grob

package
v0.2.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 18, 2021 License: MIT Imports: 2 Imported by: 0

README

graph objects

Almost all content from this package is automatically generated from the schema.json. Files can be identified by auto_ prefix. files with .tmpl are the template files that can be parsed with plate tool. The command is in plotly.go with go generate.

//go:generate sh -c "cat schema.json | plate --template main.tmpl"
```

For development is a good idea to set an autoreload environment to automatically regenerate the files when something changes. I do it with reflex

```bash
reflex -g "*.tmpl" -- sh -c "cat schema.json | plate --template main.tmpl"

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Area

type Area struct {

	// Type is the type of the plot
	Type TraceType `json:"type,omitempty"`

	// Customdata 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 string Sets the source reference on Chart Studio Cloud for  customdata .
	Customdatasrc String `json:"customdatasrc,omitempty"`

	// Hoverinfo 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 string Sets the source reference on Chart Studio Cloud for  hoverinfo .
	Hoverinfosrc String `json:"hoverinfosrc,omitempty"`

	// Hoverlabel <no value> <no value>
	Hoverlabel *AreaHoverlabel `json:"hoverlabel,omitempty"`

	// Ids 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 string Sets the source reference on Chart Studio Cloud for  ids .
	Idssrc String `json:"idssrc,omitempty"`

	// Legendgroup 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 <no value> <no value>
	Marker *AreaMarker `json:"marker,omitempty"`

	// Meta 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 string Sets the source reference on Chart Studio Cloud for  meta .
	Metasrc String `json:"metasrc,omitempty"`

	// Name string Sets the trace name. The trace name appear as the legend item and on hover.
	Name String `json:"name,omitempty"`

	// Opacity number Sets the opacity of the trace.
	Opacity float64 `json:"opacity,omitempty"`

	// R 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 string Sets the source reference on Chart Studio Cloud for  r .
	Rsrc String `json:"rsrc,omitempty"`

	// Showlegend boolean Determines whether or not an item corresponding to this trace is shown in the legend.
	Showlegend Bool `json:"showlegend,omitempty"`

	// Stream <no value> <no value>
	Stream *AreaStream `json:"stream,omitempty"`

	// T 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 <no value> <no value>
	Transforms AreaTransforms `json:"transforms,omitempty"`

	// Tsrc string Sets the source reference on Chart Studio Cloud for  t .
	Tsrc String `json:"tsrc,omitempty"`

	// Uid 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 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 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"`
}

Area <no value>

func NewArea

func NewArea() *Area

func (*Area) GetType

func (this *Area) GetType() TraceType

type AreaHoverinfo

type AreaHoverinfo string
const (
	// Flags
	AreaHoverinfoX    AreaHoverinfo = "x"
	AreaHoverinfoY    AreaHoverinfo = "y"
	AreaHoverinfoZ    AreaHoverinfo = "z"
	AreaHoverinfoText AreaHoverinfo = "text"
	AreaHoverinfoName AreaHoverinfo = "name"
	// Extras
	AreaHoverinfoAll  AreaHoverinfo = "all"
	AreaHoverinfoNone AreaHoverinfo = "none"
	AreaHoverinfoSkip AreaHoverinfo = "skip"
)

type AreaHoverlabel

type AreaHoverlabel struct {

	// Align 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 string Sets the source reference on Chart Studio Cloud for  align .
	Alignsrc String `json:"alignsrc,omitempty"`

	// Bgcolor color Sets the background color of the hover labels for this trace
	Bgcolor interface{} `json:"bgcolor,omitempty"`

	// Bgcolorsrc string Sets the source reference on Chart Studio Cloud for  bgcolor .
	Bgcolorsrc String `json:"bgcolorsrc,omitempty"`

	// Bordercolor color Sets the border color of the hover labels for this trace.
	Bordercolor interface{} `json:"bordercolor,omitempty"`

	// Bordercolorsrc string Sets the source reference on Chart Studio Cloud for  bordercolor .
	Bordercolorsrc String `json:"bordercolorsrc,omitempty"`

	// Font <no value> Sets the font used in hover labels.
	Font *AreaHoverlabelFont `json:"font,omitempty"`

	// Namelength 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 interface{} `json:"namelength,omitempty"`

	// Namelengthsrc string Sets the source reference on Chart Studio Cloud for  namelength .
	Namelengthsrc String `json:"namelengthsrc,omitempty"`
}

DEEP 0

type AreaHoverlabelAlign

type AreaHoverlabelAlign string

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

const (
	AreaHoverlabelAlign_left  AreaHoverlabelAlign = "left"
	AreaHoverlabelAlign_right AreaHoverlabelAlign = "right"
	AreaHoverlabelAlign_auto  AreaHoverlabelAlign = "auto"
)

type AreaHoverlabelFont

type AreaHoverlabelFont struct {

	// Color color <no value>
	Color interface{} `json:"color,omitempty"`

	// Colorsrc string Sets the source reference on Chart Studio Cloud for  color .
	Colorsrc String `json:"colorsrc,omitempty"`

	// Family string HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.
	Family interface{} `json:"family,omitempty"`

	// Familysrc string Sets the source reference on Chart Studio Cloud for  family .
	Familysrc String `json:"familysrc,omitempty"`

	// Size number <no value>
	Size interface{} `json:"size,omitempty"`

	// Sizesrc string Sets the source reference on Chart Studio Cloud for  size .
	Sizesrc String `json:"sizesrc,omitempty"`
}

DEEP 1

type AreaMarker

type AreaMarker struct {

	// Color 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 interface{} `json:"color,omitempty"`

	// Colorsrc string Sets the source reference on Chart Studio Cloud for  color .
	Colorsrc String `json:"colorsrc,omitempty"`

	// Opacity number Area traces are deprecated! Please switch to the *barpolar* trace type. Sets the marker opacity.
	Opacity interface{} `json:"opacity,omitempty"`

	// Opacitysrc string Sets the source reference on Chart Studio Cloud for  opacity .
	Opacitysrc String `json:"opacitysrc,omitempty"`

	// Size number Area traces are deprecated! Please switch to the *barpolar* trace type. Sets the marker size (in px).
	Size interface{} `json:"size,omitempty"`

	// Sizesrc string Sets the source reference on Chart Studio Cloud for  size .
	Sizesrc String `json:"sizesrc,omitempty"`

	// Symbol 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 string Sets the source reference on Chart Studio Cloud for  symbol .
	Symbolsrc String `json:"symbolsrc,omitempty"`
}

type AreaMarkerSymbol

type AreaMarkerSymbol string

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.

const (
	AreaMarkerSymbol0                            AreaMarkerSymbol = "0"
	AreaMarkerSymbol_0                           AreaMarkerSymbol = "0"
	AreaMarkerSymbol_circle                      AreaMarkerSymbol = "circle"
	AreaMarkerSymbol100                          AreaMarkerSymbol = "100"
	AreaMarkerSymbol_100                         AreaMarkerSymbol = "100"
	AreaMarkerSymbol_circle_open                 AreaMarkerSymbol = "circle-open"
	AreaMarkerSymbol200                          AreaMarkerSymbol = "200"
	AreaMarkerSymbol_200                         AreaMarkerSymbol = "200"
	AreaMarkerSymbol_circle_dot                  AreaMarkerSymbol = "circle-dot"
	AreaMarkerSymbol300                          AreaMarkerSymbol = "300"
	AreaMarkerSymbol_300                         AreaMarkerSymbol = "300"
	AreaMarkerSymbol_circle_open_dot             AreaMarkerSymbol = "circle-open-dot"
	AreaMarkerSymbol1                            AreaMarkerSymbol = "1"
	AreaMarkerSymbol_1                           AreaMarkerSymbol = "1"
	AreaMarkerSymbol_square                      AreaMarkerSymbol = "square"
	AreaMarkerSymbol101                          AreaMarkerSymbol = "101"
	AreaMarkerSymbol_101                         AreaMarkerSymbol = "101"
	AreaMarkerSymbol_square_open                 AreaMarkerSymbol = "square-open"
	AreaMarkerSymbol201                          AreaMarkerSymbol = "201"
	AreaMarkerSymbol_201                         AreaMarkerSymbol = "201"
	AreaMarkerSymbol_square_dot                  AreaMarkerSymbol = "square-dot"
	AreaMarkerSymbol301                          AreaMarkerSymbol = "301"
	AreaMarkerSymbol_301                         AreaMarkerSymbol = "301"
	AreaMarkerSymbol_square_open_dot             AreaMarkerSymbol = "square-open-dot"
	AreaMarkerSymbol2                            AreaMarkerSymbol = "2"
	AreaMarkerSymbol_2                           AreaMarkerSymbol = "2"
	AreaMarkerSymbol_diamond                     AreaMarkerSymbol = "diamond"
	AreaMarkerSymbol102                          AreaMarkerSymbol = "102"
	AreaMarkerSymbol_102                         AreaMarkerSymbol = "102"
	AreaMarkerSymbol_diamond_open                AreaMarkerSymbol = "diamond-open"
	AreaMarkerSymbol202                          AreaMarkerSymbol = "202"
	AreaMarkerSymbol_202                         AreaMarkerSymbol = "202"
	AreaMarkerSymbol_diamond_dot                 AreaMarkerSymbol = "diamond-dot"
	AreaMarkerSymbol302                          AreaMarkerSymbol = "302"
	AreaMarkerSymbol_302                         AreaMarkerSymbol = "302"
	AreaMarkerSymbol_diamond_open_dot            AreaMarkerSymbol = "diamond-open-dot"
	AreaMarkerSymbol3                            AreaMarkerSymbol = "3"
	AreaMarkerSymbol_3                           AreaMarkerSymbol = "3"
	AreaMarkerSymbol_cross                       AreaMarkerSymbol = "cross"
	AreaMarkerSymbol103                          AreaMarkerSymbol = "103"
	AreaMarkerSymbol_103                         AreaMarkerSymbol = "103"
	AreaMarkerSymbol_cross_open                  AreaMarkerSymbol = "cross-open"
	AreaMarkerSymbol203                          AreaMarkerSymbol = "203"
	AreaMarkerSymbol_203                         AreaMarkerSymbol = "203"
	AreaMarkerSymbol_cross_dot                   AreaMarkerSymbol = "cross-dot"
	AreaMarkerSymbol303                          AreaMarkerSymbol = "303"
	AreaMarkerSymbol_303                         AreaMarkerSymbol = "303"
	AreaMarkerSymbol_cross_open_dot              AreaMarkerSymbol = "cross-open-dot"
	AreaMarkerSymbol4                            AreaMarkerSymbol = "4"
	AreaMarkerSymbol_4                           AreaMarkerSymbol = "4"
	AreaMarkerSymbol_x                           AreaMarkerSymbol = "x"
	AreaMarkerSymbol104                          AreaMarkerSymbol = "104"
	AreaMarkerSymbol_104                         AreaMarkerSymbol = "104"
	AreaMarkerSymbol_x_open                      AreaMarkerSymbol = "x-open"
	AreaMarkerSymbol204                          AreaMarkerSymbol = "204"
	AreaMarkerSymbol_204                         AreaMarkerSymbol = "204"
	AreaMarkerSymbol_x_dot                       AreaMarkerSymbol = "x-dot"
	AreaMarkerSymbol304                          AreaMarkerSymbol = "304"
	AreaMarkerSymbol_304                         AreaMarkerSymbol = "304"
	AreaMarkerSymbol_x_open_dot                  AreaMarkerSymbol = "x-open-dot"
	AreaMarkerSymbol5                            AreaMarkerSymbol = "5"
	AreaMarkerSymbol_5                           AreaMarkerSymbol = "5"
	AreaMarkerSymbol_triangle_up                 AreaMarkerSymbol = "triangle-up"
	AreaMarkerSymbol105                          AreaMarkerSymbol = "105"
	AreaMarkerSymbol_105                         AreaMarkerSymbol = "105"
	AreaMarkerSymbol_triangle_up_open            AreaMarkerSymbol = "triangle-up-open"
	AreaMarkerSymbol205                          AreaMarkerSymbol = "205"
	AreaMarkerSymbol_205                         AreaMarkerSymbol = "205"
	AreaMarkerSymbol_triangle_up_dot             AreaMarkerSymbol = "triangle-up-dot"
	AreaMarkerSymbol305                          AreaMarkerSymbol = "305"
	AreaMarkerSymbol_305                         AreaMarkerSymbol = "305"
	AreaMarkerSymbol_triangle_up_open_dot        AreaMarkerSymbol = "triangle-up-open-dot"
	AreaMarkerSymbol6                            AreaMarkerSymbol = "6"
	AreaMarkerSymbol_6                           AreaMarkerSymbol = "6"
	AreaMarkerSymbol_triangle_down               AreaMarkerSymbol = "triangle-down"
	AreaMarkerSymbol106                          AreaMarkerSymbol = "106"
	AreaMarkerSymbol_106                         AreaMarkerSymbol = "106"
	AreaMarkerSymbol_triangle_down_open          AreaMarkerSymbol = "triangle-down-open"
	AreaMarkerSymbol206                          AreaMarkerSymbol = "206"
	AreaMarkerSymbol_206                         AreaMarkerSymbol = "206"
	AreaMarkerSymbol_triangle_down_dot           AreaMarkerSymbol = "triangle-down-dot"
	AreaMarkerSymbol306                          AreaMarkerSymbol = "306"
	AreaMarkerSymbol_306                         AreaMarkerSymbol = "306"
	AreaMarkerSymbol_triangle_down_open_dot      AreaMarkerSymbol = "triangle-down-open-dot"
	AreaMarkerSymbol7                            AreaMarkerSymbol = "7"
	AreaMarkerSymbol_7                           AreaMarkerSymbol = "7"
	AreaMarkerSymbol_triangle_left               AreaMarkerSymbol = "triangle-left"
	AreaMarkerSymbol107                          AreaMarkerSymbol = "107"
	AreaMarkerSymbol_107                         AreaMarkerSymbol = "107"
	AreaMarkerSymbol_triangle_left_open          AreaMarkerSymbol = "triangle-left-open"
	AreaMarkerSymbol207                          AreaMarkerSymbol = "207"
	AreaMarkerSymbol_207                         AreaMarkerSymbol = "207"
	AreaMarkerSymbol_triangle_left_dot           AreaMarkerSymbol = "triangle-left-dot"
	AreaMarkerSymbol307                          AreaMarkerSymbol = "307"
	AreaMarkerSymbol_307                         AreaMarkerSymbol = "307"
	AreaMarkerSymbol_triangle_left_open_dot      AreaMarkerSymbol = "triangle-left-open-dot"
	AreaMarkerSymbol8                            AreaMarkerSymbol = "8"
	AreaMarkerSymbol_8                           AreaMarkerSymbol = "8"
	AreaMarkerSymbol_triangle_right              AreaMarkerSymbol = "triangle-right"
	AreaMarkerSymbol108                          AreaMarkerSymbol = "108"
	AreaMarkerSymbol_108                         AreaMarkerSymbol = "108"
	AreaMarkerSymbol_triangle_right_open         AreaMarkerSymbol = "triangle-right-open"
	AreaMarkerSymbol208                          AreaMarkerSymbol = "208"
	AreaMarkerSymbol_208                         AreaMarkerSymbol = "208"
	AreaMarkerSymbol_triangle_right_dot          AreaMarkerSymbol = "triangle-right-dot"
	AreaMarkerSymbol308                          AreaMarkerSymbol = "308"
	AreaMarkerSymbol_308                         AreaMarkerSymbol = "308"
	AreaMarkerSymbol_triangle_right_open_dot     AreaMarkerSymbol = "triangle-right-open-dot"
	AreaMarkerSymbol9                            AreaMarkerSymbol = "9"
	AreaMarkerSymbol_9                           AreaMarkerSymbol = "9"
	AreaMarkerSymbol_triangle_ne                 AreaMarkerSymbol = "triangle-ne"
	AreaMarkerSymbol109                          AreaMarkerSymbol = "109"
	AreaMarkerSymbol_109                         AreaMarkerSymbol = "109"
	AreaMarkerSymbol_triangle_ne_open            AreaMarkerSymbol = "triangle-ne-open"
	AreaMarkerSymbol209                          AreaMarkerSymbol = "209"
	AreaMarkerSymbol_209                         AreaMarkerSymbol = "209"
	AreaMarkerSymbol_triangle_ne_dot             AreaMarkerSymbol = "triangle-ne-dot"
	AreaMarkerSymbol309                          AreaMarkerSymbol = "309"
	AreaMarkerSymbol_309                         AreaMarkerSymbol = "309"
	AreaMarkerSymbol_triangle_ne_open_dot        AreaMarkerSymbol = "triangle-ne-open-dot"
	AreaMarkerSymbol10                           AreaMarkerSymbol = "10"
	AreaMarkerSymbol_10                          AreaMarkerSymbol = "10"
	AreaMarkerSymbol_triangle_se                 AreaMarkerSymbol = "triangle-se"
	AreaMarkerSymbol110                          AreaMarkerSymbol = "110"
	AreaMarkerSymbol_110                         AreaMarkerSymbol = "110"
	AreaMarkerSymbol_triangle_se_open            AreaMarkerSymbol = "triangle-se-open"
	AreaMarkerSymbol210                          AreaMarkerSymbol = "210"
	AreaMarkerSymbol_210                         AreaMarkerSymbol = "210"
	AreaMarkerSymbol_triangle_se_dot             AreaMarkerSymbol = "triangle-se-dot"
	AreaMarkerSymbol310                          AreaMarkerSymbol = "310"
	AreaMarkerSymbol_310                         AreaMarkerSymbol = "310"
	AreaMarkerSymbol_triangle_se_open_dot        AreaMarkerSymbol = "triangle-se-open-dot"
	AreaMarkerSymbol11                           AreaMarkerSymbol = "11"
	AreaMarkerSymbol_11                          AreaMarkerSymbol = "11"
	AreaMarkerSymbol_triangle_sw                 AreaMarkerSymbol = "triangle-sw"
	AreaMarkerSymbol111                          AreaMarkerSymbol = "111"
	AreaMarkerSymbol_111                         AreaMarkerSymbol = "111"
	AreaMarkerSymbol_triangle_sw_open            AreaMarkerSymbol = "triangle-sw-open"
	AreaMarkerSymbol211                          AreaMarkerSymbol = "211"
	AreaMarkerSymbol_211                         AreaMarkerSymbol = "211"
	AreaMarkerSymbol_triangle_sw_dot             AreaMarkerSymbol = "triangle-sw-dot"
	AreaMarkerSymbol311                          AreaMarkerSymbol = "311"
	AreaMarkerSymbol_311                         AreaMarkerSymbol = "311"
	AreaMarkerSymbol_triangle_sw_open_dot        AreaMarkerSymbol = "triangle-sw-open-dot"
	AreaMarkerSymbol12                           AreaMarkerSymbol = "12"
	AreaMarkerSymbol_12                          AreaMarkerSymbol = "12"
	AreaMarkerSymbol_triangle_nw                 AreaMarkerSymbol = "triangle-nw"
	AreaMarkerSymbol112                          AreaMarkerSymbol = "112"
	AreaMarkerSymbol_112                         AreaMarkerSymbol = "112"
	AreaMarkerSymbol_triangle_nw_open            AreaMarkerSymbol = "triangle-nw-open"
	AreaMarkerSymbol212                          AreaMarkerSymbol = "212"
	AreaMarkerSymbol_212                         AreaMarkerSymbol = "212"
	AreaMarkerSymbol_triangle_nw_dot             AreaMarkerSymbol = "triangle-nw-dot"
	AreaMarkerSymbol312                          AreaMarkerSymbol = "312"
	AreaMarkerSymbol_312                         AreaMarkerSymbol = "312"
	AreaMarkerSymbol_triangle_nw_open_dot        AreaMarkerSymbol = "triangle-nw-open-dot"
	AreaMarkerSymbol13                           AreaMarkerSymbol = "13"
	AreaMarkerSymbol_13                          AreaMarkerSymbol = "13"
	AreaMarkerSymbol_pentagon                    AreaMarkerSymbol = "pentagon"
	AreaMarkerSymbol113                          AreaMarkerSymbol = "113"
	AreaMarkerSymbol_113                         AreaMarkerSymbol = "113"
	AreaMarkerSymbol_pentagon_open               AreaMarkerSymbol = "pentagon-open"
	AreaMarkerSymbol213                          AreaMarkerSymbol = "213"
	AreaMarkerSymbol_213                         AreaMarkerSymbol = "213"
	AreaMarkerSymbol_pentagon_dot                AreaMarkerSymbol = "pentagon-dot"
	AreaMarkerSymbol313                          AreaMarkerSymbol = "313"
	AreaMarkerSymbol_313                         AreaMarkerSymbol = "313"
	AreaMarkerSymbol_pentagon_open_dot           AreaMarkerSymbol = "pentagon-open-dot"
	AreaMarkerSymbol14                           AreaMarkerSymbol = "14"
	AreaMarkerSymbol_14                          AreaMarkerSymbol = "14"
	AreaMarkerSymbol_hexagon                     AreaMarkerSymbol = "hexagon"
	AreaMarkerSymbol114                          AreaMarkerSymbol = "114"
	AreaMarkerSymbol_114                         AreaMarkerSymbol = "114"
	AreaMarkerSymbol_hexagon_open                AreaMarkerSymbol = "hexagon-open"
	AreaMarkerSymbol214                          AreaMarkerSymbol = "214"
	AreaMarkerSymbol_214                         AreaMarkerSymbol = "214"
	AreaMarkerSymbol_hexagon_dot                 AreaMarkerSymbol = "hexagon-dot"
	AreaMarkerSymbol314                          AreaMarkerSymbol = "314"
	AreaMarkerSymbol_314                         AreaMarkerSymbol = "314"
	AreaMarkerSymbol_hexagon_open_dot            AreaMarkerSymbol = "hexagon-open-dot"
	AreaMarkerSymbol15                           AreaMarkerSymbol = "15"
	AreaMarkerSymbol_15                          AreaMarkerSymbol = "15"
	AreaMarkerSymbol_hexagon2                    AreaMarkerSymbol = "hexagon2"
	AreaMarkerSymbol115                          AreaMarkerSymbol = "115"
	AreaMarkerSymbol_115                         AreaMarkerSymbol = "115"
	AreaMarkerSymbol_hexagon2_open               AreaMarkerSymbol = "hexagon2-open"
	AreaMarkerSymbol215                          AreaMarkerSymbol = "215"
	AreaMarkerSymbol_215                         AreaMarkerSymbol = "215"
	AreaMarkerSymbol_hexagon2_dot                AreaMarkerSymbol = "hexagon2-dot"
	AreaMarkerSymbol315                          AreaMarkerSymbol = "315"
	AreaMarkerSymbol_315                         AreaMarkerSymbol = "315"
	AreaMarkerSymbol_hexagon2_open_dot           AreaMarkerSymbol = "hexagon2-open-dot"
	AreaMarkerSymbol16                           AreaMarkerSymbol = "16"
	AreaMarkerSymbol_16                          AreaMarkerSymbol = "16"
	AreaMarkerSymbol_octagon                     AreaMarkerSymbol = "octagon"
	AreaMarkerSymbol116                          AreaMarkerSymbol = "116"
	AreaMarkerSymbol_116                         AreaMarkerSymbol = "116"
	AreaMarkerSymbol_octagon_open                AreaMarkerSymbol = "octagon-open"
	AreaMarkerSymbol216                          AreaMarkerSymbol = "216"
	AreaMarkerSymbol_216                         AreaMarkerSymbol = "216"
	AreaMarkerSymbol_octagon_dot                 AreaMarkerSymbol = "octagon-dot"
	AreaMarkerSymbol316                          AreaMarkerSymbol = "316"
	AreaMarkerSymbol_316                         AreaMarkerSymbol = "316"
	AreaMarkerSymbol_octagon_open_dot            AreaMarkerSymbol = "octagon-open-dot"
	AreaMarkerSymbol17                           AreaMarkerSymbol = "17"
	AreaMarkerSymbol_17                          AreaMarkerSymbol = "17"
	AreaMarkerSymbol_star                        AreaMarkerSymbol = "star"
	AreaMarkerSymbol117                          AreaMarkerSymbol = "117"
	AreaMarkerSymbol_117                         AreaMarkerSymbol = "117"
	AreaMarkerSymbol_star_open                   AreaMarkerSymbol = "star-open"
	AreaMarkerSymbol217                          AreaMarkerSymbol = "217"
	AreaMarkerSymbol_217                         AreaMarkerSymbol = "217"
	AreaMarkerSymbol_star_dot                    AreaMarkerSymbol = "star-dot"
	AreaMarkerSymbol317                          AreaMarkerSymbol = "317"
	AreaMarkerSymbol_317                         AreaMarkerSymbol = "317"
	AreaMarkerSymbol_star_open_dot               AreaMarkerSymbol = "star-open-dot"
	AreaMarkerSymbol18                           AreaMarkerSymbol = "18"
	AreaMarkerSymbol_18                          AreaMarkerSymbol = "18"
	AreaMarkerSymbol_hexagram                    AreaMarkerSymbol = "hexagram"
	AreaMarkerSymbol118                          AreaMarkerSymbol = "118"
	AreaMarkerSymbol_118                         AreaMarkerSymbol = "118"
	AreaMarkerSymbol_hexagram_open               AreaMarkerSymbol = "hexagram-open"
	AreaMarkerSymbol218                          AreaMarkerSymbol = "218"
	AreaMarkerSymbol_218                         AreaMarkerSymbol = "218"
	AreaMarkerSymbol_hexagram_dot                AreaMarkerSymbol = "hexagram-dot"
	AreaMarkerSymbol318                          AreaMarkerSymbol = "318"
	AreaMarkerSymbol_318                         AreaMarkerSymbol = "318"
	AreaMarkerSymbol_hexagram_open_dot           AreaMarkerSymbol = "hexagram-open-dot"
	AreaMarkerSymbol19                           AreaMarkerSymbol = "19"
	AreaMarkerSymbol_19                          AreaMarkerSymbol = "19"
	AreaMarkerSymbol_star_triangle_up            AreaMarkerSymbol = "star-triangle-up"
	AreaMarkerSymbol119                          AreaMarkerSymbol = "119"
	AreaMarkerSymbol_119                         AreaMarkerSymbol = "119"
	AreaMarkerSymbol_star_triangle_up_open       AreaMarkerSymbol = "star-triangle-up-open"
	AreaMarkerSymbol219                          AreaMarkerSymbol = "219"
	AreaMarkerSymbol_219                         AreaMarkerSymbol = "219"
	AreaMarkerSymbol_star_triangle_up_dot        AreaMarkerSymbol = "star-triangle-up-dot"
	AreaMarkerSymbol319                          AreaMarkerSymbol = "319"
	AreaMarkerSymbol_319                         AreaMarkerSymbol = "319"
	AreaMarkerSymbol_star_triangle_up_open_dot   AreaMarkerSymbol = "star-triangle-up-open-dot"
	AreaMarkerSymbol20                           AreaMarkerSymbol = "20"
	AreaMarkerSymbol_20                          AreaMarkerSymbol = "20"
	AreaMarkerSymbol_star_triangle_down          AreaMarkerSymbol = "star-triangle-down"
	AreaMarkerSymbol120                          AreaMarkerSymbol = "120"
	AreaMarkerSymbol_120                         AreaMarkerSymbol = "120"
	AreaMarkerSymbol_star_triangle_down_open     AreaMarkerSymbol = "star-triangle-down-open"
	AreaMarkerSymbol220                          AreaMarkerSymbol = "220"
	AreaMarkerSymbol_220                         AreaMarkerSymbol = "220"
	AreaMarkerSymbol_star_triangle_down_dot      AreaMarkerSymbol = "star-triangle-down-dot"
	AreaMarkerSymbol320                          AreaMarkerSymbol = "320"
	AreaMarkerSymbol_320                         AreaMarkerSymbol = "320"
	AreaMarkerSymbol_star_triangle_down_open_dot AreaMarkerSymbol = "star-triangle-down-open-dot"
	AreaMarkerSymbol21                           AreaMarkerSymbol = "21"
	AreaMarkerSymbol_21                          AreaMarkerSymbol = "21"
	AreaMarkerSymbol_star_square                 AreaMarkerSymbol = "star-square"
	AreaMarkerSymbol121                          AreaMarkerSymbol = "121"
	AreaMarkerSymbol_121                         AreaMarkerSymbol = "121"
	AreaMarkerSymbol_star_square_open            AreaMarkerSymbol = "star-square-open"
	AreaMarkerSymbol221                          AreaMarkerSymbol = "221"
	AreaMarkerSymbol_221                         AreaMarkerSymbol = "221"
	AreaMarkerSymbol_star_square_dot             AreaMarkerSymbol = "star-square-dot"
	AreaMarkerSymbol321                          AreaMarkerSymbol = "321"
	AreaMarkerSymbol_321                         AreaMarkerSymbol = "321"
	AreaMarkerSymbol_star_square_open_dot        AreaMarkerSymbol = "star-square-open-dot"
	AreaMarkerSymbol22                           AreaMarkerSymbol = "22"
	AreaMarkerSymbol_22                          AreaMarkerSymbol = "22"
	AreaMarkerSymbol_star_diamond                AreaMarkerSymbol = "star-diamond"
	AreaMarkerSymbol122                          AreaMarkerSymbol = "122"
	AreaMarkerSymbol_122                         AreaMarkerSymbol = "122"
	AreaMarkerSymbol_star_diamond_open           AreaMarkerSymbol = "star-diamond-open"
	AreaMarkerSymbol222                          AreaMarkerSymbol = "222"
	AreaMarkerSymbol_222                         AreaMarkerSymbol = "222"
	AreaMarkerSymbol_star_diamond_dot            AreaMarkerSymbol = "star-diamond-dot"
	AreaMarkerSymbol322                          AreaMarkerSymbol = "322"
	AreaMarkerSymbol_322                         AreaMarkerSymbol = "322"
	AreaMarkerSymbol_star_diamond_open_dot       AreaMarkerSymbol = "star-diamond-open-dot"
	AreaMarkerSymbol23                           AreaMarkerSymbol = "23"
	AreaMarkerSymbol_23                          AreaMarkerSymbol = "23"
	AreaMarkerSymbol_diamond_tall                AreaMarkerSymbol = "diamond-tall"
	AreaMarkerSymbol123                          AreaMarkerSymbol = "123"
	AreaMarkerSymbol_123                         AreaMarkerSymbol = "123"
	AreaMarkerSymbol_diamond_tall_open           AreaMarkerSymbol = "diamond-tall-open"
	AreaMarkerSymbol223                          AreaMarkerSymbol = "223"
	AreaMarkerSymbol_223                         AreaMarkerSymbol = "223"
	AreaMarkerSymbol_diamond_tall_dot            AreaMarkerSymbol = "diamond-tall-dot"
	AreaMarkerSymbol323                          AreaMarkerSymbol = "323"
	AreaMarkerSymbol_323                         AreaMarkerSymbol = "323"
	AreaMarkerSymbol_diamond_tall_open_dot       AreaMarkerSymbol = "diamond-tall-open-dot"
	AreaMarkerSymbol24                           AreaMarkerSymbol = "24"
	AreaMarkerSymbol_24                          AreaMarkerSymbol = "24"
	AreaMarkerSymbol_diamond_wide                AreaMarkerSymbol = "diamond-wide"
	AreaMarkerSymbol124                          AreaMarkerSymbol = "124"
	AreaMarkerSymbol_124                         AreaMarkerSymbol = "124"
	AreaMarkerSymbol_diamond_wide_open           AreaMarkerSymbol = "diamond-wide-open"
	AreaMarkerSymbol224                          AreaMarkerSymbol = "224"
	AreaMarkerSymbol_224                         AreaMarkerSymbol = "224"
	AreaMarkerSymbol_diamond_wide_dot            AreaMarkerSymbol = "diamond-wide-dot"
	AreaMarkerSymbol324                          AreaMarkerSymbol = "324"
	AreaMarkerSymbol_324                         AreaMarkerSymbol = "324"
	AreaMarkerSymbol_diamond_wide_open_dot       AreaMarkerSymbol = "diamond-wide-open-dot"
	AreaMarkerSymbol25                           AreaMarkerSymbol = "25"
	AreaMarkerSymbol_25                          AreaMarkerSymbol = "25"
	AreaMarkerSymbol_hourglass                   AreaMarkerSymbol = "hourglass"
	AreaMarkerSymbol125                          AreaMarkerSymbol = "125"
	AreaMarkerSymbol_125                         AreaMarkerSymbol = "125"
	AreaMarkerSymbol_hourglass_open              AreaMarkerSymbol = "hourglass-open"
	AreaMarkerSymbol26                           AreaMarkerSymbol = "26"
	AreaMarkerSymbol_26                          AreaMarkerSymbol = "26"
	AreaMarkerSymbol_bowtie                      AreaMarkerSymbol = "bowtie"
	AreaMarkerSymbol126                          AreaMarkerSymbol = "126"
	AreaMarkerSymbol_126                         AreaMarkerSymbol = "126"
	AreaMarkerSymbol_bowtie_open                 AreaMarkerSymbol = "bowtie-open"
	AreaMarkerSymbol27                           AreaMarkerSymbol = "27"
	AreaMarkerSymbol_27                          AreaMarkerSymbol = "27"
	AreaMarkerSymbol_circle_cross                AreaMarkerSymbol = "circle-cross"
	AreaMarkerSymbol127                          AreaMarkerSymbol = "127"
	AreaMarkerSymbol_127                         AreaMarkerSymbol = "127"
	AreaMarkerSymbol_circle_cross_open           AreaMarkerSymbol = "circle-cross-open"
	AreaMarkerSymbol28                           AreaMarkerSymbol = "28"
	AreaMarkerSymbol_28                          AreaMarkerSymbol = "28"
	AreaMarkerSymbol_circle_x                    AreaMarkerSymbol = "circle-x"
	AreaMarkerSymbol128                          AreaMarkerSymbol = "128"
	AreaMarkerSymbol_128                         AreaMarkerSymbol = "128"
	AreaMarkerSymbol_circle_x_open               AreaMarkerSymbol = "circle-x-open"
	AreaMarkerSymbol29                           AreaMarkerSymbol = "29"
	AreaMarkerSymbol_29                          AreaMarkerSymbol = "29"
	AreaMarkerSymbol_square_cross                AreaMarkerSymbol = "square-cross"
	AreaMarkerSymbol129                          AreaMarkerSymbol = "129"
	AreaMarkerSymbol_129                         AreaMarkerSymbol = "129"
	AreaMarkerSymbol_square_cross_open           AreaMarkerSymbol = "square-cross-open"
	AreaMarkerSymbol30                           AreaMarkerSymbol = "30"
	AreaMarkerSymbol_30                          AreaMarkerSymbol = "30"
	AreaMarkerSymbol_square_x                    AreaMarkerSymbol = "square-x"
	AreaMarkerSymbol130                          AreaMarkerSymbol = "130"
	AreaMarkerSymbol_130                         AreaMarkerSymbol = "130"
	AreaMarkerSymbol_square_x_open               AreaMarkerSymbol = "square-x-open"
	AreaMarkerSymbol31                           AreaMarkerSymbol = "31"
	AreaMarkerSymbol_31                          AreaMarkerSymbol = "31"
	AreaMarkerSymbol_diamond_cross               AreaMarkerSymbol = "diamond-cross"
	AreaMarkerSymbol131                          AreaMarkerSymbol = "131"
	AreaMarkerSymbol_131                         AreaMarkerSymbol = "131"
	AreaMarkerSymbol_diamond_cross_open          AreaMarkerSymbol = "diamond-cross-open"
	AreaMarkerSymbol32                           AreaMarkerSymbol = "32"
	AreaMarkerSymbol_32                          AreaMarkerSymbol = "32"
	AreaMarkerSymbol_diamond_x                   AreaMarkerSymbol = "diamond-x"
	AreaMarkerSymbol132                          AreaMarkerSymbol = "132"
	AreaMarkerSymbol_132                         AreaMarkerSymbol = "132"
	AreaMarkerSymbol_diamond_x_open              AreaMarkerSymbol = "diamond-x-open"
	AreaMarkerSymbol33                           AreaMarkerSymbol = "33"
	AreaMarkerSymbol_33                          AreaMarkerSymbol = "33"
	AreaMarkerSymbol_cross_thin                  AreaMarkerSymbol = "cross-thin"
	AreaMarkerSymbol133                          AreaMarkerSymbol = "133"
	AreaMarkerSymbol_133                         AreaMarkerSymbol = "133"
	AreaMarkerSymbol_cross_thin_open             AreaMarkerSymbol = "cross-thin-open"
	AreaMarkerSymbol34                           AreaMarkerSymbol = "34"
	AreaMarkerSymbol_34                          AreaMarkerSymbol = "34"
	AreaMarkerSymbol_x_thin                      AreaMarkerSymbol = "x-thin"
	AreaMarkerSymbol134                          AreaMarkerSymbol = "134"
	AreaMarkerSymbol_134                         AreaMarkerSymbol = "134"
	AreaMarkerSymbol_x_thin_open                 AreaMarkerSymbol = "x-thin-open"
	AreaMarkerSymbol35                           AreaMarkerSymbol = "35"
	AreaMarkerSymbol_35                          AreaMarkerSymbol = "35"
	AreaMarkerSymbol_asterisk                    AreaMarkerSymbol = "asterisk"
	AreaMarkerSymbol135                          AreaMarkerSymbol = "135"
	AreaMarkerSymbol_135                         AreaMarkerSymbol = "135"
	AreaMarkerSymbol_asterisk_open               AreaMarkerSymbol = "asterisk-open"
	AreaMarkerSymbol36                           AreaMarkerSymbol = "36"
	AreaMarkerSymbol_36                          AreaMarkerSymbol = "36"
	AreaMarkerSymbol_hash                        AreaMarkerSymbol = "hash"
	AreaMarkerSymbol136                          AreaMarkerSymbol = "136"
	AreaMarkerSymbol_136                         AreaMarkerSymbol = "136"
	AreaMarkerSymbol_hash_open                   AreaMarkerSymbol = "hash-open"
	AreaMarkerSymbol236                          AreaMarkerSymbol = "236"
	AreaMarkerSymbol_236                         AreaMarkerSymbol = "236"
	AreaMarkerSymbol_hash_dot                    AreaMarkerSymbol = "hash-dot"
	AreaMarkerSymbol336                          AreaMarkerSymbol = "336"
	AreaMarkerSymbol_336                         AreaMarkerSymbol = "336"
	AreaMarkerSymbol_hash_open_dot               AreaMarkerSymbol = "hash-open-dot"
	AreaMarkerSymbol37                           AreaMarkerSymbol = "37"
	AreaMarkerSymbol_37                          AreaMarkerSymbol = "37"
	AreaMarkerSymbol_y_up                        AreaMarkerSymbol = "y-up"
	AreaMarkerSymbol137                          AreaMarkerSymbol = "137"
	AreaMarkerSymbol_137                         AreaMarkerSymbol = "137"
	AreaMarkerSymbol_y_up_open                   AreaMarkerSymbol = "y-up-open"
	AreaMarkerSymbol38                           AreaMarkerSymbol = "38"
	AreaMarkerSymbol_38                          AreaMarkerSymbol = "38"
	AreaMarkerSymbol_y_down                      AreaMarkerSymbol = "y-down"
	AreaMarkerSymbol138                          AreaMarkerSymbol = "138"
	AreaMarkerSymbol_138                         AreaMarkerSymbol = "138"
	AreaMarkerSymbol_y_down_open                 AreaMarkerSymbol = "y-down-open"
	AreaMarkerSymbol39                           AreaMarkerSymbol = "39"
	AreaMarkerSymbol_39                          AreaMarkerSymbol = "39"
	AreaMarkerSymbol_y_left                      AreaMarkerSymbol = "y-left"
	AreaMarkerSymbol139                          AreaMarkerSymbol = "139"
	AreaMarkerSymbol_139                         AreaMarkerSymbol = "139"
	AreaMarkerSymbol_y_left_open                 AreaMarkerSymbol = "y-left-open"
	AreaMarkerSymbol40                           AreaMarkerSymbol = "40"
	AreaMarkerSymbol_40                          AreaMarkerSymbol = "40"
	AreaMarkerSymbol_y_right                     AreaMarkerSymbol = "y-right"
	AreaMarkerSymbol140                          AreaMarkerSymbol = "140"
	AreaMarkerSymbol_140                         AreaMarkerSymbol = "140"
	AreaMarkerSymbol_y_right_open                AreaMarkerSymbol = "y-right-open"
	AreaMarkerSymbol41                           AreaMarkerSymbol = "41"
	AreaMarkerSymbol_41                          AreaMarkerSymbol = "41"
	AreaMarkerSymbol_line_ew                     AreaMarkerSymbol = "line-ew"
	AreaMarkerSymbol141                          AreaMarkerSymbol = "141"
	AreaMarkerSymbol_141                         AreaMarkerSymbol = "141"
	AreaMarkerSymbol_line_ew_open                AreaMarkerSymbol = "line-ew-open"
	AreaMarkerSymbol42                           AreaMarkerSymbol = "42"
	AreaMarkerSymbol_42                          AreaMarkerSymbol = "42"
	AreaMarkerSymbol_line_ns                     AreaMarkerSymbol = "line-ns"
	AreaMarkerSymbol142                          AreaMarkerSymbol = "142"
	AreaMarkerSymbol_142                         AreaMarkerSymbol = "142"
	AreaMarkerSymbol_line_ns_open                AreaMarkerSymbol = "line-ns-open"
	AreaMarkerSymbol43                           AreaMarkerSymbol = "43"
	AreaMarkerSymbol_43                          AreaMarkerSymbol = "43"
	AreaMarkerSymbol_line_ne                     AreaMarkerSymbol = "line-ne"
	AreaMarkerSymbol143                          AreaMarkerSymbol = "143"
	AreaMarkerSymbol_143                         AreaMarkerSymbol = "143"
	AreaMarkerSymbol_line_ne_open                AreaMarkerSymbol = "line-ne-open"
	AreaMarkerSymbol44                           AreaMarkerSymbol = "44"
	AreaMarkerSymbol_44                          AreaMarkerSymbol = "44"
	AreaMarkerSymbol_line_nw                     AreaMarkerSymbol = "line-nw"
	AreaMarkerSymbol144                          AreaMarkerSymbol = "144"
	AreaMarkerSymbol_144                         AreaMarkerSymbol = "144"
	AreaMarkerSymbol_line_nw_open                AreaMarkerSymbol = "line-nw-open"
	AreaMarkerSymbol45                           AreaMarkerSymbol = "45"
	AreaMarkerSymbol_45                          AreaMarkerSymbol = "45"
	AreaMarkerSymbol_arrow_up                    AreaMarkerSymbol = "arrow-up"
	AreaMarkerSymbol145                          AreaMarkerSymbol = "145"
	AreaMarkerSymbol_145                         AreaMarkerSymbol = "145"
	AreaMarkerSymbol_arrow_up_open               AreaMarkerSymbol = "arrow-up-open"
	AreaMarkerSymbol46                           AreaMarkerSymbol = "46"
	AreaMarkerSymbol_46                          AreaMarkerSymbol = "46"
	AreaMarkerSymbol_arrow_down                  AreaMarkerSymbol = "arrow-down"
	AreaMarkerSymbol146                          AreaMarkerSymbol = "146"
	AreaMarkerSymbol_146                         AreaMarkerSymbol = "146"
	AreaMarkerSymbol_arrow_down_open             AreaMarkerSymbol = "arrow-down-open"
	AreaMarkerSymbol47                           AreaMarkerSymbol = "47"
	AreaMarkerSymbol_47                          AreaMarkerSymbol = "47"
	AreaMarkerSymbol_arrow_left                  AreaMarkerSymbol = "arrow-left"
	AreaMarkerSymbol147                          AreaMarkerSymbol = "147"
	AreaMarkerSymbol_147                         AreaMarkerSymbol = "147"
	AreaMarkerSymbol_arrow_left_open             AreaMarkerSymbol = "arrow-left-open"
	AreaMarkerSymbol48                           AreaMarkerSymbol = "48"
	AreaMarkerSymbol_48                          AreaMarkerSymbol = "48"
	AreaMarkerSymbol_arrow_right                 AreaMarkerSymbol = "arrow-right"
	AreaMarkerSymbol148                          AreaMarkerSymbol = "148"
	AreaMarkerSymbol_148                         AreaMarkerSymbol = "148"
	AreaMarkerSymbol_arrow_right_open            AreaMarkerSymbol = "arrow-right-open"
	AreaMarkerSymbol49                           AreaMarkerSymbol = "49"
	AreaMarkerSymbol_49                          AreaMarkerSymbol = "49"
	AreaMarkerSymbol_arrow_bar_up                AreaMarkerSymbol = "arrow-bar-up"
	AreaMarkerSymbol149                          AreaMarkerSymbol = "149"
	AreaMarkerSymbol_149                         AreaMarkerSymbol = "149"
	AreaMarkerSymbol_arrow_bar_up_open           AreaMarkerSymbol = "arrow-bar-up-open"
	AreaMarkerSymbol50                           AreaMarkerSymbol = "50"
	AreaMarkerSymbol_50                          AreaMarkerSymbol = "50"
	AreaMarkerSymbol_arrow_bar_down              AreaMarkerSymbol = "arrow-bar-down"
	AreaMarkerSymbol150                          AreaMarkerSymbol = "150"
	AreaMarkerSymbol_150                         AreaMarkerSymbol = "150"
	AreaMarkerSymbol_arrow_bar_down_open         AreaMarkerSymbol = "arrow-bar-down-open"
	AreaMarkerSymbol51                           AreaMarkerSymbol = "51"
	AreaMarkerSymbol_51                          AreaMarkerSymbol = "51"
	AreaMarkerSymbol_arrow_bar_left              AreaMarkerSymbol = "arrow-bar-left"
	AreaMarkerSymbol151                          AreaMarkerSymbol = "151"
	AreaMarkerSymbol_151                         AreaMarkerSymbol = "151"
	AreaMarkerSymbol_arrow_bar_left_open         AreaMarkerSymbol = "arrow-bar-left-open"
	AreaMarkerSymbol52                           AreaMarkerSymbol = "52"
	AreaMarkerSymbol_52                          AreaMarkerSymbol = "52"
	AreaMarkerSymbol_arrow_bar_right             AreaMarkerSymbol = "arrow-bar-right"
	AreaMarkerSymbol152                          AreaMarkerSymbol = "152"
	AreaMarkerSymbol_152                         AreaMarkerSymbol = "152"
	AreaMarkerSymbol_arrow_bar_right_open        AreaMarkerSymbol = "arrow-bar-right-open"
)

type AreaStream

type AreaStream struct {

	// Maxpoints 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 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"`
}

type AreaTransforms

type AreaTransforms interface{}

AreaTransforms It's an items array and what goes inside it's... messy... check the docs Here is a hint to help you to define your own type transform

description
editType
role

type AreaVisible

type AreaVisible interface{}

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).

var (
	AreaVisible_True       AreaVisible = true
	AreaVisible_False      AreaVisible = false
	AreaVisible_legendonly AreaVisible = "legendonly"
)

type Bar

type Bar struct {

	// Type is the type of the plot
	Type TraceType `json:"type,omitempty"`

	// Alignmentgroup 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 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 string Sets the source reference on Chart Studio Cloud for  base .
	Basesrc String `json:"basesrc,omitempty"`

	// Cliponaxis 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 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 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 string Sets the source reference on Chart Studio Cloud for  customdata .
	Customdatasrc String `json:"customdatasrc,omitempty"`

	// Dx number Sets the x coordinate step. See `x0` for more info.
	Dx float64 `json:"dx,omitempty"`

	// Dy number Sets the y coordinate step. See `y0` for more info.
	Dy float64 `json:"dy,omitempty"`

	// Error_x <no value> <no value>
	Error_x *BarErrorX `json:"error_x,omitempty"`

	// Error_y <no value> <no value>
	Error_y *BarErrorY `json:"error_y,omitempty"`

	// Hoverinfo 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 string Sets the source reference on Chart Studio Cloud for  hoverinfo .
	Hoverinfosrc String `json:"hoverinfosrc,omitempty"`

	// Hoverlabel <no value> <no value>
	Hoverlabel *BarHoverlabel `json:"hoverlabel,omitempty"`

	// Hovertemplate 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 `<extra>` is displayed in the secondary box, for example "<extra>{fullData.name}</extra>". To hide the secondary box completely, use an empty tag `<extra></extra>`.
	Hovertemplate interface{} `json:"hovertemplate,omitempty"`

	// Hovertemplatesrc string Sets the source reference on Chart Studio Cloud for  hovertemplate .
	Hovertemplatesrc String `json:"hovertemplatesrc,omitempty"`

	// Hovertext 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 interface{} `json:"hovertext,omitempty"`

	// Hovertextsrc string Sets the source reference on Chart Studio Cloud for  hovertext .
	Hovertextsrc String `json:"hovertextsrc,omitempty"`

	// Ids 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 string Sets the source reference on Chart Studio Cloud for  ids .
	Idssrc String `json:"idssrc,omitempty"`

	// Insidetextanchor enumerated Determines if texts are kept at center or start/end points in `textposition` *inside* mode.
	Insidetextanchor BarInsidetextanchor `json:"insidetextanchor,omitempty"`

	// Insidetextfont <no value> Sets the font used for `text` lying inside the bar.
	Insidetextfont *BarInsidetextfont `json:"insidetextfont,omitempty"`

	// Legendgroup 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 <no value> <no value>
	Marker *BarMarker `json:"marker,omitempty"`

	// Meta 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 string Sets the source reference on Chart Studio Cloud for  meta .
	Metasrc String `json:"metasrc,omitempty"`

	// Name string Sets the trace name. The trace name appear as the legend item and on hover.
	Name String `json:"name,omitempty"`

	// Offset 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 interface{} `json:"offset,omitempty"`

	// Offsetgroup 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 string Sets the source reference on Chart Studio Cloud for  offset .
	Offsetsrc String `json:"offsetsrc,omitempty"`

	// Opacity number Sets the opacity of the trace.
	Opacity float64 `json:"opacity,omitempty"`

	// Orientation 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 <no value> Sets the font used for `text` lying outside the bar.
	Outsidetextfont *BarOutsidetextfont `json:"outsidetextfont,omitempty"`

	// R 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 string Sets the source reference on Chart Studio Cloud for  r .
	Rsrc String `json:"rsrc,omitempty"`

	// Selected <no value> <no value>
	Selected *BarSelected `json:"selected,omitempty"`

	// Selectedpoints 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 boolean Determines whether or not an item corresponding to this trace is shown in the legend.
	Showlegend Bool `json:"showlegend,omitempty"`

	// Stream <no value> <no value>
	Stream *BarStream `json:"stream,omitempty"`

	// T 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 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 interface{} `json:"text,omitempty"`

	// Textangle 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 <no value> Sets the font used for `text`.
	Textfont *BarTextfont `json:"textfont,omitempty"`

	// Textposition 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.
	Textposition BarTextposition `json:"textposition,omitempty"`

	// Textpositionsrc string Sets the source reference on Chart Studio Cloud for  textposition .
	Textpositionsrc String `json:"textpositionsrc,omitempty"`

	// Textsrc string Sets the source reference on Chart Studio Cloud for  text .
	Textsrc String `json:"textsrc,omitempty"`

	// Texttemplate 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`.
	Texttemplate interface{} `json:"texttemplate,omitempty"`

	// Texttemplatesrc string Sets the source reference on Chart Studio Cloud for  texttemplate .
	Texttemplatesrc String `json:"texttemplatesrc,omitempty"`

	// Transforms <no value> <no value>
	Transforms BarTransforms `json:"transforms,omitempty"`

	// Tsrc string Sets the source reference on Chart Studio Cloud for  t .
	Tsrc String `json:"tsrc,omitempty"`

	// Uid 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 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 <no value> <no value>
	Unselected *BarUnselected `json:"unselected,omitempty"`

	// Visible 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 number Sets the bar width (in position axis units).
	Width interface{} `json:"width,omitempty"`

	// Widthsrc string Sets the source reference on Chart Studio Cloud for  width .
	Widthsrc String `json:"widthsrc,omitempty"`

	// X data_array Sets the x coordinates.
	X interface{} `json:"x,omitempty"`

	// X0 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 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 enumerated Sets the calendar system to use with `x` date data.
	Xcalendar BarXcalendar `json:"xcalendar,omitempty"`

	// Xperiod any Only relevant when the axis `type` is *date*. Sets the period positioning in milliseconds or *M<n>* on the x axis. Special values in the form of *M<n>* could be used to declare the number of months. In this case `n` must be a positive integer.
	Xperiod interface{} `json:"xperiod,omitempty"`

	// Xperiod0 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 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 string Sets the source reference on Chart Studio Cloud for  x .
	Xsrc String `json:"xsrc,omitempty"`

	// Y data_array Sets the y coordinates.
	Y interface{} `json:"y,omitempty"`

	// Y0 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 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 enumerated Sets the calendar system to use with `y` date data.
	Ycalendar BarYcalendar `json:"ycalendar,omitempty"`

	// Yperiod any Only relevant when the axis `type` is *date*. Sets the period positioning in milliseconds or *M<n>* on the y axis. Special values in the form of *M<n>* could be used to declare the number of months. In this case `n` must be a positive integer.
	Yperiod interface{} `json:"yperiod,omitempty"`

	// Yperiod0 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 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 string Sets the source reference on Chart Studio Cloud for  y .
	Ysrc String `json:"ysrc,omitempty"`
}

Bar 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.

func NewBar

func NewBar() *Bar

func (*Bar) GetType

func (this *Bar) GetType() TraceType

type BarConstraintext

type BarConstraintext string

BarConstraintext Constrain the size of text inside or outside a bar to be no larger than the bar itself.

const (
	BarConstraintext_inside  BarConstraintext = "inside"
	BarConstraintext_outside BarConstraintext = "outside"
	BarConstraintext_both    BarConstraintext = "both"
	BarConstraintext_none    BarConstraintext = "none"
)

type BarErrorX

type BarErrorX struct {

	// Array 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 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 string Sets the source reference on Chart Studio Cloud for  arrayminus .
	Arrayminussrc String `json:"arrayminussrc,omitempty"`

	// Arraysrc string Sets the source reference on Chart Studio Cloud for  array .
	Arraysrc String `json:"arraysrc,omitempty"`

	// Color color Sets the stoke color of the error bars.
	Color String `json:"color,omitempty"`

	// Copy_ystyle boolean <no value>
	Copy_ystyle Bool `json:"copy_ystyle,omitempty"`

	// Symmetric 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 number Sets the thickness (in px) of the error bars.
	Thickness float64 `json:"thickness,omitempty"`

	// Traceref integer <no value>
	Traceref int64 `json:"traceref,omitempty"`

	// Tracerefminus integer <no value>
	Tracerefminus int64 `json:"tracerefminus,omitempty"`

	// 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 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 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 boolean Determines whether or not this set of error bars is visible.
	Visible Bool `json:"visible,omitempty"`

	// Width number Sets the width (in px) of the cross-bar at both ends of the error bars.
	Width float64 `json:"width,omitempty"`
}

type BarErrorXType

type BarErrorXType string

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`.

const (
	BarErrorXType_percent  BarErrorXType = "percent"
	BarErrorXType_constant BarErrorXType = "constant"
	BarErrorXType_sqrt     BarErrorXType = "sqrt"
	BarErrorXType_data     BarErrorXType = "data"
)

type BarErrorY

type BarErrorY struct {

	// Array 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 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 string Sets the source reference on Chart Studio Cloud for  arrayminus .
	Arrayminussrc String `json:"arrayminussrc,omitempty"`

	// Arraysrc string Sets the source reference on Chart Studio Cloud for  array .
	Arraysrc String `json:"arraysrc,omitempty"`

	// Color color Sets the stoke color of the error bars.
	Color String `json:"color,omitempty"`

	// Symmetric 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 number Sets the thickness (in px) of the error bars.
	Thickness float64 `json:"thickness,omitempty"`

	// Traceref integer <no value>
	Traceref int64 `json:"traceref,omitempty"`

	// Tracerefminus integer <no value>
	Tracerefminus int64 `json:"tracerefminus,omitempty"`

	// 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 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 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 boolean Determines whether or not this set of error bars is visible.
	Visible Bool `json:"visible,omitempty"`

	// Width number Sets the width (in px) of the cross-bar at both ends of the error bars.
	Width float64 `json:"width,omitempty"`
}

type BarErrorYType

type BarErrorYType string

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`.

const (
	BarErrorYType_percent  BarErrorYType = "percent"
	BarErrorYType_constant BarErrorYType = "constant"
	BarErrorYType_sqrt     BarErrorYType = "sqrt"
	BarErrorYType_data     BarErrorYType = "data"
)

type BarHoverinfo

type BarHoverinfo string
const (
	// Flags
	BarHoverinfoX    BarHoverinfo = "x"
	BarHoverinfoY    BarHoverinfo = "y"
	BarHoverinfoZ    BarHoverinfo = "z"
	BarHoverinfoText BarHoverinfo = "text"
	BarHoverinfoName BarHoverinfo = "name"
	// Extras
	BarHoverinfoAll  BarHoverinfo = "all"
	BarHoverinfoNone BarHoverinfo = "none"
	BarHoverinfoSkip BarHoverinfo = "skip"
)

type BarHoverlabel

type BarHoverlabel struct {

	// Align 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 string Sets the source reference on Chart Studio Cloud for  align .
	Alignsrc String `json:"alignsrc,omitempty"`

	// Bgcolor color Sets the background color of the hover labels for this trace
	Bgcolor interface{} `json:"bgcolor,omitempty"`

	// Bgcolorsrc string Sets the source reference on Chart Studio Cloud for  bgcolor .
	Bgcolorsrc String `json:"bgcolorsrc,omitempty"`

	// Bordercolor color Sets the border color of the hover labels for this trace.
	Bordercolor interface{} `json:"bordercolor,omitempty"`

	// Bordercolorsrc string Sets the source reference on Chart Studio Cloud for  bordercolor .
	Bordercolorsrc String `json:"bordercolorsrc,omitempty"`

	// Font <no value> Sets the font used in hover labels.
	Font *BarHoverlabelFont `json:"font,omitempty"`

	// Namelength 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 interface{} `json:"namelength,omitempty"`

	// Namelengthsrc string Sets the source reference on Chart Studio Cloud for  namelength .
	Namelengthsrc String `json:"namelengthsrc,omitempty"`
}

type BarHoverlabelAlign

type BarHoverlabelAlign string

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

const (
	BarHoverlabelAlign_left  BarHoverlabelAlign = "left"
	BarHoverlabelAlign_right BarHoverlabelAlign = "right"
	BarHoverlabelAlign_auto  BarHoverlabelAlign = "auto"
)

type BarHoverlabelFont

type BarHoverlabelFont struct {

	// Color color <no value>
	Color interface{} `json:"color,omitempty"`

	// Colorsrc string Sets the source reference on Chart Studio Cloud for  color .
	Colorsrc String `json:"colorsrc,omitempty"`

	// Family string HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.
	Family interface{} `json:"family,omitempty"`

	// Familysrc string Sets the source reference on Chart Studio Cloud for  family .
	Familysrc String `json:"familysrc,omitempty"`

	// Size number <no value>
	Size interface{} `json:"size,omitempty"`

	// Sizesrc string Sets the source reference on Chart Studio Cloud for  size .
	Sizesrc String `json:"sizesrc,omitempty"`
}

type BarInsidetextanchor

type BarInsidetextanchor string

BarInsidetextanchor Determines if texts are kept at center or start/end points in `textposition` *inside* mode.

const (
	BarInsidetextanchor_end    BarInsidetextanchor = "end"
	BarInsidetextanchor_middle BarInsidetextanchor = "middle"
	BarInsidetextanchor_start  BarInsidetextanchor = "start"
)

type BarInsidetextfont

type BarInsidetextfont struct {

	// Color color <no value>
	Color interface{} `json:"color,omitempty"`

	// Colorsrc string Sets the source reference on Chart Studio Cloud for  color .
	Colorsrc String `json:"colorsrc,omitempty"`

	// Family string HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.
	Family interface{} `json:"family,omitempty"`

	// Familysrc string Sets the source reference on Chart Studio Cloud for  family .
	Familysrc String `json:"familysrc,omitempty"`

	// Size number <no value>
	Size interface{} `json:"size,omitempty"`

	// Sizesrc string Sets the source reference on Chart Studio Cloud for  size .
	Sizesrc String `json:"sizesrc,omitempty"`
}

type BarMarker

type BarMarker struct {

	// Autocolorscale 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 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 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 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 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 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.
	Color interface{} `json:"color,omitempty"`

	// Coloraxis 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 <no value> <no value>
	Colorbar *BarMarkerColorbar `json:"colorbar,omitempty"`

	// Colorsrc string Sets the source reference on Chart Studio Cloud for  color .
	Colorsrc String `json:"colorsrc,omitempty"`

	// Line <no value> <no value>
	Line *BarMarkerLine `json:"line,omitempty"`

	// Opacity number Sets the opacity of the bars.
	Opacity interface{} `json:"opacity,omitempty"`

	// Opacitysrc string Sets the source reference on Chart Studio Cloud for  opacity .
	Opacitysrc String `json:"opacitysrc,omitempty"`

	// Reversescale 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 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"`
}

type BarMarkerColorbar

type BarMarkerColorbar struct {

	// Bgcolor color Sets the color of padded area.
	Bgcolor String `json:"bgcolor,omitempty"`

	// Bordercolor color Sets the axis line color.
	Bordercolor String `json:"bordercolor,omitempty"`

	// Borderwidth number Sets the width (in px) or the border enclosing this color bar.
	Borderwidth float64 `json:"borderwidth,omitempty"`

	// Dtick 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<f>*, where `f` is a positive number, gives ticks linearly spaced in value (but not position). For example `tick0` = 0.1, `dtick` = *L0.5* will put ticks at 0.1, 0.6, 1.1, 1.6 etc. To show powers of 10 plus small digits between, use *D1* (all digits) or *D2* (only 2 and 5). `tick0` is ignored for *D1* and *D2*. If the axis `type` is *date*, then you must convert the time to milliseconds. For example, to set the interval between ticks to one day, set `dtick` to 86400000.0. *date* also has special values *M<n>* gives ticks spaced by a number of months. `n` must be a positive integer. To set ticks on the 15th of every third month, set `tick0` to *2000-01-15* and `dtick` to *M3*. To set ticks every 4 years, set `dtick` to *M48*
	Dtick interface{} `json:"dtick,omitempty"`

	// Exponentformat 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"`

	// Len 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 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 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 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"`

	// Outlinecolor color Sets the axis line color.
	Outlinecolor String `json:"outlinecolor,omitempty"`

	// Outlinewidth number Sets the width (in px) of the axis line.
	Outlinewidth float64 `json:"outlinewidth,omitempty"`

	// Separatethousands boolean If "true", even 4-digit integers are separated
	Separatethousands Bool `json:"separatethousands,omitempty"`

	// Showexponent 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 boolean Determines whether or not the tick labels are drawn.
	Showticklabels Bool `json:"showticklabels,omitempty"`

	// Showtickprefix 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 enumerated Same as `showtickprefix` but for tick suffixes.
	Showticksuffix BarMarkerColorbarShowticksuffix `json:"showticksuffix,omitempty"`

	// Thickness 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 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 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<f>* (see `dtick` for more info). If the axis `type` is *date*, it should be a date string, like date data. If the axis `type` is *category*, it should be a number, using the scale where each category is assigned a serial number from zero in the order it appears.
	Tick0 interface{} `json:"tick0,omitempty"`

	// Tickangle 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 color Sets the tick color.
	Tickcolor String `json:"tickcolor,omitempty"`

	// Tickfont <no value> Sets the color bar's tick label font
	Tickfont *BarMarkerColorbarTickfont `json:"tickfont,omitempty"`

	// Tickformat 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*
	Tickformat String `json:"tickformat,omitempty"`

	// Tickformatstops <no value> <no value>
	Tickformatstops BarMarkerColorbarTickformatstops `json:"tickformatstops,omitempty"`

	// Ticklabelposition enumerated Determines where tick labels are drawn.
	Ticklabelposition BarMarkerColorbarTicklabelposition `json:"ticklabelposition,omitempty"`

	// Ticklen number Sets the tick length (in px).
	Ticklen float64 `json:"ticklen,omitempty"`

	// Tickmode 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 string Sets a tick label prefix.
	Tickprefix String `json:"tickprefix,omitempty"`

	// Ticks 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 string Sets a tick label suffix.
	Ticksuffix String `json:"ticksuffix,omitempty"`

	// Ticktext 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 string Sets the source reference on Chart Studio Cloud for  ticktext .
	Ticktextsrc String `json:"ticktextsrc,omitempty"`

	// Tickvals 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 string Sets the source reference on Chart Studio Cloud for  tickvals .
	Tickvalssrc String `json:"tickvalssrc,omitempty"`

	// Tickwidth number Sets the tick width (in px).
	Tickwidth float64 `json:"tickwidth,omitempty"`

	// Title <no value> <no value>
	Title *BarMarkerColorbarTitle `json:"title,omitempty"`

	// X number Sets the x position of the color bar (in plot fraction).
	X float64 `json:"x,omitempty"`

	// Xanchor 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.
	Xanchor BarMarkerColorbarXanchor `json:"xanchor,omitempty"`

	// Xpad number Sets the amount of padding (in px) along the x direction.
	Xpad float64 `json:"xpad,omitempty"`

	// Y number Sets the y position of the color bar (in plot fraction).
	Y float64 `json:"y,omitempty"`

	// Yanchor 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.
	Yanchor BarMarkerColorbarYanchor `json:"yanchor,omitempty"`

	// Ypad number Sets the amount of padding (in px) along the y direction.
	Ypad float64 `json:"ypad,omitempty"`
}

type BarMarkerColorbarExponentformat

type BarMarkerColorbarExponentformat string

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.

const (
	BarMarkerColorbarExponentformat_none  BarMarkerColorbarExponentformat = "none"
	BarMarkerColorbarExponentformat_e     BarMarkerColorbarExponentformat = "e"
	BarMarkerColorbarExponentformat_E     BarMarkerColorbarExponentformat = "E"
	BarMarkerColorbarExponentformat_power BarMarkerColorbarExponentformat = "power"
	BarMarkerColorbarExponentformat_SI    BarMarkerColorbarExponentformat = "SI"
	BarMarkerColorbarExponentformat_B     BarMarkerColorbarExponentformat = "B"
)

type BarMarkerColorbarLenmode

type BarMarkerColorbarLenmode string

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.

const (
	BarMarkerColorbarLenmode_fraction BarMarkerColorbarLenmode = "fraction"
	BarMarkerColorbarLenmode_pixels   BarMarkerColorbarLenmode = "pixels"
)

type BarMarkerColorbarShowexponent

type BarMarkerColorbarShowexponent string

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.

const (
	BarMarkerColorbarShowexponent_all   BarMarkerColorbarShowexponent = "all"
	BarMarkerColorbarShowexponent_first BarMarkerColorbarShowexponent = "first"
	BarMarkerColorbarShowexponent_last  BarMarkerColorbarShowexponent = "last"
	BarMarkerColorbarShowexponent_none  BarMarkerColorbarShowexponent = "none"
)

type BarMarkerColorbarShowtickprefix

type BarMarkerColorbarShowtickprefix string

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.

const (
	BarMarkerColorbarShowtickprefix_all   BarMarkerColorbarShowtickprefix = "all"
	BarMarkerColorbarShowtickprefix_first BarMarkerColorbarShowtickprefix = "first"
	BarMarkerColorbarShowtickprefix_last  BarMarkerColorbarShowtickprefix = "last"
	BarMarkerColorbarShowtickprefix_none  BarMarkerColorbarShowtickprefix = "none"
)

type BarMarkerColorbarShowticksuffix

type BarMarkerColorbarShowticksuffix string

BarMarkerColorbarShowticksuffix Same as `showtickprefix` but for tick suffixes.

const (
	BarMarkerColorbarShowticksuffix_all   BarMarkerColorbarShowticksuffix = "all"
	BarMarkerColorbarShowticksuffix_first BarMarkerColorbarShowticksuffix = "first"
	BarMarkerColorbarShowticksuffix_last  BarMarkerColorbarShowticksuffix = "last"
	BarMarkerColorbarShowticksuffix_none  BarMarkerColorbarShowticksuffix = "none"
)

type BarMarkerColorbarThicknessmode

type BarMarkerColorbarThicknessmode string

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.

const (
	BarMarkerColorbarThicknessmode_fraction BarMarkerColorbarThicknessmode = "fraction"
	BarMarkerColorbarThicknessmode_pixels   BarMarkerColorbarThicknessmode = "pixels"
)

type BarMarkerColorbarTickfont

type BarMarkerColorbarTickfont struct {

	// Color color <no value>
	Color String `json:"color,omitempty"`

	// Family string HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.
	Family String `json:"family,omitempty"`

	// Size number <no value>
	Size float64 `json:"size,omitempty"`
}

DEEP 2

type BarMarkerColorbarTickformatstops

type BarMarkerColorbarTickformatstops interface{}

BarMarkerColorbarTickformatstops It's an items array and what goes inside it's... messy... check the docs Here is a hint to help you to define your own type tickformatstop

dtickrange
editType
enabled
name
role
templateitemname
value

type BarMarkerColorbarTicklabelposition

type BarMarkerColorbarTicklabelposition string

BarMarkerColorbarTicklabelposition Determines where tick labels are drawn.

const (
	BarMarkerColorbarTicklabelposition_outside       BarMarkerColorbarTicklabelposition = "outside"
	BarMarkerColorbarTicklabelposition_inside        BarMarkerColorbarTicklabelposition = "inside"
	BarMarkerColorbarTicklabelposition_outsidetop    BarMarkerColorbarTicklabelposition = "outside top"
	BarMarkerColorbarTicklabelposition_insidetop     BarMarkerColorbarTicklabelposition = "inside top"
	BarMarkerColorbarTicklabelposition_outsidebottom BarMarkerColorbarTicklabelposition = "outside bottom"
	BarMarkerColorbarTicklabelposition_insidebottom  BarMarkerColorbarTicklabelposition = "inside bottom"
)

type BarMarkerColorbarTickmode

type BarMarkerColorbarTickmode string

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).

const (
	BarMarkerColorbarTickmode_auto   BarMarkerColorbarTickmode = "auto"
	BarMarkerColorbarTickmode_linear BarMarkerColorbarTickmode = "linear"
	BarMarkerColorbarTickmode_array  BarMarkerColorbarTickmode = "array"
)

type BarMarkerColorbarTicks

type BarMarkerColorbarTicks string

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.

const (
	BarMarkerColorbarTicks_outside BarMarkerColorbarTicks = "outside"
	BarMarkerColorbarTicks_inside  BarMarkerColorbarTicks = "inside"
)

type BarMarkerColorbarTitle

type BarMarkerColorbarTitle struct {

	// Font <no value> Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.
	Font *BarMarkerColorbarTitleFont `json:"font,omitempty"`

	// Side 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.
	Side BarMarkerColorbarTitleSide `json:"side,omitempty"`

	// Text 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"`
}

type BarMarkerColorbarTitleFont

type BarMarkerColorbarTitleFont struct {

	// Color color <no value>
	Color String `json:"color,omitempty"`

	// Family string HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.
	Family String `json:"family,omitempty"`

	// Size number <no value>
	Size float64 `json:"size,omitempty"`
}

DEEP 3

type BarMarkerColorbarTitleSide

type BarMarkerColorbarTitleSide string

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.

const (
	BarMarkerColorbarTitleSide_right  BarMarkerColorbarTitleSide = "right"
	BarMarkerColorbarTitleSide_top    BarMarkerColorbarTitleSide = "top"
	BarMarkerColorbarTitleSide_bottom BarMarkerColorbarTitleSide = "bottom"
)

type BarMarkerColorbarXanchor

type BarMarkerColorbarXanchor string

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.

const (
	BarMarkerColorbarXanchor_left   BarMarkerColorbarXanchor = "left"
	BarMarkerColorbarXanchor_center BarMarkerColorbarXanchor = "center"
	BarMarkerColorbarXanchor_right  BarMarkerColorbarXanchor = "right"
)

type BarMarkerColorbarYanchor

type BarMarkerColorbarYanchor string

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.

const (
	BarMarkerColorbarYanchor_top    BarMarkerColorbarYanchor = "top"
	BarMarkerColorbarYanchor_middle BarMarkerColorbarYanchor = "middle"
	BarMarkerColorbarYanchor_bottom BarMarkerColorbarYanchor = "bottom"
)

type BarMarkerLine

type BarMarkerLine struct {

	// Autocolorscale 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 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 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 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 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 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.
	Color interface{} `json:"color,omitempty"`

	// Coloraxis 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"`

	// Colorsrc string Sets the source reference on Chart Studio Cloud for  color .
	Colorsrc String `json:"colorsrc,omitempty"`

	// Reversescale 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 number Sets the width (in px) of the lines bounding the marker points.
	Width interface{} `json:"width,omitempty"`

	// Widthsrc string Sets the source reference on Chart Studio Cloud for  width .
	Widthsrc String `json:"widthsrc,omitempty"`
}

type BarOrientation

type BarOrientation string

BarOrientation Sets the orientation of the bars. With *v* (*h*), the value of the each bar spans along the vertical (horizontal).

const (
	BarOrientation_v BarOrientation = "v"
	BarOrientation_h BarOrientation = "h"
)

type BarOutsidetextfont

type BarOutsidetextfont struct {

	// Color color <no value>
	Color interface{} `json:"color,omitempty"`

	// Colorsrc string Sets the source reference on Chart Studio Cloud for  color .
	Colorsrc String `json:"colorsrc,omitempty"`

	// Family string HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.
	Family interface{} `json:"family,omitempty"`

	// Familysrc string Sets the source reference on Chart Studio Cloud for  family .
	Familysrc String `json:"familysrc,omitempty"`

	// Size number <no value>
	Size interface{} `json:"size,omitempty"`

	// Sizesrc string Sets the source reference on Chart Studio Cloud for  size .
	Sizesrc String `json:"sizesrc,omitempty"`
}

type BarSelected

type BarSelected struct {

	// Marker <no value> <no value>
	Marker *BarSelectedMarker `json:"marker,omitempty"`

	// Textfont <no value> <no value>
	Textfont *BarSelectedTextfont `json:"textfont,omitempty"`
}

type BarSelectedMarker

type BarSelectedMarker struct {

	// Color color Sets the marker color of selected points.
	Color String `json:"color,omitempty"`

	// Opacity number Sets the marker opacity of selected points.
	Opacity float64 `json:"opacity,omitempty"`
}

type BarSelectedTextfont

type BarSelectedTextfont struct {

	// Color color Sets the text font color of selected points.
	Color String `json:"color,omitempty"`
}

type BarStream

type BarStream struct {

	// Maxpoints 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 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"`
}

type BarTextfont

type BarTextfont struct {

	// Color color <no value>
	Color interface{} `json:"color,omitempty"`

	// Colorsrc string Sets the source reference on Chart Studio Cloud for  color .
	Colorsrc String `json:"colorsrc,omitempty"`

	// Family string HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.
	Family interface{} `json:"family,omitempty"`

	// Familysrc string Sets the source reference on Chart Studio Cloud for  family .
	Familysrc String `json:"familysrc,omitempty"`

	// Size number <no value>
	Size interface{} `json:"size,omitempty"`

	// Sizesrc string Sets the source reference on Chart Studio Cloud for  size .
	Sizesrc String `json:"sizesrc,omitempty"`
}

type BarTextposition

type BarTextposition string

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.

const (
	BarTextposition_inside  BarTextposition = "inside"
	BarTextposition_outside BarTextposition = "outside"
	BarTextposition_auto    BarTextposition = "auto"
	BarTextposition_none    BarTextposition = "none"
)

type BarTransforms

type BarTransforms interface{}

BarTransforms It's an items array and what goes inside it's... messy... check the docs Here is a hint to help you to define your own type transform

description
editType
role

type BarUnselected

type BarUnselected struct {

	// Marker <no value> <no value>
	Marker *BarUnselectedMarker `json:"marker,omitempty"`

	// Textfont <no value> <no value>
	Textfont *BarUnselectedTextfont `json:"textfont,omitempty"`
}

type BarUnselectedMarker

type BarUnselectedMarker struct {

	// Color color Sets the marker color of unselected points, applied only when a selection exists.
	Color String `json:"color,omitempty"`

	// Opacity number Sets the marker opacity of unselected points, applied only when a selection exists.
	Opacity float64 `json:"opacity,omitempty"`
}

type BarUnselectedTextfont

type BarUnselectedTextfont struct {

	// Color color Sets the text font color of unselected points, applied only when a selection exists.
	Color String `json:"color,omitempty"`
}

type BarVisible

type BarVisible interface{}

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).

var (
	BarVisible_True       BarVisible = true
	BarVisible_False      BarVisible = false
	BarVisible_legendonly BarVisible = "legendonly"
)

type BarXcalendar

type BarXcalendar string

BarXcalendar Sets the calendar system to use with `x` date data.

const (
	BarXcalendar_gregorian  BarXcalendar = "gregorian"
	BarXcalendar_chinese    BarXcalendar = "chinese"
	BarXcalendar_coptic     BarXcalendar = "coptic"
	BarXcalendar_discworld  BarXcalendar = "discworld"
	BarXcalendar_ethiopian  BarXcalendar = "ethiopian"
	BarXcalendar_hebrew     BarXcalendar = "hebrew"
	BarXcalendar_islamic    BarXcalendar = "islamic"
	BarXcalendar_julian     BarXcalendar = "julian"
	BarXcalendar_mayan      BarXcalendar = "mayan"
	BarXcalendar_nanakshahi BarXcalendar = "nanakshahi"
	BarXcalendar_nepali     BarXcalendar = "nepali"
	BarXcalendar_persian    BarXcalendar = "persian"
	BarXcalendar_jalali     BarXcalendar = "jalali"
	BarXcalendar_taiwan     BarXcalendar = "taiwan"
	BarXcalendar_thai       BarXcalendar = "thai"
	BarXcalendar_ummalqura  BarXcalendar = "ummalqura"
)

type BarXperiodalignment

type BarXperiodalignment string

BarXperiodalignment Only relevant when the axis `type` is *date*. Sets the alignment of data points on the x axis.

const (
	BarXperiodalignment_start  BarXperiodalignment = "start"
	BarXperiodalignment_middle BarXperiodalignment = "middle"
	BarXperiodalignment_end    BarXperiodalignment = "end"
)

type BarYcalendar

type BarYcalendar string

BarYcalendar Sets the calendar system to use with `y` date data.

const (
	BarYcalendar_gregorian  BarYcalendar = "gregorian"
	BarYcalendar_chinese    BarYcalendar = "chinese"
	BarYcalendar_coptic     BarYcalendar = "coptic"
	BarYcalendar_discworld  BarYcalendar = "discworld"
	BarYcalendar_ethiopian  BarYcalendar = "ethiopian"
	BarYcalendar_hebrew     BarYcalendar = "hebrew"
	BarYcalendar_islamic    BarYcalendar = "islamic"
	BarYcalendar_julian     BarYcalendar = "julian"
	BarYcalendar_mayan      BarYcalendar = "mayan"
	BarYcalendar_nanakshahi BarYcalendar = "nanakshahi"
	BarYcalendar_nepali     BarYcalendar = "nepali"
	BarYcalendar_persian    BarYcalendar = "persian"
	BarYcalendar_jalali     BarYcalendar = "jalali"
	BarYcalendar_taiwan     BarYcalendar = "taiwan"
	BarYcalendar_thai       BarYcalendar = "thai"
	BarYcalendar_ummalqura  BarYcalendar = "ummalqura"
)

type BarYperiodalignment

type BarYperiodalignment string

BarYperiodalignment Only relevant when the axis `type` is *date*. Sets the alignment of data points on the y axis.

const (
	BarYperiodalignment_start  BarYperiodalignment = "start"
	BarYperiodalignment_middle BarYperiodalignment = "middle"
	BarYperiodalignment_end    BarYperiodalignment = "end"
)

type Barpolar

type Barpolar struct {

	// Type is the type of the plot
	Type TraceType `json:"type,omitempty"`

	// Base 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 string Sets the source reference on Chart Studio Cloud for  base .
	Basesrc String `json:"basesrc,omitempty"`

	// Customdata 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 string Sets the source reference on Chart Studio Cloud for  customdata .
	Customdatasrc String `json:"customdatasrc,omitempty"`

	// Dr number Sets the r coordinate step.
	Dr float64 `json:"dr,omitempty"`

	// Dtheta 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 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 string Sets the source reference on Chart Studio Cloud for  hoverinfo .
	Hoverinfosrc String `json:"hoverinfosrc,omitempty"`

	// Hoverlabel <no value> <no value>
	Hoverlabel *BarpolarHoverlabel `json:"hoverlabel,omitempty"`

	// Hovertemplate 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 `<extra>` is displayed in the secondary box, for example "<extra>{fullData.name}</extra>". To hide the secondary box completely, use an empty tag `<extra></extra>`.
	Hovertemplate interface{} `json:"hovertemplate,omitempty"`

	// Hovertemplatesrc string Sets the source reference on Chart Studio Cloud for  hovertemplate .
	Hovertemplatesrc String `json:"hovertemplatesrc,omitempty"`

	// Hovertext string Same as `text`.
	Hovertext interface{} `json:"hovertext,omitempty"`

	// Hovertextsrc string Sets the source reference on Chart Studio Cloud for  hovertext .
	Hovertextsrc String `json:"hovertextsrc,omitempty"`

	// Ids 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 string Sets the source reference on Chart Studio Cloud for  ids .
	Idssrc String `json:"idssrc,omitempty"`

	// Legendgroup 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 <no value> <no value>
	Marker *BarpolarMarker `json:"marker,omitempty"`

	// Meta 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 string Sets the source reference on Chart Studio Cloud for  meta .
	Metasrc String `json:"metasrc,omitempty"`

	// Name string Sets the trace name. The trace name appear as the legend item and on hover.
	Name String `json:"name,omitempty"`

	// Offset number Shifts the angular position where the bar is drawn (in *thetatunit* units).
	Offset interface{} `json:"offset,omitempty"`

	// Offsetsrc string Sets the source reference on Chart Studio Cloud for  offset .
	Offsetsrc String `json:"offsetsrc,omitempty"`

	// Opacity number Sets the opacity of the trace.
	Opacity float64 `json:"opacity,omitempty"`

	// R data_array Sets the radial coordinates
	R interface{} `json:"r,omitempty"`

	// R0 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 string Sets the source reference on Chart Studio Cloud for  r .
	Rsrc String `json:"rsrc,omitempty"`

	// Selected <no value> <no value>
	Selected *BarpolarSelected `json:"selected,omitempty"`

	// Selectedpoints 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 boolean Determines whether or not an item corresponding to this trace is shown in the legend.
	Showlegend Bool `json:"showlegend,omitempty"`

	// Stream <no value> <no value>
	Stream *BarpolarStream `json:"stream,omitempty"`

	// Subplot 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 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 interface{} `json:"text,omitempty"`

	// Textsrc string Sets the source reference on Chart Studio Cloud for  text .
	Textsrc String `json:"textsrc,omitempty"`

	// Theta data_array Sets the angular coordinates
	Theta interface{} `json:"theta,omitempty"`

	// Theta0 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 string Sets the source reference on Chart Studio Cloud for  theta .
	Thetasrc String `json:"thetasrc,omitempty"`

	// Thetaunit enumerated Sets the unit of input *theta* values. Has an effect only when on *linear* angular axes.
	Thetaunit BarpolarThetaunit `json:"thetaunit,omitempty"`

	// Transforms <no value> <no value>
	Transforms BarpolarTransforms `json:"transforms,omitempty"`

	// Uid 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 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 <no value> <no value>
	Unselected *BarpolarUnselected `json:"unselected,omitempty"`

	// Visible 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 number Sets the bar angular width (in *thetaunit* units).
	Width interface{} `json:"width,omitempty"`

	// Widthsrc string Sets the source reference on Chart Studio Cloud for  width .
	Widthsrc String `json:"widthsrc,omitempty"`
}

Barpolar The data visualized by the radial span of the bars is set in `r`

func NewBarpolar

func NewBarpolar() *Barpolar

func (*Barpolar) GetType

func (this *Barpolar) GetType() TraceType

type BarpolarHoverinfo

type BarpolarHoverinfo string
const (
	// Flags
	BarpolarHoverinfoR     BarpolarHoverinfo = "r"
	BarpolarHoverinfoTheta BarpolarHoverinfo = "theta"
	BarpolarHoverinfoText  BarpolarHoverinfo = "text"
	BarpolarHoverinfoName  BarpolarHoverinfo = "name"
	// Extras
	BarpolarHoverinfoAll  BarpolarHoverinfo = "all"
	BarpolarHoverinfoNone BarpolarHoverinfo = "none"
	BarpolarHoverinfoSkip BarpolarHoverinfo = "skip"
)

type BarpolarHoverlabel

type BarpolarHoverlabel struct {

	// Align 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 string Sets the source reference on Chart Studio Cloud for  align .
	Alignsrc String `json:"alignsrc,omitempty"`

	// Bgcolor color Sets the background color of the hover labels for this trace
	Bgcolor interface{} `json:"bgcolor,omitempty"`

	// Bgcolorsrc string Sets the source reference on Chart Studio Cloud for  bgcolor .
	Bgcolorsrc String `json:"bgcolorsrc,omitempty"`

	// Bordercolor color Sets the border color of the hover labels for this trace.
	Bordercolor interface{} `json:"bordercolor,omitempty"`

	// Bordercolorsrc string Sets the source reference on Chart Studio Cloud for  bordercolor .
	Bordercolorsrc String `json:"bordercolorsrc,omitempty"`

	// Font <no value> Sets the font used in hover labels.
	Font *BarpolarHoverlabelFont `json:"font,omitempty"`

	// Namelength 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 interface{} `json:"namelength,omitempty"`

	// Namelengthsrc string Sets the source reference on Chart Studio Cloud for  namelength .
	Namelengthsrc String `json:"namelengthsrc,omitempty"`
}

type BarpolarHoverlabelAlign

type BarpolarHoverlabelAlign string

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

const (
	BarpolarHoverlabelAlign_left  BarpolarHoverlabelAlign = "left"
	BarpolarHoverlabelAlign_right BarpolarHoverlabelAlign = "right"
	BarpolarHoverlabelAlign_auto  BarpolarHoverlabelAlign = "auto"
)

type BarpolarHoverlabelFont

type BarpolarHoverlabelFont struct {

	// Color color <no value>
	Color interface{} `json:"color,omitempty"`

	// Colorsrc string Sets the source reference on Chart Studio Cloud for  color .
	Colorsrc String `json:"colorsrc,omitempty"`

	// Family string HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.
	Family interface{} `json:"family,omitempty"`

	// Familysrc string Sets the source reference on Chart Studio Cloud for  family .
	Familysrc String `json:"familysrc,omitempty"`

	// Size number <no value>
	Size interface{} `json:"size,omitempty"`

	// Sizesrc string Sets the source reference on Chart Studio Cloud for  size .
	Sizesrc String `json:"sizesrc,omitempty"`
}

type BarpolarMarker

type BarpolarMarker struct {

	// Autocolorscale 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 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 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 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 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 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.
	Color interface{} `json:"color,omitempty"`

	// Coloraxis 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 <no value> <no value>
	Colorbar *BarpolarMarkerColorbar `json:"colorbar,omitempty"`

	// Colorsrc string Sets the source reference on Chart Studio Cloud for  color .
	Colorsrc String `json:"colorsrc,omitempty"`

	// Line <no value> <no value>
	Line *BarpolarMarkerLine `json:"line,omitempty"`

	// Opacity number Sets the opacity of the bars.
	Opacity interface{} `json:"opacity,omitempty"`

	// Opacitysrc string Sets the source reference on Chart Studio Cloud for  opacity .
	Opacitysrc String `json:"opacitysrc,omitempty"`

	// Reversescale 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 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"`
}

type BarpolarMarkerColorbar

type BarpolarMarkerColorbar struct {

	// Bgcolor color Sets the color of padded area.
	Bgcolor String `json:"bgcolor,omitempty"`

	// Bordercolor color Sets the axis line color.
	Bordercolor String `json:"bordercolor,omitempty"`

	// Borderwidth number Sets the width (in px) or the border enclosing this color bar.
	Borderwidth float64 `json:"borderwidth,omitempty"`

	// Dtick 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<f>*, where `f` is a positive number, gives ticks linearly spaced in value (but not position). For example `tick0` = 0.1, `dtick` = *L0.5* will put ticks at 0.1, 0.6, 1.1, 1.6 etc. To show powers of 10 plus small digits between, use *D1* (all digits) or *D2* (only 2 and 5). `tick0` is ignored for *D1* and *D2*. If the axis `type` is *date*, then you must convert the time to milliseconds. For example, to set the interval between ticks to one day, set `dtick` to 86400000.0. *date* also has special values *M<n>* gives ticks spaced by a number of months. `n` must be a positive integer. To set ticks on the 15th of every third month, set `tick0` to *2000-01-15* and `dtick` to *M3*. To set ticks every 4 years, set `dtick` to *M48*
	Dtick interface{} `json:"dtick,omitempty"`

	// Exponentformat 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"`

	// Len 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 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 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 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"`

	// Outlinecolor color Sets the axis line color.
	Outlinecolor String `json:"outlinecolor,omitempty"`

	// Outlinewidth number Sets the width (in px) of the axis line.
	Outlinewidth float64 `json:"outlinewidth,omitempty"`

	// Separatethousands boolean If "true", even 4-digit integers are separated
	Separatethousands Bool `json:"separatethousands,omitempty"`

	// Showexponent 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 boolean Determines whether or not the tick labels are drawn.
	Showticklabels Bool `json:"showticklabels,omitempty"`

	// Showtickprefix 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 enumerated Same as `showtickprefix` but for tick suffixes.
	Showticksuffix BarpolarMarkerColorbarShowticksuffix `json:"showticksuffix,omitempty"`

	// Thickness 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 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 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<f>* (see `dtick` for more info). If the axis `type` is *date*, it should be a date string, like date data. If the axis `type` is *category*, it should be a number, using the scale where each category is assigned a serial number from zero in the order it appears.
	Tick0 interface{} `json:"tick0,omitempty"`

	// Tickangle 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 color Sets the tick color.
	Tickcolor String `json:"tickcolor,omitempty"`

	// Tickfont <no value> Sets the color bar's tick label font
	Tickfont *BarpolarMarkerColorbarTickfont `json:"tickfont,omitempty"`

	// Tickformat 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*
	Tickformat String `json:"tickformat,omitempty"`

	// Tickformatstops <no value> <no value>
	Tickformatstops BarpolarMarkerColorbarTickformatstops `json:"tickformatstops,omitempty"`

	// Ticklabelposition enumerated Determines where tick labels are drawn.
	Ticklabelposition BarpolarMarkerColorbarTicklabelposition `json:"ticklabelposition,omitempty"`

	// Ticklen number Sets the tick length (in px).
	Ticklen float64 `json:"ticklen,omitempty"`

	// Tickmode 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 string Sets a tick label prefix.
	Tickprefix String `json:"tickprefix,omitempty"`

	// Ticks 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 string Sets a tick label suffix.
	Ticksuffix String `json:"ticksuffix,omitempty"`

	// Ticktext 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 string Sets the source reference on Chart Studio Cloud for  ticktext .
	Ticktextsrc String `json:"ticktextsrc,omitempty"`

	// Tickvals 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 string Sets the source reference on Chart Studio Cloud for  tickvals .
	Tickvalssrc String `json:"tickvalssrc,omitempty"`

	// Tickwidth number Sets the tick width (in px).
	Tickwidth float64 `json:"tickwidth,omitempty"`

	// Title <no value> <no value>
	Title *BarpolarMarkerColorbarTitle `json:"title,omitempty"`

	// X number Sets the x position of the color bar (in plot fraction).
	X float64 `json:"x,omitempty"`

	// Xanchor 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.
	Xanchor BarpolarMarkerColorbarXanchor `json:"xanchor,omitempty"`

	// Xpad number Sets the amount of padding (in px) along the x direction.
	Xpad float64 `json:"xpad,omitempty"`

	// Y number Sets the y position of the color bar (in plot fraction).
	Y float64 `json:"y,omitempty"`

	// Yanchor 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.
	Yanchor BarpolarMarkerColorbarYanchor `json:"yanchor,omitempty"`

	// Ypad number Sets the amount of padding (in px) along the y direction.
	Ypad float64 `json:"ypad,omitempty"`
}

type BarpolarMarkerColorbarExponentformat

type BarpolarMarkerColorbarExponentformat string

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.

const (
	BarpolarMarkerColorbarExponentformat_none  BarpolarMarkerColorbarExponentformat = "none"
	BarpolarMarkerColorbarExponentformat_e     BarpolarMarkerColorbarExponentformat = "e"
	BarpolarMarkerColorbarExponentformat_E     BarpolarMarkerColorbarExponentformat = "E"
	BarpolarMarkerColorbarExponentformat_power BarpolarMarkerColorbarExponentformat = "power"
	BarpolarMarkerColorbarExponentformat_SI    BarpolarMarkerColorbarExponentformat = "SI"
	BarpolarMarkerColorbarExponentformat_B     BarpolarMarkerColorbarExponentformat = "B"
)

type BarpolarMarkerColorbarLenmode

type BarpolarMarkerColorbarLenmode string

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.

const (
	BarpolarMarkerColorbarLenmode_fraction BarpolarMarkerColorbarLenmode = "fraction"
	BarpolarMarkerColorbarLenmode_pixels   BarpolarMarkerColorbarLenmode = "pixels"
)

type BarpolarMarkerColorbarShowexponent

type BarpolarMarkerColorbarShowexponent string

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.

const (
	BarpolarMarkerColorbarShowexponent_all   BarpolarMarkerColorbarShowexponent = "all"
	BarpolarMarkerColorbarShowexponent_first BarpolarMarkerColorbarShowexponent = "first"
	BarpolarMarkerColorbarShowexponent_last  BarpolarMarkerColorbarShowexponent = "last"
	BarpolarMarkerColorbarShowexponent_none  BarpolarMarkerColorbarShowexponent = "none"
)

type BarpolarMarkerColorbarShowtickprefix

type BarpolarMarkerColorbarShowtickprefix string

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.

const (
	BarpolarMarkerColorbarShowtickprefix_all   BarpolarMarkerColorbarShowtickprefix = "all"
	BarpolarMarkerColorbarShowtickprefix_first BarpolarMarkerColorbarShowtickprefix = "first"
	BarpolarMarkerColorbarShowtickprefix_last  BarpolarMarkerColorbarShowtickprefix = "last"
	BarpolarMarkerColorbarShowtickprefix_none  BarpolarMarkerColorbarShowtickprefix = "none"
)

type BarpolarMarkerColorbarShowticksuffix

type BarpolarMarkerColorbarShowticksuffix string

BarpolarMarkerColorbarShowticksuffix Same as `showtickprefix` but for tick suffixes.

const (
	BarpolarMarkerColorbarShowticksuffix_all   BarpolarMarkerColorbarShowticksuffix = "all"
	BarpolarMarkerColorbarShowticksuffix_first BarpolarMarkerColorbarShowticksuffix = "first"
	BarpolarMarkerColorbarShowticksuffix_last  BarpolarMarkerColorbarShowticksuffix = "last"
	BarpolarMarkerColorbarShowticksuffix_none  BarpolarMarkerColorbarShowticksuffix = "none"
)

type BarpolarMarkerColorbarThicknessmode

type BarpolarMarkerColorbarThicknessmode string

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.

const (
	BarpolarMarkerColorbarThicknessmode_fraction BarpolarMarkerColorbarThicknessmode = "fraction"
	BarpolarMarkerColorbarThicknessmode_pixels   BarpolarMarkerColorbarThicknessmode = "pixels"
)

type BarpolarMarkerColorbarTickfont

type BarpolarMarkerColorbarTickfont struct {

	// Color color <no value>
	Color String `json:"color,omitempty"`

	// Family string HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.
	Family String `json:"family,omitempty"`

	// Size number <no value>
	Size float64 `json:"size,omitempty"`
}

type BarpolarMarkerColorbarTickformatstops

type BarpolarMarkerColorbarTickformatstops interface{}

BarpolarMarkerColorbarTickformatstops It's an items array and what goes inside it's... messy... check the docs Here is a hint to help you to define your own type tickformatstop

dtickrange
editType
enabled
name
role
templateitemname
value

type BarpolarMarkerColorbarTicklabelposition

type BarpolarMarkerColorbarTicklabelposition string

BarpolarMarkerColorbarTicklabelposition Determines where tick labels are drawn.

const (
	BarpolarMarkerColorbarTicklabelposition_outside       BarpolarMarkerColorbarTicklabelposition = "outside"
	BarpolarMarkerColorbarTicklabelposition_inside        BarpolarMarkerColorbarTicklabelposition = "inside"
	BarpolarMarkerColorbarTicklabelposition_outsidetop    BarpolarMarkerColorbarTicklabelposition = "outside top"
	BarpolarMarkerColorbarTicklabelposition_insidetop     BarpolarMarkerColorbarTicklabelposition = "inside top"
	BarpolarMarkerColorbarTicklabelposition_outsidebottom BarpolarMarkerColorbarTicklabelposition = "outside bottom"
	BarpolarMarkerColorbarTicklabelposition_insidebottom  BarpolarMarkerColorbarTicklabelposition = "inside bottom"
)

type BarpolarMarkerColorbarTickmode

type BarpolarMarkerColorbarTickmode string

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).

const (
	BarpolarMarkerColorbarTickmode_auto   BarpolarMarkerColorbarTickmode = "auto"
	BarpolarMarkerColorbarTickmode_linear BarpolarMarkerColorbarTickmode = "linear"
	BarpolarMarkerColorbarTickmode_array  BarpolarMarkerColorbarTickmode = "array"
)

type BarpolarMarkerColorbarTicks

type BarpolarMarkerColorbarTicks string

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.

const (
	BarpolarMarkerColorbarTicks_outside BarpolarMarkerColorbarTicks = "outside"
	BarpolarMarkerColorbarTicks_inside  BarpolarMarkerColorbarTicks = "inside"
)

type BarpolarMarkerColorbarTitle

type BarpolarMarkerColorbarTitle struct {

	// Font <no value> Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.
	Font *BarpolarMarkerColorbarTitleFont `json:"font,omitempty"`

	// Side 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.
	Side BarpolarMarkerColorbarTitleSide `json:"side,omitempty"`

	// Text 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"`
}

type BarpolarMarkerColorbarTitleFont

type BarpolarMarkerColorbarTitleFont struct {

	// Color color <no value>
	Color String `json:"color,omitempty"`

	// Family string HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.
	Family String `json:"family,omitempty"`

	// Size number <no value>
	Size float64 `json:"size,omitempty"`
}

type BarpolarMarkerColorbarTitleSide

type BarpolarMarkerColorbarTitleSide string

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.

const (
	BarpolarMarkerColorbarTitleSide_right  BarpolarMarkerColorbarTitleSide = "right"
	BarpolarMarkerColorbarTitleSide_top    BarpolarMarkerColorbarTitleSide = "top"
	BarpolarMarkerColorbarTitleSide_bottom BarpolarMarkerColorbarTitleSide = "bottom"
)

type BarpolarMarkerColorbarXanchor

type BarpolarMarkerColorbarXanchor string

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.

const (
	BarpolarMarkerColorbarXanchor_left   BarpolarMarkerColorbarXanchor = "left"
	BarpolarMarkerColorbarXanchor_center BarpolarMarkerColorbarXanchor = "center"
	BarpolarMarkerColorbarXanchor_right  BarpolarMarkerColorbarXanchor = "right"
)

type BarpolarMarkerColorbarYanchor

type BarpolarMarkerColorbarYanchor string

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.

const (
	BarpolarMarkerColorbarYanchor_top    BarpolarMarkerColorbarYanchor = "top"
	BarpolarMarkerColorbarYanchor_middle BarpolarMarkerColorbarYanchor = "middle"
	BarpolarMarkerColorbarYanchor_bottom BarpolarMarkerColorbarYanchor = "bottom"
)

type BarpolarMarkerLine

type BarpolarMarkerLine struct {

	// Autocolorscale 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 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 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 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 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 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.
	Color interface{} `json:"color,omitempty"`

	// Coloraxis 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"`

	// Colorsrc string Sets the source reference on Chart Studio Cloud for  color .
	Colorsrc String `json:"colorsrc,omitempty"`

	// Reversescale 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 number Sets the width (in px) of the lines bounding the marker points.
	Width interface{} `json:"width,omitempty"`

	// Widthsrc string Sets the source reference on Chart Studio Cloud for  width .
	Widthsrc String `json:"widthsrc,omitempty"`
}

type BarpolarSelected

type BarpolarSelected struct {

	// Marker <no value> <no value>
	Marker *BarpolarSelectedMarker `json:"marker,omitempty"`

	// Textfont <no value> <no value>
	Textfont *BarpolarSelectedTextfont `json:"textfont,omitempty"`
}

type BarpolarSelectedMarker

type BarpolarSelectedMarker struct {

	// Color color Sets the marker color of selected points.
	Color String `json:"color,omitempty"`

	// Opacity number Sets the marker opacity of selected points.
	Opacity float64 `json:"opacity,omitempty"`
}

type BarpolarSelectedTextfont

type BarpolarSelectedTextfont struct {

	// Color color Sets the text font color of selected points.
	Color String `json:"color,omitempty"`
}

type BarpolarStream

type BarpolarStream struct {

	// Maxpoints 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 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"`
}

type BarpolarThetaunit

type BarpolarThetaunit string

BarpolarThetaunit Sets the unit of input *theta* values. Has an effect only when on *linear* angular axes.

const (
	BarpolarThetaunit_radians  BarpolarThetaunit = "radians"
	BarpolarThetaunit_degrees  BarpolarThetaunit = "degrees"
	BarpolarThetaunit_gradians BarpolarThetaunit = "gradians"
)

type BarpolarTransforms

type BarpolarTransforms interface{}

BarpolarTransforms It's an items array and what goes inside it's... messy... check the docs Here is a hint to help you to define your own type transform

description
editType
role

type BarpolarUnselected

type BarpolarUnselected struct {

	// Marker <no value> <no value>
	Marker *BarpolarUnselectedMarker `json:"marker,omitempty"`

	// Textfont <no value> <no value>
	Textfont *BarpolarUnselectedTextfont `json:"textfont,omitempty"`
}

type BarpolarUnselectedMarker

type BarpolarUnselectedMarker struct {

	// Color color Sets the marker color of unselected points, applied only when a selection exists.
	Color String `json:"color,omitempty"`

	// Opacity number Sets the marker opacity of unselected points, applied only when a selection exists.
	Opacity float64 `json:"opacity,omitempty"`
}

type BarpolarUnselectedTextfont

type BarpolarUnselectedTextfont struct {

	// Color color Sets the text font color of unselected points, applied only when a selection exists.
	Color String `json:"color,omitempty"`
}

type BarpolarVisible

type BarpolarVisible interface{}

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).

var (
	BarpolarVisible_True       BarpolarVisible = true
	BarpolarVisible_False      BarpolarVisible = false
	BarpolarVisible_legendonly BarpolarVisible = "legendonly"
)

type Bool

type Bool *bool

Bool represents a *bool value. Needed to tell the differenc between false and nil.

var (

	// True is a *bool with true value
	True Bool = &trueValue
	// False is a *bool with false value
	False Bool = &falseValue
)

type Box

type Box struct {

	// Type is the type of the plot
	Type TraceType `json:"type,omitempty"`

	// Alignmentgroup 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 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 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 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 string Sets the source reference on Chart Studio Cloud for  customdata .
	Customdatasrc String `json:"customdatasrc,omitempty"`

	// Dx number Sets the x coordinate step for multi-box traces set using q1/median/q3.
	Dx float64 `json:"dx,omitempty"`

	// Dy number Sets the y coordinate step for multi-box traces set using q1/median/q3.
	Dy float64 `json:"dy,omitempty"`

	// Fillcolor 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 String `json:"fillcolor,omitempty"`

	// Hoverinfo 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 string Sets the source reference on Chart Studio Cloud for  hoverinfo .
	Hoverinfosrc String `json:"hoverinfosrc,omitempty"`

	// Hoverlabel <no value> <no value>
	Hoverlabel *BoxHoverlabel `json:"hoverlabel,omitempty"`

	// Hoveron flaglist Do the hover effects highlight individual boxes  or sample points or both?
	Hoveron BoxHoveron `json:"hoveron,omitempty"`

	// Hovertemplate 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 `<extra>` is displayed in the secondary box, for example "<extra>{fullData.name}</extra>". To hide the secondary box completely, use an empty tag `<extra></extra>`.
	Hovertemplate interface{} `json:"hovertemplate,omitempty"`

	// Hovertemplatesrc string Sets the source reference on Chart Studio Cloud for  hovertemplate .
	Hovertemplatesrc String `json:"hovertemplatesrc,omitempty"`

	// Hovertext string Same as `text`.
	Hovertext interface{} `json:"hovertext,omitempty"`

	// Hovertextsrc string Sets the source reference on Chart Studio Cloud for  hovertext .
	Hovertextsrc String `json:"hovertextsrc,omitempty"`

	// Ids 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 string Sets the source reference on Chart Studio Cloud for  ids .
	Idssrc String `json:"idssrc,omitempty"`

	// Jitter 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"`

	// Legendgroup 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"`

	// Line <no value> <no value>
	Line *BoxLine `json:"line,omitempty"`

	// Lowerfence 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 string Sets the source reference on Chart Studio Cloud for  lowerfence .
	Lowerfencesrc String `json:"lowerfencesrc,omitempty"`

	// Marker <no value> <no value>
	Marker *BoxMarker `json:"marker,omitempty"`

	// Mean 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 string Sets the source reference on Chart Studio Cloud for  mean .
	Meansrc String `json:"meansrc,omitempty"`

	// Median data_array Sets the median values. There should be as many items as the number of boxes desired.
	Median interface{} `json:"median,omitempty"`

	// Mediansrc string Sets the source reference on Chart Studio Cloud for  median .
	Mediansrc String `json:"mediansrc,omitempty"`

	// Meta 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 string Sets the source reference on Chart Studio Cloud for  meta .
	Metasrc String `json:"metasrc,omitempty"`

	// Name string 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
	Name String `json:"name,omitempty"`

	// Notched 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 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 string Sets the source reference on Chart Studio Cloud for  notchspan .
	Notchspansrc String `json:"notchspansrc,omitempty"`

	// Notchwidth 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 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 number Sets the opacity of the trace.
	Opacity float64 `json:"opacity,omitempty"`

	// Orientation 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 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 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 string Sets the source reference on Chart Studio Cloud for  q1 .
	Q1src String `json:"q1src,omitempty"`

	// Q3 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 string Sets the source reference on Chart Studio Cloud for  q3 .
	Q3src String `json:"q3src,omitempty"`

	// Quartilemethod 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.
	Quartilemethod BoxQuartilemethod `json:"quartilemethod,omitempty"`

	// Sd 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"`

	// Sdsrc string Sets the source reference on Chart Studio Cloud for  sd .
	Sdsrc String `json:"sdsrc,omitempty"`

	// Selected <no value> <no value>
	Selected *BoxSelected `json:"selected,omitempty"`

	// Selectedpoints 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 boolean Determines whether or not an item corresponding to this trace is shown in the legend.
	Showlegend Bool `json:"showlegend,omitempty"`

	// Stream <no value> <no value>
	Stream *BoxStream `json:"stream,omitempty"`

	// Text 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 interface{} `json:"text,omitempty"`

	// Textsrc string Sets the source reference on Chart Studio Cloud for  text .
	Textsrc String `json:"textsrc,omitempty"`

	// Transforms <no value> <no value>
	Transforms BoxTransforms `json:"transforms,omitempty"`

	// Uid 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 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 <no value> <no value>
	Unselected *BoxUnselected `json:"unselected,omitempty"`

	// Upperfence 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 lower as the last sample point above 1.5 times the IQR.
	Upperfence interface{} `json:"upperfence,omitempty"`

	// Upperfencesrc string Sets the source reference on Chart Studio Cloud for  upperfence .
	Upperfencesrc String `json:"upperfencesrc,omitempty"`

	// Visible 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 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 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 data_array Sets the x sample data or coordinates. See overview for more info.
	X interface{} `json:"x,omitempty"`

	// X0 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 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 enumerated Sets the calendar system to use with `x` date data.
	Xcalendar BoxXcalendar `json:"xcalendar,omitempty"`

	// Xperiod any Only relevant when the axis `type` is *date*. Sets the period positioning in milliseconds or *M<n>* on the x axis. Special values in the form of *M<n>* could be used to declare the number of months. In this case `n` must be a positive integer.
	Xperiod interface{} `json:"xperiod,omitempty"`

	// Xperiod0 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 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 string Sets the source reference on Chart Studio Cloud for  x .
	Xsrc String `json:"xsrc,omitempty"`

	// Y data_array Sets the y sample data or coordinates. See overview for more info.
	Y interface{} `json:"y,omitempty"`

	// Y0 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 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 enumerated Sets the calendar system to use with `y` date data.
	Ycalendar BoxYcalendar `json:"ycalendar,omitempty"`

	// Yperiod any Only relevant when the axis `type` is *date*. Sets the period positioning in milliseconds or *M<n>* on the y axis. Special values in the form of *M<n>* could be used to declare the number of months. In this case `n` must be a positive integer.
	Yperiod interface{} `json:"yperiod,omitempty"`

	// Yperiod0 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 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 string Sets the source reference on Chart Studio Cloud for  y .
	Ysrc String `json:"ysrc,omitempty"`
}

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.

func NewBox

func NewBox() *Box

func (*Box) GetType

func (this *Box) GetType() TraceType

type BoxBoxmean

type BoxBoxmean interface{}

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*.

var (
	BoxBoxmean_True  BoxBoxmean = true
	BoxBoxmean_sd    BoxBoxmean = "sd"
	BoxBoxmean_False BoxBoxmean = false
)

type BoxBoxpoints

type BoxBoxpoints interface{}

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*.

var (
	BoxBoxpoints_all               BoxBoxpoints = "all"
	BoxBoxpoints_outliers          BoxBoxpoints = "outliers"
	BoxBoxpoints_suspectedoutliers BoxBoxpoints = "suspectedoutliers"
	BoxBoxpoints_False             BoxBoxpoints = false
)

type BoxHoverinfo

type BoxHoverinfo string
const (
	// Flags
	BoxHoverinfoX    BoxHoverinfo = "x"
	BoxHoverinfoY    BoxHoverinfo = "y"
	BoxHoverinfoZ    BoxHoverinfo = "z"
	BoxHoverinfoText BoxHoverinfo = "text"
	BoxHoverinfoName BoxHoverinfo = "name"
	// Extras
	BoxHoverinfoAll  BoxHoverinfo = "all"
	BoxHoverinfoNone BoxHoverinfo = "none"
	BoxHoverinfoSkip BoxHoverinfo = "skip"
)

type BoxHoverlabel

type BoxHoverlabel struct {

	// Align 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 string Sets the source reference on Chart Studio Cloud for  align .
	Alignsrc String `json:"alignsrc,omitempty"`

	// Bgcolor color Sets the background color of the hover labels for this trace
	Bgcolor interface{} `json:"bgcolor,omitempty"`

	// Bgcolorsrc string Sets the source reference on Chart Studio Cloud for  bgcolor .
	Bgcolorsrc String `json:"bgcolorsrc,omitempty"`

	// Bordercolor color Sets the border color of the hover labels for this trace.
	Bordercolor interface{} `json:"bordercolor,omitempty"`

	// Bordercolorsrc string Sets the source reference on Chart Studio Cloud for  bordercolor .
	Bordercolorsrc String `json:"bordercolorsrc,omitempty"`

	// Font <no value> Sets the font used in hover labels.
	Font *BoxHoverlabelFont `json:"font,omitempty"`

	// Namelength 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 interface{} `json:"namelength,omitempty"`

	// Namelengthsrc string Sets the source reference on Chart Studio Cloud for  namelength .
	Namelengthsrc String `json:"namelengthsrc,omitempty"`
}

type BoxHoverlabelAlign

type BoxHoverlabelAlign string

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

const (
	BoxHoverlabelAlign_left  BoxHoverlabelAlign = "left"
	BoxHoverlabelAlign_right BoxHoverlabelAlign = "right"
	BoxHoverlabelAlign_auto  BoxHoverlabelAlign = "auto"
)

type BoxHoverlabelFont

type BoxHoverlabelFont struct {

	// Color color <no value>
	Color interface{} `json:"color,omitempty"`

	// Colorsrc string Sets the source reference on Chart Studio Cloud for  color .
	Colorsrc String `json:"colorsrc,omitempty"`

	// Family string HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.
	Family interface{} `json:"family,omitempty"`

	// Familysrc string Sets the source reference on Chart Studio Cloud for  family .
	Familysrc String `json:"familysrc,omitempty"`

	// Size number <no value>
	Size interface{} `json:"size,omitempty"`

	// Sizesrc string Sets the source reference on Chart Studio Cloud for  size .
	Sizesrc String `json:"sizesrc,omitempty"`
}

type BoxHoveron

type BoxHoveron string
const (
	// Flags
	BoxHoveronBoxes  BoxHoveron = "boxes"
	BoxHoveronPoints BoxHoveron = "points"
)

type BoxLine

type BoxLine struct {

	// Color color Sets the color of line bounding the box(es).
	Color String `json:"color,omitempty"`

	// Width number Sets the width (in px) of line bounding the box(es).
	Width float64 `json:"width,omitempty"`
}

type BoxMarker

type BoxMarker struct {

	// Color 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.
	Color String `json:"color,omitempty"`

	// Line <no value> <no value>
	Line *BoxMarkerLine `json:"line,omitempty"`

	// Opacity number Sets the marker opacity.
	Opacity float64 `json:"opacity,omitempty"`

	// Outliercolor color Sets the color of the outlier sample points.
	Outliercolor String `json:"outliercolor,omitempty"`

	// Size number Sets the marker size (in px).
	Size float64 `json:"size,omitempty"`

	// Symbol 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"`
}

type BoxMarkerLine

type BoxMarkerLine struct {

	// Color 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.
	Color String `json:"color,omitempty"`

	// Outliercolor color Sets the border line color of the outlier sample points. Defaults to marker.color
	Outliercolor String `json:"outliercolor,omitempty"`

	// Outlierwidth number Sets the border line width (in px) of the outlier sample points.
	Outlierwidth float64 `json:"outlierwidth,omitempty"`

	// Width number Sets the width (in px) of the lines bounding the marker points.
	Width float64 `json:"width,omitempty"`
}

type BoxMarkerSymbol

type BoxMarkerSymbol string

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.

const (
	BoxMarkerSymbol0                            BoxMarkerSymbol = "0"
	BoxMarkerSymbol_0                           BoxMarkerSymbol = "0"
	BoxMarkerSymbol_circle                      BoxMarkerSymbol = "circle"
	BoxMarkerSymbol100                          BoxMarkerSymbol = "100"
	BoxMarkerSymbol_100                         BoxMarkerSymbol = "100"
	BoxMarkerSymbol_circle_open                 BoxMarkerSymbol = "circle-open"
	BoxMarkerSymbol200                          BoxMarkerSymbol = "200"
	BoxMarkerSymbol_200                         BoxMarkerSymbol = "200"
	BoxMarkerSymbol_circle_dot                  BoxMarkerSymbol = "circle-dot"
	BoxMarkerSymbol300                          BoxMarkerSymbol = "300"
	BoxMarkerSymbol_300                         BoxMarkerSymbol = "300"
	BoxMarkerSymbol_circle_open_dot             BoxMarkerSymbol = "circle-open-dot"
	BoxMarkerSymbol1                            BoxMarkerSymbol = "1"
	BoxMarkerSymbol_1                           BoxMarkerSymbol = "1"
	BoxMarkerSymbol_square                      BoxMarkerSymbol = "square"
	BoxMarkerSymbol101                          BoxMarkerSymbol = "101"
	BoxMarkerSymbol_101                         BoxMarkerSymbol = "101"
	BoxMarkerSymbol_square_open                 BoxMarkerSymbol = "square-open"
	BoxMarkerSymbol201                          BoxMarkerSymbol = "201"
	BoxMarkerSymbol_201                         BoxMarkerSymbol = "201"
	BoxMarkerSymbol_square_dot                  BoxMarkerSymbol = "square-dot"
	BoxMarkerSymbol301                          BoxMarkerSymbol = "301"
	BoxMarkerSymbol_301                         BoxMarkerSymbol = "301"
	BoxMarkerSymbol_square_open_dot             BoxMarkerSymbol = "square-open-dot"
	BoxMarkerSymbol2                            BoxMarkerSymbol = "2"
	BoxMarkerSymbol_2                           BoxMarkerSymbol = "2"
	BoxMarkerSymbol_diamond                     BoxMarkerSymbol = "diamond"
	BoxMarkerSymbol102                          BoxMarkerSymbol = "102"
	BoxMarkerSymbol_102                         BoxMarkerSymbol = "102"
	BoxMarkerSymbol_diamond_open                BoxMarkerSymbol = "diamond-open"
	BoxMarkerSymbol202                          BoxMarkerSymbol = "202"
	BoxMarkerSymbol_202                         BoxMarkerSymbol = "202"
	BoxMarkerSymbol_diamond_dot                 BoxMarkerSymbol = "diamond-dot"
	BoxMarkerSymbol302                          BoxMarkerSymbol = "302"
	BoxMarkerSymbol_302                         BoxMarkerSymbol = "302"
	BoxMarkerSymbol_diamond_open_dot            BoxMarkerSymbol = "diamond-open-dot"
	BoxMarkerSymbol3                            BoxMarkerSymbol = "3"
	BoxMarkerSymbol_3                           BoxMarkerSymbol = "3"
	BoxMarkerSymbol_cross                       BoxMarkerSymbol = "cross"
	BoxMarkerSymbol103                          BoxMarkerSymbol = "103"
	BoxMarkerSymbol_103                         BoxMarkerSymbol = "103"
	BoxMarkerSymbol_cross_open                  BoxMarkerSymbol = "cross-open"
	BoxMarkerSymbol203                          BoxMarkerSymbol = "203"
	BoxMarkerSymbol_203                         BoxMarkerSymbol = "203"
	BoxMarkerSymbol_cross_dot                   BoxMarkerSymbol = "cross-dot"
	BoxMarkerSymbol303                          BoxMarkerSymbol = "303"
	BoxMarkerSymbol_303                         BoxMarkerSymbol = "303"
	BoxMarkerSymbol_cross_open_dot              BoxMarkerSymbol = "cross-open-dot"
	BoxMarkerSymbol4                            BoxMarkerSymbol = "4"
	BoxMarkerSymbol_4                           BoxMarkerSymbol = "4"
	BoxMarkerSymbol_x                           BoxMarkerSymbol = "x"
	BoxMarkerSymbol104                          BoxMarkerSymbol = "104"
	BoxMarkerSymbol_104                         BoxMarkerSymbol = "104"
	BoxMarkerSymbol_x_open                      BoxMarkerSymbol = "x-open"
	BoxMarkerSymbol204                          BoxMarkerSymbol = "204"
	BoxMarkerSymbol_204                         BoxMarkerSymbol = "204"
	BoxMarkerSymbol_x_dot                       BoxMarkerSymbol = "x-dot"
	BoxMarkerSymbol304                          BoxMarkerSymbol = "304"
	BoxMarkerSymbol_304                         BoxMarkerSymbol = "304"
	BoxMarkerSymbol_x_open_dot                  BoxMarkerSymbol = "x-open-dot"
	BoxMarkerSymbol5                            BoxMarkerSymbol = "5"
	BoxMarkerSymbol_5                           BoxMarkerSymbol = "5"
	BoxMarkerSymbol_triangle_up                 BoxMarkerSymbol = "triangle-up"
	BoxMarkerSymbol105                          BoxMarkerSymbol = "105"
	BoxMarkerSymbol_105                         BoxMarkerSymbol = "105"
	BoxMarkerSymbol_triangle_up_open            BoxMarkerSymbol = "triangle-up-open"
	BoxMarkerSymbol205                          BoxMarkerSymbol = "205"
	BoxMarkerSymbol_205                         BoxMarkerSymbol = "205"
	BoxMarkerSymbol_triangle_up_dot             BoxMarkerSymbol = "triangle-up-dot"
	BoxMarkerSymbol305                          BoxMarkerSymbol = "305"
	BoxMarkerSymbol_305                         BoxMarkerSymbol = "305"
	BoxMarkerSymbol_triangle_up_open_dot        BoxMarkerSymbol = "triangle-up-open-dot"
	BoxMarkerSymbol6                            BoxMarkerSymbol = "6"
	BoxMarkerSymbol_6                           BoxMarkerSymbol = "6"
	BoxMarkerSymbol_triangle_down               BoxMarkerSymbol = "triangle-down"
	BoxMarkerSymbol106                          BoxMarkerSymbol = "106"
	BoxMarkerSymbol_106                         BoxMarkerSymbol = "106"
	BoxMarkerSymbol_triangle_down_open          BoxMarkerSymbol = "triangle-down-open"
	BoxMarkerSymbol206                          BoxMarkerSymbol = "206"
	BoxMarkerSymbol_206                         BoxMarkerSymbol = "206"
	BoxMarkerSymbol_triangle_down_dot           BoxMarkerSymbol = "triangle-down-dot"
	BoxMarkerSymbol306                          BoxMarkerSymbol = "306"
	BoxMarkerSymbol_306                         BoxMarkerSymbol = "306"
	BoxMarkerSymbol_triangle_down_open_dot      BoxMarkerSymbol = "triangle-down-open-dot"
	BoxMarkerSymbol7                            BoxMarkerSymbol = "7"
	BoxMarkerSymbol_7                           BoxMarkerSymbol = "7"
	BoxMarkerSymbol_triangle_left               BoxMarkerSymbol = "triangle-left"
	BoxMarkerSymbol107                          BoxMarkerSymbol = "107"
	BoxMarkerSymbol_107                         BoxMarkerSymbol = "107"
	BoxMarkerSymbol_triangle_left_open          BoxMarkerSymbol = "triangle-left-open"
	BoxMarkerSymbol207                          BoxMarkerSymbol = "207"
	BoxMarkerSymbol_207                         BoxMarkerSymbol = "207"
	BoxMarkerSymbol_triangle_left_dot           BoxMarkerSymbol = "triangle-left-dot"
	BoxMarkerSymbol307                          BoxMarkerSymbol = "307"
	BoxMarkerSymbol_307                         BoxMarkerSymbol = "307"
	BoxMarkerSymbol_triangle_left_open_dot      BoxMarkerSymbol = "triangle-left-open-dot"
	BoxMarkerSymbol8                            BoxMarkerSymbol = "8"
	BoxMarkerSymbol_8                           BoxMarkerSymbol = "8"
	BoxMarkerSymbol_triangle_right              BoxMarkerSymbol = "triangle-right"
	BoxMarkerSymbol108                          BoxMarkerSymbol = "108"
	BoxMarkerSymbol_108                         BoxMarkerSymbol = "108"
	BoxMarkerSymbol_triangle_right_open         BoxMarkerSymbol = "triangle-right-open"
	BoxMarkerSymbol208                          BoxMarkerSymbol = "208"
	BoxMarkerSymbol_208                         BoxMarkerSymbol = "208"
	BoxMarkerSymbol_triangle_right_dot          BoxMarkerSymbol = "triangle-right-dot"
	BoxMarkerSymbol308                          BoxMarkerSymbol = "308"
	BoxMarkerSymbol_308                         BoxMarkerSymbol = "308"
	BoxMarkerSymbol_triangle_right_open_dot     BoxMarkerSymbol = "triangle-right-open-dot"
	BoxMarkerSymbol9                            BoxMarkerSymbol = "9"
	BoxMarkerSymbol_9                           BoxMarkerSymbol = "9"
	BoxMarkerSymbol_triangle_ne                 BoxMarkerSymbol = "triangle-ne"
	BoxMarkerSymbol109                          BoxMarkerSymbol = "109"
	BoxMarkerSymbol_109                         BoxMarkerSymbol = "109"
	BoxMarkerSymbol_triangle_ne_open            BoxMarkerSymbol = "triangle-ne-open"
	BoxMarkerSymbol209                          BoxMarkerSymbol = "209"
	BoxMarkerSymbol_209                         BoxMarkerSymbol = "209"
	BoxMarkerSymbol_triangle_ne_dot             BoxMarkerSymbol = "triangle-ne-dot"
	BoxMarkerSymbol309                          BoxMarkerSymbol = "309"
	BoxMarkerSymbol_309                         BoxMarkerSymbol = "309"
	BoxMarkerSymbol_triangle_ne_open_dot        BoxMarkerSymbol = "triangle-ne-open-dot"
	BoxMarkerSymbol10                           BoxMarkerSymbol = "10"
	BoxMarkerSymbol_10                          BoxMarkerSymbol = "10"
	BoxMarkerSymbol_triangle_se                 BoxMarkerSymbol = "triangle-se"
	BoxMarkerSymbol110                          BoxMarkerSymbol = "110"
	BoxMarkerSymbol_110                         BoxMarkerSymbol = "110"
	BoxMarkerSymbol_triangle_se_open            BoxMarkerSymbol = "triangle-se-open"
	BoxMarkerSymbol210                          BoxMarkerSymbol = "210"
	BoxMarkerSymbol_210                         BoxMarkerSymbol = "210"
	BoxMarkerSymbol_triangle_se_dot             BoxMarkerSymbol = "triangle-se-dot"
	BoxMarkerSymbol310                          BoxMarkerSymbol = "310"
	BoxMarkerSymbol_310                         BoxMarkerSymbol = "310"
	BoxMarkerSymbol_triangle_se_open_dot        BoxMarkerSymbol = "triangle-se-open-dot"
	BoxMarkerSymbol11                           BoxMarkerSymbol = "11"
	BoxMarkerSymbol_11                          BoxMarkerSymbol = "11"
	BoxMarkerSymbol_triangle_sw                 BoxMarkerSymbol = "triangle-sw"
	BoxMarkerSymbol111                          BoxMarkerSymbol = "111"
	BoxMarkerSymbol_111                         BoxMarkerSymbol = "111"
	BoxMarkerSymbol_triangle_sw_open            BoxMarkerSymbol = "triangle-sw-open"
	BoxMarkerSymbol211                          BoxMarkerSymbol = "211"
	BoxMarkerSymbol_211                         BoxMarkerSymbol = "211"
	BoxMarkerSymbol_triangle_sw_dot             BoxMarkerSymbol = "triangle-sw-dot"
	BoxMarkerSymbol311                          BoxMarkerSymbol = "311"
	BoxMarkerSymbol_311                         BoxMarkerSymbol = "311"
	BoxMarkerSymbol_triangle_sw_open_dot        BoxMarkerSymbol = "triangle-sw-open-dot"
	BoxMarkerSymbol12                           BoxMarkerSymbol = "12"
	BoxMarkerSymbol_12                          BoxMarkerSymbol = "12"
	BoxMarkerSymbol_triangle_nw                 BoxMarkerSymbol = "triangle-nw"
	BoxMarkerSymbol112                          BoxMarkerSymbol = "112"
	BoxMarkerSymbol_112                         BoxMarkerSymbol = "112"
	BoxMarkerSymbol_triangle_nw_open            BoxMarkerSymbol = "triangle-nw-open"
	BoxMarkerSymbol212                          BoxMarkerSymbol = "212"
	BoxMarkerSymbol_212                         BoxMarkerSymbol = "212"
	BoxMarkerSymbol_triangle_nw_dot             BoxMarkerSymbol = "triangle-nw-dot"
	BoxMarkerSymbol312                          BoxMarkerSymbol = "312"
	BoxMarkerSymbol_312                         BoxMarkerSymbol = "312"
	BoxMarkerSymbol_triangle_nw_open_dot        BoxMarkerSymbol = "triangle-nw-open-dot"
	BoxMarkerSymbol13                           BoxMarkerSymbol = "13"
	BoxMarkerSymbol_13                          BoxMarkerSymbol = "13"
	BoxMarkerSymbol_pentagon                    BoxMarkerSymbol = "pentagon"
	BoxMarkerSymbol113                          BoxMarkerSymbol = "113"
	BoxMarkerSymbol_113                         BoxMarkerSymbol = "113"
	BoxMarkerSymbol_pentagon_open               BoxMarkerSymbol = "pentagon-open"
	BoxMarkerSymbol213                          BoxMarkerSymbol = "213"
	BoxMarkerSymbol_213                         BoxMarkerSymbol = "213"
	BoxMarkerSymbol_pentagon_dot                BoxMarkerSymbol = "pentagon-dot"
	BoxMarkerSymbol313                          BoxMarkerSymbol = "313"
	BoxMarkerSymbol_313                         BoxMarkerSymbol = "313"
	BoxMarkerSymbol_pentagon_open_dot           BoxMarkerSymbol = "pentagon-open-dot"
	BoxMarkerSymbol14                           BoxMarkerSymbol = "14"
	BoxMarkerSymbol_14                          BoxMarkerSymbol = "14"
	BoxMarkerSymbol_hexagon                     BoxMarkerSymbol = "hexagon"
	BoxMarkerSymbol114                          BoxMarkerSymbol = "114"
	BoxMarkerSymbol_114                         BoxMarkerSymbol = "114"
	BoxMarkerSymbol_hexagon_open                BoxMarkerSymbol = "hexagon-open"
	BoxMarkerSymbol214                          BoxMarkerSymbol = "214"
	BoxMarkerSymbol_214                         BoxMarkerSymbol = "214"
	BoxMarkerSymbol_hexagon_dot                 BoxMarkerSymbol = "hexagon-dot"
	BoxMarkerSymbol314                          BoxMarkerSymbol = "314"
	BoxMarkerSymbol_314                         BoxMarkerSymbol = "314"
	BoxMarkerSymbol_hexagon_open_dot            BoxMarkerSymbol = "hexagon-open-dot"
	BoxMarkerSymbol15                           BoxMarkerSymbol = "15"
	BoxMarkerSymbol_15                          BoxMarkerSymbol = "15"
	BoxMarkerSymbol_hexagon2                    BoxMarkerSymbol = "hexagon2"
	BoxMarkerSymbol115                          BoxMarkerSymbol = "115"
	BoxMarkerSymbol_115                         BoxMarkerSymbol = "115"
	BoxMarkerSymbol_hexagon2_open               BoxMarkerSymbol = "hexagon2-open"
	BoxMarkerSymbol215                          BoxMarkerSymbol = "215"
	BoxMarkerSymbol_215                         BoxMarkerSymbol = "215"
	BoxMarkerSymbol_hexagon2_dot                BoxMarkerSymbol = "hexagon2-dot"
	BoxMarkerSymbol315                          BoxMarkerSymbol = "315"
	BoxMarkerSymbol_315                         BoxMarkerSymbol = "315"
	BoxMarkerSymbol_hexagon2_open_dot           BoxMarkerSymbol = "hexagon2-open-dot"
	BoxMarkerSymbol16                           BoxMarkerSymbol = "16"
	BoxMarkerSymbol_16                          BoxMarkerSymbol = "16"
	BoxMarkerSymbol_octagon                     BoxMarkerSymbol = "octagon"
	BoxMarkerSymbol116                          BoxMarkerSymbol = "116"
	BoxMarkerSymbol_116                         BoxMarkerSymbol = "116"
	BoxMarkerSymbol_octagon_open                BoxMarkerSymbol = "octagon-open"
	BoxMarkerSymbol216                          BoxMarkerSymbol = "216"
	BoxMarkerSymbol_216                         BoxMarkerSymbol = "216"
	BoxMarkerSymbol_octagon_dot                 BoxMarkerSymbol = "octagon-dot"
	BoxMarkerSymbol316                          BoxMarkerSymbol = "316"
	BoxMarkerSymbol_316                         BoxMarkerSymbol = "316"
	BoxMarkerSymbol_octagon_open_dot            BoxMarkerSymbol = "octagon-open-dot"
	BoxMarkerSymbol17                           BoxMarkerSymbol = "17"
	BoxMarkerSymbol_17                          BoxMarkerSymbol = "17"
	BoxMarkerSymbol_star                        BoxMarkerSymbol = "star"
	BoxMarkerSymbol117                          BoxMarkerSymbol = "117"
	BoxMarkerSymbol_117                         BoxMarkerSymbol = "117"
	BoxMarkerSymbol_star_open                   BoxMarkerSymbol = "star-open"
	BoxMarkerSymbol217                          BoxMarkerSymbol = "217"
	BoxMarkerSymbol_217                         BoxMarkerSymbol = "217"
	BoxMarkerSymbol_star_dot                    BoxMarkerSymbol = "star-dot"
	BoxMarkerSymbol317                          BoxMarkerSymbol = "317"
	BoxMarkerSymbol_317                         BoxMarkerSymbol = "317"
	BoxMarkerSymbol_star_open_dot               BoxMarkerSymbol = "star-open-dot"
	BoxMarkerSymbol18                           BoxMarkerSymbol = "18"
	BoxMarkerSymbol_18                          BoxMarkerSymbol = "18"
	BoxMarkerSymbol_hexagram                    BoxMarkerSymbol = "hexagram"
	BoxMarkerSymbol118                          BoxMarkerSymbol = "118"
	BoxMarkerSymbol_118                         BoxMarkerSymbol = "118"
	BoxMarkerSymbol_hexagram_open               BoxMarkerSymbol = "hexagram-open"
	BoxMarkerSymbol218                          BoxMarkerSymbol = "218"
	BoxMarkerSymbol_218                         BoxMarkerSymbol = "218"
	BoxMarkerSymbol_hexagram_dot                BoxMarkerSymbol = "hexagram-dot"
	BoxMarkerSymbol318                          BoxMarkerSymbol = "318"
	BoxMarkerSymbol_318                         BoxMarkerSymbol = "318"
	BoxMarkerSymbol_hexagram_open_dot           BoxMarkerSymbol = "hexagram-open-dot"
	BoxMarkerSymbol19                           BoxMarkerSymbol = "19"
	BoxMarkerSymbol_19                          BoxMarkerSymbol = "19"
	BoxMarkerSymbol_star_triangle_up            BoxMarkerSymbol = "star-triangle-up"
	BoxMarkerSymbol119                          BoxMarkerSymbol = "119"
	BoxMarkerSymbol_119                         BoxMarkerSymbol = "119"
	BoxMarkerSymbol_star_triangle_up_open       BoxMarkerSymbol = "star-triangle-up-open"
	BoxMarkerSymbol219                          BoxMarkerSymbol = "219"
	BoxMarkerSymbol_219                         BoxMarkerSymbol = "219"
	BoxMarkerSymbol_star_triangle_up_dot        BoxMarkerSymbol = "star-triangle-up-dot"
	BoxMarkerSymbol319                          BoxMarkerSymbol = "319"
	BoxMarkerSymbol_319                         BoxMarkerSymbol = "319"
	BoxMarkerSymbol_star_triangle_up_open_dot   BoxMarkerSymbol = "star-triangle-up-open-dot"
	BoxMarkerSymbol20                           BoxMarkerSymbol = "20"
	BoxMarkerSymbol_20                          BoxMarkerSymbol = "20"
	BoxMarkerSymbol_star_triangle_down          BoxMarkerSymbol = "star-triangle-down"
	BoxMarkerSymbol120                          BoxMarkerSymbol = "120"
	BoxMarkerSymbol_120                         BoxMarkerSymbol = "120"
	BoxMarkerSymbol_star_triangle_down_open     BoxMarkerSymbol = "star-triangle-down-open"
	BoxMarkerSymbol220                          BoxMarkerSymbol = "220"
	BoxMarkerSymbol_220                         BoxMarkerSymbol = "220"
	BoxMarkerSymbol_star_triangle_down_dot      BoxMarkerSymbol = "star-triangle-down-dot"
	BoxMarkerSymbol320                          BoxMarkerSymbol = "320"
	BoxMarkerSymbol_320                         BoxMarkerSymbol = "320"
	BoxMarkerSymbol_star_triangle_down_open_dot BoxMarkerSymbol = "star-triangle-down-open-dot"
	BoxMarkerSymbol21                           BoxMarkerSymbol = "21"
	BoxMarkerSymbol_21                          BoxMarkerSymbol = "21"
	BoxMarkerSymbol_star_square                 BoxMarkerSymbol = "star-square"
	BoxMarkerSymbol121                          BoxMarkerSymbol = "121"
	BoxMarkerSymbol_121                         BoxMarkerSymbol = "121"
	BoxMarkerSymbol_star_square_open            BoxMarkerSymbol = "star-square-open"
	BoxMarkerSymbol221                          BoxMarkerSymbol = "221"
	BoxMarkerSymbol_221                         BoxMarkerSymbol = "221"
	BoxMarkerSymbol_star_square_dot             BoxMarkerSymbol = "star-square-dot"
	BoxMarkerSymbol321                          BoxMarkerSymbol = "321"
	BoxMarkerSymbol_321                         BoxMarkerSymbol = "321"
	BoxMarkerSymbol_star_square_open_dot        BoxMarkerSymbol = "star-square-open-dot"
	BoxMarkerSymbol22                           BoxMarkerSymbol = "22"
	BoxMarkerSymbol_22                          BoxMarkerSymbol = "22"
	BoxMarkerSymbol_star_diamond                BoxMarkerSymbol = "star-diamond"
	BoxMarkerSymbol122                          BoxMarkerSymbol = "122"
	BoxMarkerSymbol_122                         BoxMarkerSymbol = "122"
	BoxMarkerSymbol_star_diamond_open           BoxMarkerSymbol = "star-diamond-open"
	BoxMarkerSymbol222                          BoxMarkerSymbol = "222"
	BoxMarkerSymbol_222                         BoxMarkerSymbol = "222"
	BoxMarkerSymbol_star_diamond_dot            BoxMarkerSymbol = "star-diamond-dot"
	BoxMarkerSymbol322                          BoxMarkerSymbol = "322"
	BoxMarkerSymbol_322                         BoxMarkerSymbol = "322"
	BoxMarkerSymbol_star_diamond_open_dot       BoxMarkerSymbol = "star-diamond-open-dot"
	BoxMarkerSymbol23                           BoxMarkerSymbol = "23"
	BoxMarkerSymbol_23                          BoxMarkerSymbol = "23"
	BoxMarkerSymbol_diamond_tall                BoxMarkerSymbol = "diamond-tall"
	BoxMarkerSymbol123                          BoxMarkerSymbol = "123"
	BoxMarkerSymbol_123                         BoxMarkerSymbol = "123"
	BoxMarkerSymbol_diamond_tall_open           BoxMarkerSymbol = "diamond-tall-open"
	BoxMarkerSymbol223                          BoxMarkerSymbol = "223"
	BoxMarkerSymbol_223                         BoxMarkerSymbol = "223"
	BoxMarkerSymbol_diamond_tall_dot            BoxMarkerSymbol = "diamond-tall-dot"
	BoxMarkerSymbol323                          BoxMarkerSymbol = "323"
	BoxMarkerSymbol_323                         BoxMarkerSymbol = "323"
	BoxMarkerSymbol_diamond_tall_open_dot       BoxMarkerSymbol = "diamond-tall-open-dot"
	BoxMarkerSymbol24                           BoxMarkerSymbol = "24"
	BoxMarkerSymbol_24                          BoxMarkerSymbol = "24"
	BoxMarkerSymbol_diamond_wide                BoxMarkerSymbol = "diamond-wide"
	BoxMarkerSymbol124                          BoxMarkerSymbol = "124"
	BoxMarkerSymbol_124                         BoxMarkerSymbol = "124"
	BoxMarkerSymbol_diamond_wide_open           BoxMarkerSymbol = "diamond-wide-open"
	BoxMarkerSymbol224                          BoxMarkerSymbol = "224"
	BoxMarkerSymbol_224                         BoxMarkerSymbol = "224"
	BoxMarkerSymbol_diamond_wide_dot            BoxMarkerSymbol = "diamond-wide-dot"
	BoxMarkerSymbol324                          BoxMarkerSymbol = "324"
	BoxMarkerSymbol_324                         BoxMarkerSymbol = "324"
	BoxMarkerSymbol_diamond_wide_open_dot       BoxMarkerSymbol = "diamond-wide-open-dot"
	BoxMarkerSymbol25                           BoxMarkerSymbol = "25"
	BoxMarkerSymbol_25                          BoxMarkerSymbol = "25"
	BoxMarkerSymbol_hourglass                   BoxMarkerSymbol = "hourglass"
	BoxMarkerSymbol125                          BoxMarkerSymbol = "125"
	BoxMarkerSymbol_125                         BoxMarkerSymbol = "125"
	BoxMarkerSymbol_hourglass_open              BoxMarkerSymbol = "hourglass-open"
	BoxMarkerSymbol26                           BoxMarkerSymbol = "26"
	BoxMarkerSymbol_26                          BoxMarkerSymbol = "26"
	BoxMarkerSymbol_bowtie                      BoxMarkerSymbol = "bowtie"
	BoxMarkerSymbol126                          BoxMarkerSymbol = "126"
	BoxMarkerSymbol_126                         BoxMarkerSymbol = "126"
	BoxMarkerSymbol_bowtie_open                 BoxMarkerSymbol = "bowtie-open"
	BoxMarkerSymbol27                           BoxMarkerSymbol = "27"
	BoxMarkerSymbol_27                          BoxMarkerSymbol = "27"
	BoxMarkerSymbol_circle_cross                BoxMarkerSymbol = "circle-cross"
	BoxMarkerSymbol127                          BoxMarkerSymbol = "127"
	BoxMarkerSymbol_127                         BoxMarkerSymbol = "127"
	BoxMarkerSymbol_circle_cross_open           BoxMarkerSymbol = "circle-cross-open"
	BoxMarkerSymbol28                           BoxMarkerSymbol = "28"
	BoxMarkerSymbol_28                          BoxMarkerSymbol = "28"
	BoxMarkerSymbol_circle_x                    BoxMarkerSymbol = "circle-x"
	BoxMarkerSymbol128                          BoxMarkerSymbol = "128"
	BoxMarkerSymbol_128                         BoxMarkerSymbol = "128"
	BoxMarkerSymbol_circle_x_open               BoxMarkerSymbol = "circle-x-open"
	BoxMarkerSymbol29                           BoxMarkerSymbol = "29"
	BoxMarkerSymbol_29                          BoxMarkerSymbol = "29"
	BoxMarkerSymbol_square_cross                BoxMarkerSymbol = "square-cross"
	BoxMarkerSymbol129                          BoxMarkerSymbol = "129"
	BoxMarkerSymbol_129                         BoxMarkerSymbol = "129"
	BoxMarkerSymbol_square_cross_open           BoxMarkerSymbol = "square-cross-open"
	BoxMarkerSymbol30                           BoxMarkerSymbol = "30"
	BoxMarkerSymbol_30                          BoxMarkerSymbol = "30"
	BoxMarkerSymbol_square_x                    BoxMarkerSymbol = "square-x"
	BoxMarkerSymbol130                          BoxMarkerSymbol = "130"
	BoxMarkerSymbol_130                         BoxMarkerSymbol = "130"
	BoxMarkerSymbol_square_x_open               BoxMarkerSymbol = "square-x-open"
	BoxMarkerSymbol31                           BoxMarkerSymbol = "31"
	BoxMarkerSymbol_31                          BoxMarkerSymbol = "31"
	BoxMarkerSymbol_diamond_cross               BoxMarkerSymbol = "diamond-cross"
	BoxMarkerSymbol131                          BoxMarkerSymbol = "131"
	BoxMarkerSymbol_131                         BoxMarkerSymbol = "131"
	BoxMarkerSymbol_diamond_cross_open          BoxMarkerSymbol = "diamond-cross-open"
	BoxMarkerSymbol32                           BoxMarkerSymbol = "32"
	BoxMarkerSymbol_32                          BoxMarkerSymbol = "32"
	BoxMarkerSymbol_diamond_x                   BoxMarkerSymbol = "diamond-x"
	BoxMarkerSymbol132                          BoxMarkerSymbol = "132"
	BoxMarkerSymbol_132                         BoxMarkerSymbol = "132"
	BoxMarkerSymbol_diamond_x_open              BoxMarkerSymbol = "diamond-x-open"
	BoxMarkerSymbol33                           BoxMarkerSymbol = "33"
	BoxMarkerSymbol_33                          BoxMarkerSymbol = "33"
	BoxMarkerSymbol_cross_thin                  BoxMarkerSymbol = "cross-thin"
	BoxMarkerSymbol133                          BoxMarkerSymbol = "133"
	BoxMarkerSymbol_133                         BoxMarkerSymbol = "133"
	BoxMarkerSymbol_cross_thin_open             BoxMarkerSymbol = "cross-thin-open"
	BoxMarkerSymbol34                           BoxMarkerSymbol = "34"
	BoxMarkerSymbol_34                          BoxMarkerSymbol = "34"
	BoxMarkerSymbol_x_thin                      BoxMarkerSymbol = "x-thin"
	BoxMarkerSymbol134                          BoxMarkerSymbol = "134"
	BoxMarkerSymbol_134                         BoxMarkerSymbol = "134"
	BoxMarkerSymbol_x_thin_open                 BoxMarkerSymbol = "x-thin-open"
	BoxMarkerSymbol35                           BoxMarkerSymbol = "35"
	BoxMarkerSymbol_35                          BoxMarkerSymbol = "35"
	BoxMarkerSymbol_asterisk                    BoxMarkerSymbol = "asterisk"
	BoxMarkerSymbol135                          BoxMarkerSymbol = "135"
	BoxMarkerSymbol_135                         BoxMarkerSymbol = "135"
	BoxMarkerSymbol_asterisk_open               BoxMarkerSymbol = "asterisk-open"
	BoxMarkerSymbol36                           BoxMarkerSymbol = "36"
	BoxMarkerSymbol_36                          BoxMarkerSymbol = "36"
	BoxMarkerSymbol_hash                        BoxMarkerSymbol = "hash"
	BoxMarkerSymbol136                          BoxMarkerSymbol = "136"
	BoxMarkerSymbol_136                         BoxMarkerSymbol = "136"
	BoxMarkerSymbol_hash_open                   BoxMarkerSymbol = "hash-open"
	BoxMarkerSymbol236                          BoxMarkerSymbol = "236"
	BoxMarkerSymbol_236                         BoxMarkerSymbol = "236"
	BoxMarkerSymbol_hash_dot                    BoxMarkerSymbol = "hash-dot"
	BoxMarkerSymbol336                          BoxMarkerSymbol = "336"
	BoxMarkerSymbol_336                         BoxMarkerSymbol = "336"
	BoxMarkerSymbol_hash_open_dot               BoxMarkerSymbol = "hash-open-dot"
	BoxMarkerSymbol37                           BoxMarkerSymbol = "37"
	BoxMarkerSymbol_37                          BoxMarkerSymbol = "37"
	BoxMarkerSymbol_y_up                        BoxMarkerSymbol = "y-up"
	BoxMarkerSymbol137                          BoxMarkerSymbol = "137"
	BoxMarkerSymbol_137                         BoxMarkerSymbol = "137"
	BoxMarkerSymbol_y_up_open                   BoxMarkerSymbol = "y-up-open"
	BoxMarkerSymbol38                           BoxMarkerSymbol = "38"
	BoxMarkerSymbol_38                          BoxMarkerSymbol = "38"
	BoxMarkerSymbol_y_down                      BoxMarkerSymbol = "y-down"
	BoxMarkerSymbol138                          BoxMarkerSymbol = "138"
	BoxMarkerSymbol_138                         BoxMarkerSymbol = "138"
	BoxMarkerSymbol_y_down_open                 BoxMarkerSymbol = "y-down-open"
	BoxMarkerSymbol39                           BoxMarkerSymbol = "39"
	BoxMarkerSymbol_39                          BoxMarkerSymbol = "39"
	BoxMarkerSymbol_y_left                      BoxMarkerSymbol = "y-left"
	BoxMarkerSymbol139                          BoxMarkerSymbol = "139"
	BoxMarkerSymbol_139                         BoxMarkerSymbol = "139"
	BoxMarkerSymbol_y_left_open                 BoxMarkerSymbol = "y-left-open"
	BoxMarkerSymbol40                           BoxMarkerSymbol = "40"
	BoxMarkerSymbol_40                          BoxMarkerSymbol = "40"
	BoxMarkerSymbol_y_right                     BoxMarkerSymbol = "y-right"
	BoxMarkerSymbol140                          BoxMarkerSymbol = "140"
	BoxMarkerSymbol_140                         BoxMarkerSymbol = "140"
	BoxMarkerSymbol_y_right_open                BoxMarkerSymbol = "y-right-open"
	BoxMarkerSymbol41                           BoxMarkerSymbol = "41"
	BoxMarkerSymbol_41                          BoxMarkerSymbol = "41"
	BoxMarkerSymbol_line_ew                     BoxMarkerSymbol = "line-ew"
	BoxMarkerSymbol141                          BoxMarkerSymbol = "141"
	BoxMarkerSymbol_141                         BoxMarkerSymbol = "141"
	BoxMarkerSymbol_line_ew_open                BoxMarkerSymbol = "line-ew-open"
	BoxMarkerSymbol42                           BoxMarkerSymbol = "42"
	BoxMarkerSymbol_42                          BoxMarkerSymbol = "42"
	BoxMarkerSymbol_line_ns                     BoxMarkerSymbol = "line-ns"
	BoxMarkerSymbol142                          BoxMarkerSymbol = "142"
	BoxMarkerSymbol_142                         BoxMarkerSymbol = "142"
	BoxMarkerSymbol_line_ns_open                BoxMarkerSymbol = "line-ns-open"
	BoxMarkerSymbol43                           BoxMarkerSymbol = "43"
	BoxMarkerSymbol_43                          BoxMarkerSymbol = "43"
	BoxMarkerSymbol_line_ne                     BoxMarkerSymbol = "line-ne"
	BoxMarkerSymbol143                          BoxMarkerSymbol = "143"
	BoxMarkerSymbol_143                         BoxMarkerSymbol = "143"
	BoxMarkerSymbol_line_ne_open                BoxMarkerSymbol = "line-ne-open"
	BoxMarkerSymbol44                           BoxMarkerSymbol = "44"
	BoxMarkerSymbol_44                          BoxMarkerSymbol = "44"
	BoxMarkerSymbol_line_nw                     BoxMarkerSymbol = "line-nw"
	BoxMarkerSymbol144                          BoxMarkerSymbol = "144"
	BoxMarkerSymbol_144                         BoxMarkerSymbol = "144"
	BoxMarkerSymbol_line_nw_open                BoxMarkerSymbol = "line-nw-open"
	BoxMarkerSymbol45                           BoxMarkerSymbol = "45"
	BoxMarkerSymbol_45                          BoxMarkerSymbol = "45"
	BoxMarkerSymbol_arrow_up                    BoxMarkerSymbol = "arrow-up"
	BoxMarkerSymbol145                          BoxMarkerSymbol = "145"
	BoxMarkerSymbol_145                         BoxMarkerSymbol = "145"
	BoxMarkerSymbol_arrow_up_open               BoxMarkerSymbol = "arrow-up-open"
	BoxMarkerSymbol46                           BoxMarkerSymbol = "46"
	BoxMarkerSymbol_46                          BoxMarkerSymbol = "46"
	BoxMarkerSymbol_arrow_down                  BoxMarkerSymbol = "arrow-down"
	BoxMarkerSymbol146                          BoxMarkerSymbol = "146"
	BoxMarkerSymbol_146                         BoxMarkerSymbol = "146"
	BoxMarkerSymbol_arrow_down_open             BoxMarkerSymbol = "arrow-down-open"
	BoxMarkerSymbol47                           BoxMarkerSymbol = "47"
	BoxMarkerSymbol_47                          BoxMarkerSymbol = "47"
	BoxMarkerSymbol_arrow_left                  BoxMarkerSymbol = "arrow-left"
	BoxMarkerSymbol147                          BoxMarkerSymbol = "147"
	BoxMarkerSymbol_147                         BoxMarkerSymbol = "147"
	BoxMarkerSymbol_arrow_left_open             BoxMarkerSymbol = "arrow-left-open"
	BoxMarkerSymbol48                           BoxMarkerSymbol = "48"
	BoxMarkerSymbol_48                          BoxMarkerSymbol = "48"
	BoxMarkerSymbol_arrow_right                 BoxMarkerSymbol = "arrow-right"
	BoxMarkerSymbol148                          BoxMarkerSymbol = "148"
	BoxMarkerSymbol_148                         BoxMarkerSymbol = "148"
	BoxMarkerSymbol_arrow_right_open            BoxMarkerSymbol = "arrow-right-open"
	BoxMarkerSymbol49                           BoxMarkerSymbol = "49"
	BoxMarkerSymbol_49                          BoxMarkerSymbol = "49"
	BoxMarkerSymbol_arrow_bar_up                BoxMarkerSymbol = "arrow-bar-up"
	BoxMarkerSymbol149                          BoxMarkerSymbol = "149"
	BoxMarkerSymbol_149                         BoxMarkerSymbol = "149"
	BoxMarkerSymbol_arrow_bar_up_open           BoxMarkerSymbol = "arrow-bar-up-open"
	BoxMarkerSymbol50                           BoxMarkerSymbol = "50"
	BoxMarkerSymbol_50                          BoxMarkerSymbol = "50"
	BoxMarkerSymbol_arrow_bar_down              BoxMarkerSymbol = "arrow-bar-down"
	BoxMarkerSymbol150                          BoxMarkerSymbol = "150"
	BoxMarkerSymbol_150                         BoxMarkerSymbol = "150"
	BoxMarkerSymbol_arrow_bar_down_open         BoxMarkerSymbol = "arrow-bar-down-open"
	BoxMarkerSymbol51                           BoxMarkerSymbol = "51"
	BoxMarkerSymbol_51                          BoxMarkerSymbol = "51"
	BoxMarkerSymbol_arrow_bar_left              BoxMarkerSymbol = "arrow-bar-left"
	BoxMarkerSymbol151                          BoxMarkerSymbol = "151"
	BoxMarkerSymbol_151                         BoxMarkerSymbol = "151"
	BoxMarkerSymbol_arrow_bar_left_open         BoxMarkerSymbol = "arrow-bar-left-open"
	BoxMarkerSymbol52                           BoxMarkerSymbol = "52"
	BoxMarkerSymbol_52                          BoxMarkerSymbol = "52"
	BoxMarkerSymbol_arrow_bar_right             BoxMarkerSymbol = "arrow-bar-right"
	BoxMarkerSymbol152                          BoxMarkerSymbol = "152"
	BoxMarkerSymbol_152                         BoxMarkerSymbol = "152"
	BoxMarkerSymbol_arrow_bar_right_open        BoxMarkerSymbol = "arrow-bar-right-open"
)

type BoxOrientation

type BoxOrientation string

BoxOrientation Sets the orientation of the box(es). If *v* (*h*), the distribution is visualized along the vertical (horizontal).

const (
	BoxOrientation_v BoxOrientation = "v"
	BoxOrientation_h BoxOrientation = "h"
)

type BoxQuartilemethod

type BoxQuartilemethod string

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.

const (
	BoxQuartilemethod_linear    BoxQuartilemethod = "linear"
	BoxQuartilemethod_exclusive BoxQuartilemethod = "exclusive"
	BoxQuartilemethod_inclusive BoxQuartilemethod = "inclusive"
)

type BoxSelected

type BoxSelected struct {

	// Marker <no value> <no value>
	Marker *BoxSelectedMarker `json:"marker,omitempty"`
}

type BoxSelectedMarker

type BoxSelectedMarker struct {

	// Color color Sets the marker color of selected points.
	Color String `json:"color,omitempty"`

	// Opacity number Sets the marker opacity of selected points.
	Opacity float64 `json:"opacity,omitempty"`

	// Size number Sets the marker size of selected points.
	Size float64 `json:"size,omitempty"`
}

type BoxStream

type BoxStream struct {

	// Maxpoints 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 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"`
}

type BoxTransforms

type BoxTransforms interface{}

BoxTransforms It's an items array and what goes inside it's... messy... check the docs Here is a hint to help you to define your own type transform

description
editType
role

type BoxUnselected

type BoxUnselected struct {

	// Marker <no value> <no value>
	Marker *BoxUnselectedMarker `json:"marker,omitempty"`
}

type BoxUnselectedMarker

type BoxUnselectedMarker struct {

	// Color color Sets the marker color of unselected points, applied only when a selection exists.
	Color String `json:"color,omitempty"`

	// Opacity number Sets the marker opacity of unselected points, applied only when a selection exists.
	Opacity float64 `json:"opacity,omitempty"`

	// Size number Sets the marker size of unselected points, applied only when a selection exists.
	Size float64 `json:"size,omitempty"`
}

type BoxVisible

type BoxVisible interface{}

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).

var (
	BoxVisible_True       BoxVisible = true
	BoxVisible_False      BoxVisible = false
	BoxVisible_legendonly BoxVisible = "legendonly"
)

type BoxXcalendar

type BoxXcalendar string

BoxXcalendar Sets the calendar system to use with `x` date data.

const (
	BoxXcalendar_gregorian  BoxXcalendar = "gregorian"
	BoxXcalendar_chinese    BoxXcalendar = "chinese"
	BoxXcalendar_coptic     BoxXcalendar = "coptic"
	BoxXcalendar_discworld  BoxXcalendar = "discworld"
	BoxXcalendar_ethiopian  BoxXcalendar = "ethiopian"
	BoxXcalendar_hebrew     BoxXcalendar = "hebrew"
	BoxXcalendar_islamic    BoxXcalendar = "islamic"
	BoxXcalendar_julian     BoxXcalendar = "julian"
	BoxXcalendar_mayan      BoxXcalendar = "mayan"
	BoxXcalendar_nanakshahi BoxXcalendar = "nanakshahi"
	BoxXcalendar_nepali     BoxXcalendar = "nepali"
	BoxXcalendar_persian    BoxXcalendar = "persian"
	BoxXcalendar_jalali     BoxXcalendar = "jalali"
	BoxXcalendar_taiwan     BoxXcalendar = "taiwan"
	BoxXcalendar_thai       BoxXcalendar = "thai"
	BoxXcalendar_ummalqura  BoxXcalendar = "ummalqura"
)

type BoxXperiodalignment

type BoxXperiodalignment string

BoxXperiodalignment Only relevant when the axis `type` is *date*. Sets the alignment of data points on the x axis.

const (
	BoxXperiodalignment_start  BoxXperiodalignment = "start"
	BoxXperiodalignment_middle BoxXperiodalignment = "middle"
	BoxXperiodalignment_end    BoxXperiodalignment = "end"
)

type BoxYcalendar

type BoxYcalendar string

BoxYcalendar Sets the calendar system to use with `y` date data.

const (
	BoxYcalendar_gregorian  BoxYcalendar = "gregorian"
	BoxYcalendar_chinese    BoxYcalendar = "chinese"
	BoxYcalendar_coptic     BoxYcalendar = "coptic"
	BoxYcalendar_discworld  BoxYcalendar = "discworld"
	BoxYcalendar_ethiopian  BoxYcalendar = "ethiopian"
	BoxYcalendar_hebrew     BoxYcalendar = "hebrew"
	BoxYcalendar_islamic    BoxYcalendar = "islamic"
	BoxYcalendar_julian     BoxYcalendar = "julian"
	BoxYcalendar_mayan      BoxYcalendar = "mayan"
	BoxYcalendar_nanakshahi BoxYcalendar = "nanakshahi"
	BoxYcalendar_nepali     BoxYcalendar = "nepali"
	BoxYcalendar_persian    BoxYcalendar = "persian"
	BoxYcalendar_jalali     BoxYcalendar = "jalali"
	BoxYcalendar_taiwan     BoxYcalendar = "taiwan"
	BoxYcalendar_thai       BoxYcalendar = "thai"
	BoxYcalendar_ummalqura  BoxYcalendar = "ummalqura"
)

type BoxYperiodalignment

type BoxYperiodalignment string

BoxYperiodalignment Only relevant when the axis `type` is *date*. Sets the alignment of data points on the y axis.

const (
	BoxYperiodalignment_start  BoxYperiodalignment = "start"
	BoxYperiodalignment_middle BoxYperiodalignment = "middle"
	BoxYperiodalignment_end    BoxYperiodalignment = "end"
)

type Candlestick

type Candlestick struct {

	// Type is the type of the plot
	Type TraceType `json:"type,omitempty"`

	// Close data_array Sets the close values.
	Close interface{} `json:"close,omitempty"`

	// Closesrc string Sets the source reference on Chart Studio Cloud for  close .
	Closesrc String `json:"closesrc,omitempty"`

	// Customdata 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 string Sets the source reference on Chart Studio Cloud for  customdata .
	Customdatasrc String `json:"customdatasrc,omitempty"`

	// Decreasing <no value> <no value>
	Decreasing *CandlestickDecreasing `json:"decreasing,omitempty"`

	// High data_array Sets the high values.
	High interface{} `json:"high,omitempty"`

	// Highsrc string Sets the source reference on Chart Studio Cloud for  high .
	Highsrc String `json:"highsrc,omitempty"`

	// Hoverinfo 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 string Sets the source reference on Chart Studio Cloud for  hoverinfo .
	Hoverinfosrc String `json:"hoverinfosrc,omitempty"`

	// Hoverlabel <no value> <no value>
	Hoverlabel *CandlestickHoverlabel `json:"hoverlabel,omitempty"`

	// Hovertext string Same as `text`.
	Hovertext interface{} `json:"hovertext,omitempty"`

	// Hovertextsrc string Sets the source reference on Chart Studio Cloud for  hovertext .
	Hovertextsrc String `json:"hovertextsrc,omitempty"`

	// Ids 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 string Sets the source reference on Chart Studio Cloud for  ids .
	Idssrc String `json:"idssrc,omitempty"`

	// Increasing <no value> <no value>
	Increasing *CandlestickIncreasing `json:"increasing,omitempty"`

	// Legendgroup 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"`

	// Line <no value> <no value>
	Line *CandlestickLine `json:"line,omitempty"`

	// Low data_array Sets the low values.
	Low interface{} `json:"low,omitempty"`

	// Lowsrc string Sets the source reference on Chart Studio Cloud for  low .
	Lowsrc String `json:"lowsrc,omitempty"`

	// Meta 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 string Sets the source reference on Chart Studio Cloud for  meta .
	Metasrc String `json:"metasrc,omitempty"`

	// Name string Sets the trace name. The trace name appear as the legend item and on hover.
	Name String `json:"name,omitempty"`

	// Opacity number Sets the opacity of the trace.
	Opacity float64 `json:"opacity,omitempty"`

	// Open data_array Sets the open values.
	Open interface{} `json:"open,omitempty"`

	// Opensrc string Sets the source reference on Chart Studio Cloud for  open .
	Opensrc String `json:"opensrc,omitempty"`

	// Selectedpoints 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 boolean Determines whether or not an item corresponding to this trace is shown in the legend.
	Showlegend Bool `json:"showlegend,omitempty"`

	// Stream <no value> <no value>
	Stream *CandlestickStream `json:"stream,omitempty"`

	// Text 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 interface{} `json:"text,omitempty"`

	// Textsrc string Sets the source reference on Chart Studio Cloud for  text .
	Textsrc String `json:"textsrc,omitempty"`

	// Transforms <no value> <no value>
	Transforms CandlestickTransforms `json:"transforms,omitempty"`

	// Uid 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 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 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 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 data_array Sets the x coordinates. If absent, linear coordinate will be generated.
	X interface{} `json:"x,omitempty"`

	// Xaxis 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 enumerated Sets the calendar system to use with `x` date data.
	Xcalendar CandlestickXcalendar `json:"xcalendar,omitempty"`

	// Xperiod any Only relevant when the axis `type` is *date*. Sets the period positioning in milliseconds or *M<n>* on the x axis. Special values in the form of *M<n>* could be used to declare the number of months. In this case `n` must be a positive integer.
	Xperiod interface{} `json:"xperiod,omitempty"`

	// Xperiod0 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 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 string Sets the source reference on Chart Studio Cloud for  x .
	Xsrc String `json:"xsrc,omitempty"`

	// Yaxis 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"`
}

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.

func NewCandlestick

func NewCandlestick() *Candlestick

func (*Candlestick) GetType

func (this *Candlestick) GetType() TraceType

type CandlestickDecreasing

type CandlestickDecreasing struct {

	// Fillcolor 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 String `json:"fillcolor,omitempty"`

	// Line <no value> <no value>
	Line *CandlestickDecreasingLine `json:"line,omitempty"`
}

type CandlestickDecreasingLine

type CandlestickDecreasingLine struct {

	// Color color Sets the color of line bounding the box(es).
	Color String `json:"color,omitempty"`

	// Width number Sets the width (in px) of line bounding the box(es).
	Width float64 `json:"width,omitempty"`
}

type CandlestickHoverinfo

type CandlestickHoverinfo string
const (
	// Flags
	CandlestickHoverinfoX    CandlestickHoverinfo = "x"
	CandlestickHoverinfoY    CandlestickHoverinfo = "y"
	CandlestickHoverinfoZ    CandlestickHoverinfo = "z"
	CandlestickHoverinfoText CandlestickHoverinfo = "text"
	CandlestickHoverinfoName CandlestickHoverinfo = "name"
	// Extras
	CandlestickHoverinfoAll  CandlestickHoverinfo = "all"
	CandlestickHoverinfoNone CandlestickHoverinfo = "none"
	CandlestickHoverinfoSkip CandlestickHoverinfo = "skip"
)

type CandlestickHoverlabel

type CandlestickHoverlabel struct {

	// Align 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 string Sets the source reference on Chart Studio Cloud for  align .
	Alignsrc String `json:"alignsrc,omitempty"`

	// Bgcolor color Sets the background color of the hover labels for this trace
	Bgcolor interface{} `json:"bgcolor,omitempty"`

	// Bgcolorsrc string Sets the source reference on Chart Studio Cloud for  bgcolor .
	Bgcolorsrc String `json:"bgcolorsrc,omitempty"`

	// Bordercolor color Sets the border color of the hover labels for this trace.
	Bordercolor interface{} `json:"bordercolor,omitempty"`

	// Bordercolorsrc string Sets the source reference on Chart Studio Cloud for  bordercolor .
	Bordercolorsrc String `json:"bordercolorsrc,omitempty"`

	// Font <no value> Sets the font used in hover labels.
	Font *CandlestickHoverlabelFont `json:"font,omitempty"`

	// Namelength 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 interface{} `json:"namelength,omitempty"`

	// Namelengthsrc string Sets the source reference on Chart Studio Cloud for  namelength .
	Namelengthsrc String `json:"namelengthsrc,omitempty"`

	// Split boolean Show hover information (open, close, high, low) in separate labels.
	Split Bool `json:"split,omitempty"`
}

type CandlestickHoverlabelAlign

type CandlestickHoverlabelAlign string

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

const (
	CandlestickHoverlabelAlign_left  CandlestickHoverlabelAlign = "left"
	CandlestickHoverlabelAlign_right CandlestickHoverlabelAlign = "right"
	CandlestickHoverlabelAlign_auto  CandlestickHoverlabelAlign = "auto"
)

type CandlestickHoverlabelFont

type CandlestickHoverlabelFont struct {

	// Color color <no value>
	Color interface{} `json:"color,omitempty"`

	// Colorsrc string Sets the source reference on Chart Studio Cloud for  color .
	Colorsrc String `json:"colorsrc,omitempty"`

	// Family string HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.
	Family interface{} `json:"family,omitempty"`

	// Familysrc string Sets the source reference on Chart Studio Cloud for  family .
	Familysrc String `json:"familysrc,omitempty"`

	// Size number <no value>
	Size interface{} `json:"size,omitempty"`

	// Sizesrc string Sets the source reference on Chart Studio Cloud for  size .
	Sizesrc String `json:"sizesrc,omitempty"`
}

type CandlestickIncreasing

type CandlestickIncreasing struct {

	// Fillcolor 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 String `json:"fillcolor,omitempty"`

	// Line <no value> <no value>
	Line *CandlestickIncreasingLine `json:"line,omitempty"`
}

type CandlestickIncreasingLine

type CandlestickIncreasingLine struct {

	// Color color Sets the color of line bounding the box(es).
	Color String `json:"color,omitempty"`

	// Width number Sets the width (in px) of line bounding the box(es).
	Width float64 `json:"width,omitempty"`
}

type CandlestickLine

type CandlestickLine struct {

	// Width 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"`
}

type CandlestickStream

type CandlestickStream struct {

	// Maxpoints 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 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"`
}

type CandlestickTransforms

type CandlestickTransforms interface{}

CandlestickTransforms It's an items array and what goes inside it's... messy... check the docs Here is a hint to help you to define your own type transform

description
editType
role

type CandlestickVisible

type CandlestickVisible interface{}

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).

var (
	CandlestickVisible_True       CandlestickVisible = true
	CandlestickVisible_False      CandlestickVisible = false
	CandlestickVisible_legendonly CandlestickVisible = "legendonly"
)

type CandlestickXcalendar

type CandlestickXcalendar string

CandlestickXcalendar Sets the calendar system to use with `x` date data.

const (
	CandlestickXcalendar_gregorian  CandlestickXcalendar = "gregorian"
	CandlestickXcalendar_chinese    CandlestickXcalendar = "chinese"
	CandlestickXcalendar_coptic     CandlestickXcalendar = "coptic"
	CandlestickXcalendar_discworld  CandlestickXcalendar = "discworld"
	CandlestickXcalendar_ethiopian  CandlestickXcalendar = "ethiopian"
	CandlestickXcalendar_hebrew     CandlestickXcalendar = "hebrew"
	CandlestickXcalendar_islamic    CandlestickXcalendar = "islamic"
	CandlestickXcalendar_julian     CandlestickXcalendar = "julian"
	CandlestickXcalendar_mayan      CandlestickXcalendar = "mayan"
	CandlestickXcalendar_nanakshahi CandlestickXcalendar = "nanakshahi"
	CandlestickXcalendar_nepali     CandlestickXcalendar = "nepali"
	CandlestickXcalendar_persian    CandlestickXcalendar = "persian"
	CandlestickXcalendar_jalali     CandlestickXcalendar = "jalali"
	CandlestickXcalendar_taiwan     CandlestickXcalendar = "taiwan"
	CandlestickXcalendar_thai       CandlestickXcalendar = "thai"
	CandlestickXcalendar_ummalqura  CandlestickXcalendar = "ummalqura"
)

type CandlestickXperiodalignment

type CandlestickXperiodalignment string

CandlestickXperiodalignment Only relevant when the axis `type` is *date*. Sets the alignment of data points on the x axis.

const (
	CandlestickXperiodalignment_start  CandlestickXperiodalignment = "start"
	CandlestickXperiodalignment_middle CandlestickXperiodalignment = "middle"
	CandlestickXperiodalignment_end    CandlestickXperiodalignment = "end"
)

type Carpet

type Carpet struct {

	// Type is the type of the plot
	Type TraceType `json:"type,omitempty"`

	// A data_array An array containing values of the first parameter value
	A interface{} `json:"a,omitempty"`

	// A0 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 <no value> <no value>
	Aaxis *CarpetAaxis `json:"aaxis,omitempty"`

	// Asrc string Sets the source reference on Chart Studio Cloud for  a .
	Asrc String `json:"asrc,omitempty"`

	// B data_array A two dimensional array of y coordinates at each carpet point.
	B interface{} `json:"b,omitempty"`

	// B0 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 <no value> <no value>
	Baxis *CarpetBaxis `json:"baxis,omitempty"`

	// Bsrc string Sets the source reference on Chart Studio Cloud for  b .
	Bsrc String `json:"bsrc,omitempty"`

	// Carpet 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 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 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 String `json:"color,omitempty"`

	// Customdata 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 string Sets the source reference on Chart Studio Cloud for  customdata .
	Customdatasrc String `json:"customdatasrc,omitempty"`

	// Da number Sets the a coordinate step. See `a0` for more info.
	Da float64 `json:"da,omitempty"`

	// Db number Sets the b coordinate step. See `b0` for more info.
	Db float64 `json:"db,omitempty"`

	// Font <no value> The default font used for axis & tick labels on this carpet
	Font *CarpetFont `json:"font,omitempty"`

	// Ids 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 string Sets the source reference on Chart Studio Cloud for  ids .
	Idssrc String `json:"idssrc,omitempty"`

	// Meta 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 string Sets the source reference on Chart Studio Cloud for  meta .
	Metasrc String `json:"metasrc,omitempty"`

	// Name string Sets the trace name. The trace name appear as the legend item and on hover.
	Name String `json:"name,omitempty"`

	// Opacity number Sets the opacity of the trace.
	Opacity float64 `json:"opacity,omitempty"`

	// Stream <no value> <no value>
	Stream *CarpetStream `json:"stream,omitempty"`

	// Uid 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 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 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 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 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 string Sets the source reference on Chart Studio Cloud for  x .
	Xsrc String `json:"xsrc,omitempty"`

	// Y data_array A two dimensional array of y coordinates at each carpet point.
	Y interface{} `json:"y,omitempty"`

	// Yaxis 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 string Sets the source reference on Chart Studio Cloud for  y .
	Ysrc String `json:"ysrc,omitempty"`
}

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`.

func NewCarpet

func NewCarpet() *Carpet

func (*Carpet) GetType

func (this *Carpet) GetType() TraceType

type CarpetAaxis

type CarpetAaxis struct {

	// Arraydtick integer The stride between grid lines along the axis
	Arraydtick int64 `json:"arraydtick,omitempty"`

	// Arraytick0 integer The starting index of grid lines along the axis
	Arraytick0 int64 `json:"arraytick0,omitempty"`

	// Autorange 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 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 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 string Sets the source reference on Chart Studio Cloud for  categoryarray .
	Categoryarraysrc String `json:"categoryarraysrc,omitempty"`

	// Categoryorder 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 enumerated <no value>
	Cheatertype CarpetAaxisCheatertype `json:"cheatertype,omitempty"`

	// Color 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 String `json:"color,omitempty"`

	// Dtick number The stride between grid lines along the axis
	Dtick float64 `json:"dtick,omitempty"`

	// Endline 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 color Sets the line color of the end line.
	Endlinecolor String `json:"endlinecolor,omitempty"`

	// Endlinewidth number Sets the width (in px) of the end line.
	Endlinewidth float64 `json:"endlinewidth,omitempty"`

	// Exponentformat 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 boolean Determines whether or not this axis is zoom-able. If true, then zoom is disabled.
	Fixedrange Bool `json:"fixedrange,omitempty"`

	// Gridcolor color Sets the axis line color.
	Gridcolor String `json:"gridcolor,omitempty"`

	// Gridwidth number Sets the width (in px) of the axis line.
	Gridwidth float64 `json:"gridwidth,omitempty"`

	// Labelpadding integer Extra padding between label and the axis
	Labelpadding int64 `json:"labelpadding,omitempty"`

	// Labelprefix string Sets a axis label prefix.
	Labelprefix String `json:"labelprefix,omitempty"`

	// Labelsuffix string Sets a axis label suffix.
	Labelsuffix String `json:"labelsuffix,omitempty"`

	// Linecolor color Sets the axis line color.
	Linecolor String `json:"linecolor,omitempty"`

	// Linewidth number Sets the width (in px) of the axis line.
	Linewidth float64 `json:"linewidth,omitempty"`

	// Minexponent number Hide SI prefix for 10^n if |n| is below this number
	Minexponent float64 `json:"minexponent,omitempty"`

	// Minorgridcolor color Sets the color of the grid lines.
	Minorgridcolor String `json:"minorgridcolor,omitempty"`

	// Minorgridcount integer Sets the number of minor grid ticks per major grid tick
	Minorgridcount int64 `json:"minorgridcount,omitempty"`

	// Minorgridwidth number Sets the width (in px) of the grid lines.
	Minorgridwidth float64 `json:"minorgridwidth,omitempty"`

	// Nticks 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 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 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 boolean If "true", even 4-digit integers are separated
	Separatethousands Bool `json:"separatethousands,omitempty"`

	// Showexponent 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 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 boolean Determines whether or not a line bounding this axis is drawn.
	Showline Bool `json:"showline,omitempty"`

	// Showticklabels 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 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 enumerated Same as `showtickprefix` but for tick suffixes.
	Showticksuffix CarpetAaxisShowticksuffix `json:"showticksuffix,omitempty"`

	// Smoothing number <no value>
	Smoothing float64 `json:"smoothing,omitempty"`

	// Startline 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 color Sets the line color of the start line.
	Startlinecolor String `json:"startlinecolor,omitempty"`

	// Startlinewidth number Sets the width (in px) of the start line.
	Startlinewidth float64 `json:"startlinewidth,omitempty"`

	// Tick0 number The starting index of grid lines along the axis
	Tick0 float64 `json:"tick0,omitempty"`

	// Tickangle 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 <no value> Sets the tick font.
	Tickfont *CarpetAaxisTickfont `json:"tickfont,omitempty"`

	// Tickformat 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*
	Tickformat String `json:"tickformat,omitempty"`

	// Tickformatstops <no value> <no value>
	Tickformatstops CarpetAaxisTickformatstops `json:"tickformatstops,omitempty"`

	// Tickmode enumerated <no value>
	Tickmode CarpetAaxisTickmode `json:"tickmode,omitempty"`

	// Tickprefix string Sets a tick label prefix.
	Tickprefix String `json:"tickprefix,omitempty"`

	// Ticksuffix string Sets a tick label suffix.
	Ticksuffix String `json:"ticksuffix,omitempty"`

	// Ticktext 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 string Sets the source reference on Chart Studio Cloud for  ticktext .
	Ticktextsrc String `json:"ticktextsrc,omitempty"`

	// Tickvals 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 string Sets the source reference on Chart Studio Cloud for  tickvals .
	Tickvalssrc String `json:"tickvalssrc,omitempty"`

	// Title <no value> <no value>
	Title *CarpetAaxisTitle `json:"title,omitempty"`

	// 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"`
}

type CarpetAaxisAutorange

type CarpetAaxisAutorange interface{}

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*.

var (
	CarpetAaxisAutorange_True     CarpetAaxisAutorange = true
	CarpetAaxisAutorange_False    CarpetAaxisAutorange = false
	CarpetAaxisAutorange_reversed CarpetAaxisAutorange = "reversed"
)

type CarpetAaxisAutotypenumbers

type CarpetAaxisAutotypenumbers string

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.

const (
	CarpetAaxisAutotypenumbers_converttypes CarpetAaxisAutotypenumbers = "convert types"
	CarpetAaxisAutotypenumbers_strict       CarpetAaxisAutotypenumbers = "strict"
)

type CarpetAaxisCategoryorder

type CarpetAaxisCategoryorder string

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`.

const (
	CarpetAaxisCategoryorder_trace              CarpetAaxisCategoryorder = "trace"
	CarpetAaxisCategoryorder_categoryascending  CarpetAaxisCategoryorder = "category ascending"
	CarpetAaxisCategoryorder_categorydescending CarpetAaxisCategoryorder = "category descending"
	CarpetAaxisCategoryorder_array              CarpetAaxisCategoryorder = "array"
)

type CarpetAaxisCheatertype

type CarpetAaxisCheatertype string

CarpetAaxisCheatertype <no value>

const (
	CarpetAaxisCheatertype_index CarpetAaxisCheatertype = "index"
	CarpetAaxisCheatertype_value CarpetAaxisCheatertype = "value"
)

type CarpetAaxisExponentformat

type CarpetAaxisExponentformat string

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.

const (
	CarpetAaxisExponentformat_none  CarpetAaxisExponentformat = "none"
	CarpetAaxisExponentformat_e     CarpetAaxisExponentformat = "e"
	CarpetAaxisExponentformat_E     CarpetAaxisExponentformat = "E"
	CarpetAaxisExponentformat_power CarpetAaxisExponentformat = "power"
	CarpetAaxisExponentformat_SI    CarpetAaxisExponentformat = "SI"
	CarpetAaxisExponentformat_B     CarpetAaxisExponentformat = "B"
)

type CarpetAaxisRangemode

type CarpetAaxisRangemode string

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.

const (
	CarpetAaxisRangemode_normal      CarpetAaxisRangemode = "normal"
	CarpetAaxisRangemode_tozero      CarpetAaxisRangemode = "tozero"
	CarpetAaxisRangemode_nonnegative CarpetAaxisRangemode = "nonnegative"
)

type CarpetAaxisShowexponent

type CarpetAaxisShowexponent string

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.

const (
	CarpetAaxisShowexponent_all   CarpetAaxisShowexponent = "all"
	CarpetAaxisShowexponent_first CarpetAaxisShowexponent = "first"
	CarpetAaxisShowexponent_last  CarpetAaxisShowexponent = "last"
	CarpetAaxisShowexponent_none  CarpetAaxisShowexponent = "none"
)

type CarpetAaxisShowticklabels

type CarpetAaxisShowticklabels string

CarpetAaxisShowticklabels Determines whether axis labels are drawn on the low side, the high side, both, or neither side of the axis.

const (
	CarpetAaxisShowticklabels_start CarpetAaxisShowticklabels = "start"
	CarpetAaxisShowticklabels_end   CarpetAaxisShowticklabels = "end"
	CarpetAaxisShowticklabels_both  CarpetAaxisShowticklabels = "both"
	CarpetAaxisShowticklabels_none  CarpetAaxisShowticklabels = "none"
)

type CarpetAaxisShowtickprefix

type CarpetAaxisShowtickprefix string

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.

const (
	CarpetAaxisShowtickprefix_all   CarpetAaxisShowtickprefix = "all"
	CarpetAaxisShowtickprefix_first CarpetAaxisShowtickprefix = "first"
	CarpetAaxisShowtickprefix_last  CarpetAaxisShowtickprefix = "last"
	CarpetAaxisShowtickprefix_none  CarpetAaxisShowtickprefix = "none"
)

type CarpetAaxisShowticksuffix

type CarpetAaxisShowticksuffix string

CarpetAaxisShowticksuffix Same as `showtickprefix` but for tick suffixes.

const (
	CarpetAaxisShowticksuffix_all   CarpetAaxisShowticksuffix = "all"
	CarpetAaxisShowticksuffix_first CarpetAaxisShowticksuffix = "first"
	CarpetAaxisShowticksuffix_last  CarpetAaxisShowticksuffix = "last"
	CarpetAaxisShowticksuffix_none  CarpetAaxisShowticksuffix = "none"
)

type CarpetAaxisTickfont

type CarpetAaxisTickfont struct {

	// Color color <no value>
	Color String `json:"color,omitempty"`

	// Family string HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.
	Family String `json:"family,omitempty"`

	// Size number <no value>
	Size float64 `json:"size,omitempty"`
}

type CarpetAaxisTickformatstops

type CarpetAaxisTickformatstops interface{}

CarpetAaxisTickformatstops It's an items array and what goes inside it's... messy... check the docs Here is a hint to help you to define your own type tickformatstop

dtickrange
editType
enabled
name
role
templateitemname
value

type CarpetAaxisTickmode

type CarpetAaxisTickmode string

CarpetAaxisTickmode <no value>

const (
	CarpetAaxisTickmode_linear CarpetAaxisTickmode = "linear"
	CarpetAaxisTickmode_array  CarpetAaxisTickmode = "array"
)

type CarpetAaxisTitle

type CarpetAaxisTitle struct {

	// Font <no value> Sets this axis' title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.
	Font *CarpetAaxisTitleFont `json:"font,omitempty"`

	// Offset 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 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"`
}

type CarpetAaxisTitleFont

type CarpetAaxisTitleFont struct {

	// Color color <no value>
	Color String `json:"color,omitempty"`

	// Family string HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.
	Family String `json:"family,omitempty"`

	// Size number <no value>
	Size float64 `json:"size,omitempty"`
}

type CarpetAaxisType

type CarpetAaxisType string

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.

const (
	CarpetAaxisType__        CarpetAaxisType = "-"
	CarpetAaxisType_linear   CarpetAaxisType = "linear"
	CarpetAaxisType_date     CarpetAaxisType = "date"
	CarpetAaxisType_category CarpetAaxisType = "category"
)

type CarpetBaxis

type CarpetBaxis struct {

	// Arraydtick integer The stride between grid lines along the axis
	Arraydtick int64 `json:"arraydtick,omitempty"`

	// Arraytick0 integer The starting index of grid lines along the axis
	Arraytick0 int64 `json:"arraytick0,omitempty"`

	// Autorange 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 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 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 string Sets the source reference on Chart Studio Cloud for  categoryarray .
	Categoryarraysrc String `json:"categoryarraysrc,omitempty"`

	// Categoryorder 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 enumerated <no value>
	Cheatertype CarpetBaxisCheatertype `json:"cheatertype,omitempty"`

	// Color 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 String `json:"color,omitempty"`

	// Dtick number The stride between grid lines along the axis
	Dtick float64 `json:"dtick,omitempty"`

	// Endline 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 color Sets the line color of the end line.
	Endlinecolor String `json:"endlinecolor,omitempty"`

	// Endlinewidth number Sets the width (in px) of the end line.
	Endlinewidth float64 `json:"endlinewidth,omitempty"`

	// Exponentformat 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 boolean Determines whether or not this axis is zoom-able. If true, then zoom is disabled.
	Fixedrange Bool `json:"fixedrange,omitempty"`

	// Gridcolor color Sets the axis line color.
	Gridcolor String `json:"gridcolor,omitempty"`

	// Gridwidth number Sets the width (in px) of the axis line.
	Gridwidth float64 `json:"gridwidth,omitempty"`

	// Labelpadding integer Extra padding between label and the axis
	Labelpadding int64 `json:"labelpadding,omitempty"`

	// Labelprefix string Sets a axis label prefix.
	Labelprefix String `json:"labelprefix,omitempty"`

	// Labelsuffix string Sets a axis label suffix.
	Labelsuffix String `json:"labelsuffix,omitempty"`

	// Linecolor color Sets the axis line color.
	Linecolor String `json:"linecolor,omitempty"`

	// Linewidth number Sets the width (in px) of the axis line.
	Linewidth float64 `json:"linewidth,omitempty"`

	// Minexponent number Hide SI prefix for 10^n if |n| is below this number
	Minexponent float64 `json:"minexponent,omitempty"`

	// Minorgridcolor color Sets the color of the grid lines.
	Minorgridcolor String `json:"minorgridcolor,omitempty"`

	// Minorgridcount integer Sets the number of minor grid ticks per major grid tick
	Minorgridcount int64 `json:"minorgridcount,omitempty"`

	// Minorgridwidth number Sets the width (in px) of the grid lines.
	Minorgridwidth float64 `json:"minorgridwidth,omitempty"`

	// Nticks 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 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 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 boolean If "true", even 4-digit integers are separated
	Separatethousands Bool `json:"separatethousands,omitempty"`

	// Showexponent 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 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 boolean Determines whether or not a line bounding this axis is drawn.
	Showline Bool `json:"showline,omitempty"`

	// Showticklabels 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 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 enumerated Same as `showtickprefix` but for tick suffixes.
	Showticksuffix CarpetBaxisShowticksuffix `json:"showticksuffix,omitempty"`

	// Smoothing number <no value>
	Smoothing float64 `json:"smoothing,omitempty"`

	// Startline 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 color Sets the line color of the start line.
	Startlinecolor String `json:"startlinecolor,omitempty"`

	// Startlinewidth number Sets the width (in px) of the start line.
	Startlinewidth float64 `json:"startlinewidth,omitempty"`

	// Tick0 number The starting index of grid lines along the axis
	Tick0 float64 `json:"tick0,omitempty"`

	// Tickangle 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 <no value> Sets the tick font.
	Tickfont *CarpetBaxisTickfont `json:"tickfont,omitempty"`

	// Tickformat 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*
	Tickformat String `json:"tickformat,omitempty"`

	// Tickformatstops <no value> <no value>
	Tickformatstops CarpetBaxisTickformatstops `json:"tickformatstops,omitempty"`

	// Tickmode enumerated <no value>
	Tickmode CarpetBaxisTickmode `json:"tickmode,omitempty"`

	// Tickprefix string Sets a tick label prefix.
	Tickprefix String `json:"tickprefix,omitempty"`

	// Ticksuffix string Sets a tick label suffix.
	Ticksuffix String `json:"ticksuffix,omitempty"`

	// Ticktext 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 string Sets the source reference on Chart Studio Cloud for  ticktext .
	Ticktextsrc String `json:"ticktextsrc,omitempty"`

	// Tickvals 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 string Sets the source reference on Chart Studio Cloud for  tickvals .
	Tickvalssrc String `json:"tickvalssrc,omitempty"`

	// Title <no value> <no value>
	Title *CarpetBaxisTitle `json:"title,omitempty"`

	// 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"`
}

type CarpetBaxisAutorange

type CarpetBaxisAutorange interface{}

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*.

var (
	CarpetBaxisAutorange_True     CarpetBaxisAutorange = true
	CarpetBaxisAutorange_False    CarpetBaxisAutorange = false
	CarpetBaxisAutorange_reversed CarpetBaxisAutorange = "reversed"
)

type CarpetBaxisAutotypenumbers

type CarpetBaxisAutotypenumbers string

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.

const (
	CarpetBaxisAutotypenumbers_converttypes CarpetBaxisAutotypenumbers = "convert types"
	CarpetBaxisAutotypenumbers_strict       CarpetBaxisAutotypenumbers = "strict"
)

type CarpetBaxisCategoryorder

type CarpetBaxisCategoryorder string

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`.

const (
	CarpetBaxisCategoryorder_trace              CarpetBaxisCategoryorder = "trace"
	CarpetBaxisCategoryorder_categoryascending  CarpetBaxisCategoryorder = "category ascending"
	CarpetBaxisCategoryorder_categorydescending CarpetBaxisCategoryorder = "category descending"
	CarpetBaxisCategoryorder_array              CarpetBaxisCategoryorder = "array"
)

type CarpetBaxisCheatertype

type CarpetBaxisCheatertype string

CarpetBaxisCheatertype <no value>

const (
	CarpetBaxisCheatertype_index CarpetBaxisCheatertype = "index"
	CarpetBaxisCheatertype_value CarpetBaxisCheatertype = "value"
)

type CarpetBaxisExponentformat

type CarpetBaxisExponentformat string

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.

const (
	CarpetBaxisExponentformat_none  CarpetBaxisExponentformat = "none"
	CarpetBaxisExponentformat_e     CarpetBaxisExponentformat = "e"
	CarpetBaxisExponentformat_E     CarpetBaxisExponentformat = "E"
	CarpetBaxisExponentformat_power CarpetBaxisExponentformat = "power"
	CarpetBaxisExponentformat_SI    CarpetBaxisExponentformat = "SI"
	CarpetBaxisExponentformat_B     CarpetBaxisExponentformat = "B"
)

type CarpetBaxisRangemode

type CarpetBaxisRangemode string

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.

const (
	CarpetBaxisRangemode_normal      CarpetBaxisRangemode = "normal"
	CarpetBaxisRangemode_tozero      CarpetBaxisRangemode = "tozero"
	CarpetBaxisRangemode_nonnegative CarpetBaxisRangemode = "nonnegative"
)

type CarpetBaxisShowexponent

type CarpetBaxisShowexponent string

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.

const (
	CarpetBaxisShowexponent_all   CarpetBaxisShowexponent = "all"
	CarpetBaxisShowexponent_first CarpetBaxisShowexponent = "first"
	CarpetBaxisShowexponent_last  CarpetBaxisShowexponent = "last"
	CarpetBaxisShowexponent_none  CarpetBaxisShowexponent = "none"
)

type CarpetBaxisShowticklabels

type CarpetBaxisShowticklabels string

CarpetBaxisShowticklabels Determines whether axis labels are drawn on the low side, the high side, both, or neither side of the axis.

const (
	CarpetBaxisShowticklabels_start CarpetBaxisShowticklabels = "start"
	CarpetBaxisShowticklabels_end   CarpetBaxisShowticklabels = "end"
	CarpetBaxisShowticklabels_both  CarpetBaxisShowticklabels = "both"
	CarpetBaxisShowticklabels_none  CarpetBaxisShowticklabels = "none"
)

type CarpetBaxisShowtickprefix

type CarpetBaxisShowtickprefix string

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.

const (
	CarpetBaxisShowtickprefix_all   CarpetBaxisShowtickprefix = "all"
	CarpetBaxisShowtickprefix_first CarpetBaxisShowtickprefix = "first"
	CarpetBaxisShowtickprefix_last  CarpetBaxisShowtickprefix = "last"
	CarpetBaxisShowtickprefix_none  CarpetBaxisShowtickprefix = "none"
)

type CarpetBaxisShowticksuffix

type CarpetBaxisShowticksuffix string

CarpetBaxisShowticksuffix Same as `showtickprefix` but for tick suffixes.

const (
	CarpetBaxisShowticksuffix_all   CarpetBaxisShowticksuffix = "all"
	CarpetBaxisShowticksuffix_first CarpetBaxisShowticksuffix = "first"
	CarpetBaxisShowticksuffix_last  CarpetBaxisShowticksuffix = "last"
	CarpetBaxisShowticksuffix_none  CarpetBaxisShowticksuffix = "none"
)

type CarpetBaxisTickfont

type CarpetBaxisTickfont struct {

	// Color color <no value>
	Color String `json:"color,omitempty"`

	// Family string HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.
	Family String `json:"family,omitempty"`

	// Size number <no value>
	Size float64 `json:"size,omitempty"`
}

type CarpetBaxisTickformatstops

type CarpetBaxisTickformatstops interface{}

CarpetBaxisTickformatstops It's an items array and what goes inside it's... messy... check the docs Here is a hint to help you to define your own type tickformatstop

dtickrange
editType
enabled
name
role
templateitemname
value

type CarpetBaxisTickmode

type CarpetBaxisTickmode string

CarpetBaxisTickmode <no value>

const (
	CarpetBaxisTickmode_linear CarpetBaxisTickmode = "linear"
	CarpetBaxisTickmode_array  CarpetBaxisTickmode = "array"
)

type CarpetBaxisTitle

type CarpetBaxisTitle struct {

	// Font <no value> Sets this axis' title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.
	Font *CarpetBaxisTitleFont `json:"font,omitempty"`

	// Offset 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 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"`
}

type CarpetBaxisTitleFont

type CarpetBaxisTitleFont struct {

	// Color color <no value>
	Color String `json:"color,omitempty"`

	// Family string HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.
	Family String `json:"family,omitempty"`

	// Size number <no value>
	Size float64 `json:"size,omitempty"`
}

type CarpetBaxisType

type CarpetBaxisType string

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.

const (
	CarpetBaxisType__        CarpetBaxisType = "-"
	CarpetBaxisType_linear   CarpetBaxisType = "linear"
	CarpetBaxisType_date     CarpetBaxisType = "date"
	CarpetBaxisType_category CarpetBaxisType = "category"
)

type CarpetFont

type CarpetFont struct {

	// Color color <no value>
	Color String `json:"color,omitempty"`

	// Family string HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.
	Family String `json:"family,omitempty"`

	// Size number <no value>
	Size float64 `json:"size,omitempty"`
}

type CarpetStream

type CarpetStream struct {

	// Maxpoints 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 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"`
}

type CarpetVisible

type CarpetVisible interface{}

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).

var (
	CarpetVisible_True       CarpetVisible = true
	CarpetVisible_False      CarpetVisible = false
	CarpetVisible_legendonly CarpetVisible = "legendonly"
)

type Choropleth

type Choropleth struct {

	// Type is the type of the plot
	Type TraceType `json:"type,omitempty"`

	// Autocolorscale 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 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 <no value> <no value>
	Colorbar *ChoroplethColorbar `json:"colorbar,omitempty"`

	// Customdata 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 string Sets the source reference on Chart Studio Cloud for  customdata .
	Customdatasrc String `json:"customdatasrc,omitempty"`

	// Featureidkey 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 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 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 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 string Sets the source reference on Chart Studio Cloud for  hoverinfo .
	Hoverinfosrc String `json:"hoverinfosrc,omitempty"`

	// Hoverlabel <no value> <no value>
	Hoverlabel *ChoroplethHoverlabel `json:"hoverlabel,omitempty"`

	// Hovertemplate 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 `<extra>` is displayed in the secondary box, for example "<extra>{fullData.name}</extra>". To hide the secondary box completely, use an empty tag `<extra></extra>`.
	Hovertemplate interface{} `json:"hovertemplate,omitempty"`

	// Hovertemplatesrc string Sets the source reference on Chart Studio Cloud for  hovertemplate .
	Hovertemplatesrc String `json:"hovertemplatesrc,omitempty"`

	// Hovertext string Same as `text`.
	Hovertext interface{} `json:"hovertext,omitempty"`

	// Hovertextsrc string Sets the source reference on Chart Studio Cloud for  hovertext .
	Hovertextsrc String `json:"hovertextsrc,omitempty"`

	// Ids 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 string Sets the source reference on Chart Studio Cloud for  ids .
	Idssrc String `json:"idssrc,omitempty"`

	// Legendgroup 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"`

	// Locationmode 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 data_array Sets the coordinates via location IDs or names. See `locationmode` for more info.
	Locations interface{} `json:"locations,omitempty"`

	// Locationssrc string Sets the source reference on Chart Studio Cloud for  locations .
	Locationssrc String `json:"locationssrc,omitempty"`

	// Marker <no value> <no value>
	Marker *ChoroplethMarker `json:"marker,omitempty"`

	// Meta 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 string Sets the source reference on Chart Studio Cloud for  meta .
	Metasrc String `json:"metasrc,omitempty"`

	// Name string Sets the trace name. The trace name appear as the legend item and on hover.
	Name String `json:"name,omitempty"`

	// Reversescale 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 <no value> <no value>
	Selected *ChoroplethSelected `json:"selected,omitempty"`

	// Selectedpoints 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 boolean Determines whether or not an item corresponding to this trace is shown in the legend.
	Showlegend Bool `json:"showlegend,omitempty"`

	// Showscale boolean Determines whether or not a colorbar is displayed for this trace.
	Showscale Bool `json:"showscale,omitempty"`

	// Stream <no value> <no value>
	Stream *ChoroplethStream `json:"stream,omitempty"`

	// Text string Sets the text elements associated with each location.
	Text interface{} `json:"text,omitempty"`

	// Textsrc string Sets the source reference on Chart Studio Cloud for  text .
	Textsrc String `json:"textsrc,omitempty"`

	// Transforms <no value> <no value>
	Transforms ChoroplethTransforms `json:"transforms,omitempty"`

	// Uid 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 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 <no value> <no value>
	Unselected *ChoroplethUnselected `json:"unselected,omitempty"`

	// Visible 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 data_array Sets the color values.
	Z interface{} `json:"z,omitempty"`

	// Zauto 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 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 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 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 string Sets the source reference on Chart Studio Cloud for  z .
	Zsrc String `json:"zsrc,omitempty"`
}

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`.

func NewChoropleth

func NewChoropleth() *Choropleth

func (*Choropleth) GetType

func (this *Choropleth) GetType() TraceType

type ChoroplethColorbar

type ChoroplethColorbar struct {

	// Bgcolor color Sets the color of padded area.
	Bgcolor String `json:"bgcolor,omitempty"`

	// Bordercolor color Sets the axis line color.
	Bordercolor String `json:"bordercolor,omitempty"`

	// Borderwidth number Sets the width (in px) or the border enclosing this color bar.
	Borderwidth float64 `json:"borderwidth,omitempty"`

	// Dtick 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<f>*, where `f` is a positive number, gives ticks linearly spaced in value (but not position). For example `tick0` = 0.1, `dtick` = *L0.5* will put ticks at 0.1, 0.6, 1.1, 1.6 etc. To show powers of 10 plus small digits between, use *D1* (all digits) or *D2* (only 2 and 5). `tick0` is ignored for *D1* and *D2*. If the axis `type` is *date*, then you must convert the time to milliseconds. For example, to set the interval between ticks to one day, set `dtick` to 86400000.0. *date* also has special values *M<n>* gives ticks spaced by a number of months. `n` must be a positive integer. To set ticks on the 15th of every third month, set `tick0` to *2000-01-15* and `dtick` to *M3*. To set ticks every 4 years, set `dtick` to *M48*
	Dtick interface{} `json:"dtick,omitempty"`

	// Exponentformat 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"`

	// Len 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 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 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 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"`

	// Outlinecolor color Sets the axis line color.
	Outlinecolor String `json:"outlinecolor,omitempty"`

	// Outlinewidth number Sets the width (in px) of the axis line.
	Outlinewidth float64 `json:"outlinewidth,omitempty"`

	// Separatethousands boolean If "true", even 4-digit integers are separated
	Separatethousands Bool `json:"separatethousands,omitempty"`

	// Showexponent 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 boolean Determines whether or not the tick labels are drawn.
	Showticklabels Bool `json:"showticklabels,omitempty"`

	// Showtickprefix 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 enumerated Same as `showtickprefix` but for tick suffixes.
	Showticksuffix ChoroplethColorbarShowticksuffix `json:"showticksuffix,omitempty"`

	// Thickness 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 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 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<f>* (see `dtick` for more info). If the axis `type` is *date*, it should be a date string, like date data. If the axis `type` is *category*, it should be a number, using the scale where each category is assigned a serial number from zero in the order it appears.
	Tick0 interface{} `json:"tick0,omitempty"`

	// Tickangle 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 color Sets the tick color.
	Tickcolor String `json:"tickcolor,omitempty"`

	// Tickfont <no value> Sets the color bar's tick label font
	Tickfont *ChoroplethColorbarTickfont `json:"tickfont,omitempty"`

	// Tickformat 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*
	Tickformat String `json:"tickformat,omitempty"`

	// Tickformatstops <no value> <no value>
	Tickformatstops ChoroplethColorbarTickformatstops `json:"tickformatstops,omitempty"`

	// Ticklabelposition enumerated Determines where tick labels are drawn.
	Ticklabelposition ChoroplethColorbarTicklabelposition `json:"ticklabelposition,omitempty"`

	// Ticklen number Sets the tick length (in px).
	Ticklen float64 `json:"ticklen,omitempty"`

	// Tickmode 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 string Sets a tick label prefix.
	Tickprefix String `json:"tickprefix,omitempty"`

	// Ticks 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 string Sets a tick label suffix.
	Ticksuffix String `json:"ticksuffix,omitempty"`

	// Ticktext 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 string Sets the source reference on Chart Studio Cloud for  ticktext .
	Ticktextsrc String `json:"ticktextsrc,omitempty"`

	// Tickvals 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 string Sets the source reference on Chart Studio Cloud for  tickvals .
	Tickvalssrc String `json:"tickvalssrc,omitempty"`

	// Tickwidth number Sets the tick width (in px).
	Tickwidth float64 `json:"tickwidth,omitempty"`

	// Title <no value> <no value>
	Title *ChoroplethColorbarTitle `json:"title,omitempty"`

	// X number Sets the x position of the color bar (in plot fraction).
	X float64 `json:"x,omitempty"`

	// Xanchor 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.
	Xanchor ChoroplethColorbarXanchor `json:"xanchor,omitempty"`

	// Xpad number Sets the amount of padding (in px) along the x direction.
	Xpad float64 `json:"xpad,omitempty"`

	// Y number Sets the y position of the color bar (in plot fraction).
	Y float64 `json:"y,omitempty"`

	// Yanchor 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.
	Yanchor ChoroplethColorbarYanchor `json:"yanchor,omitempty"`

	// Ypad number Sets the amount of padding (in px) along the y direction.
	Ypad float64 `json:"ypad,omitempty"`
}

type ChoroplethColorbarExponentformat

type ChoroplethColorbarExponentformat string

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.

const (
	ChoroplethColorbarExponentformat_none  ChoroplethColorbarExponentformat = "none"
	ChoroplethColorbarExponentformat_e     ChoroplethColorbarExponentformat = "e"
	ChoroplethColorbarExponentformat_E     ChoroplethColorbarExponentformat = "E"
	ChoroplethColorbarExponentformat_power ChoroplethColorbarExponentformat = "power"
	ChoroplethColorbarExponentformat_SI    ChoroplethColorbarExponentformat = "SI"
	ChoroplethColorbarExponentformat_B     ChoroplethColorbarExponentformat = "B"
)

type ChoroplethColorbarLenmode

type ChoroplethColorbarLenmode string

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.

const (
	ChoroplethColorbarLenmode_fraction ChoroplethColorbarLenmode = "fraction"
	ChoroplethColorbarLenmode_pixels   ChoroplethColorbarLenmode = "pixels"
)

type ChoroplethColorbarShowexponent

type ChoroplethColorbarShowexponent string

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.

const (
	ChoroplethColorbarShowexponent_all   ChoroplethColorbarShowexponent = "all"
	ChoroplethColorbarShowexponent_first ChoroplethColorbarShowexponent = "first"
	ChoroplethColorbarShowexponent_last  ChoroplethColorbarShowexponent = "last"
	ChoroplethColorbarShowexponent_none  ChoroplethColorbarShowexponent = "none"
)

type ChoroplethColorbarShowtickprefix

type ChoroplethColorbarShowtickprefix string

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.

const (
	ChoroplethColorbarShowtickprefix_all   ChoroplethColorbarShowtickprefix = "all"
	ChoroplethColorbarShowtickprefix_first ChoroplethColorbarShowtickprefix = "first"
	ChoroplethColorbarShowtickprefix_last  ChoroplethColorbarShowtickprefix = "last"
	ChoroplethColorbarShowtickprefix_none  ChoroplethColorbarShowtickprefix = "none"
)

type ChoroplethColorbarShowticksuffix

type ChoroplethColorbarShowticksuffix string

ChoroplethColorbarShowticksuffix Same as `showtickprefix` but for tick suffixes.

const (
	ChoroplethColorbarShowticksuffix_all   ChoroplethColorbarShowticksuffix = "all"
	ChoroplethColorbarShowticksuffix_first ChoroplethColorbarShowticksuffix = "first"
	ChoroplethColorbarShowticksuffix_last  ChoroplethColorbarShowticksuffix = "last"
	ChoroplethColorbarShowticksuffix_none  ChoroplethColorbarShowticksuffix = "none"
)

type ChoroplethColorbarThicknessmode

type ChoroplethColorbarThicknessmode string

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.

const (
	ChoroplethColorbarThicknessmode_fraction ChoroplethColorbarThicknessmode = "fraction"
	ChoroplethColorbarThicknessmode_pixels   ChoroplethColorbarThicknessmode = "pixels"
)

type ChoroplethColorbarTickfont

type ChoroplethColorbarTickfont struct {

	// Color color <no value>
	Color String `json:"color,omitempty"`

	// Family string HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.
	Family String `json:"family,omitempty"`

	// Size number <no value>
	Size float64 `json:"size,omitempty"`
}

type ChoroplethColorbarTickformatstops

type ChoroplethColorbarTickformatstops interface{}

ChoroplethColorbarTickformatstops It's an items array and what goes inside it's... messy... check the docs Here is a hint to help you to define your own type tickformatstop

dtickrange
editType
enabled
name
role
templateitemname
value

type ChoroplethColorbarTicklabelposition

type ChoroplethColorbarTicklabelposition string

ChoroplethColorbarTicklabelposition Determines where tick labels are drawn.

const (
	ChoroplethColorbarTicklabelposition_outside       ChoroplethColorbarTicklabelposition = "outside"
	ChoroplethColorbarTicklabelposition_inside        ChoroplethColorbarTicklabelposition = "inside"
	ChoroplethColorbarTicklabelposition_outsidetop    ChoroplethColorbarTicklabelposition = "outside top"
	ChoroplethColorbarTicklabelposition_insidetop     ChoroplethColorbarTicklabelposition = "inside top"
	ChoroplethColorbarTicklabelposition_outsidebottom ChoroplethColorbarTicklabelposition = "outside bottom"
	ChoroplethColorbarTicklabelposition_insidebottom  ChoroplethColorbarTicklabelposition = "inside bottom"
)

type ChoroplethColorbarTickmode

type ChoroplethColorbarTickmode string

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).

const (
	ChoroplethColorbarTickmode_auto   ChoroplethColorbarTickmode = "auto"
	ChoroplethColorbarTickmode_linear ChoroplethColorbarTickmode = "linear"
	ChoroplethColorbarTickmode_array  ChoroplethColorbarTickmode = "array"
)

type ChoroplethColorbarTicks

type ChoroplethColorbarTicks string

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.

const (
	ChoroplethColorbarTicks_outside ChoroplethColorbarTicks = "outside"
	ChoroplethColorbarTicks_inside  ChoroplethColorbarTicks = "inside"
)

type ChoroplethColorbarTitle

type ChoroplethColorbarTitle struct {

	// Font <no value> Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.
	Font *ChoroplethColorbarTitleFont `json:"font,omitempty"`

	// Side 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.
	Side ChoroplethColorbarTitleSide `json:"side,omitempty"`

	// Text 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"`
}

type ChoroplethColorbarTitleFont

type ChoroplethColorbarTitleFont struct {

	// Color color <no value>
	Color String `json:"color,omitempty"`

	// Family string HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.
	Family String `json:"family,omitempty"`

	// Size number <no value>
	Size float64 `json:"size,omitempty"`
}

type ChoroplethColorbarTitleSide

type ChoroplethColorbarTitleSide string

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.

const (
	ChoroplethColorbarTitleSide_right  ChoroplethColorbarTitleSide = "right"
	ChoroplethColorbarTitleSide_top    ChoroplethColorbarTitleSide = "top"
	ChoroplethColorbarTitleSide_bottom ChoroplethColorbarTitleSide = "bottom"
)

type ChoroplethColorbarXanchor

type ChoroplethColorbarXanchor string

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.

const (
	ChoroplethColorbarXanchor_left   ChoroplethColorbarXanchor = "left"
	ChoroplethColorbarXanchor_center ChoroplethColorbarXanchor = "center"
	ChoroplethColorbarXanchor_right  ChoroplethColorbarXanchor = "right"
)

type ChoroplethColorbarYanchor

type ChoroplethColorbarYanchor string

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.

const (
	ChoroplethColorbarYanchor_top    ChoroplethColorbarYanchor = "top"
	ChoroplethColorbarYanchor_middle ChoroplethColorbarYanchor = "middle"
	ChoroplethColorbarYanchor_bottom ChoroplethColorbarYanchor = "bottom"
)

type ChoroplethHoverinfo

type ChoroplethHoverinfo string
const (
	// Flags
	ChoroplethHoverinfoLocation ChoroplethHoverinfo = "location"
	ChoroplethHoverinfoZ        ChoroplethHoverinfo = "z"
	ChoroplethHoverinfoText     ChoroplethHoverinfo = "text"
	ChoroplethHoverinfoName     ChoroplethHoverinfo = "name"
	// Extras
	ChoroplethHoverinfoAll  ChoroplethHoverinfo = "all"
	ChoroplethHoverinfoNone ChoroplethHoverinfo = "none"
	ChoroplethHoverinfoSkip ChoroplethHoverinfo = "skip"
)

type ChoroplethHoverlabel

type ChoroplethHoverlabel struct {

	// Align 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 string Sets the source reference on Chart Studio Cloud for  align .
	Alignsrc String `json:"alignsrc,omitempty"`

	// Bgcolor color Sets the background color of the hover labels for this trace
	Bgcolor interface{} `json:"bgcolor,omitempty"`

	// Bgcolorsrc string Sets the source reference on Chart Studio Cloud for  bgcolor .
	Bgcolorsrc String `json:"bgcolorsrc,omitempty"`

	// Bordercolor color Sets the border color of the hover labels for this trace.
	Bordercolor interface{} `json:"bordercolor,omitempty"`

	// Bordercolorsrc string Sets the source reference on Chart Studio Cloud for  bordercolor .
	Bordercolorsrc String `json:"bordercolorsrc,omitempty"`

	// Font <no value> Sets the font used in hover labels.
	Font *ChoroplethHoverlabelFont `json:"font,omitempty"`

	// Namelength 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 interface{} `json:"namelength,omitempty"`

	// Namelengthsrc string Sets the source reference on Chart Studio Cloud for  namelength .
	Namelengthsrc String `json:"namelengthsrc,omitempty"`
}

type ChoroplethHoverlabelAlign

type ChoroplethHoverlabelAlign string

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

const (
	ChoroplethHoverlabelAlign_left  ChoroplethHoverlabelAlign = "left"
	ChoroplethHoverlabelAlign_right ChoroplethHoverlabelAlign = "right"
	ChoroplethHoverlabelAlign_auto  ChoroplethHoverlabelAlign = "auto"
)

type ChoroplethHoverlabelFont

type ChoroplethHoverlabelFont struct {

	// Color color <no value>
	Color interface{} `json:"color,omitempty"`

	// Colorsrc string Sets the source reference on Chart Studio Cloud for  color .
	Colorsrc String `json:"colorsrc,omitempty"`

	// Family string HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.
	Family interface{} `json:"family,omitempty"`

	// Familysrc string Sets the source reference on Chart Studio Cloud for  family .
	Familysrc String `json:"familysrc,omitempty"`

	// Size number <no value>
	Size interface{} `json:"size,omitempty"`

	// Sizesrc string Sets the source reference on Chart Studio Cloud for  size .
	Sizesrc String `json:"sizesrc,omitempty"`
}

type ChoroplethLocationmode

type ChoroplethLocationmode string

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.

const (
	ChoroplethLocationmode_ISO_3        ChoroplethLocationmode = "ISO-3"
	ChoroplethLocationmode_USA_states   ChoroplethLocationmode = "USA-states"
	ChoroplethLocationmode_countrynames ChoroplethLocationmode = "country names"
	ChoroplethLocationmode_geojson_id   ChoroplethLocationmode = "geojson-id"
)

type ChoroplethMarker

type ChoroplethMarker struct {

	// Line <no value> <no value>
	Line *ChoroplethMarkerLine `json:"line,omitempty"`

	// Opacity number Sets the opacity of the locations.
	Opacity interface{} `json:"opacity,omitempty"`

	// Opacitysrc string Sets the source reference on Chart Studio Cloud for  opacity .
	Opacitysrc String `json:"opacitysrc,omitempty"`
}

type ChoroplethMarkerLine

type ChoroplethMarkerLine struct {

	// Color 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.
	Color interface{} `json:"color,omitempty"`

	// Colorsrc string Sets the source reference on Chart Studio Cloud for  color .
	Colorsrc String `json:"colorsrc,omitempty"`

	// Width number Sets the width (in px) of the lines bounding the marker points.
	Width interface{} `json:"width,omitempty"`

	// Widthsrc string Sets the source reference on Chart Studio Cloud for  width .
	Widthsrc String `json:"widthsrc,omitempty"`
}

type ChoroplethSelected

type ChoroplethSelected struct {

	// Marker <no value> <no value>
	Marker *ChoroplethSelectedMarker `json:"marker,omitempty"`
}

type ChoroplethSelectedMarker

type ChoroplethSelectedMarker struct {

	// Opacity number Sets the marker opacity of selected points.
	Opacity float64 `json:"opacity,omitempty"`
}

type ChoroplethStream

type ChoroplethStream struct {

	// Maxpoints 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 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"`
}

type ChoroplethTransforms

type ChoroplethTransforms interface{}

ChoroplethTransforms It's an items array and what goes inside it's... messy... check the docs Here is a hint to help you to define your own type transform

description
editType
role

type ChoroplethUnselected

type ChoroplethUnselected struct {

	// Marker <no value> <no value>
	Marker *ChoroplethUnselectedMarker `json:"marker,omitempty"`
}

type ChoroplethUnselectedMarker

type ChoroplethUnselectedMarker struct {

	// Opacity number Sets the marker opacity of unselected points, applied only when a selection exists.
	Opacity float64 `json:"opacity,omitempty"`
}

type ChoroplethVisible

type ChoroplethVisible interface{}

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).

var (
	ChoroplethVisible_True       ChoroplethVisible = true
	ChoroplethVisible_False      ChoroplethVisible = false
	ChoroplethVisible_legendonly ChoroplethVisible = "legendonly"
)

type Choroplethmapbox

type Choroplethmapbox struct {

	// Type is the type of the plot
	Type TraceType `json:"type,omitempty"`

	// Autocolorscale 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 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 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 <no value> <no value>
	Colorbar *ChoroplethmapboxColorbar `json:"colorbar,omitempty"`

	// Customdata 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 string Sets the source reference on Chart Studio Cloud for  customdata .
	Customdatasrc String `json:"customdatasrc,omitempty"`

	// Featureidkey 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 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 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 string Sets the source reference on Chart Studio Cloud for  hoverinfo .
	Hoverinfosrc String `json:"hoverinfosrc,omitempty"`

	// Hoverlabel <no value> <no value>
	Hoverlabel *ChoroplethmapboxHoverlabel `json:"hoverlabel,omitempty"`

	// Hovertemplate 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 `<extra>` is displayed in the secondary box, for example "<extra>{fullData.name}</extra>". To hide the secondary box completely, use an empty tag `<extra></extra>`.
	Hovertemplate interface{} `json:"hovertemplate,omitempty"`

	// Hovertemplatesrc string Sets the source reference on Chart Studio Cloud for  hovertemplate .
	Hovertemplatesrc String `json:"hovertemplatesrc,omitempty"`

	// Hovertext string Same as `text`.
	Hovertext interface{} `json:"hovertext,omitempty"`

	// Hovertextsrc string Sets the source reference on Chart Studio Cloud for  hovertext .
	Hovertextsrc String `json:"hovertextsrc,omitempty"`

	// Ids 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 string Sets the source reference on Chart Studio Cloud for  ids .
	Idssrc String `json:"idssrc,omitempty"`

	// Legendgroup 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"`

	// Locations data_array Sets which features found in *geojson* to plot using their feature `id` field.
	Locations interface{} `json:"locations,omitempty"`

	// Locationssrc string Sets the source reference on Chart Studio Cloud for  locations .
	Locationssrc String `json:"locationssrc,omitempty"`

	// Marker <no value> <no value>
	Marker *ChoroplethmapboxMarker `json:"marker,omitempty"`

	// Meta 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 string Sets the source reference on Chart Studio Cloud for  meta .
	Metasrc String `json:"metasrc,omitempty"`

	// Name string Sets the trace name. The trace name appear as the legend item and on hover.
	Name String `json:"name,omitempty"`

	// Reversescale 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 <no value> <no value>
	Selected *ChoroplethmapboxSelected `json:"selected,omitempty"`

	// Selectedpoints 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 boolean Determines whether or not an item corresponding to this trace is shown in the legend.
	Showlegend Bool `json:"showlegend,omitempty"`

	// Showscale boolean Determines whether or not a colorbar is displayed for this trace.
	Showscale Bool `json:"showscale,omitempty"`

	// Stream <no value> <no value>
	Stream *ChoroplethmapboxStream `json:"stream,omitempty"`

	// Subplot 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 string Sets the text elements associated with each location.
	Text interface{} `json:"text,omitempty"`

	// Textsrc string Sets the source reference on Chart Studio Cloud for  text .
	Textsrc String `json:"textsrc,omitempty"`

	// Transforms <no value> <no value>
	Transforms ChoroplethmapboxTransforms `json:"transforms,omitempty"`

	// Uid 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 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 <no value> <no value>
	Unselected *ChoroplethmapboxUnselected `json:"unselected,omitempty"`

	// Visible 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 data_array Sets the color values.
	Z interface{} `json:"z,omitempty"`

	// Zauto 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 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 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 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 string Sets the source reference on Chart Studio Cloud for  z .
	Zsrc String `json:"zsrc,omitempty"`
}

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`.

func NewChoroplethmapbox

func NewChoroplethmapbox() *Choroplethmapbox

func (*Choroplethmapbox) GetType

func (this *Choroplethmapbox) GetType() TraceType

type ChoroplethmapboxColorbar

type ChoroplethmapboxColorbar struct {

	// Bgcolor color Sets the color of padded area.
	Bgcolor String `json:"bgcolor,omitempty"`

	// Bordercolor color Sets the axis line color.
	Bordercolor String `json:"bordercolor,omitempty"`

	// Borderwidth number Sets the width (in px) or the border enclosing this color bar.
	Borderwidth float64 `json:"borderwidth,omitempty"`

	// Dtick 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<f>*, where `f` is a positive number, gives ticks linearly spaced in value (but not position). For example `tick0` = 0.1, `dtick` = *L0.5* will put ticks at 0.1, 0.6, 1.1, 1.6 etc. To show powers of 10 plus small digits between, use *D1* (all digits) or *D2* (only 2 and 5). `tick0` is ignored for *D1* and *D2*. If the axis `type` is *date*, then you must convert the time to milliseconds. For example, to set the interval between ticks to one day, set `dtick` to 86400000.0. *date* also has special values *M<n>* gives ticks spaced by a number of months. `n` must be a positive integer. To set ticks on the 15th of every third month, set `tick0` to *2000-01-15* and `dtick` to *M3*. To set ticks every 4 years, set `dtick` to *M48*
	Dtick interface{} `json:"dtick,omitempty"`

	// Exponentformat 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"`

	// Len 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 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 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 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"`

	// Outlinecolor color Sets the axis line color.
	Outlinecolor String `json:"outlinecolor,omitempty"`

	// Outlinewidth number Sets the width (in px) of the axis line.
	Outlinewidth float64 `json:"outlinewidth,omitempty"`

	// Separatethousands boolean If "true", even 4-digit integers are separated
	Separatethousands Bool `json:"separatethousands,omitempty"`

	// Showexponent 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 boolean Determines whether or not the tick labels are drawn.
	Showticklabels Bool `json:"showticklabels,omitempty"`

	// Showtickprefix 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 enumerated Same as `showtickprefix` but for tick suffixes.
	Showticksuffix ChoroplethmapboxColorbarShowticksuffix `json:"showticksuffix,omitempty"`

	// Thickness 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 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 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<f>* (see `dtick` for more info). If the axis `type` is *date*, it should be a date string, like date data. If the axis `type` is *category*, it should be a number, using the scale where each category is assigned a serial number from zero in the order it appears.
	Tick0 interface{} `json:"tick0,omitempty"`

	// Tickangle 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 color Sets the tick color.
	Tickcolor String `json:"tickcolor,omitempty"`

	// Tickfont <no value> Sets the color bar's tick label font
	Tickfont *ChoroplethmapboxColorbarTickfont `json:"tickfont,omitempty"`

	// Tickformat 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*
	Tickformat String `json:"tickformat,omitempty"`

	// Tickformatstops <no value> <no value>
	Tickformatstops ChoroplethmapboxColorbarTickformatstops `json:"tickformatstops,omitempty"`

	// Ticklabelposition enumerated Determines where tick labels are drawn.
	Ticklabelposition ChoroplethmapboxColorbarTicklabelposition `json:"ticklabelposition,omitempty"`

	// Ticklen number Sets the tick length (in px).
	Ticklen float64 `json:"ticklen,omitempty"`

	// Tickmode 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 string Sets a tick label prefix.
	Tickprefix String `json:"tickprefix,omitempty"`

	// Ticks 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 string Sets a tick label suffix.
	Ticksuffix String `json:"ticksuffix,omitempty"`

	// Ticktext 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 string Sets the source reference on Chart Studio Cloud for  ticktext .
	Ticktextsrc String `json:"ticktextsrc,omitempty"`

	// Tickvals 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 string Sets the source reference on Chart Studio Cloud for  tickvals .
	Tickvalssrc String `json:"tickvalssrc,omitempty"`

	// Tickwidth number Sets the tick width (in px).
	Tickwidth float64 `json:"tickwidth,omitempty"`

	// Title <no value> <no value>
	Title *ChoroplethmapboxColorbarTitle `json:"title,omitempty"`

	// X number Sets the x position of the color bar (in plot fraction).
	X float64 `json:"x,omitempty"`

	// Xanchor 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.
	Xanchor ChoroplethmapboxColorbarXanchor `json:"xanchor,omitempty"`

	// Xpad number Sets the amount of padding (in px) along the x direction.
	Xpad float64 `json:"xpad,omitempty"`

	// Y number Sets the y position of the color bar (in plot fraction).
	Y float64 `json:"y,omitempty"`

	// Yanchor 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.
	Yanchor ChoroplethmapboxColorbarYanchor `json:"yanchor,omitempty"`

	// Ypad number Sets the amount of padding (in px) along the y direction.
	Ypad float64 `json:"ypad,omitempty"`
}

type ChoroplethmapboxColorbarExponentformat

type ChoroplethmapboxColorbarExponentformat string

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.

const (
	ChoroplethmapboxColorbarExponentformat_none  ChoroplethmapboxColorbarExponentformat = "none"
	ChoroplethmapboxColorbarExponentformat_e     ChoroplethmapboxColorbarExponentformat = "e"
	ChoroplethmapboxColorbarExponentformat_E     ChoroplethmapboxColorbarExponentformat = "E"
	ChoroplethmapboxColorbarExponentformat_power ChoroplethmapboxColorbarExponentformat = "power"
	ChoroplethmapboxColorbarExponentformat_SI    ChoroplethmapboxColorbarExponentformat = "SI"
	ChoroplethmapboxColorbarExponentformat_B     ChoroplethmapboxColorbarExponentformat = "B"
)

type ChoroplethmapboxColorbarLenmode

type ChoroplethmapboxColorbarLenmode string

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.

const (
	ChoroplethmapboxColorbarLenmode_fraction ChoroplethmapboxColorbarLenmode = "fraction"
	ChoroplethmapboxColorbarLenmode_pixels   ChoroplethmapboxColorbarLenmode = "pixels"
)

type ChoroplethmapboxColorbarShowexponent

type ChoroplethmapboxColorbarShowexponent string

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.

const (
	ChoroplethmapboxColorbarShowexponent_all   ChoroplethmapboxColorbarShowexponent = "all"
	ChoroplethmapboxColorbarShowexponent_first ChoroplethmapboxColorbarShowexponent = "first"
	ChoroplethmapboxColorbarShowexponent_last  ChoroplethmapboxColorbarShowexponent = "last"
	ChoroplethmapboxColorbarShowexponent_none  ChoroplethmapboxColorbarShowexponent = "none"
)

type ChoroplethmapboxColorbarShowtickprefix

type ChoroplethmapboxColorbarShowtickprefix string

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.

const (
	ChoroplethmapboxColorbarShowtickprefix_all   ChoroplethmapboxColorbarShowtickprefix = "all"
	ChoroplethmapboxColorbarShowtickprefix_first ChoroplethmapboxColorbarShowtickprefix = "first"
	ChoroplethmapboxColorbarShowtickprefix_last  ChoroplethmapboxColorbarShowtickprefix = "last"
	ChoroplethmapboxColorbarShowtickprefix_none  ChoroplethmapboxColorbarShowtickprefix = "none"
)

type ChoroplethmapboxColorbarShowticksuffix

type ChoroplethmapboxColorbarShowticksuffix string

ChoroplethmapboxColorbarShowticksuffix Same as `showtickprefix` but for tick suffixes.

const (
	ChoroplethmapboxColorbarShowticksuffix_all   ChoroplethmapboxColorbarShowticksuffix = "all"
	ChoroplethmapboxColorbarShowticksuffix_first ChoroplethmapboxColorbarShowticksuffix = "first"
	ChoroplethmapboxColorbarShowticksuffix_last  ChoroplethmapboxColorbarShowticksuffix = "last"
	ChoroplethmapboxColorbarShowticksuffix_none  ChoroplethmapboxColorbarShowticksuffix = "none"
)

type ChoroplethmapboxColorbarThicknessmode

type ChoroplethmapboxColorbarThicknessmode string

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.

const (
	ChoroplethmapboxColorbarThicknessmode_fraction ChoroplethmapboxColorbarThicknessmode = "fraction"
	ChoroplethmapboxColorbarThicknessmode_pixels   ChoroplethmapboxColorbarThicknessmode = "pixels"
)

type ChoroplethmapboxColorbarTickfont

type ChoroplethmapboxColorbarTickfont struct {

	// Color color <no value>
	Color String `json:"color,omitempty"`

	// Family string HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.
	Family String `json:"family,omitempty"`

	// Size number <no value>
	Size float64 `json:"size,omitempty"`
}

type ChoroplethmapboxColorbarTickformatstops

type ChoroplethmapboxColorbarTickformatstops interface{}

ChoroplethmapboxColorbarTickformatstops It's an items array and what goes inside it's... messy... check the docs Here is a hint to help you to define your own type tickformatstop

dtickrange
editType
enabled
name
role
templateitemname
value

type ChoroplethmapboxColorbarTicklabelposition

type ChoroplethmapboxColorbarTicklabelposition string

ChoroplethmapboxColorbarTicklabelposition Determines where tick labels are drawn.

const (
	ChoroplethmapboxColorbarTicklabelposition_outside       ChoroplethmapboxColorbarTicklabelposition = "outside"
	ChoroplethmapboxColorbarTicklabelposition_inside        ChoroplethmapboxColorbarTicklabelposition = "inside"
	ChoroplethmapboxColorbarTicklabelposition_outsidetop    ChoroplethmapboxColorbarTicklabelposition = "outside top"
	ChoroplethmapboxColorbarTicklabelposition_insidetop     ChoroplethmapboxColorbarTicklabelposition = "inside top"
	ChoroplethmapboxColorbarTicklabelposition_outsidebottom ChoroplethmapboxColorbarTicklabelposition = "outside bottom"
	ChoroplethmapboxColorbarTicklabelposition_insidebottom  ChoroplethmapboxColorbarTicklabelposition = "inside bottom"
)

type ChoroplethmapboxColorbarTickmode

type ChoroplethmapboxColorbarTickmode string

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).

const (
	ChoroplethmapboxColorbarTickmode_auto   ChoroplethmapboxColorbarTickmode = "auto"
	ChoroplethmapboxColorbarTickmode_linear ChoroplethmapboxColorbarTickmode = "linear"
	ChoroplethmapboxColorbarTickmode_array  ChoroplethmapboxColorbarTickmode = "array"
)

type ChoroplethmapboxColorbarTicks

type ChoroplethmapboxColorbarTicks string

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.

const (
	ChoroplethmapboxColorbarTicks_outside ChoroplethmapboxColorbarTicks = "outside"
	ChoroplethmapboxColorbarTicks_inside  ChoroplethmapboxColorbarTicks = "inside"
)

type ChoroplethmapboxColorbarTitle

type ChoroplethmapboxColorbarTitle struct {

	// Font <no value> Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.
	Font *ChoroplethmapboxColorbarTitleFont `json:"font,omitempty"`

	// Side 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.
	Side ChoroplethmapboxColorbarTitleSide `json:"side,omitempty"`

	// Text 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"`
}

type ChoroplethmapboxColorbarTitleFont

type ChoroplethmapboxColorbarTitleFont struct {

	// Color color <no value>
	Color String `json:"color,omitempty"`

	// Family string HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.
	Family String `json:"family,omitempty"`

	// Size number <no value>
	Size float64 `json:"size,omitempty"`
}

type ChoroplethmapboxColorbarTitleSide

type ChoroplethmapboxColorbarTitleSide string

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.

const (
	ChoroplethmapboxColorbarTitleSide_right  ChoroplethmapboxColorbarTitleSide = "right"
	ChoroplethmapboxColorbarTitleSide_top    ChoroplethmapboxColorbarTitleSide = "top"
	ChoroplethmapboxColorbarTitleSide_bottom ChoroplethmapboxColorbarTitleSide = "bottom"
)

type ChoroplethmapboxColorbarXanchor

type ChoroplethmapboxColorbarXanchor string

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.

const (
	ChoroplethmapboxColorbarXanchor_left   ChoroplethmapboxColorbarXanchor = "left"
	ChoroplethmapboxColorbarXanchor_center ChoroplethmapboxColorbarXanchor = "center"
	ChoroplethmapboxColorbarXanchor_right  ChoroplethmapboxColorbarXanchor = "right"
)

type ChoroplethmapboxColorbarYanchor

type ChoroplethmapboxColorbarYanchor string

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.

const (
	ChoroplethmapboxColorbarYanchor_top    ChoroplethmapboxColorbarYanchor = "top"
	ChoroplethmapboxColorbarYanchor_middle ChoroplethmapboxColorbarYanchor = "middle"
	ChoroplethmapboxColorbarYanchor_bottom ChoroplethmapboxColorbarYanchor = "bottom"
)

type ChoroplethmapboxHoverinfo

type ChoroplethmapboxHoverinfo string
const (
	// Flags
	ChoroplethmapboxHoverinfoLocation ChoroplethmapboxHoverinfo = "location"
	ChoroplethmapboxHoverinfoZ        ChoroplethmapboxHoverinfo = "z"
	ChoroplethmapboxHoverinfoText     ChoroplethmapboxHoverinfo = "text"
	ChoroplethmapboxHoverinfoName     ChoroplethmapboxHoverinfo = "name"
	// Extras
	ChoroplethmapboxHoverinfoAll  ChoroplethmapboxHoverinfo = "all"
	ChoroplethmapboxHoverinfoNone ChoroplethmapboxHoverinfo = "none"
	ChoroplethmapboxHoverinfoSkip ChoroplethmapboxHoverinfo = "skip"
)

type ChoroplethmapboxHoverlabel

type ChoroplethmapboxHoverlabel struct {

	// Align 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 string Sets the source reference on Chart Studio Cloud for  align .
	Alignsrc String `json:"alignsrc,omitempty"`

	// Bgcolor color Sets the background color of the hover labels for this trace
	Bgcolor interface{} `json:"bgcolor,omitempty"`

	// Bgcolorsrc string Sets the source reference on Chart Studio Cloud for  bgcolor .
	Bgcolorsrc String `json:"bgcolorsrc,omitempty"`

	// Bordercolor color Sets the border color of the hover labels for this trace.
	Bordercolor interface{} `json:"bordercolor,omitempty"`

	// Bordercolorsrc string Sets the source reference on Chart Studio Cloud for  bordercolor .
	Bordercolorsrc String `json:"bordercolorsrc,omitempty"`

	// Font <no value> Sets the font used in hover labels.
	Font *ChoroplethmapboxHoverlabelFont `json:"font,omitempty"`

	// Namelength 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 interface{} `json:"namelength,omitempty"`

	// Namelengthsrc string Sets the source reference on Chart Studio Cloud for  namelength .
	Namelengthsrc String `json:"namelengthsrc,omitempty"`
}

type ChoroplethmapboxHoverlabelAlign

type ChoroplethmapboxHoverlabelAlign string

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

const (
	ChoroplethmapboxHoverlabelAlign_left  ChoroplethmapboxHoverlabelAlign = "left"
	ChoroplethmapboxHoverlabelAlign_right ChoroplethmapboxHoverlabelAlign = "right"
	ChoroplethmapboxHoverlabelAlign_auto  ChoroplethmapboxHoverlabelAlign = "auto"
)

type ChoroplethmapboxHoverlabelFont

type ChoroplethmapboxHoverlabelFont struct {

	// Color color <no value>
	Color interface{} `json:"color,omitempty"`

	// Colorsrc string Sets the source reference on Chart Studio Cloud for  color .
	Colorsrc String `json:"colorsrc,omitempty"`

	// Family string HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.
	Family interface{} `json:"family,omitempty"`

	// Familysrc string Sets the source reference on Chart Studio Cloud for  family .
	Familysrc String `json:"familysrc,omitempty"`

	// Size number <no value>
	Size interface{} `json:"size,omitempty"`

	// Sizesrc string Sets the source reference on Chart Studio Cloud for  size .
	Sizesrc String `json:"sizesrc,omitempty"`
}

type ChoroplethmapboxMarker

type ChoroplethmapboxMarker struct {

	// Line <no value> <no value>
	Line *ChoroplethmapboxMarkerLine `json:"line,omitempty"`

	// Opacity number Sets the opacity of the locations.
	Opacity interface{} `json:"opacity,omitempty"`

	// Opacitysrc string Sets the source reference on Chart Studio Cloud for  opacity .
	Opacitysrc String `json:"opacitysrc,omitempty"`
}

type ChoroplethmapboxMarkerLine

type ChoroplethmapboxMarkerLine struct {

	// Color 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.
	Color interface{} `json:"color,omitempty"`

	// Colorsrc string Sets the source reference on Chart Studio Cloud for  color .
	Colorsrc String `json:"colorsrc,omitempty"`

	// Width number Sets the width (in px) of the lines bounding the marker points.
	Width interface{} `json:"width,omitempty"`

	// Widthsrc string Sets the source reference on Chart Studio Cloud for  width .
	Widthsrc String `json:"widthsrc,omitempty"`
}

type ChoroplethmapboxSelected

type ChoroplethmapboxSelected struct {

	// Marker <no value> <no value>
	Marker *ChoroplethmapboxSelectedMarker `json:"marker,omitempty"`
}

type ChoroplethmapboxSelectedMarker

type ChoroplethmapboxSelectedMarker struct {

	// Opacity number Sets the marker opacity of selected points.
	Opacity float64 `json:"opacity,omitempty"`
}

type ChoroplethmapboxStream

type ChoroplethmapboxStream struct {

	// Maxpoints 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 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"`
}

type ChoroplethmapboxTransforms

type ChoroplethmapboxTransforms interface{}

ChoroplethmapboxTransforms It's an items array and what goes inside it's... messy... check the docs Here is a hint to help you to define your own type transform

description
editType
role

type ChoroplethmapboxUnselected

type ChoroplethmapboxUnselected struct {

	// Marker <no value> <no value>
	Marker *ChoroplethmapboxUnselectedMarker `json:"marker,omitempty"`
}

type ChoroplethmapboxUnselectedMarker

type ChoroplethmapboxUnselectedMarker struct {

	// Opacity number Sets the marker opacity of unselected points, applied only when a selection exists.
	Opacity float64 `json:"opacity,omitempty"`
}

type ChoroplethmapboxVisible

type ChoroplethmapboxVisible interface{}

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).

var (
	ChoroplethmapboxVisible_True       ChoroplethmapboxVisible = true
	ChoroplethmapboxVisible_False      ChoroplethmapboxVisible = false
	ChoroplethmapboxVisible_legendonly ChoroplethmapboxVisible = "legendonly"
)

type Cone

type Cone struct {

	// Type is the type of the plot
	Type TraceType `json:"type,omitempty"`

	// Anchor 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 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 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 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 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 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 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 <no value> <no value>
	Colorbar *ConeColorbar `json:"colorbar,omitempty"`

	// Customdata 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 string Sets the source reference on Chart Studio Cloud for  customdata .
	Customdatasrc String `json:"customdatasrc,omitempty"`

	// Hoverinfo 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 string Sets the source reference on Chart Studio Cloud for  hoverinfo .
	Hoverinfosrc String `json:"hoverinfosrc,omitempty"`

	// Hoverlabel <no value> <no value>
	Hoverlabel *ConeHoverlabel `json:"hoverlabel,omitempty"`

	// Hovertemplate 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 `<extra>` is displayed in the secondary box, for example "<extra>{fullData.name}</extra>". To hide the secondary box completely, use an empty tag `<extra></extra>`.
	Hovertemplate interface{} `json:"hovertemplate,omitempty"`

	// Hovertemplatesrc string Sets the source reference on Chart Studio Cloud for  hovertemplate .
	Hovertemplatesrc String `json:"hovertemplatesrc,omitempty"`

	// Hovertext string Same as `text`.
	Hovertext interface{} `json:"hovertext,omitempty"`

	// Hovertextsrc string Sets the source reference on Chart Studio Cloud for  hovertext .
	Hovertextsrc String `json:"hovertextsrc,omitempty"`

	// Ids 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 string Sets the source reference on Chart Studio Cloud for  ids .
	Idssrc String `json:"idssrc,omitempty"`

	// Legendgroup 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"`

	// Lighting <no value> <no value>
	Lighting *ConeLighting `json:"lighting,omitempty"`

	// Lightposition <no value> <no value>
	Lightposition *ConeLightposition `json:"lightposition,omitempty"`

	// Meta 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 string Sets the source reference on Chart Studio Cloud for  meta .
	Metasrc String `json:"metasrc,omitempty"`

	// Name string Sets the trace name. The trace name appear as the legend item and on hover.
	Name String `json:"name,omitempty"`

	// Opacity 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 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 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 boolean Determines whether or not an item corresponding to this trace is shown in the legend.
	Showlegend Bool `json:"showlegend,omitempty"`

	// Showscale boolean Determines whether or not a colorbar is displayed for this trace.
	Showscale Bool `json:"showscale,omitempty"`

	// Sizemode 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 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 <no value> <no value>
	Stream *ConeStream `json:"stream,omitempty"`

	// Text 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 interface{} `json:"text,omitempty"`

	// Textsrc string Sets the source reference on Chart Studio Cloud for  text .
	Textsrc String `json:"textsrc,omitempty"`

	// U data_array Sets the x components of the vector field.
	U interface{} `json:"u,omitempty"`

	// Uid 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 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 string Sets the source reference on Chart Studio Cloud for  u .
	Usrc String `json:"usrc,omitempty"`

	// V data_array Sets the y components of the vector field.
	V interface{} `json:"v,omitempty"`

	// Visible 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 string Sets the source reference on Chart Studio Cloud for  v .
	Vsrc String `json:"vsrc,omitempty"`

	// W data_array Sets the z components of the vector field.
	W interface{} `json:"w,omitempty"`

	// Wsrc string Sets the source reference on Chart Studio Cloud for  w .
	Wsrc String `json:"wsrc,omitempty"`

	// X data_array Sets the x coordinates of the vector field and of the displayed cones.
	X interface{} `json:"x,omitempty"`

	// Xsrc string Sets the source reference on Chart Studio Cloud for  x .
	Xsrc String `json:"xsrc,omitempty"`

	// Y data_array Sets the y coordinates of the vector field and of the displayed cones.
	Y interface{} `json:"y,omitempty"`

	// Ysrc string Sets the source reference on Chart Studio Cloud for  y .
	Ysrc String `json:"ysrc,omitempty"`

	// Z data_array Sets the z coordinates of the vector field and of the displayed cones.
	Z interface{} `json:"z,omitempty"`

	// Zsrc string Sets the source reference on Chart Studio Cloud for  z .
	Zsrc String `json:"zsrc,omitempty"`
}

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`.

func NewCone

func NewCone() *Cone

func (*Cone) GetType

func (this *Cone) GetType() TraceType

type ConeAnchor

type ConeAnchor string

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.

const (
	ConeAnchor_tip    ConeAnchor = "tip"
	ConeAnchor_tail   ConeAnchor = "tail"
	ConeAnchor_cm     ConeAnchor = "cm"
	ConeAnchor_center ConeAnchor = "center"
)

type ConeColorbar

type ConeColorbar struct {

	// Bgcolor color Sets the color of padded area.
	Bgcolor String `json:"bgcolor,omitempty"`

	// Bordercolor color Sets the axis line color.
	Bordercolor String `json:"bordercolor,omitempty"`

	// Borderwidth number Sets the width (in px) or the border enclosing this color bar.
	Borderwidth float64 `json:"borderwidth,omitempty"`

	// Dtick 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<f>*, where `f` is a positive number, gives ticks linearly spaced in value (but not position). For example `tick0` = 0.1, `dtick` = *L0.5* will put ticks at 0.1, 0.6, 1.1, 1.6 etc. To show powers of 10 plus small digits between, use *D1* (all digits) or *D2* (only 2 and 5). `tick0` is ignored for *D1* and *D2*. If the axis `type` is *date*, then you must convert the time to milliseconds. For example, to set the interval between ticks to one day, set `dtick` to 86400000.0. *date* also has special values *M<n>* gives ticks spaced by a number of months. `n` must be a positive integer. To set ticks on the 15th of every third month, set `tick0` to *2000-01-15* and `dtick` to *M3*. To set ticks every 4 years, set `dtick` to *M48*
	Dtick interface{} `json:"dtick,omitempty"`

	// Exponentformat 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"`

	// Len 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 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 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 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"`

	// Outlinecolor color Sets the axis line color.
	Outlinecolor String `json:"outlinecolor,omitempty"`

	// Outlinewidth number Sets the width (in px) of the axis line.
	Outlinewidth float64 `json:"outlinewidth,omitempty"`

	// Separatethousands boolean If "true", even 4-digit integers are separated
	Separatethousands Bool `json:"separatethousands,omitempty"`

	// Showexponent 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 boolean Determines whether or not the tick labels are drawn.
	Showticklabels Bool `json:"showticklabels,omitempty"`

	// Showtickprefix 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 enumerated Same as `showtickprefix` but for tick suffixes.
	Showticksuffix ConeColorbarShowticksuffix `json:"showticksuffix,omitempty"`

	// Thickness 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 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 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<f>* (see `dtick` for more info). If the axis `type` is *date*, it should be a date string, like date data. If the axis `type` is *category*, it should be a number, using the scale where each category is assigned a serial number from zero in the order it appears.
	Tick0 interface{} `json:"tick0,omitempty"`

	// Tickangle 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 color Sets the tick color.
	Tickcolor String `json:"tickcolor,omitempty"`

	// Tickfont <no value> Sets the color bar's tick label font
	Tickfont *ConeColorbarTickfont `json:"tickfont,omitempty"`

	// Tickformat 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*
	Tickformat String `json:"tickformat,omitempty"`

	// Tickformatstops <no value> <no value>
	Tickformatstops ConeColorbarTickformatstops `json:"tickformatstops,omitempty"`

	// Ticklabelposition enumerated Determines where tick labels are drawn.
	Ticklabelposition ConeColorbarTicklabelposition `json:"ticklabelposition,omitempty"`

	// Ticklen number Sets the tick length (in px).
	Ticklen float64 `json:"ticklen,omitempty"`

	// Tickmode 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 string Sets a tick label prefix.
	Tickprefix String `json:"tickprefix,omitempty"`

	// Ticks 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 string Sets a tick label suffix.
	Ticksuffix String `json:"ticksuffix,omitempty"`

	// Ticktext 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 string Sets the source reference on Chart Studio Cloud for  ticktext .
	Ticktextsrc String `json:"ticktextsrc,omitempty"`

	// Tickvals 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 string Sets the source reference on Chart Studio Cloud for  tickvals .
	Tickvalssrc String `json:"tickvalssrc,omitempty"`

	// Tickwidth number Sets the tick width (in px).
	Tickwidth float64 `json:"tickwidth,omitempty"`

	// Title <no value> <no value>
	Title *ConeColorbarTitle `json:"title,omitempty"`

	// X number Sets the x position of the color bar (in plot fraction).
	X float64 `json:"x,omitempty"`

	// Xanchor 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.
	Xanchor ConeColorbarXanchor `json:"xanchor,omitempty"`

	// Xpad number Sets the amount of padding (in px) along the x direction.
	Xpad float64 `json:"xpad,omitempty"`

	// Y number Sets the y position of the color bar (in plot fraction).
	Y float64 `json:"y,omitempty"`

	// Yanchor 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.
	Yanchor ConeColorbarYanchor `json:"yanchor,omitempty"`

	// Ypad number Sets the amount of padding (in px) along the y direction.
	Ypad float64 `json:"ypad,omitempty"`
}

type ConeColorbarExponentformat

type ConeColorbarExponentformat string

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.

const (
	ConeColorbarExponentformat_none  ConeColorbarExponentformat = "none"
	ConeColorbarExponentformat_e     ConeColorbarExponentformat = "e"
	ConeColorbarExponentformat_E     ConeColorbarExponentformat = "E"
	ConeColorbarExponentformat_power ConeColorbarExponentformat = "power"
	ConeColorbarExponentformat_SI    ConeColorbarExponentformat = "SI"
	ConeColorbarExponentformat_B     ConeColorbarExponentformat = "B"
)

type ConeColorbarLenmode

type ConeColorbarLenmode string

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.

const (
	ConeColorbarLenmode_fraction ConeColorbarLenmode = "fraction"
	ConeColorbarLenmode_pixels   ConeColorbarLenmode = "pixels"
)

type ConeColorbarShowexponent

type ConeColorbarShowexponent string

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.

const (
	ConeColorbarShowexponent_all   ConeColorbarShowexponent = "all"
	ConeColorbarShowexponent_first ConeColorbarShowexponent = "first"
	ConeColorbarShowexponent_last  ConeColorbarShowexponent = "last"
	ConeColorbarShowexponent_none  ConeColorbarShowexponent = "none"
)

type ConeColorbarShowtickprefix

type ConeColorbarShowtickprefix string

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.

const (
	ConeColorbarShowtickprefix_all   ConeColorbarShowtickprefix = "all"
	ConeColorbarShowtickprefix_first ConeColorbarShowtickprefix = "first"
	ConeColorbarShowtickprefix_last  ConeColorbarShowtickprefix = "last"
	ConeColorbarShowtickprefix_none  ConeColorbarShowtickprefix = "none"
)

type ConeColorbarShowticksuffix

type ConeColorbarShowticksuffix string

ConeColorbarShowticksuffix Same as `showtickprefix` but for tick suffixes.

const (
	ConeColorbarShowticksuffix_all   ConeColorbarShowticksuffix = "all"
	ConeColorbarShowticksuffix_first ConeColorbarShowticksuffix = "first"
	ConeColorbarShowticksuffix_last  ConeColorbarShowticksuffix = "last"
	ConeColorbarShowticksuffix_none  ConeColorbarShowticksuffix = "none"
)

type ConeColorbarThicknessmode

type ConeColorbarThicknessmode string

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.

const (
	ConeColorbarThicknessmode_fraction ConeColorbarThicknessmode = "fraction"
	ConeColorbarThicknessmode_pixels   ConeColorbarThicknessmode = "pixels"
)

type ConeColorbarTickfont

type ConeColorbarTickfont struct {

	// Color color <no value>
	Color String `json:"color,omitempty"`

	// Family string HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.
	Family String `json:"family,omitempty"`

	// Size number <no value>
	Size float64 `json:"size,omitempty"`
}

type ConeColorbarTickformatstops

type ConeColorbarTickformatstops interface{}

ConeColorbarTickformatstops It's an items array and what goes inside it's... messy... check the docs Here is a hint to help you to define your own type tickformatstop

dtickrange
editType
enabled
name
role
templateitemname
value

type ConeColorbarTicklabelposition

type ConeColorbarTicklabelposition string

ConeColorbarTicklabelposition Determines where tick labels are drawn.

const (
	ConeColorbarTicklabelposition_outside       ConeColorbarTicklabelposition = "outside"
	ConeColorbarTicklabelposition_inside        ConeColorbarTicklabelposition = "inside"
	ConeColorbarTicklabelposition_outsidetop    ConeColorbarTicklabelposition = "outside top"
	ConeColorbarTicklabelposition_insidetop     ConeColorbarTicklabelposition = "inside top"
	ConeColorbarTicklabelposition_outsidebottom ConeColorbarTicklabelposition = "outside bottom"
	ConeColorbarTicklabelposition_insidebottom  ConeColorbarTicklabelposition = "inside bottom"
)

type ConeColorbarTickmode

type ConeColorbarTickmode string

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).

const (
	ConeColorbarTickmode_auto   ConeColorbarTickmode = "auto"
	ConeColorbarTickmode_linear ConeColorbarTickmode = "linear"
	ConeColorbarTickmode_array  ConeColorbarTickmode = "array"
)

type ConeColorbarTicks

type ConeColorbarTicks string

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.

const (
	ConeColorbarTicks_outside ConeColorbarTicks = "outside"
	ConeColorbarTicks_inside  ConeColorbarTicks = "inside"
)

type ConeColorbarTitle

type ConeColorbarTitle struct {

	// Font <no value> Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.
	Font *ConeColorbarTitleFont `json:"font,omitempty"`

	// Side 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.
	Side ConeColorbarTitleSide `json:"side,omitempty"`

	// Text 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"`
}

type ConeColorbarTitleFont

type ConeColorbarTitleFont struct {

	// Color color <no value>
	Color String `json:"color,omitempty"`

	// Family string HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.
	Family String `json:"family,omitempty"`

	// Size number <no value>
	Size float64 `json:"size,omitempty"`
}

type ConeColorbarTitleSide

type ConeColorbarTitleSide string

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.

const (
	ConeColorbarTitleSide_right  ConeColorbarTitleSide = "right"
	ConeColorbarTitleSide_top    ConeColorbarTitleSide = "top"
	ConeColorbarTitleSide_bottom ConeColorbarTitleSide = "bottom"
)

type ConeColorbarXanchor

type ConeColorbarXanchor string

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.

const (
	ConeColorbarXanchor_left   ConeColorbarXanchor = "left"
	ConeColorbarXanchor_center ConeColorbarXanchor = "center"
	ConeColorbarXanchor_right  ConeColorbarXanchor = "right"
)

type ConeColorbarYanchor

type ConeColorbarYanchor string

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.

const (
	ConeColorbarYanchor_top    ConeColorbarYanchor = "top"
	ConeColorbarYanchor_middle ConeColorbarYanchor = "middle"
	ConeColorbarYanchor_bottom ConeColorbarYanchor = "bottom"
)

type ConeHoverinfo

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"
	// Extras
	ConeHoverinfoAll  ConeHoverinfo = "all"
	ConeHoverinfoNone ConeHoverinfo = "none"
	ConeHoverinfoSkip ConeHoverinfo = "skip"
)

type ConeHoverlabel

type ConeHoverlabel struct {

	// Align 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 string Sets the source reference on Chart Studio Cloud for  align .
	Alignsrc String `json:"alignsrc,omitempty"`

	// Bgcolor color Sets the background color of the hover labels for this trace
	Bgcolor interface{} `json:"bgcolor,omitempty"`

	// Bgcolorsrc string Sets the source reference on Chart Studio Cloud for  bgcolor .
	Bgcolorsrc String `json:"bgcolorsrc,omitempty"`

	// Bordercolor color Sets the border color of the hover labels for this trace.
	Bordercolor interface{} `json:"bordercolor,omitempty"`

	// Bordercolorsrc string Sets the source reference on Chart Studio Cloud for  bordercolor .
	Bordercolorsrc String `json:"bordercolorsrc,omitempty"`

	// Font <no value> Sets the font used in hover labels.
	Font *ConeHoverlabelFont `json:"font,omitempty"`

	// Namelength 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 interface{} `json:"namelength,omitempty"`

	// Namelengthsrc string Sets the source reference on Chart Studio Cloud for  namelength .
	Namelengthsrc String `json:"namelengthsrc,omitempty"`
}

type ConeHoverlabelAlign

type ConeHoverlabelAlign string

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

const (
	ConeHoverlabelAlign_left  ConeHoverlabelAlign = "left"
	ConeHoverlabelAlign_right ConeHoverlabelAlign = "right"
	ConeHoverlabelAlign_auto  ConeHoverlabelAlign = "auto"
)

type ConeHoverlabelFont

type ConeHoverlabelFont struct {

	// Color color <no value>
	Color interface{} `json:"color,omitempty"`

	// Colorsrc string Sets the source reference on Chart Studio Cloud for  color .
	Colorsrc String `json:"colorsrc,omitempty"`

	// Family string HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.
	Family interface{} `json:"family,omitempty"`

	// Familysrc string Sets the source reference on Chart Studio Cloud for  family .
	Familysrc String `json:"familysrc,omitempty"`

	// Size number <no value>
	Size interface{} `json:"size,omitempty"`

	// Sizesrc string Sets the source reference on Chart Studio Cloud for  size .
	Sizesrc String `json:"sizesrc,omitempty"`
}

type ConeLighting

type ConeLighting struct {

	// Ambient number Ambient light increases overall color visibility but can wash out the image.
	Ambient float64 `json:"ambient,omitempty"`

	// Diffuse number Represents the extent that incident rays are reflected in a range of angles.
	Diffuse float64 `json:"diffuse,omitempty"`

	// Facenormalsepsilon number Epsilon for face normals calculation avoids math issues arising from degenerate geometry.
	Facenormalsepsilon float64 `json:"facenormalsepsilon,omitempty"`

	// Fresnel 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 number Alters specular reflection; the rougher the surface, the wider and less contrasty the shine.
	Roughness float64 `json:"roughness,omitempty"`

	// Specular number Represents the level that incident rays are reflected in a single direction, causing shine.
	Specular float64 `json:"specular,omitempty"`

	// Vertexnormalsepsilon number Epsilon for vertex normals calculation avoids math issues arising from degenerate geometry.
	Vertexnormalsepsilon float64 `json:"vertexnormalsepsilon,omitempty"`
}

type ConeLightposition

type ConeLightposition struct {

	// X number Numeric vector, representing the X coordinate for each vertex.
	X float64 `json:"x,omitempty"`

	// Y number Numeric vector, representing the Y coordinate for each vertex.
	Y float64 `json:"y,omitempty"`

	// Z number Numeric vector, representing the Z coordinate for each vertex.
	Z float64 `json:"z,omitempty"`
}

type ConeSizemode

type ConeSizemode string

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).

const (
	ConeSizemode_scaled   ConeSizemode = "scaled"
	ConeSizemode_absolute ConeSizemode = "absolute"
)

type ConeStream

type ConeStream struct {

	// Maxpoints 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 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"`
}

type ConeVisible

type ConeVisible interface{}

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).

var (
	ConeVisible_True       ConeVisible = true
	ConeVisible_False      ConeVisible = false
	ConeVisible_legendonly ConeVisible = "legendonly"
)

type Config

type Config struct {

	// Autosizable boolean Determines whether the graphs are plotted with respect to layout.autosize:true and infer its container size.
	Autosizable Bool `json:"autosizable,omitempty"`

	// DisplayModeBar 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 Bool `json:"displaylogo,omitempty"`

	// DoubleClick 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 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"`

	// Editable 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 <no value> <no value>
	Edits *ConfigEdits `json:"edits,omitempty"`

	// FillFrame 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 number When `layout.autosize` is turned on, set the frame margins in fraction of the graph size.
	FrameMargins float64 `json:"frameMargins,omitempty"`

	// GlobalTransforms any Set global transform to be applied to all traces with no specification needed
	GlobalTransforms interface{} `json:"globalTransforms,omitempty"`

	// LinkText string Sets the text appearing in the `showLink` link.
	LinkText String `json:"linkText,omitempty"`

	// Locale string Which localization should we use? Should be a string like 'en' or 'en-US'.
	Locale String `json:"locale,omitempty"`

	// Locales 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 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 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 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 any Add mode bar button using config objects See ./components/modebar/buttons.js for list of arguments.
	ModeBarButtonsToAdd interface{} `json:"modeBarButtonsToAdd,omitempty"`

	// ModeBarButtonsToRemove any Remove mode bar buttons by name. See ./components/modebar/buttons.js for the list of names.
	ModeBarButtonsToRemove interface{} `json:"modeBarButtonsToRemove,omitempty"`

	// NotifyOnLogging 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 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 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 integer Sets the length of the undo/redo queue.
	QueueLength int64 `json:"queueLength,omitempty"`

	// Responsive boolean Determines whether to change the layout size when window is resized. In v2, this option will be removed and will always be true.
	Responsive Bool `json:"responsive,omitempty"`

	// ScrollZoom 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 boolean If *showLink* is true, does it contain data just link to a Chart Studio Cloud file?
	SendData Bool `json:"sendData,omitempty"`

	// SetBackground 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 boolean Set to *false* to omit cartesian axis pan/zoom drag handles.
	ShowAxisDragHandles Bool `json:"showAxisDragHandles,omitempty"`

	// ShowAxisRangeEntryBoxes 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 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 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 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 any Adds a source-displaying function to show sources on the resulting graphs.
	ShowSources interface{} `json:"showSources,omitempty"`

	// ShowTips boolean Determines whether or not tips are shown while interacting with the resulting graphs.
	ShowTips Bool `json:"showTips,omitempty"`

	// StaticPlot boolean Determines whether the graphs are interactive or not. If *false*, no interactivity, for export or image generation.
	StaticPlot Bool `json:"staticPlot,omitempty"`

	// ToImageButtonOptions 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 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: <path-to-plotly.js>/dist/topojson/ to render geographical feature using the topojson files that ship with the plotly.js module.
	TopojsonURL String `json:"topojsonURL,omitempty"`

	// Watermark boolean watermark the images with the company's logo
	Watermark Bool `json:"watermark,omitempty"`
}

type ConfigDisplaymodebar

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.

var (
	ConfigDisplaymodebar_hover ConfigDisplaymodebar = "hover"
	ConfigDisplaymodebar_True  ConfigDisplaymodebar = true
	ConfigDisplaymodebar_False ConfigDisplaymodebar = false
)

type ConfigDoubleclick

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.

var (
	ConfigDoubleclick_False             ConfigDoubleclick = false
	ConfigDoubleclick_reset             ConfigDoubleclick = "reset"
	ConfigDoubleclick_autosize          ConfigDoubleclick = "autosize"
	ConfigDoubleclick_resetplusautosize ConfigDoubleclick = "reset+autosize"
)

type ConfigEdits

type ConfigEdits struct {

	// AnnotationPosition 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 boolean Has only an effect for annotations with arrows. Enables changing the length and direction of the arrow.
	AnnotationTail Bool `json:"annotationTail,omitempty"`

	// AnnotationText boolean Enables editing annotation text.
	AnnotationText Bool `json:"annotationText,omitempty"`

	// AxisTitleText boolean Enables editing axis title text.
	AxisTitleText Bool `json:"axisTitleText,omitempty"`

	// ColorbarPosition boolean Enables moving colorbars.
	ColorbarPosition Bool `json:"colorbarPosition,omitempty"`

	// ColorbarTitleText boolean Enables editing colorbar title text.
	ColorbarTitleText Bool `json:"colorbarTitleText,omitempty"`

	// LegendPosition boolean Enables moving the legend.
	LegendPosition Bool `json:"legendPosition,omitempty"`

	// LegendText boolean Enables editing the trace name fields from the legend
	LegendText Bool `json:"legendText,omitempty"`

	// ShapePosition boolean Enables moving shapes.
	ShapePosition Bool `json:"shapePosition,omitempty"`

	// TitleText boolean Enables editing the global layout title.
	TitleText Bool `json:"titleText,omitempty"`
}

type ConfigScrollzoom

type ConfigScrollzoom interface{}
var (
	// Flags
	ConfigScrollzoomCartesian ConfigScrollzoom = "cartesian"
	ConfigScrollzoomGl3d      ConfigScrollzoom = "gl3d"
	ConfigScrollzoomGeo       ConfigScrollzoom = "geo"
	ConfigScrollzoomMapbox    ConfigScrollzoom = "mapbox"
	// Extras
	ConfigScrollzoomTrue  ConfigScrollzoom = true
	ConfigScrollzoomFalse ConfigScrollzoom = false
)

type Contour

type Contour struct {

	// Type is the type of the plot
	Type TraceType `json:"type,omitempty"`

	// Autocolorscale 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 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 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 <no value> <no value>
	Colorbar *ContourColorbar `json:"colorbar,omitempty"`

	// Connectgaps 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 <no value> <no value>
	Contours *ContourContours `json:"contours,omitempty"`

	// Customdata 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 string Sets the source reference on Chart Studio Cloud for  customdata .
	Customdatasrc String `json:"customdatasrc,omitempty"`

	// Dx number Sets the x coordinate step. See `x0` for more info.
	Dx float64 `json:"dx,omitempty"`

	// Dy number Sets the y coordinate step. See `y0` for more info.
	Dy float64 `json:"dy,omitempty"`

	// Fillcolor 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 String `json:"fillcolor,omitempty"`

	// Hoverinfo 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 string Sets the source reference on Chart Studio Cloud for  hoverinfo .
	Hoverinfosrc String `json:"hoverinfosrc,omitempty"`

	// Hoverlabel <no value> <no value>
	Hoverlabel *ContourHoverlabel `json:"hoverlabel,omitempty"`

	// Hoverongaps 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 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 `<extra>` is displayed in the secondary box, for example "<extra>{fullData.name}</extra>". To hide the secondary box completely, use an empty tag `<extra></extra>`.
	Hovertemplate interface{} `json:"hovertemplate,omitempty"`

	// Hovertemplatesrc string Sets the source reference on Chart Studio Cloud for  hovertemplate .
	Hovertemplatesrc String `json:"hovertemplatesrc,omitempty"`

	// Hovertext data_array Same as `text`.
	Hovertext interface{} `json:"hovertext,omitempty"`

	// Hovertextsrc string Sets the source reference on Chart Studio Cloud for  hovertext .
	Hovertextsrc String `json:"hovertextsrc,omitempty"`

	// Ids 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 string Sets the source reference on Chart Studio Cloud for  ids .
	Idssrc String `json:"idssrc,omitempty"`

	// Legendgroup 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"`

	// Line <no value> <no value>
	Line *ContourLine `json:"line,omitempty"`

	// Meta 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 string Sets the source reference on Chart Studio Cloud for  meta .
	Metasrc String `json:"metasrc,omitempty"`

	// Name string Sets the trace name. The trace name appear as the legend item and on hover.
	Name String `json:"name,omitempty"`

	// Ncontours 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 number Sets the opacity of the trace.
	Opacity float64 `json:"opacity,omitempty"`

	// Reversescale 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 boolean Determines whether or not an item corresponding to this trace is shown in the legend.
	Showlegend Bool `json:"showlegend,omitempty"`

	// Showscale boolean Determines whether or not a colorbar is displayed for this trace.
	Showscale Bool `json:"showscale,omitempty"`

	// Stream <no value> <no value>
	Stream *ContourStream `json:"stream,omitempty"`

	// Text data_array Sets the text elements associated with each z value.
	Text interface{} `json:"text,omitempty"`

	// Textsrc string Sets the source reference on Chart Studio Cloud for  text .
	Textsrc String `json:"textsrc,omitempty"`

	// Transforms <no value> <no value>
	Transforms ContourTransforms `json:"transforms,omitempty"`

	// Transpose boolean Transposes the z data.
	Transpose Bool `json:"transpose,omitempty"`

	// Uid 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 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 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 data_array Sets the x coordinates.
	X interface{} `json:"x,omitempty"`

	// X0 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 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 enumerated Sets the calendar system to use with `x` date data.
	Xcalendar ContourXcalendar `json:"xcalendar,omitempty"`

	// Xperiod any Only relevant when the axis `type` is *date*. Sets the period positioning in milliseconds or *M<n>* on the x axis. Special values in the form of *M<n>* could be used to declare the number of months. In this case `n` must be a positive integer.
	Xperiod interface{} `json:"xperiod,omitempty"`

	// Xperiod0 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 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 string Sets the source reference on Chart Studio Cloud for  x .
	Xsrc String `json:"xsrc,omitempty"`

	// Xtype 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 data_array Sets the y coordinates.
	Y interface{} `json:"y,omitempty"`

	// Y0 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 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 enumerated Sets the calendar system to use with `y` date data.
	Ycalendar ContourYcalendar `json:"ycalendar,omitempty"`

	// Yperiod any Only relevant when the axis `type` is *date*. Sets the period positioning in milliseconds or *M<n>* on the y axis. Special values in the form of *M<n>* could be used to declare the number of months. In this case `n` must be a positive integer.
	Yperiod interface{} `json:"yperiod,omitempty"`

	// Yperiod0 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 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 string Sets the source reference on Chart Studio Cloud for  y .
	Ysrc String `json:"ysrc,omitempty"`

	// Ytype 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 data_array Sets the z data.
	Z interface{} `json:"z,omitempty"`

	// Zauto 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 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
	Zhoverformat String `json:"zhoverformat,omitempty"`

	// Zmax 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 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 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 string Sets the source reference on Chart Studio Cloud for  z .
	Zsrc String `json:"zsrc,omitempty"`
}

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.

func NewContour

func NewContour() *Contour

func (*Contour) GetType

func (this *Contour) GetType() TraceType

type ContourColorbar

type ContourColorbar struct {

	// Bgcolor color Sets the color of padded area.
	Bgcolor String `json:"bgcolor,omitempty"`

	// Bordercolor color Sets the axis line color.
	Bordercolor String `json:"bordercolor,omitempty"`

	// Borderwidth number Sets the width (in px) or the border enclosing this color bar.
	Borderwidth float64 `json:"borderwidth,omitempty"`

	// Dtick 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<f>*, where `f` is a positive number, gives ticks linearly spaced in value (but not position). For example `tick0` = 0.1, `dtick` = *L0.5* will put ticks at 0.1, 0.6, 1.1, 1.6 etc. To show powers of 10 plus small digits between, use *D1* (all digits) or *D2* (only 2 and 5). `tick0` is ignored for *D1* and *D2*. If the axis `type` is *date*, then you must convert the time to milliseconds. For example, to set the interval between ticks to one day, set `dtick` to 86400000.0. *date* also has special values *M<n>* gives ticks spaced by a number of months. `n` must be a positive integer. To set ticks on the 15th of every third month, set `tick0` to *2000-01-15* and `dtick` to *M3*. To set ticks every 4 years, set `dtick` to *M48*
	Dtick interface{} `json:"dtick,omitempty"`

	// Exponentformat 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"`

	// Len 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 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 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 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"`

	// Outlinecolor color Sets the axis line color.
	Outlinecolor String `json:"outlinecolor,omitempty"`

	// Outlinewidth number Sets the width (in px) of the axis line.
	Outlinewidth float64 `json:"outlinewidth,omitempty"`

	// Separatethousands boolean If "true", even 4-digit integers are separated
	Separatethousands Bool `json:"separatethousands,omitempty"`

	// Showexponent 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 boolean Determines whether or not the tick labels are drawn.
	Showticklabels Bool `json:"showticklabels,omitempty"`

	// Showtickprefix 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 enumerated Same as `showtickprefix` but for tick suffixes.
	Showticksuffix ContourColorbarShowticksuffix `json:"showticksuffix,omitempty"`

	// Thickness 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 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 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<f>* (see `dtick` for more info). If the axis `type` is *date*, it should be a date string, like date data. If the axis `type` is *category*, it should be a number, using the scale where each category is assigned a serial number from zero in the order it appears.
	Tick0 interface{} `json:"tick0,omitempty"`

	// Tickangle 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 color Sets the tick color.
	Tickcolor String `json:"tickcolor,omitempty"`

	// Tickfont <no value> Sets the color bar's tick label font
	Tickfont *ContourColorbarTickfont `json:"tickfont,omitempty"`

	// Tickformat 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*
	Tickformat String `json:"tickformat,omitempty"`

	// Tickformatstops <no value> <no value>
	Tickformatstops ContourColorbarTickformatstops `json:"tickformatstops,omitempty"`

	// Ticklabelposition enumerated Determines where tick labels are drawn.
	Ticklabelposition ContourColorbarTicklabelposition `json:"ticklabelposition,omitempty"`

	// Ticklen number Sets the tick length (in px).
	Ticklen float64 `json:"ticklen,omitempty"`

	// Tickmode 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 string Sets a tick label prefix.
	Tickprefix String `json:"tickprefix,omitempty"`

	// Ticks 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 string Sets a tick label suffix.
	Ticksuffix String `json:"ticksuffix,omitempty"`

	// Ticktext 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 string Sets the source reference on Chart Studio Cloud for  ticktext .
	Ticktextsrc String `json:"ticktextsrc,omitempty"`

	// Tickvals 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 string Sets the source reference on Chart Studio Cloud for  tickvals .
	Tickvalssrc String `json:"tickvalssrc,omitempty"`

	// Tickwidth number Sets the tick width (in px).
	Tickwidth float64 `json:"tickwidth,omitempty"`

	// Title <no value> <no value>
	Title *ContourColorbarTitle `json:"title,omitempty"`

	// X number Sets the x position of the color bar (in plot fraction).
	X float64 `json:"x,omitempty"`

	// Xanchor 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.
	Xanchor ContourColorbarXanchor `json:"xanchor,omitempty"`

	// Xpad number Sets the amount of padding (in px) along the x direction.
	Xpad float64 `json:"xpad,omitempty"`

	// Y number Sets the y position of the color bar (in plot fraction).
	Y float64 `json:"y,omitempty"`

	// Yanchor 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.
	Yanchor ContourColorbarYanchor `json:"yanchor,omitempty"`

	// Ypad number Sets the amount of padding (in px) along the y direction.
	Ypad float64 `json:"ypad,omitempty"`
}

type ContourColorbarExponentformat

type ContourColorbarExponentformat string

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.

const (
	ContourColorbarExponentformat_none  ContourColorbarExponentformat = "none"
	ContourColorbarExponentformat_e     ContourColorbarExponentformat = "e"
	ContourColorbarExponentformat_E     ContourColorbarExponentformat = "E"
	ContourColorbarExponentformat_power ContourColorbarExponentformat = "power"
	ContourColorbarExponentformat_SI    ContourColorbarExponentformat = "SI"
	ContourColorbarExponentformat_B     ContourColorbarExponentformat = "B"
)

type ContourColorbarLenmode

type ContourColorbarLenmode string

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.

const (
	ContourColorbarLenmode_fraction ContourColorbarLenmode = "fraction"
	ContourColorbarLenmode_pixels   ContourColorbarLenmode = "pixels"
)

type ContourColorbarShowexponent

type ContourColorbarShowexponent string

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.

const (
	ContourColorbarShowexponent_all   ContourColorbarShowexponent = "all"
	ContourColorbarShowexponent_first ContourColorbarShowexponent = "first"
	ContourColorbarShowexponent_last  ContourColorbarShowexponent = "last"
	ContourColorbarShowexponent_none  ContourColorbarShowexponent = "none"
)

type ContourColorbarShowtickprefix

type ContourColorbarShowtickprefix string

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.

const (
	ContourColorbarShowtickprefix_all   ContourColorbarShowtickprefix = "all"
	ContourColorbarShowtickprefix_first ContourColorbarShowtickprefix = "first"
	ContourColorbarShowtickprefix_last  ContourColorbarShowtickprefix = "last"
	ContourColorbarShowtickprefix_none  ContourColorbarShowtickprefix = "none"
)

type ContourColorbarShowticksuffix

type ContourColorbarShowticksuffix string

ContourColorbarShowticksuffix Same as `showtickprefix` but for tick suffixes.

const (
	ContourColorbarShowticksuffix_all   ContourColorbarShowticksuffix = "all"
	ContourColorbarShowticksuffix_first ContourColorbarShowticksuffix = "first"
	ContourColorbarShowticksuffix_last  ContourColorbarShowticksuffix = "last"
	ContourColorbarShowticksuffix_none  ContourColorbarShowticksuffix = "none"
)

type ContourColorbarThicknessmode

type ContourColorbarThicknessmode string

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.

const (
	ContourColorbarThicknessmode_fraction ContourColorbarThicknessmode = "fraction"
	ContourColorbarThicknessmode_pixels   ContourColorbarThicknessmode = "pixels"
)

type ContourColorbarTickfont

type ContourColorbarTickfont struct {

	// Color color <no value>
	Color String `json:"color,omitempty"`

	// Family string HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.
	Family String `json:"family,omitempty"`

	// Size number <no value>
	Size float64 `json:"size,omitempty"`
}

type ContourColorbarTickformatstops

type ContourColorbarTickformatstops interface{}

ContourColorbarTickformatstops It's an items array and what goes inside it's... messy... check the docs Here is a hint to help you to define your own type tickformatstop

dtickrange
editType
enabled
name
role
templateitemname
value

type ContourColorbarTicklabelposition

type ContourColorbarTicklabelposition string

ContourColorbarTicklabelposition Determines where tick labels are drawn.

const (
	ContourColorbarTicklabelposition_outside       ContourColorbarTicklabelposition = "outside"
	ContourColorbarTicklabelposition_inside        ContourColorbarTicklabelposition = "inside"
	ContourColorbarTicklabelposition_outsidetop    ContourColorbarTicklabelposition = "outside top"
	ContourColorbarTicklabelposition_insidetop     ContourColorbarTicklabelposition = "inside top"
	ContourColorbarTicklabelposition_outsidebottom ContourColorbarTicklabelposition = "outside bottom"
	ContourColorbarTicklabelposition_insidebottom  ContourColorbarTicklabelposition = "inside bottom"
)

type ContourColorbarTickmode

type ContourColorbarTickmode string

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).

const (
	ContourColorbarTickmode_auto   ContourColorbarTickmode = "auto"
	ContourColorbarTickmode_linear ContourColorbarTickmode = "linear"
	ContourColorbarTickmode_array  ContourColorbarTickmode = "array"
)

type ContourColorbarTicks

type ContourColorbarTicks string

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.

const (
	ContourColorbarTicks_outside ContourColorbarTicks = "outside"
	ContourColorbarTicks_inside  ContourColorbarTicks = "inside"
)

type ContourColorbarTitle

type ContourColorbarTitle struct {

	// Font <no value> Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.
	Font *ContourColorbarTitleFont `json:"font,omitempty"`

	// Side 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.
	Side ContourColorbarTitleSide `json:"side,omitempty"`

	// Text 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"`
}

type ContourColorbarTitleFont

type ContourColorbarTitleFont struct {

	// Color color <no value>
	Color String `json:"color,omitempty"`

	// Family string HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.
	Family String `json:"family,omitempty"`

	// Size number <no value>
	Size float64 `json:"size,omitempty"`
}

type ContourColorbarTitleSide

type ContourColorbarTitleSide string

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.

const (
	ContourColorbarTitleSide_right  ContourColorbarTitleSide = "right"
	ContourColorbarTitleSide_top    ContourColorbarTitleSide = "top"
	ContourColorbarTitleSide_bottom ContourColorbarTitleSide = "bottom"
)

type ContourColorbarXanchor

type ContourColorbarXanchor string

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.

const (
	ContourColorbarXanchor_left   ContourColorbarXanchor = "left"
	ContourColorbarXanchor_center ContourColorbarXanchor = "center"
	ContourColorbarXanchor_right  ContourColorbarXanchor = "right"
)

type ContourColorbarYanchor

type ContourColorbarYanchor string

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.

const (
	ContourColorbarYanchor_top    ContourColorbarYanchor = "top"
	ContourColorbarYanchor_middle ContourColorbarYanchor = "middle"
	ContourColorbarYanchor_bottom ContourColorbarYanchor = "bottom"
)

type ContourContours

type ContourContours struct {

	// Coloring 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 number Sets the end contour level value. Must be more than `contours.start`
	End float64 `json:"end,omitempty"`

	// ImpliedEdits <no value> <no value>
	ImpliedEdits *ContourContoursImpliededits `json:"impliedEdits,omitempty"`

	// Labelfont <no value> 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`.
	Labelfont *ContourContoursLabelfont `json:"labelfont,omitempty"`

	// Labelformat 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
	Labelformat String `json:"labelformat,omitempty"`

	// Operation 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 boolean Determines whether to label the contour lines with their values.
	Showlabels Bool `json:"showlabels,omitempty"`

	// Showlines 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 number Sets the step between each contour level. Must be positive.
	Size float64 `json:"size,omitempty"`

	// Start number Sets the starting contour level value. Must be less than `contours.end`
	Start float64 `json:"start,omitempty"`

	// 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 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"`
}

type ContourContoursColoring

type ContourContoursColoring string

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.

const (
	ContourContoursColoring_fill    ContourContoursColoring = "fill"
	ContourContoursColoring_heatmap ContourContoursColoring = "heatmap"
	ContourContoursColoring_lines   ContourContoursColoring = "lines"
	ContourContoursColoring_none    ContourContoursColoring = "none"
)

type ContourContoursImpliededits

type ContourContoursImpliededits struct {
}

type ContourContoursLabelfont

type ContourContoursLabelfont struct {

	// Color color <no value>
	Color String `json:"color,omitempty"`

	// Family string HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.
	Family String `json:"family,omitempty"`

	// Size number <no value>
	Size float64 `json:"size,omitempty"`
}

type ContourContoursOperation

type ContourContoursOperation string

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.

const (
	ContourContoursOperation_eq                   ContourContoursOperation = "="
	ContourContoursOperation_lt                   ContourContoursOperation = "<"
	ContourContoursOperation_gteq                 ContourContoursOperation = ">="
	ContourContoursOperation_gt                   ContourContoursOperation = ">"
	ContourContoursOperation_lteq                 ContourContoursOperation = "<="
	ContourContoursOperation__lbracket__rbracket_ ContourContoursOperation = "[]"
	ContourContoursOperation__lpar__rpar_         ContourContoursOperation = "()"
	ContourContoursOperation__lbracket__rpar_     ContourContoursOperation = "[)"
	ContourContoursOperation__lpar__rbracket_     ContourContoursOperation = "(]"
	ContourContoursOperation__rbracket__lbracket_ ContourContoursOperation = "]["
	ContourContoursOperation__rpar__lpar_         ContourContoursOperation = ")("
	ContourContoursOperation__rbracket__lpar_     ContourContoursOperation = "]("
	ContourContoursOperation__rpar__lbracket_     ContourContoursOperation = ")["
)

type ContourContoursType

type ContourContoursType string

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.

const (
	ContourContoursType_levels     ContourContoursType = "levels"
	ContourContoursType_constraint ContourContoursType = "constraint"
)

type ContourHoverinfo

type ContourHoverinfo string
const (
	// Flags
	ContourHoverinfoX    ContourHoverinfo = "x"
	ContourHoverinfoY    ContourHoverinfo = "y"
	ContourHoverinfoZ    ContourHoverinfo = "z"
	ContourHoverinfoText ContourHoverinfo = "text"
	ContourHoverinfoName ContourHoverinfo = "name"
	// Extras
	ContourHoverinfoAll  ContourHoverinfo = "all"
	ContourHoverinfoNone ContourHoverinfo = "none"
	ContourHoverinfoSkip ContourHoverinfo = "skip"
)

type ContourHoverlabel

type ContourHoverlabel struct {

	// Align 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 string Sets the source reference on Chart Studio Cloud for  align .
	Alignsrc String `json:"alignsrc,omitempty"`

	// Bgcolor color Sets the background color of the hover labels for this trace
	Bgcolor interface{} `json:"bgcolor,omitempty"`

	// Bgcolorsrc string Sets the source reference on Chart Studio Cloud for  bgcolor .
	Bgcolorsrc String `json:"bgcolorsrc,omitempty"`

	// Bordercolor color Sets the border color of the hover labels for this trace.
	Bordercolor interface{} `json:"bordercolor,omitempty"`

	// Bordercolorsrc string Sets the source reference on Chart Studio Cloud for  bordercolor .
	Bordercolorsrc String `json:"bordercolorsrc,omitempty"`

	// Font <no value> Sets the font used in hover labels.
	Font *ContourHoverlabelFont `json:"font,omitempty"`

	// Namelength 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 interface{} `json:"namelength,omitempty"`

	// Namelengthsrc string Sets the source reference on Chart Studio Cloud for  namelength .
	Namelengthsrc String `json:"namelengthsrc,omitempty"`
}

type ContourHoverlabelAlign

type ContourHoverlabelAlign string

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

const (
	ContourHoverlabelAlign_left  ContourHoverlabelAlign = "left"
	ContourHoverlabelAlign_right ContourHoverlabelAlign = "right"
	ContourHoverlabelAlign_auto  ContourHoverlabelAlign = "auto"
)

type ContourHoverlabelFont

type ContourHoverlabelFont struct {

	// Color color <no value>
	Color interface{} `json:"color,omitempty"`

	// Colorsrc string Sets the source reference on Chart Studio Cloud for  color .
	Colorsrc String `json:"colorsrc,omitempty"`

	// Family string HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.
	Family interface{} `json:"family,omitempty"`

	// Familysrc string Sets the source reference on Chart Studio Cloud for  family .
	Familysrc String `json:"familysrc,omitempty"`

	// Size number <no value>
	Size interface{} `json:"size,omitempty"`

	// Sizesrc string Sets the source reference on Chart Studio Cloud for  size .
	Sizesrc String `json:"sizesrc,omitempty"`
}

type ContourLine

type ContourLine struct {

	// Color color Sets the color of the contour level. Has no effect if `contours.coloring` is set to *lines*.
	Color String `json:"color,omitempty"`

	// Dash 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 number Sets the amount of smoothing for the contour lines, where *0* corresponds to no smoothing.
	Smoothing float64 `json:"smoothing,omitempty"`

	// Width 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"`
}

type ContourStream

type ContourStream struct {

	// Maxpoints 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 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"`
}

type ContourTransforms

type ContourTransforms interface{}

ContourTransforms It's an items array and what goes inside it's... messy... check the docs Here is a hint to help you to define your own type transform

description
editType
role

type ContourVisible

type ContourVisible interface{}

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).

var (
	ContourVisible_True       ContourVisible = true
	ContourVisible_False      ContourVisible = false
	ContourVisible_legendonly ContourVisible = "legendonly"
)

type ContourXcalendar

type ContourXcalendar string

ContourXcalendar Sets the calendar system to use with `x` date data.

const (
	ContourXcalendar_gregorian  ContourXcalendar = "gregorian"
	ContourXcalendar_chinese    ContourXcalendar = "chinese"
	ContourXcalendar_coptic     ContourXcalendar = "coptic"
	ContourXcalendar_discworld  ContourXcalendar = "discworld"
	ContourXcalendar_ethiopian  ContourXcalendar = "ethiopian"
	ContourXcalendar_hebrew     ContourXcalendar = "hebrew"
	ContourXcalendar_islamic    ContourXcalendar = "islamic"
	ContourXcalendar_julian     ContourXcalendar = "julian"
	ContourXcalendar_mayan      ContourXcalendar = "mayan"
	ContourXcalendar_nanakshahi ContourXcalendar = "nanakshahi"
	ContourXcalendar_nepali     ContourXcalendar = "nepali"
	ContourXcalendar_persian    ContourXcalendar = "persian"
	ContourXcalendar_jalali     ContourXcalendar = "jalali"
	ContourXcalendar_taiwan     ContourXcalendar = "taiwan"
	ContourXcalendar_thai       ContourXcalendar = "thai"
	ContourXcalendar_ummalqura  ContourXcalendar = "ummalqura"
)

type ContourXperiodalignment

type ContourXperiodalignment string

ContourXperiodalignment Only relevant when the axis `type` is *date*. Sets the alignment of data points on the x axis.

const (
	ContourXperiodalignment_start  ContourXperiodalignment = "start"
	ContourXperiodalignment_middle ContourXperiodalignment = "middle"
	ContourXperiodalignment_end    ContourXperiodalignment = "end"
)

type ContourXtype

type ContourXtype string

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).

const (
	ContourXtype_array  ContourXtype = "array"
	ContourXtype_scaled ContourXtype = "scaled"
)

type ContourYcalendar

type ContourYcalendar string

ContourYcalendar Sets the calendar system to use with `y` date data.

const (
	ContourYcalendar_gregorian  ContourYcalendar = "gregorian"
	ContourYcalendar_chinese    ContourYcalendar = "chinese"
	ContourYcalendar_coptic     ContourYcalendar = "coptic"
	ContourYcalendar_discworld  ContourYcalendar = "discworld"
	ContourYcalendar_ethiopian  ContourYcalendar = "ethiopian"
	ContourYcalendar_hebrew     ContourYcalendar = "hebrew"
	ContourYcalendar_islamic    ContourYcalendar = "islamic"
	ContourYcalendar_julian     ContourYcalendar = "julian"
	ContourYcalendar_mayan      ContourYcalendar = "mayan"
	ContourYcalendar_nanakshahi ContourYcalendar = "nanakshahi"
	ContourYcalendar_nepali     ContourYcalendar = "nepali"
	ContourYcalendar_persian    ContourYcalendar = "persian"
	ContourYcalendar_jalali     ContourYcalendar = "jalali"
	ContourYcalendar_taiwan     ContourYcalendar = "taiwan"
	ContourYcalendar_thai       ContourYcalendar = "thai"
	ContourYcalendar_ummalqura  ContourYcalendar = "ummalqura"
)

type ContourYperiodalignment

type ContourYperiodalignment string

ContourYperiodalignment Only relevant when the axis `type` is *date*. Sets the alignment of data points on the y axis.

const (
	ContourYperiodalignment_start  ContourYperiodalignment = "start"
	ContourYperiodalignment_middle ContourYperiodalignment = "middle"
	ContourYperiodalignment_end    ContourYperiodalignment = "end"
)

type ContourYtype

type ContourYtype string

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)

const (
	ContourYtype_array  ContourYtype = "array"
	ContourYtype_scaled ContourYtype = "scaled"
)

type Contourcarpet

type Contourcarpet struct {

	// Type is the type of the plot
	Type TraceType `json:"type,omitempty"`

	// A data_array Sets the x coordinates.
	A interface{} `json:"a,omitempty"`

	// A0 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 string Sets the source reference on Chart Studio Cloud for  a .
	Asrc String `json:"asrc,omitempty"`

	// Atype 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 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 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 data_array Sets the y coordinates.
	B interface{} `json:"b,omitempty"`

	// B0 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 string Sets the source reference on Chart Studio Cloud for  b .
	Bsrc String `json:"bsrc,omitempty"`

	// Btype 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 string The `carpet` of the carpet axes on which this contour trace lies
	Carpet String `json:"carpet,omitempty"`

	// Coloraxis 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 <no value> <no value>
	Colorbar *ContourcarpetColorbar `json:"colorbar,omitempty"`

	// Contours <no value> <no value>
	Contours *ContourcarpetContours `json:"contours,omitempty"`

	// Customdata 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 string Sets the source reference on Chart Studio Cloud for  customdata .
	Customdatasrc String `json:"customdatasrc,omitempty"`

	// Da number Sets the x coordinate step. See `x0` for more info.
	Da float64 `json:"da,omitempty"`

	// Db number Sets the y coordinate step. See `y0` for more info.
	Db float64 `json:"db,omitempty"`

	// Fillcolor 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 String `json:"fillcolor,omitempty"`

	// Hovertext data_array Same as `text`.
	Hovertext interface{} `json:"hovertext,omitempty"`

	// Hovertextsrc string Sets the source reference on Chart Studio Cloud for  hovertext .
	Hovertextsrc String `json:"hovertextsrc,omitempty"`

	// Ids 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 string Sets the source reference on Chart Studio Cloud for  ids .
	Idssrc String `json:"idssrc,omitempty"`

	// Legendgroup 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"`

	// Line <no value> <no value>
	Line *ContourcarpetLine `json:"line,omitempty"`

	// Meta 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 string Sets the source reference on Chart Studio Cloud for  meta .
	Metasrc String `json:"metasrc,omitempty"`

	// Name string Sets the trace name. The trace name appear as the legend item and on hover.
	Name String `json:"name,omitempty"`

	// Ncontours 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 number Sets the opacity of the trace.
	Opacity float64 `json:"opacity,omitempty"`

	// Reversescale 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 boolean Determines whether or not an item corresponding to this trace is shown in the legend.
	Showlegend Bool `json:"showlegend,omitempty"`

	// Showscale boolean Determines whether or not a colorbar is displayed for this trace.
	Showscale Bool `json:"showscale,omitempty"`

	// Stream <no value> <no value>
	Stream *ContourcarpetStream `json:"stream,omitempty"`

	// Text data_array Sets the text elements associated with each z value.
	Text interface{} `json:"text,omitempty"`

	// Textsrc string Sets the source reference on Chart Studio Cloud for  text .
	Textsrc String `json:"textsrc,omitempty"`

	// Transpose boolean Transposes the z data.
	Transpose Bool `json:"transpose,omitempty"`

	// Uid 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 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 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 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 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 data_array Sets the z data.
	Z interface{} `json:"z,omitempty"`

	// Zauto 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 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 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 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 string Sets the source reference on Chart Studio Cloud for  z .
	Zsrc String `json:"zsrc,omitempty"`
}

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.

func NewContourcarpet

func NewContourcarpet() *Contourcarpet

func (*Contourcarpet) GetType

func (this *Contourcarpet) GetType() TraceType

type ContourcarpetAtype

type ContourcarpetAtype string

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).

const (
	ContourcarpetAtype_array  ContourcarpetAtype = "array"
	ContourcarpetAtype_scaled ContourcarpetAtype = "scaled"
)

type ContourcarpetBtype

type ContourcarpetBtype string

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)

const (
	ContourcarpetBtype_array  ContourcarpetBtype = "array"
	ContourcarpetBtype_scaled ContourcarpetBtype = "scaled"
)

type ContourcarpetColorbar

type ContourcarpetColorbar struct {

	// Bgcolor color Sets the color of padded area.
	Bgcolor String `json:"bgcolor,omitempty"`

	// Bordercolor color Sets the axis line color.
	Bordercolor String `json:"bordercolor,omitempty"`

	// Borderwidth number Sets the width (in px) or the border enclosing this color bar.
	Borderwidth float64 `json:"borderwidth,omitempty"`

	// Dtick 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<f>*, where `f` is a positive number, gives ticks linearly spaced in value (but not position). For example `tick0` = 0.1, `dtick` = *L0.5* will put ticks at 0.1, 0.6, 1.1, 1.6 etc. To show powers of 10 plus small digits between, use *D1* (all digits) or *D2* (only 2 and 5). `tick0` is ignored for *D1* and *D2*. If the axis `type` is *date*, then you must convert the time to milliseconds. For example, to set the interval between ticks to one day, set `dtick` to 86400000.0. *date* also has special values *M<n>* gives ticks spaced by a number of months. `n` must be a positive integer. To set ticks on the 15th of every third month, set `tick0` to *2000-01-15* and `dtick` to *M3*. To set ticks every 4 years, set `dtick` to *M48*
	Dtick interface{} `json:"dtick,omitempty"`

	// Exponentformat 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"`

	// Len 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 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 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 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"`

	// Outlinecolor color Sets the axis line color.
	Outlinecolor String `json:"outlinecolor,omitempty"`

	// Outlinewidth number Sets the width (in px) of the axis line.
	Outlinewidth float64 `json:"outlinewidth,omitempty"`

	// Separatethousands boolean If "true", even 4-digit integers are separated
	Separatethousands Bool `json:"separatethousands,omitempty"`

	// Showexponent 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 boolean Determines whether or not the tick labels are drawn.
	Showticklabels Bool `json:"showticklabels,omitempty"`

	// Showtickprefix 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 enumerated Same as `showtickprefix` but for tick suffixes.
	Showticksuffix ContourcarpetColorbarShowticksuffix `json:"showticksuffix,omitempty"`

	// Thickness 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 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 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<f>* (see `dtick` for more info). If the axis `type` is *date*, it should be a date string, like date data. If the axis `type` is *category*, it should be a number, using the scale where each category is assigned a serial number from zero in the order it appears.
	Tick0 interface{} `json:"tick0,omitempty"`

	// Tickangle 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 color Sets the tick color.
	Tickcolor String `json:"tickcolor,omitempty"`

	// Tickfont <no value> Sets the color bar's tick label font
	Tickfont *ContourcarpetColorbarTickfont `json:"tickfont,omitempty"`

	// Tickformat 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*
	Tickformat String `json:"tickformat,omitempty"`

	// Tickformatstops <no value> <no value>
	Tickformatstops ContourcarpetColorbarTickformatstops `json:"tickformatstops,omitempty"`

	// Ticklabelposition enumerated Determines where tick labels are drawn.
	Ticklabelposition ContourcarpetColorbarTicklabelposition `json:"ticklabelposition,omitempty"`

	// Ticklen number Sets the tick length (in px).
	Ticklen float64 `json:"ticklen,omitempty"`

	// Tickmode 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 string Sets a tick label prefix.
	Tickprefix String `json:"tickprefix,omitempty"`

	// Ticks 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 string Sets a tick label suffix.
	Ticksuffix String `json:"ticksuffix,omitempty"`

	// Ticktext 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 string Sets the source reference on Chart Studio Cloud for  ticktext .
	Ticktextsrc String `json:"ticktextsrc,omitempty"`

	// Tickvals 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 string Sets the source reference on Chart Studio Cloud for  tickvals .
	Tickvalssrc String `json:"tickvalssrc,omitempty"`

	// Tickwidth number Sets the tick width (in px).
	Tickwidth float64 `json:"tickwidth,omitempty"`

	// Title <no value> <no value>
	Title *ContourcarpetColorbarTitle `json:"title,omitempty"`

	// X number Sets the x position of the color bar (in plot fraction).
	X float64 `json:"x,omitempty"`

	// Xanchor 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.
	Xanchor ContourcarpetColorbarXanchor `json:"xanchor,omitempty"`

	// Xpad number Sets the amount of padding (in px) along the x direction.
	Xpad float64 `json:"xpad,omitempty"`

	// Y number Sets the y position of the color bar (in plot fraction).
	Y float64 `json:"y,omitempty"`

	// Yanchor 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.
	Yanchor ContourcarpetColorbarYanchor `json:"yanchor,omitempty"`

	// Ypad number Sets the amount of padding (in px) along the y direction.
	Ypad float64 `json:"ypad,omitempty"`
}

type ContourcarpetColorbarExponentformat

type ContourcarpetColorbarExponentformat string

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.

const (
	ContourcarpetColorbarExponentformat_none  ContourcarpetColorbarExponentformat = "none"
	ContourcarpetColorbarExponentformat_e     ContourcarpetColorbarExponentformat = "e"
	ContourcarpetColorbarExponentformat_E     ContourcarpetColorbarExponentformat = "E"
	ContourcarpetColorbarExponentformat_power ContourcarpetColorbarExponentformat = "power"
	ContourcarpetColorbarExponentformat_SI    ContourcarpetColorbarExponentformat = "SI"
	ContourcarpetColorbarExponentformat_B     ContourcarpetColorbarExponentformat = "B"
)

type ContourcarpetColorbarLenmode

type ContourcarpetColorbarLenmode string

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.

const (
	ContourcarpetColorbarLenmode_fraction ContourcarpetColorbarLenmode = "fraction"
	ContourcarpetColorbarLenmode_pixels   ContourcarpetColorbarLenmode = "pixels"
)

type ContourcarpetColorbarShowexponent

type ContourcarpetColorbarShowexponent string

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.

const (
	ContourcarpetColorbarShowexponent_all   ContourcarpetColorbarShowexponent = "all"
	ContourcarpetColorbarShowexponent_first ContourcarpetColorbarShowexponent = "first"
	ContourcarpetColorbarShowexponent_last  ContourcarpetColorbarShowexponent = "last"
	ContourcarpetColorbarShowexponent_none  ContourcarpetColorbarShowexponent = "none"
)

type ContourcarpetColorbarShowtickprefix

type ContourcarpetColorbarShowtickprefix string

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.

const (
	ContourcarpetColorbarShowtickprefix_all   ContourcarpetColorbarShowtickprefix = "all"
	ContourcarpetColorbarShowtickprefix_first ContourcarpetColorbarShowtickprefix = "first"
	ContourcarpetColorbarShowtickprefix_last  ContourcarpetColorbarShowtickprefix = "last"
	ContourcarpetColorbarShowtickprefix_none  ContourcarpetColorbarShowtickprefix = "none"
)

type ContourcarpetColorbarShowticksuffix

type ContourcarpetColorbarShowticksuffix string

ContourcarpetColorbarShowticksuffix Same as `showtickprefix` but for tick suffixes.

const (
	ContourcarpetColorbarShowticksuffix_all   ContourcarpetColorbarShowticksuffix = "all"
	ContourcarpetColorbarShowticksuffix_first ContourcarpetColorbarShowticksuffix = "first"
	ContourcarpetColorbarShowticksuffix_last  ContourcarpetColorbarShowticksuffix = "last"
	ContourcarpetColorbarShowticksuffix_none  ContourcarpetColorbarShowticksuffix = "none"
)

type ContourcarpetColorbarThicknessmode

type ContourcarpetColorbarThicknessmode string

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.

const (
	ContourcarpetColorbarThicknessmode_fraction ContourcarpetColorbarThicknessmode = "fraction"
	ContourcarpetColorbarThicknessmode_pixels   ContourcarpetColorbarThicknessmode = "pixels"
)

type ContourcarpetColorbarTickfont

type ContourcarpetColorbarTickfont struct {

	// Color color <no value>
	Color String `json:"color,omitempty"`

	// Family string HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.
	Family String `json:"family,omitempty"`

	// Size number <no value>
	Size float64 `json:"size,omitempty"`
}

type ContourcarpetColorbarTickformatstops

type ContourcarpetColorbarTickformatstops interface{}

ContourcarpetColorbarTickformatstops It's an items array and what goes inside it's... messy... check the docs Here is a hint to help you to define your own type tickformatstop

dtickrange
editType
enabled
name
role
templateitemname
value

type ContourcarpetColorbarTicklabelposition

type ContourcarpetColorbarTicklabelposition string

ContourcarpetColorbarTicklabelposition Determines where tick labels are drawn.

const (
	ContourcarpetColorbarTicklabelposition_outside       ContourcarpetColorbarTicklabelposition = "outside"
	ContourcarpetColorbarTicklabelposition_inside        ContourcarpetColorbarTicklabelposition = "inside"
	ContourcarpetColorbarTicklabelposition_outsidetop    ContourcarpetColorbarTicklabelposition = "outside top"
	ContourcarpetColorbarTicklabelposition_insidetop     ContourcarpetColorbarTicklabelposition = "inside top"
	ContourcarpetColorbarTicklabelposition_outsidebottom ContourcarpetColorbarTicklabelposition = "outside bottom"
	ContourcarpetColorbarTicklabelposition_insidebottom  ContourcarpetColorbarTicklabelposition = "inside bottom"
)

type ContourcarpetColorbarTickmode

type ContourcarpetColorbarTickmode string

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).

const (
	ContourcarpetColorbarTickmode_auto   ContourcarpetColorbarTickmode = "auto"
	ContourcarpetColorbarTickmode_linear ContourcarpetColorbarTickmode = "linear"
	ContourcarpetColorbarTickmode_array  ContourcarpetColorbarTickmode = "array"
)

type ContourcarpetColorbarTicks

type ContourcarpetColorbarTicks string

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.

const (
	ContourcarpetColorbarTicks_outside ContourcarpetColorbarTicks = "outside"
	ContourcarpetColorbarTicks_inside  ContourcarpetColorbarTicks = "inside"
)

type ContourcarpetColorbarTitle

type ContourcarpetColorbarTitle struct {

	// Font <no value> Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.
	Font *ContourcarpetColorbarTitleFont `json:"font,omitempty"`

	// Side 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.
	Side ContourcarpetColorbarTitleSide `json:"side,omitempty"`

	// Text 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"`
}

type ContourcarpetColorbarTitleFont

type ContourcarpetColorbarTitleFont struct {

	// Color color <no value>
	Color String `json:"color,omitempty"`

	// Family string HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.
	Family String `json:"family,omitempty"`

	// Size number <no value>
	Size float64 `json:"size,omitempty"`
}

type ContourcarpetColorbarTitleSide

type ContourcarpetColorbarTitleSide string

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.

const (
	ContourcarpetColorbarTitleSide_right  ContourcarpetColorbarTitleSide = "right"
	ContourcarpetColorbarTitleSide_top    ContourcarpetColorbarTitleSide = "top"
	ContourcarpetColorbarTitleSide_bottom ContourcarpetColorbarTitleSide = "bottom"
)

type ContourcarpetColorbarXanchor

type ContourcarpetColorbarXanchor string

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.

const (
	ContourcarpetColorbarXanchor_left   ContourcarpetColorbarXanchor = "left"
	ContourcarpetColorbarXanchor_center ContourcarpetColorbarXanchor = "center"
	ContourcarpetColorbarXanchor_right  ContourcarpetColorbarXanchor = "right"
)

type ContourcarpetColorbarYanchor

type ContourcarpetColorbarYanchor string

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.

const (
	ContourcarpetColorbarYanchor_top    ContourcarpetColorbarYanchor = "top"
	ContourcarpetColorbarYanchor_middle ContourcarpetColorbarYanchor = "middle"
	ContourcarpetColorbarYanchor_bottom ContourcarpetColorbarYanchor = "bottom"
)

type ContourcarpetContours

type ContourcarpetContours struct {

	// Coloring 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 number Sets the end contour level value. Must be more than `contours.start`
	End float64 `json:"end,omitempty"`

	// ImpliedEdits <no value> <no value>
	ImpliedEdits *ContourcarpetContoursImpliededits `json:"impliedEdits,omitempty"`

	// Labelfont <no value> 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`.
	Labelfont *ContourcarpetContoursLabelfont `json:"labelfont,omitempty"`

	// Labelformat 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
	Labelformat String `json:"labelformat,omitempty"`

	// Operation 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 boolean Determines whether to label the contour lines with their values.
	Showlabels Bool `json:"showlabels,omitempty"`

	// Showlines 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 number Sets the step between each contour level. Must be positive.
	Size float64 `json:"size,omitempty"`

	// Start number Sets the starting contour level value. Must be less than `contours.end`
	Start float64 `json:"start,omitempty"`

	// 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 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"`
}

type ContourcarpetContoursColoring

type ContourcarpetContoursColoring string

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.

const (
	ContourcarpetContoursColoring_fill  ContourcarpetContoursColoring = "fill"
	ContourcarpetContoursColoring_lines ContourcarpetContoursColoring = "lines"
	ContourcarpetContoursColoring_none  ContourcarpetContoursColoring = "none"
)

type ContourcarpetContoursImpliededits

type ContourcarpetContoursImpliededits struct {
}

type ContourcarpetContoursLabelfont

type ContourcarpetContoursLabelfont struct {

	// Color color <no value>
	Color String `json:"color,omitempty"`

	// Family string HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.
	Family String `json:"family,omitempty"`

	// Size number <no value>
	Size float64 `json:"size,omitempty"`
}

type ContourcarpetContoursOperation

type ContourcarpetContoursOperation string

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.

const (
	ContourcarpetContoursOperation_eq                   ContourcarpetContoursOperation = "="
	ContourcarpetContoursOperation_lt                   ContourcarpetContoursOperation = "<"
	ContourcarpetContoursOperation_gteq                 ContourcarpetContoursOperation = ">="
	ContourcarpetContoursOperation_gt                   ContourcarpetContoursOperation = ">"
	ContourcarpetContoursOperation_lteq                 ContourcarpetContoursOperation = "<="
	ContourcarpetContoursOperation__lbracket__rbracket_ ContourcarpetContoursOperation = "[]"
	ContourcarpetContoursOperation__lpar__rpar_         ContourcarpetContoursOperation = "()"
	ContourcarpetContoursOperation__lbracket__rpar_     ContourcarpetContoursOperation = "[)"
	ContourcarpetContoursOperation__lpar__rbracket_     ContourcarpetContoursOperation = "(]"
	ContourcarpetContoursOperation__rbracket__lbracket_ ContourcarpetContoursOperation = "]["
	ContourcarpetContoursOperation__rpar__lpar_         ContourcarpetContoursOperation = ")("
	ContourcarpetContoursOperation__rbracket__lpar_     ContourcarpetContoursOperation = "]("
	ContourcarpetContoursOperation__rpar__lbracket_     ContourcarpetContoursOperation = ")["
)

type ContourcarpetContoursType

type ContourcarpetContoursType string

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.

const (
	ContourcarpetContoursType_levels     ContourcarpetContoursType = "levels"
	ContourcarpetContoursType_constraint ContourcarpetContoursType = "constraint"
)

type ContourcarpetLine

type ContourcarpetLine struct {

	// Color color Sets the color of the contour level. Has no effect if `contours.coloring` is set to *lines*.
	Color String `json:"color,omitempty"`

	// Dash 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 number Sets the amount of smoothing for the contour lines, where *0* corresponds to no smoothing.
	Smoothing float64 `json:"smoothing,omitempty"`

	// Width 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"`
}

type ContourcarpetStream

type ContourcarpetStream struct {

	// Maxpoints 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 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"`
}

type ContourcarpetVisible

type ContourcarpetVisible interface{}

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).

var (
	ContourcarpetVisible_True       ContourcarpetVisible = true
	ContourcarpetVisible_False      ContourcarpetVisible = false
	ContourcarpetVisible_legendonly ContourcarpetVisible = "legendonly"
)

type Densitymapbox

type Densitymapbox struct {

	// Type is the type of the plot
	Type TraceType `json:"type,omitempty"`

	// Autocolorscale 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 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 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 <no value> <no value>
	Colorbar *DensitymapboxColorbar `json:"colorbar,omitempty"`

	// Customdata 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 string Sets the source reference on Chart Studio Cloud for  customdata .
	Customdatasrc String `json:"customdatasrc,omitempty"`

	// Hoverinfo 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 string Sets the source reference on Chart Studio Cloud for  hoverinfo .
	Hoverinfosrc String `json:"hoverinfosrc,omitempty"`

	// Hoverlabel <no value> <no value>
	Hoverlabel *DensitymapboxHoverlabel `json:"hoverlabel,omitempty"`

	// Hovertemplate 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 `<extra>` is displayed in the secondary box, for example "<extra>{fullData.name}</extra>". To hide the secondary box completely, use an empty tag `<extra></extra>`.
	Hovertemplate interface{} `json:"hovertemplate,omitempty"`

	// Hovertemplatesrc string Sets the source reference on Chart Studio Cloud for  hovertemplate .
	Hovertemplatesrc String `json:"hovertemplatesrc,omitempty"`

	// Hovertext 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 interface{} `json:"hovertext,omitempty"`

	// Hovertextsrc string Sets the source reference on Chart Studio Cloud for  hovertext .
	Hovertextsrc String `json:"hovertextsrc,omitempty"`

	// Ids 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 string Sets the source reference on Chart Studio Cloud for  ids .
	Idssrc String `json:"idssrc,omitempty"`

	// Lat data_array Sets the latitude coordinates (in degrees North).
	Lat interface{} `json:"lat,omitempty"`

	// Latsrc string Sets the source reference on Chart Studio Cloud for  lat .
	Latsrc String `json:"latsrc,omitempty"`

	// Legendgroup 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"`

	// Lon data_array Sets the longitude coordinates (in degrees East).
	Lon interface{} `json:"lon,omitempty"`

	// Lonsrc string Sets the source reference on Chart Studio Cloud for  lon .
	Lonsrc String `json:"lonsrc,omitempty"`

	// Meta 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 string Sets the source reference on Chart Studio Cloud for  meta .
	Metasrc String `json:"metasrc,omitempty"`

	// Name string Sets the trace name. The trace name appear as the legend item and on hover.
	Name String `json:"name,omitempty"`

	// Opacity number Sets the opacity of the trace.
	Opacity float64 `json:"opacity,omitempty"`

	// Radius 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 interface{} `json:"radius,omitempty"`

	// Radiussrc string Sets the source reference on Chart Studio Cloud for  radius .
	Radiussrc String `json:"radiussrc,omitempty"`

	// Reversescale 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 boolean Determines whether or not an item corresponding to this trace is shown in the legend.
	Showlegend Bool `json:"showlegend,omitempty"`

	// Showscale boolean Determines whether or not a colorbar is displayed for this trace.
	Showscale Bool `json:"showscale,omitempty"`

	// Stream <no value> <no value>
	Stream *DensitymapboxStream `json:"stream,omitempty"`

	// Subplot 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 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 interface{} `json:"text,omitempty"`

	// Textsrc string Sets the source reference on Chart Studio Cloud for  text .
	Textsrc String `json:"textsrc,omitempty"`

	// Transforms <no value> <no value>
	Transforms DensitymapboxTransforms `json:"transforms,omitempty"`

	// Uid 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 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 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 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 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 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 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 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 string Sets the source reference on Chart Studio Cloud for  z .
	Zsrc String `json:"zsrc,omitempty"`
}

Densitymapbox Draws a bivariate kernel density estimation with a Gaussian kernel from `lon` and `lat` coordinates and optional `z` values using a colorscale.

func NewDensitymapbox

func NewDensitymapbox() *Densitymapbox

func (*Densitymapbox) GetType

func (this *Densitymapbox) GetType() TraceType

type DensitymapboxColorbar

type DensitymapboxColorbar struct {

	// Bgcolor color Sets the color of padded area.
	Bgcolor String `json:"bgcolor,omitempty"`

	// Bordercolor color Sets the axis line color.
	Bordercolor String `json:"bordercolor,omitempty"`

	// Borderwidth number Sets the width (in px) or the border enclosing this color bar.
	Borderwidth float64 `json:"borderwidth,omitempty"`

	// Dtick 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<f>*, where `f` is a positive number, gives ticks linearly spaced in value (but not position). For example `tick0` = 0.1, `dtick` = *L0.5* will put ticks at 0.1, 0.6, 1.1, 1.6 etc. To show powers of 10 plus small digits between, use *D1* (all digits) or *D2* (only 2 and 5). `tick0` is ignored for *D1* and *D2*. If the axis `type` is *date*, then you must convert the time to milliseconds. For example, to set the interval between ticks to one day, set `dtick` to 86400000.0. *date* also has special values *M<n>* gives ticks spaced by a number of months. `n` must be a positive integer. To set ticks on the 15th of every third month, set `tick0` to *2000-01-15* and `dtick` to *M3*. To set ticks every 4 years, set `dtick` to *M48*
	Dtick interface{} `json:"dtick,omitempty"`

	// Exponentformat 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"`

	// Len 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 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 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 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"`

	// Outlinecolor color Sets the axis line color.
	Outlinecolor String `json:"outlinecolor,omitempty"`

	// Outlinewidth number Sets the width (in px) of the axis line.
	Outlinewidth float64 `json:"outlinewidth,omitempty"`

	// Separatethousands boolean If "true", even 4-digit integers are separated
	Separatethousands Bool `json:"separatethousands,omitempty"`

	// Showexponent 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 boolean Determines whether or not the tick labels are drawn.
	Showticklabels Bool `json:"showticklabels,omitempty"`

	// Showtickprefix 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 enumerated Same as `showtickprefix` but for tick suffixes.
	Showticksuffix DensitymapboxColorbarShowticksuffix `json:"showticksuffix,omitempty"`

	// Thickness 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 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 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<f>* (see `dtick` for more info). If the axis `type` is *date*, it should be a date string, like date data. If the axis `type` is *category*, it should be a number, using the scale where each category is assigned a serial number from zero in the order it appears.
	Tick0 interface{} `json:"tick0,omitempty"`

	// Tickangle 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 color Sets the tick color.
	Tickcolor String `json:"tickcolor,omitempty"`

	// Tickfont <no value> Sets the color bar's tick label font
	Tickfont *DensitymapboxColorbarTickfont `json:"tickfont,omitempty"`

	// Tickformat 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*
	Tickformat String `json:"tickformat,omitempty"`

	// Tickformatstops <no value> <no value>
	Tickformatstops DensitymapboxColorbarTickformatstops `json:"tickformatstops,omitempty"`

	// Ticklabelposition enumerated Determines where tick labels are drawn.
	Ticklabelposition DensitymapboxColorbarTicklabelposition `json:"ticklabelposition,omitempty"`

	// Ticklen number Sets the tick length (in px).
	Ticklen float64 `json:"ticklen,omitempty"`

	// Tickmode 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 string Sets a tick label prefix.
	Tickprefix String `json:"tickprefix,omitempty"`

	// Ticks 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 string Sets a tick label suffix.
	Ticksuffix String `json:"ticksuffix,omitempty"`

	// Ticktext 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 string Sets the source reference on Chart Studio Cloud for  ticktext .
	Ticktextsrc String `json:"ticktextsrc,omitempty"`

	// Tickvals 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 string Sets the source reference on Chart Studio Cloud for  tickvals .
	Tickvalssrc String `json:"tickvalssrc,omitempty"`

	// Tickwidth number Sets the tick width (in px).
	Tickwidth float64 `json:"tickwidth,omitempty"`

	// Title <no value> <no value>
	Title *DensitymapboxColorbarTitle `json:"title,omitempty"`

	// X number Sets the x position of the color bar (in plot fraction).
	X float64 `json:"x,omitempty"`

	// Xanchor 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.
	Xanchor DensitymapboxColorbarXanchor `json:"xanchor,omitempty"`

	// Xpad number Sets the amount of padding (in px) along the x direction.
	Xpad float64 `json:"xpad,omitempty"`

	// Y number Sets the y position of the color bar (in plot fraction).
	Y float64 `json:"y,omitempty"`

	// Yanchor 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.
	Yanchor DensitymapboxColorbarYanchor `json:"yanchor,omitempty"`

	// Ypad number Sets the amount of padding (in px) along the y direction.
	Ypad float64 `json:"ypad,omitempty"`
}

type DensitymapboxColorbarExponentformat

type DensitymapboxColorbarExponentformat string

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.

const (
	DensitymapboxColorbarExponentformat_none  DensitymapboxColorbarExponentformat = "none"
	DensitymapboxColorbarExponentformat_e     DensitymapboxColorbarExponentformat = "e"
	DensitymapboxColorbarExponentformat_E     DensitymapboxColorbarExponentformat = "E"
	DensitymapboxColorbarExponentformat_power DensitymapboxColorbarExponentformat = "power"
	DensitymapboxColorbarExponentformat_SI    DensitymapboxColorbarExponentformat = "SI"
	DensitymapboxColorbarExponentformat_B     DensitymapboxColorbarExponentformat = "B"
)

type DensitymapboxColorbarLenmode

type DensitymapboxColorbarLenmode string

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.

const (
	DensitymapboxColorbarLenmode_fraction DensitymapboxColorbarLenmode = "fraction"
	DensitymapboxColorbarLenmode_pixels   DensitymapboxColorbarLenmode = "pixels"
)

type DensitymapboxColorbarShowexponent

type DensitymapboxColorbarShowexponent string

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.

const (
	DensitymapboxColorbarShowexponent_all   DensitymapboxColorbarShowexponent = "all"
	DensitymapboxColorbarShowexponent_first DensitymapboxColorbarShowexponent = "first"
	DensitymapboxColorbarShowexponent_last  DensitymapboxColorbarShowexponent = "last"
	DensitymapboxColorbarShowexponent_none  DensitymapboxColorbarShowexponent = "none"
)

type DensitymapboxColorbarShowtickprefix

type DensitymapboxColorbarShowtickprefix string

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.

const (
	DensitymapboxColorbarShowtickprefix_all   DensitymapboxColorbarShowtickprefix = "all"
	DensitymapboxColorbarShowtickprefix_first DensitymapboxColorbarShowtickprefix = "first"
	DensitymapboxColorbarShowtickprefix_last  DensitymapboxColorbarShowtickprefix = "last"
	DensitymapboxColorbarShowtickprefix_none  DensitymapboxColorbarShowtickprefix = "none"
)

type DensitymapboxColorbarShowticksuffix

type DensitymapboxColorbarShowticksuffix string

DensitymapboxColorbarShowticksuffix Same as `showtickprefix` but for tick suffixes.

const (
	DensitymapboxColorbarShowticksuffix_all   DensitymapboxColorbarShowticksuffix = "all"
	DensitymapboxColorbarShowticksuffix_first DensitymapboxColorbarShowticksuffix = "first"
	DensitymapboxColorbarShowticksuffix_last  DensitymapboxColorbarShowticksuffix = "last"
	DensitymapboxColorbarShowticksuffix_none  DensitymapboxColorbarShowticksuffix = "none"
)

type DensitymapboxColorbarThicknessmode

type DensitymapboxColorbarThicknessmode string

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.

const (
	DensitymapboxColorbarThicknessmode_fraction DensitymapboxColorbarThicknessmode = "fraction"
	DensitymapboxColorbarThicknessmode_pixels   DensitymapboxColorbarThicknessmode = "pixels"
)

type DensitymapboxColorbarTickfont

type DensitymapboxColorbarTickfont struct {

	// Color color <no value>
	Color String `json:"color,omitempty"`

	// Family string HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.
	Family String `json:"family,omitempty"`

	// Size number <no value>
	Size float64 `json:"size,omitempty"`
}

type DensitymapboxColorbarTickformatstops

type DensitymapboxColorbarTickformatstops interface{}

DensitymapboxColorbarTickformatstops It's an items array and what goes inside it's... messy... check the docs Here is a hint to help you to define your own type tickformatstop

dtickrange
editType
enabled
name
role
templateitemname
value

type DensitymapboxColorbarTicklabelposition

type DensitymapboxColorbarTicklabelposition string

DensitymapboxColorbarTicklabelposition Determines where tick labels are drawn.

const (
	DensitymapboxColorbarTicklabelposition_outside       DensitymapboxColorbarTicklabelposition = "outside"
	DensitymapboxColorbarTicklabelposition_inside        DensitymapboxColorbarTicklabelposition = "inside"
	DensitymapboxColorbarTicklabelposition_outsidetop    DensitymapboxColorbarTicklabelposition = "outside top"
	DensitymapboxColorbarTicklabelposition_insidetop     DensitymapboxColorbarTicklabelposition = "inside top"
	DensitymapboxColorbarTicklabelposition_outsidebottom DensitymapboxColorbarTicklabelposition = "outside bottom"
	DensitymapboxColorbarTicklabelposition_insidebottom  DensitymapboxColorbarTicklabelposition = "inside bottom"
)

type DensitymapboxColorbarTickmode

type DensitymapboxColorbarTickmode string

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).

const (
	DensitymapboxColorbarTickmode_auto   DensitymapboxColorbarTickmode = "auto"
	DensitymapboxColorbarTickmode_linear DensitymapboxColorbarTickmode = "linear"
	DensitymapboxColorbarTickmode_array  DensitymapboxColorbarTickmode = "array"
)

type DensitymapboxColorbarTicks

type DensitymapboxColorbarTicks string

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.

const (
	DensitymapboxColorbarTicks_outside DensitymapboxColorbarTicks = "outside"
	DensitymapboxColorbarTicks_inside  DensitymapboxColorbarTicks = "inside"
)

type DensitymapboxColorbarTitle

type DensitymapboxColorbarTitle struct {

	// Font <no value> Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.
	Font *DensitymapboxColorbarTitleFont `json:"font,omitempty"`

	// Side 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.
	Side DensitymapboxColorbarTitleSide `json:"side,omitempty"`

	// Text 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"`
}

type DensitymapboxColorbarTitleFont

type DensitymapboxColorbarTitleFont struct {

	// Color color <no value>
	Color String `json:"color,omitempty"`

	// Family string HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.
	Family String `json:"family,omitempty"`

	// Size number <no value>
	Size float64 `json:"size,omitempty"`
}

type DensitymapboxColorbarTitleSide

type DensitymapboxColorbarTitleSide string

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.

const (
	DensitymapboxColorbarTitleSide_right  DensitymapboxColorbarTitleSide = "right"
	DensitymapboxColorbarTitleSide_top    DensitymapboxColorbarTitleSide = "top"
	DensitymapboxColorbarTitleSide_bottom DensitymapboxColorbarTitleSide = "bottom"
)

type DensitymapboxColorbarXanchor

type DensitymapboxColorbarXanchor string

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.

const (
	DensitymapboxColorbarXanchor_left   DensitymapboxColorbarXanchor = "left"
	DensitymapboxColorbarXanchor_center DensitymapboxColorbarXanchor = "center"
	DensitymapboxColorbarXanchor_right  DensitymapboxColorbarXanchor = "right"
)

type DensitymapboxColorbarYanchor

type DensitymapboxColorbarYanchor string

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.

const (
	DensitymapboxColorbarYanchor_top    DensitymapboxColorbarYanchor = "top"
	DensitymapboxColorbarYanchor_middle DensitymapboxColorbarYanchor = "middle"
	DensitymapboxColorbarYanchor_bottom DensitymapboxColorbarYanchor = "bottom"
)

type DensitymapboxHoverinfo

type DensitymapboxHoverinfo string
const (
	// Flags
	DensitymapboxHoverinfoLon  DensitymapboxHoverinfo = "lon"
	DensitymapboxHoverinfoLat  DensitymapboxHoverinfo = "lat"
	DensitymapboxHoverinfoZ    DensitymapboxHoverinfo = "z"
	DensitymapboxHoverinfoText DensitymapboxHoverinfo = "text"
	DensitymapboxHoverinfoName DensitymapboxHoverinfo = "name"
	// Extras
	DensitymapboxHoverinfoAll  DensitymapboxHoverinfo = "all"
	DensitymapboxHoverinfoNone DensitymapboxHoverinfo = "none"
	DensitymapboxHoverinfoSkip DensitymapboxHoverinfo = "skip"
)

type DensitymapboxHoverlabel

type DensitymapboxHoverlabel struct {

	// Align 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 string Sets the source reference on Chart Studio Cloud for  align .
	Alignsrc String `json:"alignsrc,omitempty"`

	// Bgcolor color Sets the background color of the hover labels for this trace
	Bgcolor interface{} `json:"bgcolor,omitempty"`

	// Bgcolorsrc string Sets the source reference on Chart Studio Cloud for  bgcolor .
	Bgcolorsrc String `json:"bgcolorsrc,omitempty"`

	// Bordercolor color Sets the border color of the hover labels for this trace.
	Bordercolor interface{} `json:"bordercolor,omitempty"`

	// Bordercolorsrc string Sets the source reference on Chart Studio Cloud for  bordercolor .
	Bordercolorsrc String `json:"bordercolorsrc,omitempty"`

	// Font <no value> Sets the font used in hover labels.
	Font *DensitymapboxHoverlabelFont `json:"font,omitempty"`

	// Namelength 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 interface{} `json:"namelength,omitempty"`

	// Namelengthsrc string Sets the source reference on Chart Studio Cloud for  namelength .
	Namelengthsrc String `json:"namelengthsrc,omitempty"`
}

type DensitymapboxHoverlabelAlign

type DensitymapboxHoverlabelAlign string

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

const (
	DensitymapboxHoverlabelAlign_left  DensitymapboxHoverlabelAlign = "left"
	DensitymapboxHoverlabelAlign_right DensitymapboxHoverlabelAlign = "right"
	DensitymapboxHoverlabelAlign_auto  DensitymapboxHoverlabelAlign = "auto"
)

type DensitymapboxHoverlabelFont

type DensitymapboxHoverlabelFont struct {

	// Color color <no value>
	Color interface{} `json:"color,omitempty"`

	// Colorsrc string Sets the source reference on Chart Studio Cloud for  color .
	Colorsrc String `json:"colorsrc,omitempty"`

	// Family string HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.
	Family interface{} `json:"family,omitempty"`

	// Familysrc string Sets the source reference on Chart Studio Cloud for  family .
	Familysrc String `json:"familysrc,omitempty"`

	// Size number <no value>
	Size interface{} `json:"size,omitempty"`

	// Sizesrc string Sets the source reference on Chart Studio Cloud for  size .
	Sizesrc String `json:"sizesrc,omitempty"`
}

type DensitymapboxStream

type DensitymapboxStream struct {

	// Maxpoints 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 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"`
}

type DensitymapboxTransforms

type DensitymapboxTransforms interface{}

DensitymapboxTransforms It's an items array and what goes inside it's... messy... check the docs Here is a hint to help you to define your own type transform

description
editType
role

type DensitymapboxVisible

type DensitymapboxVisible interface{}

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).

var (
	DensitymapboxVisible_True       DensitymapboxVisible = true
	DensitymapboxVisible_False      DensitymapboxVisible = false
	DensitymapboxVisible_legendonly DensitymapboxVisible = "legendonly"
)

type Fig

type Fig struct {
	Data   Traces  `json:"data,omitempty"`
	Layout *Layout `json:"layout,omitempty"`
	Config *Config `json:"config,omitempty"`
}

Fig is the base type for figures.

func (*Fig) AddTraces

func (fig *Fig) AddTraces(traces ...Trace)

AddTraces Is a shorthand to add figures to a given figure. It handles the case where the Traces value is nil.

func (*Fig) UnmarshalJSON

func (fig *Fig) UnmarshalJSON(data []byte) error

UnmarshalJSON is a custom unmarshal function to properly handle special cases.

type Funnel

type Funnel struct {

	// Type is the type of the plot
	Type TraceType `json:"type,omitempty"`

	// Alignmentgroup 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 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 <no value> <no value>
	Connector *FunnelConnector `json:"connector,omitempty"`

	// Constraintext 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 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 string Sets the source reference on Chart Studio Cloud for  customdata .
	Customdatasrc String `json:"customdatasrc,omitempty"`

	// Dx number Sets the x coordinate step. See `x0` for more info.
	Dx float64 `json:"dx,omitempty"`

	// Dy number Sets the y coordinate step. See `y0` for more info.
	Dy float64 `json:"dy,omitempty"`

	// Hoverinfo 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 string Sets the source reference on Chart Studio Cloud for  hoverinfo .
	Hoverinfosrc String `json:"hoverinfosrc,omitempty"`

	// Hoverlabel <no value> <no value>
	Hoverlabel *FunnelHoverlabel `json:"hoverlabel,omitempty"`

	// Hovertemplate 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 `<extra>` is displayed in the secondary box, for example "<extra>{fullData.name}</extra>". To hide the secondary box completely, use an empty tag `<extra></extra>`.
	Hovertemplate interface{} `json:"hovertemplate,omitempty"`

	// Hovertemplatesrc string Sets the source reference on Chart Studio Cloud for  hovertemplate .
	Hovertemplatesrc String `json:"hovertemplatesrc,omitempty"`

	// Hovertext 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 interface{} `json:"hovertext,omitempty"`

	// Hovertextsrc string Sets the source reference on Chart Studio Cloud for  hovertext .
	Hovertextsrc String `json:"hovertextsrc,omitempty"`

	// Ids 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 string Sets the source reference on Chart Studio Cloud for  ids .
	Idssrc String `json:"idssrc,omitempty"`

	// Insidetextanchor enumerated Determines if texts are kept at center or start/end points in `textposition` *inside* mode.
	Insidetextanchor FunnelInsidetextanchor `json:"insidetextanchor,omitempty"`

	// Insidetextfont <no value> Sets the font used for `text` lying inside the bar.
	Insidetextfont *FunnelInsidetextfont `json:"insidetextfont,omitempty"`

	// Legendgroup 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 <no value> <no value>
	Marker *FunnelMarker `json:"marker,omitempty"`

	// Meta 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 string Sets the source reference on Chart Studio Cloud for  meta .
	Metasrc String `json:"metasrc,omitempty"`

	// Name string Sets the trace name. The trace name appear as the legend item and on hover.
	Name String `json:"name,omitempty"`

	// Offset 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 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 number Sets the opacity of the trace.
	Opacity float64 `json:"opacity,omitempty"`

	// Orientation 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 <no value> Sets the font used for `text` lying outside the bar.
	Outsidetextfont *FunnelOutsidetextfont `json:"outsidetextfont,omitempty"`

	// Selectedpoints 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 boolean Determines whether or not an item corresponding to this trace is shown in the legend.
	Showlegend Bool `json:"showlegend,omitempty"`

	// Stream <no value> <no value>
	Stream *FunnelStream `json:"stream,omitempty"`

	// Text 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 interface{} `json:"text,omitempty"`

	// Textangle 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 <no value> Sets the font used for `text`.
	Textfont *FunnelTextfont `json:"textfont,omitempty"`

	// Textinfo 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 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.
	Textposition FunnelTextposition `json:"textposition,omitempty"`

	// Textpositionsrc string Sets the source reference on Chart Studio Cloud for  textposition .
	Textpositionsrc String `json:"textpositionsrc,omitempty"`

	// Textsrc string Sets the source reference on Chart Studio Cloud for  text .
	Textsrc String `json:"textsrc,omitempty"`

	// Texttemplate 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`.
	Texttemplate interface{} `json:"texttemplate,omitempty"`

	// Texttemplatesrc string Sets the source reference on Chart Studio Cloud for  texttemplate .
	Texttemplatesrc String `json:"texttemplatesrc,omitempty"`

	// Transforms <no value> <no value>
	Transforms FunnelTransforms `json:"transforms,omitempty"`

	// Uid 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 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 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 number Sets the bar width (in position axis units).
	Width float64 `json:"width,omitempty"`

	// X data_array Sets the x coordinates.
	X interface{} `json:"x,omitempty"`

	// X0 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 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"`

	// Xperiod any Only relevant when the axis `type` is *date*. Sets the period positioning in milliseconds or *M<n>* on the x axis. Special values in the form of *M<n>* could be used to declare the number of months. In this case `n` must be a positive integer.
	Xperiod interface{} `json:"xperiod,omitempty"`

	// Xperiod0 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 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 string Sets the source reference on Chart Studio Cloud for  x .
	Xsrc String `json:"xsrc,omitempty"`

	// Y data_array Sets the y coordinates.
	Y interface{} `json:"y,omitempty"`

	// Y0 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 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"`

	// Yperiod any Only relevant when the axis `type` is *date*. Sets the period positioning in milliseconds or *M<n>* on the y axis. Special values in the form of *M<n>* could be used to declare the number of months. In this case `n` must be a positive integer.
	Yperiod interface{} `json:"yperiod,omitempty"`

	// Yperiod0 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 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 string Sets the source reference on Chart Studio Cloud for  y .
	Ysrc String `json:"ysrc,omitempty"`
}

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.

func NewFunnel

func NewFunnel() *Funnel

func (*Funnel) GetType

func (this *Funnel) GetType() TraceType

type FunnelConnector

type FunnelConnector struct {

	// Fillcolor color Sets the fill color.
	Fillcolor String `json:"fillcolor,omitempty"`

	// Line <no value> <no value>
	Line *FunnelConnectorLine `json:"line,omitempty"`

	// Visible boolean Determines if connector regions and lines are drawn.
	Visible Bool `json:"visible,omitempty"`
}

type FunnelConnectorLine

type FunnelConnectorLine struct {

	// Color color Sets the line color.
	Color String `json:"color,omitempty"`

	// Dash 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 number Sets the line width (in px).
	Width float64 `json:"width,omitempty"`
}

type FunnelConstraintext

type FunnelConstraintext string

FunnelConstraintext Constrain the size of text inside or outside a bar to be no larger than the bar itself.

const (
	FunnelConstraintext_inside  FunnelConstraintext = "inside"
	FunnelConstraintext_outside FunnelConstraintext = "outside"
	FunnelConstraintext_both    FunnelConstraintext = "both"
	FunnelConstraintext_none    FunnelConstraintext = "none"
)

type FunnelHoverinfo

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"
	// Extras
	FunnelHoverinfoAll  FunnelHoverinfo = "all"
	FunnelHoverinfoNone FunnelHoverinfo = "none"
	FunnelHoverinfoSkip FunnelHoverinfo = "skip"
)

type FunnelHoverlabel

type FunnelHoverlabel struct {

	// Align 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 string Sets the source reference on Chart Studio Cloud for  align .
	Alignsrc String `json:"alignsrc,omitempty"`

	// Bgcolor color Sets the background color of the hover labels for this trace
	Bgcolor interface{} `json:"bgcolor,omitempty"`

	// Bgcolorsrc string Sets the source reference on Chart Studio Cloud for  bgcolor .
	Bgcolorsrc String `json:"bgcolorsrc,omitempty"`

	// Bordercolor color Sets the border color of the hover labels for this trace.
	Bordercolor interface{} `json:"bordercolor,omitempty"`

	// Bordercolorsrc string Sets the source reference on Chart Studio Cloud for  bordercolor .
	Bordercolorsrc String `json:"bordercolorsrc,omitempty"`

	// Font <no value> Sets the font used in hover labels.
	Font *FunnelHoverlabelFont `json:"font,omitempty"`

	// Namelength 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 interface{} `json:"namelength,omitempty"`

	// Namelengthsrc string Sets the source reference on Chart Studio Cloud for  namelength .
	Namelengthsrc String `json:"namelengthsrc,omitempty"`
}

type FunnelHoverlabelAlign

type FunnelHoverlabelAlign string

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

const (
	FunnelHoverlabelAlign_left  FunnelHoverlabelAlign = "left"
	FunnelHoverlabelAlign_right FunnelHoverlabelAlign = "right"
	FunnelHoverlabelAlign_auto  FunnelHoverlabelAlign = "auto"
)

type FunnelHoverlabelFont

type FunnelHoverlabelFont struct {

	// Color color <no value>
	Color interface{} `json:"color,omitempty"`

	// Colorsrc string Sets the source reference on Chart Studio Cloud for  color .
	Colorsrc String `json:"colorsrc,omitempty"`

	// Family string HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.
	Family interface{} `json:"family,omitempty"`

	// Familysrc string Sets the source reference on Chart Studio Cloud for  family .
	Familysrc String `json:"familysrc,omitempty"`

	// Size number <no value>
	Size interface{} `json:"size,omitempty"`

	// Sizesrc string Sets the source reference on Chart Studio Cloud for  size .
	Sizesrc String `json:"sizesrc,omitempty"`
}

type FunnelInsidetextanchor

type FunnelInsidetextanchor string

FunnelInsidetextanchor Determines if texts are kept at center or start/end points in `textposition` *inside* mode.

const (
	FunnelInsidetextanchor_end    FunnelInsidetextanchor = "end"
	FunnelInsidetextanchor_middle FunnelInsidetextanchor = "middle"
	FunnelInsidetextanchor_start  FunnelInsidetextanchor = "start"
)

type FunnelInsidetextfont

type FunnelInsidetextfont struct {

	// Color color <no value>
	Color interface{} `json:"color,omitempty"`

	// Colorsrc string Sets the source reference on Chart Studio Cloud for  color .
	Colorsrc String `json:"colorsrc,omitempty"`

	// Family string HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.
	Family interface{} `json:"family,omitempty"`

	// Familysrc string Sets the source reference on Chart Studio Cloud for  family .
	Familysrc String `json:"familysrc,omitempty"`

	// Size number <no value>
	Size interface{} `json:"size,omitempty"`

	// Sizesrc string Sets the source reference on Chart Studio Cloud for  size .
	Sizesrc String `json:"sizesrc,omitempty"`
}

type FunnelMarker

type FunnelMarker struct {

	// Autocolorscale 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 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 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 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 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 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.
	Color interface{} `json:"color,omitempty"`

	// Coloraxis 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 <no value> <no value>
	Colorbar *FunnelMarkerColorbar `json:"colorbar,omitempty"`

	// Colorsrc string Sets the source reference on Chart Studio Cloud for  color .
	Colorsrc String `json:"colorsrc,omitempty"`

	// Line <no value> <no value>
	Line *FunnelMarkerLine `json:"line,omitempty"`

	// Opacity number Sets the opacity of the bars.
	Opacity interface{} `json:"opacity,omitempty"`

	// Opacitysrc string Sets the source reference on Chart Studio Cloud for  opacity .
	Opacitysrc String `json:"opacitysrc,omitempty"`

	// Reversescale 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 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"`
}

type FunnelMarkerColorbar

type FunnelMarkerColorbar struct {

	// Bgcolor color Sets the color of padded area.
	Bgcolor String `json:"bgcolor,omitempty"`

	// Bordercolor color Sets the axis line color.
	Bordercolor String `json:"bordercolor,omitempty"`

	// Borderwidth number Sets the width (in px) or the border enclosing this color bar.
	Borderwidth float64 `json:"borderwidth,omitempty"`

	// Dtick 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<f>*, where `f` is a positive number, gives ticks linearly spaced in value (but not position). For example `tick0` = 0.1, `dtick` = *L0.5* will put ticks at 0.1, 0.6, 1.1, 1.6 etc. To show powers of 10 plus small digits between, use *D1* (all digits) or *D2* (only 2 and 5). `tick0` is ignored for *D1* and *D2*. If the axis `type` is *date*, then you must convert the time to milliseconds. For example, to set the interval between ticks to one day, set `dtick` to 86400000.0. *date* also has special values *M<n>* gives ticks spaced by a number of months. `n` must be a positive integer. To set ticks on the 15th of every third month, set `tick0` to *2000-01-15* and `dtick` to *M3*. To set ticks every 4 years, set `dtick` to *M48*
	Dtick interface{} `json:"dtick,omitempty"`

	// Exponentformat 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"`

	// Len 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 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 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 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"`

	// Outlinecolor color Sets the axis line color.
	Outlinecolor String `json:"outlinecolor,omitempty"`

	// Outlinewidth number Sets the width (in px) of the axis line.
	Outlinewidth float64 `json:"outlinewidth,omitempty"`

	// Separatethousands boolean If "true", even 4-digit integers are separated
	Separatethousands Bool `json:"separatethousands,omitempty"`

	// Showexponent 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 boolean Determines whether or not the tick labels are drawn.
	Showticklabels Bool `json:"showticklabels,omitempty"`

	// Showtickprefix 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 enumerated Same as `showtickprefix` but for tick suffixes.
	Showticksuffix FunnelMarkerColorbarShowticksuffix `json:"showticksuffix,omitempty"`

	// Thickness 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 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 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<f>* (see `dtick` for more info). If the axis `type` is *date*, it should be a date string, like date data. If the axis `type` is *category*, it should be a number, using the scale where each category is assigned a serial number from zero in the order it appears.
	Tick0 interface{} `json:"tick0,omitempty"`

	// Tickangle 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 color Sets the tick color.
	Tickcolor String `json:"tickcolor,omitempty"`

	// Tickfont <no value> Sets the color bar's tick label font
	Tickfont *FunnelMarkerColorbarTickfont `json:"tickfont,omitempty"`

	// Tickformat 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*
	Tickformat String `json:"tickformat,omitempty"`

	// Tickformatstops <no value> <no value>
	Tickformatstops FunnelMarkerColorbarTickformatstops `json:"tickformatstops,omitempty"`

	// Ticklabelposition enumerated Determines where tick labels are drawn.
	Ticklabelposition FunnelMarkerColorbarTicklabelposition `json:"ticklabelposition,omitempty"`

	// Ticklen number Sets the tick length (in px).
	Ticklen float64 `json:"ticklen,omitempty"`

	// Tickmode 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 string Sets a tick label prefix.
	Tickprefix String `json:"tickprefix,omitempty"`

	// Ticks 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 string Sets a tick label suffix.
	Ticksuffix String `json:"ticksuffix,omitempty"`

	// Ticktext 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 string Sets the source reference on Chart Studio Cloud for  ticktext .
	Ticktextsrc String `json:"ticktextsrc,omitempty"`

	// Tickvals 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 string Sets the source reference on Chart Studio Cloud for  tickvals .
	Tickvalssrc String `json:"tickvalssrc,omitempty"`

	// Tickwidth number Sets the tick width (in px).
	Tickwidth float64 `json:"tickwidth,omitempty"`

	// Title <no value> <no value>
	Title *FunnelMarkerColorbarTitle `json:"title,omitempty"`

	// X number Sets the x position of the color bar (in plot fraction).
	X float64 `json:"x,omitempty"`

	// Xanchor 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.
	Xanchor FunnelMarkerColorbarXanchor `json:"xanchor,omitempty"`

	// Xpad number Sets the amount of padding (in px) along the x direction.
	Xpad float64 `json:"xpad,omitempty"`

	// Y number Sets the y position of the color bar (in plot fraction).
	Y float64 `json:"y,omitempty"`

	// Yanchor 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.
	Yanchor FunnelMarkerColorbarYanchor `json:"yanchor,omitempty"`

	// Ypad number Sets the amount of padding (in px) along the y direction.
	Ypad float64 `json:"ypad,omitempty"`
}

type FunnelMarkerColorbarExponentformat

type FunnelMarkerColorbarExponentformat string

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.

const (
	FunnelMarkerColorbarExponentformat_none  FunnelMarkerColorbarExponentformat = "none"
	FunnelMarkerColorbarExponentformat_e     FunnelMarkerColorbarExponentformat = "e"
	FunnelMarkerColorbarExponentformat_E     FunnelMarkerColorbarExponentformat = "E"
	FunnelMarkerColorbarExponentformat_power FunnelMarkerColorbarExponentformat = "power"
	FunnelMarkerColorbarExponentformat_SI    FunnelMarkerColorbarExponentformat = "SI"
	FunnelMarkerColorbarExponentformat_B     FunnelMarkerColorbarExponentformat = "B"
)

type FunnelMarkerColorbarLenmode

type FunnelMarkerColorbarLenmode string

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.

const (
	FunnelMarkerColorbarLenmode_fraction FunnelMarkerColorbarLenmode = "fraction"
	FunnelMarkerColorbarLenmode_pixels   FunnelMarkerColorbarLenmode = "pixels"
)

type FunnelMarkerColorbarShowexponent

type FunnelMarkerColorbarShowexponent string

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.

const (
	FunnelMarkerColorbarShowexponent_all   FunnelMarkerColorbarShowexponent = "all"
	FunnelMarkerColorbarShowexponent_first FunnelMarkerColorbarShowexponent = "first"
	FunnelMarkerColorbarShowexponent_last  FunnelMarkerColorbarShowexponent = "last"
	FunnelMarkerColorbarShowexponent_none  FunnelMarkerColorbarShowexponent = "none"
)

type FunnelMarkerColorbarShowtickprefix

type FunnelMarkerColorbarShowtickprefix string

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.

const (
	FunnelMarkerColorbarShowtickprefix_all   FunnelMarkerColorbarShowtickprefix = "all"
	FunnelMarkerColorbarShowtickprefix_first FunnelMarkerColorbarShowtickprefix = "first"
	FunnelMarkerColorbarShowtickprefix_last  FunnelMarkerColorbarShowtickprefix = "last"
	FunnelMarkerColorbarShowtickprefix_none  FunnelMarkerColorbarShowtickprefix = "none"
)

type FunnelMarkerColorbarShowticksuffix

type FunnelMarkerColorbarShowticksuffix string

FunnelMarkerColorbarShowticksuffix Same as `showtickprefix` but for tick suffixes.

const (
	FunnelMarkerColorbarShowticksuffix_all   FunnelMarkerColorbarShowticksuffix = "all"
	FunnelMarkerColorbarShowticksuffix_first FunnelMarkerColorbarShowticksuffix = "first"
	FunnelMarkerColorbarShowticksuffix_last  FunnelMarkerColorbarShowticksuffix = "last"
	FunnelMarkerColorbarShowticksuffix_none  FunnelMarkerColorbarShowticksuffix = "none"
)

type FunnelMarkerColorbarThicknessmode

type FunnelMarkerColorbarThicknessmode string

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.

const (
	FunnelMarkerColorbarThicknessmode_fraction FunnelMarkerColorbarThicknessmode = "fraction"
	FunnelMarkerColorbarThicknessmode_pixels   FunnelMarkerColorbarThicknessmode = "pixels"
)

type FunnelMarkerColorbarTickfont

type FunnelMarkerColorbarTickfont struct {

	// Color color <no value>
	Color String `json:"color,omitempty"`

	// Family string HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.
	Family String `json:"family,omitempty"`

	// Size number <no value>
	Size float64 `json:"size,omitempty"`
}

type FunnelMarkerColorbarTickformatstops

type FunnelMarkerColorbarTickformatstops interface{}

FunnelMarkerColorbarTickformatstops It's an items array and what goes inside it's... messy... check the docs Here is a hint to help you to define your own type tickformatstop

dtickrange
editType
enabled
name
role
templateitemname
value

type FunnelMarkerColorbarTicklabelposition

type FunnelMarkerColorbarTicklabelposition string

FunnelMarkerColorbarTicklabelposition Determines where tick labels are drawn.

const (
	FunnelMarkerColorbarTicklabelposition_outside       FunnelMarkerColorbarTicklabelposition = "outside"
	FunnelMarkerColorbarTicklabelposition_inside        FunnelMarkerColorbarTicklabelposition = "inside"
	FunnelMarkerColorbarTicklabelposition_outsidetop    FunnelMarkerColorbarTicklabelposition = "outside top"
	FunnelMarkerColorbarTicklabelposition_insidetop     FunnelMarkerColorbarTicklabelposition = "inside top"
	FunnelMarkerColorbarTicklabelposition_outsidebottom FunnelMarkerColorbarTicklabelposition = "outside bottom"
	FunnelMarkerColorbarTicklabelposition_insidebottom  FunnelMarkerColorbarTicklabelposition = "inside bottom"
)

type FunnelMarkerColorbarTickmode

type FunnelMarkerColorbarTickmode string

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).

const (
	FunnelMarkerColorbarTickmode_auto   FunnelMarkerColorbarTickmode = "auto"
	FunnelMarkerColorbarTickmode_linear FunnelMarkerColorbarTickmode = "linear"
	FunnelMarkerColorbarTickmode_array  FunnelMarkerColorbarTickmode = "array"
)

type FunnelMarkerColorbarTicks

type FunnelMarkerColorbarTicks string

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.

const (
	FunnelMarkerColorbarTicks_outside FunnelMarkerColorbarTicks = "outside"
	FunnelMarkerColorbarTicks_inside  FunnelMarkerColorbarTicks = "inside"
)

type FunnelMarkerColorbarTitle

type FunnelMarkerColorbarTitle struct {

	// Font <no value> Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.
	Font *FunnelMarkerColorbarTitleFont `json:"font,omitempty"`

	// Side 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.
	Side FunnelMarkerColorbarTitleSide `json:"side,omitempty"`

	// Text 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"`
}

type FunnelMarkerColorbarTitleFont

type FunnelMarkerColorbarTitleFont struct {

	// Color color <no value>
	Color String `json:"color,omitempty"`

	// Family string HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.
	Family String `json:"family,omitempty"`

	// Size number <no value>
	Size float64 `json:"size,omitempty"`
}

type FunnelMarkerColorbarTitleSide

type FunnelMarkerColorbarTitleSide string

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.

const (
	FunnelMarkerColorbarTitleSide_right  FunnelMarkerColorbarTitleSide = "right"
	FunnelMarkerColorbarTitleSide_top    FunnelMarkerColorbarTitleSide = "top"
	FunnelMarkerColorbarTitleSide_bottom FunnelMarkerColorbarTitleSide = "bottom"
)

type FunnelMarkerColorbarXanchor

type FunnelMarkerColorbarXanchor string

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.

const (
	FunnelMarkerColorbarXanchor_left   FunnelMarkerColorbarXanchor = "left"
	FunnelMarkerColorbarXanchor_center FunnelMarkerColorbarXanchor = "center"
	FunnelMarkerColorbarXanchor_right  FunnelMarkerColorbarXanchor = "right"
)

type FunnelMarkerColorbarYanchor

type FunnelMarkerColorbarYanchor string

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.

const (
	FunnelMarkerColorbarYanchor_top    FunnelMarkerColorbarYanchor = "top"
	FunnelMarkerColorbarYanchor_middle FunnelMarkerColorbarYanchor = "middle"
	FunnelMarkerColorbarYanchor_bottom FunnelMarkerColorbarYanchor = "bottom"
)

type FunnelMarkerLine

type FunnelMarkerLine struct {

	// Autocolorscale 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 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 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 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 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 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.
	Color interface{} `json:"color,omitempty"`

	// Coloraxis 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"`

	// Colorsrc string Sets the source reference on Chart Studio Cloud for  color .
	Colorsrc String `json:"colorsrc,omitempty"`

	// Reversescale 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 number Sets the width (in px) of the lines bounding the marker points.
	Width interface{} `json:"width,omitempty"`

	// Widthsrc string Sets the source reference on Chart Studio Cloud for  width .
	Widthsrc String `json:"widthsrc,omitempty"`
}

type FunnelOrientation

type FunnelOrientation string

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*.

const (
	FunnelOrientation_v FunnelOrientation = "v"
	FunnelOrientation_h FunnelOrientation = "h"
)

type FunnelOutsidetextfont

type FunnelOutsidetextfont struct {

	// Color color <no value>
	Color interface{} `json:"color,omitempty"`

	// Colorsrc string Sets the source reference on Chart Studio Cloud for  color .
	Colorsrc String `json:"colorsrc,omitempty"`

	// Family string HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.
	Family interface{} `json:"family,omitempty"`

	// Familysrc string Sets the source reference on Chart Studio Cloud for  family .
	Familysrc String `json:"familysrc,omitempty"`

	// Size number <no value>
	Size interface{} `json:"size,omitempty"`

	// Sizesrc string Sets the source reference on Chart Studio Cloud for  size .
	Sizesrc String `json:"sizesrc,omitempty"`
}

type FunnelStream

type FunnelStream struct {

	// Maxpoints 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 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"`
}

type FunnelTextfont

type FunnelTextfont struct {

	// Color color <no value>
	Color interface{} `json:"color,omitempty"`

	// Colorsrc string Sets the source reference on Chart Studio Cloud for  color .
	Colorsrc String `json:"colorsrc,omitempty"`

	// Family string HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.
	Family interface{} `json:"family,omitempty"`

	// Familysrc string Sets the source reference on Chart Studio Cloud for  family .
	Familysrc String `json:"familysrc,omitempty"`

	// Size number <no value>
	Size interface{} `json:"size,omitempty"`

	// Sizesrc string Sets the source reference on Chart Studio Cloud for  size .
	Sizesrc String `json:"sizesrc,omitempty"`
}

type FunnelTextinfo

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"
	// Extras
	FunnelTextinfoNone FunnelTextinfo = "none"
)

type FunnelTextposition

type FunnelTextposition string

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.

const (
	FunnelTextposition_inside  FunnelTextposition = "inside"
	FunnelTextposition_outside FunnelTextposition = "outside"
	FunnelTextposition_auto    FunnelTextposition = "auto"
	FunnelTextposition_none    FunnelTextposition = "none"
)

type FunnelTransforms

type FunnelTransforms interface{}

FunnelTransforms It's an items array and what goes inside it's... messy... check the docs Here is a hint to help you to define your own type transform

description
editType
role

type FunnelVisible

type FunnelVisible interface{}

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).

var (
	FunnelVisible_True       FunnelVisible = true
	FunnelVisible_False      FunnelVisible = false
	FunnelVisible_legendonly FunnelVisible = "legendonly"
)

type FunnelXperiodalignment

type FunnelXperiodalignment string

FunnelXperiodalignment Only relevant when the axis `type` is *date*. Sets the alignment of data points on the x axis.

const (
	FunnelXperiodalignment_start  FunnelXperiodalignment = "start"
	FunnelXperiodalignment_middle FunnelXperiodalignment = "middle"
	FunnelXperiodalignment_end    FunnelXperiodalignment = "end"
)

type FunnelYperiodalignment

type FunnelYperiodalignment string

FunnelYperiodalignment Only relevant when the axis `type` is *date*. Sets the alignment of data points on the y axis.

const (
	FunnelYperiodalignment_start  FunnelYperiodalignment = "start"
	FunnelYperiodalignment_middle FunnelYperiodalignment = "middle"
	FunnelYperiodalignment_end    FunnelYperiodalignment = "end"
)

type Funnelarea

type Funnelarea struct {

	// Type is the type of the plot
	Type TraceType `json:"type,omitempty"`

	// Aspectratio number Sets the ratio between height and width
	Aspectratio float64 `json:"aspectratio,omitempty"`

	// Baseratio number Sets the ratio between bottom length and maximum top length.
	Baseratio float64 `json:"baseratio,omitempty"`

	// Customdata 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 string Sets the source reference on Chart Studio Cloud for  customdata .
	Customdatasrc String `json:"customdatasrc,omitempty"`

	// Dlabel number Sets the label step. See `label0` for more info.
	Dlabel float64 `json:"dlabel,omitempty"`

	// Domain <no value> <no value>
	Domain *FunnelareaDomain `json:"domain,omitempty"`

	// Hoverinfo 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 string Sets the source reference on Chart Studio Cloud for  hoverinfo .
	Hoverinfosrc String `json:"hoverinfosrc,omitempty"`

	// Hoverlabel <no value> <no value>
	Hoverlabel *FunnelareaHoverlabel `json:"hoverlabel,omitempty"`

	// Hovertemplate 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 `<extra>` is displayed in the secondary box, for example "<extra>{fullData.name}</extra>". To hide the secondary box completely, use an empty tag `<extra></extra>`.
	Hovertemplate interface{} `json:"hovertemplate,omitempty"`

	// Hovertemplatesrc string Sets the source reference on Chart Studio Cloud for  hovertemplate .
	Hovertemplatesrc String `json:"hovertemplatesrc,omitempty"`

	// Hovertext 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 interface{} `json:"hovertext,omitempty"`

	// Hovertextsrc string Sets the source reference on Chart Studio Cloud for  hovertext .
	Hovertextsrc String `json:"hovertextsrc,omitempty"`

	// Ids 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 string Sets the source reference on Chart Studio Cloud for  ids .
	Idssrc String `json:"idssrc,omitempty"`

	// Insidetextfont <no value> Sets the font used for `textinfo` lying inside the sector.
	Insidetextfont *FunnelareaInsidetextfont `json:"insidetextfont,omitempty"`

	// Label0 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 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 string Sets the source reference on Chart Studio Cloud for  labels .
	Labelssrc String `json:"labelssrc,omitempty"`

	// Legendgroup 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 <no value> <no value>
	Marker *FunnelareaMarker `json:"marker,omitempty"`

	// Meta 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 string Sets the source reference on Chart Studio Cloud for  meta .
	Metasrc String `json:"metasrc,omitempty"`

	// Name string Sets the trace name. The trace name appear as the legend item and on hover.
	Name String `json:"name,omitempty"`

	// Opacity number Sets the opacity of the trace.
	Opacity float64 `json:"opacity,omitempty"`

	// Scalegroup 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 boolean Determines whether or not an item corresponding to this trace is shown in the legend.
	Showlegend Bool `json:"showlegend,omitempty"`

	// Stream <no value> <no value>
	Stream *FunnelareaStream `json:"stream,omitempty"`

	// Text 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 <no value> Sets the font used for `textinfo`.
	Textfont *FunnelareaTextfont `json:"textfont,omitempty"`

	// Textinfo flaglist Determines which trace information appear on the graph.
	Textinfo FunnelareaTextinfo `json:"textinfo,omitempty"`

	// Textposition enumerated Specifies the location of the `textinfo`.
	Textposition FunnelareaTextposition `json:"textposition,omitempty"`

	// Textpositionsrc string Sets the source reference on Chart Studio Cloud for  textposition .
	Textpositionsrc String `json:"textpositionsrc,omitempty"`

	// Textsrc string Sets the source reference on Chart Studio Cloud for  text .
	Textsrc String `json:"textsrc,omitempty"`

	// Texttemplate 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`.
	Texttemplate interface{} `json:"texttemplate,omitempty"`

	// Texttemplatesrc string Sets the source reference on Chart Studio Cloud for  texttemplate .
	Texttemplatesrc String `json:"texttemplatesrc,omitempty"`

	// Title <no value> <no value>
	Title *FunnelareaTitle `json:"title,omitempty"`

	// Transforms <no value> <no value>
	Transforms FunnelareaTransforms `json:"transforms,omitempty"`

	// Uid 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 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 data_array Sets the values of the sectors. If omitted, we count occurrences of each label.
	Values interface{} `json:"values,omitempty"`

	// Valuessrc string Sets the source reference on Chart Studio Cloud for  values .
	Valuessrc String `json:"valuessrc,omitempty"`

	// Visible 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"`
}

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.

func NewFunnelarea

func NewFunnelarea() *Funnelarea

func (*Funnelarea) GetType

func (this *Funnelarea) GetType() TraceType

type FunnelareaDomain

type FunnelareaDomain struct {

	// Column 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 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 info_array Sets the horizontal domain of this funnelarea trace (in plot fraction).
	X interface{} `json:"x,omitempty"`

	// Y info_array Sets the vertical domain of this funnelarea trace (in plot fraction).
	Y interface{} `json:"y,omitempty"`
}

type FunnelareaHoverinfo

type FunnelareaHoverinfo string
const (
	// Flags
	FunnelareaHoverinfoLabel   FunnelareaHoverinfo = "label"
	FunnelareaHoverinfoText    FunnelareaHoverinfo = "text"
	FunnelareaHoverinfoValue   FunnelareaHoverinfo = "value"
	FunnelareaHoverinfoPercent FunnelareaHoverinfo = "percent"
	FunnelareaHoverinfoName    FunnelareaHoverinfo = "name"
	// Extras
	FunnelareaHoverinfoAll  FunnelareaHoverinfo = "all"
	FunnelareaHoverinfoNone FunnelareaHoverinfo = "none"
	FunnelareaHoverinfoSkip FunnelareaHoverinfo = "skip"
)

type FunnelareaHoverlabel

type FunnelareaHoverlabel struct {

	// Align 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 string Sets the source reference on Chart Studio Cloud for  align .
	Alignsrc String `json:"alignsrc,omitempty"`

	// Bgcolor color Sets the background color of the hover labels for this trace
	Bgcolor interface{} `json:"bgcolor,omitempty"`

	// Bgcolorsrc string Sets the source reference on Chart Studio Cloud for  bgcolor .
	Bgcolorsrc String `json:"bgcolorsrc,omitempty"`

	// Bordercolor color Sets the border color of the hover labels for this trace.
	Bordercolor interface{} `json:"bordercolor,omitempty"`

	// Bordercolorsrc string Sets the source reference on Chart Studio Cloud for  bordercolor .
	Bordercolorsrc String `json:"bordercolorsrc,omitempty"`

	// Font <no value> Sets the font used in hover labels.
	Font *FunnelareaHoverlabelFont `json:"font,omitempty"`

	// Namelength 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 interface{} `json:"namelength,omitempty"`

	// Namelengthsrc string Sets the source reference on Chart Studio Cloud for  namelength .
	Namelengthsrc String `json:"namelengthsrc,omitempty"`
}

type FunnelareaHoverlabelAlign

type FunnelareaHoverlabelAlign string

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

const (
	FunnelareaHoverlabelAlign_left  FunnelareaHoverlabelAlign = "left"
	FunnelareaHoverlabelAlign_right FunnelareaHoverlabelAlign = "right"
	FunnelareaHoverlabelAlign_auto  FunnelareaHoverlabelAlign = "auto"
)

type FunnelareaHoverlabelFont

type FunnelareaHoverlabelFont struct {

	// Color color <no value>
	Color interface{} `json:"color,omitempty"`

	// Colorsrc string Sets the source reference on Chart Studio Cloud for  color .
	Colorsrc String `json:"colorsrc,omitempty"`

	// Family string HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.
	Family interface{} `json:"family,omitempty"`

	// Familysrc string Sets the source reference on Chart Studio Cloud for  family .
	Familysrc String `json:"familysrc,omitempty"`

	// Size number <no value>
	Size interface{} `json:"size,omitempty"`

	// Sizesrc string Sets the source reference on Chart Studio Cloud for  size .
	Sizesrc String `json:"sizesrc,omitempty"`
}

type FunnelareaInsidetextfont

type FunnelareaInsidetextfont struct {

	// Color color <no value>
	Color interface{} `json:"color,omitempty"`

	// Colorsrc string Sets the source reference on Chart Studio Cloud for  color .
	Colorsrc String `json:"colorsrc,omitempty"`

	// Family string HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.
	Family interface{} `json:"family,omitempty"`

	// Familysrc string Sets the source reference on Chart Studio Cloud for  family .
	Familysrc String `json:"familysrc,omitempty"`

	// Size number <no value>
	Size interface{} `json:"size,omitempty"`

	// Sizesrc string Sets the source reference on Chart Studio Cloud for  size .
	Sizesrc String `json:"sizesrc,omitempty"`
}

type FunnelareaMarker

type FunnelareaMarker struct {

	// Colors 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 string Sets the source reference on Chart Studio Cloud for  colors .
	Colorssrc String `json:"colorssrc,omitempty"`

	// Line <no value> <no value>
	Line *FunnelareaMarkerLine `json:"line,omitempty"`
}

type FunnelareaMarkerLine

type FunnelareaMarkerLine struct {

	// Color color Sets the color of the line enclosing each sector. Defaults to the `paper_bgcolor` value.
	Color interface{} `json:"color,omitempty"`

	// Colorsrc string Sets the source reference on Chart Studio Cloud for  color .
	Colorsrc String `json:"colorsrc,omitempty"`

	// Width number Sets the width (in px) of the line enclosing each sector.
	Width interface{} `json:"width,omitempty"`

	// Widthsrc string Sets the source reference on Chart Studio Cloud for  width .
	Widthsrc String `json:"widthsrc,omitempty"`
}

type FunnelareaStream

type FunnelareaStream struct {

	// Maxpoints 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 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"`
}

type FunnelareaTextfont

type FunnelareaTextfont struct {

	// Color color <no value>
	Color interface{} `json:"color,omitempty"`

	// Colorsrc string Sets the source reference on Chart Studio Cloud for  color .
	Colorsrc String `json:"colorsrc,omitempty"`

	// Family string HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.
	Family interface{} `json:"family,omitempty"`

	// Familysrc string Sets the source reference on Chart Studio Cloud for  family .
	Familysrc String `json:"familysrc,omitempty"`

	// Size number <no value>
	Size interface{} `json:"size,omitempty"`

	// Sizesrc string Sets the source reference on Chart Studio Cloud for  size .
	Sizesrc String `json:"sizesrc,omitempty"`
}

type FunnelareaTextinfo

type FunnelareaTextinfo string
const (
	// Flags
	FunnelareaTextinfoLabel   FunnelareaTextinfo = "label"
	FunnelareaTextinfoText    FunnelareaTextinfo = "text"
	FunnelareaTextinfoValue   FunnelareaTextinfo = "value"
	FunnelareaTextinfoPercent FunnelareaTextinfo = "percent"
	// Extras
	FunnelareaTextinfoNone FunnelareaTextinfo = "none"
)

type FunnelareaTextposition

type FunnelareaTextposition string

FunnelareaTextposition Specifies the location of the `textinfo`.

const (
	FunnelareaTextposition_inside FunnelareaTextposition = "inside"
	FunnelareaTextposition_none   FunnelareaTextposition = "none"
)

type FunnelareaTitle

type FunnelareaTitle struct {

	// Font <no value> Sets the font used for `title`. Note that the title's font used to be set by the now deprecated `titlefont` attribute.
	Font *FunnelareaTitleFont `json:"font,omitempty"`

	// Position 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 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"`
}

type FunnelareaTitleFont

type FunnelareaTitleFont struct {

	// Color color <no value>
	Color interface{} `json:"color,omitempty"`

	// Colorsrc string Sets the source reference on Chart Studio Cloud for  color .
	Colorsrc String `json:"colorsrc,omitempty"`

	// Family string HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.
	Family interface{} `json:"family,omitempty"`

	// Familysrc string Sets the source reference on Chart Studio Cloud for  family .
	Familysrc String `json:"familysrc,omitempty"`

	// Size number <no value>
	Size interface{} `json:"size,omitempty"`

	// Sizesrc string Sets the source reference on Chart Studio Cloud for  size .
	Sizesrc String `json:"sizesrc,omitempty"`
}

type FunnelareaTitlePosition

type FunnelareaTitlePosition string

FunnelareaTitlePosition Specifies the location of the `title`. Note that the title's position used to be set by the now deprecated `titleposition` attribute.

const (
	FunnelareaTitlePosition_topleft   FunnelareaTitlePosition = "top left"
	FunnelareaTitlePosition_topcenter FunnelareaTitlePosition = "top center"
	FunnelareaTitlePosition_topright  FunnelareaTitlePosition = "top right"
)

type FunnelareaTransforms

type FunnelareaTransforms interface{}

FunnelareaTransforms It's an items array and what goes inside it's... messy... check the docs Here is a hint to help you to define your own type transform

description
editType
role

type FunnelareaVisible

type FunnelareaVisible interface{}

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).

var (
	FunnelareaVisible_True       FunnelareaVisible = true
	FunnelareaVisible_False      FunnelareaVisible = false
	FunnelareaVisible_legendonly FunnelareaVisible = "legendonly"
)

type Heatmap

type Heatmap struct {

	// Type is the type of the plot
	Type TraceType `json:"type,omitempty"`

	// Autocolorscale 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 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 <no value> <no value>
	Colorbar *HeatmapColorbar `json:"colorbar,omitempty"`

	// Connectgaps 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 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 string Sets the source reference on Chart Studio Cloud for  customdata .
	Customdatasrc String `json:"customdatasrc,omitempty"`

	// Dx number Sets the x coordinate step. See `x0` for more info.
	Dx float64 `json:"dx,omitempty"`

	// Dy number Sets the y coordinate step. See `y0` for more info.
	Dy float64 `json:"dy,omitempty"`

	// Hoverinfo 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 string Sets the source reference on Chart Studio Cloud for  hoverinfo .
	Hoverinfosrc String `json:"hoverinfosrc,omitempty"`

	// Hoverlabel <no value> <no value>
	Hoverlabel *HeatmapHoverlabel `json:"hoverlabel,omitempty"`

	// Hoverongaps 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 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 `<extra>` is displayed in the secondary box, for example "<extra>{fullData.name}</extra>". To hide the secondary box completely, use an empty tag `<extra></extra>`.
	Hovertemplate interface{} `json:"hovertemplate,omitempty"`

	// Hovertemplatesrc string Sets the source reference on Chart Studio Cloud for  hovertemplate .
	Hovertemplatesrc String `json:"hovertemplatesrc,omitempty"`

	// Hovertext data_array Same as `text`.
	Hovertext interface{} `json:"hovertext,omitempty"`

	// Hovertextsrc string Sets the source reference on Chart Studio Cloud for  hovertext .
	Hovertextsrc String `json:"hovertextsrc,omitempty"`

	// Ids 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 string Sets the source reference on Chart Studio Cloud for  ids .
	Idssrc String `json:"idssrc,omitempty"`

	// Legendgroup 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"`

	// Meta 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 string Sets the source reference on Chart Studio Cloud for  meta .
	Metasrc String `json:"metasrc,omitempty"`

	// Name string Sets the trace name. The trace name appear as the legend item and on hover.
	Name String `json:"name,omitempty"`

	// Opacity number Sets the opacity of the trace.
	Opacity float64 `json:"opacity,omitempty"`

	// Reversescale 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 boolean Determines whether or not an item corresponding to this trace is shown in the legend.
	Showlegend Bool `json:"showlegend,omitempty"`

	// Showscale boolean Determines whether or not a colorbar is displayed for this trace.
	Showscale Bool `json:"showscale,omitempty"`

	// Stream <no value> <no value>
	Stream *HeatmapStream `json:"stream,omitempty"`

	// Text data_array Sets the text elements associated with each z value.
	Text interface{} `json:"text,omitempty"`

	// Textsrc string Sets the source reference on Chart Studio Cloud for  text .
	Textsrc String `json:"textsrc,omitempty"`

	// Transforms <no value> <no value>
	Transforms HeatmapTransforms `json:"transforms,omitempty"`

	// Transpose boolean Transposes the z data.
	Transpose Bool `json:"transpose,omitempty"`

	// Uid 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 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 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 data_array Sets the x coordinates.
	X interface{} `json:"x,omitempty"`

	// X0 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 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 enumerated Sets the calendar system to use with `x` date data.
	Xcalendar HeatmapXcalendar `json:"xcalendar,omitempty"`

	// Xgap number Sets the horizontal gap (in pixels) between bricks.
	Xgap float64 `json:"xgap,omitempty"`

	// Xperiod any Only relevant when the axis `type` is *date*. Sets the period positioning in milliseconds or *M<n>* on the x axis. Special values in the form of *M<n>* could be used to declare the number of months. In this case `n` must be a positive integer.
	Xperiod interface{} `json:"xperiod,omitempty"`

	// Xperiod0 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 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 string Sets the source reference on Chart Studio Cloud for  x .
	Xsrc String `json:"xsrc,omitempty"`

	// Xtype 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 data_array Sets the y coordinates.
	Y interface{} `json:"y,omitempty"`

	// Y0 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 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 enumerated Sets the calendar system to use with `y` date data.
	Ycalendar HeatmapYcalendar `json:"ycalendar,omitempty"`

	// Ygap number Sets the vertical gap (in pixels) between bricks.
	Ygap float64 `json:"ygap,omitempty"`

	// Yperiod any Only relevant when the axis `type` is *date*. Sets the period positioning in milliseconds or *M<n>* on the y axis. Special values in the form of *M<n>* could be used to declare the number of months. In this case `n` must be a positive integer.
	Yperiod interface{} `json:"yperiod,omitempty"`

	// Yperiod0 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 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 string Sets the source reference on Chart Studio Cloud for  y .
	Ysrc String `json:"ysrc,omitempty"`

	// Ytype 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 data_array Sets the z data.
	Z interface{} `json:"z,omitempty"`

	// Zauto 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 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
	Zhoverformat String `json:"zhoverformat,omitempty"`

	// Zmax 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 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 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 enumerated Picks a smoothing algorithm use to smooth `z` data.
	Zsmooth HeatmapZsmooth `json:"zsmooth,omitempty"`

	// Zsrc string Sets the source reference on Chart Studio Cloud for  z .
	Zsrc String `json:"zsrc,omitempty"`
}

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.

func NewHeatmap

func NewHeatmap() *Heatmap

func (*Heatmap) GetType

func (this *Heatmap) GetType() TraceType

type HeatmapColorbar

type HeatmapColorbar struct {

	// Bgcolor color Sets the color of padded area.
	Bgcolor String `json:"bgcolor,omitempty"`

	// Bordercolor color Sets the axis line color.
	Bordercolor String `json:"bordercolor,omitempty"`

	// Borderwidth number Sets the width (in px) or the border enclosing this color bar.
	Borderwidth float64 `json:"borderwidth,omitempty"`

	// Dtick 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<f>*, where `f` is a positive number, gives ticks linearly spaced in value (but not position). For example `tick0` = 0.1, `dtick` = *L0.5* will put ticks at 0.1, 0.6, 1.1, 1.6 etc. To show powers of 10 plus small digits between, use *D1* (all digits) or *D2* (only 2 and 5). `tick0` is ignored for *D1* and *D2*. If the axis `type` is *date*, then you must convert the time to milliseconds. For example, to set the interval between ticks to one day, set `dtick` to 86400000.0. *date* also has special values *M<n>* gives ticks spaced by a number of months. `n` must be a positive integer. To set ticks on the 15th of every third month, set `tick0` to *2000-01-15* and `dtick` to *M3*. To set ticks every 4 years, set `dtick` to *M48*
	Dtick interface{} `json:"dtick,omitempty"`

	// Exponentformat 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"`

	// Len 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 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 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 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"`

	// Outlinecolor color Sets the axis line color.
	Outlinecolor String `json:"outlinecolor,omitempty"`

	// Outlinewidth number Sets the width (in px) of the axis line.
	Outlinewidth float64 `json:"outlinewidth,omitempty"`

	// Separatethousands boolean If "true", even 4-digit integers are separated
	Separatethousands Bool `json:"separatethousands,omitempty"`

	// Showexponent 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 boolean Determines whether or not the tick labels are drawn.
	Showticklabels Bool `json:"showticklabels,omitempty"`

	// Showtickprefix 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 enumerated Same as `showtickprefix` but for tick suffixes.
	Showticksuffix HeatmapColorbarShowticksuffix `json:"showticksuffix,omitempty"`

	// Thickness 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 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 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<f>* (see `dtick` for more info). If the axis `type` is *date*, it should be a date string, like date data. If the axis `type` is *category*, it should be a number, using the scale where each category is assigned a serial number from zero in the order it appears.
	Tick0 interface{} `json:"tick0,omitempty"`

	// Tickangle 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 color Sets the tick color.
	Tickcolor String `json:"tickcolor,omitempty"`

	// Tickfont <no value> Sets the color bar's tick label font
	Tickfont *HeatmapColorbarTickfont `json:"tickfont,omitempty"`

	// Tickformat 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*
	Tickformat String `json:"tickformat,omitempty"`

	// Tickformatstops <no value> <no value>
	Tickformatstops HeatmapColorbarTickformatstops `json:"tickformatstops,omitempty"`

	// Ticklabelposition enumerated Determines where tick labels are drawn.
	Ticklabelposition HeatmapColorbarTicklabelposition `json:"ticklabelposition,omitempty"`

	// Ticklen number Sets the tick length (in px).
	Ticklen float64 `json:"ticklen,omitempty"`

	// Tickmode 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 string Sets a tick label prefix.
	Tickprefix String `json:"tickprefix,omitempty"`

	// Ticks 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 string Sets a tick label suffix.
	Ticksuffix String `json:"ticksuffix,omitempty"`

	// Ticktext 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 string Sets the source reference on Chart Studio Cloud for  ticktext .
	Ticktextsrc String `json:"ticktextsrc,omitempty"`

	// Tickvals 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 string Sets the source reference on Chart Studio Cloud for  tickvals .
	Tickvalssrc String `json:"tickvalssrc,omitempty"`

	// Tickwidth number Sets the tick width (in px).
	Tickwidth float64 `json:"tickwidth,omitempty"`

	// Title <no value> <no value>
	Title *HeatmapColorbarTitle `json:"title,omitempty"`

	// X number Sets the x position of the color bar (in plot fraction).
	X float64 `json:"x,omitempty"`

	// Xanchor 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.
	Xanchor HeatmapColorbarXanchor `json:"xanchor,omitempty"`

	// Xpad number Sets the amount of padding (in px) along the x direction.
	Xpad float64 `json:"xpad,omitempty"`

	// Y number Sets the y position of the color bar (in plot fraction).
	Y float64 `json:"y,omitempty"`

	// Yanchor 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.
	Yanchor HeatmapColorbarYanchor `json:"yanchor,omitempty"`

	// Ypad number Sets the amount of padding (in px) along the y direction.
	Ypad float64 `json:"ypad,omitempty"`
}

type HeatmapColorbarExponentformat

type HeatmapColorbarExponentformat string

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.

const (
	HeatmapColorbarExponentformat_none  HeatmapColorbarExponentformat = "none"
	HeatmapColorbarExponentformat_e     HeatmapColorbarExponentformat = "e"
	HeatmapColorbarExponentformat_E     HeatmapColorbarExponentformat = "E"
	HeatmapColorbarExponentformat_power HeatmapColorbarExponentformat = "power"
	HeatmapColorbarExponentformat_SI    HeatmapColorbarExponentformat = "SI"
	HeatmapColorbarExponentformat_B     HeatmapColorbarExponentformat = "B"
)

type HeatmapColorbarLenmode

type HeatmapColorbarLenmode string

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.

const (
	HeatmapColorbarLenmode_fraction HeatmapColorbarLenmode = "fraction"
	HeatmapColorbarLenmode_pixels   HeatmapColorbarLenmode = "pixels"
)

type HeatmapColorbarShowexponent

type HeatmapColorbarShowexponent string

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.

const (
	HeatmapColorbarShowexponent_all   HeatmapColorbarShowexponent = "all"
	HeatmapColorbarShowexponent_first HeatmapColorbarShowexponent = "first"
	HeatmapColorbarShowexponent_last  HeatmapColorbarShowexponent = "last"
	HeatmapColorbarShowexponent_none  HeatmapColorbarShowexponent = "none"
)

type HeatmapColorbarShowtickprefix

type HeatmapColorbarShowtickprefix string

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.

const (
	HeatmapColorbarShowtickprefix_all   HeatmapColorbarShowtickprefix = "all"
	HeatmapColorbarShowtickprefix_first HeatmapColorbarShowtickprefix = "first"
	HeatmapColorbarShowtickprefix_last  HeatmapColorbarShowtickprefix = "last"
	HeatmapColorbarShowtickprefix_none  HeatmapColorbarShowtickprefix = "none"
)

type HeatmapColorbarShowticksuffix

type HeatmapColorbarShowticksuffix string

HeatmapColorbarShowticksuffix Same as `showtickprefix` but for tick suffixes.

const (
	HeatmapColorbarShowticksuffix_all   HeatmapColorbarShowticksuffix = "all"
	HeatmapColorbarShowticksuffix_first HeatmapColorbarShowticksuffix = "first"
	HeatmapColorbarShowticksuffix_last  HeatmapColorbarShowticksuffix = "last"
	HeatmapColorbarShowticksuffix_none  HeatmapColorbarShowticksuffix = "none"
)

type HeatmapColorbarThicknessmode

type HeatmapColorbarThicknessmode string

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.

const (
	HeatmapColorbarThicknessmode_fraction HeatmapColorbarThicknessmode = "fraction"
	HeatmapColorbarThicknessmode_pixels   HeatmapColorbarThicknessmode = "pixels"
)

type HeatmapColorbarTickfont

type HeatmapColorbarTickfont struct {

	// Color color <no value>
	Color String `json:"color,omitempty"`

	// Family string HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.
	Family String `json:"family,omitempty"`

	// Size number <no value>
	Size float64 `json:"size,omitempty"`
}

type HeatmapColorbarTickformatstops

type HeatmapColorbarTickformatstops interface{}

HeatmapColorbarTickformatstops It's an items array and what goes inside it's... messy... check the docs Here is a hint to help you to define your own type tickformatstop

dtickrange
editType
enabled
name
role
templateitemname
value

type HeatmapColorbarTicklabelposition

type HeatmapColorbarTicklabelposition string

HeatmapColorbarTicklabelposition Determines where tick labels are drawn.

const (
	HeatmapColorbarTicklabelposition_outside       HeatmapColorbarTicklabelposition = "outside"
	HeatmapColorbarTicklabelposition_inside        HeatmapColorbarTicklabelposition = "inside"
	HeatmapColorbarTicklabelposition_outsidetop    HeatmapColorbarTicklabelposition = "outside top"
	HeatmapColorbarTicklabelposition_insidetop     HeatmapColorbarTicklabelposition = "inside top"
	HeatmapColorbarTicklabelposition_outsidebottom HeatmapColorbarTicklabelposition = "outside bottom"
	HeatmapColorbarTicklabelposition_insidebottom  HeatmapColorbarTicklabelposition = "inside bottom"
)

type HeatmapColorbarTickmode

type HeatmapColorbarTickmode string

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).

const (
	HeatmapColorbarTickmode_auto   HeatmapColorbarTickmode = "auto"
	HeatmapColorbarTickmode_linear HeatmapColorbarTickmode = "linear"
	HeatmapColorbarTickmode_array  HeatmapColorbarTickmode = "array"
)

type HeatmapColorbarTicks

type HeatmapColorbarTicks string

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.

const (
	HeatmapColorbarTicks_outside HeatmapColorbarTicks = "outside"
	HeatmapColorbarTicks_inside  HeatmapColorbarTicks = "inside"
)

type HeatmapColorbarTitle

type HeatmapColorbarTitle struct {

	// Font <no value> Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.
	Font *HeatmapColorbarTitleFont `json:"font,omitempty"`

	// Side 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.
	Side HeatmapColorbarTitleSide `json:"side,omitempty"`

	// Text 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"`
}

type HeatmapColorbarTitleFont

type HeatmapColorbarTitleFont struct {

	// Color color <no value>
	Color String `json:"color,omitempty"`

	// Family string HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.
	Family String `json:"family,omitempty"`

	// Size number <no value>
	Size float64 `json:"size,omitempty"`
}

type HeatmapColorbarTitleSide

type HeatmapColorbarTitleSide string

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.

const (
	HeatmapColorbarTitleSide_right  HeatmapColorbarTitleSide = "right"
	HeatmapColorbarTitleSide_top    HeatmapColorbarTitleSide = "top"
	HeatmapColorbarTitleSide_bottom HeatmapColorbarTitleSide = "bottom"
)

type HeatmapColorbarXanchor

type HeatmapColorbarXanchor string

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.

const (
	HeatmapColorbarXanchor_left   HeatmapColorbarXanchor = "left"
	HeatmapColorbarXanchor_center HeatmapColorbarXanchor = "center"
	HeatmapColorbarXanchor_right  HeatmapColorbarXanchor = "right"
)

type HeatmapColorbarYanchor

type HeatmapColorbarYanchor string

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.

const (
	HeatmapColorbarYanchor_top    HeatmapColorbarYanchor = "top"
	HeatmapColorbarYanchor_middle HeatmapColorbarYanchor = "middle"
	HeatmapColorbarYanchor_bottom HeatmapColorbarYanchor = "bottom"
)

type HeatmapHoverinfo

type HeatmapHoverinfo string
const (
	// Flags
	HeatmapHoverinfoX    HeatmapHoverinfo = "x"
	HeatmapHoverinfoY    HeatmapHoverinfo = "y"
	HeatmapHoverinfoZ    HeatmapHoverinfo = "z"
	HeatmapHoverinfoText HeatmapHoverinfo = "text"
	HeatmapHoverinfoName HeatmapHoverinfo = "name"
	// Extras
	HeatmapHoverinfoAll  HeatmapHoverinfo = "all"
	HeatmapHoverinfoNone HeatmapHoverinfo = "none"
	HeatmapHoverinfoSkip HeatmapHoverinfo = "skip"
)

type HeatmapHoverlabel

type HeatmapHoverlabel struct {

	// Align 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 string Sets the source reference on Chart Studio Cloud for  align .
	Alignsrc String `json:"alignsrc,omitempty"`

	// Bgcolor color Sets the background color of the hover labels for this trace
	Bgcolor interface{} `json:"bgcolor,omitempty"`

	// Bgcolorsrc string Sets the source reference on Chart Studio Cloud for  bgcolor .
	Bgcolorsrc String `json:"bgcolorsrc,omitempty"`

	// Bordercolor color Sets the border color of the hover labels for this trace.
	Bordercolor interface{} `json:"bordercolor,omitempty"`

	// Bordercolorsrc string Sets the source reference on Chart Studio Cloud for  bordercolor .
	Bordercolorsrc String `json:"bordercolorsrc,omitempty"`

	// Font <no value> Sets the font used in hover labels.
	Font *HeatmapHoverlabelFont `json:"font,omitempty"`

	// Namelength 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 interface{} `json:"namelength,omitempty"`

	// Namelengthsrc string Sets the source reference on Chart Studio Cloud for  namelength .
	Namelengthsrc String `json:"namelengthsrc,omitempty"`
}

type HeatmapHoverlabelAlign

type HeatmapHoverlabelAlign string

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

const (
	HeatmapHoverlabelAlign_left  HeatmapHoverlabelAlign = "left"
	HeatmapHoverlabelAlign_right HeatmapHoverlabelAlign = "right"
	HeatmapHoverlabelAlign_auto  HeatmapHoverlabelAlign = "auto"
)

type HeatmapHoverlabelFont

type HeatmapHoverlabelFont struct {

	// Color color <no value>
	Color interface{} `json:"color,omitempty"`

	// Colorsrc string Sets the source reference on Chart Studio Cloud for  color .
	Colorsrc String `json:"colorsrc,omitempty"`

	// Family string HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.
	Family interface{} `json:"family,omitempty"`

	// Familysrc string Sets the source reference on Chart Studio Cloud for  family .
	Familysrc String `json:"familysrc,omitempty"`

	// Size number <no value>
	Size interface{} `json:"size,omitempty"`

	// Sizesrc string Sets the source reference on Chart Studio Cloud for  size .
	Sizesrc String `json:"sizesrc,omitempty"`
}

type HeatmapStream

type HeatmapStream struct {

	// Maxpoints 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 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"`
}

type HeatmapTransforms

type HeatmapTransforms interface{}

HeatmapTransforms It's an items array and what goes inside it's... messy... check the docs Here is a hint to help you to define your own type transform

description
editType
role

type HeatmapVisible

type HeatmapVisible interface{}

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).

var (
	HeatmapVisible_True       HeatmapVisible = true
	HeatmapVisible_False      HeatmapVisible = false
	HeatmapVisible_legendonly HeatmapVisible = "legendonly"
)

type HeatmapXcalendar

type HeatmapXcalendar string

HeatmapXcalendar Sets the calendar system to use with `x` date data.

const (
	HeatmapXcalendar_gregorian  HeatmapXcalendar = "gregorian"
	HeatmapXcalendar_chinese    HeatmapXcalendar = "chinese"
	HeatmapXcalendar_coptic     HeatmapXcalendar = "coptic"
	HeatmapXcalendar_discworld  HeatmapXcalendar = "discworld"
	HeatmapXcalendar_ethiopian  HeatmapXcalendar = "ethiopian"
	HeatmapXcalendar_hebrew     HeatmapXcalendar = "hebrew"
	HeatmapXcalendar_islamic    HeatmapXcalendar = "islamic"
	HeatmapXcalendar_julian     HeatmapXcalendar = "julian"
	HeatmapXcalendar_mayan      HeatmapXcalendar = "mayan"
	HeatmapXcalendar_nanakshahi HeatmapXcalendar = "nanakshahi"
	HeatmapXcalendar_nepali     HeatmapXcalendar = "nepali"
	HeatmapXcalendar_persian    HeatmapXcalendar = "persian"
	HeatmapXcalendar_jalali     HeatmapXcalendar = "jalali"
	HeatmapXcalendar_taiwan     HeatmapXcalendar = "taiwan"
	HeatmapXcalendar_thai       HeatmapXcalendar = "thai"
	HeatmapXcalendar_ummalqura  HeatmapXcalendar = "ummalqura"
)

type HeatmapXperiodalignment

type HeatmapXperiodalignment string

HeatmapXperiodalignment Only relevant when the axis `type` is *date*. Sets the alignment of data points on the x axis.

const (
	HeatmapXperiodalignment_start  HeatmapXperiodalignment = "start"
	HeatmapXperiodalignment_middle HeatmapXperiodalignment = "middle"
	HeatmapXperiodalignment_end    HeatmapXperiodalignment = "end"
)

type HeatmapXtype

type HeatmapXtype string

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).

const (
	HeatmapXtype_array  HeatmapXtype = "array"
	HeatmapXtype_scaled HeatmapXtype = "scaled"
)

type HeatmapYcalendar

type HeatmapYcalendar string

HeatmapYcalendar Sets the calendar system to use with `y` date data.

const (
	HeatmapYcalendar_gregorian  HeatmapYcalendar = "gregorian"
	HeatmapYcalendar_chinese    HeatmapYcalendar = "chinese"
	HeatmapYcalendar_coptic     HeatmapYcalendar = "coptic"
	HeatmapYcalendar_discworld  HeatmapYcalendar = "discworld"
	HeatmapYcalendar_ethiopian  HeatmapYcalendar = "ethiopian"
	HeatmapYcalendar_hebrew     HeatmapYcalendar = "hebrew"
	HeatmapYcalendar_islamic    HeatmapYcalendar = "islamic"
	HeatmapYcalendar_julian     HeatmapYcalendar = "julian"
	HeatmapYcalendar_mayan      HeatmapYcalendar = "mayan"
	HeatmapYcalendar_nanakshahi HeatmapYcalendar = "nanakshahi"
	HeatmapYcalendar_nepali     HeatmapYcalendar = "nepali"
	HeatmapYcalendar_persian    HeatmapYcalendar = "persian"
	HeatmapYcalendar_jalali     HeatmapYcalendar = "jalali"
	HeatmapYcalendar_taiwan     HeatmapYcalendar = "taiwan"
	HeatmapYcalendar_thai       HeatmapYcalendar = "thai"
	HeatmapYcalendar_ummalqura  HeatmapYcalendar = "ummalqura"
)

type HeatmapYperiodalignment

type HeatmapYperiodalignment string

HeatmapYperiodalignment Only relevant when the axis `type` is *date*. Sets the alignment of data points on the y axis.

const (
	HeatmapYperiodalignment_start  HeatmapYperiodalignment = "start"
	HeatmapYperiodalignment_middle HeatmapYperiodalignment = "middle"
	HeatmapYperiodalignment_end    HeatmapYperiodalignment = "end"
)

type HeatmapYtype

type HeatmapYtype string

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)

const (
	HeatmapYtype_array  HeatmapYtype = "array"
	HeatmapYtype_scaled HeatmapYtype = "scaled"
)

type HeatmapZsmooth

type HeatmapZsmooth interface{}

HeatmapZsmooth Picks a smoothing algorithm use to smooth `z` data.

var (
	HeatmapZsmooth_fast  HeatmapZsmooth = "fast"
	HeatmapZsmooth_best  HeatmapZsmooth = "best"
	HeatmapZsmooth_False HeatmapZsmooth = false
)

type Heatmapgl

type Heatmapgl struct {

	// Type is the type of the plot
	Type TraceType `json:"type,omitempty"`

	// Autocolorscale 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 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 <no value> <no value>
	Colorbar *HeatmapglColorbar `json:"colorbar,omitempty"`

	// Customdata 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 string Sets the source reference on Chart Studio Cloud for  customdata .
	Customdatasrc String `json:"customdatasrc,omitempty"`

	// Dx number Sets the x coordinate step. See `x0` for more info.
	Dx float64 `json:"dx,omitempty"`

	// Dy number Sets the y coordinate step. See `y0` for more info.
	Dy float64 `json:"dy,omitempty"`

	// Hoverinfo 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 string Sets the source reference on Chart Studio Cloud for  hoverinfo .
	Hoverinfosrc String `json:"hoverinfosrc,omitempty"`

	// Hoverlabel <no value> <no value>
	Hoverlabel *HeatmapglHoverlabel `json:"hoverlabel,omitempty"`

	// Ids 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 string Sets the source reference on Chart Studio Cloud for  ids .
	Idssrc String `json:"idssrc,omitempty"`

	// Meta 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 string Sets the source reference on Chart Studio Cloud for  meta .
	Metasrc String `json:"metasrc,omitempty"`

	// Name string Sets the trace name. The trace name appear as the legend item and on hover.
	Name String `json:"name,omitempty"`

	// Opacity number Sets the opacity of the trace.
	Opacity float64 `json:"opacity,omitempty"`

	// Reversescale 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 boolean Determines whether or not a colorbar is displayed for this trace.
	Showscale Bool `json:"showscale,omitempty"`

	// Stream <no value> <no value>
	Stream *HeatmapglStream `json:"stream,omitempty"`

	// Text data_array Sets the text elements associated with each z value.
	Text interface{} `json:"text,omitempty"`

	// Textsrc string Sets the source reference on Chart Studio Cloud for  text .
	Textsrc String `json:"textsrc,omitempty"`

	// Transforms <no value> <no value>
	Transforms HeatmapglTransforms `json:"transforms,omitempty"`

	// Transpose boolean Transposes the z data.
	Transpose Bool `json:"transpose,omitempty"`

	// Uid 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 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 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 data_array Sets the x coordinates.
	X interface{} `json:"x,omitempty"`

	// X0 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 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 string Sets the source reference on Chart Studio Cloud for  x .
	Xsrc String `json:"xsrc,omitempty"`

	// Xtype 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 data_array Sets the y coordinates.
	Y interface{} `json:"y,omitempty"`

	// Y0 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 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 string Sets the source reference on Chart Studio Cloud for  y .
	Ysrc String `json:"ysrc,omitempty"`

	// Ytype 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 data_array Sets the z data.
	Z interface{} `json:"z,omitempty"`

	// Zauto 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 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 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 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 enumerated Picks a smoothing algorithm use to smooth `z` data.
	Zsmooth HeatmapglZsmooth `json:"zsmooth,omitempty"`

	// Zsrc string Sets the source reference on Chart Studio Cloud for  z .
	Zsrc String `json:"zsrc,omitempty"`
}

Heatmapgl WebGL version of the heatmap trace type.

func NewHeatmapgl

func NewHeatmapgl() *Heatmapgl

func (*Heatmapgl) GetType

func (this *Heatmapgl) GetType() TraceType

type HeatmapglColorbar

type HeatmapglColorbar struct {

	// Bgcolor color Sets the color of padded area.
	Bgcolor String `json:"bgcolor,omitempty"`

	// Bordercolor color Sets the axis line color.
	Bordercolor String `json:"bordercolor,omitempty"`

	// Borderwidth number Sets the width (in px) or the border enclosing this color bar.
	Borderwidth float64 `json:"borderwidth,omitempty"`

	// Dtick 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<f>*, where `f` is a positive number, gives ticks linearly spaced in value (but not position). For example `tick0` = 0.1, `dtick` = *L0.5* will put ticks at 0.1, 0.6, 1.1, 1.6 etc. To show powers of 10 plus small digits between, use *D1* (all digits) or *D2* (only 2 and 5). `tick0` is ignored for *D1* and *D2*. If the axis `type` is *date*, then you must convert the time to milliseconds. For example, to set the interval between ticks to one day, set `dtick` to 86400000.0. *date* also has special values *M<n>* gives ticks spaced by a number of months. `n` must be a positive integer. To set ticks on the 15th of every third month, set `tick0` to *2000-01-15* and `dtick` to *M3*. To set ticks every 4 years, set `dtick` to *M48*
	Dtick interface{} `json:"dtick,omitempty"`

	// Exponentformat 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"`

	// Len 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 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 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 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"`

	// Outlinecolor color Sets the axis line color.
	Outlinecolor String `json:"outlinecolor,omitempty"`

	// Outlinewidth number Sets the width (in px) of the axis line.
	Outlinewidth float64 `json:"outlinewidth,omitempty"`

	// Separatethousands boolean If "true", even 4-digit integers are separated
	Separatethousands Bool `json:"separatethousands,omitempty"`

	// Showexponent 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 boolean Determines whether or not the tick labels are drawn.
	Showticklabels Bool `json:"showticklabels,omitempty"`

	// Showtickprefix 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 enumerated Same as `showtickprefix` but for tick suffixes.
	Showticksuffix HeatmapglColorbarShowticksuffix `json:"showticksuffix,omitempty"`

	// Thickness 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 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 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<f>* (see `dtick` for more info). If the axis `type` is *date*, it should be a date string, like date data. If the axis `type` is *category*, it should be a number, using the scale where each category is assigned a serial number from zero in the order it appears.
	Tick0 interface{} `json:"tick0,omitempty"`

	// Tickangle 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 color Sets the tick color.
	Tickcolor String `json:"tickcolor,omitempty"`

	// Tickfont <no value> Sets the color bar's tick label font
	Tickfont *HeatmapglColorbarTickfont `json:"tickfont,omitempty"`

	// Tickformat 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*
	Tickformat String `json:"tickformat,omitempty"`

	// Tickformatstops <no value> <no value>
	Tickformatstops HeatmapglColorbarTickformatstops `json:"tickformatstops,omitempty"`

	// Ticklabelposition enumerated Determines where tick labels are drawn.
	Ticklabelposition HeatmapglColorbarTicklabelposition `json:"ticklabelposition,omitempty"`

	// Ticklen number Sets the tick length (in px).
	Ticklen float64 `json:"ticklen,omitempty"`

	// Tickmode 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 string Sets a tick label prefix.
	Tickprefix String `json:"tickprefix,omitempty"`

	// Ticks 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 string Sets a tick label suffix.
	Ticksuffix String `json:"ticksuffix,omitempty"`

	// Ticktext 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 string Sets the source reference on Chart Studio Cloud for  ticktext .
	Ticktextsrc String `json:"ticktextsrc,omitempty"`

	// Tickvals 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 string Sets the source reference on Chart Studio Cloud for  tickvals .
	Tickvalssrc String `json:"tickvalssrc,omitempty"`

	// Tickwidth number Sets the tick width (in px).
	Tickwidth float64 `json:"tickwidth,omitempty"`

	// Title <no value> <no value>
	Title *HeatmapglColorbarTitle `json:"title,omitempty"`

	// X number Sets the x position of the color bar (in plot fraction).
	X float64 `json:"x,omitempty"`

	// Xanchor 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.
	Xanchor HeatmapglColorbarXanchor `json:"xanchor,omitempty"`

	// Xpad number Sets the amount of padding (in px) along the x direction.
	Xpad float64 `json:"xpad,omitempty"`

	// Y number Sets the y position of the color bar (in plot fraction).
	Y float64 `json:"y,omitempty"`

	// Yanchor 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.
	Yanchor HeatmapglColorbarYanchor `json:"yanchor,omitempty"`

	// Ypad number Sets the amount of padding (in px) along the y direction.
	Ypad float64 `json:"ypad,omitempty"`
}

type HeatmapglColorbarExponentformat

type HeatmapglColorbarExponentformat string

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.

const (
	HeatmapglColorbarExponentformat_none  HeatmapglColorbarExponentformat = "none"
	HeatmapglColorbarExponentformat_e     HeatmapglColorbarExponentformat = "e"
	HeatmapglColorbarExponentformat_E     HeatmapglColorbarExponentformat = "E"
	HeatmapglColorbarExponentformat_power HeatmapglColorbarExponentformat = "power"
	HeatmapglColorbarExponentformat_SI    HeatmapglColorbarExponentformat = "SI"
	HeatmapglColorbarExponentformat_B     HeatmapglColorbarExponentformat = "B"
)

type HeatmapglColorbarLenmode

type HeatmapglColorbarLenmode string

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.

const (
	HeatmapglColorbarLenmode_fraction HeatmapglColorbarLenmode = "fraction"
	HeatmapglColorbarLenmode_pixels   HeatmapglColorbarLenmode = "pixels"
)

type HeatmapglColorbarShowexponent

type HeatmapglColorbarShowexponent string

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.

const (
	HeatmapglColorbarShowexponent_all   HeatmapglColorbarShowexponent = "all"
	HeatmapglColorbarShowexponent_first HeatmapglColorbarShowexponent = "first"
	HeatmapglColorbarShowexponent_last  HeatmapglColorbarShowexponent = "last"
	HeatmapglColorbarShowexponent_none  HeatmapglColorbarShowexponent = "none"
)

type HeatmapglColorbarShowtickprefix

type HeatmapglColorbarShowtickprefix string

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.

const (
	HeatmapglColorbarShowtickprefix_all   HeatmapglColorbarShowtickprefix = "all"
	HeatmapglColorbarShowtickprefix_first HeatmapglColorbarShowtickprefix = "first"
	HeatmapglColorbarShowtickprefix_last  HeatmapglColorbarShowtickprefix = "last"
	HeatmapglColorbarShowtickprefix_none  HeatmapglColorbarShowtickprefix = "none"
)

type HeatmapglColorbarShowticksuffix

type HeatmapglColorbarShowticksuffix string

HeatmapglColorbarShowticksuffix Same as `showtickprefix` but for tick suffixes.

const (
	HeatmapglColorbarShowticksuffix_all   HeatmapglColorbarShowticksuffix = "all"
	HeatmapglColorbarShowticksuffix_first HeatmapglColorbarShowticksuffix = "first"
	HeatmapglColorbarShowticksuffix_last  HeatmapglColorbarShowticksuffix = "last"
	HeatmapglColorbarShowticksuffix_none  HeatmapglColorbarShowticksuffix = "none"
)

type HeatmapglColorbarThicknessmode

type HeatmapglColorbarThicknessmode string

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.

const (
	HeatmapglColorbarThicknessmode_fraction HeatmapglColorbarThicknessmode = "fraction"
	HeatmapglColorbarThicknessmode_pixels   HeatmapglColorbarThicknessmode = "pixels"
)

type HeatmapglColorbarTickfont

type HeatmapglColorbarTickfont struct {

	// Color color <no value>
	Color String `json:"color,omitempty"`

	// Family string HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.
	Family String `json:"family,omitempty"`

	// Size number <no value>
	Size float64 `json:"size,omitempty"`
}

type HeatmapglColorbarTickformatstops

type HeatmapglColorbarTickformatstops interface{}

HeatmapglColorbarTickformatstops It's an items array and what goes inside it's... messy... check the docs Here is a hint to help you to define your own type tickformatstop

dtickrange
editType
enabled
name
role
templateitemname
value

type HeatmapglColorbarTicklabelposition

type HeatmapglColorbarTicklabelposition string

HeatmapglColorbarTicklabelposition Determines where tick labels are drawn.

const (
	HeatmapglColorbarTicklabelposition_outside       HeatmapglColorbarTicklabelposition = "outside"
	HeatmapglColorbarTicklabelposition_inside        HeatmapglColorbarTicklabelposition = "inside"
	HeatmapglColorbarTicklabelposition_outsidetop    HeatmapglColorbarTicklabelposition = "outside top"
	HeatmapglColorbarTicklabelposition_insidetop     HeatmapglColorbarTicklabelposition = "inside top"
	HeatmapglColorbarTicklabelposition_outsidebottom HeatmapglColorbarTicklabelposition = "outside bottom"
	HeatmapglColorbarTicklabelposition_insidebottom  HeatmapglColorbarTicklabelposition = "inside bottom"
)

type HeatmapglColorbarTickmode

type HeatmapglColorbarTickmode string

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).

const (
	HeatmapglColorbarTickmode_auto   HeatmapglColorbarTickmode = "auto"
	HeatmapglColorbarTickmode_linear HeatmapglColorbarTickmode = "linear"
	HeatmapglColorbarTickmode_array  HeatmapglColorbarTickmode = "array"
)

type HeatmapglColorbarTicks

type HeatmapglColorbarTicks string

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.

const (
	HeatmapglColorbarTicks_outside HeatmapglColorbarTicks = "outside"
	HeatmapglColorbarTicks_inside  HeatmapglColorbarTicks = "inside"
)

type HeatmapglColorbarTitle

type HeatmapglColorbarTitle struct {

	// Font <no value> Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.
	Font *HeatmapglColorbarTitleFont `json:"font,omitempty"`

	// Side 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.
	Side HeatmapglColorbarTitleSide `json:"side,omitempty"`

	// Text 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"`
}

type HeatmapglColorbarTitleFont

type HeatmapglColorbarTitleFont struct {

	// Color color <no value>
	Color String `json:"color,omitempty"`

	// Family string HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.
	Family String `json:"family,omitempty"`

	// Size number <no value>
	Size float64 `json:"size,omitempty"`
}

type HeatmapglColorbarTitleSide

type HeatmapglColorbarTitleSide string

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.

const (
	HeatmapglColorbarTitleSide_right  HeatmapglColorbarTitleSide = "right"
	HeatmapglColorbarTitleSide_top    HeatmapglColorbarTitleSide = "top"
	HeatmapglColorbarTitleSide_bottom HeatmapglColorbarTitleSide = "bottom"
)

type HeatmapglColorbarXanchor

type HeatmapglColorbarXanchor string

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.

const (
	HeatmapglColorbarXanchor_left   HeatmapglColorbarXanchor = "left"
	HeatmapglColorbarXanchor_center HeatmapglColorbarXanchor = "center"
	HeatmapglColorbarXanchor_right  HeatmapglColorbarXanchor = "right"
)

type HeatmapglColorbarYanchor

type HeatmapglColorbarYanchor string

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.

const (
	HeatmapglColorbarYanchor_top    HeatmapglColorbarYanchor = "top"
	HeatmapglColorbarYanchor_middle HeatmapglColorbarYanchor = "middle"
	HeatmapglColorbarYanchor_bottom HeatmapglColorbarYanchor = "bottom"
)

type HeatmapglHoverinfo

type HeatmapglHoverinfo string
const (
	// Flags
	HeatmapglHoverinfoX    HeatmapglHoverinfo = "x"
	HeatmapglHoverinfoY    HeatmapglHoverinfo = "y"
	HeatmapglHoverinfoZ    HeatmapglHoverinfo = "z"
	HeatmapglHoverinfoText HeatmapglHoverinfo = "text"
	HeatmapglHoverinfoName HeatmapglHoverinfo = "name"
	// Extras
	HeatmapglHoverinfoAll  HeatmapglHoverinfo = "all"
	HeatmapglHoverinfoNone HeatmapglHoverinfo = "none"
	HeatmapglHoverinfoSkip HeatmapglHoverinfo = "skip"
)

type HeatmapglHoverlabel

type HeatmapglHoverlabel struct {

	// Align 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 string Sets the source reference on Chart Studio Cloud for  align .
	Alignsrc String `json:"alignsrc,omitempty"`

	// Bgcolor color Sets the background color of the hover labels for this trace
	Bgcolor interface{} `json:"bgcolor,omitempty"`

	// Bgcolorsrc string Sets the source reference on Chart Studio Cloud for  bgcolor .
	Bgcolorsrc String `json:"bgcolorsrc,omitempty"`

	// Bordercolor color Sets the border color of the hover labels for this trace.
	Bordercolor interface{} `json:"bordercolor,omitempty"`

	// Bordercolorsrc string Sets the source reference on Chart Studio Cloud for  bordercolor .
	Bordercolorsrc String `json:"bordercolorsrc,omitempty"`

	// Font <no value> Sets the font used in hover labels.
	Font *HeatmapglHoverlabelFont `json:"font,omitempty"`

	// Namelength 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 interface{} `json:"namelength,omitempty"`

	// Namelengthsrc string Sets the source reference on Chart Studio Cloud for  namelength .
	Namelengthsrc String `json:"namelengthsrc,omitempty"`
}

type HeatmapglHoverlabelAlign

type HeatmapglHoverlabelAlign string

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

const (
	HeatmapglHoverlabelAlign_left  HeatmapglHoverlabelAlign = "left"
	HeatmapglHoverlabelAlign_right HeatmapglHoverlabelAlign = "right"
	HeatmapglHoverlabelAlign_auto  HeatmapglHoverlabelAlign = "auto"
)

type HeatmapglHoverlabelFont

type HeatmapglHoverlabelFont struct {

	// Color color <no value>
	Color interface{} `json:"color,omitempty"`

	// Colorsrc string Sets the source reference on Chart Studio Cloud for  color .
	Colorsrc String `json:"colorsrc,omitempty"`

	// Family string HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.
	Family interface{} `json:"family,omitempty"`

	// Familysrc string Sets the source reference on Chart Studio Cloud for  family .
	Familysrc String `json:"familysrc,omitempty"`

	// Size number <no value>
	Size interface{} `json:"size,omitempty"`

	// Sizesrc string Sets the source reference on Chart Studio Cloud for  size .
	Sizesrc String `json:"sizesrc,omitempty"`
}

type HeatmapglStream

type HeatmapglStream struct {

	// Maxpoints 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 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"`
}

type HeatmapglTransforms

type HeatmapglTransforms interface{}

HeatmapglTransforms It's an items array and what goes inside it's... messy... check the docs Here is a hint to help you to define your own type transform

description
editType
role

type HeatmapglVisible

type HeatmapglVisible interface{}

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).

var (
	HeatmapglVisible_True       HeatmapglVisible = true
	HeatmapglVisible_False      HeatmapglVisible = false
	HeatmapglVisible_legendonly HeatmapglVisible = "legendonly"
)

type HeatmapglXtype

type HeatmapglXtype string

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).

const (
	HeatmapglXtype_array  HeatmapglXtype = "array"
	HeatmapglXtype_scaled HeatmapglXtype = "scaled"
)

type HeatmapglYtype

type HeatmapglYtype string

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)

const (
	HeatmapglYtype_array  HeatmapglYtype = "array"
	HeatmapglYtype_scaled HeatmapglYtype = "scaled"
)

type HeatmapglZsmooth

type HeatmapglZsmooth interface{}

HeatmapglZsmooth Picks a smoothing algorithm use to smooth `z` data.

var (
	HeatmapglZsmooth_fast  HeatmapglZsmooth = "fast"
	HeatmapglZsmooth_False HeatmapglZsmooth = false
)

type Histogram

type Histogram struct {

	// Type is the type of the plot
	Type TraceType `json:"type,omitempty"`

	// Alignmentgroup 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 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 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 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"`

	// Cumulative <no value> <no value>
	Cumulative *HistogramCumulative `json:"cumulative,omitempty"`

	// Customdata 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 string Sets the source reference on Chart Studio Cloud for  customdata .
	Customdatasrc String `json:"customdatasrc,omitempty"`

	// Error_x <no value> <no value>
	Error_x *HistogramErrorX `json:"error_x,omitempty"`

	// Error_y <no value> <no value>
	Error_y *HistogramErrorY `json:"error_y,omitempty"`

	// Histfunc 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 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 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 string Sets the source reference on Chart Studio Cloud for  hoverinfo .
	Hoverinfosrc String `json:"hoverinfosrc,omitempty"`

	// Hoverlabel <no value> <no value>
	Hoverlabel *HistogramHoverlabel `json:"hoverlabel,omitempty"`

	// Hovertemplate 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 `<extra>` is displayed in the secondary box, for example "<extra>{fullData.name}</extra>". To hide the secondary box completely, use an empty tag `<extra></extra>`.
	Hovertemplate interface{} `json:"hovertemplate,omitempty"`

	// Hovertemplatesrc string Sets the source reference on Chart Studio Cloud for  hovertemplate .
	Hovertemplatesrc String `json:"hovertemplatesrc,omitempty"`

	// Hovertext string Same as `text`.
	Hovertext interface{} `json:"hovertext,omitempty"`

	// Hovertextsrc string Sets the source reference on Chart Studio Cloud for  hovertext .
	Hovertextsrc String `json:"hovertextsrc,omitempty"`

	// Ids 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 string Sets the source reference on Chart Studio Cloud for  ids .
	Idssrc String `json:"idssrc,omitempty"`

	// Legendgroup 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 <no value> <no value>
	Marker *HistogramMarker `json:"marker,omitempty"`

	// Meta 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 string Sets the source reference on Chart Studio Cloud for  meta .
	Metasrc String `json:"metasrc,omitempty"`

	// Name string Sets the trace name. The trace name appear as the legend item and on hover.
	Name String `json:"name,omitempty"`

	// Nbinsx 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 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 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 number Sets the opacity of the trace.
	Opacity float64 `json:"opacity,omitempty"`

	// Orientation 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"`

	// Selected <no value> <no value>
	Selected *HistogramSelected `json:"selected,omitempty"`

	// Selectedpoints 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 boolean Determines whether or not an item corresponding to this trace is shown in the legend.
	Showlegend Bool `json:"showlegend,omitempty"`

	// Stream <no value> <no value>
	Stream *HistogramStream `json:"stream,omitempty"`

	// Text 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 interface{} `json:"text,omitempty"`

	// Textsrc string Sets the source reference on Chart Studio Cloud for  text .
	Textsrc String `json:"textsrc,omitempty"`

	// Transforms <no value> <no value>
	Transforms HistogramTransforms `json:"transforms,omitempty"`

	// Uid 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 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 <no value> <no value>
	Unselected *HistogramUnselected `json:"unselected,omitempty"`

	// Visible 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 data_array Sets the sample data to be binned on the x axis.
	X interface{} `json:"x,omitempty"`

	// Xaxis 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 <no value> <no value>
	Xbins *HistogramXbins `json:"xbins,omitempty"`

	// Xcalendar enumerated Sets the calendar system to use with `x` date data.
	Xcalendar HistogramXcalendar `json:"xcalendar,omitempty"`

	// Xsrc string Sets the source reference on Chart Studio Cloud for  x .
	Xsrc String `json:"xsrc,omitempty"`

	// Y data_array Sets the sample data to be binned on the y axis.
	Y interface{} `json:"y,omitempty"`

	// Yaxis 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 <no value> <no value>
	Ybins *HistogramYbins `json:"ybins,omitempty"`

	// Ycalendar enumerated Sets the calendar system to use with `y` date data.
	Ycalendar HistogramYcalendar `json:"ycalendar,omitempty"`

	// Ysrc string Sets the source reference on Chart Studio Cloud for  y .
	Ysrc String `json:"ysrc,omitempty"`
}

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.

func NewHistogram

func NewHistogram() *Histogram

func (*Histogram) GetType

func (this *Histogram) GetType() TraceType

type Histogram2d

type Histogram2d struct {

	// Type is the type of the plot
	Type TraceType `json:"type,omitempty"`

	// Autobinx 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 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 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 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 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 <no value> <no value>
	Colorbar *Histogram2dColorbar `json:"colorbar,omitempty"`

	// Customdata 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 string Sets the source reference on Chart Studio Cloud for  customdata .
	Customdatasrc String `json:"customdatasrc,omitempty"`

	// Histfunc 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 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 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 string Sets the source reference on Chart Studio Cloud for  hoverinfo .
	Hoverinfosrc String `json:"hoverinfosrc,omitempty"`

	// Hoverlabel <no value> <no value>
	Hoverlabel *Histogram2dHoverlabel `json:"hoverlabel,omitempty"`

	// Hovertemplate 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 `<extra>` is displayed in the secondary box, for example "<extra>{fullData.name}</extra>". To hide the secondary box completely, use an empty tag `<extra></extra>`.
	Hovertemplate interface{} `json:"hovertemplate,omitempty"`

	// Hovertemplatesrc string Sets the source reference on Chart Studio Cloud for  hovertemplate .
	Hovertemplatesrc String `json:"hovertemplatesrc,omitempty"`

	// Ids 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 string Sets the source reference on Chart Studio Cloud for  ids .
	Idssrc String `json:"idssrc,omitempty"`

	// Legendgroup 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 <no value> <no value>
	Marker *Histogram2dMarker `json:"marker,omitempty"`

	// Meta 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 string Sets the source reference on Chart Studio Cloud for  meta .
	Metasrc String `json:"metasrc,omitempty"`

	// Name string Sets the trace name. The trace name appear as the legend item and on hover.
	Name String `json:"name,omitempty"`

	// Nbinsx 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 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 number Sets the opacity of the trace.
	Opacity float64 `json:"opacity,omitempty"`

	// Reversescale 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 boolean Determines whether or not an item corresponding to this trace is shown in the legend.
	Showlegend Bool `json:"showlegend,omitempty"`

	// Showscale boolean Determines whether or not a colorbar is displayed for this trace.
	Showscale Bool `json:"showscale,omitempty"`

	// Stream <no value> <no value>
	Stream *Histogram2dStream `json:"stream,omitempty"`

	// Transforms <no value> <no value>
	Transforms Histogram2dTransforms `json:"transforms,omitempty"`

	// Uid 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 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 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 data_array Sets the sample data to be binned on the x axis.
	X interface{} `json:"x,omitempty"`

	// Xaxis 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 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 <no value> <no value>
	Xbins *Histogram2dXbins `json:"xbins,omitempty"`

	// Xcalendar enumerated Sets the calendar system to use with `x` date data.
	Xcalendar Histogram2dXcalendar `json:"xcalendar,omitempty"`

	// Xgap number Sets the horizontal gap (in pixels) between bricks.
	Xgap float64 `json:"xgap,omitempty"`

	// Xsrc string Sets the source reference on Chart Studio Cloud for  x .
	Xsrc String `json:"xsrc,omitempty"`

	// Y data_array Sets the sample data to be binned on the y axis.
	Y interface{} `json:"y,omitempty"`

	// Yaxis 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 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 <no value> <no value>
	Ybins *Histogram2dYbins `json:"ybins,omitempty"`

	// Ycalendar enumerated Sets the calendar system to use with `y` date data.
	Ycalendar Histogram2dYcalendar `json:"ycalendar,omitempty"`

	// Ygap number Sets the vertical gap (in pixels) between bricks.
	Ygap float64 `json:"ygap,omitempty"`

	// Ysrc string Sets the source reference on Chart Studio Cloud for  y .
	Ysrc String `json:"ysrc,omitempty"`

	// Z data_array Sets the aggregation data.
	Z interface{} `json:"z,omitempty"`

	// Zauto 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 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
	Zhoverformat String `json:"zhoverformat,omitempty"`

	// Zmax 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 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 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 enumerated Picks a smoothing algorithm use to smooth `z` data.
	Zsmooth Histogram2dZsmooth `json:"zsmooth,omitempty"`

	// Zsrc string Sets the source reference on Chart Studio Cloud for  z .
	Zsrc String `json:"zsrc,omitempty"`
}

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.

func NewHistogram2d

func NewHistogram2d() *Histogram2d

func (*Histogram2d) GetType

func (this *Histogram2d) GetType() TraceType

type Histogram2dColorbar

type Histogram2dColorbar struct {

	// Bgcolor color Sets the color of padded area.
	Bgcolor String `json:"bgcolor,omitempty"`

	// Bordercolor color Sets the axis line color.
	Bordercolor String `json:"bordercolor,omitempty"`

	// Borderwidth number Sets the width (in px) or the border enclosing this color bar.
	Borderwidth float64 `json:"borderwidth,omitempty"`

	// Dtick 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<f>*, where `f` is a positive number, gives ticks linearly spaced in value (but not position). For example `tick0` = 0.1, `dtick` = *L0.5* will put ticks at 0.1, 0.6, 1.1, 1.6 etc. To show powers of 10 plus small digits between, use *D1* (all digits) or *D2* (only 2 and 5). `tick0` is ignored for *D1* and *D2*. If the axis `type` is *date*, then you must convert the time to milliseconds. For example, to set the interval between ticks to one day, set `dtick` to 86400000.0. *date* also has special values *M<n>* gives ticks spaced by a number of months. `n` must be a positive integer. To set ticks on the 15th of every third month, set `tick0` to *2000-01-15* and `dtick` to *M3*. To set ticks every 4 years, set `dtick` to *M48*
	Dtick interface{} `json:"dtick,omitempty"`

	// Exponentformat 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"`

	// Len 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 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 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 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"`

	// Outlinecolor color Sets the axis line color.
	Outlinecolor String `json:"outlinecolor,omitempty"`

	// Outlinewidth number Sets the width (in px) of the axis line.
	Outlinewidth float64 `json:"outlinewidth,omitempty"`

	// Separatethousands boolean If "true", even 4-digit integers are separated
	Separatethousands Bool `json:"separatethousands,omitempty"`

	// Showexponent 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 boolean Determines whether or not the tick labels are drawn.
	Showticklabels Bool `json:"showticklabels,omitempty"`

	// Showtickprefix 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 enumerated Same as `showtickprefix` but for tick suffixes.
	Showticksuffix Histogram2dColorbarShowticksuffix `json:"showticksuffix,omitempty"`

	// Thickness 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 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 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<f>* (see `dtick` for more info). If the axis `type` is *date*, it should be a date string, like date data. If the axis `type` is *category*, it should be a number, using the scale where each category is assigned a serial number from zero in the order it appears.
	Tick0 interface{} `json:"tick0,omitempty"`

	// Tickangle 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 color Sets the tick color.
	Tickcolor String `json:"tickcolor,omitempty"`

	// Tickfont <no value> Sets the color bar's tick label font
	Tickfont *Histogram2dColorbarTickfont `json:"tickfont,omitempty"`

	// Tickformat 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*
	Tickformat String `json:"tickformat,omitempty"`

	// Tickformatstops <no value> <no value>
	Tickformatstops Histogram2dColorbarTickformatstops `json:"tickformatstops,omitempty"`

	// Ticklabelposition enumerated Determines where tick labels are drawn.
	Ticklabelposition Histogram2dColorbarTicklabelposition `json:"ticklabelposition,omitempty"`

	// Ticklen number Sets the tick length (in px).
	Ticklen float64 `json:"ticklen,omitempty"`

	// Tickmode 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 string Sets a tick label prefix.
	Tickprefix String `json:"tickprefix,omitempty"`

	// Ticks 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 string Sets a tick label suffix.
	Ticksuffix String `json:"ticksuffix,omitempty"`

	// Ticktext 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 string Sets the source reference on Chart Studio Cloud for  ticktext .
	Ticktextsrc String `json:"ticktextsrc,omitempty"`

	// Tickvals 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 string Sets the source reference on Chart Studio Cloud for  tickvals .
	Tickvalssrc String `json:"tickvalssrc,omitempty"`

	// Tickwidth number Sets the tick width (in px).
	Tickwidth float64 `json:"tickwidth,omitempty"`

	// Title <no value> <no value>
	Title *Histogram2dColorbarTitle `json:"title,omitempty"`

	// X number Sets the x position of the color bar (in plot fraction).
	X float64 `json:"x,omitempty"`

	// Xanchor 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.
	Xanchor Histogram2dColorbarXanchor `json:"xanchor,omitempty"`

	// Xpad number Sets the amount of padding (in px) along the x direction.
	Xpad float64 `json:"xpad,omitempty"`

	// Y number Sets the y position of the color bar (in plot fraction).
	Y float64 `json:"y,omitempty"`

	// Yanchor 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.
	Yanchor Histogram2dColorbarYanchor `json:"yanchor,omitempty"`

	// Ypad number Sets the amount of padding (in px) along the y direction.
	Ypad float64 `json:"ypad,omitempty"`
}

type Histogram2dColorbarExponentformat

type Histogram2dColorbarExponentformat string

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.

const (
	Histogram2dColorbarExponentformat_none  Histogram2dColorbarExponentformat = "none"
	Histogram2dColorbarExponentformat_e     Histogram2dColorbarExponentformat = "e"
	Histogram2dColorbarExponentformat_E     Histogram2dColorbarExponentformat = "E"
	Histogram2dColorbarExponentformat_power Histogram2dColorbarExponentformat = "power"
	Histogram2dColorbarExponentformat_SI    Histogram2dColorbarExponentformat = "SI"
	Histogram2dColorbarExponentformat_B     Histogram2dColorbarExponentformat = "B"
)

type Histogram2dColorbarLenmode

type Histogram2dColorbarLenmode string

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.

const (
	Histogram2dColorbarLenmode_fraction Histogram2dColorbarLenmode = "fraction"
	Histogram2dColorbarLenmode_pixels   Histogram2dColorbarLenmode = "pixels"
)

type Histogram2dColorbarShowexponent

type Histogram2dColorbarShowexponent string

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.

const (
	Histogram2dColorbarShowexponent_all   Histogram2dColorbarShowexponent = "all"
	Histogram2dColorbarShowexponent_first Histogram2dColorbarShowexponent = "first"
	Histogram2dColorbarShowexponent_last  Histogram2dColorbarShowexponent = "last"
	Histogram2dColorbarShowexponent_none  Histogram2dColorbarShowexponent = "none"
)

type Histogram2dColorbarShowtickprefix

type Histogram2dColorbarShowtickprefix string

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.

const (
	Histogram2dColorbarShowtickprefix_all   Histogram2dColorbarShowtickprefix = "all"
	Histogram2dColorbarShowtickprefix_first Histogram2dColorbarShowtickprefix = "first"
	Histogram2dColorbarShowtickprefix_last  Histogram2dColorbarShowtickprefix = "last"
	Histogram2dColorbarShowtickprefix_none  Histogram2dColorbarShowtickprefix = "none"
)

type Histogram2dColorbarShowticksuffix

type Histogram2dColorbarShowticksuffix string

Histogram2dColorbarShowticksuffix Same as `showtickprefix` but for tick suffixes.

const (
	Histogram2dColorbarShowticksuffix_all   Histogram2dColorbarShowticksuffix = "all"
	Histogram2dColorbarShowticksuffix_first Histogram2dColorbarShowticksuffix = "first"
	Histogram2dColorbarShowticksuffix_last  Histogram2dColorbarShowticksuffix = "last"
	Histogram2dColorbarShowticksuffix_none  Histogram2dColorbarShowticksuffix = "none"
)

type Histogram2dColorbarThicknessmode

type Histogram2dColorbarThicknessmode string

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.

const (
	Histogram2dColorbarThicknessmode_fraction Histogram2dColorbarThicknessmode = "fraction"
	Histogram2dColorbarThicknessmode_pixels   Histogram2dColorbarThicknessmode = "pixels"
)

type Histogram2dColorbarTickfont

type Histogram2dColorbarTickfont struct {

	// Color color <no value>
	Color String `json:"color,omitempty"`

	// Family string HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.
	Family String `json:"family,omitempty"`

	// Size number <no value>
	Size float64 `json:"size,omitempty"`
}

type Histogram2dColorbarTickformatstops

type Histogram2dColorbarTickformatstops interface{}

Histogram2dColorbarTickformatstops It's an items array and what goes inside it's... messy... check the docs Here is a hint to help you to define your own type tickformatstop

dtickrange
editType
enabled
name
role
templateitemname
value

type Histogram2dColorbarTicklabelposition

type Histogram2dColorbarTicklabelposition string

Histogram2dColorbarTicklabelposition Determines where tick labels are drawn.

const (
	Histogram2dColorbarTicklabelposition_outside       Histogram2dColorbarTicklabelposition = "outside"
	Histogram2dColorbarTicklabelposition_inside        Histogram2dColorbarTicklabelposition = "inside"
	Histogram2dColorbarTicklabelposition_outsidetop    Histogram2dColorbarTicklabelposition = "outside top"
	Histogram2dColorbarTicklabelposition_insidetop     Histogram2dColorbarTicklabelposition = "inside top"
	Histogram2dColorbarTicklabelposition_outsidebottom Histogram2dColorbarTicklabelposition = "outside bottom"
	Histogram2dColorbarTicklabelposition_insidebottom  Histogram2dColorbarTicklabelposition = "inside bottom"
)

type Histogram2dColorbarTickmode

type Histogram2dColorbarTickmode string

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).

const (
	Histogram2dColorbarTickmode_auto   Histogram2dColorbarTickmode = "auto"
	Histogram2dColorbarTickmode_linear Histogram2dColorbarTickmode = "linear"
	Histogram2dColorbarTickmode_array  Histogram2dColorbarTickmode = "array"
)

type Histogram2dColorbarTicks

type Histogram2dColorbarTicks string

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.

const (
	Histogram2dColorbarTicks_outside Histogram2dColorbarTicks = "outside"
	Histogram2dColorbarTicks_inside  Histogram2dColorbarTicks = "inside"
)

type Histogram2dColorbarTitle

type Histogram2dColorbarTitle struct {

	// Font <no value> Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.
	Font *Histogram2dColorbarTitleFont `json:"font,omitempty"`

	// Side 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.
	Side Histogram2dColorbarTitleSide `json:"side,omitempty"`

	// Text 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"`
}

type Histogram2dColorbarTitleFont

type Histogram2dColorbarTitleFont struct {

	// Color color <no value>
	Color String `json:"color,omitempty"`

	// Family string HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.
	Family String `json:"family,omitempty"`

	// Size number <no value>
	Size float64 `json:"size,omitempty"`
}

type Histogram2dColorbarTitleSide

type Histogram2dColorbarTitleSide string

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.

const (
	Histogram2dColorbarTitleSide_right  Histogram2dColorbarTitleSide = "right"
	Histogram2dColorbarTitleSide_top    Histogram2dColorbarTitleSide = "top"
	Histogram2dColorbarTitleSide_bottom Histogram2dColorbarTitleSide = "bottom"
)

type Histogram2dColorbarXanchor

type Histogram2dColorbarXanchor string

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.

const (
	Histogram2dColorbarXanchor_left   Histogram2dColorbarXanchor = "left"
	Histogram2dColorbarXanchor_center Histogram2dColorbarXanchor = "center"
	Histogram2dColorbarXanchor_right  Histogram2dColorbarXanchor = "right"
)

type Histogram2dColorbarYanchor

type Histogram2dColorbarYanchor string

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.

const (
	Histogram2dColorbarYanchor_top    Histogram2dColorbarYanchor = "top"
	Histogram2dColorbarYanchor_middle Histogram2dColorbarYanchor = "middle"
	Histogram2dColorbarYanchor_bottom Histogram2dColorbarYanchor = "bottom"
)

type Histogram2dHistfunc

type Histogram2dHistfunc string

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.

const (
	Histogram2dHistfunc_count Histogram2dHistfunc = "count"
	Histogram2dHistfunc_sum   Histogram2dHistfunc = "sum"
	Histogram2dHistfunc_avg   Histogram2dHistfunc = "avg"
	Histogram2dHistfunc_min   Histogram2dHistfunc = "min"
	Histogram2dHistfunc_max   Histogram2dHistfunc = "max"
)

type Histogram2dHistnorm

type Histogram2dHistnorm string

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).

const (
	Histogram2dHistnorm_percent            Histogram2dHistnorm = "percent"
	Histogram2dHistnorm_probability        Histogram2dHistnorm = "probability"
	Histogram2dHistnorm_density            Histogram2dHistnorm = "density"
	Histogram2dHistnorm_probabilitydensity Histogram2dHistnorm = "probability density"
)

type Histogram2dHoverinfo

type Histogram2dHoverinfo string
const (
	// Flags
	Histogram2dHoverinfoX    Histogram2dHoverinfo = "x"
	Histogram2dHoverinfoY    Histogram2dHoverinfo = "y"
	Histogram2dHoverinfoZ    Histogram2dHoverinfo = "z"
	Histogram2dHoverinfoText Histogram2dHoverinfo = "text"
	Histogram2dHoverinfoName Histogram2dHoverinfo = "name"
	// Extras
	Histogram2dHoverinfoAll  Histogram2dHoverinfo = "all"
	Histogram2dHoverinfoNone Histogram2dHoverinfo = "none"
	Histogram2dHoverinfoSkip Histogram2dHoverinfo = "skip"
)

type Histogram2dHoverlabel

type Histogram2dHoverlabel struct {

	// Align 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 string Sets the source reference on Chart Studio Cloud for  align .
	Alignsrc String `json:"alignsrc,omitempty"`

	// Bgcolor color Sets the background color of the hover labels for this trace
	Bgcolor interface{} `json:"bgcolor,omitempty"`

	// Bgcolorsrc string Sets the source reference on Chart Studio Cloud for  bgcolor .
	Bgcolorsrc String `json:"bgcolorsrc,omitempty"`

	// Bordercolor color Sets the border color of the hover labels for this trace.
	Bordercolor interface{} `json:"bordercolor,omitempty"`

	// Bordercolorsrc string Sets the source reference on Chart Studio Cloud for  bordercolor .
	Bordercolorsrc String `json:"bordercolorsrc,omitempty"`

	// Font <no value> Sets the font used in hover labels.
	Font *Histogram2dHoverlabelFont `json:"font,omitempty"`

	// Namelength 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 interface{} `json:"namelength,omitempty"`

	// Namelengthsrc string Sets the source reference on Chart Studio Cloud for  namelength .
	Namelengthsrc String `json:"namelengthsrc,omitempty"`
}

type Histogram2dHoverlabelAlign

type Histogram2dHoverlabelAlign string

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

const (
	Histogram2dHoverlabelAlign_left  Histogram2dHoverlabelAlign = "left"
	Histogram2dHoverlabelAlign_right Histogram2dHoverlabelAlign = "right"
	Histogram2dHoverlabelAlign_auto  Histogram2dHoverlabelAlign = "auto"
)

type Histogram2dHoverlabelFont

type Histogram2dHoverlabelFont struct {

	// Color color <no value>
	Color interface{} `json:"color,omitempty"`

	// Colorsrc string Sets the source reference on Chart Studio Cloud for  color .
	Colorsrc String `json:"colorsrc,omitempty"`

	// Family string HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.
	Family interface{} `json:"family,omitempty"`

	// Familysrc string Sets the source reference on Chart Studio Cloud for  family .
	Familysrc String `json:"familysrc,omitempty"`

	// Size number <no value>
	Size interface{} `json:"size,omitempty"`

	// Sizesrc string Sets the source reference on Chart Studio Cloud for  size .
	Sizesrc String `json:"sizesrc,omitempty"`
}

type Histogram2dMarker

type Histogram2dMarker struct {

	// Color data_array Sets the aggregation data.
	Color interface{} `json:"color,omitempty"`

	// Colorsrc string Sets the source reference on Chart Studio Cloud for  color .
	Colorsrc String `json:"colorsrc,omitempty"`
}

type Histogram2dStream

type Histogram2dStream struct {

	// Maxpoints 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 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"`
}

type Histogram2dTransforms

type Histogram2dTransforms interface{}

Histogram2dTransforms It's an items array and what goes inside it's... messy... check the docs Here is a hint to help you to define your own type transform

description
editType
role

type Histogram2dVisible

type Histogram2dVisible interface{}

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).

var (
	Histogram2dVisible_True       Histogram2dVisible = true
	Histogram2dVisible_False      Histogram2dVisible = false
	Histogram2dVisible_legendonly Histogram2dVisible = "legendonly"
)

type Histogram2dXbins

type Histogram2dXbins struct {

	// End 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 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<n>* 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 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"`
}

type Histogram2dXcalendar

type Histogram2dXcalendar string

Histogram2dXcalendar Sets the calendar system to use with `x` date data.

const (
	Histogram2dXcalendar_gregorian  Histogram2dXcalendar = "gregorian"
	Histogram2dXcalendar_chinese    Histogram2dXcalendar = "chinese"
	Histogram2dXcalendar_coptic     Histogram2dXcalendar = "coptic"
	Histogram2dXcalendar_discworld  Histogram2dXcalendar = "discworld"
	Histogram2dXcalendar_ethiopian  Histogram2dXcalendar = "ethiopian"
	Histogram2dXcalendar_hebrew     Histogram2dXcalendar = "hebrew"
	Histogram2dXcalendar_islamic    Histogram2dXcalendar = "islamic"
	Histogram2dXcalendar_julian     Histogram2dXcalendar = "julian"
	Histogram2dXcalendar_mayan      Histogram2dXcalendar = "mayan"
	Histogram2dXcalendar_nanakshahi Histogram2dXcalendar = "nanakshahi"
	Histogram2dXcalendar_nepali     Histogram2dXcalendar = "nepali"
	Histogram2dXcalendar_persian    Histogram2dXcalendar = "persian"
	Histogram2dXcalendar_jalali     Histogram2dXcalendar = "jalali"
	Histogram2dXcalendar_taiwan     Histogram2dXcalendar = "taiwan"
	Histogram2dXcalendar_thai       Histogram2dXcalendar = "thai"
	Histogram2dXcalendar_ummalqura  Histogram2dXcalendar = "ummalqura"
)

type Histogram2dYbins

type Histogram2dYbins struct {

	// End 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 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<n>* 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 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"`
}

type Histogram2dYcalendar

type Histogram2dYcalendar string

Histogram2dYcalendar Sets the calendar system to use with `y` date data.

const (
	Histogram2dYcalendar_gregorian  Histogram2dYcalendar = "gregorian"
	Histogram2dYcalendar_chinese    Histogram2dYcalendar = "chinese"
	Histogram2dYcalendar_coptic     Histogram2dYcalendar = "coptic"
	Histogram2dYcalendar_discworld  Histogram2dYcalendar = "discworld"
	Histogram2dYcalendar_ethiopian  Histogram2dYcalendar = "ethiopian"
	Histogram2dYcalendar_hebrew     Histogram2dYcalendar = "hebrew"
	Histogram2dYcalendar_islamic    Histogram2dYcalendar = "islamic"
	Histogram2dYcalendar_julian     Histogram2dYcalendar = "julian"
	Histogram2dYcalendar_mayan      Histogram2dYcalendar = "mayan"
	Histogram2dYcalendar_nanakshahi Histogram2dYcalendar = "nanakshahi"
	Histogram2dYcalendar_nepali     Histogram2dYcalendar = "nepali"
	Histogram2dYcalendar_persian    Histogram2dYcalendar = "persian"
	Histogram2dYcalendar_jalali     Histogram2dYcalendar = "jalali"
	Histogram2dYcalendar_taiwan     Histogram2dYcalendar = "taiwan"
	Histogram2dYcalendar_thai       Histogram2dYcalendar = "thai"
	Histogram2dYcalendar_ummalqura  Histogram2dYcalendar = "ummalqura"
)

type Histogram2dZsmooth

type Histogram2dZsmooth interface{}

Histogram2dZsmooth Picks a smoothing algorithm use to smooth `z` data.

var (
	Histogram2dZsmooth_fast  Histogram2dZsmooth = "fast"
	Histogram2dZsmooth_best  Histogram2dZsmooth = "best"
	Histogram2dZsmooth_False Histogram2dZsmooth = false
)

type Histogram2dcontour

type Histogram2dcontour struct {

	// Type is the type of the plot
	Type TraceType `json:"type,omitempty"`

	// Autobinx 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 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 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 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 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 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 <no value> <no value>
	Colorbar *Histogram2dcontourColorbar `json:"colorbar,omitempty"`

	// Contours <no value> <no value>
	Contours *Histogram2dcontourContours `json:"contours,omitempty"`

	// Customdata 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 string Sets the source reference on Chart Studio Cloud for  customdata .
	Customdatasrc String `json:"customdatasrc,omitempty"`

	// Histfunc 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 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 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 string Sets the source reference on Chart Studio Cloud for  hoverinfo .
	Hoverinfosrc String `json:"hoverinfosrc,omitempty"`

	// Hoverlabel <no value> <no value>
	Hoverlabel *Histogram2dcontourHoverlabel `json:"hoverlabel,omitempty"`

	// Hovertemplate 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 `<extra>` is displayed in the secondary box, for example "<extra>{fullData.name}</extra>". To hide the secondary box completely, use an empty tag `<extra></extra>`.
	Hovertemplate interface{} `json:"hovertemplate,omitempty"`

	// Hovertemplatesrc string Sets the source reference on Chart Studio Cloud for  hovertemplate .
	Hovertemplatesrc String `json:"hovertemplatesrc,omitempty"`

	// Ids 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 string Sets the source reference on Chart Studio Cloud for  ids .
	Idssrc String `json:"idssrc,omitempty"`

	// Legendgroup 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"`

	// Line <no value> <no value>
	Line *Histogram2dcontourLine `json:"line,omitempty"`

	// Marker <no value> <no value>
	Marker *Histogram2dcontourMarker `json:"marker,omitempty"`

	// Meta 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 string Sets the source reference on Chart Studio Cloud for  meta .
	Metasrc String `json:"metasrc,omitempty"`

	// Name string Sets the trace name. The trace name appear as the legend item and on hover.
	Name String `json:"name,omitempty"`

	// Nbinsx 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 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 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 number Sets the opacity of the trace.
	Opacity float64 `json:"opacity,omitempty"`

	// Reversescale 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 boolean Determines whether or not an item corresponding to this trace is shown in the legend.
	Showlegend Bool `json:"showlegend,omitempty"`

	// Showscale boolean Determines whether or not a colorbar is displayed for this trace.
	Showscale Bool `json:"showscale,omitempty"`

	// Stream <no value> <no value>
	Stream *Histogram2dcontourStream `json:"stream,omitempty"`

	// Transforms <no value> <no value>
	Transforms Histogram2dcontourTransforms `json:"transforms,omitempty"`

	// Uid 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 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 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 data_array Sets the sample data to be binned on the x axis.
	X interface{} `json:"x,omitempty"`

	// Xaxis 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 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 <no value> <no value>
	Xbins *Histogram2dcontourXbins `json:"xbins,omitempty"`

	// Xcalendar enumerated Sets the calendar system to use with `x` date data.
	Xcalendar Histogram2dcontourXcalendar `json:"xcalendar,omitempty"`

	// Xsrc string Sets the source reference on Chart Studio Cloud for  x .
	Xsrc String `json:"xsrc,omitempty"`

	// Y data_array Sets the sample data to be binned on the y axis.
	Y interface{} `json:"y,omitempty"`

	// Yaxis 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 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 <no value> <no value>
	Ybins *Histogram2dcontourYbins `json:"ybins,omitempty"`

	// Ycalendar enumerated Sets the calendar system to use with `y` date data.
	Ycalendar Histogram2dcontourYcalendar `json:"ycalendar,omitempty"`

	// Ysrc string Sets the source reference on Chart Studio Cloud for  y .
	Ysrc String `json:"ysrc,omitempty"`

	// Z data_array Sets the aggregation data.
	Z interface{} `json:"z,omitempty"`

	// Zauto 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 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
	Zhoverformat String `json:"zhoverformat,omitempty"`

	// Zmax 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 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 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 string Sets the source reference on Chart Studio Cloud for  z .
	Zsrc String `json:"zsrc,omitempty"`
}

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.

func NewHistogram2dcontour

func NewHistogram2dcontour() *Histogram2dcontour

func (*Histogram2dcontour) GetType

func (this *Histogram2dcontour) GetType() TraceType

type Histogram2dcontourColorbar

type Histogram2dcontourColorbar struct {

	// Bgcolor color Sets the color of padded area.
	Bgcolor String `json:"bgcolor,omitempty"`

	// Bordercolor color Sets the axis line color.
	Bordercolor String `json:"bordercolor,omitempty"`

	// Borderwidth number Sets the width (in px) or the border enclosing this color bar.
	Borderwidth float64 `json:"borderwidth,omitempty"`

	// Dtick 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<f>*, where `f` is a positive number, gives ticks linearly spaced in value (but not position). For example `tick0` = 0.1, `dtick` = *L0.5* will put ticks at 0.1, 0.6, 1.1, 1.6 etc. To show powers of 10 plus small digits between, use *D1* (all digits) or *D2* (only 2 and 5). `tick0` is ignored for *D1* and *D2*. If the axis `type` is *date*, then you must convert the time to milliseconds. For example, to set the interval between ticks to one day, set `dtick` to 86400000.0. *date* also has special values *M<n>* gives ticks spaced by a number of months. `n` must be a positive integer. To set ticks on the 15th of every third month, set `tick0` to *2000-01-15* and `dtick` to *M3*. To set ticks every 4 years, set `dtick` to *M48*
	Dtick interface{} `json:"dtick,omitempty"`

	// Exponentformat 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"`

	// Len 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 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 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 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"`

	// Outlinecolor color Sets the axis line color.
	Outlinecolor String `json:"outlinecolor,omitempty"`

	// Outlinewidth number Sets the width (in px) of the axis line.
	Outlinewidth float64 `json:"outlinewidth,omitempty"`

	// Separatethousands boolean If "true", even 4-digit integers are separated
	Separatethousands Bool `json:"separatethousands,omitempty"`

	// Showexponent 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 boolean Determines whether or not the tick labels are drawn.
	Showticklabels Bool `json:"showticklabels,omitempty"`

	// Showtickprefix 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 enumerated Same as `showtickprefix` but for tick suffixes.
	Showticksuffix Histogram2dcontourColorbarShowticksuffix `json:"showticksuffix,omitempty"`

	// Thickness 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 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 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<f>* (see `dtick` for more info). If the axis `type` is *date*, it should be a date string, like date data. If the axis `type` is *category*, it should be a number, using the scale where each category is assigned a serial number from zero in the order it appears.
	Tick0 interface{} `json:"tick0,omitempty"`

	// Tickangle 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 color Sets the tick color.
	Tickcolor String `json:"tickcolor,omitempty"`

	// Tickfont <no value> Sets the color bar's tick label font
	Tickfont *Histogram2dcontourColorbarTickfont `json:"tickfont,omitempty"`

	// Tickformat 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*
	Tickformat String `json:"tickformat,omitempty"`

	// Tickformatstops <no value> <no value>
	Tickformatstops Histogram2dcontourColorbarTickformatstops `json:"tickformatstops,omitempty"`

	// Ticklabelposition enumerated Determines where tick labels are drawn.
	Ticklabelposition Histogram2dcontourColorbarTicklabelposition `json:"ticklabelposition,omitempty"`

	// Ticklen number Sets the tick length (in px).
	Ticklen float64 `json:"ticklen,omitempty"`

	// Tickmode 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 string Sets a tick label prefix.
	Tickprefix String `json:"tickprefix,omitempty"`

	// Ticks 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 string Sets a tick label suffix.
	Ticksuffix String `json:"ticksuffix,omitempty"`

	// Ticktext 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 string Sets the source reference on Chart Studio Cloud for  ticktext .
	Ticktextsrc String `json:"ticktextsrc,omitempty"`

	// Tickvals 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 string Sets the source reference on Chart Studio Cloud for  tickvals .
	Tickvalssrc String `json:"tickvalssrc,omitempty"`

	// Tickwidth number Sets the tick width (in px).
	Tickwidth float64 `json:"tickwidth,omitempty"`

	// Title <no value> <no value>
	Title *Histogram2dcontourColorbarTitle `json:"title,omitempty"`

	// X number Sets the x position of the color bar (in plot fraction).
	X float64 `json:"x,omitempty"`

	// Xanchor 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.
	Xanchor Histogram2dcontourColorbarXanchor `json:"xanchor,omitempty"`

	// Xpad number Sets the amount of padding (in px) along the x direction.
	Xpad float64 `json:"xpad,omitempty"`

	// Y number Sets the y position of the color bar (in plot fraction).
	Y float64 `json:"y,omitempty"`

	// Yanchor 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.
	Yanchor Histogram2dcontourColorbarYanchor `json:"yanchor,omitempty"`

	// Ypad number Sets the amount of padding (in px) along the y direction.
	Ypad float64 `json:"ypad,omitempty"`
}

type Histogram2dcontourColorbarExponentformat

type Histogram2dcontourColorbarExponentformat string

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.

const (
	Histogram2dcontourColorbarExponentformat_none  Histogram2dcontourColorbarExponentformat = "none"
	Histogram2dcontourColorbarExponentformat_e     Histogram2dcontourColorbarExponentformat = "e"
	Histogram2dcontourColorbarExponentformat_E     Histogram2dcontourColorbarExponentformat = "E"
	Histogram2dcontourColorbarExponentformat_power Histogram2dcontourColorbarExponentformat = "power"
	Histogram2dcontourColorbarExponentformat_SI    Histogram2dcontourColorbarExponentformat = "SI"
	Histogram2dcontourColorbarExponentformat_B     Histogram2dcontourColorbarExponentformat = "B"
)

type Histogram2dcontourColorbarLenmode

type Histogram2dcontourColorbarLenmode string

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.

const (
	Histogram2dcontourColorbarLenmode_fraction Histogram2dcontourColorbarLenmode = "fraction"
	Histogram2dcontourColorbarLenmode_pixels   Histogram2dcontourColorbarLenmode = "pixels"
)

type Histogram2dcontourColorbarShowexponent

type Histogram2dcontourColorbarShowexponent string

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.

const (
	Histogram2dcontourColorbarShowexponent_all   Histogram2dcontourColorbarShowexponent = "all"
	Histogram2dcontourColorbarShowexponent_first Histogram2dcontourColorbarShowexponent = "first"
	Histogram2dcontourColorbarShowexponent_last  Histogram2dcontourColorbarShowexponent = "last"
	Histogram2dcontourColorbarShowexponent_none  Histogram2dcontourColorbarShowexponent = "none"
)

type Histogram2dcontourColorbarShowtickprefix

type Histogram2dcontourColorbarShowtickprefix string

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.

const (
	Histogram2dcontourColorbarShowtickprefix_all   Histogram2dcontourColorbarShowtickprefix = "all"
	Histogram2dcontourColorbarShowtickprefix_first Histogram2dcontourColorbarShowtickprefix = "first"
	Histogram2dcontourColorbarShowtickprefix_last  Histogram2dcontourColorbarShowtickprefix = "last"
	Histogram2dcontourColorbarShowtickprefix_none  Histogram2dcontourColorbarShowtickprefix = "none"
)

type Histogram2dcontourColorbarShowticksuffix

type Histogram2dcontourColorbarShowticksuffix string

Histogram2dcontourColorbarShowticksuffix Same as `showtickprefix` but for tick suffixes.

const (
	Histogram2dcontourColorbarShowticksuffix_all   Histogram2dcontourColorbarShowticksuffix = "all"
	Histogram2dcontourColorbarShowticksuffix_first Histogram2dcontourColorbarShowticksuffix = "first"
	Histogram2dcontourColorbarShowticksuffix_last  Histogram2dcontourColorbarShowticksuffix = "last"
	Histogram2dcontourColorbarShowticksuffix_none  Histogram2dcontourColorbarShowticksuffix = "none"
)

type Histogram2dcontourColorbarThicknessmode

type Histogram2dcontourColorbarThicknessmode string

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.

const (
	Histogram2dcontourColorbarThicknessmode_fraction Histogram2dcontourColorbarThicknessmode = "fraction"
	Histogram2dcontourColorbarThicknessmode_pixels   Histogram2dcontourColorbarThicknessmode = "pixels"
)

type Histogram2dcontourColorbarTickfont

type Histogram2dcontourColorbarTickfont struct {

	// Color color <no value>
	Color String `json:"color,omitempty"`

	// Family string HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.
	Family String `json:"family,omitempty"`

	// Size number <no value>
	Size float64 `json:"size,omitempty"`
}

type Histogram2dcontourColorbarTickformatstops

type Histogram2dcontourColorbarTickformatstops interface{}

Histogram2dcontourColorbarTickformatstops It's an items array and what goes inside it's... messy... check the docs Here is a hint to help you to define your own type tickformatstop

dtickrange
editType
enabled
name
role
templateitemname
value

type Histogram2dcontourColorbarTicklabelposition

type Histogram2dcontourColorbarTicklabelposition string

Histogram2dcontourColorbarTicklabelposition Determines where tick labels are drawn.

const (
	Histogram2dcontourColorbarTicklabelposition_outside       Histogram2dcontourColorbarTicklabelposition = "outside"
	Histogram2dcontourColorbarTicklabelposition_inside        Histogram2dcontourColorbarTicklabelposition = "inside"
	Histogram2dcontourColorbarTicklabelposition_outsidetop    Histogram2dcontourColorbarTicklabelposition = "outside top"
	Histogram2dcontourColorbarTicklabelposition_insidetop     Histogram2dcontourColorbarTicklabelposition = "inside top"
	Histogram2dcontourColorbarTicklabelposition_outsidebottom Histogram2dcontourColorbarTicklabelposition = "outside bottom"
	Histogram2dcontourColorbarTicklabelposition_insidebottom  Histogram2dcontourColorbarTicklabelposition = "inside bottom"
)

type Histogram2dcontourColorbarTickmode

type Histogram2dcontourColorbarTickmode string

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).

const (
	Histogram2dcontourColorbarTickmode_auto   Histogram2dcontourColorbarTickmode = "auto"
	Histogram2dcontourColorbarTickmode_linear Histogram2dcontourColorbarTickmode = "linear"
	Histogram2dcontourColorbarTickmode_array  Histogram2dcontourColorbarTickmode = "array"
)

type Histogram2dcontourColorbarTicks

type Histogram2dcontourColorbarTicks string

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.

const (
	Histogram2dcontourColorbarTicks_outside Histogram2dcontourColorbarTicks = "outside"
	Histogram2dcontourColorbarTicks_inside  Histogram2dcontourColorbarTicks = "inside"
)

type Histogram2dcontourColorbarTitle

type Histogram2dcontourColorbarTitle struct {

	// Font <no value> Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.
	Font *Histogram2dcontourColorbarTitleFont `json:"font,omitempty"`

	// Side 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.
	Side Histogram2dcontourColorbarTitleSide `json:"side,omitempty"`

	// Text 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"`
}

type Histogram2dcontourColorbarTitleFont

type Histogram2dcontourColorbarTitleFont struct {

	// Color color <no value>
	Color String `json:"color,omitempty"`

	// Family string HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.
	Family String `json:"family,omitempty"`

	// Size number <no value>
	Size float64 `json:"size,omitempty"`
}

type Histogram2dcontourColorbarTitleSide

type Histogram2dcontourColorbarTitleSide string

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.

const (
	Histogram2dcontourColorbarTitleSide_right  Histogram2dcontourColorbarTitleSide = "right"
	Histogram2dcontourColorbarTitleSide_top    Histogram2dcontourColorbarTitleSide = "top"
	Histogram2dcontourColorbarTitleSide_bottom Histogram2dcontourColorbarTitleSide = "bottom"
)

type Histogram2dcontourColorbarXanchor

type Histogram2dcontourColorbarXanchor string

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.

const (
	Histogram2dcontourColorbarXanchor_left   Histogram2dcontourColorbarXanchor = "left"
	Histogram2dcontourColorbarXanchor_center Histogram2dcontourColorbarXanchor = "center"
	Histogram2dcontourColorbarXanchor_right  Histogram2dcontourColorbarXanchor = "right"
)

type Histogram2dcontourColorbarYanchor

type Histogram2dcontourColorbarYanchor string

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.

const (
	Histogram2dcontourColorbarYanchor_top    Histogram2dcontourColorbarYanchor = "top"
	Histogram2dcontourColorbarYanchor_middle Histogram2dcontourColorbarYanchor = "middle"
	Histogram2dcontourColorbarYanchor_bottom Histogram2dcontourColorbarYanchor = "bottom"
)

type Histogram2dcontourContours

type Histogram2dcontourContours struct {

	// Coloring 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 number Sets the end contour level value. Must be more than `contours.start`
	End float64 `json:"end,omitempty"`

	// ImpliedEdits <no value> <no value>
	ImpliedEdits *Histogram2dcontourContoursImpliededits `json:"impliedEdits,omitempty"`

	// Labelfont <no value> 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`.
	Labelfont *Histogram2dcontourContoursLabelfont `json:"labelfont,omitempty"`

	// Labelformat 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
	Labelformat String `json:"labelformat,omitempty"`

	// Operation 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 boolean Determines whether to label the contour lines with their values.
	Showlabels Bool `json:"showlabels,omitempty"`

	// Showlines 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 number Sets the step between each contour level. Must be positive.
	Size float64 `json:"size,omitempty"`

	// Start number Sets the starting contour level value. Must be less than `contours.end`
	Start float64 `json:"start,omitempty"`

	// 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 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"`
}

type Histogram2dcontourContoursColoring

type Histogram2dcontourContoursColoring string

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.

const (
	Histogram2dcontourContoursColoring_fill    Histogram2dcontourContoursColoring = "fill"
	Histogram2dcontourContoursColoring_heatmap Histogram2dcontourContoursColoring = "heatmap"
	Histogram2dcontourContoursColoring_lines   Histogram2dcontourContoursColoring = "lines"
	Histogram2dcontourContoursColoring_none    Histogram2dcontourContoursColoring = "none"
)

type Histogram2dcontourContoursImpliededits

type Histogram2dcontourContoursImpliededits struct {
}

type Histogram2dcontourContoursLabelfont

type Histogram2dcontourContoursLabelfont struct {

	// Color color <no value>
	Color String `json:"color,omitempty"`

	// Family string HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.
	Family String `json:"family,omitempty"`

	// Size number <no value>
	Size float64 `json:"size,omitempty"`
}

type Histogram2dcontourContoursOperation

type Histogram2dcontourContoursOperation string

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.

const (
	Histogram2dcontourContoursOperation_eq                   Histogram2dcontourContoursOperation = "="
	Histogram2dcontourContoursOperation_lt                   Histogram2dcontourContoursOperation = "<"
	Histogram2dcontourContoursOperation_gteq                 Histogram2dcontourContoursOperation = ">="
	Histogram2dcontourContoursOperation_gt                   Histogram2dcontourContoursOperation = ">"
	Histogram2dcontourContoursOperation_lteq                 Histogram2dcontourContoursOperation = "<="
	Histogram2dcontourContoursOperation__lbracket__rbracket_ Histogram2dcontourContoursOperation = "[]"
	Histogram2dcontourContoursOperation__lpar__rpar_         Histogram2dcontourContoursOperation = "()"
	Histogram2dcontourContoursOperation__lbracket__rpar_     Histogram2dcontourContoursOperation = "[)"
	Histogram2dcontourContoursOperation__lpar__rbracket_     Histogram2dcontourContoursOperation = "(]"
	Histogram2dcontourContoursOperation__rbracket__lbracket_ Histogram2dcontourContoursOperation = "]["
	Histogram2dcontourContoursOperation__rpar__lpar_         Histogram2dcontourContoursOperation = ")("
	Histogram2dcontourContoursOperation__rbracket__lpar_     Histogram2dcontourContoursOperation = "]("
	Histogram2dcontourContoursOperation__rpar__lbracket_     Histogram2dcontourContoursOperation = ")["
)

type Histogram2dcontourContoursType

type Histogram2dcontourContoursType string

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.

const (
	Histogram2dcontourContoursType_levels     Histogram2dcontourContoursType = "levels"
	Histogram2dcontourContoursType_constraint Histogram2dcontourContoursType = "constraint"
)

type Histogram2dcontourHistfunc

type Histogram2dcontourHistfunc string

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.

const (
	Histogram2dcontourHistfunc_count Histogram2dcontourHistfunc = "count"
	Histogram2dcontourHistfunc_sum   Histogram2dcontourHistfunc = "sum"
	Histogram2dcontourHistfunc_avg   Histogram2dcontourHistfunc = "avg"
	Histogram2dcontourHistfunc_min   Histogram2dcontourHistfunc = "min"
	Histogram2dcontourHistfunc_max   Histogram2dcontourHistfunc = "max"
)

type Histogram2dcontourHistnorm

type Histogram2dcontourHistnorm string

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).

const (
	Histogram2dcontourHistnorm_percent            Histogram2dcontourHistnorm = "percent"
	Histogram2dcontourHistnorm_probability        Histogram2dcontourHistnorm = "probability"
	Histogram2dcontourHistnorm_density            Histogram2dcontourHistnorm = "density"
	Histogram2dcontourHistnorm_probabilitydensity Histogram2dcontourHistnorm = "probability density"
)

type Histogram2dcontourHoverinfo

type Histogram2dcontourHoverinfo string
const (
	// Flags
	Histogram2dcontourHoverinfoX    Histogram2dcontourHoverinfo = "x"
	Histogram2dcontourHoverinfoY    Histogram2dcontourHoverinfo = "y"
	Histogram2dcontourHoverinfoZ    Histogram2dcontourHoverinfo = "z"
	Histogram2dcontourHoverinfoText Histogram2dcontourHoverinfo = "text"
	Histogram2dcontourHoverinfoName Histogram2dcontourHoverinfo = "name"
	// Extras
	Histogram2dcontourHoverinfoAll  Histogram2dcontourHoverinfo = "all"
	Histogram2dcontourHoverinfoNone Histogram2dcontourHoverinfo = "none"
	Histogram2dcontourHoverinfoSkip Histogram2dcontourHoverinfo = "skip"
)

type Histogram2dcontourHoverlabel

type Histogram2dcontourHoverlabel struct {

	// Align 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 string Sets the source reference on Chart Studio Cloud for  align .
	Alignsrc String `json:"alignsrc,omitempty"`

	// Bgcolor color Sets the background color of the hover labels for this trace
	Bgcolor interface{} `json:"bgcolor,omitempty"`

	// Bgcolorsrc string Sets the source reference on Chart Studio Cloud for  bgcolor .
	Bgcolorsrc String `json:"bgcolorsrc,omitempty"`

	// Bordercolor color Sets the border color of the hover labels for this trace.
	Bordercolor interface{} `json:"bordercolor,omitempty"`

	// Bordercolorsrc string Sets the source reference on Chart Studio Cloud for  bordercolor .
	Bordercolorsrc String `json:"bordercolorsrc,omitempty"`

	// Font <no value> Sets the font used in hover labels.
	Font *Histogram2dcontourHoverlabelFont `json:"font,omitempty"`

	// Namelength 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 interface{} `json:"namelength,omitempty"`

	// Namelengthsrc string Sets the source reference on Chart Studio Cloud for  namelength .
	Namelengthsrc String `json:"namelengthsrc,omitempty"`
}

type Histogram2dcontourHoverlabelAlign

type Histogram2dcontourHoverlabelAlign string

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

const (
	Histogram2dcontourHoverlabelAlign_left  Histogram2dcontourHoverlabelAlign = "left"
	Histogram2dcontourHoverlabelAlign_right Histogram2dcontourHoverlabelAlign = "right"
	Histogram2dcontourHoverlabelAlign_auto  Histogram2dcontourHoverlabelAlign = "auto"
)

type Histogram2dcontourHoverlabelFont

type Histogram2dcontourHoverlabelFont struct {

	// Color color <no value>
	Color interface{} `json:"color,omitempty"`

	// Colorsrc string Sets the source reference on Chart Studio Cloud for  color .
	Colorsrc String `json:"colorsrc,omitempty"`

	// Family string HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.
	Family interface{} `json:"family,omitempty"`

	// Familysrc string Sets the source reference on Chart Studio Cloud for  family .
	Familysrc String `json:"familysrc,omitempty"`

	// Size number <no value>
	Size interface{} `json:"size,omitempty"`

	// Sizesrc string Sets the source reference on Chart Studio Cloud for  size .
	Sizesrc String `json:"sizesrc,omitempty"`
}

type Histogram2dcontourLine

type Histogram2dcontourLine struct {

	// Color color Sets the color of the contour level. Has no effect if `contours.coloring` is set to *lines*.
	Color String `json:"color,omitempty"`

	// Dash 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 number Sets the amount of smoothing for the contour lines, where *0* corresponds to no smoothing.
	Smoothing float64 `json:"smoothing,omitempty"`

	// Width number Sets the contour line width in (in px)
	Width float64 `json:"width,omitempty"`
}

type Histogram2dcontourMarker

type Histogram2dcontourMarker struct {

	// Color data_array Sets the aggregation data.
	Color interface{} `json:"color,omitempty"`

	// Colorsrc string Sets the source reference on Chart Studio Cloud for  color .
	Colorsrc String `json:"colorsrc,omitempty"`
}

type Histogram2dcontourStream

type Histogram2dcontourStream struct {

	// Maxpoints 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 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"`
}

type Histogram2dcontourTransforms

type Histogram2dcontourTransforms interface{}

Histogram2dcontourTransforms It's an items array and what goes inside it's... messy... check the docs Here is a hint to help you to define your own type transform

description
editType
role

type Histogram2dcontourVisible

type Histogram2dcontourVisible interface{}

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).

var (
	Histogram2dcontourVisible_True       Histogram2dcontourVisible = true
	Histogram2dcontourVisible_False      Histogram2dcontourVisible = false
	Histogram2dcontourVisible_legendonly Histogram2dcontourVisible = "legendonly"
)

type Histogram2dcontourXbins

type Histogram2dcontourXbins struct {

	// End 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 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<n>* 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 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"`
}

type Histogram2dcontourXcalendar

type Histogram2dcontourXcalendar string

Histogram2dcontourXcalendar Sets the calendar system to use with `x` date data.

const (
	Histogram2dcontourXcalendar_gregorian  Histogram2dcontourXcalendar = "gregorian"
	Histogram2dcontourXcalendar_chinese    Histogram2dcontourXcalendar = "chinese"
	Histogram2dcontourXcalendar_coptic     Histogram2dcontourXcalendar = "coptic"
	Histogram2dcontourXcalendar_discworld  Histogram2dcontourXcalendar = "discworld"
	Histogram2dcontourXcalendar_ethiopian  Histogram2dcontourXcalendar = "ethiopian"
	Histogram2dcontourXcalendar_hebrew     Histogram2dcontourXcalendar = "hebrew"
	Histogram2dcontourXcalendar_islamic    Histogram2dcontourXcalendar = "islamic"
	Histogram2dcontourXcalendar_julian     Histogram2dcontourXcalendar = "julian"
	Histogram2dcontourXcalendar_mayan      Histogram2dcontourXcalendar = "mayan"
	Histogram2dcontourXcalendar_nanakshahi Histogram2dcontourXcalendar = "nanakshahi"
	Histogram2dcontourXcalendar_nepali     Histogram2dcontourXcalendar = "nepali"
	Histogram2dcontourXcalendar_persian    Histogram2dcontourXcalendar = "persian"
	Histogram2dcontourXcalendar_jalali     Histogram2dcontourXcalendar = "jalali"
	Histogram2dcontourXcalendar_taiwan     Histogram2dcontourXcalendar = "taiwan"
	Histogram2dcontourXcalendar_thai       Histogram2dcontourXcalendar = "thai"
	Histogram2dcontourXcalendar_ummalqura  Histogram2dcontourXcalendar = "ummalqura"
)

type Histogram2dcontourYbins

type Histogram2dcontourYbins struct {

	// End 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 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<n>* 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 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"`
}

type Histogram2dcontourYcalendar

type Histogram2dcontourYcalendar string

Histogram2dcontourYcalendar Sets the calendar system to use with `y` date data.

const (
	Histogram2dcontourYcalendar_gregorian  Histogram2dcontourYcalendar = "gregorian"
	Histogram2dcontourYcalendar_chinese    Histogram2dcontourYcalendar = "chinese"
	Histogram2dcontourYcalendar_coptic     Histogram2dcontourYcalendar = "coptic"
	Histogram2dcontourYcalendar_discworld  Histogram2dcontourYcalendar = "discworld"
	Histogram2dcontourYcalendar_ethiopian  Histogram2dcontourYcalendar = "ethiopian"
	Histogram2dcontourYcalendar_hebrew     Histogram2dcontourYcalendar = "hebrew"
	Histogram2dcontourYcalendar_islamic    Histogram2dcontourYcalendar = "islamic"
	Histogram2dcontourYcalendar_julian     Histogram2dcontourYcalendar = "julian"
	Histogram2dcontourYcalendar_mayan      Histogram2dcontourYcalendar = "mayan"
	Histogram2dcontourYcalendar_nanakshahi Histogram2dcontourYcalendar = "nanakshahi"
	Histogram2dcontourYcalendar_nepali     Histogram2dcontourYcalendar = "nepali"
	Histogram2dcontourYcalendar_persian    Histogram2dcontourYcalendar = "persian"
	Histogram2dcontourYcalendar_jalali     Histogram2dcontourYcalendar = "jalali"
	Histogram2dcontourYcalendar_taiwan     Histogram2dcontourYcalendar = "taiwan"
	Histogram2dcontourYcalendar_thai       Histogram2dcontourYcalendar = "thai"
	Histogram2dcontourYcalendar_ummalqura  Histogram2dcontourYcalendar = "ummalqura"
)

type HistogramCumulative

type HistogramCumulative struct {

	// Currentbin 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 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 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"`
}

type HistogramCumulativeCurrentbin

type HistogramCumulativeCurrentbin string

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.

const (
	HistogramCumulativeCurrentbin_include HistogramCumulativeCurrentbin = "include"
	HistogramCumulativeCurrentbin_exclude HistogramCumulativeCurrentbin = "exclude"
	HistogramCumulativeCurrentbin_half    HistogramCumulativeCurrentbin = "half"
)

type HistogramCumulativeDirection

type HistogramCumulativeDirection string

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.

const (
	HistogramCumulativeDirection_increasing HistogramCumulativeDirection = "increasing"
	HistogramCumulativeDirection_decreasing HistogramCumulativeDirection = "decreasing"
)

type HistogramErrorX

type HistogramErrorX struct {

	// Array 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 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 string Sets the source reference on Chart Studio Cloud for  arrayminus .
	Arrayminussrc String `json:"arrayminussrc,omitempty"`

	// Arraysrc string Sets the source reference on Chart Studio Cloud for  array .
	Arraysrc String `json:"arraysrc,omitempty"`

	// Color color Sets the stoke color of the error bars.
	Color String `json:"color,omitempty"`

	// Copy_ystyle boolean <no value>
	Copy_ystyle Bool `json:"copy_ystyle,omitempty"`

	// Symmetric 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 number Sets the thickness (in px) of the error bars.
	Thickness float64 `json:"thickness,omitempty"`

	// Traceref integer <no value>
	Traceref int64 `json:"traceref,omitempty"`

	// Tracerefminus integer <no value>
	Tracerefminus int64 `json:"tracerefminus,omitempty"`

	// 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 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 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 boolean Determines whether or not this set of error bars is visible.
	Visible Bool `json:"visible,omitempty"`

	// Width number Sets the width (in px) of the cross-bar at both ends of the error bars.
	Width float64 `json:"width,omitempty"`
}

type HistogramErrorXType

type HistogramErrorXType string

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`.

const (
	HistogramErrorXType_percent  HistogramErrorXType = "percent"
	HistogramErrorXType_constant HistogramErrorXType = "constant"
	HistogramErrorXType_sqrt     HistogramErrorXType = "sqrt"
	HistogramErrorXType_data     HistogramErrorXType = "data"
)

type HistogramErrorY

type HistogramErrorY struct {

	// Array 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 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 string Sets the source reference on Chart Studio Cloud for  arrayminus .
	Arrayminussrc String `json:"arrayminussrc,omitempty"`

	// Arraysrc string Sets the source reference on Chart Studio Cloud for  array .
	Arraysrc String `json:"arraysrc,omitempty"`

	// Color color Sets the stoke color of the error bars.
	Color String `json:"color,omitempty"`

	// Symmetric 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 number Sets the thickness (in px) of the error bars.
	Thickness float64 `json:"thickness,omitempty"`

	// Traceref integer <no value>
	Traceref int64 `json:"traceref,omitempty"`

	// Tracerefminus integer <no value>
	Tracerefminus int64 `json:"tracerefminus,omitempty"`

	// 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 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 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 boolean Determines whether or not this set of error bars is visible.
	Visible Bool `json:"visible,omitempty"`

	// Width number Sets the width (in px) of the cross-bar at both ends of the error bars.
	Width float64 `json:"width,omitempty"`
}

type HistogramErrorYType

type HistogramErrorYType string

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`.

const (
	HistogramErrorYType_percent  HistogramErrorYType = "percent"
	HistogramErrorYType_constant HistogramErrorYType = "constant"
	HistogramErrorYType_sqrt     HistogramErrorYType = "sqrt"
	HistogramErrorYType_data     HistogramErrorYType = "data"
)

type HistogramHistfunc

type HistogramHistfunc string

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.

const (
	HistogramHistfunc_count HistogramHistfunc = "count"
	HistogramHistfunc_sum   HistogramHistfunc = "sum"
	HistogramHistfunc_avg   HistogramHistfunc = "avg"
	HistogramHistfunc_min   HistogramHistfunc = "min"
	HistogramHistfunc_max   HistogramHistfunc = "max"
)

type HistogramHistnorm

type HistogramHistnorm string

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).

const (
	HistogramHistnorm_percent            HistogramHistnorm = "percent"
	HistogramHistnorm_probability        HistogramHistnorm = "probability"
	HistogramHistnorm_density            HistogramHistnorm = "density"
	HistogramHistnorm_probabilitydensity HistogramHistnorm = "probability density"
)

type HistogramHoverinfo

type HistogramHoverinfo string
const (
	// Flags
	HistogramHoverinfoX    HistogramHoverinfo = "x"
	HistogramHoverinfoY    HistogramHoverinfo = "y"
	HistogramHoverinfoZ    HistogramHoverinfo = "z"
	HistogramHoverinfoText HistogramHoverinfo = "text"
	HistogramHoverinfoName HistogramHoverinfo = "name"
	// Extras
	HistogramHoverinfoAll  HistogramHoverinfo = "all"
	HistogramHoverinfoNone HistogramHoverinfo = "none"
	HistogramHoverinfoSkip HistogramHoverinfo = "skip"
)

type HistogramHoverlabel

type HistogramHoverlabel struct {

	// Align 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 string Sets the source reference on Chart Studio Cloud for  align .
	Alignsrc String `json:"alignsrc,omitempty"`

	// Bgcolor color Sets the background color of the hover labels for this trace
	Bgcolor interface{} `json:"bgcolor,omitempty"`

	// Bgcolorsrc string Sets the source reference on Chart Studio Cloud for  bgcolor .
	Bgcolorsrc String `json:"bgcolorsrc,omitempty"`

	// Bordercolor color Sets the border color of the hover labels for this trace.
	Bordercolor interface{} `json:"bordercolor,omitempty"`

	// Bordercolorsrc string Sets the source reference on Chart Studio Cloud for  bordercolor .
	Bordercolorsrc String `json:"bordercolorsrc,omitempty"`

	// Font <no value> Sets the font used in hover labels.
	Font *HistogramHoverlabelFont `json:"font,omitempty"`

	// Namelength 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 interface{} `json:"namelength,omitempty"`

	// Namelengthsrc string Sets the source reference on Chart Studio Cloud for  namelength .
	Namelengthsrc String `json:"namelengthsrc,omitempty"`
}

type HistogramHoverlabelAlign

type HistogramHoverlabelAlign string

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

const (
	HistogramHoverlabelAlign_left  HistogramHoverlabelAlign = "left"
	HistogramHoverlabelAlign_right HistogramHoverlabelAlign = "right"
	HistogramHoverlabelAlign_auto  HistogramHoverlabelAlign = "auto"
)

type HistogramHoverlabelFont

type HistogramHoverlabelFont struct {

	// Color color <no value>
	Color interface{} `json:"color,omitempty"`

	// Colorsrc string Sets the source reference on Chart Studio Cloud for  color .
	Colorsrc String `json:"colorsrc,omitempty"`

	// Family string HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.
	Family interface{} `json:"family,omitempty"`

	// Familysrc string Sets the source reference on Chart Studio Cloud for  family .
	Familysrc String `json:"familysrc,omitempty"`

	// Size number <no value>
	Size interface{} `json:"size,omitempty"`

	// Sizesrc string Sets the source reference on Chart Studio Cloud for  size .
	Sizesrc String `json:"sizesrc,omitempty"`
}

type HistogramMarker

type HistogramMarker struct {

	// Autocolorscale 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 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 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 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 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 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.
	Color interface{} `json:"color,omitempty"`

	// Coloraxis 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 <no value> <no value>
	Colorbar *HistogramMarkerColorbar `json:"colorbar,omitempty"`

	// Colorsrc string Sets the source reference on Chart Studio Cloud for  color .
	Colorsrc String `json:"colorsrc,omitempty"`

	// Line <no value> <no value>
	Line *HistogramMarkerLine `json:"line,omitempty"`

	// Opacity number Sets the opacity of the bars.
	Opacity interface{} `json:"opacity,omitempty"`

	// Opacitysrc string Sets the source reference on Chart Studio Cloud for  opacity .
	Opacitysrc String `json:"opacitysrc,omitempty"`

	// Reversescale 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 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"`
}

type HistogramMarkerColorbar

type HistogramMarkerColorbar struct {

	// Bgcolor color Sets the color of padded area.
	Bgcolor String `json:"bgcolor,omitempty"`

	// Bordercolor color Sets the axis line color.
	Bordercolor String `json:"bordercolor,omitempty"`

	// Borderwidth number Sets the width (in px) or the border enclosing this color bar.
	Borderwidth float64 `json:"borderwidth,omitempty"`

	// Dtick 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<f>*, where `f` is a positive number, gives ticks linearly spaced in value (but not position). For example `tick0` = 0.1, `dtick` = *L0.5* will put ticks at 0.1, 0.6, 1.1, 1.6 etc. To show powers of 10 plus small digits between, use *D1* (all digits) or *D2* (only 2 and 5). `tick0` is ignored for *D1* and *D2*. If the axis `type` is *date*, then you must convert the time to milliseconds. For example, to set the interval between ticks to one day, set `dtick` to 86400000.0. *date* also has special values *M<n>* gives ticks spaced by a number of months. `n` must be a positive integer. To set ticks on the 15th of every third month, set `tick0` to *2000-01-15* and `dtick` to *M3*. To set ticks every 4 years, set `dtick` to *M48*
	Dtick interface{} `json:"dtick,omitempty"`

	// Exponentformat 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"`

	// Len 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 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 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 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"`

	// Outlinecolor color Sets the axis line color.
	Outlinecolor String `json:"outlinecolor,omitempty"`

	// Outlinewidth number Sets the width (in px) of the axis line.
	Outlinewidth float64 `json:"outlinewidth,omitempty"`

	// Separatethousands boolean If "true", even 4-digit integers are separated
	Separatethousands Bool `json:"separatethousands,omitempty"`

	// Showexponent 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 boolean Determines whether or not the tick labels are drawn.
	Showticklabels Bool `json:"showticklabels,omitempty"`

	// Showtickprefix 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 enumerated Same as `showtickprefix` but for tick suffixes.
	Showticksuffix HistogramMarkerColorbarShowticksuffix `json:"showticksuffix,omitempty"`

	// Thickness 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 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 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<f>* (see `dtick` for more info). If the axis `type` is *date*, it should be a date string, like date data. If the axis `type` is *category*, it should be a number, using the scale where each category is assigned a serial number from zero in the order it appears.
	Tick0 interface{} `json:"tick0,omitempty"`

	// Tickangle 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 color Sets the tick color.
	Tickcolor String `json:"tickcolor,omitempty"`

	// Tickfont <no value> Sets the color bar's tick label font
	Tickfont *HistogramMarkerColorbarTickfont `json:"tickfont,omitempty"`

	// Tickformat 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*
	Tickformat String `json:"tickformat,omitempty"`

	// Tickformatstops <no value> <no value>
	Tickformatstops HistogramMarkerColorbarTickformatstops `json:"tickformatstops,omitempty"`

	// Ticklabelposition enumerated Determines where tick labels are drawn.
	Ticklabelposition HistogramMarkerColorbarTicklabelposition `json:"ticklabelposition,omitempty"`

	// Ticklen number Sets the tick length (in px).
	Ticklen float64 `json:"ticklen,omitempty"`

	// Tickmode 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 string Sets a tick label prefix.
	Tickprefix String `json:"tickprefix,omitempty"`

	// Ticks 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 string Sets a tick label suffix.
	Ticksuffix String `json:"ticksuffix,omitempty"`

	// Ticktext 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 string Sets the source reference on Chart Studio Cloud for  ticktext .
	Ticktextsrc String `json:"ticktextsrc,omitempty"`

	// Tickvals 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 string Sets the source reference on Chart Studio Cloud for  tickvals .
	Tickvalssrc String `json:"tickvalssrc,omitempty"`

	// Tickwidth number Sets the tick width (in px).
	Tickwidth float64 `json:"tickwidth,omitempty"`

	// Title <no value> <no value>
	Title *HistogramMarkerColorbarTitle `json:"title,omitempty"`

	// X number Sets the x position of the color bar (in plot fraction).
	X float64 `json:"x,omitempty"`

	// Xanchor 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.
	Xanchor HistogramMarkerColorbarXanchor `json:"xanchor,omitempty"`

	// Xpad number Sets the amount of padding (in px) along the x direction.
	Xpad float64 `json:"xpad,omitempty"`

	// Y number Sets the y position of the color bar (in plot fraction).
	Y float64 `json:"y,omitempty"`

	// Yanchor 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.
	Yanchor HistogramMarkerColorbarYanchor `json:"yanchor,omitempty"`

	// Ypad number Sets the amount of padding (in px) along the y direction.
	Ypad float64 `json:"ypad,omitempty"`
}

type HistogramMarkerColorbarExponentformat

type HistogramMarkerColorbarExponentformat string

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.

const (
	HistogramMarkerColorbarExponentformat_none  HistogramMarkerColorbarExponentformat = "none"
	HistogramMarkerColorbarExponentformat_e     HistogramMarkerColorbarExponentformat = "e"
	HistogramMarkerColorbarExponentformat_E     HistogramMarkerColorbarExponentformat = "E"
	HistogramMarkerColorbarExponentformat_power HistogramMarkerColorbarExponentformat = "power"
	HistogramMarkerColorbarExponentformat_SI    HistogramMarkerColorbarExponentformat = "SI"
	HistogramMarkerColorbarExponentformat_B     HistogramMarkerColorbarExponentformat = "B"
)

type HistogramMarkerColorbarLenmode

type HistogramMarkerColorbarLenmode string

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.

const (
	HistogramMarkerColorbarLenmode_fraction HistogramMarkerColorbarLenmode = "fraction"
	HistogramMarkerColorbarLenmode_pixels   HistogramMarkerColorbarLenmode = "pixels"
)

type HistogramMarkerColorbarShowexponent

type HistogramMarkerColorbarShowexponent string

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.

const (
	HistogramMarkerColorbarShowexponent_all   HistogramMarkerColorbarShowexponent = "all"
	HistogramMarkerColorbarShowexponent_first HistogramMarkerColorbarShowexponent = "first"
	HistogramMarkerColorbarShowexponent_last  HistogramMarkerColorbarShowexponent = "last"
	HistogramMarkerColorbarShowexponent_none  HistogramMarkerColorbarShowexponent = "none"
)

type HistogramMarkerColorbarShowtickprefix

type HistogramMarkerColorbarShowtickprefix string

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.

const (
	HistogramMarkerColorbarShowtickprefix_all   HistogramMarkerColorbarShowtickprefix = "all"
	HistogramMarkerColorbarShowtickprefix_first HistogramMarkerColorbarShowtickprefix = "first"
	HistogramMarkerColorbarShowtickprefix_last  HistogramMarkerColorbarShowtickprefix = "last"
	HistogramMarkerColorbarShowtickprefix_none  HistogramMarkerColorbarShowtickprefix = "none"
)

type HistogramMarkerColorbarShowticksuffix

type HistogramMarkerColorbarShowticksuffix string

HistogramMarkerColorbarShowticksuffix Same as `showtickprefix` but for tick suffixes.

const (
	HistogramMarkerColorbarShowticksuffix_all   HistogramMarkerColorbarShowticksuffix = "all"
	HistogramMarkerColorbarShowticksuffix_first HistogramMarkerColorbarShowticksuffix = "first"
	HistogramMarkerColorbarShowticksuffix_last  HistogramMarkerColorbarShowticksuffix = "last"
	HistogramMarkerColorbarShowticksuffix_none  HistogramMarkerColorbarShowticksuffix = "none"
)

type HistogramMarkerColorbarThicknessmode

type HistogramMarkerColorbarThicknessmode string

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.

const (
	HistogramMarkerColorbarThicknessmode_fraction HistogramMarkerColorbarThicknessmode = "fraction"
	HistogramMarkerColorbarThicknessmode_pixels   HistogramMarkerColorbarThicknessmode = "pixels"
)

type HistogramMarkerColorbarTickfont

type HistogramMarkerColorbarTickfont struct {

	// Color color <no value>
	Color String `json:"color,omitempty"`

	// Family string HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.
	Family String `json:"family,omitempty"`

	// Size number <no value>
	Size float64 `json:"size,omitempty"`
}

type HistogramMarkerColorbarTickformatstops

type HistogramMarkerColorbarTickformatstops interface{}

HistogramMarkerColorbarTickformatstops It's an items array and what goes inside it's... messy... check the docs Here is a hint to help you to define your own type tickformatstop

dtickrange
editType
enabled
name
role
templateitemname
value

type HistogramMarkerColorbarTicklabelposition

type HistogramMarkerColorbarTicklabelposition string

HistogramMarkerColorbarTicklabelposition Determines where tick labels are drawn.

const (
	HistogramMarkerColorbarTicklabelposition_outside       HistogramMarkerColorbarTicklabelposition = "outside"
	HistogramMarkerColorbarTicklabelposition_inside        HistogramMarkerColorbarTicklabelposition = "inside"
	HistogramMarkerColorbarTicklabelposition_outsidetop    HistogramMarkerColorbarTicklabelposition = "outside top"
	HistogramMarkerColorbarTicklabelposition_insidetop     HistogramMarkerColorbarTicklabelposition = "inside top"
	HistogramMarkerColorbarTicklabelposition_outsidebottom HistogramMarkerColorbarTicklabelposition = "outside bottom"
	HistogramMarkerColorbarTicklabelposition_insidebottom  HistogramMarkerColorbarTicklabelposition = "inside bottom"
)

type HistogramMarkerColorbarTickmode

type HistogramMarkerColorbarTickmode string

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).

const (
	HistogramMarkerColorbarTickmode_auto   HistogramMarkerColorbarTickmode = "auto"
	HistogramMarkerColorbarTickmode_linear HistogramMarkerColorbarTickmode = "linear"
	HistogramMarkerColorbarTickmode_array  HistogramMarkerColorbarTickmode = "array"
)

type HistogramMarkerColorbarTicks

type HistogramMarkerColorbarTicks string

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.

const (
	HistogramMarkerColorbarTicks_outside HistogramMarkerColorbarTicks = "outside"
	HistogramMarkerColorbarTicks_inside  HistogramMarkerColorbarTicks = "inside"
)

type HistogramMarkerColorbarTitle

type HistogramMarkerColorbarTitle struct {

	// Font <no value> Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.
	Font *HistogramMarkerColorbarTitleFont `json:"font,omitempty"`

	// Side 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.
	Side HistogramMarkerColorbarTitleSide `json:"side,omitempty"`

	// Text 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"`
}

type HistogramMarkerColorbarTitleFont

type HistogramMarkerColorbarTitleFont struct {

	// Color color <no value>
	Color String `json:"color,omitempty"`

	// Family string HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.
	Family String `json:"family,omitempty"`

	// Size number <no value>
	Size float64 `json:"size,omitempty"`
}

type HistogramMarkerColorbarTitleSide

type HistogramMarkerColorbarTitleSide string

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.

const (
	HistogramMarkerColorbarTitleSide_right  HistogramMarkerColorbarTitleSide = "right"
	HistogramMarkerColorbarTitleSide_top    HistogramMarkerColorbarTitleSide = "top"
	HistogramMarkerColorbarTitleSide_bottom HistogramMarkerColorbarTitleSide = "bottom"
)

type HistogramMarkerColorbarXanchor

type HistogramMarkerColorbarXanchor string

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.

const (
	HistogramMarkerColorbarXanchor_left   HistogramMarkerColorbarXanchor = "left"
	HistogramMarkerColorbarXanchor_center HistogramMarkerColorbarXanchor = "center"
	HistogramMarkerColorbarXanchor_right  HistogramMarkerColorbarXanchor = "right"
)

type HistogramMarkerColorbarYanchor

type HistogramMarkerColorbarYanchor string

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.

const (
	HistogramMarkerColorbarYanchor_top    HistogramMarkerColorbarYanchor = "top"
	HistogramMarkerColorbarYanchor_middle HistogramMarkerColorbarYanchor = "middle"
	HistogramMarkerColorbarYanchor_bottom HistogramMarkerColorbarYanchor = "bottom"
)

type HistogramMarkerLine

type HistogramMarkerLine struct {

	// Autocolorscale 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 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 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 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 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 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.
	Color interface{} `json:"color,omitempty"`

	// Coloraxis 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"`

	// Colorsrc string Sets the source reference on Chart Studio Cloud for  color .
	Colorsrc String `json:"colorsrc,omitempty"`

	// Reversescale 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 number Sets the width (in px) of the lines bounding the marker points.
	Width interface{} `json:"width,omitempty"`

	// Widthsrc string Sets the source reference on Chart Studio Cloud for  width .
	Widthsrc String `json:"widthsrc,omitempty"`
}

type HistogramOrientation

type HistogramOrientation string

HistogramOrientation Sets the orientation of the bars. With *v* (*h*), the value of the each bar spans along the vertical (horizontal).

const (
	HistogramOrientation_v HistogramOrientation = "v"
	HistogramOrientation_h HistogramOrientation = "h"
)

type HistogramSelected

type HistogramSelected struct {

	// Marker <no value> <no value>
	Marker *HistogramSelectedMarker `json:"marker,omitempty"`

	// Textfont <no value> <no value>
	Textfont *HistogramSelectedTextfont `json:"textfont,omitempty"`
}

type HistogramSelectedMarker

type HistogramSelectedMarker struct {

	// Color color Sets the marker color of selected points.
	Color String `json:"color,omitempty"`

	// Opacity number Sets the marker opacity of selected points.
	Opacity float64 `json:"opacity,omitempty"`
}

type HistogramSelectedTextfont

type HistogramSelectedTextfont struct {

	// Color color Sets the text font color of selected points.
	Color String `json:"color,omitempty"`
}

type HistogramStream

type HistogramStream struct {

	// Maxpoints 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 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"`
}

type HistogramTransforms

type HistogramTransforms interface{}

HistogramTransforms It's an items array and what goes inside it's... messy... check the docs Here is a hint to help you to define your own type transform

description
editType
role

type HistogramUnselected

type HistogramUnselected struct {

	// Marker <no value> <no value>
	Marker *HistogramUnselectedMarker `json:"marker,omitempty"`

	// Textfont <no value> <no value>
	Textfont *HistogramUnselectedTextfont `json:"textfont,omitempty"`
}

type HistogramUnselectedMarker

type HistogramUnselectedMarker struct {

	// Color color Sets the marker color of unselected points, applied only when a selection exists.
	Color String `json:"color,omitempty"`

	// Opacity number Sets the marker opacity of unselected points, applied only when a selection exists.
	Opacity float64 `json:"opacity,omitempty"`
}

type HistogramUnselectedTextfont

type HistogramUnselectedTextfont struct {

	// Color color Sets the text font color of unselected points, applied only when a selection exists.
	Color String `json:"color,omitempty"`
}

type HistogramVisible

type HistogramVisible interface{}

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).

var (
	HistogramVisible_True       HistogramVisible = true
	HistogramVisible_False      HistogramVisible = false
	HistogramVisible_legendonly HistogramVisible = "legendonly"
)

type HistogramXbins

type HistogramXbins struct {

	// End 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 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<n>* for months, as in `axis.dtick`. For category data, the number of categories to bin together (always defaults to 1). If multiple non-overlaying histograms share a subplot, the first explicit `size` is used and all others discarded. If no `size` is provided,the sample data from all traces is combined to determine `size` as described above.
	Size interface{} `json:"size,omitempty"`

	// Start 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"`
}

type HistogramXcalendar

type HistogramXcalendar string

HistogramXcalendar Sets the calendar system to use with `x` date data.

const (
	HistogramXcalendar_gregorian  HistogramXcalendar = "gregorian"
	HistogramXcalendar_chinese    HistogramXcalendar = "chinese"
	HistogramXcalendar_coptic     HistogramXcalendar = "coptic"
	HistogramXcalendar_discworld  HistogramXcalendar = "discworld"
	HistogramXcalendar_ethiopian  HistogramXcalendar = "ethiopian"
	HistogramXcalendar_hebrew     HistogramXcalendar = "hebrew"
	HistogramXcalendar_islamic    HistogramXcalendar = "islamic"
	HistogramXcalendar_julian     HistogramXcalendar = "julian"
	HistogramXcalendar_mayan      HistogramXcalendar = "mayan"
	HistogramXcalendar_nanakshahi HistogramXcalendar = "nanakshahi"
	HistogramXcalendar_nepali     HistogramXcalendar = "nepali"
	HistogramXcalendar_persian    HistogramXcalendar = "persian"
	HistogramXcalendar_jalali     HistogramXcalendar = "jalali"
	HistogramXcalendar_taiwan     HistogramXcalendar = "taiwan"
	HistogramXcalendar_thai       HistogramXcalendar = "thai"
	HistogramXcalendar_ummalqura  HistogramXcalendar = "ummalqura"
)

type HistogramYbins

type HistogramYbins struct {

	// End 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 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<n>* for months, as in `axis.dtick`. For category data, the number of categories to bin together (always defaults to 1). If multiple non-overlaying histograms share a subplot, the first explicit `size` is used and all others discarded. If no `size` is provided,the sample data from all traces is combined to determine `size` as described above.
	Size interface{} `json:"size,omitempty"`

	// Start 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"`
}

type HistogramYcalendar

type HistogramYcalendar string

HistogramYcalendar Sets the calendar system to use with `y` date data.

const (
	HistogramYcalendar_gregorian  HistogramYcalendar = "gregorian"
	HistogramYcalendar_chinese    HistogramYcalendar = "chinese"
	HistogramYcalendar_coptic     HistogramYcalendar = "coptic"
	HistogramYcalendar_discworld  HistogramYcalendar = "discworld"
	HistogramYcalendar_ethiopian  HistogramYcalendar = "ethiopian"
	HistogramYcalendar_hebrew     HistogramYcalendar = "hebrew"
	HistogramYcalendar_islamic    HistogramYcalendar = "islamic"
	HistogramYcalendar_julian     HistogramYcalendar = "julian"
	HistogramYcalendar_mayan      HistogramYcalendar = "mayan"
	HistogramYcalendar_nanakshahi HistogramYcalendar = "nanakshahi"
	HistogramYcalendar_nepali     HistogramYcalendar = "nepali"
	HistogramYcalendar_persian    HistogramYcalendar = "persian"
	HistogramYcalendar_jalali     HistogramYcalendar = "jalali"
	HistogramYcalendar_taiwan     HistogramYcalendar = "taiwan"
	HistogramYcalendar_thai       HistogramYcalendar = "thai"
	HistogramYcalendar_ummalqura  HistogramYcalendar = "ummalqura"
)

type Image

type Image struct {

	// Type is the type of the plot
	Type TraceType `json:"type,omitempty"`

	// Colormodel 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 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 string Sets the source reference on Chart Studio Cloud for  customdata .
	Customdatasrc String `json:"customdatasrc,omitempty"`

	// Dx number Set the pixel's horizontal size.
	Dx float64 `json:"dx,omitempty"`

	// Dy number Set the pixel's vertical size
	Dy float64 `json:"dy,omitempty"`

	// Hoverinfo 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 string Sets the source reference on Chart Studio Cloud for  hoverinfo .
	Hoverinfosrc String `json:"hoverinfosrc,omitempty"`

	// Hoverlabel <no value> <no value>
	Hoverlabel *ImageHoverlabel `json:"hoverlabel,omitempty"`

	// Hovertemplate 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 `<extra>` is displayed in the secondary box, for example "<extra>{fullData.name}</extra>". To hide the secondary box completely, use an empty tag `<extra></extra>`.
	Hovertemplate interface{} `json:"hovertemplate,omitempty"`

	// Hovertemplatesrc string Sets the source reference on Chart Studio Cloud for  hovertemplate .
	Hovertemplatesrc String `json:"hovertemplatesrc,omitempty"`

	// Hovertext data_array Same as `text`.
	Hovertext interface{} `json:"hovertext,omitempty"`

	// Hovertextsrc string Sets the source reference on Chart Studio Cloud for  hovertext .
	Hovertextsrc String `json:"hovertextsrc,omitempty"`

	// Ids 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 string Sets the source reference on Chart Studio Cloud for  ids .
	Idssrc String `json:"idssrc,omitempty"`

	// Meta 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 string Sets the source reference on Chart Studio Cloud for  meta .
	Metasrc String `json:"metasrc,omitempty"`

	// Name string Sets the trace name. The trace name appear as the legend item and on hover.
	Name String `json:"name,omitempty"`

	// Opacity number Sets the opacity of the trace.
	Opacity float64 `json:"opacity,omitempty"`

	// Source string Specifies the data URI of the image to be visualized. The URI consists of "data:image/[<media subtype>][;base64],<data>"
	Source String `json:"source,omitempty"`

	// Stream <no value> <no value>
	Stream *ImageStream `json:"stream,omitempty"`

	// Text data_array Sets the text elements associated with each z value.
	Text interface{} `json:"text,omitempty"`

	// Textsrc string Sets the source reference on Chart Studio Cloud for  text .
	Textsrc String `json:"textsrc,omitempty"`

	// Uid 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 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 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 any Set the image's x position.
	X0 interface{} `json:"x0,omitempty"`

	// Xaxis 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 any Set the image's y position.
	Y0 interface{} `json:"y0,omitempty"`

	// Yaxis 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 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 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 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"`

	// Zsrc string Sets the source reference on Chart Studio Cloud for  z .
	Zsrc String `json:"zsrc,omitempty"`
}

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.

func NewImage

func NewImage() *Image

func (*Image) GetType

func (this *Image) GetType() TraceType

type ImageColormodel

type ImageColormodel string

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`.

const (
	ImageColormodel_rgb     ImageColormodel = "rgb"
	ImageColormodel_rgba    ImageColormodel = "rgba"
	ImageColormodel_rgba256 ImageColormodel = "rgba256"
	ImageColormodel_hsl     ImageColormodel = "hsl"
	ImageColormodel_hsla    ImageColormodel = "hsla"
)

type ImageHoverinfo

type ImageHoverinfo string
const (
	// Flags
	ImageHoverinfoX     ImageHoverinfo = "x"
	ImageHoverinfoY     ImageHoverinfo = "y"
	ImageHoverinfoZ     ImageHoverinfo = "z"
	ImageHoverinfoColor ImageHoverinfo = "color"
	ImageHoverinfoName  ImageHoverinfo = "name"
	ImageHoverinfoText  ImageHoverinfo = "text"
	// Extras
	ImageHoverinfoAll  ImageHoverinfo = "all"
	ImageHoverinfoNone ImageHoverinfo = "none"
	ImageHoverinfoSkip ImageHoverinfo = "skip"
)

type ImageHoverlabel

type ImageHoverlabel struct {

	// Align 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 string Sets the source reference on Chart Studio Cloud for  align .
	Alignsrc String `json:"alignsrc,omitempty"`

	// Bgcolor color Sets the background color of the hover labels for this trace
	Bgcolor interface{} `json:"bgcolor,omitempty"`

	// Bgcolorsrc string Sets the source reference on Chart Studio Cloud for  bgcolor .
	Bgcolorsrc String `json:"bgcolorsrc,omitempty"`

	// Bordercolor color Sets the border color of the hover labels for this trace.
	Bordercolor interface{} `json:"bordercolor,omitempty"`

	// Bordercolorsrc string Sets the source reference on Chart Studio Cloud for  bordercolor .
	Bordercolorsrc String `json:"bordercolorsrc,omitempty"`

	// Font <no value> Sets the font used in hover labels.
	Font *ImageHoverlabelFont `json:"font,omitempty"`

	// Namelength 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 interface{} `json:"namelength,omitempty"`

	// Namelengthsrc string Sets the source reference on Chart Studio Cloud for  namelength .
	Namelengthsrc String `json:"namelengthsrc,omitempty"`
}

type ImageHoverlabelAlign

type ImageHoverlabelAlign string

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

const (
	ImageHoverlabelAlign_left  ImageHoverlabelAlign = "left"
	ImageHoverlabelAlign_right ImageHoverlabelAlign = "right"
	ImageHoverlabelAlign_auto  ImageHoverlabelAlign = "auto"
)

type ImageHoverlabelFont

type ImageHoverlabelFont struct {

	// Color color <no value>
	Color interface{} `json:"color,omitempty"`

	// Colorsrc string Sets the source reference on Chart Studio Cloud for  color .
	Colorsrc String `json:"colorsrc,omitempty"`

	// Family string HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.
	Family interface{} `json:"family,omitempty"`

	// Familysrc string Sets the source reference on Chart Studio Cloud for  family .
	Familysrc String `json:"familysrc,omitempty"`

	// Size number <no value>
	Size interface{} `json:"size,omitempty"`

	// Sizesrc string Sets the source reference on Chart Studio Cloud for  size .
	Sizesrc String `json:"sizesrc,omitempty"`
}

type ImageStream

type ImageStream struct {

	// Maxpoints 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 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"`
}

type ImageVisible

type ImageVisible interface{}

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).

var (
	ImageVisible_True       ImageVisible = true
	ImageVisible_False      ImageVisible = false
	ImageVisible_legendonly ImageVisible = "legendonly"
)

type Indicator

type Indicator struct {

	// Type is the type of the plot
	Type TraceType `json:"type,omitempty"`

	// Align 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 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 string Sets the source reference on Chart Studio Cloud for  customdata .
	Customdatasrc String `json:"customdatasrc,omitempty"`

	// Delta <no value> <no value>
	Delta *IndicatorDelta `json:"delta,omitempty"`

	// Domain <no value> <no value>
	Domain *IndicatorDomain `json:"domain,omitempty"`

	// Gauge <no value> The gauge of the Indicator plot.
	Gauge *IndicatorGauge `json:"gauge,omitempty"`

	// Ids 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 string Sets the source reference on Chart Studio Cloud for  ids .
	Idssrc String `json:"idssrc,omitempty"`

	// Meta 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 string Sets the source reference on Chart Studio Cloud for  meta .
	Metasrc String `json:"metasrc,omitempty"`

	// Mode 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 string Sets the trace name. The trace name appear as the legend item and on hover.
	Name String `json:"name,omitempty"`

	// Number <no value> <no value>
	Number *IndicatorNumber `json:"number,omitempty"`

	// Stream <no value> <no value>
	Stream *IndicatorStream `json:"stream,omitempty"`

	// Title <no value> <no value>
	Title *IndicatorTitle `json:"title,omitempty"`

	// Transforms <no value> <no value>
	Transforms IndicatorTransforms `json:"transforms,omitempty"`

	// Uid 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 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 number Sets the number to be displayed.
	Value float64 `json:"value,omitempty"`

	// Visible 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"`
}

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.

func NewIndicator

func NewIndicator() *Indicator

func (*Indicator) GetType

func (this *Indicator) GetType() TraceType

type IndicatorAlign

type IndicatorAlign string

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

const (
	IndicatorAlign_left   IndicatorAlign = "left"
	IndicatorAlign_center IndicatorAlign = "center"
	IndicatorAlign_right  IndicatorAlign = "right"
)

type IndicatorDelta

type IndicatorDelta struct {

	// Decreasing <no value> <no value>
	Decreasing *IndicatorDeltaDecreasing `json:"decreasing,omitempty"`

	// Font <no value> Set the font used to display the delta
	Font *IndicatorDeltaFont `json:"font,omitempty"`

	// Increasing <no value> <no value>
	Increasing *IndicatorDeltaIncreasing `json:"increasing,omitempty"`

	// Position enumerated Sets the position of delta with respect to the number.
	Position IndicatorDeltaPosition `json:"position,omitempty"`

	// Reference number Sets the reference value to compute the delta. By default, it is set to the current value.
	Reference float64 `json:"reference,omitempty"`

	// Relative boolean Show relative change
	Relative Bool `json:"relative,omitempty"`

	// Valueformat 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
	Valueformat String `json:"valueformat,omitempty"`
}

type IndicatorDeltaDecreasing

type IndicatorDeltaDecreasing struct {

	// Color color Sets the color for increasing value.
	Color String `json:"color,omitempty"`

	// Symbol string Sets the symbol to display for increasing value
	Symbol String `json:"symbol,omitempty"`
}

type IndicatorDeltaFont

type IndicatorDeltaFont struct {

	// Color color <no value>
	Color String `json:"color,omitempty"`

	// Family string HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.
	Family String `json:"family,omitempty"`

	// Size number <no value>
	Size float64 `json:"size,omitempty"`
}

type IndicatorDeltaIncreasing

type IndicatorDeltaIncreasing struct {

	// Color color Sets the color for increasing value.
	Color String `json:"color,omitempty"`

	// Symbol string Sets the symbol to display for increasing value
	Symbol String `json:"symbol,omitempty"`
}

type IndicatorDeltaPosition

type IndicatorDeltaPosition string

IndicatorDeltaPosition Sets the position of delta with respect to the number.

const (
	IndicatorDeltaPosition_top    IndicatorDeltaPosition = "top"
	IndicatorDeltaPosition_bottom IndicatorDeltaPosition = "bottom"
	IndicatorDeltaPosition_left   IndicatorDeltaPosition = "left"
	IndicatorDeltaPosition_right  IndicatorDeltaPosition = "right"
)

type IndicatorDomain

type IndicatorDomain struct {

	// Column 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 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 info_array Sets the horizontal domain of this indicator trace (in plot fraction).
	X interface{} `json:"x,omitempty"`

	// Y info_array Sets the vertical domain of this indicator trace (in plot fraction).
	Y interface{} `json:"y,omitempty"`
}

type IndicatorGauge

type IndicatorGauge struct {

	// Axis <no value> <no value>
	Axis *IndicatorGaugeAxis `json:"axis,omitempty"`

	// Bar <no value> Set the appearance of the gauge's value
	Bar *IndicatorGaugeBar `json:"bar,omitempty"`

	// Bgcolor color Sets the gauge background color.
	Bgcolor String `json:"bgcolor,omitempty"`

	// Bordercolor color Sets the color of the border enclosing the gauge.
	Bordercolor String `json:"bordercolor,omitempty"`

	// Borderwidth number Sets the width (in px) of the border enclosing the gauge.
	Borderwidth float64 `json:"borderwidth,omitempty"`

	// Shape enumerated Set the shape of the gauge
	Shape IndicatorGaugeShape `json:"shape,omitempty"`

	// Steps <no value> <no value>
	Steps IndicatorGaugeSteps `json:"steps,omitempty"`

	// Threshold <no value> <no value>
	Threshold *IndicatorGaugeThreshold `json:"threshold,omitempty"`
}

type IndicatorGaugeAxis

type IndicatorGaugeAxis struct {

	// Dtick 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<f>*, where `f` is a positive number, gives ticks linearly spaced in value (but not position). For example `tick0` = 0.1, `dtick` = *L0.5* will put ticks at 0.1, 0.6, 1.1, 1.6 etc. To show powers of 10 plus small digits between, use *D1* (all digits) or *D2* (only 2 and 5). `tick0` is ignored for *D1* and *D2*. If the axis `type` is *date*, then you must convert the time to milliseconds. For example, to set the interval between ticks to one day, set `dtick` to 86400000.0. *date* also has special values *M<n>* gives ticks spaced by a number of months. `n` must be a positive integer. To set ticks on the 15th of every third month, set `tick0` to *2000-01-15* and `dtick` to *M3*. To set ticks every 4 years, set `dtick` to *M48*
	Dtick interface{} `json:"dtick,omitempty"`

	// Exponentformat 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"`

	// Minexponent 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 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 info_array Sets the range of this axis.
	Range interface{} `json:"range,omitempty"`

	// Separatethousands boolean If "true", even 4-digit integers are separated
	Separatethousands Bool `json:"separatethousands,omitempty"`

	// Showexponent 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 boolean Determines whether or not the tick labels are drawn.
	Showticklabels Bool `json:"showticklabels,omitempty"`

	// Showtickprefix 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 enumerated Same as `showtickprefix` but for tick suffixes.
	Showticksuffix IndicatorGaugeAxisShowticksuffix `json:"showticksuffix,omitempty"`

	// Tick0 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<f>* (see `dtick` for more info). If the axis `type` is *date*, it should be a date string, like date data. If the axis `type` is *category*, it should be a number, using the scale where each category is assigned a serial number from zero in the order it appears.
	Tick0 interface{} `json:"tick0,omitempty"`

	// Tickangle 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 color Sets the tick color.
	Tickcolor String `json:"tickcolor,omitempty"`

	// Tickfont <no value> Sets the color bar's tick label font
	Tickfont *IndicatorGaugeAxisTickfont `json:"tickfont,omitempty"`

	// Tickformat 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*
	Tickformat String `json:"tickformat,omitempty"`

	// Tickformatstops <no value> <no value>
	Tickformatstops IndicatorGaugeAxisTickformatstops `json:"tickformatstops,omitempty"`

	// Ticklen number Sets the tick length (in px).
	Ticklen float64 `json:"ticklen,omitempty"`

	// Tickmode 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 string Sets a tick label prefix.
	Tickprefix String `json:"tickprefix,omitempty"`

	// Ticks 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 string Sets a tick label suffix.
	Ticksuffix String `json:"ticksuffix,omitempty"`

	// Ticktext 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 string Sets the source reference on Chart Studio Cloud for  ticktext .
	Ticktextsrc String `json:"ticktextsrc,omitempty"`

	// Tickvals 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 string Sets the source reference on Chart Studio Cloud for  tickvals .
	Tickvalssrc String `json:"tickvalssrc,omitempty"`

	// Tickwidth number Sets the tick width (in px).
	Tickwidth float64 `json:"tickwidth,omitempty"`

	// Visible 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"`
}

type IndicatorGaugeAxisExponentformat

type IndicatorGaugeAxisExponentformat string

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.

const (
	IndicatorGaugeAxisExponentformat_none  IndicatorGaugeAxisExponentformat = "none"
	IndicatorGaugeAxisExponentformat_e     IndicatorGaugeAxisExponentformat = "e"
	IndicatorGaugeAxisExponentformat_E     IndicatorGaugeAxisExponentformat = "E"
	IndicatorGaugeAxisExponentformat_power IndicatorGaugeAxisExponentformat = "power"
	IndicatorGaugeAxisExponentformat_SI    IndicatorGaugeAxisExponentformat = "SI"
	IndicatorGaugeAxisExponentformat_B     IndicatorGaugeAxisExponentformat = "B"
)

type IndicatorGaugeAxisShowexponent

type IndicatorGaugeAxisShowexponent string

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.

const (
	IndicatorGaugeAxisShowexponent_all   IndicatorGaugeAxisShowexponent = "all"
	IndicatorGaugeAxisShowexponent_first IndicatorGaugeAxisShowexponent = "first"
	IndicatorGaugeAxisShowexponent_last  IndicatorGaugeAxisShowexponent = "last"
	IndicatorGaugeAxisShowexponent_none  IndicatorGaugeAxisShowexponent = "none"
)

type IndicatorGaugeAxisShowtickprefix

type IndicatorGaugeAxisShowtickprefix string

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.

const (
	IndicatorGaugeAxisShowtickprefix_all   IndicatorGaugeAxisShowtickprefix = "all"
	IndicatorGaugeAxisShowtickprefix_first IndicatorGaugeAxisShowtickprefix = "first"
	IndicatorGaugeAxisShowtickprefix_last  IndicatorGaugeAxisShowtickprefix = "last"
	IndicatorGaugeAxisShowtickprefix_none  IndicatorGaugeAxisShowtickprefix = "none"
)

type IndicatorGaugeAxisShowticksuffix

type IndicatorGaugeAxisShowticksuffix string

IndicatorGaugeAxisShowticksuffix Same as `showtickprefix` but for tick suffixes.

const (
	IndicatorGaugeAxisShowticksuffix_all   IndicatorGaugeAxisShowticksuffix = "all"
	IndicatorGaugeAxisShowticksuffix_first IndicatorGaugeAxisShowticksuffix = "first"
	IndicatorGaugeAxisShowticksuffix_last  IndicatorGaugeAxisShowticksuffix = "last"
	IndicatorGaugeAxisShowticksuffix_none  IndicatorGaugeAxisShowticksuffix = "none"
)

type IndicatorGaugeAxisTickfont

type IndicatorGaugeAxisTickfont struct {

	// Color color <no value>
	Color String `json:"color,omitempty"`

	// Family string HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.
	Family String `json:"family,omitempty"`

	// Size number <no value>
	Size float64 `json:"size,omitempty"`
}

type IndicatorGaugeAxisTickformatstops

type IndicatorGaugeAxisTickformatstops interface{}

IndicatorGaugeAxisTickformatstops It's an items array and what goes inside it's... messy... check the docs Here is a hint to help you to define your own type tickformatstop

dtickrange
editType
enabled
name
role
templateitemname
value

type IndicatorGaugeAxisTickmode

type IndicatorGaugeAxisTickmode string

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).

const (
	IndicatorGaugeAxisTickmode_auto   IndicatorGaugeAxisTickmode = "auto"
	IndicatorGaugeAxisTickmode_linear IndicatorGaugeAxisTickmode = "linear"
	IndicatorGaugeAxisTickmode_array  IndicatorGaugeAxisTickmode = "array"
)

type IndicatorGaugeAxisTicks

type IndicatorGaugeAxisTicks string

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.

const (
	IndicatorGaugeAxisTicks_outside IndicatorGaugeAxisTicks = "outside"
	IndicatorGaugeAxisTicks_inside  IndicatorGaugeAxisTicks = "inside"
)

type IndicatorGaugeBar

type IndicatorGaugeBar struct {

	// Color color Sets the background color of the arc.
	Color String `json:"color,omitempty"`

	// Line <no value> <no value>
	Line *IndicatorGaugeBarLine `json:"line,omitempty"`

	// Thickness number Sets the thickness of the bar as a fraction of the total thickness of the gauge.
	Thickness float64 `json:"thickness,omitempty"`
}

type IndicatorGaugeBarLine

type IndicatorGaugeBarLine struct {

	// Color color Sets the color of the line enclosing each sector.
	Color String `json:"color,omitempty"`

	// Width number Sets the width (in px) of the line enclosing each sector.
	Width float64 `json:"width,omitempty"`
}

type IndicatorGaugeShape

type IndicatorGaugeShape string

IndicatorGaugeShape Set the shape of the gauge

const (
	IndicatorGaugeShape_angular IndicatorGaugeShape = "angular"
	IndicatorGaugeShape_bullet  IndicatorGaugeShape = "bullet"
)

type IndicatorGaugeSteps

type IndicatorGaugeSteps interface{}

IndicatorGaugeSteps It's an items array and what goes inside it's... messy... check the docs Here is a hint to help you to define your own type step

color
editType
line
name
range
role
templateitemname
thickness

type IndicatorGaugeThreshold

type IndicatorGaugeThreshold struct {

	// Line <no value> <no value>
	Line *IndicatorGaugeThresholdLine `json:"line,omitempty"`

	// Thickness number Sets the thickness of the threshold line as a fraction of the thickness of the gauge.
	Thickness float64 `json:"thickness,omitempty"`

	// Value number Sets a treshold value drawn as a line.
	Value float64 `json:"value,omitempty"`
}

type IndicatorGaugeThresholdLine

type IndicatorGaugeThresholdLine struct {

	// Color color Sets the color of the threshold line.
	Color String `json:"color,omitempty"`

	// Width number Sets the width (in px) of the threshold line.
	Width float64 `json:"width,omitempty"`
}

type IndicatorMode

type IndicatorMode string
const (
	// Flags
	IndicatorModeNumber IndicatorMode = "number"
	IndicatorModeDelta  IndicatorMode = "delta"
	IndicatorModeGauge  IndicatorMode = "gauge"
)

type IndicatorNumber

type IndicatorNumber struct {

	// Font <no value> Set the font used to display main number
	Font *IndicatorNumberFont `json:"font,omitempty"`

	// Prefix string Sets a prefix appearing before the number.
	Prefix String `json:"prefix,omitempty"`

	// Suffix string Sets a suffix appearing next to the number.
	Suffix String `json:"suffix,omitempty"`

	// Valueformat 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
	Valueformat String `json:"valueformat,omitempty"`
}

type IndicatorNumberFont

type IndicatorNumberFont struct {

	// Color color <no value>
	Color String `json:"color,omitempty"`

	// Family string HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.
	Family String `json:"family,omitempty"`

	// Size number <no value>
	Size float64 `json:"size,omitempty"`
}

type IndicatorStream

type IndicatorStream struct {

	// Maxpoints 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 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"`
}

type IndicatorTitle

type IndicatorTitle struct {

	// Align 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 <no value> Set the font used to display the title
	Font *IndicatorTitleFont `json:"font,omitempty"`

	// Text string Sets the title of this indicator.
	Text String `json:"text,omitempty"`
}

type IndicatorTitleAlign

type IndicatorTitleAlign string

IndicatorTitleAlign Sets the horizontal alignment of the title. It defaults to `center` except for bullet charts for which it defaults to right.

const (
	IndicatorTitleAlign_left   IndicatorTitleAlign = "left"
	IndicatorTitleAlign_center IndicatorTitleAlign = "center"
	IndicatorTitleAlign_right  IndicatorTitleAlign = "right"
)

type IndicatorTitleFont

type IndicatorTitleFont struct {

	// Color color <no value>
	Color String `json:"color,omitempty"`

	// Family string HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.
	Family String `json:"family,omitempty"`

	// Size number <no value>
	Size float64 `json:"size,omitempty"`
}

type IndicatorTransforms

type IndicatorTransforms interface{}

IndicatorTransforms It's an items array and what goes inside it's... messy... check the docs Here is a hint to help you to define your own type transform

description
editType
role

type IndicatorVisible

type IndicatorVisible interface{}

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).

var (
	IndicatorVisible_True       IndicatorVisible = true
	IndicatorVisible_False      IndicatorVisible = false
	IndicatorVisible_legendonly IndicatorVisible = "legendonly"
)

type Isosurface

type Isosurface struct {

	// Type is the type of the plot
	Type TraceType `json:"type,omitempty"`

	// Autocolorscale 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 <no value> <no value>
	Caps *IsosurfaceCaps `json:"caps,omitempty"`

	// Cauto 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 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 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 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 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 <no value> <no value>
	Colorbar *IsosurfaceColorbar `json:"colorbar,omitempty"`

	// Contour <no value> <no value>
	Contour *IsosurfaceContour `json:"contour,omitempty"`

	// Customdata 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 string Sets the source reference on Chart Studio Cloud for  customdata .
	Customdatasrc String `json:"customdatasrc,omitempty"`

	// Flatshading 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 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 string Sets the source reference on Chart Studio Cloud for  hoverinfo .
	Hoverinfosrc String `json:"hoverinfosrc,omitempty"`

	// Hoverlabel <no value> <no value>
	Hoverlabel *IsosurfaceHoverlabel `json:"hoverlabel,omitempty"`

	// Hovertemplate 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 `<extra>` is displayed in the secondary box, for example "<extra>{fullData.name}</extra>". To hide the secondary box completely, use an empty tag `<extra></extra>`.
	Hovertemplate interface{} `json:"hovertemplate,omitempty"`

	// Hovertemplatesrc string Sets the source reference on Chart Studio Cloud for  hovertemplate .
	Hovertemplatesrc String `json:"hovertemplatesrc,omitempty"`

	// Hovertext string Same as `text`.
	Hovertext interface{} `json:"hovertext,omitempty"`

	// Hovertextsrc string Sets the source reference on Chart Studio Cloud for  hovertext .
	Hovertextsrc String `json:"hovertextsrc,omitempty"`

	// Ids 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 string Sets the source reference on Chart Studio Cloud for  ids .
	Idssrc String `json:"idssrc,omitempty"`

	// Isomax number Sets the maximum boundary for iso-surface plot.
	Isomax float64 `json:"isomax,omitempty"`

	// Isomin number Sets the minimum boundary for iso-surface plot.
	Isomin float64 `json:"isomin,omitempty"`

	// Legendgroup 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"`

	// Lighting <no value> <no value>
	Lighting *IsosurfaceLighting `json:"lighting,omitempty"`

	// Lightposition <no value> <no value>
	Lightposition *IsosurfaceLightposition `json:"lightposition,omitempty"`

	// Meta 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 string Sets the source reference on Chart Studio Cloud for  meta .
	Metasrc String `json:"metasrc,omitempty"`

	// Name string Sets the trace name. The trace name appear as the legend item and on hover.
	Name String `json:"name,omitempty"`

	// Opacity 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 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 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 boolean Determines whether or not an item corresponding to this trace is shown in the legend.
	Showlegend Bool `json:"showlegend,omitempty"`

	// Showscale boolean Determines whether or not a colorbar is displayed for this trace.
	Showscale Bool `json:"showscale,omitempty"`

	// Slices <no value> <no value>
	Slices *IsosurfaceSlices `json:"slices,omitempty"`

	// Spaceframe <no value> <no value>
	Spaceframe *IsosurfaceSpaceframe `json:"spaceframe,omitempty"`

	// Stream <no value> <no value>
	Stream *IsosurfaceStream `json:"stream,omitempty"`

	// Surface <no value> <no value>
	Surface *IsosurfaceSurface `json:"surface,omitempty"`

	// Text 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 interface{} `json:"text,omitempty"`

	// Textsrc string Sets the source reference on Chart Studio Cloud for  text .
	Textsrc String `json:"textsrc,omitempty"`

	// Uid 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 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 data_array Sets the 4th dimension (value) of the vertices.
	Value interface{} `json:"value,omitempty"`

	// Valuesrc string Sets the source reference on Chart Studio Cloud for  value .
	Valuesrc String `json:"valuesrc,omitempty"`

	// Visible 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 data_array Sets the X coordinates of the vertices on X axis.
	X interface{} `json:"x,omitempty"`

	// Xsrc string Sets the source reference on Chart Studio Cloud for  x .
	Xsrc String `json:"xsrc,omitempty"`

	// Y data_array Sets the Y coordinates of the vertices on Y axis.
	Y interface{} `json:"y,omitempty"`

	// Ysrc string Sets the source reference on Chart Studio Cloud for  y .
	Ysrc String `json:"ysrc,omitempty"`

	// Z data_array Sets the Z coordinates of the vertices on Z axis.
	Z interface{} `json:"z,omitempty"`

	// Zsrc string Sets the source reference on Chart Studio Cloud for  z .
	Zsrc String `json:"zsrc,omitempty"`
}

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.

func NewIsosurface

func NewIsosurface() *Isosurface

func (*Isosurface) GetType

func (this *Isosurface) GetType() TraceType

type IsosurfaceCaps

type IsosurfaceCaps struct {

	// X <no value> <no value>
	X *IsosurfaceCapsX `json:"x,omitempty"`

	// Y <no value> <no value>
	Y *IsosurfaceCapsY `json:"y,omitempty"`

	// Z <no value> <no value>
	Z *IsosurfaceCapsZ `json:"z,omitempty"`
}

type IsosurfaceCapsX

type IsosurfaceCapsX struct {

	// Fill 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 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"`
}

type IsosurfaceCapsY

type IsosurfaceCapsY struct {

	// Fill 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 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"`
}

type IsosurfaceCapsZ

type IsosurfaceCapsZ struct {

	// Fill 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 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"`
}

type IsosurfaceColorbar

type IsosurfaceColorbar struct {

	// Bgcolor color Sets the color of padded area.
	Bgcolor String `json:"bgcolor,omitempty"`

	// Bordercolor color Sets the axis line color.
	Bordercolor String `json:"bordercolor,omitempty"`

	// Borderwidth number Sets the width (in px) or the border enclosing this color bar.
	Borderwidth float64 `json:"borderwidth,omitempty"`

	// Dtick 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<f>*, where `f` is a positive number, gives ticks linearly spaced in value (but not position). For example `tick0` = 0.1, `dtick` = *L0.5* will put ticks at 0.1, 0.6, 1.1, 1.6 etc. To show powers of 10 plus small digits between, use *D1* (all digits) or *D2* (only 2 and 5). `tick0` is ignored for *D1* and *D2*. If the axis `type` is *date*, then you must convert the time to milliseconds. For example, to set the interval between ticks to one day, set `dtick` to 86400000.0. *date* also has special values *M<n>* gives ticks spaced by a number of months. `n` must be a positive integer. To set ticks on the 15th of every third month, set `tick0` to *2000-01-15* and `dtick` to *M3*. To set ticks every 4 years, set `dtick` to *M48*
	Dtick interface{} `json:"dtick,omitempty"`

	// Exponentformat 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"`

	// Len 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 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 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 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"`

	// Outlinecolor color Sets the axis line color.
	Outlinecolor String `json:"outlinecolor,omitempty"`

	// Outlinewidth number Sets the width (in px) of the axis line.
	Outlinewidth float64 `json:"outlinewidth,omitempty"`

	// Separatethousands boolean If "true", even 4-digit integers are separated
	Separatethousands Bool `json:"separatethousands,omitempty"`

	// Showexponent 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 boolean Determines whether or not the tick labels are drawn.
	Showticklabels Bool `json:"showticklabels,omitempty"`

	// Showtickprefix 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 enumerated Same as `showtickprefix` but for tick suffixes.
	Showticksuffix IsosurfaceColorbarShowticksuffix `json:"showticksuffix,omitempty"`

	// Thickness 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 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 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<f>* (see `dtick` for more info). If the axis `type` is *date*, it should be a date string, like date data. If the axis `type` is *category*, it should be a number, using the scale where each category is assigned a serial number from zero in the order it appears.
	Tick0 interface{} `json:"tick0,omitempty"`

	// Tickangle 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 color Sets the tick color.
	Tickcolor String `json:"tickcolor,omitempty"`

	// Tickfont <no value> Sets the color bar's tick label font
	Tickfont *IsosurfaceColorbarTickfont `json:"tickfont,omitempty"`

	// Tickformat 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*
	Tickformat String `json:"tickformat,omitempty"`

	// Tickformatstops <no value> <no value>
	Tickformatstops IsosurfaceColorbarTickformatstops `json:"tickformatstops,omitempty"`

	// Ticklabelposition enumerated Determines where tick labels are drawn.
	Ticklabelposition IsosurfaceColorbarTicklabelposition `json:"ticklabelposition,omitempty"`

	// Ticklen number Sets the tick length (in px).
	Ticklen float64 `json:"ticklen,omitempty"`

	// Tickmode 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 string Sets a tick label prefix.
	Tickprefix String `json:"tickprefix,omitempty"`

	// Ticks 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 string Sets a tick label suffix.
	Ticksuffix String `json:"ticksuffix,omitempty"`

	// Ticktext 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 string Sets the source reference on Chart Studio Cloud for  ticktext .
	Ticktextsrc String `json:"ticktextsrc,omitempty"`

	// Tickvals 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 string Sets the source reference on Chart Studio Cloud for  tickvals .
	Tickvalssrc String `json:"tickvalssrc,omitempty"`

	// Tickwidth number Sets the tick width (in px).
	Tickwidth float64 `json:"tickwidth,omitempty"`

	// Title <no value> <no value>
	Title *IsosurfaceColorbarTitle `json:"title,omitempty"`

	// X number Sets the x position of the color bar (in plot fraction).
	X float64 `json:"x,omitempty"`

	// Xanchor 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.
	Xanchor IsosurfaceColorbarXanchor `json:"xanchor,omitempty"`

	// Xpad number Sets the amount of padding (in px) along the x direction.
	Xpad float64 `json:"xpad,omitempty"`

	// Y number Sets the y position of the color bar (in plot fraction).
	Y float64 `json:"y,omitempty"`

	// Yanchor 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.
	Yanchor IsosurfaceColorbarYanchor `json:"yanchor,omitempty"`

	// Ypad number Sets the amount of padding (in px) along the y direction.
	Ypad float64 `json:"ypad,omitempty"`
}

type IsosurfaceColorbarExponentformat

type IsosurfaceColorbarExponentformat string

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.

const (
	IsosurfaceColorbarExponentformat_none  IsosurfaceColorbarExponentformat = "none"
	IsosurfaceColorbarExponentformat_e     IsosurfaceColorbarExponentformat = "e"
	IsosurfaceColorbarExponentformat_E     IsosurfaceColorbarExponentformat = "E"
	IsosurfaceColorbarExponentformat_power IsosurfaceColorbarExponentformat = "power"
	IsosurfaceColorbarExponentformat_SI    IsosurfaceColorbarExponentformat = "SI"
	IsosurfaceColorbarExponentformat_B     IsosurfaceColorbarExponentformat = "B"
)

type IsosurfaceColorbarLenmode

type IsosurfaceColorbarLenmode string

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.

const (
	IsosurfaceColorbarLenmode_fraction IsosurfaceColorbarLenmode = "fraction"
	IsosurfaceColorbarLenmode_pixels   IsosurfaceColorbarLenmode = "pixels"
)

type IsosurfaceColorbarShowexponent

type IsosurfaceColorbarShowexponent string

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.

const (
	IsosurfaceColorbarShowexponent_all   IsosurfaceColorbarShowexponent = "all"
	IsosurfaceColorbarShowexponent_first IsosurfaceColorbarShowexponent = "first"
	IsosurfaceColorbarShowexponent_last  IsosurfaceColorbarShowexponent = "last"
	IsosurfaceColorbarShowexponent_none  IsosurfaceColorbarShowexponent = "none"
)

type IsosurfaceColorbarShowtickprefix

type IsosurfaceColorbarShowtickprefix string

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.

const (
	IsosurfaceColorbarShowtickprefix_all   IsosurfaceColorbarShowtickprefix = "all"
	IsosurfaceColorbarShowtickprefix_first IsosurfaceColorbarShowtickprefix = "first"
	IsosurfaceColorbarShowtickprefix_last  IsosurfaceColorbarShowtickprefix = "last"
	IsosurfaceColorbarShowtickprefix_none  IsosurfaceColorbarShowtickprefix = "none"
)

type IsosurfaceColorbarShowticksuffix

type IsosurfaceColorbarShowticksuffix string

IsosurfaceColorbarShowticksuffix Same as `showtickprefix` but for tick suffixes.

const (
	IsosurfaceColorbarShowticksuffix_all   IsosurfaceColorbarShowticksuffix = "all"
	IsosurfaceColorbarShowticksuffix_first IsosurfaceColorbarShowticksuffix = "first"
	IsosurfaceColorbarShowticksuffix_last  IsosurfaceColorbarShowticksuffix = "last"
	IsosurfaceColorbarShowticksuffix_none  IsosurfaceColorbarShowticksuffix = "none"
)

type IsosurfaceColorbarThicknessmode

type IsosurfaceColorbarThicknessmode string

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.

const (
	IsosurfaceColorbarThicknessmode_fraction IsosurfaceColorbarThicknessmode = "fraction"
	IsosurfaceColorbarThicknessmode_pixels   IsosurfaceColorbarThicknessmode = "pixels"
)

type IsosurfaceColorbarTickfont

type IsosurfaceColorbarTickfont struct {

	// Color color <no value>
	Color String `json:"color,omitempty"`

	// Family string HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.
	Family String `json:"family,omitempty"`

	// Size number <no value>
	Size float64 `json:"size,omitempty"`
}

type IsosurfaceColorbarTickformatstops

type IsosurfaceColorbarTickformatstops interface{}

IsosurfaceColorbarTickformatstops It's an items array and what goes inside it's... messy... check the docs Here is a hint to help you to define your own type tickformatstop

dtickrange
editType
enabled
name
role
templateitemname
value

type IsosurfaceColorbarTicklabelposition

type IsosurfaceColorbarTicklabelposition string

IsosurfaceColorbarTicklabelposition Determines where tick labels are drawn.

const (
	IsosurfaceColorbarTicklabelposition_outside       IsosurfaceColorbarTicklabelposition = "outside"
	IsosurfaceColorbarTicklabelposition_inside        IsosurfaceColorbarTicklabelposition = "inside"
	IsosurfaceColorbarTicklabelposition_outsidetop    IsosurfaceColorbarTicklabelposition = "outside top"
	IsosurfaceColorbarTicklabelposition_insidetop     IsosurfaceColorbarTicklabelposition = "inside top"
	IsosurfaceColorbarTicklabelposition_outsidebottom IsosurfaceColorbarTicklabelposition = "outside bottom"
	IsosurfaceColorbarTicklabelposition_insidebottom  IsosurfaceColorbarTicklabelposition = "inside bottom"
)

type IsosurfaceColorbarTickmode

type IsosurfaceColorbarTickmode string

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).

const (
	IsosurfaceColorbarTickmode_auto   IsosurfaceColorbarTickmode = "auto"
	IsosurfaceColorbarTickmode_linear IsosurfaceColorbarTickmode = "linear"
	IsosurfaceColorbarTickmode_array  IsosurfaceColorbarTickmode = "array"
)

type IsosurfaceColorbarTicks

type IsosurfaceColorbarTicks string

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.

const (
	IsosurfaceColorbarTicks_outside IsosurfaceColorbarTicks = "outside"
	IsosurfaceColorbarTicks_inside  IsosurfaceColorbarTicks = "inside"
)

type IsosurfaceColorbarTitle

type IsosurfaceColorbarTitle struct {

	// Font <no value> Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.
	Font *IsosurfaceColorbarTitleFont `json:"font,omitempty"`

	// Side 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.
	Side IsosurfaceColorbarTitleSide `json:"side,omitempty"`

	// Text 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"`
}

type IsosurfaceColorbarTitleFont

type IsosurfaceColorbarTitleFont struct {

	// Color color <no value>
	Color String `json:"color,omitempty"`

	// Family string HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.
	Family String `json:"family,omitempty"`

	// Size number <no value>
	Size float64 `json:"size,omitempty"`
}

type IsosurfaceColorbarTitleSide

type IsosurfaceColorbarTitleSide string

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.

const (
	IsosurfaceColorbarTitleSide_right  IsosurfaceColorbarTitleSide = "right"
	IsosurfaceColorbarTitleSide_top    IsosurfaceColorbarTitleSide = "top"
	IsosurfaceColorbarTitleSide_bottom IsosurfaceColorbarTitleSide = "bottom"
)

type IsosurfaceColorbarXanchor

type IsosurfaceColorbarXanchor string

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.

const (
	IsosurfaceColorbarXanchor_left   IsosurfaceColorbarXanchor = "left"
	IsosurfaceColorbarXanchor_center IsosurfaceColorbarXanchor = "center"
	IsosurfaceColorbarXanchor_right  IsosurfaceColorbarXanchor = "right"
)

type IsosurfaceColorbarYanchor

type IsosurfaceColorbarYanchor string

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.

const (
	IsosurfaceColorbarYanchor_top    IsosurfaceColorbarYanchor = "top"
	IsosurfaceColorbarYanchor_middle IsosurfaceColorbarYanchor = "middle"
	IsosurfaceColorbarYanchor_bottom IsosurfaceColorbarYanchor = "bottom"
)

type IsosurfaceContour

type IsosurfaceContour struct {

	// Color color Sets the color of the contour lines.
	Color String `json:"color,omitempty"`

	// Show boolean Sets whether or not dynamic contours are shown on hover
	Show Bool `json:"show,omitempty"`

	// Width number Sets the width of the contour lines.
	Width float64 `json:"width,omitempty"`
}

type IsosurfaceHoverinfo

type IsosurfaceHoverinfo string
const (
	// Flags
	IsosurfaceHoverinfoX    IsosurfaceHoverinfo = "x"
	IsosurfaceHoverinfoY    IsosurfaceHoverinfo = "y"
	IsosurfaceHoverinfoZ    IsosurfaceHoverinfo = "z"
	IsosurfaceHoverinfoText IsosurfaceHoverinfo = "text"
	IsosurfaceHoverinfoName IsosurfaceHoverinfo = "name"
	// Extras
	IsosurfaceHoverinfoAll  IsosurfaceHoverinfo = "all"
	IsosurfaceHoverinfoNone IsosurfaceHoverinfo = "none"
	IsosurfaceHoverinfoSkip IsosurfaceHoverinfo = "skip"
)

type IsosurfaceHoverlabel

type IsosurfaceHoverlabel struct {

	// Align 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 string Sets the source reference on Chart Studio Cloud for  align .
	Alignsrc String `json:"alignsrc,omitempty"`

	// Bgcolor color Sets the background color of the hover labels for this trace
	Bgcolor interface{} `json:"bgcolor,omitempty"`

	// Bgcolorsrc string Sets the source reference on Chart Studio Cloud for  bgcolor .
	Bgcolorsrc String `json:"bgcolorsrc,omitempty"`

	// Bordercolor color Sets the border color of the hover labels for this trace.
	Bordercolor interface{} `json:"bordercolor,omitempty"`

	// Bordercolorsrc string Sets the source reference on Chart Studio Cloud for  bordercolor .
	Bordercolorsrc String `json:"bordercolorsrc,omitempty"`

	// Font <no value> Sets the font used in hover labels.
	Font *IsosurfaceHoverlabelFont `json:"font,omitempty"`

	// Namelength 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 interface{} `json:"namelength,omitempty"`

	// Namelengthsrc string Sets the source reference on Chart Studio Cloud for  namelength .
	Namelengthsrc String `json:"namelengthsrc,omitempty"`
}

type IsosurfaceHoverlabelAlign

type IsosurfaceHoverlabelAlign string

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

const (
	IsosurfaceHoverlabelAlign_left  IsosurfaceHoverlabelAlign = "left"
	IsosurfaceHoverlabelAlign_right IsosurfaceHoverlabelAlign = "right"
	IsosurfaceHoverlabelAlign_auto  IsosurfaceHoverlabelAlign = "auto"
)

type IsosurfaceHoverlabelFont

type IsosurfaceHoverlabelFont struct {

	// Color color <no value>
	Color interface{} `json:"color,omitempty"`

	// Colorsrc string Sets the source reference on Chart Studio Cloud for  color .
	Colorsrc String `json:"colorsrc,omitempty"`

	// Family string HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.
	Family interface{} `json:"family,omitempty"`

	// Familysrc string Sets the source reference on Chart Studio Cloud for  family .
	Familysrc String `json:"familysrc,omitempty"`

	// Size number <no value>
	Size interface{} `json:"size,omitempty"`

	// Sizesrc string Sets the source reference on Chart Studio Cloud for  size .
	Sizesrc String `json:"sizesrc,omitempty"`
}

type IsosurfaceLighting

type IsosurfaceLighting struct {

	// Ambient number Ambient light increases overall color visibility but can wash out the image.
	Ambient float64 `json:"ambient,omitempty"`

	// Diffuse number Represents the extent that incident rays are reflected in a range of angles.
	Diffuse float64 `json:"diffuse,omitempty"`

	// Facenormalsepsilon number Epsilon for face normals calculation avoids math issues arising from degenerate geometry.
	Facenormalsepsilon float64 `json:"facenormalsepsilon,omitempty"`

	// Fresnel 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 number Alters specular reflection; the rougher the surface, the wider and less contrasty the shine.
	Roughness float64 `json:"roughness,omitempty"`

	// Specular number Represents the level that incident rays are reflected in a single direction, causing shine.
	Specular float64 `json:"specular,omitempty"`

	// Vertexnormalsepsilon number Epsilon for vertex normals calculation avoids math issues arising from degenerate geometry.
	Vertexnormalsepsilon float64 `json:"vertexnormalsepsilon,omitempty"`
}

type IsosurfaceLightposition

type IsosurfaceLightposition struct {

	// X number Numeric vector, representing the X coordinate for each vertex.
	X float64 `json:"x,omitempty"`

	// Y number Numeric vector, representing the Y coordinate for each vertex.
	Y float64 `json:"y,omitempty"`

	// Z number Numeric vector, representing the Z coordinate for each vertex.
	Z float64 `json:"z,omitempty"`
}

type IsosurfaceSlices

type IsosurfaceSlices struct {

	// X <no value> <no value>
	X *IsosurfaceSlicesX `json:"x,omitempty"`

	// Y <no value> <no value>
	Y *IsosurfaceSlicesY `json:"y,omitempty"`

	// Z <no value> <no value>
	Z *IsosurfaceSlicesZ `json:"z,omitempty"`
}

type IsosurfaceSlicesX

type IsosurfaceSlicesX struct {

	// Fill 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 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 string Sets the source reference on Chart Studio Cloud for  locations .
	Locationssrc String `json:"locationssrc,omitempty"`

	// Show boolean Determines whether or not slice planes about the x dimension are drawn.
	Show Bool `json:"show,omitempty"`
}

type IsosurfaceSlicesY

type IsosurfaceSlicesY struct {

	// Fill 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 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 string Sets the source reference on Chart Studio Cloud for  locations .
	Locationssrc String `json:"locationssrc,omitempty"`

	// Show boolean Determines whether or not slice planes about the y dimension are drawn.
	Show Bool `json:"show,omitempty"`
}

type IsosurfaceSlicesZ

type IsosurfaceSlicesZ struct {

	// Fill 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 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 string Sets the source reference on Chart Studio Cloud for  locations .
	Locationssrc String `json:"locationssrc,omitempty"`

	// Show boolean Determines whether or not slice planes about the z dimension are drawn.
	Show Bool `json:"show,omitempty"`
}

type IsosurfaceSpaceframe

type IsosurfaceSpaceframe struct {

	// Fill 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 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"`
}

type IsosurfaceStream

type IsosurfaceStream struct {

	// Maxpoints 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 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"`
}

type IsosurfaceSurface

type IsosurfaceSurface struct {

	// Count 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 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 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 boolean Hides/displays surfaces between minimum and maximum iso-values.
	Show Bool `json:"show,omitempty"`
}

type IsosurfaceSurfacePattern

type IsosurfaceSurfacePattern string
const (
	// Flags
	IsosurfaceSurfacePatternA IsosurfaceSurfacePattern = "A"
	IsosurfaceSurfacePatternB IsosurfaceSurfacePattern = "B"
	IsosurfaceSurfacePatternC IsosurfaceSurfacePattern = "C"
	IsosurfaceSurfacePatternD IsosurfaceSurfacePattern = "D"
	IsosurfaceSurfacePatternE IsosurfaceSurfacePattern = "E"
	// Extras
	IsosurfaceSurfacePatternAll  IsosurfaceSurfacePattern = "all"
	IsosurfaceSurfacePatternOdd  IsosurfaceSurfacePattern = "odd"
	IsosurfaceSurfacePatternEven IsosurfaceSurfacePattern = "even"
)

type IsosurfaceVisible

type IsosurfaceVisible interface{}

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).

var (
	IsosurfaceVisible_True       IsosurfaceVisible = true
	IsosurfaceVisible_False      IsosurfaceVisible = false
	IsosurfaceVisible_legendonly IsosurfaceVisible = "legendonly"
)

type Layout

type Layout struct {

	// Activeshape <no value> <no value>
	Activeshape *LayoutActiveshape `json:"activeshape,omitempty"`

	// Angularaxis <no value> <no value>
	Angularaxis *LayoutAngularaxis `json:"angularaxis,omitempty"`

	// Annotations <no value> <no value>
	Annotations LayoutAnnotations `json:"annotations,omitempty"`

	// Autosize 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 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"`

	// Bargap number Sets the gap (in plot fraction) between bars of adjacent location coordinates.
	Bargap float64 `json:"bargap,omitempty"`

	// Bargroupgap number Sets the gap (in plot fraction) between bars of the same location coordinate.
	Bargroupgap float64 `json:"bargroupgap,omitempty"`

	// Barmode 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.
	Barmode LayoutBarmode `json:"barmode,omitempty"`

	// Barnorm 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 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 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 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 enumerated Sets the default calendar system to use for interpreting and displaying dates throughout the plot.
	Calendar LayoutCalendar `json:"calendar,omitempty"`

	// Clickmode 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 <no value>
	Coloraxis *LayoutColoraxis `json:"coloraxis,omitempty"`

	// Colorscale <no value> <no value>
	Colorscale *LayoutColorscale `json:"colorscale,omitempty"`

	// Computed 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 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"`

	// Direction 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 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 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 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"`

	// Extendpiecolors 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 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 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 <no value> Sets the global font. Note that fonts used in traces and other layout components inherit from the global font.
	Font *LayoutFont `json:"font,omitempty"`

	// Funnelgap number Sets the gap (in plot fraction) between bars of adjacent location coordinates.
	Funnelgap float64 `json:"funnelgap,omitempty"`

	// Funnelgroupgap number Sets the gap (in plot fraction) between bars of the same location coordinate.
	Funnelgroupgap float64 `json:"funnelgroupgap,omitempty"`

	// Funnelmode 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.
	Funnelmode LayoutFunnelmode `json:"funnelmode,omitempty"`

	// Geo <no value> <no value>
	Geo *LayoutGeo `json:"geo,omitempty"`

	// Grid <no value> <no value>
	Grid *LayoutGrid `json:"grid,omitempty"`

	// Height number Sets the plot's height (in px).
	Height float64 `json:"height,omitempty"`

	// Hiddenlabels 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 string Sets the source reference on Chart Studio Cloud for  hiddenlabels .
	Hiddenlabelssrc String `json:"hiddenlabelssrc,omitempty"`

	// Hidesources 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 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 <no value> <no value>
	Hoverlabel *LayoutHoverlabel `json:"hoverlabel,omitempty"`

	// Hovermode 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*.
	Hovermode LayoutHovermode `json:"hovermode,omitempty"`

	// Images <no value> <no value>
	Images LayoutImages `json:"images,omitempty"`

	// Legend <no value> <no value>
	Legend *LayoutLegend `json:"legend,omitempty"`

	// Mapbox <no value> <no value>
	Mapbox *LayoutMapbox `json:"mapbox,omitempty"`

	// Margin <no value> <no value>
	Margin *LayoutMargin `json:"margin,omitempty"`

	// Meta 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 string Sets the source reference on Chart Studio Cloud for  meta .
	Metasrc String `json:"metasrc,omitempty"`

	// Modebar <no value> <no value>
	Modebar *LayoutModebar `json:"modebar,omitempty"`

	// Newshape <no value> <no value>
	Newshape *LayoutNewshape `json:"newshape,omitempty"`

	// Orientation 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"`

	// Paper_bgcolor color Sets the background color of the paper where the graph is drawn.
	Paper_bgcolor String `json:"paper_bgcolor,omitempty"`

	// Plot_bgcolor color Sets the background color of the plotting area in-between x and y axes.
	Plot_bgcolor String `json:"plot_bgcolor,omitempty"`

	// Polar <no value> <no value>
	Polar *LayoutPolar `json:"polar,omitempty"`

	// Radialaxis <no value> <no value>
	Radialaxis *LayoutRadialaxis `json:"radialaxis,omitempty"`

	// Scene <no value> <no value>
	Scene *LayoutScene `json:"scene,omitempty"`

	// Selectdirection 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 any Controls persistence of user-driven changes in selected points from all traces.
	Selectionrevision interface{} `json:"selectionrevision,omitempty"`

	// Separators 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 <no value> <no value>
	Shapes LayoutShapes `json:"shapes,omitempty"`

	// Showlegend 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 <no value> <no value>
	Sliders LayoutSliders `json:"sliders,omitempty"`

	// Spikedistance 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"`

	// Template 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 <no value> <no value>
	Ternary *LayoutTernary `json:"ternary,omitempty"`

	// Title <no value> <no value>
	Title *LayoutTitle `json:"title,omitempty"`

	// Transition <no value> Sets transition options used during Plotly.react updates.
	Transition *LayoutTransition `json:"transition,omitempty"`

	// Uirevision 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 <no value> <no value>
	Uniformtext *LayoutUniformtext `json:"uniformtext,omitempty"`

	// Updatemenus <no value> <no value>
	Updatemenus LayoutUpdatemenus `json:"updatemenus,omitempty"`

	// Violingap 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 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 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 number Sets the gap (in plot fraction) between bars of adjacent location coordinates.
	Waterfallgap float64 `json:"waterfallgap,omitempty"`

	// Waterfallgroupgap number Sets the gap (in plot fraction) between bars of the same location coordinate.
	Waterfallgroupgap float64 `json:"waterfallgroupgap,omitempty"`

	// Waterfallmode 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.
	Waterfallmode LayoutWaterfallmode `json:"waterfallmode,omitempty"`

	// Width number Sets the plot's width (in px).
	Width float64 `json:"width,omitempty"`

	// Xaxis <no value> <no value>
	Xaxis *LayoutXaxis `json:"xaxis,omitempty"`

	// Yaxis <no value> <no value>
	Yaxis *LayoutYaxis `json:"yaxis,omitempty"`

	// Exceptional hardcoded cases due to schema limitation
	// Xaxis2 see Xaxis prop
	Xaxis2 *LayoutXaxis `json:"xaxis2,omitempty"`
	// Yaxis2 see Yaxis prop
	Yaxis2 *LayoutYaxis `json:"yaxis2,omitempty"`

	// Xaxis3 see Xaxis prop
	Xaxis3 *LayoutXaxis `json:"xaxis3,omitempty"`
	// Yaxis3 see Yaxis prop
	Yaxis3 *LayoutYaxis `json:"yaxis3,omitempty"`

	// Xaxis4 see Xaxis prop
	Xaxis4 *LayoutXaxis `json:"xaxis4,omitempty"`
	// Yaxis4 see Yaxis prop
	Yaxis4 *LayoutYaxis `json:"yaxis4,omitempty"`

	// Xaxis5 see Xaxis prop
	Xaxis5 *LayoutXaxis `json:"xaxis5,omitempty"`
	// Yaxis5 see Yaxis prop
	Yaxis5 *LayoutYaxis `json:"yaxis5,omitempty"`

	// Xaxis6 see Xaxis prop
	Xaxis6 *LayoutXaxis `json:"xaxis6,omitempty"`
	// Yaxis6 see Yaxis prop
	Yaxis6 *LayoutYaxis `json:"yaxis6,omitempty"`
}

type LayoutActiveshape

type LayoutActiveshape struct {

	// Fillcolor color Sets the color filling the active shape' interior.
	Fillcolor String `json:"fillcolor,omitempty"`

	// Opacity number Sets the opacity of the active shape.
	Opacity float64 `json:"opacity,omitempty"`
}

type LayoutAngularaxis

type LayoutAngularaxis struct {

	// Domain info_array Polar chart subplots are not supported yet. This key has currently no effect.
	Domain interface{} `json:"domain,omitempty"`

	// Endpadding number Legacy polar charts are deprecated! Please switch to *polar* subplots.
	Endpadding float64 `json:"endpadding,omitempty"`

	// Range 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 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 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"`

	// Tickcolor color Legacy polar charts are deprecated! Please switch to *polar* subplots. Sets the color of the tick lines on this angular axis.
	Tickcolor String `json:"tickcolor,omitempty"`

	// Ticklen 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 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 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 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"`
}

type LayoutAngularaxisTickorientation

type LayoutAngularaxisTickorientation string

LayoutAngularaxisTickorientation Legacy polar charts are deprecated! Please switch to *polar* subplots. Sets the orientation (from the paper perspective) of the angular axis tick labels.

const (
	LayoutAngularaxisTickorientation_horizontal LayoutAngularaxisTickorientation = "horizontal"
	LayoutAngularaxisTickorientation_vertical   LayoutAngularaxisTickorientation = "vertical"
)

type LayoutAnnotations

type LayoutAnnotations interface{}

LayoutAnnotations It's an items array and what goes inside it's... messy... check the docs Here is a hint to help you to define your own type annotation

_deprecated
align
arrowcolor
arrowhead
arrowside
arrowsize
arrowwidth
ax
axref
ay
ayref
bgcolor
bordercolor
borderpad
borderwidth
captureevents
clicktoshow
editType
font
height
hoverlabel
hovertext
name
opacity
role
showarrow
standoff
startarrowhead
startarrowsize
startstandoff
templateitemname
text
textangle
valign
visible
width
x
xanchor
xclick
xref
xshift
y
yanchor
yclick
yref
yshift

type LayoutAutotypenumbers

type LayoutAutotypenumbers string

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.

const (
	LayoutAutotypenumbers_converttypes LayoutAutotypenumbers = "convert types"
	LayoutAutotypenumbers_strict       LayoutAutotypenumbers = "strict"
)

type LayoutBarmode

type LayoutBarmode string

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.

const (
	LayoutBarmode_stack    LayoutBarmode = "stack"
	LayoutBarmode_group    LayoutBarmode = "group"
	LayoutBarmode_overlay  LayoutBarmode = "overlay"
	LayoutBarmode_relative LayoutBarmode = "relative"
)

type LayoutBarnorm

type LayoutBarnorm string

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.

const (
	LayoutBarnorm_fraction LayoutBarnorm = "fraction"
	LayoutBarnorm_percent  LayoutBarnorm = "percent"
)

type LayoutBoxmode

type LayoutBoxmode string

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.

const (
	LayoutBoxmode_group   LayoutBoxmode = "group"
	LayoutBoxmode_overlay LayoutBoxmode = "overlay"
)

type LayoutCalendar

type LayoutCalendar string

LayoutCalendar Sets the default calendar system to use for interpreting and displaying dates throughout the plot.

const (
	LayoutCalendar_gregorian  LayoutCalendar = "gregorian"
	LayoutCalendar_chinese    LayoutCalendar = "chinese"
	LayoutCalendar_coptic     LayoutCalendar = "coptic"
	LayoutCalendar_discworld  LayoutCalendar = "discworld"
	LayoutCalendar_ethiopian  LayoutCalendar = "ethiopian"
	LayoutCalendar_hebrew     LayoutCalendar = "hebrew"
	LayoutCalendar_islamic    LayoutCalendar = "islamic"
	LayoutCalendar_julian     LayoutCalendar = "julian"
	LayoutCalendar_mayan      LayoutCalendar = "mayan"
	LayoutCalendar_nanakshahi LayoutCalendar = "nanakshahi"
	LayoutCalendar_nepali     LayoutCalendar = "nepali"
	LayoutCalendar_persian    LayoutCalendar = "persian"
	LayoutCalendar_jalali     LayoutCalendar = "jalali"
	LayoutCalendar_taiwan     LayoutCalendar = "taiwan"
	LayoutCalendar_thai       LayoutCalendar = "thai"
	LayoutCalendar_ummalqura  LayoutCalendar = "ummalqura"
)

type LayoutClickmode

type LayoutClickmode string
const (
	// Flags
	LayoutClickmodeEvent  LayoutClickmode = "event"
	LayoutClickmodeSelect LayoutClickmode = "select"
	// Extras
	LayoutClickmodeNone LayoutClickmode = "none"
)

type LayoutColoraxis

type LayoutColoraxis struct {

	// Autocolorscale 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 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 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 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 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 <no value> <no value>
	Colorbar *LayoutColoraxisColorbar `json:"colorbar,omitempty"`

	// Reversescale 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 boolean Determines whether or not a colorbar is displayed for this trace.
	Showscale Bool `json:"showscale,omitempty"`
}

type LayoutColoraxisColorbar

type LayoutColoraxisColorbar struct {

	// Bgcolor color Sets the color of padded area.
	Bgcolor String `json:"bgcolor,omitempty"`

	// Bordercolor color Sets the axis line color.
	Bordercolor String `json:"bordercolor,omitempty"`

	// Borderwidth number Sets the width (in px) or the border enclosing this color bar.
	Borderwidth float64 `json:"borderwidth,omitempty"`

	// Dtick 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<f>*, where `f` is a positive number, gives ticks linearly spaced in value (but not position). For example `tick0` = 0.1, `dtick` = *L0.5* will put ticks at 0.1, 0.6, 1.1, 1.6 etc. To show powers of 10 plus small digits between, use *D1* (all digits) or *D2* (only 2 and 5). `tick0` is ignored for *D1* and *D2*. If the axis `type` is *date*, then you must convert the time to milliseconds. For example, to set the interval between ticks to one day, set `dtick` to 86400000.0. *date* also has special values *M<n>* gives ticks spaced by a number of months. `n` must be a positive integer. To set ticks on the 15th of every third month, set `tick0` to *2000-01-15* and `dtick` to *M3*. To set ticks every 4 years, set `dtick` to *M48*
	Dtick interface{} `json:"dtick,omitempty"`

	// Exponentformat 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"`

	// Len 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 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 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 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"`

	// Outlinecolor color Sets the axis line color.
	Outlinecolor String `json:"outlinecolor,omitempty"`

	// Outlinewidth number Sets the width (in px) of the axis line.
	Outlinewidth float64 `json:"outlinewidth,omitempty"`

	// Separatethousands boolean If "true", even 4-digit integers are separated
	Separatethousands Bool `json:"separatethousands,omitempty"`

	// Showexponent 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 boolean Determines whether or not the tick labels are drawn.
	Showticklabels Bool `json:"showticklabels,omitempty"`

	// Showtickprefix 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 enumerated Same as `showtickprefix` but for tick suffixes.
	Showticksuffix LayoutColoraxisColorbarShowticksuffix `json:"showticksuffix,omitempty"`

	// Thickness 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 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 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<f>* (see `dtick` for more info). If the axis `type` is *date*, it should be a date string, like date data. If the axis `type` is *category*, it should be a number, using the scale where each category is assigned a serial number from zero in the order it appears.
	Tick0 interface{} `json:"tick0,omitempty"`

	// Tickangle 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 color Sets the tick color.
	Tickcolor String `json:"tickcolor,omitempty"`

	// Tickfont <no value> Sets the color bar's tick label font
	Tickfont *LayoutColoraxisColorbarTickfont `json:"tickfont,omitempty"`

	// Tickformat 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*
	Tickformat String `json:"tickformat,omitempty"`

	// Tickformatstops <no value> <no value>
	Tickformatstops LayoutColoraxisColorbarTickformatstops `json:"tickformatstops,omitempty"`

	// Ticklabelposition enumerated Determines where tick labels are drawn.
	Ticklabelposition LayoutColoraxisColorbarTicklabelposition `json:"ticklabelposition,omitempty"`

	// Ticklen number Sets the tick length (in px).
	Ticklen float64 `json:"ticklen,omitempty"`

	// Tickmode 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 string Sets a tick label prefix.
	Tickprefix String `json:"tickprefix,omitempty"`

	// Ticks 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 string Sets a tick label suffix.
	Ticksuffix String `json:"ticksuffix,omitempty"`

	// Ticktext 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 string Sets the source reference on Chart Studio Cloud for  ticktext .
	Ticktextsrc String `json:"ticktextsrc,omitempty"`

	// Tickvals 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 string Sets the source reference on Chart Studio Cloud for  tickvals .
	Tickvalssrc String `json:"tickvalssrc,omitempty"`

	// Tickwidth number Sets the tick width (in px).
	Tickwidth float64 `json:"tickwidth,omitempty"`

	// Title <no value> <no value>
	Title *LayoutColoraxisColorbarTitle `json:"title,omitempty"`

	// X number Sets the x position of the color bar (in plot fraction).
	X float64 `json:"x,omitempty"`

	// Xanchor 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.
	Xanchor LayoutColoraxisColorbarXanchor `json:"xanchor,omitempty"`

	// Xpad number Sets the amount of padding (in px) along the x direction.
	Xpad float64 `json:"xpad,omitempty"`

	// Y number Sets the y position of the color bar (in plot fraction).
	Y float64 `json:"y,omitempty"`

	// Yanchor 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.
	Yanchor LayoutColoraxisColorbarYanchor `json:"yanchor,omitempty"`

	// Ypad number Sets the amount of padding (in px) along the y direction.
	Ypad float64 `json:"ypad,omitempty"`
}

type LayoutColoraxisColorbarExponentformat

type LayoutColoraxisColorbarExponentformat string

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.

const (
	LayoutColoraxisColorbarExponentformat_none  LayoutColoraxisColorbarExponentformat = "none"
	LayoutColoraxisColorbarExponentformat_e     LayoutColoraxisColorbarExponentformat = "e"
	LayoutColoraxisColorbarExponentformat_E     LayoutColoraxisColorbarExponentformat = "E"
	LayoutColoraxisColorbarExponentformat_power LayoutColoraxisColorbarExponentformat = "power"
	LayoutColoraxisColorbarExponentformat_SI    LayoutColoraxisColorbarExponentformat = "SI"
	LayoutColoraxisColorbarExponentformat_B     LayoutColoraxisColorbarExponentformat = "B"
)

type LayoutColoraxisColorbarLenmode

type LayoutColoraxisColorbarLenmode string

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.

const (
	LayoutColoraxisColorbarLenmode_fraction LayoutColoraxisColorbarLenmode = "fraction"
	LayoutColoraxisColorbarLenmode_pixels   LayoutColoraxisColorbarLenmode = "pixels"
)

type LayoutColoraxisColorbarShowexponent

type LayoutColoraxisColorbarShowexponent string

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.

const (
	LayoutColoraxisColorbarShowexponent_all   LayoutColoraxisColorbarShowexponent = "all"
	LayoutColoraxisColorbarShowexponent_first LayoutColoraxisColorbarShowexponent = "first"
	LayoutColoraxisColorbarShowexponent_last  LayoutColoraxisColorbarShowexponent = "last"
	LayoutColoraxisColorbarShowexponent_none  LayoutColoraxisColorbarShowexponent = "none"
)

type LayoutColoraxisColorbarShowtickprefix

type LayoutColoraxisColorbarShowtickprefix string

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.

const (
	LayoutColoraxisColorbarShowtickprefix_all   LayoutColoraxisColorbarShowtickprefix = "all"
	LayoutColoraxisColorbarShowtickprefix_first LayoutColoraxisColorbarShowtickprefix = "first"
	LayoutColoraxisColorbarShowtickprefix_last  LayoutColoraxisColorbarShowtickprefix = "last"
	LayoutColoraxisColorbarShowtickprefix_none  LayoutColoraxisColorbarShowtickprefix = "none"
)

type LayoutColoraxisColorbarShowticksuffix

type LayoutColoraxisColorbarShowticksuffix string

LayoutColoraxisColorbarShowticksuffix Same as `showtickprefix` but for tick suffixes.

const (
	LayoutColoraxisColorbarShowticksuffix_all   LayoutColoraxisColorbarShowticksuffix = "all"
	LayoutColoraxisColorbarShowticksuffix_first LayoutColoraxisColorbarShowticksuffix = "first"
	LayoutColoraxisColorbarShowticksuffix_last  LayoutColoraxisColorbarShowticksuffix = "last"
	LayoutColoraxisColorbarShowticksuffix_none  LayoutColoraxisColorbarShowticksuffix = "none"
)

type LayoutColoraxisColorbarThicknessmode

type LayoutColoraxisColorbarThicknessmode string

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.

const (
	LayoutColoraxisColorbarThicknessmode_fraction LayoutColoraxisColorbarThicknessmode = "fraction"
	LayoutColoraxisColorbarThicknessmode_pixels   LayoutColoraxisColorbarThicknessmode = "pixels"
)

type LayoutColoraxisColorbarTickfont

type LayoutColoraxisColorbarTickfont struct {

	// Color color <no value>
	Color String `json:"color,omitempty"`

	// Family string HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.
	Family String `json:"family,omitempty"`

	// Size number <no value>
	Size float64 `json:"size,omitempty"`
}

type LayoutColoraxisColorbarTickformatstops

type LayoutColoraxisColorbarTickformatstops interface{}

LayoutColoraxisColorbarTickformatstops It's an items array and what goes inside it's... messy... check the docs Here is a hint to help you to define your own type tickformatstop

dtickrange
editType
enabled
name
role
templateitemname
value

type LayoutColoraxisColorbarTicklabelposition

type LayoutColoraxisColorbarTicklabelposition string

LayoutColoraxisColorbarTicklabelposition Determines where tick labels are drawn.

const (
	LayoutColoraxisColorbarTicklabelposition_outside       LayoutColoraxisColorbarTicklabelposition = "outside"
	LayoutColoraxisColorbarTicklabelposition_inside        LayoutColoraxisColorbarTicklabelposition = "inside"
	LayoutColoraxisColorbarTicklabelposition_outsidetop    LayoutColoraxisColorbarTicklabelposition = "outside top"
	LayoutColoraxisColorbarTicklabelposition_insidetop     LayoutColoraxisColorbarTicklabelposition = "inside top"
	LayoutColoraxisColorbarTicklabelposition_outsidebottom LayoutColoraxisColorbarTicklabelposition = "outside bottom"
	LayoutColoraxisColorbarTicklabelposition_insidebottom  LayoutColoraxisColorbarTicklabelposition = "inside bottom"
)

type LayoutColoraxisColorbarTickmode

type LayoutColoraxisColorbarTickmode string

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).

const (
	LayoutColoraxisColorbarTickmode_auto   LayoutColoraxisColorbarTickmode = "auto"
	LayoutColoraxisColorbarTickmode_linear LayoutColoraxisColorbarTickmode = "linear"
	LayoutColoraxisColorbarTickmode_array  LayoutColoraxisColorbarTickmode = "array"
)

type LayoutColoraxisColorbarTicks

type LayoutColoraxisColorbarTicks string

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.

const (
	LayoutColoraxisColorbarTicks_outside LayoutColoraxisColorbarTicks = "outside"
	LayoutColoraxisColorbarTicks_inside  LayoutColoraxisColorbarTicks = "inside"
)

type LayoutColoraxisColorbarTitle

type LayoutColoraxisColorbarTitle struct {

	// Font <no value> Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.
	Font *LayoutColoraxisColorbarTitleFont `json:"font,omitempty"`

	// Side 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.
	Side LayoutColoraxisColorbarTitleSide `json:"side,omitempty"`

	// Text 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"`
}

type LayoutColoraxisColorbarTitleFont

type LayoutColoraxisColorbarTitleFont struct {

	// Color color <no value>
	Color String `json:"color,omitempty"`

	// Family string HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.
	Family String `json:"family,omitempty"`

	// Size number <no value>
	Size float64 `json:"size,omitempty"`
}

type LayoutColoraxisColorbarTitleSide

type LayoutColoraxisColorbarTitleSide string

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.

const (
	LayoutColoraxisColorbarTitleSide_right  LayoutColoraxisColorbarTitleSide = "right"
	LayoutColoraxisColorbarTitleSide_top    LayoutColoraxisColorbarTitleSide = "top"
	LayoutColoraxisColorbarTitleSide_bottom LayoutColoraxisColorbarTitleSide = "bottom"
)

type LayoutColoraxisColorbarXanchor

type LayoutColoraxisColorbarXanchor string

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.

const (
	LayoutColoraxisColorbarXanchor_left   LayoutColoraxisColorbarXanchor = "left"
	LayoutColoraxisColorbarXanchor_center LayoutColoraxisColorbarXanchor = "center"
	LayoutColoraxisColorbarXanchor_right  LayoutColoraxisColorbarXanchor = "right"
)

type LayoutColoraxisColorbarYanchor

type LayoutColoraxisColorbarYanchor string

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.

const (
	LayoutColoraxisColorbarYanchor_top    LayoutColoraxisColorbarYanchor = "top"
	LayoutColoraxisColorbarYanchor_middle LayoutColoraxisColorbarYanchor = "middle"
	LayoutColoraxisColorbarYanchor_bottom LayoutColoraxisColorbarYanchor = "bottom"
)

type LayoutColorscale

type LayoutColorscale struct {
}

type LayoutDirection

type LayoutDirection string

LayoutDirection Legacy polar charts are deprecated! Please switch to *polar* subplots. Sets the direction corresponding to positive angles in legacy polar charts.

const (
	LayoutDirection_clockwise        LayoutDirection = "clockwise"
	LayoutDirection_counterclockwise LayoutDirection = "counterclockwise"
)

type LayoutDragmode

type LayoutDragmode interface{}

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.

var (
	LayoutDragmode_zoom           LayoutDragmode = "zoom"
	LayoutDragmode_pan            LayoutDragmode = "pan"
	LayoutDragmode_select         LayoutDragmode = "select"
	LayoutDragmode_lasso          LayoutDragmode = "lasso"
	LayoutDragmode_drawclosedpath LayoutDragmode = "drawclosedpath"
	LayoutDragmode_drawopenpath   LayoutDragmode = "drawopenpath"
	LayoutDragmode_drawline       LayoutDragmode = "drawline"
	LayoutDragmode_drawrect       LayoutDragmode = "drawrect"
	LayoutDragmode_drawcircle     LayoutDragmode = "drawcircle"
	LayoutDragmode_orbit          LayoutDragmode = "orbit"
	LayoutDragmode_turntable      LayoutDragmode = "turntable"
	LayoutDragmode_False          LayoutDragmode = false
)

type LayoutFont

type LayoutFont struct {

	// Color color <no value>
	Color String `json:"color,omitempty"`

	// Family string HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.
	Family String `json:"family,omitempty"`

	// Size number <no value>
	Size float64 `json:"size,omitempty"`
}

type LayoutFunnelmode

type LayoutFunnelmode string

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.

const (
	LayoutFunnelmode_stack   LayoutFunnelmode = "stack"
	LayoutFunnelmode_group   LayoutFunnelmode = "group"
	LayoutFunnelmode_overlay LayoutFunnelmode = "overlay"
)

type LayoutGeo

type LayoutGeo struct {

	// Bgcolor color Set the background color of the map
	Bgcolor String `json:"bgcolor,omitempty"`

	// Center <no value> <no value>
	Center *LayoutGeoCenter `json:"center,omitempty"`

	// Coastlinecolor color Sets the coastline color.
	Coastlinecolor String `json:"coastlinecolor,omitempty"`

	// Coastlinewidth number Sets the coastline stroke width (in px).
	Coastlinewidth float64 `json:"coastlinewidth,omitempty"`

	// Countrycolor color Sets line color of the country boundaries.
	Countrycolor String `json:"countrycolor,omitempty"`

	// Countrywidth number Sets line width (in px) of the country boundaries.
	Countrywidth float64 `json:"countrywidth,omitempty"`

	// Domain <no value> <no value>
	Domain *LayoutGeoDomain `json:"domain,omitempty"`

	// Fitbounds 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 color Sets the color the frame.
	Framecolor String `json:"framecolor,omitempty"`

	// Framewidth number Sets the stroke width (in px) of the frame.
	Framewidth float64 `json:"framewidth,omitempty"`

	// Lakecolor color Sets the color of the lakes.
	Lakecolor String `json:"lakecolor,omitempty"`

	// Landcolor color Sets the land mass color.
	Landcolor String `json:"landcolor,omitempty"`

	// Lataxis <no value> <no value>
	Lataxis *LayoutGeoLataxis `json:"lataxis,omitempty"`

	// Lonaxis <no value> <no value>
	Lonaxis *LayoutGeoLonaxis `json:"lonaxis,omitempty"`

	// Oceancolor color Sets the ocean color
	Oceancolor String `json:"oceancolor,omitempty"`

	// Projection <no value> <no value>
	Projection *LayoutGeoProjection `json:"projection,omitempty"`

	// Resolution 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 color Sets color of the rivers.
	Rivercolor String `json:"rivercolor,omitempty"`

	// Riverwidth number Sets the stroke width (in px) of the rivers.
	Riverwidth float64 `json:"riverwidth,omitempty"`

	// Scope enumerated Set the scope of the map.
	Scope LayoutGeoScope `json:"scope,omitempty"`

	// Showcoastlines boolean Sets whether or not the coastlines are drawn.
	Showcoastlines Bool `json:"showcoastlines,omitempty"`

	// Showcountries boolean Sets whether or not country boundaries are drawn.
	Showcountries Bool `json:"showcountries,omitempty"`

	// Showframe boolean Sets whether or not a frame is drawn around the map.
	Showframe Bool `json:"showframe,omitempty"`

	// Showlakes boolean Sets whether or not lakes are drawn.
	Showlakes Bool `json:"showlakes,omitempty"`

	// Showland boolean Sets whether or not land masses are filled in color.
	Showland Bool `json:"showland,omitempty"`

	// Showocean boolean Sets whether or not oceans are filled in color.
	Showocean Bool `json:"showocean,omitempty"`

	// Showrivers boolean Sets whether or not rivers are drawn.
	Showrivers Bool `json:"showrivers,omitempty"`

	// Showsubunits boolean Sets whether or not boundaries of subunits within countries (e.g. states, provinces) are drawn.
	Showsubunits Bool `json:"showsubunits,omitempty"`

	// Subunitcolor color Sets the color of the subunits boundaries.
	Subunitcolor String `json:"subunitcolor,omitempty"`

	// Subunitwidth number Sets the stroke width (in px) of the subunits boundaries.
	Subunitwidth float64 `json:"subunitwidth,omitempty"`

	// Uirevision any Controls persistence of user-driven changes in the view (projection and center). Defaults to `layout.uirevision`.
	Uirevision interface{} `json:"uirevision,omitempty"`

	// Visible boolean Sets the default visibility of the base layers.
	Visible Bool `json:"visible,omitempty"`
}

type LayoutGeoCenter

type LayoutGeoCenter struct {

	// Lat 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 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"`
}

type LayoutGeoDomain

type LayoutGeoDomain struct {

	// Column 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 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 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 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"`
}

type LayoutGeoFitbounds

type LayoutGeoFitbounds interface{}

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*.

var (
	LayoutGeoFitbounds_False     LayoutGeoFitbounds = false
	LayoutGeoFitbounds_locations LayoutGeoFitbounds = "locations"
	LayoutGeoFitbounds_geojson   LayoutGeoFitbounds = "geojson"
)

type LayoutGeoLataxis

type LayoutGeoLataxis struct {

	// Dtick number Sets the graticule's longitude/latitude tick step.
	Dtick float64 `json:"dtick,omitempty"`

	// Gridcolor color Sets the graticule's stroke color.
	Gridcolor String `json:"gridcolor,omitempty"`

	// Gridwidth number Sets the graticule's stroke width (in px).
	Gridwidth float64 `json:"gridwidth,omitempty"`

	// Range info_array Sets the range of this axis (in degrees), sets the map's clipped coordinates.
	Range interface{} `json:"range,omitempty"`

	// Showgrid boolean Sets whether or not graticule are shown on the map.
	Showgrid Bool `json:"showgrid,omitempty"`

	// Tick0 number Sets the graticule's starting tick longitude/latitude.
	Tick0 float64 `json:"tick0,omitempty"`
}

type LayoutGeoLonaxis

type LayoutGeoLonaxis struct {

	// Dtick number Sets the graticule's longitude/latitude tick step.
	Dtick float64 `json:"dtick,omitempty"`

	// Gridcolor color Sets the graticule's stroke color.
	Gridcolor String `json:"gridcolor,omitempty"`

	// Gridwidth number Sets the graticule's stroke width (in px).
	Gridwidth float64 `json:"gridwidth,omitempty"`

	// Range info_array Sets the range of this axis (in degrees), sets the map's clipped coordinates.
	Range interface{} `json:"range,omitempty"`

	// Showgrid boolean Sets whether or not graticule are shown on the map.
	Showgrid Bool `json:"showgrid,omitempty"`

	// Tick0 number Sets the graticule's starting tick longitude/latitude.
	Tick0 float64 `json:"tick0,omitempty"`
}

type LayoutGeoProjection

type LayoutGeoProjection struct {

	// Parallels info_array For conic projection types only. Sets the parallels (tangent, secant) where the cone intersects the sphere.
	Parallels interface{} `json:"parallels,omitempty"`

	// Rotation <no value> <no value>
	Rotation *LayoutGeoProjectionRotation `json:"rotation,omitempty"`

	// Scale 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"`

	// Type enumerated Sets the projection type.
	Type LayoutGeoProjectionType `json:"type,omitempty"`
}

type LayoutGeoProjectionRotation

type LayoutGeoProjectionRotation struct {

	// Lat number Rotates the map along meridians (in degrees North).
	Lat float64 `json:"lat,omitempty"`

	// Lon number Rotates the map along parallels (in degrees East). Defaults to the center of the `lonaxis.range` values.
	Lon float64 `json:"lon,omitempty"`

	// Roll number Roll the map (in degrees) For example, a roll of *180* makes the map appear upside down.
	Roll float64 `json:"roll,omitempty"`
}

type LayoutGeoProjectionType

type LayoutGeoProjectionType string

LayoutGeoProjectionType Sets the projection type.

const (
	LayoutGeoProjectionType_equirectangular      LayoutGeoProjectionType = "equirectangular"
	LayoutGeoProjectionType_mercator             LayoutGeoProjectionType = "mercator"
	LayoutGeoProjectionType_orthographic         LayoutGeoProjectionType = "orthographic"
	LayoutGeoProjectionType_naturalearth         LayoutGeoProjectionType = "natural earth"
	LayoutGeoProjectionType_kavrayskiy7          LayoutGeoProjectionType = "kavrayskiy7"
	LayoutGeoProjectionType_miller               LayoutGeoProjectionType = "miller"
	LayoutGeoProjectionType_robinson             LayoutGeoProjectionType = "robinson"
	LayoutGeoProjectionType_eckert4              LayoutGeoProjectionType = "eckert4"
	LayoutGeoProjectionType_azimuthalequalarea   LayoutGeoProjectionType = "azimuthal equal area"
	LayoutGeoProjectionType_azimuthalequidistant LayoutGeoProjectionType = "azimuthal equidistant"
	LayoutGeoProjectionType_conicequalarea       LayoutGeoProjectionType = "conic equal area"
	LayoutGeoProjectionType_conicconformal       LayoutGeoProjectionType = "conic conformal"
	LayoutGeoProjectionType_conicequidistant     LayoutGeoProjectionType = "conic equidistant"
	LayoutGeoProjectionType_gnomonic             LayoutGeoProjectionType = "gnomonic"
	LayoutGeoProjectionType_stereographic        LayoutGeoProjectionType = "stereographic"
	LayoutGeoProjectionType_mollweide            LayoutGeoProjectionType = "mollweide"
	LayoutGeoProjectionType_hammer               LayoutGeoProjectionType = "hammer"
	LayoutGeoProjectionType_transversemercator   LayoutGeoProjectionType = "transverse mercator"
	LayoutGeoProjectionType_albersusa            LayoutGeoProjectionType = "albers usa"
	LayoutGeoProjectionType_winkeltripel         LayoutGeoProjectionType = "winkel tripel"
	LayoutGeoProjectionType_aitoff               LayoutGeoProjectionType = "aitoff"
	LayoutGeoProjectionType_sinusoidal           LayoutGeoProjectionType = "sinusoidal"
)

type LayoutGeoResolution

type LayoutGeoResolution string

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.

const (
	LayoutGeoResolution110 LayoutGeoResolution = "110"
	LayoutGeoResolution50  LayoutGeoResolution = "50"
)

type LayoutGeoScope

type LayoutGeoScope string

LayoutGeoScope Set the scope of the map.

const (
	LayoutGeoScope_world        LayoutGeoScope = "world"
	LayoutGeoScope_usa          LayoutGeoScope = "usa"
	LayoutGeoScope_europe       LayoutGeoScope = "europe"
	LayoutGeoScope_asia         LayoutGeoScope = "asia"
	LayoutGeoScope_africa       LayoutGeoScope = "africa"
	LayoutGeoScope_northamerica LayoutGeoScope = "north america"
	LayoutGeoScope_southamerica LayoutGeoScope = "south america"
)

type LayoutGrid

type LayoutGrid struct {

	// Columns 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 <no value> <no value>
	Domain *LayoutGridDomain `json:"domain,omitempty"`

	// Pattern 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 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 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 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 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 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 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 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 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 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"`
}

type LayoutGridDomain

type LayoutGridDomain struct {

	// X 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 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"`
}

type LayoutGridPattern

type LayoutGridPattern string

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`.

const (
	LayoutGridPattern_independent LayoutGridPattern = "independent"
	LayoutGridPattern_coupled     LayoutGridPattern = "coupled"
)

type LayoutGridRoworder

type LayoutGridRoworder string

LayoutGridRoworder Is the first row the top or the bottom? Note that columns are always enumerated from left to right.

const (
	LayoutGridRoworder_toptobottom LayoutGridRoworder = "top to bottom"
	LayoutGridRoworder_bottomtotop LayoutGridRoworder = "bottom to top"
)

type LayoutGridXside

type LayoutGridXside string

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.

const (
	LayoutGridXside_bottom     LayoutGridXside = "bottom"
	LayoutGridXside_bottomplot LayoutGridXside = "bottom plot"
	LayoutGridXside_topplot    LayoutGridXside = "top plot"
	LayoutGridXside_top        LayoutGridXside = "top"
)

type LayoutGridYside

type LayoutGridYside string

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.

const (
	LayoutGridYside_left      LayoutGridYside = "left"
	LayoutGridYside_leftplot  LayoutGridYside = "left plot"
	LayoutGridYside_rightplot LayoutGridYside = "right plot"
	LayoutGridYside_right     LayoutGridYside = "right"
)

type LayoutHoverlabel

type LayoutHoverlabel struct {

	// Align 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 color Sets the background color of all hover labels on graph
	Bgcolor String `json:"bgcolor,omitempty"`

	// Bordercolor color Sets the border color of all hover labels on graph.
	Bordercolor String `json:"bordercolor,omitempty"`

	// Font <no value> Sets the default hover label font used by all traces on the graph.
	Font *LayoutHoverlabelFont `json:"font,omitempty"`

	// Namelength 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"`
}

type LayoutHoverlabelAlign

type LayoutHoverlabelAlign string

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

const (
	LayoutHoverlabelAlign_left  LayoutHoverlabelAlign = "left"
	LayoutHoverlabelAlign_right LayoutHoverlabelAlign = "right"
	LayoutHoverlabelAlign_auto  LayoutHoverlabelAlign = "auto"
)

type LayoutHoverlabelFont

type LayoutHoverlabelFont struct {

	// Color color <no value>
	Color String `json:"color,omitempty"`

	// Family string HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.
	Family String `json:"family,omitempty"`

	// Size number <no value>
	Size float64 `json:"size,omitempty"`
}

type LayoutHovermode

type LayoutHovermode interface{}

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*.

var (
	LayoutHovermode_x        LayoutHovermode = "x"
	LayoutHovermode_y        LayoutHovermode = "y"
	LayoutHovermode_closest  LayoutHovermode = "closest"
	LayoutHovermode_False    LayoutHovermode = false
	LayoutHovermode_xunified LayoutHovermode = "x unified"
	LayoutHovermode_yunified LayoutHovermode = "y unified"
)

type LayoutImages

type LayoutImages interface{}

LayoutImages It's an items array and what goes inside it's... messy... check the docs Here is a hint to help you to define your own type image

editType
layer
name
opacity
role
sizex
sizey
sizing
source
templateitemname
visible
x
xanchor
xref
y
yanchor
yref

type LayoutLegend

type LayoutLegend struct {

	// Bgcolor color Sets the legend background color. Defaults to `layout.paper_bgcolor`.
	Bgcolor String `json:"bgcolor,omitempty"`

	// Bordercolor color Sets the color of the border enclosing the legend.
	Bordercolor String `json:"bordercolor,omitempty"`

	// Borderwidth number Sets the width (in px) of the border enclosing the legend.
	Borderwidth float64 `json:"borderwidth,omitempty"`

	// Font <no value> Sets the font used to text the legend items.
	Font *LayoutLegendFont `json:"font,omitempty"`

	// Itemclick 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.
	Itemclick LayoutLegendItemclick `json:"itemclick,omitempty"`

	// Itemdoubleclick 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.
	Itemdoubleclick LayoutLegendItemdoubleclick `json:"itemdoubleclick,omitempty"`

	// Itemsizing 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 number Sets the width (in px) of the legend item symbols (the part other than the title.text).
	Itemwidth float64 `json:"itemwidth,omitempty"`

	// Orientation enumerated Sets the orientation of the legend.
	Orientation LayoutLegendOrientation `json:"orientation,omitempty"`

	// Title <no value> <no value>
	Title *LayoutLegendTitle `json:"title,omitempty"`

	// Tracegroupgap number Sets the amount of vertical space (in px) between legend groups.
	Tracegroupgap float64 `json:"tracegroupgap,omitempty"`

	// Traceorder 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 any Controls persistence of legend-driven changes in trace and pie label visibility. Defaults to `layout.uirevision`.
	Uirevision interface{} `json:"uirevision,omitempty"`

	// Valign enumerated Sets the vertical alignment of the symbols with respect to their associated text.
	Valign LayoutLegendValign `json:"valign,omitempty"`

	// X number Sets the x position (in normalized coordinates) of the legend. Defaults to *1.02* for vertical legends and defaults to *0* for horizontal legends.
	X float64 `json:"x,omitempty"`

	// Xanchor 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"`

	// Y number 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.
	Y float64 `json:"y,omitempty"`

	// Yanchor 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"`
}

type LayoutLegendFont

type LayoutLegendFont struct {

	// Color color <no value>
	Color String `json:"color,omitempty"`

	// Family string HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.
	Family String `json:"family,omitempty"`

	// Size number <no value>
	Size float64 `json:"size,omitempty"`
}

type LayoutLegendItemclick

type LayoutLegendItemclick interface{}

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.

var (
	LayoutLegendItemclick_toggle       LayoutLegendItemclick = "toggle"
	LayoutLegendItemclick_toggleothers LayoutLegendItemclick = "toggleothers"
	LayoutLegendItemclick_False        LayoutLegendItemclick = false
)

type LayoutLegendItemdoubleclick

type LayoutLegendItemdoubleclick interface{}

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.

var (
	LayoutLegendItemdoubleclick_toggle       LayoutLegendItemdoubleclick = "toggle"
	LayoutLegendItemdoubleclick_toggleothers LayoutLegendItemdoubleclick = "toggleothers"
	LayoutLegendItemdoubleclick_False        LayoutLegendItemdoubleclick = false
)

type LayoutLegendItemsizing

type LayoutLegendItemsizing string

LayoutLegendItemsizing Determines if the legend items symbols scale with their corresponding *trace* attributes or remain *constant* independent of the symbol size on the graph.

const (
	LayoutLegendItemsizing_trace    LayoutLegendItemsizing = "trace"
	LayoutLegendItemsizing_constant LayoutLegendItemsizing = "constant"
)

type LayoutLegendOrientation

type LayoutLegendOrientation string

LayoutLegendOrientation Sets the orientation of the legend.

const (
	LayoutLegendOrientation_v LayoutLegendOrientation = "v"
	LayoutLegendOrientation_h LayoutLegendOrientation = "h"
)

type LayoutLegendTitle

type LayoutLegendTitle struct {

	// Font <no value> Sets this legend's title font.
	Font *LayoutLegendTitleFont `json:"font,omitempty"`

	// Side 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 legend area in both x and y sides.
	Side LayoutLegendTitleSide `json:"side,omitempty"`

	// Text string Sets the title of the legend.
	Text String `json:"text,omitempty"`
}

type LayoutLegendTitleFont

type LayoutLegendTitleFont struct {

	// Color color <no value>
	Color String `json:"color,omitempty"`

	// Family string HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.
	Family String `json:"family,omitempty"`

	// Size number <no value>
	Size float64 `json:"size,omitempty"`
}

type LayoutLegendTitleSide

type LayoutLegendTitleSide string

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 legend area in both x and y sides.

const (
	LayoutLegendTitleSide_top     LayoutLegendTitleSide = "top"
	LayoutLegendTitleSide_left    LayoutLegendTitleSide = "left"
	LayoutLegendTitleSide_topleft LayoutLegendTitleSide = "top left"
)

type LayoutLegendTraceorder

type LayoutLegendTraceorder string
const (
	// Flags
	LayoutLegendTraceorderReversed LayoutLegendTraceorder = "reversed"
	LayoutLegendTraceorderGrouped  LayoutLegendTraceorder = "grouped"
	// Extras
	LayoutLegendTraceorderNormal LayoutLegendTraceorder = "normal"
)

type LayoutLegendValign

type LayoutLegendValign string

LayoutLegendValign Sets the vertical alignment of the symbols with respect to their associated text.

const (
	LayoutLegendValign_top    LayoutLegendValign = "top"
	LayoutLegendValign_middle LayoutLegendValign = "middle"
	LayoutLegendValign_bottom LayoutLegendValign = "bottom"
)

type LayoutLegendXanchor

type LayoutLegendXanchor string

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.

const (
	LayoutLegendXanchor_auto   LayoutLegendXanchor = "auto"
	LayoutLegendXanchor_left   LayoutLegendXanchor = "left"
	LayoutLegendXanchor_center LayoutLegendXanchor = "center"
	LayoutLegendXanchor_right  LayoutLegendXanchor = "right"
)

type LayoutLegendYanchor

type LayoutLegendYanchor string

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.

const (
	LayoutLegendYanchor_auto   LayoutLegendYanchor = "auto"
	LayoutLegendYanchor_top    LayoutLegendYanchor = "top"
	LayoutLegendYanchor_middle LayoutLegendYanchor = "middle"
	LayoutLegendYanchor_bottom LayoutLegendYanchor = "bottom"
)

type LayoutMapbox

type LayoutMapbox struct {

	// Accesstoken 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 number Sets the bearing angle of the map in degrees counter-clockwise from North (mapbox.bearing).
	Bearing float64 `json:"bearing,omitempty"`

	// Center <no value> <no value>
	Center *LayoutMapboxCenter `json:"center,omitempty"`

	// Domain <no value> <no value>
	Domain *LayoutMapboxDomain `json:"domain,omitempty"`

	// Layers <no value> <no value>
	Layers LayoutMapboxLayers `json:"layers,omitempty"`

	// Pitch 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 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-<name>-<version>
	Style interface{} `json:"style,omitempty"`

	// Uirevision any Controls persistence of user-driven changes in the view: `center`, `zoom`, `bearing`, `pitch`. Defaults to `layout.uirevision`.
	Uirevision interface{} `json:"uirevision,omitempty"`

	// Zoom number Sets the zoom level of the map (mapbox.zoom).
	Zoom float64 `json:"zoom,omitempty"`
}

type LayoutMapboxCenter

type LayoutMapboxCenter struct {

	// Lat number Sets the latitude of the center of the map (in degrees North).
	Lat float64 `json:"lat,omitempty"`

	// Lon number Sets the longitude of the center of the map (in degrees East).
	Lon float64 `json:"lon,omitempty"`
}

type LayoutMapboxDomain

type LayoutMapboxDomain struct {

	// Column 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 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 info_array Sets the horizontal domain of this mapbox subplot (in plot fraction).
	X interface{} `json:"x,omitempty"`

	// Y info_array Sets the vertical domain of this mapbox subplot (in plot fraction).
	Y interface{} `json:"y,omitempty"`
}

type LayoutMapboxLayers

type LayoutMapboxLayers interface{}

LayoutMapboxLayers It's an items array and what goes inside it's... messy... check the docs Here is a hint to help you to define your own type layer

below
circle
color
coordinates
editType
fill
line
maxzoom
minzoom
name
opacity
role
source
sourceattribution
sourcelayer
sourcetype
symbol
templateitemname
type
visible

type LayoutMargin

type LayoutMargin struct {

	// Autoexpand 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 number Sets the bottom margin (in px).
	B float64 `json:"b,omitempty"`

	// L number Sets the left margin (in px).
	L float64 `json:"l,omitempty"`

	// Pad number Sets the amount of padding (in px) between the plotting area and the axis lines
	Pad float64 `json:"pad,omitempty"`

	// R number Sets the right margin (in px).
	R float64 `json:"r,omitempty"`

	// T number Sets the top margin (in px).
	T float64 `json:"t,omitempty"`
}

type LayoutModebar

type LayoutModebar struct {

	// Activecolor color Sets the color of the active or hovered on icons in the modebar.
	Activecolor String `json:"activecolor,omitempty"`

	// Bgcolor color Sets the background color of the modebar.
	Bgcolor String `json:"bgcolor,omitempty"`

	// Color color Sets the color of the icons in the modebar.
	Color String `json:"color,omitempty"`

	// Orientation enumerated Sets the orientation of the modebar.
	Orientation LayoutModebarOrientation `json:"orientation,omitempty"`

	// Uirevision 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"`
}

type LayoutModebarOrientation

type LayoutModebarOrientation string

LayoutModebarOrientation Sets the orientation of the modebar.

const (
	LayoutModebarOrientation_v LayoutModebarOrientation = "v"
	LayoutModebarOrientation_h LayoutModebarOrientation = "h"
)

type LayoutNewshape

type LayoutNewshape struct {

	// Drawdirection 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 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 String `json:"fillcolor,omitempty"`

	// Fillrule 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 enumerated Specifies whether new shapes are drawn below or above traces.
	Layer LayoutNewshapeLayer `json:"layer,omitempty"`

	// Line <no value> <no value>
	Line *LayoutNewshapeLine `json:"line,omitempty"`

	// Opacity number Sets the opacity of new shapes.
	Opacity float64 `json:"opacity,omitempty"`
}

type LayoutNewshapeDrawdirection

type LayoutNewshapeDrawdirection string

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.

const (
	LayoutNewshapeDrawdirection_ortho      LayoutNewshapeDrawdirection = "ortho"
	LayoutNewshapeDrawdirection_horizontal LayoutNewshapeDrawdirection = "horizontal"
	LayoutNewshapeDrawdirection_vertical   LayoutNewshapeDrawdirection = "vertical"
	LayoutNewshapeDrawdirection_diagonal   LayoutNewshapeDrawdirection = "diagonal"
)

type LayoutNewshapeFillrule

type LayoutNewshapeFillrule string

LayoutNewshapeFillrule Determines the path's interior. For more info please visit https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/fill-rule

const (
	LayoutNewshapeFillrule_evenodd LayoutNewshapeFillrule = "evenodd"
	LayoutNewshapeFillrule_nonzero LayoutNewshapeFillrule = "nonzero"
)

type LayoutNewshapeLayer

type LayoutNewshapeLayer string

LayoutNewshapeLayer Specifies whether new shapes are drawn below or above traces.

const (
	LayoutNewshapeLayer_below LayoutNewshapeLayer = "below"
	LayoutNewshapeLayer_above LayoutNewshapeLayer = "above"
)

type LayoutNewshapeLine

type LayoutNewshapeLine struct {

	// Color color Sets the line color. By default uses either dark grey or white to increase contrast with background color.
	Color String `json:"color,omitempty"`

	// Dash 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 number Sets the line width (in px).
	Width float64 `json:"width,omitempty"`
}

type LayoutPolar

type LayoutPolar struct {

	// Angularaxis <no value> <no value>
	Angularaxis *LayoutPolarAngularaxis `json:"angularaxis,omitempty"`

	// Bgcolor color Set the background color of the subplot
	Bgcolor String `json:"bgcolor,omitempty"`

	// Domain <no value> <no value>
	Domain *LayoutPolarDomain `json:"domain,omitempty"`

	// Gridshape 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 number Sets the fraction of the radius to cut out of the polar subplot.
	Hole float64 `json:"hole,omitempty"`

	// Radialaxis <no value> <no value>
	Radialaxis *LayoutPolarRadialaxis `json:"radialaxis,omitempty"`

	// Sector 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 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"`
}

type LayoutPolarAngularaxis

type LayoutPolarAngularaxis struct {

	// Autotypenumbers 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 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 string Sets the source reference on Chart Studio Cloud for  categoryarray .
	Categoryarraysrc String `json:"categoryarraysrc,omitempty"`

	// Categoryorder 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 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 String `json:"color,omitempty"`

	// Direction enumerated Sets the direction corresponding to positive angles.
	Direction LayoutPolarAngularaxisDirection `json:"direction,omitempty"`

	// Dtick 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<f>*, where `f` is a positive number, gives ticks linearly spaced in value (but not position). For example `tick0` = 0.1, `dtick` = *L0.5* will put ticks at 0.1, 0.6, 1.1, 1.6 etc. To show powers of 10 plus small digits between, use *D1* (all digits) or *D2* (only 2 and 5). `tick0` is ignored for *D1* and *D2*. If the axis `type` is *date*, then you must convert the time to milliseconds. For example, to set the interval between ticks to one day, set `dtick` to 86400000.0. *date* also has special values *M<n>* gives ticks spaced by a number of months. `n` must be a positive integer. To set ticks on the 15th of every third month, set `tick0` to *2000-01-15* and `dtick` to *M3*. To set ticks every 4 years, set `dtick` to *M48*
	Dtick interface{} `json:"dtick,omitempty"`

	// Exponentformat 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 color Sets the color of the grid lines.
	Gridcolor String `json:"gridcolor,omitempty"`

	// Gridwidth number Sets the width (in px) of the grid lines.
	Gridwidth float64 `json:"gridwidth,omitempty"`

	// Hoverformat 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*
	Hoverformat String `json:"hoverformat,omitempty"`

	// Layer 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 color Sets the axis line color.
	Linecolor String `json:"linecolor,omitempty"`

	// Linewidth number Sets the width (in px) of the axis line.
	Linewidth float64 `json:"linewidth,omitempty"`

	// Minexponent 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 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 number Set the angular period. Has an effect only when `angularaxis.type` is *category*.
	Period float64 `json:"period,omitempty"`

	// Rotation 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 boolean If "true", even 4-digit integers are separated
	Separatethousands Bool `json:"separatethousands,omitempty"`

	// Showexponent 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 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 boolean Determines whether or not a line bounding this axis is drawn.
	Showline Bool `json:"showline,omitempty"`

	// Showticklabels boolean Determines whether or not the tick labels are drawn.
	Showticklabels Bool `json:"showticklabels,omitempty"`

	// Showtickprefix 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 enumerated Same as `showtickprefix` but for tick suffixes.
	Showticksuffix LayoutPolarAngularaxisShowticksuffix `json:"showticksuffix,omitempty"`

	// Thetaunit 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 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<f>* (see `dtick` for more info). If the axis `type` is *date*, it should be a date string, like date data. If the axis `type` is *category*, it should be a number, using the scale where each category is assigned a serial number from zero in the order it appears.
	Tick0 interface{} `json:"tick0,omitempty"`

	// Tickangle 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 color Sets the tick color.
	Tickcolor String `json:"tickcolor,omitempty"`

	// Tickfont <no value> Sets the tick font.
	Tickfont *LayoutPolarAngularaxisTickfont `json:"tickfont,omitempty"`

	// Tickformat 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*
	Tickformat String `json:"tickformat,omitempty"`

	// Tickformatstops <no value> <no value>
	Tickformatstops LayoutPolarAngularaxisTickformatstops `json:"tickformatstops,omitempty"`

	// Ticklen number Sets the tick length (in px).
	Ticklen float64 `json:"ticklen,omitempty"`

	// Tickmode 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 string Sets a tick label prefix.
	Tickprefix String `json:"tickprefix,omitempty"`

	// Ticks 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 string Sets a tick label suffix.
	Ticksuffix String `json:"ticksuffix,omitempty"`

	// Ticktext 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 string Sets the source reference on Chart Studio Cloud for  ticktext .
	Ticktextsrc String `json:"ticktextsrc,omitempty"`

	// Tickvals 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 string Sets the source reference on Chart Studio Cloud for  tickvals .
	Tickvalssrc String `json:"tickvalssrc,omitempty"`

	// Tickwidth number Sets the tick width (in px).
	Tickwidth float64 `json:"tickwidth,omitempty"`

	// 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 any Controls persistence of user-driven changes in axis `rotation`. Defaults to `polar<N>.uirevision`.
	Uirevision interface{} `json:"uirevision,omitempty"`

	// Visible 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"`
}

type LayoutPolarAngularaxisAutotypenumbers

type LayoutPolarAngularaxisAutotypenumbers string

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.

const (
	LayoutPolarAngularaxisAutotypenumbers_converttypes LayoutPolarAngularaxisAutotypenumbers = "convert types"
	LayoutPolarAngularaxisAutotypenumbers_strict       LayoutPolarAngularaxisAutotypenumbers = "strict"
)

type LayoutPolarAngularaxisCategoryorder

type LayoutPolarAngularaxisCategoryorder string

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.

const (
	LayoutPolarAngularaxisCategoryorder_trace              LayoutPolarAngularaxisCategoryorder = "trace"
	LayoutPolarAngularaxisCategoryorder_categoryascending  LayoutPolarAngularaxisCategoryorder = "category ascending"
	LayoutPolarAngularaxisCategoryorder_categorydescending LayoutPolarAngularaxisCategoryorder = "category descending"
	LayoutPolarAngularaxisCategoryorder_array              LayoutPolarAngularaxisCategoryorder = "array"
	LayoutPolarAngularaxisCategoryorder_totalascending     LayoutPolarAngularaxisCategoryorder = "total ascending"
	LayoutPolarAngularaxisCategoryorder_totaldescending    LayoutPolarAngularaxisCategoryorder = "total descending"
	LayoutPolarAngularaxisCategoryorder_minascending       LayoutPolarAngularaxisCategoryorder = "min ascending"
	LayoutPolarAngularaxisCategoryorder_mindescending      LayoutPolarAngularaxisCategoryorder = "min descending"
	LayoutPolarAngularaxisCategoryorder_maxascending       LayoutPolarAngularaxisCategoryorder = "max ascending"
	LayoutPolarAngularaxisCategoryorder_maxdescending      LayoutPolarAngularaxisCategoryorder = "max descending"
	LayoutPolarAngularaxisCategoryorder_sumascending       LayoutPolarAngularaxisCategoryorder = "sum ascending"
	LayoutPolarAngularaxisCategoryorder_sumdescending      LayoutPolarAngularaxisCategoryorder = "sum descending"
	LayoutPolarAngularaxisCategoryorder_meanascending      LayoutPolarAngularaxisCategoryorder = "mean ascending"
	LayoutPolarAngularaxisCategoryorder_meandescending     LayoutPolarAngularaxisCategoryorder = "mean descending"
	LayoutPolarAngularaxisCategoryorder_medianascending    LayoutPolarAngularaxisCategoryorder = "median ascending"
	LayoutPolarAngularaxisCategoryorder_mediandescending   LayoutPolarAngularaxisCategoryorder = "median descending"
)

type LayoutPolarAngularaxisDirection

type LayoutPolarAngularaxisDirection string

LayoutPolarAngularaxisDirection Sets the direction corresponding to positive angles.

const (
	LayoutPolarAngularaxisDirection_counterclockwise LayoutPolarAngularaxisDirection = "counterclockwise"
	LayoutPolarAngularaxisDirection_clockwise        LayoutPolarAngularaxisDirection = "clockwise"
)

type LayoutPolarAngularaxisExponentformat

type LayoutPolarAngularaxisExponentformat string

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.

const (
	LayoutPolarAngularaxisExponentformat_none  LayoutPolarAngularaxisExponentformat = "none"
	LayoutPolarAngularaxisExponentformat_e     LayoutPolarAngularaxisExponentformat = "e"
	LayoutPolarAngularaxisExponentformat_E     LayoutPolarAngularaxisExponentformat = "E"
	LayoutPolarAngularaxisExponentformat_power LayoutPolarAngularaxisExponentformat = "power"
	LayoutPolarAngularaxisExponentformat_SI    LayoutPolarAngularaxisExponentformat = "SI"
	LayoutPolarAngularaxisExponentformat_B     LayoutPolarAngularaxisExponentformat = "B"
)

type LayoutPolarAngularaxisLayer

type LayoutPolarAngularaxisLayer string

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.

const (
	LayoutPolarAngularaxisLayer_abovetraces LayoutPolarAngularaxisLayer = "above traces"
	LayoutPolarAngularaxisLayer_belowtraces LayoutPolarAngularaxisLayer = "below traces"
)

type LayoutPolarAngularaxisShowexponent

type LayoutPolarAngularaxisShowexponent string

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.

const (
	LayoutPolarAngularaxisShowexponent_all   LayoutPolarAngularaxisShowexponent = "all"
	LayoutPolarAngularaxisShowexponent_first LayoutPolarAngularaxisShowexponent = "first"
	LayoutPolarAngularaxisShowexponent_last  LayoutPolarAngularaxisShowexponent = "last"
	LayoutPolarAngularaxisShowexponent_none  LayoutPolarAngularaxisShowexponent = "none"
)

type LayoutPolarAngularaxisShowtickprefix

type LayoutPolarAngularaxisShowtickprefix string

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.

const (
	LayoutPolarAngularaxisShowtickprefix_all   LayoutPolarAngularaxisShowtickprefix = "all"
	LayoutPolarAngularaxisShowtickprefix_first LayoutPolarAngularaxisShowtickprefix = "first"
	LayoutPolarAngularaxisShowtickprefix_last  LayoutPolarAngularaxisShowtickprefix = "last"
	LayoutPolarAngularaxisShowtickprefix_none  LayoutPolarAngularaxisShowtickprefix = "none"
)

type LayoutPolarAngularaxisShowticksuffix

type LayoutPolarAngularaxisShowticksuffix string

LayoutPolarAngularaxisShowticksuffix Same as `showtickprefix` but for tick suffixes.

const (
	LayoutPolarAngularaxisShowticksuffix_all   LayoutPolarAngularaxisShowticksuffix = "all"
	LayoutPolarAngularaxisShowticksuffix_first LayoutPolarAngularaxisShowticksuffix = "first"
	LayoutPolarAngularaxisShowticksuffix_last  LayoutPolarAngularaxisShowticksuffix = "last"
	LayoutPolarAngularaxisShowticksuffix_none  LayoutPolarAngularaxisShowticksuffix = "none"
)

type LayoutPolarAngularaxisThetaunit

type LayoutPolarAngularaxisThetaunit string

LayoutPolarAngularaxisThetaunit Sets the format unit of the formatted *theta* values. Has an effect only when `angularaxis.type` is *linear*.

const (
	LayoutPolarAngularaxisThetaunit_radians LayoutPolarAngularaxisThetaunit = "radians"
	LayoutPolarAngularaxisThetaunit_degrees LayoutPolarAngularaxisThetaunit = "degrees"
)

type LayoutPolarAngularaxisTickfont

type LayoutPolarAngularaxisTickfont struct {

	// Color color <no value>
	Color String `json:"color,omitempty"`

	// Family string HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.
	Family String `json:"family,omitempty"`

	// Size number <no value>
	Size float64 `json:"size,omitempty"`
}

type LayoutPolarAngularaxisTickformatstops

type LayoutPolarAngularaxisTickformatstops interface{}

LayoutPolarAngularaxisTickformatstops It's an items array and what goes inside it's... messy... check the docs Here is a hint to help you to define your own type tickformatstop

dtickrange
editType
enabled
name
role
templateitemname
value

type LayoutPolarAngularaxisTickmode

type LayoutPolarAngularaxisTickmode string

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).

const (
	LayoutPolarAngularaxisTickmode_auto   LayoutPolarAngularaxisTickmode = "auto"
	LayoutPolarAngularaxisTickmode_linear LayoutPolarAngularaxisTickmode = "linear"
	LayoutPolarAngularaxisTickmode_array  LayoutPolarAngularaxisTickmode = "array"
)

type LayoutPolarAngularaxisTicks

type LayoutPolarAngularaxisTicks string

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.

const (
	LayoutPolarAngularaxisTicks_outside LayoutPolarAngularaxisTicks = "outside"
	LayoutPolarAngularaxisTicks_inside  LayoutPolarAngularaxisTicks = "inside"
)

type LayoutPolarAngularaxisType

type LayoutPolarAngularaxisType string

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.

const (
	LayoutPolarAngularaxisType__        LayoutPolarAngularaxisType = "-"
	LayoutPolarAngularaxisType_linear   LayoutPolarAngularaxisType = "linear"
	LayoutPolarAngularaxisType_category LayoutPolarAngularaxisType = "category"
)

type LayoutPolarDomain

type LayoutPolarDomain struct {

	// Column 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 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 info_array Sets the horizontal domain of this polar subplot (in plot fraction).
	X interface{} `json:"x,omitempty"`

	// Y info_array Sets the vertical domain of this polar subplot (in plot fraction).
	Y interface{} `json:"y,omitempty"`
}

type LayoutPolarGridshape

type LayoutPolarGridshape string

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).

const (
	LayoutPolarGridshape_circular LayoutPolarGridshape = "circular"
	LayoutPolarGridshape_linear   LayoutPolarGridshape = "linear"
)

type LayoutPolarRadialaxis

type LayoutPolarRadialaxis struct {

	// Angle 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 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 LayoutPolarRadialaxisAutorange `json:"autorange,omitempty"`

	// Autotypenumbers 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 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 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 string Sets the source reference on Chart Studio Cloud for  categoryarray .
	Categoryarraysrc String `json:"categoryarraysrc,omitempty"`

	// Categoryorder 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 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 String `json:"color,omitempty"`

	// Dtick 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<f>*, where `f` is a positive number, gives ticks linearly spaced in value (but not position). For example `tick0` = 0.1, `dtick` = *L0.5* will put ticks at 0.1, 0.6, 1.1, 1.6 etc. To show powers of 10 plus small digits between, use *D1* (all digits) or *D2* (only 2 and 5). `tick0` is ignored for *D1* and *D2*. If the axis `type` is *date*, then you must convert the time to milliseconds. For example, to set the interval between ticks to one day, set `dtick` to 86400000.0. *date* also has special values *M<n>* gives ticks spaced by a number of months. `n` must be a positive integer. To set ticks on the 15th of every third month, set `tick0` to *2000-01-15* and `dtick` to *M3*. To set ticks every 4 years, set `dtick` to *M48*
	Dtick interface{} `json:"dtick,omitempty"`

	// Exponentformat 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 color Sets the color of the grid lines.
	Gridcolor String `json:"gridcolor,omitempty"`

	// Gridwidth number Sets the width (in px) of the grid lines.
	Gridwidth float64 `json:"gridwidth,omitempty"`

	// Hoverformat 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*
	Hoverformat String `json:"hoverformat,omitempty"`

	// Layer 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 color Sets the axis line color.
	Linecolor String `json:"linecolor,omitempty"`

	// Linewidth number Sets the width (in px) of the axis line.
	Linewidth float64 `json:"linewidth,omitempty"`

	// Minexponent 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 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 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 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 boolean If "true", even 4-digit integers are separated
	Separatethousands Bool `json:"separatethousands,omitempty"`

	// Showexponent 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 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 boolean Determines whether or not a line bounding this axis is drawn.
	Showline Bool `json:"showline,omitempty"`

	// Showticklabels boolean Determines whether or not the tick labels are drawn.
	Showticklabels Bool `json:"showticklabels,omitempty"`

	// Showtickprefix 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 enumerated Same as `showtickprefix` but for tick suffixes.
	Showticksuffix LayoutPolarRadialaxisShowticksuffix `json:"showticksuffix,omitempty"`

	// Side enumerated Determines on which side of radial axis line the tick and tick labels appear.
	Side LayoutPolarRadialaxisSide `json:"side,omitempty"`

	// Tick0 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<f>* (see `dtick` for more info). If the axis `type` is *date*, it should be a date string, like date data. If the axis `type` is *category*, it should be a number, using the scale where each category is assigned a serial number from zero in the order it appears.
	Tick0 interface{} `json:"tick0,omitempty"`

	// Tickangle 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 color Sets the tick color.
	Tickcolor String `json:"tickcolor,omitempty"`

	// Tickfont <no value> Sets the tick font.
	Tickfont *LayoutPolarRadialaxisTickfont `json:"tickfont,omitempty"`

	// Tickformat 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*
	Tickformat String `json:"tickformat,omitempty"`

	// Tickformatstops <no value> <no value>
	Tickformatstops LayoutPolarRadialaxisTickformatstops `json:"tickformatstops,omitempty"`

	// Ticklen number Sets the tick length (in px).
	Ticklen float64 `json:"ticklen,omitempty"`

	// Tickmode 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 string Sets a tick label prefix.
	Tickprefix String `json:"tickprefix,omitempty"`

	// Ticks 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 string Sets a tick label suffix.
	Ticksuffix String `json:"ticksuffix,omitempty"`

	// Ticktext 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 string Sets the source reference on Chart Studio Cloud for  ticktext .
	Ticktextsrc String `json:"ticktextsrc,omitempty"`

	// Tickvals 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 string Sets the source reference on Chart Studio Cloud for  tickvals .
	Tickvalssrc String `json:"tickvalssrc,omitempty"`

	// Tickwidth number Sets the tick width (in px).
	Tickwidth float64 `json:"tickwidth,omitempty"`

	// Title <no value> <no value>
	Title *LayoutPolarRadialaxisTitle `json:"title,omitempty"`

	// 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 any Controls persistence of user-driven changes in axis `range`, `autorange`, `angle`, and `title` if in `editable: true` configuration. Defaults to `polar<N>.uirevision`.
	Uirevision interface{} `json:"uirevision,omitempty"`

	// Visible 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"`
}

type LayoutPolarRadialaxisAutorange

type LayoutPolarRadialaxisAutorange interface{}

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, then `autorange` is set to *false*.

var (
	LayoutPolarRadialaxisAutorange_True     LayoutPolarRadialaxisAutorange = true
	LayoutPolarRadialaxisAutorange_False    LayoutPolarRadialaxisAutorange = false
	LayoutPolarRadialaxisAutorange_reversed LayoutPolarRadialaxisAutorange = "reversed"
)

type LayoutPolarRadialaxisAutotypenumbers

type LayoutPolarRadialaxisAutotypenumbers string

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.

const (
	LayoutPolarRadialaxisAutotypenumbers_converttypes LayoutPolarRadialaxisAutotypenumbers = "convert types"
	LayoutPolarRadialaxisAutotypenumbers_strict       LayoutPolarRadialaxisAutotypenumbers = "strict"
)

type LayoutPolarRadialaxisCalendar

type LayoutPolarRadialaxisCalendar string

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`

const (
	LayoutPolarRadialaxisCalendar_gregorian  LayoutPolarRadialaxisCalendar = "gregorian"
	LayoutPolarRadialaxisCalendar_chinese    LayoutPolarRadialaxisCalendar = "chinese"
	LayoutPolarRadialaxisCalendar_coptic     LayoutPolarRadialaxisCalendar = "coptic"
	LayoutPolarRadialaxisCalendar_discworld  LayoutPolarRadialaxisCalendar = "discworld"
	LayoutPolarRadialaxisCalendar_ethiopian  LayoutPolarRadialaxisCalendar = "ethiopian"
	LayoutPolarRadialaxisCalendar_hebrew     LayoutPolarRadialaxisCalendar = "hebrew"
	LayoutPolarRadialaxisCalendar_islamic    LayoutPolarRadialaxisCalendar = "islamic"
	LayoutPolarRadialaxisCalendar_julian     LayoutPolarRadialaxisCalendar = "julian"
	LayoutPolarRadialaxisCalendar_mayan      LayoutPolarRadialaxisCalendar = "mayan"
	LayoutPolarRadialaxisCalendar_nanakshahi LayoutPolarRadialaxisCalendar = "nanakshahi"
	LayoutPolarRadialaxisCalendar_nepali     LayoutPolarRadialaxisCalendar = "nepali"
	LayoutPolarRadialaxisCalendar_persian    LayoutPolarRadialaxisCalendar = "persian"
	LayoutPolarRadialaxisCalendar_jalali     LayoutPolarRadialaxisCalendar = "jalali"
	LayoutPolarRadialaxisCalendar_taiwan     LayoutPolarRadialaxisCalendar = "taiwan"
	LayoutPolarRadialaxisCalendar_thai       LayoutPolarRadialaxisCalendar = "thai"
	LayoutPolarRadialaxisCalendar_ummalqura  LayoutPolarRadialaxisCalendar = "ummalqura"
)

type LayoutPolarRadialaxisCategoryorder

type LayoutPolarRadialaxisCategoryorder string

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.

const (
	LayoutPolarRadialaxisCategoryorder_trace              LayoutPolarRadialaxisCategoryorder = "trace"
	LayoutPolarRadialaxisCategoryorder_categoryascending  LayoutPolarRadialaxisCategoryorder = "category ascending"
	LayoutPolarRadialaxisCategoryorder_categorydescending LayoutPolarRadialaxisCategoryorder = "category descending"
	LayoutPolarRadialaxisCategoryorder_array              LayoutPolarRadialaxisCategoryorder = "array"
	LayoutPolarRadialaxisCategoryorder_totalascending     LayoutPolarRadialaxisCategoryorder = "total ascending"
	LayoutPolarRadialaxisCategoryorder_totaldescending    LayoutPolarRadialaxisCategoryorder = "total descending"
	LayoutPolarRadialaxisCategoryorder_minascending       LayoutPolarRadialaxisCategoryorder = "min ascending"
	LayoutPolarRadialaxisCategoryorder_mindescending      LayoutPolarRadialaxisCategoryorder = "min descending"
	LayoutPolarRadialaxisCategoryorder_maxascending       LayoutPolarRadialaxisCategoryorder = "max ascending"
	LayoutPolarRadialaxisCategoryorder_maxdescending      LayoutPolarRadialaxisCategoryorder = "max descending"
	LayoutPolarRadialaxisCategoryorder_sumascending       LayoutPolarRadialaxisCategoryorder = "sum ascending"
	LayoutPolarRadialaxisCategoryorder_sumdescending      LayoutPolarRadialaxisCategoryorder = "sum descending"
	LayoutPolarRadialaxisCategoryorder_meanascending      LayoutPolarRadialaxisCategoryorder = "mean ascending"
	LayoutPolarRadialaxisCategoryorder_meandescending     LayoutPolarRadialaxisCategoryorder = "mean descending"
	LayoutPolarRadialaxisCategoryorder_medianascending    LayoutPolarRadialaxisCategoryorder = "median ascending"
	LayoutPolarRadialaxisCategoryorder_mediandescending   LayoutPolarRadialaxisCategoryorder = "median descending"
)

type LayoutPolarRadialaxisExponentformat

type LayoutPolarRadialaxisExponentformat string

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.

const (
	LayoutPolarRadialaxisExponentformat_none  LayoutPolarRadialaxisExponentformat = "none"
	LayoutPolarRadialaxisExponentformat_e     LayoutPolarRadialaxisExponentformat = "e"
	LayoutPolarRadialaxisExponentformat_E     LayoutPolarRadialaxisExponentformat = "E"
	LayoutPolarRadialaxisExponentformat_power LayoutPolarRadialaxisExponentformat = "power"
	LayoutPolarRadialaxisExponentformat_SI    LayoutPolarRadialaxisExponentformat = "SI"
	LayoutPolarRadialaxisExponentformat_B     LayoutPolarRadialaxisExponentformat = "B"
)

type LayoutPolarRadialaxisLayer

type LayoutPolarRadialaxisLayer string

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.

const (
	LayoutPolarRadialaxisLayer_abovetraces LayoutPolarRadialaxisLayer = "above traces"
	LayoutPolarRadialaxisLayer_belowtraces LayoutPolarRadialaxisLayer = "below traces"
)

type LayoutPolarRadialaxisRangemode

type LayoutPolarRadialaxisRangemode string

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).

const (
	LayoutPolarRadialaxisRangemode_tozero      LayoutPolarRadialaxisRangemode = "tozero"
	LayoutPolarRadialaxisRangemode_nonnegative LayoutPolarRadialaxisRangemode = "nonnegative"
	LayoutPolarRadialaxisRangemode_normal      LayoutPolarRadialaxisRangemode = "normal"
)

type LayoutPolarRadialaxisShowexponent

type LayoutPolarRadialaxisShowexponent string

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.

const (
	LayoutPolarRadialaxisShowexponent_all   LayoutPolarRadialaxisShowexponent = "all"
	LayoutPolarRadialaxisShowexponent_first LayoutPolarRadialaxisShowexponent = "first"
	LayoutPolarRadialaxisShowexponent_last  LayoutPolarRadialaxisShowexponent = "last"
	LayoutPolarRadialaxisShowexponent_none  LayoutPolarRadialaxisShowexponent = "none"
)

type LayoutPolarRadialaxisShowtickprefix

type LayoutPolarRadialaxisShowtickprefix string

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.

const (
	LayoutPolarRadialaxisShowtickprefix_all   LayoutPolarRadialaxisShowtickprefix = "all"
	LayoutPolarRadialaxisShowtickprefix_first LayoutPolarRadialaxisShowtickprefix = "first"
	LayoutPolarRadialaxisShowtickprefix_last  LayoutPolarRadialaxisShowtickprefix = "last"
	LayoutPolarRadialaxisShowtickprefix_none  LayoutPolarRadialaxisShowtickprefix = "none"
)

type LayoutPolarRadialaxisShowticksuffix

type LayoutPolarRadialaxisShowticksuffix string

LayoutPolarRadialaxisShowticksuffix Same as `showtickprefix` but for tick suffixes.

const (
	LayoutPolarRadialaxisShowticksuffix_all   LayoutPolarRadialaxisShowticksuffix = "all"
	LayoutPolarRadialaxisShowticksuffix_first LayoutPolarRadialaxisShowticksuffix = "first"
	LayoutPolarRadialaxisShowticksuffix_last  LayoutPolarRadialaxisShowticksuffix = "last"
	LayoutPolarRadialaxisShowticksuffix_none  LayoutPolarRadialaxisShowticksuffix = "none"
)

type LayoutPolarRadialaxisSide

type LayoutPolarRadialaxisSide string

LayoutPolarRadialaxisSide Determines on which side of radial axis line the tick and tick labels appear.

const (
	LayoutPolarRadialaxisSide_clockwise        LayoutPolarRadialaxisSide = "clockwise"
	LayoutPolarRadialaxisSide_counterclockwise LayoutPolarRadialaxisSide = "counterclockwise"
)

type LayoutPolarRadialaxisTickfont

type LayoutPolarRadialaxisTickfont struct {

	// Color color <no value>
	Color String `json:"color,omitempty"`

	// Family string HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.
	Family String `json:"family,omitempty"`

	// Size number <no value>
	Size float64 `json:"size,omitempty"`
}

type LayoutPolarRadialaxisTickformatstops

type LayoutPolarRadialaxisTickformatstops interface{}

LayoutPolarRadialaxisTickformatstops It's an items array and what goes inside it's... messy... check the docs Here is a hint to help you to define your own type tickformatstop

dtickrange
editType
enabled
name
role
templateitemname
value

type LayoutPolarRadialaxisTickmode

type LayoutPolarRadialaxisTickmode string

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).

const (
	LayoutPolarRadialaxisTickmode_auto   LayoutPolarRadialaxisTickmode = "auto"
	LayoutPolarRadialaxisTickmode_linear LayoutPolarRadialaxisTickmode = "linear"
	LayoutPolarRadialaxisTickmode_array  LayoutPolarRadialaxisTickmode = "array"
)

type LayoutPolarRadialaxisTicks

type LayoutPolarRadialaxisTicks string

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.

const (
	LayoutPolarRadialaxisTicks_outside LayoutPolarRadialaxisTicks = "outside"
	LayoutPolarRadialaxisTicks_inside  LayoutPolarRadialaxisTicks = "inside"
)

type LayoutPolarRadialaxisTitle

type LayoutPolarRadialaxisTitle struct {

	// Font <no value> Sets this axis' title font. Note that the title's font used to be customized by the now deprecated `titlefont` attribute.
	Font *LayoutPolarRadialaxisTitleFont `json:"font,omitempty"`

	// Text 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"`
}

type LayoutPolarRadialaxisTitleFont

type LayoutPolarRadialaxisTitleFont struct {

	// Color color <no value>
	Color String `json:"color,omitempty"`

	// Family string HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.
	Family String `json:"family,omitempty"`

	// Size number <no value>
	Size float64 `json:"size,omitempty"`
}

type LayoutPolarRadialaxisType

type LayoutPolarRadialaxisType string

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.

const (
	LayoutPolarRadialaxisType__        LayoutPolarRadialaxisType = "-"
	LayoutPolarRadialaxisType_linear   LayoutPolarRadialaxisType = "linear"
	LayoutPolarRadialaxisType_log      LayoutPolarRadialaxisType = "log"
	LayoutPolarRadialaxisType_date     LayoutPolarRadialaxisType = "date"
	LayoutPolarRadialaxisType_category LayoutPolarRadialaxisType = "category"
)

type LayoutRadialaxis

type LayoutRadialaxis struct {

	// Domain info_array Polar chart subplots are not supported yet. This key has currently no effect.
	Domain interface{} `json:"domain,omitempty"`

	// Endpadding number Legacy polar charts are deprecated! Please switch to *polar* subplots.
	Endpadding float64 `json:"endpadding,omitempty"`

	// Orientation 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 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 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 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 color Legacy polar charts are deprecated! Please switch to *polar* subplots. Sets the color of the tick lines on this radial axis.
	Tickcolor String `json:"tickcolor,omitempty"`

	// Ticklen 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 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 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 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"`
}

type LayoutRadialaxisTickorientation

type LayoutRadialaxisTickorientation string

LayoutRadialaxisTickorientation Legacy polar charts are deprecated! Please switch to *polar* subplots. Sets the orientation (from the paper perspective) of the radial axis tick labels.

const (
	LayoutRadialaxisTickorientation_horizontal LayoutRadialaxisTickorientation = "horizontal"
	LayoutRadialaxisTickorientation_vertical   LayoutRadialaxisTickorientation = "vertical"
)

type LayoutScene

type LayoutScene struct {

	// Annotations <no value> <no value>
	Annotations LayoutSceneAnnotations `json:"annotations,omitempty"`

	// Aspectmode 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 <no value> Sets this scene's axis aspectratio.
	Aspectratio *LayoutSceneAspectratio `json:"aspectratio,omitempty"`

	// Bgcolor color <no value>
	Bgcolor String `json:"bgcolor,omitempty"`

	// Camera <no value> <no value>
	Camera *LayoutSceneCamera `json:"camera,omitempty"`

	// Domain <no value> <no value>
	Domain *LayoutSceneDomain `json:"domain,omitempty"`

	// Dragmode enumerated Determines the mode of drag interactions for this scene.
	Dragmode LayoutSceneDragmode `json:"dragmode,omitempty"`

	// Hovermode enumerated Determines the mode of hover interactions for this scene.
	Hovermode LayoutSceneHovermode `json:"hovermode,omitempty"`

	// Uirevision any Controls persistence of user-driven changes in camera attributes. Defaults to `layout.uirevision`.
	Uirevision interface{} `json:"uirevision,omitempty"`

	// Xaxis <no value> <no value>
	Xaxis *LayoutSceneXaxis `json:"xaxis,omitempty"`

	// Yaxis <no value> <no value>
	Yaxis *LayoutSceneYaxis `json:"yaxis,omitempty"`

	// Zaxis <no value> <no value>
	Zaxis *LayoutSceneZaxis `json:"zaxis,omitempty"`
}

type LayoutSceneAnnotations

type LayoutSceneAnnotations interface{}

LayoutSceneAnnotations It's an items array and what goes inside it's... messy... check the docs Here is a hint to help you to define your own type annotation

align
arrowcolor
arrowhead
arrowside
arrowsize
arrowwidth
ax
ay
bgcolor
bordercolor
borderpad
borderwidth
captureevents
editType
font
height
hoverlabel
hovertext
name
opacity
role
showarrow
standoff
startarrowhead
startarrowsize
startstandoff
templateitemname
text
textangle
valign
visible
width
x
xanchor
xshift
y
yanchor
yshift
z

type LayoutSceneAspectmode

type LayoutSceneAspectmode string

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.

const (
	LayoutSceneAspectmode_auto   LayoutSceneAspectmode = "auto"
	LayoutSceneAspectmode_cube   LayoutSceneAspectmode = "cube"
	LayoutSceneAspectmode_data   LayoutSceneAspectmode = "data"
	LayoutSceneAspectmode_manual LayoutSceneAspectmode = "manual"
)

type LayoutSceneAspectratio

type LayoutSceneAspectratio struct {

	// ImpliedEdits <no value> <no value>
	ImpliedEdits *LayoutSceneAspectratioImpliededits `json:"impliedEdits,omitempty"`

	// X number <no value>
	X float64 `json:"x,omitempty"`

	// Y number <no value>
	Y float64 `json:"y,omitempty"`

	// Z number <no value>
	Z float64 `json:"z,omitempty"`
}

type LayoutSceneAspectratioImpliededits

type LayoutSceneAspectratioImpliededits struct {
}

type LayoutSceneCamera

type LayoutSceneCamera struct {

	// Center <no value> 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.
	Center *LayoutSceneCameraCenter `json:"center,omitempty"`

	// Eye <no value> Sets the (x,y,z) components of the 'eye' camera vector. This vector determines the view point about the origin of this scene.
	Eye *LayoutSceneCameraEye `json:"eye,omitempty"`

	// Projection <no value> <no value>
	Projection *LayoutSceneCameraProjection `json:"projection,omitempty"`

	// Up <no value> 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.
	Up *LayoutSceneCameraUp `json:"up,omitempty"`
}

type LayoutSceneCameraCenter

type LayoutSceneCameraCenter struct {

	// X number <no value>
	X float64 `json:"x,omitempty"`

	// Y number <no value>
	Y float64 `json:"y,omitempty"`

	// Z number <no value>
	Z float64 `json:"z,omitempty"`
}

type LayoutSceneCameraEye

type LayoutSceneCameraEye struct {

	// X number <no value>
	X float64 `json:"x,omitempty"`

	// Y number <no value>
	Y float64 `json:"y,omitempty"`

	// Z number <no value>
	Z float64 `json:"z,omitempty"`
}

type LayoutSceneCameraProjection

type LayoutSceneCameraProjection struct {

	// Type enumerated Sets the projection type. The projection type could be either *perspective* or *orthographic*. The default is *perspective*.
	Type LayoutSceneCameraProjectionType `json:"type,omitempty"`
}

type LayoutSceneCameraProjectionType

type LayoutSceneCameraProjectionType string

LayoutSceneCameraProjectionType Sets the projection type. The projection type could be either *perspective* or *orthographic*. The default is *perspective*.

const (
	LayoutSceneCameraProjectionType_perspective  LayoutSceneCameraProjectionType = "perspective"
	LayoutSceneCameraProjectionType_orthographic LayoutSceneCameraProjectionType = "orthographic"
)

type LayoutSceneCameraUp

type LayoutSceneCameraUp struct {

	// X number <no value>
	X float64 `json:"x,omitempty"`

	// Y number <no value>
	Y float64 `json:"y,omitempty"`

	// Z number <no value>
	Z float64 `json:"z,omitempty"`
}

type LayoutSceneDomain

type LayoutSceneDomain struct {

	// Column 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 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 info_array Sets the horizontal domain of this scene subplot (in plot fraction).
	X interface{} `json:"x,omitempty"`

	// Y info_array Sets the vertical domain of this scene subplot (in plot fraction).
	Y interface{} `json:"y,omitempty"`
}

type LayoutSceneDragmode

type LayoutSceneDragmode interface{}

LayoutSceneDragmode Determines the mode of drag interactions for this scene.

var (
	LayoutSceneDragmode_orbit     LayoutSceneDragmode = "orbit"
	LayoutSceneDragmode_turntable LayoutSceneDragmode = "turntable"
	LayoutSceneDragmode_zoom      LayoutSceneDragmode = "zoom"
	LayoutSceneDragmode_pan       LayoutSceneDragmode = "pan"
	LayoutSceneDragmode_False     LayoutSceneDragmode = false
)

type LayoutSceneHovermode

type LayoutSceneHovermode interface{}

LayoutSceneHovermode Determines the mode of hover interactions for this scene.

var (
	LayoutSceneHovermode_closest LayoutSceneHovermode = "closest"
	LayoutSceneHovermode_False   LayoutSceneHovermode = false
)

type LayoutSceneXaxis

type LayoutSceneXaxis struct {

	// Autorange 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 LayoutSceneXaxisAutorange `json:"autorange,omitempty"`

	// Autotypenumbers 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 color Sets the background color of this axis' wall.
	Backgroundcolor String `json:"backgroundcolor,omitempty"`

	// Calendar 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 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 string Sets the source reference on Chart Studio Cloud for  categoryarray .
	Categoryarraysrc String `json:"categoryarraysrc,omitempty"`

	// Categoryorder 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 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 String `json:"color,omitempty"`

	// Dtick 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<f>*, where `f` is a positive number, gives ticks linearly spaced in value (but not position). For example `tick0` = 0.1, `dtick` = *L0.5* will put ticks at 0.1, 0.6, 1.1, 1.6 etc. To show powers of 10 plus small digits between, use *D1* (all digits) or *D2* (only 2 and 5). `tick0` is ignored for *D1* and *D2*. If the axis `type` is *date*, then you must convert the time to milliseconds. For example, to set the interval between ticks to one day, set `dtick` to 86400000.0. *date* also has special values *M<n>* gives ticks spaced by a number of months. `n` must be a positive integer. To set ticks on the 15th of every third month, set `tick0` to *2000-01-15* and `dtick` to *M3*. To set ticks every 4 years, set `dtick` to *M48*
	Dtick interface{} `json:"dtick,omitempty"`

	// Exponentformat 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 color Sets the color of the grid lines.
	Gridcolor String `json:"gridcolor,omitempty"`

	// Gridwidth number Sets the width (in px) of the grid lines.
	Gridwidth float64 `json:"gridwidth,omitempty"`

	// Hoverformat 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*
	Hoverformat String `json:"hoverformat,omitempty"`

	// Linecolor color Sets the axis line color.
	Linecolor String `json:"linecolor,omitempty"`

	// Linewidth number Sets the width (in px) of the axis line.
	Linewidth float64 `json:"linewidth,omitempty"`

	// Minexponent 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 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 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 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 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 boolean If "true", even 4-digit integers are separated
	Separatethousands Bool `json:"separatethousands,omitempty"`

	// Showaxeslabels boolean Sets whether or not this axis is labeled
	Showaxeslabels Bool `json:"showaxeslabels,omitempty"`

	// Showbackground boolean Sets whether or not this axis' wall has a background color.
	Showbackground Bool `json:"showbackground,omitempty"`

	// Showexponent 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 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 boolean Determines whether or not a line bounding this axis is drawn.
	Showline Bool `json:"showline,omitempty"`

	// Showspikes boolean Sets whether or not spikes starting from data points to this axis' wall are shown on hover.
	Showspikes Bool `json:"showspikes,omitempty"`

	// Showticklabels boolean Determines whether or not the tick labels are drawn.
	Showticklabels Bool `json:"showticklabels,omitempty"`

	// Showtickprefix 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 enumerated Same as `showtickprefix` but for tick suffixes.
	Showticksuffix LayoutSceneXaxisShowticksuffix `json:"showticksuffix,omitempty"`

	// Spikecolor color Sets the color of the spikes.
	Spikecolor String `json:"spikecolor,omitempty"`

	// Spikesides 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 number Sets the thickness (in px) of the spikes.
	Spikethickness float64 `json:"spikethickness,omitempty"`

	// Tick0 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<f>* (see `dtick` for more info). If the axis `type` is *date*, it should be a date string, like date data. If the axis `type` is *category*, it should be a number, using the scale where each category is assigned a serial number from zero in the order it appears.
	Tick0 interface{} `json:"tick0,omitempty"`

	// Tickangle 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 color Sets the tick color.
	Tickcolor String `json:"tickcolor,omitempty"`

	// Tickfont <no value> Sets the tick font.
	Tickfont *LayoutSceneXaxisTickfont `json:"tickfont,omitempty"`

	// Tickformat 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*
	Tickformat String `json:"tickformat,omitempty"`

	// Tickformatstops <no value> <no value>
	Tickformatstops LayoutSceneXaxisTickformatstops `json:"tickformatstops,omitempty"`

	// Ticklen number Sets the tick length (in px).
	Ticklen float64 `json:"ticklen,omitempty"`

	// Tickmode 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 string Sets a tick label prefix.
	Tickprefix String `json:"tickprefix,omitempty"`

	// Ticks 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 string Sets a tick label suffix.
	Ticksuffix String `json:"ticksuffix,omitempty"`

	// Ticktext 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 string Sets the source reference on Chart Studio Cloud for  ticktext .
	Ticktextsrc String `json:"ticktextsrc,omitempty"`

	// Tickvals 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 string Sets the source reference on Chart Studio Cloud for  tickvals .
	Tickvalssrc String `json:"tickvalssrc,omitempty"`

	// Tickwidth number Sets the tick width (in px).
	Tickwidth float64 `json:"tickwidth,omitempty"`

	// Title <no value> <no value>
	Title *LayoutSceneXaxisTitle `json:"title,omitempty"`

	// 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 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 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 color Sets the line color of the zero line.
	Zerolinecolor String `json:"zerolinecolor,omitempty"`

	// Zerolinewidth number Sets the width (in px) of the zero line.
	Zerolinewidth float64 `json:"zerolinewidth,omitempty"`
}

type LayoutSceneXaxisAutorange

type LayoutSceneXaxisAutorange interface{}

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, then `autorange` is set to *false*.

var (
	LayoutSceneXaxisAutorange_True     LayoutSceneXaxisAutorange = true
	LayoutSceneXaxisAutorange_False    LayoutSceneXaxisAutorange = false
	LayoutSceneXaxisAutorange_reversed LayoutSceneXaxisAutorange = "reversed"
)

type LayoutSceneXaxisAutotypenumbers

type LayoutSceneXaxisAutotypenumbers string

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.

const (
	LayoutSceneXaxisAutotypenumbers_converttypes LayoutSceneXaxisAutotypenumbers = "convert types"
	LayoutSceneXaxisAutotypenumbers_strict       LayoutSceneXaxisAutotypenumbers = "strict"
)

type LayoutSceneXaxisCalendar

type LayoutSceneXaxisCalendar string

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`

const (
	LayoutSceneXaxisCalendar_gregorian  LayoutSceneXaxisCalendar = "gregorian"
	LayoutSceneXaxisCalendar_chinese    LayoutSceneXaxisCalendar = "chinese"
	LayoutSceneXaxisCalendar_coptic     LayoutSceneXaxisCalendar = "coptic"
	LayoutSceneXaxisCalendar_discworld  LayoutSceneXaxisCalendar = "discworld"
	LayoutSceneXaxisCalendar_ethiopian  LayoutSceneXaxisCalendar = "ethiopian"
	LayoutSceneXaxisCalendar_hebrew     LayoutSceneXaxisCalendar = "hebrew"
	LayoutSceneXaxisCalendar_islamic    LayoutSceneXaxisCalendar = "islamic"
	LayoutSceneXaxisCalendar_julian     LayoutSceneXaxisCalendar = "julian"
	LayoutSceneXaxisCalendar_mayan      LayoutSceneXaxisCalendar = "mayan"
	LayoutSceneXaxisCalendar_nanakshahi LayoutSceneXaxisCalendar = "nanakshahi"
	LayoutSceneXaxisCalendar_nepali     LayoutSceneXaxisCalendar = "nepali"
	LayoutSceneXaxisCalendar_persian    LayoutSceneXaxisCalendar = "persian"
	LayoutSceneXaxisCalendar_jalali     LayoutSceneXaxisCalendar = "jalali"
	LayoutSceneXaxisCalendar_taiwan     LayoutSceneXaxisCalendar = "taiwan"
	LayoutSceneXaxisCalendar_thai       LayoutSceneXaxisCalendar = "thai"
	LayoutSceneXaxisCalendar_ummalqura  LayoutSceneXaxisCalendar = "ummalqura"
)

type LayoutSceneXaxisCategoryorder

type LayoutSceneXaxisCategoryorder string

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.

const (
	LayoutSceneXaxisCategoryorder_trace              LayoutSceneXaxisCategoryorder = "trace"
	LayoutSceneXaxisCategoryorder_categoryascending  LayoutSceneXaxisCategoryorder = "category ascending"
	LayoutSceneXaxisCategoryorder_categorydescending LayoutSceneXaxisCategoryorder = "category descending"
	LayoutSceneXaxisCategoryorder_array              LayoutSceneXaxisCategoryorder = "array"
	LayoutSceneXaxisCategoryorder_totalascending     LayoutSceneXaxisCategoryorder = "total ascending"
	LayoutSceneXaxisCategoryorder_totaldescending    LayoutSceneXaxisCategoryorder = "total descending"
	LayoutSceneXaxisCategoryorder_minascending       LayoutSceneXaxisCategoryorder = "min ascending"
	LayoutSceneXaxisCategoryorder_mindescending      LayoutSceneXaxisCategoryorder = "min descending"
	LayoutSceneXaxisCategoryorder_maxascending       LayoutSceneXaxisCategoryorder = "max ascending"
	LayoutSceneXaxisCategoryorder_maxdescending      LayoutSceneXaxisCategoryorder = "max descending"
	LayoutSceneXaxisCategoryorder_sumascending       LayoutSceneXaxisCategoryorder = "sum ascending"
	LayoutSceneXaxisCategoryorder_sumdescending      LayoutSceneXaxisCategoryorder = "sum descending"
	LayoutSceneXaxisCategoryorder_meanascending      LayoutSceneXaxisCategoryorder = "mean ascending"
	LayoutSceneXaxisCategoryorder_meandescending     LayoutSceneXaxisCategoryorder = "mean descending"
	LayoutSceneXaxisCategoryorder_medianascending    LayoutSceneXaxisCategoryorder = "median ascending"
	LayoutSceneXaxisCategoryorder_mediandescending   LayoutSceneXaxisCategoryorder = "median descending"
)

type LayoutSceneXaxisExponentformat

type LayoutSceneXaxisExponentformat string

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.

const (
	LayoutSceneXaxisExponentformat_none  LayoutSceneXaxisExponentformat = "none"
	LayoutSceneXaxisExponentformat_e     LayoutSceneXaxisExponentformat = "e"
	LayoutSceneXaxisExponentformat_E     LayoutSceneXaxisExponentformat = "E"
	LayoutSceneXaxisExponentformat_power LayoutSceneXaxisExponentformat = "power"
	LayoutSceneXaxisExponentformat_SI    LayoutSceneXaxisExponentformat = "SI"
	LayoutSceneXaxisExponentformat_B     LayoutSceneXaxisExponentformat = "B"
)

type LayoutSceneXaxisMirror

type LayoutSceneXaxisMirror interface{}

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.

var (
	LayoutSceneXaxisMirror_True     LayoutSceneXaxisMirror = true
	LayoutSceneXaxisMirror_ticks    LayoutSceneXaxisMirror = "ticks"
	LayoutSceneXaxisMirror_False    LayoutSceneXaxisMirror = false
	LayoutSceneXaxisMirror_all      LayoutSceneXaxisMirror = "all"
	LayoutSceneXaxisMirror_allticks LayoutSceneXaxisMirror = "allticks"
)

type LayoutSceneXaxisRangemode

type LayoutSceneXaxisRangemode string

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.

const (
	LayoutSceneXaxisRangemode_normal      LayoutSceneXaxisRangemode = "normal"
	LayoutSceneXaxisRangemode_tozero      LayoutSceneXaxisRangemode = "tozero"
	LayoutSceneXaxisRangemode_nonnegative LayoutSceneXaxisRangemode = "nonnegative"
)

type LayoutSceneXaxisShowexponent

type LayoutSceneXaxisShowexponent string

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.

const (
	LayoutSceneXaxisShowexponent_all   LayoutSceneXaxisShowexponent = "all"
	LayoutSceneXaxisShowexponent_first LayoutSceneXaxisShowexponent = "first"
	LayoutSceneXaxisShowexponent_last  LayoutSceneXaxisShowexponent = "last"
	LayoutSceneXaxisShowexponent_none  LayoutSceneXaxisShowexponent = "none"
)

type LayoutSceneXaxisShowtickprefix

type LayoutSceneXaxisShowtickprefix string

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.

const (
	LayoutSceneXaxisShowtickprefix_all   LayoutSceneXaxisShowtickprefix = "all"
	LayoutSceneXaxisShowtickprefix_first LayoutSceneXaxisShowtickprefix = "first"
	LayoutSceneXaxisShowtickprefix_last  LayoutSceneXaxisShowtickprefix = "last"
	LayoutSceneXaxisShowtickprefix_none  LayoutSceneXaxisShowtickprefix = "none"
)

type LayoutSceneXaxisShowticksuffix

type LayoutSceneXaxisShowticksuffix string

LayoutSceneXaxisShowticksuffix Same as `showtickprefix` but for tick suffixes.

const (
	LayoutSceneXaxisShowticksuffix_all   LayoutSceneXaxisShowticksuffix = "all"
	LayoutSceneXaxisShowticksuffix_first LayoutSceneXaxisShowticksuffix = "first"
	LayoutSceneXaxisShowticksuffix_last  LayoutSceneXaxisShowticksuffix = "last"
	LayoutSceneXaxisShowticksuffix_none  LayoutSceneXaxisShowticksuffix = "none"
)

type LayoutSceneXaxisTickfont

type LayoutSceneXaxisTickfont struct {

	// Color color <no value>
	Color String `json:"color,omitempty"`

	// Family string HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.
	Family String `json:"family,omitempty"`

	// Size number <no value>
	Size float64 `json:"size,omitempty"`
}

type LayoutSceneXaxisTickformatstops

type LayoutSceneXaxisTickformatstops interface{}

LayoutSceneXaxisTickformatstops It's an items array and what goes inside it's... messy... check the docs Here is a hint to help you to define your own type tickformatstop

dtickrange
editType
enabled
name
role
templateitemname
value

type LayoutSceneXaxisTickmode

type LayoutSceneXaxisTickmode string

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).

const (
	LayoutSceneXaxisTickmode_auto   LayoutSceneXaxisTickmode = "auto"
	LayoutSceneXaxisTickmode_linear LayoutSceneXaxisTickmode = "linear"
	LayoutSceneXaxisTickmode_array  LayoutSceneXaxisTickmode = "array"
)

type LayoutSceneXaxisTicks

type LayoutSceneXaxisTicks string

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.

const (
	LayoutSceneXaxisTicks_outside LayoutSceneXaxisTicks = "outside"
	LayoutSceneXaxisTicks_inside  LayoutSceneXaxisTicks = "inside"
)

type LayoutSceneXaxisTitle

type LayoutSceneXaxisTitle struct {

	// Font <no value> Sets this axis' title font. Note that the title's font used to be customized by the now deprecated `titlefont` attribute.
	Font *LayoutSceneXaxisTitleFont `json:"font,omitempty"`

	// Text 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"`
}

type LayoutSceneXaxisTitleFont

type LayoutSceneXaxisTitleFont struct {

	// Color color <no value>
	Color String `json:"color,omitempty"`

	// Family string HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.
	Family String `json:"family,omitempty"`

	// Size number <no value>
	Size float64 `json:"size,omitempty"`
}

type LayoutSceneXaxisType

type LayoutSceneXaxisType string

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.

const (
	LayoutSceneXaxisType__        LayoutSceneXaxisType = "-"
	LayoutSceneXaxisType_linear   LayoutSceneXaxisType = "linear"
	LayoutSceneXaxisType_log      LayoutSceneXaxisType = "log"
	LayoutSceneXaxisType_date     LayoutSceneXaxisType = "date"
	LayoutSceneXaxisType_category LayoutSceneXaxisType = "category"
)

type LayoutSceneYaxis

type LayoutSceneYaxis struct {

	// Autorange 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 LayoutSceneYaxisAutorange `json:"autorange,omitempty"`

	// Autotypenumbers 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 color Sets the background color of this axis' wall.
	Backgroundcolor String `json:"backgroundcolor,omitempty"`

	// Calendar 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 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 string Sets the source reference on Chart Studio Cloud for  categoryarray .
	Categoryarraysrc String `json:"categoryarraysrc,omitempty"`

	// Categoryorder 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 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 String `json:"color,omitempty"`

	// Dtick 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<f>*, where `f` is a positive number, gives ticks linearly spaced in value (but not position). For example `tick0` = 0.1, `dtick` = *L0.5* will put ticks at 0.1, 0.6, 1.1, 1.6 etc. To show powers of 10 plus small digits between, use *D1* (all digits) or *D2* (only 2 and 5). `tick0` is ignored for *D1* and *D2*. If the axis `type` is *date*, then you must convert the time to milliseconds. For example, to set the interval between ticks to one day, set `dtick` to 86400000.0. *date* also has special values *M<n>* gives ticks spaced by a number of months. `n` must be a positive integer. To set ticks on the 15th of every third month, set `tick0` to *2000-01-15* and `dtick` to *M3*. To set ticks every 4 years, set `dtick` to *M48*
	Dtick interface{} `json:"dtick,omitempty"`

	// Exponentformat 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 color Sets the color of the grid lines.
	Gridcolor String `json:"gridcolor,omitempty"`

	// Gridwidth number Sets the width (in px) of the grid lines.
	Gridwidth float64 `json:"gridwidth,omitempty"`

	// Hoverformat 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*
	Hoverformat String `json:"hoverformat,omitempty"`

	// Linecolor color Sets the axis line color.
	Linecolor String `json:"linecolor,omitempty"`

	// Linewidth number Sets the width (in px) of the axis line.
	Linewidth float64 `json:"linewidth,omitempty"`

	// Minexponent 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 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 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 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 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 boolean If "true", even 4-digit integers are separated
	Separatethousands Bool `json:"separatethousands,omitempty"`

	// Showaxeslabels boolean Sets whether or not this axis is labeled
	Showaxeslabels Bool `json:"showaxeslabels,omitempty"`

	// Showbackground boolean Sets whether or not this axis' wall has a background color.
	Showbackground Bool `json:"showbackground,omitempty"`

	// Showexponent 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 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 boolean Determines whether or not a line bounding this axis is drawn.
	Showline Bool `json:"showline,omitempty"`

	// Showspikes boolean Sets whether or not spikes starting from data points to this axis' wall are shown on hover.
	Showspikes Bool `json:"showspikes,omitempty"`

	// Showticklabels boolean Determines whether or not the tick labels are drawn.
	Showticklabels Bool `json:"showticklabels,omitempty"`

	// Showtickprefix 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 enumerated Same as `showtickprefix` but for tick suffixes.
	Showticksuffix LayoutSceneYaxisShowticksuffix `json:"showticksuffix,omitempty"`

	// Spikecolor color Sets the color of the spikes.
	Spikecolor String `json:"spikecolor,omitempty"`

	// Spikesides 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 number Sets the thickness (in px) of the spikes.
	Spikethickness float64 `json:"spikethickness,omitempty"`

	// Tick0 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<f>* (see `dtick` for more info). If the axis `type` is *date*, it should be a date string, like date data. If the axis `type` is *category*, it should be a number, using the scale where each category is assigned a serial number from zero in the order it appears.
	Tick0 interface{} `json:"tick0,omitempty"`

	// Tickangle 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 color Sets the tick color.
	Tickcolor String `json:"tickcolor,omitempty"`

	// Tickfont <no value> Sets the tick font.
	Tickfont *LayoutSceneYaxisTickfont `json:"tickfont,omitempty"`

	// Tickformat 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*
	Tickformat String `json:"tickformat,omitempty"`

	// Tickformatstops <no value> <no value>
	Tickformatstops LayoutSceneYaxisTickformatstops `json:"tickformatstops,omitempty"`

	// Ticklen number Sets the tick length (in px).
	Ticklen float64 `json:"ticklen,omitempty"`

	// Tickmode 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 string Sets a tick label prefix.
	Tickprefix String `json:"tickprefix,omitempty"`

	// Ticks 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 string Sets a tick label suffix.
	Ticksuffix String `json:"ticksuffix,omitempty"`

	// Ticktext 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 string Sets the source reference on Chart Studio Cloud for  ticktext .
	Ticktextsrc String `json:"ticktextsrc,omitempty"`

	// Tickvals 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 string Sets the source reference on Chart Studio Cloud for  tickvals .
	Tickvalssrc String `json:"tickvalssrc,omitempty"`

	// Tickwidth number Sets the tick width (in px).
	Tickwidth float64 `json:"tickwidth,omitempty"`

	// Title <no value> <no value>
	Title *LayoutSceneYaxisTitle `json:"title,omitempty"`

	// 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 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 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 color Sets the line color of the zero line.
	Zerolinecolor String `json:"zerolinecolor,omitempty"`

	// Zerolinewidth number Sets the width (in px) of the zero line.
	Zerolinewidth float64 `json:"zerolinewidth,omitempty"`
}

type LayoutSceneYaxisAutorange

type LayoutSceneYaxisAutorange interface{}

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, then `autorange` is set to *false*.

var (
	LayoutSceneYaxisAutorange_True     LayoutSceneYaxisAutorange = true
	LayoutSceneYaxisAutorange_False    LayoutSceneYaxisAutorange = false
	LayoutSceneYaxisAutorange_reversed LayoutSceneYaxisAutorange = "reversed"
)

type LayoutSceneYaxisAutotypenumbers

type LayoutSceneYaxisAutotypenumbers string

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.

const (
	LayoutSceneYaxisAutotypenumbers_converttypes LayoutSceneYaxisAutotypenumbers = "convert types"
	LayoutSceneYaxisAutotypenumbers_strict       LayoutSceneYaxisAutotypenumbers = "strict"
)

type LayoutSceneYaxisCalendar

type LayoutSceneYaxisCalendar string

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`

const (
	LayoutSceneYaxisCalendar_gregorian  LayoutSceneYaxisCalendar = "gregorian"
	LayoutSceneYaxisCalendar_chinese    LayoutSceneYaxisCalendar = "chinese"
	LayoutSceneYaxisCalendar_coptic     LayoutSceneYaxisCalendar = "coptic"
	LayoutSceneYaxisCalendar_discworld  LayoutSceneYaxisCalendar = "discworld"
	LayoutSceneYaxisCalendar_ethiopian  LayoutSceneYaxisCalendar = "ethiopian"
	LayoutSceneYaxisCalendar_hebrew     LayoutSceneYaxisCalendar = "hebrew"
	LayoutSceneYaxisCalendar_islamic    LayoutSceneYaxisCalendar = "islamic"
	LayoutSceneYaxisCalendar_julian     LayoutSceneYaxisCalendar = "julian"
	LayoutSceneYaxisCalendar_mayan      LayoutSceneYaxisCalendar = "mayan"
	LayoutSceneYaxisCalendar_nanakshahi LayoutSceneYaxisCalendar = "nanakshahi"
	LayoutSceneYaxisCalendar_nepali     LayoutSceneYaxisCalendar = "nepali"
	LayoutSceneYaxisCalendar_persian    LayoutSceneYaxisCalendar = "persian"
	LayoutSceneYaxisCalendar_jalali     LayoutSceneYaxisCalendar = "jalali"
	LayoutSceneYaxisCalendar_taiwan     LayoutSceneYaxisCalendar = "taiwan"
	LayoutSceneYaxisCalendar_thai       LayoutSceneYaxisCalendar = "thai"
	LayoutSceneYaxisCalendar_ummalqura  LayoutSceneYaxisCalendar = "ummalqura"
)

type LayoutSceneYaxisCategoryorder

type LayoutSceneYaxisCategoryorder string

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.

const (
	LayoutSceneYaxisCategoryorder_trace              LayoutSceneYaxisCategoryorder = "trace"
	LayoutSceneYaxisCategoryorder_categoryascending  LayoutSceneYaxisCategoryorder = "category ascending"
	LayoutSceneYaxisCategoryorder_categorydescending LayoutSceneYaxisCategoryorder = "category descending"
	LayoutSceneYaxisCategoryorder_array              LayoutSceneYaxisCategoryorder = "array"
	LayoutSceneYaxisCategoryorder_totalascending     LayoutSceneYaxisCategoryorder = "total ascending"
	LayoutSceneYaxisCategoryorder_totaldescending    LayoutSceneYaxisCategoryorder = "total descending"
	LayoutSceneYaxisCategoryorder_minascending       LayoutSceneYaxisCategoryorder = "min ascending"
	LayoutSceneYaxisCategoryorder_mindescending      LayoutSceneYaxisCategoryorder = "min descending"
	LayoutSceneYaxisCategoryorder_maxascending       LayoutSceneYaxisCategoryorder = "max ascending"
	LayoutSceneYaxisCategoryorder_maxdescending      LayoutSceneYaxisCategoryorder = "max descending"
	LayoutSceneYaxisCategoryorder_sumascending       LayoutSceneYaxisCategoryorder = "sum ascending"
	LayoutSceneYaxisCategoryorder_sumdescending      LayoutSceneYaxisCategoryorder = "sum descending"
	LayoutSceneYaxisCategoryorder_meanascending      LayoutSceneYaxisCategoryorder = "mean ascending"
	LayoutSceneYaxisCategoryorder_meandescending     LayoutSceneYaxisCategoryorder = "mean descending"
	LayoutSceneYaxisCategoryorder_medianascending    LayoutSceneYaxisCategoryorder = "median ascending"
	LayoutSceneYaxisCategoryorder_mediandescending   LayoutSceneYaxisCategoryorder = "median descending"
)

type LayoutSceneYaxisExponentformat

type LayoutSceneYaxisExponentformat string

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.

const (
	LayoutSceneYaxisExponentformat_none  LayoutSceneYaxisExponentformat = "none"
	LayoutSceneYaxisExponentformat_e     LayoutSceneYaxisExponentformat = "e"
	LayoutSceneYaxisExponentformat_E     LayoutSceneYaxisExponentformat = "E"
	LayoutSceneYaxisExponentformat_power LayoutSceneYaxisExponentformat = "power"
	LayoutSceneYaxisExponentformat_SI    LayoutSceneYaxisExponentformat = "SI"
	LayoutSceneYaxisExponentformat_B     LayoutSceneYaxisExponentformat = "B"
)

type LayoutSceneYaxisMirror

type LayoutSceneYaxisMirror interface{}

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.

var (
	LayoutSceneYaxisMirror_True     LayoutSceneYaxisMirror = true
	LayoutSceneYaxisMirror_ticks    LayoutSceneYaxisMirror = "ticks"
	LayoutSceneYaxisMirror_False    LayoutSceneYaxisMirror = false
	LayoutSceneYaxisMirror_all      LayoutSceneYaxisMirror = "all"
	LayoutSceneYaxisMirror_allticks LayoutSceneYaxisMirror = "allticks"
)

type LayoutSceneYaxisRangemode

type LayoutSceneYaxisRangemode string

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.

const (
	LayoutSceneYaxisRangemode_normal      LayoutSceneYaxisRangemode = "normal"
	LayoutSceneYaxisRangemode_tozero      LayoutSceneYaxisRangemode = "tozero"
	LayoutSceneYaxisRangemode_nonnegative LayoutSceneYaxisRangemode = "nonnegative"
)

type LayoutSceneYaxisShowexponent

type LayoutSceneYaxisShowexponent string

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.

const (
	LayoutSceneYaxisShowexponent_all   LayoutSceneYaxisShowexponent = "all"
	LayoutSceneYaxisShowexponent_first LayoutSceneYaxisShowexponent = "first"
	LayoutSceneYaxisShowexponent_last  LayoutSceneYaxisShowexponent = "last"
	LayoutSceneYaxisShowexponent_none  LayoutSceneYaxisShowexponent = "none"
)

type LayoutSceneYaxisShowtickprefix

type LayoutSceneYaxisShowtickprefix string

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.

const (
	LayoutSceneYaxisShowtickprefix_all   LayoutSceneYaxisShowtickprefix = "all"
	LayoutSceneYaxisShowtickprefix_first LayoutSceneYaxisShowtickprefix = "first"
	LayoutSceneYaxisShowtickprefix_last  LayoutSceneYaxisShowtickprefix = "last"
	LayoutSceneYaxisShowtickprefix_none  LayoutSceneYaxisShowtickprefix = "none"
)

type LayoutSceneYaxisShowticksuffix

type LayoutSceneYaxisShowticksuffix string

LayoutSceneYaxisShowticksuffix Same as `showtickprefix` but for tick suffixes.

const (
	LayoutSceneYaxisShowticksuffix_all   LayoutSceneYaxisShowticksuffix = "all"
	LayoutSceneYaxisShowticksuffix_first LayoutSceneYaxisShowticksuffix = "first"
	LayoutSceneYaxisShowticksuffix_last  LayoutSceneYaxisShowticksuffix = "last"
	LayoutSceneYaxisShowticksuffix_none  LayoutSceneYaxisShowticksuffix = "none"
)

type LayoutSceneYaxisTickfont

type LayoutSceneYaxisTickfont struct {

	// Color color <no value>
	Color String `json:"color,omitempty"`

	// Family string HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.
	Family String `json:"family,omitempty"`

	// Size number <no value>
	Size float64 `json:"size,omitempty"`
}

type LayoutSceneYaxisTickformatstops

type LayoutSceneYaxisTickformatstops interface{}

LayoutSceneYaxisTickformatstops It's an items array and what goes inside it's... messy... check the docs Here is a hint to help you to define your own type tickformatstop

dtickrange
editType
enabled
name
role
templateitemname
value

type LayoutSceneYaxisTickmode

type LayoutSceneYaxisTickmode string

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).

const (
	LayoutSceneYaxisTickmode_auto   LayoutSceneYaxisTickmode = "auto"
	LayoutSceneYaxisTickmode_linear LayoutSceneYaxisTickmode = "linear"
	LayoutSceneYaxisTickmode_array  LayoutSceneYaxisTickmode = "array"
)

type LayoutSceneYaxisTicks

type LayoutSceneYaxisTicks string

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.

const (
	LayoutSceneYaxisTicks_outside LayoutSceneYaxisTicks = "outside"
	LayoutSceneYaxisTicks_inside  LayoutSceneYaxisTicks = "inside"
)

type LayoutSceneYaxisTitle

type LayoutSceneYaxisTitle struct {

	// Font <no value> Sets this axis' title font. Note that the title's font used to be customized by the now deprecated `titlefont` attribute.
	Font *LayoutSceneYaxisTitleFont `json:"font,omitempty"`

	// Text 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"`
}

type LayoutSceneYaxisTitleFont

type LayoutSceneYaxisTitleFont struct {

	// Color color <no value>
	Color String `json:"color,omitempty"`

	// Family string HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.
	Family String `json:"family,omitempty"`

	// Size number <no value>
	Size float64 `json:"size,omitempty"`
}

type LayoutSceneYaxisType

type LayoutSceneYaxisType string

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.

const (
	LayoutSceneYaxisType__        LayoutSceneYaxisType = "-"
	LayoutSceneYaxisType_linear   LayoutSceneYaxisType = "linear"
	LayoutSceneYaxisType_log      LayoutSceneYaxisType = "log"
	LayoutSceneYaxisType_date     LayoutSceneYaxisType = "date"
	LayoutSceneYaxisType_category LayoutSceneYaxisType = "category"
)

type LayoutSceneZaxis

type LayoutSceneZaxis struct {

	// Autorange 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 LayoutSceneZaxisAutorange `json:"autorange,omitempty"`

	// Autotypenumbers 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 color Sets the background color of this axis' wall.
	Backgroundcolor String `json:"backgroundcolor,omitempty"`

	// Calendar 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 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 string Sets the source reference on Chart Studio Cloud for  categoryarray .
	Categoryarraysrc String `json:"categoryarraysrc,omitempty"`

	// Categoryorder 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 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 String `json:"color,omitempty"`

	// Dtick 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<f>*, where `f` is a positive number, gives ticks linearly spaced in value (but not position). For example `tick0` = 0.1, `dtick` = *L0.5* will put ticks at 0.1, 0.6, 1.1, 1.6 etc. To show powers of 10 plus small digits between, use *D1* (all digits) or *D2* (only 2 and 5). `tick0` is ignored for *D1* and *D2*. If the axis `type` is *date*, then you must convert the time to milliseconds. For example, to set the interval between ticks to one day, set `dtick` to 86400000.0. *date* also has special values *M<n>* gives ticks spaced by a number of months. `n` must be a positive integer. To set ticks on the 15th of every third month, set `tick0` to *2000-01-15* and `dtick` to *M3*. To set ticks every 4 years, set `dtick` to *M48*
	Dtick interface{} `json:"dtick,omitempty"`

	// Exponentformat 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 color Sets the color of the grid lines.
	Gridcolor String `json:"gridcolor,omitempty"`

	// Gridwidth number Sets the width (in px) of the grid lines.
	Gridwidth float64 `json:"gridwidth,omitempty"`

	// Hoverformat 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*
	Hoverformat String `json:"hoverformat,omitempty"`

	// Linecolor color Sets the axis line color.
	Linecolor String `json:"linecolor,omitempty"`

	// Linewidth number Sets the width (in px) of the axis line.
	Linewidth float64 `json:"linewidth,omitempty"`

	// Minexponent 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 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 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 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 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 boolean If "true", even 4-digit integers are separated
	Separatethousands Bool `json:"separatethousands,omitempty"`

	// Showaxeslabels boolean Sets whether or not this axis is labeled
	Showaxeslabels Bool `json:"showaxeslabels,omitempty"`

	// Showbackground boolean Sets whether or not this axis' wall has a background color.
	Showbackground Bool `json:"showbackground,omitempty"`

	// Showexponent 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 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 boolean Determines whether or not a line bounding this axis is drawn.
	Showline Bool `json:"showline,omitempty"`

	// Showspikes boolean Sets whether or not spikes starting from data points to this axis' wall are shown on hover.
	Showspikes Bool `json:"showspikes,omitempty"`

	// Showticklabels boolean Determines whether or not the tick labels are drawn.
	Showticklabels Bool `json:"showticklabels,omitempty"`

	// Showtickprefix 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 enumerated Same as `showtickprefix` but for tick suffixes.
	Showticksuffix LayoutSceneZaxisShowticksuffix `json:"showticksuffix,omitempty"`

	// Spikecolor color Sets the color of the spikes.
	Spikecolor String `json:"spikecolor,omitempty"`

	// Spikesides 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 number Sets the thickness (in px) of the spikes.
	Spikethickness float64 `json:"spikethickness,omitempty"`

	// Tick0 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<f>* (see `dtick` for more info). If the axis `type` is *date*, it should be a date string, like date data. If the axis `type` is *category*, it should be a number, using the scale where each category is assigned a serial number from zero in the order it appears.
	Tick0 interface{} `json:"tick0,omitempty"`

	// Tickangle 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 color Sets the tick color.
	Tickcolor String `json:"tickcolor,omitempty"`

	// Tickfont <no value> Sets the tick font.
	Tickfont *LayoutSceneZaxisTickfont `json:"tickfont,omitempty"`

	// Tickformat 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*
	Tickformat String `json:"tickformat,omitempty"`

	// Tickformatstops <no value> <no value>
	Tickformatstops LayoutSceneZaxisTickformatstops `json:"tickformatstops,omitempty"`

	// Ticklen number Sets the tick length (in px).
	Ticklen float64 `json:"ticklen,omitempty"`

	// Tickmode 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 string Sets a tick label prefix.
	Tickprefix String `json:"tickprefix,omitempty"`

	// Ticks 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 string Sets a tick label suffix.
	Ticksuffix String `json:"ticksuffix,omitempty"`

	// Ticktext 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 string Sets the source reference on Chart Studio Cloud for  ticktext .
	Ticktextsrc String `json:"ticktextsrc,omitempty"`

	// Tickvals 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 string Sets the source reference on Chart Studio Cloud for  tickvals .
	Tickvalssrc String `json:"tickvalssrc,omitempty"`

	// Tickwidth number Sets the tick width (in px).
	Tickwidth float64 `json:"tickwidth,omitempty"`

	// Title <no value> <no value>
	Title *LayoutSceneZaxisTitle `json:"title,omitempty"`

	// 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 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 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 color Sets the line color of the zero line.
	Zerolinecolor String `json:"zerolinecolor,omitempty"`

	// Zerolinewidth number Sets the width (in px) of the zero line.
	Zerolinewidth float64 `json:"zerolinewidth,omitempty"`
}

type LayoutSceneZaxisAutorange

type LayoutSceneZaxisAutorange interface{}

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, then `autorange` is set to *false*.

var (
	LayoutSceneZaxisAutorange_True     LayoutSceneZaxisAutorange = true
	LayoutSceneZaxisAutorange_False    LayoutSceneZaxisAutorange = false
	LayoutSceneZaxisAutorange_reversed LayoutSceneZaxisAutorange = "reversed"
)

type LayoutSceneZaxisAutotypenumbers

type LayoutSceneZaxisAutotypenumbers string

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.

const (
	LayoutSceneZaxisAutotypenumbers_converttypes LayoutSceneZaxisAutotypenumbers = "convert types"
	LayoutSceneZaxisAutotypenumbers_strict       LayoutSceneZaxisAutotypenumbers = "strict"
)

type LayoutSceneZaxisCalendar

type LayoutSceneZaxisCalendar string

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`

const (
	LayoutSceneZaxisCalendar_gregorian  LayoutSceneZaxisCalendar = "gregorian"
	LayoutSceneZaxisCalendar_chinese    LayoutSceneZaxisCalendar = "chinese"
	LayoutSceneZaxisCalendar_coptic     LayoutSceneZaxisCalendar = "coptic"
	LayoutSceneZaxisCalendar_discworld  LayoutSceneZaxisCalendar = "discworld"
	LayoutSceneZaxisCalendar_ethiopian  LayoutSceneZaxisCalendar = "ethiopian"
	LayoutSceneZaxisCalendar_hebrew     LayoutSceneZaxisCalendar = "hebrew"
	LayoutSceneZaxisCalendar_islamic    LayoutSceneZaxisCalendar = "islamic"
	LayoutSceneZaxisCalendar_julian     LayoutSceneZaxisCalendar = "julian"
	LayoutSceneZaxisCalendar_mayan      LayoutSceneZaxisCalendar = "mayan"
	LayoutSceneZaxisCalendar_nanakshahi LayoutSceneZaxisCalendar = "nanakshahi"
	LayoutSceneZaxisCalendar_nepali     LayoutSceneZaxisCalendar = "nepali"
	LayoutSceneZaxisCalendar_persian    LayoutSceneZaxisCalendar = "persian"
	LayoutSceneZaxisCalendar_jalali     LayoutSceneZaxisCalendar = "jalali"
	LayoutSceneZaxisCalendar_taiwan     LayoutSceneZaxisCalendar = "taiwan"
	LayoutSceneZaxisCalendar_thai       LayoutSceneZaxisCalendar = "thai"
	LayoutSceneZaxisCalendar_ummalqura  LayoutSceneZaxisCalendar = "ummalqura"
)

type LayoutSceneZaxisCategoryorder

type LayoutSceneZaxisCategoryorder string

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.

const (
	LayoutSceneZaxisCategoryorder_trace              LayoutSceneZaxisCategoryorder = "trace"
	LayoutSceneZaxisCategoryorder_categoryascending  LayoutSceneZaxisCategoryorder = "category ascending"
	LayoutSceneZaxisCategoryorder_categorydescending LayoutSceneZaxisCategoryorder = "category descending"
	LayoutSceneZaxisCategoryorder_array              LayoutSceneZaxisCategoryorder = "array"
	LayoutSceneZaxisCategoryorder_totalascending     LayoutSceneZaxisCategoryorder = "total ascending"
	LayoutSceneZaxisCategoryorder_totaldescending    LayoutSceneZaxisCategoryorder = "total descending"
	LayoutSceneZaxisCategoryorder_minascending       LayoutSceneZaxisCategoryorder = "min ascending"
	LayoutSceneZaxisCategoryorder_mindescending      LayoutSceneZaxisCategoryorder = "min descending"
	LayoutSceneZaxisCategoryorder_maxascending       LayoutSceneZaxisCategoryorder = "max ascending"
	LayoutSceneZaxisCategoryorder_maxdescending      LayoutSceneZaxisCategoryorder = "max descending"
	LayoutSceneZaxisCategoryorder_sumascending       LayoutSceneZaxisCategoryorder = "sum ascending"
	LayoutSceneZaxisCategoryorder_sumdescending      LayoutSceneZaxisCategoryorder = "sum descending"
	LayoutSceneZaxisCategoryorder_meanascending      LayoutSceneZaxisCategoryorder = "mean ascending"
	LayoutSceneZaxisCategoryorder_meandescending     LayoutSceneZaxisCategoryorder = "mean descending"
	LayoutSceneZaxisCategoryorder_medianascending    LayoutSceneZaxisCategoryorder = "median ascending"
	LayoutSceneZaxisCategoryorder_mediandescending   LayoutSceneZaxisCategoryorder = "median descending"
)

type LayoutSceneZaxisExponentformat

type LayoutSceneZaxisExponentformat string

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.

const (
	LayoutSceneZaxisExponentformat_none  LayoutSceneZaxisExponentformat = "none"
	LayoutSceneZaxisExponentformat_e     LayoutSceneZaxisExponentformat = "e"
	LayoutSceneZaxisExponentformat_E     LayoutSceneZaxisExponentformat = "E"
	LayoutSceneZaxisExponentformat_power LayoutSceneZaxisExponentformat = "power"
	LayoutSceneZaxisExponentformat_SI    LayoutSceneZaxisExponentformat = "SI"
	LayoutSceneZaxisExponentformat_B     LayoutSceneZaxisExponentformat = "B"
)

type LayoutSceneZaxisMirror

type LayoutSceneZaxisMirror interface{}

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.

var (
	LayoutSceneZaxisMirror_True     LayoutSceneZaxisMirror = true
	LayoutSceneZaxisMirror_ticks    LayoutSceneZaxisMirror = "ticks"
	LayoutSceneZaxisMirror_False    LayoutSceneZaxisMirror = false
	LayoutSceneZaxisMirror_all      LayoutSceneZaxisMirror = "all"
	LayoutSceneZaxisMirror_allticks LayoutSceneZaxisMirror = "allticks"
)

type LayoutSceneZaxisRangemode

type LayoutSceneZaxisRangemode string

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.

const (
	LayoutSceneZaxisRangemode_normal      LayoutSceneZaxisRangemode = "normal"
	LayoutSceneZaxisRangemode_tozero      LayoutSceneZaxisRangemode = "tozero"
	LayoutSceneZaxisRangemode_nonnegative LayoutSceneZaxisRangemode = "nonnegative"
)

type LayoutSceneZaxisShowexponent

type LayoutSceneZaxisShowexponent string

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.

const (
	LayoutSceneZaxisShowexponent_all   LayoutSceneZaxisShowexponent = "all"
	LayoutSceneZaxisShowexponent_first LayoutSceneZaxisShowexponent = "first"
	LayoutSceneZaxisShowexponent_last  LayoutSceneZaxisShowexponent = "last"
	LayoutSceneZaxisShowexponent_none  LayoutSceneZaxisShowexponent = "none"
)

type LayoutSceneZaxisShowtickprefix

type LayoutSceneZaxisShowtickprefix string

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.

const (
	LayoutSceneZaxisShowtickprefix_all   LayoutSceneZaxisShowtickprefix = "all"
	LayoutSceneZaxisShowtickprefix_first LayoutSceneZaxisShowtickprefix = "first"
	LayoutSceneZaxisShowtickprefix_last  LayoutSceneZaxisShowtickprefix = "last"
	LayoutSceneZaxisShowtickprefix_none  LayoutSceneZaxisShowtickprefix = "none"
)

type LayoutSceneZaxisShowticksuffix

type LayoutSceneZaxisShowticksuffix string

LayoutSceneZaxisShowticksuffix Same as `showtickprefix` but for tick suffixes.

const (
	LayoutSceneZaxisShowticksuffix_all   LayoutSceneZaxisShowticksuffix = "all"
	LayoutSceneZaxisShowticksuffix_first LayoutSceneZaxisShowticksuffix = "first"
	LayoutSceneZaxisShowticksuffix_last  LayoutSceneZaxisShowticksuffix = "last"
	LayoutSceneZaxisShowticksuffix_none  LayoutSceneZaxisShowticksuffix = "none"
)

type LayoutSceneZaxisTickfont

type LayoutSceneZaxisTickfont struct {

	// Color color <no value>
	Color String `json:"color,omitempty"`

	// Family string HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.
	Family String `json:"family,omitempty"`

	// Size number <no value>
	Size float64 `json:"size,omitempty"`
}

type LayoutSceneZaxisTickformatstops

type LayoutSceneZaxisTickformatstops interface{}

LayoutSceneZaxisTickformatstops It's an items array and what goes inside it's... messy... check the docs Here is a hint to help you to define your own type tickformatstop

dtickrange
editType
enabled
name
role
templateitemname
value

type LayoutSceneZaxisTickmode

type LayoutSceneZaxisTickmode string

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).

const (
	LayoutSceneZaxisTickmode_auto   LayoutSceneZaxisTickmode = "auto"
	LayoutSceneZaxisTickmode_linear LayoutSceneZaxisTickmode = "linear"
	LayoutSceneZaxisTickmode_array  LayoutSceneZaxisTickmode = "array"
)

type LayoutSceneZaxisTicks

type LayoutSceneZaxisTicks string

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.

const (
	LayoutSceneZaxisTicks_outside LayoutSceneZaxisTicks = "outside"
	LayoutSceneZaxisTicks_inside  LayoutSceneZaxisTicks = "inside"
)

type LayoutSceneZaxisTitle

type LayoutSceneZaxisTitle struct {

	// Font <no value> Sets this axis' title font. Note that the title's font used to be customized by the now deprecated `titlefont` attribute.
	Font *LayoutSceneZaxisTitleFont `json:"font,omitempty"`

	// Text 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"`
}

type LayoutSceneZaxisTitleFont

type LayoutSceneZaxisTitleFont struct {

	// Color color <no value>
	Color String `json:"color,omitempty"`

	// Family string HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.
	Family String `json:"family,omitempty"`

	// Size number <no value>
	Size float64 `json:"size,omitempty"`
}

type LayoutSceneZaxisType

type LayoutSceneZaxisType string

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.

const (
	LayoutSceneZaxisType__        LayoutSceneZaxisType = "-"
	LayoutSceneZaxisType_linear   LayoutSceneZaxisType = "linear"
	LayoutSceneZaxisType_log      LayoutSceneZaxisType = "log"
	LayoutSceneZaxisType_date     LayoutSceneZaxisType = "date"
	LayoutSceneZaxisType_category LayoutSceneZaxisType = "category"
)

type LayoutSelectdirection

type LayoutSelectdirection string

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.

const (
	LayoutSelectdirection_h   LayoutSelectdirection = "h"
	LayoutSelectdirection_v   LayoutSelectdirection = "v"
	LayoutSelectdirection_d   LayoutSelectdirection = "d"
	LayoutSelectdirection_any LayoutSelectdirection = "any"
)

type LayoutShapes

type LayoutShapes interface{}

LayoutShapes It's an items array and what goes inside it's... messy... check the docs Here is a hint to help you to define your own type shape

editType
editable
fillcolor
fillrule
layer
line
name
opacity
path
role
templateitemname
type
visible
x0
x1
xanchor
xref
xsizemode
y0
y1
yanchor
yref
ysizemode

type LayoutSliders

type LayoutSliders interface{}

LayoutSliders It's an items array and what goes inside it's... messy... check the docs Here is a hint to help you to define your own type slider

active
activebgcolor
bgcolor
bordercolor
borderwidth
currentvalue
editType
font
len
lenmode
minorticklen
name
pad
role
steps
templateitemname
tickcolor
ticklen
tickwidth
transition
visible
x
xanchor
y
yanchor

type LayoutTernary

type LayoutTernary struct {

	// Aaxis <no value> <no value>
	Aaxis *LayoutTernaryAaxis `json:"aaxis,omitempty"`

	// Baxis <no value> <no value>
	Baxis *LayoutTernaryBaxis `json:"baxis,omitempty"`

	// Bgcolor color Set the background color of the subplot
	Bgcolor String `json:"bgcolor,omitempty"`

	// Caxis <no value> <no value>
	Caxis *LayoutTernaryCaxis `json:"caxis,omitempty"`

	// Domain <no value> <no value>
	Domain *LayoutTernaryDomain `json:"domain,omitempty"`

	// Sum number The number each triplet should sum to, and the maximum range of each axis
	Sum float64 `json:"sum,omitempty"`

	// Uirevision 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"`
}

type LayoutTernaryAaxis

type LayoutTernaryAaxis struct {

	// Color 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 String `json:"color,omitempty"`

	// Dtick 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<f>*, where `f` is a positive number, gives ticks linearly spaced in value (but not position). For example `tick0` = 0.1, `dtick` = *L0.5* will put ticks at 0.1, 0.6, 1.1, 1.6 etc. To show powers of 10 plus small digits between, use *D1* (all digits) or *D2* (only 2 and 5). `tick0` is ignored for *D1* and *D2*. If the axis `type` is *date*, then you must convert the time to milliseconds. For example, to set the interval between ticks to one day, set `dtick` to 86400000.0. *date* also has special values *M<n>* gives ticks spaced by a number of months. `n` must be a positive integer. To set ticks on the 15th of every third month, set `tick0` to *2000-01-15* and `dtick` to *M3*. To set ticks every 4 years, set `dtick` to *M48*
	Dtick interface{} `json:"dtick,omitempty"`

	// Exponentformat 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 color Sets the color of the grid lines.
	Gridcolor String `json:"gridcolor,omitempty"`

	// Gridwidth number Sets the width (in px) of the grid lines.
	Gridwidth float64 `json:"gridwidth,omitempty"`

	// Hoverformat 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*
	Hoverformat String `json:"hoverformat,omitempty"`

	// Layer 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 color Sets the axis line color.
	Linecolor String `json:"linecolor,omitempty"`

	// Linewidth number Sets the width (in px) of the axis line.
	Linewidth float64 `json:"linewidth,omitempty"`

	// Min 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 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 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 boolean If "true", even 4-digit integers are separated
	Separatethousands Bool `json:"separatethousands,omitempty"`

	// Showexponent 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 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 boolean Determines whether or not a line bounding this axis is drawn.
	Showline Bool `json:"showline,omitempty"`

	// Showticklabels boolean Determines whether or not the tick labels are drawn.
	Showticklabels Bool `json:"showticklabels,omitempty"`

	// Showtickprefix 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 enumerated Same as `showtickprefix` but for tick suffixes.
	Showticksuffix LayoutTernaryAaxisShowticksuffix `json:"showticksuffix,omitempty"`

	// Tick0 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<f>* (see `dtick` for more info). If the axis `type` is *date*, it should be a date string, like date data. If the axis `type` is *category*, it should be a number, using the scale where each category is assigned a serial number from zero in the order it appears.
	Tick0 interface{} `json:"tick0,omitempty"`

	// Tickangle 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 color Sets the tick color.
	Tickcolor String `json:"tickcolor,omitempty"`

	// Tickfont <no value> Sets the tick font.
	Tickfont *LayoutTernaryAaxisTickfont `json:"tickfont,omitempty"`

	// Tickformat 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*
	Tickformat String `json:"tickformat,omitempty"`

	// Tickformatstops <no value> <no value>
	Tickformatstops LayoutTernaryAaxisTickformatstops `json:"tickformatstops,omitempty"`

	// Ticklen number Sets the tick length (in px).
	Ticklen float64 `json:"ticklen,omitempty"`

	// Tickmode 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 string Sets a tick label prefix.
	Tickprefix String `json:"tickprefix,omitempty"`

	// Ticks 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 string Sets a tick label suffix.
	Ticksuffix String `json:"ticksuffix,omitempty"`

	// Ticktext 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 string Sets the source reference on Chart Studio Cloud for  ticktext .
	Ticktextsrc String `json:"ticktextsrc,omitempty"`

	// Tickvals 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 string Sets the source reference on Chart Studio Cloud for  tickvals .
	Tickvalssrc String `json:"tickvalssrc,omitempty"`

	// Tickwidth number Sets the tick width (in px).
	Tickwidth float64 `json:"tickwidth,omitempty"`

	// Title <no value> <no value>
	Title *LayoutTernaryAaxisTitle `json:"title,omitempty"`

	// Uirevision any Controls persistence of user-driven changes in axis `min`, and `title` if in `editable: true` configuration. Defaults to `ternary<N>.uirevision`.
	Uirevision interface{} `json:"uirevision,omitempty"`
}

type LayoutTernaryAaxisExponentformat

type LayoutTernaryAaxisExponentformat string

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.

const (
	LayoutTernaryAaxisExponentformat_none  LayoutTernaryAaxisExponentformat = "none"
	LayoutTernaryAaxisExponentformat_e     LayoutTernaryAaxisExponentformat = "e"
	LayoutTernaryAaxisExponentformat_E     LayoutTernaryAaxisExponentformat = "E"
	LayoutTernaryAaxisExponentformat_power LayoutTernaryAaxisExponentformat = "power"
	LayoutTernaryAaxisExponentformat_SI    LayoutTernaryAaxisExponentformat = "SI"
	LayoutTernaryAaxisExponentformat_B     LayoutTernaryAaxisExponentformat = "B"
)

type LayoutTernaryAaxisLayer

type LayoutTernaryAaxisLayer string

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.

const (
	LayoutTernaryAaxisLayer_abovetraces LayoutTernaryAaxisLayer = "above traces"
	LayoutTernaryAaxisLayer_belowtraces LayoutTernaryAaxisLayer = "below traces"
)

type LayoutTernaryAaxisShowexponent

type LayoutTernaryAaxisShowexponent string

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.

const (
	LayoutTernaryAaxisShowexponent_all   LayoutTernaryAaxisShowexponent = "all"
	LayoutTernaryAaxisShowexponent_first LayoutTernaryAaxisShowexponent = "first"
	LayoutTernaryAaxisShowexponent_last  LayoutTernaryAaxisShowexponent = "last"
	LayoutTernaryAaxisShowexponent_none  LayoutTernaryAaxisShowexponent = "none"
)

type LayoutTernaryAaxisShowtickprefix

type LayoutTernaryAaxisShowtickprefix string

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.

const (
	LayoutTernaryAaxisShowtickprefix_all   LayoutTernaryAaxisShowtickprefix = "all"
	LayoutTernaryAaxisShowtickprefix_first LayoutTernaryAaxisShowtickprefix = "first"
	LayoutTernaryAaxisShowtickprefix_last  LayoutTernaryAaxisShowtickprefix = "last"
	LayoutTernaryAaxisShowtickprefix_none  LayoutTernaryAaxisShowtickprefix = "none"
)

type LayoutTernaryAaxisShowticksuffix

type LayoutTernaryAaxisShowticksuffix string

LayoutTernaryAaxisShowticksuffix Same as `showtickprefix` but for tick suffixes.

const (
	LayoutTernaryAaxisShowticksuffix_all   LayoutTernaryAaxisShowticksuffix = "all"
	LayoutTernaryAaxisShowticksuffix_first LayoutTernaryAaxisShowticksuffix = "first"
	LayoutTernaryAaxisShowticksuffix_last  LayoutTernaryAaxisShowticksuffix = "last"
	LayoutTernaryAaxisShowticksuffix_none  LayoutTernaryAaxisShowticksuffix = "none"
)

type LayoutTernaryAaxisTickfont

type LayoutTernaryAaxisTickfont struct {

	// Color color <no value>
	Color String `json:"color,omitempty"`

	// Family string HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.
	Family String `json:"family,omitempty"`

	// Size number <no value>
	Size float64 `json:"size,omitempty"`
}

type LayoutTernaryAaxisTickformatstops

type LayoutTernaryAaxisTickformatstops interface{}

LayoutTernaryAaxisTickformatstops It's an items array and what goes inside it's... messy... check the docs Here is a hint to help you to define your own type tickformatstop

dtickrange
editType
enabled
name
role
templateitemname
value

type LayoutTernaryAaxisTickmode

type LayoutTernaryAaxisTickmode string

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).

const (
	LayoutTernaryAaxisTickmode_auto   LayoutTernaryAaxisTickmode = "auto"
	LayoutTernaryAaxisTickmode_linear LayoutTernaryAaxisTickmode = "linear"
	LayoutTernaryAaxisTickmode_array  LayoutTernaryAaxisTickmode = "array"
)

type LayoutTernaryAaxisTicks

type LayoutTernaryAaxisTicks string

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.

const (
	LayoutTernaryAaxisTicks_outside LayoutTernaryAaxisTicks = "outside"
	LayoutTernaryAaxisTicks_inside  LayoutTernaryAaxisTicks = "inside"
)

type LayoutTernaryAaxisTitle

type LayoutTernaryAaxisTitle struct {

	// Font <no value> Sets this axis' title font. Note that the title's font used to be customized by the now deprecated `titlefont` attribute.
	Font *LayoutTernaryAaxisTitleFont `json:"font,omitempty"`

	// Text 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"`
}

type LayoutTernaryAaxisTitleFont

type LayoutTernaryAaxisTitleFont struct {

	// Color color <no value>
	Color String `json:"color,omitempty"`

	// Family string HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.
	Family String `json:"family,omitempty"`

	// Size number <no value>
	Size float64 `json:"size,omitempty"`
}

type LayoutTernaryBaxis

type LayoutTernaryBaxis struct {

	// Color 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 String `json:"color,omitempty"`

	// Dtick 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<f>*, where `f` is a positive number, gives ticks linearly spaced in value (but not position). For example `tick0` = 0.1, `dtick` = *L0.5* will put ticks at 0.1, 0.6, 1.1, 1.6 etc. To show powers of 10 plus small digits between, use *D1* (all digits) or *D2* (only 2 and 5). `tick0` is ignored for *D1* and *D2*. If the axis `type` is *date*, then you must convert the time to milliseconds. For example, to set the interval between ticks to one day, set `dtick` to 86400000.0. *date* also has special values *M<n>* gives ticks spaced by a number of months. `n` must be a positive integer. To set ticks on the 15th of every third month, set `tick0` to *2000-01-15* and `dtick` to *M3*. To set ticks every 4 years, set `dtick` to *M48*
	Dtick interface{} `json:"dtick,omitempty"`

	// Exponentformat 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 color Sets the color of the grid lines.
	Gridcolor String `json:"gridcolor,omitempty"`

	// Gridwidth number Sets the width (in px) of the grid lines.
	Gridwidth float64 `json:"gridwidth,omitempty"`

	// Hoverformat 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*
	Hoverformat String `json:"hoverformat,omitempty"`

	// Layer 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 color Sets the axis line color.
	Linecolor String `json:"linecolor,omitempty"`

	// Linewidth number Sets the width (in px) of the axis line.
	Linewidth float64 `json:"linewidth,omitempty"`

	// Min 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 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 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 boolean If "true", even 4-digit integers are separated
	Separatethousands Bool `json:"separatethousands,omitempty"`

	// Showexponent 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 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 boolean Determines whether or not a line bounding this axis is drawn.
	Showline Bool `json:"showline,omitempty"`

	// Showticklabels boolean Determines whether or not the tick labels are drawn.
	Showticklabels Bool `json:"showticklabels,omitempty"`

	// Showtickprefix 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 enumerated Same as `showtickprefix` but for tick suffixes.
	Showticksuffix LayoutTernaryBaxisShowticksuffix `json:"showticksuffix,omitempty"`

	// Tick0 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<f>* (see `dtick` for more info). If the axis `type` is *date*, it should be a date string, like date data. If the axis `type` is *category*, it should be a number, using the scale where each category is assigned a serial number from zero in the order it appears.
	Tick0 interface{} `json:"tick0,omitempty"`

	// Tickangle 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 color Sets the tick color.
	Tickcolor String `json:"tickcolor,omitempty"`

	// Tickfont <no value> Sets the tick font.
	Tickfont *LayoutTernaryBaxisTickfont `json:"tickfont,omitempty"`

	// Tickformat 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*
	Tickformat String `json:"tickformat,omitempty"`

	// Tickformatstops <no value> <no value>
	Tickformatstops LayoutTernaryBaxisTickformatstops `json:"tickformatstops,omitempty"`

	// Ticklen number Sets the tick length (in px).
	Ticklen float64 `json:"ticklen,omitempty"`

	// Tickmode 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 string Sets a tick label prefix.
	Tickprefix String `json:"tickprefix,omitempty"`

	// Ticks 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 string Sets a tick label suffix.
	Ticksuffix String `json:"ticksuffix,omitempty"`

	// Ticktext 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 string Sets the source reference on Chart Studio Cloud for  ticktext .
	Ticktextsrc String `json:"ticktextsrc,omitempty"`

	// Tickvals 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 string Sets the source reference on Chart Studio Cloud for  tickvals .
	Tickvalssrc String `json:"tickvalssrc,omitempty"`

	// Tickwidth number Sets the tick width (in px).
	Tickwidth float64 `json:"tickwidth,omitempty"`

	// Title <no value> <no value>
	Title *LayoutTernaryBaxisTitle `json:"title,omitempty"`

	// Uirevision any Controls persistence of user-driven changes in axis `min`, and `title` if in `editable: true` configuration. Defaults to `ternary<N>.uirevision`.
	Uirevision interface{} `json:"uirevision,omitempty"`
}

type LayoutTernaryBaxisExponentformat

type LayoutTernaryBaxisExponentformat string

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.

const (
	LayoutTernaryBaxisExponentformat_none  LayoutTernaryBaxisExponentformat = "none"
	LayoutTernaryBaxisExponentformat_e     LayoutTernaryBaxisExponentformat = "e"
	LayoutTernaryBaxisExponentformat_E     LayoutTernaryBaxisExponentformat = "E"
	LayoutTernaryBaxisExponentformat_power LayoutTernaryBaxisExponentformat = "power"
	LayoutTernaryBaxisExponentformat_SI    LayoutTernaryBaxisExponentformat = "SI"
	LayoutTernaryBaxisExponentformat_B     LayoutTernaryBaxisExponentformat = "B"
)

type LayoutTernaryBaxisLayer

type LayoutTernaryBaxisLayer string

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.

const (
	LayoutTernaryBaxisLayer_abovetraces LayoutTernaryBaxisLayer = "above traces"
	LayoutTernaryBaxisLayer_belowtraces LayoutTernaryBaxisLayer = "below traces"
)

type LayoutTernaryBaxisShowexponent

type LayoutTernaryBaxisShowexponent string

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.

const (
	LayoutTernaryBaxisShowexponent_all   LayoutTernaryBaxisShowexponent = "all"
	LayoutTernaryBaxisShowexponent_first LayoutTernaryBaxisShowexponent = "first"
	LayoutTernaryBaxisShowexponent_last  LayoutTernaryBaxisShowexponent = "last"
	LayoutTernaryBaxisShowexponent_none  LayoutTernaryBaxisShowexponent = "none"
)

type LayoutTernaryBaxisShowtickprefix

type LayoutTernaryBaxisShowtickprefix string

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.

const (
	LayoutTernaryBaxisShowtickprefix_all   LayoutTernaryBaxisShowtickprefix = "all"
	LayoutTernaryBaxisShowtickprefix_first LayoutTernaryBaxisShowtickprefix = "first"
	LayoutTernaryBaxisShowtickprefix_last  LayoutTernaryBaxisShowtickprefix = "last"
	LayoutTernaryBaxisShowtickprefix_none  LayoutTernaryBaxisShowtickprefix = "none"
)

type LayoutTernaryBaxisShowticksuffix

type LayoutTernaryBaxisShowticksuffix string

LayoutTernaryBaxisShowticksuffix Same as `showtickprefix` but for tick suffixes.

const (
	LayoutTernaryBaxisShowticksuffix_all   LayoutTernaryBaxisShowticksuffix = "all"
	LayoutTernaryBaxisShowticksuffix_first LayoutTernaryBaxisShowticksuffix = "first"
	LayoutTernaryBaxisShowticksuffix_last  LayoutTernaryBaxisShowticksuffix = "last"
	LayoutTernaryBaxisShowticksuffix_none  LayoutTernaryBaxisShowticksuffix = "none"
)

type LayoutTernaryBaxisTickfont

type LayoutTernaryBaxisTickfont struct {

	// Color color <no value>
	Color String `json:"color,omitempty"`

	// Family string HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.
	Family String `json:"family,omitempty"`

	// Size number <no value>
	Size float64 `json:"size,omitempty"`
}

type LayoutTernaryBaxisTickformatstops

type LayoutTernaryBaxisTickformatstops interface{}

LayoutTernaryBaxisTickformatstops It's an items array and what goes inside it's... messy... check the docs Here is a hint to help you to define your own type tickformatstop

dtickrange
editType
enabled
name
role
templateitemname
value

type LayoutTernaryBaxisTickmode

type LayoutTernaryBaxisTickmode string

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).

const (
	LayoutTernaryBaxisTickmode_auto   LayoutTernaryBaxisTickmode = "auto"
	LayoutTernaryBaxisTickmode_linear LayoutTernaryBaxisTickmode = "linear"
	LayoutTernaryBaxisTickmode_array  LayoutTernaryBaxisTickmode = "array"
)

type LayoutTernaryBaxisTicks

type LayoutTernaryBaxisTicks string

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.

const (
	LayoutTernaryBaxisTicks_outside LayoutTernaryBaxisTicks = "outside"
	LayoutTernaryBaxisTicks_inside  LayoutTernaryBaxisTicks = "inside"
)

type LayoutTernaryBaxisTitle

type LayoutTernaryBaxisTitle struct {

	// Font <no value> Sets this axis' title font. Note that the title's font used to be customized by the now deprecated `titlefont` attribute.
	Font *LayoutTernaryBaxisTitleFont `json:"font,omitempty"`

	// Text 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"`
}

type LayoutTernaryBaxisTitleFont

type LayoutTernaryBaxisTitleFont struct {

	// Color color <no value>
	Color String `json:"color,omitempty"`

	// Family string HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.
	Family String `json:"family,omitempty"`

	// Size number <no value>
	Size float64 `json:"size,omitempty"`
}

type LayoutTernaryCaxis

type LayoutTernaryCaxis struct {

	// Color 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 String `json:"color,omitempty"`

	// Dtick 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<f>*, where `f` is a positive number, gives ticks linearly spaced in value (but not position). For example `tick0` = 0.1, `dtick` = *L0.5* will put ticks at 0.1, 0.6, 1.1, 1.6 etc. To show powers of 10 plus small digits between, use *D1* (all digits) or *D2* (only 2 and 5). `tick0` is ignored for *D1* and *D2*. If the axis `type` is *date*, then you must convert the time to milliseconds. For example, to set the interval between ticks to one day, set `dtick` to 86400000.0. *date* also has special values *M<n>* gives ticks spaced by a number of months. `n` must be a positive integer. To set ticks on the 15th of every third month, set `tick0` to *2000-01-15* and `dtick` to *M3*. To set ticks every 4 years, set `dtick` to *M48*
	Dtick interface{} `json:"dtick,omitempty"`

	// Exponentformat 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 color Sets the color of the grid lines.
	Gridcolor String `json:"gridcolor,omitempty"`

	// Gridwidth number Sets the width (in px) of the grid lines.
	Gridwidth float64 `json:"gridwidth,omitempty"`

	// Hoverformat 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*
	Hoverformat String `json:"hoverformat,omitempty"`

	// Layer 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 color Sets the axis line color.
	Linecolor String `json:"linecolor,omitempty"`

	// Linewidth number Sets the width (in px) of the axis line.
	Linewidth float64 `json:"linewidth,omitempty"`

	// Min 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 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 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 boolean If "true", even 4-digit integers are separated
	Separatethousands Bool `json:"separatethousands,omitempty"`

	// Showexponent 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 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 boolean Determines whether or not a line bounding this axis is drawn.
	Showline Bool `json:"showline,omitempty"`

	// Showticklabels boolean Determines whether or not the tick labels are drawn.
	Showticklabels Bool `json:"showticklabels,omitempty"`

	// Showtickprefix 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 enumerated Same as `showtickprefix` but for tick suffixes.
	Showticksuffix LayoutTernaryCaxisShowticksuffix `json:"showticksuffix,omitempty"`

	// Tick0 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<f>* (see `dtick` for more info). If the axis `type` is *date*, it should be a date string, like date data. If the axis `type` is *category*, it should be a number, using the scale where each category is assigned a serial number from zero in the order it appears.
	Tick0 interface{} `json:"tick0,omitempty"`

	// Tickangle 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 color Sets the tick color.
	Tickcolor String `json:"tickcolor,omitempty"`

	// Tickfont <no value> Sets the tick font.
	Tickfont *LayoutTernaryCaxisTickfont `json:"tickfont,omitempty"`

	// Tickformat 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*
	Tickformat String `json:"tickformat,omitempty"`

	// Tickformatstops <no value> <no value>
	Tickformatstops LayoutTernaryCaxisTickformatstops `json:"tickformatstops,omitempty"`

	// Ticklen number Sets the tick length (in px).
	Ticklen float64 `json:"ticklen,omitempty"`

	// Tickmode 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 string Sets a tick label prefix.
	Tickprefix String `json:"tickprefix,omitempty"`

	// Ticks 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 string Sets a tick label suffix.
	Ticksuffix String `json:"ticksuffix,omitempty"`

	// Ticktext 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 string Sets the source reference on Chart Studio Cloud for  ticktext .
	Ticktextsrc String `json:"ticktextsrc,omitempty"`

	// Tickvals 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 string Sets the source reference on Chart Studio Cloud for  tickvals .
	Tickvalssrc String `json:"tickvalssrc,omitempty"`

	// Tickwidth number Sets the tick width (in px).
	Tickwidth float64 `json:"tickwidth,omitempty"`

	// Title <no value> <no value>
	Title *LayoutTernaryCaxisTitle `json:"title,omitempty"`

	// Uirevision any Controls persistence of user-driven changes in axis `min`, and `title` if in `editable: true` configuration. Defaults to `ternary<N>.uirevision`.
	Uirevision interface{} `json:"uirevision,omitempty"`
}

type LayoutTernaryCaxisExponentformat

type LayoutTernaryCaxisExponentformat string

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.

const (
	LayoutTernaryCaxisExponentformat_none  LayoutTernaryCaxisExponentformat = "none"
	LayoutTernaryCaxisExponentformat_e     LayoutTernaryCaxisExponentformat = "e"
	LayoutTernaryCaxisExponentformat_E     LayoutTernaryCaxisExponentformat = "E"
	LayoutTernaryCaxisExponentformat_power LayoutTernaryCaxisExponentformat = "power"
	LayoutTernaryCaxisExponentformat_SI    LayoutTernaryCaxisExponentformat = "SI"
	LayoutTernaryCaxisExponentformat_B     LayoutTernaryCaxisExponentformat = "B"
)

type LayoutTernaryCaxisLayer

type LayoutTernaryCaxisLayer string

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.

const (
	LayoutTernaryCaxisLayer_abovetraces LayoutTernaryCaxisLayer = "above traces"
	LayoutTernaryCaxisLayer_belowtraces LayoutTernaryCaxisLayer = "below traces"
)

type LayoutTernaryCaxisShowexponent

type LayoutTernaryCaxisShowexponent string

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.

const (
	LayoutTernaryCaxisShowexponent_all   LayoutTernaryCaxisShowexponent = "all"
	LayoutTernaryCaxisShowexponent_first LayoutTernaryCaxisShowexponent = "first"
	LayoutTernaryCaxisShowexponent_last  LayoutTernaryCaxisShowexponent = "last"
	LayoutTernaryCaxisShowexponent_none  LayoutTernaryCaxisShowexponent = "none"
)

type LayoutTernaryCaxisShowtickprefix

type LayoutTernaryCaxisShowtickprefix string

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.

const (
	LayoutTernaryCaxisShowtickprefix_all   LayoutTernaryCaxisShowtickprefix = "all"
	LayoutTernaryCaxisShowtickprefix_first LayoutTernaryCaxisShowtickprefix = "first"
	LayoutTernaryCaxisShowtickprefix_last  LayoutTernaryCaxisShowtickprefix = "last"
	LayoutTernaryCaxisShowtickprefix_none  LayoutTernaryCaxisShowtickprefix = "none"
)

type LayoutTernaryCaxisShowticksuffix

type LayoutTernaryCaxisShowticksuffix string

LayoutTernaryCaxisShowticksuffix Same as `showtickprefix` but for tick suffixes.

const (
	LayoutTernaryCaxisShowticksuffix_all   LayoutTernaryCaxisShowticksuffix = "all"
	LayoutTernaryCaxisShowticksuffix_first LayoutTernaryCaxisShowticksuffix = "first"
	LayoutTernaryCaxisShowticksuffix_last  LayoutTernaryCaxisShowticksuffix = "last"
	LayoutTernaryCaxisShowticksuffix_none  LayoutTernaryCaxisShowticksuffix = "none"
)

type LayoutTernaryCaxisTickfont

type LayoutTernaryCaxisTickfont struct {

	// Color color <no value>
	Color String `json:"color,omitempty"`

	// Family string HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.
	Family String `json:"family,omitempty"`

	// Size number <no value>
	Size float64 `json:"size,omitempty"`
}

type LayoutTernaryCaxisTickformatstops

type LayoutTernaryCaxisTickformatstops interface{}

LayoutTernaryCaxisTickformatstops It's an items array and what goes inside it's... messy... check the docs Here is a hint to help you to define your own type tickformatstop

dtickrange
editType
enabled
name
role
templateitemname
value

type LayoutTernaryCaxisTickmode

type LayoutTernaryCaxisTickmode string

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).

const (
	LayoutTernaryCaxisTickmode_auto   LayoutTernaryCaxisTickmode = "auto"
	LayoutTernaryCaxisTickmode_linear LayoutTernaryCaxisTickmode = "linear"
	LayoutTernaryCaxisTickmode_array  LayoutTernaryCaxisTickmode = "array"
)

type LayoutTernaryCaxisTicks

type LayoutTernaryCaxisTicks string

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.

const (
	LayoutTernaryCaxisTicks_outside LayoutTernaryCaxisTicks = "outside"
	LayoutTernaryCaxisTicks_inside  LayoutTernaryCaxisTicks = "inside"
)

type LayoutTernaryCaxisTitle

type LayoutTernaryCaxisTitle struct {

	// Font <no value> Sets this axis' title font. Note that the title's font used to be customized by the now deprecated `titlefont` attribute.
	Font *LayoutTernaryCaxisTitleFont `json:"font,omitempty"`

	// Text 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"`
}

type LayoutTernaryCaxisTitleFont

type LayoutTernaryCaxisTitleFont struct {

	// Color color <no value>
	Color String `json:"color,omitempty"`

	// Family string HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.
	Family String `json:"family,omitempty"`

	// Size number <no value>
	Size float64 `json:"size,omitempty"`
}

type LayoutTernaryDomain

type LayoutTernaryDomain struct {

	// Column 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 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 info_array Sets the horizontal domain of this ternary subplot (in plot fraction).
	X interface{} `json:"x,omitempty"`

	// Y info_array Sets the vertical domain of this ternary subplot (in plot fraction).
	Y interface{} `json:"y,omitempty"`
}

type LayoutTitle

type LayoutTitle struct {

	// Font <no value> Sets the title font. Note that the title's font used to be customized by the now deprecated `titlefont` attribute.
	Font *LayoutTitleFont `json:"font,omitempty"`

	// Pad <no value> 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*.
	Pad *LayoutTitlePad `json:"pad,omitempty"`

	// Text 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 number Sets the x position with respect to `xref` in normalized coordinates from *0* (left) to *1* (right).
	X float64 `json:"x,omitempty"`

	// Xanchor 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 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 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 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 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"`
}

type LayoutTitleFont

type LayoutTitleFont struct {

	// Color color <no value>
	Color String `json:"color,omitempty"`

	// Family string HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.
	Family String `json:"family,omitempty"`

	// Size number <no value>
	Size float64 `json:"size,omitempty"`
}

type LayoutTitlePad

type LayoutTitlePad struct {

	// B number The amount of padding (in px) along the bottom of the component.
	B float64 `json:"b,omitempty"`

	// L number The amount of padding (in px) on the left side of the component.
	L float64 `json:"l,omitempty"`

	// R number The amount of padding (in px) on the right side of the component.
	R float64 `json:"r,omitempty"`

	// T number The amount of padding (in px) along the top of the component.
	T float64 `json:"t,omitempty"`
}

type LayoutTitleXanchor

type LayoutTitleXanchor string

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`.

const (
	LayoutTitleXanchor_auto   LayoutTitleXanchor = "auto"
	LayoutTitleXanchor_left   LayoutTitleXanchor = "left"
	LayoutTitleXanchor_center LayoutTitleXanchor = "center"
	LayoutTitleXanchor_right  LayoutTitleXanchor = "right"
)

type LayoutTitleXref

type LayoutTitleXref string

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.

const (
	LayoutTitleXref_container LayoutTitleXref = "container"
	LayoutTitleXref_paper     LayoutTitleXref = "paper"
)

type LayoutTitleYanchor

type LayoutTitleYanchor string

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`.

const (
	LayoutTitleYanchor_auto   LayoutTitleYanchor = "auto"
	LayoutTitleYanchor_top    LayoutTitleYanchor = "top"
	LayoutTitleYanchor_middle LayoutTitleYanchor = "middle"
	LayoutTitleYanchor_bottom LayoutTitleYanchor = "bottom"
)

type LayoutTitleYref

type LayoutTitleYref string

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.

const (
	LayoutTitleYref_container LayoutTitleYref = "container"
	LayoutTitleYref_paper     LayoutTitleYref = "paper"
)

type LayoutTransition

type LayoutTransition struct {

	// Duration number The duration of the transition, in milliseconds. If equal to zero, updates are synchronous.
	Duration float64 `json:"duration,omitempty"`

	// Easing enumerated The easing function used for the transition
	Easing LayoutTransitionEasing `json:"easing,omitempty"`

	// Ordering 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"`
}

type LayoutTransitionEasing

type LayoutTransitionEasing string

LayoutTransitionEasing The easing function used for the transition

const (
	LayoutTransitionEasing_linear         LayoutTransitionEasing = "linear"
	LayoutTransitionEasing_quad           LayoutTransitionEasing = "quad"
	LayoutTransitionEasing_cubic          LayoutTransitionEasing = "cubic"
	LayoutTransitionEasing_sin            LayoutTransitionEasing = "sin"
	LayoutTransitionEasing_exp            LayoutTransitionEasing = "exp"
	LayoutTransitionEasing_circle         LayoutTransitionEasing = "circle"
	LayoutTransitionEasing_elastic        LayoutTransitionEasing = "elastic"
	LayoutTransitionEasing_back           LayoutTransitionEasing = "back"
	LayoutTransitionEasing_bounce         LayoutTransitionEasing = "bounce"
	LayoutTransitionEasing_linear_in      LayoutTransitionEasing = "linear-in"
	LayoutTransitionEasing_quad_in        LayoutTransitionEasing = "quad-in"
	LayoutTransitionEasing_cubic_in       LayoutTransitionEasing = "cubic-in"
	LayoutTransitionEasing_sin_in         LayoutTransitionEasing = "sin-in"
	LayoutTransitionEasing_exp_in         LayoutTransitionEasing = "exp-in"
	LayoutTransitionEasing_circle_in      LayoutTransitionEasing = "circle-in"
	LayoutTransitionEasing_elastic_in     LayoutTransitionEasing = "elastic-in"
	LayoutTransitionEasing_back_in        LayoutTransitionEasing = "back-in"
	LayoutTransitionEasing_bounce_in      LayoutTransitionEasing = "bounce-in"
	LayoutTransitionEasing_linear_out     LayoutTransitionEasing = "linear-out"
	LayoutTransitionEasing_quad_out       LayoutTransitionEasing = "quad-out"
	LayoutTransitionEasing_cubic_out      LayoutTransitionEasing = "cubic-out"
	LayoutTransitionEasing_sin_out        LayoutTransitionEasing = "sin-out"
	LayoutTransitionEasing_exp_out        LayoutTransitionEasing = "exp-out"
	LayoutTransitionEasing_circle_out     LayoutTransitionEasing = "circle-out"
	LayoutTransitionEasing_elastic_out    LayoutTransitionEasing = "elastic-out"
	LayoutTransitionEasing_back_out       LayoutTransitionEasing = "back-out"
	LayoutTransitionEasing_bounce_out     LayoutTransitionEasing = "bounce-out"
	LayoutTransitionEasing_linear_in_out  LayoutTransitionEasing = "linear-in-out"
	LayoutTransitionEasing_quad_in_out    LayoutTransitionEasing = "quad-in-out"
	LayoutTransitionEasing_cubic_in_out   LayoutTransitionEasing = "cubic-in-out"
	LayoutTransitionEasing_sin_in_out     LayoutTransitionEasing = "sin-in-out"
	LayoutTransitionEasing_exp_in_out     LayoutTransitionEasing = "exp-in-out"
	LayoutTransitionEasing_circle_in_out  LayoutTransitionEasing = "circle-in-out"
	LayoutTransitionEasing_elastic_in_out LayoutTransitionEasing = "elastic-in-out"
	LayoutTransitionEasing_back_in_out    LayoutTransitionEasing = "back-in-out"
	LayoutTransitionEasing_bounce_in_out  LayoutTransitionEasing = "bounce-in-out"
)

type LayoutTransitionOrdering

type LayoutTransitionOrdering string

LayoutTransitionOrdering Determines whether the figure's layout or traces smoothly transitions during updates that make both traces and layout change.

const (
	LayoutTransitionOrdering_layoutfirst LayoutTransitionOrdering = "layout first"
	LayoutTransitionOrdering_tracesfirst LayoutTransitionOrdering = "traces first"
)

type LayoutUniformtext

type LayoutUniformtext struct {

	// Minsize number Sets the minimum text size between traces of the same type.
	Minsize float64 `json:"minsize,omitempty"`

	// Mode 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"`
}

type LayoutUniformtextMode

type LayoutUniformtextMode interface{}

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.

var (
	LayoutUniformtextMode_False LayoutUniformtextMode = false
	LayoutUniformtextMode_hide  LayoutUniformtextMode = "hide"
	LayoutUniformtextMode_show  LayoutUniformtextMode = "show"
)

type LayoutUpdatemenus

type LayoutUpdatemenus interface{}

LayoutUpdatemenus It's an items array and what goes inside it's... messy... check the docs Here is a hint to help you to define your own type updatemenu

_arrayAttrRegexps
active
bgcolor
bordercolor
borderwidth
buttons
direction
editType
font
name
pad
role
showactive
templateitemname
type
visible
x
xanchor
y
yanchor

type LayoutViolinmode

type LayoutViolinmode string

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.

const (
	LayoutViolinmode_group   LayoutViolinmode = "group"
	LayoutViolinmode_overlay LayoutViolinmode = "overlay"
)

type LayoutWaterfallmode

type LayoutWaterfallmode string

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.

const (
	LayoutWaterfallmode_group   LayoutWaterfallmode = "group"
	LayoutWaterfallmode_overlay LayoutWaterfallmode = "overlay"
)

type LayoutXaxis

type LayoutXaxis struct {

	// Anchor 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 boolean Determines whether long tick labels automatically grow the figure margins.
	Automargin Bool `json:"automargin,omitempty"`

	// Autorange 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 LayoutXaxisAutorange `json:"autorange,omitempty"`

	// Autotypenumbers 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 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 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 string Sets the source reference on Chart Studio Cloud for  categoryarray .
	Categoryarraysrc String `json:"categoryarraysrc,omitempty"`

	// Categoryorder 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 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 String `json:"color,omitempty"`

	// Constrain 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 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 color Sets the color of the dividers Only has an effect on *multicategory* axes.
	Dividercolor String `json:"dividercolor,omitempty"`

	// Dividerwidth number Sets the width (in px) of the dividers Only has an effect on *multicategory* axes.
	Dividerwidth float64 `json:"dividerwidth,omitempty"`

	// Domain info_array Sets the domain of this axis (in plot fraction).
	Domain interface{} `json:"domain,omitempty"`

	// Dtick 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<f>*, where `f` is a positive number, gives ticks linearly spaced in value (but not position). For example `tick0` = 0.1, `dtick` = *L0.5* will put ticks at 0.1, 0.6, 1.1, 1.6 etc. To show powers of 10 plus small digits between, use *D1* (all digits) or *D2* (only 2 and 5). `tick0` is ignored for *D1* and *D2*. If the axis `type` is *date*, then you must convert the time to milliseconds. For example, to set the interval between ticks to one day, set `dtick` to 86400000.0. *date* also has special values *M<n>* gives ticks spaced by a number of months. `n` must be a positive integer. To set ticks on the 15th of every third month, set `tick0` to *2000-01-15* and `dtick` to *M3*. To set ticks every 4 years, set `dtick` to *M48*
	Dtick interface{} `json:"dtick,omitempty"`

	// Exponentformat 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 boolean Determines whether or not this axis is zoom-able. If true, then zoom is disabled.
	Fixedrange Bool `json:"fixedrange,omitempty"`

	// Gridcolor color Sets the color of the grid lines.
	Gridcolor String `json:"gridcolor,omitempty"`

	// Gridwidth number Sets the width (in px) of the grid lines.
	Gridwidth float64 `json:"gridwidth,omitempty"`

	// Hoverformat 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*
	Hoverformat String `json:"hoverformat,omitempty"`

	// Layer 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 color Sets the axis line color.
	Linecolor String `json:"linecolor,omitempty"`

	// Linewidth number Sets the width (in px) of the axis line.
	Linewidth float64 `json:"linewidth,omitempty"`

	// Matches 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"`

	// Minexponent 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 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 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 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 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 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"`

	// Rangebreaks <no value> <no value>
	Rangebreaks LayoutXaxisRangebreaks `json:"rangebreaks,omitempty"`

	// Rangemode 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 <no value> <no value>
	Rangeselector *LayoutXaxisRangeselector `json:"rangeselector,omitempty"`

	// Rangeslider <no value> <no value>
	Rangeslider *LayoutXaxisRangeslider `json:"rangeslider,omitempty"`

	// Scaleanchor 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.
	Scaleanchor LayoutXaxisScaleanchor `json:"scaleanchor,omitempty"`

	// Scaleratio 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 boolean If "true", even 4-digit integers are separated
	Separatethousands Bool `json:"separatethousands,omitempty"`

	// Showdividers 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 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 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 boolean Determines whether or not a line bounding this axis is drawn.
	Showline Bool `json:"showline,omitempty"`

	// Showspikes 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 boolean Determines whether or not the tick labels are drawn.
	Showticklabels Bool `json:"showticklabels,omitempty"`

	// Showtickprefix 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 enumerated Same as `showtickprefix` but for tick suffixes.
	Showticksuffix LayoutXaxisShowticksuffix `json:"showticksuffix,omitempty"`

	// Side 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 color Sets the spike color. If undefined, will use the series color
	Spikecolor String `json:"spikecolor,omitempty"`

	// Spikedash 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 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 enumerated Determines whether spikelines are stuck to the cursor or to the closest datapoints.
	Spikesnap LayoutXaxisSpikesnap `json:"spikesnap,omitempty"`

	// Spikethickness number Sets the width (in px) of the zero line.
	Spikethickness float64 `json:"spikethickness,omitempty"`

	// Tick0 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<f>* (see `dtick` for more info). If the axis `type` is *date*, it should be a date string, like date data. If the axis `type` is *category*, it should be a number, using the scale where each category is assigned a serial number from zero in the order it appears.
	Tick0 interface{} `json:"tick0,omitempty"`

	// Tickangle 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 color Sets the tick color.
	Tickcolor String `json:"tickcolor,omitempty"`

	// Tickfont <no value> Sets the tick font.
	Tickfont *LayoutXaxisTickfont `json:"tickfont,omitempty"`

	// Tickformat 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*
	Tickformat String `json:"tickformat,omitempty"`

	// Tickformatstops <no value> <no value>
	Tickformatstops LayoutXaxisTickformatstops `json:"tickformatstops,omitempty"`

	// Ticklabelmode 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"`

	// Ticklabelposition 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"`

	// Ticklen number Sets the tick length (in px).
	Ticklen float64 `json:"ticklen,omitempty"`

	// Tickmode 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 string Sets a tick label prefix.
	Tickprefix String `json:"tickprefix,omitempty"`

	// Ticks 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 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 string Sets a tick label suffix.
	Ticksuffix String `json:"ticksuffix,omitempty"`

	// Ticktext 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 string Sets the source reference on Chart Studio Cloud for  ticktext .
	Ticktextsrc String `json:"ticktextsrc,omitempty"`

	// Tickvals 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 string Sets the source reference on Chart Studio Cloud for  tickvals .
	Tickvalssrc String `json:"tickvalssrc,omitempty"`

	// Tickwidth number Sets the tick width (in px).
	Tickwidth float64 `json:"tickwidth,omitempty"`

	// Title <no value> <no value>
	Title *LayoutXaxisTitle `json:"title,omitempty"`

	// 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 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 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 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 color Sets the line color of the zero line.
	Zerolinecolor String `json:"zerolinecolor,omitempty"`

	// Zerolinewidth number Sets the width (in px) of the zero line.
	Zerolinewidth float64 `json:"zerolinewidth,omitempty"`
}

type LayoutXaxisAnchor

type LayoutXaxisAnchor string

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`.

const (
	LayoutXaxisAnchor_free                                                                                                                                                   LayoutXaxisAnchor = "free"
	LayoutXaxisAnchor_slash_cape_x_lpar__lbracket_2_9_rbracket_or_lbracket_1_9_rbracket__lbracket_0_9_rbracket_plus_rpar__question__lpar_domain_rpar__question__dollar_slash LayoutXaxisAnchor = "/^x([2-9]|[1-9][0-9]+)?( domain)?$/"
	LayoutXaxisAnchor_slash_cape_y_lpar__lbracket_2_9_rbracket_or_lbracket_1_9_rbracket__lbracket_0_9_rbracket_plus_rpar__question__lpar_domain_rpar__question__dollar_slash LayoutXaxisAnchor = "/^y([2-9]|[1-9][0-9]+)?( domain)?$/"
)

type LayoutXaxisAutorange

type LayoutXaxisAutorange interface{}

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, then `autorange` is set to *false*.

var (
	LayoutXaxisAutorange_True     LayoutXaxisAutorange = true
	LayoutXaxisAutorange_False    LayoutXaxisAutorange = false
	LayoutXaxisAutorange_reversed LayoutXaxisAutorange = "reversed"
)

type LayoutXaxisAutotypenumbers

type LayoutXaxisAutotypenumbers string

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.

const (
	LayoutXaxisAutotypenumbers_converttypes LayoutXaxisAutotypenumbers = "convert types"
	LayoutXaxisAutotypenumbers_strict       LayoutXaxisAutotypenumbers = "strict"
)

type LayoutXaxisCalendar

type LayoutXaxisCalendar string

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`

const (
	LayoutXaxisCalendar_gregorian  LayoutXaxisCalendar = "gregorian"
	LayoutXaxisCalendar_chinese    LayoutXaxisCalendar = "chinese"
	LayoutXaxisCalendar_coptic     LayoutXaxisCalendar = "coptic"
	LayoutXaxisCalendar_discworld  LayoutXaxisCalendar = "discworld"
	LayoutXaxisCalendar_ethiopian  LayoutXaxisCalendar = "ethiopian"
	LayoutXaxisCalendar_hebrew     LayoutXaxisCalendar = "hebrew"
	LayoutXaxisCalendar_islamic    LayoutXaxisCalendar = "islamic"
	LayoutXaxisCalendar_julian     LayoutXaxisCalendar = "julian"
	LayoutXaxisCalendar_mayan      LayoutXaxisCalendar = "mayan"
	LayoutXaxisCalendar_nanakshahi LayoutXaxisCalendar = "nanakshahi"
	LayoutXaxisCalendar_nepali     LayoutXaxisCalendar = "nepali"
	LayoutXaxisCalendar_persian    LayoutXaxisCalendar = "persian"
	LayoutXaxisCalendar_jalali     LayoutXaxisCalendar = "jalali"
	LayoutXaxisCalendar_taiwan     LayoutXaxisCalendar = "taiwan"
	LayoutXaxisCalendar_thai       LayoutXaxisCalendar = "thai"
	LayoutXaxisCalendar_ummalqura  LayoutXaxisCalendar = "ummalqura"
)

type LayoutXaxisCategoryorder

type LayoutXaxisCategoryorder string

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.

const (
	LayoutXaxisCategoryorder_trace              LayoutXaxisCategoryorder = "trace"
	LayoutXaxisCategoryorder_categoryascending  LayoutXaxisCategoryorder = "category ascending"
	LayoutXaxisCategoryorder_categorydescending LayoutXaxisCategoryorder = "category descending"
	LayoutXaxisCategoryorder_array              LayoutXaxisCategoryorder = "array"
	LayoutXaxisCategoryorder_totalascending     LayoutXaxisCategoryorder = "total ascending"
	LayoutXaxisCategoryorder_totaldescending    LayoutXaxisCategoryorder = "total descending"
	LayoutXaxisCategoryorder_minascending       LayoutXaxisCategoryorder = "min ascending"
	LayoutXaxisCategoryorder_mindescending      LayoutXaxisCategoryorder = "min descending"
	LayoutXaxisCategoryorder_maxascending       LayoutXaxisCategoryorder = "max ascending"
	LayoutXaxisCategoryorder_maxdescending      LayoutXaxisCategoryorder = "max descending"
	LayoutXaxisCategoryorder_sumascending       LayoutXaxisCategoryorder = "sum ascending"
	LayoutXaxisCategoryorder_sumdescending      LayoutXaxisCategoryorder = "sum descending"
	LayoutXaxisCategoryorder_meanascending      LayoutXaxisCategoryorder = "mean ascending"
	LayoutXaxisCategoryorder_meandescending     LayoutXaxisCategoryorder = "mean descending"
	LayoutXaxisCategoryorder_medianascending    LayoutXaxisCategoryorder = "median ascending"
	LayoutXaxisCategoryorder_mediandescending   LayoutXaxisCategoryorder = "median descending"
)

type LayoutXaxisConstrain

type LayoutXaxisConstrain string

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.

const (
	LayoutXaxisConstrain_range  LayoutXaxisConstrain = "range"
	LayoutXaxisConstrain_domain LayoutXaxisConstrain = "domain"
)

type LayoutXaxisConstraintoward

type LayoutXaxisConstraintoward string

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.

const (
	LayoutXaxisConstraintoward_left   LayoutXaxisConstraintoward = "left"
	LayoutXaxisConstraintoward_center LayoutXaxisConstraintoward = "center"
	LayoutXaxisConstraintoward_right  LayoutXaxisConstraintoward = "right"
	LayoutXaxisConstraintoward_top    LayoutXaxisConstraintoward = "top"
	LayoutXaxisConstraintoward_middle LayoutXaxisConstraintoward = "middle"
	LayoutXaxisConstraintoward_bottom LayoutXaxisConstraintoward = "bottom"
)

type LayoutXaxisExponentformat

type LayoutXaxisExponentformat string

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.

const (
	LayoutXaxisExponentformat_none  LayoutXaxisExponentformat = "none"
	LayoutXaxisExponentformat_e     LayoutXaxisExponentformat = "e"
	LayoutXaxisExponentformat_E     LayoutXaxisExponentformat = "E"
	LayoutXaxisExponentformat_power LayoutXaxisExponentformat = "power"
	LayoutXaxisExponentformat_SI    LayoutXaxisExponentformat = "SI"
	LayoutXaxisExponentformat_B     LayoutXaxisExponentformat = "B"
)

type LayoutXaxisLayer

type LayoutXaxisLayer string

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.

const (
	LayoutXaxisLayer_abovetraces LayoutXaxisLayer = "above traces"
	LayoutXaxisLayer_belowtraces LayoutXaxisLayer = "below traces"
)

type LayoutXaxisMatches

type LayoutXaxisMatches string

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`.

const (
	LayoutXaxisMatches_slash_cape_x_lpar__lbracket_2_9_rbracket_or_lbracket_1_9_rbracket__lbracket_0_9_rbracket_plus_rpar__question__lpar_domain_rpar__question__dollar_slash LayoutXaxisMatches = "/^x([2-9]|[1-9][0-9]+)?( domain)?$/"
	LayoutXaxisMatches_slash_cape_y_lpar__lbracket_2_9_rbracket_or_lbracket_1_9_rbracket__lbracket_0_9_rbracket_plus_rpar__question__lpar_domain_rpar__question__dollar_slash LayoutXaxisMatches = "/^y([2-9]|[1-9][0-9]+)?( domain)?$/"
)

type LayoutXaxisMirror

type LayoutXaxisMirror interface{}

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.

var (
	LayoutXaxisMirror_True     LayoutXaxisMirror = true
	LayoutXaxisMirror_ticks    LayoutXaxisMirror = "ticks"
	LayoutXaxisMirror_False    LayoutXaxisMirror = false
	LayoutXaxisMirror_all      LayoutXaxisMirror = "all"
	LayoutXaxisMirror_allticks LayoutXaxisMirror = "allticks"
)

type LayoutXaxisOverlaying

type LayoutXaxisOverlaying string

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.

const (
	LayoutXaxisOverlaying_free                                                                                                                                                   LayoutXaxisOverlaying = "free"
	LayoutXaxisOverlaying_slash_cape_x_lpar__lbracket_2_9_rbracket_or_lbracket_1_9_rbracket__lbracket_0_9_rbracket_plus_rpar__question__lpar_domain_rpar__question__dollar_slash LayoutXaxisOverlaying = "/^x([2-9]|[1-9][0-9]+)?( domain)?$/"
	LayoutXaxisOverlaying_slash_cape_y_lpar__lbracket_2_9_rbracket_or_lbracket_1_9_rbracket__lbracket_0_9_rbracket_plus_rpar__question__lpar_domain_rpar__question__dollar_slash LayoutXaxisOverlaying = "/^y([2-9]|[1-9][0-9]+)?( domain)?$/"
)

type LayoutXaxisRangebreaks

type LayoutXaxisRangebreaks interface{}

LayoutXaxisRangebreaks It's an items array and what goes inside it's... messy... check the docs Here is a hint to help you to define your own type rangebreak

bounds
dvalue
editType
enabled
name
pattern
role
templateitemname
values

type LayoutXaxisRangemode

type LayoutXaxisRangemode string

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.

const (
	LayoutXaxisRangemode_normal      LayoutXaxisRangemode = "normal"
	LayoutXaxisRangemode_tozero      LayoutXaxisRangemode = "tozero"
	LayoutXaxisRangemode_nonnegative LayoutXaxisRangemode = "nonnegative"
)

type LayoutXaxisRangeselector

type LayoutXaxisRangeselector struct {

	// Activecolor color Sets the background color of the active range selector button.
	Activecolor String `json:"activecolor,omitempty"`

	// Bgcolor color Sets the background color of the range selector buttons.
	Bgcolor String `json:"bgcolor,omitempty"`

	// Bordercolor color Sets the color of the border enclosing the range selector.
	Bordercolor String `json:"bordercolor,omitempty"`

	// Borderwidth number Sets the width (in px) of the border enclosing the range selector.
	Borderwidth float64 `json:"borderwidth,omitempty"`

	// Buttons <no value> <no value>
	Buttons LayoutXaxisRangeselectorButtons `json:"buttons,omitempty"`

	// Font <no value> Sets the font of the range selector button text.
	Font *LayoutXaxisRangeselectorFont `json:"font,omitempty"`

	// Visible 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 number Sets the x position (in normalized coordinates) of the range selector.
	X float64 `json:"x,omitempty"`

	// Xanchor 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 number Sets the y position (in normalized coordinates) of the range selector.
	Y float64 `json:"y,omitempty"`

	// Yanchor 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"`
}

type LayoutXaxisRangeselectorButtons

type LayoutXaxisRangeselectorButtons interface{}

LayoutXaxisRangeselectorButtons It's an items array and what goes inside it's... messy... check the docs Here is a hint to help you to define your own type button

count
description
editType
label
name
role
step
stepmode
templateitemname
visible

type LayoutXaxisRangeselectorFont

type LayoutXaxisRangeselectorFont struct {

	// Color color <no value>
	Color String `json:"color,omitempty"`

	// Family string HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.
	Family String `json:"family,omitempty"`

	// Size number <no value>
	Size float64 `json:"size,omitempty"`
}

type LayoutXaxisRangeselectorXanchor

type LayoutXaxisRangeselectorXanchor string

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.

const (
	LayoutXaxisRangeselectorXanchor_auto   LayoutXaxisRangeselectorXanchor = "auto"
	LayoutXaxisRangeselectorXanchor_left   LayoutXaxisRangeselectorXanchor = "left"
	LayoutXaxisRangeselectorXanchor_center LayoutXaxisRangeselectorXanchor = "center"
	LayoutXaxisRangeselectorXanchor_right  LayoutXaxisRangeselectorXanchor = "right"
)

type LayoutXaxisRangeselectorYanchor

type LayoutXaxisRangeselectorYanchor string

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.

const (
	LayoutXaxisRangeselectorYanchor_auto   LayoutXaxisRangeselectorYanchor = "auto"
	LayoutXaxisRangeselectorYanchor_top    LayoutXaxisRangeselectorYanchor = "top"
	LayoutXaxisRangeselectorYanchor_middle LayoutXaxisRangeselectorYanchor = "middle"
	LayoutXaxisRangeselectorYanchor_bottom LayoutXaxisRangeselectorYanchor = "bottom"
)

type LayoutXaxisRangeslider

type LayoutXaxisRangeslider struct {

	// Autorange 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 color Sets the background color of the range slider.
	Bgcolor String `json:"bgcolor,omitempty"`

	// Bordercolor color Sets the border color of the range slider.
	Bordercolor String `json:"bordercolor,omitempty"`

	// Borderwidth integer Sets the border width of the range slider.
	Borderwidth int64 `json:"borderwidth,omitempty"`

	// Range 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 number The height of the range slider as a fraction of the total plot area height.
	Thickness float64 `json:"thickness,omitempty"`

	// Visible 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 <no value> <no value>
	Yaxis *LayoutXaxisRangesliderYaxis `json:"yaxis,omitempty"`
}

type LayoutXaxisRangesliderYaxis

type LayoutXaxisRangesliderYaxis struct {

	// Range info_array Sets the range of this axis for the rangeslider.
	Range interface{} `json:"range,omitempty"`

	// Rangemode 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"`
}

type LayoutXaxisRangesliderYaxisRangemode

type LayoutXaxisRangesliderYaxisRangemode string

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.

const (
	LayoutXaxisRangesliderYaxisRangemode_auto  LayoutXaxisRangesliderYaxisRangemode = "auto"
	LayoutXaxisRangesliderYaxisRangemode_fixed LayoutXaxisRangesliderYaxisRangemode = "fixed"
	LayoutXaxisRangesliderYaxisRangemode_match LayoutXaxisRangesliderYaxisRangemode = "match"
)

type LayoutXaxisScaleanchor

type LayoutXaxisScaleanchor string

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.

const (
	LayoutXaxisScaleanchor_slash_cape_x_lpar__lbracket_2_9_rbracket_or_lbracket_1_9_rbracket__lbracket_0_9_rbracket_plus_rpar__question__lpar_domain_rpar__question__dollar_slash LayoutXaxisScaleanchor = "/^x([2-9]|[1-9][0-9]+)?( domain)?$/"
	LayoutXaxisScaleanchor_slash_cape_y_lpar__lbracket_2_9_rbracket_or_lbracket_1_9_rbracket__lbracket_0_9_rbracket_plus_rpar__question__lpar_domain_rpar__question__dollar_slash LayoutXaxisScaleanchor = "/^y([2-9]|[1-9][0-9]+)?( domain)?$/"
)

type LayoutXaxisShowexponent

type LayoutXaxisShowexponent string

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.

const (
	LayoutXaxisShowexponent_all   LayoutXaxisShowexponent = "all"
	LayoutXaxisShowexponent_first LayoutXaxisShowexponent = "first"
	LayoutXaxisShowexponent_last  LayoutXaxisShowexponent = "last"
	LayoutXaxisShowexponent_none  LayoutXaxisShowexponent = "none"
)

type LayoutXaxisShowtickprefix

type LayoutXaxisShowtickprefix string

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.

const (
	LayoutXaxisShowtickprefix_all   LayoutXaxisShowtickprefix = "all"
	LayoutXaxisShowtickprefix_first LayoutXaxisShowtickprefix = "first"
	LayoutXaxisShowtickprefix_last  LayoutXaxisShowtickprefix = "last"
	LayoutXaxisShowtickprefix_none  LayoutXaxisShowtickprefix = "none"
)

type LayoutXaxisShowticksuffix

type LayoutXaxisShowticksuffix string

LayoutXaxisShowticksuffix Same as `showtickprefix` but for tick suffixes.

const (
	LayoutXaxisShowticksuffix_all   LayoutXaxisShowticksuffix = "all"
	LayoutXaxisShowticksuffix_first LayoutXaxisShowticksuffix = "first"
	LayoutXaxisShowticksuffix_last  LayoutXaxisShowticksuffix = "last"
	LayoutXaxisShowticksuffix_none  LayoutXaxisShowticksuffix = "none"
)

type LayoutXaxisSide

type LayoutXaxisSide string

LayoutXaxisSide Determines whether a x (y) axis is positioned at the *bottom* (*left*) or *top* (*right*) of the plotting area.

const (
	LayoutXaxisSide_top    LayoutXaxisSide = "top"
	LayoutXaxisSide_bottom LayoutXaxisSide = "bottom"
	LayoutXaxisSide_left   LayoutXaxisSide = "left"
	LayoutXaxisSide_right  LayoutXaxisSide = "right"
)

type LayoutXaxisSpikemode

type LayoutXaxisSpikemode string
const (
	// Flags
	LayoutXaxisSpikemodeToaxis LayoutXaxisSpikemode = "toaxis"
	LayoutXaxisSpikemodeAcross LayoutXaxisSpikemode = "across"
	LayoutXaxisSpikemodeMarker LayoutXaxisSpikemode = "marker"
)

type LayoutXaxisSpikesnap

type LayoutXaxisSpikesnap string

LayoutXaxisSpikesnap Determines whether spikelines are stuck to the cursor or to the closest datapoints.

const (
	LayoutXaxisSpikesnap_data        LayoutXaxisSpikesnap = "data"
	LayoutXaxisSpikesnap_cursor      LayoutXaxisSpikesnap = "cursor"
	LayoutXaxisSpikesnap_hovereddata LayoutXaxisSpikesnap = "hovered data"
)

type LayoutXaxisTickfont

type LayoutXaxisTickfont struct {

	// Color color <no value>
	Color String `json:"color,omitempty"`

	// Family string HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.
	Family String `json:"family,omitempty"`

	// Size number <no value>
	Size float64 `json:"size,omitempty"`
}

type LayoutXaxisTickformatstops

type LayoutXaxisTickformatstops interface{}

LayoutXaxisTickformatstops It's an items array and what goes inside it's... messy... check the docs Here is a hint to help you to define your own type tickformatstop

dtickrange
editType
enabled
name
role
templateitemname
value

type LayoutXaxisTicklabelmode

type LayoutXaxisTicklabelmode string

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.

const (
	LayoutXaxisTicklabelmode_instant LayoutXaxisTicklabelmode = "instant"
	LayoutXaxisTicklabelmode_period  LayoutXaxisTicklabelmode = "period"
)

type LayoutXaxisTicklabelposition

type LayoutXaxisTicklabelposition string

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.

const (
	LayoutXaxisTicklabelposition_outside       LayoutXaxisTicklabelposition = "outside"
	LayoutXaxisTicklabelposition_inside        LayoutXaxisTicklabelposition = "inside"
	LayoutXaxisTicklabelposition_outsidetop    LayoutXaxisTicklabelposition = "outside top"
	LayoutXaxisTicklabelposition_insidetop     LayoutXaxisTicklabelposition = "inside top"
	LayoutXaxisTicklabelposition_outsideleft   LayoutXaxisTicklabelposition = "outside left"
	LayoutXaxisTicklabelposition_insideleft    LayoutXaxisTicklabelposition = "inside left"
	LayoutXaxisTicklabelposition_outsideright  LayoutXaxisTicklabelposition = "outside right"
	LayoutXaxisTicklabelposition_insideright   LayoutXaxisTicklabelposition = "inside right"
	LayoutXaxisTicklabelposition_outsidebottom LayoutXaxisTicklabelposition = "outside bottom"
	LayoutXaxisTicklabelposition_insidebottom  LayoutXaxisTicklabelposition = "inside bottom"
)

type LayoutXaxisTickmode

type LayoutXaxisTickmode string

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).

const (
	LayoutXaxisTickmode_auto   LayoutXaxisTickmode = "auto"
	LayoutXaxisTickmode_linear LayoutXaxisTickmode = "linear"
	LayoutXaxisTickmode_array  LayoutXaxisTickmode = "array"
)

type LayoutXaxisTicks

type LayoutXaxisTicks string

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.

const (
	LayoutXaxisTicks_outside LayoutXaxisTicks = "outside"
	LayoutXaxisTicks_inside  LayoutXaxisTicks = "inside"
)

type LayoutXaxisTickson

type LayoutXaxisTickson string

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.

const (
	LayoutXaxisTickson_labels     LayoutXaxisTickson = "labels"
	LayoutXaxisTickson_boundaries LayoutXaxisTickson = "boundaries"
)

type LayoutXaxisTitle

type LayoutXaxisTitle struct {

	// Font <no value> Sets this axis' title font. Note that the title's font used to be customized by the now deprecated `titlefont` attribute.
	Font *LayoutXaxisTitleFont `json:"font,omitempty"`

	// Standoff 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 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"`
}

type LayoutXaxisTitleFont

type LayoutXaxisTitleFont struct {

	// Color color <no value>
	Color String `json:"color,omitempty"`

	// Family string HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.
	Family String `json:"family,omitempty"`

	// Size number <no value>
	Size float64 `json:"size,omitempty"`
}

type LayoutXaxisType

type LayoutXaxisType string

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.

const (
	LayoutXaxisType__             LayoutXaxisType = "-"
	LayoutXaxisType_linear        LayoutXaxisType = "linear"
	LayoutXaxisType_log           LayoutXaxisType = "log"
	LayoutXaxisType_date          LayoutXaxisType = "date"
	LayoutXaxisType_category      LayoutXaxisType = "category"
	LayoutXaxisType_multicategory LayoutXaxisType = "multicategory"
)

type LayoutYaxis

type LayoutYaxis struct {

	// Anchor 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 boolean Determines whether long tick labels automatically grow the figure margins.
	Automargin Bool `json:"automargin,omitempty"`

	// Autorange 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 LayoutYaxisAutorange `json:"autorange,omitempty"`

	// Autotypenumbers 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 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 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 string Sets the source reference on Chart Studio Cloud for  categoryarray .
	Categoryarraysrc String `json:"categoryarraysrc,omitempty"`

	// Categoryorder 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 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 String `json:"color,omitempty"`

	// Constrain 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 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 color Sets the color of the dividers Only has an effect on *multicategory* axes.
	Dividercolor String `json:"dividercolor,omitempty"`

	// Dividerwidth number Sets the width (in px) of the dividers Only has an effect on *multicategory* axes.
	Dividerwidth float64 `json:"dividerwidth,omitempty"`

	// Domain info_array Sets the domain of this axis (in plot fraction).
	Domain interface{} `json:"domain,omitempty"`

	// Dtick 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<f>*, where `f` is a positive number, gives ticks linearly spaced in value (but not position). For example `tick0` = 0.1, `dtick` = *L0.5* will put ticks at 0.1, 0.6, 1.1, 1.6 etc. To show powers of 10 plus small digits between, use *D1* (all digits) or *D2* (only 2 and 5). `tick0` is ignored for *D1* and *D2*. If the axis `type` is *date*, then you must convert the time to milliseconds. For example, to set the interval between ticks to one day, set `dtick` to 86400000.0. *date* also has special values *M<n>* gives ticks spaced by a number of months. `n` must be a positive integer. To set ticks on the 15th of every third month, set `tick0` to *2000-01-15* and `dtick` to *M3*. To set ticks every 4 years, set `dtick` to *M48*
	Dtick interface{} `json:"dtick,omitempty"`

	// Exponentformat 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 boolean Determines whether or not this axis is zoom-able. If true, then zoom is disabled.
	Fixedrange Bool `json:"fixedrange,omitempty"`

	// Gridcolor color Sets the color of the grid lines.
	Gridcolor String `json:"gridcolor,omitempty"`

	// Gridwidth number Sets the width (in px) of the grid lines.
	Gridwidth float64 `json:"gridwidth,omitempty"`

	// Hoverformat 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*
	Hoverformat String `json:"hoverformat,omitempty"`

	// Layer 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 color Sets the axis line color.
	Linecolor String `json:"linecolor,omitempty"`

	// Linewidth number Sets the width (in px) of the axis line.
	Linewidth float64 `json:"linewidth,omitempty"`

	// Matches 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"`

	// Minexponent 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 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 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 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 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 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"`

	// Rangebreaks <no value> <no value>
	Rangebreaks LayoutYaxisRangebreaks `json:"rangebreaks,omitempty"`

	// Rangemode 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 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.
	Scaleanchor LayoutYaxisScaleanchor `json:"scaleanchor,omitempty"`

	// Scaleratio 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 boolean If "true", even 4-digit integers are separated
	Separatethousands Bool `json:"separatethousands,omitempty"`

	// Showdividers 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 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 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 boolean Determines whether or not a line bounding this axis is drawn.
	Showline Bool `json:"showline,omitempty"`

	// Showspikes 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 boolean Determines whether or not the tick labels are drawn.
	Showticklabels Bool `json:"showticklabels,omitempty"`

	// Showtickprefix 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 enumerated Same as `showtickprefix` but for tick suffixes.
	Showticksuffix LayoutYaxisShowticksuffix `json:"showticksuffix,omitempty"`

	// Side 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 color Sets the spike color. If undefined, will use the series color
	Spikecolor String `json:"spikecolor,omitempty"`

	// Spikedash 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 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 enumerated Determines whether spikelines are stuck to the cursor or to the closest datapoints.
	Spikesnap LayoutYaxisSpikesnap `json:"spikesnap,omitempty"`

	// Spikethickness number Sets the width (in px) of the zero line.
	Spikethickness float64 `json:"spikethickness,omitempty"`

	// Tick0 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<f>* (see `dtick` for more info). If the axis `type` is *date*, it should be a date string, like date data. If the axis `type` is *category*, it should be a number, using the scale where each category is assigned a serial number from zero in the order it appears.
	Tick0 interface{} `json:"tick0,omitempty"`

	// Tickangle 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 color Sets the tick color.
	Tickcolor String `json:"tickcolor,omitempty"`

	// Tickfont <no value> Sets the tick font.
	Tickfont *LayoutYaxisTickfont `json:"tickfont,omitempty"`

	// Tickformat 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*
	Tickformat String `json:"tickformat,omitempty"`

	// Tickformatstops <no value> <no value>
	Tickformatstops LayoutYaxisTickformatstops `json:"tickformatstops,omitempty"`

	// Ticklabelmode 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"`

	// Ticklabelposition 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"`

	// Ticklen number Sets the tick length (in px).
	Ticklen float64 `json:"ticklen,omitempty"`

	// Tickmode 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 LayoutYaxisTickmode `json:"tickmode,omitempty"`

	// Tickprefix string Sets a tick label prefix.
	Tickprefix String `json:"tickprefix,omitempty"`

	// Ticks 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 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 string Sets a tick label suffix.
	Ticksuffix String `json:"ticksuffix,omitempty"`

	// Ticktext 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 string Sets the source reference on Chart Studio Cloud for  ticktext .
	Ticktextsrc String `json:"ticktextsrc,omitempty"`

	// Tickvals 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 string Sets the source reference on Chart Studio Cloud for  tickvals .
	Tickvalssrc String `json:"tickvalssrc,omitempty"`

	// Tickwidth number Sets the tick width (in px).
	Tickwidth float64 `json:"tickwidth,omitempty"`

	// Title <no value> <no value>
	Title *LayoutYaxisTitle `json:"title,omitempty"`

	// 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 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 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 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 color Sets the line color of the zero line.
	Zerolinecolor String `json:"zerolinecolor,omitempty"`

	// Zerolinewidth number Sets the width (in px) of the zero line.
	Zerolinewidth float64 `json:"zerolinewidth,omitempty"`
}

type LayoutYaxisAnchor

type LayoutYaxisAnchor string

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`.

const (
	LayoutYaxisAnchor_free                                                                                                                                                   LayoutYaxisAnchor = "free"
	LayoutYaxisAnchor_slash_cape_x_lpar__lbracket_2_9_rbracket_or_lbracket_1_9_rbracket__lbracket_0_9_rbracket_plus_rpar__question__lpar_domain_rpar__question__dollar_slash LayoutYaxisAnchor = "/^x([2-9]|[1-9][0-9]+)?( domain)?$/"
	LayoutYaxisAnchor_slash_cape_y_lpar__lbracket_2_9_rbracket_or_lbracket_1_9_rbracket__lbracket_0_9_rbracket_plus_rpar__question__lpar_domain_rpar__question__dollar_slash LayoutYaxisAnchor = "/^y([2-9]|[1-9][0-9]+)?( domain)?$/"
)

type LayoutYaxisAutorange

type LayoutYaxisAutorange interface{}

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, then `autorange` is set to *false*.

var (
	LayoutYaxisAutorange_True     LayoutYaxisAutorange = true
	LayoutYaxisAutorange_False    LayoutYaxisAutorange = false
	LayoutYaxisAutorange_reversed LayoutYaxisAutorange = "reversed"
)

type LayoutYaxisAutotypenumbers

type LayoutYaxisAutotypenumbers string

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.

const (
	LayoutYaxisAutotypenumbers_converttypes LayoutYaxisAutotypenumbers = "convert types"
	LayoutYaxisAutotypenumbers_strict       LayoutYaxisAutotypenumbers = "strict"
)

type LayoutYaxisCalendar

type LayoutYaxisCalendar string

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`

const (
	LayoutYaxisCalendar_gregorian  LayoutYaxisCalendar = "gregorian"
	LayoutYaxisCalendar_chinese    LayoutYaxisCalendar = "chinese"
	LayoutYaxisCalendar_coptic     LayoutYaxisCalendar = "coptic"
	LayoutYaxisCalendar_discworld  LayoutYaxisCalendar = "discworld"
	LayoutYaxisCalendar_ethiopian  LayoutYaxisCalendar = "ethiopian"
	LayoutYaxisCalendar_hebrew     LayoutYaxisCalendar = "hebrew"
	LayoutYaxisCalendar_islamic    LayoutYaxisCalendar = "islamic"
	LayoutYaxisCalendar_julian     LayoutYaxisCalendar = "julian"
	LayoutYaxisCalendar_mayan      LayoutYaxisCalendar = "mayan"
	LayoutYaxisCalendar_nanakshahi LayoutYaxisCalendar = "nanakshahi"
	LayoutYaxisCalendar_nepali     LayoutYaxisCalendar = "nepali"
	LayoutYaxisCalendar_persian    LayoutYaxisCalendar = "persian"
	LayoutYaxisCalendar_jalali     LayoutYaxisCalendar = "jalali"
	LayoutYaxisCalendar_taiwan     LayoutYaxisCalendar = "taiwan"
	LayoutYaxisCalendar_thai       LayoutYaxisCalendar = "thai"
	LayoutYaxisCalendar_ummalqura  LayoutYaxisCalendar = "ummalqura"
)

type LayoutYaxisCategoryorder

type LayoutYaxisCategoryorder string

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.

const (
	LayoutYaxisCategoryorder_trace              LayoutYaxisCategoryorder = "trace"
	LayoutYaxisCategoryorder_categoryascending  LayoutYaxisCategoryorder = "category ascending"
	LayoutYaxisCategoryorder_categorydescending LayoutYaxisCategoryorder = "category descending"
	LayoutYaxisCategoryorder_array              LayoutYaxisCategoryorder = "array"
	LayoutYaxisCategoryorder_totalascending     LayoutYaxisCategoryorder = "total ascending"
	LayoutYaxisCategoryorder_totaldescending    LayoutYaxisCategoryorder = "total descending"
	LayoutYaxisCategoryorder_minascending       LayoutYaxisCategoryorder = "min ascending"
	LayoutYaxisCategoryorder_mindescending      LayoutYaxisCategoryorder = "min descending"
	LayoutYaxisCategoryorder_maxascending       LayoutYaxisCategoryorder = "max ascending"
	LayoutYaxisCategoryorder_maxdescending      LayoutYaxisCategoryorder = "max descending"
	LayoutYaxisCategoryorder_sumascending       LayoutYaxisCategoryorder = "sum ascending"
	LayoutYaxisCategoryorder_sumdescending      LayoutYaxisCategoryorder = "sum descending"
	LayoutYaxisCategoryorder_meanascending      LayoutYaxisCategoryorder = "mean ascending"
	LayoutYaxisCategoryorder_meandescending     LayoutYaxisCategoryorder = "mean descending"
	LayoutYaxisCategoryorder_medianascending    LayoutYaxisCategoryorder = "median ascending"
	LayoutYaxisCategoryorder_mediandescending   LayoutYaxisCategoryorder = "median descending"
)

type LayoutYaxisConstrain

type LayoutYaxisConstrain string

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.

const (
	LayoutYaxisConstrain_range  LayoutYaxisConstrain = "range"
	LayoutYaxisConstrain_domain LayoutYaxisConstrain = "domain"
)

type LayoutYaxisConstraintoward

type LayoutYaxisConstraintoward string

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.

const (
	LayoutYaxisConstraintoward_left   LayoutYaxisConstraintoward = "left"
	LayoutYaxisConstraintoward_center LayoutYaxisConstraintoward = "center"
	LayoutYaxisConstraintoward_right  LayoutYaxisConstraintoward = "right"
	LayoutYaxisConstraintoward_top    LayoutYaxisConstraintoward = "top"
	LayoutYaxisConstraintoward_middle LayoutYaxisConstraintoward = "middle"
	LayoutYaxisConstraintoward_bottom LayoutYaxisConstraintoward = "bottom"
)

type LayoutYaxisExponentformat

type LayoutYaxisExponentformat string

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.

const (
	LayoutYaxisExponentformat_none  LayoutYaxisExponentformat = "none"
	LayoutYaxisExponentformat_e     LayoutYaxisExponentformat = "e"
	LayoutYaxisExponentformat_E     LayoutYaxisExponentformat = "E"
	LayoutYaxisExponentformat_power LayoutYaxisExponentformat = "power"
	LayoutYaxisExponentformat_SI    LayoutYaxisExponentformat = "SI"
	LayoutYaxisExponentformat_B     LayoutYaxisExponentformat = "B"
)

type LayoutYaxisLayer

type LayoutYaxisLayer string

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.

const (
	LayoutYaxisLayer_abovetraces LayoutYaxisLayer = "above traces"
	LayoutYaxisLayer_belowtraces LayoutYaxisLayer = "below traces"
)

type LayoutYaxisMatches

type LayoutYaxisMatches string

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`.

const (
	LayoutYaxisMatches_slash_cape_x_lpar__lbracket_2_9_rbracket_or_lbracket_1_9_rbracket__lbracket_0_9_rbracket_plus_rpar__question__lpar_domain_rpar__question__dollar_slash LayoutYaxisMatches = "/^x([2-9]|[1-9][0-9]+)?( domain)?$/"
	LayoutYaxisMatches_slash_cape_y_lpar__lbracket_2_9_rbracket_or_lbracket_1_9_rbracket__lbracket_0_9_rbracket_plus_rpar__question__lpar_domain_rpar__question__dollar_slash LayoutYaxisMatches = "/^y([2-9]|[1-9][0-9]+)?( domain)?$/"
)

type LayoutYaxisMirror

type LayoutYaxisMirror interface{}

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.

var (
	LayoutYaxisMirror_True     LayoutYaxisMirror = true
	LayoutYaxisMirror_ticks    LayoutYaxisMirror = "ticks"
	LayoutYaxisMirror_False    LayoutYaxisMirror = false
	LayoutYaxisMirror_all      LayoutYaxisMirror = "all"
	LayoutYaxisMirror_allticks LayoutYaxisMirror = "allticks"
)

type LayoutYaxisOverlaying

type LayoutYaxisOverlaying string

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.

const (
	LayoutYaxisOverlaying_free                                                                                                                                                   LayoutYaxisOverlaying = "free"
	LayoutYaxisOverlaying_slash_cape_x_lpar__lbracket_2_9_rbracket_or_lbracket_1_9_rbracket__lbracket_0_9_rbracket_plus_rpar__question__lpar_domain_rpar__question__dollar_slash LayoutYaxisOverlaying = "/^x([2-9]|[1-9][0-9]+)?( domain)?$/"
	LayoutYaxisOverlaying_slash_cape_y_lpar__lbracket_2_9_rbracket_or_lbracket_1_9_rbracket__lbracket_0_9_rbracket_plus_rpar__question__lpar_domain_rpar__question__dollar_slash LayoutYaxisOverlaying = "/^y([2-9]|[1-9][0-9]+)?( domain)?$/"
)

type LayoutYaxisRangebreaks

type LayoutYaxisRangebreaks interface{}

LayoutYaxisRangebreaks It's an items array and what goes inside it's... messy... check the docs Here is a hint to help you to define your own type rangebreak

bounds
dvalue
editType
enabled
name
pattern
role
templateitemname
values

type LayoutYaxisRangemode

type LayoutYaxisRangemode string

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.

const (
	LayoutYaxisRangemode_normal      LayoutYaxisRangemode = "normal"
	LayoutYaxisRangemode_tozero      LayoutYaxisRangemode = "tozero"
	LayoutYaxisRangemode_nonnegative LayoutYaxisRangemode = "nonnegative"
)

type LayoutYaxisScaleanchor

type LayoutYaxisScaleanchor string

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.

const (
	LayoutYaxisScaleanchor_slash_cape_x_lpar__lbracket_2_9_rbracket_or_lbracket_1_9_rbracket__lbracket_0_9_rbracket_plus_rpar__question__lpar_domain_rpar__question__dollar_slash LayoutYaxisScaleanchor = "/^x([2-9]|[1-9][0-9]+)?( domain)?$/"
	LayoutYaxisScaleanchor_slash_cape_y_lpar__lbracket_2_9_rbracket_or_lbracket_1_9_rbracket__lbracket_0_9_rbracket_plus_rpar__question__lpar_domain_rpar__question__dollar_slash LayoutYaxisScaleanchor = "/^y([2-9]|[1-9][0-9]+)?( domain)?$/"
)

type LayoutYaxisShowexponent

type LayoutYaxisShowexponent string

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.

const (
	LayoutYaxisShowexponent_all   LayoutYaxisShowexponent = "all"
	LayoutYaxisShowexponent_first LayoutYaxisShowexponent = "first"
	LayoutYaxisShowexponent_last  LayoutYaxisShowexponent = "last"
	LayoutYaxisShowexponent_none  LayoutYaxisShowexponent = "none"
)

type LayoutYaxisShowtickprefix

type LayoutYaxisShowtickprefix string

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.

const (
	LayoutYaxisShowtickprefix_all   LayoutYaxisShowtickprefix = "all"
	LayoutYaxisShowtickprefix_first LayoutYaxisShowtickprefix = "first"
	LayoutYaxisShowtickprefix_last  LayoutYaxisShowtickprefix = "last"
	LayoutYaxisShowtickprefix_none  LayoutYaxisShowtickprefix = "none"
)

type LayoutYaxisShowticksuffix

type LayoutYaxisShowticksuffix string

LayoutYaxisShowticksuffix Same as `showtickprefix` but for tick suffixes.

const (
	LayoutYaxisShowticksuffix_all   LayoutYaxisShowticksuffix = "all"
	LayoutYaxisShowticksuffix_first LayoutYaxisShowticksuffix = "first"
	LayoutYaxisShowticksuffix_last  LayoutYaxisShowticksuffix = "last"
	LayoutYaxisShowticksuffix_none  LayoutYaxisShowticksuffix = "none"
)

type LayoutYaxisSide

type LayoutYaxisSide string

LayoutYaxisSide Determines whether a x (y) axis is positioned at the *bottom* (*left*) or *top* (*right*) of the plotting area.

const (
	LayoutYaxisSide_top    LayoutYaxisSide = "top"
	LayoutYaxisSide_bottom LayoutYaxisSide = "bottom"
	LayoutYaxisSide_left   LayoutYaxisSide = "left"
	LayoutYaxisSide_right  LayoutYaxisSide = "right"
)

type LayoutYaxisSpikemode

type LayoutYaxisSpikemode string
const (
	// Flags
	LayoutYaxisSpikemodeToaxis LayoutYaxisSpikemode = "toaxis"
	LayoutYaxisSpikemodeAcross LayoutYaxisSpikemode = "across"
	LayoutYaxisSpikemodeMarker LayoutYaxisSpikemode = "marker"
)

type LayoutYaxisSpikesnap

type LayoutYaxisSpikesnap string

LayoutYaxisSpikesnap Determines whether spikelines are stuck to the cursor or to the closest datapoints.

const (
	LayoutYaxisSpikesnap_data        LayoutYaxisSpikesnap = "data"
	LayoutYaxisSpikesnap_cursor      LayoutYaxisSpikesnap = "cursor"
	LayoutYaxisSpikesnap_hovereddata LayoutYaxisSpikesnap = "hovered data"
)

type LayoutYaxisTickfont

type LayoutYaxisTickfont struct {

	// Color color <no value>
	Color String `json:"color,omitempty"`

	// Family string HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.
	Family String `json:"family,omitempty"`

	// Size number <no value>
	Size float64 `json:"size,omitempty"`
}

type LayoutYaxisTickformatstops

type LayoutYaxisTickformatstops interface{}

LayoutYaxisTickformatstops It's an items array and what goes inside it's... messy... check the docs Here is a hint to help you to define your own type tickformatstop

dtickrange
editType
enabled
name
role
templateitemname
value

type LayoutYaxisTicklabelmode

type LayoutYaxisTicklabelmode string

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.

const (
	LayoutYaxisTicklabelmode_instant LayoutYaxisTicklabelmode = "instant"
	LayoutYaxisTicklabelmode_period  LayoutYaxisTicklabelmode = "period"
)

type LayoutYaxisTicklabelposition

type LayoutYaxisTicklabelposition string

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.

const (
	LayoutYaxisTicklabelposition_outside       LayoutYaxisTicklabelposition = "outside"
	LayoutYaxisTicklabelposition_inside        LayoutYaxisTicklabelposition = "inside"
	LayoutYaxisTicklabelposition_outsidetop    LayoutYaxisTicklabelposition = "outside top"
	LayoutYaxisTicklabelposition_insidetop     LayoutYaxisTicklabelposition = "inside top"
	LayoutYaxisTicklabelposition_outsideleft   LayoutYaxisTicklabelposition = "outside left"
	LayoutYaxisTicklabelposition_insideleft    LayoutYaxisTicklabelposition = "inside left"
	LayoutYaxisTicklabelposition_outsideright  LayoutYaxisTicklabelposition = "outside right"
	LayoutYaxisTicklabelposition_insideright   LayoutYaxisTicklabelposition = "inside right"
	LayoutYaxisTicklabelposition_outsidebottom LayoutYaxisTicklabelposition = "outside bottom"
	LayoutYaxisTicklabelposition_insidebottom  LayoutYaxisTicklabelposition = "inside bottom"
)

type LayoutYaxisTickmode

type LayoutYaxisTickmode string

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).

const (
	LayoutYaxisTickmode_auto   LayoutYaxisTickmode = "auto"
	LayoutYaxisTickmode_linear LayoutYaxisTickmode = "linear"
	LayoutYaxisTickmode_array  LayoutYaxisTickmode = "array"
)

type LayoutYaxisTicks

type LayoutYaxisTicks string

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.

const (
	LayoutYaxisTicks_outside LayoutYaxisTicks = "outside"
	LayoutYaxisTicks_inside  LayoutYaxisTicks = "inside"
)

type LayoutYaxisTickson

type LayoutYaxisTickson string

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.

const (
	LayoutYaxisTickson_labels     LayoutYaxisTickson = "labels"
	LayoutYaxisTickson_boundaries LayoutYaxisTickson = "boundaries"
)

type LayoutYaxisTitle

type LayoutYaxisTitle struct {

	// Font <no value> Sets this axis' title font. Note that the title's font used to be customized by the now deprecated `titlefont` attribute.
	Font *LayoutYaxisTitleFont `json:"font,omitempty"`

	// Standoff 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 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"`
}

type LayoutYaxisTitleFont

type LayoutYaxisTitleFont struct {

	// Color color <no value>
	Color String `json:"color,omitempty"`

	// Family string HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.
	Family String `json:"family,omitempty"`

	// Size number <no value>
	Size float64 `json:"size,omitempty"`
}

type LayoutYaxisType

type LayoutYaxisType string

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.

const (
	LayoutYaxisType__             LayoutYaxisType = "-"
	LayoutYaxisType_linear        LayoutYaxisType = "linear"
	LayoutYaxisType_log           LayoutYaxisType = "log"
	LayoutYaxisType_date          LayoutYaxisType = "date"
	LayoutYaxisType_category      LayoutYaxisType = "category"
	LayoutYaxisType_multicategory LayoutYaxisType = "multicategory"
)

type Mesh3d

type Mesh3d struct {

	// Type is the type of the plot
	Type TraceType `json:"type,omitempty"`

	// Alphahull 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 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 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 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 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 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 color Sets the color of the whole mesh
	Color String `json:"color,omitempty"`

	// Coloraxis 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 <no value> <no value>
	Colorbar *Mesh3dColorbar `json:"colorbar,omitempty"`

	// Contour <no value> <no value>
	Contour *Mesh3dContour `json:"contour,omitempty"`

	// Customdata 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 string Sets the source reference on Chart Studio Cloud for  customdata .
	Customdatasrc String `json:"customdatasrc,omitempty"`

	// Delaunayaxis 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 data_array Sets the color of each face Overrides *color* and *vertexcolor*.
	Facecolor interface{} `json:"facecolor,omitempty"`

	// Facecolorsrc string Sets the source reference on Chart Studio Cloud for  facecolor .
	Facecolorsrc String `json:"facecolorsrc,omitempty"`

	// Flatshading 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 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 string Sets the source reference on Chart Studio Cloud for  hoverinfo .
	Hoverinfosrc String `json:"hoverinfosrc,omitempty"`

	// Hoverlabel <no value> <no value>
	Hoverlabel *Mesh3dHoverlabel `json:"hoverlabel,omitempty"`

	// Hovertemplate 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 `<extra>` is displayed in the secondary box, for example "<extra>{fullData.name}</extra>". To hide the secondary box completely, use an empty tag `<extra></extra>`.
	Hovertemplate interface{} `json:"hovertemplate,omitempty"`

	// Hovertemplatesrc string Sets the source reference on Chart Studio Cloud for  hovertemplate .
	Hovertemplatesrc String `json:"hovertemplatesrc,omitempty"`

	// Hovertext string Same as `text`.
	Hovertext interface{} `json:"hovertext,omitempty"`

	// Hovertextsrc string Sets the source reference on Chart Studio Cloud for  hovertext .
	Hovertextsrc String `json:"hovertextsrc,omitempty"`

	// I 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 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 string Sets the source reference on Chart Studio Cloud for  ids .
	Idssrc String `json:"idssrc,omitempty"`

	// Intensity 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 enumerated Determines the source of `intensity` values.
	Intensitymode Mesh3dIntensitymode `json:"intensitymode,omitempty"`

	// Intensitysrc string Sets the source reference on Chart Studio Cloud for  intensity .
	Intensitysrc String `json:"intensitysrc,omitempty"`

	// Isrc string Sets the source reference on Chart Studio Cloud for  i .
	Isrc String `json:"isrc,omitempty"`

	// J 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 string Sets the source reference on Chart Studio Cloud for  j .
	Jsrc String `json:"jsrc,omitempty"`

	// K 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 string Sets the source reference on Chart Studio Cloud for  k .
	Ksrc String `json:"ksrc,omitempty"`

	// Legendgroup 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"`

	// Lighting <no value> <no value>
	Lighting *Mesh3dLighting `json:"lighting,omitempty"`

	// Lightposition <no value> <no value>
	Lightposition *Mesh3dLightposition `json:"lightposition,omitempty"`

	// Meta 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 string Sets the source reference on Chart Studio Cloud for  meta .
	Metasrc String `json:"metasrc,omitempty"`

	// Name string Sets the trace name. The trace name appear as the legend item and on hover.
	Name String `json:"name,omitempty"`

	// Opacity 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 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 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 boolean Determines whether or not an item corresponding to this trace is shown in the legend.
	Showlegend Bool `json:"showlegend,omitempty"`

	// Showscale boolean Determines whether or not a colorbar is displayed for this trace.
	Showscale Bool `json:"showscale,omitempty"`

	// Stream <no value> <no value>
	Stream *Mesh3dStream `json:"stream,omitempty"`

	// Text 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 interface{} `json:"text,omitempty"`

	// Textsrc string Sets the source reference on Chart Studio Cloud for  text .
	Textsrc String `json:"textsrc,omitempty"`

	// Uid 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 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 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 string Sets the source reference on Chart Studio Cloud for  vertexcolor .
	Vertexcolorsrc String `json:"vertexcolorsrc,omitempty"`

	// Visible 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 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 enumerated Sets the calendar system to use with `x` date data.
	Xcalendar Mesh3dXcalendar `json:"xcalendar,omitempty"`

	// Xsrc string Sets the source reference on Chart Studio Cloud for  x .
	Xsrc String `json:"xsrc,omitempty"`

	// Y 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 enumerated Sets the calendar system to use with `y` date data.
	Ycalendar Mesh3dYcalendar `json:"ycalendar,omitempty"`

	// Ysrc string Sets the source reference on Chart Studio Cloud for  y .
	Ysrc String `json:"ysrc,omitempty"`

	// Z 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 enumerated Sets the calendar system to use with `z` date data.
	Zcalendar Mesh3dZcalendar `json:"zcalendar,omitempty"`

	// Zsrc string Sets the source reference on Chart Studio Cloud for  z .
	Zsrc String `json:"zsrc,omitempty"`
}

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

func NewMesh3d

func NewMesh3d() *Mesh3d

func (*Mesh3d) GetType

func (this *Mesh3d) GetType() TraceType

type Mesh3dColorbar

type Mesh3dColorbar struct {

	// Bgcolor color Sets the color of padded area.
	Bgcolor String `json:"bgcolor,omitempty"`

	// Bordercolor color Sets the axis line color.
	Bordercolor String `json:"bordercolor,omitempty"`

	// Borderwidth number Sets the width (in px) or the border enclosing this color bar.
	Borderwidth float64 `json:"borderwidth,omitempty"`

	// Dtick 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<f>*, where `f` is a positive number, gives ticks linearly spaced in value (but not position). For example `tick0` = 0.1, `dtick` = *L0.5* will put ticks at 0.1, 0.6, 1.1, 1.6 etc. To show powers of 10 plus small digits between, use *D1* (all digits) or *D2* (only 2 and 5). `tick0` is ignored for *D1* and *D2*. If the axis `type` is *date*, then you must convert the time to milliseconds. For example, to set the interval between ticks to one day, set `dtick` to 86400000.0. *date* also has special values *M<n>* gives ticks spaced by a number of months. `n` must be a positive integer. To set ticks on the 15th of every third month, set `tick0` to *2000-01-15* and `dtick` to *M3*. To set ticks every 4 years, set `dtick` to *M48*
	Dtick interface{} `json:"dtick,omitempty"`

	// Exponentformat 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"`

	// Len 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 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 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 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"`

	// Outlinecolor color Sets the axis line color.
	Outlinecolor String `json:"outlinecolor,omitempty"`

	// Outlinewidth number Sets the width (in px) of the axis line.
	Outlinewidth float64 `json:"outlinewidth,omitempty"`

	// Separatethousands boolean If "true", even 4-digit integers are separated
	Separatethousands Bool `json:"separatethousands,omitempty"`

	// Showexponent 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 boolean Determines whether or not the tick labels are drawn.
	Showticklabels Bool `json:"showticklabels,omitempty"`

	// Showtickprefix 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 enumerated Same as `showtickprefix` but for tick suffixes.
	Showticksuffix Mesh3dColorbarShowticksuffix `json:"showticksuffix,omitempty"`

	// Thickness 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 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 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<f>* (see `dtick` for more info). If the axis `type` is *date*, it should be a date string, like date data. If the axis `type` is *category*, it should be a number, using the scale where each category is assigned a serial number from zero in the order it appears.
	Tick0 interface{} `json:"tick0,omitempty"`

	// Tickangle 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 color Sets the tick color.
	Tickcolor String `json:"tickcolor,omitempty"`

	// Tickfont <no value> Sets the color bar's tick label font
	Tickfont *Mesh3dColorbarTickfont `json:"tickfont,omitempty"`

	// Tickformat 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*
	Tickformat String `json:"tickformat,omitempty"`

	// Tickformatstops <no value> <no value>
	Tickformatstops Mesh3dColorbarTickformatstops `json:"tickformatstops,omitempty"`

	// Ticklabelposition enumerated Determines where tick labels are drawn.
	Ticklabelposition Mesh3dColorbarTicklabelposition `json:"ticklabelposition,omitempty"`

	// Ticklen number Sets the tick length (in px).
	Ticklen float64 `json:"ticklen,omitempty"`

	// Tickmode 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 string Sets a tick label prefix.
	Tickprefix String `json:"tickprefix,omitempty"`

	// Ticks 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 string Sets a tick label suffix.
	Ticksuffix String `json:"ticksuffix,omitempty"`

	// Ticktext 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 string Sets the source reference on Chart Studio Cloud for  ticktext .
	Ticktextsrc String `json:"ticktextsrc,omitempty"`

	// Tickvals 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 string Sets the source reference on Chart Studio Cloud for  tickvals .
	Tickvalssrc String `json:"tickvalssrc,omitempty"`

	// Tickwidth number Sets the tick width (in px).
	Tickwidth float64 `json:"tickwidth,omitempty"`

	// Title <no value> <no value>
	Title *Mesh3dColorbarTitle `json:"title,omitempty"`

	// X number Sets the x position of the color bar (in plot fraction).
	X float64 `json:"x,omitempty"`

	// Xanchor 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.
	Xanchor Mesh3dColorbarXanchor `json:"xanchor,omitempty"`

	// Xpad number Sets the amount of padding (in px) along the x direction.
	Xpad float64 `json:"xpad,omitempty"`

	// Y number Sets the y position of the color bar (in plot fraction).
	Y float64 `json:"y,omitempty"`

	// Yanchor 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.
	Yanchor Mesh3dColorbarYanchor `json:"yanchor,omitempty"`

	// Ypad number Sets the amount of padding (in px) along the y direction.
	Ypad float64 `json:"ypad,omitempty"`
}

type Mesh3dColorbarExponentformat

type Mesh3dColorbarExponentformat string

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.

const (
	Mesh3dColorbarExponentformat_none  Mesh3dColorbarExponentformat = "none"
	Mesh3dColorbarExponentformat_e     Mesh3dColorbarExponentformat = "e"
	Mesh3dColorbarExponentformat_E     Mesh3dColorbarExponentformat = "E"
	Mesh3dColorbarExponentformat_power Mesh3dColorbarExponentformat = "power"
	Mesh3dColorbarExponentformat_SI    Mesh3dColorbarExponentformat = "SI"
	Mesh3dColorbarExponentformat_B     Mesh3dColorbarExponentformat = "B"
)

type Mesh3dColorbarLenmode

type Mesh3dColorbarLenmode string

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.

const (
	Mesh3dColorbarLenmode_fraction Mesh3dColorbarLenmode = "fraction"
	Mesh3dColorbarLenmode_pixels   Mesh3dColorbarLenmode = "pixels"
)

type Mesh3dColorbarShowexponent

type Mesh3dColorbarShowexponent string

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.

const (
	Mesh3dColorbarShowexponent_all   Mesh3dColorbarShowexponent = "all"
	Mesh3dColorbarShowexponent_first Mesh3dColorbarShowexponent = "first"
	Mesh3dColorbarShowexponent_last  Mesh3dColorbarShowexponent = "last"
	Mesh3dColorbarShowexponent_none  Mesh3dColorbarShowexponent = "none"
)

type Mesh3dColorbarShowtickprefix

type Mesh3dColorbarShowtickprefix string

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.

const (
	Mesh3dColorbarShowtickprefix_all   Mesh3dColorbarShowtickprefix = "all"
	Mesh3dColorbarShowtickprefix_first Mesh3dColorbarShowtickprefix = "first"
	Mesh3dColorbarShowtickprefix_last  Mesh3dColorbarShowtickprefix = "last"
	Mesh3dColorbarShowtickprefix_none  Mesh3dColorbarShowtickprefix = "none"
)

type Mesh3dColorbarShowticksuffix

type Mesh3dColorbarShowticksuffix string

Mesh3dColorbarShowticksuffix Same as `showtickprefix` but for tick suffixes.

const (
	Mesh3dColorbarShowticksuffix_all   Mesh3dColorbarShowticksuffix = "all"
	Mesh3dColorbarShowticksuffix_first Mesh3dColorbarShowticksuffix = "first"
	Mesh3dColorbarShowticksuffix_last  Mesh3dColorbarShowticksuffix = "last"
	Mesh3dColorbarShowticksuffix_none  Mesh3dColorbarShowticksuffix = "none"
)

type Mesh3dColorbarThicknessmode

type Mesh3dColorbarThicknessmode string

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.

const (
	Mesh3dColorbarThicknessmode_fraction Mesh3dColorbarThicknessmode = "fraction"
	Mesh3dColorbarThicknessmode_pixels   Mesh3dColorbarThicknessmode = "pixels"
)

type Mesh3dColorbarTickfont

type Mesh3dColorbarTickfont struct {

	// Color color <no value>
	Color String `json:"color,omitempty"`

	// Family string HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.
	Family String `json:"family,omitempty"`

	// Size number <no value>
	Size float64 `json:"size,omitempty"`
}

type Mesh3dColorbarTickformatstops

type Mesh3dColorbarTickformatstops interface{}

Mesh3dColorbarTickformatstops It's an items array and what goes inside it's... messy... check the docs Here is a hint to help you to define your own type tickformatstop

dtickrange
editType
enabled
name
role
templateitemname
value

type Mesh3dColorbarTicklabelposition

type Mesh3dColorbarTicklabelposition string

Mesh3dColorbarTicklabelposition Determines where tick labels are drawn.

const (
	Mesh3dColorbarTicklabelposition_outside       Mesh3dColorbarTicklabelposition = "outside"
	Mesh3dColorbarTicklabelposition_inside        Mesh3dColorbarTicklabelposition = "inside"
	Mesh3dColorbarTicklabelposition_outsidetop    Mesh3dColorbarTicklabelposition = "outside top"
	Mesh3dColorbarTicklabelposition_insidetop     Mesh3dColorbarTicklabelposition = "inside top"
	Mesh3dColorbarTicklabelposition_outsidebottom Mesh3dColorbarTicklabelposition = "outside bottom"
	Mesh3dColorbarTicklabelposition_insidebottom  Mesh3dColorbarTicklabelposition = "inside bottom"
)

type Mesh3dColorbarTickmode

type Mesh3dColorbarTickmode string

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).

const (
	Mesh3dColorbarTickmode_auto   Mesh3dColorbarTickmode = "auto"
	Mesh3dColorbarTickmode_linear Mesh3dColorbarTickmode = "linear"
	Mesh3dColorbarTickmode_array  Mesh3dColorbarTickmode = "array"
)

type Mesh3dColorbarTicks

type Mesh3dColorbarTicks string

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.

const (
	Mesh3dColorbarTicks_outside Mesh3dColorbarTicks = "outside"
	Mesh3dColorbarTicks_inside  Mesh3dColorbarTicks = "inside"
)

type Mesh3dColorbarTitle

type Mesh3dColorbarTitle struct {

	// Font <no value> Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.
	Font *Mesh3dColorbarTitleFont `json:"font,omitempty"`

	// Side 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.
	Side Mesh3dColorbarTitleSide `json:"side,omitempty"`

	// Text 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"`
}

type Mesh3dColorbarTitleFont

type Mesh3dColorbarTitleFont struct {

	// Color color <no value>
	Color String `json:"color,omitempty"`

	// Family string HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.
	Family String `json:"family,omitempty"`

	// Size number <no value>
	Size float64 `json:"size,omitempty"`
}

type Mesh3dColorbarTitleSide

type Mesh3dColorbarTitleSide string

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.

const (
	Mesh3dColorbarTitleSide_right  Mesh3dColorbarTitleSide = "right"
	Mesh3dColorbarTitleSide_top    Mesh3dColorbarTitleSide = "top"
	Mesh3dColorbarTitleSide_bottom Mesh3dColorbarTitleSide = "bottom"
)

type Mesh3dColorbarXanchor

type Mesh3dColorbarXanchor string

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.

const (
	Mesh3dColorbarXanchor_left   Mesh3dColorbarXanchor = "left"
	Mesh3dColorbarXanchor_center Mesh3dColorbarXanchor = "center"
	Mesh3dColorbarXanchor_right  Mesh3dColorbarXanchor = "right"
)

type Mesh3dColorbarYanchor

type Mesh3dColorbarYanchor string

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.

const (
	Mesh3dColorbarYanchor_top    Mesh3dColorbarYanchor = "top"
	Mesh3dColorbarYanchor_middle Mesh3dColorbarYanchor = "middle"
	Mesh3dColorbarYanchor_bottom Mesh3dColorbarYanchor = "bottom"
)

type Mesh3dContour

type Mesh3dContour struct {

	// Color color Sets the color of the contour lines.
	Color String `json:"color,omitempty"`

	// Show boolean Sets whether or not dynamic contours are shown on hover
	Show Bool `json:"show,omitempty"`

	// Width number Sets the width of the contour lines.
	Width float64 `json:"width,omitempty"`
}

type Mesh3dDelaunayaxis

type Mesh3dDelaunayaxis string

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.

const (
	Mesh3dDelaunayaxis_x Mesh3dDelaunayaxis = "x"
	Mesh3dDelaunayaxis_y Mesh3dDelaunayaxis = "y"
	Mesh3dDelaunayaxis_z Mesh3dDelaunayaxis = "z"
)

type Mesh3dHoverinfo

type Mesh3dHoverinfo string
const (
	// Flags
	Mesh3dHoverinfoX    Mesh3dHoverinfo = "x"
	Mesh3dHoverinfoY    Mesh3dHoverinfo = "y"
	Mesh3dHoverinfoZ    Mesh3dHoverinfo = "z"
	Mesh3dHoverinfoText Mesh3dHoverinfo = "text"
	Mesh3dHoverinfoName Mesh3dHoverinfo = "name"
	// Extras
	Mesh3dHoverinfoAll  Mesh3dHoverinfo = "all"
	Mesh3dHoverinfoNone Mesh3dHoverinfo = "none"
	Mesh3dHoverinfoSkip Mesh3dHoverinfo = "skip"
)

type Mesh3dHoverlabel

type Mesh3dHoverlabel struct {

	// Align 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 string Sets the source reference on Chart Studio Cloud for  align .
	Alignsrc String `json:"alignsrc,omitempty"`

	// Bgcolor color Sets the background color of the hover labels for this trace
	Bgcolor interface{} `json:"bgcolor,omitempty"`

	// Bgcolorsrc string Sets the source reference on Chart Studio Cloud for  bgcolor .
	Bgcolorsrc String `json:"bgcolorsrc,omitempty"`

	// Bordercolor color Sets the border color of the hover labels for this trace.
	Bordercolor interface{} `json:"bordercolor,omitempty"`

	// Bordercolorsrc string Sets the source reference on Chart Studio Cloud for  bordercolor .
	Bordercolorsrc String `json:"bordercolorsrc,omitempty"`

	// Font <no value> Sets the font used in hover labels.
	Font *Mesh3dHoverlabelFont `json:"font,omitempty"`

	// Namelength 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 interface{} `json:"namelength,omitempty"`

	// Namelengthsrc string Sets the source reference on Chart Studio Cloud for  namelength .
	Namelengthsrc String `json:"namelengthsrc,omitempty"`
}

type Mesh3dHoverlabelAlign

type Mesh3dHoverlabelAlign string

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

const (
	Mesh3dHoverlabelAlign_left  Mesh3dHoverlabelAlign = "left"
	Mesh3dHoverlabelAlign_right Mesh3dHoverlabelAlign = "right"
	Mesh3dHoverlabelAlign_auto  Mesh3dHoverlabelAlign = "auto"
)

type Mesh3dHoverlabelFont

type Mesh3dHoverlabelFont struct {

	// Color color <no value>
	Color interface{} `json:"color,omitempty"`

	// Colorsrc string Sets the source reference on Chart Studio Cloud for  color .
	Colorsrc String `json:"colorsrc,omitempty"`

	// Family string HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.
	Family interface{} `json:"family,omitempty"`

	// Familysrc string Sets the source reference on Chart Studio Cloud for  family .
	Familysrc String `json:"familysrc,omitempty"`

	// Size number <no value>
	Size interface{} `json:"size,omitempty"`

	// Sizesrc string Sets the source reference on Chart Studio Cloud for  size .
	Sizesrc String `json:"sizesrc,omitempty"`
}

type Mesh3dIntensitymode

type Mesh3dIntensitymode string

Mesh3dIntensitymode Determines the source of `intensity` values.

const (
	Mesh3dIntensitymode_vertex Mesh3dIntensitymode = "vertex"
	Mesh3dIntensitymode_cell   Mesh3dIntensitymode = "cell"
)

type Mesh3dLighting

type Mesh3dLighting struct {

	// Ambient number Ambient light increases overall color visibility but can wash out the image.
	Ambient float64 `json:"ambient,omitempty"`

	// Diffuse number Represents the extent that incident rays are reflected in a range of angles.
	Diffuse float64 `json:"diffuse,omitempty"`

	// Facenormalsepsilon number Epsilon for face normals calculation avoids math issues arising from degenerate geometry.
	Facenormalsepsilon float64 `json:"facenormalsepsilon,omitempty"`

	// Fresnel 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 number Alters specular reflection; the rougher the surface, the wider and less contrasty the shine.
	Roughness float64 `json:"roughness,omitempty"`

	// Specular number Represents the level that incident rays are reflected in a single direction, causing shine.
	Specular float64 `json:"specular,omitempty"`

	// Vertexnormalsepsilon number Epsilon for vertex normals calculation avoids math issues arising from degenerate geometry.
	Vertexnormalsepsilon float64 `json:"vertexnormalsepsilon,omitempty"`
}

type Mesh3dLightposition

type Mesh3dLightposition struct {

	// X number Numeric vector, representing the X coordinate for each vertex.
	X float64 `json:"x,omitempty"`

	// Y number Numeric vector, representing the Y coordinate for each vertex.
	Y float64 `json:"y,omitempty"`

	// Z number Numeric vector, representing the Z coordinate for each vertex.
	Z float64 `json:"z,omitempty"`
}

type Mesh3dStream

type Mesh3dStream struct {

	// Maxpoints 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 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"`
}

type Mesh3dVisible

type Mesh3dVisible interface{}

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).

var (
	Mesh3dVisible_True       Mesh3dVisible = true
	Mesh3dVisible_False      Mesh3dVisible = false
	Mesh3dVisible_legendonly Mesh3dVisible = "legendonly"
)

type Mesh3dXcalendar

type Mesh3dXcalendar string

Mesh3dXcalendar Sets the calendar system to use with `x` date data.

const (
	Mesh3dXcalendar_gregorian  Mesh3dXcalendar = "gregorian"
	Mesh3dXcalendar_chinese    Mesh3dXcalendar = "chinese"
	Mesh3dXcalendar_coptic     Mesh3dXcalendar = "coptic"
	Mesh3dXcalendar_discworld  Mesh3dXcalendar = "discworld"
	Mesh3dXcalendar_ethiopian  Mesh3dXcalendar = "ethiopian"
	Mesh3dXcalendar_hebrew     Mesh3dXcalendar = "hebrew"
	Mesh3dXcalendar_islamic    Mesh3dXcalendar = "islamic"
	Mesh3dXcalendar_julian     Mesh3dXcalendar = "julian"
	Mesh3dXcalendar_mayan      Mesh3dXcalendar = "mayan"
	Mesh3dXcalendar_nanakshahi Mesh3dXcalendar = "nanakshahi"
	Mesh3dXcalendar_nepali     Mesh3dXcalendar = "nepali"
	Mesh3dXcalendar_persian    Mesh3dXcalendar = "persian"
	Mesh3dXcalendar_jalali     Mesh3dXcalendar = "jalali"
	Mesh3dXcalendar_taiwan     Mesh3dXcalendar = "taiwan"
	Mesh3dXcalendar_thai       Mesh3dXcalendar = "thai"
	Mesh3dXcalendar_ummalqura  Mesh3dXcalendar = "ummalqura"
)

type Mesh3dYcalendar

type Mesh3dYcalendar string

Mesh3dYcalendar Sets the calendar system to use with `y` date data.

const (
	Mesh3dYcalendar_gregorian  Mesh3dYcalendar = "gregorian"
	Mesh3dYcalendar_chinese    Mesh3dYcalendar = "chinese"
	Mesh3dYcalendar_coptic     Mesh3dYcalendar = "coptic"
	Mesh3dYcalendar_discworld  Mesh3dYcalendar = "discworld"
	Mesh3dYcalendar_ethiopian  Mesh3dYcalendar = "ethiopian"
	Mesh3dYcalendar_hebrew     Mesh3dYcalendar = "hebrew"
	Mesh3dYcalendar_islamic    Mesh3dYcalendar = "islamic"
	Mesh3dYcalendar_julian     Mesh3dYcalendar = "julian"
	Mesh3dYcalendar_mayan      Mesh3dYcalendar = "mayan"
	Mesh3dYcalendar_nanakshahi Mesh3dYcalendar = "nanakshahi"
	Mesh3dYcalendar_nepali     Mesh3dYcalendar = "nepali"
	Mesh3dYcalendar_persian    Mesh3dYcalendar = "persian"
	Mesh3dYcalendar_jalali     Mesh3dYcalendar = "jalali"
	Mesh3dYcalendar_taiwan     Mesh3dYcalendar = "taiwan"
	Mesh3dYcalendar_thai       Mesh3dYcalendar = "thai"
	Mesh3dYcalendar_ummalqura  Mesh3dYcalendar = "ummalqura"
)

type Mesh3dZcalendar

type Mesh3dZcalendar string

Mesh3dZcalendar Sets the calendar system to use with `z` date data.

const (
	Mesh3dZcalendar_gregorian  Mesh3dZcalendar = "gregorian"
	Mesh3dZcalendar_chinese    Mesh3dZcalendar = "chinese"
	Mesh3dZcalendar_coptic     Mesh3dZcalendar = "coptic"
	Mesh3dZcalendar_discworld  Mesh3dZcalendar = "discworld"
	Mesh3dZcalendar_ethiopian  Mesh3dZcalendar = "ethiopian"
	Mesh3dZcalendar_hebrew     Mesh3dZcalendar = "hebrew"
	Mesh3dZcalendar_islamic    Mesh3dZcalendar = "islamic"
	Mesh3dZcalendar_julian     Mesh3dZcalendar = "julian"
	Mesh3dZcalendar_mayan      Mesh3dZcalendar = "mayan"
	Mesh3dZcalendar_nanakshahi Mesh3dZcalendar = "nanakshahi"
	Mesh3dZcalendar_nepali     Mesh3dZcalendar = "nepali"
	Mesh3dZcalendar_persian    Mesh3dZcalendar = "persian"
	Mesh3dZcalendar_jalali     Mesh3dZcalendar = "jalali"
	Mesh3dZcalendar_taiwan     Mesh3dZcalendar = "taiwan"
	Mesh3dZcalendar_thai       Mesh3dZcalendar = "thai"
	Mesh3dZcalendar_ummalqura  Mesh3dZcalendar = "ummalqura"
)

type Ohlc

type Ohlc struct {

	// Type is the type of the plot
	Type TraceType `json:"type,omitempty"`

	// Close data_array Sets the close values.
	Close interface{} `json:"close,omitempty"`

	// Closesrc string Sets the source reference on Chart Studio Cloud for  close .
	Closesrc String `json:"closesrc,omitempty"`

	// Customdata 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 string Sets the source reference on Chart Studio Cloud for  customdata .
	Customdatasrc String `json:"customdatasrc,omitempty"`

	// Decreasing <no value> <no value>
	Decreasing *OhlcDecreasing `json:"decreasing,omitempty"`

	// High data_array Sets the high values.
	High interface{} `json:"high,omitempty"`

	// Highsrc string Sets the source reference on Chart Studio Cloud for  high .
	Highsrc String `json:"highsrc,omitempty"`

	// Hoverinfo 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 string Sets the source reference on Chart Studio Cloud for  hoverinfo .
	Hoverinfosrc String `json:"hoverinfosrc,omitempty"`

	// Hoverlabel <no value> <no value>
	Hoverlabel *OhlcHoverlabel `json:"hoverlabel,omitempty"`

	// Hovertext string Same as `text`.
	Hovertext interface{} `json:"hovertext,omitempty"`

	// Hovertextsrc string Sets the source reference on Chart Studio Cloud for  hovertext .
	Hovertextsrc String `json:"hovertextsrc,omitempty"`

	// Ids 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 string Sets the source reference on Chart Studio Cloud for  ids .
	Idssrc String `json:"idssrc,omitempty"`

	// Increasing <no value> <no value>
	Increasing *OhlcIncreasing `json:"increasing,omitempty"`

	// Legendgroup 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"`

	// Line <no value> <no value>
	Line *OhlcLine `json:"line,omitempty"`

	// Low data_array Sets the low values.
	Low interface{} `json:"low,omitempty"`

	// Lowsrc string Sets the source reference on Chart Studio Cloud for  low .
	Lowsrc String `json:"lowsrc,omitempty"`

	// Meta 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 string Sets the source reference on Chart Studio Cloud for  meta .
	Metasrc String `json:"metasrc,omitempty"`

	// Name string Sets the trace name. The trace name appear as the legend item and on hover.
	Name String `json:"name,omitempty"`

	// Opacity number Sets the opacity of the trace.
	Opacity float64 `json:"opacity,omitempty"`

	// Open data_array Sets the open values.
	Open interface{} `json:"open,omitempty"`

	// Opensrc string Sets the source reference on Chart Studio Cloud for  open .
	Opensrc String `json:"opensrc,omitempty"`

	// Selectedpoints 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 boolean Determines whether or not an item corresponding to this trace is shown in the legend.
	Showlegend Bool `json:"showlegend,omitempty"`

	// Stream <no value> <no value>
	Stream *OhlcStream `json:"stream,omitempty"`

	// Text 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 interface{} `json:"text,omitempty"`

	// Textsrc string Sets the source reference on Chart Studio Cloud for  text .
	Textsrc String `json:"textsrc,omitempty"`

	// Tickwidth number Sets the width of the open/close tick marks relative to the *x* minimal interval.
	Tickwidth float64 `json:"tickwidth,omitempty"`

	// Transforms <no value> <no value>
	Transforms OhlcTransforms `json:"transforms,omitempty"`

	// Uid 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 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 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 data_array Sets the x coordinates. If absent, linear coordinate will be generated.
	X interface{} `json:"x,omitempty"`

	// Xaxis 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 enumerated Sets the calendar system to use with `x` date data.
	Xcalendar OhlcXcalendar `json:"xcalendar,omitempty"`

	// Xperiod any Only relevant when the axis `type` is *date*. Sets the period positioning in milliseconds or *M<n>* on the x axis. Special values in the form of *M<n>* could be used to declare the number of months. In this case `n` must be a positive integer.
	Xperiod interface{} `json:"xperiod,omitempty"`

	// Xperiod0 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 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 string Sets the source reference on Chart Studio Cloud for  x .
	Xsrc String `json:"xsrc,omitempty"`

	// Yaxis 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"`
}

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.

func NewOhlc

func NewOhlc() *Ohlc

func (*Ohlc) GetType

func (this *Ohlc) GetType() TraceType

type OhlcDecreasing

type OhlcDecreasing struct {

	// Line <no value> <no value>
	Line *OhlcDecreasingLine `json:"line,omitempty"`
}

type OhlcDecreasingLine

type OhlcDecreasingLine struct {

	// Color color Sets the line color.
	Color String `json:"color,omitempty"`

	// Dash 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 number Sets the line width (in px).
	Width float64 `json:"width,omitempty"`
}

type OhlcHoverinfo

type OhlcHoverinfo string
const (
	// Flags
	OhlcHoverinfoX    OhlcHoverinfo = "x"
	OhlcHoverinfoY    OhlcHoverinfo = "y"
	OhlcHoverinfoZ    OhlcHoverinfo = "z"
	OhlcHoverinfoText OhlcHoverinfo = "text"
	OhlcHoverinfoName OhlcHoverinfo = "name"
	// Extras
	OhlcHoverinfoAll  OhlcHoverinfo = "all"
	OhlcHoverinfoNone OhlcHoverinfo = "none"
	OhlcHoverinfoSkip OhlcHoverinfo = "skip"
)

type OhlcHoverlabel

type OhlcHoverlabel struct {

	// Align 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 string Sets the source reference on Chart Studio Cloud for  align .
	Alignsrc String `json:"alignsrc,omitempty"`

	// Bgcolor color Sets the background color of the hover labels for this trace
	Bgcolor interface{} `json:"bgcolor,omitempty"`

	// Bgcolorsrc string Sets the source reference on Chart Studio Cloud for  bgcolor .
	Bgcolorsrc String `json:"bgcolorsrc,omitempty"`

	// Bordercolor color Sets the border color of the hover labels for this trace.
	Bordercolor interface{} `json:"bordercolor,omitempty"`

	// Bordercolorsrc string Sets the source reference on Chart Studio Cloud for  bordercolor .
	Bordercolorsrc String `json:"bordercolorsrc,omitempty"`

	// Font <no value> Sets the font used in hover labels.
	Font *OhlcHoverlabelFont `json:"font,omitempty"`

	// Namelength 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 interface{} `json:"namelength,omitempty"`

	// Namelengthsrc string Sets the source reference on Chart Studio Cloud for  namelength .
	Namelengthsrc String `json:"namelengthsrc,omitempty"`

	// Split boolean Show hover information (open, close, high, low) in separate labels.
	Split Bool `json:"split,omitempty"`
}

type OhlcHoverlabelAlign

type OhlcHoverlabelAlign string

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

const (
	OhlcHoverlabelAlign_left  OhlcHoverlabelAlign = "left"
	OhlcHoverlabelAlign_right OhlcHoverlabelAlign = "right"
	OhlcHoverlabelAlign_auto  OhlcHoverlabelAlign = "auto"
)

type OhlcHoverlabelFont

type OhlcHoverlabelFont struct {

	// Color color <no value>
	Color interface{} `json:"color,omitempty"`

	// Colorsrc string Sets the source reference on Chart Studio Cloud for  color .
	Colorsrc String `json:"colorsrc,omitempty"`

	// Family string HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.
	Family interface{} `json:"family,omitempty"`

	// Familysrc string Sets the source reference on Chart Studio Cloud for  family .
	Familysrc String `json:"familysrc,omitempty"`

	// Size number <no value>
	Size interface{} `json:"size,omitempty"`

	// Sizesrc string Sets the source reference on Chart Studio Cloud for  size .
	Sizesrc String `json:"sizesrc,omitempty"`
}

type OhlcIncreasing

type OhlcIncreasing struct {

	// Line <no value> <no value>
	Line *OhlcIncreasingLine `json:"line,omitempty"`
}

type OhlcIncreasingLine

type OhlcIncreasingLine struct {

	// Color color Sets the line color.
	Color String `json:"color,omitempty"`

	// Dash 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 number Sets the line width (in px).
	Width float64 `json:"width,omitempty"`
}

type OhlcLine

type OhlcLine struct {

	// Dash 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 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"`
}

type OhlcStream

type OhlcStream struct {

	// Maxpoints 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 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"`
}

type OhlcTransforms

type OhlcTransforms interface{}

OhlcTransforms It's an items array and what goes inside it's... messy... check the docs Here is a hint to help you to define your own type transform

description
editType
role

type OhlcVisible

type OhlcVisible interface{}

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).

var (
	OhlcVisible_True       OhlcVisible = true
	OhlcVisible_False      OhlcVisible = false
	OhlcVisible_legendonly OhlcVisible = "legendonly"
)

type OhlcXcalendar

type OhlcXcalendar string

OhlcXcalendar Sets the calendar system to use with `x` date data.

const (
	OhlcXcalendar_gregorian  OhlcXcalendar = "gregorian"
	OhlcXcalendar_chinese    OhlcXcalendar = "chinese"
	OhlcXcalendar_coptic     OhlcXcalendar = "coptic"
	OhlcXcalendar_discworld  OhlcXcalendar = "discworld"
	OhlcXcalendar_ethiopian  OhlcXcalendar = "ethiopian"
	OhlcXcalendar_hebrew     OhlcXcalendar = "hebrew"
	OhlcXcalendar_islamic    OhlcXcalendar = "islamic"
	OhlcXcalendar_julian     OhlcXcalendar = "julian"
	OhlcXcalendar_mayan      OhlcXcalendar = "mayan"
	OhlcXcalendar_nanakshahi OhlcXcalendar = "nanakshahi"
	OhlcXcalendar_nepali     OhlcXcalendar = "nepali"
	OhlcXcalendar_persian    OhlcXcalendar = "persian"
	OhlcXcalendar_jalali     OhlcXcalendar = "jalali"
	OhlcXcalendar_taiwan     OhlcXcalendar = "taiwan"
	OhlcXcalendar_thai       OhlcXcalendar = "thai"
	OhlcXcalendar_ummalqura  OhlcXcalendar = "ummalqura"
)

type OhlcXperiodalignment

type OhlcXperiodalignment string

OhlcXperiodalignment Only relevant when the axis `type` is *date*. Sets the alignment of data points on the x axis.

const (
	OhlcXperiodalignment_start  OhlcXperiodalignment = "start"
	OhlcXperiodalignment_middle OhlcXperiodalignment = "middle"
	OhlcXperiodalignment_end    OhlcXperiodalignment = "end"
)

type Parcats

type Parcats struct {

	// Type is the type of the plot
	Type TraceType `json:"type,omitempty"`

	// Arrangement 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 boolean Sort paths so that like colors are bundled together within each category.
	Bundlecolors Bool `json:"bundlecolors,omitempty"`

	// Counts number The number of observations represented by each state. Defaults to 1 so that each state represents one observation
	Counts interface{} `json:"counts,omitempty"`

	// Countssrc string Sets the source reference on Chart Studio Cloud for  counts .
	Countssrc String `json:"countssrc,omitempty"`

	// Dimensions <no value> <no value>
	Dimensions ParcatsDimensions `json:"dimensions,omitempty"`

	// Domain <no value> <no value>
	Domain *ParcatsDomain `json:"domain,omitempty"`

	// Hoverinfo 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 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 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 `<extra>` is displayed in the secondary box, for example "<extra>{fullData.name}</extra>". To hide the secondary box completely, use an empty tag `<extra></extra>`.
	Hovertemplate String `json:"hovertemplate,omitempty"`

	// Labelfont <no value> Sets the font for the `dimension` labels.
	Labelfont *ParcatsLabelfont `json:"labelfont,omitempty"`

	// Line <no value> <no value>
	Line *ParcatsLine `json:"line,omitempty"`

	// Meta 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 string Sets the source reference on Chart Studio Cloud for  meta .
	Metasrc String `json:"metasrc,omitempty"`

	// Name string Sets the trace name. The trace name appear as the legend item and on hover.
	Name String `json:"name,omitempty"`

	// Sortpaths 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 <no value> <no value>
	Stream *ParcatsStream `json:"stream,omitempty"`

	// Tickfont <no value> Sets the font for the `category` labels.
	Tickfont *ParcatsTickfont `json:"tickfont,omitempty"`

	// Transforms <no value> <no value>
	Transforms ParcatsTransforms `json:"transforms,omitempty"`

	// Uid 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 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 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"`
}

Parcats Parallel categories diagram for multidimensional categorical data.

func NewParcats

func NewParcats() *Parcats

func (*Parcats) GetType

func (this *Parcats) GetType() TraceType

type ParcatsArrangement

type ParcatsArrangement string

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.

const (
	ParcatsArrangement_perpendicular ParcatsArrangement = "perpendicular"
	ParcatsArrangement_freeform      ParcatsArrangement = "freeform"
	ParcatsArrangement_fixed         ParcatsArrangement = "fixed"
)

type ParcatsDimensions

type ParcatsDimensions interface{}

ParcatsDimensions It's an items array and what goes inside it's... messy... check the docs Here is a hint to help you to define your own type dimension

categoryarray
categoryarraysrc
categoryorder
description
displayindex
editType
label
role
ticktext
ticktextsrc
values
valuessrc
visible

type ParcatsDomain

type ParcatsDomain struct {

	// Column 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 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 info_array Sets the horizontal domain of this parcats trace (in plot fraction).
	X interface{} `json:"x,omitempty"`

	// Y info_array Sets the vertical domain of this parcats trace (in plot fraction).
	Y interface{} `json:"y,omitempty"`
}

type ParcatsHoverinfo

type ParcatsHoverinfo string
const (
	// Flags
	ParcatsHoverinfoCount       ParcatsHoverinfo = "count"
	ParcatsHoverinfoProbability ParcatsHoverinfo = "probability"
	// Extras
	ParcatsHoverinfoAll  ParcatsHoverinfo = "all"
	ParcatsHoverinfoNone ParcatsHoverinfo = "none"
	ParcatsHoverinfoSkip ParcatsHoverinfo = "skip"
)

type ParcatsHoveron

type ParcatsHoveron string

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.

const (
	ParcatsHoveron_category  ParcatsHoveron = "category"
	ParcatsHoveron_color     ParcatsHoveron = "color"
	ParcatsHoveron_dimension ParcatsHoveron = "dimension"
)

type ParcatsLabelfont

type ParcatsLabelfont struct {

	// Color color <no value>
	Color String `json:"color,omitempty"`

	// Family string HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.
	Family String `json:"family,omitempty"`

	// Size number <no value>
	Size float64 `json:"size,omitempty"`
}

type ParcatsLine

type ParcatsLine struct {

	// Autocolorscale 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 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 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 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 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 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.
	Color interface{} `json:"color,omitempty"`

	// Coloraxis 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 <no value> <no value>
	Colorbar *ParcatsLineColorbar `json:"colorbar,omitempty"`

	// Colorsrc string Sets the source reference on Chart Studio Cloud for  color .
	Colorsrc String `json:"colorsrc,omitempty"`

	// Hovertemplate 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 `<extra>` is displayed in the secondary box, for example "<extra>{fullData.name}</extra>". To hide the secondary box completely, use an empty tag `<extra></extra>`.
	Hovertemplate String `json:"hovertemplate,omitempty"`

	// Reversescale 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 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 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"`
}

type ParcatsLineColorbar

type ParcatsLineColorbar struct {

	// Bgcolor color Sets the color of padded area.
	Bgcolor String `json:"bgcolor,omitempty"`

	// Bordercolor color Sets the axis line color.
	Bordercolor String `json:"bordercolor,omitempty"`

	// Borderwidth number Sets the width (in px) or the border enclosing this color bar.
	Borderwidth float64 `json:"borderwidth,omitempty"`

	// Dtick 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<f>*, where `f` is a positive number, gives ticks linearly spaced in value (but not position). For example `tick0` = 0.1, `dtick` = *L0.5* will put ticks at 0.1, 0.6, 1.1, 1.6 etc. To show powers of 10 plus small digits between, use *D1* (all digits) or *D2* (only 2 and 5). `tick0` is ignored for *D1* and *D2*. If the axis `type` is *date*, then you must convert the time to milliseconds. For example, to set the interval between ticks to one day, set `dtick` to 86400000.0. *date* also has special values *M<n>* gives ticks spaced by a number of months. `n` must be a positive integer. To set ticks on the 15th of every third month, set `tick0` to *2000-01-15* and `dtick` to *M3*. To set ticks every 4 years, set `dtick` to *M48*
	Dtick interface{} `json:"dtick,omitempty"`

	// Exponentformat 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"`

	// Len 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 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 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 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"`

	// Outlinecolor color Sets the axis line color.
	Outlinecolor String `json:"outlinecolor,omitempty"`

	// Outlinewidth number Sets the width (in px) of the axis line.
	Outlinewidth float64 `json:"outlinewidth,omitempty"`

	// Separatethousands boolean If "true", even 4-digit integers are separated
	Separatethousands Bool `json:"separatethousands,omitempty"`

	// Showexponent 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 boolean Determines whether or not the tick labels are drawn.
	Showticklabels Bool `json:"showticklabels,omitempty"`

	// Showtickprefix 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 enumerated Same as `showtickprefix` but for tick suffixes.
	Showticksuffix ParcatsLineColorbarShowticksuffix `json:"showticksuffix,omitempty"`

	// Thickness 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 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 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<f>* (see `dtick` for more info). If the axis `type` is *date*, it should be a date string, like date data. If the axis `type` is *category*, it should be a number, using the scale where each category is assigned a serial number from zero in the order it appears.
	Tick0 interface{} `json:"tick0,omitempty"`

	// Tickangle 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 color Sets the tick color.
	Tickcolor String `json:"tickcolor,omitempty"`

	// Tickfont <no value> Sets the color bar's tick label font
	Tickfont *ParcatsLineColorbarTickfont `json:"tickfont,omitempty"`

	// Tickformat 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*
	Tickformat String `json:"tickformat,omitempty"`

	// Tickformatstops <no value> <no value>
	Tickformatstops ParcatsLineColorbarTickformatstops `json:"tickformatstops,omitempty"`

	// Ticklabelposition enumerated Determines where tick labels are drawn.
	Ticklabelposition ParcatsLineColorbarTicklabelposition `json:"ticklabelposition,omitempty"`

	// Ticklen number Sets the tick length (in px).
	Ticklen float64 `json:"ticklen,omitempty"`

	// Tickmode 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 string Sets a tick label prefix.
	Tickprefix String `json:"tickprefix,omitempty"`

	// Ticks 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 string Sets a tick label suffix.
	Ticksuffix String `json:"ticksuffix,omitempty"`

	// Ticktext 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 string Sets the source reference on Chart Studio Cloud for  ticktext .
	Ticktextsrc String `json:"ticktextsrc,omitempty"`

	// Tickvals 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 string Sets the source reference on Chart Studio Cloud for  tickvals .
	Tickvalssrc String `json:"tickvalssrc,omitempty"`

	// Tickwidth number Sets the tick width (in px).
	Tickwidth float64 `json:"tickwidth,omitempty"`

	// Title <no value> <no value>
	Title *ParcatsLineColorbarTitle `json:"title,omitempty"`

	// X number Sets the x position of the color bar (in plot fraction).
	X float64 `json:"x,omitempty"`

	// Xanchor 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.
	Xanchor ParcatsLineColorbarXanchor `json:"xanchor,omitempty"`

	// Xpad number Sets the amount of padding (in px) along the x direction.
	Xpad float64 `json:"xpad,omitempty"`

	// Y number Sets the y position of the color bar (in plot fraction).
	Y float64 `json:"y,omitempty"`

	// Yanchor 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.
	Yanchor ParcatsLineColorbarYanchor `json:"yanchor,omitempty"`

	// Ypad number Sets the amount of padding (in px) along the y direction.
	Ypad float64 `json:"ypad,omitempty"`
}

type ParcatsLineColorbarExponentformat

type ParcatsLineColorbarExponentformat string

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.

const (
	ParcatsLineColorbarExponentformat_none  ParcatsLineColorbarExponentformat = "none"
	ParcatsLineColorbarExponentformat_e     ParcatsLineColorbarExponentformat = "e"
	ParcatsLineColorbarExponentformat_E     ParcatsLineColorbarExponentformat = "E"
	ParcatsLineColorbarExponentformat_power ParcatsLineColorbarExponentformat = "power"
	ParcatsLineColorbarExponentformat_SI    ParcatsLineColorbarExponentformat = "SI"
	ParcatsLineColorbarExponentformat_B     ParcatsLineColorbarExponentformat = "B"
)

type ParcatsLineColorbarLenmode

type ParcatsLineColorbarLenmode string

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.

const (
	ParcatsLineColorbarLenmode_fraction ParcatsLineColorbarLenmode = "fraction"
	ParcatsLineColorbarLenmode_pixels   ParcatsLineColorbarLenmode = "pixels"
)

type ParcatsLineColorbarShowexponent

type ParcatsLineColorbarShowexponent string

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.

const (
	ParcatsLineColorbarShowexponent_all   ParcatsLineColorbarShowexponent = "all"
	ParcatsLineColorbarShowexponent_first ParcatsLineColorbarShowexponent = "first"
	ParcatsLineColorbarShowexponent_last  ParcatsLineColorbarShowexponent = "last"
	ParcatsLineColorbarShowexponent_none  ParcatsLineColorbarShowexponent = "none"
)

type ParcatsLineColorbarShowtickprefix

type ParcatsLineColorbarShowtickprefix string

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.

const (
	ParcatsLineColorbarShowtickprefix_all   ParcatsLineColorbarShowtickprefix = "all"
	ParcatsLineColorbarShowtickprefix_first ParcatsLineColorbarShowtickprefix = "first"
	ParcatsLineColorbarShowtickprefix_last  ParcatsLineColorbarShowtickprefix = "last"
	ParcatsLineColorbarShowtickprefix_none  ParcatsLineColorbarShowtickprefix = "none"
)

type ParcatsLineColorbarShowticksuffix

type ParcatsLineColorbarShowticksuffix string

ParcatsLineColorbarShowticksuffix Same as `showtickprefix` but for tick suffixes.

const (
	ParcatsLineColorbarShowticksuffix_all   ParcatsLineColorbarShowticksuffix = "all"
	ParcatsLineColorbarShowticksuffix_first ParcatsLineColorbarShowticksuffix = "first"
	ParcatsLineColorbarShowticksuffix_last  ParcatsLineColorbarShowticksuffix = "last"
	ParcatsLineColorbarShowticksuffix_none  ParcatsLineColorbarShowticksuffix = "none"
)

type ParcatsLineColorbarThicknessmode

type ParcatsLineColorbarThicknessmode string

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.

const (
	ParcatsLineColorbarThicknessmode_fraction ParcatsLineColorbarThicknessmode = "fraction"
	ParcatsLineColorbarThicknessmode_pixels   ParcatsLineColorbarThicknessmode = "pixels"
)

type ParcatsLineColorbarTickfont

type ParcatsLineColorbarTickfont struct {

	// Color color <no value>
	Color String `json:"color,omitempty"`

	// Family string HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.
	Family String `json:"family,omitempty"`

	// Size number <no value>
	Size float64 `json:"size,omitempty"`
}

type ParcatsLineColorbarTickformatstops

type ParcatsLineColorbarTickformatstops interface{}

ParcatsLineColorbarTickformatstops It's an items array and what goes inside it's... messy... check the docs Here is a hint to help you to define your own type tickformatstop

dtickrange
editType
enabled
name
role
templateitemname
value

type ParcatsLineColorbarTicklabelposition

type ParcatsLineColorbarTicklabelposition string

ParcatsLineColorbarTicklabelposition Determines where tick labels are drawn.

const (
	ParcatsLineColorbarTicklabelposition_outside       ParcatsLineColorbarTicklabelposition = "outside"
	ParcatsLineColorbarTicklabelposition_inside        ParcatsLineColorbarTicklabelposition = "inside"
	ParcatsLineColorbarTicklabelposition_outsidetop    ParcatsLineColorbarTicklabelposition = "outside top"
	ParcatsLineColorbarTicklabelposition_insidetop     ParcatsLineColorbarTicklabelposition = "inside top"
	ParcatsLineColorbarTicklabelposition_outsidebottom ParcatsLineColorbarTicklabelposition = "outside bottom"
	ParcatsLineColorbarTicklabelposition_insidebottom  ParcatsLineColorbarTicklabelposition = "inside bottom"
)

type ParcatsLineColorbarTickmode

type ParcatsLineColorbarTickmode string

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).

const (
	ParcatsLineColorbarTickmode_auto   ParcatsLineColorbarTickmode = "auto"
	ParcatsLineColorbarTickmode_linear ParcatsLineColorbarTickmode = "linear"
	ParcatsLineColorbarTickmode_array  ParcatsLineColorbarTickmode = "array"
)

type ParcatsLineColorbarTicks

type ParcatsLineColorbarTicks string

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.

const (
	ParcatsLineColorbarTicks_outside ParcatsLineColorbarTicks = "outside"
	ParcatsLineColorbarTicks_inside  ParcatsLineColorbarTicks = "inside"
)

type ParcatsLineColorbarTitle

type ParcatsLineColorbarTitle struct {

	// Font <no value> Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.
	Font *ParcatsLineColorbarTitleFont `json:"font,omitempty"`

	// Side 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.
	Side ParcatsLineColorbarTitleSide `json:"side,omitempty"`

	// Text 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"`
}

type ParcatsLineColorbarTitleFont

type ParcatsLineColorbarTitleFont struct {

	// Color color <no value>
	Color String `json:"color,omitempty"`

	// Family string HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.
	Family String `json:"family,omitempty"`

	// Size number <no value>
	Size float64 `json:"size,omitempty"`
}

type ParcatsLineColorbarTitleSide

type ParcatsLineColorbarTitleSide string

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.

const (
	ParcatsLineColorbarTitleSide_right  ParcatsLineColorbarTitleSide = "right"
	ParcatsLineColorbarTitleSide_top    ParcatsLineColorbarTitleSide = "top"
	ParcatsLineColorbarTitleSide_bottom ParcatsLineColorbarTitleSide = "bottom"
)

type ParcatsLineColorbarXanchor

type ParcatsLineColorbarXanchor string

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.

const (
	ParcatsLineColorbarXanchor_left   ParcatsLineColorbarXanchor = "left"
	ParcatsLineColorbarXanchor_center ParcatsLineColorbarXanchor = "center"
	ParcatsLineColorbarXanchor_right  ParcatsLineColorbarXanchor = "right"
)

type ParcatsLineColorbarYanchor

type ParcatsLineColorbarYanchor string

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.

const (
	ParcatsLineColorbarYanchor_top    ParcatsLineColorbarYanchor = "top"
	ParcatsLineColorbarYanchor_middle ParcatsLineColorbarYanchor = "middle"
	ParcatsLineColorbarYanchor_bottom ParcatsLineColorbarYanchor = "bottom"
)

type ParcatsLineShape

type ParcatsLineShape string

ParcatsLineShape Sets the shape of the paths. If `linear`, paths are composed of straight lines. If `hspline`, paths are composed of horizontal curved splines

const (
	ParcatsLineShape_linear  ParcatsLineShape = "linear"
	ParcatsLineShape_hspline ParcatsLineShape = "hspline"
)

type ParcatsSortpaths

type ParcatsSortpaths string

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.

const (
	ParcatsSortpaths_forward  ParcatsSortpaths = "forward"
	ParcatsSortpaths_backward ParcatsSortpaths = "backward"
)

type ParcatsStream

type ParcatsStream struct {

	// Maxpoints 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 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"`
}

type ParcatsTickfont

type ParcatsTickfont struct {

	// Color color <no value>
	Color String `json:"color,omitempty"`

	// Family string HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.
	Family String `json:"family,omitempty"`

	// Size number <no value>
	Size float64 `json:"size,omitempty"`
}

type ParcatsTransforms

type ParcatsTransforms interface{}

ParcatsTransforms It's an items array and what goes inside it's... messy... check the docs Here is a hint to help you to define your own type transform

description
editType
role

type ParcatsVisible

type ParcatsVisible interface{}

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).

var (
	ParcatsVisible_True       ParcatsVisible = true
	ParcatsVisible_False      ParcatsVisible = false
	ParcatsVisible_legendonly ParcatsVisible = "legendonly"
)

type Parcoords

type Parcoords struct {

	// Type is the type of the plot
	Type TraceType `json:"type,omitempty"`

	// Customdata 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 string Sets the source reference on Chart Studio Cloud for  customdata .
	Customdatasrc String `json:"customdatasrc,omitempty"`

	// Dimensions <no value> <no value>
	Dimensions ParcoordsDimensions `json:"dimensions,omitempty"`

	// Domain <no value> <no value>
	Domain *ParcoordsDomain `json:"domain,omitempty"`

	// Ids 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 string Sets the source reference on Chart Studio Cloud for  ids .
	Idssrc String `json:"idssrc,omitempty"`

	// Labelangle 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 <no value> Sets the font for the `dimension` labels.
	Labelfont *ParcoordsLabelfont `json:"labelfont,omitempty"`

	// Labelside 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"`

	// Line <no value> <no value>
	Line *ParcoordsLine `json:"line,omitempty"`

	// Meta 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 string Sets the source reference on Chart Studio Cloud for  meta .
	Metasrc String `json:"metasrc,omitempty"`

	// Name string Sets the trace name. The trace name appear as the legend item and on hover.
	Name String `json:"name,omitempty"`

	// Rangefont <no value> Sets the font for the `dimension` range values.
	Rangefont *ParcoordsRangefont `json:"rangefont,omitempty"`

	// Stream <no value> <no value>
	Stream *ParcoordsStream `json:"stream,omitempty"`

	// Tickfont <no value> Sets the font for the `dimension` tick values.
	Tickfont *ParcoordsTickfont `json:"tickfont,omitempty"`

	// Transforms <no value> <no value>
	Transforms ParcoordsTransforms `json:"transforms,omitempty"`

	// Uid 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 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 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"`
}

Parcoords Parallel coordinates for multidimensional exploratory data analysis. The samples are specified in `dimensions`. The colors are set in `line.color`.

func NewParcoords

func NewParcoords() *Parcoords

func (*Parcoords) GetType

func (this *Parcoords) GetType() TraceType

type ParcoordsDimensions

type ParcoordsDimensions interface{}

ParcoordsDimensions It's an items array and what goes inside it's... messy... check the docs Here is a hint to help you to define your own type dimension

constraintrange
description
editType
label
multiselect
name
range
role
templateitemname
tickformat
ticktext
ticktextsrc
tickvals
tickvalssrc
values
valuessrc
visible

type ParcoordsDomain

type ParcoordsDomain struct {

	// Column 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 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 info_array Sets the horizontal domain of this parcoords trace (in plot fraction).
	X interface{} `json:"x,omitempty"`

	// Y info_array Sets the vertical domain of this parcoords trace (in plot fraction).
	Y interface{} `json:"y,omitempty"`
}

type ParcoordsLabelfont

type ParcoordsLabelfont struct {

	// Color color <no value>
	Color String `json:"color,omitempty"`

	// Family string HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.
	Family String `json:"family,omitempty"`

	// Size number <no value>
	Size float64 `json:"size,omitempty"`
}

type ParcoordsLabelside

type ParcoordsLabelside string

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*.

const (
	ParcoordsLabelside_top    ParcoordsLabelside = "top"
	ParcoordsLabelside_bottom ParcoordsLabelside = "bottom"
)

type ParcoordsLine

type ParcoordsLine struct {

	// Autocolorscale 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 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 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 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 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 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.
	Color interface{} `json:"color,omitempty"`

	// Coloraxis 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 <no value> <no value>
	Colorbar *ParcoordsLineColorbar `json:"colorbar,omitempty"`

	// Colorsrc string Sets the source reference on Chart Studio Cloud for  color .
	Colorsrc String `json:"colorsrc,omitempty"`

	// Reversescale 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 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"`
}

type ParcoordsLineColorbar

type ParcoordsLineColorbar struct {

	// Bgcolor color Sets the color of padded area.
	Bgcolor String `json:"bgcolor,omitempty"`

	// Bordercolor color Sets the axis line color.
	Bordercolor String `json:"bordercolor,omitempty"`

	// Borderwidth number Sets the width (in px) or the border enclosing this color bar.
	Borderwidth float64 `json:"borderwidth,omitempty"`

	// Dtick 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<f>*, where `f` is a positive number, gives ticks linearly spaced in value (but not position). For example `tick0` = 0.1, `dtick` = *L0.5* will put ticks at 0.1, 0.6, 1.1, 1.6 etc. To show powers of 10 plus small digits between, use *D1* (all digits) or *D2* (only 2 and 5). `tick0` is ignored for *D1* and *D2*. If the axis `type` is *date*, then you must convert the time to milliseconds. For example, to set the interval between ticks to one day, set `dtick` to 86400000.0. *date* also has special values *M<n>* gives ticks spaced by a number of months. `n` must be a positive integer. To set ticks on the 15th of every third month, set `tick0` to *2000-01-15* and `dtick` to *M3*. To set ticks every 4 years, set `dtick` to *M48*
	Dtick interface{} `json:"dtick,omitempty"`

	// Exponentformat 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"`

	// Len 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 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 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 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"`

	// Outlinecolor color Sets the axis line color.
	Outlinecolor String `json:"outlinecolor,omitempty"`

	// Outlinewidth number Sets the width (in px) of the axis line.
	Outlinewidth float64 `json:"outlinewidth,omitempty"`

	// Separatethousands boolean If "true", even 4-digit integers are separated
	Separatethousands Bool `json:"separatethousands,omitempty"`

	// Showexponent 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 boolean Determines whether or not the tick labels are drawn.
	Showticklabels Bool `json:"showticklabels,omitempty"`

	// Showtickprefix 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 enumerated Same as `showtickprefix` but for tick suffixes.
	Showticksuffix ParcoordsLineColorbarShowticksuffix `json:"showticksuffix,omitempty"`

	// Thickness 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 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 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<f>* (see `dtick` for more info). If the axis `type` is *date*, it should be a date string, like date data. If the axis `type` is *category*, it should be a number, using the scale where each category is assigned a serial number from zero in the order it appears.
	Tick0 interface{} `json:"tick0,omitempty"`

	// Tickangle 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 color Sets the tick color.
	Tickcolor String `json:"tickcolor,omitempty"`

	// Tickfont <no value> Sets the color bar's tick label font
	Tickfont *ParcoordsLineColorbarTickfont `json:"tickfont,omitempty"`

	// Tickformat 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*
	Tickformat String `json:"tickformat,omitempty"`

	// Tickformatstops <no value> <no value>
	Tickformatstops ParcoordsLineColorbarTickformatstops `json:"tickformatstops,omitempty"`

	// Ticklabelposition enumerated Determines where tick labels are drawn.
	Ticklabelposition ParcoordsLineColorbarTicklabelposition `json:"ticklabelposition,omitempty"`

	// Ticklen number Sets the tick length (in px).
	Ticklen float64 `json:"ticklen,omitempty"`

	// Tickmode 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 string Sets a tick label prefix.
	Tickprefix String `json:"tickprefix,omitempty"`

	// Ticks 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 string Sets a tick label suffix.
	Ticksuffix String `json:"ticksuffix,omitempty"`

	// Ticktext 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 string Sets the source reference on Chart Studio Cloud for  ticktext .
	Ticktextsrc String `json:"ticktextsrc,omitempty"`

	// Tickvals 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 string Sets the source reference on Chart Studio Cloud for  tickvals .
	Tickvalssrc String `json:"tickvalssrc,omitempty"`

	// Tickwidth number Sets the tick width (in px).
	Tickwidth float64 `json:"tickwidth,omitempty"`

	// Title <no value> <no value>
	Title *ParcoordsLineColorbarTitle `json:"title,omitempty"`

	// X number Sets the x position of the color bar (in plot fraction).
	X float64 `json:"x,omitempty"`

	// Xanchor 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.
	Xanchor ParcoordsLineColorbarXanchor `json:"xanchor,omitempty"`

	// Xpad number Sets the amount of padding (in px) along the x direction.
	Xpad float64 `json:"xpad,omitempty"`

	// Y number Sets the y position of the color bar (in plot fraction).
	Y float64 `json:"y,omitempty"`

	// Yanchor 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.
	Yanchor ParcoordsLineColorbarYanchor `json:"yanchor,omitempty"`

	// Ypad number Sets the amount of padding (in px) along the y direction.
	Ypad float64 `json:"ypad,omitempty"`
}

type ParcoordsLineColorbarExponentformat

type ParcoordsLineColorbarExponentformat string

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.

const (
	ParcoordsLineColorbarExponentformat_none  ParcoordsLineColorbarExponentformat = "none"
	ParcoordsLineColorbarExponentformat_e     ParcoordsLineColorbarExponentformat = "e"
	ParcoordsLineColorbarExponentformat_E     ParcoordsLineColorbarExponentformat = "E"
	ParcoordsLineColorbarExponentformat_power ParcoordsLineColorbarExponentformat = "power"
	ParcoordsLineColorbarExponentformat_SI    ParcoordsLineColorbarExponentformat = "SI"
	ParcoordsLineColorbarExponentformat_B     ParcoordsLineColorbarExponentformat = "B"
)

type ParcoordsLineColorbarLenmode

type ParcoordsLineColorbarLenmode string

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.

const (
	ParcoordsLineColorbarLenmode_fraction ParcoordsLineColorbarLenmode = "fraction"
	ParcoordsLineColorbarLenmode_pixels   ParcoordsLineColorbarLenmode = "pixels"
)

type ParcoordsLineColorbarShowexponent

type ParcoordsLineColorbarShowexponent string

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.

const (
	ParcoordsLineColorbarShowexponent_all   ParcoordsLineColorbarShowexponent = "all"
	ParcoordsLineColorbarShowexponent_first ParcoordsLineColorbarShowexponent = "first"
	ParcoordsLineColorbarShowexponent_last  ParcoordsLineColorbarShowexponent = "last"
	ParcoordsLineColorbarShowexponent_none  ParcoordsLineColorbarShowexponent = "none"
)

type ParcoordsLineColorbarShowtickprefix

type ParcoordsLineColorbarShowtickprefix string

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.

const (
	ParcoordsLineColorbarShowtickprefix_all   ParcoordsLineColorbarShowtickprefix = "all"
	ParcoordsLineColorbarShowtickprefix_first ParcoordsLineColorbarShowtickprefix = "first"
	ParcoordsLineColorbarShowtickprefix_last  ParcoordsLineColorbarShowtickprefix = "last"
	ParcoordsLineColorbarShowtickprefix_none  ParcoordsLineColorbarShowtickprefix = "none"
)

type ParcoordsLineColorbarShowticksuffix

type ParcoordsLineColorbarShowticksuffix string

ParcoordsLineColorbarShowticksuffix Same as `showtickprefix` but for tick suffixes.

const (
	ParcoordsLineColorbarShowticksuffix_all   ParcoordsLineColorbarShowticksuffix = "all"
	ParcoordsLineColorbarShowticksuffix_first ParcoordsLineColorbarShowticksuffix = "first"
	ParcoordsLineColorbarShowticksuffix_last  ParcoordsLineColorbarShowticksuffix = "last"
	ParcoordsLineColorbarShowticksuffix_none  ParcoordsLineColorbarShowticksuffix = "none"
)

type ParcoordsLineColorbarThicknessmode

type ParcoordsLineColorbarThicknessmode string

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.

const (
	ParcoordsLineColorbarThicknessmode_fraction ParcoordsLineColorbarThicknessmode = "fraction"
	ParcoordsLineColorbarThicknessmode_pixels   ParcoordsLineColorbarThicknessmode = "pixels"
)

type ParcoordsLineColorbarTickfont

type ParcoordsLineColorbarTickfont struct {

	// Color color <no value>
	Color String `json:"color,omitempty"`

	// Family string HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.
	Family String `json:"family,omitempty"`

	// Size number <no value>
	Size float64 `json:"size,omitempty"`
}

type ParcoordsLineColorbarTickformatstops

type ParcoordsLineColorbarTickformatstops interface{}

ParcoordsLineColorbarTickformatstops It's an items array and what goes inside it's... messy... check the docs Here is a hint to help you to define your own type tickformatstop

dtickrange
editType
enabled
name
role
templateitemname
value

type ParcoordsLineColorbarTicklabelposition

type ParcoordsLineColorbarTicklabelposition string

ParcoordsLineColorbarTicklabelposition Determines where tick labels are drawn.

const (
	ParcoordsLineColorbarTicklabelposition_outside       ParcoordsLineColorbarTicklabelposition = "outside"
	ParcoordsLineColorbarTicklabelposition_inside        ParcoordsLineColorbarTicklabelposition = "inside"
	ParcoordsLineColorbarTicklabelposition_outsidetop    ParcoordsLineColorbarTicklabelposition = "outside top"
	ParcoordsLineColorbarTicklabelposition_insidetop     ParcoordsLineColorbarTicklabelposition = "inside top"
	ParcoordsLineColorbarTicklabelposition_outsidebottom ParcoordsLineColorbarTicklabelposition = "outside bottom"
	ParcoordsLineColorbarTicklabelposition_insidebottom  ParcoordsLineColorbarTicklabelposition = "inside bottom"
)

type ParcoordsLineColorbarTickmode

type ParcoordsLineColorbarTickmode string

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).

const (
	ParcoordsLineColorbarTickmode_auto   ParcoordsLineColorbarTickmode = "auto"
	ParcoordsLineColorbarTickmode_linear ParcoordsLineColorbarTickmode = "linear"
	ParcoordsLineColorbarTickmode_array  ParcoordsLineColorbarTickmode = "array"
)

type ParcoordsLineColorbarTicks

type ParcoordsLineColorbarTicks string

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.

const (
	ParcoordsLineColorbarTicks_outside ParcoordsLineColorbarTicks = "outside"
	ParcoordsLineColorbarTicks_inside  ParcoordsLineColorbarTicks = "inside"
)

type ParcoordsLineColorbarTitle

type ParcoordsLineColorbarTitle struct {

	// Font <no value> Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.
	Font *ParcoordsLineColorbarTitleFont `json:"font,omitempty"`

	// Side 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.
	Side ParcoordsLineColorbarTitleSide `json:"side,omitempty"`

	// Text 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"`
}

type ParcoordsLineColorbarTitleFont

type ParcoordsLineColorbarTitleFont struct {

	// Color color <no value>
	Color String `json:"color,omitempty"`

	// Family string HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.
	Family String `json:"family,omitempty"`

	// Size number <no value>
	Size float64 `json:"size,omitempty"`
}

type ParcoordsLineColorbarTitleSide

type ParcoordsLineColorbarTitleSide string

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.

const (
	ParcoordsLineColorbarTitleSide_right  ParcoordsLineColorbarTitleSide = "right"
	ParcoordsLineColorbarTitleSide_top    ParcoordsLineColorbarTitleSide = "top"
	ParcoordsLineColorbarTitleSide_bottom ParcoordsLineColorbarTitleSide = "bottom"
)

type ParcoordsLineColorbarXanchor

type ParcoordsLineColorbarXanchor string

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.

const (
	ParcoordsLineColorbarXanchor_left   ParcoordsLineColorbarXanchor = "left"
	ParcoordsLineColorbarXanchor_center ParcoordsLineColorbarXanchor = "center"
	ParcoordsLineColorbarXanchor_right  ParcoordsLineColorbarXanchor = "right"
)

type ParcoordsLineColorbarYanchor

type ParcoordsLineColorbarYanchor string

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.

const (
	ParcoordsLineColorbarYanchor_top    ParcoordsLineColorbarYanchor = "top"
	ParcoordsLineColorbarYanchor_middle ParcoordsLineColorbarYanchor = "middle"
	ParcoordsLineColorbarYanchor_bottom ParcoordsLineColorbarYanchor = "bottom"
)

type ParcoordsRangefont

type ParcoordsRangefont struct {

	// Color color <no value>
	Color String `json:"color,omitempty"`

	// Family string HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.
	Family String `json:"family,omitempty"`

	// Size number <no value>
	Size float64 `json:"size,omitempty"`
}

type ParcoordsStream

type ParcoordsStream struct {

	// Maxpoints 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 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"`
}

type ParcoordsTickfont

type ParcoordsTickfont struct {

	// Color color <no value>
	Color String `json:"color,omitempty"`

	// Family string HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.
	Family String `json:"family,omitempty"`

	// Size number <no value>
	Size float64 `json:"size,omitempty"`
}

type ParcoordsTransforms

type ParcoordsTransforms interface{}

ParcoordsTransforms It's an items array and what goes inside it's... messy... check the docs Here is a hint to help you to define your own type transform

description
editType
role

type ParcoordsVisible

type ParcoordsVisible interface{}

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).

var (
	ParcoordsVisible_True       ParcoordsVisible = true
	ParcoordsVisible_False      ParcoordsVisible = false
	ParcoordsVisible_legendonly ParcoordsVisible = "legendonly"
)

type Pie

type Pie struct {

	// Type is the type of the plot
	Type TraceType `json:"type,omitempty"`

	// Automargin boolean Determines whether outside text labels can push the margins.
	Automargin Bool `json:"automargin,omitempty"`

	// Customdata 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 string Sets the source reference on Chart Studio Cloud for  customdata .
	Customdatasrc String `json:"customdatasrc,omitempty"`

	// Direction enumerated Specifies the direction at which succeeding sectors follow one another.
	Direction PieDirection `json:"direction,omitempty"`

	// Dlabel number Sets the label step. See `label0` for more info.
	Dlabel float64 `json:"dlabel,omitempty"`

	// Domain <no value> <no value>
	Domain *PieDomain `json:"domain,omitempty"`

	// Hole 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 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 string Sets the source reference on Chart Studio Cloud for  hoverinfo .
	Hoverinfosrc String `json:"hoverinfosrc,omitempty"`

	// Hoverlabel <no value> <no value>
	Hoverlabel *PieHoverlabel `json:"hoverlabel,omitempty"`

	// Hovertemplate 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 `<extra>` is displayed in the secondary box, for example "<extra>{fullData.name}</extra>". To hide the secondary box completely, use an empty tag `<extra></extra>`.
	Hovertemplate interface{} `json:"hovertemplate,omitempty"`

	// Hovertemplatesrc string Sets the source reference on Chart Studio Cloud for  hovertemplate .
	Hovertemplatesrc String `json:"hovertemplatesrc,omitempty"`

	// Hovertext 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 interface{} `json:"hovertext,omitempty"`

	// Hovertextsrc string Sets the source reference on Chart Studio Cloud for  hovertext .
	Hovertextsrc String `json:"hovertextsrc,omitempty"`

	// Ids 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 string Sets the source reference on Chart Studio Cloud for  ids .
	Idssrc String `json:"idssrc,omitempty"`

	// Insidetextfont <no value> Sets the font used for `textinfo` lying inside the sector.
	Insidetextfont *PieInsidetextfont `json:"insidetextfont,omitempty"`

	// Insidetextorientation 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 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 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 string Sets the source reference on Chart Studio Cloud for  labels .
	Labelssrc String `json:"labelssrc,omitempty"`

	// Legendgroup 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 <no value> <no value>
	Marker *PieMarker `json:"marker,omitempty"`

	// Meta 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 string Sets the source reference on Chart Studio Cloud for  meta .
	Metasrc String `json:"metasrc,omitempty"`

	// Name string Sets the trace name. The trace name appear as the legend item and on hover.
	Name String `json:"name,omitempty"`

	// Opacity number Sets the opacity of the trace.
	Opacity float64 `json:"opacity,omitempty"`

	// Outsidetextfont <no value> Sets the font used for `textinfo` lying outside the sector.
	Outsidetextfont *PieOutsidetextfont `json:"outsidetextfont,omitempty"`

	// Pull 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 interface{} `json:"pull,omitempty"`

	// Pullsrc string Sets the source reference on Chart Studio Cloud for  pull .
	Pullsrc String `json:"pullsrc,omitempty"`

	// Rotation number Instead of the first slice starting at 12 o'clock, rotate to some other angle.
	Rotation float64 `json:"rotation,omitempty"`

	// Scalegroup 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 boolean Determines whether or not an item corresponding to this trace is shown in the legend.
	Showlegend Bool `json:"showlegend,omitempty"`

	// Sort boolean Determines whether or not the sectors are reordered from largest to smallest.
	Sort Bool `json:"sort,omitempty"`

	// Stream <no value> <no value>
	Stream *PieStream `json:"stream,omitempty"`

	// Text 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 <no value> Sets the font used for `textinfo`.
	Textfont *PieTextfont `json:"textfont,omitempty"`

	// Textinfo flaglist Determines which trace information appear on the graph.
	Textinfo PieTextinfo `json:"textinfo,omitempty"`

	// Textposition enumerated Specifies the location of the `textinfo`.
	Textposition PieTextposition `json:"textposition,omitempty"`

	// Textpositionsrc string Sets the source reference on Chart Studio Cloud for  textposition .
	Textpositionsrc String `json:"textpositionsrc,omitempty"`

	// Textsrc string Sets the source reference on Chart Studio Cloud for  text .
	Textsrc String `json:"textsrc,omitempty"`

	// Texttemplate 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`.
	Texttemplate interface{} `json:"texttemplate,omitempty"`

	// Texttemplatesrc string Sets the source reference on Chart Studio Cloud for  texttemplate .
	Texttemplatesrc String `json:"texttemplatesrc,omitempty"`

	// Title <no value> <no value>
	Title *PieTitle `json:"title,omitempty"`

	// Transforms <no value> <no value>
	Transforms PieTransforms `json:"transforms,omitempty"`

	// Uid 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 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 data_array Sets the values of the sectors. If omitted, we count occurrences of each label.
	Values interface{} `json:"values,omitempty"`

	// Valuessrc string Sets the source reference on Chart Studio Cloud for  values .
	Valuessrc String `json:"valuessrc,omitempty"`

	// Visible 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"`
}

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`

func NewPie

func NewPie() *Pie

func (*Pie) GetType

func (this *Pie) GetType() TraceType

type PieDirection

type PieDirection string

PieDirection Specifies the direction at which succeeding sectors follow one another.

const (
	PieDirection_clockwise        PieDirection = "clockwise"
	PieDirection_counterclockwise PieDirection = "counterclockwise"
)

type PieDomain

type PieDomain struct {

	// Column 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 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 info_array Sets the horizontal domain of this pie trace (in plot fraction).
	X interface{} `json:"x,omitempty"`

	// Y info_array Sets the vertical domain of this pie trace (in plot fraction).
	Y interface{} `json:"y,omitempty"`
}

type PieHoverinfo

type PieHoverinfo string
const (
	// Flags
	PieHoverinfoLabel   PieHoverinfo = "label"
	PieHoverinfoText    PieHoverinfo = "text"
	PieHoverinfoValue   PieHoverinfo = "value"
	PieHoverinfoPercent PieHoverinfo = "percent"
	PieHoverinfoName    PieHoverinfo = "name"
	// Extras
	PieHoverinfoAll  PieHoverinfo = "all"
	PieHoverinfoNone PieHoverinfo = "none"
	PieHoverinfoSkip PieHoverinfo = "skip"
)

type PieHoverlabel

type PieHoverlabel struct {

	// Align 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 string Sets the source reference on Chart Studio Cloud for  align .
	Alignsrc String `json:"alignsrc,omitempty"`

	// Bgcolor color Sets the background color of the hover labels for this trace
	Bgcolor interface{} `json:"bgcolor,omitempty"`

	// Bgcolorsrc string Sets the source reference on Chart Studio Cloud for  bgcolor .
	Bgcolorsrc String `json:"bgcolorsrc,omitempty"`

	// Bordercolor color Sets the border color of the hover labels for this trace.
	Bordercolor interface{} `json:"bordercolor,omitempty"`

	// Bordercolorsrc string Sets the source reference on Chart Studio Cloud for  bordercolor .
	Bordercolorsrc String `json:"bordercolorsrc,omitempty"`

	// Font <no value> Sets the font used in hover labels.
	Font *PieHoverlabelFont `json:"font,omitempty"`

	// Namelength 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 interface{} `json:"namelength,omitempty"`

	// Namelengthsrc string Sets the source reference on Chart Studio Cloud for  namelength .
	Namelengthsrc String `json:"namelengthsrc,omitempty"`
}

type PieHoverlabelAlign

type PieHoverlabelAlign string

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

const (
	PieHoverlabelAlign_left  PieHoverlabelAlign = "left"
	PieHoverlabelAlign_right PieHoverlabelAlign = "right"
	PieHoverlabelAlign_auto  PieHoverlabelAlign = "auto"
)

type PieHoverlabelFont

type PieHoverlabelFont struct {

	// Color color <no value>
	Color interface{} `json:"color,omitempty"`

	// Colorsrc string Sets the source reference on Chart Studio Cloud for  color .
	Colorsrc String `json:"colorsrc,omitempty"`

	// Family string HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.
	Family interface{} `json:"family,omitempty"`

	// Familysrc string Sets the source reference on Chart Studio Cloud for  family .
	Familysrc String `json:"familysrc,omitempty"`

	// Size number <no value>
	Size interface{} `json:"size,omitempty"`

	// Sizesrc string Sets the source reference on Chart Studio Cloud for  size .
	Sizesrc String `json:"sizesrc,omitempty"`
}

type PieInsidetextfont

type PieInsidetextfont struct {

	// Color color <no value>
	Color interface{} `json:"color,omitempty"`

	// Colorsrc string Sets the source reference on Chart Studio Cloud for  color .
	Colorsrc String `json:"colorsrc,omitempty"`

	// Family string HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.
	Family interface{} `json:"family,omitempty"`

	// Familysrc string Sets the source reference on Chart Studio Cloud for  family .
	Familysrc String `json:"familysrc,omitempty"`

	// Size number <no value>
	Size interface{} `json:"size,omitempty"`

	// Sizesrc string Sets the source reference on Chart Studio Cloud for  size .
	Sizesrc String `json:"sizesrc,omitempty"`
}

type PieInsidetextorientation

type PieInsidetextorientation string

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.

const (
	PieInsidetextorientation_horizontal PieInsidetextorientation = "horizontal"
	PieInsidetextorientation_radial     PieInsidetextorientation = "radial"
	PieInsidetextorientation_tangential PieInsidetextorientation = "tangential"
	PieInsidetextorientation_auto       PieInsidetextorientation = "auto"
)

type PieMarker

type PieMarker struct {

	// Colors 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 string Sets the source reference on Chart Studio Cloud for  colors .
	Colorssrc String `json:"colorssrc,omitempty"`

	// Line <no value> <no value>
	Line *PieMarkerLine `json:"line,omitempty"`
}

type PieMarkerLine

type PieMarkerLine struct {

	// Color color Sets the color of the line enclosing each sector.
	Color interface{} `json:"color,omitempty"`

	// Colorsrc string Sets the source reference on Chart Studio Cloud for  color .
	Colorsrc String `json:"colorsrc,omitempty"`

	// Width number Sets the width (in px) of the line enclosing each sector.
	Width interface{} `json:"width,omitempty"`

	// Widthsrc string Sets the source reference on Chart Studio Cloud for  width .
	Widthsrc String `json:"widthsrc,omitempty"`
}

type PieOutsidetextfont

type PieOutsidetextfont struct {

	// Color color <no value>
	Color interface{} `json:"color,omitempty"`

	// Colorsrc string Sets the source reference on Chart Studio Cloud for  color .
	Colorsrc String `json:"colorsrc,omitempty"`

	// Family string HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.
	Family interface{} `json:"family,omitempty"`

	// Familysrc string Sets the source reference on Chart Studio Cloud for  family .
	Familysrc String `json:"familysrc,omitempty"`

	// Size number <no value>
	Size interface{} `json:"size,omitempty"`

	// Sizesrc string Sets the source reference on Chart Studio Cloud for  size .
	Sizesrc String `json:"sizesrc,omitempty"`
}

type PieStream

type PieStream struct {

	// Maxpoints 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 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"`
}

type PieTextfont

type PieTextfont struct {

	// Color color <no value>
	Color interface{} `json:"color,omitempty"`

	// Colorsrc string Sets the source reference on Chart Studio Cloud for  color .
	Colorsrc String `json:"colorsrc,omitempty"`

	// Family string HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.
	Family interface{} `json:"family,omitempty"`

	// Familysrc string Sets the source reference on Chart Studio Cloud for  family .
	Familysrc String `json:"familysrc,omitempty"`

	// Size number <no value>
	Size interface{} `json:"size,omitempty"`

	// Sizesrc string Sets the source reference on Chart Studio Cloud for  size .
	Sizesrc String `json:"sizesrc,omitempty"`
}

type PieTextinfo

type PieTextinfo string
const (
	// Flags
	PieTextinfoLabel   PieTextinfo = "label"
	PieTextinfoText    PieTextinfo = "text"
	PieTextinfoValue   PieTextinfo = "value"
	PieTextinfoPercent PieTextinfo = "percent"
	// Extras
	PieTextinfoNone PieTextinfo = "none"
)

type PieTextposition

type PieTextposition string

PieTextposition Specifies the location of the `textinfo`.

const (
	PieTextposition_inside  PieTextposition = "inside"
	PieTextposition_outside PieTextposition = "outside"
	PieTextposition_auto    PieTextposition = "auto"
	PieTextposition_none    PieTextposition = "none"
)

type PieTitle

type PieTitle struct {

	// Font <no value> Sets the font used for `title`. Note that the title's font used to be set by the now deprecated `titlefont` attribute.
	Font *PieTitleFont `json:"font,omitempty"`

	// Position 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 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"`
}

type PieTitleFont

type PieTitleFont struct {

	// Color color <no value>
	Color interface{} `json:"color,omitempty"`

	// Colorsrc string Sets the source reference on Chart Studio Cloud for  color .
	Colorsrc String `json:"colorsrc,omitempty"`

	// Family string HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.
	Family interface{} `json:"family,omitempty"`

	// Familysrc string Sets the source reference on Chart Studio Cloud for  family .
	Familysrc String `json:"familysrc,omitempty"`

	// Size number <no value>
	Size interface{} `json:"size,omitempty"`

	// Sizesrc string Sets the source reference on Chart Studio Cloud for  size .
	Sizesrc String `json:"sizesrc,omitempty"`
}

type PieTitlePosition

type PieTitlePosition string

PieTitlePosition Specifies the location of the `title`. Note that the title's position used to be set by the now deprecated `titleposition` attribute.

const (
	PieTitlePosition_topleft      PieTitlePosition = "top left"
	PieTitlePosition_topcenter    PieTitlePosition = "top center"
	PieTitlePosition_topright     PieTitlePosition = "top right"
	PieTitlePosition_middlecenter PieTitlePosition = "middle center"
	PieTitlePosition_bottomleft   PieTitlePosition = "bottom left"
	PieTitlePosition_bottomcenter PieTitlePosition = "bottom center"
	PieTitlePosition_bottomright  PieTitlePosition = "bottom right"
)

type PieTransforms

type PieTransforms interface{}

PieTransforms It's an items array and what goes inside it's... messy... check the docs Here is a hint to help you to define your own type transform

description
editType
role

type PieVisible

type PieVisible interface{}

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).

var (
	PieVisible_True       PieVisible = true
	PieVisible_False      PieVisible = false
	PieVisible_legendonly PieVisible = "legendonly"
)

type Pointcloud

type Pointcloud struct {

	// Type is the type of the plot
	Type TraceType `json:"type,omitempty"`

	// Customdata 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 string Sets the source reference on Chart Studio Cloud for  customdata .
	Customdatasrc String `json:"customdatasrc,omitempty"`

	// Hoverinfo 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 string Sets the source reference on Chart Studio Cloud for  hoverinfo .
	Hoverinfosrc String `json:"hoverinfosrc,omitempty"`

	// Hoverlabel <no value> <no value>
	Hoverlabel *PointcloudHoverlabel `json:"hoverlabel,omitempty"`

	// Ids 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 string Sets the source reference on Chart Studio Cloud for  ids .
	Idssrc String `json:"idssrc,omitempty"`

	// Indices 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 string Sets the source reference on Chart Studio Cloud for  indices .
	Indicessrc String `json:"indicessrc,omitempty"`

	// Legendgroup 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 <no value> <no value>
	Marker *PointcloudMarker `json:"marker,omitempty"`

	// Meta 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 string Sets the source reference on Chart Studio Cloud for  meta .
	Metasrc String `json:"metasrc,omitempty"`

	// Name string Sets the trace name. The trace name appear as the legend item and on hover.
	Name String `json:"name,omitempty"`

	// Opacity number Sets the opacity of the trace.
	Opacity float64 `json:"opacity,omitempty"`

	// Showlegend boolean Determines whether or not an item corresponding to this trace is shown in the legend.
	Showlegend Bool `json:"showlegend,omitempty"`

	// Stream <no value> <no value>
	Stream *PointcloudStream `json:"stream,omitempty"`

	// Text 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 interface{} `json:"text,omitempty"`

	// Textsrc string Sets the source reference on Chart Studio Cloud for  text .
	Textsrc String `json:"textsrc,omitempty"`

	// Uid 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 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 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 data_array Sets the x coordinates.
	X interface{} `json:"x,omitempty"`

	// Xaxis 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 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 string Sets the source reference on Chart Studio Cloud for  xbounds .
	Xboundssrc String `json:"xboundssrc,omitempty"`

	// Xsrc string Sets the source reference on Chart Studio Cloud for  x .
	Xsrc String `json:"xsrc,omitempty"`

	// Xy 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 string Sets the source reference on Chart Studio Cloud for  xy .
	Xysrc String `json:"xysrc,omitempty"`

	// Y data_array Sets the y coordinates.
	Y interface{} `json:"y,omitempty"`

	// Yaxis 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 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 string Sets the source reference on Chart Studio Cloud for  ybounds .
	Yboundssrc String `json:"yboundssrc,omitempty"`

	// Ysrc string Sets the source reference on Chart Studio Cloud for  y .
	Ysrc String `json:"ysrc,omitempty"`
}

Pointcloud The data visualized as a point cloud set in `x` and `y` using the WebGl plotting engine.

func NewPointcloud

func NewPointcloud() *Pointcloud

func (*Pointcloud) GetType

func (this *Pointcloud) GetType() TraceType

type PointcloudHoverinfo

type PointcloudHoverinfo string
const (
	// Flags
	PointcloudHoverinfoX    PointcloudHoverinfo = "x"
	PointcloudHoverinfoY    PointcloudHoverinfo = "y"
	PointcloudHoverinfoZ    PointcloudHoverinfo = "z"
	PointcloudHoverinfoText PointcloudHoverinfo = "text"
	PointcloudHoverinfoName PointcloudHoverinfo = "name"
	// Extras
	PointcloudHoverinfoAll  PointcloudHoverinfo = "all"
	PointcloudHoverinfoNone PointcloudHoverinfo = "none"
	PointcloudHoverinfoSkip PointcloudHoverinfo = "skip"
)

type PointcloudHoverlabel

type PointcloudHoverlabel struct {

	// Align 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 string Sets the source reference on Chart Studio Cloud for  align .
	Alignsrc String `json:"alignsrc,omitempty"`

	// Bgcolor color Sets the background color of the hover labels for this trace
	Bgcolor interface{} `json:"bgcolor,omitempty"`

	// Bgcolorsrc string Sets the source reference on Chart Studio Cloud for  bgcolor .
	Bgcolorsrc String `json:"bgcolorsrc,omitempty"`

	// Bordercolor color Sets the border color of the hover labels for this trace.
	Bordercolor interface{} `json:"bordercolor,omitempty"`

	// Bordercolorsrc string Sets the source reference on Chart Studio Cloud for  bordercolor .
	Bordercolorsrc String `json:"bordercolorsrc,omitempty"`

	// Font <no value> Sets the font used in hover labels.
	Font *PointcloudHoverlabelFont `json:"font,omitempty"`

	// Namelength 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 interface{} `json:"namelength,omitempty"`

	// Namelengthsrc string Sets the source reference on Chart Studio Cloud for  namelength .
	Namelengthsrc String `json:"namelengthsrc,omitempty"`
}

type PointcloudHoverlabelAlign

type PointcloudHoverlabelAlign string

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

const (
	PointcloudHoverlabelAlign_left  PointcloudHoverlabelAlign = "left"
	PointcloudHoverlabelAlign_right PointcloudHoverlabelAlign = "right"
	PointcloudHoverlabelAlign_auto  PointcloudHoverlabelAlign = "auto"
)

type PointcloudHoverlabelFont

type PointcloudHoverlabelFont struct {

	// Color color <no value>
	Color interface{} `json:"color,omitempty"`

	// Colorsrc string Sets the source reference on Chart Studio Cloud for  color .
	Colorsrc String `json:"colorsrc,omitempty"`

	// Family string HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.
	Family interface{} `json:"family,omitempty"`

	// Familysrc string Sets the source reference on Chart Studio Cloud for  family .
	Familysrc String `json:"familysrc,omitempty"`

	// Size number <no value>
	Size interface{} `json:"size,omitempty"`

	// Sizesrc string Sets the source reference on Chart Studio Cloud for  size .
	Sizesrc String `json:"sizesrc,omitempty"`
}

type PointcloudMarker

type PointcloudMarker struct {

	// Blend 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 <no value> <no value>
	Border *PointcloudMarkerBorder `json:"border,omitempty"`

	// Color 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.
	Color String `json:"color,omitempty"`

	// Opacity 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 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 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"`
}

type PointcloudMarkerBorder

type PointcloudMarkerBorder struct {

	// Arearatio number Specifies what fraction of the marker area is covered with the border.
	Arearatio float64 `json:"arearatio,omitempty"`

	// Color 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 String `json:"color,omitempty"`
}

type PointcloudStream

type PointcloudStream struct {

	// Maxpoints 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 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"`
}

type PointcloudVisible

type PointcloudVisible interface{}

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).

var (
	PointcloudVisible_True       PointcloudVisible = true
	PointcloudVisible_False      PointcloudVisible = false
	PointcloudVisible_legendonly PointcloudVisible = "legendonly"
)

type Sankey

type Sankey struct {

	// Type is the type of the plot
	Type TraceType `json:"type,omitempty"`

	// Arrangement 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 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 string Sets the source reference on Chart Studio Cloud for  customdata .
	Customdatasrc String `json:"customdatasrc,omitempty"`

	// Domain <no value> <no value>
	Domain *SankeyDomain `json:"domain,omitempty"`

	// Hoverinfo 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 <no value> <no value>
	Hoverlabel *SankeyHoverlabel `json:"hoverlabel,omitempty"`

	// Ids 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 string Sets the source reference on Chart Studio Cloud for  ids .
	Idssrc String `json:"idssrc,omitempty"`

	// Link <no value> The links of the Sankey plot.
	Link *SankeyLink `json:"link,omitempty"`

	// Meta 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 string Sets the source reference on Chart Studio Cloud for  meta .
	Metasrc String `json:"metasrc,omitempty"`

	// Name string Sets the trace name. The trace name appear as the legend item and on hover.
	Name String `json:"name,omitempty"`

	// Node <no value> The nodes of the Sankey plot.
	Node *SankeyNode `json:"node,omitempty"`

	// Orientation enumerated Sets the orientation of the Sankey diagram.
	Orientation SankeyOrientation `json:"orientation,omitempty"`

	// Selectedpoints 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 <no value> <no value>
	Stream *SankeyStream `json:"stream,omitempty"`

	// Textfont <no value> Sets the font for node labels
	Textfont *SankeyTextfont `json:"textfont,omitempty"`

	// Uid 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 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 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
	Valueformat String `json:"valueformat,omitempty"`

	// Valuesuffix 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 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"`
}

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.

func NewSankey

func NewSankey() *Sankey

func (*Sankey) GetType

func (this *Sankey) GetType() TraceType

type SankeyArrangement

type SankeyArrangement string

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.

const (
	SankeyArrangement_snap          SankeyArrangement = "snap"
	SankeyArrangement_perpendicular SankeyArrangement = "perpendicular"
	SankeyArrangement_freeform      SankeyArrangement = "freeform"
	SankeyArrangement_fixed         SankeyArrangement = "fixed"
)

type SankeyDomain

type SankeyDomain struct {

	// Column 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 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 info_array Sets the horizontal domain of this sankey trace (in plot fraction).
	X interface{} `json:"x,omitempty"`

	// Y info_array Sets the vertical domain of this sankey trace (in plot fraction).
	Y interface{} `json:"y,omitempty"`
}

type SankeyHoverinfo

type SankeyHoverinfo string
const (
	// Flags
	// Extras
	SankeyHoverinfoAll  SankeyHoverinfo = "all"
	SankeyHoverinfoNone SankeyHoverinfo = "none"
	SankeyHoverinfoSkip SankeyHoverinfo = "skip"
)

type SankeyHoverlabel

type SankeyHoverlabel struct {

	// Align 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 string Sets the source reference on Chart Studio Cloud for  align .
	Alignsrc String `json:"alignsrc,omitempty"`

	// Bgcolor color Sets the background color of the hover labels for this trace
	Bgcolor interface{} `json:"bgcolor,omitempty"`

	// Bgcolorsrc string Sets the source reference on Chart Studio Cloud for  bgcolor .
	Bgcolorsrc String `json:"bgcolorsrc,omitempty"`

	// Bordercolor color Sets the border color of the hover labels for this trace.
	Bordercolor interface{} `json:"bordercolor,omitempty"`

	// Bordercolorsrc string Sets the source reference on Chart Studio Cloud for  bordercolor .
	Bordercolorsrc String `json:"bordercolorsrc,omitempty"`

	// Font <no value> Sets the font used in hover labels.
	Font *SankeyHoverlabelFont `json:"font,omitempty"`

	// Namelength 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 interface{} `json:"namelength,omitempty"`

	// Namelengthsrc string Sets the source reference on Chart Studio Cloud for  namelength .
	Namelengthsrc String `json:"namelengthsrc,omitempty"`
}

type SankeyHoverlabelAlign

type SankeyHoverlabelAlign string

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

const (
	SankeyHoverlabelAlign_left  SankeyHoverlabelAlign = "left"
	SankeyHoverlabelAlign_right SankeyHoverlabelAlign = "right"
	SankeyHoverlabelAlign_auto  SankeyHoverlabelAlign = "auto"
)

type SankeyHoverlabelFont

type SankeyHoverlabelFont struct {

	// Color color <no value>
	Color interface{} `json:"color,omitempty"`

	// Colorsrc string Sets the source reference on Chart Studio Cloud for  color .
	Colorsrc String `json:"colorsrc,omitempty"`

	// Family string HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.
	Family interface{} `json:"family,omitempty"`

	// Familysrc string Sets the source reference on Chart Studio Cloud for  family .
	Familysrc String `json:"familysrc,omitempty"`

	// Size number <no value>
	Size interface{} `json:"size,omitempty"`

	// Sizesrc string Sets the source reference on Chart Studio Cloud for  size .
	Sizesrc String `json:"sizesrc,omitempty"`
}
type SankeyLink struct {

	// Color 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 interface{} `json:"color,omitempty"`

	// Colorscales <no value> <no value>
	Colorscales SankeyLinkColorscales `json:"colorscales,omitempty"`

	// Colorsrc string Sets the source reference on Chart Studio Cloud for  color .
	Colorsrc String `json:"colorsrc,omitempty"`

	// Customdata data_array Assigns extra data to each link.
	Customdata interface{} `json:"customdata,omitempty"`

	// Customdatasrc string Sets the source reference on Chart Studio Cloud for  customdata .
	Customdatasrc String `json:"customdatasrc,omitempty"`

	// Hoverinfo 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 <no value> <no value>
	Hoverlabel *SankeyLinkHoverlabel `json:"hoverlabel,omitempty"`

	// Hovertemplate 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 `<extra>` is displayed in the secondary box, for example "<extra>{fullData.name}</extra>". To hide the secondary box completely, use an empty tag `<extra></extra>`.
	Hovertemplate interface{} `json:"hovertemplate,omitempty"`

	// Hovertemplatesrc string Sets the source reference on Chart Studio Cloud for  hovertemplate .
	Hovertemplatesrc String `json:"hovertemplatesrc,omitempty"`

	// Label data_array The shown name of the link.
	Label interface{} `json:"label,omitempty"`

	// Labelsrc string Sets the source reference on Chart Studio Cloud for  label .
	Labelsrc String `json:"labelsrc,omitempty"`

	// Line <no value> <no value>
	Line *SankeyLinkLine `json:"line,omitempty"`

	// Source data_array An integer number `[0..nodes.length - 1]` that represents the source node.
	Source interface{} `json:"source,omitempty"`

	// Sourcesrc string Sets the source reference on Chart Studio Cloud for  source .
	Sourcesrc String `json:"sourcesrc,omitempty"`

	// Target data_array An integer number `[0..nodes.length - 1]` that represents the target node.
	Target interface{} `json:"target,omitempty"`

	// Targetsrc string Sets the source reference on Chart Studio Cloud for  target .
	Targetsrc String `json:"targetsrc,omitempty"`

	// Value data_array A numeric value representing the flow volume value.
	Value interface{} `json:"value,omitempty"`

	// Valuesrc string Sets the source reference on Chart Studio Cloud for  value .
	Valuesrc String `json:"valuesrc,omitempty"`
}

type SankeyLinkColorscales

type SankeyLinkColorscales interface{}

SankeyLinkColorscales It's an items array and what goes inside it's... messy... check the docs Here is a hint to help you to define your own type concentrationscales

cmax
cmin
colorscale
editType
label
name
role
templateitemname

type SankeyLinkHoverinfo

type SankeyLinkHoverinfo string

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.

const (
	SankeyLinkHoverinfo_all  SankeyLinkHoverinfo = "all"
	SankeyLinkHoverinfo_none SankeyLinkHoverinfo = "none"
	SankeyLinkHoverinfo_skip SankeyLinkHoverinfo = "skip"
)

type SankeyLinkHoverlabel

type SankeyLinkHoverlabel struct {

	// Align 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 string Sets the source reference on Chart Studio Cloud for  align .
	Alignsrc String `json:"alignsrc,omitempty"`

	// Bgcolor color Sets the background color of the hover labels for this trace
	Bgcolor interface{} `json:"bgcolor,omitempty"`

	// Bgcolorsrc string Sets the source reference on Chart Studio Cloud for  bgcolor .
	Bgcolorsrc String `json:"bgcolorsrc,omitempty"`

	// Bordercolor color Sets the border color of the hover labels for this trace.
	Bordercolor interface{} `json:"bordercolor,omitempty"`

	// Bordercolorsrc string Sets the source reference on Chart Studio Cloud for  bordercolor .
	Bordercolorsrc String `json:"bordercolorsrc,omitempty"`

	// Font <no value> Sets the font used in hover labels.
	Font *SankeyLinkHoverlabelFont `json:"font,omitempty"`

	// Namelength 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 interface{} `json:"namelength,omitempty"`

	// Namelengthsrc string Sets the source reference on Chart Studio Cloud for  namelength .
	Namelengthsrc String `json:"namelengthsrc,omitempty"`
}

type SankeyLinkHoverlabelAlign

type SankeyLinkHoverlabelAlign string

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

const (
	SankeyLinkHoverlabelAlign_left  SankeyLinkHoverlabelAlign = "left"
	SankeyLinkHoverlabelAlign_right SankeyLinkHoverlabelAlign = "right"
	SankeyLinkHoverlabelAlign_auto  SankeyLinkHoverlabelAlign = "auto"
)

type SankeyLinkHoverlabelFont

type SankeyLinkHoverlabelFont struct {

	// Color color <no value>
	Color interface{} `json:"color,omitempty"`

	// Colorsrc string Sets the source reference on Chart Studio Cloud for  color .
	Colorsrc String `json:"colorsrc,omitempty"`

	// Family string HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.
	Family interface{} `json:"family,omitempty"`

	// Familysrc string Sets the source reference on Chart Studio Cloud for  family .
	Familysrc String `json:"familysrc,omitempty"`

	// Size number <no value>
	Size interface{} `json:"size,omitempty"`

	// Sizesrc string Sets the source reference on Chart Studio Cloud for  size .
	Sizesrc String `json:"sizesrc,omitempty"`
}

type SankeyLinkLine

type SankeyLinkLine struct {

	// Color color Sets the color of the `line` around each `link`.
	Color interface{} `json:"color,omitempty"`

	// Colorsrc string Sets the source reference on Chart Studio Cloud for  color .
	Colorsrc String `json:"colorsrc,omitempty"`

	// Width number Sets the width (in px) of the `line` around each `link`.
	Width interface{} `json:"width,omitempty"`

	// Widthsrc string Sets the source reference on Chart Studio Cloud for  width .
	Widthsrc String `json:"widthsrc,omitempty"`
}

type SankeyNode

type SankeyNode struct {

	// Color 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 interface{} `json:"color,omitempty"`

	// Colorsrc string Sets the source reference on Chart Studio Cloud for  color .
	Colorsrc String `json:"colorsrc,omitempty"`

	// Customdata data_array Assigns extra data to each node.
	Customdata interface{} `json:"customdata,omitempty"`

	// Customdatasrc string Sets the source reference on Chart Studio Cloud for  customdata .
	Customdatasrc String `json:"customdatasrc,omitempty"`

	// Groups 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 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 <no value> <no value>
	Hoverlabel *SankeyNodeHoverlabel `json:"hoverlabel,omitempty"`

	// Hovertemplate 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 `<extra>` is displayed in the secondary box, for example "<extra>{fullData.name}</extra>". To hide the secondary box completely, use an empty tag `<extra></extra>`.
	Hovertemplate interface{} `json:"hovertemplate,omitempty"`

	// Hovertemplatesrc string Sets the source reference on Chart Studio Cloud for  hovertemplate .
	Hovertemplatesrc String `json:"hovertemplatesrc,omitempty"`

	// Label data_array The shown name of the node.
	Label interface{} `json:"label,omitempty"`

	// Labelsrc string Sets the source reference on Chart Studio Cloud for  label .
	Labelsrc String `json:"labelsrc,omitempty"`

	// Line <no value> <no value>
	Line *SankeyNodeLine `json:"line,omitempty"`

	// Pad number Sets the padding (in px) between the `nodes`.
	Pad float64 `json:"pad,omitempty"`

	// Thickness number Sets the thickness (in px) of the `nodes`.
	Thickness float64 `json:"thickness,omitempty"`

	// X data_array The normalized horizontal position of the node.
	X interface{} `json:"x,omitempty"`

	// Xsrc string Sets the source reference on Chart Studio Cloud for  x .
	Xsrc String `json:"xsrc,omitempty"`

	// Y data_array The normalized vertical position of the node.
	Y interface{} `json:"y,omitempty"`

	// Ysrc string Sets the source reference on Chart Studio Cloud for  y .
	Ysrc String `json:"ysrc,omitempty"`
}

type SankeyNodeHoverinfo

type SankeyNodeHoverinfo string

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.

const (
	SankeyNodeHoverinfo_all  SankeyNodeHoverinfo = "all"
	SankeyNodeHoverinfo_none SankeyNodeHoverinfo = "none"
	SankeyNodeHoverinfo_skip SankeyNodeHoverinfo = "skip"
)

type SankeyNodeHoverlabel

type SankeyNodeHoverlabel struct {

	// Align 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 string Sets the source reference on Chart Studio Cloud for  align .
	Alignsrc String `json:"alignsrc,omitempty"`

	// Bgcolor color Sets the background color of the hover labels for this trace
	Bgcolor interface{} `json:"bgcolor,omitempty"`

	// Bgcolorsrc string Sets the source reference on Chart Studio Cloud for  bgcolor .
	Bgcolorsrc String `json:"bgcolorsrc,omitempty"`

	// Bordercolor color Sets the border color of the hover labels for this trace.
	Bordercolor interface{} `json:"bordercolor,omitempty"`

	// Bordercolorsrc string Sets the source reference on Chart Studio Cloud for  bordercolor .
	Bordercolorsrc String `json:"bordercolorsrc,omitempty"`

	// Font <no value> Sets the font used in hover labels.
	Font *SankeyNodeHoverlabelFont `json:"font,omitempty"`

	// Namelength 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 interface{} `json:"namelength,omitempty"`

	// Namelengthsrc string Sets the source reference on Chart Studio Cloud for  namelength .
	Namelengthsrc String `json:"namelengthsrc,omitempty"`
}

type SankeyNodeHoverlabelAlign

type SankeyNodeHoverlabelAlign string

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

const (
	SankeyNodeHoverlabelAlign_left  SankeyNodeHoverlabelAlign = "left"
	SankeyNodeHoverlabelAlign_right SankeyNodeHoverlabelAlign = "right"
	SankeyNodeHoverlabelAlign_auto  SankeyNodeHoverlabelAlign = "auto"
)

type SankeyNodeHoverlabelFont

type SankeyNodeHoverlabelFont struct {

	// Color color <no value>
	Color interface{} `json:"color,omitempty"`

	// Colorsrc string Sets the source reference on Chart Studio Cloud for  color .
	Colorsrc String `json:"colorsrc,omitempty"`

	// Family string HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.
	Family interface{} `json:"family,omitempty"`

	// Familysrc string Sets the source reference on Chart Studio Cloud for  family .
	Familysrc String `json:"familysrc,omitempty"`

	// Size number <no value>
	Size interface{} `json:"size,omitempty"`

	// Sizesrc string Sets the source reference on Chart Studio Cloud for  size .
	Sizesrc String `json:"sizesrc,omitempty"`
}

type SankeyNodeLine

type SankeyNodeLine struct {

	// Color color Sets the color of the `line` around each `node`.
	Color interface{} `json:"color,omitempty"`

	// Colorsrc string Sets the source reference on Chart Studio Cloud for  color .
	Colorsrc String `json:"colorsrc,omitempty"`

	// Width number Sets the width (in px) of the `line` around each `node`.
	Width interface{} `json:"width,omitempty"`

	// Widthsrc string Sets the source reference on Chart Studio Cloud for  width .
	Widthsrc String `json:"widthsrc,omitempty"`
}

type SankeyOrientation

type SankeyOrientation string

SankeyOrientation Sets the orientation of the Sankey diagram.

const (
	SankeyOrientation_v SankeyOrientation = "v"
	SankeyOrientation_h SankeyOrientation = "h"
)

type SankeyStream

type SankeyStream struct {

	// Maxpoints 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 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"`
}

type SankeyTextfont

type SankeyTextfont struct {

	// Color color <no value>
	Color String `json:"color,omitempty"`

	// Family string HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.
	Family String `json:"family,omitempty"`

	// Size number <no value>
	Size float64 `json:"size,omitempty"`
}

type SankeyVisible

type SankeyVisible interface{}

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).

var (
	SankeyVisible_True       SankeyVisible = true
	SankeyVisible_False      SankeyVisible = false
	SankeyVisible_legendonly SankeyVisible = "legendonly"
)

type Scatter

type Scatter struct {

	// Type is the type of the plot
	Type TraceType `json:"type,omitempty"`

	// Cliponaxis 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 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 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 string Sets the source reference on Chart Studio Cloud for  customdata .
	Customdatasrc String `json:"customdatasrc,omitempty"`

	// Dx number Sets the x coordinate step. See `x0` for more info.
	Dx float64 `json:"dx,omitempty"`

	// Dy number Sets the y coordinate step. See `y0` for more info.
	Dy float64 `json:"dy,omitempty"`

	// Error_x <no value> <no value>
	Error_x *ScatterErrorX `json:"error_x,omitempty"`

	// Error_y <no value> <no value>
	Error_y *ScatterErrorY `json:"error_y,omitempty"`

	// Fill 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 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 String `json:"fillcolor,omitempty"`

	// Groupnorm 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 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 string Sets the source reference on Chart Studio Cloud for  hoverinfo .
	Hoverinfosrc String `json:"hoverinfosrc,omitempty"`

	// Hoverlabel <no value> <no value>
	Hoverlabel *ScatterHoverlabel `json:"hoverlabel,omitempty"`

	// Hoveron 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 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 `<extra>` is displayed in the secondary box, for example "<extra>{fullData.name}</extra>". To hide the secondary box completely, use an empty tag `<extra></extra>`.
	Hovertemplate interface{} `json:"hovertemplate,omitempty"`

	// Hovertemplatesrc string Sets the source reference on Chart Studio Cloud for  hovertemplate .
	Hovertemplatesrc String `json:"hovertemplatesrc,omitempty"`

	// Hovertext 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 interface{} `json:"hovertext,omitempty"`

	// Hovertextsrc string Sets the source reference on Chart Studio Cloud for  hovertext .
	Hovertextsrc String `json:"hovertextsrc,omitempty"`

	// Ids 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 string Sets the source reference on Chart Studio Cloud for  ids .
	Idssrc String `json:"idssrc,omitempty"`

	// Legendgroup 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"`

	// Line <no value> <no value>
	Line *ScatterLine `json:"line,omitempty"`

	// Marker <no value> <no value>
	Marker *ScatterMarker `json:"marker,omitempty"`

	// Meta 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 string Sets the source reference on Chart Studio Cloud for  meta .
	Metasrc String `json:"metasrc,omitempty"`

	// Mode 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 string Sets the trace name. The trace name appear as the legend item and on hover.
	Name String `json:"name,omitempty"`

	// Opacity number Sets the opacity of the trace.
	Opacity float64 `json:"opacity,omitempty"`

	// Orientation 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`.
	Orientation ScatterOrientation `json:"orientation,omitempty"`

	// R 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 string Sets the source reference on Chart Studio Cloud for  r .
	Rsrc String `json:"rsrc,omitempty"`

	// Selected <no value> <no value>
	Selected *ScatterSelected `json:"selected,omitempty"`

	// Selectedpoints 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 boolean Determines whether or not an item corresponding to this trace is shown in the legend.
	Showlegend Bool `json:"showlegend,omitempty"`

	// Stackgaps 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 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 <no value> <no value>
	Stream *ScatterStream `json:"stream,omitempty"`

	// T 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 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 interface{} `json:"text,omitempty"`

	// Textfont <no value> Sets the text font.
	Textfont *ScatterTextfont `json:"textfont,omitempty"`

	// Textposition enumerated Sets the positions of the `text` elements with respects to the (x,y) coordinates.
	Textposition ScatterTextposition `json:"textposition,omitempty"`

	// Textpositionsrc string Sets the source reference on Chart Studio Cloud for  textposition .
	Textpositionsrc String `json:"textpositionsrc,omitempty"`

	// Textsrc string Sets the source reference on Chart Studio Cloud for  text .
	Textsrc String `json:"textsrc,omitempty"`

	// Texttemplate 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.
	Texttemplate interface{} `json:"texttemplate,omitempty"`

	// Texttemplatesrc string Sets the source reference on Chart Studio Cloud for  texttemplate .
	Texttemplatesrc String `json:"texttemplatesrc,omitempty"`

	// Transforms <no value> <no value>
	Transforms ScatterTransforms `json:"transforms,omitempty"`

	// Tsrc string Sets the source reference on Chart Studio Cloud for  t .
	Tsrc String `json:"tsrc,omitempty"`

	// Uid 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 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 <no value> <no value>
	Unselected *ScatterUnselected `json:"unselected,omitempty"`

	// Visible 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 data_array Sets the x coordinates.
	X interface{} `json:"x,omitempty"`

	// X0 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 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 enumerated Sets the calendar system to use with `x` date data.
	Xcalendar ScatterXcalendar `json:"xcalendar,omitempty"`

	// Xperiod any Only relevant when the axis `type` is *date*. Sets the period positioning in milliseconds or *M<n>* on the x axis. Special values in the form of *M<n>* could be used to declare the number of months. In this case `n` must be a positive integer.
	Xperiod interface{} `json:"xperiod,omitempty"`

	// Xperiod0 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 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 string Sets the source reference on Chart Studio Cloud for  x .
	Xsrc String `json:"xsrc,omitempty"`

	// Y data_array Sets the y coordinates.
	Y interface{} `json:"y,omitempty"`

	// Y0 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 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 enumerated Sets the calendar system to use with `y` date data.
	Ycalendar ScatterYcalendar `json:"ycalendar,omitempty"`

	// Yperiod any Only relevant when the axis `type` is *date*. Sets the period positioning in milliseconds or *M<n>* on the y axis. Special values in the form of *M<n>* could be used to declare the number of months. In this case `n` must be a positive integer.
	Yperiod interface{} `json:"yperiod,omitempty"`

	// Yperiod0 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 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 string Sets the source reference on Chart Studio Cloud for  y .
	Ysrc String `json:"ysrc,omitempty"`
}

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.

func NewScatter

func NewScatter() *Scatter

func (*Scatter) GetType

func (this *Scatter) GetType() TraceType

type Scatter3d

type Scatter3d struct {

	// Type is the type of the plot
	Type TraceType `json:"type,omitempty"`

	// Connectgaps 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 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 string Sets the source reference on Chart Studio Cloud for  customdata .
	Customdatasrc String `json:"customdatasrc,omitempty"`

	// Error_x <no value> <no value>
	Error_x *Scatter3dErrorX `json:"error_x,omitempty"`

	// Error_y <no value> <no value>
	Error_y *Scatter3dErrorY `json:"error_y,omitempty"`

	// Error_z <no value> <no value>
	Error_z *Scatter3dErrorZ `json:"error_z,omitempty"`

	// Hoverinfo 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 string Sets the source reference on Chart Studio Cloud for  hoverinfo .
	Hoverinfosrc String `json:"hoverinfosrc,omitempty"`

	// Hoverlabel <no value> <no value>
	Hoverlabel *Scatter3dHoverlabel `json:"hoverlabel,omitempty"`

	// Hovertemplate 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 `<extra>` is displayed in the secondary box, for example "<extra>{fullData.name}</extra>". To hide the secondary box completely, use an empty tag `<extra></extra>`.
	Hovertemplate interface{} `json:"hovertemplate,omitempty"`

	// Hovertemplatesrc string Sets the source reference on Chart Studio Cloud for  hovertemplate .
	Hovertemplatesrc String `json:"hovertemplatesrc,omitempty"`

	// Hovertext 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 interface{} `json:"hovertext,omitempty"`

	// Hovertextsrc string Sets the source reference on Chart Studio Cloud for  hovertext .
	Hovertextsrc String `json:"hovertextsrc,omitempty"`

	// Ids 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 string Sets the source reference on Chart Studio Cloud for  ids .
	Idssrc String `json:"idssrc,omitempty"`

	// Legendgroup 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"`

	// Line <no value> <no value>
	Line *Scatter3dLine `json:"line,omitempty"`

	// Marker <no value> <no value>
	Marker *Scatter3dMarker `json:"marker,omitempty"`

	// Meta 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 string Sets the source reference on Chart Studio Cloud for  meta .
	Metasrc String `json:"metasrc,omitempty"`

	// Mode 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 string Sets the trace name. The trace name appear as the legend item and on hover.
	Name String `json:"name,omitempty"`

	// Opacity number Sets the opacity of the trace.
	Opacity float64 `json:"opacity,omitempty"`

	// Projection <no value> <no value>
	Projection *Scatter3dProjection `json:"projection,omitempty"`

	// Scene 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 boolean Determines whether or not an item corresponding to this trace is shown in the legend.
	Showlegend Bool `json:"showlegend,omitempty"`

	// Stream <no value> <no value>
	Stream *Scatter3dStream `json:"stream,omitempty"`

	// Surfaceaxis 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 color Sets the surface fill color.
	Surfacecolor String `json:"surfacecolor,omitempty"`

	// Text 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 interface{} `json:"text,omitempty"`

	// Textfont <no value> <no value>
	Textfont *Scatter3dTextfont `json:"textfont,omitempty"`

	// Textposition enumerated Sets the positions of the `text` elements with respects to the (x,y) coordinates.
	Textposition Scatter3dTextposition `json:"textposition,omitempty"`

	// Textpositionsrc string Sets the source reference on Chart Studio Cloud for  textposition .
	Textpositionsrc String `json:"textpositionsrc,omitempty"`

	// Textsrc string Sets the source reference on Chart Studio Cloud for  text .
	Textsrc String `json:"textsrc,omitempty"`

	// Texttemplate 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.
	Texttemplate interface{} `json:"texttemplate,omitempty"`

	// Texttemplatesrc string Sets the source reference on Chart Studio Cloud for  texttemplate .
	Texttemplatesrc String `json:"texttemplatesrc,omitempty"`

	// Transforms <no value> <no value>
	Transforms Scatter3dTransforms `json:"transforms,omitempty"`

	// Uid 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 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 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 data_array Sets the x coordinates.
	X interface{} `json:"x,omitempty"`

	// Xcalendar enumerated Sets the calendar system to use with `x` date data.
	Xcalendar Scatter3dXcalendar `json:"xcalendar,omitempty"`

	// Xsrc string Sets the source reference on Chart Studio Cloud for  x .
	Xsrc String `json:"xsrc,omitempty"`

	// Y data_array Sets the y coordinates.
	Y interface{} `json:"y,omitempty"`

	// Ycalendar enumerated Sets the calendar system to use with `y` date data.
	Ycalendar Scatter3dYcalendar `json:"ycalendar,omitempty"`

	// Ysrc string Sets the source reference on Chart Studio Cloud for  y .
	Ysrc String `json:"ysrc,omitempty"`

	// Z data_array Sets the z coordinates.
	Z interface{} `json:"z,omitempty"`

	// Zcalendar enumerated Sets the calendar system to use with `z` date data.
	Zcalendar Scatter3dZcalendar `json:"zcalendar,omitempty"`

	// Zsrc string Sets the source reference on Chart Studio Cloud for  z .
	Zsrc String `json:"zsrc,omitempty"`
}

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`.

func NewScatter3d

func NewScatter3d() *Scatter3d

func (*Scatter3d) GetType

func (this *Scatter3d) GetType() TraceType

type Scatter3dErrorX

type Scatter3dErrorX struct {

	// Array 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 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 string Sets the source reference on Chart Studio Cloud for  arrayminus .
	Arrayminussrc String `json:"arrayminussrc,omitempty"`

	// Arraysrc string Sets the source reference on Chart Studio Cloud for  array .
	Arraysrc String `json:"arraysrc,omitempty"`

	// Color color Sets the stoke color of the error bars.
	Color String `json:"color,omitempty"`

	// Copy_zstyle boolean <no value>
	Copy_zstyle Bool `json:"copy_zstyle,omitempty"`

	// Symmetric 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 number Sets the thickness (in px) of the error bars.
	Thickness float64 `json:"thickness,omitempty"`

	// Traceref integer <no value>
	Traceref int64 `json:"traceref,omitempty"`

	// Tracerefminus integer <no value>
	Tracerefminus int64 `json:"tracerefminus,omitempty"`

	// 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 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 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 boolean Determines whether or not this set of error bars is visible.
	Visible Bool `json:"visible,omitempty"`

	// Width number Sets the width (in px) of the cross-bar at both ends of the error bars.
	Width float64 `json:"width,omitempty"`
}

type Scatter3dErrorXType

type Scatter3dErrorXType string

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`.

const (
	Scatter3dErrorXType_percent  Scatter3dErrorXType = "percent"
	Scatter3dErrorXType_constant Scatter3dErrorXType = "constant"
	Scatter3dErrorXType_sqrt     Scatter3dErrorXType = "sqrt"
	Scatter3dErrorXType_data     Scatter3dErrorXType = "data"
)

type Scatter3dErrorY

type Scatter3dErrorY struct {

	// Array 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 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 string Sets the source reference on Chart Studio Cloud for  arrayminus .
	Arrayminussrc String `json:"arrayminussrc,omitempty"`

	// Arraysrc string Sets the source reference on Chart Studio Cloud for  array .
	Arraysrc String `json:"arraysrc,omitempty"`

	// Color color Sets the stoke color of the error bars.
	Color String `json:"color,omitempty"`

	// Copy_zstyle boolean <no value>
	Copy_zstyle Bool `json:"copy_zstyle,omitempty"`

	// Symmetric 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 number Sets the thickness (in px) of the error bars.
	Thickness float64 `json:"thickness,omitempty"`

	// Traceref integer <no value>
	Traceref int64 `json:"traceref,omitempty"`

	// Tracerefminus integer <no value>
	Tracerefminus int64 `json:"tracerefminus,omitempty"`

	// 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 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 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 boolean Determines whether or not this set of error bars is visible.
	Visible Bool `json:"visible,omitempty"`

	// Width number Sets the width (in px) of the cross-bar at both ends of the error bars.
	Width float64 `json:"width,omitempty"`
}

type Scatter3dErrorYType

type Scatter3dErrorYType string

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`.

const (
	Scatter3dErrorYType_percent  Scatter3dErrorYType = "percent"
	Scatter3dErrorYType_constant Scatter3dErrorYType = "constant"
	Scatter3dErrorYType_sqrt     Scatter3dErrorYType = "sqrt"
	Scatter3dErrorYType_data     Scatter3dErrorYType = "data"
)

type Scatter3dErrorZ

type Scatter3dErrorZ struct {

	// Array 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 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 string Sets the source reference on Chart Studio Cloud for  arrayminus .
	Arrayminussrc String `json:"arrayminussrc,omitempty"`

	// Arraysrc string Sets the source reference on Chart Studio Cloud for  array .
	Arraysrc String `json:"arraysrc,omitempty"`

	// Color color Sets the stoke color of the error bars.
	Color String `json:"color,omitempty"`

	// Symmetric 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 number Sets the thickness (in px) of the error bars.
	Thickness float64 `json:"thickness,omitempty"`

	// Traceref integer <no value>
	Traceref int64 `json:"traceref,omitempty"`

	// Tracerefminus integer <no value>
	Tracerefminus int64 `json:"tracerefminus,omitempty"`

	// 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 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 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 boolean Determines whether or not this set of error bars is visible.
	Visible Bool `json:"visible,omitempty"`

	// Width number Sets the width (in px) of the cross-bar at both ends of the error bars.
	Width float64 `json:"width,omitempty"`
}

type Scatter3dErrorZType

type Scatter3dErrorZType string

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`.

const (
	Scatter3dErrorZType_percent  Scatter3dErrorZType = "percent"
	Scatter3dErrorZType_constant Scatter3dErrorZType = "constant"
	Scatter3dErrorZType_sqrt     Scatter3dErrorZType = "sqrt"
	Scatter3dErrorZType_data     Scatter3dErrorZType = "data"
)

type Scatter3dHoverinfo

type Scatter3dHoverinfo string
const (
	// Flags
	Scatter3dHoverinfoX    Scatter3dHoverinfo = "x"
	Scatter3dHoverinfoY    Scatter3dHoverinfo = "y"
	Scatter3dHoverinfoZ    Scatter3dHoverinfo = "z"
	Scatter3dHoverinfoText Scatter3dHoverinfo = "text"
	Scatter3dHoverinfoName Scatter3dHoverinfo = "name"
	// Extras
	Scatter3dHoverinfoAll  Scatter3dHoverinfo = "all"
	Scatter3dHoverinfoNone Scatter3dHoverinfo = "none"
	Scatter3dHoverinfoSkip Scatter3dHoverinfo = "skip"
)

type Scatter3dHoverlabel

type Scatter3dHoverlabel struct {

	// Align 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 string Sets the source reference on Chart Studio Cloud for  align .
	Alignsrc String `json:"alignsrc,omitempty"`

	// Bgcolor color Sets the background color of the hover labels for this trace
	Bgcolor interface{} `json:"bgcolor,omitempty"`

	// Bgcolorsrc string Sets the source reference on Chart Studio Cloud for  bgcolor .
	Bgcolorsrc String `json:"bgcolorsrc,omitempty"`

	// Bordercolor color Sets the border color of the hover labels for this trace.
	Bordercolor interface{} `json:"bordercolor,omitempty"`

	// Bordercolorsrc string Sets the source reference on Chart Studio Cloud for  bordercolor .
	Bordercolorsrc String `json:"bordercolorsrc,omitempty"`

	// Font <no value> Sets the font used in hover labels.
	Font *Scatter3dHoverlabelFont `json:"font,omitempty"`

	// Namelength 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 interface{} `json:"namelength,omitempty"`

	// Namelengthsrc string Sets the source reference on Chart Studio Cloud for  namelength .
	Namelengthsrc String `json:"namelengthsrc,omitempty"`
}

type Scatter3dHoverlabelAlign

type Scatter3dHoverlabelAlign string

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

const (
	Scatter3dHoverlabelAlign_left  Scatter3dHoverlabelAlign = "left"
	Scatter3dHoverlabelAlign_right Scatter3dHoverlabelAlign = "right"
	Scatter3dHoverlabelAlign_auto  Scatter3dHoverlabelAlign = "auto"
)

type Scatter3dHoverlabelFont

type Scatter3dHoverlabelFont struct {

	// Color color <no value>
	Color interface{} `json:"color,omitempty"`

	// Colorsrc string Sets the source reference on Chart Studio Cloud for  color .
	Colorsrc String `json:"colorsrc,omitempty"`

	// Family string HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.
	Family interface{} `json:"family,omitempty"`

	// Familysrc string Sets the source reference on Chart Studio Cloud for  family .
	Familysrc String `json:"familysrc,omitempty"`

	// Size number <no value>
	Size interface{} `json:"size,omitempty"`

	// Sizesrc string Sets the source reference on Chart Studio Cloud for  size .
	Sizesrc String `json:"sizesrc,omitempty"`
}

type Scatter3dLine

type Scatter3dLine struct {

	// Autocolorscale 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 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 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 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 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 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.
	Color interface{} `json:"color,omitempty"`

	// Coloraxis 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 <no value> <no value>
	Colorbar *Scatter3dLineColorbar `json:"colorbar,omitempty"`

	// Colorsrc string Sets the source reference on Chart Studio Cloud for  color .
	Colorsrc String `json:"colorsrc,omitempty"`

	// Dash enumerated Sets the dash style of the lines.
	Dash Scatter3dLineDash `json:"dash,omitempty"`

	// Reversescale 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 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 number Sets the line width (in px).
	Width float64 `json:"width,omitempty"`
}

type Scatter3dLineColorbar

type Scatter3dLineColorbar struct {

	// Bgcolor color Sets the color of padded area.
	Bgcolor String `json:"bgcolor,omitempty"`

	// Bordercolor color Sets the axis line color.
	Bordercolor String `json:"bordercolor,omitempty"`

	// Borderwidth number Sets the width (in px) or the border enclosing this color bar.
	Borderwidth float64 `json:"borderwidth,omitempty"`

	// Dtick 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<f>*, where `f` is a positive number, gives ticks linearly spaced in value (but not position). For example `tick0` = 0.1, `dtick` = *L0.5* will put ticks at 0.1, 0.6, 1.1, 1.6 etc. To show powers of 10 plus small digits between, use *D1* (all digits) or *D2* (only 2 and 5). `tick0` is ignored for *D1* and *D2*. If the axis `type` is *date*, then you must convert the time to milliseconds. For example, to set the interval between ticks to one day, set `dtick` to 86400000.0. *date* also has special values *M<n>* gives ticks spaced by a number of months. `n` must be a positive integer. To set ticks on the 15th of every third month, set `tick0` to *2000-01-15* and `dtick` to *M3*. To set ticks every 4 years, set `dtick` to *M48*
	Dtick interface{} `json:"dtick,omitempty"`

	// Exponentformat 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"`

	// Len 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 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 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 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"`

	// Outlinecolor color Sets the axis line color.
	Outlinecolor String `json:"outlinecolor,omitempty"`

	// Outlinewidth number Sets the width (in px) of the axis line.
	Outlinewidth float64 `json:"outlinewidth,omitempty"`

	// Separatethousands boolean If "true", even 4-digit integers are separated
	Separatethousands Bool `json:"separatethousands,omitempty"`

	// Showexponent 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 boolean Determines whether or not the tick labels are drawn.
	Showticklabels Bool `json:"showticklabels,omitempty"`

	// Showtickprefix 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 enumerated Same as `showtickprefix` but for tick suffixes.
	Showticksuffix Scatter3dLineColorbarShowticksuffix `json:"showticksuffix,omitempty"`

	// Thickness 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 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 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<f>* (see `dtick` for more info). If the axis `type` is *date*, it should be a date string, like date data. If the axis `type` is *category*, it should be a number, using the scale where each category is assigned a serial number from zero in the order it appears.
	Tick0 interface{} `json:"tick0,omitempty"`

	// Tickangle 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 color Sets the tick color.
	Tickcolor String `json:"tickcolor,omitempty"`

	// Tickfont <no value> Sets the color bar's tick label font
	Tickfont *Scatter3dLineColorbarTickfont `json:"tickfont,omitempty"`

	// Tickformat 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*
	Tickformat String `json:"tickformat,omitempty"`

	// Tickformatstops <no value> <no value>
	Tickformatstops Scatter3dLineColorbarTickformatstops `json:"tickformatstops,omitempty"`

	// Ticklabelposition enumerated Determines where tick labels are drawn.
	Ticklabelposition Scatter3dLineColorbarTicklabelposition `json:"ticklabelposition,omitempty"`

	// Ticklen number Sets the tick length (in px).
	Ticklen float64 `json:"ticklen,omitempty"`

	// Tickmode 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 string Sets a tick label prefix.
	Tickprefix String `json:"tickprefix,omitempty"`

	// Ticks 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 string Sets a tick label suffix.
	Ticksuffix String `json:"ticksuffix,omitempty"`

	// Ticktext 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 string Sets the source reference on Chart Studio Cloud for  ticktext .
	Ticktextsrc String `json:"ticktextsrc,omitempty"`

	// Tickvals 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 string Sets the source reference on Chart Studio Cloud for  tickvals .
	Tickvalssrc String `json:"tickvalssrc,omitempty"`

	// Tickwidth number Sets the tick width (in px).
	Tickwidth float64 `json:"tickwidth,omitempty"`

	// Title <no value> <no value>
	Title *Scatter3dLineColorbarTitle `json:"title,omitempty"`

	// X number Sets the x position of the color bar (in plot fraction).
	X float64 `json:"x,omitempty"`

	// Xanchor 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.
	Xanchor Scatter3dLineColorbarXanchor `json:"xanchor,omitempty"`

	// Xpad number Sets the amount of padding (in px) along the x direction.
	Xpad float64 `json:"xpad,omitempty"`

	// Y number Sets the y position of the color bar (in plot fraction).
	Y float64 `json:"y,omitempty"`

	// Yanchor 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.
	Yanchor Scatter3dLineColorbarYanchor `json:"yanchor,omitempty"`

	// Ypad number Sets the amount of padding (in px) along the y direction.
	Ypad float64 `json:"ypad,omitempty"`
}

type Scatter3dLineColorbarExponentformat

type Scatter3dLineColorbarExponentformat string

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.

const (
	Scatter3dLineColorbarExponentformat_none  Scatter3dLineColorbarExponentformat = "none"
	Scatter3dLineColorbarExponentformat_e     Scatter3dLineColorbarExponentformat = "e"
	Scatter3dLineColorbarExponentformat_E     Scatter3dLineColorbarExponentformat = "E"
	Scatter3dLineColorbarExponentformat_power Scatter3dLineColorbarExponentformat = "power"
	Scatter3dLineColorbarExponentformat_SI    Scatter3dLineColorbarExponentformat = "SI"
	Scatter3dLineColorbarExponentformat_B     Scatter3dLineColorbarExponentformat = "B"
)

type Scatter3dLineColorbarLenmode

type Scatter3dLineColorbarLenmode string

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.

const (
	Scatter3dLineColorbarLenmode_fraction Scatter3dLineColorbarLenmode = "fraction"
	Scatter3dLineColorbarLenmode_pixels   Scatter3dLineColorbarLenmode = "pixels"
)

type Scatter3dLineColorbarShowexponent

type Scatter3dLineColorbarShowexponent string

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.

const (
	Scatter3dLineColorbarShowexponent_all   Scatter3dLineColorbarShowexponent = "all"
	Scatter3dLineColorbarShowexponent_first Scatter3dLineColorbarShowexponent = "first"
	Scatter3dLineColorbarShowexponent_last  Scatter3dLineColorbarShowexponent = "last"
	Scatter3dLineColorbarShowexponent_none  Scatter3dLineColorbarShowexponent = "none"
)

type Scatter3dLineColorbarShowtickprefix

type Scatter3dLineColorbarShowtickprefix string

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.

const (
	Scatter3dLineColorbarShowtickprefix_all   Scatter3dLineColorbarShowtickprefix = "all"
	Scatter3dLineColorbarShowtickprefix_first Scatter3dLineColorbarShowtickprefix = "first"
	Scatter3dLineColorbarShowtickprefix_last  Scatter3dLineColorbarShowtickprefix = "last"
	Scatter3dLineColorbarShowtickprefix_none  Scatter3dLineColorbarShowtickprefix = "none"
)

type Scatter3dLineColorbarShowticksuffix

type Scatter3dLineColorbarShowticksuffix string

Scatter3dLineColorbarShowticksuffix Same as `showtickprefix` but for tick suffixes.

const (
	Scatter3dLineColorbarShowticksuffix_all   Scatter3dLineColorbarShowticksuffix = "all"
	Scatter3dLineColorbarShowticksuffix_first Scatter3dLineColorbarShowticksuffix = "first"
	Scatter3dLineColorbarShowticksuffix_last  Scatter3dLineColorbarShowticksuffix = "last"
	Scatter3dLineColorbarShowticksuffix_none  Scatter3dLineColorbarShowticksuffix = "none"
)

type Scatter3dLineColorbarThicknessmode

type Scatter3dLineColorbarThicknessmode string

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.

const (
	Scatter3dLineColorbarThicknessmode_fraction Scatter3dLineColorbarThicknessmode = "fraction"
	Scatter3dLineColorbarThicknessmode_pixels   Scatter3dLineColorbarThicknessmode = "pixels"
)

type Scatter3dLineColorbarTickfont

type Scatter3dLineColorbarTickfont struct {

	// Color color <no value>
	Color String `json:"color,omitempty"`

	// Family string HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.
	Family String `json:"family,omitempty"`

	// Size number <no value>
	Size float64 `json:"size,omitempty"`
}

type Scatter3dLineColorbarTickformatstops

type Scatter3dLineColorbarTickformatstops interface{}

Scatter3dLineColorbarTickformatstops It's an items array and what goes inside it's... messy... check the docs Here is a hint to help you to define your own type tickformatstop

dtickrange
editType
enabled
name
role
templateitemname
value

type Scatter3dLineColorbarTicklabelposition

type Scatter3dLineColorbarTicklabelposition string

Scatter3dLineColorbarTicklabelposition Determines where tick labels are drawn.

const (
	Scatter3dLineColorbarTicklabelposition_outside       Scatter3dLineColorbarTicklabelposition = "outside"
	Scatter3dLineColorbarTicklabelposition_inside        Scatter3dLineColorbarTicklabelposition = "inside"
	Scatter3dLineColorbarTicklabelposition_outsidetop    Scatter3dLineColorbarTicklabelposition = "outside top"
	Scatter3dLineColorbarTicklabelposition_insidetop     Scatter3dLineColorbarTicklabelposition = "inside top"
	Scatter3dLineColorbarTicklabelposition_outsidebottom Scatter3dLineColorbarTicklabelposition = "outside bottom"
	Scatter3dLineColorbarTicklabelposition_insidebottom  Scatter3dLineColorbarTicklabelposition = "inside bottom"
)

type Scatter3dLineColorbarTickmode

type Scatter3dLineColorbarTickmode string

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).

const (
	Scatter3dLineColorbarTickmode_auto   Scatter3dLineColorbarTickmode = "auto"
	Scatter3dLineColorbarTickmode_linear Scatter3dLineColorbarTickmode = "linear"
	Scatter3dLineColorbarTickmode_array  Scatter3dLineColorbarTickmode = "array"
)

type Scatter3dLineColorbarTicks

type Scatter3dLineColorbarTicks string

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.

const (
	Scatter3dLineColorbarTicks_outside Scatter3dLineColorbarTicks = "outside"
	Scatter3dLineColorbarTicks_inside  Scatter3dLineColorbarTicks = "inside"
)

type Scatter3dLineColorbarTitle

type Scatter3dLineColorbarTitle struct {

	// Font <no value> Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.
	Font *Scatter3dLineColorbarTitleFont `json:"font,omitempty"`

	// Side 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.
	Side Scatter3dLineColorbarTitleSide `json:"side,omitempty"`

	// Text 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"`
}

type Scatter3dLineColorbarTitleFont

type Scatter3dLineColorbarTitleFont struct {

	// Color color <no value>
	Color String `json:"color,omitempty"`

	// Family string HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.
	Family String `json:"family,omitempty"`

	// Size number <no value>
	Size float64 `json:"size,omitempty"`
}

type Scatter3dLineColorbarTitleSide

type Scatter3dLineColorbarTitleSide string

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.

const (
	Scatter3dLineColorbarTitleSide_right  Scatter3dLineColorbarTitleSide = "right"
	Scatter3dLineColorbarTitleSide_top    Scatter3dLineColorbarTitleSide = "top"
	Scatter3dLineColorbarTitleSide_bottom Scatter3dLineColorbarTitleSide = "bottom"
)

type Scatter3dLineColorbarXanchor

type Scatter3dLineColorbarXanchor string

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.

const (
	Scatter3dLineColorbarXanchor_left   Scatter3dLineColorbarXanchor = "left"
	Scatter3dLineColorbarXanchor_center Scatter3dLineColorbarXanchor = "center"
	Scatter3dLineColorbarXanchor_right  Scatter3dLineColorbarXanchor = "right"
)

type Scatter3dLineColorbarYanchor

type Scatter3dLineColorbarYanchor string

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.

const (
	Scatter3dLineColorbarYanchor_top    Scatter3dLineColorbarYanchor = "top"
	Scatter3dLineColorbarYanchor_middle Scatter3dLineColorbarYanchor = "middle"
	Scatter3dLineColorbarYanchor_bottom Scatter3dLineColorbarYanchor = "bottom"
)

type Scatter3dLineDash

type Scatter3dLineDash string

Scatter3dLineDash Sets the dash style of the lines.

const (
	Scatter3dLineDash_solid       Scatter3dLineDash = "solid"
	Scatter3dLineDash_dot         Scatter3dLineDash = "dot"
	Scatter3dLineDash_dash        Scatter3dLineDash = "dash"
	Scatter3dLineDash_longdash    Scatter3dLineDash = "longdash"
	Scatter3dLineDash_dashdot     Scatter3dLineDash = "dashdot"
	Scatter3dLineDash_longdashdot Scatter3dLineDash = "longdashdot"
)

type Scatter3dMarker

type Scatter3dMarker struct {

	// Autocolorscale 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 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 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 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 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 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.
	Color interface{} `json:"color,omitempty"`

	// Coloraxis 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 <no value> <no value>
	Colorbar *Scatter3dMarkerColorbar `json:"colorbar,omitempty"`

	// Colorsrc string Sets the source reference on Chart Studio Cloud for  color .
	Colorsrc String `json:"colorsrc,omitempty"`

	// Line <no value> <no value>
	Line *Scatter3dMarkerLine `json:"line,omitempty"`

	// Opacity 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 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 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 number Sets the marker size (in px).
	Size interface{} `json:"size,omitempty"`

	// Sizemin 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 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 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 string Sets the source reference on Chart Studio Cloud for  size .
	Sizesrc String `json:"sizesrc,omitempty"`

	// Symbol enumerated Sets the marker symbol type.
	Symbol Scatter3dMarkerSymbol `json:"symbol,omitempty"`

	// Symbolsrc string Sets the source reference on Chart Studio Cloud for  symbol .
	Symbolsrc String `json:"symbolsrc,omitempty"`
}

type Scatter3dMarkerColorbar

type Scatter3dMarkerColorbar struct {

	// Bgcolor color Sets the color of padded area.
	Bgcolor String `json:"bgcolor,omitempty"`

	// Bordercolor color Sets the axis line color.
	Bordercolor String `json:"bordercolor,omitempty"`

	// Borderwidth number Sets the width (in px) or the border enclosing this color bar.
	Borderwidth float64 `json:"borderwidth,omitempty"`

	// Dtick 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<f>*, where `f` is a positive number, gives ticks linearly spaced in value (but not position). For example `tick0` = 0.1, `dtick` = *L0.5* will put ticks at 0.1, 0.6, 1.1, 1.6 etc. To show powers of 10 plus small digits between, use *D1* (all digits) or *D2* (only 2 and 5). `tick0` is ignored for *D1* and *D2*. If the axis `type` is *date*, then you must convert the time to milliseconds. For example, to set the interval between ticks to one day, set `dtick` to 86400000.0. *date* also has special values *M<n>* gives ticks spaced by a number of months. `n` must be a positive integer. To set ticks on the 15th of every third month, set `tick0` to *2000-01-15* and `dtick` to *M3*. To set ticks every 4 years, set `dtick` to *M48*
	Dtick interface{} `json:"dtick,omitempty"`

	// Exponentformat 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"`

	// Len 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 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 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 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"`

	// Outlinecolor color Sets the axis line color.
	Outlinecolor String `json:"outlinecolor,omitempty"`

	// Outlinewidth number Sets the width (in px) of the axis line.
	Outlinewidth float64 `json:"outlinewidth,omitempty"`

	// Separatethousands boolean If "true", even 4-digit integers are separated
	Separatethousands Bool `json:"separatethousands,omitempty"`

	// Showexponent 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 boolean Determines whether or not the tick labels are drawn.
	Showticklabels Bool `json:"showticklabels,omitempty"`

	// Showtickprefix 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 enumerated Same as `showtickprefix` but for tick suffixes.
	Showticksuffix Scatter3dMarkerColorbarShowticksuffix `json:"showticksuffix,omitempty"`

	// Thickness 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 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 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<f>* (see `dtick` for more info). If the axis `type` is *date*, it should be a date string, like date data. If the axis `type` is *category*, it should be a number, using the scale where each category is assigned a serial number from zero in the order it appears.
	Tick0 interface{} `json:"tick0,omitempty"`

	// Tickangle 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 color Sets the tick color.
	Tickcolor String `json:"tickcolor,omitempty"`

	// Tickfont <no value> Sets the color bar's tick label font
	Tickfont *Scatter3dMarkerColorbarTickfont `json:"tickfont,omitempty"`

	// Tickformat 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*
	Tickformat String `json:"tickformat,omitempty"`

	// Tickformatstops <no value> <no value>
	Tickformatstops Scatter3dMarkerColorbarTickformatstops `json:"tickformatstops,omitempty"`

	// Ticklabelposition enumerated Determines where tick labels are drawn.
	Ticklabelposition Scatter3dMarkerColorbarTicklabelposition `json:"ticklabelposition,omitempty"`

	// Ticklen number Sets the tick length (in px).
	Ticklen float64 `json:"ticklen,omitempty"`

	// Tickmode 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 string Sets a tick label prefix.
	Tickprefix String `json:"tickprefix,omitempty"`

	// Ticks 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 string Sets a tick label suffix.
	Ticksuffix String `json:"ticksuffix,omitempty"`

	// Ticktext 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 string Sets the source reference on Chart Studio Cloud for  ticktext .
	Ticktextsrc String `json:"ticktextsrc,omitempty"`

	// Tickvals 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 string Sets the source reference on Chart Studio Cloud for  tickvals .
	Tickvalssrc String `json:"tickvalssrc,omitempty"`

	// Tickwidth number Sets the tick width (in px).
	Tickwidth float64 `json:"tickwidth,omitempty"`

	// Title <no value> <no value>
	Title *Scatter3dMarkerColorbarTitle `json:"title,omitempty"`

	// X number Sets the x position of the color bar (in plot fraction).
	X float64 `json:"x,omitempty"`

	// Xanchor 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.
	Xanchor Scatter3dMarkerColorbarXanchor `json:"xanchor,omitempty"`

	// Xpad number Sets the amount of padding (in px) along the x direction.
	Xpad float64 `json:"xpad,omitempty"`

	// Y number Sets the y position of the color bar (in plot fraction).
	Y float64 `json:"y,omitempty"`

	// Yanchor 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.
	Yanchor Scatter3dMarkerColorbarYanchor `json:"yanchor,omitempty"`

	// Ypad number Sets the amount of padding (in px) along the y direction.
	Ypad float64 `json:"ypad,omitempty"`
}

type Scatter3dMarkerColorbarExponentformat

type Scatter3dMarkerColorbarExponentformat string

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.

const (
	Scatter3dMarkerColorbarExponentformat_none  Scatter3dMarkerColorbarExponentformat = "none"
	Scatter3dMarkerColorbarExponentformat_e     Scatter3dMarkerColorbarExponentformat = "e"
	Scatter3dMarkerColorbarExponentformat_E     Scatter3dMarkerColorbarExponentformat = "E"
	Scatter3dMarkerColorbarExponentformat_power Scatter3dMarkerColorbarExponentformat = "power"
	Scatter3dMarkerColorbarExponentformat_SI    Scatter3dMarkerColorbarExponentformat = "SI"
	Scatter3dMarkerColorbarExponentformat_B     Scatter3dMarkerColorbarExponentformat = "B"
)

type Scatter3dMarkerColorbarLenmode

type Scatter3dMarkerColorbarLenmode string

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.

const (
	Scatter3dMarkerColorbarLenmode_fraction Scatter3dMarkerColorbarLenmode = "fraction"
	Scatter3dMarkerColorbarLenmode_pixels   Scatter3dMarkerColorbarLenmode = "pixels"
)

type Scatter3dMarkerColorbarShowexponent

type Scatter3dMarkerColorbarShowexponent string

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.

const (
	Scatter3dMarkerColorbarShowexponent_all   Scatter3dMarkerColorbarShowexponent = "all"
	Scatter3dMarkerColorbarShowexponent_first Scatter3dMarkerColorbarShowexponent = "first"
	Scatter3dMarkerColorbarShowexponent_last  Scatter3dMarkerColorbarShowexponent = "last"
	Scatter3dMarkerColorbarShowexponent_none  Scatter3dMarkerColorbarShowexponent = "none"
)

type Scatter3dMarkerColorbarShowtickprefix

type Scatter3dMarkerColorbarShowtickprefix string

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.

const (
	Scatter3dMarkerColorbarShowtickprefix_all   Scatter3dMarkerColorbarShowtickprefix = "all"
	Scatter3dMarkerColorbarShowtickprefix_first Scatter3dMarkerColorbarShowtickprefix = "first"
	Scatter3dMarkerColorbarShowtickprefix_last  Scatter3dMarkerColorbarShowtickprefix = "last"
	Scatter3dMarkerColorbarShowtickprefix_none  Scatter3dMarkerColorbarShowtickprefix = "none"
)

type Scatter3dMarkerColorbarShowticksuffix

type Scatter3dMarkerColorbarShowticksuffix string

Scatter3dMarkerColorbarShowticksuffix Same as `showtickprefix` but for tick suffixes.

const (
	Scatter3dMarkerColorbarShowticksuffix_all   Scatter3dMarkerColorbarShowticksuffix = "all"
	Scatter3dMarkerColorbarShowticksuffix_first Scatter3dMarkerColorbarShowticksuffix = "first"
	Scatter3dMarkerColorbarShowticksuffix_last  Scatter3dMarkerColorbarShowticksuffix = "last"
	Scatter3dMarkerColorbarShowticksuffix_none  Scatter3dMarkerColorbarShowticksuffix = "none"
)

type Scatter3dMarkerColorbarThicknessmode

type Scatter3dMarkerColorbarThicknessmode string

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.

const (
	Scatter3dMarkerColorbarThicknessmode_fraction Scatter3dMarkerColorbarThicknessmode = "fraction"
	Scatter3dMarkerColorbarThicknessmode_pixels   Scatter3dMarkerColorbarThicknessmode = "pixels"
)

type Scatter3dMarkerColorbarTickfont

type Scatter3dMarkerColorbarTickfont struct {

	// Color color <no value>
	Color String `json:"color,omitempty"`

	// Family string HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.
	Family String `json:"family,omitempty"`

	// Size number <no value>
	Size float64 `json:"size,omitempty"`
}

type Scatter3dMarkerColorbarTickformatstops

type Scatter3dMarkerColorbarTickformatstops interface{}

Scatter3dMarkerColorbarTickformatstops It's an items array and what goes inside it's... messy... check the docs Here is a hint to help you to define your own type tickformatstop

dtickrange
editType
enabled
name
role
templateitemname
value

type Scatter3dMarkerColorbarTicklabelposition

type Scatter3dMarkerColorbarTicklabelposition string

Scatter3dMarkerColorbarTicklabelposition Determines where tick labels are drawn.

const (
	Scatter3dMarkerColorbarTicklabelposition_outside       Scatter3dMarkerColorbarTicklabelposition = "outside"
	Scatter3dMarkerColorbarTicklabelposition_inside        Scatter3dMarkerColorbarTicklabelposition = "inside"
	Scatter3dMarkerColorbarTicklabelposition_outsidetop    Scatter3dMarkerColorbarTicklabelposition = "outside top"
	Scatter3dMarkerColorbarTicklabelposition_insidetop     Scatter3dMarkerColorbarTicklabelposition = "inside top"
	Scatter3dMarkerColorbarTicklabelposition_outsidebottom Scatter3dMarkerColorbarTicklabelposition = "outside bottom"
	Scatter3dMarkerColorbarTicklabelposition_insidebottom  Scatter3dMarkerColorbarTicklabelposition = "inside bottom"
)

type Scatter3dMarkerColorbarTickmode

type Scatter3dMarkerColorbarTickmode string

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).

const (
	Scatter3dMarkerColorbarTickmode_auto   Scatter3dMarkerColorbarTickmode = "auto"
	Scatter3dMarkerColorbarTickmode_linear Scatter3dMarkerColorbarTickmode = "linear"
	Scatter3dMarkerColorbarTickmode_array  Scatter3dMarkerColorbarTickmode = "array"
)

type Scatter3dMarkerColorbarTicks

type Scatter3dMarkerColorbarTicks string

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.

const (
	Scatter3dMarkerColorbarTicks_outside Scatter3dMarkerColorbarTicks = "outside"
	Scatter3dMarkerColorbarTicks_inside  Scatter3dMarkerColorbarTicks = "inside"
)

type Scatter3dMarkerColorbarTitle

type Scatter3dMarkerColorbarTitle struct {

	// Font <no value> Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.
	Font *Scatter3dMarkerColorbarTitleFont `json:"font,omitempty"`

	// Side 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.
	Side Scatter3dMarkerColorbarTitleSide `json:"side,omitempty"`

	// Text 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"`
}

type Scatter3dMarkerColorbarTitleFont

type Scatter3dMarkerColorbarTitleFont struct {

	// Color color <no value>
	Color String `json:"color,omitempty"`

	// Family string HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.
	Family String `json:"family,omitempty"`

	// Size number <no value>
	Size float64 `json:"size,omitempty"`
}

type Scatter3dMarkerColorbarTitleSide

type Scatter3dMarkerColorbarTitleSide string

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.

const (
	Scatter3dMarkerColorbarTitleSide_right  Scatter3dMarkerColorbarTitleSide = "right"
	Scatter3dMarkerColorbarTitleSide_top    Scatter3dMarkerColorbarTitleSide = "top"
	Scatter3dMarkerColorbarTitleSide_bottom Scatter3dMarkerColorbarTitleSide = "bottom"
)

type Scatter3dMarkerColorbarXanchor

type Scatter3dMarkerColorbarXanchor string

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.

const (
	Scatter3dMarkerColorbarXanchor_left   Scatter3dMarkerColorbarXanchor = "left"
	Scatter3dMarkerColorbarXanchor_center Scatter3dMarkerColorbarXanchor = "center"
	Scatter3dMarkerColorbarXanchor_right  Scatter3dMarkerColorbarXanchor = "right"
)

type Scatter3dMarkerColorbarYanchor

type Scatter3dMarkerColorbarYanchor string

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.

const (
	Scatter3dMarkerColorbarYanchor_top    Scatter3dMarkerColorbarYanchor = "top"
	Scatter3dMarkerColorbarYanchor_middle Scatter3dMarkerColorbarYanchor = "middle"
	Scatter3dMarkerColorbarYanchor_bottom Scatter3dMarkerColorbarYanchor = "bottom"
)

type Scatter3dMarkerLine

type Scatter3dMarkerLine struct {

	// Autocolorscale 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 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 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 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 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 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.
	Color interface{} `json:"color,omitempty"`

	// Coloraxis 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"`

	// Colorsrc string Sets the source reference on Chart Studio Cloud for  color .
	Colorsrc String `json:"colorsrc,omitempty"`

	// Reversescale 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 number Sets the width (in px) of the lines bounding the marker points.
	Width float64 `json:"width,omitempty"`
}

type Scatter3dMarkerSizemode

type Scatter3dMarkerSizemode string

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.

const (
	Scatter3dMarkerSizemode_diameter Scatter3dMarkerSizemode = "diameter"
	Scatter3dMarkerSizemode_area     Scatter3dMarkerSizemode = "area"
)

type Scatter3dMarkerSymbol

type Scatter3dMarkerSymbol string

Scatter3dMarkerSymbol Sets the marker symbol type.

const (
	Scatter3dMarkerSymbol_circle       Scatter3dMarkerSymbol = "circle"
	Scatter3dMarkerSymbol_circle_open  Scatter3dMarkerSymbol = "circle-open"
	Scatter3dMarkerSymbol_square       Scatter3dMarkerSymbol = "square"
	Scatter3dMarkerSymbol_square_open  Scatter3dMarkerSymbol = "square-open"
	Scatter3dMarkerSymbol_diamond      Scatter3dMarkerSymbol = "diamond"
	Scatter3dMarkerSymbol_diamond_open Scatter3dMarkerSymbol = "diamond-open"
	Scatter3dMarkerSymbol_cross        Scatter3dMarkerSymbol = "cross"
	Scatter3dMarkerSymbol_x            Scatter3dMarkerSymbol = "x"
)

type Scatter3dMode

type Scatter3dMode string
const (
	// Flags
	Scatter3dModeLines   Scatter3dMode = "lines"
	Scatter3dModeMarkers Scatter3dMode = "markers"
	Scatter3dModeText    Scatter3dMode = "text"
	// Extras
	Scatter3dModeNone Scatter3dMode = "none"
)

type Scatter3dProjection

type Scatter3dProjection struct {

	// X <no value> <no value>
	X *Scatter3dProjectionX `json:"x,omitempty"`

	// Y <no value> <no value>
	Y *Scatter3dProjectionY `json:"y,omitempty"`

	// Z <no value> <no value>
	Z *Scatter3dProjectionZ `json:"z,omitempty"`
}

type Scatter3dProjectionX

type Scatter3dProjectionX struct {

	// Opacity number Sets the projection color.
	Opacity float64 `json:"opacity,omitempty"`

	// Scale number Sets the scale factor determining the size of the projection marker points.
	Scale float64 `json:"scale,omitempty"`

	// Show boolean Sets whether or not projections are shown along the x axis.
	Show Bool `json:"show,omitempty"`
}

type Scatter3dProjectionY

type Scatter3dProjectionY struct {

	// Opacity number Sets the projection color.
	Opacity float64 `json:"opacity,omitempty"`

	// Scale number Sets the scale factor determining the size of the projection marker points.
	Scale float64 `json:"scale,omitempty"`

	// Show boolean Sets whether or not projections are shown along the y axis.
	Show Bool `json:"show,omitempty"`
}

type Scatter3dProjectionZ

type Scatter3dProjectionZ struct {

	// Opacity number Sets the projection color.
	Opacity float64 `json:"opacity,omitempty"`

	// Scale number Sets the scale factor determining the size of the projection marker points.
	Scale float64 `json:"scale,omitempty"`

	// Show boolean Sets whether or not projections are shown along the z axis.
	Show Bool `json:"show,omitempty"`
}

type Scatter3dStream

type Scatter3dStream struct {

	// Maxpoints 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 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"`
}

type Scatter3dSurfaceaxis

type Scatter3dSurfaceaxis string

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.

const (
	Scatter3dSurfaceaxis_1 Scatter3dSurfaceaxis = "-1"
	Scatter3dSurfaceaxis0  Scatter3dSurfaceaxis = "0"
	Scatter3dSurfaceaxis1  Scatter3dSurfaceaxis = "1"
	Scatter3dSurfaceaxis2  Scatter3dSurfaceaxis = "2"
)

type Scatter3dTextfont

type Scatter3dTextfont struct {

	// Color color <no value>
	Color interface{} `json:"color,omitempty"`

	// Colorsrc string Sets the source reference on Chart Studio Cloud for  color .
	Colorsrc String `json:"colorsrc,omitempty"`

	// Family string HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.
	Family String `json:"family,omitempty"`

	// Size number <no value>
	Size interface{} `json:"size,omitempty"`

	// Sizesrc string Sets the source reference on Chart Studio Cloud for  size .
	Sizesrc String `json:"sizesrc,omitempty"`
}

type Scatter3dTextposition

type Scatter3dTextposition string

Scatter3dTextposition Sets the positions of the `text` elements with respects to the (x,y) coordinates.

const (
	Scatter3dTextposition_topleft      Scatter3dTextposition = "top left"
	Scatter3dTextposition_topcenter    Scatter3dTextposition = "top center"
	Scatter3dTextposition_topright     Scatter3dTextposition = "top right"
	Scatter3dTextposition_middleleft   Scatter3dTextposition = "middle left"
	Scatter3dTextposition_middlecenter Scatter3dTextposition = "middle center"
	Scatter3dTextposition_middleright  Scatter3dTextposition = "middle right"
	Scatter3dTextposition_bottomleft   Scatter3dTextposition = "bottom left"
	Scatter3dTextposition_bottomcenter Scatter3dTextposition = "bottom center"
	Scatter3dTextposition_bottomright  Scatter3dTextposition = "bottom right"
)

type Scatter3dTransforms

type Scatter3dTransforms interface{}

Scatter3dTransforms It's an items array and what goes inside it's... messy... check the docs Here is a hint to help you to define your own type transform

description
editType
role

type Scatter3dVisible

type Scatter3dVisible interface{}

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).

var (
	Scatter3dVisible_True       Scatter3dVisible = true
	Scatter3dVisible_False      Scatter3dVisible = false
	Scatter3dVisible_legendonly Scatter3dVisible = "legendonly"
)

type Scatter3dXcalendar

type Scatter3dXcalendar string

Scatter3dXcalendar Sets the calendar system to use with `x` date data.

const (
	Scatter3dXcalendar_gregorian  Scatter3dXcalendar = "gregorian"
	Scatter3dXcalendar_chinese    Scatter3dXcalendar = "chinese"
	Scatter3dXcalendar_coptic     Scatter3dXcalendar = "coptic"
	Scatter3dXcalendar_discworld  Scatter3dXcalendar = "discworld"
	Scatter3dXcalendar_ethiopian  Scatter3dXcalendar = "ethiopian"
	Scatter3dXcalendar_hebrew     Scatter3dXcalendar = "hebrew"
	Scatter3dXcalendar_islamic    Scatter3dXcalendar = "islamic"
	Scatter3dXcalendar_julian     Scatter3dXcalendar = "julian"
	Scatter3dXcalendar_mayan      Scatter3dXcalendar = "mayan"
	Scatter3dXcalendar_nanakshahi Scatter3dXcalendar = "nanakshahi"
	Scatter3dXcalendar_nepali     Scatter3dXcalendar = "nepali"
	Scatter3dXcalendar_persian    Scatter3dXcalendar = "persian"
	Scatter3dXcalendar_jalali     Scatter3dXcalendar = "jalali"
	Scatter3dXcalendar_taiwan     Scatter3dXcalendar = "taiwan"
	Scatter3dXcalendar_thai       Scatter3dXcalendar = "thai"
	Scatter3dXcalendar_ummalqura  Scatter3dXcalendar = "ummalqura"
)

type Scatter3dYcalendar

type Scatter3dYcalendar string

Scatter3dYcalendar Sets the calendar system to use with `y` date data.

const (
	Scatter3dYcalendar_gregorian  Scatter3dYcalendar = "gregorian"
	Scatter3dYcalendar_chinese    Scatter3dYcalendar = "chinese"
	Scatter3dYcalendar_coptic     Scatter3dYcalendar = "coptic"
	Scatter3dYcalendar_discworld  Scatter3dYcalendar = "discworld"
	Scatter3dYcalendar_ethiopian  Scatter3dYcalendar = "ethiopian"
	Scatter3dYcalendar_hebrew     Scatter3dYcalendar = "hebrew"
	Scatter3dYcalendar_islamic    Scatter3dYcalendar = "islamic"
	Scatter3dYcalendar_julian     Scatter3dYcalendar = "julian"
	Scatter3dYcalendar_mayan      Scatter3dYcalendar = "mayan"
	Scatter3dYcalendar_nanakshahi Scatter3dYcalendar = "nanakshahi"
	Scatter3dYcalendar_nepali     Scatter3dYcalendar = "nepali"
	Scatter3dYcalendar_persian    Scatter3dYcalendar = "persian"
	Scatter3dYcalendar_jalali     Scatter3dYcalendar = "jalali"
	Scatter3dYcalendar_taiwan     Scatter3dYcalendar = "taiwan"
	Scatter3dYcalendar_thai       Scatter3dYcalendar = "thai"
	Scatter3dYcalendar_ummalqura  Scatter3dYcalendar = "ummalqura"
)

type Scatter3dZcalendar

type Scatter3dZcalendar string

Scatter3dZcalendar Sets the calendar system to use with `z` date data.

const (
	Scatter3dZcalendar_gregorian  Scatter3dZcalendar = "gregorian"
	Scatter3dZcalendar_chinese    Scatter3dZcalendar = "chinese"
	Scatter3dZcalendar_coptic     Scatter3dZcalendar = "coptic"
	Scatter3dZcalendar_discworld  Scatter3dZcalendar = "discworld"
	Scatter3dZcalendar_ethiopian  Scatter3dZcalendar = "ethiopian"
	Scatter3dZcalendar_hebrew     Scatter3dZcalendar = "hebrew"
	Scatter3dZcalendar_islamic    Scatter3dZcalendar = "islamic"
	Scatter3dZcalendar_julian     Scatter3dZcalendar = "julian"
	Scatter3dZcalendar_mayan      Scatter3dZcalendar = "mayan"
	Scatter3dZcalendar_nanakshahi Scatter3dZcalendar = "nanakshahi"
	Scatter3dZcalendar_nepali     Scatter3dZcalendar = "nepali"
	Scatter3dZcalendar_persian    Scatter3dZcalendar = "persian"
	Scatter3dZcalendar_jalali     Scatter3dZcalendar = "jalali"
	Scatter3dZcalendar_taiwan     Scatter3dZcalendar = "taiwan"
	Scatter3dZcalendar_thai       Scatter3dZcalendar = "thai"
	Scatter3dZcalendar_ummalqura  Scatter3dZcalendar = "ummalqura"
)

type ScatterErrorX

type ScatterErrorX struct {

	// Array 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 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 string Sets the source reference on Chart Studio Cloud for  arrayminus .
	Arrayminussrc String `json:"arrayminussrc,omitempty"`

	// Arraysrc string Sets the source reference on Chart Studio Cloud for  array .
	Arraysrc String `json:"arraysrc,omitempty"`

	// Color color Sets the stoke color of the error bars.
	Color String `json:"color,omitempty"`

	// Copy_ystyle boolean <no value>
	Copy_ystyle Bool `json:"copy_ystyle,omitempty"`

	// Symmetric 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 number Sets the thickness (in px) of the error bars.
	Thickness float64 `json:"thickness,omitempty"`

	// Traceref integer <no value>
	Traceref int64 `json:"traceref,omitempty"`

	// Tracerefminus integer <no value>
	Tracerefminus int64 `json:"tracerefminus,omitempty"`

	// 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 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 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 boolean Determines whether or not this set of error bars is visible.
	Visible Bool `json:"visible,omitempty"`

	// Width number Sets the width (in px) of the cross-bar at both ends of the error bars.
	Width float64 `json:"width,omitempty"`
}

type ScatterErrorXType

type ScatterErrorXType string

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`.

const (
	ScatterErrorXType_percent  ScatterErrorXType = "percent"
	ScatterErrorXType_constant ScatterErrorXType = "constant"
	ScatterErrorXType_sqrt     ScatterErrorXType = "sqrt"
	ScatterErrorXType_data     ScatterErrorXType = "data"
)

type ScatterErrorY

type ScatterErrorY struct {

	// Array 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 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 string Sets the source reference on Chart Studio Cloud for  arrayminus .
	Arrayminussrc String `json:"arrayminussrc,omitempty"`

	// Arraysrc string Sets the source reference on Chart Studio Cloud for  array .
	Arraysrc String `json:"arraysrc,omitempty"`

	// Color color Sets the stoke color of the error bars.
	Color String `json:"color,omitempty"`

	// Symmetric 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 number Sets the thickness (in px) of the error bars.
	Thickness float64 `json:"thickness,omitempty"`

	// Traceref integer <no value>
	Traceref int64 `json:"traceref,omitempty"`

	// Tracerefminus integer <no value>
	Tracerefminus int64 `json:"tracerefminus,omitempty"`

	// 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 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 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 boolean Determines whether or not this set of error bars is visible.
	Visible Bool `json:"visible,omitempty"`

	// Width number Sets the width (in px) of the cross-bar at both ends of the error bars.
	Width float64 `json:"width,omitempty"`
}

type ScatterErrorYType

type ScatterErrorYType string

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`.

const (
	ScatterErrorYType_percent  ScatterErrorYType = "percent"
	ScatterErrorYType_constant ScatterErrorYType = "constant"
	ScatterErrorYType_sqrt     ScatterErrorYType = "sqrt"
	ScatterErrorYType_data     ScatterErrorYType = "data"
)

type ScatterFill

type ScatterFill string

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.

const (
	ScatterFill_none    ScatterFill = "none"
	ScatterFill_tozeroy ScatterFill = "tozeroy"
	ScatterFill_tozerox ScatterFill = "tozerox"
	ScatterFill_tonexty ScatterFill = "tonexty"
	ScatterFill_tonextx ScatterFill = "tonextx"
	ScatterFill_toself  ScatterFill = "toself"
	ScatterFill_tonext  ScatterFill = "tonext"
)

type ScatterGroupnorm

type ScatterGroupnorm string

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.

const (
	ScatterGroupnorm_fraction ScatterGroupnorm = "fraction"
	ScatterGroupnorm_percent  ScatterGroupnorm = "percent"
)

type ScatterHoverinfo

type ScatterHoverinfo string
const (
	// Flags
	ScatterHoverinfoX    ScatterHoverinfo = "x"
	ScatterHoverinfoY    ScatterHoverinfo = "y"
	ScatterHoverinfoZ    ScatterHoverinfo = "z"
	ScatterHoverinfoText ScatterHoverinfo = "text"
	ScatterHoverinfoName ScatterHoverinfo = "name"
	// Extras
	ScatterHoverinfoAll  ScatterHoverinfo = "all"
	ScatterHoverinfoNone ScatterHoverinfo = "none"
	ScatterHoverinfoSkip ScatterHoverinfo = "skip"
)

type ScatterHoverlabel

type ScatterHoverlabel struct {

	// Align 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 string Sets the source reference on Chart Studio Cloud for  align .
	Alignsrc String `json:"alignsrc,omitempty"`

	// Bgcolor color Sets the background color of the hover labels for this trace
	Bgcolor interface{} `json:"bgcolor,omitempty"`

	// Bgcolorsrc string Sets the source reference on Chart Studio Cloud for  bgcolor .
	Bgcolorsrc String `json:"bgcolorsrc,omitempty"`

	// Bordercolor color Sets the border color of the hover labels for this trace.
	Bordercolor interface{} `json:"bordercolor,omitempty"`

	// Bordercolorsrc string Sets the source reference on Chart Studio Cloud for  bordercolor .
	Bordercolorsrc String `json:"bordercolorsrc,omitempty"`

	// Font <no value> Sets the font used in hover labels.
	Font *ScatterHoverlabelFont `json:"font,omitempty"`

	// Namelength 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 interface{} `json:"namelength,omitempty"`

	// Namelengthsrc string Sets the source reference on Chart Studio Cloud for  namelength .
	Namelengthsrc String `json:"namelengthsrc,omitempty"`
}

type ScatterHoverlabelAlign

type ScatterHoverlabelAlign string

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

const (
	ScatterHoverlabelAlign_left  ScatterHoverlabelAlign = "left"
	ScatterHoverlabelAlign_right ScatterHoverlabelAlign = "right"
	ScatterHoverlabelAlign_auto  ScatterHoverlabelAlign = "auto"
)

type ScatterHoverlabelFont

type ScatterHoverlabelFont struct {

	// Color color <no value>
	Color interface{} `json:"color,omitempty"`

	// Colorsrc string Sets the source reference on Chart Studio Cloud for  color .
	Colorsrc String `json:"colorsrc,omitempty"`

	// Family string HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.
	Family interface{} `json:"family,omitempty"`

	// Familysrc string Sets the source reference on Chart Studio Cloud for  family .
	Familysrc String `json:"familysrc,omitempty"`

	// Size number <no value>
	Size interface{} `json:"size,omitempty"`

	// Sizesrc string Sets the source reference on Chart Studio Cloud for  size .
	Sizesrc String `json:"sizesrc,omitempty"`
}

type ScatterHoveron

type ScatterHoveron string
const (
	// Flags
	ScatterHoveronPoints ScatterHoveron = "points"
	ScatterHoveronFills  ScatterHoveron = "fills"
)

type ScatterLine

type ScatterLine struct {

	// Color color Sets the line color.
	Color String `json:"color,omitempty"`

	// Dash 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 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 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 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 number Sets the line width (in px).
	Width float64 `json:"width,omitempty"`
}

type ScatterLineShape

type ScatterLineShape string

ScatterLineShape Determines the line shape. With *spline* the lines are drawn using spline interpolation. The other available values correspond to step-wise line shapes.

const (
	ScatterLineShape_linear ScatterLineShape = "linear"
	ScatterLineShape_spline ScatterLineShape = "spline"
	ScatterLineShape_hv     ScatterLineShape = "hv"
	ScatterLineShape_vh     ScatterLineShape = "vh"
	ScatterLineShape_hvh    ScatterLineShape = "hvh"
	ScatterLineShape_vhv    ScatterLineShape = "vhv"
)

type ScatterMarker

type ScatterMarker struct {

	// Autocolorscale 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 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 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 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 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 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.
	Color interface{} `json:"color,omitempty"`

	// Coloraxis 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 <no value> <no value>
	Colorbar *ScatterMarkerColorbar `json:"colorbar,omitempty"`

	// Colorsrc string Sets the source reference on Chart Studio Cloud for  color .
	Colorsrc String `json:"colorsrc,omitempty"`

	// Gradient <no value> <no value>
	Gradient *ScatterMarkerGradient `json:"gradient,omitempty"`

	// Line <no value> <no value>
	Line *ScatterMarkerLine `json:"line,omitempty"`

	// Maxdisplayed number Sets a maximum number of points to be drawn on the graph. *0* corresponds to no limit.
	Maxdisplayed float64 `json:"maxdisplayed,omitempty"`

	// Opacity number Sets the marker opacity.
	Opacity interface{} `json:"opacity,omitempty"`

	// Opacitysrc string Sets the source reference on Chart Studio Cloud for  opacity .
	Opacitysrc String `json:"opacitysrc,omitempty"`

	// Reversescale 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 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 number Sets the marker size (in px).
	Size interface{} `json:"size,omitempty"`

	// Sizemin 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 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 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 string Sets the source reference on Chart Studio Cloud for  size .
	Sizesrc String `json:"sizesrc,omitempty"`

	// Symbol 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 string Sets the source reference on Chart Studio Cloud for  symbol .
	Symbolsrc String `json:"symbolsrc,omitempty"`
}

type ScatterMarkerColorbar

type ScatterMarkerColorbar struct {

	// Bgcolor color Sets the color of padded area.
	Bgcolor String `json:"bgcolor,omitempty"`

	// Bordercolor color Sets the axis line color.
	Bordercolor String `json:"bordercolor,omitempty"`

	// Borderwidth number Sets the width (in px) or the border enclosing this color bar.
	Borderwidth float64 `json:"borderwidth,omitempty"`

	// Dtick 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<f>*, where `f` is a positive number, gives ticks linearly spaced in value (but not position). For example `tick0` = 0.1, `dtick` = *L0.5* will put ticks at 0.1, 0.6, 1.1, 1.6 etc. To show powers of 10 plus small digits between, use *D1* (all digits) or *D2* (only 2 and 5). `tick0` is ignored for *D1* and *D2*. If the axis `type` is *date*, then you must convert the time to milliseconds. For example, to set the interval between ticks to one day, set `dtick` to 86400000.0. *date* also has special values *M<n>* gives ticks spaced by a number of months. `n` must be a positive integer. To set ticks on the 15th of every third month, set `tick0` to *2000-01-15* and `dtick` to *M3*. To set ticks every 4 years, set `dtick` to *M48*
	Dtick interface{} `json:"dtick,omitempty"`

	// Exponentformat 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"`

	// Len 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 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 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 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"`

	// Outlinecolor color Sets the axis line color.
	Outlinecolor String `json:"outlinecolor,omitempty"`

	// Outlinewidth number Sets the width (in px) of the axis line.
	Outlinewidth float64 `json:"outlinewidth,omitempty"`

	// Separatethousands boolean If "true", even 4-digit integers are separated
	Separatethousands Bool `json:"separatethousands,omitempty"`

	// Showexponent 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 boolean Determines whether or not the tick labels are drawn.
	Showticklabels Bool `json:"showticklabels,omitempty"`

	// Showtickprefix 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 enumerated Same as `showtickprefix` but for tick suffixes.
	Showticksuffix ScatterMarkerColorbarShowticksuffix `json:"showticksuffix,omitempty"`

	// Thickness 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 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 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<f>* (see `dtick` for more info). If the axis `type` is *date*, it should be a date string, like date data. If the axis `type` is *category*, it should be a number, using the scale where each category is assigned a serial number from zero in the order it appears.
	Tick0 interface{} `json:"tick0,omitempty"`

	// Tickangle 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 color Sets the tick color.
	Tickcolor String `json:"tickcolor,omitempty"`

	// Tickfont <no value> Sets the color bar's tick label font
	Tickfont *ScatterMarkerColorbarTickfont `json:"tickfont,omitempty"`

	// Tickformat 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*
	Tickformat String `json:"tickformat,omitempty"`

	// Tickformatstops <no value> <no value>
	Tickformatstops ScatterMarkerColorbarTickformatstops `json:"tickformatstops,omitempty"`

	// Ticklabelposition enumerated Determines where tick labels are drawn.
	Ticklabelposition ScatterMarkerColorbarTicklabelposition `json:"ticklabelposition,omitempty"`

	// Ticklen number Sets the tick length (in px).
	Ticklen float64 `json:"ticklen,omitempty"`

	// Tickmode 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 string Sets a tick label prefix.
	Tickprefix String `json:"tickprefix,omitempty"`

	// Ticks 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 string Sets a tick label suffix.
	Ticksuffix String `json:"ticksuffix,omitempty"`

	// Ticktext 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 string Sets the source reference on Chart Studio Cloud for  ticktext .
	Ticktextsrc String `json:"ticktextsrc,omitempty"`

	// Tickvals 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 string Sets the source reference on Chart Studio Cloud for  tickvals .
	Tickvalssrc String `json:"tickvalssrc,omitempty"`

	// Tickwidth number Sets the tick width (in px).
	Tickwidth float64 `json:"tickwidth,omitempty"`

	// Title <no value> <no value>
	Title *ScatterMarkerColorbarTitle `json:"title,omitempty"`

	// X number Sets the x position of the color bar (in plot fraction).
	X float64 `json:"x,omitempty"`

	// Xanchor 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.
	Xanchor ScatterMarkerColorbarXanchor `json:"xanchor,omitempty"`

	// Xpad number Sets the amount of padding (in px) along the x direction.
	Xpad float64 `json:"xpad,omitempty"`

	// Y number Sets the y position of the color bar (in plot fraction).
	Y float64 `json:"y,omitempty"`

	// Yanchor 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.
	Yanchor ScatterMarkerColorbarYanchor `json:"yanchor,omitempty"`

	// Ypad number Sets the amount of padding (in px) along the y direction.
	Ypad float64 `json:"ypad,omitempty"`
}

type ScatterMarkerColorbarExponentformat

type ScatterMarkerColorbarExponentformat string

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.

const (
	ScatterMarkerColorbarExponentformat_none  ScatterMarkerColorbarExponentformat = "none"
	ScatterMarkerColorbarExponentformat_e     ScatterMarkerColorbarExponentformat = "e"
	ScatterMarkerColorbarExponentformat_E     ScatterMarkerColorbarExponentformat = "E"
	ScatterMarkerColorbarExponentformat_power ScatterMarkerColorbarExponentformat = "power"
	ScatterMarkerColorbarExponentformat_SI    ScatterMarkerColorbarExponentformat = "SI"
	ScatterMarkerColorbarExponentformat_B     ScatterMarkerColorbarExponentformat = "B"
)

type ScatterMarkerColorbarLenmode

type ScatterMarkerColorbarLenmode string

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.

const (
	ScatterMarkerColorbarLenmode_fraction ScatterMarkerColorbarLenmode = "fraction"
	ScatterMarkerColorbarLenmode_pixels   ScatterMarkerColorbarLenmode = "pixels"
)

type ScatterMarkerColorbarShowexponent

type ScatterMarkerColorbarShowexponent string

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.

const (
	ScatterMarkerColorbarShowexponent_all   ScatterMarkerColorbarShowexponent = "all"
	ScatterMarkerColorbarShowexponent_first ScatterMarkerColorbarShowexponent = "first"
	ScatterMarkerColorbarShowexponent_last  ScatterMarkerColorbarShowexponent = "last"
	ScatterMarkerColorbarShowexponent_none  ScatterMarkerColorbarShowexponent = "none"
)

type ScatterMarkerColorbarShowtickprefix

type ScatterMarkerColorbarShowtickprefix string

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.

const (
	ScatterMarkerColorbarShowtickprefix_all   ScatterMarkerColorbarShowtickprefix = "all"
	ScatterMarkerColorbarShowtickprefix_first ScatterMarkerColorbarShowtickprefix = "first"
	ScatterMarkerColorbarShowtickprefix_last  ScatterMarkerColorbarShowtickprefix = "last"
	ScatterMarkerColorbarShowtickprefix_none  ScatterMarkerColorbarShowtickprefix = "none"
)

type ScatterMarkerColorbarShowticksuffix

type ScatterMarkerColorbarShowticksuffix string

ScatterMarkerColorbarShowticksuffix Same as `showtickprefix` but for tick suffixes.

const (
	ScatterMarkerColorbarShowticksuffix_all   ScatterMarkerColorbarShowticksuffix = "all"
	ScatterMarkerColorbarShowticksuffix_first ScatterMarkerColorbarShowticksuffix = "first"
	ScatterMarkerColorbarShowticksuffix_last  ScatterMarkerColorbarShowticksuffix = "last"
	ScatterMarkerColorbarShowticksuffix_none  ScatterMarkerColorbarShowticksuffix = "none"
)

type ScatterMarkerColorbarThicknessmode

type ScatterMarkerColorbarThicknessmode string

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.

const (
	ScatterMarkerColorbarThicknessmode_fraction ScatterMarkerColorbarThicknessmode = "fraction"
	ScatterMarkerColorbarThicknessmode_pixels   ScatterMarkerColorbarThicknessmode = "pixels"
)

type ScatterMarkerColorbarTickfont

type ScatterMarkerColorbarTickfont struct {

	// Color color <no value>
	Color String `json:"color,omitempty"`

	// Family string HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.
	Family String `json:"family,omitempty"`

	// Size number <no value>
	Size float64 `json:"size,omitempty"`
}

type ScatterMarkerColorbarTickformatstops

type ScatterMarkerColorbarTickformatstops interface{}

ScatterMarkerColorbarTickformatstops It's an items array and what goes inside it's... messy... check the docs Here is a hint to help you to define your own type tickformatstop

dtickrange
editType
enabled
name
role
templateitemname
value

type ScatterMarkerColorbarTicklabelposition

type ScatterMarkerColorbarTicklabelposition string

ScatterMarkerColorbarTicklabelposition Determines where tick labels are drawn.

const (
	ScatterMarkerColorbarTicklabelposition_outside       ScatterMarkerColorbarTicklabelposition = "outside"
	ScatterMarkerColorbarTicklabelposition_inside        ScatterMarkerColorbarTicklabelposition = "inside"
	ScatterMarkerColorbarTicklabelposition_outsidetop    ScatterMarkerColorbarTicklabelposition = "outside top"
	ScatterMarkerColorbarTicklabelposition_insidetop     ScatterMarkerColorbarTicklabelposition = "inside top"
	ScatterMarkerColorbarTicklabelposition_outsidebottom ScatterMarkerColorbarTicklabelposition = "outside bottom"
	ScatterMarkerColorbarTicklabelposition_insidebottom  ScatterMarkerColorbarTicklabelposition = "inside bottom"
)

type ScatterMarkerColorbarTickmode

type ScatterMarkerColorbarTickmode string

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).

const (
	ScatterMarkerColorbarTickmode_auto   ScatterMarkerColorbarTickmode = "auto"
	ScatterMarkerColorbarTickmode_linear ScatterMarkerColorbarTickmode = "linear"
	ScatterMarkerColorbarTickmode_array  ScatterMarkerColorbarTickmode = "array"
)

type ScatterMarkerColorbarTicks

type ScatterMarkerColorbarTicks string

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.

const (
	ScatterMarkerColorbarTicks_outside ScatterMarkerColorbarTicks = "outside"
	ScatterMarkerColorbarTicks_inside  ScatterMarkerColorbarTicks = "inside"
)

type ScatterMarkerColorbarTitle

type ScatterMarkerColorbarTitle struct {

	// Font <no value> Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.
	Font *ScatterMarkerColorbarTitleFont `json:"font,omitempty"`

	// Side 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.
	Side ScatterMarkerColorbarTitleSide `json:"side,omitempty"`

	// Text 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"`
}

type ScatterMarkerColorbarTitleFont

type ScatterMarkerColorbarTitleFont struct {

	// Color color <no value>
	Color String `json:"color,omitempty"`

	// Family string HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.
	Family String `json:"family,omitempty"`

	// Size number <no value>
	Size float64 `json:"size,omitempty"`
}

type ScatterMarkerColorbarTitleSide

type ScatterMarkerColorbarTitleSide string

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.

const (
	ScatterMarkerColorbarTitleSide_right  ScatterMarkerColorbarTitleSide = "right"
	ScatterMarkerColorbarTitleSide_top    ScatterMarkerColorbarTitleSide = "top"
	ScatterMarkerColorbarTitleSide_bottom ScatterMarkerColorbarTitleSide = "bottom"
)

type ScatterMarkerColorbarXanchor

type ScatterMarkerColorbarXanchor string

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.

const (
	ScatterMarkerColorbarXanchor_left   ScatterMarkerColorbarXanchor = "left"
	ScatterMarkerColorbarXanchor_center ScatterMarkerColorbarXanchor = "center"
	ScatterMarkerColorbarXanchor_right  ScatterMarkerColorbarXanchor = "right"
)

type ScatterMarkerColorbarYanchor

type ScatterMarkerColorbarYanchor string

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.

const (
	ScatterMarkerColorbarYanchor_top    ScatterMarkerColorbarYanchor = "top"
	ScatterMarkerColorbarYanchor_middle ScatterMarkerColorbarYanchor = "middle"
	ScatterMarkerColorbarYanchor_bottom ScatterMarkerColorbarYanchor = "bottom"
)

type ScatterMarkerGradient

type ScatterMarkerGradient struct {

	// Color color Sets the final color of the gradient fill: the center color for radial, the right for horizontal, or the bottom for vertical.
	Color interface{} `json:"color,omitempty"`

	// Colorsrc string Sets the source reference on Chart Studio Cloud for  color .
	Colorsrc String `json:"colorsrc,omitempty"`

	// Type enumerated Sets the type of gradient used to fill the markers
	Type ScatterMarkerGradientType `json:"type,omitempty"`

	// Typesrc string Sets the source reference on Chart Studio Cloud for  type .
	Typesrc String `json:"typesrc,omitempty"`
}

type ScatterMarkerGradientType

type ScatterMarkerGradientType string

ScatterMarkerGradientType Sets the type of gradient used to fill the markers

const (
	ScatterMarkerGradientType_radial     ScatterMarkerGradientType = "radial"
	ScatterMarkerGradientType_horizontal ScatterMarkerGradientType = "horizontal"
	ScatterMarkerGradientType_vertical   ScatterMarkerGradientType = "vertical"
	ScatterMarkerGradientType_none       ScatterMarkerGradientType = "none"
)

type ScatterMarkerLine

type ScatterMarkerLine struct {

	// Autocolorscale 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 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 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 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 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 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.
	Color interface{} `json:"color,omitempty"`

	// Coloraxis 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"`

	// Colorsrc string Sets the source reference on Chart Studio Cloud for  color .
	Colorsrc String `json:"colorsrc,omitempty"`

	// Reversescale 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 number Sets the width (in px) of the lines bounding the marker points.
	Width interface{} `json:"width,omitempty"`

	// Widthsrc string Sets the source reference on Chart Studio Cloud for  width .
	Widthsrc String `json:"widthsrc,omitempty"`
}

type ScatterMarkerSizemode

type ScatterMarkerSizemode string

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.

const (
	ScatterMarkerSizemode_diameter ScatterMarkerSizemode = "diameter"
	ScatterMarkerSizemode_area     ScatterMarkerSizemode = "area"
)

type ScatterMarkerSymbol

type ScatterMarkerSymbol string

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.

const (
	ScatterMarkerSymbol0                            ScatterMarkerSymbol = "0"
	ScatterMarkerSymbol_0                           ScatterMarkerSymbol = "0"
	ScatterMarkerSymbol_circle                      ScatterMarkerSymbol = "circle"
	ScatterMarkerSymbol100                          ScatterMarkerSymbol = "100"
	ScatterMarkerSymbol_100                         ScatterMarkerSymbol = "100"
	ScatterMarkerSymbol_circle_open                 ScatterMarkerSymbol = "circle-open"
	ScatterMarkerSymbol200                          ScatterMarkerSymbol = "200"
	ScatterMarkerSymbol_200                         ScatterMarkerSymbol = "200"
	ScatterMarkerSymbol_circle_dot                  ScatterMarkerSymbol = "circle-dot"
	ScatterMarkerSymbol300                          ScatterMarkerSymbol = "300"
	ScatterMarkerSymbol_300                         ScatterMarkerSymbol = "300"
	ScatterMarkerSymbol_circle_open_dot             ScatterMarkerSymbol = "circle-open-dot"
	ScatterMarkerSymbol1                            ScatterMarkerSymbol = "1"
	ScatterMarkerSymbol_1                           ScatterMarkerSymbol = "1"
	ScatterMarkerSymbol_square                      ScatterMarkerSymbol = "square"
	ScatterMarkerSymbol101                          ScatterMarkerSymbol = "101"
	ScatterMarkerSymbol_101                         ScatterMarkerSymbol = "101"
	ScatterMarkerSymbol_square_open                 ScatterMarkerSymbol = "square-open"
	ScatterMarkerSymbol201                          ScatterMarkerSymbol = "201"
	ScatterMarkerSymbol_201                         ScatterMarkerSymbol = "201"
	ScatterMarkerSymbol_square_dot                  ScatterMarkerSymbol = "square-dot"
	ScatterMarkerSymbol301                          ScatterMarkerSymbol = "301"
	ScatterMarkerSymbol_301                         ScatterMarkerSymbol = "301"
	ScatterMarkerSymbol_square_open_dot             ScatterMarkerSymbol = "square-open-dot"
	ScatterMarkerSymbol2                            ScatterMarkerSymbol = "2"
	ScatterMarkerSymbol_2                           ScatterMarkerSymbol = "2"
	ScatterMarkerSymbol_diamond                     ScatterMarkerSymbol = "diamond"
	ScatterMarkerSymbol102                          ScatterMarkerSymbol = "102"
	ScatterMarkerSymbol_102                         ScatterMarkerSymbol = "102"
	ScatterMarkerSymbol_diamond_open                ScatterMarkerSymbol = "diamond-open"
	ScatterMarkerSymbol202                          ScatterMarkerSymbol = "202"
	ScatterMarkerSymbol_202                         ScatterMarkerSymbol = "202"
	ScatterMarkerSymbol_diamond_dot                 ScatterMarkerSymbol = "diamond-dot"
	ScatterMarkerSymbol302                          ScatterMarkerSymbol = "302"
	ScatterMarkerSymbol_302                         ScatterMarkerSymbol = "302"
	ScatterMarkerSymbol_diamond_open_dot            ScatterMarkerSymbol = "diamond-open-dot"
	ScatterMarkerSymbol3                            ScatterMarkerSymbol = "3"
	ScatterMarkerSymbol_3                           ScatterMarkerSymbol = "3"
	ScatterMarkerSymbol_cross                       ScatterMarkerSymbol = "cross"
	ScatterMarkerSymbol103                          ScatterMarkerSymbol = "103"
	ScatterMarkerSymbol_103                         ScatterMarkerSymbol = "103"
	ScatterMarkerSymbol_cross_open                  ScatterMarkerSymbol = "cross-open"
	ScatterMarkerSymbol203                          ScatterMarkerSymbol = "203"
	ScatterMarkerSymbol_203                         ScatterMarkerSymbol = "203"
	ScatterMarkerSymbol_cross_dot                   ScatterMarkerSymbol = "cross-dot"
	ScatterMarkerSymbol303                          ScatterMarkerSymbol = "303"
	ScatterMarkerSymbol_303                         ScatterMarkerSymbol = "303"
	ScatterMarkerSymbol_cross_open_dot              ScatterMarkerSymbol = "cross-open-dot"
	ScatterMarkerSymbol4                            ScatterMarkerSymbol = "4"
	ScatterMarkerSymbol_4                           ScatterMarkerSymbol = "4"
	ScatterMarkerSymbol_x                           ScatterMarkerSymbol = "x"
	ScatterMarkerSymbol104                          ScatterMarkerSymbol = "104"
	ScatterMarkerSymbol_104                         ScatterMarkerSymbol = "104"
	ScatterMarkerSymbol_x_open                      ScatterMarkerSymbol = "x-open"
	ScatterMarkerSymbol204                          ScatterMarkerSymbol = "204"
	ScatterMarkerSymbol_204                         ScatterMarkerSymbol = "204"
	ScatterMarkerSymbol_x_dot                       ScatterMarkerSymbol = "x-dot"
	ScatterMarkerSymbol304                          ScatterMarkerSymbol = "304"
	ScatterMarkerSymbol_304                         ScatterMarkerSymbol = "304"
	ScatterMarkerSymbol_x_open_dot                  ScatterMarkerSymbol = "x-open-dot"
	ScatterMarkerSymbol5                            ScatterMarkerSymbol = "5"
	ScatterMarkerSymbol_5                           ScatterMarkerSymbol = "5"
	ScatterMarkerSymbol_triangle_up                 ScatterMarkerSymbol = "triangle-up"
	ScatterMarkerSymbol105                          ScatterMarkerSymbol = "105"
	ScatterMarkerSymbol_105                         ScatterMarkerSymbol = "105"
	ScatterMarkerSymbol_triangle_up_open            ScatterMarkerSymbol = "triangle-up-open"
	ScatterMarkerSymbol205                          ScatterMarkerSymbol = "205"
	ScatterMarkerSymbol_205                         ScatterMarkerSymbol = "205"
	ScatterMarkerSymbol_triangle_up_dot             ScatterMarkerSymbol = "triangle-up-dot"
	ScatterMarkerSymbol305                          ScatterMarkerSymbol = "305"
	ScatterMarkerSymbol_305                         ScatterMarkerSymbol = "305"
	ScatterMarkerSymbol_triangle_up_open_dot        ScatterMarkerSymbol = "triangle-up-open-dot"
	ScatterMarkerSymbol6                            ScatterMarkerSymbol = "6"
	ScatterMarkerSymbol_6                           ScatterMarkerSymbol = "6"
	ScatterMarkerSymbol_triangle_down               ScatterMarkerSymbol = "triangle-down"
	ScatterMarkerSymbol106                          ScatterMarkerSymbol = "106"
	ScatterMarkerSymbol_106                         ScatterMarkerSymbol = "106"
	ScatterMarkerSymbol_triangle_down_open          ScatterMarkerSymbol = "triangle-down-open"
	ScatterMarkerSymbol206                          ScatterMarkerSymbol = "206"
	ScatterMarkerSymbol_206                         ScatterMarkerSymbol = "206"
	ScatterMarkerSymbol_triangle_down_dot           ScatterMarkerSymbol = "triangle-down-dot"
	ScatterMarkerSymbol306                          ScatterMarkerSymbol = "306"
	ScatterMarkerSymbol_306                         ScatterMarkerSymbol = "306"
	ScatterMarkerSymbol_triangle_down_open_dot      ScatterMarkerSymbol = "triangle-down-open-dot"
	ScatterMarkerSymbol7                            ScatterMarkerSymbol = "7"
	ScatterMarkerSymbol_7                           ScatterMarkerSymbol = "7"
	ScatterMarkerSymbol_triangle_left               ScatterMarkerSymbol = "triangle-left"
	ScatterMarkerSymbol107                          ScatterMarkerSymbol = "107"
	ScatterMarkerSymbol_107                         ScatterMarkerSymbol = "107"
	ScatterMarkerSymbol_triangle_left_open          ScatterMarkerSymbol = "triangle-left-open"
	ScatterMarkerSymbol207                          ScatterMarkerSymbol = "207"
	ScatterMarkerSymbol_207                         ScatterMarkerSymbol = "207"
	ScatterMarkerSymbol_triangle_left_dot           ScatterMarkerSymbol = "triangle-left-dot"
	ScatterMarkerSymbol307                          ScatterMarkerSymbol = "307"
	ScatterMarkerSymbol_307                         ScatterMarkerSymbol = "307"
	ScatterMarkerSymbol_triangle_left_open_dot      ScatterMarkerSymbol = "triangle-left-open-dot"
	ScatterMarkerSymbol8                            ScatterMarkerSymbol = "8"
	ScatterMarkerSymbol_8                           ScatterMarkerSymbol = "8"
	ScatterMarkerSymbol_triangle_right              ScatterMarkerSymbol = "triangle-right"
	ScatterMarkerSymbol108                          ScatterMarkerSymbol = "108"
	ScatterMarkerSymbol_108                         ScatterMarkerSymbol = "108"
	ScatterMarkerSymbol_triangle_right_open         ScatterMarkerSymbol = "triangle-right-open"
	ScatterMarkerSymbol208                          ScatterMarkerSymbol = "208"
	ScatterMarkerSymbol_208                         ScatterMarkerSymbol = "208"
	ScatterMarkerSymbol_triangle_right_dot          ScatterMarkerSymbol = "triangle-right-dot"
	ScatterMarkerSymbol308                          ScatterMarkerSymbol = "308"
	ScatterMarkerSymbol_308                         ScatterMarkerSymbol = "308"
	ScatterMarkerSymbol_triangle_right_open_dot     ScatterMarkerSymbol = "triangle-right-open-dot"
	ScatterMarkerSymbol9                            ScatterMarkerSymbol = "9"
	ScatterMarkerSymbol_9                           ScatterMarkerSymbol = "9"
	ScatterMarkerSymbol_triangle_ne                 ScatterMarkerSymbol = "triangle-ne"
	ScatterMarkerSymbol109                          ScatterMarkerSymbol = "109"
	ScatterMarkerSymbol_109                         ScatterMarkerSymbol = "109"
	ScatterMarkerSymbol_triangle_ne_open            ScatterMarkerSymbol = "triangle-ne-open"
	ScatterMarkerSymbol209                          ScatterMarkerSymbol = "209"
	ScatterMarkerSymbol_209                         ScatterMarkerSymbol = "209"
	ScatterMarkerSymbol_triangle_ne_dot             ScatterMarkerSymbol = "triangle-ne-dot"
	ScatterMarkerSymbol309                          ScatterMarkerSymbol = "309"
	ScatterMarkerSymbol_309                         ScatterMarkerSymbol = "309"
	ScatterMarkerSymbol_triangle_ne_open_dot        ScatterMarkerSymbol = "triangle-ne-open-dot"
	ScatterMarkerSymbol10                           ScatterMarkerSymbol = "10"
	ScatterMarkerSymbol_10                          ScatterMarkerSymbol = "10"
	ScatterMarkerSymbol_triangle_se                 ScatterMarkerSymbol = "triangle-se"
	ScatterMarkerSymbol110                          ScatterMarkerSymbol = "110"
	ScatterMarkerSymbol_110                         ScatterMarkerSymbol = "110"
	ScatterMarkerSymbol_triangle_se_open            ScatterMarkerSymbol = "triangle-se-open"
	ScatterMarkerSymbol210                          ScatterMarkerSymbol = "210"
	ScatterMarkerSymbol_210                         ScatterMarkerSymbol = "210"
	ScatterMarkerSymbol_triangle_se_dot             ScatterMarkerSymbol = "triangle-se-dot"
	ScatterMarkerSymbol310                          ScatterMarkerSymbol = "310"
	ScatterMarkerSymbol_310                         ScatterMarkerSymbol = "310"
	ScatterMarkerSymbol_triangle_se_open_dot        ScatterMarkerSymbol = "triangle-se-open-dot"
	ScatterMarkerSymbol11                           ScatterMarkerSymbol = "11"
	ScatterMarkerSymbol_11                          ScatterMarkerSymbol = "11"
	ScatterMarkerSymbol_triangle_sw                 ScatterMarkerSymbol = "triangle-sw"
	ScatterMarkerSymbol111                          ScatterMarkerSymbol = "111"
	ScatterMarkerSymbol_111                         ScatterMarkerSymbol = "111"
	ScatterMarkerSymbol_triangle_sw_open            ScatterMarkerSymbol = "triangle-sw-open"
	ScatterMarkerSymbol211                          ScatterMarkerSymbol = "211"
	ScatterMarkerSymbol_211                         ScatterMarkerSymbol = "211"
	ScatterMarkerSymbol_triangle_sw_dot             ScatterMarkerSymbol = "triangle-sw-dot"
	ScatterMarkerSymbol311                          ScatterMarkerSymbol = "311"
	ScatterMarkerSymbol_311                         ScatterMarkerSymbol = "311"
	ScatterMarkerSymbol_triangle_sw_open_dot        ScatterMarkerSymbol = "triangle-sw-open-dot"
	ScatterMarkerSymbol12                           ScatterMarkerSymbol = "12"
	ScatterMarkerSymbol_12                          ScatterMarkerSymbol = "12"
	ScatterMarkerSymbol_triangle_nw                 ScatterMarkerSymbol = "triangle-nw"
	ScatterMarkerSymbol112                          ScatterMarkerSymbol = "112"
	ScatterMarkerSymbol_112                         ScatterMarkerSymbol = "112"
	ScatterMarkerSymbol_triangle_nw_open            ScatterMarkerSymbol = "triangle-nw-open"
	ScatterMarkerSymbol212                          ScatterMarkerSymbol = "212"
	ScatterMarkerSymbol_212                         ScatterMarkerSymbol = "212"
	ScatterMarkerSymbol_triangle_nw_dot             ScatterMarkerSymbol = "triangle-nw-dot"
	ScatterMarkerSymbol312                          ScatterMarkerSymbol = "312"
	ScatterMarkerSymbol_312                         ScatterMarkerSymbol = "312"
	ScatterMarkerSymbol_triangle_nw_open_dot        ScatterMarkerSymbol = "triangle-nw-open-dot"
	ScatterMarkerSymbol13                           ScatterMarkerSymbol = "13"
	ScatterMarkerSymbol_13                          ScatterMarkerSymbol = "13"
	ScatterMarkerSymbol_pentagon                    ScatterMarkerSymbol = "pentagon"
	ScatterMarkerSymbol113                          ScatterMarkerSymbol = "113"
	ScatterMarkerSymbol_113                         ScatterMarkerSymbol = "113"
	ScatterMarkerSymbol_pentagon_open               ScatterMarkerSymbol = "pentagon-open"
	ScatterMarkerSymbol213                          ScatterMarkerSymbol = "213"
	ScatterMarkerSymbol_213                         ScatterMarkerSymbol = "213"
	ScatterMarkerSymbol_pentagon_dot                ScatterMarkerSymbol = "pentagon-dot"
	ScatterMarkerSymbol313                          ScatterMarkerSymbol = "313"
	ScatterMarkerSymbol_313                         ScatterMarkerSymbol = "313"
	ScatterMarkerSymbol_pentagon_open_dot           ScatterMarkerSymbol = "pentagon-open-dot"
	ScatterMarkerSymbol14                           ScatterMarkerSymbol = "14"
	ScatterMarkerSymbol_14                          ScatterMarkerSymbol = "14"
	ScatterMarkerSymbol_hexagon                     ScatterMarkerSymbol = "hexagon"
	ScatterMarkerSymbol114                          ScatterMarkerSymbol = "114"
	ScatterMarkerSymbol_114                         ScatterMarkerSymbol = "114"
	ScatterMarkerSymbol_hexagon_open                ScatterMarkerSymbol = "hexagon-open"
	ScatterMarkerSymbol214                          ScatterMarkerSymbol = "214"
	ScatterMarkerSymbol_214                         ScatterMarkerSymbol = "214"
	ScatterMarkerSymbol_hexagon_dot                 ScatterMarkerSymbol = "hexagon-dot"
	ScatterMarkerSymbol314                          ScatterMarkerSymbol = "314"
	ScatterMarkerSymbol_314                         ScatterMarkerSymbol = "314"
	ScatterMarkerSymbol_hexagon_open_dot            ScatterMarkerSymbol = "hexagon-open-dot"
	ScatterMarkerSymbol15                           ScatterMarkerSymbol = "15"
	ScatterMarkerSymbol_15                          ScatterMarkerSymbol = "15"
	ScatterMarkerSymbol_hexagon2                    ScatterMarkerSymbol = "hexagon2"
	ScatterMarkerSymbol115                          ScatterMarkerSymbol = "115"
	ScatterMarkerSymbol_115                         ScatterMarkerSymbol = "115"
	ScatterMarkerSymbol_hexagon2_open               ScatterMarkerSymbol = "hexagon2-open"
	ScatterMarkerSymbol215                          ScatterMarkerSymbol = "215"
	ScatterMarkerSymbol_215                         ScatterMarkerSymbol = "215"
	ScatterMarkerSymbol_hexagon2_dot                ScatterMarkerSymbol = "hexagon2-dot"
	ScatterMarkerSymbol315                          ScatterMarkerSymbol = "315"
	ScatterMarkerSymbol_315                         ScatterMarkerSymbol = "315"
	ScatterMarkerSymbol_hexagon2_open_dot           ScatterMarkerSymbol = "hexagon2-open-dot"
	ScatterMarkerSymbol16                           ScatterMarkerSymbol = "16"
	ScatterMarkerSymbol_16                          ScatterMarkerSymbol = "16"
	ScatterMarkerSymbol_octagon                     ScatterMarkerSymbol = "octagon"
	ScatterMarkerSymbol116                          ScatterMarkerSymbol = "116"
	ScatterMarkerSymbol_116                         ScatterMarkerSymbol = "116"
	ScatterMarkerSymbol_octagon_open                ScatterMarkerSymbol = "octagon-open"
	ScatterMarkerSymbol216                          ScatterMarkerSymbol = "216"
	ScatterMarkerSymbol_216                         ScatterMarkerSymbol = "216"
	ScatterMarkerSymbol_octagon_dot                 ScatterMarkerSymbol = "octagon-dot"
	ScatterMarkerSymbol316                          ScatterMarkerSymbol = "316"
	ScatterMarkerSymbol_316                         ScatterMarkerSymbol = "316"
	ScatterMarkerSymbol_octagon_open_dot            ScatterMarkerSymbol = "octagon-open-dot"
	ScatterMarkerSymbol17                           ScatterMarkerSymbol = "17"
	ScatterMarkerSymbol_17                          ScatterMarkerSymbol = "17"
	ScatterMarkerSymbol_star                        ScatterMarkerSymbol = "star"
	ScatterMarkerSymbol117                          ScatterMarkerSymbol = "117"
	ScatterMarkerSymbol_117                         ScatterMarkerSymbol = "117"
	ScatterMarkerSymbol_star_open                   ScatterMarkerSymbol = "star-open"
	ScatterMarkerSymbol217                          ScatterMarkerSymbol = "217"
	ScatterMarkerSymbol_217                         ScatterMarkerSymbol = "217"
	ScatterMarkerSymbol_star_dot                    ScatterMarkerSymbol = "star-dot"
	ScatterMarkerSymbol317                          ScatterMarkerSymbol = "317"
	ScatterMarkerSymbol_317                         ScatterMarkerSymbol = "317"
	ScatterMarkerSymbol_star_open_dot               ScatterMarkerSymbol = "star-open-dot"
	ScatterMarkerSymbol18                           ScatterMarkerSymbol = "18"
	ScatterMarkerSymbol_18                          ScatterMarkerSymbol = "18"
	ScatterMarkerSymbol_hexagram                    ScatterMarkerSymbol = "hexagram"
	ScatterMarkerSymbol118                          ScatterMarkerSymbol = "118"
	ScatterMarkerSymbol_118                         ScatterMarkerSymbol = "118"
	ScatterMarkerSymbol_hexagram_open               ScatterMarkerSymbol = "hexagram-open"
	ScatterMarkerSymbol218                          ScatterMarkerSymbol = "218"
	ScatterMarkerSymbol_218                         ScatterMarkerSymbol = "218"
	ScatterMarkerSymbol_hexagram_dot                ScatterMarkerSymbol = "hexagram-dot"
	ScatterMarkerSymbol318                          ScatterMarkerSymbol = "318"
	ScatterMarkerSymbol_318                         ScatterMarkerSymbol = "318"
	ScatterMarkerSymbol_hexagram_open_dot           ScatterMarkerSymbol = "hexagram-open-dot"
	ScatterMarkerSymbol19                           ScatterMarkerSymbol = "19"
	ScatterMarkerSymbol_19                          ScatterMarkerSymbol = "19"
	ScatterMarkerSymbol_star_triangle_up            ScatterMarkerSymbol = "star-triangle-up"
	ScatterMarkerSymbol119                          ScatterMarkerSymbol = "119"
	ScatterMarkerSymbol_119                         ScatterMarkerSymbol = "119"
	ScatterMarkerSymbol_star_triangle_up_open       ScatterMarkerSymbol = "star-triangle-up-open"
	ScatterMarkerSymbol219                          ScatterMarkerSymbol = "219"
	ScatterMarkerSymbol_219                         ScatterMarkerSymbol = "219"
	ScatterMarkerSymbol_star_triangle_up_dot        ScatterMarkerSymbol = "star-triangle-up-dot"
	ScatterMarkerSymbol319                          ScatterMarkerSymbol = "319"
	ScatterMarkerSymbol_319                         ScatterMarkerSymbol = "319"
	ScatterMarkerSymbol_star_triangle_up_open_dot   ScatterMarkerSymbol = "star-triangle-up-open-dot"
	ScatterMarkerSymbol20                           ScatterMarkerSymbol = "20"
	ScatterMarkerSymbol_20                          ScatterMarkerSymbol = "20"
	ScatterMarkerSymbol_star_triangle_down          ScatterMarkerSymbol = "star-triangle-down"
	ScatterMarkerSymbol120                          ScatterMarkerSymbol = "120"
	ScatterMarkerSymbol_120                         ScatterMarkerSymbol = "120"
	ScatterMarkerSymbol_star_triangle_down_open     ScatterMarkerSymbol = "star-triangle-down-open"
	ScatterMarkerSymbol220                          ScatterMarkerSymbol = "220"
	ScatterMarkerSymbol_220                         ScatterMarkerSymbol = "220"
	ScatterMarkerSymbol_star_triangle_down_dot      ScatterMarkerSymbol = "star-triangle-down-dot"
	ScatterMarkerSymbol320                          ScatterMarkerSymbol = "320"
	ScatterMarkerSymbol_320                         ScatterMarkerSymbol = "320"
	ScatterMarkerSymbol_star_triangle_down_open_dot ScatterMarkerSymbol = "star-triangle-down-open-dot"
	ScatterMarkerSymbol21                           ScatterMarkerSymbol = "21"
	ScatterMarkerSymbol_21                          ScatterMarkerSymbol = "21"
	ScatterMarkerSymbol_star_square                 ScatterMarkerSymbol = "star-square"
	ScatterMarkerSymbol121                          ScatterMarkerSymbol = "121"
	ScatterMarkerSymbol_121                         ScatterMarkerSymbol = "121"
	ScatterMarkerSymbol_star_square_open            ScatterMarkerSymbol = "star-square-open"
	ScatterMarkerSymbol221                          ScatterMarkerSymbol = "221"
	ScatterMarkerSymbol_221                         ScatterMarkerSymbol = "221"
	ScatterMarkerSymbol_star_square_dot             ScatterMarkerSymbol = "star-square-dot"
	ScatterMarkerSymbol321                          ScatterMarkerSymbol = "321"
	ScatterMarkerSymbol_321                         ScatterMarkerSymbol = "321"
	ScatterMarkerSymbol_star_square_open_dot        ScatterMarkerSymbol = "star-square-open-dot"
	ScatterMarkerSymbol22                           ScatterMarkerSymbol = "22"
	ScatterMarkerSymbol_22                          ScatterMarkerSymbol = "22"
	ScatterMarkerSymbol_star_diamond                ScatterMarkerSymbol = "star-diamond"
	ScatterMarkerSymbol122                          ScatterMarkerSymbol = "122"
	ScatterMarkerSymbol_122                         ScatterMarkerSymbol = "122"
	ScatterMarkerSymbol_star_diamond_open           ScatterMarkerSymbol = "star-diamond-open"
	ScatterMarkerSymbol222                          ScatterMarkerSymbol = "222"
	ScatterMarkerSymbol_222                         ScatterMarkerSymbol = "222"
	ScatterMarkerSymbol_star_diamond_dot            ScatterMarkerSymbol = "star-diamond-dot"
	ScatterMarkerSymbol322                          ScatterMarkerSymbol = "322"
	ScatterMarkerSymbol_322                         ScatterMarkerSymbol = "322"
	ScatterMarkerSymbol_star_diamond_open_dot       ScatterMarkerSymbol = "star-diamond-open-dot"
	ScatterMarkerSymbol23                           ScatterMarkerSymbol = "23"
	ScatterMarkerSymbol_23                          ScatterMarkerSymbol = "23"
	ScatterMarkerSymbol_diamond_tall                ScatterMarkerSymbol = "diamond-tall"
	ScatterMarkerSymbol123                          ScatterMarkerSymbol = "123"
	ScatterMarkerSymbol_123                         ScatterMarkerSymbol = "123"
	ScatterMarkerSymbol_diamond_tall_open           ScatterMarkerSymbol = "diamond-tall-open"
	ScatterMarkerSymbol223                          ScatterMarkerSymbol = "223"
	ScatterMarkerSymbol_223                         ScatterMarkerSymbol = "223"
	ScatterMarkerSymbol_diamond_tall_dot            ScatterMarkerSymbol = "diamond-tall-dot"
	ScatterMarkerSymbol323                          ScatterMarkerSymbol = "323"
	ScatterMarkerSymbol_323                         ScatterMarkerSymbol = "323"
	ScatterMarkerSymbol_diamond_tall_open_dot       ScatterMarkerSymbol = "diamond-tall-open-dot"
	ScatterMarkerSymbol24                           ScatterMarkerSymbol = "24"
	ScatterMarkerSymbol_24                          ScatterMarkerSymbol = "24"
	ScatterMarkerSymbol_diamond_wide                ScatterMarkerSymbol = "diamond-wide"
	ScatterMarkerSymbol124                          ScatterMarkerSymbol = "124"
	ScatterMarkerSymbol_124                         ScatterMarkerSymbol = "124"
	ScatterMarkerSymbol_diamond_wide_open           ScatterMarkerSymbol = "diamond-wide-open"
	ScatterMarkerSymbol224                          ScatterMarkerSymbol = "224"
	ScatterMarkerSymbol_224                         ScatterMarkerSymbol = "224"
	ScatterMarkerSymbol_diamond_wide_dot            ScatterMarkerSymbol = "diamond-wide-dot"
	ScatterMarkerSymbol324                          ScatterMarkerSymbol = "324"
	ScatterMarkerSymbol_324                         ScatterMarkerSymbol = "324"
	ScatterMarkerSymbol_diamond_wide_open_dot       ScatterMarkerSymbol = "diamond-wide-open-dot"
	ScatterMarkerSymbol25                           ScatterMarkerSymbol = "25"
	ScatterMarkerSymbol_25                          ScatterMarkerSymbol = "25"
	ScatterMarkerSymbol_hourglass                   ScatterMarkerSymbol = "hourglass"
	ScatterMarkerSymbol125                          ScatterMarkerSymbol = "125"
	ScatterMarkerSymbol_125                         ScatterMarkerSymbol = "125"
	ScatterMarkerSymbol_hourglass_open              ScatterMarkerSymbol = "hourglass-open"
	ScatterMarkerSymbol26                           ScatterMarkerSymbol = "26"
	ScatterMarkerSymbol_26                          ScatterMarkerSymbol = "26"
	ScatterMarkerSymbol_bowtie                      ScatterMarkerSymbol = "bowtie"
	ScatterMarkerSymbol126                          ScatterMarkerSymbol = "126"
	ScatterMarkerSymbol_126                         ScatterMarkerSymbol = "126"
	ScatterMarkerSymbol_bowtie_open                 ScatterMarkerSymbol = "bowtie-open"
	ScatterMarkerSymbol27                           ScatterMarkerSymbol = "27"
	ScatterMarkerSymbol_27                          ScatterMarkerSymbol = "27"
	ScatterMarkerSymbol_circle_cross                ScatterMarkerSymbol = "circle-cross"
	ScatterMarkerSymbol127                          ScatterMarkerSymbol = "127"
	ScatterMarkerSymbol_127                         ScatterMarkerSymbol = "127"
	ScatterMarkerSymbol_circle_cross_open           ScatterMarkerSymbol = "circle-cross-open"
	ScatterMarkerSymbol28                           ScatterMarkerSymbol = "28"
	ScatterMarkerSymbol_28                          ScatterMarkerSymbol = "28"
	ScatterMarkerSymbol_circle_x                    ScatterMarkerSymbol = "circle-x"
	ScatterMarkerSymbol128                          ScatterMarkerSymbol = "128"
	ScatterMarkerSymbol_128                         ScatterMarkerSymbol = "128"
	ScatterMarkerSymbol_circle_x_open               ScatterMarkerSymbol = "circle-x-open"
	ScatterMarkerSymbol29                           ScatterMarkerSymbol = "29"
	ScatterMarkerSymbol_29                          ScatterMarkerSymbol = "29"
	ScatterMarkerSymbol_square_cross                ScatterMarkerSymbol = "square-cross"
	ScatterMarkerSymbol129                          ScatterMarkerSymbol = "129"
	ScatterMarkerSymbol_129                         ScatterMarkerSymbol = "129"
	ScatterMarkerSymbol_square_cross_open           ScatterMarkerSymbol = "square-cross-open"
	ScatterMarkerSymbol30                           ScatterMarkerSymbol = "30"
	ScatterMarkerSymbol_30                          ScatterMarkerSymbol = "30"
	ScatterMarkerSymbol_square_x                    ScatterMarkerSymbol = "square-x"
	ScatterMarkerSymbol130                          ScatterMarkerSymbol = "130"
	ScatterMarkerSymbol_130                         ScatterMarkerSymbol = "130"
	ScatterMarkerSymbol_square_x_open               ScatterMarkerSymbol = "square-x-open"
	ScatterMarkerSymbol31                           ScatterMarkerSymbol = "31"
	ScatterMarkerSymbol_31                          ScatterMarkerSymbol = "31"
	ScatterMarkerSymbol_diamond_cross               ScatterMarkerSymbol = "diamond-cross"
	ScatterMarkerSymbol131                          ScatterMarkerSymbol = "131"
	ScatterMarkerSymbol_131                         ScatterMarkerSymbol = "131"
	ScatterMarkerSymbol_diamond_cross_open          ScatterMarkerSymbol = "diamond-cross-open"
	ScatterMarkerSymbol32                           ScatterMarkerSymbol = "32"
	ScatterMarkerSymbol_32                          ScatterMarkerSymbol = "32"
	ScatterMarkerSymbol_diamond_x                   ScatterMarkerSymbol = "diamond-x"
	ScatterMarkerSymbol132                          ScatterMarkerSymbol = "132"
	ScatterMarkerSymbol_132                         ScatterMarkerSymbol = "132"
	ScatterMarkerSymbol_diamond_x_open              ScatterMarkerSymbol = "diamond-x-open"
	ScatterMarkerSymbol33                           ScatterMarkerSymbol = "33"
	ScatterMarkerSymbol_33                          ScatterMarkerSymbol = "33"
	ScatterMarkerSymbol_cross_thin                  ScatterMarkerSymbol = "cross-thin"
	ScatterMarkerSymbol133                          ScatterMarkerSymbol = "133"
	ScatterMarkerSymbol_133                         ScatterMarkerSymbol = "133"
	ScatterMarkerSymbol_cross_thin_open             ScatterMarkerSymbol = "cross-thin-open"
	ScatterMarkerSymbol34                           ScatterMarkerSymbol = "34"
	ScatterMarkerSymbol_34                          ScatterMarkerSymbol = "34"
	ScatterMarkerSymbol_x_thin                      ScatterMarkerSymbol = "x-thin"
	ScatterMarkerSymbol134                          ScatterMarkerSymbol = "134"
	ScatterMarkerSymbol_134                         ScatterMarkerSymbol = "134"
	ScatterMarkerSymbol_x_thin_open                 ScatterMarkerSymbol = "x-thin-open"
	ScatterMarkerSymbol35                           ScatterMarkerSymbol = "35"
	ScatterMarkerSymbol_35                          ScatterMarkerSymbol = "35"
	ScatterMarkerSymbol_asterisk                    ScatterMarkerSymbol = "asterisk"
	ScatterMarkerSymbol135                          ScatterMarkerSymbol = "135"
	ScatterMarkerSymbol_135                         ScatterMarkerSymbol = "135"
	ScatterMarkerSymbol_asterisk_open               ScatterMarkerSymbol = "asterisk-open"
	ScatterMarkerSymbol36                           ScatterMarkerSymbol = "36"
	ScatterMarkerSymbol_36                          ScatterMarkerSymbol = "36"
	ScatterMarkerSymbol_hash                        ScatterMarkerSymbol = "hash"
	ScatterMarkerSymbol136                          ScatterMarkerSymbol = "136"
	ScatterMarkerSymbol_136                         ScatterMarkerSymbol = "136"
	ScatterMarkerSymbol_hash_open                   ScatterMarkerSymbol = "hash-open"
	ScatterMarkerSymbol236                          ScatterMarkerSymbol = "236"
	ScatterMarkerSymbol_236                         ScatterMarkerSymbol = "236"
	ScatterMarkerSymbol_hash_dot                    ScatterMarkerSymbol = "hash-dot"
	ScatterMarkerSymbol336                          ScatterMarkerSymbol = "336"
	ScatterMarkerSymbol_336                         ScatterMarkerSymbol = "336"
	ScatterMarkerSymbol_hash_open_dot               ScatterMarkerSymbol = "hash-open-dot"
	ScatterMarkerSymbol37                           ScatterMarkerSymbol = "37"
	ScatterMarkerSymbol_37                          ScatterMarkerSymbol = "37"
	ScatterMarkerSymbol_y_up                        ScatterMarkerSymbol = "y-up"
	ScatterMarkerSymbol137                          ScatterMarkerSymbol = "137"
	ScatterMarkerSymbol_137                         ScatterMarkerSymbol = "137"
	ScatterMarkerSymbol_y_up_open                   ScatterMarkerSymbol = "y-up-open"
	ScatterMarkerSymbol38                           ScatterMarkerSymbol = "38"
	ScatterMarkerSymbol_38                          ScatterMarkerSymbol = "38"
	ScatterMarkerSymbol_y_down                      ScatterMarkerSymbol = "y-down"
	ScatterMarkerSymbol138                          ScatterMarkerSymbol = "138"
	ScatterMarkerSymbol_138                         ScatterMarkerSymbol = "138"
	ScatterMarkerSymbol_y_down_open                 ScatterMarkerSymbol = "y-down-open"
	ScatterMarkerSymbol39                           ScatterMarkerSymbol = "39"
	ScatterMarkerSymbol_39                          ScatterMarkerSymbol = "39"
	ScatterMarkerSymbol_y_left                      ScatterMarkerSymbol = "y-left"
	ScatterMarkerSymbol139                          ScatterMarkerSymbol = "139"
	ScatterMarkerSymbol_139                         ScatterMarkerSymbol = "139"
	ScatterMarkerSymbol_y_left_open                 ScatterMarkerSymbol = "y-left-open"
	ScatterMarkerSymbol40                           ScatterMarkerSymbol = "40"
	ScatterMarkerSymbol_40                          ScatterMarkerSymbol = "40"
	ScatterMarkerSymbol_y_right                     ScatterMarkerSymbol = "y-right"
	ScatterMarkerSymbol140                          ScatterMarkerSymbol = "140"
	ScatterMarkerSymbol_140                         ScatterMarkerSymbol = "140"
	ScatterMarkerSymbol_y_right_open                ScatterMarkerSymbol = "y-right-open"
	ScatterMarkerSymbol41                           ScatterMarkerSymbol = "41"
	ScatterMarkerSymbol_41                          ScatterMarkerSymbol = "41"
	ScatterMarkerSymbol_line_ew                     ScatterMarkerSymbol = "line-ew"
	ScatterMarkerSymbol141                          ScatterMarkerSymbol = "141"
	ScatterMarkerSymbol_141                         ScatterMarkerSymbol = "141"
	ScatterMarkerSymbol_line_ew_open                ScatterMarkerSymbol = "line-ew-open"
	ScatterMarkerSymbol42                           ScatterMarkerSymbol = "42"
	ScatterMarkerSymbol_42                          ScatterMarkerSymbol = "42"
	ScatterMarkerSymbol_line_ns                     ScatterMarkerSymbol = "line-ns"
	ScatterMarkerSymbol142                          ScatterMarkerSymbol = "142"
	ScatterMarkerSymbol_142                         ScatterMarkerSymbol = "142"
	ScatterMarkerSymbol_line_ns_open                ScatterMarkerSymbol = "line-ns-open"
	ScatterMarkerSymbol43                           ScatterMarkerSymbol = "43"
	ScatterMarkerSymbol_43                          ScatterMarkerSymbol = "43"
	ScatterMarkerSymbol_line_ne                     ScatterMarkerSymbol = "line-ne"
	ScatterMarkerSymbol143                          ScatterMarkerSymbol = "143"
	ScatterMarkerSymbol_143                         ScatterMarkerSymbol = "143"
	ScatterMarkerSymbol_line_ne_open                ScatterMarkerSymbol = "line-ne-open"
	ScatterMarkerSymbol44                           ScatterMarkerSymbol = "44"
	ScatterMarkerSymbol_44                          ScatterMarkerSymbol = "44"
	ScatterMarkerSymbol_line_nw                     ScatterMarkerSymbol = "line-nw"
	ScatterMarkerSymbol144                          ScatterMarkerSymbol = "144"
	ScatterMarkerSymbol_144                         ScatterMarkerSymbol = "144"
	ScatterMarkerSymbol_line_nw_open                ScatterMarkerSymbol = "line-nw-open"
	ScatterMarkerSymbol45                           ScatterMarkerSymbol = "45"
	ScatterMarkerSymbol_45                          ScatterMarkerSymbol = "45"
	ScatterMarkerSymbol_arrow_up                    ScatterMarkerSymbol = "arrow-up"
	ScatterMarkerSymbol145                          ScatterMarkerSymbol = "145"
	ScatterMarkerSymbol_145                         ScatterMarkerSymbol = "145"
	ScatterMarkerSymbol_arrow_up_open               ScatterMarkerSymbol = "arrow-up-open"
	ScatterMarkerSymbol46                           ScatterMarkerSymbol = "46"
	ScatterMarkerSymbol_46                          ScatterMarkerSymbol = "46"
	ScatterMarkerSymbol_arrow_down                  ScatterMarkerSymbol = "arrow-down"
	ScatterMarkerSymbol146                          ScatterMarkerSymbol = "146"
	ScatterMarkerSymbol_146                         ScatterMarkerSymbol = "146"
	ScatterMarkerSymbol_arrow_down_open             ScatterMarkerSymbol = "arrow-down-open"
	ScatterMarkerSymbol47                           ScatterMarkerSymbol = "47"
	ScatterMarkerSymbol_47                          ScatterMarkerSymbol = "47"
	ScatterMarkerSymbol_arrow_left                  ScatterMarkerSymbol = "arrow-left"
	ScatterMarkerSymbol147                          ScatterMarkerSymbol = "147"
	ScatterMarkerSymbol_147                         ScatterMarkerSymbol = "147"
	ScatterMarkerSymbol_arrow_left_open             ScatterMarkerSymbol = "arrow-left-open"
	ScatterMarkerSymbol48                           ScatterMarkerSymbol = "48"
	ScatterMarkerSymbol_48                          ScatterMarkerSymbol = "48"
	ScatterMarkerSymbol_arrow_right                 ScatterMarkerSymbol = "arrow-right"
	ScatterMarkerSymbol148                          ScatterMarkerSymbol = "148"
	ScatterMarkerSymbol_148                         ScatterMarkerSymbol = "148"
	ScatterMarkerSymbol_arrow_right_open            ScatterMarkerSymbol = "arrow-right-open"
	ScatterMarkerSymbol49                           ScatterMarkerSymbol = "49"
	ScatterMarkerSymbol_49                          ScatterMarkerSymbol = "49"
	ScatterMarkerSymbol_arrow_bar_up                ScatterMarkerSymbol = "arrow-bar-up"
	ScatterMarkerSymbol149                          ScatterMarkerSymbol = "149"
	ScatterMarkerSymbol_149                         ScatterMarkerSymbol = "149"
	ScatterMarkerSymbol_arrow_bar_up_open           ScatterMarkerSymbol = "arrow-bar-up-open"
	ScatterMarkerSymbol50                           ScatterMarkerSymbol = "50"
	ScatterMarkerSymbol_50                          ScatterMarkerSymbol = "50"
	ScatterMarkerSymbol_arrow_bar_down              ScatterMarkerSymbol = "arrow-bar-down"
	ScatterMarkerSymbol150                          ScatterMarkerSymbol = "150"
	ScatterMarkerSymbol_150                         ScatterMarkerSymbol = "150"
	ScatterMarkerSymbol_arrow_bar_down_open         ScatterMarkerSymbol = "arrow-bar-down-open"
	ScatterMarkerSymbol51                           ScatterMarkerSymbol = "51"
	ScatterMarkerSymbol_51                          ScatterMarkerSymbol = "51"
	ScatterMarkerSymbol_arrow_bar_left              ScatterMarkerSymbol = "arrow-bar-left"
	ScatterMarkerSymbol151                          ScatterMarkerSymbol = "151"
	ScatterMarkerSymbol_151                         ScatterMarkerSymbol = "151"
	ScatterMarkerSymbol_arrow_bar_left_open         ScatterMarkerSymbol = "arrow-bar-left-open"
	ScatterMarkerSymbol52                           ScatterMarkerSymbol = "52"
	ScatterMarkerSymbol_52                          ScatterMarkerSymbol = "52"
	ScatterMarkerSymbol_arrow_bar_right             ScatterMarkerSymbol = "arrow-bar-right"
	ScatterMarkerSymbol152                          ScatterMarkerSymbol = "152"
	ScatterMarkerSymbol_152                         ScatterMarkerSymbol = "152"
	ScatterMarkerSymbol_arrow_bar_right_open        ScatterMarkerSymbol = "arrow-bar-right-open"
)

type ScatterMode

type ScatterMode string
const (
	// Flags
	ScatterModeLines   ScatterMode = "lines"
	ScatterModeMarkers ScatterMode = "markers"
	ScatterModeText    ScatterMode = "text"
	// Extras
	ScatterModeNone ScatterMode = "none"
)

type ScatterOrientation

type ScatterOrientation string

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`.

const (
	ScatterOrientation_v ScatterOrientation = "v"
	ScatterOrientation_h ScatterOrientation = "h"
)

type ScatterSelected

type ScatterSelected struct {

	// Marker <no value> <no value>
	Marker *ScatterSelectedMarker `json:"marker,omitempty"`

	// Textfont <no value> <no value>
	Textfont *ScatterSelectedTextfont `json:"textfont,omitempty"`
}

type ScatterSelectedMarker

type ScatterSelectedMarker struct {

	// Color color Sets the marker color of selected points.
	Color String `json:"color,omitempty"`

	// Opacity number Sets the marker opacity of selected points.
	Opacity float64 `json:"opacity,omitempty"`

	// Size number Sets the marker size of selected points.
	Size float64 `json:"size,omitempty"`
}

type ScatterSelectedTextfont

type ScatterSelectedTextfont struct {

	// Color color Sets the text font color of selected points.
	Color String `json:"color,omitempty"`
}

type ScatterStackgaps

type ScatterStackgaps string

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.

const (
	ScatterStackgaps_inferzero   ScatterStackgaps = "infer zero"
	ScatterStackgaps_interpolate ScatterStackgaps = "interpolate"
)

type ScatterStream

type ScatterStream struct {

	// Maxpoints 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 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"`
}

type ScatterTextfont

type ScatterTextfont struct {

	// Color color <no value>
	Color interface{} `json:"color,omitempty"`

	// Colorsrc string Sets the source reference on Chart Studio Cloud for  color .
	Colorsrc String `json:"colorsrc,omitempty"`

	// Family string HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.
	Family interface{} `json:"family,omitempty"`

	// Familysrc string Sets the source reference on Chart Studio Cloud for  family .
	Familysrc String `json:"familysrc,omitempty"`

	// Size number <no value>
	Size interface{} `json:"size,omitempty"`

	// Sizesrc string Sets the source reference on Chart Studio Cloud for  size .
	Sizesrc String `json:"sizesrc,omitempty"`
}

type ScatterTextposition

type ScatterTextposition string

ScatterTextposition Sets the positions of the `text` elements with respects to the (x,y) coordinates.

const (
	ScatterTextposition_topleft      ScatterTextposition = "top left"
	ScatterTextposition_topcenter    ScatterTextposition = "top center"
	ScatterTextposition_topright     ScatterTextposition = "top right"
	ScatterTextposition_middleleft   ScatterTextposition = "middle left"
	ScatterTextposition_middlecenter ScatterTextposition = "middle center"
	ScatterTextposition_middleright  ScatterTextposition = "middle right"
	ScatterTextposition_bottomleft   ScatterTextposition = "bottom left"
	ScatterTextposition_bottomcenter ScatterTextposition = "bottom center"
	ScatterTextposition_bottomright  ScatterTextposition = "bottom right"
)

type ScatterTransforms

type ScatterTransforms interface{}

ScatterTransforms It's an items array and what goes inside it's... messy... check the docs Here is a hint to help you to define your own type transform

description
editType
role

type ScatterUnselected

type ScatterUnselected struct {

	// Marker <no value> <no value>
	Marker *ScatterUnselectedMarker `json:"marker,omitempty"`

	// Textfont <no value> <no value>
	Textfont *ScatterUnselectedTextfont `json:"textfont,omitempty"`
}

type ScatterUnselectedMarker

type ScatterUnselectedMarker struct {

	// Color color Sets the marker color of unselected points, applied only when a selection exists.
	Color String `json:"color,omitempty"`

	// Opacity number Sets the marker opacity of unselected points, applied only when a selection exists.
	Opacity float64 `json:"opacity,omitempty"`

	// Size number Sets the marker size of unselected points, applied only when a selection exists.
	Size float64 `json:"size,omitempty"`
}

type ScatterUnselectedTextfont

type ScatterUnselectedTextfont struct {

	// Color color Sets the text font color of unselected points, applied only when a selection exists.
	Color String `json:"color,omitempty"`
}

type ScatterVisible

type ScatterVisible interface{}

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).

var (
	ScatterVisible_True       ScatterVisible = true
	ScatterVisible_False      ScatterVisible = false
	ScatterVisible_legendonly ScatterVisible = "legendonly"
)

type ScatterXcalendar

type ScatterXcalendar string

ScatterXcalendar Sets the calendar system to use with `x` date data.

const (
	ScatterXcalendar_gregorian  ScatterXcalendar = "gregorian"
	ScatterXcalendar_chinese    ScatterXcalendar = "chinese"
	ScatterXcalendar_coptic     ScatterXcalendar = "coptic"
	ScatterXcalendar_discworld  ScatterXcalendar = "discworld"
	ScatterXcalendar_ethiopian  ScatterXcalendar = "ethiopian"
	ScatterXcalendar_hebrew     ScatterXcalendar = "hebrew"
	ScatterXcalendar_islamic    ScatterXcalendar = "islamic"
	ScatterXcalendar_julian     ScatterXcalendar = "julian"
	ScatterXcalendar_mayan      ScatterXcalendar = "mayan"
	ScatterXcalendar_nanakshahi ScatterXcalendar = "nanakshahi"
	ScatterXcalendar_nepali     ScatterXcalendar = "nepali"
	ScatterXcalendar_persian    ScatterXcalendar = "persian"
	ScatterXcalendar_jalali     ScatterXcalendar = "jalali"
	ScatterXcalendar_taiwan     ScatterXcalendar = "taiwan"
	ScatterXcalendar_thai       ScatterXcalendar = "thai"
	ScatterXcalendar_ummalqura  ScatterXcalendar = "ummalqura"
)

type ScatterXperiodalignment

type ScatterXperiodalignment string

ScatterXperiodalignment Only relevant when the axis `type` is *date*. Sets the alignment of data points on the x axis.

const (
	ScatterXperiodalignment_start  ScatterXperiodalignment = "start"
	ScatterXperiodalignment_middle ScatterXperiodalignment = "middle"
	ScatterXperiodalignment_end    ScatterXperiodalignment = "end"
)

type ScatterYcalendar

type ScatterYcalendar string

ScatterYcalendar Sets the calendar system to use with `y` date data.

const (
	ScatterYcalendar_gregorian  ScatterYcalendar = "gregorian"
	ScatterYcalendar_chinese    ScatterYcalendar = "chinese"
	ScatterYcalendar_coptic     ScatterYcalendar = "coptic"
	ScatterYcalendar_discworld  ScatterYcalendar = "discworld"
	ScatterYcalendar_ethiopian  ScatterYcalendar = "ethiopian"
	ScatterYcalendar_hebrew     ScatterYcalendar = "hebrew"
	ScatterYcalendar_islamic    ScatterYcalendar = "islamic"
	ScatterYcalendar_julian     ScatterYcalendar = "julian"
	ScatterYcalendar_mayan      ScatterYcalendar = "mayan"
	ScatterYcalendar_nanakshahi ScatterYcalendar = "nanakshahi"
	ScatterYcalendar_nepali     ScatterYcalendar = "nepali"
	ScatterYcalendar_persian    ScatterYcalendar = "persian"
	ScatterYcalendar_jalali     ScatterYcalendar = "jalali"
	ScatterYcalendar_taiwan     ScatterYcalendar = "taiwan"
	ScatterYcalendar_thai       ScatterYcalendar = "thai"
	ScatterYcalendar_ummalqura  ScatterYcalendar = "ummalqura"
)

type ScatterYperiodalignment

type ScatterYperiodalignment string

ScatterYperiodalignment Only relevant when the axis `type` is *date*. Sets the alignment of data points on the y axis.

const (
	ScatterYperiodalignment_start  ScatterYperiodalignment = "start"
	ScatterYperiodalignment_middle ScatterYperiodalignment = "middle"
	ScatterYperiodalignment_end    ScatterYperiodalignment = "end"
)

type Scattercarpet

type Scattercarpet struct {

	// Type is the type of the plot
	Type TraceType `json:"type,omitempty"`

	// A data_array Sets the a-axis coordinates.
	A interface{} `json:"a,omitempty"`

	// Asrc string Sets the source reference on Chart Studio Cloud for  a .
	Asrc String `json:"asrc,omitempty"`

	// B data_array Sets the b-axis coordinates.
	B interface{} `json:"b,omitempty"`

	// Bsrc string Sets the source reference on Chart Studio Cloud for  b .
	Bsrc String `json:"bsrc,omitempty"`

	// Carpet 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 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 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 string Sets the source reference on Chart Studio Cloud for  customdata .
	Customdatasrc String `json:"customdatasrc,omitempty"`

	// Fill 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 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 String `json:"fillcolor,omitempty"`

	// Hoverinfo 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 string Sets the source reference on Chart Studio Cloud for  hoverinfo .
	Hoverinfosrc String `json:"hoverinfosrc,omitempty"`

	// Hoverlabel <no value> <no value>
	Hoverlabel *ScattercarpetHoverlabel `json:"hoverlabel,omitempty"`

	// Hoveron 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 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 `<extra>` is displayed in the secondary box, for example "<extra>{fullData.name}</extra>". To hide the secondary box completely, use an empty tag `<extra></extra>`.
	Hovertemplate interface{} `json:"hovertemplate,omitempty"`

	// Hovertemplatesrc string Sets the source reference on Chart Studio Cloud for  hovertemplate .
	Hovertemplatesrc String `json:"hovertemplatesrc,omitempty"`

	// Hovertext 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 interface{} `json:"hovertext,omitempty"`

	// Hovertextsrc string Sets the source reference on Chart Studio Cloud for  hovertext .
	Hovertextsrc String `json:"hovertextsrc,omitempty"`

	// Ids 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 string Sets the source reference on Chart Studio Cloud for  ids .
	Idssrc String `json:"idssrc,omitempty"`

	// Legendgroup 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"`

	// Line <no value> <no value>
	Line *ScattercarpetLine `json:"line,omitempty"`

	// Marker <no value> <no value>
	Marker *ScattercarpetMarker `json:"marker,omitempty"`

	// Meta 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 string Sets the source reference on Chart Studio Cloud for  meta .
	Metasrc String `json:"metasrc,omitempty"`

	// Mode 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 string Sets the trace name. The trace name appear as the legend item and on hover.
	Name String `json:"name,omitempty"`

	// Opacity number Sets the opacity of the trace.
	Opacity float64 `json:"opacity,omitempty"`

	// Selected <no value> <no value>
	Selected *ScattercarpetSelected `json:"selected,omitempty"`

	// Selectedpoints 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 boolean Determines whether or not an item corresponding to this trace is shown in the legend.
	Showlegend Bool `json:"showlegend,omitempty"`

	// Stream <no value> <no value>
	Stream *ScattercarpetStream `json:"stream,omitempty"`

	// Text 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 interface{} `json:"text,omitempty"`

	// Textfont <no value> Sets the text font.
	Textfont *ScattercarpetTextfont `json:"textfont,omitempty"`

	// Textposition enumerated Sets the positions of the `text` elements with respects to the (x,y) coordinates.
	Textposition ScattercarpetTextposition `json:"textposition,omitempty"`

	// Textpositionsrc string Sets the source reference on Chart Studio Cloud for  textposition .
	Textpositionsrc String `json:"textpositionsrc,omitempty"`

	// Textsrc string Sets the source reference on Chart Studio Cloud for  text .
	Textsrc String `json:"textsrc,omitempty"`

	// Texttemplate 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`.
	Texttemplate interface{} `json:"texttemplate,omitempty"`

	// Texttemplatesrc string Sets the source reference on Chart Studio Cloud for  texttemplate .
	Texttemplatesrc String `json:"texttemplatesrc,omitempty"`

	// Transforms <no value> <no value>
	Transforms ScattercarpetTransforms `json:"transforms,omitempty"`

	// Uid 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 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 <no value> <no value>
	Unselected *ScattercarpetUnselected `json:"unselected,omitempty"`

	// Visible 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 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 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"`
}

Scattercarpet Plots a scatter trace on either the first carpet axis or the carpet axis with a matching `carpet` attribute.

func NewScattercarpet

func NewScattercarpet() *Scattercarpet

func (*Scattercarpet) GetType

func (this *Scattercarpet) GetType() TraceType

type ScattercarpetFill

type ScattercarpetFill string

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.

const (
	ScattercarpetFill_none   ScattercarpetFill = "none"
	ScattercarpetFill_toself ScattercarpetFill = "toself"
	ScattercarpetFill_tonext ScattercarpetFill = "tonext"
)

type ScattercarpetHoverinfo

type ScattercarpetHoverinfo string
const (
	// Flags
	ScattercarpetHoverinfoA    ScattercarpetHoverinfo = "a"
	ScattercarpetHoverinfoB    ScattercarpetHoverinfo = "b"
	ScattercarpetHoverinfoText ScattercarpetHoverinfo = "text"
	ScattercarpetHoverinfoName ScattercarpetHoverinfo = "name"
	// Extras
	ScattercarpetHoverinfoAll  ScattercarpetHoverinfo = "all"
	ScattercarpetHoverinfoNone ScattercarpetHoverinfo = "none"
	ScattercarpetHoverinfoSkip ScattercarpetHoverinfo = "skip"
)

type ScattercarpetHoverlabel

type ScattercarpetHoverlabel struct {

	// Align 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 string Sets the source reference on Chart Studio Cloud for  align .
	Alignsrc String `json:"alignsrc,omitempty"`

	// Bgcolor color Sets the background color of the hover labels for this trace
	Bgcolor interface{} `json:"bgcolor,omitempty"`

	// Bgcolorsrc string Sets the source reference on Chart Studio Cloud for  bgcolor .
	Bgcolorsrc String `json:"bgcolorsrc,omitempty"`

	// Bordercolor color Sets the border color of the hover labels for this trace.
	Bordercolor interface{} `json:"bordercolor,omitempty"`

	// Bordercolorsrc string Sets the source reference on Chart Studio Cloud for  bordercolor .
	Bordercolorsrc String `json:"bordercolorsrc,omitempty"`

	// Font <no value> Sets the font used in hover labels.
	Font *ScattercarpetHoverlabelFont `json:"font,omitempty"`

	// Namelength 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 interface{} `json:"namelength,omitempty"`

	// Namelengthsrc string Sets the source reference on Chart Studio Cloud for  namelength .
	Namelengthsrc String `json:"namelengthsrc,omitempty"`
}

type ScattercarpetHoverlabelAlign

type ScattercarpetHoverlabelAlign string

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

const (
	ScattercarpetHoverlabelAlign_left  ScattercarpetHoverlabelAlign = "left"
	ScattercarpetHoverlabelAlign_right ScattercarpetHoverlabelAlign = "right"
	ScattercarpetHoverlabelAlign_auto  ScattercarpetHoverlabelAlign = "auto"
)

type ScattercarpetHoverlabelFont

type ScattercarpetHoverlabelFont struct {

	// Color color <no value>
	Color interface{} `json:"color,omitempty"`

	// Colorsrc string Sets the source reference on Chart Studio Cloud for  color .
	Colorsrc String `json:"colorsrc,omitempty"`

	// Family string HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.
	Family interface{} `json:"family,omitempty"`

	// Familysrc string Sets the source reference on Chart Studio Cloud for  family .
	Familysrc String `json:"familysrc,omitempty"`

	// Size number <no value>
	Size interface{} `json:"size,omitempty"`

	// Sizesrc string Sets the source reference on Chart Studio Cloud for  size .
	Sizesrc String `json:"sizesrc,omitempty"`
}

type ScattercarpetHoveron

type ScattercarpetHoveron string
const (
	// Flags
	ScattercarpetHoveronPoints ScattercarpetHoveron = "points"
	ScattercarpetHoveronFills  ScattercarpetHoveron = "fills"
)

type ScattercarpetLine

type ScattercarpetLine struct {

	// Color color Sets the line color.
	Color String `json:"color,omitempty"`

	// Dash 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 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 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 number Sets the line width (in px).
	Width float64 `json:"width,omitempty"`
}

type ScattercarpetLineShape

type ScattercarpetLineShape string

ScattercarpetLineShape Determines the line shape. With *spline* the lines are drawn using spline interpolation. The other available values correspond to step-wise line shapes.

const (
	ScattercarpetLineShape_linear ScattercarpetLineShape = "linear"
	ScattercarpetLineShape_spline ScattercarpetLineShape = "spline"
)

type ScattercarpetMarker

type ScattercarpetMarker struct {

	// Autocolorscale 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 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 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 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 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 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.
	Color interface{} `json:"color,omitempty"`

	// Coloraxis 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 <no value> <no value>
	Colorbar *ScattercarpetMarkerColorbar `json:"colorbar,omitempty"`

	// Colorsrc string Sets the source reference on Chart Studio Cloud for  color .
	Colorsrc String `json:"colorsrc,omitempty"`

	// Gradient <no value> <no value>
	Gradient *ScattercarpetMarkerGradient `json:"gradient,omitempty"`

	// Line <no value> <no value>
	Line *ScattercarpetMarkerLine `json:"line,omitempty"`

	// Maxdisplayed number Sets a maximum number of points to be drawn on the graph. *0* corresponds to no limit.
	Maxdisplayed float64 `json:"maxdisplayed,omitempty"`

	// Opacity number Sets the marker opacity.
	Opacity interface{} `json:"opacity,omitempty"`

	// Opacitysrc string Sets the source reference on Chart Studio Cloud for  opacity .
	Opacitysrc String `json:"opacitysrc,omitempty"`

	// Reversescale 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 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 number Sets the marker size (in px).
	Size interface{} `json:"size,omitempty"`

	// Sizemin 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 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 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 string Sets the source reference on Chart Studio Cloud for  size .
	Sizesrc String `json:"sizesrc,omitempty"`

	// Symbol 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 string Sets the source reference on Chart Studio Cloud for  symbol .
	Symbolsrc String `json:"symbolsrc,omitempty"`
}

type ScattercarpetMarkerColorbar

type ScattercarpetMarkerColorbar struct {

	// Bgcolor color Sets the color of padded area.
	Bgcolor String `json:"bgcolor,omitempty"`

	// Bordercolor color Sets the axis line color.
	Bordercolor String `json:"bordercolor,omitempty"`

	// Borderwidth number Sets the width (in px) or the border enclosing this color bar.
	Borderwidth float64 `json:"borderwidth,omitempty"`

	// Dtick 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<f>*, where `f` is a positive number, gives ticks linearly spaced in value (but not position). For example `tick0` = 0.1, `dtick` = *L0.5* will put ticks at 0.1, 0.6, 1.1, 1.6 etc. To show powers of 10 plus small digits between, use *D1* (all digits) or *D2* (only 2 and 5). `tick0` is ignored for *D1* and *D2*. If the axis `type` is *date*, then you must convert the time to milliseconds. For example, to set the interval between ticks to one day, set `dtick` to 86400000.0. *date* also has special values *M<n>* gives ticks spaced by a number of months. `n` must be a positive integer. To set ticks on the 15th of every third month, set `tick0` to *2000-01-15* and `dtick` to *M3*. To set ticks every 4 years, set `dtick` to *M48*
	Dtick interface{} `json:"dtick,omitempty"`

	// Exponentformat 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"`

	// Len 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 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 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 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"`

	// Outlinecolor color Sets the axis line color.
	Outlinecolor String `json:"outlinecolor,omitempty"`

	// Outlinewidth number Sets the width (in px) of the axis line.
	Outlinewidth float64 `json:"outlinewidth,omitempty"`

	// Separatethousands boolean If "true", even 4-digit integers are separated
	Separatethousands Bool `json:"separatethousands,omitempty"`

	// Showexponent 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 boolean Determines whether or not the tick labels are drawn.
	Showticklabels Bool `json:"showticklabels,omitempty"`

	// Showtickprefix 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 enumerated Same as `showtickprefix` but for tick suffixes.
	Showticksuffix ScattercarpetMarkerColorbarShowticksuffix `json:"showticksuffix,omitempty"`

	// Thickness 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 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 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<f>* (see `dtick` for more info). If the axis `type` is *date*, it should be a date string, like date data. If the axis `type` is *category*, it should be a number, using the scale where each category is assigned a serial number from zero in the order it appears.
	Tick0 interface{} `json:"tick0,omitempty"`

	// Tickangle 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 color Sets the tick color.
	Tickcolor String `json:"tickcolor,omitempty"`

	// Tickfont <no value> Sets the color bar's tick label font
	Tickfont *ScattercarpetMarkerColorbarTickfont `json:"tickfont,omitempty"`

	// Tickformat 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*
	Tickformat String `json:"tickformat,omitempty"`

	// Tickformatstops <no value> <no value>
	Tickformatstops ScattercarpetMarkerColorbarTickformatstops `json:"tickformatstops,omitempty"`

	// Ticklabelposition enumerated Determines where tick labels are drawn.
	Ticklabelposition ScattercarpetMarkerColorbarTicklabelposition `json:"ticklabelposition,omitempty"`

	// Ticklen number Sets the tick length (in px).
	Ticklen float64 `json:"ticklen,omitempty"`

	// Tickmode 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 string Sets a tick label prefix.
	Tickprefix String `json:"tickprefix,omitempty"`

	// Ticks 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 string Sets a tick label suffix.
	Ticksuffix String `json:"ticksuffix,omitempty"`

	// Ticktext 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 string Sets the source reference on Chart Studio Cloud for  ticktext .
	Ticktextsrc String `json:"ticktextsrc,omitempty"`

	// Tickvals 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 string Sets the source reference on Chart Studio Cloud for  tickvals .
	Tickvalssrc String `json:"tickvalssrc,omitempty"`

	// Tickwidth number Sets the tick width (in px).
	Tickwidth float64 `json:"tickwidth,omitempty"`

	// Title <no value> <no value>
	Title *ScattercarpetMarkerColorbarTitle `json:"title,omitempty"`

	// X number Sets the x position of the color bar (in plot fraction).
	X float64 `json:"x,omitempty"`

	// Xanchor 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.
	Xanchor ScattercarpetMarkerColorbarXanchor `json:"xanchor,omitempty"`

	// Xpad number Sets the amount of padding (in px) along the x direction.
	Xpad float64 `json:"xpad,omitempty"`

	// Y number Sets the y position of the color bar (in plot fraction).
	Y float64 `json:"y,omitempty"`

	// Yanchor 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.
	Yanchor ScattercarpetMarkerColorbarYanchor `json:"yanchor,omitempty"`

	// Ypad number Sets the amount of padding (in px) along the y direction.
	Ypad float64 `json:"ypad,omitempty"`
}

type ScattercarpetMarkerColorbarExponentformat

type ScattercarpetMarkerColorbarExponentformat string

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.

const (
	ScattercarpetMarkerColorbarExponentformat_none  ScattercarpetMarkerColorbarExponentformat = "none"
	ScattercarpetMarkerColorbarExponentformat_e     ScattercarpetMarkerColorbarExponentformat = "e"
	ScattercarpetMarkerColorbarExponentformat_E     ScattercarpetMarkerColorbarExponentformat = "E"
	ScattercarpetMarkerColorbarExponentformat_power ScattercarpetMarkerColorbarExponentformat = "power"
	ScattercarpetMarkerColorbarExponentformat_SI    ScattercarpetMarkerColorbarExponentformat = "SI"
	ScattercarpetMarkerColorbarExponentformat_B     ScattercarpetMarkerColorbarExponentformat = "B"
)

type ScattercarpetMarkerColorbarLenmode

type ScattercarpetMarkerColorbarLenmode string

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.

const (
	ScattercarpetMarkerColorbarLenmode_fraction ScattercarpetMarkerColorbarLenmode = "fraction"
	ScattercarpetMarkerColorbarLenmode_pixels   ScattercarpetMarkerColorbarLenmode = "pixels"
)

type ScattercarpetMarkerColorbarShowexponent

type ScattercarpetMarkerColorbarShowexponent string

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.

const (
	ScattercarpetMarkerColorbarShowexponent_all   ScattercarpetMarkerColorbarShowexponent = "all"
	ScattercarpetMarkerColorbarShowexponent_first ScattercarpetMarkerColorbarShowexponent = "first"
	ScattercarpetMarkerColorbarShowexponent_last  ScattercarpetMarkerColorbarShowexponent = "last"
	ScattercarpetMarkerColorbarShowexponent_none  ScattercarpetMarkerColorbarShowexponent = "none"
)

type ScattercarpetMarkerColorbarShowtickprefix

type ScattercarpetMarkerColorbarShowtickprefix string

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.

const (
	ScattercarpetMarkerColorbarShowtickprefix_all   ScattercarpetMarkerColorbarShowtickprefix = "all"
	ScattercarpetMarkerColorbarShowtickprefix_first ScattercarpetMarkerColorbarShowtickprefix = "first"
	ScattercarpetMarkerColorbarShowtickprefix_last  ScattercarpetMarkerColorbarShowtickprefix = "last"
	ScattercarpetMarkerColorbarShowtickprefix_none  ScattercarpetMarkerColorbarShowtickprefix = "none"
)

type ScattercarpetMarkerColorbarShowticksuffix

type ScattercarpetMarkerColorbarShowticksuffix string

ScattercarpetMarkerColorbarShowticksuffix Same as `showtickprefix` but for tick suffixes.

const (
	ScattercarpetMarkerColorbarShowticksuffix_all   ScattercarpetMarkerColorbarShowticksuffix = "all"
	ScattercarpetMarkerColorbarShowticksuffix_first ScattercarpetMarkerColorbarShowticksuffix = "first"
	ScattercarpetMarkerColorbarShowticksuffix_last  ScattercarpetMarkerColorbarShowticksuffix = "last"
	ScattercarpetMarkerColorbarShowticksuffix_none  ScattercarpetMarkerColorbarShowticksuffix = "none"
)

type ScattercarpetMarkerColorbarThicknessmode

type ScattercarpetMarkerColorbarThicknessmode string

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.

const (
	ScattercarpetMarkerColorbarThicknessmode_fraction ScattercarpetMarkerColorbarThicknessmode = "fraction"
	ScattercarpetMarkerColorbarThicknessmode_pixels   ScattercarpetMarkerColorbarThicknessmode = "pixels"
)

type ScattercarpetMarkerColorbarTickfont

type ScattercarpetMarkerColorbarTickfont struct {

	// Color color <no value>
	Color String `json:"color,omitempty"`

	// Family string HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.
	Family String `json:"family,omitempty"`

	// Size number <no value>
	Size float64 `json:"size,omitempty"`
}

type ScattercarpetMarkerColorbarTickformatstops

type ScattercarpetMarkerColorbarTickformatstops interface{}

ScattercarpetMarkerColorbarTickformatstops It's an items array and what goes inside it's... messy... check the docs Here is a hint to help you to define your own type tickformatstop

dtickrange
editType
enabled
name
role
templateitemname
value

type ScattercarpetMarkerColorbarTicklabelposition

type ScattercarpetMarkerColorbarTicklabelposition string

ScattercarpetMarkerColorbarTicklabelposition Determines where tick labels are drawn.

const (
	ScattercarpetMarkerColorbarTicklabelposition_outside       ScattercarpetMarkerColorbarTicklabelposition = "outside"
	ScattercarpetMarkerColorbarTicklabelposition_inside        ScattercarpetMarkerColorbarTicklabelposition = "inside"
	ScattercarpetMarkerColorbarTicklabelposition_outsidetop    ScattercarpetMarkerColorbarTicklabelposition = "outside top"
	ScattercarpetMarkerColorbarTicklabelposition_insidetop     ScattercarpetMarkerColorbarTicklabelposition = "inside top"
	ScattercarpetMarkerColorbarTicklabelposition_outsidebottom ScattercarpetMarkerColorbarTicklabelposition = "outside bottom"
	ScattercarpetMarkerColorbarTicklabelposition_insidebottom  ScattercarpetMarkerColorbarTicklabelposition = "inside bottom"
)

type ScattercarpetMarkerColorbarTickmode

type ScattercarpetMarkerColorbarTickmode string

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).

const (
	ScattercarpetMarkerColorbarTickmode_auto   ScattercarpetMarkerColorbarTickmode = "auto"
	ScattercarpetMarkerColorbarTickmode_linear ScattercarpetMarkerColorbarTickmode = "linear"
	ScattercarpetMarkerColorbarTickmode_array  ScattercarpetMarkerColorbarTickmode = "array"
)

type ScattercarpetMarkerColorbarTicks

type ScattercarpetMarkerColorbarTicks string

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.

const (
	ScattercarpetMarkerColorbarTicks_outside ScattercarpetMarkerColorbarTicks = "outside"
	ScattercarpetMarkerColorbarTicks_inside  ScattercarpetMarkerColorbarTicks = "inside"
)

type ScattercarpetMarkerColorbarTitle

type ScattercarpetMarkerColorbarTitle struct {

	// Font <no value> Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.
	Font *ScattercarpetMarkerColorbarTitleFont `json:"font,omitempty"`

	// Side 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.
	Side ScattercarpetMarkerColorbarTitleSide `json:"side,omitempty"`

	// Text 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"`
}

type ScattercarpetMarkerColorbarTitleFont

type ScattercarpetMarkerColorbarTitleFont struct {

	// Color color <no value>
	Color String `json:"color,omitempty"`

	// Family string HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.
	Family String `json:"family,omitempty"`

	// Size number <no value>
	Size float64 `json:"size,omitempty"`
}

type ScattercarpetMarkerColorbarTitleSide

type ScattercarpetMarkerColorbarTitleSide string

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.

const (
	ScattercarpetMarkerColorbarTitleSide_right  ScattercarpetMarkerColorbarTitleSide = "right"
	ScattercarpetMarkerColorbarTitleSide_top    ScattercarpetMarkerColorbarTitleSide = "top"
	ScattercarpetMarkerColorbarTitleSide_bottom ScattercarpetMarkerColorbarTitleSide = "bottom"
)

type ScattercarpetMarkerColorbarXanchor

type ScattercarpetMarkerColorbarXanchor string

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.

const (
	ScattercarpetMarkerColorbarXanchor_left   ScattercarpetMarkerColorbarXanchor = "left"
	ScattercarpetMarkerColorbarXanchor_center ScattercarpetMarkerColorbarXanchor = "center"
	ScattercarpetMarkerColorbarXanchor_right  ScattercarpetMarkerColorbarXanchor = "right"
)

type ScattercarpetMarkerColorbarYanchor

type ScattercarpetMarkerColorbarYanchor string

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.

const (
	ScattercarpetMarkerColorbarYanchor_top    ScattercarpetMarkerColorbarYanchor = "top"
	ScattercarpetMarkerColorbarYanchor_middle ScattercarpetMarkerColorbarYanchor = "middle"
	ScattercarpetMarkerColorbarYanchor_bottom ScattercarpetMarkerColorbarYanchor = "bottom"
)

type ScattercarpetMarkerGradient

type ScattercarpetMarkerGradient struct {

	// Color color Sets the final color of the gradient fill: the center color for radial, the right for horizontal, or the bottom for vertical.
	Color interface{} `json:"color,omitempty"`

	// Colorsrc string Sets the source reference on Chart Studio Cloud for  color .
	Colorsrc String `json:"colorsrc,omitempty"`

	// Type enumerated Sets the type of gradient used to fill the markers
	Type ScattercarpetMarkerGradientType `json:"type,omitempty"`

	// Typesrc string Sets the source reference on Chart Studio Cloud for  type .
	Typesrc String `json:"typesrc,omitempty"`
}

type ScattercarpetMarkerGradientType

type ScattercarpetMarkerGradientType string

ScattercarpetMarkerGradientType Sets the type of gradient used to fill the markers

const (
	ScattercarpetMarkerGradientType_radial     ScattercarpetMarkerGradientType = "radial"
	ScattercarpetMarkerGradientType_horizontal ScattercarpetMarkerGradientType = "horizontal"
	ScattercarpetMarkerGradientType_vertical   ScattercarpetMarkerGradientType = "vertical"
	ScattercarpetMarkerGradientType_none       ScattercarpetMarkerGradientType = "none"
)

type ScattercarpetMarkerLine

type ScattercarpetMarkerLine struct {

	// Autocolorscale 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 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 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 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 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 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.
	Color interface{} `json:"color,omitempty"`

	// Coloraxis 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"`

	// Colorsrc string Sets the source reference on Chart Studio Cloud for  color .
	Colorsrc String `json:"colorsrc,omitempty"`

	// Reversescale 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 number Sets the width (in px) of the lines bounding the marker points.
	Width interface{} `json:"width,omitempty"`

	// Widthsrc string Sets the source reference on Chart Studio Cloud for  width .
	Widthsrc String `json:"widthsrc,omitempty"`
}

type ScattercarpetMarkerSizemode

type ScattercarpetMarkerSizemode string

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.

const (
	ScattercarpetMarkerSizemode_diameter ScattercarpetMarkerSizemode = "diameter"
	ScattercarpetMarkerSizemode_area     ScattercarpetMarkerSizemode = "area"
)

type ScattercarpetMarkerSymbol

type ScattercarpetMarkerSymbol string

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.

const (
	ScattercarpetMarkerSymbol0                            ScattercarpetMarkerSymbol = "0"
	ScattercarpetMarkerSymbol_0                           ScattercarpetMarkerSymbol = "0"
	ScattercarpetMarkerSymbol_circle                      ScattercarpetMarkerSymbol = "circle"
	ScattercarpetMarkerSymbol100                          ScattercarpetMarkerSymbol = "100"
	ScattercarpetMarkerSymbol_100                         ScattercarpetMarkerSymbol = "100"
	ScattercarpetMarkerSymbol_circle_open                 ScattercarpetMarkerSymbol = "circle-open"
	ScattercarpetMarkerSymbol200                          ScattercarpetMarkerSymbol = "200"
	ScattercarpetMarkerSymbol_200                         ScattercarpetMarkerSymbol = "200"
	ScattercarpetMarkerSymbol_circle_dot                  ScattercarpetMarkerSymbol = "circle-dot"
	ScattercarpetMarkerSymbol300                          ScattercarpetMarkerSymbol = "300"
	ScattercarpetMarkerSymbol_300                         ScattercarpetMarkerSymbol = "300"
	ScattercarpetMarkerSymbol_circle_open_dot             ScattercarpetMarkerSymbol = "circle-open-dot"
	ScattercarpetMarkerSymbol1                            ScattercarpetMarkerSymbol = "1"
	ScattercarpetMarkerSymbol_1                           ScattercarpetMarkerSymbol = "1"
	ScattercarpetMarkerSymbol_square                      ScattercarpetMarkerSymbol = "square"
	ScattercarpetMarkerSymbol101                          ScattercarpetMarkerSymbol = "101"
	ScattercarpetMarkerSymbol_101                         ScattercarpetMarkerSymbol = "101"
	ScattercarpetMarkerSymbol_square_open                 ScattercarpetMarkerSymbol = "square-open"
	ScattercarpetMarkerSymbol201                          ScattercarpetMarkerSymbol = "201"
	ScattercarpetMarkerSymbol_201                         ScattercarpetMarkerSymbol = "201"
	ScattercarpetMarkerSymbol_square_dot                  ScattercarpetMarkerSymbol = "square-dot"
	ScattercarpetMarkerSymbol301                          ScattercarpetMarkerSymbol = "301"
	ScattercarpetMarkerSymbol_301                         ScattercarpetMarkerSymbol = "301"
	ScattercarpetMarkerSymbol_square_open_dot             ScattercarpetMarkerSymbol = "square-open-dot"
	ScattercarpetMarkerSymbol2                            ScattercarpetMarkerSymbol = "2"
	ScattercarpetMarkerSymbol_2                           ScattercarpetMarkerSymbol = "2"
	ScattercarpetMarkerSymbol_diamond                     ScattercarpetMarkerSymbol = "diamond"
	ScattercarpetMarkerSymbol102                          ScattercarpetMarkerSymbol = "102"
	ScattercarpetMarkerSymbol_102                         ScattercarpetMarkerSymbol = "102"
	ScattercarpetMarkerSymbol_diamond_open                ScattercarpetMarkerSymbol = "diamond-open"
	ScattercarpetMarkerSymbol202                          ScattercarpetMarkerSymbol = "202"
	ScattercarpetMarkerSymbol_202                         ScattercarpetMarkerSymbol = "202"
	ScattercarpetMarkerSymbol_diamond_dot                 ScattercarpetMarkerSymbol = "diamond-dot"
	ScattercarpetMarkerSymbol302                          ScattercarpetMarkerSymbol = "302"
	ScattercarpetMarkerSymbol_302                         ScattercarpetMarkerSymbol = "302"
	ScattercarpetMarkerSymbol_diamond_open_dot            ScattercarpetMarkerSymbol = "diamond-open-dot"
	ScattercarpetMarkerSymbol3                            ScattercarpetMarkerSymbol = "3"
	ScattercarpetMarkerSymbol_3                           ScattercarpetMarkerSymbol = "3"
	ScattercarpetMarkerSymbol_cross                       ScattercarpetMarkerSymbol = "cross"
	ScattercarpetMarkerSymbol103                          ScattercarpetMarkerSymbol = "103"
	ScattercarpetMarkerSymbol_103                         ScattercarpetMarkerSymbol = "103"
	ScattercarpetMarkerSymbol_cross_open                  ScattercarpetMarkerSymbol = "cross-open"
	ScattercarpetMarkerSymbol203                          ScattercarpetMarkerSymbol = "203"
	ScattercarpetMarkerSymbol_203                         ScattercarpetMarkerSymbol = "203"
	ScattercarpetMarkerSymbol_cross_dot                   ScattercarpetMarkerSymbol = "cross-dot"
	ScattercarpetMarkerSymbol303                          ScattercarpetMarkerSymbol = "303"
	ScattercarpetMarkerSymbol_303                         ScattercarpetMarkerSymbol = "303"
	ScattercarpetMarkerSymbol_cross_open_dot              ScattercarpetMarkerSymbol = "cross-open-dot"
	ScattercarpetMarkerSymbol4                            ScattercarpetMarkerSymbol = "4"
	ScattercarpetMarkerSymbol_4                           ScattercarpetMarkerSymbol = "4"
	ScattercarpetMarkerSymbol_x                           ScattercarpetMarkerSymbol = "x"
	ScattercarpetMarkerSymbol104                          ScattercarpetMarkerSymbol = "104"
	ScattercarpetMarkerSymbol_104                         ScattercarpetMarkerSymbol = "104"
	ScattercarpetMarkerSymbol_x_open                      ScattercarpetMarkerSymbol = "x-open"
	ScattercarpetMarkerSymbol204                          ScattercarpetMarkerSymbol = "204"
	ScattercarpetMarkerSymbol_204                         ScattercarpetMarkerSymbol = "204"
	ScattercarpetMarkerSymbol_x_dot                       ScattercarpetMarkerSymbol = "x-dot"
	ScattercarpetMarkerSymbol304                          ScattercarpetMarkerSymbol = "304"
	ScattercarpetMarkerSymbol_304                         ScattercarpetMarkerSymbol = "304"
	ScattercarpetMarkerSymbol_x_open_dot                  ScattercarpetMarkerSymbol = "x-open-dot"
	ScattercarpetMarkerSymbol5                            ScattercarpetMarkerSymbol = "5"
	ScattercarpetMarkerSymbol_5                           ScattercarpetMarkerSymbol = "5"
	ScattercarpetMarkerSymbol_triangle_up                 ScattercarpetMarkerSymbol = "triangle-up"
	ScattercarpetMarkerSymbol105                          ScattercarpetMarkerSymbol = "105"
	ScattercarpetMarkerSymbol_105                         ScattercarpetMarkerSymbol = "105"
	ScattercarpetMarkerSymbol_triangle_up_open            ScattercarpetMarkerSymbol = "triangle-up-open"
	ScattercarpetMarkerSymbol205                          ScattercarpetMarkerSymbol = "205"
	ScattercarpetMarkerSymbol_205                         ScattercarpetMarkerSymbol = "205"
	ScattercarpetMarkerSymbol_triangle_up_dot             ScattercarpetMarkerSymbol = "triangle-up-dot"
	ScattercarpetMarkerSymbol305                          ScattercarpetMarkerSymbol = "305"
	ScattercarpetMarkerSymbol_305                         ScattercarpetMarkerSymbol = "305"
	ScattercarpetMarkerSymbol_triangle_up_open_dot        ScattercarpetMarkerSymbol = "triangle-up-open-dot"
	ScattercarpetMarkerSymbol6                            ScattercarpetMarkerSymbol = "6"
	ScattercarpetMarkerSymbol_6                           ScattercarpetMarkerSymbol = "6"
	ScattercarpetMarkerSymbol_triangle_down               ScattercarpetMarkerSymbol = "triangle-down"
	ScattercarpetMarkerSymbol106                          ScattercarpetMarkerSymbol = "106"
	ScattercarpetMarkerSymbol_106                         ScattercarpetMarkerSymbol = "106"
	ScattercarpetMarkerSymbol_triangle_down_open          ScattercarpetMarkerSymbol = "triangle-down-open"
	ScattercarpetMarkerSymbol206                          ScattercarpetMarkerSymbol = "206"
	ScattercarpetMarkerSymbol_206                         ScattercarpetMarkerSymbol = "206"
	ScattercarpetMarkerSymbol_triangle_down_dot           ScattercarpetMarkerSymbol = "triangle-down-dot"
	ScattercarpetMarkerSymbol306                          ScattercarpetMarkerSymbol = "306"
	ScattercarpetMarkerSymbol_306                         ScattercarpetMarkerSymbol = "306"
	ScattercarpetMarkerSymbol_triangle_down_open_dot      ScattercarpetMarkerSymbol = "triangle-down-open-dot"
	ScattercarpetMarkerSymbol7                            ScattercarpetMarkerSymbol = "7"
	ScattercarpetMarkerSymbol_7                           ScattercarpetMarkerSymbol = "7"
	ScattercarpetMarkerSymbol_triangle_left               ScattercarpetMarkerSymbol = "triangle-left"
	ScattercarpetMarkerSymbol107                          ScattercarpetMarkerSymbol = "107"
	ScattercarpetMarkerSymbol_107                         ScattercarpetMarkerSymbol = "107"
	ScattercarpetMarkerSymbol_triangle_left_open          ScattercarpetMarkerSymbol = "triangle-left-open"
	ScattercarpetMarkerSymbol207                          ScattercarpetMarkerSymbol = "207"
	ScattercarpetMarkerSymbol_207                         ScattercarpetMarkerSymbol = "207"
	ScattercarpetMarkerSymbol_triangle_left_dot           ScattercarpetMarkerSymbol = "triangle-left-dot"
	ScattercarpetMarkerSymbol307                          ScattercarpetMarkerSymbol = "307"
	ScattercarpetMarkerSymbol_307                         ScattercarpetMarkerSymbol = "307"
	ScattercarpetMarkerSymbol_triangle_left_open_dot      ScattercarpetMarkerSymbol = "triangle-left-open-dot"
	ScattercarpetMarkerSymbol8                            ScattercarpetMarkerSymbol = "8"
	ScattercarpetMarkerSymbol_8                           ScattercarpetMarkerSymbol = "8"
	ScattercarpetMarkerSymbol_triangle_right              ScattercarpetMarkerSymbol = "triangle-right"
	ScattercarpetMarkerSymbol108                          ScattercarpetMarkerSymbol = "108"
	ScattercarpetMarkerSymbol_108                         ScattercarpetMarkerSymbol = "108"
	ScattercarpetMarkerSymbol_triangle_right_open         ScattercarpetMarkerSymbol = "triangle-right-open"
	ScattercarpetMarkerSymbol208                          ScattercarpetMarkerSymbol = "208"
	ScattercarpetMarkerSymbol_208                         ScattercarpetMarkerSymbol = "208"
	ScattercarpetMarkerSymbol_triangle_right_dot          ScattercarpetMarkerSymbol = "triangle-right-dot"
	ScattercarpetMarkerSymbol308                          ScattercarpetMarkerSymbol = "308"
	ScattercarpetMarkerSymbol_308                         ScattercarpetMarkerSymbol = "308"
	ScattercarpetMarkerSymbol_triangle_right_open_dot     ScattercarpetMarkerSymbol = "triangle-right-open-dot"
	ScattercarpetMarkerSymbol9                            ScattercarpetMarkerSymbol = "9"
	ScattercarpetMarkerSymbol_9                           ScattercarpetMarkerSymbol = "9"
	ScattercarpetMarkerSymbol_triangle_ne                 ScattercarpetMarkerSymbol = "triangle-ne"
	ScattercarpetMarkerSymbol109                          ScattercarpetMarkerSymbol = "109"
	ScattercarpetMarkerSymbol_109                         ScattercarpetMarkerSymbol = "109"
	ScattercarpetMarkerSymbol_triangle_ne_open            ScattercarpetMarkerSymbol = "triangle-ne-open"
	ScattercarpetMarkerSymbol209                          ScattercarpetMarkerSymbol = "209"
	ScattercarpetMarkerSymbol_209                         ScattercarpetMarkerSymbol = "209"
	ScattercarpetMarkerSymbol_triangle_ne_dot             ScattercarpetMarkerSymbol = "triangle-ne-dot"
	ScattercarpetMarkerSymbol309                          ScattercarpetMarkerSymbol = "309"
	ScattercarpetMarkerSymbol_309                         ScattercarpetMarkerSymbol = "309"
	ScattercarpetMarkerSymbol_triangle_ne_open_dot        ScattercarpetMarkerSymbol = "triangle-ne-open-dot"
	ScattercarpetMarkerSymbol10                           ScattercarpetMarkerSymbol = "10"
	ScattercarpetMarkerSymbol_10                          ScattercarpetMarkerSymbol = "10"
	ScattercarpetMarkerSymbol_triangle_se                 ScattercarpetMarkerSymbol = "triangle-se"
	ScattercarpetMarkerSymbol110                          ScattercarpetMarkerSymbol = "110"
	ScattercarpetMarkerSymbol_110                         ScattercarpetMarkerSymbol = "110"
	ScattercarpetMarkerSymbol_triangle_se_open            ScattercarpetMarkerSymbol = "triangle-se-open"
	ScattercarpetMarkerSymbol210                          ScattercarpetMarkerSymbol = "210"
	ScattercarpetMarkerSymbol_210                         ScattercarpetMarkerSymbol = "210"
	ScattercarpetMarkerSymbol_triangle_se_dot             ScattercarpetMarkerSymbol = "triangle-se-dot"
	ScattercarpetMarkerSymbol310                          ScattercarpetMarkerSymbol = "310"
	ScattercarpetMarkerSymbol_310                         ScattercarpetMarkerSymbol = "310"
	ScattercarpetMarkerSymbol_triangle_se_open_dot        ScattercarpetMarkerSymbol = "triangle-se-open-dot"
	ScattercarpetMarkerSymbol11                           ScattercarpetMarkerSymbol = "11"
	ScattercarpetMarkerSymbol_11                          ScattercarpetMarkerSymbol = "11"
	ScattercarpetMarkerSymbol_triangle_sw                 ScattercarpetMarkerSymbol = "triangle-sw"
	ScattercarpetMarkerSymbol111                          ScattercarpetMarkerSymbol = "111"
	ScattercarpetMarkerSymbol_111                         ScattercarpetMarkerSymbol = "111"
	ScattercarpetMarkerSymbol_triangle_sw_open            ScattercarpetMarkerSymbol = "triangle-sw-open"
	ScattercarpetMarkerSymbol211                          ScattercarpetMarkerSymbol = "211"
	ScattercarpetMarkerSymbol_211                         ScattercarpetMarkerSymbol = "211"
	ScattercarpetMarkerSymbol_triangle_sw_dot             ScattercarpetMarkerSymbol = "triangle-sw-dot"
	ScattercarpetMarkerSymbol311                          ScattercarpetMarkerSymbol = "311"
	ScattercarpetMarkerSymbol_311                         ScattercarpetMarkerSymbol = "311"
	ScattercarpetMarkerSymbol_triangle_sw_open_dot        ScattercarpetMarkerSymbol = "triangle-sw-open-dot"
	ScattercarpetMarkerSymbol12                           ScattercarpetMarkerSymbol = "12"
	ScattercarpetMarkerSymbol_12                          ScattercarpetMarkerSymbol = "12"
	ScattercarpetMarkerSymbol_triangle_nw                 ScattercarpetMarkerSymbol = "triangle-nw"
	ScattercarpetMarkerSymbol112                          ScattercarpetMarkerSymbol = "112"
	ScattercarpetMarkerSymbol_112                         ScattercarpetMarkerSymbol = "112"
	ScattercarpetMarkerSymbol_triangle_nw_open            ScattercarpetMarkerSymbol = "triangle-nw-open"
	ScattercarpetMarkerSymbol212                          ScattercarpetMarkerSymbol = "212"
	ScattercarpetMarkerSymbol_212                         ScattercarpetMarkerSymbol = "212"
	ScattercarpetMarkerSymbol_triangle_nw_dot             ScattercarpetMarkerSymbol = "triangle-nw-dot"
	ScattercarpetMarkerSymbol312                          ScattercarpetMarkerSymbol = "312"
	ScattercarpetMarkerSymbol_312                         ScattercarpetMarkerSymbol = "312"
	ScattercarpetMarkerSymbol_triangle_nw_open_dot        ScattercarpetMarkerSymbol = "triangle-nw-open-dot"
	ScattercarpetMarkerSymbol13                           ScattercarpetMarkerSymbol = "13"
	ScattercarpetMarkerSymbol_13                          ScattercarpetMarkerSymbol = "13"
	ScattercarpetMarkerSymbol_pentagon                    ScattercarpetMarkerSymbol = "pentagon"
	ScattercarpetMarkerSymbol113                          ScattercarpetMarkerSymbol = "113"
	ScattercarpetMarkerSymbol_113                         ScattercarpetMarkerSymbol = "113"
	ScattercarpetMarkerSymbol_pentagon_open               ScattercarpetMarkerSymbol = "pentagon-open"
	ScattercarpetMarkerSymbol213                          ScattercarpetMarkerSymbol = "213"
	ScattercarpetMarkerSymbol_213                         ScattercarpetMarkerSymbol = "213"
	ScattercarpetMarkerSymbol_pentagon_dot                ScattercarpetMarkerSymbol = "pentagon-dot"
	ScattercarpetMarkerSymbol313                          ScattercarpetMarkerSymbol = "313"
	ScattercarpetMarkerSymbol_313                         ScattercarpetMarkerSymbol = "313"
	ScattercarpetMarkerSymbol_pentagon_open_dot           ScattercarpetMarkerSymbol = "pentagon-open-dot"
	ScattercarpetMarkerSymbol14                           ScattercarpetMarkerSymbol = "14"
	ScattercarpetMarkerSymbol_14                          ScattercarpetMarkerSymbol = "14"
	ScattercarpetMarkerSymbol_hexagon                     ScattercarpetMarkerSymbol = "hexagon"
	ScattercarpetMarkerSymbol114                          ScattercarpetMarkerSymbol = "114"
	ScattercarpetMarkerSymbol_114                         ScattercarpetMarkerSymbol = "114"
	ScattercarpetMarkerSymbol_hexagon_open                ScattercarpetMarkerSymbol = "hexagon-open"
	ScattercarpetMarkerSymbol214                          ScattercarpetMarkerSymbol = "214"
	ScattercarpetMarkerSymbol_214                         ScattercarpetMarkerSymbol = "214"
	ScattercarpetMarkerSymbol_hexagon_dot                 ScattercarpetMarkerSymbol = "hexagon-dot"
	ScattercarpetMarkerSymbol314                          ScattercarpetMarkerSymbol = "314"
	ScattercarpetMarkerSymbol_314                         ScattercarpetMarkerSymbol = "314"
	ScattercarpetMarkerSymbol_hexagon_open_dot            ScattercarpetMarkerSymbol = "hexagon-open-dot"
	ScattercarpetMarkerSymbol15                           ScattercarpetMarkerSymbol = "15"
	ScattercarpetMarkerSymbol_15                          ScattercarpetMarkerSymbol = "15"
	ScattercarpetMarkerSymbol_hexagon2                    ScattercarpetMarkerSymbol = "hexagon2"
	ScattercarpetMarkerSymbol115                          ScattercarpetMarkerSymbol = "115"
	ScattercarpetMarkerSymbol_115                         ScattercarpetMarkerSymbol = "115"
	ScattercarpetMarkerSymbol_hexagon2_open               ScattercarpetMarkerSymbol = "hexagon2-open"
	ScattercarpetMarkerSymbol215                          ScattercarpetMarkerSymbol = "215"
	ScattercarpetMarkerSymbol_215                         ScattercarpetMarkerSymbol = "215"
	ScattercarpetMarkerSymbol_hexagon2_dot                ScattercarpetMarkerSymbol = "hexagon2-dot"
	ScattercarpetMarkerSymbol315                          ScattercarpetMarkerSymbol = "315"
	ScattercarpetMarkerSymbol_315                         ScattercarpetMarkerSymbol = "315"
	ScattercarpetMarkerSymbol_hexagon2_open_dot           ScattercarpetMarkerSymbol = "hexagon2-open-dot"
	ScattercarpetMarkerSymbol16                           ScattercarpetMarkerSymbol = "16"
	ScattercarpetMarkerSymbol_16                          ScattercarpetMarkerSymbol = "16"
	ScattercarpetMarkerSymbol_octagon                     ScattercarpetMarkerSymbol = "octagon"
	ScattercarpetMarkerSymbol116                          ScattercarpetMarkerSymbol = "116"
	ScattercarpetMarkerSymbol_116                         ScattercarpetMarkerSymbol = "116"
	ScattercarpetMarkerSymbol_octagon_open                ScattercarpetMarkerSymbol = "octagon-open"
	ScattercarpetMarkerSymbol216                          ScattercarpetMarkerSymbol = "216"
	ScattercarpetMarkerSymbol_216                         ScattercarpetMarkerSymbol = "216"
	ScattercarpetMarkerSymbol_octagon_dot                 ScattercarpetMarkerSymbol = "octagon-dot"
	ScattercarpetMarkerSymbol316                          ScattercarpetMarkerSymbol = "316"
	ScattercarpetMarkerSymbol_316                         ScattercarpetMarkerSymbol = "316"
	ScattercarpetMarkerSymbol_octagon_open_dot            ScattercarpetMarkerSymbol = "octagon-open-dot"
	ScattercarpetMarkerSymbol17                           ScattercarpetMarkerSymbol = "17"
	ScattercarpetMarkerSymbol_17                          ScattercarpetMarkerSymbol = "17"
	ScattercarpetMarkerSymbol_star                        ScattercarpetMarkerSymbol = "star"
	ScattercarpetMarkerSymbol117                          ScattercarpetMarkerSymbol = "117"
	ScattercarpetMarkerSymbol_117                         ScattercarpetMarkerSymbol = "117"
	ScattercarpetMarkerSymbol_star_open                   ScattercarpetMarkerSymbol = "star-open"
	ScattercarpetMarkerSymbol217                          ScattercarpetMarkerSymbol = "217"
	ScattercarpetMarkerSymbol_217                         ScattercarpetMarkerSymbol = "217"
	ScattercarpetMarkerSymbol_star_dot                    ScattercarpetMarkerSymbol = "star-dot"
	ScattercarpetMarkerSymbol317                          ScattercarpetMarkerSymbol = "317"
	ScattercarpetMarkerSymbol_317                         ScattercarpetMarkerSymbol = "317"
	ScattercarpetMarkerSymbol_star_open_dot               ScattercarpetMarkerSymbol = "star-open-dot"
	ScattercarpetMarkerSymbol18                           ScattercarpetMarkerSymbol = "18"
	ScattercarpetMarkerSymbol_18                          ScattercarpetMarkerSymbol = "18"
	ScattercarpetMarkerSymbol_hexagram                    ScattercarpetMarkerSymbol = "hexagram"
	ScattercarpetMarkerSymbol118                          ScattercarpetMarkerSymbol = "118"
	ScattercarpetMarkerSymbol_118                         ScattercarpetMarkerSymbol = "118"
	ScattercarpetMarkerSymbol_hexagram_open               ScattercarpetMarkerSymbol = "hexagram-open"
	ScattercarpetMarkerSymbol218                          ScattercarpetMarkerSymbol = "218"
	ScattercarpetMarkerSymbol_218                         ScattercarpetMarkerSymbol = "218"
	ScattercarpetMarkerSymbol_hexagram_dot                ScattercarpetMarkerSymbol = "hexagram-dot"
	ScattercarpetMarkerSymbol318                          ScattercarpetMarkerSymbol = "318"
	ScattercarpetMarkerSymbol_318                         ScattercarpetMarkerSymbol = "318"
	ScattercarpetMarkerSymbol_hexagram_open_dot           ScattercarpetMarkerSymbol = "hexagram-open-dot"
	ScattercarpetMarkerSymbol19                           ScattercarpetMarkerSymbol = "19"
	ScattercarpetMarkerSymbol_19                          ScattercarpetMarkerSymbol = "19"
	ScattercarpetMarkerSymbol_star_triangle_up            ScattercarpetMarkerSymbol = "star-triangle-up"
	ScattercarpetMarkerSymbol119                          ScattercarpetMarkerSymbol = "119"
	ScattercarpetMarkerSymbol_119                         ScattercarpetMarkerSymbol = "119"
	ScattercarpetMarkerSymbol_star_triangle_up_open       ScattercarpetMarkerSymbol = "star-triangle-up-open"
	ScattercarpetMarkerSymbol219                          ScattercarpetMarkerSymbol = "219"
	ScattercarpetMarkerSymbol_219                         ScattercarpetMarkerSymbol = "219"
	ScattercarpetMarkerSymbol_star_triangle_up_dot        ScattercarpetMarkerSymbol = "star-triangle-up-dot"
	ScattercarpetMarkerSymbol319                          ScattercarpetMarkerSymbol = "319"
	ScattercarpetMarkerSymbol_319                         ScattercarpetMarkerSymbol = "319"
	ScattercarpetMarkerSymbol_star_triangle_up_open_dot   ScattercarpetMarkerSymbol = "star-triangle-up-open-dot"
	ScattercarpetMarkerSymbol20                           ScattercarpetMarkerSymbol = "20"
	ScattercarpetMarkerSymbol_20                          ScattercarpetMarkerSymbol = "20"
	ScattercarpetMarkerSymbol_star_triangle_down          ScattercarpetMarkerSymbol = "star-triangle-down"
	ScattercarpetMarkerSymbol120                          ScattercarpetMarkerSymbol = "120"
	ScattercarpetMarkerSymbol_120                         ScattercarpetMarkerSymbol = "120"
	ScattercarpetMarkerSymbol_star_triangle_down_open     ScattercarpetMarkerSymbol = "star-triangle-down-open"
	ScattercarpetMarkerSymbol220                          ScattercarpetMarkerSymbol = "220"
	ScattercarpetMarkerSymbol_220                         ScattercarpetMarkerSymbol = "220"
	ScattercarpetMarkerSymbol_star_triangle_down_dot      ScattercarpetMarkerSymbol = "star-triangle-down-dot"
	ScattercarpetMarkerSymbol320                          ScattercarpetMarkerSymbol = "320"
	ScattercarpetMarkerSymbol_320                         ScattercarpetMarkerSymbol = "320"
	ScattercarpetMarkerSymbol_star_triangle_down_open_dot ScattercarpetMarkerSymbol = "star-triangle-down-open-dot"
	ScattercarpetMarkerSymbol21                           ScattercarpetMarkerSymbol = "21"
	ScattercarpetMarkerSymbol_21                          ScattercarpetMarkerSymbol = "21"
	ScattercarpetMarkerSymbol_star_square                 ScattercarpetMarkerSymbol = "star-square"
	ScattercarpetMarkerSymbol121                          ScattercarpetMarkerSymbol = "121"
	ScattercarpetMarkerSymbol_121                         ScattercarpetMarkerSymbol = "121"
	ScattercarpetMarkerSymbol_star_square_open            ScattercarpetMarkerSymbol = "star-square-open"
	ScattercarpetMarkerSymbol221                          ScattercarpetMarkerSymbol = "221"
	ScattercarpetMarkerSymbol_221                         ScattercarpetMarkerSymbol = "221"
	ScattercarpetMarkerSymbol_star_square_dot             ScattercarpetMarkerSymbol = "star-square-dot"
	ScattercarpetMarkerSymbol321                          ScattercarpetMarkerSymbol = "321"
	ScattercarpetMarkerSymbol_321                         ScattercarpetMarkerSymbol = "321"
	ScattercarpetMarkerSymbol_star_square_open_dot        ScattercarpetMarkerSymbol = "star-square-open-dot"
	ScattercarpetMarkerSymbol22                           ScattercarpetMarkerSymbol = "22"
	ScattercarpetMarkerSymbol_22                          ScattercarpetMarkerSymbol = "22"
	ScattercarpetMarkerSymbol_star_diamond                ScattercarpetMarkerSymbol = "star-diamond"
	ScattercarpetMarkerSymbol122                          ScattercarpetMarkerSymbol = "122"
	ScattercarpetMarkerSymbol_122                         ScattercarpetMarkerSymbol = "122"
	ScattercarpetMarkerSymbol_star_diamond_open           ScattercarpetMarkerSymbol = "star-diamond-open"
	ScattercarpetMarkerSymbol222                          ScattercarpetMarkerSymbol = "222"
	ScattercarpetMarkerSymbol_222                         ScattercarpetMarkerSymbol = "222"
	ScattercarpetMarkerSymbol_star_diamond_dot            ScattercarpetMarkerSymbol = "star-diamond-dot"
	ScattercarpetMarkerSymbol322                          ScattercarpetMarkerSymbol = "322"
	ScattercarpetMarkerSymbol_322                         ScattercarpetMarkerSymbol = "322"
	ScattercarpetMarkerSymbol_star_diamond_open_dot       ScattercarpetMarkerSymbol = "star-diamond-open-dot"
	ScattercarpetMarkerSymbol23                           ScattercarpetMarkerSymbol = "23"
	ScattercarpetMarkerSymbol_23                          ScattercarpetMarkerSymbol = "23"
	ScattercarpetMarkerSymbol_diamond_tall                ScattercarpetMarkerSymbol = "diamond-tall"
	ScattercarpetMarkerSymbol123                          ScattercarpetMarkerSymbol = "123"
	ScattercarpetMarkerSymbol_123                         ScattercarpetMarkerSymbol = "123"
	ScattercarpetMarkerSymbol_diamond_tall_open           ScattercarpetMarkerSymbol = "diamond-tall-open"
	ScattercarpetMarkerSymbol223                          ScattercarpetMarkerSymbol = "223"
	ScattercarpetMarkerSymbol_223                         ScattercarpetMarkerSymbol = "223"
	ScattercarpetMarkerSymbol_diamond_tall_dot            ScattercarpetMarkerSymbol = "diamond-tall-dot"
	ScattercarpetMarkerSymbol323                          ScattercarpetMarkerSymbol = "323"
	ScattercarpetMarkerSymbol_323                         ScattercarpetMarkerSymbol = "323"
	ScattercarpetMarkerSymbol_diamond_tall_open_dot       ScattercarpetMarkerSymbol = "diamond-tall-open-dot"
	ScattercarpetMarkerSymbol24                           ScattercarpetMarkerSymbol = "24"
	ScattercarpetMarkerSymbol_24                          ScattercarpetMarkerSymbol = "24"
	ScattercarpetMarkerSymbol_diamond_wide                ScattercarpetMarkerSymbol = "diamond-wide"
	ScattercarpetMarkerSymbol124                          ScattercarpetMarkerSymbol = "124"
	ScattercarpetMarkerSymbol_124                         ScattercarpetMarkerSymbol = "124"
	ScattercarpetMarkerSymbol_diamond_wide_open           ScattercarpetMarkerSymbol = "diamond-wide-open"
	ScattercarpetMarkerSymbol224                          ScattercarpetMarkerSymbol = "224"
	ScattercarpetMarkerSymbol_224                         ScattercarpetMarkerSymbol = "224"
	ScattercarpetMarkerSymbol_diamond_wide_dot            ScattercarpetMarkerSymbol = "diamond-wide-dot"
	ScattercarpetMarkerSymbol324                          ScattercarpetMarkerSymbol = "324"
	ScattercarpetMarkerSymbol_324                         ScattercarpetMarkerSymbol = "324"
	ScattercarpetMarkerSymbol_diamond_wide_open_dot       ScattercarpetMarkerSymbol = "diamond-wide-open-dot"
	ScattercarpetMarkerSymbol25                           ScattercarpetMarkerSymbol = "25"
	ScattercarpetMarkerSymbol_25                          ScattercarpetMarkerSymbol = "25"
	ScattercarpetMarkerSymbol_hourglass                   ScattercarpetMarkerSymbol = "hourglass"
	ScattercarpetMarkerSymbol125                          ScattercarpetMarkerSymbol = "125"
	ScattercarpetMarkerSymbol_125                         ScattercarpetMarkerSymbol = "125"
	ScattercarpetMarkerSymbol_hourglass_open              ScattercarpetMarkerSymbol = "hourglass-open"
	ScattercarpetMarkerSymbol26                           ScattercarpetMarkerSymbol = "26"
	ScattercarpetMarkerSymbol_26                          ScattercarpetMarkerSymbol = "26"
	ScattercarpetMarkerSymbol_bowtie                      ScattercarpetMarkerSymbol = "bowtie"
	ScattercarpetMarkerSymbol126                          ScattercarpetMarkerSymbol = "126"
	ScattercarpetMarkerSymbol_126                         ScattercarpetMarkerSymbol = "126"
	ScattercarpetMarkerSymbol_bowtie_open                 ScattercarpetMarkerSymbol = "bowtie-open"
	ScattercarpetMarkerSymbol27                           ScattercarpetMarkerSymbol = "27"
	ScattercarpetMarkerSymbol_27                          ScattercarpetMarkerSymbol = "27"
	ScattercarpetMarkerSymbol_circle_cross                ScattercarpetMarkerSymbol = "circle-cross"
	ScattercarpetMarkerSymbol127                          ScattercarpetMarkerSymbol = "127"
	ScattercarpetMarkerSymbol_127                         ScattercarpetMarkerSymbol = "127"
	ScattercarpetMarkerSymbol_circle_cross_open           ScattercarpetMarkerSymbol = "circle-cross-open"
	ScattercarpetMarkerSymbol28                           ScattercarpetMarkerSymbol = "28"
	ScattercarpetMarkerSymbol_28                          ScattercarpetMarkerSymbol = "28"
	ScattercarpetMarkerSymbol_circle_x                    ScattercarpetMarkerSymbol = "circle-x"
	ScattercarpetMarkerSymbol128                          ScattercarpetMarkerSymbol = "128"
	ScattercarpetMarkerSymbol_128                         ScattercarpetMarkerSymbol = "128"
	ScattercarpetMarkerSymbol_circle_x_open               ScattercarpetMarkerSymbol = "circle-x-open"
	ScattercarpetMarkerSymbol29                           ScattercarpetMarkerSymbol = "29"
	ScattercarpetMarkerSymbol_29                          ScattercarpetMarkerSymbol = "29"
	ScattercarpetMarkerSymbol_square_cross                ScattercarpetMarkerSymbol = "square-cross"
	ScattercarpetMarkerSymbol129                          ScattercarpetMarkerSymbol = "129"
	ScattercarpetMarkerSymbol_129                         ScattercarpetMarkerSymbol = "129"
	ScattercarpetMarkerSymbol_square_cross_open           ScattercarpetMarkerSymbol = "square-cross-open"
	ScattercarpetMarkerSymbol30                           ScattercarpetMarkerSymbol = "30"
	ScattercarpetMarkerSymbol_30                          ScattercarpetMarkerSymbol = "30"
	ScattercarpetMarkerSymbol_square_x                    ScattercarpetMarkerSymbol = "square-x"
	ScattercarpetMarkerSymbol130                          ScattercarpetMarkerSymbol = "130"
	ScattercarpetMarkerSymbol_130                         ScattercarpetMarkerSymbol = "130"
	ScattercarpetMarkerSymbol_square_x_open               ScattercarpetMarkerSymbol = "square-x-open"
	ScattercarpetMarkerSymbol31                           ScattercarpetMarkerSymbol = "31"
	ScattercarpetMarkerSymbol_31                          ScattercarpetMarkerSymbol = "31"
	ScattercarpetMarkerSymbol_diamond_cross               ScattercarpetMarkerSymbol = "diamond-cross"
	ScattercarpetMarkerSymbol131                          ScattercarpetMarkerSymbol = "131"
	ScattercarpetMarkerSymbol_131                         ScattercarpetMarkerSymbol = "131"
	ScattercarpetMarkerSymbol_diamond_cross_open          ScattercarpetMarkerSymbol = "diamond-cross-open"
	ScattercarpetMarkerSymbol32                           ScattercarpetMarkerSymbol = "32"
	ScattercarpetMarkerSymbol_32                          ScattercarpetMarkerSymbol = "32"
	ScattercarpetMarkerSymbol_diamond_x                   ScattercarpetMarkerSymbol = "diamond-x"
	ScattercarpetMarkerSymbol132                          ScattercarpetMarkerSymbol = "132"
	ScattercarpetMarkerSymbol_132                         ScattercarpetMarkerSymbol = "132"
	ScattercarpetMarkerSymbol_diamond_x_open              ScattercarpetMarkerSymbol = "diamond-x-open"
	ScattercarpetMarkerSymbol33                           ScattercarpetMarkerSymbol = "33"
	ScattercarpetMarkerSymbol_33                          ScattercarpetMarkerSymbol = "33"
	ScattercarpetMarkerSymbol_cross_thin                  ScattercarpetMarkerSymbol = "cross-thin"
	ScattercarpetMarkerSymbol133                          ScattercarpetMarkerSymbol = "133"
	ScattercarpetMarkerSymbol_133                         ScattercarpetMarkerSymbol = "133"
	ScattercarpetMarkerSymbol_cross_thin_open             ScattercarpetMarkerSymbol = "cross-thin-open"
	ScattercarpetMarkerSymbol34                           ScattercarpetMarkerSymbol = "34"
	ScattercarpetMarkerSymbol_34                          ScattercarpetMarkerSymbol = "34"
	ScattercarpetMarkerSymbol_x_thin                      ScattercarpetMarkerSymbol = "x-thin"
	ScattercarpetMarkerSymbol134                          ScattercarpetMarkerSymbol = "134"
	ScattercarpetMarkerSymbol_134                         ScattercarpetMarkerSymbol = "134"
	ScattercarpetMarkerSymbol_x_thin_open                 ScattercarpetMarkerSymbol = "x-thin-open"
	ScattercarpetMarkerSymbol35                           ScattercarpetMarkerSymbol = "35"
	ScattercarpetMarkerSymbol_35                          ScattercarpetMarkerSymbol = "35"
	ScattercarpetMarkerSymbol_asterisk                    ScattercarpetMarkerSymbol = "asterisk"
	ScattercarpetMarkerSymbol135                          ScattercarpetMarkerSymbol = "135"
	ScattercarpetMarkerSymbol_135                         ScattercarpetMarkerSymbol = "135"
	ScattercarpetMarkerSymbol_asterisk_open               ScattercarpetMarkerSymbol = "asterisk-open"
	ScattercarpetMarkerSymbol36                           ScattercarpetMarkerSymbol = "36"
	ScattercarpetMarkerSymbol_36                          ScattercarpetMarkerSymbol = "36"
	ScattercarpetMarkerSymbol_hash                        ScattercarpetMarkerSymbol = "hash"
	ScattercarpetMarkerSymbol136                          ScattercarpetMarkerSymbol = "136"
	ScattercarpetMarkerSymbol_136                         ScattercarpetMarkerSymbol = "136"
	ScattercarpetMarkerSymbol_hash_open                   ScattercarpetMarkerSymbol = "hash-open"
	ScattercarpetMarkerSymbol236                          ScattercarpetMarkerSymbol = "236"
	ScattercarpetMarkerSymbol_236                         ScattercarpetMarkerSymbol = "236"
	ScattercarpetMarkerSymbol_hash_dot                    ScattercarpetMarkerSymbol = "hash-dot"
	ScattercarpetMarkerSymbol336                          ScattercarpetMarkerSymbol = "336"
	ScattercarpetMarkerSymbol_336                         ScattercarpetMarkerSymbol = "336"
	ScattercarpetMarkerSymbol_hash_open_dot               ScattercarpetMarkerSymbol = "hash-open-dot"
	ScattercarpetMarkerSymbol37                           ScattercarpetMarkerSymbol = "37"
	ScattercarpetMarkerSymbol_37                          ScattercarpetMarkerSymbol = "37"
	ScattercarpetMarkerSymbol_y_up                        ScattercarpetMarkerSymbol = "y-up"
	ScattercarpetMarkerSymbol137                          ScattercarpetMarkerSymbol = "137"
	ScattercarpetMarkerSymbol_137                         ScattercarpetMarkerSymbol = "137"
	ScattercarpetMarkerSymbol_y_up_open                   ScattercarpetMarkerSymbol = "y-up-open"
	ScattercarpetMarkerSymbol38                           ScattercarpetMarkerSymbol = "38"
	ScattercarpetMarkerSymbol_38                          ScattercarpetMarkerSymbol = "38"
	ScattercarpetMarkerSymbol_y_down                      ScattercarpetMarkerSymbol = "y-down"
	ScattercarpetMarkerSymbol138                          ScattercarpetMarkerSymbol = "138"
	ScattercarpetMarkerSymbol_138                         ScattercarpetMarkerSymbol = "138"
	ScattercarpetMarkerSymbol_y_down_open                 ScattercarpetMarkerSymbol = "y-down-open"
	ScattercarpetMarkerSymbol39                           ScattercarpetMarkerSymbol = "39"
	ScattercarpetMarkerSymbol_39                          ScattercarpetMarkerSymbol = "39"
	ScattercarpetMarkerSymbol_y_left                      ScattercarpetMarkerSymbol = "y-left"
	ScattercarpetMarkerSymbol139                          ScattercarpetMarkerSymbol = "139"
	ScattercarpetMarkerSymbol_139                         ScattercarpetMarkerSymbol = "139"
	ScattercarpetMarkerSymbol_y_left_open                 ScattercarpetMarkerSymbol = "y-left-open"
	ScattercarpetMarkerSymbol40                           ScattercarpetMarkerSymbol = "40"
	ScattercarpetMarkerSymbol_40                          ScattercarpetMarkerSymbol = "40"
	ScattercarpetMarkerSymbol_y_right                     ScattercarpetMarkerSymbol = "y-right"
	ScattercarpetMarkerSymbol140                          ScattercarpetMarkerSymbol = "140"
	ScattercarpetMarkerSymbol_140                         ScattercarpetMarkerSymbol = "140"
	ScattercarpetMarkerSymbol_y_right_open                ScattercarpetMarkerSymbol = "y-right-open"
	ScattercarpetMarkerSymbol41                           ScattercarpetMarkerSymbol = "41"
	ScattercarpetMarkerSymbol_41                          ScattercarpetMarkerSymbol = "41"
	ScattercarpetMarkerSymbol_line_ew                     ScattercarpetMarkerSymbol = "line-ew"
	ScattercarpetMarkerSymbol141                          ScattercarpetMarkerSymbol = "141"
	ScattercarpetMarkerSymbol_141                         ScattercarpetMarkerSymbol = "141"
	ScattercarpetMarkerSymbol_line_ew_open                ScattercarpetMarkerSymbol = "line-ew-open"
	ScattercarpetMarkerSymbol42                           ScattercarpetMarkerSymbol = "42"
	ScattercarpetMarkerSymbol_42                          ScattercarpetMarkerSymbol = "42"
	ScattercarpetMarkerSymbol_line_ns                     ScattercarpetMarkerSymbol = "line-ns"
	ScattercarpetMarkerSymbol142                          ScattercarpetMarkerSymbol = "142"
	ScattercarpetMarkerSymbol_142                         ScattercarpetMarkerSymbol = "142"
	ScattercarpetMarkerSymbol_line_ns_open                ScattercarpetMarkerSymbol = "line-ns-open"
	ScattercarpetMarkerSymbol43                           ScattercarpetMarkerSymbol = "43"
	ScattercarpetMarkerSymbol_43                          ScattercarpetMarkerSymbol = "43"
	ScattercarpetMarkerSymbol_line_ne                     ScattercarpetMarkerSymbol = "line-ne"
	ScattercarpetMarkerSymbol143                          ScattercarpetMarkerSymbol = "143"
	ScattercarpetMarkerSymbol_143                         ScattercarpetMarkerSymbol = "143"
	ScattercarpetMarkerSymbol_line_ne_open                ScattercarpetMarkerSymbol = "line-ne-open"
	ScattercarpetMarkerSymbol44                           ScattercarpetMarkerSymbol = "44"
	ScattercarpetMarkerSymbol_44                          ScattercarpetMarkerSymbol = "44"
	ScattercarpetMarkerSymbol_line_nw                     ScattercarpetMarkerSymbol = "line-nw"
	ScattercarpetMarkerSymbol144                          ScattercarpetMarkerSymbol = "144"
	ScattercarpetMarkerSymbol_144                         ScattercarpetMarkerSymbol = "144"
	ScattercarpetMarkerSymbol_line_nw_open                ScattercarpetMarkerSymbol = "line-nw-open"
	ScattercarpetMarkerSymbol45                           ScattercarpetMarkerSymbol = "45"
	ScattercarpetMarkerSymbol_45                          ScattercarpetMarkerSymbol = "45"
	ScattercarpetMarkerSymbol_arrow_up                    ScattercarpetMarkerSymbol = "arrow-up"
	ScattercarpetMarkerSymbol145                          ScattercarpetMarkerSymbol = "145"
	ScattercarpetMarkerSymbol_145                         ScattercarpetMarkerSymbol = "145"
	ScattercarpetMarkerSymbol_arrow_up_open               ScattercarpetMarkerSymbol = "arrow-up-open"
	ScattercarpetMarkerSymbol46                           ScattercarpetMarkerSymbol = "46"
	ScattercarpetMarkerSymbol_46                          ScattercarpetMarkerSymbol = "46"
	ScattercarpetMarkerSymbol_arrow_down                  ScattercarpetMarkerSymbol = "arrow-down"
	ScattercarpetMarkerSymbol146                          ScattercarpetMarkerSymbol = "146"
	ScattercarpetMarkerSymbol_146                         ScattercarpetMarkerSymbol = "146"
	ScattercarpetMarkerSymbol_arrow_down_open             ScattercarpetMarkerSymbol = "arrow-down-open"
	ScattercarpetMarkerSymbol47                           ScattercarpetMarkerSymbol = "47"
	ScattercarpetMarkerSymbol_47                          ScattercarpetMarkerSymbol = "47"
	ScattercarpetMarkerSymbol_arrow_left                  ScattercarpetMarkerSymbol = "arrow-left"
	ScattercarpetMarkerSymbol147                          ScattercarpetMarkerSymbol = "147"
	ScattercarpetMarkerSymbol_147                         ScattercarpetMarkerSymbol = "147"
	ScattercarpetMarkerSymbol_arrow_left_open             ScattercarpetMarkerSymbol = "arrow-left-open"
	ScattercarpetMarkerSymbol48                           ScattercarpetMarkerSymbol = "48"
	ScattercarpetMarkerSymbol_48                          ScattercarpetMarkerSymbol = "48"
	ScattercarpetMarkerSymbol_arrow_right                 ScattercarpetMarkerSymbol = "arrow-right"
	ScattercarpetMarkerSymbol148                          ScattercarpetMarkerSymbol = "148"
	ScattercarpetMarkerSymbol_148                         ScattercarpetMarkerSymbol = "148"
	ScattercarpetMarkerSymbol_arrow_right_open            ScattercarpetMarkerSymbol = "arrow-right-open"
	ScattercarpetMarkerSymbol49                           ScattercarpetMarkerSymbol = "49"
	ScattercarpetMarkerSymbol_49                          ScattercarpetMarkerSymbol = "49"
	ScattercarpetMarkerSymbol_arrow_bar_up                ScattercarpetMarkerSymbol = "arrow-bar-up"
	ScattercarpetMarkerSymbol149                          ScattercarpetMarkerSymbol = "149"
	ScattercarpetMarkerSymbol_149                         ScattercarpetMarkerSymbol = "149"
	ScattercarpetMarkerSymbol_arrow_bar_up_open           ScattercarpetMarkerSymbol = "arrow-bar-up-open"
	ScattercarpetMarkerSymbol50                           ScattercarpetMarkerSymbol = "50"
	ScattercarpetMarkerSymbol_50                          ScattercarpetMarkerSymbol = "50"
	ScattercarpetMarkerSymbol_arrow_bar_down              ScattercarpetMarkerSymbol = "arrow-bar-down"
	ScattercarpetMarkerSymbol150                          ScattercarpetMarkerSymbol = "150"
	ScattercarpetMarkerSymbol_150                         ScattercarpetMarkerSymbol = "150"
	ScattercarpetMarkerSymbol_arrow_bar_down_open         ScattercarpetMarkerSymbol = "arrow-bar-down-open"
	ScattercarpetMarkerSymbol51                           ScattercarpetMarkerSymbol = "51"
	ScattercarpetMarkerSymbol_51                          ScattercarpetMarkerSymbol = "51"
	ScattercarpetMarkerSymbol_arrow_bar_left              ScattercarpetMarkerSymbol = "arrow-bar-left"
	ScattercarpetMarkerSymbol151                          ScattercarpetMarkerSymbol = "151"
	ScattercarpetMarkerSymbol_151                         ScattercarpetMarkerSymbol = "151"
	ScattercarpetMarkerSymbol_arrow_bar_left_open         ScattercarpetMarkerSymbol = "arrow-bar-left-open"
	ScattercarpetMarkerSymbol52                           ScattercarpetMarkerSymbol = "52"
	ScattercarpetMarkerSymbol_52                          ScattercarpetMarkerSymbol = "52"
	ScattercarpetMarkerSymbol_arrow_bar_right             ScattercarpetMarkerSymbol = "arrow-bar-right"
	ScattercarpetMarkerSymbol152                          ScattercarpetMarkerSymbol = "152"
	ScattercarpetMarkerSymbol_152                         ScattercarpetMarkerSymbol = "152"
	ScattercarpetMarkerSymbol_arrow_bar_right_open        ScattercarpetMarkerSymbol = "arrow-bar-right-open"
)

type ScattercarpetMode

type ScattercarpetMode string
const (
	// Flags
	ScattercarpetModeLines   ScattercarpetMode = "lines"
	ScattercarpetModeMarkers ScattercarpetMode = "markers"
	ScattercarpetModeText    ScattercarpetMode = "text"
	// Extras
	ScattercarpetModeNone ScattercarpetMode = "none"
)

type ScattercarpetSelected

type ScattercarpetSelected struct {

	// Marker <no value> <no value>
	Marker *ScattercarpetSelectedMarker `json:"marker,omitempty"`

	// Textfont <no value> <no value>
	Textfont *ScattercarpetSelectedTextfont `json:"textfont,omitempty"`
}

type ScattercarpetSelectedMarker

type ScattercarpetSelectedMarker struct {

	// Color color Sets the marker color of selected points.
	Color String `json:"color,omitempty"`

	// Opacity number Sets the marker opacity of selected points.
	Opacity float64 `json:"opacity,omitempty"`

	// Size number Sets the marker size of selected points.
	Size float64 `json:"size,omitempty"`
}

type ScattercarpetSelectedTextfont

type ScattercarpetSelectedTextfont struct {

	// Color color Sets the text font color of selected points.
	Color String `json:"color,omitempty"`
}

type ScattercarpetStream

type ScattercarpetStream struct {

	// Maxpoints 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 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"`
}

type ScattercarpetTextfont

type ScattercarpetTextfont struct {

	// Color color <no value>
	Color interface{} `json:"color,omitempty"`

	// Colorsrc string Sets the source reference on Chart Studio Cloud for  color .
	Colorsrc String `json:"colorsrc,omitempty"`

	// Family string HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.
	Family interface{} `json:"family,omitempty"`

	// Familysrc string Sets the source reference on Chart Studio Cloud for  family .
	Familysrc String `json:"familysrc,omitempty"`

	// Size number <no value>
	Size interface{} `json:"size,omitempty"`

	// Sizesrc string Sets the source reference on Chart Studio Cloud for  size .
	Sizesrc String `json:"sizesrc,omitempty"`
}

type ScattercarpetTextposition

type ScattercarpetTextposition string

ScattercarpetTextposition Sets the positions of the `text` elements with respects to the (x,y) coordinates.

const (
	ScattercarpetTextposition_topleft      ScattercarpetTextposition = "top left"
	ScattercarpetTextposition_topcenter    ScattercarpetTextposition = "top center"
	ScattercarpetTextposition_topright     ScattercarpetTextposition = "top right"
	ScattercarpetTextposition_middleleft   ScattercarpetTextposition = "middle left"
	ScattercarpetTextposition_middlecenter ScattercarpetTextposition = "middle center"
	ScattercarpetTextposition_middleright  ScattercarpetTextposition = "middle right"
	ScattercarpetTextposition_bottomleft   ScattercarpetTextposition = "bottom left"
	ScattercarpetTextposition_bottomcenter ScattercarpetTextposition = "bottom center"
	ScattercarpetTextposition_bottomright  ScattercarpetTextposition = "bottom right"
)

type ScattercarpetTransforms

type ScattercarpetTransforms interface{}

ScattercarpetTransforms It's an items array and what goes inside it's... messy... check the docs Here is a hint to help you to define your own type transform

description
editType
role

type ScattercarpetUnselected

type ScattercarpetUnselected struct {

	// Marker <no value> <no value>
	Marker *ScattercarpetUnselectedMarker `json:"marker,omitempty"`

	// Textfont <no value> <no value>
	Textfont *ScattercarpetUnselectedTextfont `json:"textfont,omitempty"`
}

type ScattercarpetUnselectedMarker

type ScattercarpetUnselectedMarker struct {

	// Color color Sets the marker color of unselected points, applied only when a selection exists.
	Color String `json:"color,omitempty"`

	// Opacity number Sets the marker opacity of unselected points, applied only when a selection exists.
	Opacity float64 `json:"opacity,omitempty"`

	// Size number Sets the marker size of unselected points, applied only when a selection exists.
	Size float64 `json:"size,omitempty"`
}

type ScattercarpetUnselectedTextfont

type ScattercarpetUnselectedTextfont struct {

	// Color color Sets the text font color of unselected points, applied only when a selection exists.
	Color String `json:"color,omitempty"`
}

type ScattercarpetVisible

type ScattercarpetVisible interface{}

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).

var (
	ScattercarpetVisible_True       ScattercarpetVisible = true
	ScattercarpetVisible_False      ScattercarpetVisible = false
	ScattercarpetVisible_legendonly ScattercarpetVisible = "legendonly"
)

type Scattergeo

type Scattergeo struct {

	// Type is the type of the plot
	Type TraceType `json:"type,omitempty"`

	// Connectgaps 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 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 string Sets the source reference on Chart Studio Cloud for  customdata .
	Customdatasrc String `json:"customdatasrc,omitempty"`

	// Featureidkey 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 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 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 String `json:"fillcolor,omitempty"`

	// Geo 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 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 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 string Sets the source reference on Chart Studio Cloud for  hoverinfo .
	Hoverinfosrc String `json:"hoverinfosrc,omitempty"`

	// Hoverlabel <no value> <no value>
	Hoverlabel *ScattergeoHoverlabel `json:"hoverlabel,omitempty"`

	// Hovertemplate 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 `<extra>` is displayed in the secondary box, for example "<extra>{fullData.name}</extra>". To hide the secondary box completely, use an empty tag `<extra></extra>`.
	Hovertemplate interface{} `json:"hovertemplate,omitempty"`

	// Hovertemplatesrc string Sets the source reference on Chart Studio Cloud for  hovertemplate .
	Hovertemplatesrc String `json:"hovertemplatesrc,omitempty"`

	// Hovertext 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 interface{} `json:"hovertext,omitempty"`

	// Hovertextsrc string Sets the source reference on Chart Studio Cloud for  hovertext .
	Hovertextsrc String `json:"hovertextsrc,omitempty"`

	// Ids 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 string Sets the source reference on Chart Studio Cloud for  ids .
	Idssrc String `json:"idssrc,omitempty"`

	// Lat data_array Sets the latitude coordinates (in degrees North).
	Lat interface{} `json:"lat,omitempty"`

	// Latsrc string Sets the source reference on Chart Studio Cloud for  lat .
	Latsrc String `json:"latsrc,omitempty"`

	// Legendgroup 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"`

	// Line <no value> <no value>
	Line *ScattergeoLine `json:"line,omitempty"`

	// Locationmode 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 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 string Sets the source reference on Chart Studio Cloud for  locations .
	Locationssrc String `json:"locationssrc,omitempty"`

	// Lon data_array Sets the longitude coordinates (in degrees East).
	Lon interface{} `json:"lon,omitempty"`

	// Lonsrc string Sets the source reference on Chart Studio Cloud for  lon .
	Lonsrc String `json:"lonsrc,omitempty"`

	// Marker <no value> <no value>
	Marker *ScattergeoMarker `json:"marker,omitempty"`

	// Meta 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 string Sets the source reference on Chart Studio Cloud for  meta .
	Metasrc String `json:"metasrc,omitempty"`

	// Mode 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 string Sets the trace name. The trace name appear as the legend item and on hover.
	Name String `json:"name,omitempty"`

	// Opacity number Sets the opacity of the trace.
	Opacity float64 `json:"opacity,omitempty"`

	// Selected <no value> <no value>
	Selected *ScattergeoSelected `json:"selected,omitempty"`

	// Selectedpoints 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 boolean Determines whether or not an item corresponding to this trace is shown in the legend.
	Showlegend Bool `json:"showlegend,omitempty"`

	// Stream <no value> <no value>
	Stream *ScattergeoStream `json:"stream,omitempty"`

	// Text 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 interface{} `json:"text,omitempty"`

	// Textfont <no value> Sets the text font.
	Textfont *ScattergeoTextfont `json:"textfont,omitempty"`

	// Textposition enumerated Sets the positions of the `text` elements with respects to the (x,y) coordinates.
	Textposition ScattergeoTextposition `json:"textposition,omitempty"`

	// Textpositionsrc string Sets the source reference on Chart Studio Cloud for  textposition .
	Textpositionsrc String `json:"textpositionsrc,omitempty"`

	// Textsrc string Sets the source reference on Chart Studio Cloud for  text .
	Textsrc String `json:"textsrc,omitempty"`

	// Texttemplate 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`.
	Texttemplate interface{} `json:"texttemplate,omitempty"`

	// Texttemplatesrc string Sets the source reference on Chart Studio Cloud for  texttemplate .
	Texttemplatesrc String `json:"texttemplatesrc,omitempty"`

	// Transforms <no value> <no value>
	Transforms ScattergeoTransforms `json:"transforms,omitempty"`

	// Uid 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 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 <no value> <no value>
	Unselected *ScattergeoUnselected `json:"unselected,omitempty"`

	// Visible 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"`
}

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`.

func NewScattergeo

func NewScattergeo() *Scattergeo

func (*Scattergeo) GetType

func (this *Scattergeo) GetType() TraceType

type ScattergeoFill

type ScattergeoFill string

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.

const (
	ScattergeoFill_none   ScattergeoFill = "none"
	ScattergeoFill_toself ScattergeoFill = "toself"
)

type ScattergeoHoverinfo

type ScattergeoHoverinfo string
const (
	// Flags
	ScattergeoHoverinfoLon      ScattergeoHoverinfo = "lon"
	ScattergeoHoverinfoLat      ScattergeoHoverinfo = "lat"
	ScattergeoHoverinfoLocation ScattergeoHoverinfo = "location"
	ScattergeoHoverinfoText     ScattergeoHoverinfo = "text"
	ScattergeoHoverinfoName     ScattergeoHoverinfo = "name"
	// Extras
	ScattergeoHoverinfoAll  ScattergeoHoverinfo = "all"
	ScattergeoHoverinfoNone ScattergeoHoverinfo = "none"
	ScattergeoHoverinfoSkip ScattergeoHoverinfo = "skip"
)

type ScattergeoHoverlabel

type ScattergeoHoverlabel struct {

	// Align 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 string Sets the source reference on Chart Studio Cloud for  align .
	Alignsrc String `json:"alignsrc,omitempty"`

	// Bgcolor color Sets the background color of the hover labels for this trace
	Bgcolor interface{} `json:"bgcolor,omitempty"`

	// Bgcolorsrc string Sets the source reference on Chart Studio Cloud for  bgcolor .
	Bgcolorsrc String `json:"bgcolorsrc,omitempty"`

	// Bordercolor color Sets the border color of the hover labels for this trace.
	Bordercolor interface{} `json:"bordercolor,omitempty"`

	// Bordercolorsrc string Sets the source reference on Chart Studio Cloud for  bordercolor .
	Bordercolorsrc String `json:"bordercolorsrc,omitempty"`

	// Font <no value> Sets the font used in hover labels.
	Font *ScattergeoHoverlabelFont `json:"font,omitempty"`

	// Namelength 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 interface{} `json:"namelength,omitempty"`

	// Namelengthsrc string Sets the source reference on Chart Studio Cloud for  namelength .
	Namelengthsrc String `json:"namelengthsrc,omitempty"`
}

type ScattergeoHoverlabelAlign

type ScattergeoHoverlabelAlign string

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

const (
	ScattergeoHoverlabelAlign_left  ScattergeoHoverlabelAlign = "left"
	ScattergeoHoverlabelAlign_right ScattergeoHoverlabelAlign = "right"
	ScattergeoHoverlabelAlign_auto  ScattergeoHoverlabelAlign = "auto"
)

type ScattergeoHoverlabelFont

type ScattergeoHoverlabelFont struct {

	// Color color <no value>
	Color interface{} `json:"color,omitempty"`

	// Colorsrc string Sets the source reference on Chart Studio Cloud for  color .
	Colorsrc String `json:"colorsrc,omitempty"`

	// Family string HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.
	Family interface{} `json:"family,omitempty"`

	// Familysrc string Sets the source reference on Chart Studio Cloud for  family .
	Familysrc String `json:"familysrc,omitempty"`

	// Size number <no value>
	Size interface{} `json:"size,omitempty"`

	// Sizesrc string Sets the source reference on Chart Studio Cloud for  size .
	Sizesrc String `json:"sizesrc,omitempty"`
}

type ScattergeoLine

type ScattergeoLine struct {

	// Color color Sets the line color.
	Color String `json:"color,omitempty"`

	// Dash 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 number Sets the line width (in px).
	Width float64 `json:"width,omitempty"`
}

type ScattergeoLocationmode

type ScattergeoLocationmode string

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.

const (
	ScattergeoLocationmode_ISO_3        ScattergeoLocationmode = "ISO-3"
	ScattergeoLocationmode_USA_states   ScattergeoLocationmode = "USA-states"
	ScattergeoLocationmode_countrynames ScattergeoLocationmode = "country names"
	ScattergeoLocationmode_geojson_id   ScattergeoLocationmode = "geojson-id"
)

type ScattergeoMarker

type ScattergeoMarker struct {

	// Autocolorscale 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 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 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 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 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 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.
	Color interface{} `json:"color,omitempty"`

	// Coloraxis 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 <no value> <no value>
	Colorbar *ScattergeoMarkerColorbar `json:"colorbar,omitempty"`

	// Colorsrc string Sets the source reference on Chart Studio Cloud for  color .
	Colorsrc String `json:"colorsrc,omitempty"`

	// Gradient <no value> <no value>
	Gradient *ScattergeoMarkerGradient `json:"gradient,omitempty"`

	// Line <no value> <no value>
	Line *ScattergeoMarkerLine `json:"line,omitempty"`

	// Opacity number Sets the marker opacity.
	Opacity interface{} `json:"opacity,omitempty"`

	// Opacitysrc string Sets the source reference on Chart Studio Cloud for  opacity .
	Opacitysrc String `json:"opacitysrc,omitempty"`

	// Reversescale 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 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 number Sets the marker size (in px).
	Size interface{} `json:"size,omitempty"`

	// Sizemin 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 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 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 string Sets the source reference on Chart Studio Cloud for  size .
	Sizesrc String `json:"sizesrc,omitempty"`

	// Symbol 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 string Sets the source reference on Chart Studio Cloud for  symbol .
	Symbolsrc String `json:"symbolsrc,omitempty"`
}

type ScattergeoMarkerColorbar

type ScattergeoMarkerColorbar struct {

	// Bgcolor color Sets the color of padded area.
	Bgcolor String `json:"bgcolor,omitempty"`

	// Bordercolor color Sets the axis line color.
	Bordercolor String `json:"bordercolor,omitempty"`

	// Borderwidth number Sets the width (in px) or the border enclosing this color bar.
	Borderwidth float64 `json:"borderwidth,omitempty"`

	// Dtick 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<f>*, where `f` is a positive number, gives ticks linearly spaced in value (but not position). For example `tick0` = 0.1, `dtick` = *L0.5* will put ticks at 0.1, 0.6, 1.1, 1.6 etc. To show powers of 10 plus small digits between, use *D1* (all digits) or *D2* (only 2 and 5). `tick0` is ignored for *D1* and *D2*. If the axis `type` is *date*, then you must convert the time to milliseconds. For example, to set the interval between ticks to one day, set `dtick` to 86400000.0. *date* also has special values *M<n>* gives ticks spaced by a number of months. `n` must be a positive integer. To set ticks on the 15th of every third month, set `tick0` to *2000-01-15* and `dtick` to *M3*. To set ticks every 4 years, set `dtick` to *M48*
	Dtick interface{} `json:"dtick,omitempty"`

	// Exponentformat 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"`

	// Len 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 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 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 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"`

	// Outlinecolor color Sets the axis line color.
	Outlinecolor String `json:"outlinecolor,omitempty"`

	// Outlinewidth number Sets the width (in px) of the axis line.
	Outlinewidth float64 `json:"outlinewidth,omitempty"`

	// Separatethousands boolean If "true", even 4-digit integers are separated
	Separatethousands Bool `json:"separatethousands,omitempty"`

	// Showexponent 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 boolean Determines whether or not the tick labels are drawn.
	Showticklabels Bool `json:"showticklabels,omitempty"`

	// Showtickprefix 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 enumerated Same as `showtickprefix` but for tick suffixes.
	Showticksuffix ScattergeoMarkerColorbarShowticksuffix `json:"showticksuffix,omitempty"`

	// Thickness 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 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 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<f>* (see `dtick` for more info). If the axis `type` is *date*, it should be a date string, like date data. If the axis `type` is *category*, it should be a number, using the scale where each category is assigned a serial number from zero in the order it appears.
	Tick0 interface{} `json:"tick0,omitempty"`

	// Tickangle 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 color Sets the tick color.
	Tickcolor String `json:"tickcolor,omitempty"`

	// Tickfont <no value> Sets the color bar's tick label font
	Tickfont *ScattergeoMarkerColorbarTickfont `json:"tickfont,omitempty"`

	// Tickformat 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*
	Tickformat String `json:"tickformat,omitempty"`

	// Tickformatstops <no value> <no value>
	Tickformatstops ScattergeoMarkerColorbarTickformatstops `json:"tickformatstops,omitempty"`

	// Ticklabelposition enumerated Determines where tick labels are drawn.
	Ticklabelposition ScattergeoMarkerColorbarTicklabelposition `json:"ticklabelposition,omitempty"`

	// Ticklen number Sets the tick length (in px).
	Ticklen float64 `json:"ticklen,omitempty"`

	// Tickmode 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 string Sets a tick label prefix.
	Tickprefix String `json:"tickprefix,omitempty"`

	// Ticks 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 string Sets a tick label suffix.
	Ticksuffix String `json:"ticksuffix,omitempty"`

	// Ticktext 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 string Sets the source reference on Chart Studio Cloud for  ticktext .
	Ticktextsrc String `json:"ticktextsrc,omitempty"`

	// Tickvals 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 string Sets the source reference on Chart Studio Cloud for  tickvals .
	Tickvalssrc String `json:"tickvalssrc,omitempty"`

	// Tickwidth number Sets the tick width (in px).
	Tickwidth float64 `json:"tickwidth,omitempty"`

	// Title <no value> <no value>
	Title *ScattergeoMarkerColorbarTitle `json:"title,omitempty"`

	// X number Sets the x position of the color bar (in plot fraction).
	X float64 `json:"x,omitempty"`

	// Xanchor 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.
	Xanchor ScattergeoMarkerColorbarXanchor `json:"xanchor,omitempty"`

	// Xpad number Sets the amount of padding (in px) along the x direction.
	Xpad float64 `json:"xpad,omitempty"`

	// Y number Sets the y position of the color bar (in plot fraction).
	Y float64 `json:"y,omitempty"`

	// Yanchor 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.
	Yanchor ScattergeoMarkerColorbarYanchor `json:"yanchor,omitempty"`

	// Ypad number Sets the amount of padding (in px) along the y direction.
	Ypad float64 `json:"ypad,omitempty"`
}

type ScattergeoMarkerColorbarExponentformat

type ScattergeoMarkerColorbarExponentformat string

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.

const (
	ScattergeoMarkerColorbarExponentformat_none  ScattergeoMarkerColorbarExponentformat = "none"
	ScattergeoMarkerColorbarExponentformat_e     ScattergeoMarkerColorbarExponentformat = "e"
	ScattergeoMarkerColorbarExponentformat_E     ScattergeoMarkerColorbarExponentformat = "E"
	ScattergeoMarkerColorbarExponentformat_power ScattergeoMarkerColorbarExponentformat = "power"
	ScattergeoMarkerColorbarExponentformat_SI    ScattergeoMarkerColorbarExponentformat = "SI"
	ScattergeoMarkerColorbarExponentformat_B     ScattergeoMarkerColorbarExponentformat = "B"
)

type ScattergeoMarkerColorbarLenmode

type ScattergeoMarkerColorbarLenmode string

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.

const (
	ScattergeoMarkerColorbarLenmode_fraction ScattergeoMarkerColorbarLenmode = "fraction"
	ScattergeoMarkerColorbarLenmode_pixels   ScattergeoMarkerColorbarLenmode = "pixels"
)

type ScattergeoMarkerColorbarShowexponent

type ScattergeoMarkerColorbarShowexponent string

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.

const (
	ScattergeoMarkerColorbarShowexponent_all   ScattergeoMarkerColorbarShowexponent = "all"
	ScattergeoMarkerColorbarShowexponent_first ScattergeoMarkerColorbarShowexponent = "first"
	ScattergeoMarkerColorbarShowexponent_last  ScattergeoMarkerColorbarShowexponent = "last"
	ScattergeoMarkerColorbarShowexponent_none  ScattergeoMarkerColorbarShowexponent = "none"
)

type ScattergeoMarkerColorbarShowtickprefix

type ScattergeoMarkerColorbarShowtickprefix string

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.

const (
	ScattergeoMarkerColorbarShowtickprefix_all   ScattergeoMarkerColorbarShowtickprefix = "all"
	ScattergeoMarkerColorbarShowtickprefix_first ScattergeoMarkerColorbarShowtickprefix = "first"
	ScattergeoMarkerColorbarShowtickprefix_last  ScattergeoMarkerColorbarShowtickprefix = "last"
	ScattergeoMarkerColorbarShowtickprefix_none  ScattergeoMarkerColorbarShowtickprefix = "none"
)

type ScattergeoMarkerColorbarShowticksuffix

type ScattergeoMarkerColorbarShowticksuffix string

ScattergeoMarkerColorbarShowticksuffix Same as `showtickprefix` but for tick suffixes.

const (
	ScattergeoMarkerColorbarShowticksuffix_all   ScattergeoMarkerColorbarShowticksuffix = "all"
	ScattergeoMarkerColorbarShowticksuffix_first ScattergeoMarkerColorbarShowticksuffix = "first"
	ScattergeoMarkerColorbarShowticksuffix_last  ScattergeoMarkerColorbarShowticksuffix = "last"
	ScattergeoMarkerColorbarShowticksuffix_none  ScattergeoMarkerColorbarShowticksuffix = "none"
)

type ScattergeoMarkerColorbarThicknessmode

type ScattergeoMarkerColorbarThicknessmode string

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.

const (
	ScattergeoMarkerColorbarThicknessmode_fraction ScattergeoMarkerColorbarThicknessmode = "fraction"
	ScattergeoMarkerColorbarThicknessmode_pixels   ScattergeoMarkerColorbarThicknessmode = "pixels"
)

type ScattergeoMarkerColorbarTickfont

type ScattergeoMarkerColorbarTickfont struct {

	// Color color <no value>
	Color String `json:"color,omitempty"`

	// Family string HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.
	Family String `json:"family,omitempty"`

	// Size number <no value>
	Size float64 `json:"size,omitempty"`
}

type ScattergeoMarkerColorbarTickformatstops

type ScattergeoMarkerColorbarTickformatstops interface{}

ScattergeoMarkerColorbarTickformatstops It's an items array and what goes inside it's... messy... check the docs Here is a hint to help you to define your own type tickformatstop

dtickrange
editType
enabled
name
role
templateitemname
value

type ScattergeoMarkerColorbarTicklabelposition

type ScattergeoMarkerColorbarTicklabelposition string

ScattergeoMarkerColorbarTicklabelposition Determines where tick labels are drawn.

const (
	ScattergeoMarkerColorbarTicklabelposition_outside       ScattergeoMarkerColorbarTicklabelposition = "outside"
	ScattergeoMarkerColorbarTicklabelposition_inside        ScattergeoMarkerColorbarTicklabelposition = "inside"
	ScattergeoMarkerColorbarTicklabelposition_outsidetop    ScattergeoMarkerColorbarTicklabelposition = "outside top"
	ScattergeoMarkerColorbarTicklabelposition_insidetop     ScattergeoMarkerColorbarTicklabelposition = "inside top"
	ScattergeoMarkerColorbarTicklabelposition_outsidebottom ScattergeoMarkerColorbarTicklabelposition = "outside bottom"
	ScattergeoMarkerColorbarTicklabelposition_insidebottom  ScattergeoMarkerColorbarTicklabelposition = "inside bottom"
)

type ScattergeoMarkerColorbarTickmode

type ScattergeoMarkerColorbarTickmode string

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).

const (
	ScattergeoMarkerColorbarTickmode_auto   ScattergeoMarkerColorbarTickmode = "auto"
	ScattergeoMarkerColorbarTickmode_linear ScattergeoMarkerColorbarTickmode = "linear"
	ScattergeoMarkerColorbarTickmode_array  ScattergeoMarkerColorbarTickmode = "array"
)

type ScattergeoMarkerColorbarTicks

type ScattergeoMarkerColorbarTicks string

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.

const (
	ScattergeoMarkerColorbarTicks_outside ScattergeoMarkerColorbarTicks = "outside"
	ScattergeoMarkerColorbarTicks_inside  ScattergeoMarkerColorbarTicks = "inside"
)

type ScattergeoMarkerColorbarTitle

type ScattergeoMarkerColorbarTitle struct {

	// Font <no value> Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.
	Font *ScattergeoMarkerColorbarTitleFont `json:"font,omitempty"`

	// Side 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.
	Side ScattergeoMarkerColorbarTitleSide `json:"side,omitempty"`

	// Text 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"`
}

type ScattergeoMarkerColorbarTitleFont

type ScattergeoMarkerColorbarTitleFont struct {

	// Color color <no value>
	Color String `json:"color,omitempty"`

	// Family string HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.
	Family String `json:"family,omitempty"`

	// Size number <no value>
	Size float64 `json:"size,omitempty"`
}

type ScattergeoMarkerColorbarTitleSide

type ScattergeoMarkerColorbarTitleSide string

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.

const (
	ScattergeoMarkerColorbarTitleSide_right  ScattergeoMarkerColorbarTitleSide = "right"
	ScattergeoMarkerColorbarTitleSide_top    ScattergeoMarkerColorbarTitleSide = "top"
	ScattergeoMarkerColorbarTitleSide_bottom ScattergeoMarkerColorbarTitleSide = "bottom"
)

type ScattergeoMarkerColorbarXanchor

type ScattergeoMarkerColorbarXanchor string

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.

const (
	ScattergeoMarkerColorbarXanchor_left   ScattergeoMarkerColorbarXanchor = "left"
	ScattergeoMarkerColorbarXanchor_center ScattergeoMarkerColorbarXanchor = "center"
	ScattergeoMarkerColorbarXanchor_right  ScattergeoMarkerColorbarXanchor = "right"
)

type ScattergeoMarkerColorbarYanchor

type ScattergeoMarkerColorbarYanchor string

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.

const (
	ScattergeoMarkerColorbarYanchor_top    ScattergeoMarkerColorbarYanchor = "top"
	ScattergeoMarkerColorbarYanchor_middle ScattergeoMarkerColorbarYanchor = "middle"
	ScattergeoMarkerColorbarYanchor_bottom ScattergeoMarkerColorbarYanchor = "bottom"
)

type ScattergeoMarkerGradient

type ScattergeoMarkerGradient struct {

	// Color color Sets the final color of the gradient fill: the center color for radial, the right for horizontal, or the bottom for vertical.
	Color interface{} `json:"color,omitempty"`

	// Colorsrc string Sets the source reference on Chart Studio Cloud for  color .
	Colorsrc String `json:"colorsrc,omitempty"`

	// Type enumerated Sets the type of gradient used to fill the markers
	Type ScattergeoMarkerGradientType `json:"type,omitempty"`

	// Typesrc string Sets the source reference on Chart Studio Cloud for  type .
	Typesrc String `json:"typesrc,omitempty"`
}

type ScattergeoMarkerGradientType

type ScattergeoMarkerGradientType string

ScattergeoMarkerGradientType Sets the type of gradient used to fill the markers

const (
	ScattergeoMarkerGradientType_radial     ScattergeoMarkerGradientType = "radial"
	ScattergeoMarkerGradientType_horizontal ScattergeoMarkerGradientType = "horizontal"
	ScattergeoMarkerGradientType_vertical   ScattergeoMarkerGradientType = "vertical"
	ScattergeoMarkerGradientType_none       ScattergeoMarkerGradientType = "none"
)

type ScattergeoMarkerLine

type ScattergeoMarkerLine struct {

	// Autocolorscale 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 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 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 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 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 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.
	Color interface{} `json:"color,omitempty"`

	// Coloraxis 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"`

	// Colorsrc string Sets the source reference on Chart Studio Cloud for  color .
	Colorsrc String `json:"colorsrc,omitempty"`

	// Reversescale 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 number Sets the width (in px) of the lines bounding the marker points.
	Width interface{} `json:"width,omitempty"`

	// Widthsrc string Sets the source reference on Chart Studio Cloud for  width .
	Widthsrc String `json:"widthsrc,omitempty"`
}

type ScattergeoMarkerSizemode

type ScattergeoMarkerSizemode string

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.

const (
	ScattergeoMarkerSizemode_diameter ScattergeoMarkerSizemode = "diameter"
	ScattergeoMarkerSizemode_area     ScattergeoMarkerSizemode = "area"
)

type ScattergeoMarkerSymbol

type ScattergeoMarkerSymbol string

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.

const (
	ScattergeoMarkerSymbol0                            ScattergeoMarkerSymbol = "0"
	ScattergeoMarkerSymbol_0                           ScattergeoMarkerSymbol = "0"
	ScattergeoMarkerSymbol_circle                      ScattergeoMarkerSymbol = "circle"
	ScattergeoMarkerSymbol100                          ScattergeoMarkerSymbol = "100"
	ScattergeoMarkerSymbol_100                         ScattergeoMarkerSymbol = "100"
	ScattergeoMarkerSymbol_circle_open                 ScattergeoMarkerSymbol = "circle-open"
	ScattergeoMarkerSymbol200                          ScattergeoMarkerSymbol = "200"
	ScattergeoMarkerSymbol_200                         ScattergeoMarkerSymbol = "200"
	ScattergeoMarkerSymbol_circle_dot                  ScattergeoMarkerSymbol = "circle-dot"
	ScattergeoMarkerSymbol300                          ScattergeoMarkerSymbol = "300"
	ScattergeoMarkerSymbol_300                         ScattergeoMarkerSymbol = "300"
	ScattergeoMarkerSymbol_circle_open_dot             ScattergeoMarkerSymbol = "circle-open-dot"
	ScattergeoMarkerSymbol1                            ScattergeoMarkerSymbol = "1"
	ScattergeoMarkerSymbol_1                           ScattergeoMarkerSymbol = "1"
	ScattergeoMarkerSymbol_square                      ScattergeoMarkerSymbol = "square"
	ScattergeoMarkerSymbol101                          ScattergeoMarkerSymbol = "101"
	ScattergeoMarkerSymbol_101                         ScattergeoMarkerSymbol = "101"
	ScattergeoMarkerSymbol_square_open                 ScattergeoMarkerSymbol = "square-open"
	ScattergeoMarkerSymbol201                          ScattergeoMarkerSymbol = "201"
	ScattergeoMarkerSymbol_201                         ScattergeoMarkerSymbol = "201"
	ScattergeoMarkerSymbol_square_dot                  ScattergeoMarkerSymbol = "square-dot"
	ScattergeoMarkerSymbol301                          ScattergeoMarkerSymbol = "301"
	ScattergeoMarkerSymbol_301                         ScattergeoMarkerSymbol = "301"
	ScattergeoMarkerSymbol_square_open_dot             ScattergeoMarkerSymbol = "square-open-dot"
	ScattergeoMarkerSymbol2                            ScattergeoMarkerSymbol = "2"
	ScattergeoMarkerSymbol_2                           ScattergeoMarkerSymbol = "2"
	ScattergeoMarkerSymbol_diamond                     ScattergeoMarkerSymbol = "diamond"
	ScattergeoMarkerSymbol102                          ScattergeoMarkerSymbol = "102"
	ScattergeoMarkerSymbol_102                         ScattergeoMarkerSymbol = "102"
	ScattergeoMarkerSymbol_diamond_open                ScattergeoMarkerSymbol = "diamond-open"
	ScattergeoMarkerSymbol202                          ScattergeoMarkerSymbol = "202"
	ScattergeoMarkerSymbol_202                         ScattergeoMarkerSymbol = "202"
	ScattergeoMarkerSymbol_diamond_dot                 ScattergeoMarkerSymbol = "diamond-dot"
	ScattergeoMarkerSymbol302                          ScattergeoMarkerSymbol = "302"
	ScattergeoMarkerSymbol_302                         ScattergeoMarkerSymbol = "302"
	ScattergeoMarkerSymbol_diamond_open_dot            ScattergeoMarkerSymbol = "diamond-open-dot"
	ScattergeoMarkerSymbol3                            ScattergeoMarkerSymbol = "3"
	ScattergeoMarkerSymbol_3                           ScattergeoMarkerSymbol = "3"
	ScattergeoMarkerSymbol_cross                       ScattergeoMarkerSymbol = "cross"
	ScattergeoMarkerSymbol103                          ScattergeoMarkerSymbol = "103"
	ScattergeoMarkerSymbol_103                         ScattergeoMarkerSymbol = "103"
	ScattergeoMarkerSymbol_cross_open                  ScattergeoMarkerSymbol = "cross-open"
	ScattergeoMarkerSymbol203                          ScattergeoMarkerSymbol = "203"
	ScattergeoMarkerSymbol_203                         ScattergeoMarkerSymbol = "203"
	ScattergeoMarkerSymbol_cross_dot                   ScattergeoMarkerSymbol = "cross-dot"
	ScattergeoMarkerSymbol303                          ScattergeoMarkerSymbol = "303"
	ScattergeoMarkerSymbol_303                         ScattergeoMarkerSymbol = "303"
	ScattergeoMarkerSymbol_cross_open_dot              ScattergeoMarkerSymbol = "cross-open-dot"
	ScattergeoMarkerSymbol4                            ScattergeoMarkerSymbol = "4"
	ScattergeoMarkerSymbol_4                           ScattergeoMarkerSymbol = "4"
	ScattergeoMarkerSymbol_x                           ScattergeoMarkerSymbol = "x"
	ScattergeoMarkerSymbol104                          ScattergeoMarkerSymbol = "104"
	ScattergeoMarkerSymbol_104                         ScattergeoMarkerSymbol = "104"
	ScattergeoMarkerSymbol_x_open                      ScattergeoMarkerSymbol = "x-open"
	ScattergeoMarkerSymbol204                          ScattergeoMarkerSymbol = "204"
	ScattergeoMarkerSymbol_204                         ScattergeoMarkerSymbol = "204"
	ScattergeoMarkerSymbol_x_dot                       ScattergeoMarkerSymbol = "x-dot"
	ScattergeoMarkerSymbol304                          ScattergeoMarkerSymbol = "304"
	ScattergeoMarkerSymbol_304                         ScattergeoMarkerSymbol = "304"
	ScattergeoMarkerSymbol_x_open_dot                  ScattergeoMarkerSymbol = "x-open-dot"
	ScattergeoMarkerSymbol5                            ScattergeoMarkerSymbol = "5"
	ScattergeoMarkerSymbol_5                           ScattergeoMarkerSymbol = "5"
	ScattergeoMarkerSymbol_triangle_up                 ScattergeoMarkerSymbol = "triangle-up"
	ScattergeoMarkerSymbol105                          ScattergeoMarkerSymbol = "105"
	ScattergeoMarkerSymbol_105                         ScattergeoMarkerSymbol = "105"
	ScattergeoMarkerSymbol_triangle_up_open            ScattergeoMarkerSymbol = "triangle-up-open"
	ScattergeoMarkerSymbol205                          ScattergeoMarkerSymbol = "205"
	ScattergeoMarkerSymbol_205                         ScattergeoMarkerSymbol = "205"
	ScattergeoMarkerSymbol_triangle_up_dot             ScattergeoMarkerSymbol = "triangle-up-dot"
	ScattergeoMarkerSymbol305                          ScattergeoMarkerSymbol = "305"
	ScattergeoMarkerSymbol_305                         ScattergeoMarkerSymbol = "305"
	ScattergeoMarkerSymbol_triangle_up_open_dot        ScattergeoMarkerSymbol = "triangle-up-open-dot"
	ScattergeoMarkerSymbol6                            ScattergeoMarkerSymbol = "6"
	ScattergeoMarkerSymbol_6                           ScattergeoMarkerSymbol = "6"
	ScattergeoMarkerSymbol_triangle_down               ScattergeoMarkerSymbol = "triangle-down"
	ScattergeoMarkerSymbol106                          ScattergeoMarkerSymbol = "106"
	ScattergeoMarkerSymbol_106                         ScattergeoMarkerSymbol = "106"
	ScattergeoMarkerSymbol_triangle_down_open          ScattergeoMarkerSymbol = "triangle-down-open"
	ScattergeoMarkerSymbol206                          ScattergeoMarkerSymbol = "206"
	ScattergeoMarkerSymbol_206                         ScattergeoMarkerSymbol = "206"
	ScattergeoMarkerSymbol_triangle_down_dot           ScattergeoMarkerSymbol = "triangle-down-dot"
	ScattergeoMarkerSymbol306                          ScattergeoMarkerSymbol = "306"
	ScattergeoMarkerSymbol_306                         ScattergeoMarkerSymbol = "306"
	ScattergeoMarkerSymbol_triangle_down_open_dot      ScattergeoMarkerSymbol = "triangle-down-open-dot"
	ScattergeoMarkerSymbol7                            ScattergeoMarkerSymbol = "7"
	ScattergeoMarkerSymbol_7                           ScattergeoMarkerSymbol = "7"
	ScattergeoMarkerSymbol_triangle_left               ScattergeoMarkerSymbol = "triangle-left"
	ScattergeoMarkerSymbol107                          ScattergeoMarkerSymbol = "107"
	ScattergeoMarkerSymbol_107                         ScattergeoMarkerSymbol = "107"
	ScattergeoMarkerSymbol_triangle_left_open          ScattergeoMarkerSymbol = "triangle-left-open"
	ScattergeoMarkerSymbol207                          ScattergeoMarkerSymbol = "207"
	ScattergeoMarkerSymbol_207                         ScattergeoMarkerSymbol = "207"
	ScattergeoMarkerSymbol_triangle_left_dot           ScattergeoMarkerSymbol = "triangle-left-dot"
	ScattergeoMarkerSymbol307                          ScattergeoMarkerSymbol = "307"
	ScattergeoMarkerSymbol_307                         ScattergeoMarkerSymbol = "307"
	ScattergeoMarkerSymbol_triangle_left_open_dot      ScattergeoMarkerSymbol = "triangle-left-open-dot"
	ScattergeoMarkerSymbol8                            ScattergeoMarkerSymbol = "8"
	ScattergeoMarkerSymbol_8                           ScattergeoMarkerSymbol = "8"
	ScattergeoMarkerSymbol_triangle_right              ScattergeoMarkerSymbol = "triangle-right"
	ScattergeoMarkerSymbol108                          ScattergeoMarkerSymbol = "108"
	ScattergeoMarkerSymbol_108                         ScattergeoMarkerSymbol = "108"
	ScattergeoMarkerSymbol_triangle_right_open         ScattergeoMarkerSymbol = "triangle-right-open"
	ScattergeoMarkerSymbol208                          ScattergeoMarkerSymbol = "208"
	ScattergeoMarkerSymbol_208                         ScattergeoMarkerSymbol = "208"
	ScattergeoMarkerSymbol_triangle_right_dot          ScattergeoMarkerSymbol = "triangle-right-dot"
	ScattergeoMarkerSymbol308                          ScattergeoMarkerSymbol = "308"
	ScattergeoMarkerSymbol_308                         ScattergeoMarkerSymbol = "308"
	ScattergeoMarkerSymbol_triangle_right_open_dot     ScattergeoMarkerSymbol = "triangle-right-open-dot"
	ScattergeoMarkerSymbol9                            ScattergeoMarkerSymbol = "9"
	ScattergeoMarkerSymbol_9                           ScattergeoMarkerSymbol = "9"
	ScattergeoMarkerSymbol_triangle_ne                 ScattergeoMarkerSymbol = "triangle-ne"
	ScattergeoMarkerSymbol109                          ScattergeoMarkerSymbol = "109"
	ScattergeoMarkerSymbol_109                         ScattergeoMarkerSymbol = "109"
	ScattergeoMarkerSymbol_triangle_ne_open            ScattergeoMarkerSymbol = "triangle-ne-open"
	ScattergeoMarkerSymbol209                          ScattergeoMarkerSymbol = "209"
	ScattergeoMarkerSymbol_209                         ScattergeoMarkerSymbol = "209"
	ScattergeoMarkerSymbol_triangle_ne_dot             ScattergeoMarkerSymbol = "triangle-ne-dot"
	ScattergeoMarkerSymbol309                          ScattergeoMarkerSymbol = "309"
	ScattergeoMarkerSymbol_309                         ScattergeoMarkerSymbol = "309"
	ScattergeoMarkerSymbol_triangle_ne_open_dot        ScattergeoMarkerSymbol = "triangle-ne-open-dot"
	ScattergeoMarkerSymbol10                           ScattergeoMarkerSymbol = "10"
	ScattergeoMarkerSymbol_10                          ScattergeoMarkerSymbol = "10"
	ScattergeoMarkerSymbol_triangle_se                 ScattergeoMarkerSymbol = "triangle-se"
	ScattergeoMarkerSymbol110                          ScattergeoMarkerSymbol = "110"
	ScattergeoMarkerSymbol_110                         ScattergeoMarkerSymbol = "110"
	ScattergeoMarkerSymbol_triangle_se_open            ScattergeoMarkerSymbol = "triangle-se-open"
	ScattergeoMarkerSymbol210                          ScattergeoMarkerSymbol = "210"
	ScattergeoMarkerSymbol_210                         ScattergeoMarkerSymbol = "210"
	ScattergeoMarkerSymbol_triangle_se_dot             ScattergeoMarkerSymbol = "triangle-se-dot"
	ScattergeoMarkerSymbol310                          ScattergeoMarkerSymbol = "310"
	ScattergeoMarkerSymbol_310                         ScattergeoMarkerSymbol = "310"
	ScattergeoMarkerSymbol_triangle_se_open_dot        ScattergeoMarkerSymbol = "triangle-se-open-dot"
	ScattergeoMarkerSymbol11                           ScattergeoMarkerSymbol = "11"
	ScattergeoMarkerSymbol_11                          ScattergeoMarkerSymbol = "11"
	ScattergeoMarkerSymbol_triangle_sw                 ScattergeoMarkerSymbol = "triangle-sw"
	ScattergeoMarkerSymbol111                          ScattergeoMarkerSymbol = "111"
	ScattergeoMarkerSymbol_111                         ScattergeoMarkerSymbol = "111"
	ScattergeoMarkerSymbol_triangle_sw_open            ScattergeoMarkerSymbol = "triangle-sw-open"
	ScattergeoMarkerSymbol211                          ScattergeoMarkerSymbol = "211"
	ScattergeoMarkerSymbol_211                         ScattergeoMarkerSymbol = "211"
	ScattergeoMarkerSymbol_triangle_sw_dot             ScattergeoMarkerSymbol = "triangle-sw-dot"
	ScattergeoMarkerSymbol311                          ScattergeoMarkerSymbol = "311"
	ScattergeoMarkerSymbol_311                         ScattergeoMarkerSymbol = "311"
	ScattergeoMarkerSymbol_triangle_sw_open_dot        ScattergeoMarkerSymbol = "triangle-sw-open-dot"
	ScattergeoMarkerSymbol12                           ScattergeoMarkerSymbol = "12"
	ScattergeoMarkerSymbol_12                          ScattergeoMarkerSymbol = "12"
	ScattergeoMarkerSymbol_triangle_nw                 ScattergeoMarkerSymbol = "triangle-nw"
	ScattergeoMarkerSymbol112                          ScattergeoMarkerSymbol = "112"
	ScattergeoMarkerSymbol_112                         ScattergeoMarkerSymbol = "112"
	ScattergeoMarkerSymbol_triangle_nw_open            ScattergeoMarkerSymbol = "triangle-nw-open"
	ScattergeoMarkerSymbol212                          ScattergeoMarkerSymbol = "212"
	ScattergeoMarkerSymbol_212                         ScattergeoMarkerSymbol = "212"
	ScattergeoMarkerSymbol_triangle_nw_dot             ScattergeoMarkerSymbol = "triangle-nw-dot"
	ScattergeoMarkerSymbol312                          ScattergeoMarkerSymbol = "312"
	ScattergeoMarkerSymbol_312                         ScattergeoMarkerSymbol = "312"
	ScattergeoMarkerSymbol_triangle_nw_open_dot        ScattergeoMarkerSymbol = "triangle-nw-open-dot"
	ScattergeoMarkerSymbol13                           ScattergeoMarkerSymbol = "13"
	ScattergeoMarkerSymbol_13                          ScattergeoMarkerSymbol = "13"
	ScattergeoMarkerSymbol_pentagon                    ScattergeoMarkerSymbol = "pentagon"
	ScattergeoMarkerSymbol113                          ScattergeoMarkerSymbol = "113"
	ScattergeoMarkerSymbol_113                         ScattergeoMarkerSymbol = "113"
	ScattergeoMarkerSymbol_pentagon_open               ScattergeoMarkerSymbol = "pentagon-open"
	ScattergeoMarkerSymbol213                          ScattergeoMarkerSymbol = "213"
	ScattergeoMarkerSymbol_213                         ScattergeoMarkerSymbol = "213"
	ScattergeoMarkerSymbol_pentagon_dot                ScattergeoMarkerSymbol = "pentagon-dot"
	ScattergeoMarkerSymbol313                          ScattergeoMarkerSymbol = "313"
	ScattergeoMarkerSymbol_313                         ScattergeoMarkerSymbol = "313"
	ScattergeoMarkerSymbol_pentagon_open_dot           ScattergeoMarkerSymbol = "pentagon-open-dot"
	ScattergeoMarkerSymbol14                           ScattergeoMarkerSymbol = "14"
	ScattergeoMarkerSymbol_14                          ScattergeoMarkerSymbol = "14"
	ScattergeoMarkerSymbol_hexagon                     ScattergeoMarkerSymbol = "hexagon"
	ScattergeoMarkerSymbol114                          ScattergeoMarkerSymbol = "114"
	ScattergeoMarkerSymbol_114                         ScattergeoMarkerSymbol = "114"
	ScattergeoMarkerSymbol_hexagon_open                ScattergeoMarkerSymbol = "hexagon-open"
	ScattergeoMarkerSymbol214                          ScattergeoMarkerSymbol = "214"
	ScattergeoMarkerSymbol_214                         ScattergeoMarkerSymbol = "214"
	ScattergeoMarkerSymbol_hexagon_dot                 ScattergeoMarkerSymbol = "hexagon-dot"
	ScattergeoMarkerSymbol314                          ScattergeoMarkerSymbol = "314"
	ScattergeoMarkerSymbol_314                         ScattergeoMarkerSymbol = "314"
	ScattergeoMarkerSymbol_hexagon_open_dot            ScattergeoMarkerSymbol = "hexagon-open-dot"
	ScattergeoMarkerSymbol15                           ScattergeoMarkerSymbol = "15"
	ScattergeoMarkerSymbol_15                          ScattergeoMarkerSymbol = "15"
	ScattergeoMarkerSymbol_hexagon2                    ScattergeoMarkerSymbol = "hexagon2"
	ScattergeoMarkerSymbol115                          ScattergeoMarkerSymbol = "115"
	ScattergeoMarkerSymbol_115                         ScattergeoMarkerSymbol = "115"
	ScattergeoMarkerSymbol_hexagon2_open               ScattergeoMarkerSymbol = "hexagon2-open"
	ScattergeoMarkerSymbol215                          ScattergeoMarkerSymbol = "215"
	ScattergeoMarkerSymbol_215                         ScattergeoMarkerSymbol = "215"
	ScattergeoMarkerSymbol_hexagon2_dot                ScattergeoMarkerSymbol = "hexagon2-dot"
	ScattergeoMarkerSymbol315                          ScattergeoMarkerSymbol = "315"
	ScattergeoMarkerSymbol_315                         ScattergeoMarkerSymbol = "315"
	ScattergeoMarkerSymbol_hexagon2_open_dot           ScattergeoMarkerSymbol = "hexagon2-open-dot"
	ScattergeoMarkerSymbol16                           ScattergeoMarkerSymbol = "16"
	ScattergeoMarkerSymbol_16                          ScattergeoMarkerSymbol = "16"
	ScattergeoMarkerSymbol_octagon                     ScattergeoMarkerSymbol = "octagon"
	ScattergeoMarkerSymbol116                          ScattergeoMarkerSymbol = "116"
	ScattergeoMarkerSymbol_116                         ScattergeoMarkerSymbol = "116"
	ScattergeoMarkerSymbol_octagon_open                ScattergeoMarkerSymbol = "octagon-open"
	ScattergeoMarkerSymbol216                          ScattergeoMarkerSymbol = "216"
	ScattergeoMarkerSymbol_216                         ScattergeoMarkerSymbol = "216"
	ScattergeoMarkerSymbol_octagon_dot                 ScattergeoMarkerSymbol = "octagon-dot"
	ScattergeoMarkerSymbol316                          ScattergeoMarkerSymbol = "316"
	ScattergeoMarkerSymbol_316                         ScattergeoMarkerSymbol = "316"
	ScattergeoMarkerSymbol_octagon_open_dot            ScattergeoMarkerSymbol = "octagon-open-dot"
	ScattergeoMarkerSymbol17                           ScattergeoMarkerSymbol = "17"
	ScattergeoMarkerSymbol_17                          ScattergeoMarkerSymbol = "17"
	ScattergeoMarkerSymbol_star                        ScattergeoMarkerSymbol = "star"
	ScattergeoMarkerSymbol117                          ScattergeoMarkerSymbol = "117"
	ScattergeoMarkerSymbol_117                         ScattergeoMarkerSymbol = "117"
	ScattergeoMarkerSymbol_star_open                   ScattergeoMarkerSymbol = "star-open"
	ScattergeoMarkerSymbol217                          ScattergeoMarkerSymbol = "217"
	ScattergeoMarkerSymbol_217                         ScattergeoMarkerSymbol = "217"
	ScattergeoMarkerSymbol_star_dot                    ScattergeoMarkerSymbol = "star-dot"
	ScattergeoMarkerSymbol317                          ScattergeoMarkerSymbol = "317"
	ScattergeoMarkerSymbol_317                         ScattergeoMarkerSymbol = "317"
	ScattergeoMarkerSymbol_star_open_dot               ScattergeoMarkerSymbol = "star-open-dot"
	ScattergeoMarkerSymbol18                           ScattergeoMarkerSymbol = "18"
	ScattergeoMarkerSymbol_18                          ScattergeoMarkerSymbol = "18"
	ScattergeoMarkerSymbol_hexagram                    ScattergeoMarkerSymbol = "hexagram"
	ScattergeoMarkerSymbol118                          ScattergeoMarkerSymbol = "118"
	ScattergeoMarkerSymbol_118                         ScattergeoMarkerSymbol = "118"
	ScattergeoMarkerSymbol_hexagram_open               ScattergeoMarkerSymbol = "hexagram-open"
	ScattergeoMarkerSymbol218                          ScattergeoMarkerSymbol = "218"
	ScattergeoMarkerSymbol_218                         ScattergeoMarkerSymbol = "218"
	ScattergeoMarkerSymbol_hexagram_dot                ScattergeoMarkerSymbol = "hexagram-dot"
	ScattergeoMarkerSymbol318                          ScattergeoMarkerSymbol = "318"
	ScattergeoMarkerSymbol_318                         ScattergeoMarkerSymbol = "318"
	ScattergeoMarkerSymbol_hexagram_open_dot           ScattergeoMarkerSymbol = "hexagram-open-dot"
	ScattergeoMarkerSymbol19                           ScattergeoMarkerSymbol = "19"
	ScattergeoMarkerSymbol_19                          ScattergeoMarkerSymbol = "19"
	ScattergeoMarkerSymbol_star_triangle_up            ScattergeoMarkerSymbol = "star-triangle-up"
	ScattergeoMarkerSymbol119                          ScattergeoMarkerSymbol = "119"
	ScattergeoMarkerSymbol_119                         ScattergeoMarkerSymbol = "119"
	ScattergeoMarkerSymbol_star_triangle_up_open       ScattergeoMarkerSymbol = "star-triangle-up-open"
	ScattergeoMarkerSymbol219                          ScattergeoMarkerSymbol = "219"
	ScattergeoMarkerSymbol_219                         ScattergeoMarkerSymbol = "219"
	ScattergeoMarkerSymbol_star_triangle_up_dot        ScattergeoMarkerSymbol = "star-triangle-up-dot"
	ScattergeoMarkerSymbol319                          ScattergeoMarkerSymbol = "319"
	ScattergeoMarkerSymbol_319                         ScattergeoMarkerSymbol = "319"
	ScattergeoMarkerSymbol_star_triangle_up_open_dot   ScattergeoMarkerSymbol = "star-triangle-up-open-dot"
	ScattergeoMarkerSymbol20                           ScattergeoMarkerSymbol = "20"
	ScattergeoMarkerSymbol_20                          ScattergeoMarkerSymbol = "20"
	ScattergeoMarkerSymbol_star_triangle_down          ScattergeoMarkerSymbol = "star-triangle-down"
	ScattergeoMarkerSymbol120                          ScattergeoMarkerSymbol = "120"
	ScattergeoMarkerSymbol_120                         ScattergeoMarkerSymbol = "120"
	ScattergeoMarkerSymbol_star_triangle_down_open     ScattergeoMarkerSymbol = "star-triangle-down-open"
	ScattergeoMarkerSymbol220                          ScattergeoMarkerSymbol = "220"
	ScattergeoMarkerSymbol_220                         ScattergeoMarkerSymbol = "220"
	ScattergeoMarkerSymbol_star_triangle_down_dot      ScattergeoMarkerSymbol = "star-triangle-down-dot"
	ScattergeoMarkerSymbol320                          ScattergeoMarkerSymbol = "320"
	ScattergeoMarkerSymbol_320                         ScattergeoMarkerSymbol = "320"
	ScattergeoMarkerSymbol_star_triangle_down_open_dot ScattergeoMarkerSymbol = "star-triangle-down-open-dot"
	ScattergeoMarkerSymbol21                           ScattergeoMarkerSymbol = "21"
	ScattergeoMarkerSymbol_21                          ScattergeoMarkerSymbol = "21"
	ScattergeoMarkerSymbol_star_square                 ScattergeoMarkerSymbol = "star-square"
	ScattergeoMarkerSymbol121                          ScattergeoMarkerSymbol = "121"
	ScattergeoMarkerSymbol_121                         ScattergeoMarkerSymbol = "121"
	ScattergeoMarkerSymbol_star_square_open            ScattergeoMarkerSymbol = "star-square-open"
	ScattergeoMarkerSymbol221                          ScattergeoMarkerSymbol = "221"
	ScattergeoMarkerSymbol_221                         ScattergeoMarkerSymbol = "221"
	ScattergeoMarkerSymbol_star_square_dot             ScattergeoMarkerSymbol = "star-square-dot"
	ScattergeoMarkerSymbol321                          ScattergeoMarkerSymbol = "321"
	ScattergeoMarkerSymbol_321                         ScattergeoMarkerSymbol = "321"
	ScattergeoMarkerSymbol_star_square_open_dot        ScattergeoMarkerSymbol = "star-square-open-dot"
	ScattergeoMarkerSymbol22                           ScattergeoMarkerSymbol = "22"
	ScattergeoMarkerSymbol_22                          ScattergeoMarkerSymbol = "22"
	ScattergeoMarkerSymbol_star_diamond                ScattergeoMarkerSymbol = "star-diamond"
	ScattergeoMarkerSymbol122                          ScattergeoMarkerSymbol = "122"
	ScattergeoMarkerSymbol_122                         ScattergeoMarkerSymbol = "122"
	ScattergeoMarkerSymbol_star_diamond_open           ScattergeoMarkerSymbol = "star-diamond-open"
	ScattergeoMarkerSymbol222                          ScattergeoMarkerSymbol = "222"
	ScattergeoMarkerSymbol_222                         ScattergeoMarkerSymbol = "222"
	ScattergeoMarkerSymbol_star_diamond_dot            ScattergeoMarkerSymbol = "star-diamond-dot"
	ScattergeoMarkerSymbol322                          ScattergeoMarkerSymbol = "322"
	ScattergeoMarkerSymbol_322                         ScattergeoMarkerSymbol = "322"
	ScattergeoMarkerSymbol_star_diamond_open_dot       ScattergeoMarkerSymbol = "star-diamond-open-dot"
	ScattergeoMarkerSymbol23                           ScattergeoMarkerSymbol = "23"
	ScattergeoMarkerSymbol_23                          ScattergeoMarkerSymbol = "23"
	ScattergeoMarkerSymbol_diamond_tall                ScattergeoMarkerSymbol = "diamond-tall"
	ScattergeoMarkerSymbol123                          ScattergeoMarkerSymbol = "123"
	ScattergeoMarkerSymbol_123                         ScattergeoMarkerSymbol = "123"
	ScattergeoMarkerSymbol_diamond_tall_open           ScattergeoMarkerSymbol = "diamond-tall-open"
	ScattergeoMarkerSymbol223                          ScattergeoMarkerSymbol = "223"
	ScattergeoMarkerSymbol_223                         ScattergeoMarkerSymbol = "223"
	ScattergeoMarkerSymbol_diamond_tall_dot            ScattergeoMarkerSymbol = "diamond-tall-dot"
	ScattergeoMarkerSymbol323                          ScattergeoMarkerSymbol = "323"
	ScattergeoMarkerSymbol_323                         ScattergeoMarkerSymbol = "323"
	ScattergeoMarkerSymbol_diamond_tall_open_dot       ScattergeoMarkerSymbol = "diamond-tall-open-dot"
	ScattergeoMarkerSymbol24                           ScattergeoMarkerSymbol = "24"
	ScattergeoMarkerSymbol_24                          ScattergeoMarkerSymbol = "24"
	ScattergeoMarkerSymbol_diamond_wide                ScattergeoMarkerSymbol = "diamond-wide"
	ScattergeoMarkerSymbol124                          ScattergeoMarkerSymbol = "124"
	ScattergeoMarkerSymbol_124                         ScattergeoMarkerSymbol = "124"
	ScattergeoMarkerSymbol_diamond_wide_open           ScattergeoMarkerSymbol = "diamond-wide-open"
	ScattergeoMarkerSymbol224                          ScattergeoMarkerSymbol = "224"
	ScattergeoMarkerSymbol_224                         ScattergeoMarkerSymbol = "224"
	ScattergeoMarkerSymbol_diamond_wide_dot            ScattergeoMarkerSymbol = "diamond-wide-dot"
	ScattergeoMarkerSymbol324                          ScattergeoMarkerSymbol = "324"
	ScattergeoMarkerSymbol_324                         ScattergeoMarkerSymbol = "324"
	ScattergeoMarkerSymbol_diamond_wide_open_dot       ScattergeoMarkerSymbol = "diamond-wide-open-dot"
	ScattergeoMarkerSymbol25                           ScattergeoMarkerSymbol = "25"
	ScattergeoMarkerSymbol_25                          ScattergeoMarkerSymbol = "25"
	ScattergeoMarkerSymbol_hourglass                   ScattergeoMarkerSymbol = "hourglass"
	ScattergeoMarkerSymbol125                          ScattergeoMarkerSymbol = "125"
	ScattergeoMarkerSymbol_125                         ScattergeoMarkerSymbol = "125"
	ScattergeoMarkerSymbol_hourglass_open              ScattergeoMarkerSymbol = "hourglass-open"
	ScattergeoMarkerSymbol26                           ScattergeoMarkerSymbol = "26"
	ScattergeoMarkerSymbol_26                          ScattergeoMarkerSymbol = "26"
	ScattergeoMarkerSymbol_bowtie                      ScattergeoMarkerSymbol = "bowtie"
	ScattergeoMarkerSymbol126                          ScattergeoMarkerSymbol = "126"
	ScattergeoMarkerSymbol_126                         ScattergeoMarkerSymbol = "126"
	ScattergeoMarkerSymbol_bowtie_open                 ScattergeoMarkerSymbol = "bowtie-open"
	ScattergeoMarkerSymbol27                           ScattergeoMarkerSymbol = "27"
	ScattergeoMarkerSymbol_27                          ScattergeoMarkerSymbol = "27"
	ScattergeoMarkerSymbol_circle_cross                ScattergeoMarkerSymbol = "circle-cross"
	ScattergeoMarkerSymbol127                          ScattergeoMarkerSymbol = "127"
	ScattergeoMarkerSymbol_127                         ScattergeoMarkerSymbol = "127"
	ScattergeoMarkerSymbol_circle_cross_open           ScattergeoMarkerSymbol = "circle-cross-open"
	ScattergeoMarkerSymbol28                           ScattergeoMarkerSymbol = "28"
	ScattergeoMarkerSymbol_28                          ScattergeoMarkerSymbol = "28"
	ScattergeoMarkerSymbol_circle_x                    ScattergeoMarkerSymbol = "circle-x"
	ScattergeoMarkerSymbol128                          ScattergeoMarkerSymbol = "128"
	ScattergeoMarkerSymbol_128                         ScattergeoMarkerSymbol = "128"
	ScattergeoMarkerSymbol_circle_x_open               ScattergeoMarkerSymbol = "circle-x-open"
	ScattergeoMarkerSymbol29                           ScattergeoMarkerSymbol = "29"
	ScattergeoMarkerSymbol_29                          ScattergeoMarkerSymbol = "29"
	ScattergeoMarkerSymbol_square_cross                ScattergeoMarkerSymbol = "square-cross"
	ScattergeoMarkerSymbol129                          ScattergeoMarkerSymbol = "129"
	ScattergeoMarkerSymbol_129                         ScattergeoMarkerSymbol = "129"
	ScattergeoMarkerSymbol_square_cross_open           ScattergeoMarkerSymbol = "square-cross-open"
	ScattergeoMarkerSymbol30                           ScattergeoMarkerSymbol = "30"
	ScattergeoMarkerSymbol_30                          ScattergeoMarkerSymbol = "30"
	ScattergeoMarkerSymbol_square_x                    ScattergeoMarkerSymbol = "square-x"
	ScattergeoMarkerSymbol130                          ScattergeoMarkerSymbol = "130"
	ScattergeoMarkerSymbol_130                         ScattergeoMarkerSymbol = "130"
	ScattergeoMarkerSymbol_square_x_open               ScattergeoMarkerSymbol = "square-x-open"
	ScattergeoMarkerSymbol31                           ScattergeoMarkerSymbol = "31"
	ScattergeoMarkerSymbol_31                          ScattergeoMarkerSymbol = "31"
	ScattergeoMarkerSymbol_diamond_cross               ScattergeoMarkerSymbol = "diamond-cross"
	ScattergeoMarkerSymbol131                          ScattergeoMarkerSymbol = "131"
	ScattergeoMarkerSymbol_131                         ScattergeoMarkerSymbol = "131"
	ScattergeoMarkerSymbol_diamond_cross_open          ScattergeoMarkerSymbol = "diamond-cross-open"
	ScattergeoMarkerSymbol32                           ScattergeoMarkerSymbol = "32"
	ScattergeoMarkerSymbol_32                          ScattergeoMarkerSymbol = "32"
	ScattergeoMarkerSymbol_diamond_x                   ScattergeoMarkerSymbol = "diamond-x"
	ScattergeoMarkerSymbol132                          ScattergeoMarkerSymbol = "132"
	ScattergeoMarkerSymbol_132                         ScattergeoMarkerSymbol = "132"
	ScattergeoMarkerSymbol_diamond_x_open              ScattergeoMarkerSymbol = "diamond-x-open"
	ScattergeoMarkerSymbol33                           ScattergeoMarkerSymbol = "33"
	ScattergeoMarkerSymbol_33                          ScattergeoMarkerSymbol = "33"
	ScattergeoMarkerSymbol_cross_thin                  ScattergeoMarkerSymbol = "cross-thin"
	ScattergeoMarkerSymbol133                          ScattergeoMarkerSymbol = "133"
	ScattergeoMarkerSymbol_133                         ScattergeoMarkerSymbol = "133"
	ScattergeoMarkerSymbol_cross_thin_open             ScattergeoMarkerSymbol = "cross-thin-open"
	ScattergeoMarkerSymbol34                           ScattergeoMarkerSymbol = "34"
	ScattergeoMarkerSymbol_34                          ScattergeoMarkerSymbol = "34"
	ScattergeoMarkerSymbol_x_thin                      ScattergeoMarkerSymbol = "x-thin"
	ScattergeoMarkerSymbol134                          ScattergeoMarkerSymbol = "134"
	ScattergeoMarkerSymbol_134                         ScattergeoMarkerSymbol = "134"
	ScattergeoMarkerSymbol_x_thin_open                 ScattergeoMarkerSymbol = "x-thin-open"
	ScattergeoMarkerSymbol35                           ScattergeoMarkerSymbol = "35"
	ScattergeoMarkerSymbol_35                          ScattergeoMarkerSymbol = "35"
	ScattergeoMarkerSymbol_asterisk                    ScattergeoMarkerSymbol = "asterisk"
	ScattergeoMarkerSymbol135                          ScattergeoMarkerSymbol = "135"
	ScattergeoMarkerSymbol_135                         ScattergeoMarkerSymbol = "135"
	ScattergeoMarkerSymbol_asterisk_open               ScattergeoMarkerSymbol = "asterisk-open"
	ScattergeoMarkerSymbol36                           ScattergeoMarkerSymbol = "36"
	ScattergeoMarkerSymbol_36                          ScattergeoMarkerSymbol = "36"
	ScattergeoMarkerSymbol_hash                        ScattergeoMarkerSymbol = "hash"
	ScattergeoMarkerSymbol136                          ScattergeoMarkerSymbol = "136"
	ScattergeoMarkerSymbol_136                         ScattergeoMarkerSymbol = "136"
	ScattergeoMarkerSymbol_hash_open                   ScattergeoMarkerSymbol = "hash-open"
	ScattergeoMarkerSymbol236                          ScattergeoMarkerSymbol = "236"
	ScattergeoMarkerSymbol_236                         ScattergeoMarkerSymbol = "236"
	ScattergeoMarkerSymbol_hash_dot                    ScattergeoMarkerSymbol = "hash-dot"
	ScattergeoMarkerSymbol336                          ScattergeoMarkerSymbol = "336"
	ScattergeoMarkerSymbol_336                         ScattergeoMarkerSymbol = "336"
	ScattergeoMarkerSymbol_hash_open_dot               ScattergeoMarkerSymbol = "hash-open-dot"
	ScattergeoMarkerSymbol37                           ScattergeoMarkerSymbol = "37"
	ScattergeoMarkerSymbol_37                          ScattergeoMarkerSymbol = "37"
	ScattergeoMarkerSymbol_y_up                        ScattergeoMarkerSymbol = "y-up"
	ScattergeoMarkerSymbol137                          ScattergeoMarkerSymbol = "137"
	ScattergeoMarkerSymbol_137                         ScattergeoMarkerSymbol = "137"
	ScattergeoMarkerSymbol_y_up_open                   ScattergeoMarkerSymbol = "y-up-open"
	ScattergeoMarkerSymbol38                           ScattergeoMarkerSymbol = "38"
	ScattergeoMarkerSymbol_38                          ScattergeoMarkerSymbol = "38"
	ScattergeoMarkerSymbol_y_down                      ScattergeoMarkerSymbol = "y-down"
	ScattergeoMarkerSymbol138                          ScattergeoMarkerSymbol = "138"
	ScattergeoMarkerSymbol_138                         ScattergeoMarkerSymbol = "138"
	ScattergeoMarkerSymbol_y_down_open                 ScattergeoMarkerSymbol = "y-down-open"
	ScattergeoMarkerSymbol39                           ScattergeoMarkerSymbol = "39"
	ScattergeoMarkerSymbol_39                          ScattergeoMarkerSymbol = "39"
	ScattergeoMarkerSymbol_y_left                      ScattergeoMarkerSymbol = "y-left"
	ScattergeoMarkerSymbol139                          ScattergeoMarkerSymbol = "139"
	ScattergeoMarkerSymbol_139                         ScattergeoMarkerSymbol = "139"
	ScattergeoMarkerSymbol_y_left_open                 ScattergeoMarkerSymbol = "y-left-open"
	ScattergeoMarkerSymbol40                           ScattergeoMarkerSymbol = "40"
	ScattergeoMarkerSymbol_40                          ScattergeoMarkerSymbol = "40"
	ScattergeoMarkerSymbol_y_right                     ScattergeoMarkerSymbol = "y-right"
	ScattergeoMarkerSymbol140                          ScattergeoMarkerSymbol = "140"
	ScattergeoMarkerSymbol_140                         ScattergeoMarkerSymbol = "140"
	ScattergeoMarkerSymbol_y_right_open                ScattergeoMarkerSymbol = "y-right-open"
	ScattergeoMarkerSymbol41                           ScattergeoMarkerSymbol = "41"
	ScattergeoMarkerSymbol_41                          ScattergeoMarkerSymbol = "41"
	ScattergeoMarkerSymbol_line_ew                     ScattergeoMarkerSymbol = "line-ew"
	ScattergeoMarkerSymbol141                          ScattergeoMarkerSymbol = "141"
	ScattergeoMarkerSymbol_141                         ScattergeoMarkerSymbol = "141"
	ScattergeoMarkerSymbol_line_ew_open                ScattergeoMarkerSymbol = "line-ew-open"
	ScattergeoMarkerSymbol42                           ScattergeoMarkerSymbol = "42"
	ScattergeoMarkerSymbol_42                          ScattergeoMarkerSymbol = "42"
	ScattergeoMarkerSymbol_line_ns                     ScattergeoMarkerSymbol = "line-ns"
	ScattergeoMarkerSymbol142                          ScattergeoMarkerSymbol = "142"
	ScattergeoMarkerSymbol_142                         ScattergeoMarkerSymbol = "142"
	ScattergeoMarkerSymbol_line_ns_open                ScattergeoMarkerSymbol = "line-ns-open"
	ScattergeoMarkerSymbol43                           ScattergeoMarkerSymbol = "43"
	ScattergeoMarkerSymbol_43                          ScattergeoMarkerSymbol = "43"
	ScattergeoMarkerSymbol_line_ne                     ScattergeoMarkerSymbol = "line-ne"
	ScattergeoMarkerSymbol143                          ScattergeoMarkerSymbol = "143"
	ScattergeoMarkerSymbol_143                         ScattergeoMarkerSymbol = "143"
	ScattergeoMarkerSymbol_line_ne_open                ScattergeoMarkerSymbol = "line-ne-open"
	ScattergeoMarkerSymbol44                           ScattergeoMarkerSymbol = "44"
	ScattergeoMarkerSymbol_44                          ScattergeoMarkerSymbol = "44"
	ScattergeoMarkerSymbol_line_nw                     ScattergeoMarkerSymbol = "line-nw"
	ScattergeoMarkerSymbol144                          ScattergeoMarkerSymbol = "144"
	ScattergeoMarkerSymbol_144                         ScattergeoMarkerSymbol = "144"
	ScattergeoMarkerSymbol_line_nw_open                ScattergeoMarkerSymbol = "line-nw-open"
	ScattergeoMarkerSymbol45                           ScattergeoMarkerSymbol = "45"
	ScattergeoMarkerSymbol_45                          ScattergeoMarkerSymbol = "45"
	ScattergeoMarkerSymbol_arrow_up                    ScattergeoMarkerSymbol = "arrow-up"
	ScattergeoMarkerSymbol145                          ScattergeoMarkerSymbol = "145"
	ScattergeoMarkerSymbol_145                         ScattergeoMarkerSymbol = "145"
	ScattergeoMarkerSymbol_arrow_up_open               ScattergeoMarkerSymbol = "arrow-up-open"
	ScattergeoMarkerSymbol46                           ScattergeoMarkerSymbol = "46"
	ScattergeoMarkerSymbol_46                          ScattergeoMarkerSymbol = "46"
	ScattergeoMarkerSymbol_arrow_down                  ScattergeoMarkerSymbol = "arrow-down"
	ScattergeoMarkerSymbol146                          ScattergeoMarkerSymbol = "146"
	ScattergeoMarkerSymbol_146                         ScattergeoMarkerSymbol = "146"
	ScattergeoMarkerSymbol_arrow_down_open             ScattergeoMarkerSymbol = "arrow-down-open"
	ScattergeoMarkerSymbol47                           ScattergeoMarkerSymbol = "47"
	ScattergeoMarkerSymbol_47                          ScattergeoMarkerSymbol = "47"
	ScattergeoMarkerSymbol_arrow_left                  ScattergeoMarkerSymbol = "arrow-left"
	ScattergeoMarkerSymbol147                          ScattergeoMarkerSymbol = "147"
	ScattergeoMarkerSymbol_147                         ScattergeoMarkerSymbol = "147"
	ScattergeoMarkerSymbol_arrow_left_open             ScattergeoMarkerSymbol = "arrow-left-open"
	ScattergeoMarkerSymbol48                           ScattergeoMarkerSymbol = "48"
	ScattergeoMarkerSymbol_48                          ScattergeoMarkerSymbol = "48"
	ScattergeoMarkerSymbol_arrow_right                 ScattergeoMarkerSymbol = "arrow-right"
	ScattergeoMarkerSymbol148                          ScattergeoMarkerSymbol = "148"
	ScattergeoMarkerSymbol_148                         ScattergeoMarkerSymbol = "148"
	ScattergeoMarkerSymbol_arrow_right_open            ScattergeoMarkerSymbol = "arrow-right-open"
	ScattergeoMarkerSymbol49                           ScattergeoMarkerSymbol = "49"
	ScattergeoMarkerSymbol_49                          ScattergeoMarkerSymbol = "49"
	ScattergeoMarkerSymbol_arrow_bar_up                ScattergeoMarkerSymbol = "arrow-bar-up"
	ScattergeoMarkerSymbol149                          ScattergeoMarkerSymbol = "149"
	ScattergeoMarkerSymbol_149                         ScattergeoMarkerSymbol = "149"
	ScattergeoMarkerSymbol_arrow_bar_up_open           ScattergeoMarkerSymbol = "arrow-bar-up-open"
	ScattergeoMarkerSymbol50                           ScattergeoMarkerSymbol = "50"
	ScattergeoMarkerSymbol_50                          ScattergeoMarkerSymbol = "50"
	ScattergeoMarkerSymbol_arrow_bar_down              ScattergeoMarkerSymbol = "arrow-bar-down"
	ScattergeoMarkerSymbol150                          ScattergeoMarkerSymbol = "150"
	ScattergeoMarkerSymbol_150                         ScattergeoMarkerSymbol = "150"
	ScattergeoMarkerSymbol_arrow_bar_down_open         ScattergeoMarkerSymbol = "arrow-bar-down-open"
	ScattergeoMarkerSymbol51                           ScattergeoMarkerSymbol = "51"
	ScattergeoMarkerSymbol_51                          ScattergeoMarkerSymbol = "51"
	ScattergeoMarkerSymbol_arrow_bar_left              ScattergeoMarkerSymbol = "arrow-bar-left"
	ScattergeoMarkerSymbol151                          ScattergeoMarkerSymbol = "151"
	ScattergeoMarkerSymbol_151                         ScattergeoMarkerSymbol = "151"
	ScattergeoMarkerSymbol_arrow_bar_left_open         ScattergeoMarkerSymbol = "arrow-bar-left-open"
	ScattergeoMarkerSymbol52                           ScattergeoMarkerSymbol = "52"
	ScattergeoMarkerSymbol_52                          ScattergeoMarkerSymbol = "52"
	ScattergeoMarkerSymbol_arrow_bar_right             ScattergeoMarkerSymbol = "arrow-bar-right"
	ScattergeoMarkerSymbol152                          ScattergeoMarkerSymbol = "152"
	ScattergeoMarkerSymbol_152                         ScattergeoMarkerSymbol = "152"
	ScattergeoMarkerSymbol_arrow_bar_right_open        ScattergeoMarkerSymbol = "arrow-bar-right-open"
)

type ScattergeoMode

type ScattergeoMode string
const (
	// Flags
	ScattergeoModeLines   ScattergeoMode = "lines"
	ScattergeoModeMarkers ScattergeoMode = "markers"
	ScattergeoModeText    ScattergeoMode = "text"
	// Extras
	ScattergeoModeNone ScattergeoMode = "none"
)

type ScattergeoSelected

type ScattergeoSelected struct {

	// Marker <no value> <no value>
	Marker *ScattergeoSelectedMarker `json:"marker,omitempty"`

	// Textfont <no value> <no value>
	Textfont *ScattergeoSelectedTextfont `json:"textfont,omitempty"`
}

type ScattergeoSelectedMarker

type ScattergeoSelectedMarker struct {

	// Color color Sets the marker color of selected points.
	Color String `json:"color,omitempty"`

	// Opacity number Sets the marker opacity of selected points.
	Opacity float64 `json:"opacity,omitempty"`

	// Size number Sets the marker size of selected points.
	Size float64 `json:"size,omitempty"`
}

type ScattergeoSelectedTextfont

type ScattergeoSelectedTextfont struct {

	// Color color Sets the text font color of selected points.
	Color String `json:"color,omitempty"`
}

type ScattergeoStream

type ScattergeoStream struct {

	// Maxpoints 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 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"`
}

type ScattergeoTextfont

type ScattergeoTextfont struct {

	// Color color <no value>
	Color interface{} `json:"color,omitempty"`

	// Colorsrc string Sets the source reference on Chart Studio Cloud for  color .
	Colorsrc String `json:"colorsrc,omitempty"`

	// Family string HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.
	Family interface{} `json:"family,omitempty"`

	// Familysrc string Sets the source reference on Chart Studio Cloud for  family .
	Familysrc String `json:"familysrc,omitempty"`

	// Size number <no value>
	Size interface{} `json:"size,omitempty"`

	// Sizesrc string Sets the source reference on Chart Studio Cloud for  size .
	Sizesrc String `json:"sizesrc,omitempty"`
}

type ScattergeoTextposition

type ScattergeoTextposition string

ScattergeoTextposition Sets the positions of the `text` elements with respects to the (x,y) coordinates.

const (
	ScattergeoTextposition_topleft      ScattergeoTextposition = "top left"
	ScattergeoTextposition_topcenter    ScattergeoTextposition = "top center"
	ScattergeoTextposition_topright     ScattergeoTextposition = "top right"
	ScattergeoTextposition_middleleft   ScattergeoTextposition = "middle left"
	ScattergeoTextposition_middlecenter ScattergeoTextposition = "middle center"
	ScattergeoTextposition_middleright  ScattergeoTextposition = "middle right"
	ScattergeoTextposition_bottomleft   ScattergeoTextposition = "bottom left"
	ScattergeoTextposition_bottomcenter ScattergeoTextposition = "bottom center"
	ScattergeoTextposition_bottomright  ScattergeoTextposition = "bottom right"
)

type ScattergeoTransforms

type ScattergeoTransforms interface{}

ScattergeoTransforms It's an items array and what goes inside it's... messy... check the docs Here is a hint to help you to define your own type transform

description
editType
role

type ScattergeoUnselected

type ScattergeoUnselected struct {

	// Marker <no value> <no value>
	Marker *ScattergeoUnselectedMarker `json:"marker,omitempty"`

	// Textfont <no value> <no value>
	Textfont *ScattergeoUnselectedTextfont `json:"textfont,omitempty"`
}

type ScattergeoUnselectedMarker

type ScattergeoUnselectedMarker struct {

	// Color color Sets the marker color of unselected points, applied only when a selection exists.
	Color String `json:"color,omitempty"`

	// Opacity number Sets the marker opacity of unselected points, applied only when a selection exists.
	Opacity float64 `json:"opacity,omitempty"`

	// Size number Sets the marker size of unselected points, applied only when a selection exists.
	Size float64 `json:"size,omitempty"`
}

type ScattergeoUnselectedTextfont

type ScattergeoUnselectedTextfont struct {

	// Color color Sets the text font color of unselected points, applied only when a selection exists.
	Color String `json:"color,omitempty"`
}

type ScattergeoVisible

type ScattergeoVisible interface{}

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).

var (
	ScattergeoVisible_True       ScattergeoVisible = true
	ScattergeoVisible_False      ScattergeoVisible = false
	ScattergeoVisible_legendonly ScattergeoVisible = "legendonly"
)

type Scattergl

type Scattergl struct {

	// Type is the type of the plot
	Type TraceType `json:"type,omitempty"`

	// Connectgaps 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 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 string Sets the source reference on Chart Studio Cloud for  customdata .
	Customdatasrc String `json:"customdatasrc,omitempty"`

	// Dx number Sets the x coordinate step. See `x0` for more info.
	Dx float64 `json:"dx,omitempty"`

	// Dy number Sets the y coordinate step. See `y0` for more info.
	Dy float64 `json:"dy,omitempty"`

	// Error_x <no value> <no value>
	Error_x *ScatterglErrorX `json:"error_x,omitempty"`

	// Error_y <no value> <no value>
	Error_y *ScatterglErrorY `json:"error_y,omitempty"`

	// Fill 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 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 String `json:"fillcolor,omitempty"`

	// Hoverinfo 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 string Sets the source reference on Chart Studio Cloud for  hoverinfo .
	Hoverinfosrc String `json:"hoverinfosrc,omitempty"`

	// Hoverlabel <no value> <no value>
	Hoverlabel *ScatterglHoverlabel `json:"hoverlabel,omitempty"`

	// Hovertemplate 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 `<extra>` is displayed in the secondary box, for example "<extra>{fullData.name}</extra>". To hide the secondary box completely, use an empty tag `<extra></extra>`.
	Hovertemplate interface{} `json:"hovertemplate,omitempty"`

	// Hovertemplatesrc string Sets the source reference on Chart Studio Cloud for  hovertemplate .
	Hovertemplatesrc String `json:"hovertemplatesrc,omitempty"`

	// Hovertext 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 interface{} `json:"hovertext,omitempty"`

	// Hovertextsrc string Sets the source reference on Chart Studio Cloud for  hovertext .
	Hovertextsrc String `json:"hovertextsrc,omitempty"`

	// Ids 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 string Sets the source reference on Chart Studio Cloud for  ids .
	Idssrc String `json:"idssrc,omitempty"`

	// Legendgroup 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"`

	// Line <no value> <no value>
	Line *ScatterglLine `json:"line,omitempty"`

	// Marker <no value> <no value>
	Marker *ScatterglMarker `json:"marker,omitempty"`

	// Meta 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 string Sets the source reference on Chart Studio Cloud for  meta .
	Metasrc String `json:"metasrc,omitempty"`

	// Mode flaglist Determines the drawing mode for this scatter trace.
	Mode ScatterglMode `json:"mode,omitempty"`

	// Name string Sets the trace name. The trace name appear as the legend item and on hover.
	Name String `json:"name,omitempty"`

	// Opacity number Sets the opacity of the trace.
	Opacity float64 `json:"opacity,omitempty"`

	// Selected <no value> <no value>
	Selected *ScatterglSelected `json:"selected,omitempty"`

	// Selectedpoints 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 boolean Determines whether or not an item corresponding to this trace is shown in the legend.
	Showlegend Bool `json:"showlegend,omitempty"`

	// Stream <no value> <no value>
	Stream *ScatterglStream `json:"stream,omitempty"`

	// Text 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 interface{} `json:"text,omitempty"`

	// Textfont <no value> Sets the text font.
	Textfont *ScatterglTextfont `json:"textfont,omitempty"`

	// Textposition enumerated Sets the positions of the `text` elements with respects to the (x,y) coordinates.
	Textposition ScatterglTextposition `json:"textposition,omitempty"`

	// Textpositionsrc string Sets the source reference on Chart Studio Cloud for  textposition .
	Textpositionsrc String `json:"textpositionsrc,omitempty"`

	// Textsrc string Sets the source reference on Chart Studio Cloud for  text .
	Textsrc String `json:"textsrc,omitempty"`

	// Texttemplate 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.
	Texttemplate interface{} `json:"texttemplate,omitempty"`

	// Texttemplatesrc string Sets the source reference on Chart Studio Cloud for  texttemplate .
	Texttemplatesrc String `json:"texttemplatesrc,omitempty"`

	// Transforms <no value> <no value>
	Transforms ScatterglTransforms `json:"transforms,omitempty"`

	// Uid 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 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 <no value> <no value>
	Unselected *ScatterglUnselected `json:"unselected,omitempty"`

	// Visible 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 data_array Sets the x coordinates.
	X interface{} `json:"x,omitempty"`

	// X0 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 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 enumerated Sets the calendar system to use with `x` date data.
	Xcalendar ScatterglXcalendar `json:"xcalendar,omitempty"`

	// Xperiod any Only relevant when the axis `type` is *date*. Sets the period positioning in milliseconds or *M<n>* on the x axis. Special values in the form of *M<n>* could be used to declare the number of months. In this case `n` must be a positive integer.
	Xperiod interface{} `json:"xperiod,omitempty"`

	// Xperiod0 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 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 string Sets the source reference on Chart Studio Cloud for  x .
	Xsrc String `json:"xsrc,omitempty"`

	// Y data_array Sets the y coordinates.
	Y interface{} `json:"y,omitempty"`

	// Y0 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 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 enumerated Sets the calendar system to use with `y` date data.
	Ycalendar ScatterglYcalendar `json:"ycalendar,omitempty"`

	// Yperiod any Only relevant when the axis `type` is *date*. Sets the period positioning in milliseconds or *M<n>* on the y axis. Special values in the form of *M<n>* could be used to declare the number of months. In this case `n` must be a positive integer.
	Yperiod interface{} `json:"yperiod,omitempty"`

	// Yperiod0 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 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 string Sets the source reference on Chart Studio Cloud for  y .
	Ysrc String `json:"ysrc,omitempty"`
}

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.

func NewScattergl

func NewScattergl() *Scattergl

func (*Scattergl) GetType

func (this *Scattergl) GetType() TraceType

type ScatterglErrorX

type ScatterglErrorX struct {

	// Array 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 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 string Sets the source reference on Chart Studio Cloud for  arrayminus .
	Arrayminussrc String `json:"arrayminussrc,omitempty"`

	// Arraysrc string Sets the source reference on Chart Studio Cloud for  array .
	Arraysrc String `json:"arraysrc,omitempty"`

	// Color color Sets the stoke color of the error bars.
	Color String `json:"color,omitempty"`

	// Copy_ystyle boolean <no value>
	Copy_ystyle Bool `json:"copy_ystyle,omitempty"`

	// Symmetric 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 number Sets the thickness (in px) of the error bars.
	Thickness float64 `json:"thickness,omitempty"`

	// Traceref integer <no value>
	Traceref int64 `json:"traceref,omitempty"`

	// Tracerefminus integer <no value>
	Tracerefminus int64 `json:"tracerefminus,omitempty"`

	// 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 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 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 boolean Determines whether or not this set of error bars is visible.
	Visible Bool `json:"visible,omitempty"`

	// Width number Sets the width (in px) of the cross-bar at both ends of the error bars.
	Width float64 `json:"width,omitempty"`
}

type ScatterglErrorXType

type ScatterglErrorXType string

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`.

const (
	ScatterglErrorXType_percent  ScatterglErrorXType = "percent"
	ScatterglErrorXType_constant ScatterglErrorXType = "constant"
	ScatterglErrorXType_sqrt     ScatterglErrorXType = "sqrt"
	ScatterglErrorXType_data     ScatterglErrorXType = "data"
)

type ScatterglErrorY

type ScatterglErrorY struct {

	// Array 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 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 string Sets the source reference on Chart Studio Cloud for  arrayminus .
	Arrayminussrc String `json:"arrayminussrc,omitempty"`

	// Arraysrc string Sets the source reference on Chart Studio Cloud for  array .
	Arraysrc String `json:"arraysrc,omitempty"`

	// Color color Sets the stoke color of the error bars.
	Color String `json:"color,omitempty"`

	// Symmetric 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 number Sets the thickness (in px) of the error bars.
	Thickness float64 `json:"thickness,omitempty"`

	// Traceref integer <no value>
	Traceref int64 `json:"traceref,omitempty"`

	// Tracerefminus integer <no value>
	Tracerefminus int64 `json:"tracerefminus,omitempty"`

	// 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 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 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 boolean Determines whether or not this set of error bars is visible.
	Visible Bool `json:"visible,omitempty"`

	// Width number Sets the width (in px) of the cross-bar at both ends of the error bars.
	Width float64 `json:"width,omitempty"`
}

type ScatterglErrorYType

type ScatterglErrorYType string

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`.

const (
	ScatterglErrorYType_percent  ScatterglErrorYType = "percent"
	ScatterglErrorYType_constant ScatterglErrorYType = "constant"
	ScatterglErrorYType_sqrt     ScatterglErrorYType = "sqrt"
	ScatterglErrorYType_data     ScatterglErrorYType = "data"
)

type ScatterglFill

type ScatterglFill string

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.

const (
	ScatterglFill_none    ScatterglFill = "none"
	ScatterglFill_tozeroy ScatterglFill = "tozeroy"
	ScatterglFill_tozerox ScatterglFill = "tozerox"
	ScatterglFill_tonexty ScatterglFill = "tonexty"
	ScatterglFill_tonextx ScatterglFill = "tonextx"
	ScatterglFill_toself  ScatterglFill = "toself"
	ScatterglFill_tonext  ScatterglFill = "tonext"
)

type ScatterglHoverinfo

type ScatterglHoverinfo string
const (
	// Flags
	ScatterglHoverinfoX    ScatterglHoverinfo = "x"
	ScatterglHoverinfoY    ScatterglHoverinfo = "y"
	ScatterglHoverinfoZ    ScatterglHoverinfo = "z"
	ScatterglHoverinfoText ScatterglHoverinfo = "text"
	ScatterglHoverinfoName ScatterglHoverinfo = "name"
	// Extras
	ScatterglHoverinfoAll  ScatterglHoverinfo = "all"
	ScatterglHoverinfoNone ScatterglHoverinfo = "none"
	ScatterglHoverinfoSkip ScatterglHoverinfo = "skip"
)

type ScatterglHoverlabel

type ScatterglHoverlabel struct {

	// Align 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 string Sets the source reference on Chart Studio Cloud for  align .
	Alignsrc String `json:"alignsrc,omitempty"`

	// Bgcolor color Sets the background color of the hover labels for this trace
	Bgcolor interface{} `json:"bgcolor,omitempty"`

	// Bgcolorsrc string Sets the source reference on Chart Studio Cloud for  bgcolor .
	Bgcolorsrc String `json:"bgcolorsrc,omitempty"`

	// Bordercolor color Sets the border color of the hover labels for this trace.
	Bordercolor interface{} `json:"bordercolor,omitempty"`

	// Bordercolorsrc string Sets the source reference on Chart Studio Cloud for  bordercolor .
	Bordercolorsrc String `json:"bordercolorsrc,omitempty"`

	// Font <no value> Sets the font used in hover labels.
	Font *ScatterglHoverlabelFont `json:"font,omitempty"`

	// Namelength 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 interface{} `json:"namelength,omitempty"`

	// Namelengthsrc string Sets the source reference on Chart Studio Cloud for  namelength .
	Namelengthsrc String `json:"namelengthsrc,omitempty"`
}

type ScatterglHoverlabelAlign

type ScatterglHoverlabelAlign string

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

const (
	ScatterglHoverlabelAlign_left  ScatterglHoverlabelAlign = "left"
	ScatterglHoverlabelAlign_right ScatterglHoverlabelAlign = "right"
	ScatterglHoverlabelAlign_auto  ScatterglHoverlabelAlign = "auto"
)

type ScatterglHoverlabelFont

type ScatterglHoverlabelFont struct {

	// Color color <no value>
	Color interface{} `json:"color,omitempty"`

	// Colorsrc string Sets the source reference on Chart Studio Cloud for  color .
	Colorsrc String `json:"colorsrc,omitempty"`

	// Family string HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.
	Family interface{} `json:"family,omitempty"`

	// Familysrc string Sets the source reference on Chart Studio Cloud for  family .
	Familysrc String `json:"familysrc,omitempty"`

	// Size number <no value>
	Size interface{} `json:"size,omitempty"`

	// Sizesrc string Sets the source reference on Chart Studio Cloud for  size .
	Sizesrc String `json:"sizesrc,omitempty"`
}

type ScatterglLine

type ScatterglLine struct {

	// Color color Sets the line color.
	Color String `json:"color,omitempty"`

	// Dash enumerated Sets the style of the lines.
	Dash ScatterglLineDash `json:"dash,omitempty"`

	// Shape enumerated Determines the line shape. The values correspond to step-wise line shapes.
	Shape ScatterglLineShape `json:"shape,omitempty"`

	// Width number Sets the line width (in px).
	Width float64 `json:"width,omitempty"`
}

type ScatterglLineDash

type ScatterglLineDash string

ScatterglLineDash Sets the style of the lines.

const (
	ScatterglLineDash_solid       ScatterglLineDash = "solid"
	ScatterglLineDash_dot         ScatterglLineDash = "dot"
	ScatterglLineDash_dash        ScatterglLineDash = "dash"
	ScatterglLineDash_longdash    ScatterglLineDash = "longdash"
	ScatterglLineDash_dashdot     ScatterglLineDash = "dashdot"
	ScatterglLineDash_longdashdot ScatterglLineDash = "longdashdot"
)

type ScatterglLineShape

type ScatterglLineShape string

ScatterglLineShape Determines the line shape. The values correspond to step-wise line shapes.

const (
	ScatterglLineShape_linear ScatterglLineShape = "linear"
	ScatterglLineShape_hv     ScatterglLineShape = "hv"
	ScatterglLineShape_vh     ScatterglLineShape = "vh"
	ScatterglLineShape_hvh    ScatterglLineShape = "hvh"
	ScatterglLineShape_vhv    ScatterglLineShape = "vhv"
)

type ScatterglMarker

type ScatterglMarker struct {

	// Autocolorscale 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 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 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 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 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 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.
	Color interface{} `json:"color,omitempty"`

	// Coloraxis 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 <no value> <no value>
	Colorbar *ScatterglMarkerColorbar `json:"colorbar,omitempty"`

	// Colorsrc string Sets the source reference on Chart Studio Cloud for  color .
	Colorsrc String `json:"colorsrc,omitempty"`

	// Line <no value> <no value>
	Line *ScatterglMarkerLine `json:"line,omitempty"`

	// Opacity number Sets the marker opacity.
	Opacity interface{} `json:"opacity,omitempty"`

	// Opacitysrc string Sets the source reference on Chart Studio Cloud for  opacity .
	Opacitysrc String `json:"opacitysrc,omitempty"`

	// Reversescale 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 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 number Sets the marker size (in px).
	Size interface{} `json:"size,omitempty"`

	// Sizemin 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 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 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 string Sets the source reference on Chart Studio Cloud for  size .
	Sizesrc String `json:"sizesrc,omitempty"`

	// Symbol 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 string Sets the source reference on Chart Studio Cloud for  symbol .
	Symbolsrc String `json:"symbolsrc,omitempty"`
}

type ScatterglMarkerColorbar

type ScatterglMarkerColorbar struct {

	// Bgcolor color Sets the color of padded area.
	Bgcolor String `json:"bgcolor,omitempty"`

	// Bordercolor color Sets the axis line color.
	Bordercolor String `json:"bordercolor,omitempty"`

	// Borderwidth number Sets the width (in px) or the border enclosing this color bar.
	Borderwidth float64 `json:"borderwidth,omitempty"`

	// Dtick 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<f>*, where `f` is a positive number, gives ticks linearly spaced in value (but not position). For example `tick0` = 0.1, `dtick` = *L0.5* will put ticks at 0.1, 0.6, 1.1, 1.6 etc. To show powers of 10 plus small digits between, use *D1* (all digits) or *D2* (only 2 and 5). `tick0` is ignored for *D1* and *D2*. If the axis `type` is *date*, then you must convert the time to milliseconds. For example, to set the interval between ticks to one day, set `dtick` to 86400000.0. *date* also has special values *M<n>* gives ticks spaced by a number of months. `n` must be a positive integer. To set ticks on the 15th of every third month, set `tick0` to *2000-01-15* and `dtick` to *M3*. To set ticks every 4 years, set `dtick` to *M48*
	Dtick interface{} `json:"dtick,omitempty"`

	// Exponentformat 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"`

	// Len 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 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 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 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"`

	// Outlinecolor color Sets the axis line color.
	Outlinecolor String `json:"outlinecolor,omitempty"`

	// Outlinewidth number Sets the width (in px) of the axis line.
	Outlinewidth float64 `json:"outlinewidth,omitempty"`

	// Separatethousands boolean If "true", even 4-digit integers are separated
	Separatethousands Bool `json:"separatethousands,omitempty"`

	// Showexponent 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 boolean Determines whether or not the tick labels are drawn.
	Showticklabels Bool `json:"showticklabels,omitempty"`

	// Showtickprefix 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 enumerated Same as `showtickprefix` but for tick suffixes.
	Showticksuffix ScatterglMarkerColorbarShowticksuffix `json:"showticksuffix,omitempty"`

	// Thickness 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 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 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<f>* (see `dtick` for more info). If the axis `type` is *date*, it should be a date string, like date data. If the axis `type` is *category*, it should be a number, using the scale where each category is assigned a serial number from zero in the order it appears.
	Tick0 interface{} `json:"tick0,omitempty"`

	// Tickangle 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 color Sets the tick color.
	Tickcolor String `json:"tickcolor,omitempty"`

	// Tickfont <no value> Sets the color bar's tick label font
	Tickfont *ScatterglMarkerColorbarTickfont `json:"tickfont,omitempty"`

	// Tickformat 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*
	Tickformat String `json:"tickformat,omitempty"`

	// Tickformatstops <no value> <no value>
	Tickformatstops ScatterglMarkerColorbarTickformatstops `json:"tickformatstops,omitempty"`

	// Ticklabelposition enumerated Determines where tick labels are drawn.
	Ticklabelposition ScatterglMarkerColorbarTicklabelposition `json:"ticklabelposition,omitempty"`

	// Ticklen number Sets the tick length (in px).
	Ticklen float64 `json:"ticklen,omitempty"`

	// Tickmode 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 string Sets a tick label prefix.
	Tickprefix String `json:"tickprefix,omitempty"`

	// Ticks 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 string Sets a tick label suffix.
	Ticksuffix String `json:"ticksuffix,omitempty"`

	// Ticktext 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 string Sets the source reference on Chart Studio Cloud for  ticktext .
	Ticktextsrc String `json:"ticktextsrc,omitempty"`

	// Tickvals 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 string Sets the source reference on Chart Studio Cloud for  tickvals .
	Tickvalssrc String `json:"tickvalssrc,omitempty"`

	// Tickwidth number Sets the tick width (in px).
	Tickwidth float64 `json:"tickwidth,omitempty"`

	// Title <no value> <no value>
	Title *ScatterglMarkerColorbarTitle `json:"title,omitempty"`

	// X number Sets the x position of the color bar (in plot fraction).
	X float64 `json:"x,omitempty"`

	// Xanchor 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.
	Xanchor ScatterglMarkerColorbarXanchor `json:"xanchor,omitempty"`

	// Xpad number Sets the amount of padding (in px) along the x direction.
	Xpad float64 `json:"xpad,omitempty"`

	// Y number Sets the y position of the color bar (in plot fraction).
	Y float64 `json:"y,omitempty"`

	// Yanchor 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.
	Yanchor ScatterglMarkerColorbarYanchor `json:"yanchor,omitempty"`

	// Ypad number Sets the amount of padding (in px) along the y direction.
	Ypad float64 `json:"ypad,omitempty"`
}

type ScatterglMarkerColorbarExponentformat

type ScatterglMarkerColorbarExponentformat string

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.

const (
	ScatterglMarkerColorbarExponentformat_none  ScatterglMarkerColorbarExponentformat = "none"
	ScatterglMarkerColorbarExponentformat_e     ScatterglMarkerColorbarExponentformat = "e"
	ScatterglMarkerColorbarExponentformat_E     ScatterglMarkerColorbarExponentformat = "E"
	ScatterglMarkerColorbarExponentformat_power ScatterglMarkerColorbarExponentformat = "power"
	ScatterglMarkerColorbarExponentformat_SI    ScatterglMarkerColorbarExponentformat = "SI"
	ScatterglMarkerColorbarExponentformat_B     ScatterglMarkerColorbarExponentformat = "B"
)

type ScatterglMarkerColorbarLenmode

type ScatterglMarkerColorbarLenmode string

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.

const (
	ScatterglMarkerColorbarLenmode_fraction ScatterglMarkerColorbarLenmode = "fraction"
	ScatterglMarkerColorbarLenmode_pixels   ScatterglMarkerColorbarLenmode = "pixels"
)

type ScatterglMarkerColorbarShowexponent

type ScatterglMarkerColorbarShowexponent string

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.

const (
	ScatterglMarkerColorbarShowexponent_all   ScatterglMarkerColorbarShowexponent = "all"
	ScatterglMarkerColorbarShowexponent_first ScatterglMarkerColorbarShowexponent = "first"
	ScatterglMarkerColorbarShowexponent_last  ScatterglMarkerColorbarShowexponent = "last"
	ScatterglMarkerColorbarShowexponent_none  ScatterglMarkerColorbarShowexponent = "none"
)

type ScatterglMarkerColorbarShowtickprefix

type ScatterglMarkerColorbarShowtickprefix string

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.

const (
	ScatterglMarkerColorbarShowtickprefix_all   ScatterglMarkerColorbarShowtickprefix = "all"
	ScatterglMarkerColorbarShowtickprefix_first ScatterglMarkerColorbarShowtickprefix = "first"
	ScatterglMarkerColorbarShowtickprefix_last  ScatterglMarkerColorbarShowtickprefix = "last"
	ScatterglMarkerColorbarShowtickprefix_none  ScatterglMarkerColorbarShowtickprefix = "none"
)

type ScatterglMarkerColorbarShowticksuffix

type ScatterglMarkerColorbarShowticksuffix string

ScatterglMarkerColorbarShowticksuffix Same as `showtickprefix` but for tick suffixes.

const (
	ScatterglMarkerColorbarShowticksuffix_all   ScatterglMarkerColorbarShowticksuffix = "all"
	ScatterglMarkerColorbarShowticksuffix_first ScatterglMarkerColorbarShowticksuffix = "first"
	ScatterglMarkerColorbarShowticksuffix_last  ScatterglMarkerColorbarShowticksuffix = "last"
	ScatterglMarkerColorbarShowticksuffix_none  ScatterglMarkerColorbarShowticksuffix = "none"
)

type ScatterglMarkerColorbarThicknessmode

type ScatterglMarkerColorbarThicknessmode string

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.

const (
	ScatterglMarkerColorbarThicknessmode_fraction ScatterglMarkerColorbarThicknessmode = "fraction"
	ScatterglMarkerColorbarThicknessmode_pixels   ScatterglMarkerColorbarThicknessmode = "pixels"
)

type ScatterglMarkerColorbarTickfont

type ScatterglMarkerColorbarTickfont struct {

	// Color color <no value>
	Color String `json:"color,omitempty"`

	// Family string HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.
	Family String `json:"family,omitempty"`

	// Size number <no value>
	Size float64 `json:"size,omitempty"`
}

type ScatterglMarkerColorbarTickformatstops

type ScatterglMarkerColorbarTickformatstops interface{}

ScatterglMarkerColorbarTickformatstops It's an items array and what goes inside it's... messy... check the docs Here is a hint to help you to define your own type tickformatstop

dtickrange
editType
enabled
name
role
templateitemname
value

type ScatterglMarkerColorbarTicklabelposition

type ScatterglMarkerColorbarTicklabelposition string

ScatterglMarkerColorbarTicklabelposition Determines where tick labels are drawn.

const (
	ScatterglMarkerColorbarTicklabelposition_outside       ScatterglMarkerColorbarTicklabelposition = "outside"
	ScatterglMarkerColorbarTicklabelposition_inside        ScatterglMarkerColorbarTicklabelposition = "inside"
	ScatterglMarkerColorbarTicklabelposition_outsidetop    ScatterglMarkerColorbarTicklabelposition = "outside top"
	ScatterglMarkerColorbarTicklabelposition_insidetop     ScatterglMarkerColorbarTicklabelposition = "inside top"
	ScatterglMarkerColorbarTicklabelposition_outsidebottom ScatterglMarkerColorbarTicklabelposition = "outside bottom"
	ScatterglMarkerColorbarTicklabelposition_insidebottom  ScatterglMarkerColorbarTicklabelposition = "inside bottom"
)

type ScatterglMarkerColorbarTickmode

type ScatterglMarkerColorbarTickmode string

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).

const (
	ScatterglMarkerColorbarTickmode_auto   ScatterglMarkerColorbarTickmode = "auto"
	ScatterglMarkerColorbarTickmode_linear ScatterglMarkerColorbarTickmode = "linear"
	ScatterglMarkerColorbarTickmode_array  ScatterglMarkerColorbarTickmode = "array"
)

type ScatterglMarkerColorbarTicks

type ScatterglMarkerColorbarTicks string

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.

const (
	ScatterglMarkerColorbarTicks_outside ScatterglMarkerColorbarTicks = "outside"
	ScatterglMarkerColorbarTicks_inside  ScatterglMarkerColorbarTicks = "inside"
)

type ScatterglMarkerColorbarTitle

type ScatterglMarkerColorbarTitle struct {

	// Font <no value> Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.
	Font *ScatterglMarkerColorbarTitleFont `json:"font,omitempty"`

	// Side 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.
	Side ScatterglMarkerColorbarTitleSide `json:"side,omitempty"`

	// Text 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"`
}

type ScatterglMarkerColorbarTitleFont

type ScatterglMarkerColorbarTitleFont struct {

	// Color color <no value>
	Color String `json:"color,omitempty"`

	// Family string HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.
	Family String `json:"family,omitempty"`

	// Size number <no value>
	Size float64 `json:"size,omitempty"`
}

type ScatterglMarkerColorbarTitleSide

type ScatterglMarkerColorbarTitleSide string

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.

const (
	ScatterglMarkerColorbarTitleSide_right  ScatterglMarkerColorbarTitleSide = "right"
	ScatterglMarkerColorbarTitleSide_top    ScatterglMarkerColorbarTitleSide = "top"
	ScatterglMarkerColorbarTitleSide_bottom ScatterglMarkerColorbarTitleSide = "bottom"
)

type ScatterglMarkerColorbarXanchor

type ScatterglMarkerColorbarXanchor string

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.

const (
	ScatterglMarkerColorbarXanchor_left   ScatterglMarkerColorbarXanchor = "left"
	ScatterglMarkerColorbarXanchor_center ScatterglMarkerColorbarXanchor = "center"
	ScatterglMarkerColorbarXanchor_right  ScatterglMarkerColorbarXanchor = "right"
)

type ScatterglMarkerColorbarYanchor

type ScatterglMarkerColorbarYanchor string

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.

const (
	ScatterglMarkerColorbarYanchor_top    ScatterglMarkerColorbarYanchor = "top"
	ScatterglMarkerColorbarYanchor_middle ScatterglMarkerColorbarYanchor = "middle"
	ScatterglMarkerColorbarYanchor_bottom ScatterglMarkerColorbarYanchor = "bottom"
)

type ScatterglMarkerLine

type ScatterglMarkerLine struct {

	// Autocolorscale 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 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 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 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 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 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.
	Color interface{} `json:"color,omitempty"`

	// Coloraxis 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"`

	// Colorsrc string Sets the source reference on Chart Studio Cloud for  color .
	Colorsrc String `json:"colorsrc,omitempty"`

	// Reversescale 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 number Sets the width (in px) of the lines bounding the marker points.
	Width interface{} `json:"width,omitempty"`

	// Widthsrc string Sets the source reference on Chart Studio Cloud for  width .
	Widthsrc String `json:"widthsrc,omitempty"`
}

type ScatterglMarkerSizemode

type ScatterglMarkerSizemode string

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.

const (
	ScatterglMarkerSizemode_diameter ScatterglMarkerSizemode = "diameter"
	ScatterglMarkerSizemode_area     ScatterglMarkerSizemode = "area"
)

type ScatterglMarkerSymbol

type ScatterglMarkerSymbol string

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.

const (
	ScatterglMarkerSymbol0                            ScatterglMarkerSymbol = "0"
	ScatterglMarkerSymbol_0                           ScatterglMarkerSymbol = "0"
	ScatterglMarkerSymbol_circle                      ScatterglMarkerSymbol = "circle"
	ScatterglMarkerSymbol100                          ScatterglMarkerSymbol = "100"
	ScatterglMarkerSymbol_100                         ScatterglMarkerSymbol = "100"
	ScatterglMarkerSymbol_circle_open                 ScatterglMarkerSymbol = "circle-open"
	ScatterglMarkerSymbol200                          ScatterglMarkerSymbol = "200"
	ScatterglMarkerSymbol_200                         ScatterglMarkerSymbol = "200"
	ScatterglMarkerSymbol_circle_dot                  ScatterglMarkerSymbol = "circle-dot"
	ScatterglMarkerSymbol300                          ScatterglMarkerSymbol = "300"
	ScatterglMarkerSymbol_300                         ScatterglMarkerSymbol = "300"
	ScatterglMarkerSymbol_circle_open_dot             ScatterglMarkerSymbol = "circle-open-dot"
	ScatterglMarkerSymbol1                            ScatterglMarkerSymbol = "1"
	ScatterglMarkerSymbol_1                           ScatterglMarkerSymbol = "1"
	ScatterglMarkerSymbol_square                      ScatterglMarkerSymbol = "square"
	ScatterglMarkerSymbol101                          ScatterglMarkerSymbol = "101"
	ScatterglMarkerSymbol_101                         ScatterglMarkerSymbol = "101"
	ScatterglMarkerSymbol_square_open                 ScatterglMarkerSymbol = "square-open"
	ScatterglMarkerSymbol201                          ScatterglMarkerSymbol = "201"
	ScatterglMarkerSymbol_201                         ScatterglMarkerSymbol = "201"
	ScatterglMarkerSymbol_square_dot                  ScatterglMarkerSymbol = "square-dot"
	ScatterglMarkerSymbol301                          ScatterglMarkerSymbol = "301"
	ScatterglMarkerSymbol_301                         ScatterglMarkerSymbol = "301"
	ScatterglMarkerSymbol_square_open_dot             ScatterglMarkerSymbol = "square-open-dot"
	ScatterglMarkerSymbol2                            ScatterglMarkerSymbol = "2"
	ScatterglMarkerSymbol_2                           ScatterglMarkerSymbol = "2"
	ScatterglMarkerSymbol_diamond                     ScatterglMarkerSymbol = "diamond"
	ScatterglMarkerSymbol102                          ScatterglMarkerSymbol = "102"
	ScatterglMarkerSymbol_102                         ScatterglMarkerSymbol = "102"
	ScatterglMarkerSymbol_diamond_open                ScatterglMarkerSymbol = "diamond-open"
	ScatterglMarkerSymbol202                          ScatterglMarkerSymbol = "202"
	ScatterglMarkerSymbol_202                         ScatterglMarkerSymbol = "202"
	ScatterglMarkerSymbol_diamond_dot                 ScatterglMarkerSymbol = "diamond-dot"
	ScatterglMarkerSymbol302                          ScatterglMarkerSymbol = "302"
	ScatterglMarkerSymbol_302                         ScatterglMarkerSymbol = "302"
	ScatterglMarkerSymbol_diamond_open_dot            ScatterglMarkerSymbol = "diamond-open-dot"
	ScatterglMarkerSymbol3                            ScatterglMarkerSymbol = "3"
	ScatterglMarkerSymbol_3                           ScatterglMarkerSymbol = "3"
	ScatterglMarkerSymbol_cross                       ScatterglMarkerSymbol = "cross"
	ScatterglMarkerSymbol103                          ScatterglMarkerSymbol = "103"
	ScatterglMarkerSymbol_103                         ScatterglMarkerSymbol = "103"
	ScatterglMarkerSymbol_cross_open                  ScatterglMarkerSymbol = "cross-open"
	ScatterglMarkerSymbol203                          ScatterglMarkerSymbol = "203"
	ScatterglMarkerSymbol_203                         ScatterglMarkerSymbol = "203"
	ScatterglMarkerSymbol_cross_dot                   ScatterglMarkerSymbol = "cross-dot"
	ScatterglMarkerSymbol303                          ScatterglMarkerSymbol = "303"
	ScatterglMarkerSymbol_303                         ScatterglMarkerSymbol = "303"
	ScatterglMarkerSymbol_cross_open_dot              ScatterglMarkerSymbol = "cross-open-dot"
	ScatterglMarkerSymbol4                            ScatterglMarkerSymbol = "4"
	ScatterglMarkerSymbol_4                           ScatterglMarkerSymbol = "4"
	ScatterglMarkerSymbol_x                           ScatterglMarkerSymbol = "x"
	ScatterglMarkerSymbol104                          ScatterglMarkerSymbol = "104"
	ScatterglMarkerSymbol_104                         ScatterglMarkerSymbol = "104"
	ScatterglMarkerSymbol_x_open                      ScatterglMarkerSymbol = "x-open"
	ScatterglMarkerSymbol204                          ScatterglMarkerSymbol = "204"
	ScatterglMarkerSymbol_204                         ScatterglMarkerSymbol = "204"
	ScatterglMarkerSymbol_x_dot                       ScatterglMarkerSymbol = "x-dot"
	ScatterglMarkerSymbol304                          ScatterglMarkerSymbol = "304"
	ScatterglMarkerSymbol_304                         ScatterglMarkerSymbol = "304"
	ScatterglMarkerSymbol_x_open_dot                  ScatterglMarkerSymbol = "x-open-dot"
	ScatterglMarkerSymbol5                            ScatterglMarkerSymbol = "5"
	ScatterglMarkerSymbol_5                           ScatterglMarkerSymbol = "5"
	ScatterglMarkerSymbol_triangle_up                 ScatterglMarkerSymbol = "triangle-up"
	ScatterglMarkerSymbol105                          ScatterglMarkerSymbol = "105"
	ScatterglMarkerSymbol_105                         ScatterglMarkerSymbol = "105"
	ScatterglMarkerSymbol_triangle_up_open            ScatterglMarkerSymbol = "triangle-up-open"
	ScatterglMarkerSymbol205                          ScatterglMarkerSymbol = "205"
	ScatterglMarkerSymbol_205                         ScatterglMarkerSymbol = "205"
	ScatterglMarkerSymbol_triangle_up_dot             ScatterglMarkerSymbol = "triangle-up-dot"
	ScatterglMarkerSymbol305                          ScatterglMarkerSymbol = "305"
	ScatterglMarkerSymbol_305                         ScatterglMarkerSymbol = "305"
	ScatterglMarkerSymbol_triangle_up_open_dot        ScatterglMarkerSymbol = "triangle-up-open-dot"
	ScatterglMarkerSymbol6                            ScatterglMarkerSymbol = "6"
	ScatterglMarkerSymbol_6                           ScatterglMarkerSymbol = "6"
	ScatterglMarkerSymbol_triangle_down               ScatterglMarkerSymbol = "triangle-down"
	ScatterglMarkerSymbol106                          ScatterglMarkerSymbol = "106"
	ScatterglMarkerSymbol_106                         ScatterglMarkerSymbol = "106"
	ScatterglMarkerSymbol_triangle_down_open          ScatterglMarkerSymbol = "triangle-down-open"
	ScatterglMarkerSymbol206                          ScatterglMarkerSymbol = "206"
	ScatterglMarkerSymbol_206                         ScatterglMarkerSymbol = "206"
	ScatterglMarkerSymbol_triangle_down_dot           ScatterglMarkerSymbol = "triangle-down-dot"
	ScatterglMarkerSymbol306                          ScatterglMarkerSymbol = "306"
	ScatterglMarkerSymbol_306                         ScatterglMarkerSymbol = "306"
	ScatterglMarkerSymbol_triangle_down_open_dot      ScatterglMarkerSymbol = "triangle-down-open-dot"
	ScatterglMarkerSymbol7                            ScatterglMarkerSymbol = "7"
	ScatterglMarkerSymbol_7                           ScatterglMarkerSymbol = "7"
	ScatterglMarkerSymbol_triangle_left               ScatterglMarkerSymbol = "triangle-left"
	ScatterglMarkerSymbol107                          ScatterglMarkerSymbol = "107"
	ScatterglMarkerSymbol_107                         ScatterglMarkerSymbol = "107"
	ScatterglMarkerSymbol_triangle_left_open          ScatterglMarkerSymbol = "triangle-left-open"
	ScatterglMarkerSymbol207                          ScatterglMarkerSymbol = "207"
	ScatterglMarkerSymbol_207                         ScatterglMarkerSymbol = "207"
	ScatterglMarkerSymbol_triangle_left_dot           ScatterglMarkerSymbol = "triangle-left-dot"
	ScatterglMarkerSymbol307                          ScatterglMarkerSymbol = "307"
	ScatterglMarkerSymbol_307                         ScatterglMarkerSymbol = "307"
	ScatterglMarkerSymbol_triangle_left_open_dot      ScatterglMarkerSymbol = "triangle-left-open-dot"
	ScatterglMarkerSymbol8                            ScatterglMarkerSymbol = "8"
	ScatterglMarkerSymbol_8                           ScatterglMarkerSymbol = "8"
	ScatterglMarkerSymbol_triangle_right              ScatterglMarkerSymbol = "triangle-right"
	ScatterglMarkerSymbol108                          ScatterglMarkerSymbol = "108"
	ScatterglMarkerSymbol_108                         ScatterglMarkerSymbol = "108"
	ScatterglMarkerSymbol_triangle_right_open         ScatterglMarkerSymbol = "triangle-right-open"
	ScatterglMarkerSymbol208                          ScatterglMarkerSymbol = "208"
	ScatterglMarkerSymbol_208                         ScatterglMarkerSymbol = "208"
	ScatterglMarkerSymbol_triangle_right_dot          ScatterglMarkerSymbol = "triangle-right-dot"
	ScatterglMarkerSymbol308                          ScatterglMarkerSymbol = "308"
	ScatterglMarkerSymbol_308                         ScatterglMarkerSymbol = "308"
	ScatterglMarkerSymbol_triangle_right_open_dot     ScatterglMarkerSymbol = "triangle-right-open-dot"
	ScatterglMarkerSymbol9                            ScatterglMarkerSymbol = "9"
	ScatterglMarkerSymbol_9                           ScatterglMarkerSymbol = "9"
	ScatterglMarkerSymbol_triangle_ne                 ScatterglMarkerSymbol = "triangle-ne"
	ScatterglMarkerSymbol109                          ScatterglMarkerSymbol = "109"
	ScatterglMarkerSymbol_109                         ScatterglMarkerSymbol = "109"
	ScatterglMarkerSymbol_triangle_ne_open            ScatterglMarkerSymbol = "triangle-ne-open"
	ScatterglMarkerSymbol209                          ScatterglMarkerSymbol = "209"
	ScatterglMarkerSymbol_209                         ScatterglMarkerSymbol = "209"
	ScatterglMarkerSymbol_triangle_ne_dot             ScatterglMarkerSymbol = "triangle-ne-dot"
	ScatterglMarkerSymbol309                          ScatterglMarkerSymbol = "309"
	ScatterglMarkerSymbol_309                         ScatterglMarkerSymbol = "309"
	ScatterglMarkerSymbol_triangle_ne_open_dot        ScatterglMarkerSymbol = "triangle-ne-open-dot"
	ScatterglMarkerSymbol10                           ScatterglMarkerSymbol = "10"
	ScatterglMarkerSymbol_10                          ScatterglMarkerSymbol = "10"
	ScatterglMarkerSymbol_triangle_se                 ScatterglMarkerSymbol = "triangle-se"
	ScatterglMarkerSymbol110                          ScatterglMarkerSymbol = "110"
	ScatterglMarkerSymbol_110                         ScatterglMarkerSymbol = "110"
	ScatterglMarkerSymbol_triangle_se_open            ScatterglMarkerSymbol = "triangle-se-open"
	ScatterglMarkerSymbol210                          ScatterglMarkerSymbol = "210"
	ScatterglMarkerSymbol_210                         ScatterglMarkerSymbol = "210"
	ScatterglMarkerSymbol_triangle_se_dot             ScatterglMarkerSymbol = "triangle-se-dot"
	ScatterglMarkerSymbol310                          ScatterglMarkerSymbol = "310"
	ScatterglMarkerSymbol_310                         ScatterglMarkerSymbol = "310"
	ScatterglMarkerSymbol_triangle_se_open_dot        ScatterglMarkerSymbol = "triangle-se-open-dot"
	ScatterglMarkerSymbol11                           ScatterglMarkerSymbol = "11"
	ScatterglMarkerSymbol_11                          ScatterglMarkerSymbol = "11"
	ScatterglMarkerSymbol_triangle_sw                 ScatterglMarkerSymbol = "triangle-sw"
	ScatterglMarkerSymbol111                          ScatterglMarkerSymbol = "111"
	ScatterglMarkerSymbol_111                         ScatterglMarkerSymbol = "111"
	ScatterglMarkerSymbol_triangle_sw_open            ScatterglMarkerSymbol = "triangle-sw-open"
	ScatterglMarkerSymbol211                          ScatterglMarkerSymbol = "211"
	ScatterglMarkerSymbol_211                         ScatterglMarkerSymbol = "211"
	ScatterglMarkerSymbol_triangle_sw_dot             ScatterglMarkerSymbol = "triangle-sw-dot"
	ScatterglMarkerSymbol311                          ScatterglMarkerSymbol = "311"
	ScatterglMarkerSymbol_311                         ScatterglMarkerSymbol = "311"
	ScatterglMarkerSymbol_triangle_sw_open_dot        ScatterglMarkerSymbol = "triangle-sw-open-dot"
	ScatterglMarkerSymbol12                           ScatterglMarkerSymbol = "12"
	ScatterglMarkerSymbol_12                          ScatterglMarkerSymbol = "12"
	ScatterglMarkerSymbol_triangle_nw                 ScatterglMarkerSymbol = "triangle-nw"
	ScatterglMarkerSymbol112                          ScatterglMarkerSymbol = "112"
	ScatterglMarkerSymbol_112                         ScatterglMarkerSymbol = "112"
	ScatterglMarkerSymbol_triangle_nw_open            ScatterglMarkerSymbol = "triangle-nw-open"
	ScatterglMarkerSymbol212                          ScatterglMarkerSymbol = "212"
	ScatterglMarkerSymbol_212                         ScatterglMarkerSymbol = "212"
	ScatterglMarkerSymbol_triangle_nw_dot             ScatterglMarkerSymbol = "triangle-nw-dot"
	ScatterglMarkerSymbol312                          ScatterglMarkerSymbol = "312"
	ScatterglMarkerSymbol_312                         ScatterglMarkerSymbol = "312"
	ScatterglMarkerSymbol_triangle_nw_open_dot        ScatterglMarkerSymbol = "triangle-nw-open-dot"
	ScatterglMarkerSymbol13                           ScatterglMarkerSymbol = "13"
	ScatterglMarkerSymbol_13                          ScatterglMarkerSymbol = "13"
	ScatterglMarkerSymbol_pentagon                    ScatterglMarkerSymbol = "pentagon"
	ScatterglMarkerSymbol113                          ScatterglMarkerSymbol = "113"
	ScatterglMarkerSymbol_113                         ScatterglMarkerSymbol = "113"
	ScatterglMarkerSymbol_pentagon_open               ScatterglMarkerSymbol = "pentagon-open"
	ScatterglMarkerSymbol213                          ScatterglMarkerSymbol = "213"
	ScatterglMarkerSymbol_213                         ScatterglMarkerSymbol = "213"
	ScatterglMarkerSymbol_pentagon_dot                ScatterglMarkerSymbol = "pentagon-dot"
	ScatterglMarkerSymbol313                          ScatterglMarkerSymbol = "313"
	ScatterglMarkerSymbol_313                         ScatterglMarkerSymbol = "313"
	ScatterglMarkerSymbol_pentagon_open_dot           ScatterglMarkerSymbol = "pentagon-open-dot"
	ScatterglMarkerSymbol14                           ScatterglMarkerSymbol = "14"
	ScatterglMarkerSymbol_14                          ScatterglMarkerSymbol = "14"
	ScatterglMarkerSymbol_hexagon                     ScatterglMarkerSymbol = "hexagon"
	ScatterglMarkerSymbol114                          ScatterglMarkerSymbol = "114"
	ScatterglMarkerSymbol_114                         ScatterglMarkerSymbol = "114"
	ScatterglMarkerSymbol_hexagon_open                ScatterglMarkerSymbol = "hexagon-open"
	ScatterglMarkerSymbol214                          ScatterglMarkerSymbol = "214"
	ScatterglMarkerSymbol_214                         ScatterglMarkerSymbol = "214"
	ScatterglMarkerSymbol_hexagon_dot                 ScatterglMarkerSymbol = "hexagon-dot"
	ScatterglMarkerSymbol314                          ScatterglMarkerSymbol = "314"
	ScatterglMarkerSymbol_314                         ScatterglMarkerSymbol = "314"
	ScatterglMarkerSymbol_hexagon_open_dot            ScatterglMarkerSymbol = "hexagon-open-dot"
	ScatterglMarkerSymbol15                           ScatterglMarkerSymbol = "15"
	ScatterglMarkerSymbol_15                          ScatterglMarkerSymbol = "15"
	ScatterglMarkerSymbol_hexagon2                    ScatterglMarkerSymbol = "hexagon2"
	ScatterglMarkerSymbol115                          ScatterglMarkerSymbol = "115"
	ScatterglMarkerSymbol_115                         ScatterglMarkerSymbol = "115"
	ScatterglMarkerSymbol_hexagon2_open               ScatterglMarkerSymbol = "hexagon2-open"
	ScatterglMarkerSymbol215                          ScatterglMarkerSymbol = "215"
	ScatterglMarkerSymbol_215                         ScatterglMarkerSymbol = "215"
	ScatterglMarkerSymbol_hexagon2_dot                ScatterglMarkerSymbol = "hexagon2-dot"
	ScatterglMarkerSymbol315                          ScatterglMarkerSymbol = "315"
	ScatterglMarkerSymbol_315                         ScatterglMarkerSymbol = "315"
	ScatterglMarkerSymbol_hexagon2_open_dot           ScatterglMarkerSymbol = "hexagon2-open-dot"
	ScatterglMarkerSymbol16                           ScatterglMarkerSymbol = "16"
	ScatterglMarkerSymbol_16                          ScatterglMarkerSymbol = "16"
	ScatterglMarkerSymbol_octagon                     ScatterglMarkerSymbol = "octagon"
	ScatterglMarkerSymbol116                          ScatterglMarkerSymbol = "116"
	ScatterglMarkerSymbol_116                         ScatterglMarkerSymbol = "116"
	ScatterglMarkerSymbol_octagon_open                ScatterglMarkerSymbol = "octagon-open"
	ScatterglMarkerSymbol216                          ScatterglMarkerSymbol = "216"
	ScatterglMarkerSymbol_216                         ScatterglMarkerSymbol = "216"
	ScatterglMarkerSymbol_octagon_dot                 ScatterglMarkerSymbol = "octagon-dot"
	ScatterglMarkerSymbol316                          ScatterglMarkerSymbol = "316"
	ScatterglMarkerSymbol_316                         ScatterglMarkerSymbol = "316"
	ScatterglMarkerSymbol_octagon_open_dot            ScatterglMarkerSymbol = "octagon-open-dot"
	ScatterglMarkerSymbol17                           ScatterglMarkerSymbol = "17"
	ScatterglMarkerSymbol_17                          ScatterglMarkerSymbol = "17"
	ScatterglMarkerSymbol_star                        ScatterglMarkerSymbol = "star"
	ScatterglMarkerSymbol117                          ScatterglMarkerSymbol = "117"
	ScatterglMarkerSymbol_117                         ScatterglMarkerSymbol = "117"
	ScatterglMarkerSymbol_star_open                   ScatterglMarkerSymbol = "star-open"
	ScatterglMarkerSymbol217                          ScatterglMarkerSymbol = "217"
	ScatterglMarkerSymbol_217                         ScatterglMarkerSymbol = "217"
	ScatterglMarkerSymbol_star_dot                    ScatterglMarkerSymbol = "star-dot"
	ScatterglMarkerSymbol317                          ScatterglMarkerSymbol = "317"
	ScatterglMarkerSymbol_317                         ScatterglMarkerSymbol = "317"
	ScatterglMarkerSymbol_star_open_dot               ScatterglMarkerSymbol = "star-open-dot"
	ScatterglMarkerSymbol18                           ScatterglMarkerSymbol = "18"
	ScatterglMarkerSymbol_18                          ScatterglMarkerSymbol = "18"
	ScatterglMarkerSymbol_hexagram                    ScatterglMarkerSymbol = "hexagram"
	ScatterglMarkerSymbol118                          ScatterglMarkerSymbol = "118"
	ScatterglMarkerSymbol_118                         ScatterglMarkerSymbol = "118"
	ScatterglMarkerSymbol_hexagram_open               ScatterglMarkerSymbol = "hexagram-open"
	ScatterglMarkerSymbol218                          ScatterglMarkerSymbol = "218"
	ScatterglMarkerSymbol_218                         ScatterglMarkerSymbol = "218"
	ScatterglMarkerSymbol_hexagram_dot                ScatterglMarkerSymbol = "hexagram-dot"
	ScatterglMarkerSymbol318                          ScatterglMarkerSymbol = "318"
	ScatterglMarkerSymbol_318                         ScatterglMarkerSymbol = "318"
	ScatterglMarkerSymbol_hexagram_open_dot           ScatterglMarkerSymbol = "hexagram-open-dot"
	ScatterglMarkerSymbol19                           ScatterglMarkerSymbol = "19"
	ScatterglMarkerSymbol_19                          ScatterglMarkerSymbol = "19"
	ScatterglMarkerSymbol_star_triangle_up            ScatterglMarkerSymbol = "star-triangle-up"
	ScatterglMarkerSymbol119                          ScatterglMarkerSymbol = "119"
	ScatterglMarkerSymbol_119                         ScatterglMarkerSymbol = "119"
	ScatterglMarkerSymbol_star_triangle_up_open       ScatterglMarkerSymbol = "star-triangle-up-open"
	ScatterglMarkerSymbol219                          ScatterglMarkerSymbol = "219"
	ScatterglMarkerSymbol_219                         ScatterglMarkerSymbol = "219"
	ScatterglMarkerSymbol_star_triangle_up_dot        ScatterglMarkerSymbol = "star-triangle-up-dot"
	ScatterglMarkerSymbol319                          ScatterglMarkerSymbol = "319"
	ScatterglMarkerSymbol_319                         ScatterglMarkerSymbol = "319"
	ScatterglMarkerSymbol_star_triangle_up_open_dot   ScatterglMarkerSymbol = "star-triangle-up-open-dot"
	ScatterglMarkerSymbol20                           ScatterglMarkerSymbol = "20"
	ScatterglMarkerSymbol_20                          ScatterglMarkerSymbol = "20"
	ScatterglMarkerSymbol_star_triangle_down          ScatterglMarkerSymbol = "star-triangle-down"
	ScatterglMarkerSymbol120                          ScatterglMarkerSymbol = "120"
	ScatterglMarkerSymbol_120                         ScatterglMarkerSymbol = "120"
	ScatterglMarkerSymbol_star_triangle_down_open     ScatterglMarkerSymbol = "star-triangle-down-open"
	ScatterglMarkerSymbol220                          ScatterglMarkerSymbol = "220"
	ScatterglMarkerSymbol_220                         ScatterglMarkerSymbol = "220"
	ScatterglMarkerSymbol_star_triangle_down_dot      ScatterglMarkerSymbol = "star-triangle-down-dot"
	ScatterglMarkerSymbol320                          ScatterglMarkerSymbol = "320"
	ScatterglMarkerSymbol_320                         ScatterglMarkerSymbol = "320"
	ScatterglMarkerSymbol_star_triangle_down_open_dot ScatterglMarkerSymbol = "star-triangle-down-open-dot"
	ScatterglMarkerSymbol21                           ScatterglMarkerSymbol = "21"
	ScatterglMarkerSymbol_21                          ScatterglMarkerSymbol = "21"
	ScatterglMarkerSymbol_star_square                 ScatterglMarkerSymbol = "star-square"
	ScatterglMarkerSymbol121                          ScatterglMarkerSymbol = "121"
	ScatterglMarkerSymbol_121                         ScatterglMarkerSymbol = "121"
	ScatterglMarkerSymbol_star_square_open            ScatterglMarkerSymbol = "star-square-open"
	ScatterglMarkerSymbol221                          ScatterglMarkerSymbol = "221"
	ScatterglMarkerSymbol_221                         ScatterglMarkerSymbol = "221"
	ScatterglMarkerSymbol_star_square_dot             ScatterglMarkerSymbol = "star-square-dot"
	ScatterglMarkerSymbol321                          ScatterglMarkerSymbol = "321"
	ScatterglMarkerSymbol_321                         ScatterglMarkerSymbol = "321"
	ScatterglMarkerSymbol_star_square_open_dot        ScatterglMarkerSymbol = "star-square-open-dot"
	ScatterglMarkerSymbol22                           ScatterglMarkerSymbol = "22"
	ScatterglMarkerSymbol_22                          ScatterglMarkerSymbol = "22"
	ScatterglMarkerSymbol_star_diamond                ScatterglMarkerSymbol = "star-diamond"
	ScatterglMarkerSymbol122                          ScatterglMarkerSymbol = "122"
	ScatterglMarkerSymbol_122                         ScatterglMarkerSymbol = "122"
	ScatterglMarkerSymbol_star_diamond_open           ScatterglMarkerSymbol = "star-diamond-open"
	ScatterglMarkerSymbol222                          ScatterglMarkerSymbol = "222"
	ScatterglMarkerSymbol_222                         ScatterglMarkerSymbol = "222"
	ScatterglMarkerSymbol_star_diamond_dot            ScatterglMarkerSymbol = "star-diamond-dot"
	ScatterglMarkerSymbol322                          ScatterglMarkerSymbol = "322"
	ScatterglMarkerSymbol_322                         ScatterglMarkerSymbol = "322"
	ScatterglMarkerSymbol_star_diamond_open_dot       ScatterglMarkerSymbol = "star-diamond-open-dot"
	ScatterglMarkerSymbol23                           ScatterglMarkerSymbol = "23"
	ScatterglMarkerSymbol_23                          ScatterglMarkerSymbol = "23"
	ScatterglMarkerSymbol_diamond_tall                ScatterglMarkerSymbol = "diamond-tall"
	ScatterglMarkerSymbol123                          ScatterglMarkerSymbol = "123"
	ScatterglMarkerSymbol_123                         ScatterglMarkerSymbol = "123"
	ScatterglMarkerSymbol_diamond_tall_open           ScatterglMarkerSymbol = "diamond-tall-open"
	ScatterglMarkerSymbol223                          ScatterglMarkerSymbol = "223"
	ScatterglMarkerSymbol_223                         ScatterglMarkerSymbol = "223"
	ScatterglMarkerSymbol_diamond_tall_dot            ScatterglMarkerSymbol = "diamond-tall-dot"
	ScatterglMarkerSymbol323                          ScatterglMarkerSymbol = "323"
	ScatterglMarkerSymbol_323                         ScatterglMarkerSymbol = "323"
	ScatterglMarkerSymbol_diamond_tall_open_dot       ScatterglMarkerSymbol = "diamond-tall-open-dot"
	ScatterglMarkerSymbol24                           ScatterglMarkerSymbol = "24"
	ScatterglMarkerSymbol_24                          ScatterglMarkerSymbol = "24"
	ScatterglMarkerSymbol_diamond_wide                ScatterglMarkerSymbol = "diamond-wide"
	ScatterglMarkerSymbol124                          ScatterglMarkerSymbol = "124"
	ScatterglMarkerSymbol_124                         ScatterglMarkerSymbol = "124"
	ScatterglMarkerSymbol_diamond_wide_open           ScatterglMarkerSymbol = "diamond-wide-open"
	ScatterglMarkerSymbol224                          ScatterglMarkerSymbol = "224"
	ScatterglMarkerSymbol_224                         ScatterglMarkerSymbol = "224"
	ScatterglMarkerSymbol_diamond_wide_dot            ScatterglMarkerSymbol = "diamond-wide-dot"
	ScatterglMarkerSymbol324                          ScatterglMarkerSymbol = "324"
	ScatterglMarkerSymbol_324                         ScatterglMarkerSymbol = "324"
	ScatterglMarkerSymbol_diamond_wide_open_dot       ScatterglMarkerSymbol = "diamond-wide-open-dot"
	ScatterglMarkerSymbol25                           ScatterglMarkerSymbol = "25"
	ScatterglMarkerSymbol_25                          ScatterglMarkerSymbol = "25"
	ScatterglMarkerSymbol_hourglass                   ScatterglMarkerSymbol = "hourglass"
	ScatterglMarkerSymbol125                          ScatterglMarkerSymbol = "125"
	ScatterglMarkerSymbol_125                         ScatterglMarkerSymbol = "125"
	ScatterglMarkerSymbol_hourglass_open              ScatterglMarkerSymbol = "hourglass-open"
	ScatterglMarkerSymbol26                           ScatterglMarkerSymbol = "26"
	ScatterglMarkerSymbol_26                          ScatterglMarkerSymbol = "26"
	ScatterglMarkerSymbol_bowtie                      ScatterglMarkerSymbol = "bowtie"
	ScatterglMarkerSymbol126                          ScatterglMarkerSymbol = "126"
	ScatterglMarkerSymbol_126                         ScatterglMarkerSymbol = "126"
	ScatterglMarkerSymbol_bowtie_open                 ScatterglMarkerSymbol = "bowtie-open"
	ScatterglMarkerSymbol27                           ScatterglMarkerSymbol = "27"
	ScatterglMarkerSymbol_27                          ScatterglMarkerSymbol = "27"
	ScatterglMarkerSymbol_circle_cross                ScatterglMarkerSymbol = "circle-cross"
	ScatterglMarkerSymbol127                          ScatterglMarkerSymbol = "127"
	ScatterglMarkerSymbol_127                         ScatterglMarkerSymbol = "127"
	ScatterglMarkerSymbol_circle_cross_open           ScatterglMarkerSymbol = "circle-cross-open"
	ScatterglMarkerSymbol28                           ScatterglMarkerSymbol = "28"
	ScatterglMarkerSymbol_28                          ScatterglMarkerSymbol = "28"
	ScatterglMarkerSymbol_circle_x                    ScatterglMarkerSymbol = "circle-x"
	ScatterglMarkerSymbol128                          ScatterglMarkerSymbol = "128"
	ScatterglMarkerSymbol_128                         ScatterglMarkerSymbol = "128"
	ScatterglMarkerSymbol_circle_x_open               ScatterglMarkerSymbol = "circle-x-open"
	ScatterglMarkerSymbol29                           ScatterglMarkerSymbol = "29"
	ScatterglMarkerSymbol_29                          ScatterglMarkerSymbol = "29"
	ScatterglMarkerSymbol_square_cross                ScatterglMarkerSymbol = "square-cross"
	ScatterglMarkerSymbol129                          ScatterglMarkerSymbol = "129"
	ScatterglMarkerSymbol_129                         ScatterglMarkerSymbol = "129"
	ScatterglMarkerSymbol_square_cross_open           ScatterglMarkerSymbol = "square-cross-open"
	ScatterglMarkerSymbol30                           ScatterglMarkerSymbol = "30"
	ScatterglMarkerSymbol_30                          ScatterglMarkerSymbol = "30"
	ScatterglMarkerSymbol_square_x                    ScatterglMarkerSymbol = "square-x"
	ScatterglMarkerSymbol130                          ScatterglMarkerSymbol = "130"
	ScatterglMarkerSymbol_130                         ScatterglMarkerSymbol = "130"
	ScatterglMarkerSymbol_square_x_open               ScatterglMarkerSymbol = "square-x-open"
	ScatterglMarkerSymbol31                           ScatterglMarkerSymbol = "31"
	ScatterglMarkerSymbol_31                          ScatterglMarkerSymbol = "31"
	ScatterglMarkerSymbol_diamond_cross               ScatterglMarkerSymbol = "diamond-cross"
	ScatterglMarkerSymbol131                          ScatterglMarkerSymbol = "131"
	ScatterglMarkerSymbol_131                         ScatterglMarkerSymbol = "131"
	ScatterglMarkerSymbol_diamond_cross_open          ScatterglMarkerSymbol = "diamond-cross-open"
	ScatterglMarkerSymbol32                           ScatterglMarkerSymbol = "32"
	ScatterglMarkerSymbol_32                          ScatterglMarkerSymbol = "32"
	ScatterglMarkerSymbol_diamond_x                   ScatterglMarkerSymbol = "diamond-x"
	ScatterglMarkerSymbol132                          ScatterglMarkerSymbol = "132"
	ScatterglMarkerSymbol_132                         ScatterglMarkerSymbol = "132"
	ScatterglMarkerSymbol_diamond_x_open              ScatterglMarkerSymbol = "diamond-x-open"
	ScatterglMarkerSymbol33                           ScatterglMarkerSymbol = "33"
	ScatterglMarkerSymbol_33                          ScatterglMarkerSymbol = "33"
	ScatterglMarkerSymbol_cross_thin                  ScatterglMarkerSymbol = "cross-thin"
	ScatterglMarkerSymbol133                          ScatterglMarkerSymbol = "133"
	ScatterglMarkerSymbol_133                         ScatterglMarkerSymbol = "133"
	ScatterglMarkerSymbol_cross_thin_open             ScatterglMarkerSymbol = "cross-thin-open"
	ScatterglMarkerSymbol34                           ScatterglMarkerSymbol = "34"
	ScatterglMarkerSymbol_34                          ScatterglMarkerSymbol = "34"
	ScatterglMarkerSymbol_x_thin                      ScatterglMarkerSymbol = "x-thin"
	ScatterglMarkerSymbol134                          ScatterglMarkerSymbol = "134"
	ScatterglMarkerSymbol_134                         ScatterglMarkerSymbol = "134"
	ScatterglMarkerSymbol_x_thin_open                 ScatterglMarkerSymbol = "x-thin-open"
	ScatterglMarkerSymbol35                           ScatterglMarkerSymbol = "35"
	ScatterglMarkerSymbol_35                          ScatterglMarkerSymbol = "35"
	ScatterglMarkerSymbol_asterisk                    ScatterglMarkerSymbol = "asterisk"
	ScatterglMarkerSymbol135                          ScatterglMarkerSymbol = "135"
	ScatterglMarkerSymbol_135                         ScatterglMarkerSymbol = "135"
	ScatterglMarkerSymbol_asterisk_open               ScatterglMarkerSymbol = "asterisk-open"
	ScatterglMarkerSymbol36                           ScatterglMarkerSymbol = "36"
	ScatterglMarkerSymbol_36                          ScatterglMarkerSymbol = "36"
	ScatterglMarkerSymbol_hash                        ScatterglMarkerSymbol = "hash"
	ScatterglMarkerSymbol136                          ScatterglMarkerSymbol = "136"
	ScatterglMarkerSymbol_136                         ScatterglMarkerSymbol = "136"
	ScatterglMarkerSymbol_hash_open                   ScatterglMarkerSymbol = "hash-open"
	ScatterglMarkerSymbol236                          ScatterglMarkerSymbol = "236"
	ScatterglMarkerSymbol_236                         ScatterglMarkerSymbol = "236"
	ScatterglMarkerSymbol_hash_dot                    ScatterglMarkerSymbol = "hash-dot"
	ScatterglMarkerSymbol336                          ScatterglMarkerSymbol = "336"
	ScatterglMarkerSymbol_336                         ScatterglMarkerSymbol = "336"
	ScatterglMarkerSymbol_hash_open_dot               ScatterglMarkerSymbol = "hash-open-dot"
	ScatterglMarkerSymbol37                           ScatterglMarkerSymbol = "37"
	ScatterglMarkerSymbol_37                          ScatterglMarkerSymbol = "37"
	ScatterglMarkerSymbol_y_up                        ScatterglMarkerSymbol = "y-up"
	ScatterglMarkerSymbol137                          ScatterglMarkerSymbol = "137"
	ScatterglMarkerSymbol_137                         ScatterglMarkerSymbol = "137"
	ScatterglMarkerSymbol_y_up_open                   ScatterglMarkerSymbol = "y-up-open"
	ScatterglMarkerSymbol38                           ScatterglMarkerSymbol = "38"
	ScatterglMarkerSymbol_38                          ScatterglMarkerSymbol = "38"
	ScatterglMarkerSymbol_y_down                      ScatterglMarkerSymbol = "y-down"
	ScatterglMarkerSymbol138                          ScatterglMarkerSymbol = "138"
	ScatterglMarkerSymbol_138                         ScatterglMarkerSymbol = "138"
	ScatterglMarkerSymbol_y_down_open                 ScatterglMarkerSymbol = "y-down-open"
	ScatterglMarkerSymbol39                           ScatterglMarkerSymbol = "39"
	ScatterglMarkerSymbol_39                          ScatterglMarkerSymbol = "39"
	ScatterglMarkerSymbol_y_left                      ScatterglMarkerSymbol = "y-left"
	ScatterglMarkerSymbol139                          ScatterglMarkerSymbol = "139"
	ScatterglMarkerSymbol_139                         ScatterglMarkerSymbol = "139"
	ScatterglMarkerSymbol_y_left_open                 ScatterglMarkerSymbol = "y-left-open"
	ScatterglMarkerSymbol40                           ScatterglMarkerSymbol = "40"
	ScatterglMarkerSymbol_40                          ScatterglMarkerSymbol = "40"
	ScatterglMarkerSymbol_y_right                     ScatterglMarkerSymbol = "y-right"
	ScatterglMarkerSymbol140                          ScatterglMarkerSymbol = "140"
	ScatterglMarkerSymbol_140                         ScatterglMarkerSymbol = "140"
	ScatterglMarkerSymbol_y_right_open                ScatterglMarkerSymbol = "y-right-open"
	ScatterglMarkerSymbol41                           ScatterglMarkerSymbol = "41"
	ScatterglMarkerSymbol_41                          ScatterglMarkerSymbol = "41"
	ScatterglMarkerSymbol_line_ew                     ScatterglMarkerSymbol = "line-ew"
	ScatterglMarkerSymbol141                          ScatterglMarkerSymbol = "141"
	ScatterglMarkerSymbol_141                         ScatterglMarkerSymbol = "141"
	ScatterglMarkerSymbol_line_ew_open                ScatterglMarkerSymbol = "line-ew-open"
	ScatterglMarkerSymbol42                           ScatterglMarkerSymbol = "42"
	ScatterglMarkerSymbol_42                          ScatterglMarkerSymbol = "42"
	ScatterglMarkerSymbol_line_ns                     ScatterglMarkerSymbol = "line-ns"
	ScatterglMarkerSymbol142                          ScatterglMarkerSymbol = "142"
	ScatterglMarkerSymbol_142                         ScatterglMarkerSymbol = "142"
	ScatterglMarkerSymbol_line_ns_open                ScatterglMarkerSymbol = "line-ns-open"
	ScatterglMarkerSymbol43                           ScatterglMarkerSymbol = "43"
	ScatterglMarkerSymbol_43                          ScatterglMarkerSymbol = "43"
	ScatterglMarkerSymbol_line_ne                     ScatterglMarkerSymbol = "line-ne"
	ScatterglMarkerSymbol143                          ScatterglMarkerSymbol = "143"
	ScatterglMarkerSymbol_143                         ScatterglMarkerSymbol = "143"
	ScatterglMarkerSymbol_line_ne_open                ScatterglMarkerSymbol = "line-ne-open"
	ScatterglMarkerSymbol44                           ScatterglMarkerSymbol = "44"
	ScatterglMarkerSymbol_44                          ScatterglMarkerSymbol = "44"
	ScatterglMarkerSymbol_line_nw                     ScatterglMarkerSymbol = "line-nw"
	ScatterglMarkerSymbol144                          ScatterglMarkerSymbol = "144"
	ScatterglMarkerSymbol_144                         ScatterglMarkerSymbol = "144"
	ScatterglMarkerSymbol_line_nw_open                ScatterglMarkerSymbol = "line-nw-open"
	ScatterglMarkerSymbol45                           ScatterglMarkerSymbol = "45"
	ScatterglMarkerSymbol_45                          ScatterglMarkerSymbol = "45"
	ScatterglMarkerSymbol_arrow_up                    ScatterglMarkerSymbol = "arrow-up"
	ScatterglMarkerSymbol145                          ScatterglMarkerSymbol = "145"
	ScatterglMarkerSymbol_145                         ScatterglMarkerSymbol = "145"
	ScatterglMarkerSymbol_arrow_up_open               ScatterglMarkerSymbol = "arrow-up-open"
	ScatterglMarkerSymbol46                           ScatterglMarkerSymbol = "46"
	ScatterglMarkerSymbol_46                          ScatterglMarkerSymbol = "46"
	ScatterglMarkerSymbol_arrow_down                  ScatterglMarkerSymbol = "arrow-down"
	ScatterglMarkerSymbol146                          ScatterglMarkerSymbol = "146"
	ScatterglMarkerSymbol_146                         ScatterglMarkerSymbol = "146"
	ScatterglMarkerSymbol_arrow_down_open             ScatterglMarkerSymbol = "arrow-down-open"
	ScatterglMarkerSymbol47                           ScatterglMarkerSymbol = "47"
	ScatterglMarkerSymbol_47                          ScatterglMarkerSymbol = "47"
	ScatterglMarkerSymbol_arrow_left                  ScatterglMarkerSymbol = "arrow-left"
	ScatterglMarkerSymbol147                          ScatterglMarkerSymbol = "147"
	ScatterglMarkerSymbol_147                         ScatterglMarkerSymbol = "147"
	ScatterglMarkerSymbol_arrow_left_open             ScatterglMarkerSymbol = "arrow-left-open"
	ScatterglMarkerSymbol48                           ScatterglMarkerSymbol = "48"
	ScatterglMarkerSymbol_48                          ScatterglMarkerSymbol = "48"
	ScatterglMarkerSymbol_arrow_right                 ScatterglMarkerSymbol = "arrow-right"
	ScatterglMarkerSymbol148                          ScatterglMarkerSymbol = "148"
	ScatterglMarkerSymbol_148                         ScatterglMarkerSymbol = "148"
	ScatterglMarkerSymbol_arrow_right_open            ScatterglMarkerSymbol = "arrow-right-open"
	ScatterglMarkerSymbol49                           ScatterglMarkerSymbol = "49"
	ScatterglMarkerSymbol_49                          ScatterglMarkerSymbol = "49"
	ScatterglMarkerSymbol_arrow_bar_up                ScatterglMarkerSymbol = "arrow-bar-up"
	ScatterglMarkerSymbol149                          ScatterglMarkerSymbol = "149"
	ScatterglMarkerSymbol_149                         ScatterglMarkerSymbol = "149"
	ScatterglMarkerSymbol_arrow_bar_up_open           ScatterglMarkerSymbol = "arrow-bar-up-open"
	ScatterglMarkerSymbol50                           ScatterglMarkerSymbol = "50"
	ScatterglMarkerSymbol_50                          ScatterglMarkerSymbol = "50"
	ScatterglMarkerSymbol_arrow_bar_down              ScatterglMarkerSymbol = "arrow-bar-down"
	ScatterglMarkerSymbol150                          ScatterglMarkerSymbol = "150"
	ScatterglMarkerSymbol_150                         ScatterglMarkerSymbol = "150"
	ScatterglMarkerSymbol_arrow_bar_down_open         ScatterglMarkerSymbol = "arrow-bar-down-open"
	ScatterglMarkerSymbol51                           ScatterglMarkerSymbol = "51"
	ScatterglMarkerSymbol_51                          ScatterglMarkerSymbol = "51"
	ScatterglMarkerSymbol_arrow_bar_left              ScatterglMarkerSymbol = "arrow-bar-left"
	ScatterglMarkerSymbol151                          ScatterglMarkerSymbol = "151"
	ScatterglMarkerSymbol_151                         ScatterglMarkerSymbol = "151"
	ScatterglMarkerSymbol_arrow_bar_left_open         ScatterglMarkerSymbol = "arrow-bar-left-open"
	ScatterglMarkerSymbol52                           ScatterglMarkerSymbol = "52"
	ScatterglMarkerSymbol_52                          ScatterglMarkerSymbol = "52"
	ScatterglMarkerSymbol_arrow_bar_right             ScatterglMarkerSymbol = "arrow-bar-right"
	ScatterglMarkerSymbol152                          ScatterglMarkerSymbol = "152"
	ScatterglMarkerSymbol_152                         ScatterglMarkerSymbol = "152"
	ScatterglMarkerSymbol_arrow_bar_right_open        ScatterglMarkerSymbol = "arrow-bar-right-open"
)

type ScatterglMode

type ScatterglMode string
const (
	// Flags
	ScatterglModeLines   ScatterglMode = "lines"
	ScatterglModeMarkers ScatterglMode = "markers"
	ScatterglModeText    ScatterglMode = "text"
	// Extras
	ScatterglModeNone ScatterglMode = "none"
)

type ScatterglSelected

type ScatterglSelected struct {

	// Marker <no value> <no value>
	Marker *ScatterglSelectedMarker `json:"marker,omitempty"`

	// Textfont <no value> <no value>
	Textfont *ScatterglSelectedTextfont `json:"textfont,omitempty"`
}

type ScatterglSelectedMarker

type ScatterglSelectedMarker struct {

	// Color color Sets the marker color of selected points.
	Color String `json:"color,omitempty"`

	// Opacity number Sets the marker opacity of selected points.
	Opacity float64 `json:"opacity,omitempty"`

	// Size number Sets the marker size of selected points.
	Size float64 `json:"size,omitempty"`
}

type ScatterglSelectedTextfont

type ScatterglSelectedTextfont struct {

	// Color color Sets the text font color of selected points.
	Color String `json:"color,omitempty"`
}

type ScatterglStream

type ScatterglStream struct {

	// Maxpoints 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 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"`
}

type ScatterglTextfont

type ScatterglTextfont struct {

	// Color color <no value>
	Color interface{} `json:"color,omitempty"`

	// Colorsrc string Sets the source reference on Chart Studio Cloud for  color .
	Colorsrc String `json:"colorsrc,omitempty"`

	// Family string HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.
	Family interface{} `json:"family,omitempty"`

	// Familysrc string Sets the source reference on Chart Studio Cloud for  family .
	Familysrc String `json:"familysrc,omitempty"`

	// Size number <no value>
	Size interface{} `json:"size,omitempty"`

	// Sizesrc string Sets the source reference on Chart Studio Cloud for  size .
	Sizesrc String `json:"sizesrc,omitempty"`
}

type ScatterglTextposition

type ScatterglTextposition string

ScatterglTextposition Sets the positions of the `text` elements with respects to the (x,y) coordinates.

const (
	ScatterglTextposition_topleft      ScatterglTextposition = "top left"
	ScatterglTextposition_topcenter    ScatterglTextposition = "top center"
	ScatterglTextposition_topright     ScatterglTextposition = "top right"
	ScatterglTextposition_middleleft   ScatterglTextposition = "middle left"
	ScatterglTextposition_middlecenter ScatterglTextposition = "middle center"
	ScatterglTextposition_middleright  ScatterglTextposition = "middle right"
	ScatterglTextposition_bottomleft   ScatterglTextposition = "bottom left"
	ScatterglTextposition_bottomcenter ScatterglTextposition = "bottom center"
	ScatterglTextposition_bottomright  ScatterglTextposition = "bottom right"
)

type ScatterglTransforms

type ScatterglTransforms interface{}

ScatterglTransforms It's an items array and what goes inside it's... messy... check the docs Here is a hint to help you to define your own type transform

description
editType
role

type ScatterglUnselected

type ScatterglUnselected struct {

	// Marker <no value> <no value>
	Marker *ScatterglUnselectedMarker `json:"marker,omitempty"`

	// Textfont <no value> <no value>
	Textfont *ScatterglUnselectedTextfont `json:"textfont,omitempty"`
}

type ScatterglUnselectedMarker

type ScatterglUnselectedMarker struct {

	// Color color Sets the marker color of unselected points, applied only when a selection exists.
	Color String `json:"color,omitempty"`

	// Opacity number Sets the marker opacity of unselected points, applied only when a selection exists.
	Opacity float64 `json:"opacity,omitempty"`

	// Size number Sets the marker size of unselected points, applied only when a selection exists.
	Size float64 `json:"size,omitempty"`
}

type ScatterglUnselectedTextfont

type ScatterglUnselectedTextfont struct {

	// Color color Sets the text font color of unselected points, applied only when a selection exists.
	Color String `json:"color,omitempty"`
}

type ScatterglVisible

type ScatterglVisible interface{}

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).

var (
	ScatterglVisible_True       ScatterglVisible = true
	ScatterglVisible_False      ScatterglVisible = false
	ScatterglVisible_legendonly ScatterglVisible = "legendonly"
)

type ScatterglXcalendar

type ScatterglXcalendar string

ScatterglXcalendar Sets the calendar system to use with `x` date data.

const (
	ScatterglXcalendar_gregorian  ScatterglXcalendar = "gregorian"
	ScatterglXcalendar_chinese    ScatterglXcalendar = "chinese"
	ScatterglXcalendar_coptic     ScatterglXcalendar = "coptic"
	ScatterglXcalendar_discworld  ScatterglXcalendar = "discworld"
	ScatterglXcalendar_ethiopian  ScatterglXcalendar = "ethiopian"
	ScatterglXcalendar_hebrew     ScatterglXcalendar = "hebrew"
	ScatterglXcalendar_islamic    ScatterglXcalendar = "islamic"
	ScatterglXcalendar_julian     ScatterglXcalendar = "julian"
	ScatterglXcalendar_mayan      ScatterglXcalendar = "mayan"
	ScatterglXcalendar_nanakshahi ScatterglXcalendar = "nanakshahi"
	ScatterglXcalendar_nepali     ScatterglXcalendar = "nepali"
	ScatterglXcalendar_persian    ScatterglXcalendar = "persian"
	ScatterglXcalendar_jalali     ScatterglXcalendar = "jalali"
	ScatterglXcalendar_taiwan     ScatterglXcalendar = "taiwan"
	ScatterglXcalendar_thai       ScatterglXcalendar = "thai"
	ScatterglXcalendar_ummalqura  ScatterglXcalendar = "ummalqura"
)

type ScatterglXperiodalignment

type ScatterglXperiodalignment string

ScatterglXperiodalignment Only relevant when the axis `type` is *date*. Sets the alignment of data points on the x axis.

const (
	ScatterglXperiodalignment_start  ScatterglXperiodalignment = "start"
	ScatterglXperiodalignment_middle ScatterglXperiodalignment = "middle"
	ScatterglXperiodalignment_end    ScatterglXperiodalignment = "end"
)

type ScatterglYcalendar

type ScatterglYcalendar string

ScatterglYcalendar Sets the calendar system to use with `y` date data.

const (
	ScatterglYcalendar_gregorian  ScatterglYcalendar = "gregorian"
	ScatterglYcalendar_chinese    ScatterglYcalendar = "chinese"
	ScatterglYcalendar_coptic     ScatterglYcalendar = "coptic"
	ScatterglYcalendar_discworld  ScatterglYcalendar = "discworld"
	ScatterglYcalendar_ethiopian  ScatterglYcalendar = "ethiopian"
	ScatterglYcalendar_hebrew     ScatterglYcalendar = "hebrew"
	ScatterglYcalendar_islamic    ScatterglYcalendar = "islamic"
	ScatterglYcalendar_julian     ScatterglYcalendar = "julian"
	ScatterglYcalendar_mayan      ScatterglYcalendar = "mayan"
	ScatterglYcalendar_nanakshahi ScatterglYcalendar = "nanakshahi"
	ScatterglYcalendar_nepali     ScatterglYcalendar = "nepali"
	ScatterglYcalendar_persian    ScatterglYcalendar = "persian"
	ScatterglYcalendar_jalali     ScatterglYcalendar = "jalali"
	ScatterglYcalendar_taiwan     ScatterglYcalendar = "taiwan"
	ScatterglYcalendar_thai       ScatterglYcalendar = "thai"
	ScatterglYcalendar_ummalqura  ScatterglYcalendar = "ummalqura"
)

type ScatterglYperiodalignment

type ScatterglYperiodalignment string

ScatterglYperiodalignment Only relevant when the axis `type` is *date*. Sets the alignment of data points on the y axis.

const (
	ScatterglYperiodalignment_start  ScatterglYperiodalignment = "start"
	ScatterglYperiodalignment_middle ScatterglYperiodalignment = "middle"
	ScatterglYperiodalignment_end    ScatterglYperiodalignment = "end"
)

type Scattermapbox

type Scattermapbox struct {

	// Type is the type of the plot
	Type TraceType `json:"type,omitempty"`

	// Below 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"`

	// Connectgaps 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 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 string Sets the source reference on Chart Studio Cloud for  customdata .
	Customdatasrc String `json:"customdatasrc,omitempty"`

	// Fill 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 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 String `json:"fillcolor,omitempty"`

	// Hoverinfo 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 string Sets the source reference on Chart Studio Cloud for  hoverinfo .
	Hoverinfosrc String `json:"hoverinfosrc,omitempty"`

	// Hoverlabel <no value> <no value>
	Hoverlabel *ScattermapboxHoverlabel `json:"hoverlabel,omitempty"`

	// Hovertemplate 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 `<extra>` is displayed in the secondary box, for example "<extra>{fullData.name}</extra>". To hide the secondary box completely, use an empty tag `<extra></extra>`.
	Hovertemplate interface{} `json:"hovertemplate,omitempty"`

	// Hovertemplatesrc string Sets the source reference on Chart Studio Cloud for  hovertemplate .
	Hovertemplatesrc String `json:"hovertemplatesrc,omitempty"`

	// Hovertext 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 interface{} `json:"hovertext,omitempty"`

	// Hovertextsrc string Sets the source reference on Chart Studio Cloud for  hovertext .
	Hovertextsrc String `json:"hovertextsrc,omitempty"`

	// Ids 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 string Sets the source reference on Chart Studio Cloud for  ids .
	Idssrc String `json:"idssrc,omitempty"`

	// Lat data_array Sets the latitude coordinates (in degrees North).
	Lat interface{} `json:"lat,omitempty"`

	// Latsrc string Sets the source reference on Chart Studio Cloud for  lat .
	Latsrc String `json:"latsrc,omitempty"`

	// Legendgroup 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"`

	// Line <no value> <no value>
	Line *ScattermapboxLine `json:"line,omitempty"`

	// Lon data_array Sets the longitude coordinates (in degrees East).
	Lon interface{} `json:"lon,omitempty"`

	// Lonsrc string Sets the source reference on Chart Studio Cloud for  lon .
	Lonsrc String `json:"lonsrc,omitempty"`

	// Marker <no value> <no value>
	Marker *ScattermapboxMarker `json:"marker,omitempty"`

	// Meta 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 string Sets the source reference on Chart Studio Cloud for  meta .
	Metasrc String `json:"metasrc,omitempty"`

	// Mode 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 string Sets the trace name. The trace name appear as the legend item and on hover.
	Name String `json:"name,omitempty"`

	// Opacity number Sets the opacity of the trace.
	Opacity float64 `json:"opacity,omitempty"`

	// Selected <no value> <no value>
	Selected *ScattermapboxSelected `json:"selected,omitempty"`

	// Selectedpoints 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 boolean Determines whether or not an item corresponding to this trace is shown in the legend.
	Showlegend Bool `json:"showlegend,omitempty"`

	// Stream <no value> <no value>
	Stream *ScattermapboxStream `json:"stream,omitempty"`

	// Subplot 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 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 interface{} `json:"text,omitempty"`

	// Textfont <no value> 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*.
	Textfont *ScattermapboxTextfont `json:"textfont,omitempty"`

	// Textposition enumerated Sets the positions of the `text` elements with respects to the (x,y) coordinates.
	Textposition ScattermapboxTextposition `json:"textposition,omitempty"`

	// Textsrc string Sets the source reference on Chart Studio Cloud for  text .
	Textsrc String `json:"textsrc,omitempty"`

	// Texttemplate 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`.
	Texttemplate interface{} `json:"texttemplate,omitempty"`

	// Texttemplatesrc string Sets the source reference on Chart Studio Cloud for  texttemplate .
	Texttemplatesrc String `json:"texttemplatesrc,omitempty"`

	// Transforms <no value> <no value>
	Transforms ScattermapboxTransforms `json:"transforms,omitempty"`

	// Uid 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 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 <no value> <no value>
	Unselected *ScattermapboxUnselected `json:"unselected,omitempty"`

	// Visible 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"`
}

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`.

func NewScattermapbox

func NewScattermapbox() *Scattermapbox

func (*Scattermapbox) GetType

func (this *Scattermapbox) GetType() TraceType

type ScattermapboxFill

type ScattermapboxFill string

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.

const (
	ScattermapboxFill_none   ScattermapboxFill = "none"
	ScattermapboxFill_toself ScattermapboxFill = "toself"
)

type ScattermapboxHoverinfo

type ScattermapboxHoverinfo string
const (
	// Flags
	ScattermapboxHoverinfoLon  ScattermapboxHoverinfo = "lon"
	ScattermapboxHoverinfoLat  ScattermapboxHoverinfo = "lat"
	ScattermapboxHoverinfoText ScattermapboxHoverinfo = "text"
	ScattermapboxHoverinfoName ScattermapboxHoverinfo = "name"
	// Extras
	ScattermapboxHoverinfoAll  ScattermapboxHoverinfo = "all"
	ScattermapboxHoverinfoNone ScattermapboxHoverinfo = "none"
	ScattermapboxHoverinfoSkip ScattermapboxHoverinfo = "skip"
)

type ScattermapboxHoverlabel

type ScattermapboxHoverlabel struct {

	// Align 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 string Sets the source reference on Chart Studio Cloud for  align .
	Alignsrc String `json:"alignsrc,omitempty"`

	// Bgcolor color Sets the background color of the hover labels for this trace
	Bgcolor interface{} `json:"bgcolor,omitempty"`

	// Bgcolorsrc string Sets the source reference on Chart Studio Cloud for  bgcolor .
	Bgcolorsrc String `json:"bgcolorsrc,omitempty"`

	// Bordercolor color Sets the border color of the hover labels for this trace.
	Bordercolor interface{} `json:"bordercolor,omitempty"`

	// Bordercolorsrc string Sets the source reference on Chart Studio Cloud for  bordercolor .
	Bordercolorsrc String `json:"bordercolorsrc,omitempty"`

	// Font <no value> Sets the font used in hover labels.
	Font *ScattermapboxHoverlabelFont `json:"font,omitempty"`

	// Namelength 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 interface{} `json:"namelength,omitempty"`

	// Namelengthsrc string Sets the source reference on Chart Studio Cloud for  namelength .
	Namelengthsrc String `json:"namelengthsrc,omitempty"`
}

type ScattermapboxHoverlabelAlign

type ScattermapboxHoverlabelAlign string

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

const (
	ScattermapboxHoverlabelAlign_left  ScattermapboxHoverlabelAlign = "left"
	ScattermapboxHoverlabelAlign_right ScattermapboxHoverlabelAlign = "right"
	ScattermapboxHoverlabelAlign_auto  ScattermapboxHoverlabelAlign = "auto"
)

type ScattermapboxHoverlabelFont

type ScattermapboxHoverlabelFont struct {

	// Color color <no value>
	Color interface{} `json:"color,omitempty"`

	// Colorsrc string Sets the source reference on Chart Studio Cloud for  color .
	Colorsrc String `json:"colorsrc,omitempty"`

	// Family string HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.
	Family interface{} `json:"family,omitempty"`

	// Familysrc string Sets the source reference on Chart Studio Cloud for  family .
	Familysrc String `json:"familysrc,omitempty"`

	// Size number <no value>
	Size interface{} `json:"size,omitempty"`

	// Sizesrc string Sets the source reference on Chart Studio Cloud for  size .
	Sizesrc String `json:"sizesrc,omitempty"`
}

type ScattermapboxLine

type ScattermapboxLine struct {

	// Color color Sets the line color.
	Color String `json:"color,omitempty"`

	// Width number Sets the line width (in px).
	Width float64 `json:"width,omitempty"`
}

type ScattermapboxMarker

type ScattermapboxMarker struct {

	// Allowoverlap boolean Flag to draw all symbols, even if they overlap.
	Allowoverlap Bool `json:"allowoverlap,omitempty"`

	// Angle 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 interface{} `json:"angle,omitempty"`

	// Anglesrc string Sets the source reference on Chart Studio Cloud for  angle .
	Anglesrc String `json:"anglesrc,omitempty"`

	// Autocolorscale 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 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 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 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 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 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.
	Color interface{} `json:"color,omitempty"`

	// Coloraxis 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 <no value> <no value>
	Colorbar *ScattermapboxMarkerColorbar `json:"colorbar,omitempty"`

	// Colorsrc string Sets the source reference on Chart Studio Cloud for  color .
	Colorsrc String `json:"colorsrc,omitempty"`

	// Opacity number Sets the marker opacity.
	Opacity interface{} `json:"opacity,omitempty"`

	// Opacitysrc string Sets the source reference on Chart Studio Cloud for  opacity .
	Opacitysrc String `json:"opacitysrc,omitempty"`

	// Reversescale 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 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 number Sets the marker size (in px).
	Size interface{} `json:"size,omitempty"`

	// Sizemin 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 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 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 string Sets the source reference on Chart Studio Cloud for  size .
	Sizesrc String `json:"sizesrc,omitempty"`

	// Symbol 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 interface{} `json:"symbol,omitempty"`

	// Symbolsrc string Sets the source reference on Chart Studio Cloud for  symbol .
	Symbolsrc String `json:"symbolsrc,omitempty"`
}

type ScattermapboxMarkerColorbar

type ScattermapboxMarkerColorbar struct {

	// Bgcolor color Sets the color of padded area.
	Bgcolor String `json:"bgcolor,omitempty"`

	// Bordercolor color Sets the axis line color.
	Bordercolor String `json:"bordercolor,omitempty"`

	// Borderwidth number Sets the width (in px) or the border enclosing this color bar.
	Borderwidth float64 `json:"borderwidth,omitempty"`

	// Dtick 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<f>*, where `f` is a positive number, gives ticks linearly spaced in value (but not position). For example `tick0` = 0.1, `dtick` = *L0.5* will put ticks at 0.1, 0.6, 1.1, 1.6 etc. To show powers of 10 plus small digits between, use *D1* (all digits) or *D2* (only 2 and 5). `tick0` is ignored for *D1* and *D2*. If the axis `type` is *date*, then you must convert the time to milliseconds. For example, to set the interval between ticks to one day, set `dtick` to 86400000.0. *date* also has special values *M<n>* gives ticks spaced by a number of months. `n` must be a positive integer. To set ticks on the 15th of every third month, set `tick0` to *2000-01-15* and `dtick` to *M3*. To set ticks every 4 years, set `dtick` to *M48*
	Dtick interface{} `json:"dtick,omitempty"`

	// Exponentformat 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"`

	// Len 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 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 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 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"`

	// Outlinecolor color Sets the axis line color.
	Outlinecolor String `json:"outlinecolor,omitempty"`

	// Outlinewidth number Sets the width (in px) of the axis line.
	Outlinewidth float64 `json:"outlinewidth,omitempty"`

	// Separatethousands boolean If "true", even 4-digit integers are separated
	Separatethousands Bool `json:"separatethousands,omitempty"`

	// Showexponent 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 boolean Determines whether or not the tick labels are drawn.
	Showticklabels Bool `json:"showticklabels,omitempty"`

	// Showtickprefix 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 enumerated Same as `showtickprefix` but for tick suffixes.
	Showticksuffix ScattermapboxMarkerColorbarShowticksuffix `json:"showticksuffix,omitempty"`

	// Thickness 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 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 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<f>* (see `dtick` for more info). If the axis `type` is *date*, it should be a date string, like date data. If the axis `type` is *category*, it should be a number, using the scale where each category is assigned a serial number from zero in the order it appears.
	Tick0 interface{} `json:"tick0,omitempty"`

	// Tickangle 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 color Sets the tick color.
	Tickcolor String `json:"tickcolor,omitempty"`

	// Tickfont <no value> Sets the color bar's tick label font
	Tickfont *ScattermapboxMarkerColorbarTickfont `json:"tickfont,omitempty"`

	// Tickformat 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*
	Tickformat String `json:"tickformat,omitempty"`

	// Tickformatstops <no value> <no value>
	Tickformatstops ScattermapboxMarkerColorbarTickformatstops `json:"tickformatstops,omitempty"`

	// Ticklabelposition enumerated Determines where tick labels are drawn.
	Ticklabelposition ScattermapboxMarkerColorbarTicklabelposition `json:"ticklabelposition,omitempty"`

	// Ticklen number Sets the tick length (in px).
	Ticklen float64 `json:"ticklen,omitempty"`

	// Tickmode 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 string Sets a tick label prefix.
	Tickprefix String `json:"tickprefix,omitempty"`

	// Ticks 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 string Sets a tick label suffix.
	Ticksuffix String `json:"ticksuffix,omitempty"`

	// Ticktext 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 string Sets the source reference on Chart Studio Cloud for  ticktext .
	Ticktextsrc String `json:"ticktextsrc,omitempty"`

	// Tickvals 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 string Sets the source reference on Chart Studio Cloud for  tickvals .
	Tickvalssrc String `json:"tickvalssrc,omitempty"`

	// Tickwidth number Sets the tick width (in px).
	Tickwidth float64 `json:"tickwidth,omitempty"`

	// Title <no value> <no value>
	Title *ScattermapboxMarkerColorbarTitle `json:"title,omitempty"`

	// X number Sets the x position of the color bar (in plot fraction).
	X float64 `json:"x,omitempty"`

	// Xanchor 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.
	Xanchor ScattermapboxMarkerColorbarXanchor `json:"xanchor,omitempty"`

	// Xpad number Sets the amount of padding (in px) along the x direction.
	Xpad float64 `json:"xpad,omitempty"`

	// Y number Sets the y position of the color bar (in plot fraction).
	Y float64 `json:"y,omitempty"`

	// Yanchor 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.
	Yanchor ScattermapboxMarkerColorbarYanchor `json:"yanchor,omitempty"`

	// Ypad number Sets the amount of padding (in px) along the y direction.
	Ypad float64 `json:"ypad,omitempty"`
}

type ScattermapboxMarkerColorbarExponentformat

type ScattermapboxMarkerColorbarExponentformat string

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.

const (
	ScattermapboxMarkerColorbarExponentformat_none  ScattermapboxMarkerColorbarExponentformat = "none"
	ScattermapboxMarkerColorbarExponentformat_e     ScattermapboxMarkerColorbarExponentformat = "e"
	ScattermapboxMarkerColorbarExponentformat_E     ScattermapboxMarkerColorbarExponentformat = "E"
	ScattermapboxMarkerColorbarExponentformat_power ScattermapboxMarkerColorbarExponentformat = "power"
	ScattermapboxMarkerColorbarExponentformat_SI    ScattermapboxMarkerColorbarExponentformat = "SI"
	ScattermapboxMarkerColorbarExponentformat_B     ScattermapboxMarkerColorbarExponentformat = "B"
)

type ScattermapboxMarkerColorbarLenmode

type ScattermapboxMarkerColorbarLenmode string

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.

const (
	ScattermapboxMarkerColorbarLenmode_fraction ScattermapboxMarkerColorbarLenmode = "fraction"
	ScattermapboxMarkerColorbarLenmode_pixels   ScattermapboxMarkerColorbarLenmode = "pixels"
)

type ScattermapboxMarkerColorbarShowexponent

type ScattermapboxMarkerColorbarShowexponent string

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.

const (
	ScattermapboxMarkerColorbarShowexponent_all   ScattermapboxMarkerColorbarShowexponent = "all"
	ScattermapboxMarkerColorbarShowexponent_first ScattermapboxMarkerColorbarShowexponent = "first"
	ScattermapboxMarkerColorbarShowexponent_last  ScattermapboxMarkerColorbarShowexponent = "last"
	ScattermapboxMarkerColorbarShowexponent_none  ScattermapboxMarkerColorbarShowexponent = "none"
)

type ScattermapboxMarkerColorbarShowtickprefix

type ScattermapboxMarkerColorbarShowtickprefix string

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.

const (
	ScattermapboxMarkerColorbarShowtickprefix_all   ScattermapboxMarkerColorbarShowtickprefix = "all"
	ScattermapboxMarkerColorbarShowtickprefix_first ScattermapboxMarkerColorbarShowtickprefix = "first"
	ScattermapboxMarkerColorbarShowtickprefix_last  ScattermapboxMarkerColorbarShowtickprefix = "last"
	ScattermapboxMarkerColorbarShowtickprefix_none  ScattermapboxMarkerColorbarShowtickprefix = "none"
)

type ScattermapboxMarkerColorbarShowticksuffix

type ScattermapboxMarkerColorbarShowticksuffix string

ScattermapboxMarkerColorbarShowticksuffix Same as `showtickprefix` but for tick suffixes.

const (
	ScattermapboxMarkerColorbarShowticksuffix_all   ScattermapboxMarkerColorbarShowticksuffix = "all"
	ScattermapboxMarkerColorbarShowticksuffix_first ScattermapboxMarkerColorbarShowticksuffix = "first"
	ScattermapboxMarkerColorbarShowticksuffix_last  ScattermapboxMarkerColorbarShowticksuffix = "last"
	ScattermapboxMarkerColorbarShowticksuffix_none  ScattermapboxMarkerColorbarShowticksuffix = "none"
)

type ScattermapboxMarkerColorbarThicknessmode

type ScattermapboxMarkerColorbarThicknessmode string

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.

const (
	ScattermapboxMarkerColorbarThicknessmode_fraction ScattermapboxMarkerColorbarThicknessmode = "fraction"
	ScattermapboxMarkerColorbarThicknessmode_pixels   ScattermapboxMarkerColorbarThicknessmode = "pixels"
)

type ScattermapboxMarkerColorbarTickfont

type ScattermapboxMarkerColorbarTickfont struct {

	// Color color <no value>
	Color String `json:"color,omitempty"`

	// Family string HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.
	Family String `json:"family,omitempty"`

	// Size number <no value>
	Size float64 `json:"size,omitempty"`
}

type ScattermapboxMarkerColorbarTickformatstops

type ScattermapboxMarkerColorbarTickformatstops interface{}

ScattermapboxMarkerColorbarTickformatstops It's an items array and what goes inside it's... messy... check the docs Here is a hint to help you to define your own type tickformatstop

dtickrange
editType
enabled
name
role
templateitemname
value

type ScattermapboxMarkerColorbarTicklabelposition

type ScattermapboxMarkerColorbarTicklabelposition string

ScattermapboxMarkerColorbarTicklabelposition Determines where tick labels are drawn.

const (
	ScattermapboxMarkerColorbarTicklabelposition_outside       ScattermapboxMarkerColorbarTicklabelposition = "outside"
	ScattermapboxMarkerColorbarTicklabelposition_inside        ScattermapboxMarkerColorbarTicklabelposition = "inside"
	ScattermapboxMarkerColorbarTicklabelposition_outsidetop    ScattermapboxMarkerColorbarTicklabelposition = "outside top"
	ScattermapboxMarkerColorbarTicklabelposition_insidetop     ScattermapboxMarkerColorbarTicklabelposition = "inside top"
	ScattermapboxMarkerColorbarTicklabelposition_outsidebottom ScattermapboxMarkerColorbarTicklabelposition = "outside bottom"
	ScattermapboxMarkerColorbarTicklabelposition_insidebottom  ScattermapboxMarkerColorbarTicklabelposition = "inside bottom"
)

type ScattermapboxMarkerColorbarTickmode

type ScattermapboxMarkerColorbarTickmode string

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).

const (
	ScattermapboxMarkerColorbarTickmode_auto   ScattermapboxMarkerColorbarTickmode = "auto"
	ScattermapboxMarkerColorbarTickmode_linear ScattermapboxMarkerColorbarTickmode = "linear"
	ScattermapboxMarkerColorbarTickmode_array  ScattermapboxMarkerColorbarTickmode = "array"
)

type ScattermapboxMarkerColorbarTicks

type ScattermapboxMarkerColorbarTicks string

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.

const (
	ScattermapboxMarkerColorbarTicks_outside ScattermapboxMarkerColorbarTicks = "outside"
	ScattermapboxMarkerColorbarTicks_inside  ScattermapboxMarkerColorbarTicks = "inside"
)

type ScattermapboxMarkerColorbarTitle

type ScattermapboxMarkerColorbarTitle struct {

	// Font <no value> Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.
	Font *ScattermapboxMarkerColorbarTitleFont `json:"font,omitempty"`

	// Side 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.
	Side ScattermapboxMarkerColorbarTitleSide `json:"side,omitempty"`

	// Text 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"`
}

type ScattermapboxMarkerColorbarTitleFont

type ScattermapboxMarkerColorbarTitleFont struct {

	// Color color <no value>
	Color String `json:"color,omitempty"`

	// Family string HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.
	Family String `json:"family,omitempty"`

	// Size number <no value>
	Size float64 `json:"size,omitempty"`
}

type ScattermapboxMarkerColorbarTitleSide

type ScattermapboxMarkerColorbarTitleSide string

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.

const (
	ScattermapboxMarkerColorbarTitleSide_right  ScattermapboxMarkerColorbarTitleSide = "right"
	ScattermapboxMarkerColorbarTitleSide_top    ScattermapboxMarkerColorbarTitleSide = "top"
	ScattermapboxMarkerColorbarTitleSide_bottom ScattermapboxMarkerColorbarTitleSide = "bottom"
)

type ScattermapboxMarkerColorbarXanchor

type ScattermapboxMarkerColorbarXanchor string

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.

const (
	ScattermapboxMarkerColorbarXanchor_left   ScattermapboxMarkerColorbarXanchor = "left"
	ScattermapboxMarkerColorbarXanchor_center ScattermapboxMarkerColorbarXanchor = "center"
	ScattermapboxMarkerColorbarXanchor_right  ScattermapboxMarkerColorbarXanchor = "right"
)

type ScattermapboxMarkerColorbarYanchor

type ScattermapboxMarkerColorbarYanchor string

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.

const (
	ScattermapboxMarkerColorbarYanchor_top    ScattermapboxMarkerColorbarYanchor = "top"
	ScattermapboxMarkerColorbarYanchor_middle ScattermapboxMarkerColorbarYanchor = "middle"
	ScattermapboxMarkerColorbarYanchor_bottom ScattermapboxMarkerColorbarYanchor = "bottom"
)

type ScattermapboxMarkerSizemode

type ScattermapboxMarkerSizemode string

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.

const (
	ScattermapboxMarkerSizemode_diameter ScattermapboxMarkerSizemode = "diameter"
	ScattermapboxMarkerSizemode_area     ScattermapboxMarkerSizemode = "area"
)

type ScattermapboxMode

type ScattermapboxMode string
const (
	// Flags
	ScattermapboxModeLines   ScattermapboxMode = "lines"
	ScattermapboxModeMarkers ScattermapboxMode = "markers"
	ScattermapboxModeText    ScattermapboxMode = "text"
	// Extras
	ScattermapboxModeNone ScattermapboxMode = "none"
)

type ScattermapboxSelected

type ScattermapboxSelected struct {

	// Marker <no value> <no value>
	Marker *ScattermapboxSelectedMarker `json:"marker,omitempty"`
}

type ScattermapboxSelectedMarker

type ScattermapboxSelectedMarker struct {

	// Color color Sets the marker color of selected points.
	Color String `json:"color,omitempty"`

	// Opacity number Sets the marker opacity of selected points.
	Opacity float64 `json:"opacity,omitempty"`

	// Size number Sets the marker size of selected points.
	Size float64 `json:"size,omitempty"`
}

type ScattermapboxStream

type ScattermapboxStream struct {

	// Maxpoints 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 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"`
}

type ScattermapboxTextfont

type ScattermapboxTextfont struct {

	// Color color <no value>
	Color String `json:"color,omitempty"`

	// Family string HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.
	Family String `json:"family,omitempty"`

	// Size number <no value>
	Size float64 `json:"size,omitempty"`
}

type ScattermapboxTextposition

type ScattermapboxTextposition string

ScattermapboxTextposition Sets the positions of the `text` elements with respects to the (x,y) coordinates.

const (
	ScattermapboxTextposition_topleft      ScattermapboxTextposition = "top left"
	ScattermapboxTextposition_topcenter    ScattermapboxTextposition = "top center"
	ScattermapboxTextposition_topright     ScattermapboxTextposition = "top right"
	ScattermapboxTextposition_middleleft   ScattermapboxTextposition = "middle left"
	ScattermapboxTextposition_middlecenter ScattermapboxTextposition = "middle center"
	ScattermapboxTextposition_middleright  ScattermapboxTextposition = "middle right"
	ScattermapboxTextposition_bottomleft   ScattermapboxTextposition = "bottom left"
	ScattermapboxTextposition_bottomcenter ScattermapboxTextposition = "bottom center"
	ScattermapboxTextposition_bottomright  ScattermapboxTextposition = "bottom right"
)

type ScattermapboxTransforms

type ScattermapboxTransforms interface{}

ScattermapboxTransforms It's an items array and what goes inside it's... messy... check the docs Here is a hint to help you to define your own type transform

description
editType
role

type ScattermapboxUnselected

type ScattermapboxUnselected struct {

	// Marker <no value> <no value>
	Marker *ScattermapboxUnselectedMarker `json:"marker,omitempty"`
}

type ScattermapboxUnselectedMarker

type ScattermapboxUnselectedMarker struct {

	// Color color Sets the marker color of unselected points, applied only when a selection exists.
	Color String `json:"color,omitempty"`

	// Opacity number Sets the marker opacity of unselected points, applied only when a selection exists.
	Opacity float64 `json:"opacity,omitempty"`

	// Size number Sets the marker size of unselected points, applied only when a selection exists.
	Size float64 `json:"size,omitempty"`
}

type ScattermapboxVisible

type ScattermapboxVisible interface{}

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).

var (
	ScattermapboxVisible_True       ScattermapboxVisible = true
	ScattermapboxVisible_False      ScattermapboxVisible = false
	ScattermapboxVisible_legendonly ScattermapboxVisible = "legendonly"
)

type Scatterpolar

type Scatterpolar struct {

	// Type is the type of the plot
	Type TraceType `json:"type,omitempty"`

	// Cliponaxis 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 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 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 string Sets the source reference on Chart Studio Cloud for  customdata .
	Customdatasrc String `json:"customdatasrc,omitempty"`

	// Dr number Sets the r coordinate step.
	Dr float64 `json:"dr,omitempty"`

	// Dtheta 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 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 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 String `json:"fillcolor,omitempty"`

	// Hoverinfo 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 string Sets the source reference on Chart Studio Cloud for  hoverinfo .
	Hoverinfosrc String `json:"hoverinfosrc,omitempty"`

	// Hoverlabel <no value> <no value>
	Hoverlabel *ScatterpolarHoverlabel `json:"hoverlabel,omitempty"`

	// Hoveron 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 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 `<extra>` is displayed in the secondary box, for example "<extra>{fullData.name}</extra>". To hide the secondary box completely, use an empty tag `<extra></extra>`.
	Hovertemplate interface{} `json:"hovertemplate,omitempty"`

	// Hovertemplatesrc string Sets the source reference on Chart Studio Cloud for  hovertemplate .
	Hovertemplatesrc String `json:"hovertemplatesrc,omitempty"`

	// Hovertext 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 interface{} `json:"hovertext,omitempty"`

	// Hovertextsrc string Sets the source reference on Chart Studio Cloud for  hovertext .
	Hovertextsrc String `json:"hovertextsrc,omitempty"`

	// Ids 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 string Sets the source reference on Chart Studio Cloud for  ids .
	Idssrc String `json:"idssrc,omitempty"`

	// Legendgroup 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"`

	// Line <no value> <no value>
	Line *ScatterpolarLine `json:"line,omitempty"`

	// Marker <no value> <no value>
	Marker *ScatterpolarMarker `json:"marker,omitempty"`

	// Meta 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 string Sets the source reference on Chart Studio Cloud for  meta .
	Metasrc String `json:"metasrc,omitempty"`

	// Mode 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 string Sets the trace name. The trace name appear as the legend item and on hover.
	Name String `json:"name,omitempty"`

	// Opacity number Sets the opacity of the trace.
	Opacity float64 `json:"opacity,omitempty"`

	// R data_array Sets the radial coordinates
	R interface{} `json:"r,omitempty"`

	// R0 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 string Sets the source reference on Chart Studio Cloud for  r .
	Rsrc String `json:"rsrc,omitempty"`

	// Selected <no value> <no value>
	Selected *ScatterpolarSelected `json:"selected,omitempty"`

	// Selectedpoints 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 boolean Determines whether or not an item corresponding to this trace is shown in the legend.
	Showlegend Bool `json:"showlegend,omitempty"`

	// Stream <no value> <no value>
	Stream *ScatterpolarStream `json:"stream,omitempty"`

	// Subplot 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 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 interface{} `json:"text,omitempty"`

	// Textfont <no value> Sets the text font.
	Textfont *ScatterpolarTextfont `json:"textfont,omitempty"`

	// Textposition enumerated Sets the positions of the `text` elements with respects to the (x,y) coordinates.
	Textposition ScatterpolarTextposition `json:"textposition,omitempty"`

	// Textpositionsrc string Sets the source reference on Chart Studio Cloud for  textposition .
	Textpositionsrc String `json:"textpositionsrc,omitempty"`

	// Textsrc string Sets the source reference on Chart Studio Cloud for  text .
	Textsrc String `json:"textsrc,omitempty"`

	// Texttemplate 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`.
	Texttemplate interface{} `json:"texttemplate,omitempty"`

	// Texttemplatesrc string Sets the source reference on Chart Studio Cloud for  texttemplate .
	Texttemplatesrc String `json:"texttemplatesrc,omitempty"`

	// Theta data_array Sets the angular coordinates
	Theta interface{} `json:"theta,omitempty"`

	// Theta0 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 string Sets the source reference on Chart Studio Cloud for  theta .
	Thetasrc String `json:"thetasrc,omitempty"`

	// Thetaunit enumerated Sets the unit of input *theta* values. Has an effect only when on *linear* angular axes.
	Thetaunit ScatterpolarThetaunit `json:"thetaunit,omitempty"`

	// Transforms <no value> <no value>
	Transforms ScatterpolarTransforms `json:"transforms,omitempty"`

	// Uid 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 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 <no value> <no value>
	Unselected *ScatterpolarUnselected `json:"unselected,omitempty"`

	// Visible 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"`
}

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.

func NewScatterpolar

func NewScatterpolar() *Scatterpolar

func (*Scatterpolar) GetType

func (this *Scatterpolar) GetType() TraceType

type ScatterpolarFill

type ScatterpolarFill string

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.

const (
	ScatterpolarFill_none   ScatterpolarFill = "none"
	ScatterpolarFill_toself ScatterpolarFill = "toself"
	ScatterpolarFill_tonext ScatterpolarFill = "tonext"
)

type ScatterpolarHoverinfo

type ScatterpolarHoverinfo string
const (
	// Flags
	ScatterpolarHoverinfoR     ScatterpolarHoverinfo = "r"
	ScatterpolarHoverinfoTheta ScatterpolarHoverinfo = "theta"
	ScatterpolarHoverinfoText  ScatterpolarHoverinfo = "text"
	ScatterpolarHoverinfoName  ScatterpolarHoverinfo = "name"
	// Extras
	ScatterpolarHoverinfoAll  ScatterpolarHoverinfo = "all"
	ScatterpolarHoverinfoNone ScatterpolarHoverinfo = "none"
	ScatterpolarHoverinfoSkip ScatterpolarHoverinfo = "skip"
)

type ScatterpolarHoverlabel

type ScatterpolarHoverlabel struct {

	// Align 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 string Sets the source reference on Chart Studio Cloud for  align .
	Alignsrc String `json:"alignsrc,omitempty"`

	// Bgcolor color Sets the background color of the hover labels for this trace
	Bgcolor interface{} `json:"bgcolor,omitempty"`

	// Bgcolorsrc string Sets the source reference on Chart Studio Cloud for  bgcolor .
	Bgcolorsrc String `json:"bgcolorsrc,omitempty"`

	// Bordercolor color Sets the border color of the hover labels for this trace.
	Bordercolor interface{} `json:"bordercolor,omitempty"`

	// Bordercolorsrc string Sets the source reference on Chart Studio Cloud for  bordercolor .
	Bordercolorsrc String `json:"bordercolorsrc,omitempty"`

	// Font <no value> Sets the font used in hover labels.
	Font *ScatterpolarHoverlabelFont `json:"font,omitempty"`

	// Namelength 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 interface{} `json:"namelength,omitempty"`

	// Namelengthsrc string Sets the source reference on Chart Studio Cloud for  namelength .
	Namelengthsrc String `json:"namelengthsrc,omitempty"`
}

type ScatterpolarHoverlabelAlign

type ScatterpolarHoverlabelAlign string

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

const (
	ScatterpolarHoverlabelAlign_left  ScatterpolarHoverlabelAlign = "left"
	ScatterpolarHoverlabelAlign_right ScatterpolarHoverlabelAlign = "right"
	ScatterpolarHoverlabelAlign_auto  ScatterpolarHoverlabelAlign = "auto"
)

type ScatterpolarHoverlabelFont

type ScatterpolarHoverlabelFont struct {

	// Color color <no value>
	Color interface{} `json:"color,omitempty"`

	// Colorsrc string Sets the source reference on Chart Studio Cloud for  color .
	Colorsrc String `json:"colorsrc,omitempty"`

	// Family string HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.
	Family interface{} `json:"family,omitempty"`

	// Familysrc string Sets the source reference on Chart Studio Cloud for  family .
	Familysrc String `json:"familysrc,omitempty"`

	// Size number <no value>
	Size interface{} `json:"size,omitempty"`

	// Sizesrc string Sets the source reference on Chart Studio Cloud for  size .
	Sizesrc String `json:"sizesrc,omitempty"`
}

type ScatterpolarHoveron

type ScatterpolarHoveron string
const (
	// Flags
	ScatterpolarHoveronPoints ScatterpolarHoveron = "points"
	ScatterpolarHoveronFills  ScatterpolarHoveron = "fills"
)

type ScatterpolarLine

type ScatterpolarLine struct {

	// Color color Sets the line color.
	Color String `json:"color,omitempty"`

	// Dash 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 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 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 number Sets the line width (in px).
	Width float64 `json:"width,omitempty"`
}

type ScatterpolarLineShape

type ScatterpolarLineShape string

ScatterpolarLineShape Determines the line shape. With *spline* the lines are drawn using spline interpolation. The other available values correspond to step-wise line shapes.

const (
	ScatterpolarLineShape_linear ScatterpolarLineShape = "linear"
	ScatterpolarLineShape_spline ScatterpolarLineShape = "spline"
)

type ScatterpolarMarker

type ScatterpolarMarker struct {

	// Autocolorscale 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 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 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 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 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 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.
	Color interface{} `json:"color,omitempty"`

	// Coloraxis 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 <no value> <no value>
	Colorbar *ScatterpolarMarkerColorbar `json:"colorbar,omitempty"`

	// Colorsrc string Sets the source reference on Chart Studio Cloud for  color .
	Colorsrc String `json:"colorsrc,omitempty"`

	// Gradient <no value> <no value>
	Gradient *ScatterpolarMarkerGradient `json:"gradient,omitempty"`

	// Line <no value> <no value>
	Line *ScatterpolarMarkerLine `json:"line,omitempty"`

	// Maxdisplayed number Sets a maximum number of points to be drawn on the graph. *0* corresponds to no limit.
	Maxdisplayed float64 `json:"maxdisplayed,omitempty"`

	// Opacity number Sets the marker opacity.
	Opacity interface{} `json:"opacity,omitempty"`

	// Opacitysrc string Sets the source reference on Chart Studio Cloud for  opacity .
	Opacitysrc String `json:"opacitysrc,omitempty"`

	// Reversescale 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 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 number Sets the marker size (in px).
	Size interface{} `json:"size,omitempty"`

	// Sizemin 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 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 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 string Sets the source reference on Chart Studio Cloud for  size .
	Sizesrc String `json:"sizesrc,omitempty"`

	// Symbol 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 string Sets the source reference on Chart Studio Cloud for  symbol .
	Symbolsrc String `json:"symbolsrc,omitempty"`
}

type ScatterpolarMarkerColorbar

type ScatterpolarMarkerColorbar struct {

	// Bgcolor color Sets the color of padded area.
	Bgcolor String `json:"bgcolor,omitempty"`

	// Bordercolor color Sets the axis line color.
	Bordercolor String `json:"bordercolor,omitempty"`

	// Borderwidth number Sets the width (in px) or the border enclosing this color bar.
	Borderwidth float64 `json:"borderwidth,omitempty"`

	// Dtick 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<f>*, where `f` is a positive number, gives ticks linearly spaced in value (but not position). For example `tick0` = 0.1, `dtick` = *L0.5* will put ticks at 0.1, 0.6, 1.1, 1.6 etc. To show powers of 10 plus small digits between, use *D1* (all digits) or *D2* (only 2 and 5). `tick0` is ignored for *D1* and *D2*. If the axis `type` is *date*, then you must convert the time to milliseconds. For example, to set the interval between ticks to one day, set `dtick` to 86400000.0. *date* also has special values *M<n>* gives ticks spaced by a number of months. `n` must be a positive integer. To set ticks on the 15th of every third month, set `tick0` to *2000-01-15* and `dtick` to *M3*. To set ticks every 4 years, set `dtick` to *M48*
	Dtick interface{} `json:"dtick,omitempty"`

	// Exponentformat 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"`

	// Len 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 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 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 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"`

	// Outlinecolor color Sets the axis line color.
	Outlinecolor String `json:"outlinecolor,omitempty"`

	// Outlinewidth number Sets the width (in px) of the axis line.
	Outlinewidth float64 `json:"outlinewidth,omitempty"`

	// Separatethousands boolean If "true", even 4-digit integers are separated
	Separatethousands Bool `json:"separatethousands,omitempty"`

	// Showexponent 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 boolean Determines whether or not the tick labels are drawn.
	Showticklabels Bool `json:"showticklabels,omitempty"`

	// Showtickprefix 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 enumerated Same as `showtickprefix` but for tick suffixes.
	Showticksuffix ScatterpolarMarkerColorbarShowticksuffix `json:"showticksuffix,omitempty"`

	// Thickness 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 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 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<f>* (see `dtick` for more info). If the axis `type` is *date*, it should be a date string, like date data. If the axis `type` is *category*, it should be a number, using the scale where each category is assigned a serial number from zero in the order it appears.
	Tick0 interface{} `json:"tick0,omitempty"`

	// Tickangle 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 color Sets the tick color.
	Tickcolor String `json:"tickcolor,omitempty"`

	// Tickfont <no value> Sets the color bar's tick label font
	Tickfont *ScatterpolarMarkerColorbarTickfont `json:"tickfont,omitempty"`

	// Tickformat 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*
	Tickformat String `json:"tickformat,omitempty"`

	// Tickformatstops <no value> <no value>
	Tickformatstops ScatterpolarMarkerColorbarTickformatstops `json:"tickformatstops,omitempty"`

	// Ticklabelposition enumerated Determines where tick labels are drawn.
	Ticklabelposition ScatterpolarMarkerColorbarTicklabelposition `json:"ticklabelposition,omitempty"`

	// Ticklen number Sets the tick length (in px).
	Ticklen float64 `json:"ticklen,omitempty"`

	// Tickmode 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 string Sets a tick label prefix.
	Tickprefix String `json:"tickprefix,omitempty"`

	// Ticks 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 string Sets a tick label suffix.
	Ticksuffix String `json:"ticksuffix,omitempty"`

	// Ticktext 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 string Sets the source reference on Chart Studio Cloud for  ticktext .
	Ticktextsrc String `json:"ticktextsrc,omitempty"`

	// Tickvals 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 string Sets the source reference on Chart Studio Cloud for  tickvals .
	Tickvalssrc String `json:"tickvalssrc,omitempty"`

	// Tickwidth number Sets the tick width (in px).
	Tickwidth float64 `json:"tickwidth,omitempty"`

	// Title <no value> <no value>
	Title *ScatterpolarMarkerColorbarTitle `json:"title,omitempty"`

	// X number Sets the x position of the color bar (in plot fraction).
	X float64 `json:"x,omitempty"`

	// Xanchor 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.
	Xanchor ScatterpolarMarkerColorbarXanchor `json:"xanchor,omitempty"`

	// Xpad number Sets the amount of padding (in px) along the x direction.
	Xpad float64 `json:"xpad,omitempty"`

	// Y number Sets the y position of the color bar (in plot fraction).
	Y float64 `json:"y,omitempty"`

	// Yanchor 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.
	Yanchor ScatterpolarMarkerColorbarYanchor `json:"yanchor,omitempty"`

	// Ypad number Sets the amount of padding (in px) along the y direction.
	Ypad float64 `json:"ypad,omitempty"`
}

type ScatterpolarMarkerColorbarExponentformat

type ScatterpolarMarkerColorbarExponentformat string

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.

const (
	ScatterpolarMarkerColorbarExponentformat_none  ScatterpolarMarkerColorbarExponentformat = "none"
	ScatterpolarMarkerColorbarExponentformat_e     ScatterpolarMarkerColorbarExponentformat = "e"
	ScatterpolarMarkerColorbarExponentformat_E     ScatterpolarMarkerColorbarExponentformat = "E"
	ScatterpolarMarkerColorbarExponentformat_power ScatterpolarMarkerColorbarExponentformat = "power"
	ScatterpolarMarkerColorbarExponentformat_SI    ScatterpolarMarkerColorbarExponentformat = "SI"
	ScatterpolarMarkerColorbarExponentformat_B     ScatterpolarMarkerColorbarExponentformat = "B"
)

type ScatterpolarMarkerColorbarLenmode

type ScatterpolarMarkerColorbarLenmode string

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.

const (
	ScatterpolarMarkerColorbarLenmode_fraction ScatterpolarMarkerColorbarLenmode = "fraction"
	ScatterpolarMarkerColorbarLenmode_pixels   ScatterpolarMarkerColorbarLenmode = "pixels"
)

type ScatterpolarMarkerColorbarShowexponent

type ScatterpolarMarkerColorbarShowexponent string

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.

const (
	ScatterpolarMarkerColorbarShowexponent_all   ScatterpolarMarkerColorbarShowexponent = "all"
	ScatterpolarMarkerColorbarShowexponent_first ScatterpolarMarkerColorbarShowexponent = "first"
	ScatterpolarMarkerColorbarShowexponent_last  ScatterpolarMarkerColorbarShowexponent = "last"
	ScatterpolarMarkerColorbarShowexponent_none  ScatterpolarMarkerColorbarShowexponent = "none"
)

type ScatterpolarMarkerColorbarShowtickprefix

type ScatterpolarMarkerColorbarShowtickprefix string

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.

const (
	ScatterpolarMarkerColorbarShowtickprefix_all   ScatterpolarMarkerColorbarShowtickprefix = "all"
	ScatterpolarMarkerColorbarShowtickprefix_first ScatterpolarMarkerColorbarShowtickprefix = "first"
	ScatterpolarMarkerColorbarShowtickprefix_last  ScatterpolarMarkerColorbarShowtickprefix = "last"
	ScatterpolarMarkerColorbarShowtickprefix_none  ScatterpolarMarkerColorbarShowtickprefix = "none"
)

type ScatterpolarMarkerColorbarShowticksuffix

type ScatterpolarMarkerColorbarShowticksuffix string

ScatterpolarMarkerColorbarShowticksuffix Same as `showtickprefix` but for tick suffixes.

const (
	ScatterpolarMarkerColorbarShowticksuffix_all   ScatterpolarMarkerColorbarShowticksuffix = "all"
	ScatterpolarMarkerColorbarShowticksuffix_first ScatterpolarMarkerColorbarShowticksuffix = "first"
	ScatterpolarMarkerColorbarShowticksuffix_last  ScatterpolarMarkerColorbarShowticksuffix = "last"
	ScatterpolarMarkerColorbarShowticksuffix_none  ScatterpolarMarkerColorbarShowticksuffix = "none"
)

type ScatterpolarMarkerColorbarThicknessmode

type ScatterpolarMarkerColorbarThicknessmode string

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.

const (
	ScatterpolarMarkerColorbarThicknessmode_fraction ScatterpolarMarkerColorbarThicknessmode = "fraction"
	ScatterpolarMarkerColorbarThicknessmode_pixels   ScatterpolarMarkerColorbarThicknessmode = "pixels"
)

type ScatterpolarMarkerColorbarTickfont

type ScatterpolarMarkerColorbarTickfont struct {

	// Color color <no value>
	Color String `json:"color,omitempty"`

	// Family string HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.
	Family String `json:"family,omitempty"`

	// Size number <no value>
	Size float64 `json:"size,omitempty"`
}

type ScatterpolarMarkerColorbarTickformatstops

type ScatterpolarMarkerColorbarTickformatstops interface{}

ScatterpolarMarkerColorbarTickformatstops It's an items array and what goes inside it's... messy... check the docs Here is a hint to help you to define your own type tickformatstop

dtickrange
editType
enabled
name
role
templateitemname
value

type ScatterpolarMarkerColorbarTicklabelposition

type ScatterpolarMarkerColorbarTicklabelposition string

ScatterpolarMarkerColorbarTicklabelposition Determines where tick labels are drawn.

const (
	ScatterpolarMarkerColorbarTicklabelposition_outside       ScatterpolarMarkerColorbarTicklabelposition = "outside"
	ScatterpolarMarkerColorbarTicklabelposition_inside        ScatterpolarMarkerColorbarTicklabelposition = "inside"
	ScatterpolarMarkerColorbarTicklabelposition_outsidetop    ScatterpolarMarkerColorbarTicklabelposition = "outside top"
	ScatterpolarMarkerColorbarTicklabelposition_insidetop     ScatterpolarMarkerColorbarTicklabelposition = "inside top"
	ScatterpolarMarkerColorbarTicklabelposition_outsidebottom ScatterpolarMarkerColorbarTicklabelposition = "outside bottom"
	ScatterpolarMarkerColorbarTicklabelposition_insidebottom  ScatterpolarMarkerColorbarTicklabelposition = "inside bottom"
)

type ScatterpolarMarkerColorbarTickmode

type ScatterpolarMarkerColorbarTickmode string

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).

const (
	ScatterpolarMarkerColorbarTickmode_auto   ScatterpolarMarkerColorbarTickmode = "auto"
	ScatterpolarMarkerColorbarTickmode_linear ScatterpolarMarkerColorbarTickmode = "linear"
	ScatterpolarMarkerColorbarTickmode_array  ScatterpolarMarkerColorbarTickmode = "array"
)

type ScatterpolarMarkerColorbarTicks

type ScatterpolarMarkerColorbarTicks string

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.

const (
	ScatterpolarMarkerColorbarTicks_outside ScatterpolarMarkerColorbarTicks = "outside"
	ScatterpolarMarkerColorbarTicks_inside  ScatterpolarMarkerColorbarTicks = "inside"
)

type ScatterpolarMarkerColorbarTitle

type ScatterpolarMarkerColorbarTitle struct {

	// Font <no value> Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.
	Font *ScatterpolarMarkerColorbarTitleFont `json:"font,omitempty"`

	// Side 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.
	Side ScatterpolarMarkerColorbarTitleSide `json:"side,omitempty"`

	// Text 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"`
}

type ScatterpolarMarkerColorbarTitleFont

type ScatterpolarMarkerColorbarTitleFont struct {

	// Color color <no value>
	Color String `json:"color,omitempty"`

	// Family string HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.
	Family String `json:"family,omitempty"`

	// Size number <no value>
	Size float64 `json:"size,omitempty"`
}

type ScatterpolarMarkerColorbarTitleSide

type ScatterpolarMarkerColorbarTitleSide string

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.

const (
	ScatterpolarMarkerColorbarTitleSide_right  ScatterpolarMarkerColorbarTitleSide = "right"
	ScatterpolarMarkerColorbarTitleSide_top    ScatterpolarMarkerColorbarTitleSide = "top"
	ScatterpolarMarkerColorbarTitleSide_bottom ScatterpolarMarkerColorbarTitleSide = "bottom"
)

type ScatterpolarMarkerColorbarXanchor

type ScatterpolarMarkerColorbarXanchor string

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.

const (
	ScatterpolarMarkerColorbarXanchor_left   ScatterpolarMarkerColorbarXanchor = "left"
	ScatterpolarMarkerColorbarXanchor_center ScatterpolarMarkerColorbarXanchor = "center"
	ScatterpolarMarkerColorbarXanchor_right  ScatterpolarMarkerColorbarXanchor = "right"
)

type ScatterpolarMarkerColorbarYanchor

type ScatterpolarMarkerColorbarYanchor string

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.

const (
	ScatterpolarMarkerColorbarYanchor_top    ScatterpolarMarkerColorbarYanchor = "top"
	ScatterpolarMarkerColorbarYanchor_middle ScatterpolarMarkerColorbarYanchor = "middle"
	ScatterpolarMarkerColorbarYanchor_bottom ScatterpolarMarkerColorbarYanchor = "bottom"
)

type ScatterpolarMarkerGradient

type ScatterpolarMarkerGradient struct {

	// Color color Sets the final color of the gradient fill: the center color for radial, the right for horizontal, or the bottom for vertical.
	Color interface{} `json:"color,omitempty"`

	// Colorsrc string Sets the source reference on Chart Studio Cloud for  color .
	Colorsrc String `json:"colorsrc,omitempty"`

	// Type enumerated Sets the type of gradient used to fill the markers
	Type ScatterpolarMarkerGradientType `json:"type,omitempty"`

	// Typesrc string Sets the source reference on Chart Studio Cloud for  type .
	Typesrc String `json:"typesrc,omitempty"`
}

type ScatterpolarMarkerGradientType

type ScatterpolarMarkerGradientType string

ScatterpolarMarkerGradientType Sets the type of gradient used to fill the markers

const (
	ScatterpolarMarkerGradientType_radial     ScatterpolarMarkerGradientType = "radial"
	ScatterpolarMarkerGradientType_horizontal ScatterpolarMarkerGradientType = "horizontal"
	ScatterpolarMarkerGradientType_vertical   ScatterpolarMarkerGradientType = "vertical"
	ScatterpolarMarkerGradientType_none       ScatterpolarMarkerGradientType = "none"
)

type ScatterpolarMarkerLine

type ScatterpolarMarkerLine struct {

	// Autocolorscale 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 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 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 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 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 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.
	Color interface{} `json:"color,omitempty"`

	// Coloraxis 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"`

	// Colorsrc string Sets the source reference on Chart Studio Cloud for  color .
	Colorsrc String `json:"colorsrc,omitempty"`

	// Reversescale 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 number Sets the width (in px) of the lines bounding the marker points.
	Width interface{} `json:"width,omitempty"`

	// Widthsrc string Sets the source reference on Chart Studio Cloud for  width .
	Widthsrc String `json:"widthsrc,omitempty"`
}

type ScatterpolarMarkerSizemode

type ScatterpolarMarkerSizemode string

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.

const (
	ScatterpolarMarkerSizemode_diameter ScatterpolarMarkerSizemode = "diameter"
	ScatterpolarMarkerSizemode_area     ScatterpolarMarkerSizemode = "area"
)

type ScatterpolarMarkerSymbol

type ScatterpolarMarkerSymbol string

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.

const (
	ScatterpolarMarkerSymbol0                            ScatterpolarMarkerSymbol = "0"
	ScatterpolarMarkerSymbol_0                           ScatterpolarMarkerSymbol = "0"
	ScatterpolarMarkerSymbol_circle                      ScatterpolarMarkerSymbol = "circle"
	ScatterpolarMarkerSymbol100                          ScatterpolarMarkerSymbol = "100"
	ScatterpolarMarkerSymbol_100                         ScatterpolarMarkerSymbol = "100"
	ScatterpolarMarkerSymbol_circle_open                 ScatterpolarMarkerSymbol = "circle-open"
	ScatterpolarMarkerSymbol200                          ScatterpolarMarkerSymbol = "200"
	ScatterpolarMarkerSymbol_200                         ScatterpolarMarkerSymbol = "200"
	ScatterpolarMarkerSymbol_circle_dot                  ScatterpolarMarkerSymbol = "circle-dot"
	ScatterpolarMarkerSymbol300                          ScatterpolarMarkerSymbol = "300"
	ScatterpolarMarkerSymbol_300                         ScatterpolarMarkerSymbol = "300"
	ScatterpolarMarkerSymbol_circle_open_dot             ScatterpolarMarkerSymbol = "circle-open-dot"
	ScatterpolarMarkerSymbol1                            ScatterpolarMarkerSymbol = "1"
	ScatterpolarMarkerSymbol_1                           ScatterpolarMarkerSymbol = "1"
	ScatterpolarMarkerSymbol_square                      ScatterpolarMarkerSymbol = "square"
	ScatterpolarMarkerSymbol101                          ScatterpolarMarkerSymbol = "101"
	ScatterpolarMarkerSymbol_101                         ScatterpolarMarkerSymbol = "101"
	ScatterpolarMarkerSymbol_square_open                 ScatterpolarMarkerSymbol = "square-open"
	ScatterpolarMarkerSymbol201                          ScatterpolarMarkerSymbol = "201"
	ScatterpolarMarkerSymbol_201                         ScatterpolarMarkerSymbol = "201"
	ScatterpolarMarkerSymbol_square_dot                  ScatterpolarMarkerSymbol = "square-dot"
	ScatterpolarMarkerSymbol301                          ScatterpolarMarkerSymbol = "301"
	ScatterpolarMarkerSymbol_301                         ScatterpolarMarkerSymbol = "301"
	ScatterpolarMarkerSymbol_square_open_dot             ScatterpolarMarkerSymbol = "square-open-dot"
	ScatterpolarMarkerSymbol2                            ScatterpolarMarkerSymbol = "2"
	ScatterpolarMarkerSymbol_2                           ScatterpolarMarkerSymbol = "2"
	ScatterpolarMarkerSymbol_diamond                     ScatterpolarMarkerSymbol = "diamond"
	ScatterpolarMarkerSymbol102                          ScatterpolarMarkerSymbol = "102"
	ScatterpolarMarkerSymbol_102                         ScatterpolarMarkerSymbol = "102"
	ScatterpolarMarkerSymbol_diamond_open                ScatterpolarMarkerSymbol = "diamond-open"
	ScatterpolarMarkerSymbol202                          ScatterpolarMarkerSymbol = "202"
	ScatterpolarMarkerSymbol_202                         ScatterpolarMarkerSymbol = "202"
	ScatterpolarMarkerSymbol_diamond_dot                 ScatterpolarMarkerSymbol = "diamond-dot"
	ScatterpolarMarkerSymbol302                          ScatterpolarMarkerSymbol = "302"
	ScatterpolarMarkerSymbol_302                         ScatterpolarMarkerSymbol = "302"
	ScatterpolarMarkerSymbol_diamond_open_dot            ScatterpolarMarkerSymbol = "diamond-open-dot"
	ScatterpolarMarkerSymbol3                            ScatterpolarMarkerSymbol = "3"
	ScatterpolarMarkerSymbol_3                           ScatterpolarMarkerSymbol = "3"
	ScatterpolarMarkerSymbol_cross                       ScatterpolarMarkerSymbol = "cross"
	ScatterpolarMarkerSymbol103                          ScatterpolarMarkerSymbol = "103"
	ScatterpolarMarkerSymbol_103                         ScatterpolarMarkerSymbol = "103"
	ScatterpolarMarkerSymbol_cross_open                  ScatterpolarMarkerSymbol = "cross-open"
	ScatterpolarMarkerSymbol203                          ScatterpolarMarkerSymbol = "203"
	ScatterpolarMarkerSymbol_203                         ScatterpolarMarkerSymbol = "203"
	ScatterpolarMarkerSymbol_cross_dot                   ScatterpolarMarkerSymbol = "cross-dot"
	ScatterpolarMarkerSymbol303                          ScatterpolarMarkerSymbol = "303"
	ScatterpolarMarkerSymbol_303                         ScatterpolarMarkerSymbol = "303"
	ScatterpolarMarkerSymbol_cross_open_dot              ScatterpolarMarkerSymbol = "cross-open-dot"
	ScatterpolarMarkerSymbol4                            ScatterpolarMarkerSymbol = "4"
	ScatterpolarMarkerSymbol_4                           ScatterpolarMarkerSymbol = "4"
	ScatterpolarMarkerSymbol_x                           ScatterpolarMarkerSymbol = "x"
	ScatterpolarMarkerSymbol104                          ScatterpolarMarkerSymbol = "104"
	ScatterpolarMarkerSymbol_104                         ScatterpolarMarkerSymbol = "104"
	ScatterpolarMarkerSymbol_x_open                      ScatterpolarMarkerSymbol = "x-open"
	ScatterpolarMarkerSymbol204                          ScatterpolarMarkerSymbol = "204"
	ScatterpolarMarkerSymbol_204                         ScatterpolarMarkerSymbol = "204"
	ScatterpolarMarkerSymbol_x_dot                       ScatterpolarMarkerSymbol = "x-dot"
	ScatterpolarMarkerSymbol304                          ScatterpolarMarkerSymbol = "304"
	ScatterpolarMarkerSymbol_304                         ScatterpolarMarkerSymbol = "304"
	ScatterpolarMarkerSymbol_x_open_dot                  ScatterpolarMarkerSymbol = "x-open-dot"
	ScatterpolarMarkerSymbol5                            ScatterpolarMarkerSymbol = "5"
	ScatterpolarMarkerSymbol_5                           ScatterpolarMarkerSymbol = "5"
	ScatterpolarMarkerSymbol_triangle_up                 ScatterpolarMarkerSymbol = "triangle-up"
	ScatterpolarMarkerSymbol105                          ScatterpolarMarkerSymbol = "105"
	ScatterpolarMarkerSymbol_105                         ScatterpolarMarkerSymbol = "105"
	ScatterpolarMarkerSymbol_triangle_up_open            ScatterpolarMarkerSymbol = "triangle-up-open"
	ScatterpolarMarkerSymbol205                          ScatterpolarMarkerSymbol = "205"
	ScatterpolarMarkerSymbol_205                         ScatterpolarMarkerSymbol = "205"
	ScatterpolarMarkerSymbol_triangle_up_dot             ScatterpolarMarkerSymbol = "triangle-up-dot"
	ScatterpolarMarkerSymbol305                          ScatterpolarMarkerSymbol = "305"
	ScatterpolarMarkerSymbol_305                         ScatterpolarMarkerSymbol = "305"
	ScatterpolarMarkerSymbol_triangle_up_open_dot        ScatterpolarMarkerSymbol = "triangle-up-open-dot"
	ScatterpolarMarkerSymbol6                            ScatterpolarMarkerSymbol = "6"
	ScatterpolarMarkerSymbol_6                           ScatterpolarMarkerSymbol = "6"
	ScatterpolarMarkerSymbol_triangle_down               ScatterpolarMarkerSymbol = "triangle-down"
	ScatterpolarMarkerSymbol106                          ScatterpolarMarkerSymbol = "106"
	ScatterpolarMarkerSymbol_106                         ScatterpolarMarkerSymbol = "106"
	ScatterpolarMarkerSymbol_triangle_down_open          ScatterpolarMarkerSymbol = "triangle-down-open"
	ScatterpolarMarkerSymbol206                          ScatterpolarMarkerSymbol = "206"
	ScatterpolarMarkerSymbol_206                         ScatterpolarMarkerSymbol = "206"
	ScatterpolarMarkerSymbol_triangle_down_dot           ScatterpolarMarkerSymbol = "triangle-down-dot"
	ScatterpolarMarkerSymbol306                          ScatterpolarMarkerSymbol = "306"
	ScatterpolarMarkerSymbol_306                         ScatterpolarMarkerSymbol = "306"
	ScatterpolarMarkerSymbol_triangle_down_open_dot      ScatterpolarMarkerSymbol = "triangle-down-open-dot"
	ScatterpolarMarkerSymbol7                            ScatterpolarMarkerSymbol = "7"
	ScatterpolarMarkerSymbol_7                           ScatterpolarMarkerSymbol = "7"
	ScatterpolarMarkerSymbol_triangle_left               ScatterpolarMarkerSymbol = "triangle-left"
	ScatterpolarMarkerSymbol107                          ScatterpolarMarkerSymbol = "107"
	ScatterpolarMarkerSymbol_107                         ScatterpolarMarkerSymbol = "107"
	ScatterpolarMarkerSymbol_triangle_left_open          ScatterpolarMarkerSymbol = "triangle-left-open"
	ScatterpolarMarkerSymbol207                          ScatterpolarMarkerSymbol = "207"
	ScatterpolarMarkerSymbol_207                         ScatterpolarMarkerSymbol = "207"
	ScatterpolarMarkerSymbol_triangle_left_dot           ScatterpolarMarkerSymbol = "triangle-left-dot"
	ScatterpolarMarkerSymbol307                          ScatterpolarMarkerSymbol = "307"
	ScatterpolarMarkerSymbol_307                         ScatterpolarMarkerSymbol = "307"
	ScatterpolarMarkerSymbol_triangle_left_open_dot      ScatterpolarMarkerSymbol = "triangle-left-open-dot"
	ScatterpolarMarkerSymbol8                            ScatterpolarMarkerSymbol = "8"
	ScatterpolarMarkerSymbol_8                           ScatterpolarMarkerSymbol = "8"
	ScatterpolarMarkerSymbol_triangle_right              ScatterpolarMarkerSymbol = "triangle-right"
	ScatterpolarMarkerSymbol108                          ScatterpolarMarkerSymbol = "108"
	ScatterpolarMarkerSymbol_108                         ScatterpolarMarkerSymbol = "108"
	ScatterpolarMarkerSymbol_triangle_right_open         ScatterpolarMarkerSymbol = "triangle-right-open"
	ScatterpolarMarkerSymbol208                          ScatterpolarMarkerSymbol = "208"
	ScatterpolarMarkerSymbol_208                         ScatterpolarMarkerSymbol = "208"
	ScatterpolarMarkerSymbol_triangle_right_dot          ScatterpolarMarkerSymbol = "triangle-right-dot"
	ScatterpolarMarkerSymbol308                          ScatterpolarMarkerSymbol = "308"
	ScatterpolarMarkerSymbol_308                         ScatterpolarMarkerSymbol = "308"
	ScatterpolarMarkerSymbol_triangle_right_open_dot     ScatterpolarMarkerSymbol = "triangle-right-open-dot"
	ScatterpolarMarkerSymbol9                            ScatterpolarMarkerSymbol = "9"
	ScatterpolarMarkerSymbol_9                           ScatterpolarMarkerSymbol = "9"
	ScatterpolarMarkerSymbol_triangle_ne                 ScatterpolarMarkerSymbol = "triangle-ne"
	ScatterpolarMarkerSymbol109                          ScatterpolarMarkerSymbol = "109"
	ScatterpolarMarkerSymbol_109                         ScatterpolarMarkerSymbol = "109"
	ScatterpolarMarkerSymbol_triangle_ne_open            ScatterpolarMarkerSymbol = "triangle-ne-open"
	ScatterpolarMarkerSymbol209                          ScatterpolarMarkerSymbol = "209"
	ScatterpolarMarkerSymbol_209                         ScatterpolarMarkerSymbol = "209"
	ScatterpolarMarkerSymbol_triangle_ne_dot             ScatterpolarMarkerSymbol = "triangle-ne-dot"
	ScatterpolarMarkerSymbol309                          ScatterpolarMarkerSymbol = "309"
	ScatterpolarMarkerSymbol_309                         ScatterpolarMarkerSymbol = "309"
	ScatterpolarMarkerSymbol_triangle_ne_open_dot        ScatterpolarMarkerSymbol = "triangle-ne-open-dot"
	ScatterpolarMarkerSymbol10                           ScatterpolarMarkerSymbol = "10"
	ScatterpolarMarkerSymbol_10                          ScatterpolarMarkerSymbol = "10"
	ScatterpolarMarkerSymbol_triangle_se                 ScatterpolarMarkerSymbol = "triangle-se"
	ScatterpolarMarkerSymbol110                          ScatterpolarMarkerSymbol = "110"
	ScatterpolarMarkerSymbol_110                         ScatterpolarMarkerSymbol = "110"
	ScatterpolarMarkerSymbol_triangle_se_open            ScatterpolarMarkerSymbol = "triangle-se-open"
	ScatterpolarMarkerSymbol210                          ScatterpolarMarkerSymbol = "210"
	ScatterpolarMarkerSymbol_210                         ScatterpolarMarkerSymbol = "210"
	ScatterpolarMarkerSymbol_triangle_se_dot             ScatterpolarMarkerSymbol = "triangle-se-dot"
	ScatterpolarMarkerSymbol310                          ScatterpolarMarkerSymbol = "310"
	ScatterpolarMarkerSymbol_310                         ScatterpolarMarkerSymbol = "310"
	ScatterpolarMarkerSymbol_triangle_se_open_dot        ScatterpolarMarkerSymbol = "triangle-se-open-dot"
	ScatterpolarMarkerSymbol11                           ScatterpolarMarkerSymbol = "11"
	ScatterpolarMarkerSymbol_11                          ScatterpolarMarkerSymbol = "11"
	ScatterpolarMarkerSymbol_triangle_sw                 ScatterpolarMarkerSymbol = "triangle-sw"
	ScatterpolarMarkerSymbol111                          ScatterpolarMarkerSymbol = "111"
	ScatterpolarMarkerSymbol_111                         ScatterpolarMarkerSymbol = "111"
	ScatterpolarMarkerSymbol_triangle_sw_open            ScatterpolarMarkerSymbol = "triangle-sw-open"
	ScatterpolarMarkerSymbol211                          ScatterpolarMarkerSymbol = "211"
	ScatterpolarMarkerSymbol_211                         ScatterpolarMarkerSymbol = "211"
	ScatterpolarMarkerSymbol_triangle_sw_dot             ScatterpolarMarkerSymbol = "triangle-sw-dot"
	ScatterpolarMarkerSymbol311                          ScatterpolarMarkerSymbol = "311"
	ScatterpolarMarkerSymbol_311                         ScatterpolarMarkerSymbol = "311"
	ScatterpolarMarkerSymbol_triangle_sw_open_dot        ScatterpolarMarkerSymbol = "triangle-sw-open-dot"
	ScatterpolarMarkerSymbol12                           ScatterpolarMarkerSymbol = "12"
	ScatterpolarMarkerSymbol_12                          ScatterpolarMarkerSymbol = "12"
	ScatterpolarMarkerSymbol_triangle_nw                 ScatterpolarMarkerSymbol = "triangle-nw"
	ScatterpolarMarkerSymbol112                          ScatterpolarMarkerSymbol = "112"
	ScatterpolarMarkerSymbol_112                         ScatterpolarMarkerSymbol = "112"
	ScatterpolarMarkerSymbol_triangle_nw_open            ScatterpolarMarkerSymbol = "triangle-nw-open"
	ScatterpolarMarkerSymbol212                          ScatterpolarMarkerSymbol = "212"
	ScatterpolarMarkerSymbol_212                         ScatterpolarMarkerSymbol = "212"
	ScatterpolarMarkerSymbol_triangle_nw_dot             ScatterpolarMarkerSymbol = "triangle-nw-dot"
	ScatterpolarMarkerSymbol312                          ScatterpolarMarkerSymbol = "312"
	ScatterpolarMarkerSymbol_312                         ScatterpolarMarkerSymbol = "312"
	ScatterpolarMarkerSymbol_triangle_nw_open_dot        ScatterpolarMarkerSymbol = "triangle-nw-open-dot"
	ScatterpolarMarkerSymbol13                           ScatterpolarMarkerSymbol = "13"
	ScatterpolarMarkerSymbol_13                          ScatterpolarMarkerSymbol = "13"
	ScatterpolarMarkerSymbol_pentagon                    ScatterpolarMarkerSymbol = "pentagon"
	ScatterpolarMarkerSymbol113                          ScatterpolarMarkerSymbol = "113"
	ScatterpolarMarkerSymbol_113                         ScatterpolarMarkerSymbol = "113"
	ScatterpolarMarkerSymbol_pentagon_open               ScatterpolarMarkerSymbol = "pentagon-open"
	ScatterpolarMarkerSymbol213                          ScatterpolarMarkerSymbol = "213"
	ScatterpolarMarkerSymbol_213                         ScatterpolarMarkerSymbol = "213"
	ScatterpolarMarkerSymbol_pentagon_dot                ScatterpolarMarkerSymbol = "pentagon-dot"
	ScatterpolarMarkerSymbol313                          ScatterpolarMarkerSymbol = "313"
	ScatterpolarMarkerSymbol_313                         ScatterpolarMarkerSymbol = "313"
	ScatterpolarMarkerSymbol_pentagon_open_dot           ScatterpolarMarkerSymbol = "pentagon-open-dot"
	ScatterpolarMarkerSymbol14                           ScatterpolarMarkerSymbol = "14"
	ScatterpolarMarkerSymbol_14                          ScatterpolarMarkerSymbol = "14"
	ScatterpolarMarkerSymbol_hexagon                     ScatterpolarMarkerSymbol = "hexagon"
	ScatterpolarMarkerSymbol114                          ScatterpolarMarkerSymbol = "114"
	ScatterpolarMarkerSymbol_114                         ScatterpolarMarkerSymbol = "114"
	ScatterpolarMarkerSymbol_hexagon_open                ScatterpolarMarkerSymbol = "hexagon-open"
	ScatterpolarMarkerSymbol214                          ScatterpolarMarkerSymbol = "214"
	ScatterpolarMarkerSymbol_214                         ScatterpolarMarkerSymbol = "214"
	ScatterpolarMarkerSymbol_hexagon_dot                 ScatterpolarMarkerSymbol = "hexagon-dot"
	ScatterpolarMarkerSymbol314                          ScatterpolarMarkerSymbol = "314"
	ScatterpolarMarkerSymbol_314                         ScatterpolarMarkerSymbol = "314"
	ScatterpolarMarkerSymbol_hexagon_open_dot            ScatterpolarMarkerSymbol = "hexagon-open-dot"
	ScatterpolarMarkerSymbol15                           ScatterpolarMarkerSymbol = "15"
	ScatterpolarMarkerSymbol_15                          ScatterpolarMarkerSymbol = "15"
	ScatterpolarMarkerSymbol_hexagon2                    ScatterpolarMarkerSymbol = "hexagon2"
	ScatterpolarMarkerSymbol115                          ScatterpolarMarkerSymbol = "115"
	ScatterpolarMarkerSymbol_115                         ScatterpolarMarkerSymbol = "115"
	ScatterpolarMarkerSymbol_hexagon2_open               ScatterpolarMarkerSymbol = "hexagon2-open"
	ScatterpolarMarkerSymbol215                          ScatterpolarMarkerSymbol = "215"
	ScatterpolarMarkerSymbol_215                         ScatterpolarMarkerSymbol = "215"
	ScatterpolarMarkerSymbol_hexagon2_dot                ScatterpolarMarkerSymbol = "hexagon2-dot"
	ScatterpolarMarkerSymbol315                          ScatterpolarMarkerSymbol = "315"
	ScatterpolarMarkerSymbol_315                         ScatterpolarMarkerSymbol = "315"
	ScatterpolarMarkerSymbol_hexagon2_open_dot           ScatterpolarMarkerSymbol = "hexagon2-open-dot"
	ScatterpolarMarkerSymbol16                           ScatterpolarMarkerSymbol = "16"
	ScatterpolarMarkerSymbol_16                          ScatterpolarMarkerSymbol = "16"
	ScatterpolarMarkerSymbol_octagon                     ScatterpolarMarkerSymbol = "octagon"
	ScatterpolarMarkerSymbol116                          ScatterpolarMarkerSymbol = "116"
	ScatterpolarMarkerSymbol_116                         ScatterpolarMarkerSymbol = "116"
	ScatterpolarMarkerSymbol_octagon_open                ScatterpolarMarkerSymbol = "octagon-open"
	ScatterpolarMarkerSymbol216                          ScatterpolarMarkerSymbol = "216"
	ScatterpolarMarkerSymbol_216                         ScatterpolarMarkerSymbol = "216"
	ScatterpolarMarkerSymbol_octagon_dot                 ScatterpolarMarkerSymbol = "octagon-dot"
	ScatterpolarMarkerSymbol316                          ScatterpolarMarkerSymbol = "316"
	ScatterpolarMarkerSymbol_316                         ScatterpolarMarkerSymbol = "316"
	ScatterpolarMarkerSymbol_octagon_open_dot            ScatterpolarMarkerSymbol = "octagon-open-dot"
	ScatterpolarMarkerSymbol17                           ScatterpolarMarkerSymbol = "17"
	ScatterpolarMarkerSymbol_17                          ScatterpolarMarkerSymbol = "17"
	ScatterpolarMarkerSymbol_star                        ScatterpolarMarkerSymbol = "star"
	ScatterpolarMarkerSymbol117                          ScatterpolarMarkerSymbol = "117"
	ScatterpolarMarkerSymbol_117                         ScatterpolarMarkerSymbol = "117"
	ScatterpolarMarkerSymbol_star_open                   ScatterpolarMarkerSymbol = "star-open"
	ScatterpolarMarkerSymbol217                          ScatterpolarMarkerSymbol = "217"
	ScatterpolarMarkerSymbol_217                         ScatterpolarMarkerSymbol = "217"
	ScatterpolarMarkerSymbol_star_dot                    ScatterpolarMarkerSymbol = "star-dot"
	ScatterpolarMarkerSymbol317                          ScatterpolarMarkerSymbol = "317"
	ScatterpolarMarkerSymbol_317                         ScatterpolarMarkerSymbol = "317"
	ScatterpolarMarkerSymbol_star_open_dot               ScatterpolarMarkerSymbol = "star-open-dot"
	ScatterpolarMarkerSymbol18                           ScatterpolarMarkerSymbol = "18"
	ScatterpolarMarkerSymbol_18                          ScatterpolarMarkerSymbol = "18"
	ScatterpolarMarkerSymbol_hexagram                    ScatterpolarMarkerSymbol = "hexagram"
	ScatterpolarMarkerSymbol118                          ScatterpolarMarkerSymbol = "118"
	ScatterpolarMarkerSymbol_118                         ScatterpolarMarkerSymbol = "118"
	ScatterpolarMarkerSymbol_hexagram_open               ScatterpolarMarkerSymbol = "hexagram-open"
	ScatterpolarMarkerSymbol218                          ScatterpolarMarkerSymbol = "218"
	ScatterpolarMarkerSymbol_218                         ScatterpolarMarkerSymbol = "218"
	ScatterpolarMarkerSymbol_hexagram_dot                ScatterpolarMarkerSymbol = "hexagram-dot"
	ScatterpolarMarkerSymbol318                          ScatterpolarMarkerSymbol = "318"
	ScatterpolarMarkerSymbol_318                         ScatterpolarMarkerSymbol = "318"
	ScatterpolarMarkerSymbol_hexagram_open_dot           ScatterpolarMarkerSymbol = "hexagram-open-dot"
	ScatterpolarMarkerSymbol19                           ScatterpolarMarkerSymbol = "19"
	ScatterpolarMarkerSymbol_19                          ScatterpolarMarkerSymbol = "19"
	ScatterpolarMarkerSymbol_star_triangle_up            ScatterpolarMarkerSymbol = "star-triangle-up"
	ScatterpolarMarkerSymbol119                          ScatterpolarMarkerSymbol = "119"
	ScatterpolarMarkerSymbol_119                         ScatterpolarMarkerSymbol = "119"
	ScatterpolarMarkerSymbol_star_triangle_up_open       ScatterpolarMarkerSymbol = "star-triangle-up-open"
	ScatterpolarMarkerSymbol219                          ScatterpolarMarkerSymbol = "219"
	ScatterpolarMarkerSymbol_219                         ScatterpolarMarkerSymbol = "219"
	ScatterpolarMarkerSymbol_star_triangle_up_dot        ScatterpolarMarkerSymbol = "star-triangle-up-dot"
	ScatterpolarMarkerSymbol319                          ScatterpolarMarkerSymbol = "319"
	ScatterpolarMarkerSymbol_319                         ScatterpolarMarkerSymbol = "319"
	ScatterpolarMarkerSymbol_star_triangle_up_open_dot   ScatterpolarMarkerSymbol = "star-triangle-up-open-dot"
	ScatterpolarMarkerSymbol20                           ScatterpolarMarkerSymbol = "20"
	ScatterpolarMarkerSymbol_20                          ScatterpolarMarkerSymbol = "20"
	ScatterpolarMarkerSymbol_star_triangle_down          ScatterpolarMarkerSymbol = "star-triangle-down"
	ScatterpolarMarkerSymbol120                          ScatterpolarMarkerSymbol = "120"
	ScatterpolarMarkerSymbol_120                         ScatterpolarMarkerSymbol = "120"
	ScatterpolarMarkerSymbol_star_triangle_down_open     ScatterpolarMarkerSymbol = "star-triangle-down-open"
	ScatterpolarMarkerSymbol220                          ScatterpolarMarkerSymbol = "220"
	ScatterpolarMarkerSymbol_220                         ScatterpolarMarkerSymbol = "220"
	ScatterpolarMarkerSymbol_star_triangle_down_dot      ScatterpolarMarkerSymbol = "star-triangle-down-dot"
	ScatterpolarMarkerSymbol320                          ScatterpolarMarkerSymbol = "320"
	ScatterpolarMarkerSymbol_320                         ScatterpolarMarkerSymbol = "320"
	ScatterpolarMarkerSymbol_star_triangle_down_open_dot ScatterpolarMarkerSymbol = "star-triangle-down-open-dot"
	ScatterpolarMarkerSymbol21                           ScatterpolarMarkerSymbol = "21"
	ScatterpolarMarkerSymbol_21                          ScatterpolarMarkerSymbol = "21"
	ScatterpolarMarkerSymbol_star_square                 ScatterpolarMarkerSymbol = "star-square"
	ScatterpolarMarkerSymbol121                          ScatterpolarMarkerSymbol = "121"
	ScatterpolarMarkerSymbol_121                         ScatterpolarMarkerSymbol = "121"
	ScatterpolarMarkerSymbol_star_square_open            ScatterpolarMarkerSymbol = "star-square-open"
	ScatterpolarMarkerSymbol221                          ScatterpolarMarkerSymbol = "221"
	ScatterpolarMarkerSymbol_221                         ScatterpolarMarkerSymbol = "221"
	ScatterpolarMarkerSymbol_star_square_dot             ScatterpolarMarkerSymbol = "star-square-dot"
	ScatterpolarMarkerSymbol321                          ScatterpolarMarkerSymbol = "321"
	ScatterpolarMarkerSymbol_321                         ScatterpolarMarkerSymbol = "321"
	ScatterpolarMarkerSymbol_star_square_open_dot        ScatterpolarMarkerSymbol = "star-square-open-dot"
	ScatterpolarMarkerSymbol22                           ScatterpolarMarkerSymbol = "22"
	ScatterpolarMarkerSymbol_22                          ScatterpolarMarkerSymbol = "22"
	ScatterpolarMarkerSymbol_star_diamond                ScatterpolarMarkerSymbol = "star-diamond"
	ScatterpolarMarkerSymbol122                          ScatterpolarMarkerSymbol = "122"
	ScatterpolarMarkerSymbol_122                         ScatterpolarMarkerSymbol = "122"
	ScatterpolarMarkerSymbol_star_diamond_open           ScatterpolarMarkerSymbol = "star-diamond-open"
	ScatterpolarMarkerSymbol222                          ScatterpolarMarkerSymbol = "222"
	ScatterpolarMarkerSymbol_222                         ScatterpolarMarkerSymbol = "222"
	ScatterpolarMarkerSymbol_star_diamond_dot            ScatterpolarMarkerSymbol = "star-diamond-dot"
	ScatterpolarMarkerSymbol322                          ScatterpolarMarkerSymbol = "322"
	ScatterpolarMarkerSymbol_322                         ScatterpolarMarkerSymbol = "322"
	ScatterpolarMarkerSymbol_star_diamond_open_dot       ScatterpolarMarkerSymbol = "star-diamond-open-dot"
	ScatterpolarMarkerSymbol23                           ScatterpolarMarkerSymbol = "23"
	ScatterpolarMarkerSymbol_23                          ScatterpolarMarkerSymbol = "23"
	ScatterpolarMarkerSymbol_diamond_tall                ScatterpolarMarkerSymbol = "diamond-tall"
	ScatterpolarMarkerSymbol123                          ScatterpolarMarkerSymbol = "123"
	ScatterpolarMarkerSymbol_123                         ScatterpolarMarkerSymbol = "123"
	ScatterpolarMarkerSymbol_diamond_tall_open           ScatterpolarMarkerSymbol = "diamond-tall-open"
	ScatterpolarMarkerSymbol223                          ScatterpolarMarkerSymbol = "223"
	ScatterpolarMarkerSymbol_223                         ScatterpolarMarkerSymbol = "223"
	ScatterpolarMarkerSymbol_diamond_tall_dot            ScatterpolarMarkerSymbol = "diamond-tall-dot"
	ScatterpolarMarkerSymbol323                          ScatterpolarMarkerSymbol = "323"
	ScatterpolarMarkerSymbol_323                         ScatterpolarMarkerSymbol = "323"
	ScatterpolarMarkerSymbol_diamond_tall_open_dot       ScatterpolarMarkerSymbol = "diamond-tall-open-dot"
	ScatterpolarMarkerSymbol24                           ScatterpolarMarkerSymbol = "24"
	ScatterpolarMarkerSymbol_24                          ScatterpolarMarkerSymbol = "24"
	ScatterpolarMarkerSymbol_diamond_wide                ScatterpolarMarkerSymbol = "diamond-wide"
	ScatterpolarMarkerSymbol124                          ScatterpolarMarkerSymbol = "124"
	ScatterpolarMarkerSymbol_124                         ScatterpolarMarkerSymbol = "124"
	ScatterpolarMarkerSymbol_diamond_wide_open           ScatterpolarMarkerSymbol = "diamond-wide-open"
	ScatterpolarMarkerSymbol224                          ScatterpolarMarkerSymbol = "224"
	ScatterpolarMarkerSymbol_224                         ScatterpolarMarkerSymbol = "224"
	ScatterpolarMarkerSymbol_diamond_wide_dot            ScatterpolarMarkerSymbol = "diamond-wide-dot"
	ScatterpolarMarkerSymbol324                          ScatterpolarMarkerSymbol = "324"
	ScatterpolarMarkerSymbol_324                         ScatterpolarMarkerSymbol = "324"
	ScatterpolarMarkerSymbol_diamond_wide_open_dot       ScatterpolarMarkerSymbol = "diamond-wide-open-dot"
	ScatterpolarMarkerSymbol25                           ScatterpolarMarkerSymbol = "25"
	ScatterpolarMarkerSymbol_25                          ScatterpolarMarkerSymbol = "25"
	ScatterpolarMarkerSymbol_hourglass                   ScatterpolarMarkerSymbol = "hourglass"
	ScatterpolarMarkerSymbol125                          ScatterpolarMarkerSymbol = "125"
	ScatterpolarMarkerSymbol_125                         ScatterpolarMarkerSymbol = "125"
	ScatterpolarMarkerSymbol_hourglass_open              ScatterpolarMarkerSymbol = "hourglass-open"
	ScatterpolarMarkerSymbol26                           ScatterpolarMarkerSymbol = "26"
	ScatterpolarMarkerSymbol_26                          ScatterpolarMarkerSymbol = "26"
	ScatterpolarMarkerSymbol_bowtie                      ScatterpolarMarkerSymbol = "bowtie"
	ScatterpolarMarkerSymbol126                          ScatterpolarMarkerSymbol = "126"
	ScatterpolarMarkerSymbol_126                         ScatterpolarMarkerSymbol = "126"
	ScatterpolarMarkerSymbol_bowtie_open                 ScatterpolarMarkerSymbol = "bowtie-open"
	ScatterpolarMarkerSymbol27                           ScatterpolarMarkerSymbol = "27"
	ScatterpolarMarkerSymbol_27                          ScatterpolarMarkerSymbol = "27"
	ScatterpolarMarkerSymbol_circle_cross                ScatterpolarMarkerSymbol = "circle-cross"
	ScatterpolarMarkerSymbol127                          ScatterpolarMarkerSymbol = "127"
	ScatterpolarMarkerSymbol_127                         ScatterpolarMarkerSymbol = "127"
	ScatterpolarMarkerSymbol_circle_cross_open           ScatterpolarMarkerSymbol = "circle-cross-open"
	ScatterpolarMarkerSymbol28                           ScatterpolarMarkerSymbol = "28"
	ScatterpolarMarkerSymbol_28                          ScatterpolarMarkerSymbol = "28"
	ScatterpolarMarkerSymbol_circle_x                    ScatterpolarMarkerSymbol = "circle-x"
	ScatterpolarMarkerSymbol128                          ScatterpolarMarkerSymbol = "128"
	ScatterpolarMarkerSymbol_128                         ScatterpolarMarkerSymbol = "128"
	ScatterpolarMarkerSymbol_circle_x_open               ScatterpolarMarkerSymbol = "circle-x-open"
	ScatterpolarMarkerSymbol29                           ScatterpolarMarkerSymbol = "29"
	ScatterpolarMarkerSymbol_29                          ScatterpolarMarkerSymbol = "29"
	ScatterpolarMarkerSymbol_square_cross                ScatterpolarMarkerSymbol = "square-cross"
	ScatterpolarMarkerSymbol129                          ScatterpolarMarkerSymbol = "129"
	ScatterpolarMarkerSymbol_129                         ScatterpolarMarkerSymbol = "129"
	ScatterpolarMarkerSymbol_square_cross_open           ScatterpolarMarkerSymbol = "square-cross-open"
	ScatterpolarMarkerSymbol30                           ScatterpolarMarkerSymbol = "30"
	ScatterpolarMarkerSymbol_30                          ScatterpolarMarkerSymbol = "30"
	ScatterpolarMarkerSymbol_square_x                    ScatterpolarMarkerSymbol = "square-x"
	ScatterpolarMarkerSymbol130                          ScatterpolarMarkerSymbol = "130"
	ScatterpolarMarkerSymbol_130                         ScatterpolarMarkerSymbol = "130"
	ScatterpolarMarkerSymbol_square_x_open               ScatterpolarMarkerSymbol = "square-x-open"
	ScatterpolarMarkerSymbol31                           ScatterpolarMarkerSymbol = "31"
	ScatterpolarMarkerSymbol_31                          ScatterpolarMarkerSymbol = "31"
	ScatterpolarMarkerSymbol_diamond_cross               ScatterpolarMarkerSymbol = "diamond-cross"
	ScatterpolarMarkerSymbol131                          ScatterpolarMarkerSymbol = "131"
	ScatterpolarMarkerSymbol_131                         ScatterpolarMarkerSymbol = "131"
	ScatterpolarMarkerSymbol_diamond_cross_open          ScatterpolarMarkerSymbol = "diamond-cross-open"
	ScatterpolarMarkerSymbol32                           ScatterpolarMarkerSymbol = "32"
	ScatterpolarMarkerSymbol_32                          ScatterpolarMarkerSymbol = "32"
	ScatterpolarMarkerSymbol_diamond_x                   ScatterpolarMarkerSymbol = "diamond-x"
	ScatterpolarMarkerSymbol132                          ScatterpolarMarkerSymbol = "132"
	ScatterpolarMarkerSymbol_132                         ScatterpolarMarkerSymbol = "132"
	ScatterpolarMarkerSymbol_diamond_x_open              ScatterpolarMarkerSymbol = "diamond-x-open"
	ScatterpolarMarkerSymbol33                           ScatterpolarMarkerSymbol = "33"
	ScatterpolarMarkerSymbol_33                          ScatterpolarMarkerSymbol = "33"
	ScatterpolarMarkerSymbol_cross_thin                  ScatterpolarMarkerSymbol = "cross-thin"
	ScatterpolarMarkerSymbol133                          ScatterpolarMarkerSymbol = "133"
	ScatterpolarMarkerSymbol_133                         ScatterpolarMarkerSymbol = "133"
	ScatterpolarMarkerSymbol_cross_thin_open             ScatterpolarMarkerSymbol = "cross-thin-open"
	ScatterpolarMarkerSymbol34                           ScatterpolarMarkerSymbol = "34"
	ScatterpolarMarkerSymbol_34                          ScatterpolarMarkerSymbol = "34"
	ScatterpolarMarkerSymbol_x_thin                      ScatterpolarMarkerSymbol = "x-thin"
	ScatterpolarMarkerSymbol134                          ScatterpolarMarkerSymbol = "134"
	ScatterpolarMarkerSymbol_134                         ScatterpolarMarkerSymbol = "134"
	ScatterpolarMarkerSymbol_x_thin_open                 ScatterpolarMarkerSymbol = "x-thin-open"
	ScatterpolarMarkerSymbol35                           ScatterpolarMarkerSymbol = "35"
	ScatterpolarMarkerSymbol_35                          ScatterpolarMarkerSymbol = "35"
	ScatterpolarMarkerSymbol_asterisk                    ScatterpolarMarkerSymbol = "asterisk"
	ScatterpolarMarkerSymbol135                          ScatterpolarMarkerSymbol = "135"
	ScatterpolarMarkerSymbol_135                         ScatterpolarMarkerSymbol = "135"
	ScatterpolarMarkerSymbol_asterisk_open               ScatterpolarMarkerSymbol = "asterisk-open"
	ScatterpolarMarkerSymbol36                           ScatterpolarMarkerSymbol = "36"
	ScatterpolarMarkerSymbol_36                          ScatterpolarMarkerSymbol = "36"
	ScatterpolarMarkerSymbol_hash                        ScatterpolarMarkerSymbol = "hash"
	ScatterpolarMarkerSymbol136                          ScatterpolarMarkerSymbol = "136"
	ScatterpolarMarkerSymbol_136                         ScatterpolarMarkerSymbol = "136"
	ScatterpolarMarkerSymbol_hash_open                   ScatterpolarMarkerSymbol = "hash-open"
	ScatterpolarMarkerSymbol236                          ScatterpolarMarkerSymbol = "236"
	ScatterpolarMarkerSymbol_236                         ScatterpolarMarkerSymbol = "236"
	ScatterpolarMarkerSymbol_hash_dot                    ScatterpolarMarkerSymbol = "hash-dot"
	ScatterpolarMarkerSymbol336                          ScatterpolarMarkerSymbol = "336"
	ScatterpolarMarkerSymbol_336                         ScatterpolarMarkerSymbol = "336"
	ScatterpolarMarkerSymbol_hash_open_dot               ScatterpolarMarkerSymbol = "hash-open-dot"
	ScatterpolarMarkerSymbol37                           ScatterpolarMarkerSymbol = "37"
	ScatterpolarMarkerSymbol_37                          ScatterpolarMarkerSymbol = "37"
	ScatterpolarMarkerSymbol_y_up                        ScatterpolarMarkerSymbol = "y-up"
	ScatterpolarMarkerSymbol137                          ScatterpolarMarkerSymbol = "137"
	ScatterpolarMarkerSymbol_137                         ScatterpolarMarkerSymbol = "137"
	ScatterpolarMarkerSymbol_y_up_open                   ScatterpolarMarkerSymbol = "y-up-open"
	ScatterpolarMarkerSymbol38                           ScatterpolarMarkerSymbol = "38"
	ScatterpolarMarkerSymbol_38                          ScatterpolarMarkerSymbol = "38"
	ScatterpolarMarkerSymbol_y_down                      ScatterpolarMarkerSymbol = "y-down"
	ScatterpolarMarkerSymbol138                          ScatterpolarMarkerSymbol = "138"
	ScatterpolarMarkerSymbol_138                         ScatterpolarMarkerSymbol = "138"
	ScatterpolarMarkerSymbol_y_down_open                 ScatterpolarMarkerSymbol = "y-down-open"
	ScatterpolarMarkerSymbol39                           ScatterpolarMarkerSymbol = "39"
	ScatterpolarMarkerSymbol_39                          ScatterpolarMarkerSymbol = "39"
	ScatterpolarMarkerSymbol_y_left                      ScatterpolarMarkerSymbol = "y-left"
	ScatterpolarMarkerSymbol139                          ScatterpolarMarkerSymbol = "139"
	ScatterpolarMarkerSymbol_139                         ScatterpolarMarkerSymbol = "139"
	ScatterpolarMarkerSymbol_y_left_open                 ScatterpolarMarkerSymbol = "y-left-open"
	ScatterpolarMarkerSymbol40                           ScatterpolarMarkerSymbol = "40"
	ScatterpolarMarkerSymbol_40                          ScatterpolarMarkerSymbol = "40"
	ScatterpolarMarkerSymbol_y_right                     ScatterpolarMarkerSymbol = "y-right"
	ScatterpolarMarkerSymbol140                          ScatterpolarMarkerSymbol = "140"
	ScatterpolarMarkerSymbol_140                         ScatterpolarMarkerSymbol = "140"
	ScatterpolarMarkerSymbol_y_right_open                ScatterpolarMarkerSymbol = "y-right-open"
	ScatterpolarMarkerSymbol41                           ScatterpolarMarkerSymbol = "41"
	ScatterpolarMarkerSymbol_41                          ScatterpolarMarkerSymbol = "41"
	ScatterpolarMarkerSymbol_line_ew                     ScatterpolarMarkerSymbol = "line-ew"
	ScatterpolarMarkerSymbol141                          ScatterpolarMarkerSymbol = "141"
	ScatterpolarMarkerSymbol_141                         ScatterpolarMarkerSymbol = "141"
	ScatterpolarMarkerSymbol_line_ew_open                ScatterpolarMarkerSymbol = "line-ew-open"
	ScatterpolarMarkerSymbol42                           ScatterpolarMarkerSymbol = "42"
	ScatterpolarMarkerSymbol_42                          ScatterpolarMarkerSymbol = "42"
	ScatterpolarMarkerSymbol_line_ns                     ScatterpolarMarkerSymbol = "line-ns"
	ScatterpolarMarkerSymbol142                          ScatterpolarMarkerSymbol = "142"
	ScatterpolarMarkerSymbol_142                         ScatterpolarMarkerSymbol = "142"
	ScatterpolarMarkerSymbol_line_ns_open                ScatterpolarMarkerSymbol = "line-ns-open"
	ScatterpolarMarkerSymbol43                           ScatterpolarMarkerSymbol = "43"
	ScatterpolarMarkerSymbol_43                          ScatterpolarMarkerSymbol = "43"
	ScatterpolarMarkerSymbol_line_ne                     ScatterpolarMarkerSymbol = "line-ne"
	ScatterpolarMarkerSymbol143                          ScatterpolarMarkerSymbol = "143"
	ScatterpolarMarkerSymbol_143                         ScatterpolarMarkerSymbol = "143"
	ScatterpolarMarkerSymbol_line_ne_open                ScatterpolarMarkerSymbol = "line-ne-open"
	ScatterpolarMarkerSymbol44                           ScatterpolarMarkerSymbol = "44"
	ScatterpolarMarkerSymbol_44                          ScatterpolarMarkerSymbol = "44"
	ScatterpolarMarkerSymbol_line_nw                     ScatterpolarMarkerSymbol = "line-nw"
	ScatterpolarMarkerSymbol144                          ScatterpolarMarkerSymbol = "144"
	ScatterpolarMarkerSymbol_144                         ScatterpolarMarkerSymbol = "144"
	ScatterpolarMarkerSymbol_line_nw_open                ScatterpolarMarkerSymbol = "line-nw-open"
	ScatterpolarMarkerSymbol45                           ScatterpolarMarkerSymbol = "45"
	ScatterpolarMarkerSymbol_45                          ScatterpolarMarkerSymbol = "45"
	ScatterpolarMarkerSymbol_arrow_up                    ScatterpolarMarkerSymbol = "arrow-up"
	ScatterpolarMarkerSymbol145                          ScatterpolarMarkerSymbol = "145"
	ScatterpolarMarkerSymbol_145                         ScatterpolarMarkerSymbol = "145"
	ScatterpolarMarkerSymbol_arrow_up_open               ScatterpolarMarkerSymbol = "arrow-up-open"
	ScatterpolarMarkerSymbol46                           ScatterpolarMarkerSymbol = "46"
	ScatterpolarMarkerSymbol_46                          ScatterpolarMarkerSymbol = "46"
	ScatterpolarMarkerSymbol_arrow_down                  ScatterpolarMarkerSymbol = "arrow-down"
	ScatterpolarMarkerSymbol146                          ScatterpolarMarkerSymbol = "146"
	ScatterpolarMarkerSymbol_146                         ScatterpolarMarkerSymbol = "146"
	ScatterpolarMarkerSymbol_arrow_down_open             ScatterpolarMarkerSymbol = "arrow-down-open"
	ScatterpolarMarkerSymbol47                           ScatterpolarMarkerSymbol = "47"
	ScatterpolarMarkerSymbol_47                          ScatterpolarMarkerSymbol = "47"
	ScatterpolarMarkerSymbol_arrow_left                  ScatterpolarMarkerSymbol = "arrow-left"
	ScatterpolarMarkerSymbol147                          ScatterpolarMarkerSymbol = "147"
	ScatterpolarMarkerSymbol_147                         ScatterpolarMarkerSymbol = "147"
	ScatterpolarMarkerSymbol_arrow_left_open             ScatterpolarMarkerSymbol = "arrow-left-open"
	ScatterpolarMarkerSymbol48                           ScatterpolarMarkerSymbol = "48"
	ScatterpolarMarkerSymbol_48                          ScatterpolarMarkerSymbol = "48"
	ScatterpolarMarkerSymbol_arrow_right                 ScatterpolarMarkerSymbol = "arrow-right"
	ScatterpolarMarkerSymbol148                          ScatterpolarMarkerSymbol = "148"
	ScatterpolarMarkerSymbol_148                         ScatterpolarMarkerSymbol = "148"
	ScatterpolarMarkerSymbol_arrow_right_open            ScatterpolarMarkerSymbol = "arrow-right-open"
	ScatterpolarMarkerSymbol49                           ScatterpolarMarkerSymbol = "49"
	ScatterpolarMarkerSymbol_49                          ScatterpolarMarkerSymbol = "49"
	ScatterpolarMarkerSymbol_arrow_bar_up                ScatterpolarMarkerSymbol = "arrow-bar-up"
	ScatterpolarMarkerSymbol149                          ScatterpolarMarkerSymbol = "149"
	ScatterpolarMarkerSymbol_149                         ScatterpolarMarkerSymbol = "149"
	ScatterpolarMarkerSymbol_arrow_bar_up_open           ScatterpolarMarkerSymbol = "arrow-bar-up-open"
	ScatterpolarMarkerSymbol50                           ScatterpolarMarkerSymbol = "50"
	ScatterpolarMarkerSymbol_50                          ScatterpolarMarkerSymbol = "50"
	ScatterpolarMarkerSymbol_arrow_bar_down              ScatterpolarMarkerSymbol = "arrow-bar-down"
	ScatterpolarMarkerSymbol150                          ScatterpolarMarkerSymbol = "150"
	ScatterpolarMarkerSymbol_150                         ScatterpolarMarkerSymbol = "150"
	ScatterpolarMarkerSymbol_arrow_bar_down_open         ScatterpolarMarkerSymbol = "arrow-bar-down-open"
	ScatterpolarMarkerSymbol51                           ScatterpolarMarkerSymbol = "51"
	ScatterpolarMarkerSymbol_51                          ScatterpolarMarkerSymbol = "51"
	ScatterpolarMarkerSymbol_arrow_bar_left              ScatterpolarMarkerSymbol = "arrow-bar-left"
	ScatterpolarMarkerSymbol151                          ScatterpolarMarkerSymbol = "151"
	ScatterpolarMarkerSymbol_151                         ScatterpolarMarkerSymbol = "151"
	ScatterpolarMarkerSymbol_arrow_bar_left_open         ScatterpolarMarkerSymbol = "arrow-bar-left-open"
	ScatterpolarMarkerSymbol52                           ScatterpolarMarkerSymbol = "52"
	ScatterpolarMarkerSymbol_52                          ScatterpolarMarkerSymbol = "52"
	ScatterpolarMarkerSymbol_arrow_bar_right             ScatterpolarMarkerSymbol = "arrow-bar-right"
	ScatterpolarMarkerSymbol152                          ScatterpolarMarkerSymbol = "152"
	ScatterpolarMarkerSymbol_152                         ScatterpolarMarkerSymbol = "152"
	ScatterpolarMarkerSymbol_arrow_bar_right_open        ScatterpolarMarkerSymbol = "arrow-bar-right-open"
)

type ScatterpolarMode

type ScatterpolarMode string
const (
	// Flags
	ScatterpolarModeLines   ScatterpolarMode = "lines"
	ScatterpolarModeMarkers ScatterpolarMode = "markers"
	ScatterpolarModeText    ScatterpolarMode = "text"
	// Extras
	ScatterpolarModeNone ScatterpolarMode = "none"
)

type ScatterpolarSelected

type ScatterpolarSelected struct {

	// Marker <no value> <no value>
	Marker *ScatterpolarSelectedMarker `json:"marker,omitempty"`

	// Textfont <no value> <no value>
	Textfont *ScatterpolarSelectedTextfont `json:"textfont,omitempty"`
}

type ScatterpolarSelectedMarker

type ScatterpolarSelectedMarker struct {

	// Color color Sets the marker color of selected points.
	Color String `json:"color,omitempty"`

	// Opacity number Sets the marker opacity of selected points.
	Opacity float64 `json:"opacity,omitempty"`

	// Size number Sets the marker size of selected points.
	Size float64 `json:"size,omitempty"`
}

type ScatterpolarSelectedTextfont

type ScatterpolarSelectedTextfont struct {

	// Color color Sets the text font color of selected points.
	Color String `json:"color,omitempty"`
}

type ScatterpolarStream

type ScatterpolarStream struct {

	// Maxpoints 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 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"`
}

type ScatterpolarTextfont

type ScatterpolarTextfont struct {

	// Color color <no value>
	Color interface{} `json:"color,omitempty"`

	// Colorsrc string Sets the source reference on Chart Studio Cloud for  color .
	Colorsrc String `json:"colorsrc,omitempty"`

	// Family string HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.
	Family interface{} `json:"family,omitempty"`

	// Familysrc string Sets the source reference on Chart Studio Cloud for  family .
	Familysrc String `json:"familysrc,omitempty"`

	// Size number <no value>
	Size interface{} `json:"size,omitempty"`

	// Sizesrc string Sets the source reference on Chart Studio Cloud for  size .
	Sizesrc String `json:"sizesrc,omitempty"`
}

type ScatterpolarTextposition

type ScatterpolarTextposition string

ScatterpolarTextposition Sets the positions of the `text` elements with respects to the (x,y) coordinates.

const (
	ScatterpolarTextposition_topleft      ScatterpolarTextposition = "top left"
	ScatterpolarTextposition_topcenter    ScatterpolarTextposition = "top center"
	ScatterpolarTextposition_topright     ScatterpolarTextposition = "top right"
	ScatterpolarTextposition_middleleft   ScatterpolarTextposition = "middle left"
	ScatterpolarTextposition_middlecenter ScatterpolarTextposition = "middle center"
	ScatterpolarTextposition_middleright  ScatterpolarTextposition = "middle right"
	ScatterpolarTextposition_bottomleft   ScatterpolarTextposition = "bottom left"
	ScatterpolarTextposition_bottomcenter ScatterpolarTextposition = "bottom center"
	ScatterpolarTextposition_bottomright  ScatterpolarTextposition = "bottom right"
)

type ScatterpolarThetaunit

type ScatterpolarThetaunit string

ScatterpolarThetaunit Sets the unit of input *theta* values. Has an effect only when on *linear* angular axes.

const (
	ScatterpolarThetaunit_radians  ScatterpolarThetaunit = "radians"
	ScatterpolarThetaunit_degrees  ScatterpolarThetaunit = "degrees"
	ScatterpolarThetaunit_gradians ScatterpolarThetaunit = "gradians"
)

type ScatterpolarTransforms

type ScatterpolarTransforms interface{}

ScatterpolarTransforms It's an items array and what goes inside it's... messy... check the docs Here is a hint to help you to define your own type transform

description
editType
role

type ScatterpolarUnselected

type ScatterpolarUnselected struct {

	// Marker <no value> <no value>
	Marker *ScatterpolarUnselectedMarker `json:"marker,omitempty"`

	// Textfont <no value> <no value>
	Textfont *ScatterpolarUnselectedTextfont `json:"textfont,omitempty"`
}

type ScatterpolarUnselectedMarker

type ScatterpolarUnselectedMarker struct {

	// Color color Sets the marker color of unselected points, applied only when a selection exists.
	Color String `json:"color,omitempty"`

	// Opacity number Sets the marker opacity of unselected points, applied only when a selection exists.
	Opacity float64 `json:"opacity,omitempty"`

	// Size number Sets the marker size of unselected points, applied only when a selection exists.
	Size float64 `json:"size,omitempty"`
}

type ScatterpolarUnselectedTextfont

type ScatterpolarUnselectedTextfont struct {

	// Color color Sets the text font color of unselected points, applied only when a selection exists.
	Color String `json:"color,omitempty"`
}

type ScatterpolarVisible

type ScatterpolarVisible interface{}

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).

var (
	ScatterpolarVisible_True       ScatterpolarVisible = true
	ScatterpolarVisible_False      ScatterpolarVisible = false
	ScatterpolarVisible_legendonly ScatterpolarVisible = "legendonly"
)

type Scatterpolargl

type Scatterpolargl struct {

	// Type is the type of the plot
	Type TraceType `json:"type,omitempty"`

	// Connectgaps 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 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 string Sets the source reference on Chart Studio Cloud for  customdata .
	Customdatasrc String `json:"customdatasrc,omitempty"`

	// Dr number Sets the r coordinate step.
	Dr float64 `json:"dr,omitempty"`

	// Dtheta 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 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 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 String `json:"fillcolor,omitempty"`

	// Hoverinfo 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 string Sets the source reference on Chart Studio Cloud for  hoverinfo .
	Hoverinfosrc String `json:"hoverinfosrc,omitempty"`

	// Hoverlabel <no value> <no value>
	Hoverlabel *ScatterpolarglHoverlabel `json:"hoverlabel,omitempty"`

	// Hovertemplate 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 `<extra>` is displayed in the secondary box, for example "<extra>{fullData.name}</extra>". To hide the secondary box completely, use an empty tag `<extra></extra>`.
	Hovertemplate interface{} `json:"hovertemplate,omitempty"`

	// Hovertemplatesrc string Sets the source reference on Chart Studio Cloud for  hovertemplate .
	Hovertemplatesrc String `json:"hovertemplatesrc,omitempty"`

	// Hovertext 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 interface{} `json:"hovertext,omitempty"`

	// Hovertextsrc string Sets the source reference on Chart Studio Cloud for  hovertext .
	Hovertextsrc String `json:"hovertextsrc,omitempty"`

	// Ids 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 string Sets the source reference on Chart Studio Cloud for  ids .
	Idssrc String `json:"idssrc,omitempty"`

	// Legendgroup 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"`

	// Line <no value> <no value>
	Line *ScatterpolarglLine `json:"line,omitempty"`

	// Marker <no value> <no value>
	Marker *ScatterpolarglMarker `json:"marker,omitempty"`

	// Meta 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 string Sets the source reference on Chart Studio Cloud for  meta .
	Metasrc String `json:"metasrc,omitempty"`

	// Mode 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 string Sets the trace name. The trace name appear as the legend item and on hover.
	Name String `json:"name,omitempty"`

	// Opacity number Sets the opacity of the trace.
	Opacity float64 `json:"opacity,omitempty"`

	// R data_array Sets the radial coordinates
	R interface{} `json:"r,omitempty"`

	// R0 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 string Sets the source reference on Chart Studio Cloud for  r .
	Rsrc String `json:"rsrc,omitempty"`

	// Selected <no value> <no value>
	Selected *ScatterpolarglSelected `json:"selected,omitempty"`

	// Selectedpoints 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 boolean Determines whether or not an item corresponding to this trace is shown in the legend.
	Showlegend Bool `json:"showlegend,omitempty"`

	// Stream <no value> <no value>
	Stream *ScatterpolarglStream `json:"stream,omitempty"`

	// Subplot 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 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 interface{} `json:"text,omitempty"`

	// Textfont <no value> Sets the text font.
	Textfont *ScatterpolarglTextfont `json:"textfont,omitempty"`

	// Textposition enumerated Sets the positions of the `text` elements with respects to the (x,y) coordinates.
	Textposition ScatterpolarglTextposition `json:"textposition,omitempty"`

	// Textpositionsrc string Sets the source reference on Chart Studio Cloud for  textposition .
	Textpositionsrc String `json:"textpositionsrc,omitempty"`

	// Textsrc string Sets the source reference on Chart Studio Cloud for  text .
	Textsrc String `json:"textsrc,omitempty"`

	// Texttemplate 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`.
	Texttemplate interface{} `json:"texttemplate,omitempty"`

	// Texttemplatesrc string Sets the source reference on Chart Studio Cloud for  texttemplate .
	Texttemplatesrc String `json:"texttemplatesrc,omitempty"`

	// Theta data_array Sets the angular coordinates
	Theta interface{} `json:"theta,omitempty"`

	// Theta0 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 string Sets the source reference on Chart Studio Cloud for  theta .
	Thetasrc String `json:"thetasrc,omitempty"`

	// Thetaunit enumerated Sets the unit of input *theta* values. Has an effect only when on *linear* angular axes.
	Thetaunit ScatterpolarglThetaunit `json:"thetaunit,omitempty"`

	// Transforms <no value> <no value>
	Transforms ScatterpolarglTransforms `json:"transforms,omitempty"`

	// Uid 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 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 <no value> <no value>
	Unselected *ScatterpolarglUnselected `json:"unselected,omitempty"`

	// Visible 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"`
}

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.

func NewScatterpolargl

func NewScatterpolargl() *Scatterpolargl

func (*Scatterpolargl) GetType

func (this *Scatterpolargl) GetType() TraceType

type ScatterpolarglFill

type ScatterpolarglFill string

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.

const (
	ScatterpolarglFill_none    ScatterpolarglFill = "none"
	ScatterpolarglFill_tozeroy ScatterpolarglFill = "tozeroy"
	ScatterpolarglFill_tozerox ScatterpolarglFill = "tozerox"
	ScatterpolarglFill_tonexty ScatterpolarglFill = "tonexty"
	ScatterpolarglFill_tonextx ScatterpolarglFill = "tonextx"
	ScatterpolarglFill_toself  ScatterpolarglFill = "toself"
	ScatterpolarglFill_tonext  ScatterpolarglFill = "tonext"
)

type ScatterpolarglHoverinfo

type ScatterpolarglHoverinfo string
const (
	// Flags
	ScatterpolarglHoverinfoR     ScatterpolarglHoverinfo = "r"
	ScatterpolarglHoverinfoTheta ScatterpolarglHoverinfo = "theta"
	ScatterpolarglHoverinfoText  ScatterpolarglHoverinfo = "text"
	ScatterpolarglHoverinfoName  ScatterpolarglHoverinfo = "name"
	// Extras
	ScatterpolarglHoverinfoAll  ScatterpolarglHoverinfo = "all"
	ScatterpolarglHoverinfoNone ScatterpolarglHoverinfo = "none"
	ScatterpolarglHoverinfoSkip ScatterpolarglHoverinfo = "skip"
)

type ScatterpolarglHoverlabel

type ScatterpolarglHoverlabel struct {

	// Align 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 string Sets the source reference on Chart Studio Cloud for  align .
	Alignsrc String `json:"alignsrc,omitempty"`

	// Bgcolor color Sets the background color of the hover labels for this trace
	Bgcolor interface{} `json:"bgcolor,omitempty"`

	// Bgcolorsrc string Sets the source reference on Chart Studio Cloud for  bgcolor .
	Bgcolorsrc String `json:"bgcolorsrc,omitempty"`

	// Bordercolor color Sets the border color of the hover labels for this trace.
	Bordercolor interface{} `json:"bordercolor,omitempty"`

	// Bordercolorsrc string Sets the source reference on Chart Studio Cloud for  bordercolor .
	Bordercolorsrc String `json:"bordercolorsrc,omitempty"`

	// Font <no value> Sets the font used in hover labels.
	Font *ScatterpolarglHoverlabelFont `json:"font,omitempty"`

	// Namelength 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 interface{} `json:"namelength,omitempty"`

	// Namelengthsrc string Sets the source reference on Chart Studio Cloud for  namelength .
	Namelengthsrc String `json:"namelengthsrc,omitempty"`
}

type ScatterpolarglHoverlabelAlign

type ScatterpolarglHoverlabelAlign string

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

const (
	ScatterpolarglHoverlabelAlign_left  ScatterpolarglHoverlabelAlign = "left"
	ScatterpolarglHoverlabelAlign_right ScatterpolarglHoverlabelAlign = "right"
	ScatterpolarglHoverlabelAlign_auto  ScatterpolarglHoverlabelAlign = "auto"
)

type ScatterpolarglHoverlabelFont

type ScatterpolarglHoverlabelFont struct {

	// Color color <no value>
	Color interface{} `json:"color,omitempty"`

	// Colorsrc string Sets the source reference on Chart Studio Cloud for  color .
	Colorsrc String `json:"colorsrc,omitempty"`

	// Family string HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.
	Family interface{} `json:"family,omitempty"`

	// Familysrc string Sets the source reference on Chart Studio Cloud for  family .
	Familysrc String `json:"familysrc,omitempty"`

	// Size number <no value>
	Size interface{} `json:"size,omitempty"`

	// Sizesrc string Sets the source reference on Chart Studio Cloud for  size .
	Sizesrc String `json:"sizesrc,omitempty"`
}

type ScatterpolarglLine

type ScatterpolarglLine struct {

	// Color color Sets the line color.
	Color String `json:"color,omitempty"`

	// Dash enumerated Sets the style of the lines.
	Dash ScatterpolarglLineDash `json:"dash,omitempty"`

	// Shape enumerated Determines the line shape. The values correspond to step-wise line shapes.
	Shape ScatterpolarglLineShape `json:"shape,omitempty"`

	// Width number Sets the line width (in px).
	Width float64 `json:"width,omitempty"`
}

type ScatterpolarglLineDash

type ScatterpolarglLineDash string

ScatterpolarglLineDash Sets the style of the lines.

const (
	ScatterpolarglLineDash_solid       ScatterpolarglLineDash = "solid"
	ScatterpolarglLineDash_dot         ScatterpolarglLineDash = "dot"
	ScatterpolarglLineDash_dash        ScatterpolarglLineDash = "dash"
	ScatterpolarglLineDash_longdash    ScatterpolarglLineDash = "longdash"
	ScatterpolarglLineDash_dashdot     ScatterpolarglLineDash = "dashdot"
	ScatterpolarglLineDash_longdashdot ScatterpolarglLineDash = "longdashdot"
)

type ScatterpolarglLineShape

type ScatterpolarglLineShape string

ScatterpolarglLineShape Determines the line shape. The values correspond to step-wise line shapes.

const (
	ScatterpolarglLineShape_linear ScatterpolarglLineShape = "linear"
	ScatterpolarglLineShape_hv     ScatterpolarglLineShape = "hv"
	ScatterpolarglLineShape_vh     ScatterpolarglLineShape = "vh"
	ScatterpolarglLineShape_hvh    ScatterpolarglLineShape = "hvh"
	ScatterpolarglLineShape_vhv    ScatterpolarglLineShape = "vhv"
)

type ScatterpolarglMarker

type ScatterpolarglMarker struct {

	// Autocolorscale 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 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 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 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 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 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.
	Color interface{} `json:"color,omitempty"`

	// Coloraxis 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 <no value> <no value>
	Colorbar *ScatterpolarglMarkerColorbar `json:"colorbar,omitempty"`

	// Colorsrc string Sets the source reference on Chart Studio Cloud for  color .
	Colorsrc String `json:"colorsrc,omitempty"`

	// Line <no value> <no value>
	Line *ScatterpolarglMarkerLine `json:"line,omitempty"`

	// Opacity number Sets the marker opacity.
	Opacity interface{} `json:"opacity,omitempty"`

	// Opacitysrc string Sets the source reference on Chart Studio Cloud for  opacity .
	Opacitysrc String `json:"opacitysrc,omitempty"`

	// Reversescale 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 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 number Sets the marker size (in px).
	Size interface{} `json:"size,omitempty"`

	// Sizemin 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 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 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 string Sets the source reference on Chart Studio Cloud for  size .
	Sizesrc String `json:"sizesrc,omitempty"`

	// Symbol 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 string Sets the source reference on Chart Studio Cloud for  symbol .
	Symbolsrc String `json:"symbolsrc,omitempty"`
}

type ScatterpolarglMarkerColorbar

type ScatterpolarglMarkerColorbar struct {

	// Bgcolor color Sets the color of padded area.
	Bgcolor String `json:"bgcolor,omitempty"`

	// Bordercolor color Sets the axis line color.
	Bordercolor String `json:"bordercolor,omitempty"`

	// Borderwidth number Sets the width (in px) or the border enclosing this color bar.
	Borderwidth float64 `json:"borderwidth,omitempty"`

	// Dtick 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<f>*, where `f` is a positive number, gives ticks linearly spaced in value (but not position). For example `tick0` = 0.1, `dtick` = *L0.5* will put ticks at 0.1, 0.6, 1.1, 1.6 etc. To show powers of 10 plus small digits between, use *D1* (all digits) or *D2* (only 2 and 5). `tick0` is ignored for *D1* and *D2*. If the axis `type` is *date*, then you must convert the time to milliseconds. For example, to set the interval between ticks to one day, set `dtick` to 86400000.0. *date* also has special values *M<n>* gives ticks spaced by a number of months. `n` must be a positive integer. To set ticks on the 15th of every third month, set `tick0` to *2000-01-15* and `dtick` to *M3*. To set ticks every 4 years, set `dtick` to *M48*
	Dtick interface{} `json:"dtick,omitempty"`

	// Exponentformat 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"`

	// Len 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 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 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 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"`

	// Outlinecolor color Sets the axis line color.
	Outlinecolor String `json:"outlinecolor,omitempty"`

	// Outlinewidth number Sets the width (in px) of the axis line.
	Outlinewidth float64 `json:"outlinewidth,omitempty"`

	// Separatethousands boolean If "true", even 4-digit integers are separated
	Separatethousands Bool `json:"separatethousands,omitempty"`

	// Showexponent 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 boolean Determines whether or not the tick labels are drawn.
	Showticklabels Bool `json:"showticklabels,omitempty"`

	// Showtickprefix 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 enumerated Same as `showtickprefix` but for tick suffixes.
	Showticksuffix ScatterpolarglMarkerColorbarShowticksuffix `json:"showticksuffix,omitempty"`

	// Thickness 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 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 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<f>* (see `dtick` for more info). If the axis `type` is *date*, it should be a date string, like date data. If the axis `type` is *category*, it should be a number, using the scale where each category is assigned a serial number from zero in the order it appears.
	Tick0 interface{} `json:"tick0,omitempty"`

	// Tickangle 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 color Sets the tick color.
	Tickcolor String `json:"tickcolor,omitempty"`

	// Tickfont <no value> Sets the color bar's tick label font
	Tickfont *ScatterpolarglMarkerColorbarTickfont `json:"tickfont,omitempty"`

	// Tickformat 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*
	Tickformat String `json:"tickformat,omitempty"`

	// Tickformatstops <no value> <no value>
	Tickformatstops ScatterpolarglMarkerColorbarTickformatstops `json:"tickformatstops,omitempty"`

	// Ticklabelposition enumerated Determines where tick labels are drawn.
	Ticklabelposition ScatterpolarglMarkerColorbarTicklabelposition `json:"ticklabelposition,omitempty"`

	// Ticklen number Sets the tick length (in px).
	Ticklen float64 `json:"ticklen,omitempty"`

	// Tickmode 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 string Sets a tick label prefix.
	Tickprefix String `json:"tickprefix,omitempty"`

	// Ticks 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 string Sets a tick label suffix.
	Ticksuffix String `json:"ticksuffix,omitempty"`

	// Ticktext 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 string Sets the source reference on Chart Studio Cloud for  ticktext .
	Ticktextsrc String `json:"ticktextsrc,omitempty"`

	// Tickvals 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 string Sets the source reference on Chart Studio Cloud for  tickvals .
	Tickvalssrc String `json:"tickvalssrc,omitempty"`

	// Tickwidth number Sets the tick width (in px).
	Tickwidth float64 `json:"tickwidth,omitempty"`

	// Title <no value> <no value>
	Title *ScatterpolarglMarkerColorbarTitle `json:"title,omitempty"`

	// X number Sets the x position of the color bar (in plot fraction).
	X float64 `json:"x,omitempty"`

	// Xanchor 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.
	Xanchor ScatterpolarglMarkerColorbarXanchor `json:"xanchor,omitempty"`

	// Xpad number Sets the amount of padding (in px) along the x direction.
	Xpad float64 `json:"xpad,omitempty"`

	// Y number Sets the y position of the color bar (in plot fraction).
	Y float64 `json:"y,omitempty"`

	// Yanchor 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.
	Yanchor ScatterpolarglMarkerColorbarYanchor `json:"yanchor,omitempty"`

	// Ypad number Sets the amount of padding (in px) along the y direction.
	Ypad float64 `json:"ypad,omitempty"`
}

type ScatterpolarglMarkerColorbarExponentformat

type ScatterpolarglMarkerColorbarExponentformat string

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.

const (
	ScatterpolarglMarkerColorbarExponentformat_none  ScatterpolarglMarkerColorbarExponentformat = "none"
	ScatterpolarglMarkerColorbarExponentformat_e     ScatterpolarglMarkerColorbarExponentformat = "e"
	ScatterpolarglMarkerColorbarExponentformat_E     ScatterpolarglMarkerColorbarExponentformat = "E"
	ScatterpolarglMarkerColorbarExponentformat_power ScatterpolarglMarkerColorbarExponentformat = "power"
	ScatterpolarglMarkerColorbarExponentformat_SI    ScatterpolarglMarkerColorbarExponentformat = "SI"
	ScatterpolarglMarkerColorbarExponentformat_B     ScatterpolarglMarkerColorbarExponentformat = "B"
)

type ScatterpolarglMarkerColorbarLenmode

type ScatterpolarglMarkerColorbarLenmode string

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.

const (
	ScatterpolarglMarkerColorbarLenmode_fraction ScatterpolarglMarkerColorbarLenmode = "fraction"
	ScatterpolarglMarkerColorbarLenmode_pixels   ScatterpolarglMarkerColorbarLenmode = "pixels"
)

type ScatterpolarglMarkerColorbarShowexponent

type ScatterpolarglMarkerColorbarShowexponent string

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.

const (
	ScatterpolarglMarkerColorbarShowexponent_all   ScatterpolarglMarkerColorbarShowexponent = "all"
	ScatterpolarglMarkerColorbarShowexponent_first ScatterpolarglMarkerColorbarShowexponent = "first"
	ScatterpolarglMarkerColorbarShowexponent_last  ScatterpolarglMarkerColorbarShowexponent = "last"
	ScatterpolarglMarkerColorbarShowexponent_none  ScatterpolarglMarkerColorbarShowexponent = "none"
)

type ScatterpolarglMarkerColorbarShowtickprefix

type ScatterpolarglMarkerColorbarShowtickprefix string

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.

const (
	ScatterpolarglMarkerColorbarShowtickprefix_all   ScatterpolarglMarkerColorbarShowtickprefix = "all"
	ScatterpolarglMarkerColorbarShowtickprefix_first ScatterpolarglMarkerColorbarShowtickprefix = "first"
	ScatterpolarglMarkerColorbarShowtickprefix_last  ScatterpolarglMarkerColorbarShowtickprefix = "last"
	ScatterpolarglMarkerColorbarShowtickprefix_none  ScatterpolarglMarkerColorbarShowtickprefix = "none"
)

type ScatterpolarglMarkerColorbarShowticksuffix

type ScatterpolarglMarkerColorbarShowticksuffix string

ScatterpolarglMarkerColorbarShowticksuffix Same as `showtickprefix` but for tick suffixes.

const (
	ScatterpolarglMarkerColorbarShowticksuffix_all   ScatterpolarglMarkerColorbarShowticksuffix = "all"
	ScatterpolarglMarkerColorbarShowticksuffix_first ScatterpolarglMarkerColorbarShowticksuffix = "first"
	ScatterpolarglMarkerColorbarShowticksuffix_last  ScatterpolarglMarkerColorbarShowticksuffix = "last"
	ScatterpolarglMarkerColorbarShowticksuffix_none  ScatterpolarglMarkerColorbarShowticksuffix = "none"
)

type ScatterpolarglMarkerColorbarThicknessmode

type ScatterpolarglMarkerColorbarThicknessmode string

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.

const (
	ScatterpolarglMarkerColorbarThicknessmode_fraction ScatterpolarglMarkerColorbarThicknessmode = "fraction"
	ScatterpolarglMarkerColorbarThicknessmode_pixels   ScatterpolarglMarkerColorbarThicknessmode = "pixels"
)

type ScatterpolarglMarkerColorbarTickfont

type ScatterpolarglMarkerColorbarTickfont struct {

	// Color color <no value>
	Color String `json:"color,omitempty"`

	// Family string HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.
	Family String `json:"family,omitempty"`

	// Size number <no value>
	Size float64 `json:"size,omitempty"`
}

type ScatterpolarglMarkerColorbarTickformatstops

type ScatterpolarglMarkerColorbarTickformatstops interface{}

ScatterpolarglMarkerColorbarTickformatstops It's an items array and what goes inside it's... messy... check the docs Here is a hint to help you to define your own type tickformatstop

dtickrange
editType
enabled
name
role
templateitemname
value

type ScatterpolarglMarkerColorbarTicklabelposition

type ScatterpolarglMarkerColorbarTicklabelposition string

ScatterpolarglMarkerColorbarTicklabelposition Determines where tick labels are drawn.

const (
	ScatterpolarglMarkerColorbarTicklabelposition_outside       ScatterpolarglMarkerColorbarTicklabelposition = "outside"
	ScatterpolarglMarkerColorbarTicklabelposition_inside        ScatterpolarglMarkerColorbarTicklabelposition = "inside"
	ScatterpolarglMarkerColorbarTicklabelposition_outsidetop    ScatterpolarglMarkerColorbarTicklabelposition = "outside top"
	ScatterpolarglMarkerColorbarTicklabelposition_insidetop     ScatterpolarglMarkerColorbarTicklabelposition = "inside top"
	ScatterpolarglMarkerColorbarTicklabelposition_outsidebottom ScatterpolarglMarkerColorbarTicklabelposition = "outside bottom"
	ScatterpolarglMarkerColorbarTicklabelposition_insidebottom  ScatterpolarglMarkerColorbarTicklabelposition = "inside bottom"
)

type ScatterpolarglMarkerColorbarTickmode

type ScatterpolarglMarkerColorbarTickmode string

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).

const (
	ScatterpolarglMarkerColorbarTickmode_auto   ScatterpolarglMarkerColorbarTickmode = "auto"
	ScatterpolarglMarkerColorbarTickmode_linear ScatterpolarglMarkerColorbarTickmode = "linear"
	ScatterpolarglMarkerColorbarTickmode_array  ScatterpolarglMarkerColorbarTickmode = "array"
)

type ScatterpolarglMarkerColorbarTicks

type ScatterpolarglMarkerColorbarTicks string

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.

const (
	ScatterpolarglMarkerColorbarTicks_outside ScatterpolarglMarkerColorbarTicks = "outside"
	ScatterpolarglMarkerColorbarTicks_inside  ScatterpolarglMarkerColorbarTicks = "inside"
)

type ScatterpolarglMarkerColorbarTitle

type ScatterpolarglMarkerColorbarTitle struct {

	// Font <no value> Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.
	Font *ScatterpolarglMarkerColorbarTitleFont `json:"font,omitempty"`

	// Side 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.
	Side ScatterpolarglMarkerColorbarTitleSide `json:"side,omitempty"`

	// Text 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"`
}

type ScatterpolarglMarkerColorbarTitleFont

type ScatterpolarglMarkerColorbarTitleFont struct {

	// Color color <no value>
	Color String `json:"color,omitempty"`

	// Family string HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.
	Family String `json:"family,omitempty"`

	// Size number <no value>
	Size float64 `json:"size,omitempty"`
}

type ScatterpolarglMarkerColorbarTitleSide

type ScatterpolarglMarkerColorbarTitleSide string

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.

const (
	ScatterpolarglMarkerColorbarTitleSide_right  ScatterpolarglMarkerColorbarTitleSide = "right"
	ScatterpolarglMarkerColorbarTitleSide_top    ScatterpolarglMarkerColorbarTitleSide = "top"
	ScatterpolarglMarkerColorbarTitleSide_bottom ScatterpolarglMarkerColorbarTitleSide = "bottom"
)

type ScatterpolarglMarkerColorbarXanchor

type ScatterpolarglMarkerColorbarXanchor string

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.

const (
	ScatterpolarglMarkerColorbarXanchor_left   ScatterpolarglMarkerColorbarXanchor = "left"
	ScatterpolarglMarkerColorbarXanchor_center ScatterpolarglMarkerColorbarXanchor = "center"
	ScatterpolarglMarkerColorbarXanchor_right  ScatterpolarglMarkerColorbarXanchor = "right"
)

type ScatterpolarglMarkerColorbarYanchor

type ScatterpolarglMarkerColorbarYanchor string

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.

const (
	ScatterpolarglMarkerColorbarYanchor_top    ScatterpolarglMarkerColorbarYanchor = "top"
	ScatterpolarglMarkerColorbarYanchor_middle ScatterpolarglMarkerColorbarYanchor = "middle"
	ScatterpolarglMarkerColorbarYanchor_bottom ScatterpolarglMarkerColorbarYanchor = "bottom"
)

type ScatterpolarglMarkerLine

type ScatterpolarglMarkerLine struct {

	// Autocolorscale 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 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 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 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 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 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.
	Color interface{} `json:"color,omitempty"`

	// Coloraxis 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"`

	// Colorsrc string Sets the source reference on Chart Studio Cloud for  color .
	Colorsrc String `json:"colorsrc,omitempty"`

	// Reversescale 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 number Sets the width (in px) of the lines bounding the marker points.
	Width interface{} `json:"width,omitempty"`

	// Widthsrc string Sets the source reference on Chart Studio Cloud for  width .
	Widthsrc String `json:"widthsrc,omitempty"`
}

type ScatterpolarglMarkerSizemode

type ScatterpolarglMarkerSizemode string

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.

const (
	ScatterpolarglMarkerSizemode_diameter ScatterpolarglMarkerSizemode = "diameter"
	ScatterpolarglMarkerSizemode_area     ScatterpolarglMarkerSizemode = "area"
)

type ScatterpolarglMarkerSymbol

type ScatterpolarglMarkerSymbol string

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.

const (
	ScatterpolarglMarkerSymbol0                            ScatterpolarglMarkerSymbol = "0"
	ScatterpolarglMarkerSymbol_0                           ScatterpolarglMarkerSymbol = "0"
	ScatterpolarglMarkerSymbol_circle                      ScatterpolarglMarkerSymbol = "circle"
	ScatterpolarglMarkerSymbol100                          ScatterpolarglMarkerSymbol = "100"
	ScatterpolarglMarkerSymbol_100                         ScatterpolarglMarkerSymbol = "100"
	ScatterpolarglMarkerSymbol_circle_open                 ScatterpolarglMarkerSymbol = "circle-open"
	ScatterpolarglMarkerSymbol200                          ScatterpolarglMarkerSymbol = "200"
	ScatterpolarglMarkerSymbol_200                         ScatterpolarglMarkerSymbol = "200"
	ScatterpolarglMarkerSymbol_circle_dot                  ScatterpolarglMarkerSymbol = "circle-dot"
	ScatterpolarglMarkerSymbol300                          ScatterpolarglMarkerSymbol = "300"
	ScatterpolarglMarkerSymbol_300                         ScatterpolarglMarkerSymbol = "300"
	ScatterpolarglMarkerSymbol_circle_open_dot             ScatterpolarglMarkerSymbol = "circle-open-dot"
	ScatterpolarglMarkerSymbol1                            ScatterpolarglMarkerSymbol = "1"
	ScatterpolarglMarkerSymbol_1                           ScatterpolarglMarkerSymbol = "1"
	ScatterpolarglMarkerSymbol_square                      ScatterpolarglMarkerSymbol = "square"
	ScatterpolarglMarkerSymbol101                          ScatterpolarglMarkerSymbol = "101"
	ScatterpolarglMarkerSymbol_101                         ScatterpolarglMarkerSymbol = "101"
	ScatterpolarglMarkerSymbol_square_open                 ScatterpolarglMarkerSymbol = "square-open"
	ScatterpolarglMarkerSymbol201                          ScatterpolarglMarkerSymbol = "201"
	ScatterpolarglMarkerSymbol_201                         ScatterpolarglMarkerSymbol = "201"
	ScatterpolarglMarkerSymbol_square_dot                  ScatterpolarglMarkerSymbol = "square-dot"
	ScatterpolarglMarkerSymbol301                          ScatterpolarglMarkerSymbol = "301"
	ScatterpolarglMarkerSymbol_301                         ScatterpolarglMarkerSymbol = "301"
	ScatterpolarglMarkerSymbol_square_open_dot             ScatterpolarglMarkerSymbol = "square-open-dot"
	ScatterpolarglMarkerSymbol2                            ScatterpolarglMarkerSymbol = "2"
	ScatterpolarglMarkerSymbol_2                           ScatterpolarglMarkerSymbol = "2"
	ScatterpolarglMarkerSymbol_diamond                     ScatterpolarglMarkerSymbol = "diamond"
	ScatterpolarglMarkerSymbol102                          ScatterpolarglMarkerSymbol = "102"
	ScatterpolarglMarkerSymbol_102                         ScatterpolarglMarkerSymbol = "102"
	ScatterpolarglMarkerSymbol_diamond_open                ScatterpolarglMarkerSymbol = "diamond-open"
	ScatterpolarglMarkerSymbol202                          ScatterpolarglMarkerSymbol = "202"
	ScatterpolarglMarkerSymbol_202                         ScatterpolarglMarkerSymbol = "202"
	ScatterpolarglMarkerSymbol_diamond_dot                 ScatterpolarglMarkerSymbol = "diamond-dot"
	ScatterpolarglMarkerSymbol302                          ScatterpolarglMarkerSymbol = "302"
	ScatterpolarglMarkerSymbol_302                         ScatterpolarglMarkerSymbol = "302"
	ScatterpolarglMarkerSymbol_diamond_open_dot            ScatterpolarglMarkerSymbol = "diamond-open-dot"
	ScatterpolarglMarkerSymbol3                            ScatterpolarglMarkerSymbol = "3"
	ScatterpolarglMarkerSymbol_3                           ScatterpolarglMarkerSymbol = "3"
	ScatterpolarglMarkerSymbol_cross                       ScatterpolarglMarkerSymbol = "cross"
	ScatterpolarglMarkerSymbol103                          ScatterpolarglMarkerSymbol = "103"
	ScatterpolarglMarkerSymbol_103                         ScatterpolarglMarkerSymbol = "103"
	ScatterpolarglMarkerSymbol_cross_open                  ScatterpolarglMarkerSymbol = "cross-open"
	ScatterpolarglMarkerSymbol203                          ScatterpolarglMarkerSymbol = "203"
	ScatterpolarglMarkerSymbol_203                         ScatterpolarglMarkerSymbol = "203"
	ScatterpolarglMarkerSymbol_cross_dot                   ScatterpolarglMarkerSymbol = "cross-dot"
	ScatterpolarglMarkerSymbol303                          ScatterpolarglMarkerSymbol = "303"
	ScatterpolarglMarkerSymbol_303                         ScatterpolarglMarkerSymbol = "303"
	ScatterpolarglMarkerSymbol_cross_open_dot              ScatterpolarglMarkerSymbol = "cross-open-dot"
	ScatterpolarglMarkerSymbol4                            ScatterpolarglMarkerSymbol = "4"
	ScatterpolarglMarkerSymbol_4                           ScatterpolarglMarkerSymbol = "4"
	ScatterpolarglMarkerSymbol_x                           ScatterpolarglMarkerSymbol = "x"
	ScatterpolarglMarkerSymbol104                          ScatterpolarglMarkerSymbol = "104"
	ScatterpolarglMarkerSymbol_104                         ScatterpolarglMarkerSymbol = "104"
	ScatterpolarglMarkerSymbol_x_open                      ScatterpolarglMarkerSymbol = "x-open"
	ScatterpolarglMarkerSymbol204                          ScatterpolarglMarkerSymbol = "204"
	ScatterpolarglMarkerSymbol_204                         ScatterpolarglMarkerSymbol = "204"
	ScatterpolarglMarkerSymbol_x_dot                       ScatterpolarglMarkerSymbol = "x-dot"
	ScatterpolarglMarkerSymbol304                          ScatterpolarglMarkerSymbol = "304"
	ScatterpolarglMarkerSymbol_304                         ScatterpolarglMarkerSymbol = "304"
	ScatterpolarglMarkerSymbol_x_open_dot                  ScatterpolarglMarkerSymbol = "x-open-dot"
	ScatterpolarglMarkerSymbol5                            ScatterpolarglMarkerSymbol = "5"
	ScatterpolarglMarkerSymbol_5                           ScatterpolarglMarkerSymbol = "5"
	ScatterpolarglMarkerSymbol_triangle_up                 ScatterpolarglMarkerSymbol = "triangle-up"
	ScatterpolarglMarkerSymbol105                          ScatterpolarglMarkerSymbol = "105"
	ScatterpolarglMarkerSymbol_105                         ScatterpolarglMarkerSymbol = "105"
	ScatterpolarglMarkerSymbol_triangle_up_open            ScatterpolarglMarkerSymbol = "triangle-up-open"
	ScatterpolarglMarkerSymbol205                          ScatterpolarglMarkerSymbol = "205"
	ScatterpolarglMarkerSymbol_205                         ScatterpolarglMarkerSymbol = "205"
	ScatterpolarglMarkerSymbol_triangle_up_dot             ScatterpolarglMarkerSymbol = "triangle-up-dot"
	ScatterpolarglMarkerSymbol305                          ScatterpolarglMarkerSymbol = "305"
	ScatterpolarglMarkerSymbol_305                         ScatterpolarglMarkerSymbol = "305"
	ScatterpolarglMarkerSymbol_triangle_up_open_dot        ScatterpolarglMarkerSymbol = "triangle-up-open-dot"
	ScatterpolarglMarkerSymbol6                            ScatterpolarglMarkerSymbol = "6"
	ScatterpolarglMarkerSymbol_6                           ScatterpolarglMarkerSymbol = "6"
	ScatterpolarglMarkerSymbol_triangle_down               ScatterpolarglMarkerSymbol = "triangle-down"
	ScatterpolarglMarkerSymbol106                          ScatterpolarglMarkerSymbol = "106"
	ScatterpolarglMarkerSymbol_106                         ScatterpolarglMarkerSymbol = "106"
	ScatterpolarglMarkerSymbol_triangle_down_open          ScatterpolarglMarkerSymbol = "triangle-down-open"
	ScatterpolarglMarkerSymbol206                          ScatterpolarglMarkerSymbol = "206"
	ScatterpolarglMarkerSymbol_206                         ScatterpolarglMarkerSymbol = "206"
	ScatterpolarglMarkerSymbol_triangle_down_dot           ScatterpolarglMarkerSymbol = "triangle-down-dot"
	ScatterpolarglMarkerSymbol306                          ScatterpolarglMarkerSymbol = "306"
	ScatterpolarglMarkerSymbol_306                         ScatterpolarglMarkerSymbol = "306"
	ScatterpolarglMarkerSymbol_triangle_down_open_dot      ScatterpolarglMarkerSymbol = "triangle-down-open-dot"
	ScatterpolarglMarkerSymbol7                            ScatterpolarglMarkerSymbol = "7"
	ScatterpolarglMarkerSymbol_7                           ScatterpolarglMarkerSymbol = "7"
	ScatterpolarglMarkerSymbol_triangle_left               ScatterpolarglMarkerSymbol = "triangle-left"
	ScatterpolarglMarkerSymbol107                          ScatterpolarglMarkerSymbol = "107"
	ScatterpolarglMarkerSymbol_107                         ScatterpolarglMarkerSymbol = "107"
	ScatterpolarglMarkerSymbol_triangle_left_open          ScatterpolarglMarkerSymbol = "triangle-left-open"
	ScatterpolarglMarkerSymbol207                          ScatterpolarglMarkerSymbol = "207"
	ScatterpolarglMarkerSymbol_207                         ScatterpolarglMarkerSymbol = "207"
	ScatterpolarglMarkerSymbol_triangle_left_dot           ScatterpolarglMarkerSymbol = "triangle-left-dot"
	ScatterpolarglMarkerSymbol307                          ScatterpolarglMarkerSymbol = "307"
	ScatterpolarglMarkerSymbol_307                         ScatterpolarglMarkerSymbol = "307"
	ScatterpolarglMarkerSymbol_triangle_left_open_dot      ScatterpolarglMarkerSymbol = "triangle-left-open-dot"
	ScatterpolarglMarkerSymbol8                            ScatterpolarglMarkerSymbol = "8"
	ScatterpolarglMarkerSymbol_8                           ScatterpolarglMarkerSymbol = "8"
	ScatterpolarglMarkerSymbol_triangle_right              ScatterpolarglMarkerSymbol = "triangle-right"
	ScatterpolarglMarkerSymbol108                          ScatterpolarglMarkerSymbol = "108"
	ScatterpolarglMarkerSymbol_108                         ScatterpolarglMarkerSymbol = "108"
	ScatterpolarglMarkerSymbol_triangle_right_open         ScatterpolarglMarkerSymbol = "triangle-right-open"
	ScatterpolarglMarkerSymbol208                          ScatterpolarglMarkerSymbol = "208"
	ScatterpolarglMarkerSymbol_208                         ScatterpolarglMarkerSymbol = "208"
	ScatterpolarglMarkerSymbol_triangle_right_dot          ScatterpolarglMarkerSymbol = "triangle-right-dot"
	ScatterpolarglMarkerSymbol308                          ScatterpolarglMarkerSymbol = "308"
	ScatterpolarglMarkerSymbol_308                         ScatterpolarglMarkerSymbol = "308"
	ScatterpolarglMarkerSymbol_triangle_right_open_dot     ScatterpolarglMarkerSymbol = "triangle-right-open-dot"
	ScatterpolarglMarkerSymbol9                            ScatterpolarglMarkerSymbol = "9"
	ScatterpolarglMarkerSymbol_9                           ScatterpolarglMarkerSymbol = "9"
	ScatterpolarglMarkerSymbol_triangle_ne                 ScatterpolarglMarkerSymbol = "triangle-ne"
	ScatterpolarglMarkerSymbol109                          ScatterpolarglMarkerSymbol = "109"
	ScatterpolarglMarkerSymbol_109                         ScatterpolarglMarkerSymbol = "109"
	ScatterpolarglMarkerSymbol_triangle_ne_open            ScatterpolarglMarkerSymbol = "triangle-ne-open"
	ScatterpolarglMarkerSymbol209                          ScatterpolarglMarkerSymbol = "209"
	ScatterpolarglMarkerSymbol_209                         ScatterpolarglMarkerSymbol = "209"
	ScatterpolarglMarkerSymbol_triangle_ne_dot             ScatterpolarglMarkerSymbol = "triangle-ne-dot"
	ScatterpolarglMarkerSymbol309                          ScatterpolarglMarkerSymbol = "309"
	ScatterpolarglMarkerSymbol_309                         ScatterpolarglMarkerSymbol = "309"
	ScatterpolarglMarkerSymbol_triangle_ne_open_dot        ScatterpolarglMarkerSymbol = "triangle-ne-open-dot"
	ScatterpolarglMarkerSymbol10                           ScatterpolarglMarkerSymbol = "10"
	ScatterpolarglMarkerSymbol_10                          ScatterpolarglMarkerSymbol = "10"
	ScatterpolarglMarkerSymbol_triangle_se                 ScatterpolarglMarkerSymbol = "triangle-se"
	ScatterpolarglMarkerSymbol110                          ScatterpolarglMarkerSymbol = "110"
	ScatterpolarglMarkerSymbol_110                         ScatterpolarglMarkerSymbol = "110"
	ScatterpolarglMarkerSymbol_triangle_se_open            ScatterpolarglMarkerSymbol = "triangle-se-open"
	ScatterpolarglMarkerSymbol210                          ScatterpolarglMarkerSymbol = "210"
	ScatterpolarglMarkerSymbol_210                         ScatterpolarglMarkerSymbol = "210"
	ScatterpolarglMarkerSymbol_triangle_se_dot             ScatterpolarglMarkerSymbol = "triangle-se-dot"
	ScatterpolarglMarkerSymbol310                          ScatterpolarglMarkerSymbol = "310"
	ScatterpolarglMarkerSymbol_310                         ScatterpolarglMarkerSymbol = "310"
	ScatterpolarglMarkerSymbol_triangle_se_open_dot        ScatterpolarglMarkerSymbol = "triangle-se-open-dot"
	ScatterpolarglMarkerSymbol11                           ScatterpolarglMarkerSymbol = "11"
	ScatterpolarglMarkerSymbol_11                          ScatterpolarglMarkerSymbol = "11"
	ScatterpolarglMarkerSymbol_triangle_sw                 ScatterpolarglMarkerSymbol = "triangle-sw"
	ScatterpolarglMarkerSymbol111                          ScatterpolarglMarkerSymbol = "111"
	ScatterpolarglMarkerSymbol_111                         ScatterpolarglMarkerSymbol = "111"
	ScatterpolarglMarkerSymbol_triangle_sw_open            ScatterpolarglMarkerSymbol = "triangle-sw-open"
	ScatterpolarglMarkerSymbol211                          ScatterpolarglMarkerSymbol = "211"
	ScatterpolarglMarkerSymbol_211                         ScatterpolarglMarkerSymbol = "211"
	ScatterpolarglMarkerSymbol_triangle_sw_dot             ScatterpolarglMarkerSymbol = "triangle-sw-dot"
	ScatterpolarglMarkerSymbol311                          ScatterpolarglMarkerSymbol = "311"
	ScatterpolarglMarkerSymbol_311                         ScatterpolarglMarkerSymbol = "311"
	ScatterpolarglMarkerSymbol_triangle_sw_open_dot        ScatterpolarglMarkerSymbol = "triangle-sw-open-dot"
	ScatterpolarglMarkerSymbol12                           ScatterpolarglMarkerSymbol = "12"
	ScatterpolarglMarkerSymbol_12                          ScatterpolarglMarkerSymbol = "12"
	ScatterpolarglMarkerSymbol_triangle_nw                 ScatterpolarglMarkerSymbol = "triangle-nw"
	ScatterpolarglMarkerSymbol112                          ScatterpolarglMarkerSymbol = "112"
	ScatterpolarglMarkerSymbol_112                         ScatterpolarglMarkerSymbol = "112"
	ScatterpolarglMarkerSymbol_triangle_nw_open            ScatterpolarglMarkerSymbol = "triangle-nw-open"
	ScatterpolarglMarkerSymbol212                          ScatterpolarglMarkerSymbol = "212"
	ScatterpolarglMarkerSymbol_212                         ScatterpolarglMarkerSymbol = "212"
	ScatterpolarglMarkerSymbol_triangle_nw_dot             ScatterpolarglMarkerSymbol = "triangle-nw-dot"
	ScatterpolarglMarkerSymbol312                          ScatterpolarglMarkerSymbol = "312"
	ScatterpolarglMarkerSymbol_312                         ScatterpolarglMarkerSymbol = "312"
	ScatterpolarglMarkerSymbol_triangle_nw_open_dot        ScatterpolarglMarkerSymbol = "triangle-nw-open-dot"
	ScatterpolarglMarkerSymbol13                           ScatterpolarglMarkerSymbol = "13"
	ScatterpolarglMarkerSymbol_13                          ScatterpolarglMarkerSymbol = "13"
	ScatterpolarglMarkerSymbol_pentagon                    ScatterpolarglMarkerSymbol = "pentagon"
	ScatterpolarglMarkerSymbol113                          ScatterpolarglMarkerSymbol = "113"
	ScatterpolarglMarkerSymbol_113                         ScatterpolarglMarkerSymbol = "113"
	ScatterpolarglMarkerSymbol_pentagon_open               ScatterpolarglMarkerSymbol = "pentagon-open"
	ScatterpolarglMarkerSymbol213                          ScatterpolarglMarkerSymbol = "213"
	ScatterpolarglMarkerSymbol_213                         ScatterpolarglMarkerSymbol = "213"
	ScatterpolarglMarkerSymbol_pentagon_dot                ScatterpolarglMarkerSymbol = "pentagon-dot"
	ScatterpolarglMarkerSymbol313                          ScatterpolarglMarkerSymbol = "313"
	ScatterpolarglMarkerSymbol_313                         ScatterpolarglMarkerSymbol = "313"
	ScatterpolarglMarkerSymbol_pentagon_open_dot           ScatterpolarglMarkerSymbol = "pentagon-open-dot"
	ScatterpolarglMarkerSymbol14                           ScatterpolarglMarkerSymbol = "14"
	ScatterpolarglMarkerSymbol_14                          ScatterpolarglMarkerSymbol = "14"
	ScatterpolarglMarkerSymbol_hexagon                     ScatterpolarglMarkerSymbol = "hexagon"
	ScatterpolarglMarkerSymbol114                          ScatterpolarglMarkerSymbol = "114"
	ScatterpolarglMarkerSymbol_114                         ScatterpolarglMarkerSymbol = "114"
	ScatterpolarglMarkerSymbol_hexagon_open                ScatterpolarglMarkerSymbol = "hexagon-open"
	ScatterpolarglMarkerSymbol214                          ScatterpolarglMarkerSymbol = "214"
	ScatterpolarglMarkerSymbol_214                         ScatterpolarglMarkerSymbol = "214"
	ScatterpolarglMarkerSymbol_hexagon_dot                 ScatterpolarglMarkerSymbol = "hexagon-dot"
	ScatterpolarglMarkerSymbol314                          ScatterpolarglMarkerSymbol = "314"
	ScatterpolarglMarkerSymbol_314                         ScatterpolarglMarkerSymbol = "314"
	ScatterpolarglMarkerSymbol_hexagon_open_dot            ScatterpolarglMarkerSymbol = "hexagon-open-dot"
	ScatterpolarglMarkerSymbol15                           ScatterpolarglMarkerSymbol = "15"
	ScatterpolarglMarkerSymbol_15                          ScatterpolarglMarkerSymbol = "15"
	ScatterpolarglMarkerSymbol_hexagon2                    ScatterpolarglMarkerSymbol = "hexagon2"
	ScatterpolarglMarkerSymbol115                          ScatterpolarglMarkerSymbol = "115"
	ScatterpolarglMarkerSymbol_115                         ScatterpolarglMarkerSymbol = "115"
	ScatterpolarglMarkerSymbol_hexagon2_open               ScatterpolarglMarkerSymbol = "hexagon2-open"
	ScatterpolarglMarkerSymbol215                          ScatterpolarglMarkerSymbol = "215"
	ScatterpolarglMarkerSymbol_215                         ScatterpolarglMarkerSymbol = "215"
	ScatterpolarglMarkerSymbol_hexagon2_dot                ScatterpolarglMarkerSymbol = "hexagon2-dot"
	ScatterpolarglMarkerSymbol315                          ScatterpolarglMarkerSymbol = "315"
	ScatterpolarglMarkerSymbol_315                         ScatterpolarglMarkerSymbol = "315"
	ScatterpolarglMarkerSymbol_hexagon2_open_dot           ScatterpolarglMarkerSymbol = "hexagon2-open-dot"
	ScatterpolarglMarkerSymbol16                           ScatterpolarglMarkerSymbol = "16"
	ScatterpolarglMarkerSymbol_16                          ScatterpolarglMarkerSymbol = "16"
	ScatterpolarglMarkerSymbol_octagon                     ScatterpolarglMarkerSymbol = "octagon"
	ScatterpolarglMarkerSymbol116                          ScatterpolarglMarkerSymbol = "116"
	ScatterpolarglMarkerSymbol_116                         ScatterpolarglMarkerSymbol = "116"
	ScatterpolarglMarkerSymbol_octagon_open                ScatterpolarglMarkerSymbol = "octagon-open"
	ScatterpolarglMarkerSymbol216                          ScatterpolarglMarkerSymbol = "216"
	ScatterpolarglMarkerSymbol_216                         ScatterpolarglMarkerSymbol = "216"
	ScatterpolarglMarkerSymbol_octagon_dot                 ScatterpolarglMarkerSymbol = "octagon-dot"
	ScatterpolarglMarkerSymbol316                          ScatterpolarglMarkerSymbol = "316"
	ScatterpolarglMarkerSymbol_316                         ScatterpolarglMarkerSymbol = "316"
	ScatterpolarglMarkerSymbol_octagon_open_dot            ScatterpolarglMarkerSymbol = "octagon-open-dot"
	ScatterpolarglMarkerSymbol17                           ScatterpolarglMarkerSymbol = "17"
	ScatterpolarglMarkerSymbol_17                          ScatterpolarglMarkerSymbol = "17"
	ScatterpolarglMarkerSymbol_star                        ScatterpolarglMarkerSymbol = "star"
	ScatterpolarglMarkerSymbol117                          ScatterpolarglMarkerSymbol = "117"
	ScatterpolarglMarkerSymbol_117                         ScatterpolarglMarkerSymbol = "117"
	ScatterpolarglMarkerSymbol_star_open                   ScatterpolarglMarkerSymbol = "star-open"
	ScatterpolarglMarkerSymbol217                          ScatterpolarglMarkerSymbol = "217"
	ScatterpolarglMarkerSymbol_217                         ScatterpolarglMarkerSymbol = "217"
	ScatterpolarglMarkerSymbol_star_dot                    ScatterpolarglMarkerSymbol = "star-dot"
	ScatterpolarglMarkerSymbol317                          ScatterpolarglMarkerSymbol = "317"
	ScatterpolarglMarkerSymbol_317                         ScatterpolarglMarkerSymbol = "317"
	ScatterpolarglMarkerSymbol_star_open_dot               ScatterpolarglMarkerSymbol = "star-open-dot"
	ScatterpolarglMarkerSymbol18                           ScatterpolarglMarkerSymbol = "18"
	ScatterpolarglMarkerSymbol_18                          ScatterpolarglMarkerSymbol = "18"
	ScatterpolarglMarkerSymbol_hexagram                    ScatterpolarglMarkerSymbol = "hexagram"
	ScatterpolarglMarkerSymbol118                          ScatterpolarglMarkerSymbol = "118"
	ScatterpolarglMarkerSymbol_118                         ScatterpolarglMarkerSymbol = "118"
	ScatterpolarglMarkerSymbol_hexagram_open               ScatterpolarglMarkerSymbol = "hexagram-open"
	ScatterpolarglMarkerSymbol218                          ScatterpolarglMarkerSymbol = "218"
	ScatterpolarglMarkerSymbol_218                         ScatterpolarglMarkerSymbol = "218"
	ScatterpolarglMarkerSymbol_hexagram_dot                ScatterpolarglMarkerSymbol = "hexagram-dot"
	ScatterpolarglMarkerSymbol318                          ScatterpolarglMarkerSymbol = "318"
	ScatterpolarglMarkerSymbol_318                         ScatterpolarglMarkerSymbol = "318"
	ScatterpolarglMarkerSymbol_hexagram_open_dot           ScatterpolarglMarkerSymbol = "hexagram-open-dot"
	ScatterpolarglMarkerSymbol19                           ScatterpolarglMarkerSymbol = "19"
	ScatterpolarglMarkerSymbol_19                          ScatterpolarglMarkerSymbol = "19"
	ScatterpolarglMarkerSymbol_star_triangle_up            ScatterpolarglMarkerSymbol = "star-triangle-up"
	ScatterpolarglMarkerSymbol119                          ScatterpolarglMarkerSymbol = "119"
	ScatterpolarglMarkerSymbol_119                         ScatterpolarglMarkerSymbol = "119"
	ScatterpolarglMarkerSymbol_star_triangle_up_open       ScatterpolarglMarkerSymbol = "star-triangle-up-open"
	ScatterpolarglMarkerSymbol219                          ScatterpolarglMarkerSymbol = "219"
	ScatterpolarglMarkerSymbol_219                         ScatterpolarglMarkerSymbol = "219"
	ScatterpolarglMarkerSymbol_star_triangle_up_dot        ScatterpolarglMarkerSymbol = "star-triangle-up-dot"
	ScatterpolarglMarkerSymbol319                          ScatterpolarglMarkerSymbol = "319"
	ScatterpolarglMarkerSymbol_319                         ScatterpolarglMarkerSymbol = "319"
	ScatterpolarglMarkerSymbol_star_triangle_up_open_dot   ScatterpolarglMarkerSymbol = "star-triangle-up-open-dot"
	ScatterpolarglMarkerSymbol20                           ScatterpolarglMarkerSymbol = "20"
	ScatterpolarglMarkerSymbol_20                          ScatterpolarglMarkerSymbol = "20"
	ScatterpolarglMarkerSymbol_star_triangle_down          ScatterpolarglMarkerSymbol = "star-triangle-down"
	ScatterpolarglMarkerSymbol120                          ScatterpolarglMarkerSymbol = "120"
	ScatterpolarglMarkerSymbol_120                         ScatterpolarglMarkerSymbol = "120"
	ScatterpolarglMarkerSymbol_star_triangle_down_open     ScatterpolarglMarkerSymbol = "star-triangle-down-open"
	ScatterpolarglMarkerSymbol220                          ScatterpolarglMarkerSymbol = "220"
	ScatterpolarglMarkerSymbol_220                         ScatterpolarglMarkerSymbol = "220"
	ScatterpolarglMarkerSymbol_star_triangle_down_dot      ScatterpolarglMarkerSymbol = "star-triangle-down-dot"
	ScatterpolarglMarkerSymbol320                          ScatterpolarglMarkerSymbol = "320"
	ScatterpolarglMarkerSymbol_320                         ScatterpolarglMarkerSymbol = "320"
	ScatterpolarglMarkerSymbol_star_triangle_down_open_dot ScatterpolarglMarkerSymbol = "star-triangle-down-open-dot"
	ScatterpolarglMarkerSymbol21                           ScatterpolarglMarkerSymbol = "21"
	ScatterpolarglMarkerSymbol_21                          ScatterpolarglMarkerSymbol = "21"
	ScatterpolarglMarkerSymbol_star_square                 ScatterpolarglMarkerSymbol = "star-square"
	ScatterpolarglMarkerSymbol121                          ScatterpolarglMarkerSymbol = "121"
	ScatterpolarglMarkerSymbol_121                         ScatterpolarglMarkerSymbol = "121"
	ScatterpolarglMarkerSymbol_star_square_open            ScatterpolarglMarkerSymbol = "star-square-open"
	ScatterpolarglMarkerSymbol221                          ScatterpolarglMarkerSymbol = "221"
	ScatterpolarglMarkerSymbol_221                         ScatterpolarglMarkerSymbol = "221"
	ScatterpolarglMarkerSymbol_star_square_dot             ScatterpolarglMarkerSymbol = "star-square-dot"
	ScatterpolarglMarkerSymbol321                          ScatterpolarglMarkerSymbol = "321"
	ScatterpolarglMarkerSymbol_321                         ScatterpolarglMarkerSymbol = "321"
	ScatterpolarglMarkerSymbol_star_square_open_dot        ScatterpolarglMarkerSymbol = "star-square-open-dot"
	ScatterpolarglMarkerSymbol22                           ScatterpolarglMarkerSymbol = "22"
	ScatterpolarglMarkerSymbol_22                          ScatterpolarglMarkerSymbol = "22"
	ScatterpolarglMarkerSymbol_star_diamond                ScatterpolarglMarkerSymbol = "star-diamond"
	ScatterpolarglMarkerSymbol122                          ScatterpolarglMarkerSymbol = "122"
	ScatterpolarglMarkerSymbol_122                         ScatterpolarglMarkerSymbol = "122"
	ScatterpolarglMarkerSymbol_star_diamond_open           ScatterpolarglMarkerSymbol = "star-diamond-open"
	ScatterpolarglMarkerSymbol222                          ScatterpolarglMarkerSymbol = "222"
	ScatterpolarglMarkerSymbol_222                         ScatterpolarglMarkerSymbol = "222"
	ScatterpolarglMarkerSymbol_star_diamond_dot            ScatterpolarglMarkerSymbol = "star-diamond-dot"
	ScatterpolarglMarkerSymbol322                          ScatterpolarglMarkerSymbol = "322"
	ScatterpolarglMarkerSymbol_322                         ScatterpolarglMarkerSymbol = "322"
	ScatterpolarglMarkerSymbol_star_diamond_open_dot       ScatterpolarglMarkerSymbol = "star-diamond-open-dot"
	ScatterpolarglMarkerSymbol23                           ScatterpolarglMarkerSymbol = "23"
	ScatterpolarglMarkerSymbol_23                          ScatterpolarglMarkerSymbol = "23"
	ScatterpolarglMarkerSymbol_diamond_tall                ScatterpolarglMarkerSymbol = "diamond-tall"
	ScatterpolarglMarkerSymbol123                          ScatterpolarglMarkerSymbol = "123"
	ScatterpolarglMarkerSymbol_123                         ScatterpolarglMarkerSymbol = "123"
	ScatterpolarglMarkerSymbol_diamond_tall_open           ScatterpolarglMarkerSymbol = "diamond-tall-open"
	ScatterpolarglMarkerSymbol223                          ScatterpolarglMarkerSymbol = "223"
	ScatterpolarglMarkerSymbol_223                         ScatterpolarglMarkerSymbol = "223"
	ScatterpolarglMarkerSymbol_diamond_tall_dot            ScatterpolarglMarkerSymbol = "diamond-tall-dot"
	ScatterpolarglMarkerSymbol323                          ScatterpolarglMarkerSymbol = "323"
	ScatterpolarglMarkerSymbol_323                         ScatterpolarglMarkerSymbol = "323"
	ScatterpolarglMarkerSymbol_diamond_tall_open_dot       ScatterpolarglMarkerSymbol = "diamond-tall-open-dot"
	ScatterpolarglMarkerSymbol24                           ScatterpolarglMarkerSymbol = "24"
	ScatterpolarglMarkerSymbol_24                          ScatterpolarglMarkerSymbol = "24"
	ScatterpolarglMarkerSymbol_diamond_wide                ScatterpolarglMarkerSymbol = "diamond-wide"
	ScatterpolarglMarkerSymbol124                          ScatterpolarglMarkerSymbol = "124"
	ScatterpolarglMarkerSymbol_124                         ScatterpolarglMarkerSymbol = "124"
	ScatterpolarglMarkerSymbol_diamond_wide_open           ScatterpolarglMarkerSymbol = "diamond-wide-open"
	ScatterpolarglMarkerSymbol224                          ScatterpolarglMarkerSymbol = "224"
	ScatterpolarglMarkerSymbol_224                         ScatterpolarglMarkerSymbol = "224"
	ScatterpolarglMarkerSymbol_diamond_wide_dot            ScatterpolarglMarkerSymbol = "diamond-wide-dot"
	ScatterpolarglMarkerSymbol324                          ScatterpolarglMarkerSymbol = "324"
	ScatterpolarglMarkerSymbol_324                         ScatterpolarglMarkerSymbol = "324"
	ScatterpolarglMarkerSymbol_diamond_wide_open_dot       ScatterpolarglMarkerSymbol = "diamond-wide-open-dot"
	ScatterpolarglMarkerSymbol25                           ScatterpolarglMarkerSymbol = "25"
	ScatterpolarglMarkerSymbol_25                          ScatterpolarglMarkerSymbol = "25"
	ScatterpolarglMarkerSymbol_hourglass                   ScatterpolarglMarkerSymbol = "hourglass"
	ScatterpolarglMarkerSymbol125                          ScatterpolarglMarkerSymbol = "125"
	ScatterpolarglMarkerSymbol_125                         ScatterpolarglMarkerSymbol = "125"
	ScatterpolarglMarkerSymbol_hourglass_open              ScatterpolarglMarkerSymbol = "hourglass-open"
	ScatterpolarglMarkerSymbol26                           ScatterpolarglMarkerSymbol = "26"
	ScatterpolarglMarkerSymbol_26                          ScatterpolarglMarkerSymbol = "26"
	ScatterpolarglMarkerSymbol_bowtie                      ScatterpolarglMarkerSymbol = "bowtie"
	ScatterpolarglMarkerSymbol126                          ScatterpolarglMarkerSymbol = "126"
	ScatterpolarglMarkerSymbol_126                         ScatterpolarglMarkerSymbol = "126"
	ScatterpolarglMarkerSymbol_bowtie_open                 ScatterpolarglMarkerSymbol = "bowtie-open"
	ScatterpolarglMarkerSymbol27                           ScatterpolarglMarkerSymbol = "27"
	ScatterpolarglMarkerSymbol_27                          ScatterpolarglMarkerSymbol = "27"
	ScatterpolarglMarkerSymbol_circle_cross                ScatterpolarglMarkerSymbol = "circle-cross"
	ScatterpolarglMarkerSymbol127                          ScatterpolarglMarkerSymbol = "127"
	ScatterpolarglMarkerSymbol_127                         ScatterpolarglMarkerSymbol = "127"
	ScatterpolarglMarkerSymbol_circle_cross_open           ScatterpolarglMarkerSymbol = "circle-cross-open"
	ScatterpolarglMarkerSymbol28                           ScatterpolarglMarkerSymbol = "28"
	ScatterpolarglMarkerSymbol_28                          ScatterpolarglMarkerSymbol = "28"
	ScatterpolarglMarkerSymbol_circle_x                    ScatterpolarglMarkerSymbol = "circle-x"
	ScatterpolarglMarkerSymbol128                          ScatterpolarglMarkerSymbol = "128"
	ScatterpolarglMarkerSymbol_128                         ScatterpolarglMarkerSymbol = "128"
	ScatterpolarglMarkerSymbol_circle_x_open               ScatterpolarglMarkerSymbol = "circle-x-open"
	ScatterpolarglMarkerSymbol29                           ScatterpolarglMarkerSymbol = "29"
	ScatterpolarglMarkerSymbol_29                          ScatterpolarglMarkerSymbol = "29"
	ScatterpolarglMarkerSymbol_square_cross                ScatterpolarglMarkerSymbol = "square-cross"
	ScatterpolarglMarkerSymbol129                          ScatterpolarglMarkerSymbol = "129"
	ScatterpolarglMarkerSymbol_129                         ScatterpolarglMarkerSymbol = "129"
	ScatterpolarglMarkerSymbol_square_cross_open           ScatterpolarglMarkerSymbol = "square-cross-open"
	ScatterpolarglMarkerSymbol30                           ScatterpolarglMarkerSymbol = "30"
	ScatterpolarglMarkerSymbol_30                          ScatterpolarglMarkerSymbol = "30"
	ScatterpolarglMarkerSymbol_square_x                    ScatterpolarglMarkerSymbol = "square-x"
	ScatterpolarglMarkerSymbol130                          ScatterpolarglMarkerSymbol = "130"
	ScatterpolarglMarkerSymbol_130                         ScatterpolarglMarkerSymbol = "130"
	ScatterpolarglMarkerSymbol_square_x_open               ScatterpolarglMarkerSymbol = "square-x-open"
	ScatterpolarglMarkerSymbol31                           ScatterpolarglMarkerSymbol = "31"
	ScatterpolarglMarkerSymbol_31                          ScatterpolarglMarkerSymbol = "31"
	ScatterpolarglMarkerSymbol_diamond_cross               ScatterpolarglMarkerSymbol = "diamond-cross"
	ScatterpolarglMarkerSymbol131                          ScatterpolarglMarkerSymbol = "131"
	ScatterpolarglMarkerSymbol_131                         ScatterpolarglMarkerSymbol = "131"
	ScatterpolarglMarkerSymbol_diamond_cross_open          ScatterpolarglMarkerSymbol = "diamond-cross-open"
	ScatterpolarglMarkerSymbol32                           ScatterpolarglMarkerSymbol = "32"
	ScatterpolarglMarkerSymbol_32                          ScatterpolarglMarkerSymbol = "32"
	ScatterpolarglMarkerSymbol_diamond_x                   ScatterpolarglMarkerSymbol = "diamond-x"
	ScatterpolarglMarkerSymbol132                          ScatterpolarglMarkerSymbol = "132"
	ScatterpolarglMarkerSymbol_132                         ScatterpolarglMarkerSymbol = "132"
	ScatterpolarglMarkerSymbol_diamond_x_open              ScatterpolarglMarkerSymbol = "diamond-x-open"
	ScatterpolarglMarkerSymbol33                           ScatterpolarglMarkerSymbol = "33"
	ScatterpolarglMarkerSymbol_33                          ScatterpolarglMarkerSymbol = "33"
	ScatterpolarglMarkerSymbol_cross_thin                  ScatterpolarglMarkerSymbol = "cross-thin"
	ScatterpolarglMarkerSymbol133                          ScatterpolarglMarkerSymbol = "133"
	ScatterpolarglMarkerSymbol_133                         ScatterpolarglMarkerSymbol = "133"
	ScatterpolarglMarkerSymbol_cross_thin_open             ScatterpolarglMarkerSymbol = "cross-thin-open"
	ScatterpolarglMarkerSymbol34                           ScatterpolarglMarkerSymbol = "34"
	ScatterpolarglMarkerSymbol_34                          ScatterpolarglMarkerSymbol = "34"
	ScatterpolarglMarkerSymbol_x_thin                      ScatterpolarglMarkerSymbol = "x-thin"
	ScatterpolarglMarkerSymbol134                          ScatterpolarglMarkerSymbol = "134"
	ScatterpolarglMarkerSymbol_134                         ScatterpolarglMarkerSymbol = "134"
	ScatterpolarglMarkerSymbol_x_thin_open                 ScatterpolarglMarkerSymbol = "x-thin-open"
	ScatterpolarglMarkerSymbol35                           ScatterpolarglMarkerSymbol = "35"
	ScatterpolarglMarkerSymbol_35                          ScatterpolarglMarkerSymbol = "35"
	ScatterpolarglMarkerSymbol_asterisk                    ScatterpolarglMarkerSymbol = "asterisk"
	ScatterpolarglMarkerSymbol135                          ScatterpolarglMarkerSymbol = "135"
	ScatterpolarglMarkerSymbol_135                         ScatterpolarglMarkerSymbol = "135"
	ScatterpolarglMarkerSymbol_asterisk_open               ScatterpolarglMarkerSymbol = "asterisk-open"
	ScatterpolarglMarkerSymbol36                           ScatterpolarglMarkerSymbol = "36"
	ScatterpolarglMarkerSymbol_36                          ScatterpolarglMarkerSymbol = "36"
	ScatterpolarglMarkerSymbol_hash                        ScatterpolarglMarkerSymbol = "hash"
	ScatterpolarglMarkerSymbol136                          ScatterpolarglMarkerSymbol = "136"
	ScatterpolarglMarkerSymbol_136                         ScatterpolarglMarkerSymbol = "136"
	ScatterpolarglMarkerSymbol_hash_open                   ScatterpolarglMarkerSymbol = "hash-open"
	ScatterpolarglMarkerSymbol236                          ScatterpolarglMarkerSymbol = "236"
	ScatterpolarglMarkerSymbol_236                         ScatterpolarglMarkerSymbol = "236"
	ScatterpolarglMarkerSymbol_hash_dot                    ScatterpolarglMarkerSymbol = "hash-dot"
	ScatterpolarglMarkerSymbol336                          ScatterpolarglMarkerSymbol = "336"
	ScatterpolarglMarkerSymbol_336                         ScatterpolarglMarkerSymbol = "336"
	ScatterpolarglMarkerSymbol_hash_open_dot               ScatterpolarglMarkerSymbol = "hash-open-dot"
	ScatterpolarglMarkerSymbol37                           ScatterpolarglMarkerSymbol = "37"
	ScatterpolarglMarkerSymbol_37                          ScatterpolarglMarkerSymbol = "37"
	ScatterpolarglMarkerSymbol_y_up                        ScatterpolarglMarkerSymbol = "y-up"
	ScatterpolarglMarkerSymbol137                          ScatterpolarglMarkerSymbol = "137"
	ScatterpolarglMarkerSymbol_137                         ScatterpolarglMarkerSymbol = "137"
	ScatterpolarglMarkerSymbol_y_up_open                   ScatterpolarglMarkerSymbol = "y-up-open"
	ScatterpolarglMarkerSymbol38                           ScatterpolarglMarkerSymbol = "38"
	ScatterpolarglMarkerSymbol_38                          ScatterpolarglMarkerSymbol = "38"
	ScatterpolarglMarkerSymbol_y_down                      ScatterpolarglMarkerSymbol = "y-down"
	ScatterpolarglMarkerSymbol138                          ScatterpolarglMarkerSymbol = "138"
	ScatterpolarglMarkerSymbol_138                         ScatterpolarglMarkerSymbol = "138"
	ScatterpolarglMarkerSymbol_y_down_open                 ScatterpolarglMarkerSymbol = "y-down-open"
	ScatterpolarglMarkerSymbol39                           ScatterpolarglMarkerSymbol = "39"
	ScatterpolarglMarkerSymbol_39                          ScatterpolarglMarkerSymbol = "39"
	ScatterpolarglMarkerSymbol_y_left                      ScatterpolarglMarkerSymbol = "y-left"
	ScatterpolarglMarkerSymbol139                          ScatterpolarglMarkerSymbol = "139"
	ScatterpolarglMarkerSymbol_139                         ScatterpolarglMarkerSymbol = "139"
	ScatterpolarglMarkerSymbol_y_left_open                 ScatterpolarglMarkerSymbol = "y-left-open"
	ScatterpolarglMarkerSymbol40                           ScatterpolarglMarkerSymbol = "40"
	ScatterpolarglMarkerSymbol_40                          ScatterpolarglMarkerSymbol = "40"
	ScatterpolarglMarkerSymbol_y_right                     ScatterpolarglMarkerSymbol = "y-right"
	ScatterpolarglMarkerSymbol140                          ScatterpolarglMarkerSymbol = "140"
	ScatterpolarglMarkerSymbol_140                         ScatterpolarglMarkerSymbol = "140"
	ScatterpolarglMarkerSymbol_y_right_open                ScatterpolarglMarkerSymbol = "y-right-open"
	ScatterpolarglMarkerSymbol41                           ScatterpolarglMarkerSymbol = "41"
	ScatterpolarglMarkerSymbol_41                          ScatterpolarglMarkerSymbol = "41"
	ScatterpolarglMarkerSymbol_line_ew                     ScatterpolarglMarkerSymbol = "line-ew"
	ScatterpolarglMarkerSymbol141                          ScatterpolarglMarkerSymbol = "141"
	ScatterpolarglMarkerSymbol_141                         ScatterpolarglMarkerSymbol = "141"
	ScatterpolarglMarkerSymbol_line_ew_open                ScatterpolarglMarkerSymbol = "line-ew-open"
	ScatterpolarglMarkerSymbol42                           ScatterpolarglMarkerSymbol = "42"
	ScatterpolarglMarkerSymbol_42                          ScatterpolarglMarkerSymbol = "42"
	ScatterpolarglMarkerSymbol_line_ns                     ScatterpolarglMarkerSymbol = "line-ns"
	ScatterpolarglMarkerSymbol142                          ScatterpolarglMarkerSymbol = "142"
	ScatterpolarglMarkerSymbol_142                         ScatterpolarglMarkerSymbol = "142"
	ScatterpolarglMarkerSymbol_line_ns_open                ScatterpolarglMarkerSymbol = "line-ns-open"
	ScatterpolarglMarkerSymbol43                           ScatterpolarglMarkerSymbol = "43"
	ScatterpolarglMarkerSymbol_43                          ScatterpolarglMarkerSymbol = "43"
	ScatterpolarglMarkerSymbol_line_ne                     ScatterpolarglMarkerSymbol = "line-ne"
	ScatterpolarglMarkerSymbol143                          ScatterpolarglMarkerSymbol = "143"
	ScatterpolarglMarkerSymbol_143                         ScatterpolarglMarkerSymbol = "143"
	ScatterpolarglMarkerSymbol_line_ne_open                ScatterpolarglMarkerSymbol = "line-ne-open"
	ScatterpolarglMarkerSymbol44                           ScatterpolarglMarkerSymbol = "44"
	ScatterpolarglMarkerSymbol_44                          ScatterpolarglMarkerSymbol = "44"
	ScatterpolarglMarkerSymbol_line_nw                     ScatterpolarglMarkerSymbol = "line-nw"
	ScatterpolarglMarkerSymbol144                          ScatterpolarglMarkerSymbol = "144"
	ScatterpolarglMarkerSymbol_144                         ScatterpolarglMarkerSymbol = "144"
	ScatterpolarglMarkerSymbol_line_nw_open                ScatterpolarglMarkerSymbol = "line-nw-open"
	ScatterpolarglMarkerSymbol45                           ScatterpolarglMarkerSymbol = "45"
	ScatterpolarglMarkerSymbol_45                          ScatterpolarglMarkerSymbol = "45"
	ScatterpolarglMarkerSymbol_arrow_up                    ScatterpolarglMarkerSymbol = "arrow-up"
	ScatterpolarglMarkerSymbol145                          ScatterpolarglMarkerSymbol = "145"
	ScatterpolarglMarkerSymbol_145                         ScatterpolarglMarkerSymbol = "145"
	ScatterpolarglMarkerSymbol_arrow_up_open               ScatterpolarglMarkerSymbol = "arrow-up-open"
	ScatterpolarglMarkerSymbol46                           ScatterpolarglMarkerSymbol = "46"
	ScatterpolarglMarkerSymbol_46                          ScatterpolarglMarkerSymbol = "46"
	ScatterpolarglMarkerSymbol_arrow_down                  ScatterpolarglMarkerSymbol = "arrow-down"
	ScatterpolarglMarkerSymbol146                          ScatterpolarglMarkerSymbol = "146"
	ScatterpolarglMarkerSymbol_146                         ScatterpolarglMarkerSymbol = "146"
	ScatterpolarglMarkerSymbol_arrow_down_open             ScatterpolarglMarkerSymbol = "arrow-down-open"
	ScatterpolarglMarkerSymbol47                           ScatterpolarglMarkerSymbol = "47"
	ScatterpolarglMarkerSymbol_47                          ScatterpolarglMarkerSymbol = "47"
	ScatterpolarglMarkerSymbol_arrow_left                  ScatterpolarglMarkerSymbol = "arrow-left"
	ScatterpolarglMarkerSymbol147                          ScatterpolarglMarkerSymbol = "147"
	ScatterpolarglMarkerSymbol_147                         ScatterpolarglMarkerSymbol = "147"
	ScatterpolarglMarkerSymbol_arrow_left_open             ScatterpolarglMarkerSymbol = "arrow-left-open"
	ScatterpolarglMarkerSymbol48                           ScatterpolarglMarkerSymbol = "48"
	ScatterpolarglMarkerSymbol_48                          ScatterpolarglMarkerSymbol = "48"
	ScatterpolarglMarkerSymbol_arrow_right                 ScatterpolarglMarkerSymbol = "arrow-right"
	ScatterpolarglMarkerSymbol148                          ScatterpolarglMarkerSymbol = "148"
	ScatterpolarglMarkerSymbol_148                         ScatterpolarglMarkerSymbol = "148"
	ScatterpolarglMarkerSymbol_arrow_right_open            ScatterpolarglMarkerSymbol = "arrow-right-open"
	ScatterpolarglMarkerSymbol49                           ScatterpolarglMarkerSymbol = "49"
	ScatterpolarglMarkerSymbol_49                          ScatterpolarglMarkerSymbol = "49"
	ScatterpolarglMarkerSymbol_arrow_bar_up                ScatterpolarglMarkerSymbol = "arrow-bar-up"
	ScatterpolarglMarkerSymbol149                          ScatterpolarglMarkerSymbol = "149"
	ScatterpolarglMarkerSymbol_149                         ScatterpolarglMarkerSymbol = "149"
	ScatterpolarglMarkerSymbol_arrow_bar_up_open           ScatterpolarglMarkerSymbol = "arrow-bar-up-open"
	ScatterpolarglMarkerSymbol50                           ScatterpolarglMarkerSymbol = "50"
	ScatterpolarglMarkerSymbol_50                          ScatterpolarglMarkerSymbol = "50"
	ScatterpolarglMarkerSymbol_arrow_bar_down              ScatterpolarglMarkerSymbol = "arrow-bar-down"
	ScatterpolarglMarkerSymbol150                          ScatterpolarglMarkerSymbol = "150"
	ScatterpolarglMarkerSymbol_150                         ScatterpolarglMarkerSymbol = "150"
	ScatterpolarglMarkerSymbol_arrow_bar_down_open         ScatterpolarglMarkerSymbol = "arrow-bar-down-open"
	ScatterpolarglMarkerSymbol51                           ScatterpolarglMarkerSymbol = "51"
	ScatterpolarglMarkerSymbol_51                          ScatterpolarglMarkerSymbol = "51"
	ScatterpolarglMarkerSymbol_arrow_bar_left              ScatterpolarglMarkerSymbol = "arrow-bar-left"
	ScatterpolarglMarkerSymbol151                          ScatterpolarglMarkerSymbol = "151"
	ScatterpolarglMarkerSymbol_151                         ScatterpolarglMarkerSymbol = "151"
	ScatterpolarglMarkerSymbol_arrow_bar_left_open         ScatterpolarglMarkerSymbol = "arrow-bar-left-open"
	ScatterpolarglMarkerSymbol52                           ScatterpolarglMarkerSymbol = "52"
	ScatterpolarglMarkerSymbol_52                          ScatterpolarglMarkerSymbol = "52"
	ScatterpolarglMarkerSymbol_arrow_bar_right             ScatterpolarglMarkerSymbol = "arrow-bar-right"
	ScatterpolarglMarkerSymbol152                          ScatterpolarglMarkerSymbol = "152"
	ScatterpolarglMarkerSymbol_152                         ScatterpolarglMarkerSymbol = "152"
	ScatterpolarglMarkerSymbol_arrow_bar_right_open        ScatterpolarglMarkerSymbol = "arrow-bar-right-open"
)

type ScatterpolarglMode

type ScatterpolarglMode string
const (
	// Flags
	ScatterpolarglModeLines   ScatterpolarglMode = "lines"
	ScatterpolarglModeMarkers ScatterpolarglMode = "markers"
	ScatterpolarglModeText    ScatterpolarglMode = "text"
	// Extras
	ScatterpolarglModeNone ScatterpolarglMode = "none"
)

type ScatterpolarglSelected

type ScatterpolarglSelected struct {

	// Marker <no value> <no value>
	Marker *ScatterpolarglSelectedMarker `json:"marker,omitempty"`

	// Textfont <no value> <no value>
	Textfont *ScatterpolarglSelectedTextfont `json:"textfont,omitempty"`
}

type ScatterpolarglSelectedMarker

type ScatterpolarglSelectedMarker struct {

	// Color color Sets the marker color of selected points.
	Color String `json:"color,omitempty"`

	// Opacity number Sets the marker opacity of selected points.
	Opacity float64 `json:"opacity,omitempty"`

	// Size number Sets the marker size of selected points.
	Size float64 `json:"size,omitempty"`
}

type ScatterpolarglSelectedTextfont

type ScatterpolarglSelectedTextfont struct {

	// Color color Sets the text font color of selected points.
	Color String `json:"color,omitempty"`
}

type ScatterpolarglStream

type ScatterpolarglStream struct {

	// Maxpoints 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 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"`
}

type ScatterpolarglTextfont

type ScatterpolarglTextfont struct {

	// Color color <no value>
	Color interface{} `json:"color,omitempty"`

	// Colorsrc string Sets the source reference on Chart Studio Cloud for  color .
	Colorsrc String `json:"colorsrc,omitempty"`

	// Family string HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.
	Family interface{} `json:"family,omitempty"`

	// Familysrc string Sets the source reference on Chart Studio Cloud for  family .
	Familysrc String `json:"familysrc,omitempty"`

	// Size number <no value>
	Size interface{} `json:"size,omitempty"`

	// Sizesrc string Sets the source reference on Chart Studio Cloud for  size .
	Sizesrc String `json:"sizesrc,omitempty"`
}

type ScatterpolarglTextposition

type ScatterpolarglTextposition string

ScatterpolarglTextposition Sets the positions of the `text` elements with respects to the (x,y) coordinates.

const (
	ScatterpolarglTextposition_topleft      ScatterpolarglTextposition = "top left"
	ScatterpolarglTextposition_topcenter    ScatterpolarglTextposition = "top center"
	ScatterpolarglTextposition_topright     ScatterpolarglTextposition = "top right"
	ScatterpolarglTextposition_middleleft   ScatterpolarglTextposition = "middle left"
	ScatterpolarglTextposition_middlecenter ScatterpolarglTextposition = "middle center"
	ScatterpolarglTextposition_middleright  ScatterpolarglTextposition = "middle right"
	ScatterpolarglTextposition_bottomleft   ScatterpolarglTextposition = "bottom left"
	ScatterpolarglTextposition_bottomcenter ScatterpolarglTextposition = "bottom center"
	ScatterpolarglTextposition_bottomright  ScatterpolarglTextposition = "bottom right"
)

type ScatterpolarglThetaunit

type ScatterpolarglThetaunit string

ScatterpolarglThetaunit Sets the unit of input *theta* values. Has an effect only when on *linear* angular axes.

const (
	ScatterpolarglThetaunit_radians  ScatterpolarglThetaunit = "radians"
	ScatterpolarglThetaunit_degrees  ScatterpolarglThetaunit = "degrees"
	ScatterpolarglThetaunit_gradians ScatterpolarglThetaunit = "gradians"
)

type ScatterpolarglTransforms

type ScatterpolarglTransforms interface{}

ScatterpolarglTransforms It's an items array and what goes inside it's... messy... check the docs Here is a hint to help you to define your own type transform

description
editType
role

type ScatterpolarglUnselected

type ScatterpolarglUnselected struct {

	// Marker <no value> <no value>
	Marker *ScatterpolarglUnselectedMarker `json:"marker,omitempty"`

	// Textfont <no value> <no value>
	Textfont *ScatterpolarglUnselectedTextfont `json:"textfont,omitempty"`
}

type ScatterpolarglUnselectedMarker

type ScatterpolarglUnselectedMarker struct {

	// Color color Sets the marker color of unselected points, applied only when a selection exists.
	Color String `json:"color,omitempty"`

	// Opacity number Sets the marker opacity of unselected points, applied only when a selection exists.
	Opacity float64 `json:"opacity,omitempty"`

	// Size number Sets the marker size of unselected points, applied only when a selection exists.
	Size float64 `json:"size,omitempty"`
}

type ScatterpolarglUnselectedTextfont

type ScatterpolarglUnselectedTextfont struct {

	// Color color Sets the text font color of unselected points, applied only when a selection exists.
	Color String `json:"color,omitempty"`
}

type ScatterpolarglVisible

type ScatterpolarglVisible interface{}

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).

var (
	ScatterpolarglVisible_True       ScatterpolarglVisible = true
	ScatterpolarglVisible_False      ScatterpolarglVisible = false
	ScatterpolarglVisible_legendonly ScatterpolarglVisible = "legendonly"
)

type Scatterternary

type Scatterternary struct {

	// Type is the type of the plot
	Type TraceType `json:"type,omitempty"`

	// A data_array Sets the quantity of component `a` in each data point. If `a`, `b`, and `c` are all provided, they need not be normalized, only the relative values matter. If only two arrays are provided they must be normalized to match `ternary<i>.sum`.
	A interface{} `json:"a,omitempty"`

	// Asrc string Sets the source reference on Chart Studio Cloud for  a .
	Asrc String `json:"asrc,omitempty"`

	// B data_array Sets the quantity of component `a` in each data point. If `a`, `b`, and `c` are all provided, they need not be normalized, only the relative values matter. If only two arrays are provided they must be normalized to match `ternary<i>.sum`.
	B interface{} `json:"b,omitempty"`

	// Bsrc string Sets the source reference on Chart Studio Cloud for  b .
	Bsrc String `json:"bsrc,omitempty"`

	// C data_array Sets the quantity of component `a` in each data point. If `a`, `b`, and `c` are all provided, they need not be normalized, only the relative values matter. If only two arrays are provided they must be normalized to match `ternary<i>.sum`.
	C interface{} `json:"c,omitempty"`

	// Cliponaxis 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 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 string Sets the source reference on Chart Studio Cloud for  c .
	Csrc String `json:"csrc,omitempty"`

	// Customdata 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 string Sets the source reference on Chart Studio Cloud for  customdata .
	Customdatasrc String `json:"customdatasrc,omitempty"`

	// Fill 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 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 String `json:"fillcolor,omitempty"`

	// Hoverinfo 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 string Sets the source reference on Chart Studio Cloud for  hoverinfo .
	Hoverinfosrc String `json:"hoverinfosrc,omitempty"`

	// Hoverlabel <no value> <no value>
	Hoverlabel *ScatterternaryHoverlabel `json:"hoverlabel,omitempty"`

	// Hoveron 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 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 `<extra>` is displayed in the secondary box, for example "<extra>{fullData.name}</extra>". To hide the secondary box completely, use an empty tag `<extra></extra>`.
	Hovertemplate interface{} `json:"hovertemplate,omitempty"`

	// Hovertemplatesrc string Sets the source reference on Chart Studio Cloud for  hovertemplate .
	Hovertemplatesrc String `json:"hovertemplatesrc,omitempty"`

	// Hovertext 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 interface{} `json:"hovertext,omitempty"`

	// Hovertextsrc string Sets the source reference on Chart Studio Cloud for  hovertext .
	Hovertextsrc String `json:"hovertextsrc,omitempty"`

	// Ids 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 string Sets the source reference on Chart Studio Cloud for  ids .
	Idssrc String `json:"idssrc,omitempty"`

	// Legendgroup 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"`

	// Line <no value> <no value>
	Line *ScatterternaryLine `json:"line,omitempty"`

	// Marker <no value> <no value>
	Marker *ScatterternaryMarker `json:"marker,omitempty"`

	// Meta 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 string Sets the source reference on Chart Studio Cloud for  meta .
	Metasrc String `json:"metasrc,omitempty"`

	// Mode 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 string Sets the trace name. The trace name appear as the legend item and on hover.
	Name String `json:"name,omitempty"`

	// Opacity number Sets the opacity of the trace.
	Opacity float64 `json:"opacity,omitempty"`

	// Selected <no value> <no value>
	Selected *ScatterternarySelected `json:"selected,omitempty"`

	// Selectedpoints 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 boolean Determines whether or not an item corresponding to this trace is shown in the legend.
	Showlegend Bool `json:"showlegend,omitempty"`

	// Stream <no value> <no value>
	Stream *ScatterternaryStream `json:"stream,omitempty"`

	// Subplot 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 number The number each triplet should sum to, if only two of `a`, `b`, and `c` are provided. This overrides `ternary<i>.sum` to normalize this specific trace, but does not affect the values displayed on the axes. 0 (or missing) means to use ternary<i>.sum
	Sum float64 `json:"sum,omitempty"`

	// Text 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 interface{} `json:"text,omitempty"`

	// Textfont <no value> Sets the text font.
	Textfont *ScatterternaryTextfont `json:"textfont,omitempty"`

	// Textposition enumerated Sets the positions of the `text` elements with respects to the (x,y) coordinates.
	Textposition ScatterternaryTextposition `json:"textposition,omitempty"`

	// Textpositionsrc string Sets the source reference on Chart Studio Cloud for  textposition .
	Textpositionsrc String `json:"textpositionsrc,omitempty"`

	// Textsrc string Sets the source reference on Chart Studio Cloud for  text .
	Textsrc String `json:"textsrc,omitempty"`

	// Texttemplate 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`.
	Texttemplate interface{} `json:"texttemplate,omitempty"`

	// Texttemplatesrc string Sets the source reference on Chart Studio Cloud for  texttemplate .
	Texttemplatesrc String `json:"texttemplatesrc,omitempty"`

	// Transforms <no value> <no value>
	Transforms ScatterternaryTransforms `json:"transforms,omitempty"`

	// Uid 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 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 <no value> <no value>
	Unselected *ScatterternaryUnselected `json:"unselected,omitempty"`

	// Visible 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"`
}

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.

func NewScatterternary

func NewScatterternary() *Scatterternary

func (*Scatterternary) GetType

func (this *Scatterternary) GetType() TraceType

type ScatterternaryFill

type ScatterternaryFill string

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.

const (
	ScatterternaryFill_none   ScatterternaryFill = "none"
	ScatterternaryFill_toself ScatterternaryFill = "toself"
	ScatterternaryFill_tonext ScatterternaryFill = "tonext"
)

type ScatterternaryHoverinfo

type ScatterternaryHoverinfo string
const (
	// Flags
	ScatterternaryHoverinfoA    ScatterternaryHoverinfo = "a"
	ScatterternaryHoverinfoB    ScatterternaryHoverinfo = "b"
	ScatterternaryHoverinfoC    ScatterternaryHoverinfo = "c"
	ScatterternaryHoverinfoText ScatterternaryHoverinfo = "text"
	ScatterternaryHoverinfoName ScatterternaryHoverinfo = "name"
	// Extras
	ScatterternaryHoverinfoAll  ScatterternaryHoverinfo = "all"
	ScatterternaryHoverinfoNone ScatterternaryHoverinfo = "none"
	ScatterternaryHoverinfoSkip ScatterternaryHoverinfo = "skip"
)

type ScatterternaryHoverlabel

type ScatterternaryHoverlabel struct {

	// Align 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 string Sets the source reference on Chart Studio Cloud for  align .
	Alignsrc String `json:"alignsrc,omitempty"`

	// Bgcolor color Sets the background color of the hover labels for this trace
	Bgcolor interface{} `json:"bgcolor,omitempty"`

	// Bgcolorsrc string Sets the source reference on Chart Studio Cloud for  bgcolor .
	Bgcolorsrc String `json:"bgcolorsrc,omitempty"`

	// Bordercolor color Sets the border color of the hover labels for this trace.
	Bordercolor interface{} `json:"bordercolor,omitempty"`

	// Bordercolorsrc string Sets the source reference on Chart Studio Cloud for  bordercolor .
	Bordercolorsrc String `json:"bordercolorsrc,omitempty"`

	// Font <no value> Sets the font used in hover labels.
	Font *ScatterternaryHoverlabelFont `json:"font,omitempty"`

	// Namelength 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 interface{} `json:"namelength,omitempty"`

	// Namelengthsrc string Sets the source reference on Chart Studio Cloud for  namelength .
	Namelengthsrc String `json:"namelengthsrc,omitempty"`
}

type ScatterternaryHoverlabelAlign

type ScatterternaryHoverlabelAlign string

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

const (
	ScatterternaryHoverlabelAlign_left  ScatterternaryHoverlabelAlign = "left"
	ScatterternaryHoverlabelAlign_right ScatterternaryHoverlabelAlign = "right"
	ScatterternaryHoverlabelAlign_auto  ScatterternaryHoverlabelAlign = "auto"
)

type ScatterternaryHoverlabelFont

type ScatterternaryHoverlabelFont struct {

	// Color color <no value>
	Color interface{} `json:"color,omitempty"`

	// Colorsrc string Sets the source reference on Chart Studio Cloud for  color .
	Colorsrc String `json:"colorsrc,omitempty"`

	// Family string HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.
	Family interface{} `json:"family,omitempty"`

	// Familysrc string Sets the source reference on Chart Studio Cloud for  family .
	Familysrc String `json:"familysrc,omitempty"`

	// Size number <no value>
	Size interface{} `json:"size,omitempty"`

	// Sizesrc string Sets the source reference on Chart Studio Cloud for  size .
	Sizesrc String `json:"sizesrc,omitempty"`
}

type ScatterternaryHoveron

type ScatterternaryHoveron string
const (
	// Flags
	ScatterternaryHoveronPoints ScatterternaryHoveron = "points"
	ScatterternaryHoveronFills  ScatterternaryHoveron = "fills"
)

type ScatterternaryLine

type ScatterternaryLine struct {

	// Color color Sets the line color.
	Color String `json:"color,omitempty"`

	// Dash 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 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 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 number Sets the line width (in px).
	Width float64 `json:"width,omitempty"`
}

type ScatterternaryLineShape

type ScatterternaryLineShape string

ScatterternaryLineShape Determines the line shape. With *spline* the lines are drawn using spline interpolation. The other available values correspond to step-wise line shapes.

const (
	ScatterternaryLineShape_linear ScatterternaryLineShape = "linear"
	ScatterternaryLineShape_spline ScatterternaryLineShape = "spline"
)

type ScatterternaryMarker

type ScatterternaryMarker struct {

	// Autocolorscale 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 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 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 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 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 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.
	Color interface{} `json:"color,omitempty"`

	// Coloraxis 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 <no value> <no value>
	Colorbar *ScatterternaryMarkerColorbar `json:"colorbar,omitempty"`

	// Colorsrc string Sets the source reference on Chart Studio Cloud for  color .
	Colorsrc String `json:"colorsrc,omitempty"`

	// Gradient <no value> <no value>
	Gradient *ScatterternaryMarkerGradient `json:"gradient,omitempty"`

	// Line <no value> <no value>
	Line *ScatterternaryMarkerLine `json:"line,omitempty"`

	// Maxdisplayed number Sets a maximum number of points to be drawn on the graph. *0* corresponds to no limit.
	Maxdisplayed float64 `json:"maxdisplayed,omitempty"`

	// Opacity number Sets the marker opacity.
	Opacity interface{} `json:"opacity,omitempty"`

	// Opacitysrc string Sets the source reference on Chart Studio Cloud for  opacity .
	Opacitysrc String `json:"opacitysrc,omitempty"`

	// Reversescale 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 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 number Sets the marker size (in px).
	Size interface{} `json:"size,omitempty"`

	// Sizemin 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 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 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 string Sets the source reference on Chart Studio Cloud for  size .
	Sizesrc String `json:"sizesrc,omitempty"`

	// Symbol 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 string Sets the source reference on Chart Studio Cloud for  symbol .
	Symbolsrc String `json:"symbolsrc,omitempty"`
}

type ScatterternaryMarkerColorbar

type ScatterternaryMarkerColorbar struct {

	// Bgcolor color Sets the color of padded area.
	Bgcolor String `json:"bgcolor,omitempty"`

	// Bordercolor color Sets the axis line color.
	Bordercolor String `json:"bordercolor,omitempty"`

	// Borderwidth number Sets the width (in px) or the border enclosing this color bar.
	Borderwidth float64 `json:"borderwidth,omitempty"`

	// Dtick 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<f>*, where `f` is a positive number, gives ticks linearly spaced in value (but not position). For example `tick0` = 0.1, `dtick` = *L0.5* will put ticks at 0.1, 0.6, 1.1, 1.6 etc. To show powers of 10 plus small digits between, use *D1* (all digits) or *D2* (only 2 and 5). `tick0` is ignored for *D1* and *D2*. If the axis `type` is *date*, then you must convert the time to milliseconds. For example, to set the interval between ticks to one day, set `dtick` to 86400000.0. *date* also has special values *M<n>* gives ticks spaced by a number of months. `n` must be a positive integer. To set ticks on the 15th of every third month, set `tick0` to *2000-01-15* and `dtick` to *M3*. To set ticks every 4 years, set `dtick` to *M48*
	Dtick interface{} `json:"dtick,omitempty"`

	// Exponentformat 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"`

	// Len 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 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 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 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"`

	// Outlinecolor color Sets the axis line color.
	Outlinecolor String `json:"outlinecolor,omitempty"`

	// Outlinewidth number Sets the width (in px) of the axis line.
	Outlinewidth float64 `json:"outlinewidth,omitempty"`

	// Separatethousands boolean If "true", even 4-digit integers are separated
	Separatethousands Bool `json:"separatethousands,omitempty"`

	// Showexponent 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 boolean Determines whether or not the tick labels are drawn.
	Showticklabels Bool `json:"showticklabels,omitempty"`

	// Showtickprefix 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 enumerated Same as `showtickprefix` but for tick suffixes.
	Showticksuffix ScatterternaryMarkerColorbarShowticksuffix `json:"showticksuffix,omitempty"`

	// Thickness 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 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 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<f>* (see `dtick` for more info). If the axis `type` is *date*, it should be a date string, like date data. If the axis `type` is *category*, it should be a number, using the scale where each category is assigned a serial number from zero in the order it appears.
	Tick0 interface{} `json:"tick0,omitempty"`

	// Tickangle 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 color Sets the tick color.
	Tickcolor String `json:"tickcolor,omitempty"`

	// Tickfont <no value> Sets the color bar's tick label font
	Tickfont *ScatterternaryMarkerColorbarTickfont `json:"tickfont,omitempty"`

	// Tickformat 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*
	Tickformat String `json:"tickformat,omitempty"`

	// Tickformatstops <no value> <no value>
	Tickformatstops ScatterternaryMarkerColorbarTickformatstops `json:"tickformatstops,omitempty"`

	// Ticklabelposition enumerated Determines where tick labels are drawn.
	Ticklabelposition ScatterternaryMarkerColorbarTicklabelposition `json:"ticklabelposition,omitempty"`

	// Ticklen number Sets the tick length (in px).
	Ticklen float64 `json:"ticklen,omitempty"`

	// Tickmode 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 string Sets a tick label prefix.
	Tickprefix String `json:"tickprefix,omitempty"`

	// Ticks 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 string Sets a tick label suffix.
	Ticksuffix String `json:"ticksuffix,omitempty"`

	// Ticktext 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 string Sets the source reference on Chart Studio Cloud for  ticktext .
	Ticktextsrc String `json:"ticktextsrc,omitempty"`

	// Tickvals 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 string Sets the source reference on Chart Studio Cloud for  tickvals .
	Tickvalssrc String `json:"tickvalssrc,omitempty"`

	// Tickwidth number Sets the tick width (in px).
	Tickwidth float64 `json:"tickwidth,omitempty"`

	// Title <no value> <no value>
	Title *ScatterternaryMarkerColorbarTitle `json:"title,omitempty"`

	// X number Sets the x position of the color bar (in plot fraction).
	X float64 `json:"x,omitempty"`

	// Xanchor 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.
	Xanchor ScatterternaryMarkerColorbarXanchor `json:"xanchor,omitempty"`

	// Xpad number Sets the amount of padding (in px) along the x direction.
	Xpad float64 `json:"xpad,omitempty"`

	// Y number Sets the y position of the color bar (in plot fraction).
	Y float64 `json:"y,omitempty"`

	// Yanchor 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.
	Yanchor ScatterternaryMarkerColorbarYanchor `json:"yanchor,omitempty"`

	// Ypad number Sets the amount of padding (in px) along the y direction.
	Ypad float64 `json:"ypad,omitempty"`
}

type ScatterternaryMarkerColorbarExponentformat

type ScatterternaryMarkerColorbarExponentformat string

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.

const (
	ScatterternaryMarkerColorbarExponentformat_none  ScatterternaryMarkerColorbarExponentformat = "none"
	ScatterternaryMarkerColorbarExponentformat_e     ScatterternaryMarkerColorbarExponentformat = "e"
	ScatterternaryMarkerColorbarExponentformat_E     ScatterternaryMarkerColorbarExponentformat = "E"
	ScatterternaryMarkerColorbarExponentformat_power ScatterternaryMarkerColorbarExponentformat = "power"
	ScatterternaryMarkerColorbarExponentformat_SI    ScatterternaryMarkerColorbarExponentformat = "SI"
	ScatterternaryMarkerColorbarExponentformat_B     ScatterternaryMarkerColorbarExponentformat = "B"
)

type ScatterternaryMarkerColorbarLenmode

type ScatterternaryMarkerColorbarLenmode string

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.

const (
	ScatterternaryMarkerColorbarLenmode_fraction ScatterternaryMarkerColorbarLenmode = "fraction"
	ScatterternaryMarkerColorbarLenmode_pixels   ScatterternaryMarkerColorbarLenmode = "pixels"
)

type ScatterternaryMarkerColorbarShowexponent

type ScatterternaryMarkerColorbarShowexponent string

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.

const (
	ScatterternaryMarkerColorbarShowexponent_all   ScatterternaryMarkerColorbarShowexponent = "all"
	ScatterternaryMarkerColorbarShowexponent_first ScatterternaryMarkerColorbarShowexponent = "first"
	ScatterternaryMarkerColorbarShowexponent_last  ScatterternaryMarkerColorbarShowexponent = "last"
	ScatterternaryMarkerColorbarShowexponent_none  ScatterternaryMarkerColorbarShowexponent = "none"
)

type ScatterternaryMarkerColorbarShowtickprefix

type ScatterternaryMarkerColorbarShowtickprefix string

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.

const (
	ScatterternaryMarkerColorbarShowtickprefix_all   ScatterternaryMarkerColorbarShowtickprefix = "all"
	ScatterternaryMarkerColorbarShowtickprefix_first ScatterternaryMarkerColorbarShowtickprefix = "first"
	ScatterternaryMarkerColorbarShowtickprefix_last  ScatterternaryMarkerColorbarShowtickprefix = "last"
	ScatterternaryMarkerColorbarShowtickprefix_none  ScatterternaryMarkerColorbarShowtickprefix = "none"
)

type ScatterternaryMarkerColorbarShowticksuffix

type ScatterternaryMarkerColorbarShowticksuffix string

ScatterternaryMarkerColorbarShowticksuffix Same as `showtickprefix` but for tick suffixes.

const (
	ScatterternaryMarkerColorbarShowticksuffix_all   ScatterternaryMarkerColorbarShowticksuffix = "all"
	ScatterternaryMarkerColorbarShowticksuffix_first ScatterternaryMarkerColorbarShowticksuffix = "first"
	ScatterternaryMarkerColorbarShowticksuffix_last  ScatterternaryMarkerColorbarShowticksuffix = "last"
	ScatterternaryMarkerColorbarShowticksuffix_none  ScatterternaryMarkerColorbarShowticksuffix = "none"
)

type ScatterternaryMarkerColorbarThicknessmode

type ScatterternaryMarkerColorbarThicknessmode string

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.

const (
	ScatterternaryMarkerColorbarThicknessmode_fraction ScatterternaryMarkerColorbarThicknessmode = "fraction"
	ScatterternaryMarkerColorbarThicknessmode_pixels   ScatterternaryMarkerColorbarThicknessmode = "pixels"
)

type ScatterternaryMarkerColorbarTickfont

type ScatterternaryMarkerColorbarTickfont struct {

	// Color color <no value>
	Color String `json:"color,omitempty"`

	// Family string HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.
	Family String `json:"family,omitempty"`

	// Size number <no value>
	Size float64 `json:"size,omitempty"`
}

type ScatterternaryMarkerColorbarTickformatstops

type ScatterternaryMarkerColorbarTickformatstops interface{}

ScatterternaryMarkerColorbarTickformatstops It's an items array and what goes inside it's... messy... check the docs Here is a hint to help you to define your own type tickformatstop

dtickrange
editType
enabled
name
role
templateitemname
value

type ScatterternaryMarkerColorbarTicklabelposition

type ScatterternaryMarkerColorbarTicklabelposition string

ScatterternaryMarkerColorbarTicklabelposition Determines where tick labels are drawn.

const (
	ScatterternaryMarkerColorbarTicklabelposition_outside       ScatterternaryMarkerColorbarTicklabelposition = "outside"
	ScatterternaryMarkerColorbarTicklabelposition_inside        ScatterternaryMarkerColorbarTicklabelposition = "inside"
	ScatterternaryMarkerColorbarTicklabelposition_outsidetop    ScatterternaryMarkerColorbarTicklabelposition = "outside top"
	ScatterternaryMarkerColorbarTicklabelposition_insidetop     ScatterternaryMarkerColorbarTicklabelposition = "inside top"
	ScatterternaryMarkerColorbarTicklabelposition_outsidebottom ScatterternaryMarkerColorbarTicklabelposition = "outside bottom"
	ScatterternaryMarkerColorbarTicklabelposition_insidebottom  ScatterternaryMarkerColorbarTicklabelposition = "inside bottom"
)

type ScatterternaryMarkerColorbarTickmode

type ScatterternaryMarkerColorbarTickmode string

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).

const (
	ScatterternaryMarkerColorbarTickmode_auto   ScatterternaryMarkerColorbarTickmode = "auto"
	ScatterternaryMarkerColorbarTickmode_linear ScatterternaryMarkerColorbarTickmode = "linear"
	ScatterternaryMarkerColorbarTickmode_array  ScatterternaryMarkerColorbarTickmode = "array"
)

type ScatterternaryMarkerColorbarTicks

type ScatterternaryMarkerColorbarTicks string

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.

const (
	ScatterternaryMarkerColorbarTicks_outside ScatterternaryMarkerColorbarTicks = "outside"
	ScatterternaryMarkerColorbarTicks_inside  ScatterternaryMarkerColorbarTicks = "inside"
)

type ScatterternaryMarkerColorbarTitle

type ScatterternaryMarkerColorbarTitle struct {

	// Font <no value> Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.
	Font *ScatterternaryMarkerColorbarTitleFont `json:"font,omitempty"`

	// Side 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.
	Side ScatterternaryMarkerColorbarTitleSide `json:"side,omitempty"`

	// Text 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"`
}

type ScatterternaryMarkerColorbarTitleFont

type ScatterternaryMarkerColorbarTitleFont struct {

	// Color color <no value>
	Color String `json:"color,omitempty"`

	// Family string HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.
	Family String `json:"family,omitempty"`

	// Size number <no value>
	Size float64 `json:"size,omitempty"`
}

type ScatterternaryMarkerColorbarTitleSide

type ScatterternaryMarkerColorbarTitleSide string

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.

const (
	ScatterternaryMarkerColorbarTitleSide_right  ScatterternaryMarkerColorbarTitleSide = "right"
	ScatterternaryMarkerColorbarTitleSide_top    ScatterternaryMarkerColorbarTitleSide = "top"
	ScatterternaryMarkerColorbarTitleSide_bottom ScatterternaryMarkerColorbarTitleSide = "bottom"
)

type ScatterternaryMarkerColorbarXanchor

type ScatterternaryMarkerColorbarXanchor string

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.

const (
	ScatterternaryMarkerColorbarXanchor_left   ScatterternaryMarkerColorbarXanchor = "left"
	ScatterternaryMarkerColorbarXanchor_center ScatterternaryMarkerColorbarXanchor = "center"
	ScatterternaryMarkerColorbarXanchor_right  ScatterternaryMarkerColorbarXanchor = "right"
)

type ScatterternaryMarkerColorbarYanchor

type ScatterternaryMarkerColorbarYanchor string

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.

const (
	ScatterternaryMarkerColorbarYanchor_top    ScatterternaryMarkerColorbarYanchor = "top"
	ScatterternaryMarkerColorbarYanchor_middle ScatterternaryMarkerColorbarYanchor = "middle"
	ScatterternaryMarkerColorbarYanchor_bottom ScatterternaryMarkerColorbarYanchor = "bottom"
)

type ScatterternaryMarkerGradient

type ScatterternaryMarkerGradient struct {

	// Color color Sets the final color of the gradient fill: the center color for radial, the right for horizontal, or the bottom for vertical.
	Color interface{} `json:"color,omitempty"`

	// Colorsrc string Sets the source reference on Chart Studio Cloud for  color .
	Colorsrc String `json:"colorsrc,omitempty"`

	// Type enumerated Sets the type of gradient used to fill the markers
	Type ScatterternaryMarkerGradientType `json:"type,omitempty"`

	// Typesrc string Sets the source reference on Chart Studio Cloud for  type .
	Typesrc String `json:"typesrc,omitempty"`
}

type ScatterternaryMarkerGradientType

type ScatterternaryMarkerGradientType string

ScatterternaryMarkerGradientType Sets the type of gradient used to fill the markers

const (
	ScatterternaryMarkerGradientType_radial     ScatterternaryMarkerGradientType = "radial"
	ScatterternaryMarkerGradientType_horizontal ScatterternaryMarkerGradientType = "horizontal"
	ScatterternaryMarkerGradientType_vertical   ScatterternaryMarkerGradientType = "vertical"
	ScatterternaryMarkerGradientType_none       ScatterternaryMarkerGradientType = "none"
)

type ScatterternaryMarkerLine

type ScatterternaryMarkerLine struct {

	// Autocolorscale 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 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 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 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 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 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.
	Color interface{} `json:"color,omitempty"`

	// Coloraxis 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"`

	// Colorsrc string Sets the source reference on Chart Studio Cloud for  color .
	Colorsrc String `json:"colorsrc,omitempty"`

	// Reversescale 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 number Sets the width (in px) of the lines bounding the marker points.
	Width interface{} `json:"width,omitempty"`

	// Widthsrc string Sets the source reference on Chart Studio Cloud for  width .
	Widthsrc String `json:"widthsrc,omitempty"`
}

type ScatterternaryMarkerSizemode

type ScatterternaryMarkerSizemode string

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.

const (
	ScatterternaryMarkerSizemode_diameter ScatterternaryMarkerSizemode = "diameter"
	ScatterternaryMarkerSizemode_area     ScatterternaryMarkerSizemode = "area"
)

type ScatterternaryMarkerSymbol

type ScatterternaryMarkerSymbol string

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.

const (
	ScatterternaryMarkerSymbol0                            ScatterternaryMarkerSymbol = "0"
	ScatterternaryMarkerSymbol_0                           ScatterternaryMarkerSymbol = "0"
	ScatterternaryMarkerSymbol_circle                      ScatterternaryMarkerSymbol = "circle"
	ScatterternaryMarkerSymbol100                          ScatterternaryMarkerSymbol = "100"
	ScatterternaryMarkerSymbol_100                         ScatterternaryMarkerSymbol = "100"
	ScatterternaryMarkerSymbol_circle_open                 ScatterternaryMarkerSymbol = "circle-open"
	ScatterternaryMarkerSymbol200                          ScatterternaryMarkerSymbol = "200"
	ScatterternaryMarkerSymbol_200                         ScatterternaryMarkerSymbol = "200"
	ScatterternaryMarkerSymbol_circle_dot                  ScatterternaryMarkerSymbol = "circle-dot"
	ScatterternaryMarkerSymbol300                          ScatterternaryMarkerSymbol = "300"
	ScatterternaryMarkerSymbol_300                         ScatterternaryMarkerSymbol = "300"
	ScatterternaryMarkerSymbol_circle_open_dot             ScatterternaryMarkerSymbol = "circle-open-dot"
	ScatterternaryMarkerSymbol1                            ScatterternaryMarkerSymbol = "1"
	ScatterternaryMarkerSymbol_1                           ScatterternaryMarkerSymbol = "1"
	ScatterternaryMarkerSymbol_square                      ScatterternaryMarkerSymbol = "square"
	ScatterternaryMarkerSymbol101                          ScatterternaryMarkerSymbol = "101"
	ScatterternaryMarkerSymbol_101                         ScatterternaryMarkerSymbol = "101"
	ScatterternaryMarkerSymbol_square_open                 ScatterternaryMarkerSymbol = "square-open"
	ScatterternaryMarkerSymbol201                          ScatterternaryMarkerSymbol = "201"
	ScatterternaryMarkerSymbol_201                         ScatterternaryMarkerSymbol = "201"
	ScatterternaryMarkerSymbol_square_dot                  ScatterternaryMarkerSymbol = "square-dot"
	ScatterternaryMarkerSymbol301                          ScatterternaryMarkerSymbol = "301"
	ScatterternaryMarkerSymbol_301                         ScatterternaryMarkerSymbol = "301"
	ScatterternaryMarkerSymbol_square_open_dot             ScatterternaryMarkerSymbol = "square-open-dot"
	ScatterternaryMarkerSymbol2                            ScatterternaryMarkerSymbol = "2"
	ScatterternaryMarkerSymbol_2                           ScatterternaryMarkerSymbol = "2"
	ScatterternaryMarkerSymbol_diamond                     ScatterternaryMarkerSymbol = "diamond"
	ScatterternaryMarkerSymbol102                          ScatterternaryMarkerSymbol = "102"
	ScatterternaryMarkerSymbol_102                         ScatterternaryMarkerSymbol = "102"
	ScatterternaryMarkerSymbol_diamond_open                ScatterternaryMarkerSymbol = "diamond-open"
	ScatterternaryMarkerSymbol202                          ScatterternaryMarkerSymbol = "202"
	ScatterternaryMarkerSymbol_202                         ScatterternaryMarkerSymbol = "202"
	ScatterternaryMarkerSymbol_diamond_dot                 ScatterternaryMarkerSymbol = "diamond-dot"
	ScatterternaryMarkerSymbol302                          ScatterternaryMarkerSymbol = "302"
	ScatterternaryMarkerSymbol_302                         ScatterternaryMarkerSymbol = "302"
	ScatterternaryMarkerSymbol_diamond_open_dot            ScatterternaryMarkerSymbol = "diamond-open-dot"
	ScatterternaryMarkerSymbol3                            ScatterternaryMarkerSymbol = "3"
	ScatterternaryMarkerSymbol_3                           ScatterternaryMarkerSymbol = "3"
	ScatterternaryMarkerSymbol_cross                       ScatterternaryMarkerSymbol = "cross"
	ScatterternaryMarkerSymbol103                          ScatterternaryMarkerSymbol = "103"
	ScatterternaryMarkerSymbol_103                         ScatterternaryMarkerSymbol = "103"
	ScatterternaryMarkerSymbol_cross_open                  ScatterternaryMarkerSymbol = "cross-open"
	ScatterternaryMarkerSymbol203                          ScatterternaryMarkerSymbol = "203"
	ScatterternaryMarkerSymbol_203                         ScatterternaryMarkerSymbol = "203"
	ScatterternaryMarkerSymbol_cross_dot                   ScatterternaryMarkerSymbol = "cross-dot"
	ScatterternaryMarkerSymbol303                          ScatterternaryMarkerSymbol = "303"
	ScatterternaryMarkerSymbol_303                         ScatterternaryMarkerSymbol = "303"
	ScatterternaryMarkerSymbol_cross_open_dot              ScatterternaryMarkerSymbol = "cross-open-dot"
	ScatterternaryMarkerSymbol4                            ScatterternaryMarkerSymbol = "4"
	ScatterternaryMarkerSymbol_4                           ScatterternaryMarkerSymbol = "4"
	ScatterternaryMarkerSymbol_x                           ScatterternaryMarkerSymbol = "x"
	ScatterternaryMarkerSymbol104                          ScatterternaryMarkerSymbol = "104"
	ScatterternaryMarkerSymbol_104                         ScatterternaryMarkerSymbol = "104"
	ScatterternaryMarkerSymbol_x_open                      ScatterternaryMarkerSymbol = "x-open"
	ScatterternaryMarkerSymbol204                          ScatterternaryMarkerSymbol = "204"
	ScatterternaryMarkerSymbol_204                         ScatterternaryMarkerSymbol = "204"
	ScatterternaryMarkerSymbol_x_dot                       ScatterternaryMarkerSymbol = "x-dot"
	ScatterternaryMarkerSymbol304                          ScatterternaryMarkerSymbol = "304"
	ScatterternaryMarkerSymbol_304                         ScatterternaryMarkerSymbol = "304"
	ScatterternaryMarkerSymbol_x_open_dot                  ScatterternaryMarkerSymbol = "x-open-dot"
	ScatterternaryMarkerSymbol5                            ScatterternaryMarkerSymbol = "5"
	ScatterternaryMarkerSymbol_5                           ScatterternaryMarkerSymbol = "5"
	ScatterternaryMarkerSymbol_triangle_up                 ScatterternaryMarkerSymbol = "triangle-up"
	ScatterternaryMarkerSymbol105                          ScatterternaryMarkerSymbol = "105"
	ScatterternaryMarkerSymbol_105                         ScatterternaryMarkerSymbol = "105"
	ScatterternaryMarkerSymbol_triangle_up_open            ScatterternaryMarkerSymbol = "triangle-up-open"
	ScatterternaryMarkerSymbol205                          ScatterternaryMarkerSymbol = "205"
	ScatterternaryMarkerSymbol_205                         ScatterternaryMarkerSymbol = "205"
	ScatterternaryMarkerSymbol_triangle_up_dot             ScatterternaryMarkerSymbol = "triangle-up-dot"
	ScatterternaryMarkerSymbol305                          ScatterternaryMarkerSymbol = "305"
	ScatterternaryMarkerSymbol_305                         ScatterternaryMarkerSymbol = "305"
	ScatterternaryMarkerSymbol_triangle_up_open_dot        ScatterternaryMarkerSymbol = "triangle-up-open-dot"
	ScatterternaryMarkerSymbol6                            ScatterternaryMarkerSymbol = "6"
	ScatterternaryMarkerSymbol_6                           ScatterternaryMarkerSymbol = "6"
	ScatterternaryMarkerSymbol_triangle_down               ScatterternaryMarkerSymbol = "triangle-down"
	ScatterternaryMarkerSymbol106                          ScatterternaryMarkerSymbol = "106"
	ScatterternaryMarkerSymbol_106                         ScatterternaryMarkerSymbol = "106"
	ScatterternaryMarkerSymbol_triangle_down_open          ScatterternaryMarkerSymbol = "triangle-down-open"
	ScatterternaryMarkerSymbol206                          ScatterternaryMarkerSymbol = "206"
	ScatterternaryMarkerSymbol_206                         ScatterternaryMarkerSymbol = "206"
	ScatterternaryMarkerSymbol_triangle_down_dot           ScatterternaryMarkerSymbol = "triangle-down-dot"
	ScatterternaryMarkerSymbol306                          ScatterternaryMarkerSymbol = "306"
	ScatterternaryMarkerSymbol_306                         ScatterternaryMarkerSymbol = "306"
	ScatterternaryMarkerSymbol_triangle_down_open_dot      ScatterternaryMarkerSymbol = "triangle-down-open-dot"
	ScatterternaryMarkerSymbol7                            ScatterternaryMarkerSymbol = "7"
	ScatterternaryMarkerSymbol_7                           ScatterternaryMarkerSymbol = "7"
	ScatterternaryMarkerSymbol_triangle_left               ScatterternaryMarkerSymbol = "triangle-left"
	ScatterternaryMarkerSymbol107                          ScatterternaryMarkerSymbol = "107"
	ScatterternaryMarkerSymbol_107                         ScatterternaryMarkerSymbol = "107"
	ScatterternaryMarkerSymbol_triangle_left_open          ScatterternaryMarkerSymbol = "triangle-left-open"
	ScatterternaryMarkerSymbol207                          ScatterternaryMarkerSymbol = "207"
	ScatterternaryMarkerSymbol_207                         ScatterternaryMarkerSymbol = "207"
	ScatterternaryMarkerSymbol_triangle_left_dot           ScatterternaryMarkerSymbol = "triangle-left-dot"
	ScatterternaryMarkerSymbol307                          ScatterternaryMarkerSymbol = "307"
	ScatterternaryMarkerSymbol_307                         ScatterternaryMarkerSymbol = "307"
	ScatterternaryMarkerSymbol_triangle_left_open_dot      ScatterternaryMarkerSymbol = "triangle-left-open-dot"
	ScatterternaryMarkerSymbol8                            ScatterternaryMarkerSymbol = "8"
	ScatterternaryMarkerSymbol_8                           ScatterternaryMarkerSymbol = "8"
	ScatterternaryMarkerSymbol_triangle_right              ScatterternaryMarkerSymbol = "triangle-right"
	ScatterternaryMarkerSymbol108                          ScatterternaryMarkerSymbol = "108"
	ScatterternaryMarkerSymbol_108                         ScatterternaryMarkerSymbol = "108"
	ScatterternaryMarkerSymbol_triangle_right_open         ScatterternaryMarkerSymbol = "triangle-right-open"
	ScatterternaryMarkerSymbol208                          ScatterternaryMarkerSymbol = "208"
	ScatterternaryMarkerSymbol_208                         ScatterternaryMarkerSymbol = "208"
	ScatterternaryMarkerSymbol_triangle_right_dot          ScatterternaryMarkerSymbol = "triangle-right-dot"
	ScatterternaryMarkerSymbol308                          ScatterternaryMarkerSymbol = "308"
	ScatterternaryMarkerSymbol_308                         ScatterternaryMarkerSymbol = "308"
	ScatterternaryMarkerSymbol_triangle_right_open_dot     ScatterternaryMarkerSymbol = "triangle-right-open-dot"
	ScatterternaryMarkerSymbol9                            ScatterternaryMarkerSymbol = "9"
	ScatterternaryMarkerSymbol_9                           ScatterternaryMarkerSymbol = "9"
	ScatterternaryMarkerSymbol_triangle_ne                 ScatterternaryMarkerSymbol = "triangle-ne"
	ScatterternaryMarkerSymbol109                          ScatterternaryMarkerSymbol = "109"
	ScatterternaryMarkerSymbol_109                         ScatterternaryMarkerSymbol = "109"
	ScatterternaryMarkerSymbol_triangle_ne_open            ScatterternaryMarkerSymbol = "triangle-ne-open"
	ScatterternaryMarkerSymbol209                          ScatterternaryMarkerSymbol = "209"
	ScatterternaryMarkerSymbol_209                         ScatterternaryMarkerSymbol = "209"
	ScatterternaryMarkerSymbol_triangle_ne_dot             ScatterternaryMarkerSymbol = "triangle-ne-dot"
	ScatterternaryMarkerSymbol309                          ScatterternaryMarkerSymbol = "309"
	ScatterternaryMarkerSymbol_309                         ScatterternaryMarkerSymbol = "309"
	ScatterternaryMarkerSymbol_triangle_ne_open_dot        ScatterternaryMarkerSymbol = "triangle-ne-open-dot"
	ScatterternaryMarkerSymbol10                           ScatterternaryMarkerSymbol = "10"
	ScatterternaryMarkerSymbol_10                          ScatterternaryMarkerSymbol = "10"
	ScatterternaryMarkerSymbol_triangle_se                 ScatterternaryMarkerSymbol = "triangle-se"
	ScatterternaryMarkerSymbol110                          ScatterternaryMarkerSymbol = "110"
	ScatterternaryMarkerSymbol_110                         ScatterternaryMarkerSymbol = "110"
	ScatterternaryMarkerSymbol_triangle_se_open            ScatterternaryMarkerSymbol = "triangle-se-open"
	ScatterternaryMarkerSymbol210                          ScatterternaryMarkerSymbol = "210"
	ScatterternaryMarkerSymbol_210                         ScatterternaryMarkerSymbol = "210"
	ScatterternaryMarkerSymbol_triangle_se_dot             ScatterternaryMarkerSymbol = "triangle-se-dot"
	ScatterternaryMarkerSymbol310                          ScatterternaryMarkerSymbol = "310"
	ScatterternaryMarkerSymbol_310                         ScatterternaryMarkerSymbol = "310"
	ScatterternaryMarkerSymbol_triangle_se_open_dot        ScatterternaryMarkerSymbol = "triangle-se-open-dot"
	ScatterternaryMarkerSymbol11                           ScatterternaryMarkerSymbol = "11"
	ScatterternaryMarkerSymbol_11                          ScatterternaryMarkerSymbol = "11"
	ScatterternaryMarkerSymbol_triangle_sw                 ScatterternaryMarkerSymbol = "triangle-sw"
	ScatterternaryMarkerSymbol111                          ScatterternaryMarkerSymbol = "111"
	ScatterternaryMarkerSymbol_111                         ScatterternaryMarkerSymbol = "111"
	ScatterternaryMarkerSymbol_triangle_sw_open            ScatterternaryMarkerSymbol = "triangle-sw-open"
	ScatterternaryMarkerSymbol211                          ScatterternaryMarkerSymbol = "211"
	ScatterternaryMarkerSymbol_211                         ScatterternaryMarkerSymbol = "211"
	ScatterternaryMarkerSymbol_triangle_sw_dot             ScatterternaryMarkerSymbol = "triangle-sw-dot"
	ScatterternaryMarkerSymbol311                          ScatterternaryMarkerSymbol = "311"
	ScatterternaryMarkerSymbol_311                         ScatterternaryMarkerSymbol = "311"
	ScatterternaryMarkerSymbol_triangle_sw_open_dot        ScatterternaryMarkerSymbol = "triangle-sw-open-dot"
	ScatterternaryMarkerSymbol12                           ScatterternaryMarkerSymbol = "12"
	ScatterternaryMarkerSymbol_12                          ScatterternaryMarkerSymbol = "12"
	ScatterternaryMarkerSymbol_triangle_nw                 ScatterternaryMarkerSymbol = "triangle-nw"
	ScatterternaryMarkerSymbol112                          ScatterternaryMarkerSymbol = "112"
	ScatterternaryMarkerSymbol_112                         ScatterternaryMarkerSymbol = "112"
	ScatterternaryMarkerSymbol_triangle_nw_open            ScatterternaryMarkerSymbol = "triangle-nw-open"
	ScatterternaryMarkerSymbol212                          ScatterternaryMarkerSymbol = "212"
	ScatterternaryMarkerSymbol_212                         ScatterternaryMarkerSymbol = "212"
	ScatterternaryMarkerSymbol_triangle_nw_dot             ScatterternaryMarkerSymbol = "triangle-nw-dot"
	ScatterternaryMarkerSymbol312                          ScatterternaryMarkerSymbol = "312"
	ScatterternaryMarkerSymbol_312                         ScatterternaryMarkerSymbol = "312"
	ScatterternaryMarkerSymbol_triangle_nw_open_dot        ScatterternaryMarkerSymbol = "triangle-nw-open-dot"
	ScatterternaryMarkerSymbol13                           ScatterternaryMarkerSymbol = "13"
	ScatterternaryMarkerSymbol_13                          ScatterternaryMarkerSymbol = "13"
	ScatterternaryMarkerSymbol_pentagon                    ScatterternaryMarkerSymbol = "pentagon"
	ScatterternaryMarkerSymbol113                          ScatterternaryMarkerSymbol = "113"
	ScatterternaryMarkerSymbol_113                         ScatterternaryMarkerSymbol = "113"
	ScatterternaryMarkerSymbol_pentagon_open               ScatterternaryMarkerSymbol = "pentagon-open"
	ScatterternaryMarkerSymbol213                          ScatterternaryMarkerSymbol = "213"
	ScatterternaryMarkerSymbol_213                         ScatterternaryMarkerSymbol = "213"
	ScatterternaryMarkerSymbol_pentagon_dot                ScatterternaryMarkerSymbol = "pentagon-dot"
	ScatterternaryMarkerSymbol313                          ScatterternaryMarkerSymbol = "313"
	ScatterternaryMarkerSymbol_313                         ScatterternaryMarkerSymbol = "313"
	ScatterternaryMarkerSymbol_pentagon_open_dot           ScatterternaryMarkerSymbol = "pentagon-open-dot"
	ScatterternaryMarkerSymbol14                           ScatterternaryMarkerSymbol = "14"
	ScatterternaryMarkerSymbol_14                          ScatterternaryMarkerSymbol = "14"
	ScatterternaryMarkerSymbol_hexagon                     ScatterternaryMarkerSymbol = "hexagon"
	ScatterternaryMarkerSymbol114                          ScatterternaryMarkerSymbol = "114"
	ScatterternaryMarkerSymbol_114                         ScatterternaryMarkerSymbol = "114"
	ScatterternaryMarkerSymbol_hexagon_open                ScatterternaryMarkerSymbol = "hexagon-open"
	ScatterternaryMarkerSymbol214                          ScatterternaryMarkerSymbol = "214"
	ScatterternaryMarkerSymbol_214                         ScatterternaryMarkerSymbol = "214"
	ScatterternaryMarkerSymbol_hexagon_dot                 ScatterternaryMarkerSymbol = "hexagon-dot"
	ScatterternaryMarkerSymbol314                          ScatterternaryMarkerSymbol = "314"
	ScatterternaryMarkerSymbol_314                         ScatterternaryMarkerSymbol = "314"
	ScatterternaryMarkerSymbol_hexagon_open_dot            ScatterternaryMarkerSymbol = "hexagon-open-dot"
	ScatterternaryMarkerSymbol15                           ScatterternaryMarkerSymbol = "15"
	ScatterternaryMarkerSymbol_15                          ScatterternaryMarkerSymbol = "15"
	ScatterternaryMarkerSymbol_hexagon2                    ScatterternaryMarkerSymbol = "hexagon2"
	ScatterternaryMarkerSymbol115                          ScatterternaryMarkerSymbol = "115"
	ScatterternaryMarkerSymbol_115                         ScatterternaryMarkerSymbol = "115"
	ScatterternaryMarkerSymbol_hexagon2_open               ScatterternaryMarkerSymbol = "hexagon2-open"
	ScatterternaryMarkerSymbol215                          ScatterternaryMarkerSymbol = "215"
	ScatterternaryMarkerSymbol_215                         ScatterternaryMarkerSymbol = "215"
	ScatterternaryMarkerSymbol_hexagon2_dot                ScatterternaryMarkerSymbol = "hexagon2-dot"
	ScatterternaryMarkerSymbol315                          ScatterternaryMarkerSymbol = "315"
	ScatterternaryMarkerSymbol_315                         ScatterternaryMarkerSymbol = "315"
	ScatterternaryMarkerSymbol_hexagon2_open_dot           ScatterternaryMarkerSymbol = "hexagon2-open-dot"
	ScatterternaryMarkerSymbol16                           ScatterternaryMarkerSymbol = "16"
	ScatterternaryMarkerSymbol_16                          ScatterternaryMarkerSymbol = "16"
	ScatterternaryMarkerSymbol_octagon                     ScatterternaryMarkerSymbol = "octagon"
	ScatterternaryMarkerSymbol116                          ScatterternaryMarkerSymbol = "116"
	ScatterternaryMarkerSymbol_116                         ScatterternaryMarkerSymbol = "116"
	ScatterternaryMarkerSymbol_octagon_open                ScatterternaryMarkerSymbol = "octagon-open"
	ScatterternaryMarkerSymbol216                          ScatterternaryMarkerSymbol = "216"
	ScatterternaryMarkerSymbol_216                         ScatterternaryMarkerSymbol = "216"
	ScatterternaryMarkerSymbol_octagon_dot                 ScatterternaryMarkerSymbol = "octagon-dot"
	ScatterternaryMarkerSymbol316                          ScatterternaryMarkerSymbol = "316"
	ScatterternaryMarkerSymbol_316                         ScatterternaryMarkerSymbol = "316"
	ScatterternaryMarkerSymbol_octagon_open_dot            ScatterternaryMarkerSymbol = "octagon-open-dot"
	ScatterternaryMarkerSymbol17                           ScatterternaryMarkerSymbol = "17"
	ScatterternaryMarkerSymbol_17                          ScatterternaryMarkerSymbol = "17"
	ScatterternaryMarkerSymbol_star                        ScatterternaryMarkerSymbol = "star"
	ScatterternaryMarkerSymbol117                          ScatterternaryMarkerSymbol = "117"
	ScatterternaryMarkerSymbol_117                         ScatterternaryMarkerSymbol = "117"
	ScatterternaryMarkerSymbol_star_open                   ScatterternaryMarkerSymbol = "star-open"
	ScatterternaryMarkerSymbol217                          ScatterternaryMarkerSymbol = "217"
	ScatterternaryMarkerSymbol_217                         ScatterternaryMarkerSymbol = "217"
	ScatterternaryMarkerSymbol_star_dot                    ScatterternaryMarkerSymbol = "star-dot"
	ScatterternaryMarkerSymbol317                          ScatterternaryMarkerSymbol = "317"
	ScatterternaryMarkerSymbol_317                         ScatterternaryMarkerSymbol = "317"
	ScatterternaryMarkerSymbol_star_open_dot               ScatterternaryMarkerSymbol = "star-open-dot"
	ScatterternaryMarkerSymbol18                           ScatterternaryMarkerSymbol = "18"
	ScatterternaryMarkerSymbol_18                          ScatterternaryMarkerSymbol = "18"
	ScatterternaryMarkerSymbol_hexagram                    ScatterternaryMarkerSymbol = "hexagram"
	ScatterternaryMarkerSymbol118                          ScatterternaryMarkerSymbol = "118"
	ScatterternaryMarkerSymbol_118                         ScatterternaryMarkerSymbol = "118"
	ScatterternaryMarkerSymbol_hexagram_open               ScatterternaryMarkerSymbol = "hexagram-open"
	ScatterternaryMarkerSymbol218                          ScatterternaryMarkerSymbol = "218"
	ScatterternaryMarkerSymbol_218                         ScatterternaryMarkerSymbol = "218"
	ScatterternaryMarkerSymbol_hexagram_dot                ScatterternaryMarkerSymbol = "hexagram-dot"
	ScatterternaryMarkerSymbol318                          ScatterternaryMarkerSymbol = "318"
	ScatterternaryMarkerSymbol_318                         ScatterternaryMarkerSymbol = "318"
	ScatterternaryMarkerSymbol_hexagram_open_dot           ScatterternaryMarkerSymbol = "hexagram-open-dot"
	ScatterternaryMarkerSymbol19                           ScatterternaryMarkerSymbol = "19"
	ScatterternaryMarkerSymbol_19                          ScatterternaryMarkerSymbol = "19"
	ScatterternaryMarkerSymbol_star_triangle_up            ScatterternaryMarkerSymbol = "star-triangle-up"
	ScatterternaryMarkerSymbol119                          ScatterternaryMarkerSymbol = "119"
	ScatterternaryMarkerSymbol_119                         ScatterternaryMarkerSymbol = "119"
	ScatterternaryMarkerSymbol_star_triangle_up_open       ScatterternaryMarkerSymbol = "star-triangle-up-open"
	ScatterternaryMarkerSymbol219                          ScatterternaryMarkerSymbol = "219"
	ScatterternaryMarkerSymbol_219                         ScatterternaryMarkerSymbol = "219"
	ScatterternaryMarkerSymbol_star_triangle_up_dot        ScatterternaryMarkerSymbol = "star-triangle-up-dot"
	ScatterternaryMarkerSymbol319                          ScatterternaryMarkerSymbol = "319"
	ScatterternaryMarkerSymbol_319                         ScatterternaryMarkerSymbol = "319"
	ScatterternaryMarkerSymbol_star_triangle_up_open_dot   ScatterternaryMarkerSymbol = "star-triangle-up-open-dot"
	ScatterternaryMarkerSymbol20                           ScatterternaryMarkerSymbol = "20"
	ScatterternaryMarkerSymbol_20                          ScatterternaryMarkerSymbol = "20"
	ScatterternaryMarkerSymbol_star_triangle_down          ScatterternaryMarkerSymbol = "star-triangle-down"
	ScatterternaryMarkerSymbol120                          ScatterternaryMarkerSymbol = "120"
	ScatterternaryMarkerSymbol_120                         ScatterternaryMarkerSymbol = "120"
	ScatterternaryMarkerSymbol_star_triangle_down_open     ScatterternaryMarkerSymbol = "star-triangle-down-open"
	ScatterternaryMarkerSymbol220                          ScatterternaryMarkerSymbol = "220"
	ScatterternaryMarkerSymbol_220                         ScatterternaryMarkerSymbol = "220"
	ScatterternaryMarkerSymbol_star_triangle_down_dot      ScatterternaryMarkerSymbol = "star-triangle-down-dot"
	ScatterternaryMarkerSymbol320                          ScatterternaryMarkerSymbol = "320"
	ScatterternaryMarkerSymbol_320                         ScatterternaryMarkerSymbol = "320"
	ScatterternaryMarkerSymbol_star_triangle_down_open_dot ScatterternaryMarkerSymbol = "star-triangle-down-open-dot"
	ScatterternaryMarkerSymbol21                           ScatterternaryMarkerSymbol = "21"
	ScatterternaryMarkerSymbol_21                          ScatterternaryMarkerSymbol = "21"
	ScatterternaryMarkerSymbol_star_square                 ScatterternaryMarkerSymbol = "star-square"
	ScatterternaryMarkerSymbol121                          ScatterternaryMarkerSymbol = "121"
	ScatterternaryMarkerSymbol_121                         ScatterternaryMarkerSymbol = "121"
	ScatterternaryMarkerSymbol_star_square_open            ScatterternaryMarkerSymbol = "star-square-open"
	ScatterternaryMarkerSymbol221                          ScatterternaryMarkerSymbol = "221"
	ScatterternaryMarkerSymbol_221                         ScatterternaryMarkerSymbol = "221"
	ScatterternaryMarkerSymbol_star_square_dot             ScatterternaryMarkerSymbol = "star-square-dot"
	ScatterternaryMarkerSymbol321                          ScatterternaryMarkerSymbol = "321"
	ScatterternaryMarkerSymbol_321                         ScatterternaryMarkerSymbol = "321"
	ScatterternaryMarkerSymbol_star_square_open_dot        ScatterternaryMarkerSymbol = "star-square-open-dot"
	ScatterternaryMarkerSymbol22                           ScatterternaryMarkerSymbol = "22"
	ScatterternaryMarkerSymbol_22                          ScatterternaryMarkerSymbol = "22"
	ScatterternaryMarkerSymbol_star_diamond                ScatterternaryMarkerSymbol = "star-diamond"
	ScatterternaryMarkerSymbol122                          ScatterternaryMarkerSymbol = "122"
	ScatterternaryMarkerSymbol_122                         ScatterternaryMarkerSymbol = "122"
	ScatterternaryMarkerSymbol_star_diamond_open           ScatterternaryMarkerSymbol = "star-diamond-open"
	ScatterternaryMarkerSymbol222                          ScatterternaryMarkerSymbol = "222"
	ScatterternaryMarkerSymbol_222                         ScatterternaryMarkerSymbol = "222"
	ScatterternaryMarkerSymbol_star_diamond_dot            ScatterternaryMarkerSymbol = "star-diamond-dot"
	ScatterternaryMarkerSymbol322                          ScatterternaryMarkerSymbol = "322"
	ScatterternaryMarkerSymbol_322                         ScatterternaryMarkerSymbol = "322"
	ScatterternaryMarkerSymbol_star_diamond_open_dot       ScatterternaryMarkerSymbol = "star-diamond-open-dot"
	ScatterternaryMarkerSymbol23                           ScatterternaryMarkerSymbol = "23"
	ScatterternaryMarkerSymbol_23                          ScatterternaryMarkerSymbol = "23"
	ScatterternaryMarkerSymbol_diamond_tall                ScatterternaryMarkerSymbol = "diamond-tall"
	ScatterternaryMarkerSymbol123                          ScatterternaryMarkerSymbol = "123"
	ScatterternaryMarkerSymbol_123                         ScatterternaryMarkerSymbol = "123"
	ScatterternaryMarkerSymbol_diamond_tall_open           ScatterternaryMarkerSymbol = "diamond-tall-open"
	ScatterternaryMarkerSymbol223                          ScatterternaryMarkerSymbol = "223"
	ScatterternaryMarkerSymbol_223                         ScatterternaryMarkerSymbol = "223"
	ScatterternaryMarkerSymbol_diamond_tall_dot            ScatterternaryMarkerSymbol = "diamond-tall-dot"
	ScatterternaryMarkerSymbol323                          ScatterternaryMarkerSymbol = "323"
	ScatterternaryMarkerSymbol_323                         ScatterternaryMarkerSymbol = "323"
	ScatterternaryMarkerSymbol_diamond_tall_open_dot       ScatterternaryMarkerSymbol = "diamond-tall-open-dot"
	ScatterternaryMarkerSymbol24                           ScatterternaryMarkerSymbol = "24"
	ScatterternaryMarkerSymbol_24                          ScatterternaryMarkerSymbol = "24"
	ScatterternaryMarkerSymbol_diamond_wide                ScatterternaryMarkerSymbol = "diamond-wide"
	ScatterternaryMarkerSymbol124                          ScatterternaryMarkerSymbol = "124"
	ScatterternaryMarkerSymbol_124                         ScatterternaryMarkerSymbol = "124"
	ScatterternaryMarkerSymbol_diamond_wide_open           ScatterternaryMarkerSymbol = "diamond-wide-open"
	ScatterternaryMarkerSymbol224                          ScatterternaryMarkerSymbol = "224"
	ScatterternaryMarkerSymbol_224                         ScatterternaryMarkerSymbol = "224"
	ScatterternaryMarkerSymbol_diamond_wide_dot            ScatterternaryMarkerSymbol = "diamond-wide-dot"
	ScatterternaryMarkerSymbol324                          ScatterternaryMarkerSymbol = "324"
	ScatterternaryMarkerSymbol_324                         ScatterternaryMarkerSymbol = "324"
	ScatterternaryMarkerSymbol_diamond_wide_open_dot       ScatterternaryMarkerSymbol = "diamond-wide-open-dot"
	ScatterternaryMarkerSymbol25                           ScatterternaryMarkerSymbol = "25"
	ScatterternaryMarkerSymbol_25                          ScatterternaryMarkerSymbol = "25"
	ScatterternaryMarkerSymbol_hourglass                   ScatterternaryMarkerSymbol = "hourglass"
	ScatterternaryMarkerSymbol125                          ScatterternaryMarkerSymbol = "125"
	ScatterternaryMarkerSymbol_125                         ScatterternaryMarkerSymbol = "125"
	ScatterternaryMarkerSymbol_hourglass_open              ScatterternaryMarkerSymbol = "hourglass-open"
	ScatterternaryMarkerSymbol26                           ScatterternaryMarkerSymbol = "26"
	ScatterternaryMarkerSymbol_26                          ScatterternaryMarkerSymbol = "26"
	ScatterternaryMarkerSymbol_bowtie                      ScatterternaryMarkerSymbol = "bowtie"
	ScatterternaryMarkerSymbol126                          ScatterternaryMarkerSymbol = "126"
	ScatterternaryMarkerSymbol_126                         ScatterternaryMarkerSymbol = "126"
	ScatterternaryMarkerSymbol_bowtie_open                 ScatterternaryMarkerSymbol = "bowtie-open"
	ScatterternaryMarkerSymbol27                           ScatterternaryMarkerSymbol = "27"
	ScatterternaryMarkerSymbol_27                          ScatterternaryMarkerSymbol = "27"
	ScatterternaryMarkerSymbol_circle_cross                ScatterternaryMarkerSymbol = "circle-cross"
	ScatterternaryMarkerSymbol127                          ScatterternaryMarkerSymbol = "127"
	ScatterternaryMarkerSymbol_127                         ScatterternaryMarkerSymbol = "127"
	ScatterternaryMarkerSymbol_circle_cross_open           ScatterternaryMarkerSymbol = "circle-cross-open"
	ScatterternaryMarkerSymbol28                           ScatterternaryMarkerSymbol = "28"
	ScatterternaryMarkerSymbol_28                          ScatterternaryMarkerSymbol = "28"
	ScatterternaryMarkerSymbol_circle_x                    ScatterternaryMarkerSymbol = "circle-x"
	ScatterternaryMarkerSymbol128                          ScatterternaryMarkerSymbol = "128"
	ScatterternaryMarkerSymbol_128                         ScatterternaryMarkerSymbol = "128"
	ScatterternaryMarkerSymbol_circle_x_open               ScatterternaryMarkerSymbol = "circle-x-open"
	ScatterternaryMarkerSymbol29                           ScatterternaryMarkerSymbol = "29"
	ScatterternaryMarkerSymbol_29                          ScatterternaryMarkerSymbol = "29"
	ScatterternaryMarkerSymbol_square_cross                ScatterternaryMarkerSymbol = "square-cross"
	ScatterternaryMarkerSymbol129                          ScatterternaryMarkerSymbol = "129"
	ScatterternaryMarkerSymbol_129                         ScatterternaryMarkerSymbol = "129"
	ScatterternaryMarkerSymbol_square_cross_open           ScatterternaryMarkerSymbol = "square-cross-open"
	ScatterternaryMarkerSymbol30                           ScatterternaryMarkerSymbol = "30"
	ScatterternaryMarkerSymbol_30                          ScatterternaryMarkerSymbol = "30"
	ScatterternaryMarkerSymbol_square_x                    ScatterternaryMarkerSymbol = "square-x"
	ScatterternaryMarkerSymbol130                          ScatterternaryMarkerSymbol = "130"
	ScatterternaryMarkerSymbol_130                         ScatterternaryMarkerSymbol = "130"
	ScatterternaryMarkerSymbol_square_x_open               ScatterternaryMarkerSymbol = "square-x-open"
	ScatterternaryMarkerSymbol31                           ScatterternaryMarkerSymbol = "31"
	ScatterternaryMarkerSymbol_31                          ScatterternaryMarkerSymbol = "31"
	ScatterternaryMarkerSymbol_diamond_cross               ScatterternaryMarkerSymbol = "diamond-cross"
	ScatterternaryMarkerSymbol131                          ScatterternaryMarkerSymbol = "131"
	ScatterternaryMarkerSymbol_131                         ScatterternaryMarkerSymbol = "131"
	ScatterternaryMarkerSymbol_diamond_cross_open          ScatterternaryMarkerSymbol = "diamond-cross-open"
	ScatterternaryMarkerSymbol32                           ScatterternaryMarkerSymbol = "32"
	ScatterternaryMarkerSymbol_32                          ScatterternaryMarkerSymbol = "32"
	ScatterternaryMarkerSymbol_diamond_x                   ScatterternaryMarkerSymbol = "diamond-x"
	ScatterternaryMarkerSymbol132                          ScatterternaryMarkerSymbol = "132"
	ScatterternaryMarkerSymbol_132                         ScatterternaryMarkerSymbol = "132"
	ScatterternaryMarkerSymbol_diamond_x_open              ScatterternaryMarkerSymbol = "diamond-x-open"
	ScatterternaryMarkerSymbol33                           ScatterternaryMarkerSymbol = "33"
	ScatterternaryMarkerSymbol_33                          ScatterternaryMarkerSymbol = "33"
	ScatterternaryMarkerSymbol_cross_thin                  ScatterternaryMarkerSymbol = "cross-thin"
	ScatterternaryMarkerSymbol133                          ScatterternaryMarkerSymbol = "133"
	ScatterternaryMarkerSymbol_133                         ScatterternaryMarkerSymbol = "133"
	ScatterternaryMarkerSymbol_cross_thin_open             ScatterternaryMarkerSymbol = "cross-thin-open"
	ScatterternaryMarkerSymbol34                           ScatterternaryMarkerSymbol = "34"
	ScatterternaryMarkerSymbol_34                          ScatterternaryMarkerSymbol = "34"
	ScatterternaryMarkerSymbol_x_thin                      ScatterternaryMarkerSymbol = "x-thin"
	ScatterternaryMarkerSymbol134                          ScatterternaryMarkerSymbol = "134"
	ScatterternaryMarkerSymbol_134                         ScatterternaryMarkerSymbol = "134"
	ScatterternaryMarkerSymbol_x_thin_open                 ScatterternaryMarkerSymbol = "x-thin-open"
	ScatterternaryMarkerSymbol35                           ScatterternaryMarkerSymbol = "35"
	ScatterternaryMarkerSymbol_35                          ScatterternaryMarkerSymbol = "35"
	ScatterternaryMarkerSymbol_asterisk                    ScatterternaryMarkerSymbol = "asterisk"
	ScatterternaryMarkerSymbol135                          ScatterternaryMarkerSymbol = "135"
	ScatterternaryMarkerSymbol_135                         ScatterternaryMarkerSymbol = "135"
	ScatterternaryMarkerSymbol_asterisk_open               ScatterternaryMarkerSymbol = "asterisk-open"
	ScatterternaryMarkerSymbol36                           ScatterternaryMarkerSymbol = "36"
	ScatterternaryMarkerSymbol_36                          ScatterternaryMarkerSymbol = "36"
	ScatterternaryMarkerSymbol_hash                        ScatterternaryMarkerSymbol = "hash"
	ScatterternaryMarkerSymbol136                          ScatterternaryMarkerSymbol = "136"
	ScatterternaryMarkerSymbol_136                         ScatterternaryMarkerSymbol = "136"
	ScatterternaryMarkerSymbol_hash_open                   ScatterternaryMarkerSymbol = "hash-open"
	ScatterternaryMarkerSymbol236                          ScatterternaryMarkerSymbol = "236"
	ScatterternaryMarkerSymbol_236                         ScatterternaryMarkerSymbol = "236"
	ScatterternaryMarkerSymbol_hash_dot                    ScatterternaryMarkerSymbol = "hash-dot"
	ScatterternaryMarkerSymbol336                          ScatterternaryMarkerSymbol = "336"
	ScatterternaryMarkerSymbol_336                         ScatterternaryMarkerSymbol = "336"
	ScatterternaryMarkerSymbol_hash_open_dot               ScatterternaryMarkerSymbol = "hash-open-dot"
	ScatterternaryMarkerSymbol37                           ScatterternaryMarkerSymbol = "37"
	ScatterternaryMarkerSymbol_37                          ScatterternaryMarkerSymbol = "37"
	ScatterternaryMarkerSymbol_y_up                        ScatterternaryMarkerSymbol = "y-up"
	ScatterternaryMarkerSymbol137                          ScatterternaryMarkerSymbol = "137"
	ScatterternaryMarkerSymbol_137                         ScatterternaryMarkerSymbol = "137"
	ScatterternaryMarkerSymbol_y_up_open                   ScatterternaryMarkerSymbol = "y-up-open"
	ScatterternaryMarkerSymbol38                           ScatterternaryMarkerSymbol = "38"
	ScatterternaryMarkerSymbol_38                          ScatterternaryMarkerSymbol = "38"
	ScatterternaryMarkerSymbol_y_down                      ScatterternaryMarkerSymbol = "y-down"
	ScatterternaryMarkerSymbol138                          ScatterternaryMarkerSymbol = "138"
	ScatterternaryMarkerSymbol_138                         ScatterternaryMarkerSymbol = "138"
	ScatterternaryMarkerSymbol_y_down_open                 ScatterternaryMarkerSymbol = "y-down-open"
	ScatterternaryMarkerSymbol39                           ScatterternaryMarkerSymbol = "39"
	ScatterternaryMarkerSymbol_39                          ScatterternaryMarkerSymbol = "39"
	ScatterternaryMarkerSymbol_y_left                      ScatterternaryMarkerSymbol = "y-left"
	ScatterternaryMarkerSymbol139                          ScatterternaryMarkerSymbol = "139"
	ScatterternaryMarkerSymbol_139                         ScatterternaryMarkerSymbol = "139"
	ScatterternaryMarkerSymbol_y_left_open                 ScatterternaryMarkerSymbol = "y-left-open"
	ScatterternaryMarkerSymbol40                           ScatterternaryMarkerSymbol = "40"
	ScatterternaryMarkerSymbol_40                          ScatterternaryMarkerSymbol = "40"
	ScatterternaryMarkerSymbol_y_right                     ScatterternaryMarkerSymbol = "y-right"
	ScatterternaryMarkerSymbol140                          ScatterternaryMarkerSymbol = "140"
	ScatterternaryMarkerSymbol_140                         ScatterternaryMarkerSymbol = "140"
	ScatterternaryMarkerSymbol_y_right_open                ScatterternaryMarkerSymbol = "y-right-open"
	ScatterternaryMarkerSymbol41                           ScatterternaryMarkerSymbol = "41"
	ScatterternaryMarkerSymbol_41                          ScatterternaryMarkerSymbol = "41"
	ScatterternaryMarkerSymbol_line_ew                     ScatterternaryMarkerSymbol = "line-ew"
	ScatterternaryMarkerSymbol141                          ScatterternaryMarkerSymbol = "141"
	ScatterternaryMarkerSymbol_141                         ScatterternaryMarkerSymbol = "141"
	ScatterternaryMarkerSymbol_line_ew_open                ScatterternaryMarkerSymbol = "line-ew-open"
	ScatterternaryMarkerSymbol42                           ScatterternaryMarkerSymbol = "42"
	ScatterternaryMarkerSymbol_42                          ScatterternaryMarkerSymbol = "42"
	ScatterternaryMarkerSymbol_line_ns                     ScatterternaryMarkerSymbol = "line-ns"
	ScatterternaryMarkerSymbol142                          ScatterternaryMarkerSymbol = "142"
	ScatterternaryMarkerSymbol_142                         ScatterternaryMarkerSymbol = "142"
	ScatterternaryMarkerSymbol_line_ns_open                ScatterternaryMarkerSymbol = "line-ns-open"
	ScatterternaryMarkerSymbol43                           ScatterternaryMarkerSymbol = "43"
	ScatterternaryMarkerSymbol_43                          ScatterternaryMarkerSymbol = "43"
	ScatterternaryMarkerSymbol_line_ne                     ScatterternaryMarkerSymbol = "line-ne"
	ScatterternaryMarkerSymbol143                          ScatterternaryMarkerSymbol = "143"
	ScatterternaryMarkerSymbol_143                         ScatterternaryMarkerSymbol = "143"
	ScatterternaryMarkerSymbol_line_ne_open                ScatterternaryMarkerSymbol = "line-ne-open"
	ScatterternaryMarkerSymbol44                           ScatterternaryMarkerSymbol = "44"
	ScatterternaryMarkerSymbol_44                          ScatterternaryMarkerSymbol = "44"
	ScatterternaryMarkerSymbol_line_nw                     ScatterternaryMarkerSymbol = "line-nw"
	ScatterternaryMarkerSymbol144                          ScatterternaryMarkerSymbol = "144"
	ScatterternaryMarkerSymbol_144                         ScatterternaryMarkerSymbol = "144"
	ScatterternaryMarkerSymbol_line_nw_open                ScatterternaryMarkerSymbol = "line-nw-open"
	ScatterternaryMarkerSymbol45                           ScatterternaryMarkerSymbol = "45"
	ScatterternaryMarkerSymbol_45                          ScatterternaryMarkerSymbol = "45"
	ScatterternaryMarkerSymbol_arrow_up                    ScatterternaryMarkerSymbol = "arrow-up"
	ScatterternaryMarkerSymbol145                          ScatterternaryMarkerSymbol = "145"
	ScatterternaryMarkerSymbol_145                         ScatterternaryMarkerSymbol = "145"
	ScatterternaryMarkerSymbol_arrow_up_open               ScatterternaryMarkerSymbol = "arrow-up-open"
	ScatterternaryMarkerSymbol46                           ScatterternaryMarkerSymbol = "46"
	ScatterternaryMarkerSymbol_46                          ScatterternaryMarkerSymbol = "46"
	ScatterternaryMarkerSymbol_arrow_down                  ScatterternaryMarkerSymbol = "arrow-down"
	ScatterternaryMarkerSymbol146                          ScatterternaryMarkerSymbol = "146"
	ScatterternaryMarkerSymbol_146                         ScatterternaryMarkerSymbol = "146"
	ScatterternaryMarkerSymbol_arrow_down_open             ScatterternaryMarkerSymbol = "arrow-down-open"
	ScatterternaryMarkerSymbol47                           ScatterternaryMarkerSymbol = "47"
	ScatterternaryMarkerSymbol_47                          ScatterternaryMarkerSymbol = "47"
	ScatterternaryMarkerSymbol_arrow_left                  ScatterternaryMarkerSymbol = "arrow-left"
	ScatterternaryMarkerSymbol147                          ScatterternaryMarkerSymbol = "147"
	ScatterternaryMarkerSymbol_147                         ScatterternaryMarkerSymbol = "147"
	ScatterternaryMarkerSymbol_arrow_left_open             ScatterternaryMarkerSymbol = "arrow-left-open"
	ScatterternaryMarkerSymbol48                           ScatterternaryMarkerSymbol = "48"
	ScatterternaryMarkerSymbol_48                          ScatterternaryMarkerSymbol = "48"
	ScatterternaryMarkerSymbol_arrow_right                 ScatterternaryMarkerSymbol = "arrow-right"
	ScatterternaryMarkerSymbol148                          ScatterternaryMarkerSymbol = "148"
	ScatterternaryMarkerSymbol_148                         ScatterternaryMarkerSymbol = "148"
	ScatterternaryMarkerSymbol_arrow_right_open            ScatterternaryMarkerSymbol = "arrow-right-open"
	ScatterternaryMarkerSymbol49                           ScatterternaryMarkerSymbol = "49"
	ScatterternaryMarkerSymbol_49                          ScatterternaryMarkerSymbol = "49"
	ScatterternaryMarkerSymbol_arrow_bar_up                ScatterternaryMarkerSymbol = "arrow-bar-up"
	ScatterternaryMarkerSymbol149                          ScatterternaryMarkerSymbol = "149"
	ScatterternaryMarkerSymbol_149                         ScatterternaryMarkerSymbol = "149"
	ScatterternaryMarkerSymbol_arrow_bar_up_open           ScatterternaryMarkerSymbol = "arrow-bar-up-open"
	ScatterternaryMarkerSymbol50                           ScatterternaryMarkerSymbol = "50"
	ScatterternaryMarkerSymbol_50                          ScatterternaryMarkerSymbol = "50"
	ScatterternaryMarkerSymbol_arrow_bar_down              ScatterternaryMarkerSymbol = "arrow-bar-down"
	ScatterternaryMarkerSymbol150                          ScatterternaryMarkerSymbol = "150"
	ScatterternaryMarkerSymbol_150                         ScatterternaryMarkerSymbol = "150"
	ScatterternaryMarkerSymbol_arrow_bar_down_open         ScatterternaryMarkerSymbol = "arrow-bar-down-open"
	ScatterternaryMarkerSymbol51                           ScatterternaryMarkerSymbol = "51"
	ScatterternaryMarkerSymbol_51                          ScatterternaryMarkerSymbol = "51"
	ScatterternaryMarkerSymbol_arrow_bar_left              ScatterternaryMarkerSymbol = "arrow-bar-left"
	ScatterternaryMarkerSymbol151                          ScatterternaryMarkerSymbol = "151"
	ScatterternaryMarkerSymbol_151                         ScatterternaryMarkerSymbol = "151"
	ScatterternaryMarkerSymbol_arrow_bar_left_open         ScatterternaryMarkerSymbol = "arrow-bar-left-open"
	ScatterternaryMarkerSymbol52                           ScatterternaryMarkerSymbol = "52"
	ScatterternaryMarkerSymbol_52                          ScatterternaryMarkerSymbol = "52"
	ScatterternaryMarkerSymbol_arrow_bar_right             ScatterternaryMarkerSymbol = "arrow-bar-right"
	ScatterternaryMarkerSymbol152                          ScatterternaryMarkerSymbol = "152"
	ScatterternaryMarkerSymbol_152                         ScatterternaryMarkerSymbol = "152"
	ScatterternaryMarkerSymbol_arrow_bar_right_open        ScatterternaryMarkerSymbol = "arrow-bar-right-open"
)

type ScatterternaryMode

type ScatterternaryMode string
const (
	// Flags
	ScatterternaryModeLines   ScatterternaryMode = "lines"
	ScatterternaryModeMarkers ScatterternaryMode = "markers"
	ScatterternaryModeText    ScatterternaryMode = "text"
	// Extras
	ScatterternaryModeNone ScatterternaryMode = "none"
)

type ScatterternarySelected

type ScatterternarySelected struct {

	// Marker <no value> <no value>
	Marker *ScatterternarySelectedMarker `json:"marker,omitempty"`

	// Textfont <no value> <no value>
	Textfont *ScatterternarySelectedTextfont `json:"textfont,omitempty"`
}

type ScatterternarySelectedMarker

type ScatterternarySelectedMarker struct {

	// Color color Sets the marker color of selected points.
	Color String `json:"color,omitempty"`

	// Opacity number Sets the marker opacity of selected points.
	Opacity float64 `json:"opacity,omitempty"`

	// Size number Sets the marker size of selected points.
	Size float64 `json:"size,omitempty"`
}

type ScatterternarySelectedTextfont

type ScatterternarySelectedTextfont struct {

	// Color color Sets the text font color of selected points.
	Color String `json:"color,omitempty"`
}

type ScatterternaryStream

type ScatterternaryStream struct {

	// Maxpoints 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 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"`
}

type ScatterternaryTextfont

type ScatterternaryTextfont struct {

	// Color color <no value>
	Color interface{} `json:"color,omitempty"`

	// Colorsrc string Sets the source reference on Chart Studio Cloud for  color .
	Colorsrc String `json:"colorsrc,omitempty"`

	// Family string HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.
	Family interface{} `json:"family,omitempty"`

	// Familysrc string Sets the source reference on Chart Studio Cloud for  family .
	Familysrc String `json:"familysrc,omitempty"`

	// Size number <no value>
	Size interface{} `json:"size,omitempty"`

	// Sizesrc string Sets the source reference on Chart Studio Cloud for  size .
	Sizesrc String `json:"sizesrc,omitempty"`
}

type ScatterternaryTextposition

type ScatterternaryTextposition string

ScatterternaryTextposition Sets the positions of the `text` elements with respects to the (x,y) coordinates.

const (
	ScatterternaryTextposition_topleft      ScatterternaryTextposition = "top left"
	ScatterternaryTextposition_topcenter    ScatterternaryTextposition = "top center"
	ScatterternaryTextposition_topright     ScatterternaryTextposition = "top right"
	ScatterternaryTextposition_middleleft   ScatterternaryTextposition = "middle left"
	ScatterternaryTextposition_middlecenter ScatterternaryTextposition = "middle center"
	ScatterternaryTextposition_middleright  ScatterternaryTextposition = "middle right"
	ScatterternaryTextposition_bottomleft   ScatterternaryTextposition = "bottom left"
	ScatterternaryTextposition_bottomcenter ScatterternaryTextposition = "bottom center"
	ScatterternaryTextposition_bottomright  ScatterternaryTextposition = "bottom right"
)

type ScatterternaryTransforms

type ScatterternaryTransforms interface{}

ScatterternaryTransforms It's an items array and what goes inside it's... messy... check the docs Here is a hint to help you to define your own type transform

description
editType
role

type ScatterternaryUnselected

type ScatterternaryUnselected struct {

	// Marker <no value> <no value>
	Marker *ScatterternaryUnselectedMarker `json:"marker,omitempty"`

	// Textfont <no value> <no value>
	Textfont *ScatterternaryUnselectedTextfont `json:"textfont,omitempty"`
}

type ScatterternaryUnselectedMarker

type ScatterternaryUnselectedMarker struct {

	// Color color Sets the marker color of unselected points, applied only when a selection exists.
	Color String `json:"color,omitempty"`

	// Opacity number Sets the marker opacity of unselected points, applied only when a selection exists.
	Opacity float64 `json:"opacity,omitempty"`

	// Size number Sets the marker size of unselected points, applied only when a selection exists.
	Size float64 `json:"size,omitempty"`
}

type ScatterternaryUnselectedTextfont

type ScatterternaryUnselectedTextfont struct {

	// Color color Sets the text font color of unselected points, applied only when a selection exists.
	Color String `json:"color,omitempty"`
}

type ScatterternaryVisible

type ScatterternaryVisible interface{}

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).

var (
	ScatterternaryVisible_True       ScatterternaryVisible = true
	ScatterternaryVisible_False      ScatterternaryVisible = false
	ScatterternaryVisible_legendonly ScatterternaryVisible = "legendonly"
)

type Splom

type Splom struct {

	// Type is the type of the plot
	Type TraceType `json:"type,omitempty"`

	// Customdata 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 string Sets the source reference on Chart Studio Cloud for  customdata .
	Customdatasrc String `json:"customdatasrc,omitempty"`

	// Diagonal <no value> <no value>
	Diagonal *SplomDiagonal `json:"diagonal,omitempty"`

	// Dimensions <no value> <no value>
	Dimensions SplomDimensions `json:"dimensions,omitempty"`

	// Hoverinfo 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 string Sets the source reference on Chart Studio Cloud for  hoverinfo .
	Hoverinfosrc String `json:"hoverinfosrc,omitempty"`

	// Hoverlabel <no value> <no value>
	Hoverlabel *SplomHoverlabel `json:"hoverlabel,omitempty"`

	// Hovertemplate 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 `<extra>` is displayed in the secondary box, for example "<extra>{fullData.name}</extra>". To hide the secondary box completely, use an empty tag `<extra></extra>`.
	Hovertemplate interface{} `json:"hovertemplate,omitempty"`

	// Hovertemplatesrc string Sets the source reference on Chart Studio Cloud for  hovertemplate .
	Hovertemplatesrc String `json:"hovertemplatesrc,omitempty"`

	// Hovertext string Same as `text`.
	Hovertext interface{} `json:"hovertext,omitempty"`

	// Hovertextsrc string Sets the source reference on Chart Studio Cloud for  hovertext .
	Hovertextsrc String `json:"hovertextsrc,omitempty"`

	// Ids 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 string Sets the source reference on Chart Studio Cloud for  ids .
	Idssrc String `json:"idssrc,omitempty"`

	// Legendgroup 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 <no value> <no value>
	Marker *SplomMarker `json:"marker,omitempty"`

	// Meta 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 string Sets the source reference on Chart Studio Cloud for  meta .
	Metasrc String `json:"metasrc,omitempty"`

	// Name string Sets the trace name. The trace name appear as the legend item and on hover.
	Name String `json:"name,omitempty"`

	// Opacity number Sets the opacity of the trace.
	Opacity float64 `json:"opacity,omitempty"`

	// Selected <no value> <no value>
	Selected *SplomSelected `json:"selected,omitempty"`

	// Selectedpoints 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 boolean Determines whether or not an item corresponding to this trace is shown in the legend.
	Showlegend Bool `json:"showlegend,omitempty"`

	// Showlowerhalf boolean Determines whether or not subplots on the lower half from the diagonal are displayed.
	Showlowerhalf Bool `json:"showlowerhalf,omitempty"`

	// Showupperhalf boolean Determines whether or not subplots on the upper half from the diagonal are displayed.
	Showupperhalf Bool `json:"showupperhalf,omitempty"`

	// Stream <no value> <no value>
	Stream *SplomStream `json:"stream,omitempty"`

	// Text 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 interface{} `json:"text,omitempty"`

	// Textsrc string Sets the source reference on Chart Studio Cloud for  text .
	Textsrc String `json:"textsrc,omitempty"`

	// Transforms <no value> <no value>
	Transforms SplomTransforms `json:"transforms,omitempty"`

	// Uid 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 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 <no value> <no value>
	Unselected *SplomUnselected `json:"unselected,omitempty"`

	// Visible 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 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"`

	// Yaxes 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"`
}

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.

func NewSplom

func NewSplom() *Splom

func (*Splom) GetType

func (this *Splom) GetType() TraceType

type SplomDiagonal

type SplomDiagonal struct {

	// Visible boolean Determines whether or not subplots on the diagonal are displayed.
	Visible Bool `json:"visible,omitempty"`
}

type SplomDimensions

type SplomDimensions interface{}

SplomDimensions It's an items array and what goes inside it's... messy... check the docs Here is a hint to help you to define your own type dimension

axis
editType
label
name
role
templateitemname
values
valuessrc
visible

type SplomHoverinfo

type SplomHoverinfo string
const (
	// Flags
	SplomHoverinfoX    SplomHoverinfo = "x"
	SplomHoverinfoY    SplomHoverinfo = "y"
	SplomHoverinfoZ    SplomHoverinfo = "z"
	SplomHoverinfoText SplomHoverinfo = "text"
	SplomHoverinfoName SplomHoverinfo = "name"
	// Extras
	SplomHoverinfoAll  SplomHoverinfo = "all"
	SplomHoverinfoNone SplomHoverinfo = "none"
	SplomHoverinfoSkip SplomHoverinfo = "skip"
)

type SplomHoverlabel

type SplomHoverlabel struct {

	// Align 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 string Sets the source reference on Chart Studio Cloud for  align .
	Alignsrc String `json:"alignsrc,omitempty"`

	// Bgcolor color Sets the background color of the hover labels for this trace
	Bgcolor interface{} `json:"bgcolor,omitempty"`

	// Bgcolorsrc string Sets the source reference on Chart Studio Cloud for  bgcolor .
	Bgcolorsrc String `json:"bgcolorsrc,omitempty"`

	// Bordercolor color Sets the border color of the hover labels for this trace.
	Bordercolor interface{} `json:"bordercolor,omitempty"`

	// Bordercolorsrc string Sets the source reference on Chart Studio Cloud for  bordercolor .
	Bordercolorsrc String `json:"bordercolorsrc,omitempty"`

	// Font <no value> Sets the font used in hover labels.
	Font *SplomHoverlabelFont `json:"font,omitempty"`

	// Namelength 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 interface{} `json:"namelength,omitempty"`

	// Namelengthsrc string Sets the source reference on Chart Studio Cloud for  namelength .
	Namelengthsrc String `json:"namelengthsrc,omitempty"`
}

type SplomHoverlabelAlign

type SplomHoverlabelAlign string

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

const (
	SplomHoverlabelAlign_left  SplomHoverlabelAlign = "left"
	SplomHoverlabelAlign_right SplomHoverlabelAlign = "right"
	SplomHoverlabelAlign_auto  SplomHoverlabelAlign = "auto"
)

type SplomHoverlabelFont

type SplomHoverlabelFont struct {

	// Color color <no value>
	Color interface{} `json:"color,omitempty"`

	// Colorsrc string Sets the source reference on Chart Studio Cloud for  color .
	Colorsrc String `json:"colorsrc,omitempty"`

	// Family string HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.
	Family interface{} `json:"family,omitempty"`

	// Familysrc string Sets the source reference on Chart Studio Cloud for  family .
	Familysrc String `json:"familysrc,omitempty"`

	// Size number <no value>
	Size interface{} `json:"size,omitempty"`

	// Sizesrc string Sets the source reference on Chart Studio Cloud for  size .
	Sizesrc String `json:"sizesrc,omitempty"`
}

type SplomMarker

type SplomMarker struct {

	// Autocolorscale 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 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 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 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 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 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.
	Color interface{} `json:"color,omitempty"`

	// Coloraxis 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 <no value> <no value>
	Colorbar *SplomMarkerColorbar `json:"colorbar,omitempty"`

	// Colorsrc string Sets the source reference on Chart Studio Cloud for  color .
	Colorsrc String `json:"colorsrc,omitempty"`

	// Line <no value> <no value>
	Line *SplomMarkerLine `json:"line,omitempty"`

	// Opacity number Sets the marker opacity.
	Opacity interface{} `json:"opacity,omitempty"`

	// Opacitysrc string Sets the source reference on Chart Studio Cloud for  opacity .
	Opacitysrc String `json:"opacitysrc,omitempty"`

	// Reversescale 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 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 number Sets the marker size (in px).
	Size interface{} `json:"size,omitempty"`

	// Sizemin 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 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 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 string Sets the source reference on Chart Studio Cloud for  size .
	Sizesrc String `json:"sizesrc,omitempty"`

	// Symbol 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 string Sets the source reference on Chart Studio Cloud for  symbol .
	Symbolsrc String `json:"symbolsrc,omitempty"`
}

type SplomMarkerColorbar

type SplomMarkerColorbar struct {

	// Bgcolor color Sets the color of padded area.
	Bgcolor String `json:"bgcolor,omitempty"`

	// Bordercolor color Sets the axis line color.
	Bordercolor String `json:"bordercolor,omitempty"`

	// Borderwidth number Sets the width (in px) or the border enclosing this color bar.
	Borderwidth float64 `json:"borderwidth,omitempty"`

	// Dtick 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<f>*, where `f` is a positive number, gives ticks linearly spaced in value (but not position). For example `tick0` = 0.1, `dtick` = *L0.5* will put ticks at 0.1, 0.6, 1.1, 1.6 etc. To show powers of 10 plus small digits between, use *D1* (all digits) or *D2* (only 2 and 5). `tick0` is ignored for *D1* and *D2*. If the axis `type` is *date*, then you must convert the time to milliseconds. For example, to set the interval between ticks to one day, set `dtick` to 86400000.0. *date* also has special values *M<n>* gives ticks spaced by a number of months. `n` must be a positive integer. To set ticks on the 15th of every third month, set `tick0` to *2000-01-15* and `dtick` to *M3*. To set ticks every 4 years, set `dtick` to *M48*
	Dtick interface{} `json:"dtick,omitempty"`

	// Exponentformat 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"`

	// Len 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 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 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 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"`

	// Outlinecolor color Sets the axis line color.
	Outlinecolor String `json:"outlinecolor,omitempty"`

	// Outlinewidth number Sets the width (in px) of the axis line.
	Outlinewidth float64 `json:"outlinewidth,omitempty"`

	// Separatethousands boolean If "true", even 4-digit integers are separated
	Separatethousands Bool `json:"separatethousands,omitempty"`

	// Showexponent 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 boolean Determines whether or not the tick labels are drawn.
	Showticklabels Bool `json:"showticklabels,omitempty"`

	// Showtickprefix 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 enumerated Same as `showtickprefix` but for tick suffixes.
	Showticksuffix SplomMarkerColorbarShowticksuffix `json:"showticksuffix,omitempty"`

	// Thickness 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 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 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<f>* (see `dtick` for more info). If the axis `type` is *date*, it should be a date string, like date data. If the axis `type` is *category*, it should be a number, using the scale where each category is assigned a serial number from zero in the order it appears.
	Tick0 interface{} `json:"tick0,omitempty"`

	// Tickangle 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 color Sets the tick color.
	Tickcolor String `json:"tickcolor,omitempty"`

	// Tickfont <no value> Sets the color bar's tick label font
	Tickfont *SplomMarkerColorbarTickfont `json:"tickfont,omitempty"`

	// Tickformat 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*
	Tickformat String `json:"tickformat,omitempty"`

	// Tickformatstops <no value> <no value>
	Tickformatstops SplomMarkerColorbarTickformatstops `json:"tickformatstops,omitempty"`

	// Ticklabelposition enumerated Determines where tick labels are drawn.
	Ticklabelposition SplomMarkerColorbarTicklabelposition `json:"ticklabelposition,omitempty"`

	// Ticklen number Sets the tick length (in px).
	Ticklen float64 `json:"ticklen,omitempty"`

	// Tickmode 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 string Sets a tick label prefix.
	Tickprefix String `json:"tickprefix,omitempty"`

	// Ticks 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 string Sets a tick label suffix.
	Ticksuffix String `json:"ticksuffix,omitempty"`

	// Ticktext 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 string Sets the source reference on Chart Studio Cloud for  ticktext .
	Ticktextsrc String `json:"ticktextsrc,omitempty"`

	// Tickvals 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 string Sets the source reference on Chart Studio Cloud for  tickvals .
	Tickvalssrc String `json:"tickvalssrc,omitempty"`

	// Tickwidth number Sets the tick width (in px).
	Tickwidth float64 `json:"tickwidth,omitempty"`

	// Title <no value> <no value>
	Title *SplomMarkerColorbarTitle `json:"title,omitempty"`

	// X number Sets the x position of the color bar (in plot fraction).
	X float64 `json:"x,omitempty"`

	// Xanchor 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.
	Xanchor SplomMarkerColorbarXanchor `json:"xanchor,omitempty"`

	// Xpad number Sets the amount of padding (in px) along the x direction.
	Xpad float64 `json:"xpad,omitempty"`

	// Y number Sets the y position of the color bar (in plot fraction).
	Y float64 `json:"y,omitempty"`

	// Yanchor 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.
	Yanchor SplomMarkerColorbarYanchor `json:"yanchor,omitempty"`

	// Ypad number Sets the amount of padding (in px) along the y direction.
	Ypad float64 `json:"ypad,omitempty"`
}

type SplomMarkerColorbarExponentformat

type SplomMarkerColorbarExponentformat string

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.

const (
	SplomMarkerColorbarExponentformat_none  SplomMarkerColorbarExponentformat = "none"
	SplomMarkerColorbarExponentformat_e     SplomMarkerColorbarExponentformat = "e"
	SplomMarkerColorbarExponentformat_E     SplomMarkerColorbarExponentformat = "E"
	SplomMarkerColorbarExponentformat_power SplomMarkerColorbarExponentformat = "power"
	SplomMarkerColorbarExponentformat_SI    SplomMarkerColorbarExponentformat = "SI"
	SplomMarkerColorbarExponentformat_B     SplomMarkerColorbarExponentformat = "B"
)

type SplomMarkerColorbarLenmode

type SplomMarkerColorbarLenmode string

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.

const (
	SplomMarkerColorbarLenmode_fraction SplomMarkerColorbarLenmode = "fraction"
	SplomMarkerColorbarLenmode_pixels   SplomMarkerColorbarLenmode = "pixels"
)

type SplomMarkerColorbarShowexponent

type SplomMarkerColorbarShowexponent string

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.

const (
	SplomMarkerColorbarShowexponent_all   SplomMarkerColorbarShowexponent = "all"
	SplomMarkerColorbarShowexponent_first SplomMarkerColorbarShowexponent = "first"
	SplomMarkerColorbarShowexponent_last  SplomMarkerColorbarShowexponent = "last"
	SplomMarkerColorbarShowexponent_none  SplomMarkerColorbarShowexponent = "none"
)

type SplomMarkerColorbarShowtickprefix

type SplomMarkerColorbarShowtickprefix string

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.

const (
	SplomMarkerColorbarShowtickprefix_all   SplomMarkerColorbarShowtickprefix = "all"
	SplomMarkerColorbarShowtickprefix_first SplomMarkerColorbarShowtickprefix = "first"
	SplomMarkerColorbarShowtickprefix_last  SplomMarkerColorbarShowtickprefix = "last"
	SplomMarkerColorbarShowtickprefix_none  SplomMarkerColorbarShowtickprefix = "none"
)

type SplomMarkerColorbarShowticksuffix

type SplomMarkerColorbarShowticksuffix string

SplomMarkerColorbarShowticksuffix Same as `showtickprefix` but for tick suffixes.

const (
	SplomMarkerColorbarShowticksuffix_all   SplomMarkerColorbarShowticksuffix = "all"
	SplomMarkerColorbarShowticksuffix_first SplomMarkerColorbarShowticksuffix = "first"
	SplomMarkerColorbarShowticksuffix_last  SplomMarkerColorbarShowticksuffix = "last"
	SplomMarkerColorbarShowticksuffix_none  SplomMarkerColorbarShowticksuffix = "none"
)

type SplomMarkerColorbarThicknessmode

type SplomMarkerColorbarThicknessmode string

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.

const (
	SplomMarkerColorbarThicknessmode_fraction SplomMarkerColorbarThicknessmode = "fraction"
	SplomMarkerColorbarThicknessmode_pixels   SplomMarkerColorbarThicknessmode = "pixels"
)

type SplomMarkerColorbarTickfont

type SplomMarkerColorbarTickfont struct {

	// Color color <no value>
	Color String `json:"color,omitempty"`

	// Family string HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.
	Family String `json:"family,omitempty"`

	// Size number <no value>
	Size float64 `json:"size,omitempty"`
}

type SplomMarkerColorbarTickformatstops

type SplomMarkerColorbarTickformatstops interface{}

SplomMarkerColorbarTickformatstops It's an items array and what goes inside it's... messy... check the docs Here is a hint to help you to define your own type tickformatstop

dtickrange
editType
enabled
name
role
templateitemname
value

type SplomMarkerColorbarTicklabelposition

type SplomMarkerColorbarTicklabelposition string

SplomMarkerColorbarTicklabelposition Determines where tick labels are drawn.

const (
	SplomMarkerColorbarTicklabelposition_outside       SplomMarkerColorbarTicklabelposition = "outside"
	SplomMarkerColorbarTicklabelposition_inside        SplomMarkerColorbarTicklabelposition = "inside"
	SplomMarkerColorbarTicklabelposition_outsidetop    SplomMarkerColorbarTicklabelposition = "outside top"
	SplomMarkerColorbarTicklabelposition_insidetop     SplomMarkerColorbarTicklabelposition = "inside top"
	SplomMarkerColorbarTicklabelposition_outsidebottom SplomMarkerColorbarTicklabelposition = "outside bottom"
	SplomMarkerColorbarTicklabelposition_insidebottom  SplomMarkerColorbarTicklabelposition = "inside bottom"
)

type SplomMarkerColorbarTickmode

type SplomMarkerColorbarTickmode string

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).

const (
	SplomMarkerColorbarTickmode_auto   SplomMarkerColorbarTickmode = "auto"
	SplomMarkerColorbarTickmode_linear SplomMarkerColorbarTickmode = "linear"
	SplomMarkerColorbarTickmode_array  SplomMarkerColorbarTickmode = "array"
)

type SplomMarkerColorbarTicks

type SplomMarkerColorbarTicks string

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.

const (
	SplomMarkerColorbarTicks_outside SplomMarkerColorbarTicks = "outside"
	SplomMarkerColorbarTicks_inside  SplomMarkerColorbarTicks = "inside"
)

type SplomMarkerColorbarTitle

type SplomMarkerColorbarTitle struct {

	// Font <no value> Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.
	Font *SplomMarkerColorbarTitleFont `json:"font,omitempty"`

	// Side 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.
	Side SplomMarkerColorbarTitleSide `json:"side,omitempty"`

	// Text 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"`
}

type SplomMarkerColorbarTitleFont

type SplomMarkerColorbarTitleFont struct {

	// Color color <no value>
	Color String `json:"color,omitempty"`

	// Family string HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.
	Family String `json:"family,omitempty"`

	// Size number <no value>
	Size float64 `json:"size,omitempty"`
}

type SplomMarkerColorbarTitleSide

type SplomMarkerColorbarTitleSide string

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.

const (
	SplomMarkerColorbarTitleSide_right  SplomMarkerColorbarTitleSide = "right"
	SplomMarkerColorbarTitleSide_top    SplomMarkerColorbarTitleSide = "top"
	SplomMarkerColorbarTitleSide_bottom SplomMarkerColorbarTitleSide = "bottom"
)

type SplomMarkerColorbarXanchor

type SplomMarkerColorbarXanchor string

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.

const (
	SplomMarkerColorbarXanchor_left   SplomMarkerColorbarXanchor = "left"
	SplomMarkerColorbarXanchor_center SplomMarkerColorbarXanchor = "center"
	SplomMarkerColorbarXanchor_right  SplomMarkerColorbarXanchor = "right"
)

type SplomMarkerColorbarYanchor

type SplomMarkerColorbarYanchor string

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.

const (
	SplomMarkerColorbarYanchor_top    SplomMarkerColorbarYanchor = "top"
	SplomMarkerColorbarYanchor_middle SplomMarkerColorbarYanchor = "middle"
	SplomMarkerColorbarYanchor_bottom SplomMarkerColorbarYanchor = "bottom"
)

type SplomMarkerLine

type SplomMarkerLine struct {

	// Autocolorscale 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 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 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 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 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 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.
	Color interface{} `json:"color,omitempty"`

	// Coloraxis 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"`

	// Colorsrc string Sets the source reference on Chart Studio Cloud for  color .
	Colorsrc String `json:"colorsrc,omitempty"`

	// Reversescale 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 number Sets the width (in px) of the lines bounding the marker points.
	Width interface{} `json:"width,omitempty"`

	// Widthsrc string Sets the source reference on Chart Studio Cloud for  width .
	Widthsrc String `json:"widthsrc,omitempty"`
}

type SplomMarkerSizemode

type SplomMarkerSizemode string

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.

const (
	SplomMarkerSizemode_diameter SplomMarkerSizemode = "diameter"
	SplomMarkerSizemode_area     SplomMarkerSizemode = "area"
)

type SplomMarkerSymbol

type SplomMarkerSymbol string

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.

const (
	SplomMarkerSymbol0                            SplomMarkerSymbol = "0"
	SplomMarkerSymbol_0                           SplomMarkerSymbol = "0"
	SplomMarkerSymbol_circle                      SplomMarkerSymbol = "circle"
	SplomMarkerSymbol100                          SplomMarkerSymbol = "100"
	SplomMarkerSymbol_100                         SplomMarkerSymbol = "100"
	SplomMarkerSymbol_circle_open                 SplomMarkerSymbol = "circle-open"
	SplomMarkerSymbol200                          SplomMarkerSymbol = "200"
	SplomMarkerSymbol_200                         SplomMarkerSymbol = "200"
	SplomMarkerSymbol_circle_dot                  SplomMarkerSymbol = "circle-dot"
	SplomMarkerSymbol300                          SplomMarkerSymbol = "300"
	SplomMarkerSymbol_300                         SplomMarkerSymbol = "300"
	SplomMarkerSymbol_circle_open_dot             SplomMarkerSymbol = "circle-open-dot"
	SplomMarkerSymbol1                            SplomMarkerSymbol = "1"
	SplomMarkerSymbol_1                           SplomMarkerSymbol = "1"
	SplomMarkerSymbol_square                      SplomMarkerSymbol = "square"
	SplomMarkerSymbol101                          SplomMarkerSymbol = "101"
	SplomMarkerSymbol_101                         SplomMarkerSymbol = "101"
	SplomMarkerSymbol_square_open                 SplomMarkerSymbol = "square-open"
	SplomMarkerSymbol201                          SplomMarkerSymbol = "201"
	SplomMarkerSymbol_201                         SplomMarkerSymbol = "201"
	SplomMarkerSymbol_square_dot                  SplomMarkerSymbol = "square-dot"
	SplomMarkerSymbol301                          SplomMarkerSymbol = "301"
	SplomMarkerSymbol_301                         SplomMarkerSymbol = "301"
	SplomMarkerSymbol_square_open_dot             SplomMarkerSymbol = "square-open-dot"
	SplomMarkerSymbol2                            SplomMarkerSymbol = "2"
	SplomMarkerSymbol_2                           SplomMarkerSymbol = "2"
	SplomMarkerSymbol_diamond                     SplomMarkerSymbol = "diamond"
	SplomMarkerSymbol102                          SplomMarkerSymbol = "102"
	SplomMarkerSymbol_102                         SplomMarkerSymbol = "102"
	SplomMarkerSymbol_diamond_open                SplomMarkerSymbol = "diamond-open"
	SplomMarkerSymbol202                          SplomMarkerSymbol = "202"
	SplomMarkerSymbol_202                         SplomMarkerSymbol = "202"
	SplomMarkerSymbol_diamond_dot                 SplomMarkerSymbol = "diamond-dot"
	SplomMarkerSymbol302                          SplomMarkerSymbol = "302"
	SplomMarkerSymbol_302                         SplomMarkerSymbol = "302"
	SplomMarkerSymbol_diamond_open_dot            SplomMarkerSymbol = "diamond-open-dot"
	SplomMarkerSymbol3                            SplomMarkerSymbol = "3"
	SplomMarkerSymbol_3                           SplomMarkerSymbol = "3"
	SplomMarkerSymbol_cross                       SplomMarkerSymbol = "cross"
	SplomMarkerSymbol103                          SplomMarkerSymbol = "103"
	SplomMarkerSymbol_103                         SplomMarkerSymbol = "103"
	SplomMarkerSymbol_cross_open                  SplomMarkerSymbol = "cross-open"
	SplomMarkerSymbol203                          SplomMarkerSymbol = "203"
	SplomMarkerSymbol_203                         SplomMarkerSymbol = "203"
	SplomMarkerSymbol_cross_dot                   SplomMarkerSymbol = "cross-dot"
	SplomMarkerSymbol303                          SplomMarkerSymbol = "303"
	SplomMarkerSymbol_303                         SplomMarkerSymbol = "303"
	SplomMarkerSymbol_cross_open_dot              SplomMarkerSymbol = "cross-open-dot"
	SplomMarkerSymbol4                            SplomMarkerSymbol = "4"
	SplomMarkerSymbol_4                           SplomMarkerSymbol = "4"
	SplomMarkerSymbol_x                           SplomMarkerSymbol = "x"
	SplomMarkerSymbol104                          SplomMarkerSymbol = "104"
	SplomMarkerSymbol_104                         SplomMarkerSymbol = "104"
	SplomMarkerSymbol_x_open                      SplomMarkerSymbol = "x-open"
	SplomMarkerSymbol204                          SplomMarkerSymbol = "204"
	SplomMarkerSymbol_204                         SplomMarkerSymbol = "204"
	SplomMarkerSymbol_x_dot                       SplomMarkerSymbol = "x-dot"
	SplomMarkerSymbol304                          SplomMarkerSymbol = "304"
	SplomMarkerSymbol_304                         SplomMarkerSymbol = "304"
	SplomMarkerSymbol_x_open_dot                  SplomMarkerSymbol = "x-open-dot"
	SplomMarkerSymbol5                            SplomMarkerSymbol = "5"
	SplomMarkerSymbol_5                           SplomMarkerSymbol = "5"
	SplomMarkerSymbol_triangle_up                 SplomMarkerSymbol = "triangle-up"
	SplomMarkerSymbol105                          SplomMarkerSymbol = "105"
	SplomMarkerSymbol_105                         SplomMarkerSymbol = "105"
	SplomMarkerSymbol_triangle_up_open            SplomMarkerSymbol = "triangle-up-open"
	SplomMarkerSymbol205                          SplomMarkerSymbol = "205"
	SplomMarkerSymbol_205                         SplomMarkerSymbol = "205"
	SplomMarkerSymbol_triangle_up_dot             SplomMarkerSymbol = "triangle-up-dot"
	SplomMarkerSymbol305                          SplomMarkerSymbol = "305"
	SplomMarkerSymbol_305                         SplomMarkerSymbol = "305"
	SplomMarkerSymbol_triangle_up_open_dot        SplomMarkerSymbol = "triangle-up-open-dot"
	SplomMarkerSymbol6                            SplomMarkerSymbol = "6"
	SplomMarkerSymbol_6                           SplomMarkerSymbol = "6"
	SplomMarkerSymbol_triangle_down               SplomMarkerSymbol = "triangle-down"
	SplomMarkerSymbol106                          SplomMarkerSymbol = "106"
	SplomMarkerSymbol_106                         SplomMarkerSymbol = "106"
	SplomMarkerSymbol_triangle_down_open          SplomMarkerSymbol = "triangle-down-open"
	SplomMarkerSymbol206                          SplomMarkerSymbol = "206"
	SplomMarkerSymbol_206                         SplomMarkerSymbol = "206"
	SplomMarkerSymbol_triangle_down_dot           SplomMarkerSymbol = "triangle-down-dot"
	SplomMarkerSymbol306                          SplomMarkerSymbol = "306"
	SplomMarkerSymbol_306                         SplomMarkerSymbol = "306"
	SplomMarkerSymbol_triangle_down_open_dot      SplomMarkerSymbol = "triangle-down-open-dot"
	SplomMarkerSymbol7                            SplomMarkerSymbol = "7"
	SplomMarkerSymbol_7                           SplomMarkerSymbol = "7"
	SplomMarkerSymbol_triangle_left               SplomMarkerSymbol = "triangle-left"
	SplomMarkerSymbol107                          SplomMarkerSymbol = "107"
	SplomMarkerSymbol_107                         SplomMarkerSymbol = "107"
	SplomMarkerSymbol_triangle_left_open          SplomMarkerSymbol = "triangle-left-open"
	SplomMarkerSymbol207                          SplomMarkerSymbol = "207"
	SplomMarkerSymbol_207                         SplomMarkerSymbol = "207"
	SplomMarkerSymbol_triangle_left_dot           SplomMarkerSymbol = "triangle-left-dot"
	SplomMarkerSymbol307                          SplomMarkerSymbol = "307"
	SplomMarkerSymbol_307                         SplomMarkerSymbol = "307"
	SplomMarkerSymbol_triangle_left_open_dot      SplomMarkerSymbol = "triangle-left-open-dot"
	SplomMarkerSymbol8                            SplomMarkerSymbol = "8"
	SplomMarkerSymbol_8                           SplomMarkerSymbol = "8"
	SplomMarkerSymbol_triangle_right              SplomMarkerSymbol = "triangle-right"
	SplomMarkerSymbol108                          SplomMarkerSymbol = "108"
	SplomMarkerSymbol_108                         SplomMarkerSymbol = "108"
	SplomMarkerSymbol_triangle_right_open         SplomMarkerSymbol = "triangle-right-open"
	SplomMarkerSymbol208                          SplomMarkerSymbol = "208"
	SplomMarkerSymbol_208                         SplomMarkerSymbol = "208"
	SplomMarkerSymbol_triangle_right_dot          SplomMarkerSymbol = "triangle-right-dot"
	SplomMarkerSymbol308                          SplomMarkerSymbol = "308"
	SplomMarkerSymbol_308                         SplomMarkerSymbol = "308"
	SplomMarkerSymbol_triangle_right_open_dot     SplomMarkerSymbol = "triangle-right-open-dot"
	SplomMarkerSymbol9                            SplomMarkerSymbol = "9"
	SplomMarkerSymbol_9                           SplomMarkerSymbol = "9"
	SplomMarkerSymbol_triangle_ne                 SplomMarkerSymbol = "triangle-ne"
	SplomMarkerSymbol109                          SplomMarkerSymbol = "109"
	SplomMarkerSymbol_109                         SplomMarkerSymbol = "109"
	SplomMarkerSymbol_triangle_ne_open            SplomMarkerSymbol = "triangle-ne-open"
	SplomMarkerSymbol209                          SplomMarkerSymbol = "209"
	SplomMarkerSymbol_209                         SplomMarkerSymbol = "209"
	SplomMarkerSymbol_triangle_ne_dot             SplomMarkerSymbol = "triangle-ne-dot"
	SplomMarkerSymbol309                          SplomMarkerSymbol = "309"
	SplomMarkerSymbol_309                         SplomMarkerSymbol = "309"
	SplomMarkerSymbol_triangle_ne_open_dot        SplomMarkerSymbol = "triangle-ne-open-dot"
	SplomMarkerSymbol10                           SplomMarkerSymbol = "10"
	SplomMarkerSymbol_10                          SplomMarkerSymbol = "10"
	SplomMarkerSymbol_triangle_se                 SplomMarkerSymbol = "triangle-se"
	SplomMarkerSymbol110                          SplomMarkerSymbol = "110"
	SplomMarkerSymbol_110                         SplomMarkerSymbol = "110"
	SplomMarkerSymbol_triangle_se_open            SplomMarkerSymbol = "triangle-se-open"
	SplomMarkerSymbol210                          SplomMarkerSymbol = "210"
	SplomMarkerSymbol_210                         SplomMarkerSymbol = "210"
	SplomMarkerSymbol_triangle_se_dot             SplomMarkerSymbol = "triangle-se-dot"
	SplomMarkerSymbol310                          SplomMarkerSymbol = "310"
	SplomMarkerSymbol_310                         SplomMarkerSymbol = "310"
	SplomMarkerSymbol_triangle_se_open_dot        SplomMarkerSymbol = "triangle-se-open-dot"
	SplomMarkerSymbol11                           SplomMarkerSymbol = "11"
	SplomMarkerSymbol_11                          SplomMarkerSymbol = "11"
	SplomMarkerSymbol_triangle_sw                 SplomMarkerSymbol = "triangle-sw"
	SplomMarkerSymbol111                          SplomMarkerSymbol = "111"
	SplomMarkerSymbol_111                         SplomMarkerSymbol = "111"
	SplomMarkerSymbol_triangle_sw_open            SplomMarkerSymbol = "triangle-sw-open"
	SplomMarkerSymbol211                          SplomMarkerSymbol = "211"
	SplomMarkerSymbol_211                         SplomMarkerSymbol = "211"
	SplomMarkerSymbol_triangle_sw_dot             SplomMarkerSymbol = "triangle-sw-dot"
	SplomMarkerSymbol311                          SplomMarkerSymbol = "311"
	SplomMarkerSymbol_311                         SplomMarkerSymbol = "311"
	SplomMarkerSymbol_triangle_sw_open_dot        SplomMarkerSymbol = "triangle-sw-open-dot"
	SplomMarkerSymbol12                           SplomMarkerSymbol = "12"
	SplomMarkerSymbol_12                          SplomMarkerSymbol = "12"
	SplomMarkerSymbol_triangle_nw                 SplomMarkerSymbol = "triangle-nw"
	SplomMarkerSymbol112                          SplomMarkerSymbol = "112"
	SplomMarkerSymbol_112                         SplomMarkerSymbol = "112"
	SplomMarkerSymbol_triangle_nw_open            SplomMarkerSymbol = "triangle-nw-open"
	SplomMarkerSymbol212                          SplomMarkerSymbol = "212"
	SplomMarkerSymbol_212                         SplomMarkerSymbol = "212"
	SplomMarkerSymbol_triangle_nw_dot             SplomMarkerSymbol = "triangle-nw-dot"
	SplomMarkerSymbol312                          SplomMarkerSymbol = "312"
	SplomMarkerSymbol_312                         SplomMarkerSymbol = "312"
	SplomMarkerSymbol_triangle_nw_open_dot        SplomMarkerSymbol = "triangle-nw-open-dot"
	SplomMarkerSymbol13                           SplomMarkerSymbol = "13"
	SplomMarkerSymbol_13                          SplomMarkerSymbol = "13"
	SplomMarkerSymbol_pentagon                    SplomMarkerSymbol = "pentagon"
	SplomMarkerSymbol113                          SplomMarkerSymbol = "113"
	SplomMarkerSymbol_113                         SplomMarkerSymbol = "113"
	SplomMarkerSymbol_pentagon_open               SplomMarkerSymbol = "pentagon-open"
	SplomMarkerSymbol213                          SplomMarkerSymbol = "213"
	SplomMarkerSymbol_213                         SplomMarkerSymbol = "213"
	SplomMarkerSymbol_pentagon_dot                SplomMarkerSymbol = "pentagon-dot"
	SplomMarkerSymbol313                          SplomMarkerSymbol = "313"
	SplomMarkerSymbol_313                         SplomMarkerSymbol = "313"
	SplomMarkerSymbol_pentagon_open_dot           SplomMarkerSymbol = "pentagon-open-dot"
	SplomMarkerSymbol14                           SplomMarkerSymbol = "14"
	SplomMarkerSymbol_14                          SplomMarkerSymbol = "14"
	SplomMarkerSymbol_hexagon                     SplomMarkerSymbol = "hexagon"
	SplomMarkerSymbol114                          SplomMarkerSymbol = "114"
	SplomMarkerSymbol_114                         SplomMarkerSymbol = "114"
	SplomMarkerSymbol_hexagon_open                SplomMarkerSymbol = "hexagon-open"
	SplomMarkerSymbol214                          SplomMarkerSymbol = "214"
	SplomMarkerSymbol_214                         SplomMarkerSymbol = "214"
	SplomMarkerSymbol_hexagon_dot                 SplomMarkerSymbol = "hexagon-dot"
	SplomMarkerSymbol314                          SplomMarkerSymbol = "314"
	SplomMarkerSymbol_314                         SplomMarkerSymbol = "314"
	SplomMarkerSymbol_hexagon_open_dot            SplomMarkerSymbol = "hexagon-open-dot"
	SplomMarkerSymbol15                           SplomMarkerSymbol = "15"
	SplomMarkerSymbol_15                          SplomMarkerSymbol = "15"
	SplomMarkerSymbol_hexagon2                    SplomMarkerSymbol = "hexagon2"
	SplomMarkerSymbol115                          SplomMarkerSymbol = "115"
	SplomMarkerSymbol_115                         SplomMarkerSymbol = "115"
	SplomMarkerSymbol_hexagon2_open               SplomMarkerSymbol = "hexagon2-open"
	SplomMarkerSymbol215                          SplomMarkerSymbol = "215"
	SplomMarkerSymbol_215                         SplomMarkerSymbol = "215"
	SplomMarkerSymbol_hexagon2_dot                SplomMarkerSymbol = "hexagon2-dot"
	SplomMarkerSymbol315                          SplomMarkerSymbol = "315"
	SplomMarkerSymbol_315                         SplomMarkerSymbol = "315"
	SplomMarkerSymbol_hexagon2_open_dot           SplomMarkerSymbol = "hexagon2-open-dot"
	SplomMarkerSymbol16                           SplomMarkerSymbol = "16"
	SplomMarkerSymbol_16                          SplomMarkerSymbol = "16"
	SplomMarkerSymbol_octagon                     SplomMarkerSymbol = "octagon"
	SplomMarkerSymbol116                          SplomMarkerSymbol = "116"
	SplomMarkerSymbol_116                         SplomMarkerSymbol = "116"
	SplomMarkerSymbol_octagon_open                SplomMarkerSymbol = "octagon-open"
	SplomMarkerSymbol216                          SplomMarkerSymbol = "216"
	SplomMarkerSymbol_216                         SplomMarkerSymbol = "216"
	SplomMarkerSymbol_octagon_dot                 SplomMarkerSymbol = "octagon-dot"
	SplomMarkerSymbol316                          SplomMarkerSymbol = "316"
	SplomMarkerSymbol_316                         SplomMarkerSymbol = "316"
	SplomMarkerSymbol_octagon_open_dot            SplomMarkerSymbol = "octagon-open-dot"
	SplomMarkerSymbol17                           SplomMarkerSymbol = "17"
	SplomMarkerSymbol_17                          SplomMarkerSymbol = "17"
	SplomMarkerSymbol_star                        SplomMarkerSymbol = "star"
	SplomMarkerSymbol117                          SplomMarkerSymbol = "117"
	SplomMarkerSymbol_117                         SplomMarkerSymbol = "117"
	SplomMarkerSymbol_star_open                   SplomMarkerSymbol = "star-open"
	SplomMarkerSymbol217                          SplomMarkerSymbol = "217"
	SplomMarkerSymbol_217                         SplomMarkerSymbol = "217"
	SplomMarkerSymbol_star_dot                    SplomMarkerSymbol = "star-dot"
	SplomMarkerSymbol317                          SplomMarkerSymbol = "317"
	SplomMarkerSymbol_317                         SplomMarkerSymbol = "317"
	SplomMarkerSymbol_star_open_dot               SplomMarkerSymbol = "star-open-dot"
	SplomMarkerSymbol18                           SplomMarkerSymbol = "18"
	SplomMarkerSymbol_18                          SplomMarkerSymbol = "18"
	SplomMarkerSymbol_hexagram                    SplomMarkerSymbol = "hexagram"
	SplomMarkerSymbol118                          SplomMarkerSymbol = "118"
	SplomMarkerSymbol_118                         SplomMarkerSymbol = "118"
	SplomMarkerSymbol_hexagram_open               SplomMarkerSymbol = "hexagram-open"
	SplomMarkerSymbol218                          SplomMarkerSymbol = "218"
	SplomMarkerSymbol_218                         SplomMarkerSymbol = "218"
	SplomMarkerSymbol_hexagram_dot                SplomMarkerSymbol = "hexagram-dot"
	SplomMarkerSymbol318                          SplomMarkerSymbol = "318"
	SplomMarkerSymbol_318                         SplomMarkerSymbol = "318"
	SplomMarkerSymbol_hexagram_open_dot           SplomMarkerSymbol = "hexagram-open-dot"
	SplomMarkerSymbol19                           SplomMarkerSymbol = "19"
	SplomMarkerSymbol_19                          SplomMarkerSymbol = "19"
	SplomMarkerSymbol_star_triangle_up            SplomMarkerSymbol = "star-triangle-up"
	SplomMarkerSymbol119                          SplomMarkerSymbol = "119"
	SplomMarkerSymbol_119                         SplomMarkerSymbol = "119"
	SplomMarkerSymbol_star_triangle_up_open       SplomMarkerSymbol = "star-triangle-up-open"
	SplomMarkerSymbol219                          SplomMarkerSymbol = "219"
	SplomMarkerSymbol_219                         SplomMarkerSymbol = "219"
	SplomMarkerSymbol_star_triangle_up_dot        SplomMarkerSymbol = "star-triangle-up-dot"
	SplomMarkerSymbol319                          SplomMarkerSymbol = "319"
	SplomMarkerSymbol_319                         SplomMarkerSymbol = "319"
	SplomMarkerSymbol_star_triangle_up_open_dot   SplomMarkerSymbol = "star-triangle-up-open-dot"
	SplomMarkerSymbol20                           SplomMarkerSymbol = "20"
	SplomMarkerSymbol_20                          SplomMarkerSymbol = "20"
	SplomMarkerSymbol_star_triangle_down          SplomMarkerSymbol = "star-triangle-down"
	SplomMarkerSymbol120                          SplomMarkerSymbol = "120"
	SplomMarkerSymbol_120                         SplomMarkerSymbol = "120"
	SplomMarkerSymbol_star_triangle_down_open     SplomMarkerSymbol = "star-triangle-down-open"
	SplomMarkerSymbol220                          SplomMarkerSymbol = "220"
	SplomMarkerSymbol_220                         SplomMarkerSymbol = "220"
	SplomMarkerSymbol_star_triangle_down_dot      SplomMarkerSymbol = "star-triangle-down-dot"
	SplomMarkerSymbol320                          SplomMarkerSymbol = "320"
	SplomMarkerSymbol_320                         SplomMarkerSymbol = "320"
	SplomMarkerSymbol_star_triangle_down_open_dot SplomMarkerSymbol = "star-triangle-down-open-dot"
	SplomMarkerSymbol21                           SplomMarkerSymbol = "21"
	SplomMarkerSymbol_21                          SplomMarkerSymbol = "21"
	SplomMarkerSymbol_star_square                 SplomMarkerSymbol = "star-square"
	SplomMarkerSymbol121                          SplomMarkerSymbol = "121"
	SplomMarkerSymbol_121                         SplomMarkerSymbol = "121"
	SplomMarkerSymbol_star_square_open            SplomMarkerSymbol = "star-square-open"
	SplomMarkerSymbol221                          SplomMarkerSymbol = "221"
	SplomMarkerSymbol_221                         SplomMarkerSymbol = "221"
	SplomMarkerSymbol_star_square_dot             SplomMarkerSymbol = "star-square-dot"
	SplomMarkerSymbol321                          SplomMarkerSymbol = "321"
	SplomMarkerSymbol_321                         SplomMarkerSymbol = "321"
	SplomMarkerSymbol_star_square_open_dot        SplomMarkerSymbol = "star-square-open-dot"
	SplomMarkerSymbol22                           SplomMarkerSymbol = "22"
	SplomMarkerSymbol_22                          SplomMarkerSymbol = "22"
	SplomMarkerSymbol_star_diamond                SplomMarkerSymbol = "star-diamond"
	SplomMarkerSymbol122                          SplomMarkerSymbol = "122"
	SplomMarkerSymbol_122                         SplomMarkerSymbol = "122"
	SplomMarkerSymbol_star_diamond_open           SplomMarkerSymbol = "star-diamond-open"
	SplomMarkerSymbol222                          SplomMarkerSymbol = "222"
	SplomMarkerSymbol_222                         SplomMarkerSymbol = "222"
	SplomMarkerSymbol_star_diamond_dot            SplomMarkerSymbol = "star-diamond-dot"
	SplomMarkerSymbol322                          SplomMarkerSymbol = "322"
	SplomMarkerSymbol_322                         SplomMarkerSymbol = "322"
	SplomMarkerSymbol_star_diamond_open_dot       SplomMarkerSymbol = "star-diamond-open-dot"
	SplomMarkerSymbol23                           SplomMarkerSymbol = "23"
	SplomMarkerSymbol_23                          SplomMarkerSymbol = "23"
	SplomMarkerSymbol_diamond_tall                SplomMarkerSymbol = "diamond-tall"
	SplomMarkerSymbol123                          SplomMarkerSymbol = "123"
	SplomMarkerSymbol_123                         SplomMarkerSymbol = "123"
	SplomMarkerSymbol_diamond_tall_open           SplomMarkerSymbol = "diamond-tall-open"
	SplomMarkerSymbol223                          SplomMarkerSymbol = "223"
	SplomMarkerSymbol_223                         SplomMarkerSymbol = "223"
	SplomMarkerSymbol_diamond_tall_dot            SplomMarkerSymbol = "diamond-tall-dot"
	SplomMarkerSymbol323                          SplomMarkerSymbol = "323"
	SplomMarkerSymbol_323                         SplomMarkerSymbol = "323"
	SplomMarkerSymbol_diamond_tall_open_dot       SplomMarkerSymbol = "diamond-tall-open-dot"
	SplomMarkerSymbol24                           SplomMarkerSymbol = "24"
	SplomMarkerSymbol_24                          SplomMarkerSymbol = "24"
	SplomMarkerSymbol_diamond_wide                SplomMarkerSymbol = "diamond-wide"
	SplomMarkerSymbol124                          SplomMarkerSymbol = "124"
	SplomMarkerSymbol_124                         SplomMarkerSymbol = "124"
	SplomMarkerSymbol_diamond_wide_open           SplomMarkerSymbol = "diamond-wide-open"
	SplomMarkerSymbol224                          SplomMarkerSymbol = "224"
	SplomMarkerSymbol_224                         SplomMarkerSymbol = "224"
	SplomMarkerSymbol_diamond_wide_dot            SplomMarkerSymbol = "diamond-wide-dot"
	SplomMarkerSymbol324                          SplomMarkerSymbol = "324"
	SplomMarkerSymbol_324                         SplomMarkerSymbol = "324"
	SplomMarkerSymbol_diamond_wide_open_dot       SplomMarkerSymbol = "diamond-wide-open-dot"
	SplomMarkerSymbol25                           SplomMarkerSymbol = "25"
	SplomMarkerSymbol_25                          SplomMarkerSymbol = "25"
	SplomMarkerSymbol_hourglass                   SplomMarkerSymbol = "hourglass"
	SplomMarkerSymbol125                          SplomMarkerSymbol = "125"
	SplomMarkerSymbol_125                         SplomMarkerSymbol = "125"
	SplomMarkerSymbol_hourglass_open              SplomMarkerSymbol = "hourglass-open"
	SplomMarkerSymbol26                           SplomMarkerSymbol = "26"
	SplomMarkerSymbol_26                          SplomMarkerSymbol = "26"
	SplomMarkerSymbol_bowtie                      SplomMarkerSymbol = "bowtie"
	SplomMarkerSymbol126                          SplomMarkerSymbol = "126"
	SplomMarkerSymbol_126                         SplomMarkerSymbol = "126"
	SplomMarkerSymbol_bowtie_open                 SplomMarkerSymbol = "bowtie-open"
	SplomMarkerSymbol27                           SplomMarkerSymbol = "27"
	SplomMarkerSymbol_27                          SplomMarkerSymbol = "27"
	SplomMarkerSymbol_circle_cross                SplomMarkerSymbol = "circle-cross"
	SplomMarkerSymbol127                          SplomMarkerSymbol = "127"
	SplomMarkerSymbol_127                         SplomMarkerSymbol = "127"
	SplomMarkerSymbol_circle_cross_open           SplomMarkerSymbol = "circle-cross-open"
	SplomMarkerSymbol28                           SplomMarkerSymbol = "28"
	SplomMarkerSymbol_28                          SplomMarkerSymbol = "28"
	SplomMarkerSymbol_circle_x                    SplomMarkerSymbol = "circle-x"
	SplomMarkerSymbol128                          SplomMarkerSymbol = "128"
	SplomMarkerSymbol_128                         SplomMarkerSymbol = "128"
	SplomMarkerSymbol_circle_x_open               SplomMarkerSymbol = "circle-x-open"
	SplomMarkerSymbol29                           SplomMarkerSymbol = "29"
	SplomMarkerSymbol_29                          SplomMarkerSymbol = "29"
	SplomMarkerSymbol_square_cross                SplomMarkerSymbol = "square-cross"
	SplomMarkerSymbol129                          SplomMarkerSymbol = "129"
	SplomMarkerSymbol_129                         SplomMarkerSymbol = "129"
	SplomMarkerSymbol_square_cross_open           SplomMarkerSymbol = "square-cross-open"
	SplomMarkerSymbol30                           SplomMarkerSymbol = "30"
	SplomMarkerSymbol_30                          SplomMarkerSymbol = "30"
	SplomMarkerSymbol_square_x                    SplomMarkerSymbol = "square-x"
	SplomMarkerSymbol130                          SplomMarkerSymbol = "130"
	SplomMarkerSymbol_130                         SplomMarkerSymbol = "130"
	SplomMarkerSymbol_square_x_open               SplomMarkerSymbol = "square-x-open"
	SplomMarkerSymbol31                           SplomMarkerSymbol = "31"
	SplomMarkerSymbol_31                          SplomMarkerSymbol = "31"
	SplomMarkerSymbol_diamond_cross               SplomMarkerSymbol = "diamond-cross"
	SplomMarkerSymbol131                          SplomMarkerSymbol = "131"
	SplomMarkerSymbol_131                         SplomMarkerSymbol = "131"
	SplomMarkerSymbol_diamond_cross_open          SplomMarkerSymbol = "diamond-cross-open"
	SplomMarkerSymbol32                           SplomMarkerSymbol = "32"
	SplomMarkerSymbol_32                          SplomMarkerSymbol = "32"
	SplomMarkerSymbol_diamond_x                   SplomMarkerSymbol = "diamond-x"
	SplomMarkerSymbol132                          SplomMarkerSymbol = "132"
	SplomMarkerSymbol_132                         SplomMarkerSymbol = "132"
	SplomMarkerSymbol_diamond_x_open              SplomMarkerSymbol = "diamond-x-open"
	SplomMarkerSymbol33                           SplomMarkerSymbol = "33"
	SplomMarkerSymbol_33                          SplomMarkerSymbol = "33"
	SplomMarkerSymbol_cross_thin                  SplomMarkerSymbol = "cross-thin"
	SplomMarkerSymbol133                          SplomMarkerSymbol = "133"
	SplomMarkerSymbol_133                         SplomMarkerSymbol = "133"
	SplomMarkerSymbol_cross_thin_open             SplomMarkerSymbol = "cross-thin-open"
	SplomMarkerSymbol34                           SplomMarkerSymbol = "34"
	SplomMarkerSymbol_34                          SplomMarkerSymbol = "34"
	SplomMarkerSymbol_x_thin                      SplomMarkerSymbol = "x-thin"
	SplomMarkerSymbol134                          SplomMarkerSymbol = "134"
	SplomMarkerSymbol_134                         SplomMarkerSymbol = "134"
	SplomMarkerSymbol_x_thin_open                 SplomMarkerSymbol = "x-thin-open"
	SplomMarkerSymbol35                           SplomMarkerSymbol = "35"
	SplomMarkerSymbol_35                          SplomMarkerSymbol = "35"
	SplomMarkerSymbol_asterisk                    SplomMarkerSymbol = "asterisk"
	SplomMarkerSymbol135                          SplomMarkerSymbol = "135"
	SplomMarkerSymbol_135                         SplomMarkerSymbol = "135"
	SplomMarkerSymbol_asterisk_open               SplomMarkerSymbol = "asterisk-open"
	SplomMarkerSymbol36                           SplomMarkerSymbol = "36"
	SplomMarkerSymbol_36                          SplomMarkerSymbol = "36"
	SplomMarkerSymbol_hash                        SplomMarkerSymbol = "hash"
	SplomMarkerSymbol136                          SplomMarkerSymbol = "136"
	SplomMarkerSymbol_136                         SplomMarkerSymbol = "136"
	SplomMarkerSymbol_hash_open                   SplomMarkerSymbol = "hash-open"
	SplomMarkerSymbol236                          SplomMarkerSymbol = "236"
	SplomMarkerSymbol_236                         SplomMarkerSymbol = "236"
	SplomMarkerSymbol_hash_dot                    SplomMarkerSymbol = "hash-dot"
	SplomMarkerSymbol336                          SplomMarkerSymbol = "336"
	SplomMarkerSymbol_336                         SplomMarkerSymbol = "336"
	SplomMarkerSymbol_hash_open_dot               SplomMarkerSymbol = "hash-open-dot"
	SplomMarkerSymbol37                           SplomMarkerSymbol = "37"
	SplomMarkerSymbol_37                          SplomMarkerSymbol = "37"
	SplomMarkerSymbol_y_up                        SplomMarkerSymbol = "y-up"
	SplomMarkerSymbol137                          SplomMarkerSymbol = "137"
	SplomMarkerSymbol_137                         SplomMarkerSymbol = "137"
	SplomMarkerSymbol_y_up_open                   SplomMarkerSymbol = "y-up-open"
	SplomMarkerSymbol38                           SplomMarkerSymbol = "38"
	SplomMarkerSymbol_38                          SplomMarkerSymbol = "38"
	SplomMarkerSymbol_y_down                      SplomMarkerSymbol = "y-down"
	SplomMarkerSymbol138                          SplomMarkerSymbol = "138"
	SplomMarkerSymbol_138                         SplomMarkerSymbol = "138"
	SplomMarkerSymbol_y_down_open                 SplomMarkerSymbol = "y-down-open"
	SplomMarkerSymbol39                           SplomMarkerSymbol = "39"
	SplomMarkerSymbol_39                          SplomMarkerSymbol = "39"
	SplomMarkerSymbol_y_left                      SplomMarkerSymbol = "y-left"
	SplomMarkerSymbol139                          SplomMarkerSymbol = "139"
	SplomMarkerSymbol_139                         SplomMarkerSymbol = "139"
	SplomMarkerSymbol_y_left_open                 SplomMarkerSymbol = "y-left-open"
	SplomMarkerSymbol40                           SplomMarkerSymbol = "40"
	SplomMarkerSymbol_40                          SplomMarkerSymbol = "40"
	SplomMarkerSymbol_y_right                     SplomMarkerSymbol = "y-right"
	SplomMarkerSymbol140                          SplomMarkerSymbol = "140"
	SplomMarkerSymbol_140                         SplomMarkerSymbol = "140"
	SplomMarkerSymbol_y_right_open                SplomMarkerSymbol = "y-right-open"
	SplomMarkerSymbol41                           SplomMarkerSymbol = "41"
	SplomMarkerSymbol_41                          SplomMarkerSymbol = "41"
	SplomMarkerSymbol_line_ew                     SplomMarkerSymbol = "line-ew"
	SplomMarkerSymbol141                          SplomMarkerSymbol = "141"
	SplomMarkerSymbol_141                         SplomMarkerSymbol = "141"
	SplomMarkerSymbol_line_ew_open                SplomMarkerSymbol = "line-ew-open"
	SplomMarkerSymbol42                           SplomMarkerSymbol = "42"
	SplomMarkerSymbol_42                          SplomMarkerSymbol = "42"
	SplomMarkerSymbol_line_ns                     SplomMarkerSymbol = "line-ns"
	SplomMarkerSymbol142                          SplomMarkerSymbol = "142"
	SplomMarkerSymbol_142                         SplomMarkerSymbol = "142"
	SplomMarkerSymbol_line_ns_open                SplomMarkerSymbol = "line-ns-open"
	SplomMarkerSymbol43                           SplomMarkerSymbol = "43"
	SplomMarkerSymbol_43                          SplomMarkerSymbol = "43"
	SplomMarkerSymbol_line_ne                     SplomMarkerSymbol = "line-ne"
	SplomMarkerSymbol143                          SplomMarkerSymbol = "143"
	SplomMarkerSymbol_143                         SplomMarkerSymbol = "143"
	SplomMarkerSymbol_line_ne_open                SplomMarkerSymbol = "line-ne-open"
	SplomMarkerSymbol44                           SplomMarkerSymbol = "44"
	SplomMarkerSymbol_44                          SplomMarkerSymbol = "44"
	SplomMarkerSymbol_line_nw                     SplomMarkerSymbol = "line-nw"
	SplomMarkerSymbol144                          SplomMarkerSymbol = "144"
	SplomMarkerSymbol_144                         SplomMarkerSymbol = "144"
	SplomMarkerSymbol_line_nw_open                SplomMarkerSymbol = "line-nw-open"
	SplomMarkerSymbol45                           SplomMarkerSymbol = "45"
	SplomMarkerSymbol_45                          SplomMarkerSymbol = "45"
	SplomMarkerSymbol_arrow_up                    SplomMarkerSymbol = "arrow-up"
	SplomMarkerSymbol145                          SplomMarkerSymbol = "145"
	SplomMarkerSymbol_145                         SplomMarkerSymbol = "145"
	SplomMarkerSymbol_arrow_up_open               SplomMarkerSymbol = "arrow-up-open"
	SplomMarkerSymbol46                           SplomMarkerSymbol = "46"
	SplomMarkerSymbol_46                          SplomMarkerSymbol = "46"
	SplomMarkerSymbol_arrow_down                  SplomMarkerSymbol = "arrow-down"
	SplomMarkerSymbol146                          SplomMarkerSymbol = "146"
	SplomMarkerSymbol_146                         SplomMarkerSymbol = "146"
	SplomMarkerSymbol_arrow_down_open             SplomMarkerSymbol = "arrow-down-open"
	SplomMarkerSymbol47                           SplomMarkerSymbol = "47"
	SplomMarkerSymbol_47                          SplomMarkerSymbol = "47"
	SplomMarkerSymbol_arrow_left                  SplomMarkerSymbol = "arrow-left"
	SplomMarkerSymbol147                          SplomMarkerSymbol = "147"
	SplomMarkerSymbol_147                         SplomMarkerSymbol = "147"
	SplomMarkerSymbol_arrow_left_open             SplomMarkerSymbol = "arrow-left-open"
	SplomMarkerSymbol48                           SplomMarkerSymbol = "48"
	SplomMarkerSymbol_48                          SplomMarkerSymbol = "48"
	SplomMarkerSymbol_arrow_right                 SplomMarkerSymbol = "arrow-right"
	SplomMarkerSymbol148                          SplomMarkerSymbol = "148"
	SplomMarkerSymbol_148                         SplomMarkerSymbol = "148"
	SplomMarkerSymbol_arrow_right_open            SplomMarkerSymbol = "arrow-right-open"
	SplomMarkerSymbol49                           SplomMarkerSymbol = "49"
	SplomMarkerSymbol_49                          SplomMarkerSymbol = "49"
	SplomMarkerSymbol_arrow_bar_up                SplomMarkerSymbol = "arrow-bar-up"
	SplomMarkerSymbol149                          SplomMarkerSymbol = "149"
	SplomMarkerSymbol_149                         SplomMarkerSymbol = "149"
	SplomMarkerSymbol_arrow_bar_up_open           SplomMarkerSymbol = "arrow-bar-up-open"
	SplomMarkerSymbol50                           SplomMarkerSymbol = "50"
	SplomMarkerSymbol_50                          SplomMarkerSymbol = "50"
	SplomMarkerSymbol_arrow_bar_down              SplomMarkerSymbol = "arrow-bar-down"
	SplomMarkerSymbol150                          SplomMarkerSymbol = "150"
	SplomMarkerSymbol_150                         SplomMarkerSymbol = "150"
	SplomMarkerSymbol_arrow_bar_down_open         SplomMarkerSymbol = "arrow-bar-down-open"
	SplomMarkerSymbol51                           SplomMarkerSymbol = "51"
	SplomMarkerSymbol_51                          SplomMarkerSymbol = "51"
	SplomMarkerSymbol_arrow_bar_left              SplomMarkerSymbol = "arrow-bar-left"
	SplomMarkerSymbol151                          SplomMarkerSymbol = "151"
	SplomMarkerSymbol_151                         SplomMarkerSymbol = "151"
	SplomMarkerSymbol_arrow_bar_left_open         SplomMarkerSymbol = "arrow-bar-left-open"
	SplomMarkerSymbol52                           SplomMarkerSymbol = "52"
	SplomMarkerSymbol_52                          SplomMarkerSymbol = "52"
	SplomMarkerSymbol_arrow_bar_right             SplomMarkerSymbol = "arrow-bar-right"
	SplomMarkerSymbol152                          SplomMarkerSymbol = "152"
	SplomMarkerSymbol_152                         SplomMarkerSymbol = "152"
	SplomMarkerSymbol_arrow_bar_right_open        SplomMarkerSymbol = "arrow-bar-right-open"
)

type SplomSelected

type SplomSelected struct {

	// Marker <no value> <no value>
	Marker *SplomSelectedMarker `json:"marker,omitempty"`
}

type SplomSelectedMarker

type SplomSelectedMarker struct {

	// Color color Sets the marker color of selected points.
	Color String `json:"color,omitempty"`

	// Opacity number Sets the marker opacity of selected points.
	Opacity float64 `json:"opacity,omitempty"`

	// Size number Sets the marker size of selected points.
	Size float64 `json:"size,omitempty"`
}

type SplomStream

type SplomStream struct {

	// Maxpoints 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 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"`
}

type SplomTransforms

type SplomTransforms interface{}

SplomTransforms It's an items array and what goes inside it's... messy... check the docs Here is a hint to help you to define your own type transform

description
editType
role

type SplomUnselected

type SplomUnselected struct {

	// Marker <no value> <no value>
	Marker *SplomUnselectedMarker `json:"marker,omitempty"`
}

type SplomUnselectedMarker

type SplomUnselectedMarker struct {

	// Color color Sets the marker color of unselected points, applied only when a selection exists.
	Color String `json:"color,omitempty"`

	// Opacity number Sets the marker opacity of unselected points, applied only when a selection exists.
	Opacity float64 `json:"opacity,omitempty"`

	// Size number Sets the marker size of unselected points, applied only when a selection exists.
	Size float64 `json:"size,omitempty"`
}

type SplomVisible

type SplomVisible interface{}

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).

var (
	SplomVisible_True       SplomVisible = true
	SplomVisible_False      SplomVisible = false
	SplomVisible_legendonly SplomVisible = "legendonly"
)

type Streamtube

type Streamtube struct {

	// Type is the type of the plot
	Type TraceType `json:"type,omitempty"`

	// Autocolorscale 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 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 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 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 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 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 <no value> <no value>
	Colorbar *StreamtubeColorbar `json:"colorbar,omitempty"`

	// Customdata 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 string Sets the source reference on Chart Studio Cloud for  customdata .
	Customdatasrc String `json:"customdatasrc,omitempty"`

	// Hoverinfo 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 string Sets the source reference on Chart Studio Cloud for  hoverinfo .
	Hoverinfosrc String `json:"hoverinfosrc,omitempty"`

	// Hoverlabel <no value> <no value>
	Hoverlabel *StreamtubeHoverlabel `json:"hoverlabel,omitempty"`

	// Hovertemplate 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 `<extra>` is displayed in the secondary box, for example "<extra>{fullData.name}</extra>". To hide the secondary box completely, use an empty tag `<extra></extra>`.
	Hovertemplate interface{} `json:"hovertemplate,omitempty"`

	// Hovertemplatesrc string Sets the source reference on Chart Studio Cloud for  hovertemplate .
	Hovertemplatesrc String `json:"hovertemplatesrc,omitempty"`

	// Hovertext string Same as `text`.
	Hovertext String `json:"hovertext,omitempty"`

	// Ids 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 string Sets the source reference on Chart Studio Cloud for  ids .
	Idssrc String `json:"idssrc,omitempty"`

	// Legendgroup 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"`

	// Lighting <no value> <no value>
	Lighting *StreamtubeLighting `json:"lighting,omitempty"`

	// Lightposition <no value> <no value>
	Lightposition *StreamtubeLightposition `json:"lightposition,omitempty"`

	// Maxdisplayed integer The maximum number of displayed segments in a streamtube.
	Maxdisplayed int64 `json:"maxdisplayed,omitempty"`

	// Meta 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 string Sets the source reference on Chart Studio Cloud for  meta .
	Metasrc String `json:"metasrc,omitempty"`

	// Name string Sets the trace name. The trace name appear as the legend item and on hover.
	Name String `json:"name,omitempty"`

	// Opacity 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 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 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 boolean Determines whether or not an item corresponding to this trace is shown in the legend.
	Showlegend Bool `json:"showlegend,omitempty"`

	// Showscale boolean Determines whether or not a colorbar is displayed for this trace.
	Showscale Bool `json:"showscale,omitempty"`

	// Sizeref 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 <no value> <no value>
	Starts *StreamtubeStarts `json:"starts,omitempty"`

	// Stream <no value> <no value>
	Stream *StreamtubeStream `json:"stream,omitempty"`

	// Text 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 data_array Sets the x components of the vector field.
	U interface{} `json:"u,omitempty"`

	// Uid 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 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 string Sets the source reference on Chart Studio Cloud for  u .
	Usrc String `json:"usrc,omitempty"`

	// V data_array Sets the y components of the vector field.
	V interface{} `json:"v,omitempty"`

	// Visible 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 string Sets the source reference on Chart Studio Cloud for  v .
	Vsrc String `json:"vsrc,omitempty"`

	// W data_array Sets the z components of the vector field.
	W interface{} `json:"w,omitempty"`

	// Wsrc string Sets the source reference on Chart Studio Cloud for  w .
	Wsrc String `json:"wsrc,omitempty"`

	// X data_array Sets the x coordinates of the vector field.
	X interface{} `json:"x,omitempty"`

	// Xsrc string Sets the source reference on Chart Studio Cloud for  x .
	Xsrc String `json:"xsrc,omitempty"`

	// Y data_array Sets the y coordinates of the vector field.
	Y interface{} `json:"y,omitempty"`

	// Ysrc string Sets the source reference on Chart Studio Cloud for  y .
	Ysrc String `json:"ysrc,omitempty"`

	// Z data_array Sets the z coordinates of the vector field.
	Z interface{} `json:"z,omitempty"`

	// Zsrc string Sets the source reference on Chart Studio Cloud for  z .
	Zsrc String `json:"zsrc,omitempty"`
}

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).

func NewStreamtube

func NewStreamtube() *Streamtube

func (*Streamtube) GetType

func (this *Streamtube) GetType() TraceType

type StreamtubeColorbar

type StreamtubeColorbar struct {

	// Bgcolor color Sets the color of padded area.
	Bgcolor String `json:"bgcolor,omitempty"`

	// Bordercolor color Sets the axis line color.
	Bordercolor String `json:"bordercolor,omitempty"`

	// Borderwidth number Sets the width (in px) or the border enclosing this color bar.
	Borderwidth float64 `json:"borderwidth,omitempty"`

	// Dtick 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<f>*, where `f` is a positive number, gives ticks linearly spaced in value (but not position). For example `tick0` = 0.1, `dtick` = *L0.5* will put ticks at 0.1, 0.6, 1.1, 1.6 etc. To show powers of 10 plus small digits between, use *D1* (all digits) or *D2* (only 2 and 5). `tick0` is ignored for *D1* and *D2*. If the axis `type` is *date*, then you must convert the time to milliseconds. For example, to set the interval between ticks to one day, set `dtick` to 86400000.0. *date* also has special values *M<n>* gives ticks spaced by a number of months. `n` must be a positive integer. To set ticks on the 15th of every third month, set `tick0` to *2000-01-15* and `dtick` to *M3*. To set ticks every 4 years, set `dtick` to *M48*
	Dtick interface{} `json:"dtick,omitempty"`

	// Exponentformat 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"`

	// Len 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 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 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 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"`

	// Outlinecolor color Sets the axis line color.
	Outlinecolor String `json:"outlinecolor,omitempty"`

	// Outlinewidth number Sets the width (in px) of the axis line.
	Outlinewidth float64 `json:"outlinewidth,omitempty"`

	// Separatethousands boolean If "true", even 4-digit integers are separated
	Separatethousands Bool `json:"separatethousands,omitempty"`

	// Showexponent 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 boolean Determines whether or not the tick labels are drawn.
	Showticklabels Bool `json:"showticklabels,omitempty"`

	// Showtickprefix 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 enumerated Same as `showtickprefix` but for tick suffixes.
	Showticksuffix StreamtubeColorbarShowticksuffix `json:"showticksuffix,omitempty"`

	// Thickness 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 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 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<f>* (see `dtick` for more info). If the axis `type` is *date*, it should be a date string, like date data. If the axis `type` is *category*, it should be a number, using the scale where each category is assigned a serial number from zero in the order it appears.
	Tick0 interface{} `json:"tick0,omitempty"`

	// Tickangle 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 color Sets the tick color.
	Tickcolor String `json:"tickcolor,omitempty"`

	// Tickfont <no value> Sets the color bar's tick label font
	Tickfont *StreamtubeColorbarTickfont `json:"tickfont,omitempty"`

	// Tickformat 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*
	Tickformat String `json:"tickformat,omitempty"`

	// Tickformatstops <no value> <no value>
	Tickformatstops StreamtubeColorbarTickformatstops `json:"tickformatstops,omitempty"`

	// Ticklabelposition enumerated Determines where tick labels are drawn.
	Ticklabelposition StreamtubeColorbarTicklabelposition `json:"ticklabelposition,omitempty"`

	// Ticklen number Sets the tick length (in px).
	Ticklen float64 `json:"ticklen,omitempty"`

	// Tickmode 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 string Sets a tick label prefix.
	Tickprefix String `json:"tickprefix,omitempty"`

	// Ticks 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 string Sets a tick label suffix.
	Ticksuffix String `json:"ticksuffix,omitempty"`

	// Ticktext 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 string Sets the source reference on Chart Studio Cloud for  ticktext .
	Ticktextsrc String `json:"ticktextsrc,omitempty"`

	// Tickvals 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 string Sets the source reference on Chart Studio Cloud for  tickvals .
	Tickvalssrc String `json:"tickvalssrc,omitempty"`

	// Tickwidth number Sets the tick width (in px).
	Tickwidth float64 `json:"tickwidth,omitempty"`

	// Title <no value> <no value>
	Title *StreamtubeColorbarTitle `json:"title,omitempty"`

	// X number Sets the x position of the color bar (in plot fraction).
	X float64 `json:"x,omitempty"`

	// Xanchor 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.
	Xanchor StreamtubeColorbarXanchor `json:"xanchor,omitempty"`

	// Xpad number Sets the amount of padding (in px) along the x direction.
	Xpad float64 `json:"xpad,omitempty"`

	// Y number Sets the y position of the color bar (in plot fraction).
	Y float64 `json:"y,omitempty"`

	// Yanchor 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.
	Yanchor StreamtubeColorbarYanchor `json:"yanchor,omitempty"`

	// Ypad number Sets the amount of padding (in px) along the y direction.
	Ypad float64 `json:"ypad,omitempty"`
}

type StreamtubeColorbarExponentformat

type StreamtubeColorbarExponentformat string

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.

const (
	StreamtubeColorbarExponentformat_none  StreamtubeColorbarExponentformat = "none"
	StreamtubeColorbarExponentformat_e     StreamtubeColorbarExponentformat = "e"
	StreamtubeColorbarExponentformat_E     StreamtubeColorbarExponentformat = "E"
	StreamtubeColorbarExponentformat_power StreamtubeColorbarExponentformat = "power"
	StreamtubeColorbarExponentformat_SI    StreamtubeColorbarExponentformat = "SI"
	StreamtubeColorbarExponentformat_B     StreamtubeColorbarExponentformat = "B"
)

type StreamtubeColorbarLenmode

type StreamtubeColorbarLenmode string

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.

const (
	StreamtubeColorbarLenmode_fraction StreamtubeColorbarLenmode = "fraction"
	StreamtubeColorbarLenmode_pixels   StreamtubeColorbarLenmode = "pixels"
)

type StreamtubeColorbarShowexponent

type StreamtubeColorbarShowexponent string

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.

const (
	StreamtubeColorbarShowexponent_all   StreamtubeColorbarShowexponent = "all"
	StreamtubeColorbarShowexponent_first StreamtubeColorbarShowexponent = "first"
	StreamtubeColorbarShowexponent_last  StreamtubeColorbarShowexponent = "last"
	StreamtubeColorbarShowexponent_none  StreamtubeColorbarShowexponent = "none"
)

type StreamtubeColorbarShowtickprefix

type StreamtubeColorbarShowtickprefix string

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.

const (
	StreamtubeColorbarShowtickprefix_all   StreamtubeColorbarShowtickprefix = "all"
	StreamtubeColorbarShowtickprefix_first StreamtubeColorbarShowtickprefix = "first"
	StreamtubeColorbarShowtickprefix_last  StreamtubeColorbarShowtickprefix = "last"
	StreamtubeColorbarShowtickprefix_none  StreamtubeColorbarShowtickprefix = "none"
)

type StreamtubeColorbarShowticksuffix

type StreamtubeColorbarShowticksuffix string

StreamtubeColorbarShowticksuffix Same as `showtickprefix` but for tick suffixes.

const (
	StreamtubeColorbarShowticksuffix_all   StreamtubeColorbarShowticksuffix = "all"
	StreamtubeColorbarShowticksuffix_first StreamtubeColorbarShowticksuffix = "first"
	StreamtubeColorbarShowticksuffix_last  StreamtubeColorbarShowticksuffix = "last"
	StreamtubeColorbarShowticksuffix_none  StreamtubeColorbarShowticksuffix = "none"
)

type StreamtubeColorbarThicknessmode

type StreamtubeColorbarThicknessmode string

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.

const (
	StreamtubeColorbarThicknessmode_fraction StreamtubeColorbarThicknessmode = "fraction"
	StreamtubeColorbarThicknessmode_pixels   StreamtubeColorbarThicknessmode = "pixels"
)

type StreamtubeColorbarTickfont

type StreamtubeColorbarTickfont struct {

	// Color color <no value>
	Color String `json:"color,omitempty"`

	// Family string HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.
	Family String `json:"family,omitempty"`

	// Size number <no value>
	Size float64 `json:"size,omitempty"`
}

type StreamtubeColorbarTickformatstops

type StreamtubeColorbarTickformatstops interface{}

StreamtubeColorbarTickformatstops It's an items array and what goes inside it's... messy... check the docs Here is a hint to help you to define your own type tickformatstop

dtickrange
editType
enabled
name
role
templateitemname
value

type StreamtubeColorbarTicklabelposition

type StreamtubeColorbarTicklabelposition string

StreamtubeColorbarTicklabelposition Determines where tick labels are drawn.

const (
	StreamtubeColorbarTicklabelposition_outside       StreamtubeColorbarTicklabelposition = "outside"
	StreamtubeColorbarTicklabelposition_inside        StreamtubeColorbarTicklabelposition = "inside"
	StreamtubeColorbarTicklabelposition_outsidetop    StreamtubeColorbarTicklabelposition = "outside top"
	StreamtubeColorbarTicklabelposition_insidetop     StreamtubeColorbarTicklabelposition = "inside top"
	StreamtubeColorbarTicklabelposition_outsidebottom StreamtubeColorbarTicklabelposition = "outside bottom"
	StreamtubeColorbarTicklabelposition_insidebottom  StreamtubeColorbarTicklabelposition = "inside bottom"
)

type StreamtubeColorbarTickmode

type StreamtubeColorbarTickmode string

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).

const (
	StreamtubeColorbarTickmode_auto   StreamtubeColorbarTickmode = "auto"
	StreamtubeColorbarTickmode_linear StreamtubeColorbarTickmode = "linear"
	StreamtubeColorbarTickmode_array  StreamtubeColorbarTickmode = "array"
)

type StreamtubeColorbarTicks

type StreamtubeColorbarTicks string

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.

const (
	StreamtubeColorbarTicks_outside StreamtubeColorbarTicks = "outside"
	StreamtubeColorbarTicks_inside  StreamtubeColorbarTicks = "inside"
)

type StreamtubeColorbarTitle

type StreamtubeColorbarTitle struct {

	// Font <no value> Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.
	Font *StreamtubeColorbarTitleFont `json:"font,omitempty"`

	// Side 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.
	Side StreamtubeColorbarTitleSide `json:"side,omitempty"`

	// Text 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"`
}

type StreamtubeColorbarTitleFont

type StreamtubeColorbarTitleFont struct {

	// Color color <no value>
	Color String `json:"color,omitempty"`

	// Family string HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.
	Family String `json:"family,omitempty"`

	// Size number <no value>
	Size float64 `json:"size,omitempty"`
}

type StreamtubeColorbarTitleSide

type StreamtubeColorbarTitleSide string

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.

const (
	StreamtubeColorbarTitleSide_right  StreamtubeColorbarTitleSide = "right"
	StreamtubeColorbarTitleSide_top    StreamtubeColorbarTitleSide = "top"
	StreamtubeColorbarTitleSide_bottom StreamtubeColorbarTitleSide = "bottom"
)

type StreamtubeColorbarXanchor

type StreamtubeColorbarXanchor string

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.

const (
	StreamtubeColorbarXanchor_left   StreamtubeColorbarXanchor = "left"
	StreamtubeColorbarXanchor_center StreamtubeColorbarXanchor = "center"
	StreamtubeColorbarXanchor_right  StreamtubeColorbarXanchor = "right"
)

type StreamtubeColorbarYanchor

type StreamtubeColorbarYanchor string

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.

const (
	StreamtubeColorbarYanchor_top    StreamtubeColorbarYanchor = "top"
	StreamtubeColorbarYanchor_middle StreamtubeColorbarYanchor = "middle"
	StreamtubeColorbarYanchor_bottom StreamtubeColorbarYanchor = "bottom"
)

type StreamtubeHoverinfo

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"
	// Extras
	StreamtubeHoverinfoAll  StreamtubeHoverinfo = "all"
	StreamtubeHoverinfoNone StreamtubeHoverinfo = "none"
	StreamtubeHoverinfoSkip StreamtubeHoverinfo = "skip"
)

type StreamtubeHoverlabel

type StreamtubeHoverlabel struct {

	// Align 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 string Sets the source reference on Chart Studio Cloud for  align .
	Alignsrc String `json:"alignsrc,omitempty"`

	// Bgcolor color Sets the background color of the hover labels for this trace
	Bgcolor interface{} `json:"bgcolor,omitempty"`

	// Bgcolorsrc string Sets the source reference on Chart Studio Cloud for  bgcolor .
	Bgcolorsrc String `json:"bgcolorsrc,omitempty"`

	// Bordercolor color Sets the border color of the hover labels for this trace.
	Bordercolor interface{} `json:"bordercolor,omitempty"`

	// Bordercolorsrc string Sets the source reference on Chart Studio Cloud for  bordercolor .
	Bordercolorsrc String `json:"bordercolorsrc,omitempty"`

	// Font <no value> Sets the font used in hover labels.
	Font *StreamtubeHoverlabelFont `json:"font,omitempty"`

	// Namelength 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 interface{} `json:"namelength,omitempty"`

	// Namelengthsrc string Sets the source reference on Chart Studio Cloud for  namelength .
	Namelengthsrc String `json:"namelengthsrc,omitempty"`
}

type StreamtubeHoverlabelAlign

type StreamtubeHoverlabelAlign string

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

const (
	StreamtubeHoverlabelAlign_left  StreamtubeHoverlabelAlign = "left"
	StreamtubeHoverlabelAlign_right StreamtubeHoverlabelAlign = "right"
	StreamtubeHoverlabelAlign_auto  StreamtubeHoverlabelAlign = "auto"
)

type StreamtubeHoverlabelFont

type StreamtubeHoverlabelFont struct {

	// Color color <no value>
	Color interface{} `json:"color,omitempty"`

	// Colorsrc string Sets the source reference on Chart Studio Cloud for  color .
	Colorsrc String `json:"colorsrc,omitempty"`

	// Family string HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.
	Family interface{} `json:"family,omitempty"`

	// Familysrc string Sets the source reference on Chart Studio Cloud for  family .
	Familysrc String `json:"familysrc,omitempty"`

	// Size number <no value>
	Size interface{} `json:"size,omitempty"`

	// Sizesrc string Sets the source reference on Chart Studio Cloud for  size .
	Sizesrc String `json:"sizesrc,omitempty"`
}

type StreamtubeLighting

type StreamtubeLighting struct {

	// Ambient number Ambient light increases overall color visibility but can wash out the image.
	Ambient float64 `json:"ambient,omitempty"`

	// Diffuse number Represents the extent that incident rays are reflected in a range of angles.
	Diffuse float64 `json:"diffuse,omitempty"`

	// Facenormalsepsilon number Epsilon for face normals calculation avoids math issues arising from degenerate geometry.
	Facenormalsepsilon float64 `json:"facenormalsepsilon,omitempty"`

	// Fresnel 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 number Alters specular reflection; the rougher the surface, the wider and less contrasty the shine.
	Roughness float64 `json:"roughness,omitempty"`

	// Specular number Represents the level that incident rays are reflected in a single direction, causing shine.
	Specular float64 `json:"specular,omitempty"`

	// Vertexnormalsepsilon number Epsilon for vertex normals calculation avoids math issues arising from degenerate geometry.
	Vertexnormalsepsilon float64 `json:"vertexnormalsepsilon,omitempty"`
}

type StreamtubeLightposition

type StreamtubeLightposition struct {

	// X number Numeric vector, representing the X coordinate for each vertex.
	X float64 `json:"x,omitempty"`

	// Y number Numeric vector, representing the Y coordinate for each vertex.
	Y float64 `json:"y,omitempty"`

	// Z number Numeric vector, representing the Z coordinate for each vertex.
	Z float64 `json:"z,omitempty"`
}

type StreamtubeStarts

type StreamtubeStarts struct {

	// X data_array Sets the x components of the starting position of the streamtubes
	X interface{} `json:"x,omitempty"`

	// Xsrc string Sets the source reference on Chart Studio Cloud for  x .
	Xsrc String `json:"xsrc,omitempty"`

	// Y data_array Sets the y components of the starting position of the streamtubes
	Y interface{} `json:"y,omitempty"`

	// Ysrc string Sets the source reference on Chart Studio Cloud for  y .
	Ysrc String `json:"ysrc,omitempty"`

	// Z data_array Sets the z components of the starting position of the streamtubes
	Z interface{} `json:"z,omitempty"`

	// Zsrc string Sets the source reference on Chart Studio Cloud for  z .
	Zsrc String `json:"zsrc,omitempty"`
}

type StreamtubeStream

type StreamtubeStream struct {

	// Maxpoints 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 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"`
}

type StreamtubeVisible

type StreamtubeVisible interface{}

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).

var (
	StreamtubeVisible_True       StreamtubeVisible = true
	StreamtubeVisible_False      StreamtubeVisible = false
	StreamtubeVisible_legendonly StreamtubeVisible = "legendonly"
)

type String

type String interface{}

type Sunburst

type Sunburst struct {

	// Type is the type of the plot
	Type TraceType `json:"type,omitempty"`

	// Branchvalues 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 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 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 string Sets the source reference on Chart Studio Cloud for  customdata .
	Customdatasrc String `json:"customdatasrc,omitempty"`

	// Domain <no value> <no value>
	Domain *SunburstDomain `json:"domain,omitempty"`

	// Hoverinfo 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 string Sets the source reference on Chart Studio Cloud for  hoverinfo .
	Hoverinfosrc String `json:"hoverinfosrc,omitempty"`

	// Hoverlabel <no value> <no value>
	Hoverlabel *SunburstHoverlabel `json:"hoverlabel,omitempty"`

	// Hovertemplate 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 `<extra>` is displayed in the secondary box, for example "<extra>{fullData.name}</extra>". To hide the secondary box completely, use an empty tag `<extra></extra>`.
	Hovertemplate interface{} `json:"hovertemplate,omitempty"`

	// Hovertemplatesrc string Sets the source reference on Chart Studio Cloud for  hovertemplate .
	Hovertemplatesrc String `json:"hovertemplatesrc,omitempty"`

	// Hovertext 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 interface{} `json:"hovertext,omitempty"`

	// Hovertextsrc string Sets the source reference on Chart Studio Cloud for  hovertext .
	Hovertextsrc String `json:"hovertextsrc,omitempty"`

	// Ids 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 string Sets the source reference on Chart Studio Cloud for  ids .
	Idssrc String `json:"idssrc,omitempty"`

	// Insidetextfont <no value> Sets the font used for `textinfo` lying inside the sector.
	Insidetextfont *SunburstInsidetextfont `json:"insidetextfont,omitempty"`

	// Insidetextorientation 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 data_array Sets the labels of each of the sectors.
	Labels interface{} `json:"labels,omitempty"`

	// Labelssrc string Sets the source reference on Chart Studio Cloud for  labels .
	Labelssrc String `json:"labelssrc,omitempty"`

	// Leaf <no value> <no value>
	Leaf *SunburstLeaf `json:"leaf,omitempty"`

	// Level 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 <no value> <no value>
	Marker *SunburstMarker `json:"marker,omitempty"`

	// Maxdepth 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 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 string Sets the source reference on Chart Studio Cloud for  meta .
	Metasrc String `json:"metasrc,omitempty"`

	// Name string Sets the trace name. The trace name appear as the legend item and on hover.
	Name String `json:"name,omitempty"`

	// Opacity number Sets the opacity of the trace.
	Opacity float64 `json:"opacity,omitempty"`

	// Outsidetextfont <no value> 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.
	Outsidetextfont *SunburstOutsidetextfont `json:"outsidetextfont,omitempty"`

	// Parents 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 string Sets the source reference on Chart Studio Cloud for  parents .
	Parentssrc String `json:"parentssrc,omitempty"`

	// Root <no value> <no value>
	Root *SunburstRoot `json:"root,omitempty"`

	// Rotation 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 boolean Determines whether or not the sectors are reordered from largest to smallest.
	Sort Bool `json:"sort,omitempty"`

	// Stream <no value> <no value>
	Stream *SunburstStream `json:"stream,omitempty"`

	// Text 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 <no value> Sets the font used for `textinfo`.
	Textfont *SunburstTextfont `json:"textfont,omitempty"`

	// Textinfo flaglist Determines which trace information appear on the graph.
	Textinfo SunburstTextinfo `json:"textinfo,omitempty"`

	// Textsrc string Sets the source reference on Chart Studio Cloud for  text .
	Textsrc String `json:"textsrc,omitempty"`

	// Texttemplate 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`.
	Texttemplate interface{} `json:"texttemplate,omitempty"`

	// Texttemplatesrc string Sets the source reference on Chart Studio Cloud for  texttemplate .
	Texttemplatesrc String `json:"texttemplatesrc,omitempty"`

	// Transforms <no value> <no value>
	Transforms SunburstTransforms `json:"transforms,omitempty"`

	// Uid 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 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 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 string Sets the source reference on Chart Studio Cloud for  values .
	Valuessrc String `json:"valuessrc,omitempty"`

	// Visible 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"`
}

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*.

func NewSunburst

func NewSunburst() *Sunburst

func (*Sunburst) GetType

func (this *Sunburst) GetType() TraceType

type SunburstBranchvalues

type SunburstBranchvalues string

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.

const (
	SunburstBranchvalues_remainder SunburstBranchvalues = "remainder"
	SunburstBranchvalues_total     SunburstBranchvalues = "total"
)

type SunburstCount

type SunburstCount string
const (
	// Flags
	SunburstCountBranches SunburstCount = "branches"
	SunburstCountLeaves   SunburstCount = "leaves"
)

type SunburstDomain

type SunburstDomain struct {

	// Column 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 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 info_array Sets the horizontal domain of this sunburst trace (in plot fraction).
	X interface{} `json:"x,omitempty"`

	// Y info_array Sets the vertical domain of this sunburst trace (in plot fraction).
	Y interface{} `json:"y,omitempty"`
}

type SunburstHoverinfo

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"
	// Extras
	SunburstHoverinfoAll  SunburstHoverinfo = "all"
	SunburstHoverinfoNone SunburstHoverinfo = "none"
	SunburstHoverinfoSkip SunburstHoverinfo = "skip"
)

type SunburstHoverlabel

type SunburstHoverlabel struct {

	// Align 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 string Sets the source reference on Chart Studio Cloud for  align .
	Alignsrc String `json:"alignsrc,omitempty"`

	// Bgcolor color Sets the background color of the hover labels for this trace
	Bgcolor interface{} `json:"bgcolor,omitempty"`

	// Bgcolorsrc string Sets the source reference on Chart Studio Cloud for  bgcolor .
	Bgcolorsrc String `json:"bgcolorsrc,omitempty"`

	// Bordercolor color Sets the border color of the hover labels for this trace.
	Bordercolor interface{} `json:"bordercolor,omitempty"`

	// Bordercolorsrc string Sets the source reference on Chart Studio Cloud for  bordercolor .
	Bordercolorsrc String `json:"bordercolorsrc,omitempty"`

	// Font <no value> Sets the font used in hover labels.
	Font *SunburstHoverlabelFont `json:"font,omitempty"`

	// Namelength 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 interface{} `json:"namelength,omitempty"`

	// Namelengthsrc string Sets the source reference on Chart Studio Cloud for  namelength .
	Namelengthsrc String `json:"namelengthsrc,omitempty"`
}

type SunburstHoverlabelAlign

type SunburstHoverlabelAlign string

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

const (
	SunburstHoverlabelAlign_left  SunburstHoverlabelAlign = "left"
	SunburstHoverlabelAlign_right SunburstHoverlabelAlign = "right"
	SunburstHoverlabelAlign_auto  SunburstHoverlabelAlign = "auto"
)

type SunburstHoverlabelFont

type SunburstHoverlabelFont struct {

	// Color color <no value>
	Color interface{} `json:"color,omitempty"`

	// Colorsrc string Sets the source reference on Chart Studio Cloud for  color .
	Colorsrc String `json:"colorsrc,omitempty"`

	// Family string HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.
	Family interface{} `json:"family,omitempty"`

	// Familysrc string Sets the source reference on Chart Studio Cloud for  family .
	Familysrc String `json:"familysrc,omitempty"`

	// Size number <no value>
	Size interface{} `json:"size,omitempty"`

	// Sizesrc string Sets the source reference on Chart Studio Cloud for  size .
	Sizesrc String `json:"sizesrc,omitempty"`
}

type SunburstInsidetextfont

type SunburstInsidetextfont struct {

	// Color color <no value>
	Color interface{} `json:"color,omitempty"`

	// Colorsrc string Sets the source reference on Chart Studio Cloud for  color .
	Colorsrc String `json:"colorsrc,omitempty"`

	// Family string HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.
	Family interface{} `json:"family,omitempty"`

	// Familysrc string Sets the source reference on Chart Studio Cloud for  family .
	Familysrc String `json:"familysrc,omitempty"`

	// Size number <no value>
	Size interface{} `json:"size,omitempty"`

	// Sizesrc string Sets the source reference on Chart Studio Cloud for  size .
	Sizesrc String `json:"sizesrc,omitempty"`
}

type SunburstInsidetextorientation

type SunburstInsidetextorientation string

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.

const (
	SunburstInsidetextorientation_horizontal SunburstInsidetextorientation = "horizontal"
	SunburstInsidetextorientation_radial     SunburstInsidetextorientation = "radial"
	SunburstInsidetextorientation_tangential SunburstInsidetextorientation = "tangential"
	SunburstInsidetextorientation_auto       SunburstInsidetextorientation = "auto"
)

type SunburstLeaf

type SunburstLeaf struct {

	// Opacity 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"`
}

type SunburstMarker

type SunburstMarker struct {

	// Autocolorscale 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.
	Autocolorscale Bool `json:"autocolorscale,omitempty"`

	// Cauto 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.
	Cauto Bool `json:"cauto,omitempty"`

	// Cmax 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.
	Cmax float64 `json:"cmax,omitempty"`

	// Cmid 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`.
	Cmid float64 `json:"cmid,omitempty"`

	// Cmin 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.
	Cmin float64 `json:"cmin,omitempty"`

	// Coloraxis 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 <no value> <no value>
	Colorbar *SunburstMarkerColorbar `json:"colorbar,omitempty"`

	// Colors 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"`

	// Colorssrc string Sets the source reference on Chart Studio Cloud for  colors .
	Colorssrc String `json:"colorssrc,omitempty"`

	// Line <no value> <no value>
	Line *SunburstMarkerLine `json:"line,omitempty"`

	// Reversescale 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.
	Reversescale Bool `json:"reversescale,omitempty"`

	// Showscale boolean Determines whether or not a colorbar is displayed for this trace. Has an effect only if colorsis set to a numerical array.
	Showscale Bool `json:"showscale,omitempty"`
}

type SunburstMarkerColorbar

type SunburstMarkerColorbar struct {

	// Bgcolor color Sets the color of padded area.
	Bgcolor String `json:"bgcolor,omitempty"`

	// Bordercolor color Sets the axis line color.
	Bordercolor String `json:"bordercolor,omitempty"`

	// Borderwidth number Sets the width (in px) or the border enclosing this color bar.
	Borderwidth float64 `json:"borderwidth,omitempty"`

	// Dtick 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<f>*, where `f` is a positive number, gives ticks linearly spaced in value (but not position). For example `tick0` = 0.1, `dtick` = *L0.5* will put ticks at 0.1, 0.6, 1.1, 1.6 etc. To show powers of 10 plus small digits between, use *D1* (all digits) or *D2* (only 2 and 5). `tick0` is ignored for *D1* and *D2*. If the axis `type` is *date*, then you must convert the time to milliseconds. For example, to set the interval between ticks to one day, set `dtick` to 86400000.0. *date* also has special values *M<n>* gives ticks spaced by a number of months. `n` must be a positive integer. To set ticks on the 15th of every third month, set `tick0` to *2000-01-15* and `dtick` to *M3*. To set ticks every 4 years, set `dtick` to *M48*
	Dtick interface{} `json:"dtick,omitempty"`

	// Exponentformat 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"`

	// Len 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 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 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 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"`

	// Outlinecolor color Sets the axis line color.
	Outlinecolor String `json:"outlinecolor,omitempty"`

	// Outlinewidth number Sets the width (in px) of the axis line.
	Outlinewidth float64 `json:"outlinewidth,omitempty"`

	// Separatethousands boolean If "true", even 4-digit integers are separated
	Separatethousands Bool `json:"separatethousands,omitempty"`

	// Showexponent 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 boolean Determines whether or not the tick labels are drawn.
	Showticklabels Bool `json:"showticklabels,omitempty"`

	// Showtickprefix 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 enumerated Same as `showtickprefix` but for tick suffixes.
	Showticksuffix SunburstMarkerColorbarShowticksuffix `json:"showticksuffix,omitempty"`

	// Thickness 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 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 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<f>* (see `dtick` for more info). If the axis `type` is *date*, it should be a date string, like date data. If the axis `type` is *category*, it should be a number, using the scale where each category is assigned a serial number from zero in the order it appears.
	Tick0 interface{} `json:"tick0,omitempty"`

	// Tickangle 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 color Sets the tick color.
	Tickcolor String `json:"tickcolor,omitempty"`

	// Tickfont <no value> Sets the color bar's tick label font
	Tickfont *SunburstMarkerColorbarTickfont `json:"tickfont,omitempty"`

	// Tickformat 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*
	Tickformat String `json:"tickformat,omitempty"`

	// Tickformatstops <no value> <no value>
	Tickformatstops SunburstMarkerColorbarTickformatstops `json:"tickformatstops,omitempty"`

	// Ticklabelposition enumerated Determines where tick labels are drawn.
	Ticklabelposition SunburstMarkerColorbarTicklabelposition `json:"ticklabelposition,omitempty"`

	// Ticklen number Sets the tick length (in px).
	Ticklen float64 `json:"ticklen,omitempty"`

	// Tickmode 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 string Sets a tick label prefix.
	Tickprefix String `json:"tickprefix,omitempty"`

	// Ticks 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 string Sets a tick label suffix.
	Ticksuffix String `json:"ticksuffix,omitempty"`

	// Ticktext 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 string Sets the source reference on Chart Studio Cloud for  ticktext .
	Ticktextsrc String `json:"ticktextsrc,omitempty"`

	// Tickvals 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 string Sets the source reference on Chart Studio Cloud for  tickvals .
	Tickvalssrc String `json:"tickvalssrc,omitempty"`

	// Tickwidth number Sets the tick width (in px).
	Tickwidth float64 `json:"tickwidth,omitempty"`

	// Title <no value> <no value>
	Title *SunburstMarkerColorbarTitle `json:"title,omitempty"`

	// X number Sets the x position of the color bar (in plot fraction).
	X float64 `json:"x,omitempty"`

	// Xanchor 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.
	Xanchor SunburstMarkerColorbarXanchor `json:"xanchor,omitempty"`

	// Xpad number Sets the amount of padding (in px) along the x direction.
	Xpad float64 `json:"xpad,omitempty"`

	// Y number Sets the y position of the color bar (in plot fraction).
	Y float64 `json:"y,omitempty"`

	// Yanchor 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.
	Yanchor SunburstMarkerColorbarYanchor `json:"yanchor,omitempty"`

	// Ypad number Sets the amount of padding (in px) along the y direction.
	Ypad float64 `json:"ypad,omitempty"`
}

type SunburstMarkerColorbarExponentformat

type SunburstMarkerColorbarExponentformat string

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.

const (
	SunburstMarkerColorbarExponentformat_none  SunburstMarkerColorbarExponentformat = "none"
	SunburstMarkerColorbarExponentformat_e     SunburstMarkerColorbarExponentformat = "e"
	SunburstMarkerColorbarExponentformat_E     SunburstMarkerColorbarExponentformat = "E"
	SunburstMarkerColorbarExponentformat_power SunburstMarkerColorbarExponentformat = "power"
	SunburstMarkerColorbarExponentformat_SI    SunburstMarkerColorbarExponentformat = "SI"
	SunburstMarkerColorbarExponentformat_B     SunburstMarkerColorbarExponentformat = "B"
)

type SunburstMarkerColorbarLenmode

type SunburstMarkerColorbarLenmode string

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.

const (
	SunburstMarkerColorbarLenmode_fraction SunburstMarkerColorbarLenmode = "fraction"
	SunburstMarkerColorbarLenmode_pixels   SunburstMarkerColorbarLenmode = "pixels"
)

type SunburstMarkerColorbarShowexponent

type SunburstMarkerColorbarShowexponent string

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.

const (
	SunburstMarkerColorbarShowexponent_all   SunburstMarkerColorbarShowexponent = "all"
	SunburstMarkerColorbarShowexponent_first SunburstMarkerColorbarShowexponent = "first"
	SunburstMarkerColorbarShowexponent_last  SunburstMarkerColorbarShowexponent = "last"
	SunburstMarkerColorbarShowexponent_none  SunburstMarkerColorbarShowexponent = "none"
)

type SunburstMarkerColorbarShowtickprefix

type SunburstMarkerColorbarShowtickprefix string

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.

const (
	SunburstMarkerColorbarShowtickprefix_all   SunburstMarkerColorbarShowtickprefix = "all"
	SunburstMarkerColorbarShowtickprefix_first SunburstMarkerColorbarShowtickprefix = "first"
	SunburstMarkerColorbarShowtickprefix_last  SunburstMarkerColorbarShowtickprefix = "last"
	SunburstMarkerColorbarShowtickprefix_none  SunburstMarkerColorbarShowtickprefix = "none"
)

type SunburstMarkerColorbarShowticksuffix

type SunburstMarkerColorbarShowticksuffix string

SunburstMarkerColorbarShowticksuffix Same as `showtickprefix` but for tick suffixes.

const (
	SunburstMarkerColorbarShowticksuffix_all   SunburstMarkerColorbarShowticksuffix = "all"
	SunburstMarkerColorbarShowticksuffix_first SunburstMarkerColorbarShowticksuffix = "first"
	SunburstMarkerColorbarShowticksuffix_last  SunburstMarkerColorbarShowticksuffix = "last"
	SunburstMarkerColorbarShowticksuffix_none  SunburstMarkerColorbarShowticksuffix = "none"
)

type SunburstMarkerColorbarThicknessmode

type SunburstMarkerColorbarThicknessmode string

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.

const (
	SunburstMarkerColorbarThicknessmode_fraction SunburstMarkerColorbarThicknessmode = "fraction"
	SunburstMarkerColorbarThicknessmode_pixels   SunburstMarkerColorbarThicknessmode = "pixels"
)

type SunburstMarkerColorbarTickfont

type SunburstMarkerColorbarTickfont struct {

	// Color color <no value>
	Color String `json:"color,omitempty"`

	// Family string HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.
	Family String `json:"family,omitempty"`

	// Size number <no value>
	Size float64 `json:"size,omitempty"`
}

type SunburstMarkerColorbarTickformatstops

type SunburstMarkerColorbarTickformatstops interface{}

SunburstMarkerColorbarTickformatstops It's an items array and what goes inside it's... messy... check the docs Here is a hint to help you to define your own type tickformatstop

dtickrange
editType
enabled
name
role
templateitemname
value

type SunburstMarkerColorbarTicklabelposition

type SunburstMarkerColorbarTicklabelposition string

SunburstMarkerColorbarTicklabelposition Determines where tick labels are drawn.

const (
	SunburstMarkerColorbarTicklabelposition_outside       SunburstMarkerColorbarTicklabelposition = "outside"
	SunburstMarkerColorbarTicklabelposition_inside        SunburstMarkerColorbarTicklabelposition = "inside"
	SunburstMarkerColorbarTicklabelposition_outsidetop    SunburstMarkerColorbarTicklabelposition = "outside top"
	SunburstMarkerColorbarTicklabelposition_insidetop     SunburstMarkerColorbarTicklabelposition = "inside top"
	SunburstMarkerColorbarTicklabelposition_outsidebottom SunburstMarkerColorbarTicklabelposition = "outside bottom"
	SunburstMarkerColorbarTicklabelposition_insidebottom  SunburstMarkerColorbarTicklabelposition = "inside bottom"
)

type SunburstMarkerColorbarTickmode

type SunburstMarkerColorbarTickmode string

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).

const (
	SunburstMarkerColorbarTickmode_auto   SunburstMarkerColorbarTickmode = "auto"
	SunburstMarkerColorbarTickmode_linear SunburstMarkerColorbarTickmode = "linear"
	SunburstMarkerColorbarTickmode_array  SunburstMarkerColorbarTickmode = "array"
)

type SunburstMarkerColorbarTicks

type SunburstMarkerColorbarTicks string

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.

const (
	SunburstMarkerColorbarTicks_outside SunburstMarkerColorbarTicks = "outside"
	SunburstMarkerColorbarTicks_inside  SunburstMarkerColorbarTicks = "inside"
)

type SunburstMarkerColorbarTitle

type SunburstMarkerColorbarTitle struct {

	// Font <no value> Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.
	Font *SunburstMarkerColorbarTitleFont `json:"font,omitempty"`

	// Side 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.
	Side SunburstMarkerColorbarTitleSide `json:"side,omitempty"`

	// Text 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"`
}

type SunburstMarkerColorbarTitleFont

type SunburstMarkerColorbarTitleFont struct {

	// Color color <no value>
	Color String `json:"color,omitempty"`

	// Family string HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.
	Family String `json:"family,omitempty"`

	// Size number <no value>
	Size float64 `json:"size,omitempty"`
}

type SunburstMarkerColorbarTitleSide

type SunburstMarkerColorbarTitleSide string

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.

const (
	SunburstMarkerColorbarTitleSide_right  SunburstMarkerColorbarTitleSide = "right"
	SunburstMarkerColorbarTitleSide_top    SunburstMarkerColorbarTitleSide = "top"
	SunburstMarkerColorbarTitleSide_bottom SunburstMarkerColorbarTitleSide = "bottom"
)

type SunburstMarkerColorbarXanchor

type SunburstMarkerColorbarXanchor string

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.

const (
	SunburstMarkerColorbarXanchor_left   SunburstMarkerColorbarXanchor = "left"
	SunburstMarkerColorbarXanchor_center SunburstMarkerColorbarXanchor = "center"
	SunburstMarkerColorbarXanchor_right  SunburstMarkerColorbarXanchor = "right"
)

type SunburstMarkerColorbarYanchor

type SunburstMarkerColorbarYanchor string

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.

const (
	SunburstMarkerColorbarYanchor_top    SunburstMarkerColorbarYanchor = "top"
	SunburstMarkerColorbarYanchor_middle SunburstMarkerColorbarYanchor = "middle"
	SunburstMarkerColorbarYanchor_bottom SunburstMarkerColorbarYanchor = "bottom"
)

type SunburstMarkerLine

type SunburstMarkerLine struct {

	// Color color Sets the color of the line enclosing each sector. Defaults to the `paper_bgcolor` value.
	Color interface{} `json:"color,omitempty"`

	// Colorsrc string Sets the source reference on Chart Studio Cloud for  color .
	Colorsrc String `json:"colorsrc,omitempty"`

	// Width number Sets the width (in px) of the line enclosing each sector.
	Width interface{} `json:"width,omitempty"`

	// Widthsrc string Sets the source reference on Chart Studio Cloud for  width .
	Widthsrc String `json:"widthsrc,omitempty"`
}

type SunburstOutsidetextfont

type SunburstOutsidetextfont struct {

	// Color color <no value>
	Color interface{} `json:"color,omitempty"`

	// Colorsrc string Sets the source reference on Chart Studio Cloud for  color .
	Colorsrc String `json:"colorsrc,omitempty"`

	// Family string HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.
	Family interface{} `json:"family,omitempty"`

	// Familysrc string Sets the source reference on Chart Studio Cloud for  family .
	Familysrc String `json:"familysrc,omitempty"`

	// Size number <no value>
	Size interface{} `json:"size,omitempty"`

	// Sizesrc string Sets the source reference on Chart Studio Cloud for  size .
	Sizesrc String `json:"sizesrc,omitempty"`
}

type SunburstRoot

type SunburstRoot struct {

	// Color 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.
	Color String `json:"color,omitempty"`
}

type SunburstStream

type SunburstStream struct {

	// Maxpoints 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 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"`
}

type SunburstTextfont

type SunburstTextfont struct {

	// Color color <no value>
	Color interface{} `json:"color,omitempty"`

	// Colorsrc string Sets the source reference on Chart Studio Cloud for  color .
	Colorsrc String `json:"colorsrc,omitempty"`

	// Family string HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.
	Family interface{} `json:"family,omitempty"`

	// Familysrc string Sets the source reference on Chart Studio Cloud for  family .
	Familysrc String `json:"familysrc,omitempty"`

	// Size number <no value>
	Size interface{} `json:"size,omitempty"`

	// Sizesrc string Sets the source reference on Chart Studio Cloud for  size .
	Sizesrc String `json:"sizesrc,omitempty"`
}

type SunburstTextinfo

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"
	// Extras
	SunburstTextinfoNone SunburstTextinfo = "none"
)

type SunburstTransforms

type SunburstTransforms interface{}

SunburstTransforms It's an items array and what goes inside it's... messy... check the docs Here is a hint to help you to define your own type transform

description
editType
role

type SunburstVisible

type SunburstVisible interface{}

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).

var (
	SunburstVisible_True       SunburstVisible = true
	SunburstVisible_False      SunburstVisible = false
	SunburstVisible_legendonly SunburstVisible = "legendonly"
)

type Surface

type Surface struct {

	// Type is the type of the plot
	Type TraceType `json:"type,omitempty"`

	// Autocolorscale 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 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 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 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 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 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 <no value> <no value>
	Colorbar *SurfaceColorbar `json:"colorbar,omitempty"`

	// Connectgaps 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 <no value> <no value>
	Contours *SurfaceContours `json:"contours,omitempty"`

	// Customdata 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 string Sets the source reference on Chart Studio Cloud for  customdata .
	Customdatasrc String `json:"customdatasrc,omitempty"`

	// Hidesurface 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 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 string Sets the source reference on Chart Studio Cloud for  hoverinfo .
	Hoverinfosrc String `json:"hoverinfosrc,omitempty"`

	// Hoverlabel <no value> <no value>
	Hoverlabel *SurfaceHoverlabel `json:"hoverlabel,omitempty"`

	// Hovertemplate 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 `<extra>` is displayed in the secondary box, for example "<extra>{fullData.name}</extra>". To hide the secondary box completely, use an empty tag `<extra></extra>`.
	Hovertemplate interface{} `json:"hovertemplate,omitempty"`

	// Hovertemplatesrc string Sets the source reference on Chart Studio Cloud for  hovertemplate .
	Hovertemplatesrc String `json:"hovertemplatesrc,omitempty"`

	// Hovertext string Same as `text`.
	Hovertext interface{} `json:"hovertext,omitempty"`

	// Hovertextsrc string Sets the source reference on Chart Studio Cloud for  hovertext .
	Hovertextsrc String `json:"hovertextsrc,omitempty"`

	// Ids 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 string Sets the source reference on Chart Studio Cloud for  ids .
	Idssrc String `json:"idssrc,omitempty"`

	// Legendgroup 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"`

	// Lighting <no value> <no value>
	Lighting *SurfaceLighting `json:"lighting,omitempty"`

	// Lightposition <no value> <no value>
	Lightposition *SurfaceLightposition `json:"lightposition,omitempty"`

	// Meta 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 string Sets the source reference on Chart Studio Cloud for  meta .
	Metasrc String `json:"metasrc,omitempty"`

	// Name string Sets the trace name. The trace name appear as the legend item and on hover.
	Name String `json:"name,omitempty"`

	// Opacity 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 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 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 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 boolean Determines whether or not an item corresponding to this trace is shown in the legend.
	Showlegend Bool `json:"showlegend,omitempty"`

	// Showscale boolean Determines whether or not a colorbar is displayed for this trace.
	Showscale Bool `json:"showscale,omitempty"`

	// Stream <no value> <no value>
	Stream *SurfaceStream `json:"stream,omitempty"`

	// Surfacecolor data_array Sets the surface color values, used for setting a color scale independent of `z`.
	Surfacecolor interface{} `json:"surfacecolor,omitempty"`

	// Surfacecolorsrc string Sets the source reference on Chart Studio Cloud for  surfacecolor .
	Surfacecolorsrc String `json:"surfacecolorsrc,omitempty"`

	// Text 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 interface{} `json:"text,omitempty"`

	// Textsrc string Sets the source reference on Chart Studio Cloud for  text .
	Textsrc String `json:"textsrc,omitempty"`

	// Uid 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 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 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 data_array Sets the x coordinates.
	X interface{} `json:"x,omitempty"`

	// Xcalendar enumerated Sets the calendar system to use with `x` date data.
	Xcalendar SurfaceXcalendar `json:"xcalendar,omitempty"`

	// Xsrc string Sets the source reference on Chart Studio Cloud for  x .
	Xsrc String `json:"xsrc,omitempty"`

	// Y data_array Sets the y coordinates.
	Y interface{} `json:"y,omitempty"`

	// Ycalendar enumerated Sets the calendar system to use with `y` date data.
	Ycalendar SurfaceYcalendar `json:"ycalendar,omitempty"`

	// Ysrc string Sets the source reference on Chart Studio Cloud for  y .
	Ysrc String `json:"ysrc,omitempty"`

	// Z data_array Sets the z coordinates.
	Z interface{} `json:"z,omitempty"`

	// Zcalendar enumerated Sets the calendar system to use with `z` date data.
	Zcalendar SurfaceZcalendar `json:"zcalendar,omitempty"`

	// Zsrc string Sets the source reference on Chart Studio Cloud for  z .
	Zsrc String `json:"zsrc,omitempty"`
}

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`.

func NewSurface

func NewSurface() *Surface

func (*Surface) GetType

func (this *Surface) GetType() TraceType

type SurfaceColorbar

type SurfaceColorbar struct {

	// Bgcolor color Sets the color of padded area.
	Bgcolor String `json:"bgcolor,omitempty"`

	// Bordercolor color Sets the axis line color.
	Bordercolor String `json:"bordercolor,omitempty"`

	// Borderwidth number Sets the width (in px) or the border enclosing this color bar.
	Borderwidth float64 `json:"borderwidth,omitempty"`

	// Dtick 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<f>*, where `f` is a positive number, gives ticks linearly spaced in value (but not position). For example `tick0` = 0.1, `dtick` = *L0.5* will put ticks at 0.1, 0.6, 1.1, 1.6 etc. To show powers of 10 plus small digits between, use *D1* (all digits) or *D2* (only 2 and 5). `tick0` is ignored for *D1* and *D2*. If the axis `type` is *date*, then you must convert the time to milliseconds. For example, to set the interval between ticks to one day, set `dtick` to 86400000.0. *date* also has special values *M<n>* gives ticks spaced by a number of months. `n` must be a positive integer. To set ticks on the 15th of every third month, set `tick0` to *2000-01-15* and `dtick` to *M3*. To set ticks every 4 years, set `dtick` to *M48*
	Dtick interface{} `json:"dtick,omitempty"`

	// Exponentformat 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"`

	// Len 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 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 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 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"`

	// Outlinecolor color Sets the axis line color.
	Outlinecolor String `json:"outlinecolor,omitempty"`

	// Outlinewidth number Sets the width (in px) of the axis line.
	Outlinewidth float64 `json:"outlinewidth,omitempty"`

	// Separatethousands boolean If "true", even 4-digit integers are separated
	Separatethousands Bool `json:"separatethousands,omitempty"`

	// Showexponent 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 boolean Determines whether or not the tick labels are drawn.
	Showticklabels Bool `json:"showticklabels,omitempty"`

	// Showtickprefix 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 enumerated Same as `showtickprefix` but for tick suffixes.
	Showticksuffix SurfaceColorbarShowticksuffix `json:"showticksuffix,omitempty"`

	// Thickness 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 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 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<f>* (see `dtick` for more info). If the axis `type` is *date*, it should be a date string, like date data. If the axis `type` is *category*, it should be a number, using the scale where each category is assigned a serial number from zero in the order it appears.
	Tick0 interface{} `json:"tick0,omitempty"`

	// Tickangle 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 color Sets the tick color.
	Tickcolor String `json:"tickcolor,omitempty"`

	// Tickfont <no value> Sets the color bar's tick label font
	Tickfont *SurfaceColorbarTickfont `json:"tickfont,omitempty"`

	// Tickformat 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*
	Tickformat String `json:"tickformat,omitempty"`

	// Tickformatstops <no value> <no value>
	Tickformatstops SurfaceColorbarTickformatstops `json:"tickformatstops,omitempty"`

	// Ticklabelposition enumerated Determines where tick labels are drawn.
	Ticklabelposition SurfaceColorbarTicklabelposition `json:"ticklabelposition,omitempty"`

	// Ticklen number Sets the tick length (in px).
	Ticklen float64 `json:"ticklen,omitempty"`

	// Tickmode 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 string Sets a tick label prefix.
	Tickprefix String `json:"tickprefix,omitempty"`

	// Ticks 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 string Sets a tick label suffix.
	Ticksuffix String `json:"ticksuffix,omitempty"`

	// Ticktext 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 string Sets the source reference on Chart Studio Cloud for  ticktext .
	Ticktextsrc String `json:"ticktextsrc,omitempty"`

	// Tickvals 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 string Sets the source reference on Chart Studio Cloud for  tickvals .
	Tickvalssrc String `json:"tickvalssrc,omitempty"`

	// Tickwidth number Sets the tick width (in px).
	Tickwidth float64 `json:"tickwidth,omitempty"`

	// Title <no value> <no value>
	Title *SurfaceColorbarTitle `json:"title,omitempty"`

	// X number Sets the x position of the color bar (in plot fraction).
	X float64 `json:"x,omitempty"`

	// Xanchor 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.
	Xanchor SurfaceColorbarXanchor `json:"xanchor,omitempty"`

	// Xpad number Sets the amount of padding (in px) along the x direction.
	Xpad float64 `json:"xpad,omitempty"`

	// Y number Sets the y position of the color bar (in plot fraction).
	Y float64 `json:"y,omitempty"`

	// Yanchor 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.
	Yanchor SurfaceColorbarYanchor `json:"yanchor,omitempty"`

	// Ypad number Sets the amount of padding (in px) along the y direction.
	Ypad float64 `json:"ypad,omitempty"`
}

type SurfaceColorbarExponentformat

type SurfaceColorbarExponentformat string

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.

const (
	SurfaceColorbarExponentformat_none  SurfaceColorbarExponentformat = "none"
	SurfaceColorbarExponentformat_e     SurfaceColorbarExponentformat = "e"
	SurfaceColorbarExponentformat_E     SurfaceColorbarExponentformat = "E"
	SurfaceColorbarExponentformat_power SurfaceColorbarExponentformat = "power"
	SurfaceColorbarExponentformat_SI    SurfaceColorbarExponentformat = "SI"
	SurfaceColorbarExponentformat_B     SurfaceColorbarExponentformat = "B"
)

type SurfaceColorbarLenmode

type SurfaceColorbarLenmode string

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.

const (
	SurfaceColorbarLenmode_fraction SurfaceColorbarLenmode = "fraction"
	SurfaceColorbarLenmode_pixels   SurfaceColorbarLenmode = "pixels"
)

type SurfaceColorbarShowexponent

type SurfaceColorbarShowexponent string

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.

const (
	SurfaceColorbarShowexponent_all   SurfaceColorbarShowexponent = "all"
	SurfaceColorbarShowexponent_first SurfaceColorbarShowexponent = "first"
	SurfaceColorbarShowexponent_last  SurfaceColorbarShowexponent = "last"
	SurfaceColorbarShowexponent_none  SurfaceColorbarShowexponent = "none"
)

type SurfaceColorbarShowtickprefix

type SurfaceColorbarShowtickprefix string

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.

const (
	SurfaceColorbarShowtickprefix_all   SurfaceColorbarShowtickprefix = "all"
	SurfaceColorbarShowtickprefix_first SurfaceColorbarShowtickprefix = "first"
	SurfaceColorbarShowtickprefix_last  SurfaceColorbarShowtickprefix = "last"
	SurfaceColorbarShowtickprefix_none  SurfaceColorbarShowtickprefix = "none"
)

type SurfaceColorbarShowticksuffix

type SurfaceColorbarShowticksuffix string

SurfaceColorbarShowticksuffix Same as `showtickprefix` but for tick suffixes.

const (
	SurfaceColorbarShowticksuffix_all   SurfaceColorbarShowticksuffix = "all"
	SurfaceColorbarShowticksuffix_first SurfaceColorbarShowticksuffix = "first"
	SurfaceColorbarShowticksuffix_last  SurfaceColorbarShowticksuffix = "last"
	SurfaceColorbarShowticksuffix_none  SurfaceColorbarShowticksuffix = "none"
)

type SurfaceColorbarThicknessmode

type SurfaceColorbarThicknessmode string

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.

const (
	SurfaceColorbarThicknessmode_fraction SurfaceColorbarThicknessmode = "fraction"
	SurfaceColorbarThicknessmode_pixels   SurfaceColorbarThicknessmode = "pixels"
)

type SurfaceColorbarTickfont

type SurfaceColorbarTickfont struct {

	// Color color <no value>
	Color String `json:"color,omitempty"`

	// Family string HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.
	Family String `json:"family,omitempty"`

	// Size number <no value>
	Size float64 `json:"size,omitempty"`
}

type SurfaceColorbarTickformatstops

type SurfaceColorbarTickformatstops interface{}

SurfaceColorbarTickformatstops It's an items array and what goes inside it's... messy... check the docs Here is a hint to help you to define your own type tickformatstop

dtickrange
editType
enabled
name
role
templateitemname
value

type SurfaceColorbarTicklabelposition

type SurfaceColorbarTicklabelposition string

SurfaceColorbarTicklabelposition Determines where tick labels are drawn.

const (
	SurfaceColorbarTicklabelposition_outside       SurfaceColorbarTicklabelposition = "outside"
	SurfaceColorbarTicklabelposition_inside        SurfaceColorbarTicklabelposition = "inside"
	SurfaceColorbarTicklabelposition_outsidetop    SurfaceColorbarTicklabelposition = "outside top"
	SurfaceColorbarTicklabelposition_insidetop     SurfaceColorbarTicklabelposition = "inside top"
	SurfaceColorbarTicklabelposition_outsidebottom SurfaceColorbarTicklabelposition = "outside bottom"
	SurfaceColorbarTicklabelposition_insidebottom  SurfaceColorbarTicklabelposition = "inside bottom"
)

type SurfaceColorbarTickmode

type SurfaceColorbarTickmode string

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).

const (
	SurfaceColorbarTickmode_auto   SurfaceColorbarTickmode = "auto"
	SurfaceColorbarTickmode_linear SurfaceColorbarTickmode = "linear"
	SurfaceColorbarTickmode_array  SurfaceColorbarTickmode = "array"
)

type SurfaceColorbarTicks

type SurfaceColorbarTicks string

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.

const (
	SurfaceColorbarTicks_outside SurfaceColorbarTicks = "outside"
	SurfaceColorbarTicks_inside  SurfaceColorbarTicks = "inside"
)

type SurfaceColorbarTitle

type SurfaceColorbarTitle struct {

	// Font <no value> Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.
	Font *SurfaceColorbarTitleFont `json:"font,omitempty"`

	// Side 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.
	Side SurfaceColorbarTitleSide `json:"side,omitempty"`

	// Text 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"`
}

type SurfaceColorbarTitleFont

type SurfaceColorbarTitleFont struct {

	// Color color <no value>
	Color String `json:"color,omitempty"`

	// Family string HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.
	Family String `json:"family,omitempty"`

	// Size number <no value>
	Size float64 `json:"size,omitempty"`
}

type SurfaceColorbarTitleSide

type SurfaceColorbarTitleSide string

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.

const (
	SurfaceColorbarTitleSide_right  SurfaceColorbarTitleSide = "right"
	SurfaceColorbarTitleSide_top    SurfaceColorbarTitleSide = "top"
	SurfaceColorbarTitleSide_bottom SurfaceColorbarTitleSide = "bottom"
)

type SurfaceColorbarXanchor

type SurfaceColorbarXanchor string

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.

const (
	SurfaceColorbarXanchor_left   SurfaceColorbarXanchor = "left"
	SurfaceColorbarXanchor_center SurfaceColorbarXanchor = "center"
	SurfaceColorbarXanchor_right  SurfaceColorbarXanchor = "right"
)

type SurfaceColorbarYanchor

type SurfaceColorbarYanchor string

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.

const (
	SurfaceColorbarYanchor_top    SurfaceColorbarYanchor = "top"
	SurfaceColorbarYanchor_middle SurfaceColorbarYanchor = "middle"
	SurfaceColorbarYanchor_bottom SurfaceColorbarYanchor = "bottom"
)

type SurfaceContours

type SurfaceContours struct {

	// X <no value> <no value>
	X *SurfaceContoursX `json:"x,omitempty"`

	// Y <no value> <no value>
	Y *SurfaceContoursY `json:"y,omitempty"`

	// Z <no value> <no value>
	Z *SurfaceContoursZ `json:"z,omitempty"`
}

type SurfaceContoursX

type SurfaceContoursX struct {

	// Color color Sets the color of the contour lines.
	Color String `json:"color,omitempty"`

	// End number Sets the end contour level value. Must be more than `contours.start`
	End float64 `json:"end,omitempty"`

	// Highlight boolean Determines whether or not contour lines about the x dimension are highlighted on hover.
	Highlight Bool `json:"highlight,omitempty"`

	// Highlightcolor color Sets the color of the highlighted contour lines.
	Highlightcolor String `json:"highlightcolor,omitempty"`

	// Highlightwidth number Sets the width of the highlighted contour lines.
	Highlightwidth float64 `json:"highlightwidth,omitempty"`

	// Project <no value> <no value>
	Project *SurfaceContoursXProject `json:"project,omitempty"`

	// Show boolean Determines whether or not contour lines about the x dimension are drawn.
	Show Bool `json:"show,omitempty"`

	// Size number Sets the step between each contour level. Must be positive.
	Size float64 `json:"size,omitempty"`

	// Start number Sets the starting contour level value. Must be less than `contours.end`
	Start float64 `json:"start,omitempty"`

	// Usecolormap boolean An alternate to *color*. Determines whether or not the contour lines are colored using the trace *colorscale*.
	Usecolormap Bool `json:"usecolormap,omitempty"`

	// Width number Sets the width of the contour lines.
	Width float64 `json:"width,omitempty"`
}

type SurfaceContoursXProject

type SurfaceContoursXProject struct {

	// X 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 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 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"`
}

type SurfaceContoursY

type SurfaceContoursY struct {

	// Color color Sets the color of the contour lines.
	Color String `json:"color,omitempty"`

	// End number Sets the end contour level value. Must be more than `contours.start`
	End float64 `json:"end,omitempty"`

	// Highlight boolean Determines whether or not contour lines about the y dimension are highlighted on hover.
	Highlight Bool `json:"highlight,omitempty"`

	// Highlightcolor color Sets the color of the highlighted contour lines.
	Highlightcolor String `json:"highlightcolor,omitempty"`

	// Highlightwidth number Sets the width of the highlighted contour lines.
	Highlightwidth float64 `json:"highlightwidth,omitempty"`

	// Project <no value> <no value>
	Project *SurfaceContoursYProject `json:"project,omitempty"`

	// Show boolean Determines whether or not contour lines about the y dimension are drawn.
	Show Bool `json:"show,omitempty"`

	// Size number Sets the step between each contour level. Must be positive.
	Size float64 `json:"size,omitempty"`

	// Start number Sets the starting contour level value. Must be less than `contours.end`
	Start float64 `json:"start,omitempty"`

	// Usecolormap boolean An alternate to *color*. Determines whether or not the contour lines are colored using the trace *colorscale*.
	Usecolormap Bool `json:"usecolormap,omitempty"`

	// Width number Sets the width of the contour lines.
	Width float64 `json:"width,omitempty"`
}

type SurfaceContoursYProject

type SurfaceContoursYProject struct {

	// X 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 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 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"`
}

type SurfaceContoursZ

type SurfaceContoursZ struct {

	// Color color Sets the color of the contour lines.
	Color String `json:"color,omitempty"`

	// End number Sets the end contour level value. Must be more than `contours.start`
	End float64 `json:"end,omitempty"`

	// Highlight boolean Determines whether or not contour lines about the z dimension are highlighted on hover.
	Highlight Bool `json:"highlight,omitempty"`

	// Highlightcolor color Sets the color of the highlighted contour lines.
	Highlightcolor String `json:"highlightcolor,omitempty"`

	// Highlightwidth number Sets the width of the highlighted contour lines.
	Highlightwidth float64 `json:"highlightwidth,omitempty"`

	// Project <no value> <no value>
	Project *SurfaceContoursZProject `json:"project,omitempty"`

	// Show boolean Determines whether or not contour lines about the z dimension are drawn.
	Show Bool `json:"show,omitempty"`

	// Size number Sets the step between each contour level. Must be positive.
	Size float64 `json:"size,omitempty"`

	// Start number Sets the starting contour level value. Must be less than `contours.end`
	Start float64 `json:"start,omitempty"`

	// Usecolormap boolean An alternate to *color*. Determines whether or not the contour lines are colored using the trace *colorscale*.
	Usecolormap Bool `json:"usecolormap,omitempty"`

	// Width number Sets the width of the contour lines.
	Width float64 `json:"width,omitempty"`
}

type SurfaceContoursZProject

type SurfaceContoursZProject struct {

	// X 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 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 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"`
}

type SurfaceHoverinfo

type SurfaceHoverinfo string
const (
	// Flags
	SurfaceHoverinfoX    SurfaceHoverinfo = "x"
	SurfaceHoverinfoY    SurfaceHoverinfo = "y"
	SurfaceHoverinfoZ    SurfaceHoverinfo = "z"
	SurfaceHoverinfoText SurfaceHoverinfo = "text"
	SurfaceHoverinfoName SurfaceHoverinfo = "name"
	// Extras
	SurfaceHoverinfoAll  SurfaceHoverinfo = "all"
	SurfaceHoverinfoNone SurfaceHoverinfo = "none"
	SurfaceHoverinfoSkip SurfaceHoverinfo = "skip"
)

type SurfaceHoverlabel

type SurfaceHoverlabel struct {

	// Align 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 string Sets the source reference on Chart Studio Cloud for  align .
	Alignsrc String `json:"alignsrc,omitempty"`

	// Bgcolor color Sets the background color of the hover labels for this trace
	Bgcolor interface{} `json:"bgcolor,omitempty"`

	// Bgcolorsrc string Sets the source reference on Chart Studio Cloud for  bgcolor .
	Bgcolorsrc String `json:"bgcolorsrc,omitempty"`

	// Bordercolor color Sets the border color of the hover labels for this trace.
	Bordercolor interface{} `json:"bordercolor,omitempty"`

	// Bordercolorsrc string Sets the source reference on Chart Studio Cloud for  bordercolor .
	Bordercolorsrc String `json:"bordercolorsrc,omitempty"`

	// Font <no value> Sets the font used in hover labels.
	Font *SurfaceHoverlabelFont `json:"font,omitempty"`

	// Namelength 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 interface{} `json:"namelength,omitempty"`

	// Namelengthsrc string Sets the source reference on Chart Studio Cloud for  namelength .
	Namelengthsrc String `json:"namelengthsrc,omitempty"`
}

type SurfaceHoverlabelAlign

type SurfaceHoverlabelAlign string

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

const (
	SurfaceHoverlabelAlign_left  SurfaceHoverlabelAlign = "left"
	SurfaceHoverlabelAlign_right SurfaceHoverlabelAlign = "right"
	SurfaceHoverlabelAlign_auto  SurfaceHoverlabelAlign = "auto"
)

type SurfaceHoverlabelFont

type SurfaceHoverlabelFont struct {

	// Color color <no value>
	Color interface{} `json:"color,omitempty"`

	// Colorsrc string Sets the source reference on Chart Studio Cloud for  color .
	Colorsrc String `json:"colorsrc,omitempty"`

	// Family string HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.
	Family interface{} `json:"family,omitempty"`

	// Familysrc string Sets the source reference on Chart Studio Cloud for  family .
	Familysrc String `json:"familysrc,omitempty"`

	// Size number <no value>
	Size interface{} `json:"size,omitempty"`

	// Sizesrc string Sets the source reference on Chart Studio Cloud for  size .
	Sizesrc String `json:"sizesrc,omitempty"`
}

type SurfaceLighting

type SurfaceLighting struct {

	// Ambient number Ambient light increases overall color visibility but can wash out the image.
	Ambient float64 `json:"ambient,omitempty"`

	// Diffuse number Represents the extent that incident rays are reflected in a range of angles.
	Diffuse float64 `json:"diffuse,omitempty"`

	// Fresnel 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 number Alters specular reflection; the rougher the surface, the wider and less contrasty the shine.
	Roughness float64 `json:"roughness,omitempty"`

	// Specular number Represents the level that incident rays are reflected in a single direction, causing shine.
	Specular float64 `json:"specular,omitempty"`
}

type SurfaceLightposition

type SurfaceLightposition struct {

	// X number Numeric vector, representing the X coordinate for each vertex.
	X float64 `json:"x,omitempty"`

	// Y number Numeric vector, representing the Y coordinate for each vertex.
	Y float64 `json:"y,omitempty"`

	// Z number Numeric vector, representing the Z coordinate for each vertex.
	Z float64 `json:"z,omitempty"`
}

type SurfaceStream

type SurfaceStream struct {

	// Maxpoints 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 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"`
}

type SurfaceVisible

type SurfaceVisible interface{}

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).

var (
	SurfaceVisible_True       SurfaceVisible = true
	SurfaceVisible_False      SurfaceVisible = false
	SurfaceVisible_legendonly SurfaceVisible = "legendonly"
)

type SurfaceXcalendar

type SurfaceXcalendar string

SurfaceXcalendar Sets the calendar system to use with `x` date data.

const (
	SurfaceXcalendar_gregorian  SurfaceXcalendar = "gregorian"
	SurfaceXcalendar_chinese    SurfaceXcalendar = "chinese"
	SurfaceXcalendar_coptic     SurfaceXcalendar = "coptic"
	SurfaceXcalendar_discworld  SurfaceXcalendar = "discworld"
	SurfaceXcalendar_ethiopian  SurfaceXcalendar = "ethiopian"
	SurfaceXcalendar_hebrew     SurfaceXcalendar = "hebrew"
	SurfaceXcalendar_islamic    SurfaceXcalendar = "islamic"
	SurfaceXcalendar_julian     SurfaceXcalendar = "julian"
	SurfaceXcalendar_mayan      SurfaceXcalendar = "mayan"
	SurfaceXcalendar_nanakshahi SurfaceXcalendar = "nanakshahi"
	SurfaceXcalendar_nepali     SurfaceXcalendar = "nepali"
	SurfaceXcalendar_persian    SurfaceXcalendar = "persian"
	SurfaceXcalendar_jalali     SurfaceXcalendar = "jalali"
	SurfaceXcalendar_taiwan     SurfaceXcalendar = "taiwan"
	SurfaceXcalendar_thai       SurfaceXcalendar = "thai"
	SurfaceXcalendar_ummalqura  SurfaceXcalendar = "ummalqura"
)

type SurfaceYcalendar

type SurfaceYcalendar string

SurfaceYcalendar Sets the calendar system to use with `y` date data.

const (
	SurfaceYcalendar_gregorian  SurfaceYcalendar = "gregorian"
	SurfaceYcalendar_chinese    SurfaceYcalendar = "chinese"
	SurfaceYcalendar_coptic     SurfaceYcalendar = "coptic"
	SurfaceYcalendar_discworld  SurfaceYcalendar = "discworld"
	SurfaceYcalendar_ethiopian  SurfaceYcalendar = "ethiopian"
	SurfaceYcalendar_hebrew     SurfaceYcalendar = "hebrew"
	SurfaceYcalendar_islamic    SurfaceYcalendar = "islamic"
	SurfaceYcalendar_julian     SurfaceYcalendar = "julian"
	SurfaceYcalendar_mayan      SurfaceYcalendar = "mayan"
	SurfaceYcalendar_nanakshahi SurfaceYcalendar = "nanakshahi"
	SurfaceYcalendar_nepali     SurfaceYcalendar = "nepali"
	SurfaceYcalendar_persian    SurfaceYcalendar = "persian"
	SurfaceYcalendar_jalali     SurfaceYcalendar = "jalali"
	SurfaceYcalendar_taiwan     SurfaceYcalendar = "taiwan"
	SurfaceYcalendar_thai       SurfaceYcalendar = "thai"
	SurfaceYcalendar_ummalqura  SurfaceYcalendar = "ummalqura"
)

type SurfaceZcalendar

type SurfaceZcalendar string

SurfaceZcalendar Sets the calendar system to use with `z` date data.

const (
	SurfaceZcalendar_gregorian  SurfaceZcalendar = "gregorian"
	SurfaceZcalendar_chinese    SurfaceZcalendar = "chinese"
	SurfaceZcalendar_coptic     SurfaceZcalendar = "coptic"
	SurfaceZcalendar_discworld  SurfaceZcalendar = "discworld"
	SurfaceZcalendar_ethiopian  SurfaceZcalendar = "ethiopian"
	SurfaceZcalendar_hebrew     SurfaceZcalendar = "hebrew"
	SurfaceZcalendar_islamic    SurfaceZcalendar = "islamic"
	SurfaceZcalendar_julian     SurfaceZcalendar = "julian"
	SurfaceZcalendar_mayan      SurfaceZcalendar = "mayan"
	SurfaceZcalendar_nanakshahi SurfaceZcalendar = "nanakshahi"
	SurfaceZcalendar_nepali     SurfaceZcalendar = "nepali"
	SurfaceZcalendar_persian    SurfaceZcalendar = "persian"
	SurfaceZcalendar_jalali     SurfaceZcalendar = "jalali"
	SurfaceZcalendar_taiwan     SurfaceZcalendar = "taiwan"
	SurfaceZcalendar_thai       SurfaceZcalendar = "thai"
	SurfaceZcalendar_ummalqura  SurfaceZcalendar = "ummalqura"
)

type Table

type Table struct {

	// Type is the type of the plot
	Type TraceType `json:"type,omitempty"`

	// Cells <no value> <no value>
	Cells *TableCells `json:"cells,omitempty"`

	// Columnorder 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 string Sets the source reference on Chart Studio Cloud for  columnorder .
	Columnordersrc String `json:"columnordersrc,omitempty"`

	// Columnwidth number The width of columns expressed as a ratio. Columns fill the available width in proportion of their specified column widths.
	Columnwidth interface{} `json:"columnwidth,omitempty"`

	// Columnwidthsrc string Sets the source reference on Chart Studio Cloud for  columnwidth .
	Columnwidthsrc String `json:"columnwidthsrc,omitempty"`

	// Customdata 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 string Sets the source reference on Chart Studio Cloud for  customdata .
	Customdatasrc String `json:"customdatasrc,omitempty"`

	// Domain <no value> <no value>
	Domain *TableDomain `json:"domain,omitempty"`

	// Header <no value> <no value>
	Header *TableHeader `json:"header,omitempty"`

	// Hoverinfo 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 string Sets the source reference on Chart Studio Cloud for  hoverinfo .
	Hoverinfosrc String `json:"hoverinfosrc,omitempty"`

	// Hoverlabel <no value> <no value>
	Hoverlabel *TableHoverlabel `json:"hoverlabel,omitempty"`

	// Ids 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 string Sets the source reference on Chart Studio Cloud for  ids .
	Idssrc String `json:"idssrc,omitempty"`

	// Meta 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 string Sets the source reference on Chart Studio Cloud for  meta .
	Metasrc String `json:"metasrc,omitempty"`

	// Name string Sets the trace name. The trace name appear as the legend item and on hover.
	Name String `json:"name,omitempty"`

	// Stream <no value> <no value>
	Stream *TableStream `json:"stream,omitempty"`

	// Uid 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 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 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"`
}

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.

func NewTable

func NewTable() *Table

func (*Table) GetType

func (this *Table) GetType() TraceType

type TableCells

type TableCells struct {

	// Align 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 <br> HTML tags) or if an explicit width is set to override the text width.
	Align TableCellsAlign `json:"align,omitempty"`

	// Alignsrc string Sets the source reference on Chart Studio Cloud for  align .
	Alignsrc String `json:"alignsrc,omitempty"`

	// Fill <no value> <no value>
	Fill *TableCellsFill `json:"fill,omitempty"`

	// Font <no value>
	Font *TableCellsFont `json:"font,omitempty"`

	// Format 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
	Format interface{} `json:"format,omitempty"`

	// Formatsrc string Sets the source reference on Chart Studio Cloud for  format .
	Formatsrc String `json:"formatsrc,omitempty"`

	// Height number The height of cells.
	Height float64 `json:"height,omitempty"`

	// Line <no value> <no value>
	Line *TableCellsLine `json:"line,omitempty"`

	// Prefix string Prefix for cell values.
	Prefix interface{} `json:"prefix,omitempty"`

	// Prefixsrc string Sets the source reference on Chart Studio Cloud for  prefix .
	Prefixsrc String `json:"prefixsrc,omitempty"`

	// Suffix string Suffix for cell values.
	Suffix interface{} `json:"suffix,omitempty"`

	// Suffixsrc string Sets the source reference on Chart Studio Cloud for  suffix .
	Suffixsrc String `json:"suffixsrc,omitempty"`

	// Values 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 string Sets the source reference on Chart Studio Cloud for  values .
	Valuessrc String `json:"valuessrc,omitempty"`
}

type TableCellsAlign

type TableCellsAlign string

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 <br> HTML tags) or if an explicit width is set to override the text width.

const (
	TableCellsAlign_left   TableCellsAlign = "left"
	TableCellsAlign_center TableCellsAlign = "center"
	TableCellsAlign_right  TableCellsAlign = "right"
)

type TableCellsFill

type TableCellsFill struct {

	// Color color Sets the cell fill color. It accepts either a specific color or an array of colors or a 2D array of colors.
	Color interface{} `json:"color,omitempty"`

	// Colorsrc string Sets the source reference on Chart Studio Cloud for  color .
	Colorsrc String `json:"colorsrc,omitempty"`
}

type TableCellsFont

type TableCellsFont struct {

	// Color color <no value>
	Color interface{} `json:"color,omitempty"`

	// Colorsrc string Sets the source reference on Chart Studio Cloud for  color .
	Colorsrc String `json:"colorsrc,omitempty"`

	// Family string HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.
	Family interface{} `json:"family,omitempty"`

	// Familysrc string Sets the source reference on Chart Studio Cloud for  family .
	Familysrc String `json:"familysrc,omitempty"`

	// Size number <no value>
	Size interface{} `json:"size,omitempty"`

	// Sizesrc string Sets the source reference on Chart Studio Cloud for  size .
	Sizesrc String `json:"sizesrc,omitempty"`
}

type TableCellsLine

type TableCellsLine struct {

	// Color color <no value>
	Color interface{} `json:"color,omitempty"`

	// Colorsrc string Sets the source reference on Chart Studio Cloud for  color .
	Colorsrc String `json:"colorsrc,omitempty"`

	// Width number <no value>
	Width interface{} `json:"width,omitempty"`

	// Widthsrc string Sets the source reference on Chart Studio Cloud for  width .
	Widthsrc String `json:"widthsrc,omitempty"`
}

type TableDomain

type TableDomain struct {

	// Column 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 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 info_array Sets the horizontal domain of this table trace (in plot fraction).
	X interface{} `json:"x,omitempty"`

	// Y info_array Sets the vertical domain of this table trace (in plot fraction).
	Y interface{} `json:"y,omitempty"`
}

type TableHeader

type TableHeader struct {

	// Align 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 <br> HTML tags) or if an explicit width is set to override the text width.
	Align TableHeaderAlign `json:"align,omitempty"`

	// Alignsrc string Sets the source reference on Chart Studio Cloud for  align .
	Alignsrc String `json:"alignsrc,omitempty"`

	// Fill <no value> <no value>
	Fill *TableHeaderFill `json:"fill,omitempty"`

	// Font <no value>
	Font *TableHeaderFont `json:"font,omitempty"`

	// Format 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
	Format interface{} `json:"format,omitempty"`

	// Formatsrc string Sets the source reference on Chart Studio Cloud for  format .
	Formatsrc String `json:"formatsrc,omitempty"`

	// Height number The height of cells.
	Height float64 `json:"height,omitempty"`

	// Line <no value> <no value>
	Line *TableHeaderLine `json:"line,omitempty"`

	// Prefix string Prefix for cell values.
	Prefix interface{} `json:"prefix,omitempty"`

	// Prefixsrc string Sets the source reference on Chart Studio Cloud for  prefix .
	Prefixsrc String `json:"prefixsrc,omitempty"`

	// Suffix string Suffix for cell values.
	Suffix interface{} `json:"suffix,omitempty"`

	// Suffixsrc string Sets the source reference on Chart Studio Cloud for  suffix .
	Suffixsrc String `json:"suffixsrc,omitempty"`

	// Values 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 string Sets the source reference on Chart Studio Cloud for  values .
	Valuessrc String `json:"valuessrc,omitempty"`
}

type TableHeaderAlign

type TableHeaderAlign string

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 <br> HTML tags) or if an explicit width is set to override the text width.

const (
	TableHeaderAlign_left   TableHeaderAlign = "left"
	TableHeaderAlign_center TableHeaderAlign = "center"
	TableHeaderAlign_right  TableHeaderAlign = "right"
)

type TableHeaderFill

type TableHeaderFill struct {

	// Color color Sets the cell fill color. It accepts either a specific color or an array of colors or a 2D array of colors.
	Color interface{} `json:"color,omitempty"`

	// Colorsrc string Sets the source reference on Chart Studio Cloud for  color .
	Colorsrc String `json:"colorsrc,omitempty"`
}

type TableHeaderFont

type TableHeaderFont struct {

	// Color color <no value>
	Color interface{} `json:"color,omitempty"`

	// Colorsrc string Sets the source reference on Chart Studio Cloud for  color .
	Colorsrc String `json:"colorsrc,omitempty"`

	// Family string HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.
	Family interface{} `json:"family,omitempty"`

	// Familysrc string Sets the source reference on Chart Studio Cloud for  family .
	Familysrc String `json:"familysrc,omitempty"`

	// Size number <no value>
	Size interface{} `json:"size,omitempty"`

	// Sizesrc string Sets the source reference on Chart Studio Cloud for  size .
	Sizesrc String `json:"sizesrc,omitempty"`
}

type TableHeaderLine

type TableHeaderLine struct {

	// Color color <no value>
	Color interface{} `json:"color,omitempty"`

	// Colorsrc string Sets the source reference on Chart Studio Cloud for  color .
	Colorsrc String `json:"colorsrc,omitempty"`

	// Width number <no value>
	Width interface{} `json:"width,omitempty"`

	// Widthsrc string Sets the source reference on Chart Studio Cloud for  width .
	Widthsrc String `json:"widthsrc,omitempty"`
}

type TableHoverinfo

type TableHoverinfo string
const (
	// Flags
	TableHoverinfoX    TableHoverinfo = "x"
	TableHoverinfoY    TableHoverinfo = "y"
	TableHoverinfoZ    TableHoverinfo = "z"
	TableHoverinfoText TableHoverinfo = "text"
	TableHoverinfoName TableHoverinfo = "name"
	// Extras
	TableHoverinfoAll  TableHoverinfo = "all"
	TableHoverinfoNone TableHoverinfo = "none"
	TableHoverinfoSkip TableHoverinfo = "skip"
)

type TableHoverlabel

type TableHoverlabel struct {

	// Align 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 string Sets the source reference on Chart Studio Cloud for  align .
	Alignsrc String `json:"alignsrc,omitempty"`

	// Bgcolor color Sets the background color of the hover labels for this trace
	Bgcolor interface{} `json:"bgcolor,omitempty"`

	// Bgcolorsrc string Sets the source reference on Chart Studio Cloud for  bgcolor .
	Bgcolorsrc String `json:"bgcolorsrc,omitempty"`

	// Bordercolor color Sets the border color of the hover labels for this trace.
	Bordercolor interface{} `json:"bordercolor,omitempty"`

	// Bordercolorsrc string Sets the source reference on Chart Studio Cloud for  bordercolor .
	Bordercolorsrc String `json:"bordercolorsrc,omitempty"`

	// Font <no value> Sets the font used in hover labels.
	Font *TableHoverlabelFont `json:"font,omitempty"`

	// Namelength 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 interface{} `json:"namelength,omitempty"`

	// Namelengthsrc string Sets the source reference on Chart Studio Cloud for  namelength .
	Namelengthsrc String `json:"namelengthsrc,omitempty"`
}

type TableHoverlabelAlign

type TableHoverlabelAlign string

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

const (
	TableHoverlabelAlign_left  TableHoverlabelAlign = "left"
	TableHoverlabelAlign_right TableHoverlabelAlign = "right"
	TableHoverlabelAlign_auto  TableHoverlabelAlign = "auto"
)

type TableHoverlabelFont

type TableHoverlabelFont struct {

	// Color color <no value>
	Color interface{} `json:"color,omitempty"`

	// Colorsrc string Sets the source reference on Chart Studio Cloud for  color .
	Colorsrc String `json:"colorsrc,omitempty"`

	// Family string HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.
	Family interface{} `json:"family,omitempty"`

	// Familysrc string Sets the source reference on Chart Studio Cloud for  family .
	Familysrc String `json:"familysrc,omitempty"`

	// Size number <no value>
	Size interface{} `json:"size,omitempty"`

	// Sizesrc string Sets the source reference on Chart Studio Cloud for  size .
	Sizesrc String `json:"sizesrc,omitempty"`
}

type TableStream

type TableStream struct {

	// Maxpoints 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 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"`
}

type TableVisible

type TableVisible interface{}

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).

var (
	TableVisible_True       TableVisible = true
	TableVisible_False      TableVisible = false
	TableVisible_legendonly TableVisible = "legendonly"
)

type Trace

type Trace interface {
	GetType() TraceType
}

Trace is an interface to identify all available traces. The main purpose is to provide autocompletion.

func UnmarshallTrace

func UnmarshallTrace(data []byte) (Trace, error)

UnmarshallTrace decodes an array of bytes into a Trace interface.

type TraceType

type TraceType string

TraceType represents an specific trace type.

const (
	TraceTypeArea               TraceType = "area"
	TraceTypeBar                TraceType = "bar"
	TraceTypeBarpolar           TraceType = "barpolar"
	TraceTypeBox                TraceType = "box"
	TraceTypeCandlestick        TraceType = "candlestick"
	TraceTypeCarpet             TraceType = "carpet"
	TraceTypeChoropleth         TraceType = "choropleth"
	TraceTypeChoroplethmapbox   TraceType = "choroplethmapbox"
	TraceTypeCone               TraceType = "cone"
	TraceTypeContour            TraceType = "contour"
	TraceTypeContourcarpet      TraceType = "contourcarpet"
	TraceTypeDensitymapbox      TraceType = "densitymapbox"
	TraceTypeFunnel             TraceType = "funnel"
	TraceTypeFunnelarea         TraceType = "funnelarea"
	TraceTypeHeatmap            TraceType = "heatmap"
	TraceTypeHeatmapgl          TraceType = "heatmapgl"
	TraceTypeHistogram          TraceType = "histogram"
	TraceTypeHistogram2d        TraceType = "histogram2d"
	TraceTypeHistogram2dcontour TraceType = "histogram2dcontour"
	TraceTypeImage              TraceType = "image"
	TraceTypeIndicator          TraceType = "indicator"
	TraceTypeIsosurface         TraceType = "isosurface"
	TraceTypeMesh3d             TraceType = "mesh3d"
	TraceTypeOhlc               TraceType = "ohlc"
	TraceTypeParcats            TraceType = "parcats"
	TraceTypeParcoords          TraceType = "parcoords"
	TraceTypePie                TraceType = "pie"
	TraceTypePointcloud         TraceType = "pointcloud"
	TraceTypeSankey             TraceType = "sankey"
	TraceTypeScatter            TraceType = "scatter"
	TraceTypeScatter3d          TraceType = "scatter3d"
	TraceTypeScattercarpet      TraceType = "scattercarpet"
	TraceTypeScattergeo         TraceType = "scattergeo"
	TraceTypeScattergl          TraceType = "scattergl"
	TraceTypeScattermapbox      TraceType = "scattermapbox"
	TraceTypeScatterpolar       TraceType = "scatterpolar"
	TraceTypeScatterpolargl     TraceType = "scatterpolargl"
	TraceTypeScatterternary     TraceType = "scatterternary"
	TraceTypeSplom              TraceType = "splom"
	TraceTypeStreamtube         TraceType = "streamtube"
	TraceTypeSunburst           TraceType = "sunburst"
	TraceTypeSurface            TraceType = "surface"
	TraceTypeTable              TraceType = "table"
	TraceTypeTreemap            TraceType = "treemap"
	TraceTypeViolin             TraceType = "violin"
	TraceTypeVolume             TraceType = "volume"
	TraceTypeWaterfall          TraceType = "waterfall"
)

type Traces

type Traces []Trace

Traces is a slice of Traces

type Treemap

type Treemap struct {

	// Type is the type of the plot
	Type TraceType `json:"type,omitempty"`

	// Branchvalues 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 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 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 string Sets the source reference on Chart Studio Cloud for  customdata .
	Customdatasrc String `json:"customdatasrc,omitempty"`

	// Domain <no value> <no value>
	Domain *TreemapDomain `json:"domain,omitempty"`

	// Hoverinfo 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 string Sets the source reference on Chart Studio Cloud for  hoverinfo .
	Hoverinfosrc String `json:"hoverinfosrc,omitempty"`

	// Hoverlabel <no value> <no value>
	Hoverlabel *TreemapHoverlabel `json:"hoverlabel,omitempty"`

	// Hovertemplate 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 `<extra>` is displayed in the secondary box, for example "<extra>{fullData.name}</extra>". To hide the secondary box completely, use an empty tag `<extra></extra>`.
	Hovertemplate interface{} `json:"hovertemplate,omitempty"`

	// Hovertemplatesrc string Sets the source reference on Chart Studio Cloud for  hovertemplate .
	Hovertemplatesrc String `json:"hovertemplatesrc,omitempty"`

	// Hovertext 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 interface{} `json:"hovertext,omitempty"`

	// Hovertextsrc string Sets the source reference on Chart Studio Cloud for  hovertext .
	Hovertextsrc String `json:"hovertextsrc,omitempty"`

	// Ids 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 string Sets the source reference on Chart Studio Cloud for  ids .
	Idssrc String `json:"idssrc,omitempty"`

	// Insidetextfont <no value> Sets the font used for `textinfo` lying inside the sector.
	Insidetextfont *TreemapInsidetextfont `json:"insidetextfont,omitempty"`

	// Labels data_array Sets the labels of each of the sectors.
	Labels interface{} `json:"labels,omitempty"`

	// Labelssrc string Sets the source reference on Chart Studio Cloud for  labels .
	Labelssrc String `json:"labelssrc,omitempty"`

	// Level 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 <no value> <no value>
	Marker *TreemapMarker `json:"marker,omitempty"`

	// Maxdepth 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 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 string Sets the source reference on Chart Studio Cloud for  meta .
	Metasrc String `json:"metasrc,omitempty"`

	// Name string Sets the trace name. The trace name appear as the legend item and on hover.
	Name String `json:"name,omitempty"`

	// Opacity number Sets the opacity of the trace.
	Opacity float64 `json:"opacity,omitempty"`

	// Outsidetextfont <no value> 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.
	Outsidetextfont *TreemapOutsidetextfont `json:"outsidetextfont,omitempty"`

	// Parents 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 string Sets the source reference on Chart Studio Cloud for  parents .
	Parentssrc String `json:"parentssrc,omitempty"`

	// Pathbar <no value> <no value>
	Pathbar *TreemapPathbar `json:"pathbar,omitempty"`

	// Root <no value> <no value>
	Root *TreemapRoot `json:"root,omitempty"`

	// Sort boolean Determines whether or not the sectors are reordered from largest to smallest.
	Sort Bool `json:"sort,omitempty"`

	// Stream <no value> <no value>
	Stream *TreemapStream `json:"stream,omitempty"`

	// Text 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 <no value> Sets the font used for `textinfo`.
	Textfont *TreemapTextfont `json:"textfont,omitempty"`

	// Textinfo flaglist Determines which trace information appear on the graph.
	Textinfo TreemapTextinfo `json:"textinfo,omitempty"`

	// Textposition enumerated Sets the positions of the `text` elements.
	Textposition TreemapTextposition `json:"textposition,omitempty"`

	// Textsrc string Sets the source reference on Chart Studio Cloud for  text .
	Textsrc String `json:"textsrc,omitempty"`

	// Texttemplate 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`.
	Texttemplate interface{} `json:"texttemplate,omitempty"`

	// Texttemplatesrc string Sets the source reference on Chart Studio Cloud for  texttemplate .
	Texttemplatesrc String `json:"texttemplatesrc,omitempty"`

	// Tiling <no value> <no value>
	Tiling *TreemapTiling `json:"tiling,omitempty"`

	// Transforms <no value> <no value>
	Transforms TreemapTransforms `json:"transforms,omitempty"`

	// Uid 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 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 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 string Sets the source reference on Chart Studio Cloud for  values .
	Valuessrc String `json:"valuessrc,omitempty"`

	// Visible 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"`
}

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*.

func NewTreemap

func NewTreemap() *Treemap

func (*Treemap) GetType

func (this *Treemap) GetType() TraceType

type TreemapBranchvalues

type TreemapBranchvalues string

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.

const (
	TreemapBranchvalues_remainder TreemapBranchvalues = "remainder"
	TreemapBranchvalues_total     TreemapBranchvalues = "total"
)

type TreemapCount

type TreemapCount string
const (
	// Flags
	TreemapCountBranches TreemapCount = "branches"
	TreemapCountLeaves   TreemapCount = "leaves"
)

type TreemapDomain

type TreemapDomain struct {

	// Column 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 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 info_array Sets the horizontal domain of this treemap trace (in plot fraction).
	X interface{} `json:"x,omitempty"`

	// Y info_array Sets the vertical domain of this treemap trace (in plot fraction).
	Y interface{} `json:"y,omitempty"`
}

type TreemapHoverinfo

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"
	// Extras
	TreemapHoverinfoAll  TreemapHoverinfo = "all"
	TreemapHoverinfoNone TreemapHoverinfo = "none"
	TreemapHoverinfoSkip TreemapHoverinfo = "skip"
)

type TreemapHoverlabel

type TreemapHoverlabel struct {

	// Align 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 string Sets the source reference on Chart Studio Cloud for  align .
	Alignsrc String `json:"alignsrc,omitempty"`

	// Bgcolor color Sets the background color of the hover labels for this trace
	Bgcolor interface{} `json:"bgcolor,omitempty"`

	// Bgcolorsrc string Sets the source reference on Chart Studio Cloud for  bgcolor .
	Bgcolorsrc String `json:"bgcolorsrc,omitempty"`

	// Bordercolor color Sets the border color of the hover labels for this trace.
	Bordercolor interface{} `json:"bordercolor,omitempty"`

	// Bordercolorsrc string Sets the source reference on Chart Studio Cloud for  bordercolor .
	Bordercolorsrc String `json:"bordercolorsrc,omitempty"`

	// Font <no value> Sets the font used in hover labels.
	Font *TreemapHoverlabelFont `json:"font,omitempty"`

	// Namelength 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 interface{} `json:"namelength,omitempty"`

	// Namelengthsrc string Sets the source reference on Chart Studio Cloud for  namelength .
	Namelengthsrc String `json:"namelengthsrc,omitempty"`
}

type TreemapHoverlabelAlign

type TreemapHoverlabelAlign string

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

const (
	TreemapHoverlabelAlign_left  TreemapHoverlabelAlign = "left"
	TreemapHoverlabelAlign_right TreemapHoverlabelAlign = "right"
	TreemapHoverlabelAlign_auto  TreemapHoverlabelAlign = "auto"
)

type TreemapHoverlabelFont

type TreemapHoverlabelFont struct {

	// Color color <no value>
	Color interface{} `json:"color,omitempty"`

	// Colorsrc string Sets the source reference on Chart Studio Cloud for  color .
	Colorsrc String `json:"colorsrc,omitempty"`

	// Family string HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.
	Family interface{} `json:"family,omitempty"`

	// Familysrc string Sets the source reference on Chart Studio Cloud for  family .
	Familysrc String `json:"familysrc,omitempty"`

	// Size number <no value>
	Size interface{} `json:"size,omitempty"`

	// Sizesrc string Sets the source reference on Chart Studio Cloud for  size .
	Sizesrc String `json:"sizesrc,omitempty"`
}

type TreemapInsidetextfont

type TreemapInsidetextfont struct {

	// Color color <no value>
	Color interface{} `json:"color,omitempty"`

	// Colorsrc string Sets the source reference on Chart Studio Cloud for  color .
	Colorsrc String `json:"colorsrc,omitempty"`

	// Family string HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.
	Family interface{} `json:"family,omitempty"`

	// Familysrc string Sets the source reference on Chart Studio Cloud for  family .
	Familysrc String `json:"familysrc,omitempty"`

	// Size number <no value>
	Size interface{} `json:"size,omitempty"`

	// Sizesrc string Sets the source reference on Chart Studio Cloud for  size .
	Sizesrc String `json:"sizesrc,omitempty"`
}

type TreemapMarker

type TreemapMarker struct {

	// Autocolorscale 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.
	Autocolorscale Bool `json:"autocolorscale,omitempty"`

	// Cauto 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.
	Cauto Bool `json:"cauto,omitempty"`

	// Cmax 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.
	Cmax float64 `json:"cmax,omitempty"`

	// Cmid 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`.
	Cmid float64 `json:"cmid,omitempty"`

	// Cmin 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.
	Cmin float64 `json:"cmin,omitempty"`

	// Coloraxis 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 <no value> <no value>
	Colorbar *TreemapMarkerColorbar `json:"colorbar,omitempty"`

	// Colors 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"`

	// Colorssrc string Sets the source reference on Chart Studio Cloud for  colors .
	Colorssrc String `json:"colorssrc,omitempty"`

	// Depthfade 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 <no value> <no value>
	Line *TreemapMarkerLine `json:"line,omitempty"`

	// Pad <no value> <no value>
	Pad *TreemapMarkerPad `json:"pad,omitempty"`

	// Reversescale 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.
	Reversescale Bool `json:"reversescale,omitempty"`

	// Showscale boolean Determines whether or not a colorbar is displayed for this trace. Has an effect only if colorsis set to a numerical array.
	Showscale Bool `json:"showscale,omitempty"`
}

type TreemapMarkerColorbar

type TreemapMarkerColorbar struct {

	// Bgcolor color Sets the color of padded area.
	Bgcolor String `json:"bgcolor,omitempty"`

	// Bordercolor color Sets the axis line color.
	Bordercolor String `json:"bordercolor,omitempty"`

	// Borderwidth number Sets the width (in px) or the border enclosing this color bar.
	Borderwidth float64 `json:"borderwidth,omitempty"`

	// Dtick 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<f>*, where `f` is a positive number, gives ticks linearly spaced in value (but not position). For example `tick0` = 0.1, `dtick` = *L0.5* will put ticks at 0.1, 0.6, 1.1, 1.6 etc. To show powers of 10 plus small digits between, use *D1* (all digits) or *D2* (only 2 and 5). `tick0` is ignored for *D1* and *D2*. If the axis `type` is *date*, then you must convert the time to milliseconds. For example, to set the interval between ticks to one day, set `dtick` to 86400000.0. *date* also has special values *M<n>* gives ticks spaced by a number of months. `n` must be a positive integer. To set ticks on the 15th of every third month, set `tick0` to *2000-01-15* and `dtick` to *M3*. To set ticks every 4 years, set `dtick` to *M48*
	Dtick interface{} `json:"dtick,omitempty"`

	// Exponentformat 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"`

	// Len 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 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 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 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"`

	// Outlinecolor color Sets the axis line color.
	Outlinecolor String `json:"outlinecolor,omitempty"`

	// Outlinewidth number Sets the width (in px) of the axis line.
	Outlinewidth float64 `json:"outlinewidth,omitempty"`

	// Separatethousands boolean If "true", even 4-digit integers are separated
	Separatethousands Bool `json:"separatethousands,omitempty"`

	// Showexponent 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 boolean Determines whether or not the tick labels are drawn.
	Showticklabels Bool `json:"showticklabels,omitempty"`

	// Showtickprefix 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 enumerated Same as `showtickprefix` but for tick suffixes.
	Showticksuffix TreemapMarkerColorbarShowticksuffix `json:"showticksuffix,omitempty"`

	// Thickness 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 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 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<f>* (see `dtick` for more info). If the axis `type` is *date*, it should be a date string, like date data. If the axis `type` is *category*, it should be a number, using the scale where each category is assigned a serial number from zero in the order it appears.
	Tick0 interface{} `json:"tick0,omitempty"`

	// Tickangle 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 color Sets the tick color.
	Tickcolor String `json:"tickcolor,omitempty"`

	// Tickfont <no value> Sets the color bar's tick label font
	Tickfont *TreemapMarkerColorbarTickfont `json:"tickfont,omitempty"`

	// Tickformat 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*
	Tickformat String `json:"tickformat,omitempty"`

	// Tickformatstops <no value> <no value>
	Tickformatstops TreemapMarkerColorbarTickformatstops `json:"tickformatstops,omitempty"`

	// Ticklabelposition enumerated Determines where tick labels are drawn.
	Ticklabelposition TreemapMarkerColorbarTicklabelposition `json:"ticklabelposition,omitempty"`

	// Ticklen number Sets the tick length (in px).
	Ticklen float64 `json:"ticklen,omitempty"`

	// Tickmode 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 string Sets a tick label prefix.
	Tickprefix String `json:"tickprefix,omitempty"`

	// Ticks 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 string Sets a tick label suffix.
	Ticksuffix String `json:"ticksuffix,omitempty"`

	// Ticktext 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 string Sets the source reference on Chart Studio Cloud for  ticktext .
	Ticktextsrc String `json:"ticktextsrc,omitempty"`

	// Tickvals 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 string Sets the source reference on Chart Studio Cloud for  tickvals .
	Tickvalssrc String `json:"tickvalssrc,omitempty"`

	// Tickwidth number Sets the tick width (in px).
	Tickwidth float64 `json:"tickwidth,omitempty"`

	// Title <no value> <no value>
	Title *TreemapMarkerColorbarTitle `json:"title,omitempty"`

	// X number Sets the x position of the color bar (in plot fraction).
	X float64 `json:"x,omitempty"`

	// Xanchor 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.
	Xanchor TreemapMarkerColorbarXanchor `json:"xanchor,omitempty"`

	// Xpad number Sets the amount of padding (in px) along the x direction.
	Xpad float64 `json:"xpad,omitempty"`

	// Y number Sets the y position of the color bar (in plot fraction).
	Y float64 `json:"y,omitempty"`

	// Yanchor 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.
	Yanchor TreemapMarkerColorbarYanchor `json:"yanchor,omitempty"`

	// Ypad number Sets the amount of padding (in px) along the y direction.
	Ypad float64 `json:"ypad,omitempty"`
}

type TreemapMarkerColorbarExponentformat

type TreemapMarkerColorbarExponentformat string

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.

const (
	TreemapMarkerColorbarExponentformat_none  TreemapMarkerColorbarExponentformat = "none"
	TreemapMarkerColorbarExponentformat_e     TreemapMarkerColorbarExponentformat = "e"
	TreemapMarkerColorbarExponentformat_E     TreemapMarkerColorbarExponentformat = "E"
	TreemapMarkerColorbarExponentformat_power TreemapMarkerColorbarExponentformat = "power"
	TreemapMarkerColorbarExponentformat_SI    TreemapMarkerColorbarExponentformat = "SI"
	TreemapMarkerColorbarExponentformat_B     TreemapMarkerColorbarExponentformat = "B"
)

type TreemapMarkerColorbarLenmode

type TreemapMarkerColorbarLenmode string

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.

const (
	TreemapMarkerColorbarLenmode_fraction TreemapMarkerColorbarLenmode = "fraction"
	TreemapMarkerColorbarLenmode_pixels   TreemapMarkerColorbarLenmode = "pixels"
)

type TreemapMarkerColorbarShowexponent

type TreemapMarkerColorbarShowexponent string

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.

const (
	TreemapMarkerColorbarShowexponent_all   TreemapMarkerColorbarShowexponent = "all"
	TreemapMarkerColorbarShowexponent_first TreemapMarkerColorbarShowexponent = "first"
	TreemapMarkerColorbarShowexponent_last  TreemapMarkerColorbarShowexponent = "last"
	TreemapMarkerColorbarShowexponent_none  TreemapMarkerColorbarShowexponent = "none"
)

type TreemapMarkerColorbarShowtickprefix

type TreemapMarkerColorbarShowtickprefix string

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.

const (
	TreemapMarkerColorbarShowtickprefix_all   TreemapMarkerColorbarShowtickprefix = "all"
	TreemapMarkerColorbarShowtickprefix_first TreemapMarkerColorbarShowtickprefix = "first"
	TreemapMarkerColorbarShowtickprefix_last  TreemapMarkerColorbarShowtickprefix = "last"
	TreemapMarkerColorbarShowtickprefix_none  TreemapMarkerColorbarShowtickprefix = "none"
)

type TreemapMarkerColorbarShowticksuffix

type TreemapMarkerColorbarShowticksuffix string

TreemapMarkerColorbarShowticksuffix Same as `showtickprefix` but for tick suffixes.

const (
	TreemapMarkerColorbarShowticksuffix_all   TreemapMarkerColorbarShowticksuffix = "all"
	TreemapMarkerColorbarShowticksuffix_first TreemapMarkerColorbarShowticksuffix = "first"
	TreemapMarkerColorbarShowticksuffix_last  TreemapMarkerColorbarShowticksuffix = "last"
	TreemapMarkerColorbarShowticksuffix_none  TreemapMarkerColorbarShowticksuffix = "none"
)

type TreemapMarkerColorbarThicknessmode

type TreemapMarkerColorbarThicknessmode string

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.

const (
	TreemapMarkerColorbarThicknessmode_fraction TreemapMarkerColorbarThicknessmode = "fraction"
	TreemapMarkerColorbarThicknessmode_pixels   TreemapMarkerColorbarThicknessmode = "pixels"
)

type TreemapMarkerColorbarTickfont

type TreemapMarkerColorbarTickfont struct {

	// Color color <no value>
	Color String `json:"color,omitempty"`

	// Family string HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.
	Family String `json:"family,omitempty"`

	// Size number <no value>
	Size float64 `json:"size,omitempty"`
}

type TreemapMarkerColorbarTickformatstops

type TreemapMarkerColorbarTickformatstops interface{}

TreemapMarkerColorbarTickformatstops It's an items array and what goes inside it's... messy... check the docs Here is a hint to help you to define your own type tickformatstop

dtickrange
editType
enabled
name
role
templateitemname
value

type TreemapMarkerColorbarTicklabelposition

type TreemapMarkerColorbarTicklabelposition string

TreemapMarkerColorbarTicklabelposition Determines where tick labels are drawn.

const (
	TreemapMarkerColorbarTicklabelposition_outside       TreemapMarkerColorbarTicklabelposition = "outside"
	TreemapMarkerColorbarTicklabelposition_inside        TreemapMarkerColorbarTicklabelposition = "inside"
	TreemapMarkerColorbarTicklabelposition_outsidetop    TreemapMarkerColorbarTicklabelposition = "outside top"
	TreemapMarkerColorbarTicklabelposition_insidetop     TreemapMarkerColorbarTicklabelposition = "inside top"
	TreemapMarkerColorbarTicklabelposition_outsidebottom TreemapMarkerColorbarTicklabelposition = "outside bottom"
	TreemapMarkerColorbarTicklabelposition_insidebottom  TreemapMarkerColorbarTicklabelposition = "inside bottom"
)

type TreemapMarkerColorbarTickmode

type TreemapMarkerColorbarTickmode string

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).

const (
	TreemapMarkerColorbarTickmode_auto   TreemapMarkerColorbarTickmode = "auto"
	TreemapMarkerColorbarTickmode_linear TreemapMarkerColorbarTickmode = "linear"
	TreemapMarkerColorbarTickmode_array  TreemapMarkerColorbarTickmode = "array"
)

type TreemapMarkerColorbarTicks

type TreemapMarkerColorbarTicks string

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.

const (
	TreemapMarkerColorbarTicks_outside TreemapMarkerColorbarTicks = "outside"
	TreemapMarkerColorbarTicks_inside  TreemapMarkerColorbarTicks = "inside"
)

type TreemapMarkerColorbarTitle

type TreemapMarkerColorbarTitle struct {

	// Font <no value> Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.
	Font *TreemapMarkerColorbarTitleFont `json:"font,omitempty"`

	// Side 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.
	Side TreemapMarkerColorbarTitleSide `json:"side,omitempty"`

	// Text 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"`
}

type TreemapMarkerColorbarTitleFont

type TreemapMarkerColorbarTitleFont struct {

	// Color color <no value>
	Color String `json:"color,omitempty"`

	// Family string HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.
	Family String `json:"family,omitempty"`

	// Size number <no value>
	Size float64 `json:"size,omitempty"`
}

type TreemapMarkerColorbarTitleSide

type TreemapMarkerColorbarTitleSide string

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.

const (
	TreemapMarkerColorbarTitleSide_right  TreemapMarkerColorbarTitleSide = "right"
	TreemapMarkerColorbarTitleSide_top    TreemapMarkerColorbarTitleSide = "top"
	TreemapMarkerColorbarTitleSide_bottom TreemapMarkerColorbarTitleSide = "bottom"
)

type TreemapMarkerColorbarXanchor

type TreemapMarkerColorbarXanchor string

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.

const (
	TreemapMarkerColorbarXanchor_left   TreemapMarkerColorbarXanchor = "left"
	TreemapMarkerColorbarXanchor_center TreemapMarkerColorbarXanchor = "center"
	TreemapMarkerColorbarXanchor_right  TreemapMarkerColorbarXanchor = "right"
)

type TreemapMarkerColorbarYanchor

type TreemapMarkerColorbarYanchor string

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.

const (
	TreemapMarkerColorbarYanchor_top    TreemapMarkerColorbarYanchor = "top"
	TreemapMarkerColorbarYanchor_middle TreemapMarkerColorbarYanchor = "middle"
	TreemapMarkerColorbarYanchor_bottom TreemapMarkerColorbarYanchor = "bottom"
)

type TreemapMarkerDepthfade

type TreemapMarkerDepthfade interface{}

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.

var (
	TreemapMarkerDepthfade_True     TreemapMarkerDepthfade = true
	TreemapMarkerDepthfade_False    TreemapMarkerDepthfade = false
	TreemapMarkerDepthfade_reversed TreemapMarkerDepthfade = "reversed"
)

type TreemapMarkerLine

type TreemapMarkerLine struct {

	// Color color Sets the color of the line enclosing each sector. Defaults to the `paper_bgcolor` value.
	Color interface{} `json:"color,omitempty"`

	// Colorsrc string Sets the source reference on Chart Studio Cloud for  color .
	Colorsrc String `json:"colorsrc,omitempty"`

	// Width number Sets the width (in px) of the line enclosing each sector.
	Width interface{} `json:"width,omitempty"`

	// Widthsrc string Sets the source reference on Chart Studio Cloud for  width .
	Widthsrc String `json:"widthsrc,omitempty"`
}

type TreemapMarkerPad

type TreemapMarkerPad struct {

	// B number Sets the padding form the bottom (in px).
	B float64 `json:"b,omitempty"`

	// L number Sets the padding form the left (in px).
	L float64 `json:"l,omitempty"`

	// R number Sets the padding form the right (in px).
	R float64 `json:"r,omitempty"`

	// T number Sets the padding form the top (in px).
	T float64 `json:"t,omitempty"`
}

type TreemapOutsidetextfont

type TreemapOutsidetextfont struct {

	// Color color <no value>
	Color interface{} `json:"color,omitempty"`

	// Colorsrc string Sets the source reference on Chart Studio Cloud for  color .
	Colorsrc String `json:"colorsrc,omitempty"`

	// Family string HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.
	Family interface{} `json:"family,omitempty"`

	// Familysrc string Sets the source reference on Chart Studio Cloud for  family .
	Familysrc String `json:"familysrc,omitempty"`

	// Size number <no value>
	Size interface{} `json:"size,omitempty"`

	// Sizesrc string Sets the source reference on Chart Studio Cloud for  size .
	Sizesrc String `json:"sizesrc,omitempty"`
}

type TreemapPathbar

type TreemapPathbar struct {

	// Edgeshape enumerated Determines which shape is used for edges between `barpath` labels.
	Edgeshape TreemapPathbarEdgeshape `json:"edgeshape,omitempty"`

	// Side enumerated Determines on which side of the the treemap the `pathbar` should be presented.
	Side TreemapPathbarSide `json:"side,omitempty"`

	// Textfont <no value> Sets the font used inside `pathbar`.
	Textfont *TreemapPathbarTextfont `json:"textfont,omitempty"`

	// Thickness 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 boolean Determines if the path bar is drawn i.e. outside the trace `domain` and with one pixel gap.
	Visible Bool `json:"visible,omitempty"`
}

type TreemapPathbarEdgeshape

type TreemapPathbarEdgeshape string

TreemapPathbarEdgeshape Determines which shape is used for edges between `barpath` labels.

const (
	TreemapPathbarEdgeshape_gt              TreemapPathbarEdgeshape = ">"
	TreemapPathbarEdgeshape_lt              TreemapPathbarEdgeshape = "<"
	TreemapPathbarEdgeshape_or              TreemapPathbarEdgeshape = "|"
	TreemapPathbarEdgeshape_slash           TreemapPathbarEdgeshape = "/"
	TreemapPathbarEdgeshape_doublebackslash TreemapPathbarEdgeshape = "\\"
)

type TreemapPathbarSide

type TreemapPathbarSide string

TreemapPathbarSide Determines on which side of the the treemap the `pathbar` should be presented.

const (
	TreemapPathbarSide_top    TreemapPathbarSide = "top"
	TreemapPathbarSide_bottom TreemapPathbarSide = "bottom"
)

type TreemapPathbarTextfont

type TreemapPathbarTextfont struct {

	// Color color <no value>
	Color interface{} `json:"color,omitempty"`

	// Colorsrc string Sets the source reference on Chart Studio Cloud for  color .
	Colorsrc String `json:"colorsrc,omitempty"`

	// Family string HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.
	Family interface{} `json:"family,omitempty"`

	// Familysrc string Sets the source reference on Chart Studio Cloud for  family .
	Familysrc String `json:"familysrc,omitempty"`

	// Size number <no value>
	Size interface{} `json:"size,omitempty"`

	// Sizesrc string Sets the source reference on Chart Studio Cloud for  size .
	Sizesrc String `json:"sizesrc,omitempty"`
}

type TreemapRoot

type TreemapRoot struct {

	// Color 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.
	Color String `json:"color,omitempty"`
}

type TreemapStream

type TreemapStream struct {

	// Maxpoints 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 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"`
}

type TreemapTextfont

type TreemapTextfont struct {

	// Color color <no value>
	Color interface{} `json:"color,omitempty"`

	// Colorsrc string Sets the source reference on Chart Studio Cloud for  color .
	Colorsrc String `json:"colorsrc,omitempty"`

	// Family string HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.
	Family interface{} `json:"family,omitempty"`

	// Familysrc string Sets the source reference on Chart Studio Cloud for  family .
	Familysrc String `json:"familysrc,omitempty"`

	// Size number <no value>
	Size interface{} `json:"size,omitempty"`

	// Sizesrc string Sets the source reference on Chart Studio Cloud for  size .
	Sizesrc String `json:"sizesrc,omitempty"`
}

type TreemapTextinfo

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"
	// Extras
	TreemapTextinfoNone TreemapTextinfo = "none"
)

type TreemapTextposition

type TreemapTextposition string

TreemapTextposition Sets the positions of the `text` elements.

const (
	TreemapTextposition_topleft      TreemapTextposition = "top left"
	TreemapTextposition_topcenter    TreemapTextposition = "top center"
	TreemapTextposition_topright     TreemapTextposition = "top right"
	TreemapTextposition_middleleft   TreemapTextposition = "middle left"
	TreemapTextposition_middlecenter TreemapTextposition = "middle center"
	TreemapTextposition_middleright  TreemapTextposition = "middle right"
	TreemapTextposition_bottomleft   TreemapTextposition = "bottom left"
	TreemapTextposition_bottomcenter TreemapTextposition = "bottom center"
	TreemapTextposition_bottomright  TreemapTextposition = "bottom right"
)

type TreemapTiling

type TreemapTiling struct {

	// Flip flaglist Determines if the positions obtained from solver are flipped on each axis.
	Flip TreemapTilingFlip `json:"flip,omitempty"`

	// Packing 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 number Sets the inner padding (in px).
	Pad float64 `json:"pad,omitempty"`

	// Squarifyratio 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.
	Squarifyratio float64 `json:"squarifyratio,omitempty"`
}

type TreemapTilingFlip

type TreemapTilingFlip string
const (
	// Flags
	TreemapTilingFlipX TreemapTilingFlip = "x"
	TreemapTilingFlipY TreemapTilingFlip = "y"
)

type TreemapTilingPacking

type TreemapTilingPacking string

TreemapTilingPacking Determines d3 treemap solver. For more info please refer to https://github.com/d3/d3-hierarchy#treemap-tiling

const (
	TreemapTilingPacking_squarify   TreemapTilingPacking = "squarify"
	TreemapTilingPacking_binary     TreemapTilingPacking = "binary"
	TreemapTilingPacking_dice       TreemapTilingPacking = "dice"
	TreemapTilingPacking_slice      TreemapTilingPacking = "slice"
	TreemapTilingPacking_slice_dice TreemapTilingPacking = "slice-dice"
	TreemapTilingPacking_dice_slice TreemapTilingPacking = "dice-slice"
)

type TreemapTransforms

type TreemapTransforms interface{}

TreemapTransforms It's an items array and what goes inside it's... messy... check the docs Here is a hint to help you to define your own type transform

description
editType
role

type TreemapVisible

type TreemapVisible interface{}

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).

var (
	TreemapVisible_True       TreemapVisible = true
	TreemapVisible_False      TreemapVisible = false
	TreemapVisible_legendonly TreemapVisible = "legendonly"
)

type Violin

type Violin struct {

	// Type is the type of the plot
	Type TraceType `json:"type,omitempty"`

	// Alignmentgroup 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 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 <no value> <no value>
	Box *ViolinBox `json:"box,omitempty"`

	// Customdata 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 string Sets the source reference on Chart Studio Cloud for  customdata .
	Customdatasrc String `json:"customdatasrc,omitempty"`

	// Fillcolor 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 String `json:"fillcolor,omitempty"`

	// Hoverinfo 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 string Sets the source reference on Chart Studio Cloud for  hoverinfo .
	Hoverinfosrc String `json:"hoverinfosrc,omitempty"`

	// Hoverlabel <no value> <no value>
	Hoverlabel *ViolinHoverlabel `json:"hoverlabel,omitempty"`

	// Hoveron 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 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 `<extra>` is displayed in the secondary box, for example "<extra>{fullData.name}</extra>". To hide the secondary box completely, use an empty tag `<extra></extra>`.
	Hovertemplate interface{} `json:"hovertemplate,omitempty"`

	// Hovertemplatesrc string Sets the source reference on Chart Studio Cloud for  hovertemplate .
	Hovertemplatesrc String `json:"hovertemplatesrc,omitempty"`

	// Hovertext string Same as `text`.
	Hovertext interface{} `json:"hovertext,omitempty"`

	// Hovertextsrc string Sets the source reference on Chart Studio Cloud for  hovertext .
	Hovertextsrc String `json:"hovertextsrc,omitempty"`

	// Ids 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 string Sets the source reference on Chart Studio Cloud for  ids .
	Idssrc String `json:"idssrc,omitempty"`

	// Jitter 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"`

	// Legendgroup 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"`

	// Line <no value> <no value>
	Line *ViolinLine `json:"line,omitempty"`

	// Marker <no value> <no value>
	Marker *ViolinMarker `json:"marker,omitempty"`

	// Meanline <no value> <no value>
	Meanline *ViolinMeanline `json:"meanline,omitempty"`

	// Meta 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 string Sets the source reference on Chart Studio Cloud for  meta .
	Metasrc String `json:"metasrc,omitempty"`

	// Name string 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).
	Name String `json:"name,omitempty"`

	// Offsetgroup 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 number Sets the opacity of the trace.
	Opacity float64 `json:"opacity,omitempty"`

	// Orientation 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 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 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"`

	// Scalegroup 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 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.
	Scalemode ViolinScalemode `json:"scalemode,omitempty"`

	// Selected <no value> <no value>
	Selected *ViolinSelected `json:"selected,omitempty"`

	// Selectedpoints 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 boolean Determines whether or not an item corresponding to this trace is shown in the legend.
	Showlegend Bool `json:"showlegend,omitempty"`

	// Side 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 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 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 <no value> <no value>
	Stream *ViolinStream `json:"stream,omitempty"`

	// Text 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 interface{} `json:"text,omitempty"`

	// Textsrc string Sets the source reference on Chart Studio Cloud for  text .
	Textsrc String `json:"textsrc,omitempty"`

	// Transforms <no value> <no value>
	Transforms ViolinTransforms `json:"transforms,omitempty"`

	// Uid 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 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 <no value> <no value>
	Unselected *ViolinUnselected `json:"unselected,omitempty"`

	// Visible 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 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 data_array Sets the x sample data or coordinates. See overview for more info.
	X interface{} `json:"x,omitempty"`

	// X0 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 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 string Sets the source reference on Chart Studio Cloud for  x .
	Xsrc String `json:"xsrc,omitempty"`

	// Y data_array Sets the y sample data or coordinates. See overview for more info.
	Y interface{} `json:"y,omitempty"`

	// Y0 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 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 string Sets the source reference on Chart Studio Cloud for  y .
	Ysrc String `json:"ysrc,omitempty"`
}

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.

func NewViolin

func NewViolin() *Violin

func (*Violin) GetType

func (this *Violin) GetType() TraceType

type ViolinBox

type ViolinBox struct {

	// Fillcolor color Sets the inner box plot fill color.
	Fillcolor String `json:"fillcolor,omitempty"`

	// Line <no value> <no value>
	Line *ViolinBoxLine `json:"line,omitempty"`

	// Visible boolean Determines if an miniature box plot is drawn inside the violins.
	Visible Bool `json:"visible,omitempty"`

	// Width 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"`
}

type ViolinBoxLine

type ViolinBoxLine struct {

	// Color color Sets the inner box plot bounding line color.
	Color String `json:"color,omitempty"`

	// Width number Sets the inner box plot bounding line width.
	Width float64 `json:"width,omitempty"`
}

type ViolinHoverinfo

type ViolinHoverinfo string
const (
	// Flags
	ViolinHoverinfoX    ViolinHoverinfo = "x"
	ViolinHoverinfoY    ViolinHoverinfo = "y"
	ViolinHoverinfoZ    ViolinHoverinfo = "z"
	ViolinHoverinfoText ViolinHoverinfo = "text"
	ViolinHoverinfoName ViolinHoverinfo = "name"
	// Extras
	ViolinHoverinfoAll  ViolinHoverinfo = "all"
	ViolinHoverinfoNone ViolinHoverinfo = "none"
	ViolinHoverinfoSkip ViolinHoverinfo = "skip"
)

type ViolinHoverlabel

type ViolinHoverlabel struct {

	// Align 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 string Sets the source reference on Chart Studio Cloud for  align .
	Alignsrc String `json:"alignsrc,omitempty"`

	// Bgcolor color Sets the background color of the hover labels for this trace
	Bgcolor interface{} `json:"bgcolor,omitempty"`

	// Bgcolorsrc string Sets the source reference on Chart Studio Cloud for  bgcolor .
	Bgcolorsrc String `json:"bgcolorsrc,omitempty"`

	// Bordercolor color Sets the border color of the hover labels for this trace.
	Bordercolor interface{} `json:"bordercolor,omitempty"`

	// Bordercolorsrc string Sets the source reference on Chart Studio Cloud for  bordercolor .
	Bordercolorsrc String `json:"bordercolorsrc,omitempty"`

	// Font <no value> Sets the font used in hover labels.
	Font *ViolinHoverlabelFont `json:"font,omitempty"`

	// Namelength 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 interface{} `json:"namelength,omitempty"`

	// Namelengthsrc string Sets the source reference on Chart Studio Cloud for  namelength .
	Namelengthsrc String `json:"namelengthsrc,omitempty"`
}

type ViolinHoverlabelAlign

type ViolinHoverlabelAlign string

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

const (
	ViolinHoverlabelAlign_left  ViolinHoverlabelAlign = "left"
	ViolinHoverlabelAlign_right ViolinHoverlabelAlign = "right"
	ViolinHoverlabelAlign_auto  ViolinHoverlabelAlign = "auto"
)

type ViolinHoverlabelFont

type ViolinHoverlabelFont struct {

	// Color color <no value>
	Color interface{} `json:"color,omitempty"`

	// Colorsrc string Sets the source reference on Chart Studio Cloud for  color .
	Colorsrc String `json:"colorsrc,omitempty"`

	// Family string HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.
	Family interface{} `json:"family,omitempty"`

	// Familysrc string Sets the source reference on Chart Studio Cloud for  family .
	Familysrc String `json:"familysrc,omitempty"`

	// Size number <no value>
	Size interface{} `json:"size,omitempty"`

	// Sizesrc string Sets the source reference on Chart Studio Cloud for  size .
	Sizesrc String `json:"sizesrc,omitempty"`
}

type ViolinHoveron

type ViolinHoveron string
const (
	// Flags
	ViolinHoveronViolins ViolinHoveron = "violins"
	ViolinHoveronPoints  ViolinHoveron = "points"
	ViolinHoveronKde     ViolinHoveron = "kde"
	// Extras
	ViolinHoveronAll ViolinHoveron = "all"
)

type ViolinLine

type ViolinLine struct {

	// Color color Sets the color of line bounding the violin(s).
	Color String `json:"color,omitempty"`

	// Width number Sets the width (in px) of line bounding the violin(s).
	Width float64 `json:"width,omitempty"`
}

type ViolinMarker

type ViolinMarker struct {

	// Color 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.
	Color String `json:"color,omitempty"`

	// Line <no value> <no value>
	Line *ViolinMarkerLine `json:"line,omitempty"`

	// Opacity number Sets the marker opacity.
	Opacity float64 `json:"opacity,omitempty"`

	// Outliercolor color Sets the color of the outlier sample points.
	Outliercolor String `json:"outliercolor,omitempty"`

	// Size number Sets the marker size (in px).
	Size float64 `json:"size,omitempty"`

	// Symbol 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"`
}

type ViolinMarkerLine

type ViolinMarkerLine struct {

	// Color 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.
	Color String `json:"color,omitempty"`

	// Outliercolor color Sets the border line color of the outlier sample points. Defaults to marker.color
	Outliercolor String `json:"outliercolor,omitempty"`

	// Outlierwidth number Sets the border line width (in px) of the outlier sample points.
	Outlierwidth float64 `json:"outlierwidth,omitempty"`

	// Width number Sets the width (in px) of the lines bounding the marker points.
	Width float64 `json:"width,omitempty"`
}

type ViolinMarkerSymbol

type ViolinMarkerSymbol string

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.

const (
	ViolinMarkerSymbol0                            ViolinMarkerSymbol = "0"
	ViolinMarkerSymbol_0                           ViolinMarkerSymbol = "0"
	ViolinMarkerSymbol_circle                      ViolinMarkerSymbol = "circle"
	ViolinMarkerSymbol100                          ViolinMarkerSymbol = "100"
	ViolinMarkerSymbol_100                         ViolinMarkerSymbol = "100"
	ViolinMarkerSymbol_circle_open                 ViolinMarkerSymbol = "circle-open"
	ViolinMarkerSymbol200                          ViolinMarkerSymbol = "200"
	ViolinMarkerSymbol_200                         ViolinMarkerSymbol = "200"
	ViolinMarkerSymbol_circle_dot                  ViolinMarkerSymbol = "circle-dot"
	ViolinMarkerSymbol300                          ViolinMarkerSymbol = "300"
	ViolinMarkerSymbol_300                         ViolinMarkerSymbol = "300"
	ViolinMarkerSymbol_circle_open_dot             ViolinMarkerSymbol = "circle-open-dot"
	ViolinMarkerSymbol1                            ViolinMarkerSymbol = "1"
	ViolinMarkerSymbol_1                           ViolinMarkerSymbol = "1"
	ViolinMarkerSymbol_square                      ViolinMarkerSymbol = "square"
	ViolinMarkerSymbol101                          ViolinMarkerSymbol = "101"
	ViolinMarkerSymbol_101                         ViolinMarkerSymbol = "101"
	ViolinMarkerSymbol_square_open                 ViolinMarkerSymbol = "square-open"
	ViolinMarkerSymbol201                          ViolinMarkerSymbol = "201"
	ViolinMarkerSymbol_201                         ViolinMarkerSymbol = "201"
	ViolinMarkerSymbol_square_dot                  ViolinMarkerSymbol = "square-dot"
	ViolinMarkerSymbol301                          ViolinMarkerSymbol = "301"
	ViolinMarkerSymbol_301                         ViolinMarkerSymbol = "301"
	ViolinMarkerSymbol_square_open_dot             ViolinMarkerSymbol = "square-open-dot"
	ViolinMarkerSymbol2                            ViolinMarkerSymbol = "2"
	ViolinMarkerSymbol_2                           ViolinMarkerSymbol = "2"
	ViolinMarkerSymbol_diamond                     ViolinMarkerSymbol = "diamond"
	ViolinMarkerSymbol102                          ViolinMarkerSymbol = "102"
	ViolinMarkerSymbol_102                         ViolinMarkerSymbol = "102"
	ViolinMarkerSymbol_diamond_open                ViolinMarkerSymbol = "diamond-open"
	ViolinMarkerSymbol202                          ViolinMarkerSymbol = "202"
	ViolinMarkerSymbol_202                         ViolinMarkerSymbol = "202"
	ViolinMarkerSymbol_diamond_dot                 ViolinMarkerSymbol = "diamond-dot"
	ViolinMarkerSymbol302                          ViolinMarkerSymbol = "302"
	ViolinMarkerSymbol_302                         ViolinMarkerSymbol = "302"
	ViolinMarkerSymbol_diamond_open_dot            ViolinMarkerSymbol = "diamond-open-dot"
	ViolinMarkerSymbol3                            ViolinMarkerSymbol = "3"
	ViolinMarkerSymbol_3                           ViolinMarkerSymbol = "3"
	ViolinMarkerSymbol_cross                       ViolinMarkerSymbol = "cross"
	ViolinMarkerSymbol103                          ViolinMarkerSymbol = "103"
	ViolinMarkerSymbol_103                         ViolinMarkerSymbol = "103"
	ViolinMarkerSymbol_cross_open                  ViolinMarkerSymbol = "cross-open"
	ViolinMarkerSymbol203                          ViolinMarkerSymbol = "203"
	ViolinMarkerSymbol_203                         ViolinMarkerSymbol = "203"
	ViolinMarkerSymbol_cross_dot                   ViolinMarkerSymbol = "cross-dot"
	ViolinMarkerSymbol303                          ViolinMarkerSymbol = "303"
	ViolinMarkerSymbol_303                         ViolinMarkerSymbol = "303"
	ViolinMarkerSymbol_cross_open_dot              ViolinMarkerSymbol = "cross-open-dot"
	ViolinMarkerSymbol4                            ViolinMarkerSymbol = "4"
	ViolinMarkerSymbol_4                           ViolinMarkerSymbol = "4"
	ViolinMarkerSymbol_x                           ViolinMarkerSymbol = "x"
	ViolinMarkerSymbol104                          ViolinMarkerSymbol = "104"
	ViolinMarkerSymbol_104                         ViolinMarkerSymbol = "104"
	ViolinMarkerSymbol_x_open                      ViolinMarkerSymbol = "x-open"
	ViolinMarkerSymbol204                          ViolinMarkerSymbol = "204"
	ViolinMarkerSymbol_204                         ViolinMarkerSymbol = "204"
	ViolinMarkerSymbol_x_dot                       ViolinMarkerSymbol = "x-dot"
	ViolinMarkerSymbol304                          ViolinMarkerSymbol = "304"
	ViolinMarkerSymbol_304                         ViolinMarkerSymbol = "304"
	ViolinMarkerSymbol_x_open_dot                  ViolinMarkerSymbol = "x-open-dot"
	ViolinMarkerSymbol5                            ViolinMarkerSymbol = "5"
	ViolinMarkerSymbol_5                           ViolinMarkerSymbol = "5"
	ViolinMarkerSymbol_triangle_up                 ViolinMarkerSymbol = "triangle-up"
	ViolinMarkerSymbol105                          ViolinMarkerSymbol = "105"
	ViolinMarkerSymbol_105                         ViolinMarkerSymbol = "105"
	ViolinMarkerSymbol_triangle_up_open            ViolinMarkerSymbol = "triangle-up-open"
	ViolinMarkerSymbol205                          ViolinMarkerSymbol = "205"
	ViolinMarkerSymbol_205                         ViolinMarkerSymbol = "205"
	ViolinMarkerSymbol_triangle_up_dot             ViolinMarkerSymbol = "triangle-up-dot"
	ViolinMarkerSymbol305                          ViolinMarkerSymbol = "305"
	ViolinMarkerSymbol_305                         ViolinMarkerSymbol = "305"
	ViolinMarkerSymbol_triangle_up_open_dot        ViolinMarkerSymbol = "triangle-up-open-dot"
	ViolinMarkerSymbol6                            ViolinMarkerSymbol = "6"
	ViolinMarkerSymbol_6                           ViolinMarkerSymbol = "6"
	ViolinMarkerSymbol_triangle_down               ViolinMarkerSymbol = "triangle-down"
	ViolinMarkerSymbol106                          ViolinMarkerSymbol = "106"
	ViolinMarkerSymbol_106                         ViolinMarkerSymbol = "106"
	ViolinMarkerSymbol_triangle_down_open          ViolinMarkerSymbol = "triangle-down-open"
	ViolinMarkerSymbol206                          ViolinMarkerSymbol = "206"
	ViolinMarkerSymbol_206                         ViolinMarkerSymbol = "206"
	ViolinMarkerSymbol_triangle_down_dot           ViolinMarkerSymbol = "triangle-down-dot"
	ViolinMarkerSymbol306                          ViolinMarkerSymbol = "306"
	ViolinMarkerSymbol_306                         ViolinMarkerSymbol = "306"
	ViolinMarkerSymbol_triangle_down_open_dot      ViolinMarkerSymbol = "triangle-down-open-dot"
	ViolinMarkerSymbol7                            ViolinMarkerSymbol = "7"
	ViolinMarkerSymbol_7                           ViolinMarkerSymbol = "7"
	ViolinMarkerSymbol_triangle_left               ViolinMarkerSymbol = "triangle-left"
	ViolinMarkerSymbol107                          ViolinMarkerSymbol = "107"
	ViolinMarkerSymbol_107                         ViolinMarkerSymbol = "107"
	ViolinMarkerSymbol_triangle_left_open          ViolinMarkerSymbol = "triangle-left-open"
	ViolinMarkerSymbol207                          ViolinMarkerSymbol = "207"
	ViolinMarkerSymbol_207                         ViolinMarkerSymbol = "207"
	ViolinMarkerSymbol_triangle_left_dot           ViolinMarkerSymbol = "triangle-left-dot"
	ViolinMarkerSymbol307                          ViolinMarkerSymbol = "307"
	ViolinMarkerSymbol_307                         ViolinMarkerSymbol = "307"
	ViolinMarkerSymbol_triangle_left_open_dot      ViolinMarkerSymbol = "triangle-left-open-dot"
	ViolinMarkerSymbol8                            ViolinMarkerSymbol = "8"
	ViolinMarkerSymbol_8                           ViolinMarkerSymbol = "8"
	ViolinMarkerSymbol_triangle_right              ViolinMarkerSymbol = "triangle-right"
	ViolinMarkerSymbol108                          ViolinMarkerSymbol = "108"
	ViolinMarkerSymbol_108                         ViolinMarkerSymbol = "108"
	ViolinMarkerSymbol_triangle_right_open         ViolinMarkerSymbol = "triangle-right-open"
	ViolinMarkerSymbol208                          ViolinMarkerSymbol = "208"
	ViolinMarkerSymbol_208                         ViolinMarkerSymbol = "208"
	ViolinMarkerSymbol_triangle_right_dot          ViolinMarkerSymbol = "triangle-right-dot"
	ViolinMarkerSymbol308                          ViolinMarkerSymbol = "308"
	ViolinMarkerSymbol_308                         ViolinMarkerSymbol = "308"
	ViolinMarkerSymbol_triangle_right_open_dot     ViolinMarkerSymbol = "triangle-right-open-dot"
	ViolinMarkerSymbol9                            ViolinMarkerSymbol = "9"
	ViolinMarkerSymbol_9                           ViolinMarkerSymbol = "9"
	ViolinMarkerSymbol_triangle_ne                 ViolinMarkerSymbol = "triangle-ne"
	ViolinMarkerSymbol109                          ViolinMarkerSymbol = "109"
	ViolinMarkerSymbol_109                         ViolinMarkerSymbol = "109"
	ViolinMarkerSymbol_triangle_ne_open            ViolinMarkerSymbol = "triangle-ne-open"
	ViolinMarkerSymbol209                          ViolinMarkerSymbol = "209"
	ViolinMarkerSymbol_209                         ViolinMarkerSymbol = "209"
	ViolinMarkerSymbol_triangle_ne_dot             ViolinMarkerSymbol = "triangle-ne-dot"
	ViolinMarkerSymbol309                          ViolinMarkerSymbol = "309"
	ViolinMarkerSymbol_309                         ViolinMarkerSymbol = "309"
	ViolinMarkerSymbol_triangle_ne_open_dot        ViolinMarkerSymbol = "triangle-ne-open-dot"
	ViolinMarkerSymbol10                           ViolinMarkerSymbol = "10"
	ViolinMarkerSymbol_10                          ViolinMarkerSymbol = "10"
	ViolinMarkerSymbol_triangle_se                 ViolinMarkerSymbol = "triangle-se"
	ViolinMarkerSymbol110                          ViolinMarkerSymbol = "110"
	ViolinMarkerSymbol_110                         ViolinMarkerSymbol = "110"
	ViolinMarkerSymbol_triangle_se_open            ViolinMarkerSymbol = "triangle-se-open"
	ViolinMarkerSymbol210                          ViolinMarkerSymbol = "210"
	ViolinMarkerSymbol_210                         ViolinMarkerSymbol = "210"
	ViolinMarkerSymbol_triangle_se_dot             ViolinMarkerSymbol = "triangle-se-dot"
	ViolinMarkerSymbol310                          ViolinMarkerSymbol = "310"
	ViolinMarkerSymbol_310                         ViolinMarkerSymbol = "310"
	ViolinMarkerSymbol_triangle_se_open_dot        ViolinMarkerSymbol = "triangle-se-open-dot"
	ViolinMarkerSymbol11                           ViolinMarkerSymbol = "11"
	ViolinMarkerSymbol_11                          ViolinMarkerSymbol = "11"
	ViolinMarkerSymbol_triangle_sw                 ViolinMarkerSymbol = "triangle-sw"
	ViolinMarkerSymbol111                          ViolinMarkerSymbol = "111"
	ViolinMarkerSymbol_111                         ViolinMarkerSymbol = "111"
	ViolinMarkerSymbol_triangle_sw_open            ViolinMarkerSymbol = "triangle-sw-open"
	ViolinMarkerSymbol211                          ViolinMarkerSymbol = "211"
	ViolinMarkerSymbol_211                         ViolinMarkerSymbol = "211"
	ViolinMarkerSymbol_triangle_sw_dot             ViolinMarkerSymbol = "triangle-sw-dot"
	ViolinMarkerSymbol311                          ViolinMarkerSymbol = "311"
	ViolinMarkerSymbol_311                         ViolinMarkerSymbol = "311"
	ViolinMarkerSymbol_triangle_sw_open_dot        ViolinMarkerSymbol = "triangle-sw-open-dot"
	ViolinMarkerSymbol12                           ViolinMarkerSymbol = "12"
	ViolinMarkerSymbol_12                          ViolinMarkerSymbol = "12"
	ViolinMarkerSymbol_triangle_nw                 ViolinMarkerSymbol = "triangle-nw"
	ViolinMarkerSymbol112                          ViolinMarkerSymbol = "112"
	ViolinMarkerSymbol_112                         ViolinMarkerSymbol = "112"
	ViolinMarkerSymbol_triangle_nw_open            ViolinMarkerSymbol = "triangle-nw-open"
	ViolinMarkerSymbol212                          ViolinMarkerSymbol = "212"
	ViolinMarkerSymbol_212                         ViolinMarkerSymbol = "212"
	ViolinMarkerSymbol_triangle_nw_dot             ViolinMarkerSymbol = "triangle-nw-dot"
	ViolinMarkerSymbol312                          ViolinMarkerSymbol = "312"
	ViolinMarkerSymbol_312                         ViolinMarkerSymbol = "312"
	ViolinMarkerSymbol_triangle_nw_open_dot        ViolinMarkerSymbol = "triangle-nw-open-dot"
	ViolinMarkerSymbol13                           ViolinMarkerSymbol = "13"
	ViolinMarkerSymbol_13                          ViolinMarkerSymbol = "13"
	ViolinMarkerSymbol_pentagon                    ViolinMarkerSymbol = "pentagon"
	ViolinMarkerSymbol113                          ViolinMarkerSymbol = "113"
	ViolinMarkerSymbol_113                         ViolinMarkerSymbol = "113"
	ViolinMarkerSymbol_pentagon_open               ViolinMarkerSymbol = "pentagon-open"
	ViolinMarkerSymbol213                          ViolinMarkerSymbol = "213"
	ViolinMarkerSymbol_213                         ViolinMarkerSymbol = "213"
	ViolinMarkerSymbol_pentagon_dot                ViolinMarkerSymbol = "pentagon-dot"
	ViolinMarkerSymbol313                          ViolinMarkerSymbol = "313"
	ViolinMarkerSymbol_313                         ViolinMarkerSymbol = "313"
	ViolinMarkerSymbol_pentagon_open_dot           ViolinMarkerSymbol = "pentagon-open-dot"
	ViolinMarkerSymbol14                           ViolinMarkerSymbol = "14"
	ViolinMarkerSymbol_14                          ViolinMarkerSymbol = "14"
	ViolinMarkerSymbol_hexagon                     ViolinMarkerSymbol = "hexagon"
	ViolinMarkerSymbol114                          ViolinMarkerSymbol = "114"
	ViolinMarkerSymbol_114                         ViolinMarkerSymbol = "114"
	ViolinMarkerSymbol_hexagon_open                ViolinMarkerSymbol = "hexagon-open"
	ViolinMarkerSymbol214                          ViolinMarkerSymbol = "214"
	ViolinMarkerSymbol_214                         ViolinMarkerSymbol = "214"
	ViolinMarkerSymbol_hexagon_dot                 ViolinMarkerSymbol = "hexagon-dot"
	ViolinMarkerSymbol314                          ViolinMarkerSymbol = "314"
	ViolinMarkerSymbol_314                         ViolinMarkerSymbol = "314"
	ViolinMarkerSymbol_hexagon_open_dot            ViolinMarkerSymbol = "hexagon-open-dot"
	ViolinMarkerSymbol15                           ViolinMarkerSymbol = "15"
	ViolinMarkerSymbol_15                          ViolinMarkerSymbol = "15"
	ViolinMarkerSymbol_hexagon2                    ViolinMarkerSymbol = "hexagon2"
	ViolinMarkerSymbol115                          ViolinMarkerSymbol = "115"
	ViolinMarkerSymbol_115                         ViolinMarkerSymbol = "115"
	ViolinMarkerSymbol_hexagon2_open               ViolinMarkerSymbol = "hexagon2-open"
	ViolinMarkerSymbol215                          ViolinMarkerSymbol = "215"
	ViolinMarkerSymbol_215                         ViolinMarkerSymbol = "215"
	ViolinMarkerSymbol_hexagon2_dot                ViolinMarkerSymbol = "hexagon2-dot"
	ViolinMarkerSymbol315                          ViolinMarkerSymbol = "315"
	ViolinMarkerSymbol_315                         ViolinMarkerSymbol = "315"
	ViolinMarkerSymbol_hexagon2_open_dot           ViolinMarkerSymbol = "hexagon2-open-dot"
	ViolinMarkerSymbol16                           ViolinMarkerSymbol = "16"
	ViolinMarkerSymbol_16                          ViolinMarkerSymbol = "16"
	ViolinMarkerSymbol_octagon                     ViolinMarkerSymbol = "octagon"
	ViolinMarkerSymbol116                          ViolinMarkerSymbol = "116"
	ViolinMarkerSymbol_116                         ViolinMarkerSymbol = "116"
	ViolinMarkerSymbol_octagon_open                ViolinMarkerSymbol = "octagon-open"
	ViolinMarkerSymbol216                          ViolinMarkerSymbol = "216"
	ViolinMarkerSymbol_216                         ViolinMarkerSymbol = "216"
	ViolinMarkerSymbol_octagon_dot                 ViolinMarkerSymbol = "octagon-dot"
	ViolinMarkerSymbol316                          ViolinMarkerSymbol = "316"
	ViolinMarkerSymbol_316                         ViolinMarkerSymbol = "316"
	ViolinMarkerSymbol_octagon_open_dot            ViolinMarkerSymbol = "octagon-open-dot"
	ViolinMarkerSymbol17                           ViolinMarkerSymbol = "17"
	ViolinMarkerSymbol_17                          ViolinMarkerSymbol = "17"
	ViolinMarkerSymbol_star                        ViolinMarkerSymbol = "star"
	ViolinMarkerSymbol117                          ViolinMarkerSymbol = "117"
	ViolinMarkerSymbol_117                         ViolinMarkerSymbol = "117"
	ViolinMarkerSymbol_star_open                   ViolinMarkerSymbol = "star-open"
	ViolinMarkerSymbol217                          ViolinMarkerSymbol = "217"
	ViolinMarkerSymbol_217                         ViolinMarkerSymbol = "217"
	ViolinMarkerSymbol_star_dot                    ViolinMarkerSymbol = "star-dot"
	ViolinMarkerSymbol317                          ViolinMarkerSymbol = "317"
	ViolinMarkerSymbol_317                         ViolinMarkerSymbol = "317"
	ViolinMarkerSymbol_star_open_dot               ViolinMarkerSymbol = "star-open-dot"
	ViolinMarkerSymbol18                           ViolinMarkerSymbol = "18"
	ViolinMarkerSymbol_18                          ViolinMarkerSymbol = "18"
	ViolinMarkerSymbol_hexagram                    ViolinMarkerSymbol = "hexagram"
	ViolinMarkerSymbol118                          ViolinMarkerSymbol = "118"
	ViolinMarkerSymbol_118                         ViolinMarkerSymbol = "118"
	ViolinMarkerSymbol_hexagram_open               ViolinMarkerSymbol = "hexagram-open"
	ViolinMarkerSymbol218                          ViolinMarkerSymbol = "218"
	ViolinMarkerSymbol_218                         ViolinMarkerSymbol = "218"
	ViolinMarkerSymbol_hexagram_dot                ViolinMarkerSymbol = "hexagram-dot"
	ViolinMarkerSymbol318                          ViolinMarkerSymbol = "318"
	ViolinMarkerSymbol_318                         ViolinMarkerSymbol = "318"
	ViolinMarkerSymbol_hexagram_open_dot           ViolinMarkerSymbol = "hexagram-open-dot"
	ViolinMarkerSymbol19                           ViolinMarkerSymbol = "19"
	ViolinMarkerSymbol_19                          ViolinMarkerSymbol = "19"
	ViolinMarkerSymbol_star_triangle_up            ViolinMarkerSymbol = "star-triangle-up"
	ViolinMarkerSymbol119                          ViolinMarkerSymbol = "119"
	ViolinMarkerSymbol_119                         ViolinMarkerSymbol = "119"
	ViolinMarkerSymbol_star_triangle_up_open       ViolinMarkerSymbol = "star-triangle-up-open"
	ViolinMarkerSymbol219                          ViolinMarkerSymbol = "219"
	ViolinMarkerSymbol_219                         ViolinMarkerSymbol = "219"
	ViolinMarkerSymbol_star_triangle_up_dot        ViolinMarkerSymbol = "star-triangle-up-dot"
	ViolinMarkerSymbol319                          ViolinMarkerSymbol = "319"
	ViolinMarkerSymbol_319                         ViolinMarkerSymbol = "319"
	ViolinMarkerSymbol_star_triangle_up_open_dot   ViolinMarkerSymbol = "star-triangle-up-open-dot"
	ViolinMarkerSymbol20                           ViolinMarkerSymbol = "20"
	ViolinMarkerSymbol_20                          ViolinMarkerSymbol = "20"
	ViolinMarkerSymbol_star_triangle_down          ViolinMarkerSymbol = "star-triangle-down"
	ViolinMarkerSymbol120                          ViolinMarkerSymbol = "120"
	ViolinMarkerSymbol_120                         ViolinMarkerSymbol = "120"
	ViolinMarkerSymbol_star_triangle_down_open     ViolinMarkerSymbol = "star-triangle-down-open"
	ViolinMarkerSymbol220                          ViolinMarkerSymbol = "220"
	ViolinMarkerSymbol_220                         ViolinMarkerSymbol = "220"
	ViolinMarkerSymbol_star_triangle_down_dot      ViolinMarkerSymbol = "star-triangle-down-dot"
	ViolinMarkerSymbol320                          ViolinMarkerSymbol = "320"
	ViolinMarkerSymbol_320                         ViolinMarkerSymbol = "320"
	ViolinMarkerSymbol_star_triangle_down_open_dot ViolinMarkerSymbol = "star-triangle-down-open-dot"
	ViolinMarkerSymbol21                           ViolinMarkerSymbol = "21"
	ViolinMarkerSymbol_21                          ViolinMarkerSymbol = "21"
	ViolinMarkerSymbol_star_square                 ViolinMarkerSymbol = "star-square"
	ViolinMarkerSymbol121                          ViolinMarkerSymbol = "121"
	ViolinMarkerSymbol_121                         ViolinMarkerSymbol = "121"
	ViolinMarkerSymbol_star_square_open            ViolinMarkerSymbol = "star-square-open"
	ViolinMarkerSymbol221                          ViolinMarkerSymbol = "221"
	ViolinMarkerSymbol_221                         ViolinMarkerSymbol = "221"
	ViolinMarkerSymbol_star_square_dot             ViolinMarkerSymbol = "star-square-dot"
	ViolinMarkerSymbol321                          ViolinMarkerSymbol = "321"
	ViolinMarkerSymbol_321                         ViolinMarkerSymbol = "321"
	ViolinMarkerSymbol_star_square_open_dot        ViolinMarkerSymbol = "star-square-open-dot"
	ViolinMarkerSymbol22                           ViolinMarkerSymbol = "22"
	ViolinMarkerSymbol_22                          ViolinMarkerSymbol = "22"
	ViolinMarkerSymbol_star_diamond                ViolinMarkerSymbol = "star-diamond"
	ViolinMarkerSymbol122                          ViolinMarkerSymbol = "122"
	ViolinMarkerSymbol_122                         ViolinMarkerSymbol = "122"
	ViolinMarkerSymbol_star_diamond_open           ViolinMarkerSymbol = "star-diamond-open"
	ViolinMarkerSymbol222                          ViolinMarkerSymbol = "222"
	ViolinMarkerSymbol_222                         ViolinMarkerSymbol = "222"
	ViolinMarkerSymbol_star_diamond_dot            ViolinMarkerSymbol = "star-diamond-dot"
	ViolinMarkerSymbol322                          ViolinMarkerSymbol = "322"
	ViolinMarkerSymbol_322                         ViolinMarkerSymbol = "322"
	ViolinMarkerSymbol_star_diamond_open_dot       ViolinMarkerSymbol = "star-diamond-open-dot"
	ViolinMarkerSymbol23                           ViolinMarkerSymbol = "23"
	ViolinMarkerSymbol_23                          ViolinMarkerSymbol = "23"
	ViolinMarkerSymbol_diamond_tall                ViolinMarkerSymbol = "diamond-tall"
	ViolinMarkerSymbol123                          ViolinMarkerSymbol = "123"
	ViolinMarkerSymbol_123                         ViolinMarkerSymbol = "123"
	ViolinMarkerSymbol_diamond_tall_open           ViolinMarkerSymbol = "diamond-tall-open"
	ViolinMarkerSymbol223                          ViolinMarkerSymbol = "223"
	ViolinMarkerSymbol_223                         ViolinMarkerSymbol = "223"
	ViolinMarkerSymbol_diamond_tall_dot            ViolinMarkerSymbol = "diamond-tall-dot"
	ViolinMarkerSymbol323                          ViolinMarkerSymbol = "323"
	ViolinMarkerSymbol_323                         ViolinMarkerSymbol = "323"
	ViolinMarkerSymbol_diamond_tall_open_dot       ViolinMarkerSymbol = "diamond-tall-open-dot"
	ViolinMarkerSymbol24                           ViolinMarkerSymbol = "24"
	ViolinMarkerSymbol_24                          ViolinMarkerSymbol = "24"
	ViolinMarkerSymbol_diamond_wide                ViolinMarkerSymbol = "diamond-wide"
	ViolinMarkerSymbol124                          ViolinMarkerSymbol = "124"
	ViolinMarkerSymbol_124                         ViolinMarkerSymbol = "124"
	ViolinMarkerSymbol_diamond_wide_open           ViolinMarkerSymbol = "diamond-wide-open"
	ViolinMarkerSymbol224                          ViolinMarkerSymbol = "224"
	ViolinMarkerSymbol_224                         ViolinMarkerSymbol = "224"
	ViolinMarkerSymbol_diamond_wide_dot            ViolinMarkerSymbol = "diamond-wide-dot"
	ViolinMarkerSymbol324                          ViolinMarkerSymbol = "324"
	ViolinMarkerSymbol_324                         ViolinMarkerSymbol = "324"
	ViolinMarkerSymbol_diamond_wide_open_dot       ViolinMarkerSymbol = "diamond-wide-open-dot"
	ViolinMarkerSymbol25                           ViolinMarkerSymbol = "25"
	ViolinMarkerSymbol_25                          ViolinMarkerSymbol = "25"
	ViolinMarkerSymbol_hourglass                   ViolinMarkerSymbol = "hourglass"
	ViolinMarkerSymbol125                          ViolinMarkerSymbol = "125"
	ViolinMarkerSymbol_125                         ViolinMarkerSymbol = "125"
	ViolinMarkerSymbol_hourglass_open              ViolinMarkerSymbol = "hourglass-open"
	ViolinMarkerSymbol26                           ViolinMarkerSymbol = "26"
	ViolinMarkerSymbol_26                          ViolinMarkerSymbol = "26"
	ViolinMarkerSymbol_bowtie                      ViolinMarkerSymbol = "bowtie"
	ViolinMarkerSymbol126                          ViolinMarkerSymbol = "126"
	ViolinMarkerSymbol_126                         ViolinMarkerSymbol = "126"
	ViolinMarkerSymbol_bowtie_open                 ViolinMarkerSymbol = "bowtie-open"
	ViolinMarkerSymbol27                           ViolinMarkerSymbol = "27"
	ViolinMarkerSymbol_27                          ViolinMarkerSymbol = "27"
	ViolinMarkerSymbol_circle_cross                ViolinMarkerSymbol = "circle-cross"
	ViolinMarkerSymbol127                          ViolinMarkerSymbol = "127"
	ViolinMarkerSymbol_127                         ViolinMarkerSymbol = "127"
	ViolinMarkerSymbol_circle_cross_open           ViolinMarkerSymbol = "circle-cross-open"
	ViolinMarkerSymbol28                           ViolinMarkerSymbol = "28"
	ViolinMarkerSymbol_28                          ViolinMarkerSymbol = "28"
	ViolinMarkerSymbol_circle_x                    ViolinMarkerSymbol = "circle-x"
	ViolinMarkerSymbol128                          ViolinMarkerSymbol = "128"
	ViolinMarkerSymbol_128                         ViolinMarkerSymbol = "128"
	ViolinMarkerSymbol_circle_x_open               ViolinMarkerSymbol = "circle-x-open"
	ViolinMarkerSymbol29                           ViolinMarkerSymbol = "29"
	ViolinMarkerSymbol_29                          ViolinMarkerSymbol = "29"
	ViolinMarkerSymbol_square_cross                ViolinMarkerSymbol = "square-cross"
	ViolinMarkerSymbol129                          ViolinMarkerSymbol = "129"
	ViolinMarkerSymbol_129                         ViolinMarkerSymbol = "129"
	ViolinMarkerSymbol_square_cross_open           ViolinMarkerSymbol = "square-cross-open"
	ViolinMarkerSymbol30                           ViolinMarkerSymbol = "30"
	ViolinMarkerSymbol_30                          ViolinMarkerSymbol = "30"
	ViolinMarkerSymbol_square_x                    ViolinMarkerSymbol = "square-x"
	ViolinMarkerSymbol130                          ViolinMarkerSymbol = "130"
	ViolinMarkerSymbol_130                         ViolinMarkerSymbol = "130"
	ViolinMarkerSymbol_square_x_open               ViolinMarkerSymbol = "square-x-open"
	ViolinMarkerSymbol31                           ViolinMarkerSymbol = "31"
	ViolinMarkerSymbol_31                          ViolinMarkerSymbol = "31"
	ViolinMarkerSymbol_diamond_cross               ViolinMarkerSymbol = "diamond-cross"
	ViolinMarkerSymbol131                          ViolinMarkerSymbol = "131"
	ViolinMarkerSymbol_131                         ViolinMarkerSymbol = "131"
	ViolinMarkerSymbol_diamond_cross_open          ViolinMarkerSymbol = "diamond-cross-open"
	ViolinMarkerSymbol32                           ViolinMarkerSymbol = "32"
	ViolinMarkerSymbol_32                          ViolinMarkerSymbol = "32"
	ViolinMarkerSymbol_diamond_x                   ViolinMarkerSymbol = "diamond-x"
	ViolinMarkerSymbol132                          ViolinMarkerSymbol = "132"
	ViolinMarkerSymbol_132                         ViolinMarkerSymbol = "132"
	ViolinMarkerSymbol_diamond_x_open              ViolinMarkerSymbol = "diamond-x-open"
	ViolinMarkerSymbol33                           ViolinMarkerSymbol = "33"
	ViolinMarkerSymbol_33                          ViolinMarkerSymbol = "33"
	ViolinMarkerSymbol_cross_thin                  ViolinMarkerSymbol = "cross-thin"
	ViolinMarkerSymbol133                          ViolinMarkerSymbol = "133"
	ViolinMarkerSymbol_133                         ViolinMarkerSymbol = "133"
	ViolinMarkerSymbol_cross_thin_open             ViolinMarkerSymbol = "cross-thin-open"
	ViolinMarkerSymbol34                           ViolinMarkerSymbol = "34"
	ViolinMarkerSymbol_34                          ViolinMarkerSymbol = "34"
	ViolinMarkerSymbol_x_thin                      ViolinMarkerSymbol = "x-thin"
	ViolinMarkerSymbol134                          ViolinMarkerSymbol = "134"
	ViolinMarkerSymbol_134                         ViolinMarkerSymbol = "134"
	ViolinMarkerSymbol_x_thin_open                 ViolinMarkerSymbol = "x-thin-open"
	ViolinMarkerSymbol35                           ViolinMarkerSymbol = "35"
	ViolinMarkerSymbol_35                          ViolinMarkerSymbol = "35"
	ViolinMarkerSymbol_asterisk                    ViolinMarkerSymbol = "asterisk"
	ViolinMarkerSymbol135                          ViolinMarkerSymbol = "135"
	ViolinMarkerSymbol_135                         ViolinMarkerSymbol = "135"
	ViolinMarkerSymbol_asterisk_open               ViolinMarkerSymbol = "asterisk-open"
	ViolinMarkerSymbol36                           ViolinMarkerSymbol = "36"
	ViolinMarkerSymbol_36                          ViolinMarkerSymbol = "36"
	ViolinMarkerSymbol_hash                        ViolinMarkerSymbol = "hash"
	ViolinMarkerSymbol136                          ViolinMarkerSymbol = "136"
	ViolinMarkerSymbol_136                         ViolinMarkerSymbol = "136"
	ViolinMarkerSymbol_hash_open                   ViolinMarkerSymbol = "hash-open"
	ViolinMarkerSymbol236                          ViolinMarkerSymbol = "236"
	ViolinMarkerSymbol_236                         ViolinMarkerSymbol = "236"
	ViolinMarkerSymbol_hash_dot                    ViolinMarkerSymbol = "hash-dot"
	ViolinMarkerSymbol336                          ViolinMarkerSymbol = "336"
	ViolinMarkerSymbol_336                         ViolinMarkerSymbol = "336"
	ViolinMarkerSymbol_hash_open_dot               ViolinMarkerSymbol = "hash-open-dot"
	ViolinMarkerSymbol37                           ViolinMarkerSymbol = "37"
	ViolinMarkerSymbol_37                          ViolinMarkerSymbol = "37"
	ViolinMarkerSymbol_y_up                        ViolinMarkerSymbol = "y-up"
	ViolinMarkerSymbol137                          ViolinMarkerSymbol = "137"
	ViolinMarkerSymbol_137                         ViolinMarkerSymbol = "137"
	ViolinMarkerSymbol_y_up_open                   ViolinMarkerSymbol = "y-up-open"
	ViolinMarkerSymbol38                           ViolinMarkerSymbol = "38"
	ViolinMarkerSymbol_38                          ViolinMarkerSymbol = "38"
	ViolinMarkerSymbol_y_down                      ViolinMarkerSymbol = "y-down"
	ViolinMarkerSymbol138                          ViolinMarkerSymbol = "138"
	ViolinMarkerSymbol_138                         ViolinMarkerSymbol = "138"
	ViolinMarkerSymbol_y_down_open                 ViolinMarkerSymbol = "y-down-open"
	ViolinMarkerSymbol39                           ViolinMarkerSymbol = "39"
	ViolinMarkerSymbol_39                          ViolinMarkerSymbol = "39"
	ViolinMarkerSymbol_y_left                      ViolinMarkerSymbol = "y-left"
	ViolinMarkerSymbol139                          ViolinMarkerSymbol = "139"
	ViolinMarkerSymbol_139                         ViolinMarkerSymbol = "139"
	ViolinMarkerSymbol_y_left_open                 ViolinMarkerSymbol = "y-left-open"
	ViolinMarkerSymbol40                           ViolinMarkerSymbol = "40"
	ViolinMarkerSymbol_40                          ViolinMarkerSymbol = "40"
	ViolinMarkerSymbol_y_right                     ViolinMarkerSymbol = "y-right"
	ViolinMarkerSymbol140                          ViolinMarkerSymbol = "140"
	ViolinMarkerSymbol_140                         ViolinMarkerSymbol = "140"
	ViolinMarkerSymbol_y_right_open                ViolinMarkerSymbol = "y-right-open"
	ViolinMarkerSymbol41                           ViolinMarkerSymbol = "41"
	ViolinMarkerSymbol_41                          ViolinMarkerSymbol = "41"
	ViolinMarkerSymbol_line_ew                     ViolinMarkerSymbol = "line-ew"
	ViolinMarkerSymbol141                          ViolinMarkerSymbol = "141"
	ViolinMarkerSymbol_141                         ViolinMarkerSymbol = "141"
	ViolinMarkerSymbol_line_ew_open                ViolinMarkerSymbol = "line-ew-open"
	ViolinMarkerSymbol42                           ViolinMarkerSymbol = "42"
	ViolinMarkerSymbol_42                          ViolinMarkerSymbol = "42"
	ViolinMarkerSymbol_line_ns                     ViolinMarkerSymbol = "line-ns"
	ViolinMarkerSymbol142                          ViolinMarkerSymbol = "142"
	ViolinMarkerSymbol_142                         ViolinMarkerSymbol = "142"
	ViolinMarkerSymbol_line_ns_open                ViolinMarkerSymbol = "line-ns-open"
	ViolinMarkerSymbol43                           ViolinMarkerSymbol = "43"
	ViolinMarkerSymbol_43                          ViolinMarkerSymbol = "43"
	ViolinMarkerSymbol_line_ne                     ViolinMarkerSymbol = "line-ne"
	ViolinMarkerSymbol143                          ViolinMarkerSymbol = "143"
	ViolinMarkerSymbol_143                         ViolinMarkerSymbol = "143"
	ViolinMarkerSymbol_line_ne_open                ViolinMarkerSymbol = "line-ne-open"
	ViolinMarkerSymbol44                           ViolinMarkerSymbol = "44"
	ViolinMarkerSymbol_44                          ViolinMarkerSymbol = "44"
	ViolinMarkerSymbol_line_nw                     ViolinMarkerSymbol = "line-nw"
	ViolinMarkerSymbol144                          ViolinMarkerSymbol = "144"
	ViolinMarkerSymbol_144                         ViolinMarkerSymbol = "144"
	ViolinMarkerSymbol_line_nw_open                ViolinMarkerSymbol = "line-nw-open"
	ViolinMarkerSymbol45                           ViolinMarkerSymbol = "45"
	ViolinMarkerSymbol_45                          ViolinMarkerSymbol = "45"
	ViolinMarkerSymbol_arrow_up                    ViolinMarkerSymbol = "arrow-up"
	ViolinMarkerSymbol145                          ViolinMarkerSymbol = "145"
	ViolinMarkerSymbol_145                         ViolinMarkerSymbol = "145"
	ViolinMarkerSymbol_arrow_up_open               ViolinMarkerSymbol = "arrow-up-open"
	ViolinMarkerSymbol46                           ViolinMarkerSymbol = "46"
	ViolinMarkerSymbol_46                          ViolinMarkerSymbol = "46"
	ViolinMarkerSymbol_arrow_down                  ViolinMarkerSymbol = "arrow-down"
	ViolinMarkerSymbol146                          ViolinMarkerSymbol = "146"
	ViolinMarkerSymbol_146                         ViolinMarkerSymbol = "146"
	ViolinMarkerSymbol_arrow_down_open             ViolinMarkerSymbol = "arrow-down-open"
	ViolinMarkerSymbol47                           ViolinMarkerSymbol = "47"
	ViolinMarkerSymbol_47                          ViolinMarkerSymbol = "47"
	ViolinMarkerSymbol_arrow_left                  ViolinMarkerSymbol = "arrow-left"
	ViolinMarkerSymbol147                          ViolinMarkerSymbol = "147"
	ViolinMarkerSymbol_147                         ViolinMarkerSymbol = "147"
	ViolinMarkerSymbol_arrow_left_open             ViolinMarkerSymbol = "arrow-left-open"
	ViolinMarkerSymbol48                           ViolinMarkerSymbol = "48"
	ViolinMarkerSymbol_48                          ViolinMarkerSymbol = "48"
	ViolinMarkerSymbol_arrow_right                 ViolinMarkerSymbol = "arrow-right"
	ViolinMarkerSymbol148                          ViolinMarkerSymbol = "148"
	ViolinMarkerSymbol_148                         ViolinMarkerSymbol = "148"
	ViolinMarkerSymbol_arrow_right_open            ViolinMarkerSymbol = "arrow-right-open"
	ViolinMarkerSymbol49                           ViolinMarkerSymbol = "49"
	ViolinMarkerSymbol_49                          ViolinMarkerSymbol = "49"
	ViolinMarkerSymbol_arrow_bar_up                ViolinMarkerSymbol = "arrow-bar-up"
	ViolinMarkerSymbol149                          ViolinMarkerSymbol = "149"
	ViolinMarkerSymbol_149                         ViolinMarkerSymbol = "149"
	ViolinMarkerSymbol_arrow_bar_up_open           ViolinMarkerSymbol = "arrow-bar-up-open"
	ViolinMarkerSymbol50                           ViolinMarkerSymbol = "50"
	ViolinMarkerSymbol_50                          ViolinMarkerSymbol = "50"
	ViolinMarkerSymbol_arrow_bar_down              ViolinMarkerSymbol = "arrow-bar-down"
	ViolinMarkerSymbol150                          ViolinMarkerSymbol = "150"
	ViolinMarkerSymbol_150                         ViolinMarkerSymbol = "150"
	ViolinMarkerSymbol_arrow_bar_down_open         ViolinMarkerSymbol = "arrow-bar-down-open"
	ViolinMarkerSymbol51                           ViolinMarkerSymbol = "51"
	ViolinMarkerSymbol_51                          ViolinMarkerSymbol = "51"
	ViolinMarkerSymbol_arrow_bar_left              ViolinMarkerSymbol = "arrow-bar-left"
	ViolinMarkerSymbol151                          ViolinMarkerSymbol = "151"
	ViolinMarkerSymbol_151                         ViolinMarkerSymbol = "151"
	ViolinMarkerSymbol_arrow_bar_left_open         ViolinMarkerSymbol = "arrow-bar-left-open"
	ViolinMarkerSymbol52                           ViolinMarkerSymbol = "52"
	ViolinMarkerSymbol_52                          ViolinMarkerSymbol = "52"
	ViolinMarkerSymbol_arrow_bar_right             ViolinMarkerSymbol = "arrow-bar-right"
	ViolinMarkerSymbol152                          ViolinMarkerSymbol = "152"
	ViolinMarkerSymbol_152                         ViolinMarkerSymbol = "152"
	ViolinMarkerSymbol_arrow_bar_right_open        ViolinMarkerSymbol = "arrow-bar-right-open"
)

type ViolinMeanline

type ViolinMeanline struct {

	// Color color Sets the mean line color.
	Color String `json:"color,omitempty"`

	// Visible 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 number Sets the mean line width.
	Width float64 `json:"width,omitempty"`
}

type ViolinOrientation

type ViolinOrientation string

ViolinOrientation Sets the orientation of the violin(s). If *v* (*h*), the distribution is visualized along the vertical (horizontal).

const (
	ViolinOrientation_v ViolinOrientation = "v"
	ViolinOrientation_h ViolinOrientation = "h"
)

type ViolinPoints

type ViolinPoints interface{}

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*.

var (
	ViolinPoints_all               ViolinPoints = "all"
	ViolinPoints_outliers          ViolinPoints = "outliers"
	ViolinPoints_suspectedoutliers ViolinPoints = "suspectedoutliers"
	ViolinPoints_False             ViolinPoints = false
)

type ViolinScalemode

type ViolinScalemode string

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.

const (
	ViolinScalemode_width ViolinScalemode = "width"
	ViolinScalemode_count ViolinScalemode = "count"
)

type ViolinSelected

type ViolinSelected struct {

	// Marker <no value> <no value>
	Marker *ViolinSelectedMarker `json:"marker,omitempty"`
}

type ViolinSelectedMarker

type ViolinSelectedMarker struct {

	// Color color Sets the marker color of selected points.
	Color String `json:"color,omitempty"`

	// Opacity number Sets the marker opacity of selected points.
	Opacity float64 `json:"opacity,omitempty"`

	// Size number Sets the marker size of selected points.
	Size float64 `json:"size,omitempty"`
}

type ViolinSide

type ViolinSide string

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*.

const (
	ViolinSide_both     ViolinSide = "both"
	ViolinSide_positive ViolinSide = "positive"
	ViolinSide_negative ViolinSide = "negative"
)

type ViolinSpanmode

type ViolinSpanmode string

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.

const (
	ViolinSpanmode_soft   ViolinSpanmode = "soft"
	ViolinSpanmode_hard   ViolinSpanmode = "hard"
	ViolinSpanmode_manual ViolinSpanmode = "manual"
)

type ViolinStream

type ViolinStream struct {

	// Maxpoints 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 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"`
}

type ViolinTransforms

type ViolinTransforms interface{}

ViolinTransforms It's an items array and what goes inside it's... messy... check the docs Here is a hint to help you to define your own type transform

description
editType
role

type ViolinUnselected

type ViolinUnselected struct {

	// Marker <no value> <no value>
	Marker *ViolinUnselectedMarker `json:"marker,omitempty"`
}

type ViolinUnselectedMarker

type ViolinUnselectedMarker struct {

	// Color color Sets the marker color of unselected points, applied only when a selection exists.
	Color String `json:"color,omitempty"`

	// Opacity number Sets the marker opacity of unselected points, applied only when a selection exists.
	Opacity float64 `json:"opacity,omitempty"`

	// Size number Sets the marker size of unselected points, applied only when a selection exists.
	Size float64 `json:"size,omitempty"`
}

type ViolinVisible

type ViolinVisible interface{}

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).

var (
	ViolinVisible_True       ViolinVisible = true
	ViolinVisible_False      ViolinVisible = false
	ViolinVisible_legendonly ViolinVisible = "legendonly"
)

type Volume

type Volume struct {

	// Type is the type of the plot
	Type TraceType `json:"type,omitempty"`

	// Autocolorscale 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 <no value> <no value>
	Caps *VolumeCaps `json:"caps,omitempty"`

	// Cauto 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 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 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 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 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 <no value> <no value>
	Colorbar *VolumeColorbar `json:"colorbar,omitempty"`

	// Contour <no value> <no value>
	Contour *VolumeContour `json:"contour,omitempty"`

	// Customdata 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 string Sets the source reference on Chart Studio Cloud for  customdata .
	Customdatasrc String `json:"customdatasrc,omitempty"`

	// Flatshading 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 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 string Sets the source reference on Chart Studio Cloud for  hoverinfo .
	Hoverinfosrc String `json:"hoverinfosrc,omitempty"`

	// Hoverlabel <no value> <no value>
	Hoverlabel *VolumeHoverlabel `json:"hoverlabel,omitempty"`

	// Hovertemplate 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 `<extra>` is displayed in the secondary box, for example "<extra>{fullData.name}</extra>". To hide the secondary box completely, use an empty tag `<extra></extra>`.
	Hovertemplate interface{} `json:"hovertemplate,omitempty"`

	// Hovertemplatesrc string Sets the source reference on Chart Studio Cloud for  hovertemplate .
	Hovertemplatesrc String `json:"hovertemplatesrc,omitempty"`

	// Hovertext string Same as `text`.
	Hovertext interface{} `json:"hovertext,omitempty"`

	// Hovertextsrc string Sets the source reference on Chart Studio Cloud for  hovertext .
	Hovertextsrc String `json:"hovertextsrc,omitempty"`

	// Ids 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 string Sets the source reference on Chart Studio Cloud for  ids .
	Idssrc String `json:"idssrc,omitempty"`

	// Isomax number Sets the maximum boundary for iso-surface plot.
	Isomax float64 `json:"isomax,omitempty"`

	// Isomin number Sets the minimum boundary for iso-surface plot.
	Isomin float64 `json:"isomin,omitempty"`

	// Legendgroup 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"`

	// Lighting <no value> <no value>
	Lighting *VolumeLighting `json:"lighting,omitempty"`

	// Lightposition <no value> <no value>
	Lightposition *VolumeLightposition `json:"lightposition,omitempty"`

	// Meta 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 string Sets the source reference on Chart Studio Cloud for  meta .
	Metasrc String `json:"metasrc,omitempty"`

	// Name string Sets the trace name. The trace name appear as the legend item and on hover.
	Name String `json:"name,omitempty"`

	// Opacity 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 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 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 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 boolean Determines whether or not an item corresponding to this trace is shown in the legend.
	Showlegend Bool `json:"showlegend,omitempty"`

	// Showscale boolean Determines whether or not a colorbar is displayed for this trace.
	Showscale Bool `json:"showscale,omitempty"`

	// Slices <no value> <no value>
	Slices *VolumeSlices `json:"slices,omitempty"`

	// Spaceframe <no value> <no value>
	Spaceframe *VolumeSpaceframe `json:"spaceframe,omitempty"`

	// Stream <no value> <no value>
	Stream *VolumeStream `json:"stream,omitempty"`

	// Surface <no value> <no value>
	Surface *VolumeSurface `json:"surface,omitempty"`

	// Text 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 interface{} `json:"text,omitempty"`

	// Textsrc string Sets the source reference on Chart Studio Cloud for  text .
	Textsrc String `json:"textsrc,omitempty"`

	// Uid 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 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 data_array Sets the 4th dimension (value) of the vertices.
	Value interface{} `json:"value,omitempty"`

	// Valuesrc string Sets the source reference on Chart Studio Cloud for  value .
	Valuesrc String `json:"valuesrc,omitempty"`

	// Visible 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 data_array Sets the X coordinates of the vertices on X axis.
	X interface{} `json:"x,omitempty"`

	// Xsrc string Sets the source reference on Chart Studio Cloud for  x .
	Xsrc String `json:"xsrc,omitempty"`

	// Y data_array Sets the Y coordinates of the vertices on Y axis.
	Y interface{} `json:"y,omitempty"`

	// Ysrc string Sets the source reference on Chart Studio Cloud for  y .
	Ysrc String `json:"ysrc,omitempty"`

	// Z data_array Sets the Z coordinates of the vertices on Z axis.
	Z interface{} `json:"z,omitempty"`

	// Zsrc string Sets the source reference on Chart Studio Cloud for  z .
	Zsrc String `json:"zsrc,omitempty"`
}

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.

func NewVolume

func NewVolume() *Volume

func (*Volume) GetType

func (this *Volume) GetType() TraceType

type VolumeCaps

type VolumeCaps struct {

	// X <no value> <no value>
	X *VolumeCapsX `json:"x,omitempty"`

	// Y <no value> <no value>
	Y *VolumeCapsY `json:"y,omitempty"`

	// Z <no value> <no value>
	Z *VolumeCapsZ `json:"z,omitempty"`
}

type VolumeCapsX

type VolumeCapsX struct {

	// Fill 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 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"`
}

type VolumeCapsY

type VolumeCapsY struct {

	// Fill 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 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"`
}

type VolumeCapsZ

type VolumeCapsZ struct {

	// Fill 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 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"`
}

type VolumeColorbar

type VolumeColorbar struct {

	// Bgcolor color Sets the color of padded area.
	Bgcolor String `json:"bgcolor,omitempty"`

	// Bordercolor color Sets the axis line color.
	Bordercolor String `json:"bordercolor,omitempty"`

	// Borderwidth number Sets the width (in px) or the border enclosing this color bar.
	Borderwidth float64 `json:"borderwidth,omitempty"`

	// Dtick 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<f>*, where `f` is a positive number, gives ticks linearly spaced in value (but not position). For example `tick0` = 0.1, `dtick` = *L0.5* will put ticks at 0.1, 0.6, 1.1, 1.6 etc. To show powers of 10 plus small digits between, use *D1* (all digits) or *D2* (only 2 and 5). `tick0` is ignored for *D1* and *D2*. If the axis `type` is *date*, then you must convert the time to milliseconds. For example, to set the interval between ticks to one day, set `dtick` to 86400000.0. *date* also has special values *M<n>* gives ticks spaced by a number of months. `n` must be a positive integer. To set ticks on the 15th of every third month, set `tick0` to *2000-01-15* and `dtick` to *M3*. To set ticks every 4 years, set `dtick` to *M48*
	Dtick interface{} `json:"dtick,omitempty"`

	// Exponentformat 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"`

	// Len 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 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 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 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"`

	// Outlinecolor color Sets the axis line color.
	Outlinecolor String `json:"outlinecolor,omitempty"`

	// Outlinewidth number Sets the width (in px) of the axis line.
	Outlinewidth float64 `json:"outlinewidth,omitempty"`

	// Separatethousands boolean If "true", even 4-digit integers are separated
	Separatethousands Bool `json:"separatethousands,omitempty"`

	// Showexponent 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 boolean Determines whether or not the tick labels are drawn.
	Showticklabels Bool `json:"showticklabels,omitempty"`

	// Showtickprefix 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 enumerated Same as `showtickprefix` but for tick suffixes.
	Showticksuffix VolumeColorbarShowticksuffix `json:"showticksuffix,omitempty"`

	// Thickness 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 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 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<f>* (see `dtick` for more info). If the axis `type` is *date*, it should be a date string, like date data. If the axis `type` is *category*, it should be a number, using the scale where each category is assigned a serial number from zero in the order it appears.
	Tick0 interface{} `json:"tick0,omitempty"`

	// Tickangle 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 color Sets the tick color.
	Tickcolor String `json:"tickcolor,omitempty"`

	// Tickfont <no value> Sets the color bar's tick label font
	Tickfont *VolumeColorbarTickfont `json:"tickfont,omitempty"`

	// Tickformat 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*
	Tickformat String `json:"tickformat,omitempty"`

	// Tickformatstops <no value> <no value>
	Tickformatstops VolumeColorbarTickformatstops `json:"tickformatstops,omitempty"`

	// Ticklabelposition enumerated Determines where tick labels are drawn.
	Ticklabelposition VolumeColorbarTicklabelposition `json:"ticklabelposition,omitempty"`

	// Ticklen number Sets the tick length (in px).
	Ticklen float64 `json:"ticklen,omitempty"`

	// Tickmode 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 string Sets a tick label prefix.
	Tickprefix String `json:"tickprefix,omitempty"`

	// Ticks 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 string Sets a tick label suffix.
	Ticksuffix String `json:"ticksuffix,omitempty"`

	// Ticktext 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 string Sets the source reference on Chart Studio Cloud for  ticktext .
	Ticktextsrc String `json:"ticktextsrc,omitempty"`

	// Tickvals 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 string Sets the source reference on Chart Studio Cloud for  tickvals .
	Tickvalssrc String `json:"tickvalssrc,omitempty"`

	// Tickwidth number Sets the tick width (in px).
	Tickwidth float64 `json:"tickwidth,omitempty"`

	// Title <no value> <no value>
	Title *VolumeColorbarTitle `json:"title,omitempty"`

	// X number Sets the x position of the color bar (in plot fraction).
	X float64 `json:"x,omitempty"`

	// Xanchor 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.
	Xanchor VolumeColorbarXanchor `json:"xanchor,omitempty"`

	// Xpad number Sets the amount of padding (in px) along the x direction.
	Xpad float64 `json:"xpad,omitempty"`

	// Y number Sets the y position of the color bar (in plot fraction).
	Y float64 `json:"y,omitempty"`

	// Yanchor 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.
	Yanchor VolumeColorbarYanchor `json:"yanchor,omitempty"`

	// Ypad number Sets the amount of padding (in px) along the y direction.
	Ypad float64 `json:"ypad,omitempty"`
}

type VolumeColorbarExponentformat

type VolumeColorbarExponentformat string

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.

const (
	VolumeColorbarExponentformat_none  VolumeColorbarExponentformat = "none"
	VolumeColorbarExponentformat_e     VolumeColorbarExponentformat = "e"
	VolumeColorbarExponentformat_E     VolumeColorbarExponentformat = "E"
	VolumeColorbarExponentformat_power VolumeColorbarExponentformat = "power"
	VolumeColorbarExponentformat_SI    VolumeColorbarExponentformat = "SI"
	VolumeColorbarExponentformat_B     VolumeColorbarExponentformat = "B"
)

type VolumeColorbarLenmode

type VolumeColorbarLenmode string

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.

const (
	VolumeColorbarLenmode_fraction VolumeColorbarLenmode = "fraction"
	VolumeColorbarLenmode_pixels   VolumeColorbarLenmode = "pixels"
)

type VolumeColorbarShowexponent

type VolumeColorbarShowexponent string

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.

const (
	VolumeColorbarShowexponent_all   VolumeColorbarShowexponent = "all"
	VolumeColorbarShowexponent_first VolumeColorbarShowexponent = "first"
	VolumeColorbarShowexponent_last  VolumeColorbarShowexponent = "last"
	VolumeColorbarShowexponent_none  VolumeColorbarShowexponent = "none"
)

type VolumeColorbarShowtickprefix

type VolumeColorbarShowtickprefix string

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.

const (
	VolumeColorbarShowtickprefix_all   VolumeColorbarShowtickprefix = "all"
	VolumeColorbarShowtickprefix_first VolumeColorbarShowtickprefix = "first"
	VolumeColorbarShowtickprefix_last  VolumeColorbarShowtickprefix = "last"
	VolumeColorbarShowtickprefix_none  VolumeColorbarShowtickprefix = "none"
)

type VolumeColorbarShowticksuffix

type VolumeColorbarShowticksuffix string

VolumeColorbarShowticksuffix Same as `showtickprefix` but for tick suffixes.

const (
	VolumeColorbarShowticksuffix_all   VolumeColorbarShowticksuffix = "all"
	VolumeColorbarShowticksuffix_first VolumeColorbarShowticksuffix = "first"
	VolumeColorbarShowticksuffix_last  VolumeColorbarShowticksuffix = "last"
	VolumeColorbarShowticksuffix_none  VolumeColorbarShowticksuffix = "none"
)

type VolumeColorbarThicknessmode

type VolumeColorbarThicknessmode string

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.

const (
	VolumeColorbarThicknessmode_fraction VolumeColorbarThicknessmode = "fraction"
	VolumeColorbarThicknessmode_pixels   VolumeColorbarThicknessmode = "pixels"
)

type VolumeColorbarTickfont

type VolumeColorbarTickfont struct {

	// Color color <no value>
	Color String `json:"color,omitempty"`

	// Family string HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.
	Family String `json:"family,omitempty"`

	// Size number <no value>
	Size float64 `json:"size,omitempty"`
}

type VolumeColorbarTickformatstops

type VolumeColorbarTickformatstops interface{}

VolumeColorbarTickformatstops It's an items array and what goes inside it's... messy... check the docs Here is a hint to help you to define your own type tickformatstop

dtickrange
editType
enabled
name
role
templateitemname
value

type VolumeColorbarTicklabelposition

type VolumeColorbarTicklabelposition string

VolumeColorbarTicklabelposition Determines where tick labels are drawn.

const (
	VolumeColorbarTicklabelposition_outside       VolumeColorbarTicklabelposition = "outside"
	VolumeColorbarTicklabelposition_inside        VolumeColorbarTicklabelposition = "inside"
	VolumeColorbarTicklabelposition_outsidetop    VolumeColorbarTicklabelposition = "outside top"
	VolumeColorbarTicklabelposition_insidetop     VolumeColorbarTicklabelposition = "inside top"
	VolumeColorbarTicklabelposition_outsidebottom VolumeColorbarTicklabelposition = "outside bottom"
	VolumeColorbarTicklabelposition_insidebottom  VolumeColorbarTicklabelposition = "inside bottom"
)

type VolumeColorbarTickmode

type VolumeColorbarTickmode string

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).

const (
	VolumeColorbarTickmode_auto   VolumeColorbarTickmode = "auto"
	VolumeColorbarTickmode_linear VolumeColorbarTickmode = "linear"
	VolumeColorbarTickmode_array  VolumeColorbarTickmode = "array"
)

type VolumeColorbarTicks

type VolumeColorbarTicks string

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.

const (
	VolumeColorbarTicks_outside VolumeColorbarTicks = "outside"
	VolumeColorbarTicks_inside  VolumeColorbarTicks = "inside"
)

type VolumeColorbarTitle

type VolumeColorbarTitle struct {

	// Font <no value> Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.
	Font *VolumeColorbarTitleFont `json:"font,omitempty"`

	// Side 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.
	Side VolumeColorbarTitleSide `json:"side,omitempty"`

	// Text 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"`
}

type VolumeColorbarTitleFont

type VolumeColorbarTitleFont struct {

	// Color color <no value>
	Color String `json:"color,omitempty"`

	// Family string HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.
	Family String `json:"family,omitempty"`

	// Size number <no value>
	Size float64 `json:"size,omitempty"`
}

type VolumeColorbarTitleSide

type VolumeColorbarTitleSide string

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.

const (
	VolumeColorbarTitleSide_right  VolumeColorbarTitleSide = "right"
	VolumeColorbarTitleSide_top    VolumeColorbarTitleSide = "top"
	VolumeColorbarTitleSide_bottom VolumeColorbarTitleSide = "bottom"
)

type VolumeColorbarXanchor

type VolumeColorbarXanchor string

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.

const (
	VolumeColorbarXanchor_left   VolumeColorbarXanchor = "left"
	VolumeColorbarXanchor_center VolumeColorbarXanchor = "center"
	VolumeColorbarXanchor_right  VolumeColorbarXanchor = "right"
)

type VolumeColorbarYanchor

type VolumeColorbarYanchor string

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.

const (
	VolumeColorbarYanchor_top    VolumeColorbarYanchor = "top"
	VolumeColorbarYanchor_middle VolumeColorbarYanchor = "middle"
	VolumeColorbarYanchor_bottom VolumeColorbarYanchor = "bottom"
)

type VolumeContour

type VolumeContour struct {

	// Color color Sets the color of the contour lines.
	Color String `json:"color,omitempty"`

	// Show boolean Sets whether or not dynamic contours are shown on hover
	Show Bool `json:"show,omitempty"`

	// Width number Sets the width of the contour lines.
	Width float64 `json:"width,omitempty"`
}

type VolumeHoverinfo

type VolumeHoverinfo string
const (
	// Flags
	VolumeHoverinfoX    VolumeHoverinfo = "x"
	VolumeHoverinfoY    VolumeHoverinfo = "y"
	VolumeHoverinfoZ    VolumeHoverinfo = "z"
	VolumeHoverinfoText VolumeHoverinfo = "text"
	VolumeHoverinfoName VolumeHoverinfo = "name"
	// Extras
	VolumeHoverinfoAll  VolumeHoverinfo = "all"
	VolumeHoverinfoNone VolumeHoverinfo = "none"
	VolumeHoverinfoSkip VolumeHoverinfo = "skip"
)

type VolumeHoverlabel

type VolumeHoverlabel struct {

	// Align 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 string Sets the source reference on Chart Studio Cloud for  align .
	Alignsrc String `json:"alignsrc,omitempty"`

	// Bgcolor color Sets the background color of the hover labels for this trace
	Bgcolor interface{} `json:"bgcolor,omitempty"`

	// Bgcolorsrc string Sets the source reference on Chart Studio Cloud for  bgcolor .
	Bgcolorsrc String `json:"bgcolorsrc,omitempty"`

	// Bordercolor color Sets the border color of the hover labels for this trace.
	Bordercolor interface{} `json:"bordercolor,omitempty"`

	// Bordercolorsrc string Sets the source reference on Chart Studio Cloud for  bordercolor .
	Bordercolorsrc String `json:"bordercolorsrc,omitempty"`

	// Font <no value> Sets the font used in hover labels.
	Font *VolumeHoverlabelFont `json:"font,omitempty"`

	// Namelength 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 interface{} `json:"namelength,omitempty"`

	// Namelengthsrc string Sets the source reference on Chart Studio Cloud for  namelength .
	Namelengthsrc String `json:"namelengthsrc,omitempty"`
}

type VolumeHoverlabelAlign

type VolumeHoverlabelAlign string

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

const (
	VolumeHoverlabelAlign_left  VolumeHoverlabelAlign = "left"
	VolumeHoverlabelAlign_right VolumeHoverlabelAlign = "right"
	VolumeHoverlabelAlign_auto  VolumeHoverlabelAlign = "auto"
)

type VolumeHoverlabelFont

type VolumeHoverlabelFont struct {

	// Color color <no value>
	Color interface{} `json:"color,omitempty"`

	// Colorsrc string Sets the source reference on Chart Studio Cloud for  color .
	Colorsrc String `json:"colorsrc,omitempty"`

	// Family string HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.
	Family interface{} `json:"family,omitempty"`

	// Familysrc string Sets the source reference on Chart Studio Cloud for  family .
	Familysrc String `json:"familysrc,omitempty"`

	// Size number <no value>
	Size interface{} `json:"size,omitempty"`

	// Sizesrc string Sets the source reference on Chart Studio Cloud for  size .
	Sizesrc String `json:"sizesrc,omitempty"`
}

type VolumeLighting

type VolumeLighting struct {

	// Ambient number Ambient light increases overall color visibility but can wash out the image.
	Ambient float64 `json:"ambient,omitempty"`

	// Diffuse number Represents the extent that incident rays are reflected in a range of angles.
	Diffuse float64 `json:"diffuse,omitempty"`

	// Facenormalsepsilon number Epsilon for face normals calculation avoids math issues arising from degenerate geometry.
	Facenormalsepsilon float64 `json:"facenormalsepsilon,omitempty"`

	// Fresnel 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 number Alters specular reflection; the rougher the surface, the wider and less contrasty the shine.
	Roughness float64 `json:"roughness,omitempty"`

	// Specular number Represents the level that incident rays are reflected in a single direction, causing shine.
	Specular float64 `json:"specular,omitempty"`

	// Vertexnormalsepsilon number Epsilon for vertex normals calculation avoids math issues arising from degenerate geometry.
	Vertexnormalsepsilon float64 `json:"vertexnormalsepsilon,omitempty"`
}

type VolumeLightposition

type VolumeLightposition struct {

	// X number Numeric vector, representing the X coordinate for each vertex.
	X float64 `json:"x,omitempty"`

	// Y number Numeric vector, representing the Y coordinate for each vertex.
	Y float64 `json:"y,omitempty"`

	// Z number Numeric vector, representing the Z coordinate for each vertex.
	Z float64 `json:"z,omitempty"`
}

type VolumeSlices

type VolumeSlices struct {

	// X <no value> <no value>
	X *VolumeSlicesX `json:"x,omitempty"`

	// Y <no value> <no value>
	Y *VolumeSlicesY `json:"y,omitempty"`

	// Z <no value> <no value>
	Z *VolumeSlicesZ `json:"z,omitempty"`
}

type VolumeSlicesX

type VolumeSlicesX struct {

	// Fill 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 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 string Sets the source reference on Chart Studio Cloud for  locations .
	Locationssrc String `json:"locationssrc,omitempty"`

	// Show boolean Determines whether or not slice planes about the x dimension are drawn.
	Show Bool `json:"show,omitempty"`
}

type VolumeSlicesY

type VolumeSlicesY struct {

	// Fill 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 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 string Sets the source reference on Chart Studio Cloud for  locations .
	Locationssrc String `json:"locationssrc,omitempty"`

	// Show boolean Determines whether or not slice planes about the y dimension are drawn.
	Show Bool `json:"show,omitempty"`
}

type VolumeSlicesZ

type VolumeSlicesZ struct {

	// Fill 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 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 string Sets the source reference on Chart Studio Cloud for  locations .
	Locationssrc String `json:"locationssrc,omitempty"`

	// Show boolean Determines whether or not slice planes about the z dimension are drawn.
	Show Bool `json:"show,omitempty"`
}

type VolumeSpaceframe

type VolumeSpaceframe struct {

	// Fill 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 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"`
}

type VolumeStream

type VolumeStream struct {

	// Maxpoints 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 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"`
}

type VolumeSurface

type VolumeSurface struct {

	// Count 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 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 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 boolean Hides/displays surfaces between minimum and maximum iso-values.
	Show Bool `json:"show,omitempty"`
}

type VolumeSurfacePattern

type VolumeSurfacePattern string
const (
	// Flags
	VolumeSurfacePatternA VolumeSurfacePattern = "A"
	VolumeSurfacePatternB VolumeSurfacePattern = "B"
	VolumeSurfacePatternC VolumeSurfacePattern = "C"
	VolumeSurfacePatternD VolumeSurfacePattern = "D"
	VolumeSurfacePatternE VolumeSurfacePattern = "E"
	// Extras
	VolumeSurfacePatternAll  VolumeSurfacePattern = "all"
	VolumeSurfacePatternOdd  VolumeSurfacePattern = "odd"
	VolumeSurfacePatternEven VolumeSurfacePattern = "even"
)

type VolumeVisible

type VolumeVisible interface{}

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).

var (
	VolumeVisible_True       VolumeVisible = true
	VolumeVisible_False      VolumeVisible = false
	VolumeVisible_legendonly VolumeVisible = "legendonly"
)

type Waterfall

type Waterfall struct {

	// Type is the type of the plot
	Type TraceType `json:"type,omitempty"`

	// Alignmentgroup 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 number Sets where the bar base is drawn (in position axis units).
	Base float64 `json:"base,omitempty"`

	// Cliponaxis 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 <no value> <no value>
	Connector *WaterfallConnector `json:"connector,omitempty"`

	// Constraintext 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 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 string Sets the source reference on Chart Studio Cloud for  customdata .
	Customdatasrc String `json:"customdatasrc,omitempty"`

	// Decreasing <no value> <no value>
	Decreasing *WaterfallDecreasing `json:"decreasing,omitempty"`

	// Dx number Sets the x coordinate step. See `x0` for more info.
	Dx float64 `json:"dx,omitempty"`

	// Dy number Sets the y coordinate step. See `y0` for more info.
	Dy float64 `json:"dy,omitempty"`

	// Hoverinfo 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 string Sets the source reference on Chart Studio Cloud for  hoverinfo .
	Hoverinfosrc String `json:"hoverinfosrc,omitempty"`

	// Hoverlabel <no value> <no value>
	Hoverlabel *WaterfallHoverlabel `json:"hoverlabel,omitempty"`

	// Hovertemplate 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 `<extra>` is displayed in the secondary box, for example "<extra>{fullData.name}</extra>". To hide the secondary box completely, use an empty tag `<extra></extra>`.
	Hovertemplate interface{} `json:"hovertemplate,omitempty"`

	// Hovertemplatesrc string Sets the source reference on Chart Studio Cloud for  hovertemplate .
	Hovertemplatesrc String `json:"hovertemplatesrc,omitempty"`

	// Hovertext 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 interface{} `json:"hovertext,omitempty"`

	// Hovertextsrc string Sets the source reference on Chart Studio Cloud for  hovertext .
	Hovertextsrc String `json:"hovertextsrc,omitempty"`

	// Ids 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 string Sets the source reference on Chart Studio Cloud for  ids .
	Idssrc String `json:"idssrc,omitempty"`

	// Increasing <no value> <no value>
	Increasing *WaterfallIncreasing `json:"increasing,omitempty"`

	// Insidetextanchor enumerated Determines if texts are kept at center or start/end points in `textposition` *inside* mode.
	Insidetextanchor WaterfallInsidetextanchor `json:"insidetextanchor,omitempty"`

	// Insidetextfont <no value> Sets the font used for `text` lying inside the bar.
	Insidetextfont *WaterfallInsidetextfont `json:"insidetextfont,omitempty"`

	// Legendgroup 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"`

	// Measure 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 string Sets the source reference on Chart Studio Cloud for  measure .
	Measuresrc String `json:"measuresrc,omitempty"`

	// Meta 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 string Sets the source reference on Chart Studio Cloud for  meta .
	Metasrc String `json:"metasrc,omitempty"`

	// Name string Sets the trace name. The trace name appear as the legend item and on hover.
	Name String `json:"name,omitempty"`

	// Offset 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 interface{} `json:"offset,omitempty"`

	// Offsetgroup 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 string Sets the source reference on Chart Studio Cloud for  offset .
	Offsetsrc String `json:"offsetsrc,omitempty"`

	// Opacity number Sets the opacity of the trace.
	Opacity float64 `json:"opacity,omitempty"`

	// Orientation 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 <no value> Sets the font used for `text` lying outside the bar.
	Outsidetextfont *WaterfallOutsidetextfont `json:"outsidetextfont,omitempty"`

	// Selectedpoints 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 boolean Determines whether or not an item corresponding to this trace is shown in the legend.
	Showlegend Bool `json:"showlegend,omitempty"`

	// Stream <no value> <no value>
	Stream *WaterfallStream `json:"stream,omitempty"`

	// Text 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 interface{} `json:"text,omitempty"`

	// Textangle 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 <no value> Sets the font used for `text`.
	Textfont *WaterfallTextfont `json:"textfont,omitempty"`

	// Textinfo 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 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.
	Textposition WaterfallTextposition `json:"textposition,omitempty"`

	// Textpositionsrc string Sets the source reference on Chart Studio Cloud for  textposition .
	Textpositionsrc String `json:"textpositionsrc,omitempty"`

	// Textsrc string Sets the source reference on Chart Studio Cloud for  text .
	Textsrc String `json:"textsrc,omitempty"`

	// Texttemplate 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`.
	Texttemplate interface{} `json:"texttemplate,omitempty"`

	// Texttemplatesrc string Sets the source reference on Chart Studio Cloud for  texttemplate .
	Texttemplatesrc String `json:"texttemplatesrc,omitempty"`

	// Totals <no value> <no value>
	Totals *WaterfallTotals `json:"totals,omitempty"`

	// Transforms <no value> <no value>
	Transforms WaterfallTransforms `json:"transforms,omitempty"`

	// Uid 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 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 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 number Sets the bar width (in position axis units).
	Width interface{} `json:"width,omitempty"`

	// Widthsrc string Sets the source reference on Chart Studio Cloud for  width .
	Widthsrc String `json:"widthsrc,omitempty"`

	// X data_array Sets the x coordinates.
	X interface{} `json:"x,omitempty"`

	// X0 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 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"`

	// Xperiod any Only relevant when the axis `type` is *date*. Sets the period positioning in milliseconds or *M<n>* on the x axis. Special values in the form of *M<n>* could be used to declare the number of months. In this case `n` must be a positive integer.
	Xperiod interface{} `json:"xperiod,omitempty"`

	// Xperiod0 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 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 string Sets the source reference on Chart Studio Cloud for  x .
	Xsrc String `json:"xsrc,omitempty"`

	// Y data_array Sets the y coordinates.
	Y interface{} `json:"y,omitempty"`

	// Y0 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 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"`

	// Yperiod any Only relevant when the axis `type` is *date*. Sets the period positioning in milliseconds or *M<n>* on the y axis. Special values in the form of *M<n>* could be used to declare the number of months. In this case `n` must be a positive integer.
	Yperiod interface{} `json:"yperiod,omitempty"`

	// Yperiod0 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 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 string Sets the source reference on Chart Studio Cloud for  y .
	Ysrc String `json:"ysrc,omitempty"`
}

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 th *v* (the default) and the labels are set in `x`. By setting `orientation` to *h*, the roles are interchanged.

func NewWaterfall

func NewWaterfall() *Waterfall

func (*Waterfall) GetType

func (this *Waterfall) GetType() TraceType

type WaterfallConnector

type WaterfallConnector struct {

	// Line <no value> <no value>
	Line *WaterfallConnectorLine `json:"line,omitempty"`

	// Mode enumerated Sets the shape of connector lines.
	Mode WaterfallConnectorMode `json:"mode,omitempty"`

	// Visible boolean Determines if connector lines are drawn.
	Visible Bool `json:"visible,omitempty"`
}

type WaterfallConnectorLine

type WaterfallConnectorLine struct {

	// Color color Sets the line color.
	Color String `json:"color,omitempty"`

	// Dash 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 number Sets the line width (in px).
	Width float64 `json:"width,omitempty"`
}

type WaterfallConnectorMode

type WaterfallConnectorMode string

WaterfallConnectorMode Sets the shape of connector lines.

const (
	WaterfallConnectorMode_spanning WaterfallConnectorMode = "spanning"
	WaterfallConnectorMode_between  WaterfallConnectorMode = "between"
)

type WaterfallConstraintext

type WaterfallConstraintext string

WaterfallConstraintext Constrain the size of text inside or outside a bar to be no larger than the bar itself.

const (
	WaterfallConstraintext_inside  WaterfallConstraintext = "inside"
	WaterfallConstraintext_outside WaterfallConstraintext = "outside"
	WaterfallConstraintext_both    WaterfallConstraintext = "both"
	WaterfallConstraintext_none    WaterfallConstraintext = "none"
)

type WaterfallDecreasing

type WaterfallDecreasing struct {

	// Marker <no value> <no value>
	Marker *WaterfallDecreasingMarker `json:"marker,omitempty"`
}

type WaterfallDecreasingMarker

type WaterfallDecreasingMarker struct {

	// Color color Sets the marker color of all decreasing values.
	Color String `json:"color,omitempty"`

	// Line <no value> <no value>
	Line *WaterfallDecreasingMarkerLine `json:"line,omitempty"`
}

type WaterfallDecreasingMarkerLine

type WaterfallDecreasingMarkerLine struct {

	// Color color Sets the line color of all decreasing values.
	Color String `json:"color,omitempty"`

	// Width number Sets the line width of all decreasing values.
	Width float64 `json:"width,omitempty"`
}

type WaterfallHoverinfo

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"
	// Extras
	WaterfallHoverinfoAll  WaterfallHoverinfo = "all"
	WaterfallHoverinfoNone WaterfallHoverinfo = "none"
	WaterfallHoverinfoSkip WaterfallHoverinfo = "skip"
)

type WaterfallHoverlabel

type WaterfallHoverlabel struct {

	// Align 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 string Sets the source reference on Chart Studio Cloud for  align .
	Alignsrc String `json:"alignsrc,omitempty"`

	// Bgcolor color Sets the background color of the hover labels for this trace
	Bgcolor interface{} `json:"bgcolor,omitempty"`

	// Bgcolorsrc string Sets the source reference on Chart Studio Cloud for  bgcolor .
	Bgcolorsrc String `json:"bgcolorsrc,omitempty"`

	// Bordercolor color Sets the border color of the hover labels for this trace.
	Bordercolor interface{} `json:"bordercolor,omitempty"`

	// Bordercolorsrc string Sets the source reference on Chart Studio Cloud for  bordercolor .
	Bordercolorsrc String `json:"bordercolorsrc,omitempty"`

	// Font <no value> Sets the font used in hover labels.
	Font *WaterfallHoverlabelFont `json:"font,omitempty"`

	// Namelength 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 interface{} `json:"namelength,omitempty"`

	// Namelengthsrc string Sets the source reference on Chart Studio Cloud for  namelength .
	Namelengthsrc String `json:"namelengthsrc,omitempty"`
}

type WaterfallHoverlabelAlign

type WaterfallHoverlabelAlign string

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

const (
	WaterfallHoverlabelAlign_left  WaterfallHoverlabelAlign = "left"
	WaterfallHoverlabelAlign_right WaterfallHoverlabelAlign = "right"
	WaterfallHoverlabelAlign_auto  WaterfallHoverlabelAlign = "auto"
)

type WaterfallHoverlabelFont

type WaterfallHoverlabelFont struct {

	// Color color <no value>
	Color interface{} `json:"color,omitempty"`

	// Colorsrc string Sets the source reference on Chart Studio Cloud for  color .
	Colorsrc String `json:"colorsrc,omitempty"`

	// Family string HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.
	Family interface{} `json:"family,omitempty"`

	// Familysrc string Sets the source reference on Chart Studio Cloud for  family .
	Familysrc String `json:"familysrc,omitempty"`

	// Size number <no value>
	Size interface{} `json:"size,omitempty"`

	// Sizesrc string Sets the source reference on Chart Studio Cloud for  size .
	Sizesrc String `json:"sizesrc,omitempty"`
}

type WaterfallIncreasing

type WaterfallIncreasing struct {

	// Marker <no value> <no value>
	Marker *WaterfallIncreasingMarker `json:"marker,omitempty"`
}

type WaterfallIncreasingMarker

type WaterfallIncreasingMarker struct {

	// Color color Sets the marker color of all increasing values.
	Color String `json:"color,omitempty"`

	// Line <no value> <no value>
	Line *WaterfallIncreasingMarkerLine `json:"line,omitempty"`
}

type WaterfallIncreasingMarkerLine

type WaterfallIncreasingMarkerLine struct {

	// Color color Sets the line color of all increasing values.
	Color String `json:"color,omitempty"`

	// Width number Sets the line width of all increasing values.
	Width float64 `json:"width,omitempty"`
}

type WaterfallInsidetextanchor

type WaterfallInsidetextanchor string

WaterfallInsidetextanchor Determines if texts are kept at center or start/end points in `textposition` *inside* mode.

const (
	WaterfallInsidetextanchor_end    WaterfallInsidetextanchor = "end"
	WaterfallInsidetextanchor_middle WaterfallInsidetextanchor = "middle"
	WaterfallInsidetextanchor_start  WaterfallInsidetextanchor = "start"
)

type WaterfallInsidetextfont

type WaterfallInsidetextfont struct {

	// Color color <no value>
	Color interface{} `json:"color,omitempty"`

	// Colorsrc string Sets the source reference on Chart Studio Cloud for  color .
	Colorsrc String `json:"colorsrc,omitempty"`

	// Family string HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.
	Family interface{} `json:"family,omitempty"`

	// Familysrc string Sets the source reference on Chart Studio Cloud for  family .
	Familysrc String `json:"familysrc,omitempty"`

	// Size number <no value>
	Size interface{} `json:"size,omitempty"`

	// Sizesrc string Sets the source reference on Chart Studio Cloud for  size .
	Sizesrc String `json:"sizesrc,omitempty"`
}

type WaterfallOrientation

type WaterfallOrientation string

WaterfallOrientation Sets the orientation of the bars. With *v* (*h*), the value of the each bar spans along the vertical (horizontal).

const (
	WaterfallOrientation_v WaterfallOrientation = "v"
	WaterfallOrientation_h WaterfallOrientation = "h"
)

type WaterfallOutsidetextfont

type WaterfallOutsidetextfont struct {

	// Color color <no value>
	Color interface{} `json:"color,omitempty"`

	// Colorsrc string Sets the source reference on Chart Studio Cloud for  color .
	Colorsrc String `json:"colorsrc,omitempty"`

	// Family string HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.
	Family interface{} `json:"family,omitempty"`

	// Familysrc string Sets the source reference on Chart Studio Cloud for  family .
	Familysrc String `json:"familysrc,omitempty"`

	// Size number <no value>
	Size interface{} `json:"size,omitempty"`

	// Sizesrc string Sets the source reference on Chart Studio Cloud for  size .
	Sizesrc String `json:"sizesrc,omitempty"`
}

type WaterfallStream

type WaterfallStream struct {

	// Maxpoints 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 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"`
}

type WaterfallTextfont

type WaterfallTextfont struct {

	// Color color <no value>
	Color interface{} `json:"color,omitempty"`

	// Colorsrc string Sets the source reference on Chart Studio Cloud for  color .
	Colorsrc String `json:"colorsrc,omitempty"`

	// Family string HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.
	Family interface{} `json:"family,omitempty"`

	// Familysrc string Sets the source reference on Chart Studio Cloud for  family .
	Familysrc String `json:"familysrc,omitempty"`

	// Size number <no value>
	Size interface{} `json:"size,omitempty"`

	// Sizesrc string Sets the source reference on Chart Studio Cloud for  size .
	Sizesrc String `json:"sizesrc,omitempty"`
}

type WaterfallTextinfo

type WaterfallTextinfo string
const (
	// Flags
	WaterfallTextinfoLabel   WaterfallTextinfo = "label"
	WaterfallTextinfoText    WaterfallTextinfo = "text"
	WaterfallTextinfoInitial WaterfallTextinfo = "initial"
	WaterfallTextinfoDelta   WaterfallTextinfo = "delta"
	WaterfallTextinfoFinal   WaterfallTextinfo = "final"
	// Extras
	WaterfallTextinfoNone WaterfallTextinfo = "none"
)

type WaterfallTextposition

type WaterfallTextposition string

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.

const (
	WaterfallTextposition_inside  WaterfallTextposition = "inside"
	WaterfallTextposition_outside WaterfallTextposition = "outside"
	WaterfallTextposition_auto    WaterfallTextposition = "auto"
	WaterfallTextposition_none    WaterfallTextposition = "none"
)

type WaterfallTotals

type WaterfallTotals struct {

	// Marker <no value> <no value>
	Marker *WaterfallTotalsMarker `json:"marker,omitempty"`
}

type WaterfallTotalsMarker

type WaterfallTotalsMarker struct {

	// Color color Sets the marker color of all intermediate sums and total values.
	Color String `json:"color,omitempty"`

	// Line <no value> <no value>
	Line *WaterfallTotalsMarkerLine `json:"line,omitempty"`
}

type WaterfallTotalsMarkerLine

type WaterfallTotalsMarkerLine struct {

	// Color color Sets the line color of all intermediate sums and total values.
	Color String `json:"color,omitempty"`

	// Width number Sets the line width of all intermediate sums and total values.
	Width float64 `json:"width,omitempty"`
}

type WaterfallTransforms

type WaterfallTransforms interface{}

WaterfallTransforms It's an items array and what goes inside it's... messy... check the docs Here is a hint to help you to define your own type transform

description
editType
role

type WaterfallVisible

type WaterfallVisible interface{}

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).

var (
	WaterfallVisible_True       WaterfallVisible = true
	WaterfallVisible_False      WaterfallVisible = false
	WaterfallVisible_legendonly WaterfallVisible = "legendonly"
)

type WaterfallXperiodalignment

type WaterfallXperiodalignment string

WaterfallXperiodalignment Only relevant when the axis `type` is *date*. Sets the alignment of data points on the x axis.

const (
	WaterfallXperiodalignment_start  WaterfallXperiodalignment = "start"
	WaterfallXperiodalignment_middle WaterfallXperiodalignment = "middle"
	WaterfallXperiodalignment_end    WaterfallXperiodalignment = "end"
)

type WaterfallYperiodalignment

type WaterfallYperiodalignment string

WaterfallYperiodalignment Only relevant when the axis `type` is *date*. Sets the alignment of data points on the y axis.

const (
	WaterfallYperiodalignment_start  WaterfallYperiodalignment = "start"
	WaterfallYperiodalignment_middle WaterfallYperiodalignment = "middle"
	WaterfallYperiodalignment_end    WaterfallYperiodalignment = "end"
)

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL