grob

package
v0.5.0 Latest Latest
Warning

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

Go to latest
Published: May 19, 2024 License: MIT Imports: 2 Imported by: 0

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
	// arrayOK: false
	// type: data_array
	// Assigns extra data each datum. This may be useful when listening to hover, click and selection events. Note that, *scatter* traces also appends customdata items in the markers DOM elements
	Customdata interface{} `json:"customdata,omitempty"`

	// Customdatasrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  customdata .
	Customdatasrc String `json:"customdatasrc,omitempty"`

	// Hoverinfo
	// default: all
	// type: flaglist
	// Determines which trace information appear on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired.
	Hoverinfo AreaHoverinfo `json:"hoverinfo,omitempty"`

	// Hoverinfosrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  hoverinfo .
	Hoverinfosrc String `json:"hoverinfosrc,omitempty"`

	// Hoverlabel
	// role: Object
	Hoverlabel *AreaHoverlabel `json:"hoverlabel,omitempty"`

	// Ids
	// arrayOK: false
	// type: data_array
	// Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type.
	Ids interface{} `json:"ids,omitempty"`

	// Idssrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  ids .
	Idssrc String `json:"idssrc,omitempty"`

	// Legendgroup
	// arrayOK: false
	// type: string
	// Sets the legend group for this trace. Traces part of the same legend group hide/show at the same time when toggling legend items.
	Legendgroup String `json:"legendgroup,omitempty"`

	// Marker
	// role: Object
	Marker *AreaMarker `json:"marker,omitempty"`

	// Meta
	// arrayOK: true
	// type: any
	// Assigns extra meta information associated with this trace that can be used in various text attributes. Attributes such as trace `name`, graph, axis and colorbar `title.text`, annotation `text` `rangeselector`, `updatemenues` and `sliders` `label` text all support `meta`. To access the trace `meta` values in an attribute in the same trace, simply use `%{meta[i]}` where `i` is the index or key of the `meta` item in question. To access trace `meta` in layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index.
	Meta interface{} `json:"meta,omitempty"`

	// Metasrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  meta .
	Metasrc String `json:"metasrc,omitempty"`

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

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

	// R
	// arrayOK: false
	// type: data_array
	// Area traces are deprecated! Please switch to the *barpolar* trace type. Sets the radial coordinates for legacy polar chart only.
	R interface{} `json:"r,omitempty"`

	// Rsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  r .
	Rsrc String `json:"rsrc,omitempty"`

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

	// Stream
	// role: Object
	Stream *AreaStream `json:"stream,omitempty"`

	// T
	// arrayOK: false
	// type: data_array
	// Area traces are deprecated! Please switch to the *barpolar* trace type. Sets the angular coordinates for legacy polar chart only.
	T interface{} `json:"t,omitempty"`

	// Transforms
	// It's an items array and what goes inside it's... messy... check the docs
	// I will be happy if you want to contribute by implementing this
	// just raise an issue before you start so we do not overlap
	Transforms interface{} `json:"transforms,omitempty"`

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

	// Uid
	// arrayOK: false
	// type: string
	// Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.
	Uid String `json:"uid,omitempty"`

	// Uirevision
	// arrayOK: false
	// type: any
	// Controls persistence of some user-driven changes to the trace: `constraintrange` in `parcoords` traces, as well as some `editable: true` modifications such as `name` and `colorbar.title`. Defaults to `layout.uirevision`. Note that other user-driven trace attribute changes are controlled by `layout` attributes: `trace.visible` is controlled by `layout.legend.uirevision`, `selectedpoints` is controlled by `layout.selectionrevision`, and `colorbar.(x|y)` (accessible with `config: {editable: true}`) is controlled by `layout.editrevision`. Trace changes are tracked by `uid`, which only falls back on trace index if no `uid` is provided. So if your app can add/remove traces before the end of the `data` array, such that the same trace has a different index, you can still preserve user-driven changes if you give each trace a `uid` that stays with it as it moves.
	Uirevision interface{} `json:"uirevision,omitempty"`

	// Visible
	// default: %!s(bool=true)
	// type: enumerated
	// Determines whether or not this trace is visible. If *legendonly*, the trace is not drawn, but can appear as a legend item (provided that the legend itself is visible).
	Visible AreaVisible `json:"visible,omitempty"`
}

Area

func (*Area) GetType

func (trace *Area) GetType() TraceType

type AreaHoverinfo

type AreaHoverinfo string

AreaHoverinfo Determines which trace information appear on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired.

const (
	// Flags
	AreaHoverinfoX    AreaHoverinfo = "x"
	AreaHoverinfoY    AreaHoverinfo = "y"
	AreaHoverinfoZ    AreaHoverinfo = "z"
	AreaHoverinfoText AreaHoverinfo = "text"
	AreaHoverinfoName AreaHoverinfo = "name"

	// Extra
	AreaHoverinfoAll  AreaHoverinfo = "all"
	AreaHoverinfoNone AreaHoverinfo = "none"
	AreaHoverinfoSkip AreaHoverinfo = "skip"
)

type AreaHoverlabel

type AreaHoverlabel struct {

	// Align
	// default: auto
	// type: enumerated
	// Sets the horizontal alignment of the text content within hover label box. Has an effect only if the hover label text spans more two or more lines
	Align AreaHoverlabelAlign `json:"align,omitempty"`

	// Alignsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  align .
	Alignsrc String `json:"alignsrc,omitempty"`

	// Bgcolor
	// arrayOK: true
	// type: color
	// Sets the background color of the hover labels for this trace
	Bgcolor Color `json:"bgcolor,omitempty"`

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

	// Bordercolor
	// arrayOK: true
	// type: color
	// Sets the border color of the hover labels for this trace.
	Bordercolor Color `json:"bordercolor,omitempty"`

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

	// Font
	// role: Object
	Font *AreaHoverlabelFont `json:"font,omitempty"`

	// Namelength
	// arrayOK: true
	// type: integer
	// Sets the default length (in number of characters) of the trace name in the hover labels for all traces. -1 shows the whole name regardless of length. 0-3 shows the first 0-3 characters, and an integer >3 will show the whole name if it is less than that many characters, but if it is longer, will truncate to `namelength - 3` characters and add an ellipsis.
	Namelength int64 `json:"namelength,omitempty"`

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

AreaHoverlabel

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 (
	AreaHoverlabelAlignLeft  AreaHoverlabelAlign = "left"
	AreaHoverlabelAlignRight AreaHoverlabelAlign = "right"
	AreaHoverlabelAlignAuto  AreaHoverlabelAlign = "auto"
)

type AreaHoverlabelFont

type AreaHoverlabelFont struct {

	// Color
	// arrayOK: true
	// type: color
	//
	Color Color `json:"color,omitempty"`

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

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

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

	// Size
	// arrayOK: true
	// type: number
	//
	Size float64 `json:"size,omitempty"`

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

AreaHoverlabelFont Sets the font used in hover labels.

type AreaMarker

type AreaMarker struct {

	// Color
	// arrayOK: true
	// type: color
	// Area traces are deprecated! Please switch to the *barpolar* trace type. Sets themarkercolor. It accepts either a specific color or an array of numbers that are mapped to the colorscale relative to the max and min values of the array or relative to `marker.cmin` and `marker.cmax` if set.
	Color Color `json:"color,omitempty"`

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

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

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

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

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

	// Symbol
	// default: circle
	// type: enumerated
	// Area traces are deprecated! Please switch to the *barpolar* trace type. Sets the marker symbol type. Adding 100 is equivalent to appending *-open* to a symbol name. Adding 200 is equivalent to appending *-dot* to a symbol name. Adding 300 is equivalent to appending *-open-dot* or *dot-open* to a symbol name.
	Symbol AreaMarkerSymbol `json:"symbol,omitempty"`

	// Symbolsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  symbol .
	Symbolsrc String `json:"symbolsrc,omitempty"`
}

AreaMarker

type AreaMarkerSymbol

type AreaMarkerSymbol interface{}

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.

var (
	AreaMarkerSymbolNumber0                 AreaMarkerSymbol = 0
	AreaMarkerSymbol0                       AreaMarkerSymbol = "0"
	AreaMarkerSymbolCircle                  AreaMarkerSymbol = "circle"
	AreaMarkerSymbolNumber100               AreaMarkerSymbol = 100
	AreaMarkerSymbol100                     AreaMarkerSymbol = "100"
	AreaMarkerSymbolCircleOpen              AreaMarkerSymbol = "circle-open"
	AreaMarkerSymbolNumber200               AreaMarkerSymbol = 200
	AreaMarkerSymbol200                     AreaMarkerSymbol = "200"
	AreaMarkerSymbolCircleDot               AreaMarkerSymbol = "circle-dot"
	AreaMarkerSymbolNumber300               AreaMarkerSymbol = 300
	AreaMarkerSymbol300                     AreaMarkerSymbol = "300"
	AreaMarkerSymbolCircleOpenDot           AreaMarkerSymbol = "circle-open-dot"
	AreaMarkerSymbolNumber1                 AreaMarkerSymbol = 1
	AreaMarkerSymbol1                       AreaMarkerSymbol = "1"
	AreaMarkerSymbolSquare                  AreaMarkerSymbol = "square"
	AreaMarkerSymbolNumber101               AreaMarkerSymbol = 101
	AreaMarkerSymbol101                     AreaMarkerSymbol = "101"
	AreaMarkerSymbolSquareOpen              AreaMarkerSymbol = "square-open"
	AreaMarkerSymbolNumber201               AreaMarkerSymbol = 201
	AreaMarkerSymbol201                     AreaMarkerSymbol = "201"
	AreaMarkerSymbolSquareDot               AreaMarkerSymbol = "square-dot"
	AreaMarkerSymbolNumber301               AreaMarkerSymbol = 301
	AreaMarkerSymbol301                     AreaMarkerSymbol = "301"
	AreaMarkerSymbolSquareOpenDot           AreaMarkerSymbol = "square-open-dot"
	AreaMarkerSymbolNumber2                 AreaMarkerSymbol = 2
	AreaMarkerSymbol2                       AreaMarkerSymbol = "2"
	AreaMarkerSymbolDiamond                 AreaMarkerSymbol = "diamond"
	AreaMarkerSymbolNumber102               AreaMarkerSymbol = 102
	AreaMarkerSymbol102                     AreaMarkerSymbol = "102"
	AreaMarkerSymbolDiamondOpen             AreaMarkerSymbol = "diamond-open"
	AreaMarkerSymbolNumber202               AreaMarkerSymbol = 202
	AreaMarkerSymbol202                     AreaMarkerSymbol = "202"
	AreaMarkerSymbolDiamondDot              AreaMarkerSymbol = "diamond-dot"
	AreaMarkerSymbolNumber302               AreaMarkerSymbol = 302
	AreaMarkerSymbol302                     AreaMarkerSymbol = "302"
	AreaMarkerSymbolDiamondOpenDot          AreaMarkerSymbol = "diamond-open-dot"
	AreaMarkerSymbolNumber3                 AreaMarkerSymbol = 3
	AreaMarkerSymbol3                       AreaMarkerSymbol = "3"
	AreaMarkerSymbolCross                   AreaMarkerSymbol = "cross"
	AreaMarkerSymbolNumber103               AreaMarkerSymbol = 103
	AreaMarkerSymbol103                     AreaMarkerSymbol = "103"
	AreaMarkerSymbolCrossOpen               AreaMarkerSymbol = "cross-open"
	AreaMarkerSymbolNumber203               AreaMarkerSymbol = 203
	AreaMarkerSymbol203                     AreaMarkerSymbol = "203"
	AreaMarkerSymbolCrossDot                AreaMarkerSymbol = "cross-dot"
	AreaMarkerSymbolNumber303               AreaMarkerSymbol = 303
	AreaMarkerSymbol303                     AreaMarkerSymbol = "303"
	AreaMarkerSymbolCrossOpenDot            AreaMarkerSymbol = "cross-open-dot"
	AreaMarkerSymbolNumber4                 AreaMarkerSymbol = 4
	AreaMarkerSymbol4                       AreaMarkerSymbol = "4"
	AreaMarkerSymbolX                       AreaMarkerSymbol = "x"
	AreaMarkerSymbolNumber104               AreaMarkerSymbol = 104
	AreaMarkerSymbol104                     AreaMarkerSymbol = "104"
	AreaMarkerSymbolXOpen                   AreaMarkerSymbol = "x-open"
	AreaMarkerSymbolNumber204               AreaMarkerSymbol = 204
	AreaMarkerSymbol204                     AreaMarkerSymbol = "204"
	AreaMarkerSymbolXDot                    AreaMarkerSymbol = "x-dot"
	AreaMarkerSymbolNumber304               AreaMarkerSymbol = 304
	AreaMarkerSymbol304                     AreaMarkerSymbol = "304"
	AreaMarkerSymbolXOpenDot                AreaMarkerSymbol = "x-open-dot"
	AreaMarkerSymbolNumber5                 AreaMarkerSymbol = 5
	AreaMarkerSymbol5                       AreaMarkerSymbol = "5"
	AreaMarkerSymbolTriangleUp              AreaMarkerSymbol = "triangle-up"
	AreaMarkerSymbolNumber105               AreaMarkerSymbol = 105
	AreaMarkerSymbol105                     AreaMarkerSymbol = "105"
	AreaMarkerSymbolTriangleUpOpen          AreaMarkerSymbol = "triangle-up-open"
	AreaMarkerSymbolNumber205               AreaMarkerSymbol = 205
	AreaMarkerSymbol205                     AreaMarkerSymbol = "205"
	AreaMarkerSymbolTriangleUpDot           AreaMarkerSymbol = "triangle-up-dot"
	AreaMarkerSymbolNumber305               AreaMarkerSymbol = 305
	AreaMarkerSymbol305                     AreaMarkerSymbol = "305"
	AreaMarkerSymbolTriangleUpOpenDot       AreaMarkerSymbol = "triangle-up-open-dot"
	AreaMarkerSymbolNumber6                 AreaMarkerSymbol = 6
	AreaMarkerSymbol6                       AreaMarkerSymbol = "6"
	AreaMarkerSymbolTriangleDown            AreaMarkerSymbol = "triangle-down"
	AreaMarkerSymbolNumber106               AreaMarkerSymbol = 106
	AreaMarkerSymbol106                     AreaMarkerSymbol = "106"
	AreaMarkerSymbolTriangleDownOpen        AreaMarkerSymbol = "triangle-down-open"
	AreaMarkerSymbolNumber206               AreaMarkerSymbol = 206
	AreaMarkerSymbol206                     AreaMarkerSymbol = "206"
	AreaMarkerSymbolTriangleDownDot         AreaMarkerSymbol = "triangle-down-dot"
	AreaMarkerSymbolNumber306               AreaMarkerSymbol = 306
	AreaMarkerSymbol306                     AreaMarkerSymbol = "306"
	AreaMarkerSymbolTriangleDownOpenDot     AreaMarkerSymbol = "triangle-down-open-dot"
	AreaMarkerSymbolNumber7                 AreaMarkerSymbol = 7
	AreaMarkerSymbol7                       AreaMarkerSymbol = "7"
	AreaMarkerSymbolTriangleLeft            AreaMarkerSymbol = "triangle-left"
	AreaMarkerSymbolNumber107               AreaMarkerSymbol = 107
	AreaMarkerSymbol107                     AreaMarkerSymbol = "107"
	AreaMarkerSymbolTriangleLeftOpen        AreaMarkerSymbol = "triangle-left-open"
	AreaMarkerSymbolNumber207               AreaMarkerSymbol = 207
	AreaMarkerSymbol207                     AreaMarkerSymbol = "207"
	AreaMarkerSymbolTriangleLeftDot         AreaMarkerSymbol = "triangle-left-dot"
	AreaMarkerSymbolNumber307               AreaMarkerSymbol = 307
	AreaMarkerSymbol307                     AreaMarkerSymbol = "307"
	AreaMarkerSymbolTriangleLeftOpenDot     AreaMarkerSymbol = "triangle-left-open-dot"
	AreaMarkerSymbolNumber8                 AreaMarkerSymbol = 8
	AreaMarkerSymbol8                       AreaMarkerSymbol = "8"
	AreaMarkerSymbolTriangleRight           AreaMarkerSymbol = "triangle-right"
	AreaMarkerSymbolNumber108               AreaMarkerSymbol = 108
	AreaMarkerSymbol108                     AreaMarkerSymbol = "108"
	AreaMarkerSymbolTriangleRightOpen       AreaMarkerSymbol = "triangle-right-open"
	AreaMarkerSymbolNumber208               AreaMarkerSymbol = 208
	AreaMarkerSymbol208                     AreaMarkerSymbol = "208"
	AreaMarkerSymbolTriangleRightDot        AreaMarkerSymbol = "triangle-right-dot"
	AreaMarkerSymbolNumber308               AreaMarkerSymbol = 308
	AreaMarkerSymbol308                     AreaMarkerSymbol = "308"
	AreaMarkerSymbolTriangleRightOpenDot    AreaMarkerSymbol = "triangle-right-open-dot"
	AreaMarkerSymbolNumber9                 AreaMarkerSymbol = 9
	AreaMarkerSymbol9                       AreaMarkerSymbol = "9"
	AreaMarkerSymbolTriangleNe              AreaMarkerSymbol = "triangle-ne"
	AreaMarkerSymbolNumber109               AreaMarkerSymbol = 109
	AreaMarkerSymbol109                     AreaMarkerSymbol = "109"
	AreaMarkerSymbolTriangleNeOpen          AreaMarkerSymbol = "triangle-ne-open"
	AreaMarkerSymbolNumber209               AreaMarkerSymbol = 209
	AreaMarkerSymbol209                     AreaMarkerSymbol = "209"
	AreaMarkerSymbolTriangleNeDot           AreaMarkerSymbol = "triangle-ne-dot"
	AreaMarkerSymbolNumber309               AreaMarkerSymbol = 309
	AreaMarkerSymbol309                     AreaMarkerSymbol = "309"
	AreaMarkerSymbolTriangleNeOpenDot       AreaMarkerSymbol = "triangle-ne-open-dot"
	AreaMarkerSymbolNumber10                AreaMarkerSymbol = 10
	AreaMarkerSymbol10                      AreaMarkerSymbol = "10"
	AreaMarkerSymbolTriangleSe              AreaMarkerSymbol = "triangle-se"
	AreaMarkerSymbolNumber110               AreaMarkerSymbol = 110
	AreaMarkerSymbol110                     AreaMarkerSymbol = "110"
	AreaMarkerSymbolTriangleSeOpen          AreaMarkerSymbol = "triangle-se-open"
	AreaMarkerSymbolNumber210               AreaMarkerSymbol = 210
	AreaMarkerSymbol210                     AreaMarkerSymbol = "210"
	AreaMarkerSymbolTriangleSeDot           AreaMarkerSymbol = "triangle-se-dot"
	AreaMarkerSymbolNumber310               AreaMarkerSymbol = 310
	AreaMarkerSymbol310                     AreaMarkerSymbol = "310"
	AreaMarkerSymbolTriangleSeOpenDot       AreaMarkerSymbol = "triangle-se-open-dot"
	AreaMarkerSymbolNumber11                AreaMarkerSymbol = 11
	AreaMarkerSymbol11                      AreaMarkerSymbol = "11"
	AreaMarkerSymbolTriangleSw              AreaMarkerSymbol = "triangle-sw"
	AreaMarkerSymbolNumber111               AreaMarkerSymbol = 111
	AreaMarkerSymbol111                     AreaMarkerSymbol = "111"
	AreaMarkerSymbolTriangleSwOpen          AreaMarkerSymbol = "triangle-sw-open"
	AreaMarkerSymbolNumber211               AreaMarkerSymbol = 211
	AreaMarkerSymbol211                     AreaMarkerSymbol = "211"
	AreaMarkerSymbolTriangleSwDot           AreaMarkerSymbol = "triangle-sw-dot"
	AreaMarkerSymbolNumber311               AreaMarkerSymbol = 311
	AreaMarkerSymbol311                     AreaMarkerSymbol = "311"
	AreaMarkerSymbolTriangleSwOpenDot       AreaMarkerSymbol = "triangle-sw-open-dot"
	AreaMarkerSymbolNumber12                AreaMarkerSymbol = 12
	AreaMarkerSymbol12                      AreaMarkerSymbol = "12"
	AreaMarkerSymbolTriangleNw              AreaMarkerSymbol = "triangle-nw"
	AreaMarkerSymbolNumber112               AreaMarkerSymbol = 112
	AreaMarkerSymbol112                     AreaMarkerSymbol = "112"
	AreaMarkerSymbolTriangleNwOpen          AreaMarkerSymbol = "triangle-nw-open"
	AreaMarkerSymbolNumber212               AreaMarkerSymbol = 212
	AreaMarkerSymbol212                     AreaMarkerSymbol = "212"
	AreaMarkerSymbolTriangleNwDot           AreaMarkerSymbol = "triangle-nw-dot"
	AreaMarkerSymbolNumber312               AreaMarkerSymbol = 312
	AreaMarkerSymbol312                     AreaMarkerSymbol = "312"
	AreaMarkerSymbolTriangleNwOpenDot       AreaMarkerSymbol = "triangle-nw-open-dot"
	AreaMarkerSymbolNumber13                AreaMarkerSymbol = 13
	AreaMarkerSymbol13                      AreaMarkerSymbol = "13"
	AreaMarkerSymbolPentagon                AreaMarkerSymbol = "pentagon"
	AreaMarkerSymbolNumber113               AreaMarkerSymbol = 113
	AreaMarkerSymbol113                     AreaMarkerSymbol = "113"
	AreaMarkerSymbolPentagonOpen            AreaMarkerSymbol = "pentagon-open"
	AreaMarkerSymbolNumber213               AreaMarkerSymbol = 213
	AreaMarkerSymbol213                     AreaMarkerSymbol = "213"
	AreaMarkerSymbolPentagonDot             AreaMarkerSymbol = "pentagon-dot"
	AreaMarkerSymbolNumber313               AreaMarkerSymbol = 313
	AreaMarkerSymbol313                     AreaMarkerSymbol = "313"
	AreaMarkerSymbolPentagonOpenDot         AreaMarkerSymbol = "pentagon-open-dot"
	AreaMarkerSymbolNumber14                AreaMarkerSymbol = 14
	AreaMarkerSymbol14                      AreaMarkerSymbol = "14"
	AreaMarkerSymbolHexagon                 AreaMarkerSymbol = "hexagon"
	AreaMarkerSymbolNumber114               AreaMarkerSymbol = 114
	AreaMarkerSymbol114                     AreaMarkerSymbol = "114"
	AreaMarkerSymbolHexagonOpen             AreaMarkerSymbol = "hexagon-open"
	AreaMarkerSymbolNumber214               AreaMarkerSymbol = 214
	AreaMarkerSymbol214                     AreaMarkerSymbol = "214"
	AreaMarkerSymbolHexagonDot              AreaMarkerSymbol = "hexagon-dot"
	AreaMarkerSymbolNumber314               AreaMarkerSymbol = 314
	AreaMarkerSymbol314                     AreaMarkerSymbol = "314"
	AreaMarkerSymbolHexagonOpenDot          AreaMarkerSymbol = "hexagon-open-dot"
	AreaMarkerSymbolNumber15                AreaMarkerSymbol = 15
	AreaMarkerSymbol15                      AreaMarkerSymbol = "15"
	AreaMarkerSymbolHexagon2                AreaMarkerSymbol = "hexagon2"
	AreaMarkerSymbolNumber115               AreaMarkerSymbol = 115
	AreaMarkerSymbol115                     AreaMarkerSymbol = "115"
	AreaMarkerSymbolHexagon2Open            AreaMarkerSymbol = "hexagon2-open"
	AreaMarkerSymbolNumber215               AreaMarkerSymbol = 215
	AreaMarkerSymbol215                     AreaMarkerSymbol = "215"
	AreaMarkerSymbolHexagon2Dot             AreaMarkerSymbol = "hexagon2-dot"
	AreaMarkerSymbolNumber315               AreaMarkerSymbol = 315
	AreaMarkerSymbol315                     AreaMarkerSymbol = "315"
	AreaMarkerSymbolHexagon2OpenDot         AreaMarkerSymbol = "hexagon2-open-dot"
	AreaMarkerSymbolNumber16                AreaMarkerSymbol = 16
	AreaMarkerSymbol16                      AreaMarkerSymbol = "16"
	AreaMarkerSymbolOctagon                 AreaMarkerSymbol = "octagon"
	AreaMarkerSymbolNumber116               AreaMarkerSymbol = 116
	AreaMarkerSymbol116                     AreaMarkerSymbol = "116"
	AreaMarkerSymbolOctagonOpen             AreaMarkerSymbol = "octagon-open"
	AreaMarkerSymbolNumber216               AreaMarkerSymbol = 216
	AreaMarkerSymbol216                     AreaMarkerSymbol = "216"
	AreaMarkerSymbolOctagonDot              AreaMarkerSymbol = "octagon-dot"
	AreaMarkerSymbolNumber316               AreaMarkerSymbol = 316
	AreaMarkerSymbol316                     AreaMarkerSymbol = "316"
	AreaMarkerSymbolOctagonOpenDot          AreaMarkerSymbol = "octagon-open-dot"
	AreaMarkerSymbolNumber17                AreaMarkerSymbol = 17
	AreaMarkerSymbol17                      AreaMarkerSymbol = "17"
	AreaMarkerSymbolStar                    AreaMarkerSymbol = "star"
	AreaMarkerSymbolNumber117               AreaMarkerSymbol = 117
	AreaMarkerSymbol117                     AreaMarkerSymbol = "117"
	AreaMarkerSymbolStarOpen                AreaMarkerSymbol = "star-open"
	AreaMarkerSymbolNumber217               AreaMarkerSymbol = 217
	AreaMarkerSymbol217                     AreaMarkerSymbol = "217"
	AreaMarkerSymbolStarDot                 AreaMarkerSymbol = "star-dot"
	AreaMarkerSymbolNumber317               AreaMarkerSymbol = 317
	AreaMarkerSymbol317                     AreaMarkerSymbol = "317"
	AreaMarkerSymbolStarOpenDot             AreaMarkerSymbol = "star-open-dot"
	AreaMarkerSymbolNumber18                AreaMarkerSymbol = 18
	AreaMarkerSymbol18                      AreaMarkerSymbol = "18"
	AreaMarkerSymbolHexagram                AreaMarkerSymbol = "hexagram"
	AreaMarkerSymbolNumber118               AreaMarkerSymbol = 118
	AreaMarkerSymbol118                     AreaMarkerSymbol = "118"
	AreaMarkerSymbolHexagramOpen            AreaMarkerSymbol = "hexagram-open"
	AreaMarkerSymbolNumber218               AreaMarkerSymbol = 218
	AreaMarkerSymbol218                     AreaMarkerSymbol = "218"
	AreaMarkerSymbolHexagramDot             AreaMarkerSymbol = "hexagram-dot"
	AreaMarkerSymbolNumber318               AreaMarkerSymbol = 318
	AreaMarkerSymbol318                     AreaMarkerSymbol = "318"
	AreaMarkerSymbolHexagramOpenDot         AreaMarkerSymbol = "hexagram-open-dot"
	AreaMarkerSymbolNumber19                AreaMarkerSymbol = 19
	AreaMarkerSymbol19                      AreaMarkerSymbol = "19"
	AreaMarkerSymbolStarTriangleUp          AreaMarkerSymbol = "star-triangle-up"
	AreaMarkerSymbolNumber119               AreaMarkerSymbol = 119
	AreaMarkerSymbol119                     AreaMarkerSymbol = "119"
	AreaMarkerSymbolStarTriangleUpOpen      AreaMarkerSymbol = "star-triangle-up-open"
	AreaMarkerSymbolNumber219               AreaMarkerSymbol = 219
	AreaMarkerSymbol219                     AreaMarkerSymbol = "219"
	AreaMarkerSymbolStarTriangleUpDot       AreaMarkerSymbol = "star-triangle-up-dot"
	AreaMarkerSymbolNumber319               AreaMarkerSymbol = 319
	AreaMarkerSymbol319                     AreaMarkerSymbol = "319"
	AreaMarkerSymbolStarTriangleUpOpenDot   AreaMarkerSymbol = "star-triangle-up-open-dot"
	AreaMarkerSymbolNumber20                AreaMarkerSymbol = 20
	AreaMarkerSymbol20                      AreaMarkerSymbol = "20"
	AreaMarkerSymbolStarTriangleDown        AreaMarkerSymbol = "star-triangle-down"
	AreaMarkerSymbolNumber120               AreaMarkerSymbol = 120
	AreaMarkerSymbol120                     AreaMarkerSymbol = "120"
	AreaMarkerSymbolStarTriangleDownOpen    AreaMarkerSymbol = "star-triangle-down-open"
	AreaMarkerSymbolNumber220               AreaMarkerSymbol = 220
	AreaMarkerSymbol220                     AreaMarkerSymbol = "220"
	AreaMarkerSymbolStarTriangleDownDot     AreaMarkerSymbol = "star-triangle-down-dot"
	AreaMarkerSymbolNumber320               AreaMarkerSymbol = 320
	AreaMarkerSymbol320                     AreaMarkerSymbol = "320"
	AreaMarkerSymbolStarTriangleDownOpenDot AreaMarkerSymbol = "star-triangle-down-open-dot"
	AreaMarkerSymbolNumber21                AreaMarkerSymbol = 21
	AreaMarkerSymbol21                      AreaMarkerSymbol = "21"
	AreaMarkerSymbolStarSquare              AreaMarkerSymbol = "star-square"
	AreaMarkerSymbolNumber121               AreaMarkerSymbol = 121
	AreaMarkerSymbol121                     AreaMarkerSymbol = "121"
	AreaMarkerSymbolStarSquareOpen          AreaMarkerSymbol = "star-square-open"
	AreaMarkerSymbolNumber221               AreaMarkerSymbol = 221
	AreaMarkerSymbol221                     AreaMarkerSymbol = "221"
	AreaMarkerSymbolStarSquareDot           AreaMarkerSymbol = "star-square-dot"
	AreaMarkerSymbolNumber321               AreaMarkerSymbol = 321
	AreaMarkerSymbol321                     AreaMarkerSymbol = "321"
	AreaMarkerSymbolStarSquareOpenDot       AreaMarkerSymbol = "star-square-open-dot"
	AreaMarkerSymbolNumber22                AreaMarkerSymbol = 22
	AreaMarkerSymbol22                      AreaMarkerSymbol = "22"
	AreaMarkerSymbolStarDiamond             AreaMarkerSymbol = "star-diamond"
	AreaMarkerSymbolNumber122               AreaMarkerSymbol = 122
	AreaMarkerSymbol122                     AreaMarkerSymbol = "122"
	AreaMarkerSymbolStarDiamondOpen         AreaMarkerSymbol = "star-diamond-open"
	AreaMarkerSymbolNumber222               AreaMarkerSymbol = 222
	AreaMarkerSymbol222                     AreaMarkerSymbol = "222"
	AreaMarkerSymbolStarDiamondDot          AreaMarkerSymbol = "star-diamond-dot"
	AreaMarkerSymbolNumber322               AreaMarkerSymbol = 322
	AreaMarkerSymbol322                     AreaMarkerSymbol = "322"
	AreaMarkerSymbolStarDiamondOpenDot      AreaMarkerSymbol = "star-diamond-open-dot"
	AreaMarkerSymbolNumber23                AreaMarkerSymbol = 23
	AreaMarkerSymbol23                      AreaMarkerSymbol = "23"
	AreaMarkerSymbolDiamondTall             AreaMarkerSymbol = "diamond-tall"
	AreaMarkerSymbolNumber123               AreaMarkerSymbol = 123
	AreaMarkerSymbol123                     AreaMarkerSymbol = "123"
	AreaMarkerSymbolDiamondTallOpen         AreaMarkerSymbol = "diamond-tall-open"
	AreaMarkerSymbolNumber223               AreaMarkerSymbol = 223
	AreaMarkerSymbol223                     AreaMarkerSymbol = "223"
	AreaMarkerSymbolDiamondTallDot          AreaMarkerSymbol = "diamond-tall-dot"
	AreaMarkerSymbolNumber323               AreaMarkerSymbol = 323
	AreaMarkerSymbol323                     AreaMarkerSymbol = "323"
	AreaMarkerSymbolDiamondTallOpenDot      AreaMarkerSymbol = "diamond-tall-open-dot"
	AreaMarkerSymbolNumber24                AreaMarkerSymbol = 24
	AreaMarkerSymbol24                      AreaMarkerSymbol = "24"
	AreaMarkerSymbolDiamondWide             AreaMarkerSymbol = "diamond-wide"
	AreaMarkerSymbolNumber124               AreaMarkerSymbol = 124
	AreaMarkerSymbol124                     AreaMarkerSymbol = "124"
	AreaMarkerSymbolDiamondWideOpen         AreaMarkerSymbol = "diamond-wide-open"
	AreaMarkerSymbolNumber224               AreaMarkerSymbol = 224
	AreaMarkerSymbol224                     AreaMarkerSymbol = "224"
	AreaMarkerSymbolDiamondWideDot          AreaMarkerSymbol = "diamond-wide-dot"
	AreaMarkerSymbolNumber324               AreaMarkerSymbol = 324
	AreaMarkerSymbol324                     AreaMarkerSymbol = "324"
	AreaMarkerSymbolDiamondWideOpenDot      AreaMarkerSymbol = "diamond-wide-open-dot"
	AreaMarkerSymbolNumber25                AreaMarkerSymbol = 25
	AreaMarkerSymbol25                      AreaMarkerSymbol = "25"
	AreaMarkerSymbolHourglass               AreaMarkerSymbol = "hourglass"
	AreaMarkerSymbolNumber125               AreaMarkerSymbol = 125
	AreaMarkerSymbol125                     AreaMarkerSymbol = "125"
	AreaMarkerSymbolHourglassOpen           AreaMarkerSymbol = "hourglass-open"
	AreaMarkerSymbolNumber26                AreaMarkerSymbol = 26
	AreaMarkerSymbol26                      AreaMarkerSymbol = "26"
	AreaMarkerSymbolBowtie                  AreaMarkerSymbol = "bowtie"
	AreaMarkerSymbolNumber126               AreaMarkerSymbol = 126
	AreaMarkerSymbol126                     AreaMarkerSymbol = "126"
	AreaMarkerSymbolBowtieOpen              AreaMarkerSymbol = "bowtie-open"
	AreaMarkerSymbolNumber27                AreaMarkerSymbol = 27
	AreaMarkerSymbol27                      AreaMarkerSymbol = "27"
	AreaMarkerSymbolCircleCross             AreaMarkerSymbol = "circle-cross"
	AreaMarkerSymbolNumber127               AreaMarkerSymbol = 127
	AreaMarkerSymbol127                     AreaMarkerSymbol = "127"
	AreaMarkerSymbolCircleCrossOpen         AreaMarkerSymbol = "circle-cross-open"
	AreaMarkerSymbolNumber28                AreaMarkerSymbol = 28
	AreaMarkerSymbol28                      AreaMarkerSymbol = "28"
	AreaMarkerSymbolCircleX                 AreaMarkerSymbol = "circle-x"
	AreaMarkerSymbolNumber128               AreaMarkerSymbol = 128
	AreaMarkerSymbol128                     AreaMarkerSymbol = "128"
	AreaMarkerSymbolCircleXOpen             AreaMarkerSymbol = "circle-x-open"
	AreaMarkerSymbolNumber29                AreaMarkerSymbol = 29
	AreaMarkerSymbol29                      AreaMarkerSymbol = "29"
	AreaMarkerSymbolSquareCross             AreaMarkerSymbol = "square-cross"
	AreaMarkerSymbolNumber129               AreaMarkerSymbol = 129
	AreaMarkerSymbol129                     AreaMarkerSymbol = "129"
	AreaMarkerSymbolSquareCrossOpen         AreaMarkerSymbol = "square-cross-open"
	AreaMarkerSymbolNumber30                AreaMarkerSymbol = 30
	AreaMarkerSymbol30                      AreaMarkerSymbol = "30"
	AreaMarkerSymbolSquareX                 AreaMarkerSymbol = "square-x"
	AreaMarkerSymbolNumber130               AreaMarkerSymbol = 130
	AreaMarkerSymbol130                     AreaMarkerSymbol = "130"
	AreaMarkerSymbolSquareXOpen             AreaMarkerSymbol = "square-x-open"
	AreaMarkerSymbolNumber31                AreaMarkerSymbol = 31
	AreaMarkerSymbol31                      AreaMarkerSymbol = "31"
	AreaMarkerSymbolDiamondCross            AreaMarkerSymbol = "diamond-cross"
	AreaMarkerSymbolNumber131               AreaMarkerSymbol = 131
	AreaMarkerSymbol131                     AreaMarkerSymbol = "131"
	AreaMarkerSymbolDiamondCrossOpen        AreaMarkerSymbol = "diamond-cross-open"
	AreaMarkerSymbolNumber32                AreaMarkerSymbol = 32
	AreaMarkerSymbol32                      AreaMarkerSymbol = "32"
	AreaMarkerSymbolDiamondX                AreaMarkerSymbol = "diamond-x"
	AreaMarkerSymbolNumber132               AreaMarkerSymbol = 132
	AreaMarkerSymbol132                     AreaMarkerSymbol = "132"
	AreaMarkerSymbolDiamondXOpen            AreaMarkerSymbol = "diamond-x-open"
	AreaMarkerSymbolNumber33                AreaMarkerSymbol = 33
	AreaMarkerSymbol33                      AreaMarkerSymbol = "33"
	AreaMarkerSymbolCrossThin               AreaMarkerSymbol = "cross-thin"
	AreaMarkerSymbolNumber133               AreaMarkerSymbol = 133
	AreaMarkerSymbol133                     AreaMarkerSymbol = "133"
	AreaMarkerSymbolCrossThinOpen           AreaMarkerSymbol = "cross-thin-open"
	AreaMarkerSymbolNumber34                AreaMarkerSymbol = 34
	AreaMarkerSymbol34                      AreaMarkerSymbol = "34"
	AreaMarkerSymbolXThin                   AreaMarkerSymbol = "x-thin"
	AreaMarkerSymbolNumber134               AreaMarkerSymbol = 134
	AreaMarkerSymbol134                     AreaMarkerSymbol = "134"
	AreaMarkerSymbolXThinOpen               AreaMarkerSymbol = "x-thin-open"
	AreaMarkerSymbolNumber35                AreaMarkerSymbol = 35
	AreaMarkerSymbol35                      AreaMarkerSymbol = "35"
	AreaMarkerSymbolAsterisk                AreaMarkerSymbol = "asterisk"
	AreaMarkerSymbolNumber135               AreaMarkerSymbol = 135
	AreaMarkerSymbol135                     AreaMarkerSymbol = "135"
	AreaMarkerSymbolAsteriskOpen            AreaMarkerSymbol = "asterisk-open"
	AreaMarkerSymbolNumber36                AreaMarkerSymbol = 36
	AreaMarkerSymbol36                      AreaMarkerSymbol = "36"
	AreaMarkerSymbolHash                    AreaMarkerSymbol = "hash"
	AreaMarkerSymbolNumber136               AreaMarkerSymbol = 136
	AreaMarkerSymbol136                     AreaMarkerSymbol = "136"
	AreaMarkerSymbolHashOpen                AreaMarkerSymbol = "hash-open"
	AreaMarkerSymbolNumber236               AreaMarkerSymbol = 236
	AreaMarkerSymbol236                     AreaMarkerSymbol = "236"
	AreaMarkerSymbolHashDot                 AreaMarkerSymbol = "hash-dot"
	AreaMarkerSymbolNumber336               AreaMarkerSymbol = 336
	AreaMarkerSymbol336                     AreaMarkerSymbol = "336"
	AreaMarkerSymbolHashOpenDot             AreaMarkerSymbol = "hash-open-dot"
	AreaMarkerSymbolNumber37                AreaMarkerSymbol = 37
	AreaMarkerSymbol37                      AreaMarkerSymbol = "37"
	AreaMarkerSymbolYUp                     AreaMarkerSymbol = "y-up"
	AreaMarkerSymbolNumber137               AreaMarkerSymbol = 137
	AreaMarkerSymbol137                     AreaMarkerSymbol = "137"
	AreaMarkerSymbolYUpOpen                 AreaMarkerSymbol = "y-up-open"
	AreaMarkerSymbolNumber38                AreaMarkerSymbol = 38
	AreaMarkerSymbol38                      AreaMarkerSymbol = "38"
	AreaMarkerSymbolYDown                   AreaMarkerSymbol = "y-down"
	AreaMarkerSymbolNumber138               AreaMarkerSymbol = 138
	AreaMarkerSymbol138                     AreaMarkerSymbol = "138"
	AreaMarkerSymbolYDownOpen               AreaMarkerSymbol = "y-down-open"
	AreaMarkerSymbolNumber39                AreaMarkerSymbol = 39
	AreaMarkerSymbol39                      AreaMarkerSymbol = "39"
	AreaMarkerSymbolYLeft                   AreaMarkerSymbol = "y-left"
	AreaMarkerSymbolNumber139               AreaMarkerSymbol = 139
	AreaMarkerSymbol139                     AreaMarkerSymbol = "139"
	AreaMarkerSymbolYLeftOpen               AreaMarkerSymbol = "y-left-open"
	AreaMarkerSymbolNumber40                AreaMarkerSymbol = 40
	AreaMarkerSymbol40                      AreaMarkerSymbol = "40"
	AreaMarkerSymbolYRight                  AreaMarkerSymbol = "y-right"
	AreaMarkerSymbolNumber140               AreaMarkerSymbol = 140
	AreaMarkerSymbol140                     AreaMarkerSymbol = "140"
	AreaMarkerSymbolYRightOpen              AreaMarkerSymbol = "y-right-open"
	AreaMarkerSymbolNumber41                AreaMarkerSymbol = 41
	AreaMarkerSymbol41                      AreaMarkerSymbol = "41"
	AreaMarkerSymbolLineEw                  AreaMarkerSymbol = "line-ew"
	AreaMarkerSymbolNumber141               AreaMarkerSymbol = 141
	AreaMarkerSymbol141                     AreaMarkerSymbol = "141"
	AreaMarkerSymbolLineEwOpen              AreaMarkerSymbol = "line-ew-open"
	AreaMarkerSymbolNumber42                AreaMarkerSymbol = 42
	AreaMarkerSymbol42                      AreaMarkerSymbol = "42"
	AreaMarkerSymbolLineNs                  AreaMarkerSymbol = "line-ns"
	AreaMarkerSymbolNumber142               AreaMarkerSymbol = 142
	AreaMarkerSymbol142                     AreaMarkerSymbol = "142"
	AreaMarkerSymbolLineNsOpen              AreaMarkerSymbol = "line-ns-open"
	AreaMarkerSymbolNumber43                AreaMarkerSymbol = 43
	AreaMarkerSymbol43                      AreaMarkerSymbol = "43"
	AreaMarkerSymbolLineNe                  AreaMarkerSymbol = "line-ne"
	AreaMarkerSymbolNumber143               AreaMarkerSymbol = 143
	AreaMarkerSymbol143                     AreaMarkerSymbol = "143"
	AreaMarkerSymbolLineNeOpen              AreaMarkerSymbol = "line-ne-open"
	AreaMarkerSymbolNumber44                AreaMarkerSymbol = 44
	AreaMarkerSymbol44                      AreaMarkerSymbol = "44"
	AreaMarkerSymbolLineNw                  AreaMarkerSymbol = "line-nw"
	AreaMarkerSymbolNumber144               AreaMarkerSymbol = 144
	AreaMarkerSymbol144                     AreaMarkerSymbol = "144"
	AreaMarkerSymbolLineNwOpen              AreaMarkerSymbol = "line-nw-open"
	AreaMarkerSymbolNumber45                AreaMarkerSymbol = 45
	AreaMarkerSymbol45                      AreaMarkerSymbol = "45"
	AreaMarkerSymbolArrowUp                 AreaMarkerSymbol = "arrow-up"
	AreaMarkerSymbolNumber145               AreaMarkerSymbol = 145
	AreaMarkerSymbol145                     AreaMarkerSymbol = "145"
	AreaMarkerSymbolArrowUpOpen             AreaMarkerSymbol = "arrow-up-open"
	AreaMarkerSymbolNumber46                AreaMarkerSymbol = 46
	AreaMarkerSymbol46                      AreaMarkerSymbol = "46"
	AreaMarkerSymbolArrowDown               AreaMarkerSymbol = "arrow-down"
	AreaMarkerSymbolNumber146               AreaMarkerSymbol = 146
	AreaMarkerSymbol146                     AreaMarkerSymbol = "146"
	AreaMarkerSymbolArrowDownOpen           AreaMarkerSymbol = "arrow-down-open"
	AreaMarkerSymbolNumber47                AreaMarkerSymbol = 47
	AreaMarkerSymbol47                      AreaMarkerSymbol = "47"
	AreaMarkerSymbolArrowLeft               AreaMarkerSymbol = "arrow-left"
	AreaMarkerSymbolNumber147               AreaMarkerSymbol = 147
	AreaMarkerSymbol147                     AreaMarkerSymbol = "147"
	AreaMarkerSymbolArrowLeftOpen           AreaMarkerSymbol = "arrow-left-open"
	AreaMarkerSymbolNumber48                AreaMarkerSymbol = 48
	AreaMarkerSymbol48                      AreaMarkerSymbol = "48"
	AreaMarkerSymbolArrowRight              AreaMarkerSymbol = "arrow-right"
	AreaMarkerSymbolNumber148               AreaMarkerSymbol = 148
	AreaMarkerSymbol148                     AreaMarkerSymbol = "148"
	AreaMarkerSymbolArrowRightOpen          AreaMarkerSymbol = "arrow-right-open"
	AreaMarkerSymbolNumber49                AreaMarkerSymbol = 49
	AreaMarkerSymbol49                      AreaMarkerSymbol = "49"
	AreaMarkerSymbolArrowBarUp              AreaMarkerSymbol = "arrow-bar-up"
	AreaMarkerSymbolNumber149               AreaMarkerSymbol = 149
	AreaMarkerSymbol149                     AreaMarkerSymbol = "149"
	AreaMarkerSymbolArrowBarUpOpen          AreaMarkerSymbol = "arrow-bar-up-open"
	AreaMarkerSymbolNumber50                AreaMarkerSymbol = 50
	AreaMarkerSymbol50                      AreaMarkerSymbol = "50"
	AreaMarkerSymbolArrowBarDown            AreaMarkerSymbol = "arrow-bar-down"
	AreaMarkerSymbolNumber150               AreaMarkerSymbol = 150
	AreaMarkerSymbol150                     AreaMarkerSymbol = "150"
	AreaMarkerSymbolArrowBarDownOpen        AreaMarkerSymbol = "arrow-bar-down-open"
	AreaMarkerSymbolNumber51                AreaMarkerSymbol = 51
	AreaMarkerSymbol51                      AreaMarkerSymbol = "51"
	AreaMarkerSymbolArrowBarLeft            AreaMarkerSymbol = "arrow-bar-left"
	AreaMarkerSymbolNumber151               AreaMarkerSymbol = 151
	AreaMarkerSymbol151                     AreaMarkerSymbol = "151"
	AreaMarkerSymbolArrowBarLeftOpen        AreaMarkerSymbol = "arrow-bar-left-open"
	AreaMarkerSymbolNumber52                AreaMarkerSymbol = 52
	AreaMarkerSymbol52                      AreaMarkerSymbol = "52"
	AreaMarkerSymbolArrowBarRight           AreaMarkerSymbol = "arrow-bar-right"
	AreaMarkerSymbolNumber152               AreaMarkerSymbol = 152
	AreaMarkerSymbol152                     AreaMarkerSymbol = "152"
	AreaMarkerSymbolArrowBarRightOpen       AreaMarkerSymbol = "arrow-bar-right-open"
)

type AreaStream

type AreaStream struct {

	// Maxpoints
	// arrayOK: false
	// type: number
	// Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot.
	Maxpoints float64 `json:"maxpoints,omitempty"`

	// Token
	// arrayOK: false
	// type: string
	// The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details.
	Token String `json:"token,omitempty"`
}

AreaStream

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 (
	AreaVisibleTrue       AreaVisible = true
	AreaVisibleFalse      AreaVisible = false
	AreaVisibleLegendonly AreaVisible = "legendonly"
)

type Bar

type Bar struct {

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

	// Alignmentgroup
	// arrayOK: false
	// type: string
	// Set several traces linked to the same position axis or matching axes to the same alignmentgroup. This controls whether bars compute their positional range dependently or independently.
	Alignmentgroup String `json:"alignmentgroup,omitempty"`

	// Base
	// arrayOK: true
	// type: any
	// Sets where the bar base is drawn (in position axis units). In *stack* or *relative* barmode, traces that set *base* will be excluded and drawn in *overlay* mode instead.
	Base interface{} `json:"base,omitempty"`

	// Basesrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  base .
	Basesrc String `json:"basesrc,omitempty"`

	// Cliponaxis
	// arrayOK: false
	// type: boolean
	// Determines whether the text nodes are clipped about the subplot axes. To show the text nodes above axis lines and tick labels, make sure to set `xaxis.layer` and `yaxis.layer` to *below traces*.
	Cliponaxis Bool `json:"cliponaxis,omitempty"`

	// Constraintext
	// default: both
	// type: enumerated
	// Constrain the size of text inside or outside a bar to be no larger than the bar itself.
	Constraintext BarConstraintext `json:"constraintext,omitempty"`

	// Customdata
	// arrayOK: false
	// type: data_array
	// Assigns extra data each datum. This may be useful when listening to hover, click and selection events. Note that, *scatter* traces also appends customdata items in the markers DOM elements
	Customdata interface{} `json:"customdata,omitempty"`

	// Customdatasrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  customdata .
	Customdatasrc String `json:"customdatasrc,omitempty"`

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

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

	// ErrorX
	// role: Object
	ErrorX *BarErrorX `json:"error_x,omitempty"`

	// ErrorY
	// role: Object
	ErrorY *BarErrorY `json:"error_y,omitempty"`

	// Hoverinfo
	// default: all
	// type: flaglist
	// Determines which trace information appear on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired.
	Hoverinfo BarHoverinfo `json:"hoverinfo,omitempty"`

	// Hoverinfosrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  hoverinfo .
	Hoverinfosrc String `json:"hoverinfosrc,omitempty"`

	// Hoverlabel
	// role: Object
	Hoverlabel *BarHoverlabel `json:"hoverlabel,omitempty"`

	// Hovertemplate
	// arrayOK: true
	// type: string
	// Template string used for rendering the information that appear on hover box. Note that this will override `hoverinfo`. Variables are inserted using %{variable}, for example "y: %{y}". 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 String `json:"hovertemplate,omitempty"`

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

	// Hovertext
	// arrayOK: true
	// type: string
	// Sets hover text elements associated with each (x,y) pair. If a single string, the same string appears over all the data points. If an array of string, the items are mapped in order to the this trace's (x,y) coordinates. To be seen, trace `hoverinfo` must contain a *text* flag.
	Hovertext String `json:"hovertext,omitempty"`

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

	// Ids
	// arrayOK: false
	// type: data_array
	// Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type.
	Ids interface{} `json:"ids,omitempty"`

	// Idssrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  ids .
	Idssrc String `json:"idssrc,omitempty"`

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

	// Insidetextfont
	// role: Object
	Insidetextfont *BarInsidetextfont `json:"insidetextfont,omitempty"`

	// Legendgroup
	// arrayOK: false
	// type: string
	// Sets the legend group for this trace. Traces part of the same legend group hide/show at the same time when toggling legend items.
	Legendgroup String `json:"legendgroup,omitempty"`

	// Marker
	// role: Object
	Marker *BarMarker `json:"marker,omitempty"`

	// Meta
	// arrayOK: true
	// type: any
	// Assigns extra meta information associated with this trace that can be used in various text attributes. Attributes such as trace `name`, graph, axis and colorbar `title.text`, annotation `text` `rangeselector`, `updatemenues` and `sliders` `label` text all support `meta`. To access the trace `meta` values in an attribute in the same trace, simply use `%{meta[i]}` where `i` is the index or key of the `meta` item in question. To access trace `meta` in layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index.
	Meta interface{} `json:"meta,omitempty"`

	// Metasrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  meta .
	Metasrc String `json:"metasrc,omitempty"`

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

	// Offset
	// arrayOK: true
	// type: number
	// Shifts the position where the bar is drawn (in position axis units). In *group* barmode, traces that set *offset* will be excluded and drawn in *overlay* mode instead.
	Offset float64 `json:"offset,omitempty"`

	// Offsetgroup
	// arrayOK: false
	// type: string
	// Set several traces linked to the same position axis or matching axes to the same offsetgroup where bars of the same position coordinate will line up.
	Offsetgroup String `json:"offsetgroup,omitempty"`

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

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

	// Orientation
	// default: %!s(<nil>)
	// type: enumerated
	// Sets the orientation of the bars. With *v* (*h*), the value of the each bar spans along the vertical (horizontal).
	Orientation BarOrientation `json:"orientation,omitempty"`

	// Outsidetextfont
	// role: Object
	Outsidetextfont *BarOutsidetextfont `json:"outsidetextfont,omitempty"`

	// R
	// arrayOK: false
	// type: data_array
	// r coordinates in scatter traces are deprecated!Please switch to the *scatterpolar* trace type.Sets the radial coordinatesfor legacy polar chart only.
	R interface{} `json:"r,omitempty"`

	// Rsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  r .
	Rsrc String `json:"rsrc,omitempty"`

	// Selected
	// role: Object
	Selected *BarSelected `json:"selected,omitempty"`

	// Selectedpoints
	// arrayOK: false
	// type: any
	// Array containing integer indices of selected points. Has an effect only for traces that support selections. Note that an empty array means an empty selection where the `unselected` are turned on for all points, whereas, any other non-array values means no selection all where the `selected` and `unselected` styles have no effect.
	Selectedpoints interface{} `json:"selectedpoints,omitempty"`

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

	// Stream
	// role: Object
	Stream *BarStream `json:"stream,omitempty"`

	// T
	// arrayOK: false
	// type: data_array
	// t coordinates in scatter traces are deprecated!Please switch to the *scatterpolar* trace type.Sets the angular coordinatesfor legacy polar chart only.
	T interface{} `json:"t,omitempty"`

	// Text
	// arrayOK: true
	// type: string
	// Sets text elements associated with each (x,y) pair. If a single string, the same string appears over all the data points. If an array of string, the items are mapped in order to the this trace's (x,y) coordinates. If trace `hoverinfo` contains a *text* flag and *hovertext* is not set, these elements will be seen in the hover labels.
	Text String `json:"text,omitempty"`

	// Textangle
	// arrayOK: false
	// type: angle
	// Sets the angle of the tick labels with respect to the bar. For example, a `tickangle` of -90 draws the tick labels vertically. With *auto* the texts may automatically be rotated to fit with the maximum size in bars.
	Textangle float64 `json:"textangle,omitempty"`

	// Textfont
	// role: Object
	Textfont *BarTextfont `json:"textfont,omitempty"`

	// Textposition
	// default: none
	// type: enumerated
	// Specifies the location of the `text`. *inside* positions `text` inside, next to the bar end (rotated and scaled if needed). *outside* positions `text` outside, next to the bar end (scaled if needed), unless there is another bar stacked on this one, then the text gets pushed inside. *auto* tries to position `text` inside the bar, but if the bar is too small and no bar is stacked on this one the text is moved outside.
	Textposition BarTextposition `json:"textposition,omitempty"`

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

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

	// Texttemplate
	// arrayOK: true
	// type: string
	// Template string used for rendering the information text that appear on points. Note that this will override `textinfo`. Variables are inserted using %{variable}, for example "y: %{y}". Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example "Price: %{y:$.2f}". https://github.com/d3/d3-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 String `json:"texttemplate,omitempty"`

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

	// Transforms
	// It's an items array and what goes inside it's... messy... check the docs
	// I will be happy if you want to contribute by implementing this
	// just raise an issue before you start so we do not overlap
	Transforms interface{} `json:"transforms,omitempty"`

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

	// Uid
	// arrayOK: false
	// type: string
	// Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.
	Uid String `json:"uid,omitempty"`

	// Uirevision
	// arrayOK: false
	// type: any
	// Controls persistence of some user-driven changes to the trace: `constraintrange` in `parcoords` traces, as well as some `editable: true` modifications such as `name` and `colorbar.title`. Defaults to `layout.uirevision`. Note that other user-driven trace attribute changes are controlled by `layout` attributes: `trace.visible` is controlled by `layout.legend.uirevision`, `selectedpoints` is controlled by `layout.selectionrevision`, and `colorbar.(x|y)` (accessible with `config: {editable: true}`) is controlled by `layout.editrevision`. Trace changes are tracked by `uid`, which only falls back on trace index if no `uid` is provided. So if your app can add/remove traces before the end of the `data` array, such that the same trace has a different index, you can still preserve user-driven changes if you give each trace a `uid` that stays with it as it moves.
	Uirevision interface{} `json:"uirevision,omitempty"`

	// Unselected
	// role: Object
	Unselected *BarUnselected `json:"unselected,omitempty"`

	// Visible
	// default: %!s(bool=true)
	// type: enumerated
	// Determines whether or not this trace is visible. If *legendonly*, the trace is not drawn, but can appear as a legend item (provided that the legend itself is visible).
	Visible BarVisible `json:"visible,omitempty"`

	// Width
	// arrayOK: true
	// type: number
	// Sets the bar width (in position axis units).
	Width float64 `json:"width,omitempty"`

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

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

	// X0
	// arrayOK: false
	// type: any
	// Alternate to `x`. Builds a linear space of x coordinates. Use with `dx` where `x0` is the starting coordinate and `dx` the step.
	X0 interface{} `json:"x0,omitempty"`

	// Xaxis
	// arrayOK: false
	// type: subplotid
	// Sets a reference between this trace's x coordinates and a 2D cartesian x axis. If *x* (the default value), the x coordinates refer to `layout.xaxis`. If *x2*, the x coordinates refer to `layout.xaxis2`, and so on.
	Xaxis String `json:"xaxis,omitempty"`

	// Xcalendar
	// default: gregorian
	// type: enumerated
	// Sets the calendar system to use with `x` date data.
	Xcalendar BarXcalendar `json:"xcalendar,omitempty"`

	// Xperiod
	// arrayOK: false
	// type: 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
	// arrayOK: false
	// type: any
	// Only relevant when the axis `type` is *date*. Sets the base for period positioning in milliseconds or date string on the x0 axis. When `x0period` is round number of weeks, the `x0period0` by default would be on a Sunday i.e. 2000-01-02, otherwise it would be at 2000-01-01.
	Xperiod0 interface{} `json:"xperiod0,omitempty"`

	// Xperiodalignment
	// default: middle
	// type: enumerated
	// Only relevant when the axis `type` is *date*. Sets the alignment of data points on the x axis.
	Xperiodalignment BarXperiodalignment `json:"xperiodalignment,omitempty"`

	// Xsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  x .
	Xsrc String `json:"xsrc,omitempty"`

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

	// Y0
	// arrayOK: false
	// type: any
	// Alternate to `y`. Builds a linear space of y coordinates. Use with `dy` where `y0` is the starting coordinate and `dy` the step.
	Y0 interface{} `json:"y0,omitempty"`

	// Yaxis
	// arrayOK: false
	// type: subplotid
	// Sets a reference between this trace's y coordinates and a 2D cartesian y axis. If *y* (the default value), the y coordinates refer to `layout.yaxis`. If *y2*, the y coordinates refer to `layout.yaxis2`, and so on.
	Yaxis String `json:"yaxis,omitempty"`

	// Ycalendar
	// default: gregorian
	// type: enumerated
	// Sets the calendar system to use with `y` date data.
	Ycalendar BarYcalendar `json:"ycalendar,omitempty"`

	// Yperiod
	// arrayOK: false
	// type: 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
	// arrayOK: false
	// type: any
	// Only relevant when the axis `type` is *date*. Sets the base for period positioning in milliseconds or date string on the y0 axis. When `y0period` is round number of weeks, the `y0period0` by default would be on a Sunday i.e. 2000-01-02, otherwise it would be at 2000-01-01.
	Yperiod0 interface{} `json:"yperiod0,omitempty"`

	// Yperiodalignment
	// default: middle
	// type: enumerated
	// Only relevant when the axis `type` is *date*. Sets the alignment of data points on the y axis.
	Yperiodalignment BarYperiodalignment `json:"yperiodalignment,omitempty"`

	// Ysrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  y .
	Ysrc String `json:"ysrc,omitempty"`
}

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 (*Bar) GetType

func (trace *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 (
	BarConstraintextInside  BarConstraintext = "inside"
	BarConstraintextOutside BarConstraintext = "outside"
	BarConstraintextBoth    BarConstraintext = "both"
	BarConstraintextNone    BarConstraintext = "none"
)

type BarErrorX

type BarErrorX struct {

	// Array
	// arrayOK: false
	// type: data_array
	// Sets the data corresponding the length of each error bar. Values are plotted relative to the underlying data.
	Array interface{} `json:"array,omitempty"`

	// Arrayminus
	// arrayOK: false
	// type: data_array
	// Sets the data corresponding the length of each error bar in the bottom (left) direction for vertical (horizontal) bars Values are plotted relative to the underlying data.
	Arrayminus interface{} `json:"arrayminus,omitempty"`

	// Arrayminussrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  arrayminus .
	Arrayminussrc String `json:"arrayminussrc,omitempty"`

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

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

	// CopyYstyle
	// arrayOK: false
	// type: boolean
	//
	CopyYstyle Bool `json:"copy_ystyle,omitempty"`

	// Symmetric
	// arrayOK: false
	// type: boolean
	// Determines whether or not the error bars have the same length in both direction (top/bottom for vertical bars, left/right for horizontal bars.
	Symmetric Bool `json:"symmetric,omitempty"`

	// Thickness
	// arrayOK: false
	// type: number
	// Sets the thickness (in px) of the error bars.
	Thickness float64 `json:"thickness,omitempty"`

	// Traceref
	// arrayOK: false
	// type: integer
	//
	Traceref int64 `json:"traceref,omitempty"`

	// Tracerefminus
	// arrayOK: false
	// type: integer
	//
	Tracerefminus int64 `json:"tracerefminus,omitempty"`

	// Type
	// default: %!s(<nil>)
	// type: enumerated
	// Determines the rule used to generate the error bars. If *constant`, the bar lengths are of a constant value. Set this constant in `value`. If *percent*, the bar lengths correspond to a percentage of underlying data. Set this percentage in `value`. If *sqrt*, the bar lengths correspond to the square of the underlying data. If *data*, the bar lengths are set with data set `array`.
	Type BarErrorXType `json:"type,omitempty"`

	// Value
	// arrayOK: false
	// type: number
	// Sets the value of either the percentage (if `type` is set to *percent*) or the constant (if `type` is set to *constant*) corresponding to the lengths of the error bars.
	Value float64 `json:"value,omitempty"`

	// Valueminus
	// arrayOK: false
	// type: number
	// Sets the value of either the percentage (if `type` is set to *percent*) or the constant (if `type` is set to *constant*) corresponding to the lengths of the error bars in the bottom (left) direction for vertical (horizontal) bars
	Valueminus float64 `json:"valueminus,omitempty"`

	// Visible
	// arrayOK: false
	// type: boolean
	// Determines whether or not this set of error bars is visible.
	Visible Bool `json:"visible,omitempty"`

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

BarErrorX

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 (
	BarErrorXTypePercent  BarErrorXType = "percent"
	BarErrorXTypeConstant BarErrorXType = "constant"
	BarErrorXTypeSqrt     BarErrorXType = "sqrt"
	BarErrorXTypeData     BarErrorXType = "data"
)

type BarErrorY

type BarErrorY struct {

	// Array
	// arrayOK: false
	// type: data_array
	// Sets the data corresponding the length of each error bar. Values are plotted relative to the underlying data.
	Array interface{} `json:"array,omitempty"`

	// Arrayminus
	// arrayOK: false
	// type: data_array
	// Sets the data corresponding the length of each error bar in the bottom (left) direction for vertical (horizontal) bars Values are plotted relative to the underlying data.
	Arrayminus interface{} `json:"arrayminus,omitempty"`

	// Arrayminussrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  arrayminus .
	Arrayminussrc String `json:"arrayminussrc,omitempty"`

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

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

	// Symmetric
	// arrayOK: false
	// type: boolean
	// Determines whether or not the error bars have the same length in both direction (top/bottom for vertical bars, left/right for horizontal bars.
	Symmetric Bool `json:"symmetric,omitempty"`

	// Thickness
	// arrayOK: false
	// type: number
	// Sets the thickness (in px) of the error bars.
	Thickness float64 `json:"thickness,omitempty"`

	// Traceref
	// arrayOK: false
	// type: integer
	//
	Traceref int64 `json:"traceref,omitempty"`

	// Tracerefminus
	// arrayOK: false
	// type: integer
	//
	Tracerefminus int64 `json:"tracerefminus,omitempty"`

	// Type
	// default: %!s(<nil>)
	// type: enumerated
	// Determines the rule used to generate the error bars. If *constant`, the bar lengths are of a constant value. Set this constant in `value`. If *percent*, the bar lengths correspond to a percentage of underlying data. Set this percentage in `value`. If *sqrt*, the bar lengths correspond to the square of the underlying data. If *data*, the bar lengths are set with data set `array`.
	Type BarErrorYType `json:"type,omitempty"`

	// Value
	// arrayOK: false
	// type: number
	// Sets the value of either the percentage (if `type` is set to *percent*) or the constant (if `type` is set to *constant*) corresponding to the lengths of the error bars.
	Value float64 `json:"value,omitempty"`

	// Valueminus
	// arrayOK: false
	// type: number
	// Sets the value of either the percentage (if `type` is set to *percent*) or the constant (if `type` is set to *constant*) corresponding to the lengths of the error bars in the bottom (left) direction for vertical (horizontal) bars
	Valueminus float64 `json:"valueminus,omitempty"`

	// Visible
	// arrayOK: false
	// type: boolean
	// Determines whether or not this set of error bars is visible.
	Visible Bool `json:"visible,omitempty"`

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

BarErrorY

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 (
	BarErrorYTypePercent  BarErrorYType = "percent"
	BarErrorYTypeConstant BarErrorYType = "constant"
	BarErrorYTypeSqrt     BarErrorYType = "sqrt"
	BarErrorYTypeData     BarErrorYType = "data"
)

type BarHoverinfo

type BarHoverinfo string

BarHoverinfo Determines which trace information appear on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired.

const (
	// Flags
	BarHoverinfoX    BarHoverinfo = "x"
	BarHoverinfoY    BarHoverinfo = "y"
	BarHoverinfoZ    BarHoverinfo = "z"
	BarHoverinfoText BarHoverinfo = "text"
	BarHoverinfoName BarHoverinfo = "name"

	// Extra
	BarHoverinfoAll  BarHoverinfo = "all"
	BarHoverinfoNone BarHoverinfo = "none"
	BarHoverinfoSkip BarHoverinfo = "skip"
)

type BarHoverlabel

type BarHoverlabel struct {

	// Align
	// default: auto
	// type: enumerated
	// Sets the horizontal alignment of the text content within hover label box. Has an effect only if the hover label text spans more two or more lines
	Align BarHoverlabelAlign `json:"align,omitempty"`

	// Alignsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  align .
	Alignsrc String `json:"alignsrc,omitempty"`

	// Bgcolor
	// arrayOK: true
	// type: color
	// Sets the background color of the hover labels for this trace
	Bgcolor Color `json:"bgcolor,omitempty"`

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

	// Bordercolor
	// arrayOK: true
	// type: color
	// Sets the border color of the hover labels for this trace.
	Bordercolor Color `json:"bordercolor,omitempty"`

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

	// Font
	// role: Object
	Font *BarHoverlabelFont `json:"font,omitempty"`

	// Namelength
	// arrayOK: true
	// type: integer
	// Sets the default length (in number of characters) of the trace name in the hover labels for all traces. -1 shows the whole name regardless of length. 0-3 shows the first 0-3 characters, and an integer >3 will show the whole name if it is less than that many characters, but if it is longer, will truncate to `namelength - 3` characters and add an ellipsis.
	Namelength int64 `json:"namelength,omitempty"`

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

BarHoverlabel

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 (
	BarHoverlabelAlignLeft  BarHoverlabelAlign = "left"
	BarHoverlabelAlignRight BarHoverlabelAlign = "right"
	BarHoverlabelAlignAuto  BarHoverlabelAlign = "auto"
)

type BarHoverlabelFont

type BarHoverlabelFont struct {

	// Color
	// arrayOK: true
	// type: color
	//
	Color Color `json:"color,omitempty"`

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

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

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

	// Size
	// arrayOK: true
	// type: number
	//
	Size float64 `json:"size,omitempty"`

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

BarHoverlabelFont Sets the font used in hover labels.

type BarInsidetextanchor

type BarInsidetextanchor string

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

const (
	BarInsidetextanchorEnd    BarInsidetextanchor = "end"
	BarInsidetextanchorMiddle BarInsidetextanchor = "middle"
	BarInsidetextanchorStart  BarInsidetextanchor = "start"
)

type BarInsidetextfont

type BarInsidetextfont struct {

	// Color
	// arrayOK: true
	// type: color
	//
	Color Color `json:"color,omitempty"`

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

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

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

	// Size
	// arrayOK: true
	// type: number
	//
	Size float64 `json:"size,omitempty"`

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

BarInsidetextfont Sets the font used for `text` lying inside the bar.

type BarMarker

type BarMarker struct {

	// Autocolorscale
	// arrayOK: false
	// type: boolean
	// Determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by `marker.colorscale`. Has an effect only if in `marker.color`is set to a numerical array. In case `colorscale` is unspecified or `autocolorscale` is true, the default  palette will be chosen according to whether numbers in the `color` array are all positive, all negative or mixed.
	Autocolorscale Bool `json:"autocolorscale,omitempty"`

	// Cauto
	// arrayOK: false
	// type: boolean
	// Determines whether or not the color domain is computed with respect to the input data (here in `marker.color`) or the bounds set in `marker.cmin` and `marker.cmax`  Has an effect only if in `marker.color`is set to a numerical array. Defaults to `false` when `marker.cmin` and `marker.cmax` are set by the user.
	Cauto Bool `json:"cauto,omitempty"`

	// Cmax
	// arrayOK: false
	// type: number
	// Sets the upper bound of the color domain. Has an effect only if in `marker.color`is set to a numerical array. Value should have the same units as in `marker.color` and if set, `marker.cmin` must be set as well.
	Cmax float64 `json:"cmax,omitempty"`

	// Cmid
	// arrayOK: false
	// type: number
	// Sets the mid-point of the color domain by scaling `marker.cmin` and/or `marker.cmax` to be equidistant to this point. Has an effect only if in `marker.color`is set to a numerical array. Value should have the same units as in `marker.color`. Has no effect when `marker.cauto` is `false`.
	Cmid float64 `json:"cmid,omitempty"`

	// Cmin
	// arrayOK: false
	// type: number
	// Sets the lower bound of the color domain. Has an effect only if in `marker.color`is set to a numerical array. Value should have the same units as in `marker.color` and if set, `marker.cmax` must be set as well.
	Cmin float64 `json:"cmin,omitempty"`

	// Color
	// arrayOK: true
	// type: color
	// Sets themarkercolor. It accepts either a specific color or an array of numbers that are mapped to the colorscale relative to the max and min values of the array or relative to `marker.cmin` and `marker.cmax` if set.
	Color Color `json:"color,omitempty"`

	// Coloraxis
	// arrayOK: false
	// type: subplotid
	// Sets a reference to a shared color axis. References to these shared color axes are *coloraxis*, *coloraxis2*, *coloraxis3*, etc. Settings for these shared color axes are set in the layout, under `layout.coloraxis`, `layout.coloraxis2`, etc. Note that multiple color scales can be linked to the same color axis.
	Coloraxis String `json:"coloraxis,omitempty"`

	// Colorbar
	// role: Object
	Colorbar *BarMarkerColorbar `json:"colorbar,omitempty"`

	// Colorscale
	// default: %!s(<nil>)
	// type: colorscale
	// Sets the colorscale. Has an effect only if in `marker.color`is set to a numerical array. The colorscale must be an array containing arrays mapping a normalized value to an rgb, rgba, hex, hsl, hsv, or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, use`marker.cmin` and `marker.cmax`. Alternatively, `colorscale` may be a palette name string of the following list: Greys,YlGnBu,Greens,YlOrRd,Bluered,RdBu,Reds,Blues,Picnic,Rainbow,Portland,Jet,Hot,Blackbody,Earth,Electric,Viridis,Cividis.
	Colorscale ColorScale `json:"colorscale,omitempty"`

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

	// Line
	// role: Object
	Line *BarMarkerLine `json:"line,omitempty"`

	// Opacity
	// arrayOK: true
	// type: number
	// Sets the opacity of the bars.
	Opacity float64 `json:"opacity,omitempty"`

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

	// Reversescale
	// arrayOK: false
	// type: boolean
	// Reverses the color mapping if true. Has an effect only if in `marker.color`is set to a numerical array. If true, `marker.cmin` will correspond to the last color in the array and `marker.cmax` will correspond to the first color.
	Reversescale Bool `json:"reversescale,omitempty"`

	// Showscale
	// arrayOK: false
	// type: boolean
	// Determines whether or not a colorbar is displayed for this trace. Has an effect only if in `marker.color`is set to a numerical array.
	Showscale Bool `json:"showscale,omitempty"`
}

BarMarker

type BarMarkerColorbar

type BarMarkerColorbar struct {

	// Bgcolor
	// arrayOK: false
	// type: color
	// Sets the color of padded area.
	Bgcolor Color `json:"bgcolor,omitempty"`

	// Bordercolor
	// arrayOK: false
	// type: color
	// Sets the axis line color.
	Bordercolor Color `json:"bordercolor,omitempty"`

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

	// Dtick
	// arrayOK: false
	// type: any
	// Sets the step in-between ticks on this axis. Use with `tick0`. Must be a positive number, or special strings available to *log* and *date* axes. If the axis `type` is *log*, then ticks are set every 10^(n*dtick) where n is the tick number. For example, to set a tick mark at 1, 10, 100, 1000, ... set dtick to 1. To set tick marks at 1, 100, 10000, ... set dtick to 2. To set tick marks at 1, 5, 25, 125, 625, 3125, ... set dtick to log_10(5), or 0.69897000433. *log* has several special values; *L<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
	// default: B
	// type: enumerated
	// Determines a formatting rule for the tick exponents. For example, consider the number 1,000,000,000. If *none*, it appears as 1,000,000,000. If *e*, 1e+9. If *E*, 1E+9. If *power*, 1x10^9 (with 9 in a super script). If *SI*, 1G. If *B*, 1B.
	Exponentformat BarMarkerColorbarExponentformat `json:"exponentformat,omitempty"`

	// Len
	// arrayOK: false
	// type: number
	// Sets the length of the color bar This measure excludes the padding of both ends. That is, the color bar length is this length minus the padding on both ends.
	Len float64 `json:"len,omitempty"`

	// Lenmode
	// default: fraction
	// type: enumerated
	// Determines whether this color bar's length (i.e. the measure in the color variation direction) is set in units of plot *fraction* or in *pixels. Use `len` to set the value.
	Lenmode BarMarkerColorbarLenmode `json:"lenmode,omitempty"`

	// Minexponent
	// arrayOK: false
	// type: number
	// Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*.
	Minexponent float64 `json:"minexponent,omitempty"`

	// Nticks
	// arrayOK: false
	// type: integer
	// Specifies the maximum number of ticks for the particular axis. The actual number of ticks will be chosen automatically to be less than or equal to `nticks`. Has an effect only if `tickmode` is set to *auto*.
	Nticks int64 `json:"nticks,omitempty"`

	// Outlinecolor
	// arrayOK: false
	// type: color
	// Sets the axis line color.
	Outlinecolor Color `json:"outlinecolor,omitempty"`

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

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

	// Showexponent
	// default: all
	// type: enumerated
	// If *all*, all exponents are shown besides their significands. If *first*, only the exponent of the first tick is shown. If *last*, only the exponent of the last tick is shown. If *none*, no exponents appear.
	Showexponent BarMarkerColorbarShowexponent `json:"showexponent,omitempty"`

	// Showticklabels
	// arrayOK: false
	// type: boolean
	// Determines whether or not the tick labels are drawn.
	Showticklabels Bool `json:"showticklabels,omitempty"`

	// Showtickprefix
	// default: all
	// type: enumerated
	// If *all*, all tick labels are displayed with a prefix. If *first*, only the first tick is displayed with a prefix. If *last*, only the last tick is displayed with a suffix. If *none*, tick prefixes are hidden.
	Showtickprefix BarMarkerColorbarShowtickprefix `json:"showtickprefix,omitempty"`

	// Showticksuffix
	// default: all
	// type: enumerated
	// Same as `showtickprefix` but for tick suffixes.
	Showticksuffix BarMarkerColorbarShowticksuffix `json:"showticksuffix,omitempty"`

	// Thickness
	// arrayOK: false
	// type: number
	// Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.
	Thickness float64 `json:"thickness,omitempty"`

	// Thicknessmode
	// default: pixels
	// type: enumerated
	// Determines whether this color bar's thickness (i.e. the measure in the constant color direction) is set in units of plot *fraction* or in *pixels*. Use `thickness` to set the value.
	Thicknessmode BarMarkerColorbarThicknessmode `json:"thicknessmode,omitempty"`

	// Tick0
	// arrayOK: false
	// type: any
	// Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2) except when `dtick`=*L<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
	// arrayOK: false
	// type: angle
	// Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.
	Tickangle float64 `json:"tickangle,omitempty"`

	// Tickcolor
	// arrayOK: false
	// type: color
	// Sets the tick color.
	Tickcolor Color `json:"tickcolor,omitempty"`

	// Tickfont
	// role: Object
	Tickfont *BarMarkerColorbarTickfont `json:"tickfont,omitempty"`

	// Tickformat
	// arrayOK: false
	// type: string
	// Sets the tick label formatting rule using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-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
	// It's an items array and what goes inside it's... messy... check the docs
	// I will be happy if you want to contribute by implementing this
	// just raise an issue before you start so we do not overlap
	Tickformatstops interface{} `json:"tickformatstops,omitempty"`

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

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

	// Tickmode
	// default: %!s(<nil>)
	// type: enumerated
	// Sets the tick mode for this axis. If *auto*, the number of ticks is set via `nticks`. If *linear*, the placement of the ticks is determined by a starting position `tick0` and a tick step `dtick` (*linear* is the default value if `tick0` and `dtick` are provided). If *array*, the placement of the ticks is set via `tickvals` and the tick text is `ticktext`. (*array* is the default value if `tickvals` is provided).
	Tickmode BarMarkerColorbarTickmode `json:"tickmode,omitempty"`

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

	// Ticks
	// default:
	// type: enumerated
	// Determines whether ticks are drawn or not. If **, this axis' ticks are not drawn. If *outside* (*inside*), this axis' are drawn outside (inside) the axis lines.
	Ticks BarMarkerColorbarTicks `json:"ticks,omitempty"`

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

	// Ticktext
	// arrayOK: false
	// type: data_array
	// Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `tickvals`.
	Ticktext interface{} `json:"ticktext,omitempty"`

	// Ticktextsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  ticktext .
	Ticktextsrc String `json:"ticktextsrc,omitempty"`

	// Tickvals
	// arrayOK: false
	// type: data_array
	// Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.
	Tickvals interface{} `json:"tickvals,omitempty"`

	// Tickvalssrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  tickvals .
	Tickvalssrc String `json:"tickvalssrc,omitempty"`

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

	// Title
	// role: Object
	Title *BarMarkerColorbarTitle `json:"title,omitempty"`

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

	// Xanchor
	// default: left
	// type: enumerated
	// Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the color bar.
	Xanchor BarMarkerColorbarXanchor `json:"xanchor,omitempty"`

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

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

	// Yanchor
	// default: middle
	// type: enumerated
	// Sets this color bar's vertical position anchor This anchor binds the `y` position to the *top*, *middle* or *bottom* of the color bar.
	Yanchor BarMarkerColorbarYanchor `json:"yanchor,omitempty"`

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

BarMarkerColorbar

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 (
	BarMarkerColorbarExponentformatNone  BarMarkerColorbarExponentformat = "none"
	BarMarkerColorbarExponentformatE1    BarMarkerColorbarExponentformat = "e"
	BarMarkerColorbarExponentformatE2    BarMarkerColorbarExponentformat = "E"
	BarMarkerColorbarExponentformatPower BarMarkerColorbarExponentformat = "power"
	BarMarkerColorbarExponentformatSi    BarMarkerColorbarExponentformat = "SI"
	BarMarkerColorbarExponentformatB     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 (
	BarMarkerColorbarLenmodeFraction BarMarkerColorbarLenmode = "fraction"
	BarMarkerColorbarLenmodePixels   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 (
	BarMarkerColorbarShowexponentAll   BarMarkerColorbarShowexponent = "all"
	BarMarkerColorbarShowexponentFirst BarMarkerColorbarShowexponent = "first"
	BarMarkerColorbarShowexponentLast  BarMarkerColorbarShowexponent = "last"
	BarMarkerColorbarShowexponentNone  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 (
	BarMarkerColorbarShowtickprefixAll   BarMarkerColorbarShowtickprefix = "all"
	BarMarkerColorbarShowtickprefixFirst BarMarkerColorbarShowtickprefix = "first"
	BarMarkerColorbarShowtickprefixLast  BarMarkerColorbarShowtickprefix = "last"
	BarMarkerColorbarShowtickprefixNone  BarMarkerColorbarShowtickprefix = "none"
)

type BarMarkerColorbarShowticksuffix

type BarMarkerColorbarShowticksuffix string

BarMarkerColorbarShowticksuffix Same as `showtickprefix` but for tick suffixes.

const (
	BarMarkerColorbarShowticksuffixAll   BarMarkerColorbarShowticksuffix = "all"
	BarMarkerColorbarShowticksuffixFirst BarMarkerColorbarShowticksuffix = "first"
	BarMarkerColorbarShowticksuffixLast  BarMarkerColorbarShowticksuffix = "last"
	BarMarkerColorbarShowticksuffixNone  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 (
	BarMarkerColorbarThicknessmodeFraction BarMarkerColorbarThicknessmode = "fraction"
	BarMarkerColorbarThicknessmodePixels   BarMarkerColorbarThicknessmode = "pixels"
)

type BarMarkerColorbarTickfont

type BarMarkerColorbarTickfont struct {

	// Color
	// arrayOK: false
	// type: color
	//
	Color Color `json:"color,omitempty"`

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

	// Size
	// arrayOK: false
	// type: number
	//
	Size float64 `json:"size,omitempty"`
}

BarMarkerColorbarTickfont Sets the color bar's tick label font

type BarMarkerColorbarTicklabelposition added in v0.3.1

type BarMarkerColorbarTicklabelposition string

BarMarkerColorbarTicklabelposition Determines where tick labels are drawn.

const (
	BarMarkerColorbarTicklabelpositionOutside       BarMarkerColorbarTicklabelposition = "outside"
	BarMarkerColorbarTicklabelpositionInside        BarMarkerColorbarTicklabelposition = "inside"
	BarMarkerColorbarTicklabelpositionOutsideTop    BarMarkerColorbarTicklabelposition = "outside top"
	BarMarkerColorbarTicklabelpositionInsideTop     BarMarkerColorbarTicklabelposition = "inside top"
	BarMarkerColorbarTicklabelpositionOutsideBottom BarMarkerColorbarTicklabelposition = "outside bottom"
	BarMarkerColorbarTicklabelpositionInsideBottom  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 (
	BarMarkerColorbarTickmodeAuto   BarMarkerColorbarTickmode = "auto"
	BarMarkerColorbarTickmodeLinear BarMarkerColorbarTickmode = "linear"
	BarMarkerColorbarTickmodeArray  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 (
	BarMarkerColorbarTicksOutside BarMarkerColorbarTicks = "outside"
	BarMarkerColorbarTicksInside  BarMarkerColorbarTicks = "inside"
	BarMarkerColorbarTicksEmpty   BarMarkerColorbarTicks = ""
)

type BarMarkerColorbarTitle

type BarMarkerColorbarTitle struct {

	// Font
	// role: Object
	Font *BarMarkerColorbarTitleFont `json:"font,omitempty"`

	// Side
	// default: top
	// type: enumerated
	// Determines the location of color bar's title with respect to the color bar. Note that the title's location used to be set by the now deprecated `titleside` attribute.
	Side BarMarkerColorbarTitleSide `json:"side,omitempty"`

	// Text
	// arrayOK: false
	// type: string
	// Sets the title of the color bar. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.
	Text String `json:"text,omitempty"`
}

BarMarkerColorbarTitle

type BarMarkerColorbarTitleFont

type BarMarkerColorbarTitleFont struct {

	// Color
	// arrayOK: false
	// type: color
	//
	Color Color `json:"color,omitempty"`

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

	// Size
	// arrayOK: false
	// type: number
	//
	Size float64 `json:"size,omitempty"`
}

BarMarkerColorbarTitleFont Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.

type 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 (
	BarMarkerColorbarTitleSideRight  BarMarkerColorbarTitleSide = "right"
	BarMarkerColorbarTitleSideTop    BarMarkerColorbarTitleSide = "top"
	BarMarkerColorbarTitleSideBottom 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 (
	BarMarkerColorbarXanchorLeft   BarMarkerColorbarXanchor = "left"
	BarMarkerColorbarXanchorCenter BarMarkerColorbarXanchor = "center"
	BarMarkerColorbarXanchorRight  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 (
	BarMarkerColorbarYanchorTop    BarMarkerColorbarYanchor = "top"
	BarMarkerColorbarYanchorMiddle BarMarkerColorbarYanchor = "middle"
	BarMarkerColorbarYanchorBottom BarMarkerColorbarYanchor = "bottom"
)

type BarMarkerLine

type BarMarkerLine struct {

	// Autocolorscale
	// arrayOK: false
	// type: boolean
	// Determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by `marker.line.colorscale`. Has an effect only if in `marker.line.color`is set to a numerical array. In case `colorscale` is unspecified or `autocolorscale` is true, the default  palette will be chosen according to whether numbers in the `color` array are all positive, all negative or mixed.
	Autocolorscale Bool `json:"autocolorscale,omitempty"`

	// Cauto
	// arrayOK: false
	// type: boolean
	// Determines whether or not the color domain is computed with respect to the input data (here in `marker.line.color`) or the bounds set in `marker.line.cmin` and `marker.line.cmax`  Has an effect only if in `marker.line.color`is set to a numerical array. Defaults to `false` when `marker.line.cmin` and `marker.line.cmax` are set by the user.
	Cauto Bool `json:"cauto,omitempty"`

	// Cmax
	// arrayOK: false
	// type: number
	// Sets the upper bound of the color domain. Has an effect only if in `marker.line.color`is set to a numerical array. Value should have the same units as in `marker.line.color` and if set, `marker.line.cmin` must be set as well.
	Cmax float64 `json:"cmax,omitempty"`

	// Cmid
	// arrayOK: false
	// type: number
	// Sets the mid-point of the color domain by scaling `marker.line.cmin` and/or `marker.line.cmax` to be equidistant to this point. Has an effect only if in `marker.line.color`is set to a numerical array. Value should have the same units as in `marker.line.color`. Has no effect when `marker.line.cauto` is `false`.
	Cmid float64 `json:"cmid,omitempty"`

	// Cmin
	// arrayOK: false
	// type: number
	// Sets the lower bound of the color domain. Has an effect only if in `marker.line.color`is set to a numerical array. Value should have the same units as in `marker.line.color` and if set, `marker.line.cmax` must be set as well.
	Cmin float64 `json:"cmin,omitempty"`

	// Color
	// arrayOK: true
	// type: color
	// Sets 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 Color `json:"color,omitempty"`

	// Coloraxis
	// arrayOK: false
	// type: subplotid
	// Sets a reference to a shared color axis. References to these shared color axes are *coloraxis*, *coloraxis2*, *coloraxis3*, etc. Settings for these shared color axes are set in the layout, under `layout.coloraxis`, `layout.coloraxis2`, etc. Note that multiple color scales can be linked to the same color axis.
	Coloraxis String `json:"coloraxis,omitempty"`

	// Colorscale
	// default: %!s(<nil>)
	// type: colorscale
	// Sets the colorscale. Has an effect only if in `marker.line.color`is set to a numerical array. The colorscale must be an array containing arrays mapping a normalized value to an rgb, rgba, hex, hsl, hsv, or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, use`marker.line.cmin` and `marker.line.cmax`. Alternatively, `colorscale` may be a palette name string of the following list: Greys,YlGnBu,Greens,YlOrRd,Bluered,RdBu,Reds,Blues,Picnic,Rainbow,Portland,Jet,Hot,Blackbody,Earth,Electric,Viridis,Cividis.
	Colorscale ColorScale `json:"colorscale,omitempty"`

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

	// Reversescale
	// arrayOK: false
	// type: boolean
	// Reverses the color mapping if true. Has an effect only if in `marker.line.color`is set to a numerical array. If true, `marker.line.cmin` will correspond to the last color in the array and `marker.line.cmax` will correspond to the first color.
	Reversescale Bool `json:"reversescale,omitempty"`

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

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

BarMarkerLine

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 (
	BarOrientationV BarOrientation = "v"
	BarOrientationH BarOrientation = "h"
)

type BarOutsidetextfont

type BarOutsidetextfont struct {

	// Color
	// arrayOK: true
	// type: color
	//
	Color Color `json:"color,omitempty"`

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

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

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

	// Size
	// arrayOK: true
	// type: number
	//
	Size float64 `json:"size,omitempty"`

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

BarOutsidetextfont Sets the font used for `text` lying outside the bar.

type BarSelected

type BarSelected struct {

	// Marker
	// role: Object
	Marker *BarSelectedMarker `json:"marker,omitempty"`

	// Textfont
	// role: Object
	Textfont *BarSelectedTextfont `json:"textfont,omitempty"`
}

BarSelected

type BarSelectedMarker

type BarSelectedMarker struct {

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

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

BarSelectedMarker

type BarSelectedTextfont

type BarSelectedTextfont struct {

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

BarSelectedTextfont

type BarStream

type BarStream struct {

	// Maxpoints
	// arrayOK: false
	// type: number
	// Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot.
	Maxpoints float64 `json:"maxpoints,omitempty"`

	// Token
	// arrayOK: false
	// type: string
	// The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details.
	Token String `json:"token,omitempty"`
}

BarStream

type BarTextfont

type BarTextfont struct {

	// Color
	// arrayOK: true
	// type: color
	//
	Color Color `json:"color,omitempty"`

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

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

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

	// Size
	// arrayOK: true
	// type: number
	//
	Size float64 `json:"size,omitempty"`

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

BarTextfont Sets the font used for `text`.

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 (
	BarTextpositionInside  BarTextposition = "inside"
	BarTextpositionOutside BarTextposition = "outside"
	BarTextpositionAuto    BarTextposition = "auto"
	BarTextpositionNone    BarTextposition = "none"
)

type BarUnselected

type BarUnselected struct {

	// Marker
	// role: Object
	Marker *BarUnselectedMarker `json:"marker,omitempty"`

	// Textfont
	// role: Object
	Textfont *BarUnselectedTextfont `json:"textfont,omitempty"`
}

BarUnselected

type BarUnselectedMarker

type BarUnselectedMarker struct {

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

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

BarUnselectedMarker

type BarUnselectedTextfont

type BarUnselectedTextfont struct {

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

BarUnselectedTextfont

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 (
	BarVisibleTrue       BarVisible = true
	BarVisibleFalse      BarVisible = false
	BarVisibleLegendonly BarVisible = "legendonly"
)

type BarXcalendar

type BarXcalendar string

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

const (
	BarXcalendarGregorian  BarXcalendar = "gregorian"
	BarXcalendarChinese    BarXcalendar = "chinese"
	BarXcalendarCoptic     BarXcalendar = "coptic"
	BarXcalendarDiscworld  BarXcalendar = "discworld"
	BarXcalendarEthiopian  BarXcalendar = "ethiopian"
	BarXcalendarHebrew     BarXcalendar = "hebrew"
	BarXcalendarIslamic    BarXcalendar = "islamic"
	BarXcalendarJulian     BarXcalendar = "julian"
	BarXcalendarMayan      BarXcalendar = "mayan"
	BarXcalendarNanakshahi BarXcalendar = "nanakshahi"
	BarXcalendarNepali     BarXcalendar = "nepali"
	BarXcalendarPersian    BarXcalendar = "persian"
	BarXcalendarJalali     BarXcalendar = "jalali"
	BarXcalendarTaiwan     BarXcalendar = "taiwan"
	BarXcalendarThai       BarXcalendar = "thai"
	BarXcalendarUmmalqura  BarXcalendar = "ummalqura"
)

type BarXperiodalignment added in v0.3.1

type BarXperiodalignment string

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

const (
	BarXperiodalignmentStart  BarXperiodalignment = "start"
	BarXperiodalignmentMiddle BarXperiodalignment = "middle"
	BarXperiodalignmentEnd    BarXperiodalignment = "end"
)

type BarYcalendar

type BarYcalendar string

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

const (
	BarYcalendarGregorian  BarYcalendar = "gregorian"
	BarYcalendarChinese    BarYcalendar = "chinese"
	BarYcalendarCoptic     BarYcalendar = "coptic"
	BarYcalendarDiscworld  BarYcalendar = "discworld"
	BarYcalendarEthiopian  BarYcalendar = "ethiopian"
	BarYcalendarHebrew     BarYcalendar = "hebrew"
	BarYcalendarIslamic    BarYcalendar = "islamic"
	BarYcalendarJulian     BarYcalendar = "julian"
	BarYcalendarMayan      BarYcalendar = "mayan"
	BarYcalendarNanakshahi BarYcalendar = "nanakshahi"
	BarYcalendarNepali     BarYcalendar = "nepali"
	BarYcalendarPersian    BarYcalendar = "persian"
	BarYcalendarJalali     BarYcalendar = "jalali"
	BarYcalendarTaiwan     BarYcalendar = "taiwan"
	BarYcalendarThai       BarYcalendar = "thai"
	BarYcalendarUmmalqura  BarYcalendar = "ummalqura"
)

type BarYperiodalignment added in v0.3.1

type BarYperiodalignment string

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

const (
	BarYperiodalignmentStart  BarYperiodalignment = "start"
	BarYperiodalignmentMiddle BarYperiodalignment = "middle"
	BarYperiodalignmentEnd    BarYperiodalignment = "end"
)

type Barpolar

type Barpolar struct {

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

	// Base
	// arrayOK: true
	// type: any
	// Sets where the bar base is drawn (in radial axis units). In *stack* barmode, traces that set *base* will be excluded and drawn in *overlay* mode instead.
	Base interface{} `json:"base,omitempty"`

	// Basesrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  base .
	Basesrc String `json:"basesrc,omitempty"`

	// Customdata
	// arrayOK: false
	// type: data_array
	// Assigns extra data each datum. This may be useful when listening to hover, click and selection events. Note that, *scatter* traces also appends customdata items in the markers DOM elements
	Customdata interface{} `json:"customdata,omitempty"`

	// Customdatasrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  customdata .
	Customdatasrc String `json:"customdatasrc,omitempty"`

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

	// Dtheta
	// arrayOK: false
	// type: number
	// Sets the theta coordinate step. By default, the `dtheta` step equals the subplot's period divided by the length of the `r` coordinates.
	Dtheta float64 `json:"dtheta,omitempty"`

	// Hoverinfo
	// default: all
	// type: flaglist
	// Determines which trace information appear on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired.
	Hoverinfo BarpolarHoverinfo `json:"hoverinfo,omitempty"`

	// Hoverinfosrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  hoverinfo .
	Hoverinfosrc String `json:"hoverinfosrc,omitempty"`

	// Hoverlabel
	// role: Object
	Hoverlabel *BarpolarHoverlabel `json:"hoverlabel,omitempty"`

	// Hovertemplate
	// arrayOK: true
	// type: string
	// Template string used for rendering the information that appear on hover box. Note that this will override `hoverinfo`. Variables are inserted using %{variable}, for example "y: %{y}". 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 String `json:"hovertemplate,omitempty"`

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

	// Hovertext
	// arrayOK: true
	// type: string
	// Same as `text`.
	Hovertext String `json:"hovertext,omitempty"`

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

	// Ids
	// arrayOK: false
	// type: data_array
	// Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type.
	Ids interface{} `json:"ids,omitempty"`

	// Idssrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  ids .
	Idssrc String `json:"idssrc,omitempty"`

	// Legendgroup
	// arrayOK: false
	// type: string
	// Sets the legend group for this trace. Traces part of the same legend group hide/show at the same time when toggling legend items.
	Legendgroup String `json:"legendgroup,omitempty"`

	// Marker
	// role: Object
	Marker *BarpolarMarker `json:"marker,omitempty"`

	// Meta
	// arrayOK: true
	// type: any
	// Assigns extra meta information associated with this trace that can be used in various text attributes. Attributes such as trace `name`, graph, axis and colorbar `title.text`, annotation `text` `rangeselector`, `updatemenues` and `sliders` `label` text all support `meta`. To access the trace `meta` values in an attribute in the same trace, simply use `%{meta[i]}` where `i` is the index or key of the `meta` item in question. To access trace `meta` in layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index.
	Meta interface{} `json:"meta,omitempty"`

	// Metasrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  meta .
	Metasrc String `json:"metasrc,omitempty"`

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

	// Offset
	// arrayOK: true
	// type: number
	// Shifts the angular position where the bar is drawn (in *thetatunit* units).
	Offset float64 `json:"offset,omitempty"`

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

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

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

	// R0
	// arrayOK: false
	// type: any
	// Alternate to `r`. Builds a linear space of r coordinates. Use with `dr` where `r0` is the starting coordinate and `dr` the step.
	R0 interface{} `json:"r0,omitempty"`

	// Rsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  r .
	Rsrc String `json:"rsrc,omitempty"`

	// Selected
	// role: Object
	Selected *BarpolarSelected `json:"selected,omitempty"`

	// Selectedpoints
	// arrayOK: false
	// type: any
	// Array containing integer indices of selected points. Has an effect only for traces that support selections. Note that an empty array means an empty selection where the `unselected` are turned on for all points, whereas, any other non-array values means no selection all where the `selected` and `unselected` styles have no effect.
	Selectedpoints interface{} `json:"selectedpoints,omitempty"`

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

	// Stream
	// role: Object
	Stream *BarpolarStream `json:"stream,omitempty"`

	// Subplot
	// arrayOK: false
	// type: subplotid
	// Sets a reference between this trace's data coordinates and a polar subplot. If *polar* (the default value), the data refer to `layout.polar`. If *polar2*, the data refer to `layout.polar2`, and so on.
	Subplot String `json:"subplot,omitempty"`

	// Text
	// arrayOK: true
	// type: string
	// Sets hover text elements associated with each bar. If a single string, the same string appears over all bars. If an array of string, the items are mapped in order to the this trace's coordinates.
	Text String `json:"text,omitempty"`

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

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

	// Theta0
	// arrayOK: false
	// type: any
	// Alternate to `theta`. Builds a linear space of theta coordinates. Use with `dtheta` where `theta0` is the starting coordinate and `dtheta` the step.
	Theta0 interface{} `json:"theta0,omitempty"`

	// Thetasrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  theta .
	Thetasrc String `json:"thetasrc,omitempty"`

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

	// Transforms
	// It's an items array and what goes inside it's... messy... check the docs
	// I will be happy if you want to contribute by implementing this
	// just raise an issue before you start so we do not overlap
	Transforms interface{} `json:"transforms,omitempty"`

	// Uid
	// arrayOK: false
	// type: string
	// Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.
	Uid String `json:"uid,omitempty"`

	// Uirevision
	// arrayOK: false
	// type: any
	// Controls persistence of some user-driven changes to the trace: `constraintrange` in `parcoords` traces, as well as some `editable: true` modifications such as `name` and `colorbar.title`. Defaults to `layout.uirevision`. Note that other user-driven trace attribute changes are controlled by `layout` attributes: `trace.visible` is controlled by `layout.legend.uirevision`, `selectedpoints` is controlled by `layout.selectionrevision`, and `colorbar.(x|y)` (accessible with `config: {editable: true}`) is controlled by `layout.editrevision`. Trace changes are tracked by `uid`, which only falls back on trace index if no `uid` is provided. So if your app can add/remove traces before the end of the `data` array, such that the same trace has a different index, you can still preserve user-driven changes if you give each trace a `uid` that stays with it as it moves.
	Uirevision interface{} `json:"uirevision,omitempty"`

	// Unselected
	// role: Object
	Unselected *BarpolarUnselected `json:"unselected,omitempty"`

	// Visible
	// default: %!s(bool=true)
	// type: enumerated
	// Determines whether or not this trace is visible. If *legendonly*, the trace is not drawn, but can appear as a legend item (provided that the legend itself is visible).
	Visible BarpolarVisible `json:"visible,omitempty"`

	// Width
	// arrayOK: true
	// type: number
	// Sets the bar angular width (in *thetaunit* units).
	Width float64 `json:"width,omitempty"`

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

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

func (*Barpolar) GetType

func (trace *Barpolar) GetType() TraceType

type BarpolarHoverinfo

type BarpolarHoverinfo string

BarpolarHoverinfo Determines which trace information appear on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired.

const (
	// Flags
	BarpolarHoverinfoR     BarpolarHoverinfo = "r"
	BarpolarHoverinfoTheta BarpolarHoverinfo = "theta"
	BarpolarHoverinfoText  BarpolarHoverinfo = "text"
	BarpolarHoverinfoName  BarpolarHoverinfo = "name"

	// Extra
	BarpolarHoverinfoAll  BarpolarHoverinfo = "all"
	BarpolarHoverinfoNone BarpolarHoverinfo = "none"
	BarpolarHoverinfoSkip BarpolarHoverinfo = "skip"
)

type BarpolarHoverlabel

type BarpolarHoverlabel struct {

	// Align
	// default: auto
	// type: enumerated
	// Sets the horizontal alignment of the text content within hover label box. Has an effect only if the hover label text spans more two or more lines
	Align BarpolarHoverlabelAlign `json:"align,omitempty"`

	// Alignsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  align .
	Alignsrc String `json:"alignsrc,omitempty"`

	// Bgcolor
	// arrayOK: true
	// type: color
	// Sets the background color of the hover labels for this trace
	Bgcolor Color `json:"bgcolor,omitempty"`

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

	// Bordercolor
	// arrayOK: true
	// type: color
	// Sets the border color of the hover labels for this trace.
	Bordercolor Color `json:"bordercolor,omitempty"`

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

	// Font
	// role: Object
	Font *BarpolarHoverlabelFont `json:"font,omitempty"`

	// Namelength
	// arrayOK: true
	// type: integer
	// Sets the default length (in number of characters) of the trace name in the hover labels for all traces. -1 shows the whole name regardless of length. 0-3 shows the first 0-3 characters, and an integer >3 will show the whole name if it is less than that many characters, but if it is longer, will truncate to `namelength - 3` characters and add an ellipsis.
	Namelength int64 `json:"namelength,omitempty"`

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

BarpolarHoverlabel

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 (
	BarpolarHoverlabelAlignLeft  BarpolarHoverlabelAlign = "left"
	BarpolarHoverlabelAlignRight BarpolarHoverlabelAlign = "right"
	BarpolarHoverlabelAlignAuto  BarpolarHoverlabelAlign = "auto"
)

type BarpolarHoverlabelFont

type BarpolarHoverlabelFont struct {

	// Color
	// arrayOK: true
	// type: color
	//
	Color Color `json:"color,omitempty"`

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

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

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

	// Size
	// arrayOK: true
	// type: number
	//
	Size float64 `json:"size,omitempty"`

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

BarpolarHoverlabelFont Sets the font used in hover labels.

type BarpolarMarker

type BarpolarMarker struct {

	// Autocolorscale
	// arrayOK: false
	// type: boolean
	// Determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by `marker.colorscale`. Has an effect only if in `marker.color`is set to a numerical array. In case `colorscale` is unspecified or `autocolorscale` is true, the default  palette will be chosen according to whether numbers in the `color` array are all positive, all negative or mixed.
	Autocolorscale Bool `json:"autocolorscale,omitempty"`

	// Cauto
	// arrayOK: false
	// type: boolean
	// Determines whether or not the color domain is computed with respect to the input data (here in `marker.color`) or the bounds set in `marker.cmin` and `marker.cmax`  Has an effect only if in `marker.color`is set to a numerical array. Defaults to `false` when `marker.cmin` and `marker.cmax` are set by the user.
	Cauto Bool `json:"cauto,omitempty"`

	// Cmax
	// arrayOK: false
	// type: number
	// Sets the upper bound of the color domain. Has an effect only if in `marker.color`is set to a numerical array. Value should have the same units as in `marker.color` and if set, `marker.cmin` must be set as well.
	Cmax float64 `json:"cmax,omitempty"`

	// Cmid
	// arrayOK: false
	// type: number
	// Sets the mid-point of the color domain by scaling `marker.cmin` and/or `marker.cmax` to be equidistant to this point. Has an effect only if in `marker.color`is set to a numerical array. Value should have the same units as in `marker.color`. Has no effect when `marker.cauto` is `false`.
	Cmid float64 `json:"cmid,omitempty"`

	// Cmin
	// arrayOK: false
	// type: number
	// Sets the lower bound of the color domain. Has an effect only if in `marker.color`is set to a numerical array. Value should have the same units as in `marker.color` and if set, `marker.cmax` must be set as well.
	Cmin float64 `json:"cmin,omitempty"`

	// Color
	// arrayOK: true
	// type: color
	// Sets themarkercolor. It accepts either a specific color or an array of numbers that are mapped to the colorscale relative to the max and min values of the array or relative to `marker.cmin` and `marker.cmax` if set.
	Color Color `json:"color,omitempty"`

	// Coloraxis
	// arrayOK: false
	// type: subplotid
	// Sets a reference to a shared color axis. References to these shared color axes are *coloraxis*, *coloraxis2*, *coloraxis3*, etc. Settings for these shared color axes are set in the layout, under `layout.coloraxis`, `layout.coloraxis2`, etc. Note that multiple color scales can be linked to the same color axis.
	Coloraxis String `json:"coloraxis,omitempty"`

	// Colorbar
	// role: Object
	Colorbar *BarpolarMarkerColorbar `json:"colorbar,omitempty"`

	// Colorscale
	// default: %!s(<nil>)
	// type: colorscale
	// Sets the colorscale. Has an effect only if in `marker.color`is set to a numerical array. The colorscale must be an array containing arrays mapping a normalized value to an rgb, rgba, hex, hsl, hsv, or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, use`marker.cmin` and `marker.cmax`. Alternatively, `colorscale` may be a palette name string of the following list: Greys,YlGnBu,Greens,YlOrRd,Bluered,RdBu,Reds,Blues,Picnic,Rainbow,Portland,Jet,Hot,Blackbody,Earth,Electric,Viridis,Cividis.
	Colorscale ColorScale `json:"colorscale,omitempty"`

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

	// Line
	// role: Object
	Line *BarpolarMarkerLine `json:"line,omitempty"`

	// Opacity
	// arrayOK: true
	// type: number
	// Sets the opacity of the bars.
	Opacity float64 `json:"opacity,omitempty"`

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

	// Reversescale
	// arrayOK: false
	// type: boolean
	// Reverses the color mapping if true. Has an effect only if in `marker.color`is set to a numerical array. If true, `marker.cmin` will correspond to the last color in the array and `marker.cmax` will correspond to the first color.
	Reversescale Bool `json:"reversescale,omitempty"`

	// Showscale
	// arrayOK: false
	// type: boolean
	// Determines whether or not a colorbar is displayed for this trace. Has an effect only if in `marker.color`is set to a numerical array.
	Showscale Bool `json:"showscale,omitempty"`
}

BarpolarMarker

type BarpolarMarkerColorbar

type BarpolarMarkerColorbar struct {

	// Bgcolor
	// arrayOK: false
	// type: color
	// Sets the color of padded area.
	Bgcolor Color `json:"bgcolor,omitempty"`

	// Bordercolor
	// arrayOK: false
	// type: color
	// Sets the axis line color.
	Bordercolor Color `json:"bordercolor,omitempty"`

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

	// Dtick
	// arrayOK: false
	// type: any
	// Sets the step in-between ticks on this axis. Use with `tick0`. Must be a positive number, or special strings available to *log* and *date* axes. If the axis `type` is *log*, then ticks are set every 10^(n*dtick) where n is the tick number. For example, to set a tick mark at 1, 10, 100, 1000, ... set dtick to 1. To set tick marks at 1, 100, 10000, ... set dtick to 2. To set tick marks at 1, 5, 25, 125, 625, 3125, ... set dtick to log_10(5), or 0.69897000433. *log* has several special values; *L<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
	// default: B
	// type: enumerated
	// Determines a formatting rule for the tick exponents. For example, consider the number 1,000,000,000. If *none*, it appears as 1,000,000,000. If *e*, 1e+9. If *E*, 1E+9. If *power*, 1x10^9 (with 9 in a super script). If *SI*, 1G. If *B*, 1B.
	Exponentformat BarpolarMarkerColorbarExponentformat `json:"exponentformat,omitempty"`

	// Len
	// arrayOK: false
	// type: number
	// Sets the length of the color bar This measure excludes the padding of both ends. That is, the color bar length is this length minus the padding on both ends.
	Len float64 `json:"len,omitempty"`

	// Lenmode
	// default: fraction
	// type: enumerated
	// Determines whether this color bar's length (i.e. the measure in the color variation direction) is set in units of plot *fraction* or in *pixels. Use `len` to set the value.
	Lenmode BarpolarMarkerColorbarLenmode `json:"lenmode,omitempty"`

	// Minexponent
	// arrayOK: false
	// type: number
	// Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*.
	Minexponent float64 `json:"minexponent,omitempty"`

	// Nticks
	// arrayOK: false
	// type: integer
	// Specifies the maximum number of ticks for the particular axis. The actual number of ticks will be chosen automatically to be less than or equal to `nticks`. Has an effect only if `tickmode` is set to *auto*.
	Nticks int64 `json:"nticks,omitempty"`

	// Outlinecolor
	// arrayOK: false
	// type: color
	// Sets the axis line color.
	Outlinecolor Color `json:"outlinecolor,omitempty"`

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

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

	// Showexponent
	// default: all
	// type: enumerated
	// If *all*, all exponents are shown besides their significands. If *first*, only the exponent of the first tick is shown. If *last*, only the exponent of the last tick is shown. If *none*, no exponents appear.
	Showexponent BarpolarMarkerColorbarShowexponent `json:"showexponent,omitempty"`

	// Showticklabels
	// arrayOK: false
	// type: boolean
	// Determines whether or not the tick labels are drawn.
	Showticklabels Bool `json:"showticklabels,omitempty"`

	// Showtickprefix
	// default: all
	// type: enumerated
	// If *all*, all tick labels are displayed with a prefix. If *first*, only the first tick is displayed with a prefix. If *last*, only the last tick is displayed with a suffix. If *none*, tick prefixes are hidden.
	Showtickprefix BarpolarMarkerColorbarShowtickprefix `json:"showtickprefix,omitempty"`

	// Showticksuffix
	// default: all
	// type: enumerated
	// Same as `showtickprefix` but for tick suffixes.
	Showticksuffix BarpolarMarkerColorbarShowticksuffix `json:"showticksuffix,omitempty"`

	// Thickness
	// arrayOK: false
	// type: number
	// Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.
	Thickness float64 `json:"thickness,omitempty"`

	// Thicknessmode
	// default: pixels
	// type: enumerated
	// Determines whether this color bar's thickness (i.e. the measure in the constant color direction) is set in units of plot *fraction* or in *pixels*. Use `thickness` to set the value.
	Thicknessmode BarpolarMarkerColorbarThicknessmode `json:"thicknessmode,omitempty"`

	// Tick0
	// arrayOK: false
	// type: any
	// Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2) except when `dtick`=*L<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
	// arrayOK: false
	// type: angle
	// Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.
	Tickangle float64 `json:"tickangle,omitempty"`

	// Tickcolor
	// arrayOK: false
	// type: color
	// Sets the tick color.
	Tickcolor Color `json:"tickcolor,omitempty"`

	// Tickfont
	// role: Object
	Tickfont *BarpolarMarkerColorbarTickfont `json:"tickfont,omitempty"`

	// Tickformat
	// arrayOK: false
	// type: string
	// Sets the tick label formatting rule using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-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
	// It's an items array and what goes inside it's... messy... check the docs
	// I will be happy if you want to contribute by implementing this
	// just raise an issue before you start so we do not overlap
	Tickformatstops interface{} `json:"tickformatstops,omitempty"`

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

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

	// Tickmode
	// default: %!s(<nil>)
	// type: enumerated
	// Sets the tick mode for this axis. If *auto*, the number of ticks is set via `nticks`. If *linear*, the placement of the ticks is determined by a starting position `tick0` and a tick step `dtick` (*linear* is the default value if `tick0` and `dtick` are provided). If *array*, the placement of the ticks is set via `tickvals` and the tick text is `ticktext`. (*array* is the default value if `tickvals` is provided).
	Tickmode BarpolarMarkerColorbarTickmode `json:"tickmode,omitempty"`

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

	// Ticks
	// default:
	// type: enumerated
	// Determines whether ticks are drawn or not. If **, this axis' ticks are not drawn. If *outside* (*inside*), this axis' are drawn outside (inside) the axis lines.
	Ticks BarpolarMarkerColorbarTicks `json:"ticks,omitempty"`

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

	// Ticktext
	// arrayOK: false
	// type: data_array
	// Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `tickvals`.
	Ticktext interface{} `json:"ticktext,omitempty"`

	// Ticktextsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  ticktext .
	Ticktextsrc String `json:"ticktextsrc,omitempty"`

	// Tickvals
	// arrayOK: false
	// type: data_array
	// Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.
	Tickvals interface{} `json:"tickvals,omitempty"`

	// Tickvalssrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  tickvals .
	Tickvalssrc String `json:"tickvalssrc,omitempty"`

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

	// Title
	// role: Object
	Title *BarpolarMarkerColorbarTitle `json:"title,omitempty"`

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

	// Xanchor
	// default: left
	// type: enumerated
	// Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the color bar.
	Xanchor BarpolarMarkerColorbarXanchor `json:"xanchor,omitempty"`

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

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

	// Yanchor
	// default: middle
	// type: enumerated
	// Sets this color bar's vertical position anchor This anchor binds the `y` position to the *top*, *middle* or *bottom* of the color bar.
	Yanchor BarpolarMarkerColorbarYanchor `json:"yanchor,omitempty"`

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

BarpolarMarkerColorbar

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 (
	BarpolarMarkerColorbarExponentformatNone  BarpolarMarkerColorbarExponentformat = "none"
	BarpolarMarkerColorbarExponentformatE1    BarpolarMarkerColorbarExponentformat = "e"
	BarpolarMarkerColorbarExponentformatE2    BarpolarMarkerColorbarExponentformat = "E"
	BarpolarMarkerColorbarExponentformatPower BarpolarMarkerColorbarExponentformat = "power"
	BarpolarMarkerColorbarExponentformatSi    BarpolarMarkerColorbarExponentformat = "SI"
	BarpolarMarkerColorbarExponentformatB     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 (
	BarpolarMarkerColorbarLenmodeFraction BarpolarMarkerColorbarLenmode = "fraction"
	BarpolarMarkerColorbarLenmodePixels   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 (
	BarpolarMarkerColorbarShowexponentAll   BarpolarMarkerColorbarShowexponent = "all"
	BarpolarMarkerColorbarShowexponentFirst BarpolarMarkerColorbarShowexponent = "first"
	BarpolarMarkerColorbarShowexponentLast  BarpolarMarkerColorbarShowexponent = "last"
	BarpolarMarkerColorbarShowexponentNone  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 (
	BarpolarMarkerColorbarShowtickprefixAll   BarpolarMarkerColorbarShowtickprefix = "all"
	BarpolarMarkerColorbarShowtickprefixFirst BarpolarMarkerColorbarShowtickprefix = "first"
	BarpolarMarkerColorbarShowtickprefixLast  BarpolarMarkerColorbarShowtickprefix = "last"
	BarpolarMarkerColorbarShowtickprefixNone  BarpolarMarkerColorbarShowtickprefix = "none"
)

type BarpolarMarkerColorbarShowticksuffix

type BarpolarMarkerColorbarShowticksuffix string

BarpolarMarkerColorbarShowticksuffix Same as `showtickprefix` but for tick suffixes.

const (
	BarpolarMarkerColorbarShowticksuffixAll   BarpolarMarkerColorbarShowticksuffix = "all"
	BarpolarMarkerColorbarShowticksuffixFirst BarpolarMarkerColorbarShowticksuffix = "first"
	BarpolarMarkerColorbarShowticksuffixLast  BarpolarMarkerColorbarShowticksuffix = "last"
	BarpolarMarkerColorbarShowticksuffixNone  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 (
	BarpolarMarkerColorbarThicknessmodeFraction BarpolarMarkerColorbarThicknessmode = "fraction"
	BarpolarMarkerColorbarThicknessmodePixels   BarpolarMarkerColorbarThicknessmode = "pixels"
)

type BarpolarMarkerColorbarTickfont

type BarpolarMarkerColorbarTickfont struct {

	// Color
	// arrayOK: false
	// type: color
	//
	Color Color `json:"color,omitempty"`

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

	// Size
	// arrayOK: false
	// type: number
	//
	Size float64 `json:"size,omitempty"`
}

BarpolarMarkerColorbarTickfont Sets the color bar's tick label font

type BarpolarMarkerColorbarTicklabelposition added in v0.3.1

type BarpolarMarkerColorbarTicklabelposition string

BarpolarMarkerColorbarTicklabelposition Determines where tick labels are drawn.

const (
	BarpolarMarkerColorbarTicklabelpositionOutside       BarpolarMarkerColorbarTicklabelposition = "outside"
	BarpolarMarkerColorbarTicklabelpositionInside        BarpolarMarkerColorbarTicklabelposition = "inside"
	BarpolarMarkerColorbarTicklabelpositionOutsideTop    BarpolarMarkerColorbarTicklabelposition = "outside top"
	BarpolarMarkerColorbarTicklabelpositionInsideTop     BarpolarMarkerColorbarTicklabelposition = "inside top"
	BarpolarMarkerColorbarTicklabelpositionOutsideBottom BarpolarMarkerColorbarTicklabelposition = "outside bottom"
	BarpolarMarkerColorbarTicklabelpositionInsideBottom  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 (
	BarpolarMarkerColorbarTickmodeAuto   BarpolarMarkerColorbarTickmode = "auto"
	BarpolarMarkerColorbarTickmodeLinear BarpolarMarkerColorbarTickmode = "linear"
	BarpolarMarkerColorbarTickmodeArray  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 (
	BarpolarMarkerColorbarTicksOutside BarpolarMarkerColorbarTicks = "outside"
	BarpolarMarkerColorbarTicksInside  BarpolarMarkerColorbarTicks = "inside"
	BarpolarMarkerColorbarTicksEmpty   BarpolarMarkerColorbarTicks = ""
)

type BarpolarMarkerColorbarTitle

type BarpolarMarkerColorbarTitle struct {

	// Font
	// role: Object
	Font *BarpolarMarkerColorbarTitleFont `json:"font,omitempty"`

	// Side
	// default: top
	// type: enumerated
	// Determines the location of color bar's title with respect to the color bar. Note that the title's location used to be set by the now deprecated `titleside` attribute.
	Side BarpolarMarkerColorbarTitleSide `json:"side,omitempty"`

	// Text
	// arrayOK: false
	// type: string
	// Sets the title of the color bar. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.
	Text String `json:"text,omitempty"`
}

BarpolarMarkerColorbarTitle

type BarpolarMarkerColorbarTitleFont

type BarpolarMarkerColorbarTitleFont struct {

	// Color
	// arrayOK: false
	// type: color
	//
	Color Color `json:"color,omitempty"`

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

	// Size
	// arrayOK: false
	// type: number
	//
	Size float64 `json:"size,omitempty"`
}

BarpolarMarkerColorbarTitleFont Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.

type 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 (
	BarpolarMarkerColorbarTitleSideRight  BarpolarMarkerColorbarTitleSide = "right"
	BarpolarMarkerColorbarTitleSideTop    BarpolarMarkerColorbarTitleSide = "top"
	BarpolarMarkerColorbarTitleSideBottom 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 (
	BarpolarMarkerColorbarXanchorLeft   BarpolarMarkerColorbarXanchor = "left"
	BarpolarMarkerColorbarXanchorCenter BarpolarMarkerColorbarXanchor = "center"
	BarpolarMarkerColorbarXanchorRight  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 (
	BarpolarMarkerColorbarYanchorTop    BarpolarMarkerColorbarYanchor = "top"
	BarpolarMarkerColorbarYanchorMiddle BarpolarMarkerColorbarYanchor = "middle"
	BarpolarMarkerColorbarYanchorBottom BarpolarMarkerColorbarYanchor = "bottom"
)

type BarpolarMarkerLine

type BarpolarMarkerLine struct {

	// Autocolorscale
	// arrayOK: false
	// type: boolean
	// Determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by `marker.line.colorscale`. Has an effect only if in `marker.line.color`is set to a numerical array. In case `colorscale` is unspecified or `autocolorscale` is true, the default  palette will be chosen according to whether numbers in the `color` array are all positive, all negative or mixed.
	Autocolorscale Bool `json:"autocolorscale,omitempty"`

	// Cauto
	// arrayOK: false
	// type: boolean
	// Determines whether or not the color domain is computed with respect to the input data (here in `marker.line.color`) or the bounds set in `marker.line.cmin` and `marker.line.cmax`  Has an effect only if in `marker.line.color`is set to a numerical array. Defaults to `false` when `marker.line.cmin` and `marker.line.cmax` are set by the user.
	Cauto Bool `json:"cauto,omitempty"`

	// Cmax
	// arrayOK: false
	// type: number
	// Sets the upper bound of the color domain. Has an effect only if in `marker.line.color`is set to a numerical array. Value should have the same units as in `marker.line.color` and if set, `marker.line.cmin` must be set as well.
	Cmax float64 `json:"cmax,omitempty"`

	// Cmid
	// arrayOK: false
	// type: number
	// Sets the mid-point of the color domain by scaling `marker.line.cmin` and/or `marker.line.cmax` to be equidistant to this point. Has an effect only if in `marker.line.color`is set to a numerical array. Value should have the same units as in `marker.line.color`. Has no effect when `marker.line.cauto` is `false`.
	Cmid float64 `json:"cmid,omitempty"`

	// Cmin
	// arrayOK: false
	// type: number
	// Sets the lower bound of the color domain. Has an effect only if in `marker.line.color`is set to a numerical array. Value should have the same units as in `marker.line.color` and if set, `marker.line.cmax` must be set as well.
	Cmin float64 `json:"cmin,omitempty"`

	// Color
	// arrayOK: true
	// type: color
	// Sets 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 Color `json:"color,omitempty"`

	// Coloraxis
	// arrayOK: false
	// type: subplotid
	// Sets a reference to a shared color axis. References to these shared color axes are *coloraxis*, *coloraxis2*, *coloraxis3*, etc. Settings for these shared color axes are set in the layout, under `layout.coloraxis`, `layout.coloraxis2`, etc. Note that multiple color scales can be linked to the same color axis.
	Coloraxis String `json:"coloraxis,omitempty"`

	// Colorscale
	// default: %!s(<nil>)
	// type: colorscale
	// Sets the colorscale. Has an effect only if in `marker.line.color`is set to a numerical array. The colorscale must be an array containing arrays mapping a normalized value to an rgb, rgba, hex, hsl, hsv, or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, use`marker.line.cmin` and `marker.line.cmax`. Alternatively, `colorscale` may be a palette name string of the following list: Greys,YlGnBu,Greens,YlOrRd,Bluered,RdBu,Reds,Blues,Picnic,Rainbow,Portland,Jet,Hot,Blackbody,Earth,Electric,Viridis,Cividis.
	Colorscale ColorScale `json:"colorscale,omitempty"`

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

	// Reversescale
	// arrayOK: false
	// type: boolean
	// Reverses the color mapping if true. Has an effect only if in `marker.line.color`is set to a numerical array. If true, `marker.line.cmin` will correspond to the last color in the array and `marker.line.cmax` will correspond to the first color.
	Reversescale Bool `json:"reversescale,omitempty"`

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

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

BarpolarMarkerLine

type BarpolarSelected

type BarpolarSelected struct {

	// Marker
	// role: Object
	Marker *BarpolarSelectedMarker `json:"marker,omitempty"`

	// Textfont
	// role: Object
	Textfont *BarpolarSelectedTextfont `json:"textfont,omitempty"`
}

BarpolarSelected

type BarpolarSelectedMarker

type BarpolarSelectedMarker struct {

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

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

BarpolarSelectedMarker

type BarpolarSelectedTextfont

type BarpolarSelectedTextfont struct {

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

BarpolarSelectedTextfont

type BarpolarStream

type BarpolarStream struct {

	// Maxpoints
	// arrayOK: false
	// type: number
	// Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot.
	Maxpoints float64 `json:"maxpoints,omitempty"`

	// Token
	// arrayOK: false
	// type: string
	// The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details.
	Token String `json:"token,omitempty"`
}

BarpolarStream

type BarpolarThetaunit

type BarpolarThetaunit string

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

const (
	BarpolarThetaunitRadians  BarpolarThetaunit = "radians"
	BarpolarThetaunitDegrees  BarpolarThetaunit = "degrees"
	BarpolarThetaunitGradians BarpolarThetaunit = "gradians"
)

type BarpolarUnselected

type BarpolarUnselected struct {

	// Marker
	// role: Object
	Marker *BarpolarUnselectedMarker `json:"marker,omitempty"`

	// Textfont
	// role: Object
	Textfont *BarpolarUnselectedTextfont `json:"textfont,omitempty"`
}

BarpolarUnselected

type BarpolarUnselectedMarker

type BarpolarUnselectedMarker struct {

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

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

BarpolarUnselectedMarker

type BarpolarUnselectedTextfont

type BarpolarUnselectedTextfont struct {

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

BarpolarUnselectedTextfont

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 (
	BarpolarVisibleTrue       BarpolarVisible = true
	BarpolarVisibleFalse      BarpolarVisible = false
	BarpolarVisibleLegendonly 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
	// arrayOK: false
	// type: string
	// Set several traces linked to the same position axis or matching axes to the same alignmentgroup. This controls whether bars compute their positional range dependently or independently.
	Alignmentgroup String `json:"alignmentgroup,omitempty"`

	// Boxmean
	// default: %!s(<nil>)
	// type: enumerated
	// If *true*, the mean of the box(es)' underlying distribution is drawn as a dashed line inside the box(es). If *sd* the standard deviation is also drawn. Defaults to *true* when `mean` is set. Defaults to *sd* when `sd` is set Otherwise defaults to *false*.
	Boxmean BoxBoxmean `json:"boxmean,omitempty"`

	// Boxpoints
	// default: %!s(<nil>)
	// type: enumerated
	// If *outliers*, only the sample points lying outside the whiskers are shown If *suspectedoutliers*, the outlier points are shown and points either less than 4*Q1-3*Q3 or greater than 4*Q3-3*Q1 are highlighted (see `outliercolor`) If *all*, all sample points are shown If *false*, only the box(es) are shown with no sample points Defaults to *suspectedoutliers* when `marker.outliercolor` or `marker.line.outliercolor` is set. Defaults to *all* under the q1/median/q3 signature. Otherwise defaults to *outliers*.
	Boxpoints BoxBoxpoints `json:"boxpoints,omitempty"`

	// Customdata
	// arrayOK: false
	// type: data_array
	// Assigns extra data each datum. This may be useful when listening to hover, click and selection events. Note that, *scatter* traces also appends customdata items in the markers DOM elements
	Customdata interface{} `json:"customdata,omitempty"`

	// Customdatasrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  customdata .
	Customdatasrc String `json:"customdatasrc,omitempty"`

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

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

	// Fillcolor
	// arrayOK: false
	// type: color
	// Sets the fill color. Defaults to a half-transparent variant of the line color, marker color, or marker line color, whichever is available.
	Fillcolor Color `json:"fillcolor,omitempty"`

	// Hoverinfo
	// default: all
	// type: flaglist
	// Determines which trace information appear on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired.
	Hoverinfo BoxHoverinfo `json:"hoverinfo,omitempty"`

	// Hoverinfosrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  hoverinfo .
	Hoverinfosrc String `json:"hoverinfosrc,omitempty"`

	// Hoverlabel
	// role: Object
	Hoverlabel *BoxHoverlabel `json:"hoverlabel,omitempty"`

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

	// Hovertemplate
	// arrayOK: true
	// type: string
	// Template string used for rendering the information that appear on hover box. Note that this will override `hoverinfo`. Variables are inserted using %{variable}, for example "y: %{y}". 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 String `json:"hovertemplate,omitempty"`

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

	// Hovertext
	// arrayOK: true
	// type: string
	// Same as `text`.
	Hovertext String `json:"hovertext,omitempty"`

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

	// Ids
	// arrayOK: false
	// type: data_array
	// Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type.
	Ids interface{} `json:"ids,omitempty"`

	// Idssrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  ids .
	Idssrc String `json:"idssrc,omitempty"`

	// Jitter
	// arrayOK: false
	// type: number
	// Sets the amount of jitter in the sample points drawn. If *0*, the sample points align along the distribution axis. If *1*, the sample points are drawn in a random jitter of width equal to the width of the box(es).
	Jitter float64 `json:"jitter,omitempty"`

	// Legendgroup
	// arrayOK: false
	// type: string
	// Sets the legend group for this trace. Traces part of the same legend group hide/show at the same time when toggling legend items.
	Legendgroup String `json:"legendgroup,omitempty"`

	// Line
	// role: Object
	Line *BoxLine `json:"line,omitempty"`

	// Lowerfence
	// arrayOK: false
	// type: data_array
	// Sets the lower fence values. There should be as many items as the number of boxes desired. This attribute has effect only under the q1/median/q3 signature. If `lowerfence` is not provided but a sample (in `y` or `x`) is set, we compute the lower as the last sample point below 1.5 times the IQR.
	Lowerfence interface{} `json:"lowerfence,omitempty"`

	// Lowerfencesrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  lowerfence .
	Lowerfencesrc String `json:"lowerfencesrc,omitempty"`

	// Marker
	// role: Object
	Marker *BoxMarker `json:"marker,omitempty"`

	// Mean
	// arrayOK: false
	// type: data_array
	// Sets the mean values. There should be as many items as the number of boxes desired. This attribute has effect only under the q1/median/q3 signature. If `mean` is not provided but a sample (in `y` or `x`) is set, we compute the mean for each box using the sample values.
	Mean interface{} `json:"mean,omitempty"`

	// Meansrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  mean .
	Meansrc String `json:"meansrc,omitempty"`

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

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

	// Meta
	// arrayOK: true
	// type: any
	// Assigns extra meta information associated with this trace that can be used in various text attributes. Attributes such as trace `name`, graph, axis and colorbar `title.text`, annotation `text` `rangeselector`, `updatemenues` and `sliders` `label` text all support `meta`. To access the trace `meta` values in an attribute in the same trace, simply use `%{meta[i]}` where `i` is the index or key of the `meta` item in question. To access trace `meta` in layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index.
	Meta interface{} `json:"meta,omitempty"`

	// Metasrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  meta .
	Metasrc String `json:"metasrc,omitempty"`

	// Name
	// arrayOK: false
	// type: string
	// Sets the trace name. The trace name 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
	// arrayOK: false
	// type: boolean
	// Determines whether or not notches are drawn. Notches displays a confidence interval around the median. We compute the confidence interval as median +/- 1.57 * IQR / sqrt(N), where IQR is the interquartile range and N is the sample size. If two boxes' notches do not overlap there is 95% confidence their medians differ. See https://sites.google.com/site/davidsstatistics/home/notched-box-plots for more info. Defaults to *false* unless `notchwidth` or `notchspan` is set.
	Notched Bool `json:"notched,omitempty"`

	// Notchspan
	// arrayOK: false
	// type: data_array
	// Sets the notch span from the boxes' `median` values. There should be as many items as the number of boxes desired. This attribute has effect only under the q1/median/q3 signature. If `notchspan` is not provided but a sample (in `y` or `x`) is set, we compute it as 1.57 * IQR / sqrt(N), where N is the sample size.
	Notchspan interface{} `json:"notchspan,omitempty"`

	// Notchspansrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  notchspan .
	Notchspansrc String `json:"notchspansrc,omitempty"`

	// Notchwidth
	// arrayOK: false
	// type: number
	// Sets the width of the notches relative to the box' width. For example, with 0, the notches are as wide as the box(es).
	Notchwidth float64 `json:"notchwidth,omitempty"`

	// Offsetgroup
	// arrayOK: false
	// type: string
	// Set several traces linked to the same position axis or matching axes to the same offsetgroup where bars of the same position coordinate will line up.
	Offsetgroup String `json:"offsetgroup,omitempty"`

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

	// Orientation
	// default: %!s(<nil>)
	// type: enumerated
	// Sets the orientation of the box(es). If *v* (*h*), the distribution is visualized along the vertical (horizontal).
	Orientation BoxOrientation `json:"orientation,omitempty"`

	// Pointpos
	// arrayOK: false
	// type: number
	// Sets the position of the sample points in relation to the box(es). If *0*, the sample points are places over the center of the box(es). Positive (negative) values correspond to positions to the right (left) for vertical boxes and above (below) for horizontal boxes
	Pointpos float64 `json:"pointpos,omitempty"`

	// Q1
	// arrayOK: false
	// type: data_array
	// Sets the Quartile 1 values. There should be as many items as the number of boxes desired.
	Q1 interface{} `json:"q1,omitempty"`

	// Q1src
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  q1 .
	Q1src String `json:"q1src,omitempty"`

	// Q3
	// arrayOK: false
	// type: data_array
	// Sets the Quartile 3 values. There should be as many items as the number of boxes desired.
	Q3 interface{} `json:"q3,omitempty"`

	// Q3src
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  q3 .
	Q3src String `json:"q3src,omitempty"`

	// Quartilemethod
	// default: linear
	// type: enumerated
	// Sets the method used to compute the sample's Q1 and Q3 quartiles. The *linear* method uses the 25th percentile for Q1 and 75th percentile for Q3 as computed using method #10 (listed on http://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
	// arrayOK: false
	// type: data_array
	// Sets the standard deviation values. There should be as many items as the number of boxes desired. This attribute has effect only under the q1/median/q3 signature. If `sd` is not provided but a sample (in `y` or `x`) is set, we compute the standard deviation for each box using the sample values.
	Sd interface{} `json:"sd,omitempty"`

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

	// Selected
	// role: Object
	Selected *BoxSelected `json:"selected,omitempty"`

	// Selectedpoints
	// arrayOK: false
	// type: any
	// Array containing integer indices of selected points. Has an effect only for traces that support selections. Note that an empty array means an empty selection where the `unselected` are turned on for all points, whereas, any other non-array values means no selection all where the `selected` and `unselected` styles have no effect.
	Selectedpoints interface{} `json:"selectedpoints,omitempty"`

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

	// Stream
	// role: Object
	Stream *BoxStream `json:"stream,omitempty"`

	// Text
	// arrayOK: true
	// type: string
	// Sets the text elements associated with each sample value. If a single string, the same string appears over all the data points. If an array of string, the items are mapped in order to the this trace's (x,y) coordinates. To be seen, trace `hoverinfo` must contain a *text* flag.
	Text String `json:"text,omitempty"`

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

	// Transforms
	// It's an items array and what goes inside it's... messy... check the docs
	// I will be happy if you want to contribute by implementing this
	// just raise an issue before you start so we do not overlap
	Transforms interface{} `json:"transforms,omitempty"`

	// Uid
	// arrayOK: false
	// type: string
	// Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.
	Uid String `json:"uid,omitempty"`

	// Uirevision
	// arrayOK: false
	// type: any
	// Controls persistence of some user-driven changes to the trace: `constraintrange` in `parcoords` traces, as well as some `editable: true` modifications such as `name` and `colorbar.title`. Defaults to `layout.uirevision`. Note that other user-driven trace attribute changes are controlled by `layout` attributes: `trace.visible` is controlled by `layout.legend.uirevision`, `selectedpoints` is controlled by `layout.selectionrevision`, and `colorbar.(x|y)` (accessible with `config: {editable: true}`) is controlled by `layout.editrevision`. Trace changes are tracked by `uid`, which only falls back on trace index if no `uid` is provided. So if your app can add/remove traces before the end of the `data` array, such that the same trace has a different index, you can still preserve user-driven changes if you give each trace a `uid` that stays with it as it moves.
	Uirevision interface{} `json:"uirevision,omitempty"`

	// Unselected
	// role: Object
	Unselected *BoxUnselected `json:"unselected,omitempty"`

	// Upperfence
	// arrayOK: false
	// type: data_array
	// Sets the upper fence values. There should be as many items as the number of boxes desired. This attribute has effect only under the q1/median/q3 signature. If `upperfence` is not provided but a sample (in `y` or `x`) is set, we compute the lower as the last sample point above 1.5 times the IQR.
	Upperfence interface{} `json:"upperfence,omitempty"`

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

	// Visible
	// default: %!s(bool=true)
	// type: enumerated
	// Determines whether or not this trace is visible. If *legendonly*, the trace is not drawn, but can appear as a legend item (provided that the legend itself is visible).
	Visible BoxVisible `json:"visible,omitempty"`

	// Whiskerwidth
	// arrayOK: false
	// type: number
	// Sets the width of the whiskers relative to the box' width. For example, with 1, the whiskers are as wide as the box(es).
	Whiskerwidth float64 `json:"whiskerwidth,omitempty"`

	// Width
	// arrayOK: false
	// type: number
	// Sets the width of the box in data coordinate If *0* (default value) the width is automatically selected based on the positions of other box traces in the same subplot.
	Width float64 `json:"width,omitempty"`

	// X
	// arrayOK: false
	// type: data_array
	// Sets the x sample data or coordinates. See overview for more info.
	X interface{} `json:"x,omitempty"`

	// X0
	// arrayOK: false
	// type: any
	// Sets the x coordinate for single-box traces or the starting coordinate for multi-box traces set using q1/median/q3. See overview for more info.
	X0 interface{} `json:"x0,omitempty"`

	// Xaxis
	// arrayOK: false
	// type: subplotid
	// Sets a reference between this trace's x coordinates and a 2D cartesian x axis. If *x* (the default value), the x coordinates refer to `layout.xaxis`. If *x2*, the x coordinates refer to `layout.xaxis2`, and so on.
	Xaxis String `json:"xaxis,omitempty"`

	// Xcalendar
	// default: gregorian
	// type: enumerated
	// Sets the calendar system to use with `x` date data.
	Xcalendar BoxXcalendar `json:"xcalendar,omitempty"`

	// Xperiod
	// arrayOK: false
	// type: 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
	// arrayOK: false
	// type: any
	// Only relevant when the axis `type` is *date*. Sets the base for period positioning in milliseconds or date string on the x0 axis. When `x0period` is round number of weeks, the `x0period0` by default would be on a Sunday i.e. 2000-01-02, otherwise it would be at 2000-01-01.
	Xperiod0 interface{} `json:"xperiod0,omitempty"`

	// Xperiodalignment
	// default: middle
	// type: enumerated
	// Only relevant when the axis `type` is *date*. Sets the alignment of data points on the x axis.
	Xperiodalignment BoxXperiodalignment `json:"xperiodalignment,omitempty"`

	// Xsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  x .
	Xsrc String `json:"xsrc,omitempty"`

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

	// Y0
	// arrayOK: false
	// type: any
	// Sets the y coordinate for single-box traces or the starting coordinate for multi-box traces set using q1/median/q3. See overview for more info.
	Y0 interface{} `json:"y0,omitempty"`

	// Yaxis
	// arrayOK: false
	// type: subplotid
	// Sets a reference between this trace's y coordinates and a 2D cartesian y axis. If *y* (the default value), the y coordinates refer to `layout.yaxis`. If *y2*, the y coordinates refer to `layout.yaxis2`, and so on.
	Yaxis String `json:"yaxis,omitempty"`

	// Ycalendar
	// default: gregorian
	// type: enumerated
	// Sets the calendar system to use with `y` date data.
	Ycalendar BoxYcalendar `json:"ycalendar,omitempty"`

	// Yperiod
	// arrayOK: false
	// type: 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
	// arrayOK: false
	// type: any
	// Only relevant when the axis `type` is *date*. Sets the base for period positioning in milliseconds or date string on the y0 axis. When `y0period` is round number of weeks, the `y0period0` by default would be on a Sunday i.e. 2000-01-02, otherwise it would be at 2000-01-01.
	Yperiod0 interface{} `json:"yperiod0,omitempty"`

	// Yperiodalignment
	// default: middle
	// type: enumerated
	// Only relevant when the axis `type` is *date*. Sets the alignment of data points on the y axis.
	Yperiodalignment BoxYperiodalignment `json:"yperiodalignment,omitempty"`

	// Ysrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  y .
	Ysrc String `json:"ysrc,omitempty"`
}

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 (*Box) GetType

func (trace *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 (
	BoxBoxmeanTrue  BoxBoxmean = true
	BoxBoxmeanSd    BoxBoxmean = "sd"
	BoxBoxmeanFalse 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 (
	BoxBoxpointsAll               BoxBoxpoints = "all"
	BoxBoxpointsOutliers          BoxBoxpoints = "outliers"
	BoxBoxpointsSuspectedoutliers BoxBoxpoints = "suspectedoutliers"
	BoxBoxpointsFalse             BoxBoxpoints = false
)

type BoxHoverinfo

type BoxHoverinfo string

BoxHoverinfo Determines which trace information appear on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired.

const (
	// Flags
	BoxHoverinfoX    BoxHoverinfo = "x"
	BoxHoverinfoY    BoxHoverinfo = "y"
	BoxHoverinfoZ    BoxHoverinfo = "z"
	BoxHoverinfoText BoxHoverinfo = "text"
	BoxHoverinfoName BoxHoverinfo = "name"

	// Extra
	BoxHoverinfoAll  BoxHoverinfo = "all"
	BoxHoverinfoNone BoxHoverinfo = "none"
	BoxHoverinfoSkip BoxHoverinfo = "skip"
)

type BoxHoverlabel

type BoxHoverlabel struct {

	// Align
	// default: auto
	// type: enumerated
	// Sets the horizontal alignment of the text content within hover label box. Has an effect only if the hover label text spans more two or more lines
	Align BoxHoverlabelAlign `json:"align,omitempty"`

	// Alignsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  align .
	Alignsrc String `json:"alignsrc,omitempty"`

	// Bgcolor
	// arrayOK: true
	// type: color
	// Sets the background color of the hover labels for this trace
	Bgcolor Color `json:"bgcolor,omitempty"`

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

	// Bordercolor
	// arrayOK: true
	// type: color
	// Sets the border color of the hover labels for this trace.
	Bordercolor Color `json:"bordercolor,omitempty"`

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

	// Font
	// role: Object
	Font *BoxHoverlabelFont `json:"font,omitempty"`

	// Namelength
	// arrayOK: true
	// type: integer
	// Sets the default length (in number of characters) of the trace name in the hover labels for all traces. -1 shows the whole name regardless of length. 0-3 shows the first 0-3 characters, and an integer >3 will show the whole name if it is less than that many characters, but if it is longer, will truncate to `namelength - 3` characters and add an ellipsis.
	Namelength int64 `json:"namelength,omitempty"`

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

BoxHoverlabel

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 (
	BoxHoverlabelAlignLeft  BoxHoverlabelAlign = "left"
	BoxHoverlabelAlignRight BoxHoverlabelAlign = "right"
	BoxHoverlabelAlignAuto  BoxHoverlabelAlign = "auto"
)

type BoxHoverlabelFont

type BoxHoverlabelFont struct {

	// Color
	// arrayOK: true
	// type: color
	//
	Color Color `json:"color,omitempty"`

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

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

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

	// Size
	// arrayOK: true
	// type: number
	//
	Size float64 `json:"size,omitempty"`

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

BoxHoverlabelFont Sets the font used in hover labels.

type BoxHoveron

type BoxHoveron string

BoxHoveron Do the hover effects highlight individual boxes or sample points or both?

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

type BoxLine

type BoxLine struct {

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

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

BoxLine

type BoxMarker

type BoxMarker struct {

	// Color
	// arrayOK: false
	// type: color
	// Sets themarkercolor. It accepts either a specific color or an array of numbers that are mapped to the colorscale relative to the max and min values of the array or relative to `marker.cmin` and `marker.cmax` if set.
	Color Color `json:"color,omitempty"`

	// Line
	// role: Object
	Line *BoxMarkerLine `json:"line,omitempty"`

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

	// Outliercolor
	// arrayOK: false
	// type: color
	// Sets the color of the outlier sample points.
	Outliercolor Color `json:"outliercolor,omitempty"`

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

	// Symbol
	// default: circle
	// type: enumerated
	// Sets the marker symbol type. Adding 100 is equivalent to appending *-open* to a symbol name. Adding 200 is equivalent to appending *-dot* to a symbol name. Adding 300 is equivalent to appending *-open-dot* or *dot-open* to a symbol name.
	Symbol BoxMarkerSymbol `json:"symbol,omitempty"`
}

BoxMarker

type BoxMarkerLine

type BoxMarkerLine struct {

	// Color
	// arrayOK: false
	// type: color
	// Sets themarker.linecolor. It accepts either a specific color or an array of numbers that are mapped to the colorscale relative to the max and min values of the array or relative to `marker.line.cmin` and `marker.line.cmax` if set.
	Color Color `json:"color,omitempty"`

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

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

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

BoxMarkerLine

type BoxMarkerSymbol

type BoxMarkerSymbol interface{}

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.

var (
	BoxMarkerSymbolNumber0                 BoxMarkerSymbol = 0
	BoxMarkerSymbol0                       BoxMarkerSymbol = "0"
	BoxMarkerSymbolCircle                  BoxMarkerSymbol = "circle"
	BoxMarkerSymbolNumber100               BoxMarkerSymbol = 100
	BoxMarkerSymbol100                     BoxMarkerSymbol = "100"
	BoxMarkerSymbolCircleOpen              BoxMarkerSymbol = "circle-open"
	BoxMarkerSymbolNumber200               BoxMarkerSymbol = 200
	BoxMarkerSymbol200                     BoxMarkerSymbol = "200"
	BoxMarkerSymbolCircleDot               BoxMarkerSymbol = "circle-dot"
	BoxMarkerSymbolNumber300               BoxMarkerSymbol = 300
	BoxMarkerSymbol300                     BoxMarkerSymbol = "300"
	BoxMarkerSymbolCircleOpenDot           BoxMarkerSymbol = "circle-open-dot"
	BoxMarkerSymbolNumber1                 BoxMarkerSymbol = 1
	BoxMarkerSymbol1                       BoxMarkerSymbol = "1"
	BoxMarkerSymbolSquare                  BoxMarkerSymbol = "square"
	BoxMarkerSymbolNumber101               BoxMarkerSymbol = 101
	BoxMarkerSymbol101                     BoxMarkerSymbol = "101"
	BoxMarkerSymbolSquareOpen              BoxMarkerSymbol = "square-open"
	BoxMarkerSymbolNumber201               BoxMarkerSymbol = 201
	BoxMarkerSymbol201                     BoxMarkerSymbol = "201"
	BoxMarkerSymbolSquareDot               BoxMarkerSymbol = "square-dot"
	BoxMarkerSymbolNumber301               BoxMarkerSymbol = 301
	BoxMarkerSymbol301                     BoxMarkerSymbol = "301"
	BoxMarkerSymbolSquareOpenDot           BoxMarkerSymbol = "square-open-dot"
	BoxMarkerSymbolNumber2                 BoxMarkerSymbol = 2
	BoxMarkerSymbol2                       BoxMarkerSymbol = "2"
	BoxMarkerSymbolDiamond                 BoxMarkerSymbol = "diamond"
	BoxMarkerSymbolNumber102               BoxMarkerSymbol = 102
	BoxMarkerSymbol102                     BoxMarkerSymbol = "102"
	BoxMarkerSymbolDiamondOpen             BoxMarkerSymbol = "diamond-open"
	BoxMarkerSymbolNumber202               BoxMarkerSymbol = 202
	BoxMarkerSymbol202                     BoxMarkerSymbol = "202"
	BoxMarkerSymbolDiamondDot              BoxMarkerSymbol = "diamond-dot"
	BoxMarkerSymbolNumber302               BoxMarkerSymbol = 302
	BoxMarkerSymbol302                     BoxMarkerSymbol = "302"
	BoxMarkerSymbolDiamondOpenDot          BoxMarkerSymbol = "diamond-open-dot"
	BoxMarkerSymbolNumber3                 BoxMarkerSymbol = 3
	BoxMarkerSymbol3                       BoxMarkerSymbol = "3"
	BoxMarkerSymbolCross                   BoxMarkerSymbol = "cross"
	BoxMarkerSymbolNumber103               BoxMarkerSymbol = 103
	BoxMarkerSymbol103                     BoxMarkerSymbol = "103"
	BoxMarkerSymbolCrossOpen               BoxMarkerSymbol = "cross-open"
	BoxMarkerSymbolNumber203               BoxMarkerSymbol = 203
	BoxMarkerSymbol203                     BoxMarkerSymbol = "203"
	BoxMarkerSymbolCrossDot                BoxMarkerSymbol = "cross-dot"
	BoxMarkerSymbolNumber303               BoxMarkerSymbol = 303
	BoxMarkerSymbol303                     BoxMarkerSymbol = "303"
	BoxMarkerSymbolCrossOpenDot            BoxMarkerSymbol = "cross-open-dot"
	BoxMarkerSymbolNumber4                 BoxMarkerSymbol = 4
	BoxMarkerSymbol4                       BoxMarkerSymbol = "4"
	BoxMarkerSymbolX                       BoxMarkerSymbol = "x"
	BoxMarkerSymbolNumber104               BoxMarkerSymbol = 104
	BoxMarkerSymbol104                     BoxMarkerSymbol = "104"
	BoxMarkerSymbolXOpen                   BoxMarkerSymbol = "x-open"
	BoxMarkerSymbolNumber204               BoxMarkerSymbol = 204
	BoxMarkerSymbol204                     BoxMarkerSymbol = "204"
	BoxMarkerSymbolXDot                    BoxMarkerSymbol = "x-dot"
	BoxMarkerSymbolNumber304               BoxMarkerSymbol = 304
	BoxMarkerSymbol304                     BoxMarkerSymbol = "304"
	BoxMarkerSymbolXOpenDot                BoxMarkerSymbol = "x-open-dot"
	BoxMarkerSymbolNumber5                 BoxMarkerSymbol = 5
	BoxMarkerSymbol5                       BoxMarkerSymbol = "5"
	BoxMarkerSymbolTriangleUp              BoxMarkerSymbol = "triangle-up"
	BoxMarkerSymbolNumber105               BoxMarkerSymbol = 105
	BoxMarkerSymbol105                     BoxMarkerSymbol = "105"
	BoxMarkerSymbolTriangleUpOpen          BoxMarkerSymbol = "triangle-up-open"
	BoxMarkerSymbolNumber205               BoxMarkerSymbol = 205
	BoxMarkerSymbol205                     BoxMarkerSymbol = "205"
	BoxMarkerSymbolTriangleUpDot           BoxMarkerSymbol = "triangle-up-dot"
	BoxMarkerSymbolNumber305               BoxMarkerSymbol = 305
	BoxMarkerSymbol305                     BoxMarkerSymbol = "305"
	BoxMarkerSymbolTriangleUpOpenDot       BoxMarkerSymbol = "triangle-up-open-dot"
	BoxMarkerSymbolNumber6                 BoxMarkerSymbol = 6
	BoxMarkerSymbol6                       BoxMarkerSymbol = "6"
	BoxMarkerSymbolTriangleDown            BoxMarkerSymbol = "triangle-down"
	BoxMarkerSymbolNumber106               BoxMarkerSymbol = 106
	BoxMarkerSymbol106                     BoxMarkerSymbol = "106"
	BoxMarkerSymbolTriangleDownOpen        BoxMarkerSymbol = "triangle-down-open"
	BoxMarkerSymbolNumber206               BoxMarkerSymbol = 206
	BoxMarkerSymbol206                     BoxMarkerSymbol = "206"
	BoxMarkerSymbolTriangleDownDot         BoxMarkerSymbol = "triangle-down-dot"
	BoxMarkerSymbolNumber306               BoxMarkerSymbol = 306
	BoxMarkerSymbol306                     BoxMarkerSymbol = "306"
	BoxMarkerSymbolTriangleDownOpenDot     BoxMarkerSymbol = "triangle-down-open-dot"
	BoxMarkerSymbolNumber7                 BoxMarkerSymbol = 7
	BoxMarkerSymbol7                       BoxMarkerSymbol = "7"
	BoxMarkerSymbolTriangleLeft            BoxMarkerSymbol = "triangle-left"
	BoxMarkerSymbolNumber107               BoxMarkerSymbol = 107
	BoxMarkerSymbol107                     BoxMarkerSymbol = "107"
	BoxMarkerSymbolTriangleLeftOpen        BoxMarkerSymbol = "triangle-left-open"
	BoxMarkerSymbolNumber207               BoxMarkerSymbol = 207
	BoxMarkerSymbol207                     BoxMarkerSymbol = "207"
	BoxMarkerSymbolTriangleLeftDot         BoxMarkerSymbol = "triangle-left-dot"
	BoxMarkerSymbolNumber307               BoxMarkerSymbol = 307
	BoxMarkerSymbol307                     BoxMarkerSymbol = "307"
	BoxMarkerSymbolTriangleLeftOpenDot     BoxMarkerSymbol = "triangle-left-open-dot"
	BoxMarkerSymbolNumber8                 BoxMarkerSymbol = 8
	BoxMarkerSymbol8                       BoxMarkerSymbol = "8"
	BoxMarkerSymbolTriangleRight           BoxMarkerSymbol = "triangle-right"
	BoxMarkerSymbolNumber108               BoxMarkerSymbol = 108
	BoxMarkerSymbol108                     BoxMarkerSymbol = "108"
	BoxMarkerSymbolTriangleRightOpen       BoxMarkerSymbol = "triangle-right-open"
	BoxMarkerSymbolNumber208               BoxMarkerSymbol = 208
	BoxMarkerSymbol208                     BoxMarkerSymbol = "208"
	BoxMarkerSymbolTriangleRightDot        BoxMarkerSymbol = "triangle-right-dot"
	BoxMarkerSymbolNumber308               BoxMarkerSymbol = 308
	BoxMarkerSymbol308                     BoxMarkerSymbol = "308"
	BoxMarkerSymbolTriangleRightOpenDot    BoxMarkerSymbol = "triangle-right-open-dot"
	BoxMarkerSymbolNumber9                 BoxMarkerSymbol = 9
	BoxMarkerSymbol9                       BoxMarkerSymbol = "9"
	BoxMarkerSymbolTriangleNe              BoxMarkerSymbol = "triangle-ne"
	BoxMarkerSymbolNumber109               BoxMarkerSymbol = 109
	BoxMarkerSymbol109                     BoxMarkerSymbol = "109"
	BoxMarkerSymbolTriangleNeOpen          BoxMarkerSymbol = "triangle-ne-open"
	BoxMarkerSymbolNumber209               BoxMarkerSymbol = 209
	BoxMarkerSymbol209                     BoxMarkerSymbol = "209"
	BoxMarkerSymbolTriangleNeDot           BoxMarkerSymbol = "triangle-ne-dot"
	BoxMarkerSymbolNumber309               BoxMarkerSymbol = 309
	BoxMarkerSymbol309                     BoxMarkerSymbol = "309"
	BoxMarkerSymbolTriangleNeOpenDot       BoxMarkerSymbol = "triangle-ne-open-dot"
	BoxMarkerSymbolNumber10                BoxMarkerSymbol = 10
	BoxMarkerSymbol10                      BoxMarkerSymbol = "10"
	BoxMarkerSymbolTriangleSe              BoxMarkerSymbol = "triangle-se"
	BoxMarkerSymbolNumber110               BoxMarkerSymbol = 110
	BoxMarkerSymbol110                     BoxMarkerSymbol = "110"
	BoxMarkerSymbolTriangleSeOpen          BoxMarkerSymbol = "triangle-se-open"
	BoxMarkerSymbolNumber210               BoxMarkerSymbol = 210
	BoxMarkerSymbol210                     BoxMarkerSymbol = "210"
	BoxMarkerSymbolTriangleSeDot           BoxMarkerSymbol = "triangle-se-dot"
	BoxMarkerSymbolNumber310               BoxMarkerSymbol = 310
	BoxMarkerSymbol310                     BoxMarkerSymbol = "310"
	BoxMarkerSymbolTriangleSeOpenDot       BoxMarkerSymbol = "triangle-se-open-dot"
	BoxMarkerSymbolNumber11                BoxMarkerSymbol = 11
	BoxMarkerSymbol11                      BoxMarkerSymbol = "11"
	BoxMarkerSymbolTriangleSw              BoxMarkerSymbol = "triangle-sw"
	BoxMarkerSymbolNumber111               BoxMarkerSymbol = 111
	BoxMarkerSymbol111                     BoxMarkerSymbol = "111"
	BoxMarkerSymbolTriangleSwOpen          BoxMarkerSymbol = "triangle-sw-open"
	BoxMarkerSymbolNumber211               BoxMarkerSymbol = 211
	BoxMarkerSymbol211                     BoxMarkerSymbol = "211"
	BoxMarkerSymbolTriangleSwDot           BoxMarkerSymbol = "triangle-sw-dot"
	BoxMarkerSymbolNumber311               BoxMarkerSymbol = 311
	BoxMarkerSymbol311                     BoxMarkerSymbol = "311"
	BoxMarkerSymbolTriangleSwOpenDot       BoxMarkerSymbol = "triangle-sw-open-dot"
	BoxMarkerSymbolNumber12                BoxMarkerSymbol = 12
	BoxMarkerSymbol12                      BoxMarkerSymbol = "12"
	BoxMarkerSymbolTriangleNw              BoxMarkerSymbol = "triangle-nw"
	BoxMarkerSymbolNumber112               BoxMarkerSymbol = 112
	BoxMarkerSymbol112                     BoxMarkerSymbol = "112"
	BoxMarkerSymbolTriangleNwOpen          BoxMarkerSymbol = "triangle-nw-open"
	BoxMarkerSymbolNumber212               BoxMarkerSymbol = 212
	BoxMarkerSymbol212                     BoxMarkerSymbol = "212"
	BoxMarkerSymbolTriangleNwDot           BoxMarkerSymbol = "triangle-nw-dot"
	BoxMarkerSymbolNumber312               BoxMarkerSymbol = 312
	BoxMarkerSymbol312                     BoxMarkerSymbol = "312"
	BoxMarkerSymbolTriangleNwOpenDot       BoxMarkerSymbol = "triangle-nw-open-dot"
	BoxMarkerSymbolNumber13                BoxMarkerSymbol = 13
	BoxMarkerSymbol13                      BoxMarkerSymbol = "13"
	BoxMarkerSymbolPentagon                BoxMarkerSymbol = "pentagon"
	BoxMarkerSymbolNumber113               BoxMarkerSymbol = 113
	BoxMarkerSymbol113                     BoxMarkerSymbol = "113"
	BoxMarkerSymbolPentagonOpen            BoxMarkerSymbol = "pentagon-open"
	BoxMarkerSymbolNumber213               BoxMarkerSymbol = 213
	BoxMarkerSymbol213                     BoxMarkerSymbol = "213"
	BoxMarkerSymbolPentagonDot             BoxMarkerSymbol = "pentagon-dot"
	BoxMarkerSymbolNumber313               BoxMarkerSymbol = 313
	BoxMarkerSymbol313                     BoxMarkerSymbol = "313"
	BoxMarkerSymbolPentagonOpenDot         BoxMarkerSymbol = "pentagon-open-dot"
	BoxMarkerSymbolNumber14                BoxMarkerSymbol = 14
	BoxMarkerSymbol14                      BoxMarkerSymbol = "14"
	BoxMarkerSymbolHexagon                 BoxMarkerSymbol = "hexagon"
	BoxMarkerSymbolNumber114               BoxMarkerSymbol = 114
	BoxMarkerSymbol114                     BoxMarkerSymbol = "114"
	BoxMarkerSymbolHexagonOpen             BoxMarkerSymbol = "hexagon-open"
	BoxMarkerSymbolNumber214               BoxMarkerSymbol = 214
	BoxMarkerSymbol214                     BoxMarkerSymbol = "214"
	BoxMarkerSymbolHexagonDot              BoxMarkerSymbol = "hexagon-dot"
	BoxMarkerSymbolNumber314               BoxMarkerSymbol = 314
	BoxMarkerSymbol314                     BoxMarkerSymbol = "314"
	BoxMarkerSymbolHexagonOpenDot          BoxMarkerSymbol = "hexagon-open-dot"
	BoxMarkerSymbolNumber15                BoxMarkerSymbol = 15
	BoxMarkerSymbol15                      BoxMarkerSymbol = "15"
	BoxMarkerSymbolHexagon2                BoxMarkerSymbol = "hexagon2"
	BoxMarkerSymbolNumber115               BoxMarkerSymbol = 115
	BoxMarkerSymbol115                     BoxMarkerSymbol = "115"
	BoxMarkerSymbolHexagon2Open            BoxMarkerSymbol = "hexagon2-open"
	BoxMarkerSymbolNumber215               BoxMarkerSymbol = 215
	BoxMarkerSymbol215                     BoxMarkerSymbol = "215"
	BoxMarkerSymbolHexagon2Dot             BoxMarkerSymbol = "hexagon2-dot"
	BoxMarkerSymbolNumber315               BoxMarkerSymbol = 315
	BoxMarkerSymbol315                     BoxMarkerSymbol = "315"
	BoxMarkerSymbolHexagon2OpenDot         BoxMarkerSymbol = "hexagon2-open-dot"
	BoxMarkerSymbolNumber16                BoxMarkerSymbol = 16
	BoxMarkerSymbol16                      BoxMarkerSymbol = "16"
	BoxMarkerSymbolOctagon                 BoxMarkerSymbol = "octagon"
	BoxMarkerSymbolNumber116               BoxMarkerSymbol = 116
	BoxMarkerSymbol116                     BoxMarkerSymbol = "116"
	BoxMarkerSymbolOctagonOpen             BoxMarkerSymbol = "octagon-open"
	BoxMarkerSymbolNumber216               BoxMarkerSymbol = 216
	BoxMarkerSymbol216                     BoxMarkerSymbol = "216"
	BoxMarkerSymbolOctagonDot              BoxMarkerSymbol = "octagon-dot"
	BoxMarkerSymbolNumber316               BoxMarkerSymbol = 316
	BoxMarkerSymbol316                     BoxMarkerSymbol = "316"
	BoxMarkerSymbolOctagonOpenDot          BoxMarkerSymbol = "octagon-open-dot"
	BoxMarkerSymbolNumber17                BoxMarkerSymbol = 17
	BoxMarkerSymbol17                      BoxMarkerSymbol = "17"
	BoxMarkerSymbolStar                    BoxMarkerSymbol = "star"
	BoxMarkerSymbolNumber117               BoxMarkerSymbol = 117
	BoxMarkerSymbol117                     BoxMarkerSymbol = "117"
	BoxMarkerSymbolStarOpen                BoxMarkerSymbol = "star-open"
	BoxMarkerSymbolNumber217               BoxMarkerSymbol = 217
	BoxMarkerSymbol217                     BoxMarkerSymbol = "217"
	BoxMarkerSymbolStarDot                 BoxMarkerSymbol = "star-dot"
	BoxMarkerSymbolNumber317               BoxMarkerSymbol = 317
	BoxMarkerSymbol317                     BoxMarkerSymbol = "317"
	BoxMarkerSymbolStarOpenDot             BoxMarkerSymbol = "star-open-dot"
	BoxMarkerSymbolNumber18                BoxMarkerSymbol = 18
	BoxMarkerSymbol18                      BoxMarkerSymbol = "18"
	BoxMarkerSymbolHexagram                BoxMarkerSymbol = "hexagram"
	BoxMarkerSymbolNumber118               BoxMarkerSymbol = 118
	BoxMarkerSymbol118                     BoxMarkerSymbol = "118"
	BoxMarkerSymbolHexagramOpen            BoxMarkerSymbol = "hexagram-open"
	BoxMarkerSymbolNumber218               BoxMarkerSymbol = 218
	BoxMarkerSymbol218                     BoxMarkerSymbol = "218"
	BoxMarkerSymbolHexagramDot             BoxMarkerSymbol = "hexagram-dot"
	BoxMarkerSymbolNumber318               BoxMarkerSymbol = 318
	BoxMarkerSymbol318                     BoxMarkerSymbol = "318"
	BoxMarkerSymbolHexagramOpenDot         BoxMarkerSymbol = "hexagram-open-dot"
	BoxMarkerSymbolNumber19                BoxMarkerSymbol = 19
	BoxMarkerSymbol19                      BoxMarkerSymbol = "19"
	BoxMarkerSymbolStarTriangleUp          BoxMarkerSymbol = "star-triangle-up"
	BoxMarkerSymbolNumber119               BoxMarkerSymbol = 119
	BoxMarkerSymbol119                     BoxMarkerSymbol = "119"
	BoxMarkerSymbolStarTriangleUpOpen      BoxMarkerSymbol = "star-triangle-up-open"
	BoxMarkerSymbolNumber219               BoxMarkerSymbol = 219
	BoxMarkerSymbol219                     BoxMarkerSymbol = "219"
	BoxMarkerSymbolStarTriangleUpDot       BoxMarkerSymbol = "star-triangle-up-dot"
	BoxMarkerSymbolNumber319               BoxMarkerSymbol = 319
	BoxMarkerSymbol319                     BoxMarkerSymbol = "319"
	BoxMarkerSymbolStarTriangleUpOpenDot   BoxMarkerSymbol = "star-triangle-up-open-dot"
	BoxMarkerSymbolNumber20                BoxMarkerSymbol = 20
	BoxMarkerSymbol20                      BoxMarkerSymbol = "20"
	BoxMarkerSymbolStarTriangleDown        BoxMarkerSymbol = "star-triangle-down"
	BoxMarkerSymbolNumber120               BoxMarkerSymbol = 120
	BoxMarkerSymbol120                     BoxMarkerSymbol = "120"
	BoxMarkerSymbolStarTriangleDownOpen    BoxMarkerSymbol = "star-triangle-down-open"
	BoxMarkerSymbolNumber220               BoxMarkerSymbol = 220
	BoxMarkerSymbol220                     BoxMarkerSymbol = "220"
	BoxMarkerSymbolStarTriangleDownDot     BoxMarkerSymbol = "star-triangle-down-dot"
	BoxMarkerSymbolNumber320               BoxMarkerSymbol = 320
	BoxMarkerSymbol320                     BoxMarkerSymbol = "320"
	BoxMarkerSymbolStarTriangleDownOpenDot BoxMarkerSymbol = "star-triangle-down-open-dot"
	BoxMarkerSymbolNumber21                BoxMarkerSymbol = 21
	BoxMarkerSymbol21                      BoxMarkerSymbol = "21"
	BoxMarkerSymbolStarSquare              BoxMarkerSymbol = "star-square"
	BoxMarkerSymbolNumber121               BoxMarkerSymbol = 121
	BoxMarkerSymbol121                     BoxMarkerSymbol = "121"
	BoxMarkerSymbolStarSquareOpen          BoxMarkerSymbol = "star-square-open"
	BoxMarkerSymbolNumber221               BoxMarkerSymbol = 221
	BoxMarkerSymbol221                     BoxMarkerSymbol = "221"
	BoxMarkerSymbolStarSquareDot           BoxMarkerSymbol = "star-square-dot"
	BoxMarkerSymbolNumber321               BoxMarkerSymbol = 321
	BoxMarkerSymbol321                     BoxMarkerSymbol = "321"
	BoxMarkerSymbolStarSquareOpenDot       BoxMarkerSymbol = "star-square-open-dot"
	BoxMarkerSymbolNumber22                BoxMarkerSymbol = 22
	BoxMarkerSymbol22                      BoxMarkerSymbol = "22"
	BoxMarkerSymbolStarDiamond             BoxMarkerSymbol = "star-diamond"
	BoxMarkerSymbolNumber122               BoxMarkerSymbol = 122
	BoxMarkerSymbol122                     BoxMarkerSymbol = "122"
	BoxMarkerSymbolStarDiamondOpen         BoxMarkerSymbol = "star-diamond-open"
	BoxMarkerSymbolNumber222               BoxMarkerSymbol = 222
	BoxMarkerSymbol222                     BoxMarkerSymbol = "222"
	BoxMarkerSymbolStarDiamondDot          BoxMarkerSymbol = "star-diamond-dot"
	BoxMarkerSymbolNumber322               BoxMarkerSymbol = 322
	BoxMarkerSymbol322                     BoxMarkerSymbol = "322"
	BoxMarkerSymbolStarDiamondOpenDot      BoxMarkerSymbol = "star-diamond-open-dot"
	BoxMarkerSymbolNumber23                BoxMarkerSymbol = 23
	BoxMarkerSymbol23                      BoxMarkerSymbol = "23"
	BoxMarkerSymbolDiamondTall             BoxMarkerSymbol = "diamond-tall"
	BoxMarkerSymbolNumber123               BoxMarkerSymbol = 123
	BoxMarkerSymbol123                     BoxMarkerSymbol = "123"
	BoxMarkerSymbolDiamondTallOpen         BoxMarkerSymbol = "diamond-tall-open"
	BoxMarkerSymbolNumber223               BoxMarkerSymbol = 223
	BoxMarkerSymbol223                     BoxMarkerSymbol = "223"
	BoxMarkerSymbolDiamondTallDot          BoxMarkerSymbol = "diamond-tall-dot"
	BoxMarkerSymbolNumber323               BoxMarkerSymbol = 323
	BoxMarkerSymbol323                     BoxMarkerSymbol = "323"
	BoxMarkerSymbolDiamondTallOpenDot      BoxMarkerSymbol = "diamond-tall-open-dot"
	BoxMarkerSymbolNumber24                BoxMarkerSymbol = 24
	BoxMarkerSymbol24                      BoxMarkerSymbol = "24"
	BoxMarkerSymbolDiamondWide             BoxMarkerSymbol = "diamond-wide"
	BoxMarkerSymbolNumber124               BoxMarkerSymbol = 124
	BoxMarkerSymbol124                     BoxMarkerSymbol = "124"
	BoxMarkerSymbolDiamondWideOpen         BoxMarkerSymbol = "diamond-wide-open"
	BoxMarkerSymbolNumber224               BoxMarkerSymbol = 224
	BoxMarkerSymbol224                     BoxMarkerSymbol = "224"
	BoxMarkerSymbolDiamondWideDot          BoxMarkerSymbol = "diamond-wide-dot"
	BoxMarkerSymbolNumber324               BoxMarkerSymbol = 324
	BoxMarkerSymbol324                     BoxMarkerSymbol = "324"
	BoxMarkerSymbolDiamondWideOpenDot      BoxMarkerSymbol = "diamond-wide-open-dot"
	BoxMarkerSymbolNumber25                BoxMarkerSymbol = 25
	BoxMarkerSymbol25                      BoxMarkerSymbol = "25"
	BoxMarkerSymbolHourglass               BoxMarkerSymbol = "hourglass"
	BoxMarkerSymbolNumber125               BoxMarkerSymbol = 125
	BoxMarkerSymbol125                     BoxMarkerSymbol = "125"
	BoxMarkerSymbolHourglassOpen           BoxMarkerSymbol = "hourglass-open"
	BoxMarkerSymbolNumber26                BoxMarkerSymbol = 26
	BoxMarkerSymbol26                      BoxMarkerSymbol = "26"
	BoxMarkerSymbolBowtie                  BoxMarkerSymbol = "bowtie"
	BoxMarkerSymbolNumber126               BoxMarkerSymbol = 126
	BoxMarkerSymbol126                     BoxMarkerSymbol = "126"
	BoxMarkerSymbolBowtieOpen              BoxMarkerSymbol = "bowtie-open"
	BoxMarkerSymbolNumber27                BoxMarkerSymbol = 27
	BoxMarkerSymbol27                      BoxMarkerSymbol = "27"
	BoxMarkerSymbolCircleCross             BoxMarkerSymbol = "circle-cross"
	BoxMarkerSymbolNumber127               BoxMarkerSymbol = 127
	BoxMarkerSymbol127                     BoxMarkerSymbol = "127"
	BoxMarkerSymbolCircleCrossOpen         BoxMarkerSymbol = "circle-cross-open"
	BoxMarkerSymbolNumber28                BoxMarkerSymbol = 28
	BoxMarkerSymbol28                      BoxMarkerSymbol = "28"
	BoxMarkerSymbolCircleX                 BoxMarkerSymbol = "circle-x"
	BoxMarkerSymbolNumber128               BoxMarkerSymbol = 128
	BoxMarkerSymbol128                     BoxMarkerSymbol = "128"
	BoxMarkerSymbolCircleXOpen             BoxMarkerSymbol = "circle-x-open"
	BoxMarkerSymbolNumber29                BoxMarkerSymbol = 29
	BoxMarkerSymbol29                      BoxMarkerSymbol = "29"
	BoxMarkerSymbolSquareCross             BoxMarkerSymbol = "square-cross"
	BoxMarkerSymbolNumber129               BoxMarkerSymbol = 129
	BoxMarkerSymbol129                     BoxMarkerSymbol = "129"
	BoxMarkerSymbolSquareCrossOpen         BoxMarkerSymbol = "square-cross-open"
	BoxMarkerSymbolNumber30                BoxMarkerSymbol = 30
	BoxMarkerSymbol30                      BoxMarkerSymbol = "30"
	BoxMarkerSymbolSquareX                 BoxMarkerSymbol = "square-x"
	BoxMarkerSymbolNumber130               BoxMarkerSymbol = 130
	BoxMarkerSymbol130                     BoxMarkerSymbol = "130"
	BoxMarkerSymbolSquareXOpen             BoxMarkerSymbol = "square-x-open"
	BoxMarkerSymbolNumber31                BoxMarkerSymbol = 31
	BoxMarkerSymbol31                      BoxMarkerSymbol = "31"
	BoxMarkerSymbolDiamondCross            BoxMarkerSymbol = "diamond-cross"
	BoxMarkerSymbolNumber131               BoxMarkerSymbol = 131
	BoxMarkerSymbol131                     BoxMarkerSymbol = "131"
	BoxMarkerSymbolDiamondCrossOpen        BoxMarkerSymbol = "diamond-cross-open"
	BoxMarkerSymbolNumber32                BoxMarkerSymbol = 32
	BoxMarkerSymbol32                      BoxMarkerSymbol = "32"
	BoxMarkerSymbolDiamondX                BoxMarkerSymbol = "diamond-x"
	BoxMarkerSymbolNumber132               BoxMarkerSymbol = 132
	BoxMarkerSymbol132                     BoxMarkerSymbol = "132"
	BoxMarkerSymbolDiamondXOpen            BoxMarkerSymbol = "diamond-x-open"
	BoxMarkerSymbolNumber33                BoxMarkerSymbol = 33
	BoxMarkerSymbol33                      BoxMarkerSymbol = "33"
	BoxMarkerSymbolCrossThin               BoxMarkerSymbol = "cross-thin"
	BoxMarkerSymbolNumber133               BoxMarkerSymbol = 133
	BoxMarkerSymbol133                     BoxMarkerSymbol = "133"
	BoxMarkerSymbolCrossThinOpen           BoxMarkerSymbol = "cross-thin-open"
	BoxMarkerSymbolNumber34                BoxMarkerSymbol = 34
	BoxMarkerSymbol34                      BoxMarkerSymbol = "34"
	BoxMarkerSymbolXThin                   BoxMarkerSymbol = "x-thin"
	BoxMarkerSymbolNumber134               BoxMarkerSymbol = 134
	BoxMarkerSymbol134                     BoxMarkerSymbol = "134"
	BoxMarkerSymbolXThinOpen               BoxMarkerSymbol = "x-thin-open"
	BoxMarkerSymbolNumber35                BoxMarkerSymbol = 35
	BoxMarkerSymbol35                      BoxMarkerSymbol = "35"
	BoxMarkerSymbolAsterisk                BoxMarkerSymbol = "asterisk"
	BoxMarkerSymbolNumber135               BoxMarkerSymbol = 135
	BoxMarkerSymbol135                     BoxMarkerSymbol = "135"
	BoxMarkerSymbolAsteriskOpen            BoxMarkerSymbol = "asterisk-open"
	BoxMarkerSymbolNumber36                BoxMarkerSymbol = 36
	BoxMarkerSymbol36                      BoxMarkerSymbol = "36"
	BoxMarkerSymbolHash                    BoxMarkerSymbol = "hash"
	BoxMarkerSymbolNumber136               BoxMarkerSymbol = 136
	BoxMarkerSymbol136                     BoxMarkerSymbol = "136"
	BoxMarkerSymbolHashOpen                BoxMarkerSymbol = "hash-open"
	BoxMarkerSymbolNumber236               BoxMarkerSymbol = 236
	BoxMarkerSymbol236                     BoxMarkerSymbol = "236"
	BoxMarkerSymbolHashDot                 BoxMarkerSymbol = "hash-dot"
	BoxMarkerSymbolNumber336               BoxMarkerSymbol = 336
	BoxMarkerSymbol336                     BoxMarkerSymbol = "336"
	BoxMarkerSymbolHashOpenDot             BoxMarkerSymbol = "hash-open-dot"
	BoxMarkerSymbolNumber37                BoxMarkerSymbol = 37
	BoxMarkerSymbol37                      BoxMarkerSymbol = "37"
	BoxMarkerSymbolYUp                     BoxMarkerSymbol = "y-up"
	BoxMarkerSymbolNumber137               BoxMarkerSymbol = 137
	BoxMarkerSymbol137                     BoxMarkerSymbol = "137"
	BoxMarkerSymbolYUpOpen                 BoxMarkerSymbol = "y-up-open"
	BoxMarkerSymbolNumber38                BoxMarkerSymbol = 38
	BoxMarkerSymbol38                      BoxMarkerSymbol = "38"
	BoxMarkerSymbolYDown                   BoxMarkerSymbol = "y-down"
	BoxMarkerSymbolNumber138               BoxMarkerSymbol = 138
	BoxMarkerSymbol138                     BoxMarkerSymbol = "138"
	BoxMarkerSymbolYDownOpen               BoxMarkerSymbol = "y-down-open"
	BoxMarkerSymbolNumber39                BoxMarkerSymbol = 39
	BoxMarkerSymbol39                      BoxMarkerSymbol = "39"
	BoxMarkerSymbolYLeft                   BoxMarkerSymbol = "y-left"
	BoxMarkerSymbolNumber139               BoxMarkerSymbol = 139
	BoxMarkerSymbol139                     BoxMarkerSymbol = "139"
	BoxMarkerSymbolYLeftOpen               BoxMarkerSymbol = "y-left-open"
	BoxMarkerSymbolNumber40                BoxMarkerSymbol = 40
	BoxMarkerSymbol40                      BoxMarkerSymbol = "40"
	BoxMarkerSymbolYRight                  BoxMarkerSymbol = "y-right"
	BoxMarkerSymbolNumber140               BoxMarkerSymbol = 140
	BoxMarkerSymbol140                     BoxMarkerSymbol = "140"
	BoxMarkerSymbolYRightOpen              BoxMarkerSymbol = "y-right-open"
	BoxMarkerSymbolNumber41                BoxMarkerSymbol = 41
	BoxMarkerSymbol41                      BoxMarkerSymbol = "41"
	BoxMarkerSymbolLineEw                  BoxMarkerSymbol = "line-ew"
	BoxMarkerSymbolNumber141               BoxMarkerSymbol = 141
	BoxMarkerSymbol141                     BoxMarkerSymbol = "141"
	BoxMarkerSymbolLineEwOpen              BoxMarkerSymbol = "line-ew-open"
	BoxMarkerSymbolNumber42                BoxMarkerSymbol = 42
	BoxMarkerSymbol42                      BoxMarkerSymbol = "42"
	BoxMarkerSymbolLineNs                  BoxMarkerSymbol = "line-ns"
	BoxMarkerSymbolNumber142               BoxMarkerSymbol = 142
	BoxMarkerSymbol142                     BoxMarkerSymbol = "142"
	BoxMarkerSymbolLineNsOpen              BoxMarkerSymbol = "line-ns-open"
	BoxMarkerSymbolNumber43                BoxMarkerSymbol = 43
	BoxMarkerSymbol43                      BoxMarkerSymbol = "43"
	BoxMarkerSymbolLineNe                  BoxMarkerSymbol = "line-ne"
	BoxMarkerSymbolNumber143               BoxMarkerSymbol = 143
	BoxMarkerSymbol143                     BoxMarkerSymbol = "143"
	BoxMarkerSymbolLineNeOpen              BoxMarkerSymbol = "line-ne-open"
	BoxMarkerSymbolNumber44                BoxMarkerSymbol = 44
	BoxMarkerSymbol44                      BoxMarkerSymbol = "44"
	BoxMarkerSymbolLineNw                  BoxMarkerSymbol = "line-nw"
	BoxMarkerSymbolNumber144               BoxMarkerSymbol = 144
	BoxMarkerSymbol144                     BoxMarkerSymbol = "144"
	BoxMarkerSymbolLineNwOpen              BoxMarkerSymbol = "line-nw-open"
	BoxMarkerSymbolNumber45                BoxMarkerSymbol = 45
	BoxMarkerSymbol45                      BoxMarkerSymbol = "45"
	BoxMarkerSymbolArrowUp                 BoxMarkerSymbol = "arrow-up"
	BoxMarkerSymbolNumber145               BoxMarkerSymbol = 145
	BoxMarkerSymbol145                     BoxMarkerSymbol = "145"
	BoxMarkerSymbolArrowUpOpen             BoxMarkerSymbol = "arrow-up-open"
	BoxMarkerSymbolNumber46                BoxMarkerSymbol = 46
	BoxMarkerSymbol46                      BoxMarkerSymbol = "46"
	BoxMarkerSymbolArrowDown               BoxMarkerSymbol = "arrow-down"
	BoxMarkerSymbolNumber146               BoxMarkerSymbol = 146
	BoxMarkerSymbol146                     BoxMarkerSymbol = "146"
	BoxMarkerSymbolArrowDownOpen           BoxMarkerSymbol = "arrow-down-open"
	BoxMarkerSymbolNumber47                BoxMarkerSymbol = 47
	BoxMarkerSymbol47                      BoxMarkerSymbol = "47"
	BoxMarkerSymbolArrowLeft               BoxMarkerSymbol = "arrow-left"
	BoxMarkerSymbolNumber147               BoxMarkerSymbol = 147
	BoxMarkerSymbol147                     BoxMarkerSymbol = "147"
	BoxMarkerSymbolArrowLeftOpen           BoxMarkerSymbol = "arrow-left-open"
	BoxMarkerSymbolNumber48                BoxMarkerSymbol = 48
	BoxMarkerSymbol48                      BoxMarkerSymbol = "48"
	BoxMarkerSymbolArrowRight              BoxMarkerSymbol = "arrow-right"
	BoxMarkerSymbolNumber148               BoxMarkerSymbol = 148
	BoxMarkerSymbol148                     BoxMarkerSymbol = "148"
	BoxMarkerSymbolArrowRightOpen          BoxMarkerSymbol = "arrow-right-open"
	BoxMarkerSymbolNumber49                BoxMarkerSymbol = 49
	BoxMarkerSymbol49                      BoxMarkerSymbol = "49"
	BoxMarkerSymbolArrowBarUp              BoxMarkerSymbol = "arrow-bar-up"
	BoxMarkerSymbolNumber149               BoxMarkerSymbol = 149
	BoxMarkerSymbol149                     BoxMarkerSymbol = "149"
	BoxMarkerSymbolArrowBarUpOpen          BoxMarkerSymbol = "arrow-bar-up-open"
	BoxMarkerSymbolNumber50                BoxMarkerSymbol = 50
	BoxMarkerSymbol50                      BoxMarkerSymbol = "50"
	BoxMarkerSymbolArrowBarDown            BoxMarkerSymbol = "arrow-bar-down"
	BoxMarkerSymbolNumber150               BoxMarkerSymbol = 150
	BoxMarkerSymbol150                     BoxMarkerSymbol = "150"
	BoxMarkerSymbolArrowBarDownOpen        BoxMarkerSymbol = "arrow-bar-down-open"
	BoxMarkerSymbolNumber51                BoxMarkerSymbol = 51
	BoxMarkerSymbol51                      BoxMarkerSymbol = "51"
	BoxMarkerSymbolArrowBarLeft            BoxMarkerSymbol = "arrow-bar-left"
	BoxMarkerSymbolNumber151               BoxMarkerSymbol = 151
	BoxMarkerSymbol151                     BoxMarkerSymbol = "151"
	BoxMarkerSymbolArrowBarLeftOpen        BoxMarkerSymbol = "arrow-bar-left-open"
	BoxMarkerSymbolNumber52                BoxMarkerSymbol = 52
	BoxMarkerSymbol52                      BoxMarkerSymbol = "52"
	BoxMarkerSymbolArrowBarRight           BoxMarkerSymbol = "arrow-bar-right"
	BoxMarkerSymbolNumber152               BoxMarkerSymbol = 152
	BoxMarkerSymbol152                     BoxMarkerSymbol = "152"
	BoxMarkerSymbolArrowBarRightOpen       BoxMarkerSymbol = "arrow-bar-right-open"
)

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 (
	BoxOrientationV BoxOrientation = "v"
	BoxOrientationH 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 (
	BoxQuartilemethodLinear    BoxQuartilemethod = "linear"
	BoxQuartilemethodExclusive BoxQuartilemethod = "exclusive"
	BoxQuartilemethodInclusive BoxQuartilemethod = "inclusive"
)

type BoxSelected

type BoxSelected struct {

	// Marker
	// role: Object
	Marker *BoxSelectedMarker `json:"marker,omitempty"`
}

BoxSelected

type BoxSelectedMarker

type BoxSelectedMarker struct {

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

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

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

BoxSelectedMarker

type BoxStream

type BoxStream struct {

	// Maxpoints
	// arrayOK: false
	// type: number
	// Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot.
	Maxpoints float64 `json:"maxpoints,omitempty"`

	// Token
	// arrayOK: false
	// type: string
	// The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details.
	Token String `json:"token,omitempty"`
}

BoxStream

type BoxUnselected

type BoxUnselected struct {

	// Marker
	// role: Object
	Marker *BoxUnselectedMarker `json:"marker,omitempty"`
}

BoxUnselected

type BoxUnselectedMarker

type BoxUnselectedMarker struct {

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

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

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

BoxUnselectedMarker

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 (
	BoxVisibleTrue       BoxVisible = true
	BoxVisibleFalse      BoxVisible = false
	BoxVisibleLegendonly BoxVisible = "legendonly"
)

type BoxXcalendar

type BoxXcalendar string

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

const (
	BoxXcalendarGregorian  BoxXcalendar = "gregorian"
	BoxXcalendarChinese    BoxXcalendar = "chinese"
	BoxXcalendarCoptic     BoxXcalendar = "coptic"
	BoxXcalendarDiscworld  BoxXcalendar = "discworld"
	BoxXcalendarEthiopian  BoxXcalendar = "ethiopian"
	BoxXcalendarHebrew     BoxXcalendar = "hebrew"
	BoxXcalendarIslamic    BoxXcalendar = "islamic"
	BoxXcalendarJulian     BoxXcalendar = "julian"
	BoxXcalendarMayan      BoxXcalendar = "mayan"
	BoxXcalendarNanakshahi BoxXcalendar = "nanakshahi"
	BoxXcalendarNepali     BoxXcalendar = "nepali"
	BoxXcalendarPersian    BoxXcalendar = "persian"
	BoxXcalendarJalali     BoxXcalendar = "jalali"
	BoxXcalendarTaiwan     BoxXcalendar = "taiwan"
	BoxXcalendarThai       BoxXcalendar = "thai"
	BoxXcalendarUmmalqura  BoxXcalendar = "ummalqura"
)

type BoxXperiodalignment added in v0.3.1

type BoxXperiodalignment string

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

const (
	BoxXperiodalignmentStart  BoxXperiodalignment = "start"
	BoxXperiodalignmentMiddle BoxXperiodalignment = "middle"
	BoxXperiodalignmentEnd    BoxXperiodalignment = "end"
)

type BoxYcalendar

type BoxYcalendar string

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

const (
	BoxYcalendarGregorian  BoxYcalendar = "gregorian"
	BoxYcalendarChinese    BoxYcalendar = "chinese"
	BoxYcalendarCoptic     BoxYcalendar = "coptic"
	BoxYcalendarDiscworld  BoxYcalendar = "discworld"
	BoxYcalendarEthiopian  BoxYcalendar = "ethiopian"
	BoxYcalendarHebrew     BoxYcalendar = "hebrew"
	BoxYcalendarIslamic    BoxYcalendar = "islamic"
	BoxYcalendarJulian     BoxYcalendar = "julian"
	BoxYcalendarMayan      BoxYcalendar = "mayan"
	BoxYcalendarNanakshahi BoxYcalendar = "nanakshahi"
	BoxYcalendarNepali     BoxYcalendar = "nepali"
	BoxYcalendarPersian    BoxYcalendar = "persian"
	BoxYcalendarJalali     BoxYcalendar = "jalali"
	BoxYcalendarTaiwan     BoxYcalendar = "taiwan"
	BoxYcalendarThai       BoxYcalendar = "thai"
	BoxYcalendarUmmalqura  BoxYcalendar = "ummalqura"
)

type BoxYperiodalignment added in v0.3.1

type BoxYperiodalignment string

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

const (
	BoxYperiodalignmentStart  BoxYperiodalignment = "start"
	BoxYperiodalignmentMiddle BoxYperiodalignment = "middle"
	BoxYperiodalignmentEnd    BoxYperiodalignment = "end"
)

type Candlestick

type Candlestick struct {

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

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

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

	// Customdata
	// arrayOK: false
	// type: data_array
	// Assigns extra data each datum. This may be useful when listening to hover, click and selection events. Note that, *scatter* traces also appends customdata items in the markers DOM elements
	Customdata interface{} `json:"customdata,omitempty"`

	// Customdatasrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  customdata .
	Customdatasrc String `json:"customdatasrc,omitempty"`

	// Decreasing
	// role: Object
	Decreasing *CandlestickDecreasing `json:"decreasing,omitempty"`

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

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

	// Hoverinfo
	// default: all
	// type: flaglist
	// Determines which trace information appear on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired.
	Hoverinfo CandlestickHoverinfo `json:"hoverinfo,omitempty"`

	// Hoverinfosrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  hoverinfo .
	Hoverinfosrc String `json:"hoverinfosrc,omitempty"`

	// Hoverlabel
	// role: Object
	Hoverlabel *CandlestickHoverlabel `json:"hoverlabel,omitempty"`

	// Hovertext
	// arrayOK: true
	// type: string
	// Same as `text`.
	Hovertext String `json:"hovertext,omitempty"`

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

	// Ids
	// arrayOK: false
	// type: data_array
	// Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type.
	Ids interface{} `json:"ids,omitempty"`

	// Idssrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  ids .
	Idssrc String `json:"idssrc,omitempty"`

	// Increasing
	// role: Object
	Increasing *CandlestickIncreasing `json:"increasing,omitempty"`

	// Legendgroup
	// arrayOK: false
	// type: string
	// Sets the legend group for this trace. Traces part of the same legend group hide/show at the same time when toggling legend items.
	Legendgroup String `json:"legendgroup,omitempty"`

	// Line
	// role: Object
	Line *CandlestickLine `json:"line,omitempty"`

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

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

	// Meta
	// arrayOK: true
	// type: any
	// Assigns extra meta information associated with this trace that can be used in various text attributes. Attributes such as trace `name`, graph, axis and colorbar `title.text`, annotation `text` `rangeselector`, `updatemenues` and `sliders` `label` text all support `meta`. To access the trace `meta` values in an attribute in the same trace, simply use `%{meta[i]}` where `i` is the index or key of the `meta` item in question. To access trace `meta` in layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index.
	Meta interface{} `json:"meta,omitempty"`

	// Metasrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  meta .
	Metasrc String `json:"metasrc,omitempty"`

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

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

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

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

	// Selectedpoints
	// arrayOK: false
	// type: any
	// Array containing integer indices of selected points. Has an effect only for traces that support selections. Note that an empty array means an empty selection where the `unselected` are turned on for all points, whereas, any other non-array values means no selection all where the `selected` and `unselected` styles have no effect.
	Selectedpoints interface{} `json:"selectedpoints,omitempty"`

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

	// Stream
	// role: Object
	Stream *CandlestickStream `json:"stream,omitempty"`

	// Text
	// arrayOK: true
	// type: string
	// Sets hover text elements associated with each sample point. If a single string, the same string appears over all the data points. If an array of string, the items are mapped in order to this trace's sample points.
	Text String `json:"text,omitempty"`

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

	// Transforms
	// It's an items array and what goes inside it's... messy... check the docs
	// I will be happy if you want to contribute by implementing this
	// just raise an issue before you start so we do not overlap
	Transforms interface{} `json:"transforms,omitempty"`

	// Uid
	// arrayOK: false
	// type: string
	// Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.
	Uid String `json:"uid,omitempty"`

	// Uirevision
	// arrayOK: false
	// type: any
	// Controls persistence of some user-driven changes to the trace: `constraintrange` in `parcoords` traces, as well as some `editable: true` modifications such as `name` and `colorbar.title`. Defaults to `layout.uirevision`. Note that other user-driven trace attribute changes are controlled by `layout` attributes: `trace.visible` is controlled by `layout.legend.uirevision`, `selectedpoints` is controlled by `layout.selectionrevision`, and `colorbar.(x|y)` (accessible with `config: {editable: true}`) is controlled by `layout.editrevision`. Trace changes are tracked by `uid`, which only falls back on trace index if no `uid` is provided. So if your app can add/remove traces before the end of the `data` array, such that the same trace has a different index, you can still preserve user-driven changes if you give each trace a `uid` that stays with it as it moves.
	Uirevision interface{} `json:"uirevision,omitempty"`

	// Visible
	// default: %!s(bool=true)
	// type: enumerated
	// Determines whether or not this trace is visible. If *legendonly*, the trace is not drawn, but can appear as a legend item (provided that the legend itself is visible).
	Visible CandlestickVisible `json:"visible,omitempty"`

	// Whiskerwidth
	// arrayOK: false
	// type: number
	// Sets the width of the whiskers relative to the box' width. For example, with 1, the whiskers are as wide as the box(es).
	Whiskerwidth float64 `json:"whiskerwidth,omitempty"`

	// X
	// arrayOK: false
	// type: data_array
	// Sets the x coordinates. If absent, linear coordinate will be generated.
	X interface{} `json:"x,omitempty"`

	// Xaxis
	// arrayOK: false
	// type: subplotid
	// Sets a reference between this trace's x coordinates and a 2D cartesian x axis. If *x* (the default value), the x coordinates refer to `layout.xaxis`. If *x2*, the x coordinates refer to `layout.xaxis2`, and so on.
	Xaxis String `json:"xaxis,omitempty"`

	// Xcalendar
	// default: gregorian
	// type: enumerated
	// Sets the calendar system to use with `x` date data.
	Xcalendar CandlestickXcalendar `json:"xcalendar,omitempty"`

	// Xperiod
	// arrayOK: false
	// type: 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
	// arrayOK: false
	// type: any
	// Only relevant when the axis `type` is *date*. Sets the base for period positioning in milliseconds or date string on the x0 axis. When `x0period` is round number of weeks, the `x0period0` by default would be on a Sunday i.e. 2000-01-02, otherwise it would be at 2000-01-01.
	Xperiod0 interface{} `json:"xperiod0,omitempty"`

	// Xperiodalignment
	// default: middle
	// type: enumerated
	// Only relevant when the axis `type` is *date*. Sets the alignment of data points on the x axis.
	Xperiodalignment CandlestickXperiodalignment `json:"xperiodalignment,omitempty"`

	// Xsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  x .
	Xsrc String `json:"xsrc,omitempty"`

	// Yaxis
	// arrayOK: false
	// type: subplotid
	// Sets a reference between this trace's y coordinates and a 2D cartesian y axis. If *y* (the default value), the y coordinates refer to `layout.yaxis`. If *y2*, the y coordinates refer to `layout.yaxis2`, and so on.
	Yaxis String `json:"yaxis,omitempty"`
}

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 (*Candlestick) GetType

func (trace *Candlestick) GetType() TraceType

type CandlestickDecreasing

type CandlestickDecreasing struct {

	// Fillcolor
	// arrayOK: false
	// type: color
	// Sets the fill color. Defaults to a half-transparent variant of the line color, marker color, or marker line color, whichever is available.
	Fillcolor Color `json:"fillcolor,omitempty"`

	// Line
	// role: Object
	Line *CandlestickDecreasingLine `json:"line,omitempty"`
}

CandlestickDecreasing

type CandlestickDecreasingLine

type CandlestickDecreasingLine struct {

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

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

CandlestickDecreasingLine

type CandlestickHoverinfo

type CandlestickHoverinfo string

CandlestickHoverinfo Determines which trace information appear on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired.

const (
	// Flags
	CandlestickHoverinfoX    CandlestickHoverinfo = "x"
	CandlestickHoverinfoY    CandlestickHoverinfo = "y"
	CandlestickHoverinfoZ    CandlestickHoverinfo = "z"
	CandlestickHoverinfoText CandlestickHoverinfo = "text"
	CandlestickHoverinfoName CandlestickHoverinfo = "name"

	// Extra
	CandlestickHoverinfoAll  CandlestickHoverinfo = "all"
	CandlestickHoverinfoNone CandlestickHoverinfo = "none"
	CandlestickHoverinfoSkip CandlestickHoverinfo = "skip"
)

type CandlestickHoverlabel

type CandlestickHoverlabel struct {

	// Align
	// default: auto
	// type: enumerated
	// Sets the horizontal alignment of the text content within hover label box. Has an effect only if the hover label text spans more two or more lines
	Align CandlestickHoverlabelAlign `json:"align,omitempty"`

	// Alignsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  align .
	Alignsrc String `json:"alignsrc,omitempty"`

	// Bgcolor
	// arrayOK: true
	// type: color
	// Sets the background color of the hover labels for this trace
	Bgcolor Color `json:"bgcolor,omitempty"`

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

	// Bordercolor
	// arrayOK: true
	// type: color
	// Sets the border color of the hover labels for this trace.
	Bordercolor Color `json:"bordercolor,omitempty"`

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

	// Font
	// role: Object
	Font *CandlestickHoverlabelFont `json:"font,omitempty"`

	// Namelength
	// arrayOK: true
	// type: integer
	// Sets the default length (in number of characters) of the trace name in the hover labels for all traces. -1 shows the whole name regardless of length. 0-3 shows the first 0-3 characters, and an integer >3 will show the whole name if it is less than that many characters, but if it is longer, will truncate to `namelength - 3` characters and add an ellipsis.
	Namelength int64 `json:"namelength,omitempty"`

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

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

CandlestickHoverlabel

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 (
	CandlestickHoverlabelAlignLeft  CandlestickHoverlabelAlign = "left"
	CandlestickHoverlabelAlignRight CandlestickHoverlabelAlign = "right"
	CandlestickHoverlabelAlignAuto  CandlestickHoverlabelAlign = "auto"
)

type CandlestickHoverlabelFont

type CandlestickHoverlabelFont struct {

	// Color
	// arrayOK: true
	// type: color
	//
	Color Color `json:"color,omitempty"`

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

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

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

	// Size
	// arrayOK: true
	// type: number
	//
	Size float64 `json:"size,omitempty"`

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

CandlestickHoverlabelFont Sets the font used in hover labels.

type CandlestickIncreasing

type CandlestickIncreasing struct {

	// Fillcolor
	// arrayOK: false
	// type: color
	// Sets the fill color. Defaults to a half-transparent variant of the line color, marker color, or marker line color, whichever is available.
	Fillcolor Color `json:"fillcolor,omitempty"`

	// Line
	// role: Object
	Line *CandlestickIncreasingLine `json:"line,omitempty"`
}

CandlestickIncreasing

type CandlestickIncreasingLine

type CandlestickIncreasingLine struct {

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

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

CandlestickIncreasingLine

type CandlestickLine

type CandlestickLine struct {

	// Width
	// arrayOK: false
	// type: number
	// Sets the width (in px) of line bounding the box(es). Note that this style setting can also be set per direction via `increasing.line.width` and `decreasing.line.width`.
	Width float64 `json:"width,omitempty"`
}

CandlestickLine

type CandlestickStream

type CandlestickStream struct {

	// Maxpoints
	// arrayOK: false
	// type: number
	// Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot.
	Maxpoints float64 `json:"maxpoints,omitempty"`

	// Token
	// arrayOK: false
	// type: string
	// The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details.
	Token String `json:"token,omitempty"`
}

CandlestickStream

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 (
	CandlestickVisibleTrue       CandlestickVisible = true
	CandlestickVisibleFalse      CandlestickVisible = false
	CandlestickVisibleLegendonly CandlestickVisible = "legendonly"
)

type CandlestickXcalendar

type CandlestickXcalendar string

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

const (
	CandlestickXcalendarGregorian  CandlestickXcalendar = "gregorian"
	CandlestickXcalendarChinese    CandlestickXcalendar = "chinese"
	CandlestickXcalendarCoptic     CandlestickXcalendar = "coptic"
	CandlestickXcalendarDiscworld  CandlestickXcalendar = "discworld"
	CandlestickXcalendarEthiopian  CandlestickXcalendar = "ethiopian"
	CandlestickXcalendarHebrew     CandlestickXcalendar = "hebrew"
	CandlestickXcalendarIslamic    CandlestickXcalendar = "islamic"
	CandlestickXcalendarJulian     CandlestickXcalendar = "julian"
	CandlestickXcalendarMayan      CandlestickXcalendar = "mayan"
	CandlestickXcalendarNanakshahi CandlestickXcalendar = "nanakshahi"
	CandlestickXcalendarNepali     CandlestickXcalendar = "nepali"
	CandlestickXcalendarPersian    CandlestickXcalendar = "persian"
	CandlestickXcalendarJalali     CandlestickXcalendar = "jalali"
	CandlestickXcalendarTaiwan     CandlestickXcalendar = "taiwan"
	CandlestickXcalendarThai       CandlestickXcalendar = "thai"
	CandlestickXcalendarUmmalqura  CandlestickXcalendar = "ummalqura"
)

type CandlestickXperiodalignment added in v0.3.1

type CandlestickXperiodalignment string

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

const (
	CandlestickXperiodalignmentStart  CandlestickXperiodalignment = "start"
	CandlestickXperiodalignmentMiddle CandlestickXperiodalignment = "middle"
	CandlestickXperiodalignmentEnd    CandlestickXperiodalignment = "end"
)

type Carpet

type Carpet struct {

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

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

	// A0
	// arrayOK: false
	// type: number
	// Alternate to `a`. Builds a linear space of a coordinates. Use with `da` where `a0` is the starting coordinate and `da` the step.
	A0 float64 `json:"a0,omitempty"`

	// Aaxis
	// role: Object
	Aaxis *CarpetAaxis `json:"aaxis,omitempty"`

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

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

	// B0
	// arrayOK: false
	// type: number
	// Alternate to `b`. Builds a linear space of a coordinates. Use with `db` where `b0` is the starting coordinate and `db` the step.
	B0 float64 `json:"b0,omitempty"`

	// Baxis
	// role: Object
	Baxis *CarpetBaxis `json:"baxis,omitempty"`

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

	// Carpet
	// arrayOK: false
	// type: string
	// An identifier for this carpet, so that `scattercarpet` and `contourcarpet` traces can specify a carpet plot on which they lie
	Carpet String `json:"carpet,omitempty"`

	// Cheaterslope
	// arrayOK: false
	// type: number
	// The shift applied to each successive row of data in creating a cheater plot. Only used if `x` is been omitted.
	Cheaterslope float64 `json:"cheaterslope,omitempty"`

	// Color
	// arrayOK: false
	// type: color
	// Sets default for all colors associated with this axis all at once: line, font, tick, and grid colors. Grid color is lightened by blending this with the plot background Individual pieces can override this.
	Color Color `json:"color,omitempty"`

	// Customdata
	// arrayOK: false
	// type: data_array
	// Assigns extra data each datum. This may be useful when listening to hover, click and selection events. Note that, *scatter* traces also appends customdata items in the markers DOM elements
	Customdata interface{} `json:"customdata,omitempty"`

	// Customdatasrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  customdata .
	Customdatasrc String `json:"customdatasrc,omitempty"`

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

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

	// Font
	// role: Object
	Font *CarpetFont `json:"font,omitempty"`

	// Ids
	// arrayOK: false
	// type: data_array
	// Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type.
	Ids interface{} `json:"ids,omitempty"`

	// Idssrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  ids .
	Idssrc String `json:"idssrc,omitempty"`

	// Meta
	// arrayOK: true
	// type: any
	// Assigns extra meta information associated with this trace that can be used in various text attributes. Attributes such as trace `name`, graph, axis and colorbar `title.text`, annotation `text` `rangeselector`, `updatemenues` and `sliders` `label` text all support `meta`. To access the trace `meta` values in an attribute in the same trace, simply use `%{meta[i]}` where `i` is the index or key of the `meta` item in question. To access trace `meta` in layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index.
	Meta interface{} `json:"meta,omitempty"`

	// Metasrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  meta .
	Metasrc String `json:"metasrc,omitempty"`

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

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

	// Stream
	// role: Object
	Stream *CarpetStream `json:"stream,omitempty"`

	// Uid
	// arrayOK: false
	// type: string
	// Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.
	Uid String `json:"uid,omitempty"`

	// Uirevision
	// arrayOK: false
	// type: any
	// Controls persistence of some user-driven changes to the trace: `constraintrange` in `parcoords` traces, as well as some `editable: true` modifications such as `name` and `colorbar.title`. Defaults to `layout.uirevision`. Note that other user-driven trace attribute changes are controlled by `layout` attributes: `trace.visible` is controlled by `layout.legend.uirevision`, `selectedpoints` is controlled by `layout.selectionrevision`, and `colorbar.(x|y)` (accessible with `config: {editable: true}`) is controlled by `layout.editrevision`. Trace changes are tracked by `uid`, which only falls back on trace index if no `uid` is provided. So if your app can add/remove traces before the end of the `data` array, such that the same trace has a different index, you can still preserve user-driven changes if you give each trace a `uid` that stays with it as it moves.
	Uirevision interface{} `json:"uirevision,omitempty"`

	// Visible
	// default: %!s(bool=true)
	// type: enumerated
	// Determines whether or not this trace is visible. If *legendonly*, the trace is not drawn, but can appear as a legend item (provided that the legend itself is visible).
	Visible CarpetVisible `json:"visible,omitempty"`

	// X
	// arrayOK: false
	// type: data_array
	// A two dimensional array of x coordinates at each carpet point. If omitted, the plot is a cheater plot and the xaxis is hidden by default.
	X interface{} `json:"x,omitempty"`

	// Xaxis
	// arrayOK: false
	// type: subplotid
	// Sets a reference between this trace's x coordinates and a 2D cartesian x axis. If *x* (the default value), the x coordinates refer to `layout.xaxis`. If *x2*, the x coordinates refer to `layout.xaxis2`, and so on.
	Xaxis String `json:"xaxis,omitempty"`

	// Xsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  x .
	Xsrc String `json:"xsrc,omitempty"`

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

	// Yaxis
	// arrayOK: false
	// type: subplotid
	// Sets a reference between this trace's y coordinates and a 2D cartesian y axis. If *y* (the default value), the y coordinates refer to `layout.yaxis`. If *y2*, the y coordinates refer to `layout.yaxis2`, and so on.
	Yaxis String `json:"yaxis,omitempty"`

	// Ysrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  y .
	Ysrc String `json:"ysrc,omitempty"`
}

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 (*Carpet) GetType

func (trace *Carpet) GetType() TraceType

type CarpetAaxis

type CarpetAaxis struct {

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

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

	// Autorange
	// default: %!s(bool=true)
	// type: enumerated
	// Determines whether or not the range of this axis is computed in relation to the input data. See `rangemode` for more info. If `range` is provided, then `autorange` is set to *false*.
	Autorange CarpetAaxisAutorange `json:"autorange,omitempty"`

	// Autotypenumbers
	// default: convert types
	// type: enumerated
	// Using *strict* a numeric string in trace data is not converted to a number. Using *convert types* a numeric string in trace data may be treated as a number during automatic axis `type` detection. Defaults to layout.autotypenumbers.
	Autotypenumbers CarpetAaxisAutotypenumbers `json:"autotypenumbers,omitempty"`

	// Categoryarray
	// arrayOK: false
	// type: data_array
	// Sets the order in which categories on this axis appear. Only has an effect if `categoryorder` is set to *array*. Used with `categoryorder`.
	Categoryarray interface{} `json:"categoryarray,omitempty"`

	// Categoryarraysrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  categoryarray .
	Categoryarraysrc String `json:"categoryarraysrc,omitempty"`

	// Categoryorder
	// default: trace
	// type: enumerated
	// Specifies the ordering logic for the case of categorical variables. By default, plotly uses *trace*, which specifies the order that is present in the data supplied. Set `categoryorder` to *category ascending* or *category descending* if order should be determined by the alphanumerical order of the category names. Set `categoryorder` to *array* to derive the ordering from the attribute `categoryarray`. If a category is not found in the `categoryarray` array, the sorting behavior for that attribute will be identical to the *trace* mode. The unspecified categories will follow the categories in `categoryarray`.
	Categoryorder CarpetAaxisCategoryorder `json:"categoryorder,omitempty"`

	// Cheatertype
	// default: value
	// type: enumerated
	//
	Cheatertype CarpetAaxisCheatertype `json:"cheatertype,omitempty"`

	// Color
	// arrayOK: false
	// type: color
	// Sets default for all colors associated with this axis all at once: line, font, tick, and grid colors. Grid color is lightened by blending this with the plot background Individual pieces can override this.
	Color Color `json:"color,omitempty"`

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

	// Endline
	// arrayOK: false
	// type: boolean
	// Determines whether or not a line is drawn at along the final value of this axis. If *true*, the end line is drawn on top of the grid lines.
	Endline Bool `json:"endline,omitempty"`

	// Endlinecolor
	// arrayOK: false
	// type: color
	// Sets the line color of the end line.
	Endlinecolor Color `json:"endlinecolor,omitempty"`

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

	// Exponentformat
	// default: B
	// type: enumerated
	// Determines a formatting rule for the tick exponents. For example, consider the number 1,000,000,000. If *none*, it appears as 1,000,000,000. If *e*, 1e+9. If *E*, 1E+9. If *power*, 1x10^9 (with 9 in a super script). If *SI*, 1G. If *B*, 1B.
	Exponentformat CarpetAaxisExponentformat `json:"exponentformat,omitempty"`

	// Fixedrange
	// arrayOK: false
	// type: boolean
	// Determines whether or not this axis is zoom-able. If true, then zoom is disabled.
	Fixedrange Bool `json:"fixedrange,omitempty"`

	// Gridcolor
	// arrayOK: false
	// type: color
	// Sets the axis line color.
	Gridcolor Color `json:"gridcolor,omitempty"`

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

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

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

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

	// Linecolor
	// arrayOK: false
	// type: color
	// Sets the axis line color.
	Linecolor Color `json:"linecolor,omitempty"`

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

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

	// Minorgridcolor
	// arrayOK: false
	// type: color
	// Sets the color of the grid lines.
	Minorgridcolor Color `json:"minorgridcolor,omitempty"`

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

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

	// Nticks
	// arrayOK: false
	// type: integer
	// Specifies the maximum number of ticks for the particular axis. The actual number of ticks will be chosen automatically to be less than or equal to `nticks`. Has an effect only if `tickmode` is set to *auto*.
	Nticks int64 `json:"nticks,omitempty"`

	// Range
	// arrayOK: false
	// type: info_array
	// Sets the range of this axis. If the axis `type` is *log*, then you must take the log of your desired range (e.g. to set the range from 1 to 100, set the range from 0 to 2). If the axis `type` is *date*, it should be date strings, like date data, though Date objects and unix milliseconds will be accepted and converted to strings. If the axis `type` is *category*, it should be numbers, using the scale where each category is assigned a serial number from zero in the order it appears.
	Range interface{} `json:"range,omitempty"`

	// Rangemode
	// default: normal
	// type: enumerated
	// If *normal*, the range is computed in relation to the extrema of the input data. If *tozero*`, the range extends to 0, regardless of the input data If *nonnegative*, the range is non-negative, regardless of the input data.
	Rangemode CarpetAaxisRangemode `json:"rangemode,omitempty"`

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

	// Showexponent
	// default: all
	// type: enumerated
	// If *all*, all exponents are shown besides their significands. If *first*, only the exponent of the first tick is shown. If *last*, only the exponent of the last tick is shown. If *none*, no exponents appear.
	Showexponent CarpetAaxisShowexponent `json:"showexponent,omitempty"`

	// Showgrid
	// arrayOK: false
	// type: boolean
	// Determines whether or not grid lines are drawn. If *true*, the grid lines are drawn at every tick mark.
	Showgrid Bool `json:"showgrid,omitempty"`

	// Showline
	// arrayOK: false
	// type: boolean
	// Determines whether or not a line bounding this axis is drawn.
	Showline Bool `json:"showline,omitempty"`

	// Showticklabels
	// default: start
	// type: enumerated
	// Determines whether axis labels are drawn on the low side, the high side, both, or neither side of the axis.
	Showticklabels CarpetAaxisShowticklabels `json:"showticklabels,omitempty"`

	// Showtickprefix
	// default: all
	// type: enumerated
	// If *all*, all tick labels are displayed with a prefix. If *first*, only the first tick is displayed with a prefix. If *last*, only the last tick is displayed with a suffix. If *none*, tick prefixes are hidden.
	Showtickprefix CarpetAaxisShowtickprefix `json:"showtickprefix,omitempty"`

	// Showticksuffix
	// default: all
	// type: enumerated
	// Same as `showtickprefix` but for tick suffixes.
	Showticksuffix CarpetAaxisShowticksuffix `json:"showticksuffix,omitempty"`

	// Smoothing
	// arrayOK: false
	// type: number
	//
	Smoothing float64 `json:"smoothing,omitempty"`

	// Startline
	// arrayOK: false
	// type: boolean
	// Determines whether or not a line is drawn at along the starting value of this axis. If *true*, the start line is drawn on top of the grid lines.
	Startline Bool `json:"startline,omitempty"`

	// Startlinecolor
	// arrayOK: false
	// type: color
	// Sets the line color of the start line.
	Startlinecolor Color `json:"startlinecolor,omitempty"`

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

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

	// Tickangle
	// arrayOK: false
	// type: angle
	// Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.
	Tickangle float64 `json:"tickangle,omitempty"`

	// Tickfont
	// role: Object
	Tickfont *CarpetAaxisTickfont `json:"tickfont,omitempty"`

	// Tickformat
	// arrayOK: false
	// type: string
	// Sets the tick label formatting rule using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-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
	// It's an items array and what goes inside it's... messy... check the docs
	// I will be happy if you want to contribute by implementing this
	// just raise an issue before you start so we do not overlap
	Tickformatstops interface{} `json:"tickformatstops,omitempty"`

	// Tickmode
	// default: array
	// type: enumerated
	//
	Tickmode CarpetAaxisTickmode `json:"tickmode,omitempty"`

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

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

	// Ticktext
	// arrayOK: false
	// type: data_array
	// Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `tickvals`.
	Ticktext interface{} `json:"ticktext,omitempty"`

	// Ticktextsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  ticktext .
	Ticktextsrc String `json:"ticktextsrc,omitempty"`

	// Tickvals
	// arrayOK: false
	// type: data_array
	// Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.
	Tickvals interface{} `json:"tickvals,omitempty"`

	// Tickvalssrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  tickvals .
	Tickvalssrc String `json:"tickvalssrc,omitempty"`

	// Title
	// role: Object
	Title *CarpetAaxisTitle `json:"title,omitempty"`

	// Type
	// default: -
	// type: enumerated
	// Sets the axis type. By default, plotly attempts to determined the axis type by looking into the data of the traces that referenced the axis in question.
	Type CarpetAaxisType `json:"type,omitempty"`
}

CarpetAaxis

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 (
	CarpetAaxisAutorangeTrue     CarpetAaxisAutorange = true
	CarpetAaxisAutorangeFalse    CarpetAaxisAutorange = false
	CarpetAaxisAutorangeReversed CarpetAaxisAutorange = "reversed"
)

type CarpetAaxisAutotypenumbers added in v0.3.1

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 (
	CarpetAaxisAutotypenumbersConvertTypes CarpetAaxisAutotypenumbers = "convert types"
	CarpetAaxisAutotypenumbersStrict       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 (
	CarpetAaxisCategoryorderTrace              CarpetAaxisCategoryorder = "trace"
	CarpetAaxisCategoryorderCategoryAscending  CarpetAaxisCategoryorder = "category ascending"
	CarpetAaxisCategoryorderCategoryDescending CarpetAaxisCategoryorder = "category descending"
	CarpetAaxisCategoryorderArray              CarpetAaxisCategoryorder = "array"
)

type CarpetAaxisCheatertype

type CarpetAaxisCheatertype string

CarpetAaxisCheatertype

const (
	CarpetAaxisCheatertypeIndex CarpetAaxisCheatertype = "index"
	CarpetAaxisCheatertypeValue 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 (
	CarpetAaxisExponentformatNone  CarpetAaxisExponentformat = "none"
	CarpetAaxisExponentformatE1    CarpetAaxisExponentformat = "e"
	CarpetAaxisExponentformatE2    CarpetAaxisExponentformat = "E"
	CarpetAaxisExponentformatPower CarpetAaxisExponentformat = "power"
	CarpetAaxisExponentformatSi    CarpetAaxisExponentformat = "SI"
	CarpetAaxisExponentformatB     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 (
	CarpetAaxisRangemodeNormal      CarpetAaxisRangemode = "normal"
	CarpetAaxisRangemodeTozero      CarpetAaxisRangemode = "tozero"
	CarpetAaxisRangemodeNonnegative 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 (
	CarpetAaxisShowexponentAll   CarpetAaxisShowexponent = "all"
	CarpetAaxisShowexponentFirst CarpetAaxisShowexponent = "first"
	CarpetAaxisShowexponentLast  CarpetAaxisShowexponent = "last"
	CarpetAaxisShowexponentNone  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 (
	CarpetAaxisShowticklabelsStart CarpetAaxisShowticklabels = "start"
	CarpetAaxisShowticklabelsEnd   CarpetAaxisShowticklabels = "end"
	CarpetAaxisShowticklabelsBoth  CarpetAaxisShowticklabels = "both"
	CarpetAaxisShowticklabelsNone  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 (
	CarpetAaxisShowtickprefixAll   CarpetAaxisShowtickprefix = "all"
	CarpetAaxisShowtickprefixFirst CarpetAaxisShowtickprefix = "first"
	CarpetAaxisShowtickprefixLast  CarpetAaxisShowtickprefix = "last"
	CarpetAaxisShowtickprefixNone  CarpetAaxisShowtickprefix = "none"
)

type CarpetAaxisShowticksuffix

type CarpetAaxisShowticksuffix string

CarpetAaxisShowticksuffix Same as `showtickprefix` but for tick suffixes.

const (
	CarpetAaxisShowticksuffixAll   CarpetAaxisShowticksuffix = "all"
	CarpetAaxisShowticksuffixFirst CarpetAaxisShowticksuffix = "first"
	CarpetAaxisShowticksuffixLast  CarpetAaxisShowticksuffix = "last"
	CarpetAaxisShowticksuffixNone  CarpetAaxisShowticksuffix = "none"
)

type CarpetAaxisTickfont

type CarpetAaxisTickfont struct {

	// Color
	// arrayOK: false
	// type: color
	//
	Color Color `json:"color,omitempty"`

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

	// Size
	// arrayOK: false
	// type: number
	//
	Size float64 `json:"size,omitempty"`
}

CarpetAaxisTickfont Sets the tick font.

type CarpetAaxisTickmode

type CarpetAaxisTickmode string

CarpetAaxisTickmode

const (
	CarpetAaxisTickmodeLinear CarpetAaxisTickmode = "linear"
	CarpetAaxisTickmodeArray  CarpetAaxisTickmode = "array"
)

type CarpetAaxisTitle

type CarpetAaxisTitle struct {

	// Font
	// role: Object
	Font *CarpetAaxisTitleFont `json:"font,omitempty"`

	// Offset
	// arrayOK: false
	// type: number
	// An additional amount by which to offset the title from the tick labels, given in pixels. Note that this used to be set by the now deprecated `titleoffset` attribute.
	Offset float64 `json:"offset,omitempty"`

	// Text
	// arrayOK: false
	// type: string
	// Sets the title of this axis. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.
	Text String `json:"text,omitempty"`
}

CarpetAaxisTitle

type CarpetAaxisTitleFont

type CarpetAaxisTitleFont struct {

	// Color
	// arrayOK: false
	// type: color
	//
	Color Color `json:"color,omitempty"`

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

	// Size
	// arrayOK: false
	// type: number
	//
	Size float64 `json:"size,omitempty"`
}

CarpetAaxisTitleFont Sets this axis' title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.

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 (
	CarpetAaxisTypeHyphenHyphen CarpetAaxisType = "-"
	CarpetAaxisTypeLinear       CarpetAaxisType = "linear"
	CarpetAaxisTypeDate         CarpetAaxisType = "date"
	CarpetAaxisTypeCategory     CarpetAaxisType = "category"
)

type CarpetBaxis

type CarpetBaxis struct {

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

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

	// Autorange
	// default: %!s(bool=true)
	// type: enumerated
	// Determines whether or not the range of this axis is computed in relation to the input data. See `rangemode` for more info. If `range` is provided, then `autorange` is set to *false*.
	Autorange CarpetBaxisAutorange `json:"autorange,omitempty"`

	// Autotypenumbers
	// default: convert types
	// type: enumerated
	// Using *strict* a numeric string in trace data is not converted to a number. Using *convert types* a numeric string in trace data may be treated as a number during automatic axis `type` detection. Defaults to layout.autotypenumbers.
	Autotypenumbers CarpetBaxisAutotypenumbers `json:"autotypenumbers,omitempty"`

	// Categoryarray
	// arrayOK: false
	// type: data_array
	// Sets the order in which categories on this axis appear. Only has an effect if `categoryorder` is set to *array*. Used with `categoryorder`.
	Categoryarray interface{} `json:"categoryarray,omitempty"`

	// Categoryarraysrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  categoryarray .
	Categoryarraysrc String `json:"categoryarraysrc,omitempty"`

	// Categoryorder
	// default: trace
	// type: enumerated
	// Specifies the ordering logic for the case of categorical variables. By default, plotly uses *trace*, which specifies the order that is present in the data supplied. Set `categoryorder` to *category ascending* or *category descending* if order should be determined by the alphanumerical order of the category names. Set `categoryorder` to *array* to derive the ordering from the attribute `categoryarray`. If a category is not found in the `categoryarray` array, the sorting behavior for that attribute will be identical to the *trace* mode. The unspecified categories will follow the categories in `categoryarray`.
	Categoryorder CarpetBaxisCategoryorder `json:"categoryorder,omitempty"`

	// Cheatertype
	// default: value
	// type: enumerated
	//
	Cheatertype CarpetBaxisCheatertype `json:"cheatertype,omitempty"`

	// Color
	// arrayOK: false
	// type: color
	// Sets default for all colors associated with this axis all at once: line, font, tick, and grid colors. Grid color is lightened by blending this with the plot background Individual pieces can override this.
	Color Color `json:"color,omitempty"`

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

	// Endline
	// arrayOK: false
	// type: boolean
	// Determines whether or not a line is drawn at along the final value of this axis. If *true*, the end line is drawn on top of the grid lines.
	Endline Bool `json:"endline,omitempty"`

	// Endlinecolor
	// arrayOK: false
	// type: color
	// Sets the line color of the end line.
	Endlinecolor Color `json:"endlinecolor,omitempty"`

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

	// Exponentformat
	// default: B
	// type: enumerated
	// Determines a formatting rule for the tick exponents. For example, consider the number 1,000,000,000. If *none*, it appears as 1,000,000,000. If *e*, 1e+9. If *E*, 1E+9. If *power*, 1x10^9 (with 9 in a super script). If *SI*, 1G. If *B*, 1B.
	Exponentformat CarpetBaxisExponentformat `json:"exponentformat,omitempty"`

	// Fixedrange
	// arrayOK: false
	// type: boolean
	// Determines whether or not this axis is zoom-able. If true, then zoom is disabled.
	Fixedrange Bool `json:"fixedrange,omitempty"`

	// Gridcolor
	// arrayOK: false
	// type: color
	// Sets the axis line color.
	Gridcolor Color `json:"gridcolor,omitempty"`

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

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

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

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

	// Linecolor
	// arrayOK: false
	// type: color
	// Sets the axis line color.
	Linecolor Color `json:"linecolor,omitempty"`

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

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

	// Minorgridcolor
	// arrayOK: false
	// type: color
	// Sets the color of the grid lines.
	Minorgridcolor Color `json:"minorgridcolor,omitempty"`

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

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

	// Nticks
	// arrayOK: false
	// type: integer
	// Specifies the maximum number of ticks for the particular axis. The actual number of ticks will be chosen automatically to be less than or equal to `nticks`. Has an effect only if `tickmode` is set to *auto*.
	Nticks int64 `json:"nticks,omitempty"`

	// Range
	// arrayOK: false
	// type: info_array
	// Sets the range of this axis. If the axis `type` is *log*, then you must take the log of your desired range (e.g. to set the range from 1 to 100, set the range from 0 to 2). If the axis `type` is *date*, it should be date strings, like date data, though Date objects and unix milliseconds will be accepted and converted to strings. If the axis `type` is *category*, it should be numbers, using the scale where each category is assigned a serial number from zero in the order it appears.
	Range interface{} `json:"range,omitempty"`

	// Rangemode
	// default: normal
	// type: enumerated
	// If *normal*, the range is computed in relation to the extrema of the input data. If *tozero*`, the range extends to 0, regardless of the input data If *nonnegative*, the range is non-negative, regardless of the input data.
	Rangemode CarpetBaxisRangemode `json:"rangemode,omitempty"`

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

	// Showexponent
	// default: all
	// type: enumerated
	// If *all*, all exponents are shown besides their significands. If *first*, only the exponent of the first tick is shown. If *last*, only the exponent of the last tick is shown. If *none*, no exponents appear.
	Showexponent CarpetBaxisShowexponent `json:"showexponent,omitempty"`

	// Showgrid
	// arrayOK: false
	// type: boolean
	// Determines whether or not grid lines are drawn. If *true*, the grid lines are drawn at every tick mark.
	Showgrid Bool `json:"showgrid,omitempty"`

	// Showline
	// arrayOK: false
	// type: boolean
	// Determines whether or not a line bounding this axis is drawn.
	Showline Bool `json:"showline,omitempty"`

	// Showticklabels
	// default: start
	// type: enumerated
	// Determines whether axis labels are drawn on the low side, the high side, both, or neither side of the axis.
	Showticklabels CarpetBaxisShowticklabels `json:"showticklabels,omitempty"`

	// Showtickprefix
	// default: all
	// type: enumerated
	// If *all*, all tick labels are displayed with a prefix. If *first*, only the first tick is displayed with a prefix. If *last*, only the last tick is displayed with a suffix. If *none*, tick prefixes are hidden.
	Showtickprefix CarpetBaxisShowtickprefix `json:"showtickprefix,omitempty"`

	// Showticksuffix
	// default: all
	// type: enumerated
	// Same as `showtickprefix` but for tick suffixes.
	Showticksuffix CarpetBaxisShowticksuffix `json:"showticksuffix,omitempty"`

	// Smoothing
	// arrayOK: false
	// type: number
	//
	Smoothing float64 `json:"smoothing,omitempty"`

	// Startline
	// arrayOK: false
	// type: boolean
	// Determines whether or not a line is drawn at along the starting value of this axis. If *true*, the start line is drawn on top of the grid lines.
	Startline Bool `json:"startline,omitempty"`

	// Startlinecolor
	// arrayOK: false
	// type: color
	// Sets the line color of the start line.
	Startlinecolor Color `json:"startlinecolor,omitempty"`

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

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

	// Tickangle
	// arrayOK: false
	// type: angle
	// Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.
	Tickangle float64 `json:"tickangle,omitempty"`

	// Tickfont
	// role: Object
	Tickfont *CarpetBaxisTickfont `json:"tickfont,omitempty"`

	// Tickformat
	// arrayOK: false
	// type: string
	// Sets the tick label formatting rule using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-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
	// It's an items array and what goes inside it's... messy... check the docs
	// I will be happy if you want to contribute by implementing this
	// just raise an issue before you start so we do not overlap
	Tickformatstops interface{} `json:"tickformatstops,omitempty"`

	// Tickmode
	// default: array
	// type: enumerated
	//
	Tickmode CarpetBaxisTickmode `json:"tickmode,omitempty"`

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

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

	// Ticktext
	// arrayOK: false
	// type: data_array
	// Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `tickvals`.
	Ticktext interface{} `json:"ticktext,omitempty"`

	// Ticktextsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  ticktext .
	Ticktextsrc String `json:"ticktextsrc,omitempty"`

	// Tickvals
	// arrayOK: false
	// type: data_array
	// Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.
	Tickvals interface{} `json:"tickvals,omitempty"`

	// Tickvalssrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  tickvals .
	Tickvalssrc String `json:"tickvalssrc,omitempty"`

	// Title
	// role: Object
	Title *CarpetBaxisTitle `json:"title,omitempty"`

	// Type
	// default: -
	// type: enumerated
	// Sets the axis type. By default, plotly attempts to determined the axis type by looking into the data of the traces that referenced the axis in question.
	Type CarpetBaxisType `json:"type,omitempty"`
}

CarpetBaxis

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 (
	CarpetBaxisAutorangeTrue     CarpetBaxisAutorange = true
	CarpetBaxisAutorangeFalse    CarpetBaxisAutorange = false
	CarpetBaxisAutorangeReversed CarpetBaxisAutorange = "reversed"
)

type CarpetBaxisAutotypenumbers added in v0.3.1

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 (
	CarpetBaxisAutotypenumbersConvertTypes CarpetBaxisAutotypenumbers = "convert types"
	CarpetBaxisAutotypenumbersStrict       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 (
	CarpetBaxisCategoryorderTrace              CarpetBaxisCategoryorder = "trace"
	CarpetBaxisCategoryorderCategoryAscending  CarpetBaxisCategoryorder = "category ascending"
	CarpetBaxisCategoryorderCategoryDescending CarpetBaxisCategoryorder = "category descending"
	CarpetBaxisCategoryorderArray              CarpetBaxisCategoryorder = "array"
)

type CarpetBaxisCheatertype

type CarpetBaxisCheatertype string

CarpetBaxisCheatertype

const (
	CarpetBaxisCheatertypeIndex CarpetBaxisCheatertype = "index"
	CarpetBaxisCheatertypeValue 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 (
	CarpetBaxisExponentformatNone  CarpetBaxisExponentformat = "none"
	CarpetBaxisExponentformatE1    CarpetBaxisExponentformat = "e"
	CarpetBaxisExponentformatE2    CarpetBaxisExponentformat = "E"
	CarpetBaxisExponentformatPower CarpetBaxisExponentformat = "power"
	CarpetBaxisExponentformatSi    CarpetBaxisExponentformat = "SI"
	CarpetBaxisExponentformatB     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 (
	CarpetBaxisRangemodeNormal      CarpetBaxisRangemode = "normal"
	CarpetBaxisRangemodeTozero      CarpetBaxisRangemode = "tozero"
	CarpetBaxisRangemodeNonnegative 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 (
	CarpetBaxisShowexponentAll   CarpetBaxisShowexponent = "all"
	CarpetBaxisShowexponentFirst CarpetBaxisShowexponent = "first"
	CarpetBaxisShowexponentLast  CarpetBaxisShowexponent = "last"
	CarpetBaxisShowexponentNone  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 (
	CarpetBaxisShowticklabelsStart CarpetBaxisShowticklabels = "start"
	CarpetBaxisShowticklabelsEnd   CarpetBaxisShowticklabels = "end"
	CarpetBaxisShowticklabelsBoth  CarpetBaxisShowticklabels = "both"
	CarpetBaxisShowticklabelsNone  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 (
	CarpetBaxisShowtickprefixAll   CarpetBaxisShowtickprefix = "all"
	CarpetBaxisShowtickprefixFirst CarpetBaxisShowtickprefix = "first"
	CarpetBaxisShowtickprefixLast  CarpetBaxisShowtickprefix = "last"
	CarpetBaxisShowtickprefixNone  CarpetBaxisShowtickprefix = "none"
)

type CarpetBaxisShowticksuffix

type CarpetBaxisShowticksuffix string

CarpetBaxisShowticksuffix Same as `showtickprefix` but for tick suffixes.

const (
	CarpetBaxisShowticksuffixAll   CarpetBaxisShowticksuffix = "all"
	CarpetBaxisShowticksuffixFirst CarpetBaxisShowticksuffix = "first"
	CarpetBaxisShowticksuffixLast  CarpetBaxisShowticksuffix = "last"
	CarpetBaxisShowticksuffixNone  CarpetBaxisShowticksuffix = "none"
)

type CarpetBaxisTickfont

type CarpetBaxisTickfont struct {

	// Color
	// arrayOK: false
	// type: color
	//
	Color Color `json:"color,omitempty"`

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

	// Size
	// arrayOK: false
	// type: number
	//
	Size float64 `json:"size,omitempty"`
}

CarpetBaxisTickfont Sets the tick font.

type CarpetBaxisTickmode

type CarpetBaxisTickmode string

CarpetBaxisTickmode

const (
	CarpetBaxisTickmodeLinear CarpetBaxisTickmode = "linear"
	CarpetBaxisTickmodeArray  CarpetBaxisTickmode = "array"
)

type CarpetBaxisTitle

type CarpetBaxisTitle struct {

	// Font
	// role: Object
	Font *CarpetBaxisTitleFont `json:"font,omitempty"`

	// Offset
	// arrayOK: false
	// type: number
	// An additional amount by which to offset the title from the tick labels, given in pixels. Note that this used to be set by the now deprecated `titleoffset` attribute.
	Offset float64 `json:"offset,omitempty"`

	// Text
	// arrayOK: false
	// type: string
	// Sets the title of this axis. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.
	Text String `json:"text,omitempty"`
}

CarpetBaxisTitle

type CarpetBaxisTitleFont

type CarpetBaxisTitleFont struct {

	// Color
	// arrayOK: false
	// type: color
	//
	Color Color `json:"color,omitempty"`

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

	// Size
	// arrayOK: false
	// type: number
	//
	Size float64 `json:"size,omitempty"`
}

CarpetBaxisTitleFont Sets this axis' title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.

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 (
	CarpetBaxisTypeHyphenHyphen CarpetBaxisType = "-"
	CarpetBaxisTypeLinear       CarpetBaxisType = "linear"
	CarpetBaxisTypeDate         CarpetBaxisType = "date"
	CarpetBaxisTypeCategory     CarpetBaxisType = "category"
)

type CarpetFont

type CarpetFont struct {

	// Color
	// arrayOK: false
	// type: color
	//
	Color Color `json:"color,omitempty"`

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

	// Size
	// arrayOK: false
	// type: number
	//
	Size float64 `json:"size,omitempty"`
}

CarpetFont The default font used for axis & tick labels on this carpet

type CarpetStream

type CarpetStream struct {

	// Maxpoints
	// arrayOK: false
	// type: number
	// Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot.
	Maxpoints float64 `json:"maxpoints,omitempty"`

	// Token
	// arrayOK: false
	// type: string
	// The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details.
	Token String `json:"token,omitempty"`
}

CarpetStream

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 (
	CarpetVisibleTrue       CarpetVisible = true
	CarpetVisibleFalse      CarpetVisible = false
	CarpetVisibleLegendonly CarpetVisible = "legendonly"
)

type Choropleth

type Choropleth struct {

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

	// Autocolorscale
	// arrayOK: false
	// type: boolean
	// Determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by `colorscale`. In case `colorscale` is unspecified or `autocolorscale` is true, the default  palette will be chosen according to whether numbers in the `color` array are all positive, all negative or mixed.
	Autocolorscale Bool `json:"autocolorscale,omitempty"`

	// Coloraxis
	// arrayOK: false
	// type: subplotid
	// Sets a reference to a shared color axis. References to these shared color axes are *coloraxis*, *coloraxis2*, *coloraxis3*, etc. Settings for these shared color axes are set in the layout, under `layout.coloraxis`, `layout.coloraxis2`, etc. Note that multiple color scales can be linked to the same color axis.
	Coloraxis String `json:"coloraxis,omitempty"`

	// Colorbar
	// role: Object
	Colorbar *ChoroplethColorbar `json:"colorbar,omitempty"`

	// Colorscale
	// default: %!s(<nil>)
	// type: colorscale
	// Sets the colorscale. The colorscale must be an array containing arrays mapping a normalized value to an rgb, rgba, hex, hsl, hsv, or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, use`zmin` and `zmax`. Alternatively, `colorscale` may be a palette name string of the following list: Greys,YlGnBu,Greens,YlOrRd,Bluered,RdBu,Reds,Blues,Picnic,Rainbow,Portland,Jet,Hot,Blackbody,Earth,Electric,Viridis,Cividis.
	Colorscale ColorScale `json:"colorscale,omitempty"`

	// Customdata
	// arrayOK: false
	// type: data_array
	// Assigns extra data each datum. This may be useful when listening to hover, click and selection events. Note that, *scatter* traces also appends customdata items in the markers DOM elements
	Customdata interface{} `json:"customdata,omitempty"`

	// Customdatasrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  customdata .
	Customdatasrc String `json:"customdatasrc,omitempty"`

	// Featureidkey
	// arrayOK: false
	// type: string
	// Sets the key in GeoJSON features which is used as id to match the items included in the `locations` array. Only has an effect when `geojson` is set. Support nested property, for example *properties.name*.
	Featureidkey String `json:"featureidkey,omitempty"`

	// Geo
	// arrayOK: false
	// type: subplotid
	// Sets a reference between this trace's geospatial coordinates and a geographic map. If *geo* (the default value), the geospatial coordinates refer to `layout.geo`. If *geo2*, the geospatial coordinates refer to `layout.geo2`, and so on.
	Geo String `json:"geo,omitempty"`

	// Geojson
	// arrayOK: false
	// type: any
	// Sets optional GeoJSON data associated with this trace. If not given, the features on the base map are used. It can be set as a valid GeoJSON object or as a URL string. Note that we only accept GeoJSONs of type *FeatureCollection* or *Feature* with geometries of type *Polygon* or *MultiPolygon*.
	Geojson interface{} `json:"geojson,omitempty"`

	// Hoverinfo
	// default: all
	// type: flaglist
	// Determines which trace information appear on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired.
	Hoverinfo ChoroplethHoverinfo `json:"hoverinfo,omitempty"`

	// Hoverinfosrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  hoverinfo .
	Hoverinfosrc String `json:"hoverinfosrc,omitempty"`

	// Hoverlabel
	// role: Object
	Hoverlabel *ChoroplethHoverlabel `json:"hoverlabel,omitempty"`

	// Hovertemplate
	// arrayOK: true
	// type: string
	// Template string used for rendering the information that appear on hover box. Note that this will override `hoverinfo`. Variables are inserted using %{variable}, for example "y: %{y}". 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 String `json:"hovertemplate,omitempty"`

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

	// Hovertext
	// arrayOK: true
	// type: string
	// Same as `text`.
	Hovertext String `json:"hovertext,omitempty"`

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

	// Ids
	// arrayOK: false
	// type: data_array
	// Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type.
	Ids interface{} `json:"ids,omitempty"`

	// Idssrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  ids .
	Idssrc String `json:"idssrc,omitempty"`

	// Legendgroup
	// arrayOK: false
	// type: string
	// Sets the legend group for this trace. Traces part of the same legend group hide/show at the same time when toggling legend items.
	Legendgroup String `json:"legendgroup,omitempty"`

	// Locationmode
	// default: ISO-3
	// type: enumerated
	// Determines the set of locations used to match entries in `locations` to regions on the map. Values *ISO-3*, *USA-states*, *country names* correspond to features on the base map and value *geojson-id* corresponds to features from a custom GeoJSON linked to the `geojson` attribute.
	Locationmode ChoroplethLocationmode `json:"locationmode,omitempty"`

	// Locations
	// arrayOK: false
	// type: data_array
	// Sets the coordinates via location IDs or names. See `locationmode` for more info.
	Locations interface{} `json:"locations,omitempty"`

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

	// Marker
	// role: Object
	Marker *ChoroplethMarker `json:"marker,omitempty"`

	// Meta
	// arrayOK: true
	// type: any
	// Assigns extra meta information associated with this trace that can be used in various text attributes. Attributes such as trace `name`, graph, axis and colorbar `title.text`, annotation `text` `rangeselector`, `updatemenues` and `sliders` `label` text all support `meta`. To access the trace `meta` values in an attribute in the same trace, simply use `%{meta[i]}` where `i` is the index or key of the `meta` item in question. To access trace `meta` in layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index.
	Meta interface{} `json:"meta,omitempty"`

	// Metasrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  meta .
	Metasrc String `json:"metasrc,omitempty"`

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

	// Reversescale
	// arrayOK: false
	// type: boolean
	// Reverses the color mapping if true. If true, `zmin` will correspond to the last color in the array and `zmax` will correspond to the first color.
	Reversescale Bool `json:"reversescale,omitempty"`

	// Selected
	// role: Object
	Selected *ChoroplethSelected `json:"selected,omitempty"`

	// Selectedpoints
	// arrayOK: false
	// type: any
	// Array containing integer indices of selected points. Has an effect only for traces that support selections. Note that an empty array means an empty selection where the `unselected` are turned on for all points, whereas, any other non-array values means no selection all where the `selected` and `unselected` styles have no effect.
	Selectedpoints interface{} `json:"selectedpoints,omitempty"`

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

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

	// Stream
	// role: Object
	Stream *ChoroplethStream `json:"stream,omitempty"`

	// Text
	// arrayOK: true
	// type: string
	// Sets the text elements associated with each location.
	Text String `json:"text,omitempty"`

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

	// Transforms
	// It's an items array and what goes inside it's... messy... check the docs
	// I will be happy if you want to contribute by implementing this
	// just raise an issue before you start so we do not overlap
	Transforms interface{} `json:"transforms,omitempty"`

	// Uid
	// arrayOK: false
	// type: string
	// Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.
	Uid String `json:"uid,omitempty"`

	// Uirevision
	// arrayOK: false
	// type: any
	// Controls persistence of some user-driven changes to the trace: `constraintrange` in `parcoords` traces, as well as some `editable: true` modifications such as `name` and `colorbar.title`. Defaults to `layout.uirevision`. Note that other user-driven trace attribute changes are controlled by `layout` attributes: `trace.visible` is controlled by `layout.legend.uirevision`, `selectedpoints` is controlled by `layout.selectionrevision`, and `colorbar.(x|y)` (accessible with `config: {editable: true}`) is controlled by `layout.editrevision`. Trace changes are tracked by `uid`, which only falls back on trace index if no `uid` is provided. So if your app can add/remove traces before the end of the `data` array, such that the same trace has a different index, you can still preserve user-driven changes if you give each trace a `uid` that stays with it as it moves.
	Uirevision interface{} `json:"uirevision,omitempty"`

	// Unselected
	// role: Object
	Unselected *ChoroplethUnselected `json:"unselected,omitempty"`

	// Visible
	// default: %!s(bool=true)
	// type: enumerated
	// Determines whether or not this trace is visible. If *legendonly*, the trace is not drawn, but can appear as a legend item (provided that the legend itself is visible).
	Visible ChoroplethVisible `json:"visible,omitempty"`

	// Z
	// arrayOK: false
	// type: data_array
	// Sets the color values.
	Z interface{} `json:"z,omitempty"`

	// Zauto
	// arrayOK: false
	// type: boolean
	// Determines whether or not the color domain is computed with respect to the input data (here in `z`) or the bounds set in `zmin` and `zmax`  Defaults to `false` when `zmin` and `zmax` are set by the user.
	Zauto Bool `json:"zauto,omitempty"`

	// Zmax
	// arrayOK: false
	// type: number
	// Sets the upper bound of the color domain. Value should have the same units as in `z` and if set, `zmin` must be set as well.
	Zmax float64 `json:"zmax,omitempty"`

	// Zmid
	// arrayOK: false
	// type: number
	// Sets the mid-point of the color domain by scaling `zmin` and/or `zmax` to be equidistant to this point. Value should have the same units as in `z`. Has no effect when `zauto` is `false`.
	Zmid float64 `json:"zmid,omitempty"`

	// Zmin
	// arrayOK: false
	// type: number
	// Sets the lower bound of the color domain. Value should have the same units as in `z` and if set, `zmax` must be set as well.
	Zmin float64 `json:"zmin,omitempty"`

	// Zsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  z .
	Zsrc String `json:"zsrc,omitempty"`
}

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 (*Choropleth) GetType

func (trace *Choropleth) GetType() TraceType

type ChoroplethColorbar

type ChoroplethColorbar struct {

	// Bgcolor
	// arrayOK: false
	// type: color
	// Sets the color of padded area.
	Bgcolor Color `json:"bgcolor,omitempty"`

	// Bordercolor
	// arrayOK: false
	// type: color
	// Sets the axis line color.
	Bordercolor Color `json:"bordercolor,omitempty"`

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

	// Dtick
	// arrayOK: false
	// type: any
	// Sets the step in-between ticks on this axis. Use with `tick0`. Must be a positive number, or special strings available to *log* and *date* axes. If the axis `type` is *log*, then ticks are set every 10^(n*dtick) where n is the tick number. For example, to set a tick mark at 1, 10, 100, 1000, ... set dtick to 1. To set tick marks at 1, 100, 10000, ... set dtick to 2. To set tick marks at 1, 5, 25, 125, 625, 3125, ... set dtick to log_10(5), or 0.69897000433. *log* has several special values; *L<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
	// default: B
	// type: enumerated
	// Determines a formatting rule for the tick exponents. For example, consider the number 1,000,000,000. If *none*, it appears as 1,000,000,000. If *e*, 1e+9. If *E*, 1E+9. If *power*, 1x10^9 (with 9 in a super script). If *SI*, 1G. If *B*, 1B.
	Exponentformat ChoroplethColorbarExponentformat `json:"exponentformat,omitempty"`

	// Len
	// arrayOK: false
	// type: number
	// Sets the length of the color bar This measure excludes the padding of both ends. That is, the color bar length is this length minus the padding on both ends.
	Len float64 `json:"len,omitempty"`

	// Lenmode
	// default: fraction
	// type: enumerated
	// Determines whether this color bar's length (i.e. the measure in the color variation direction) is set in units of plot *fraction* or in *pixels. Use `len` to set the value.
	Lenmode ChoroplethColorbarLenmode `json:"lenmode,omitempty"`

	// Minexponent
	// arrayOK: false
	// type: number
	// Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*.
	Minexponent float64 `json:"minexponent,omitempty"`

	// Nticks
	// arrayOK: false
	// type: integer
	// Specifies the maximum number of ticks for the particular axis. The actual number of ticks will be chosen automatically to be less than or equal to `nticks`. Has an effect only if `tickmode` is set to *auto*.
	Nticks int64 `json:"nticks,omitempty"`

	// Outlinecolor
	// arrayOK: false
	// type: color
	// Sets the axis line color.
	Outlinecolor Color `json:"outlinecolor,omitempty"`

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

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

	// Showexponent
	// default: all
	// type: enumerated
	// If *all*, all exponents are shown besides their significands. If *first*, only the exponent of the first tick is shown. If *last*, only the exponent of the last tick is shown. If *none*, no exponents appear.
	Showexponent ChoroplethColorbarShowexponent `json:"showexponent,omitempty"`

	// Showticklabels
	// arrayOK: false
	// type: boolean
	// Determines whether or not the tick labels are drawn.
	Showticklabels Bool `json:"showticklabels,omitempty"`

	// Showtickprefix
	// default: all
	// type: enumerated
	// If *all*, all tick labels are displayed with a prefix. If *first*, only the first tick is displayed with a prefix. If *last*, only the last tick is displayed with a suffix. If *none*, tick prefixes are hidden.
	Showtickprefix ChoroplethColorbarShowtickprefix `json:"showtickprefix,omitempty"`

	// Showticksuffix
	// default: all
	// type: enumerated
	// Same as `showtickprefix` but for tick suffixes.
	Showticksuffix ChoroplethColorbarShowticksuffix `json:"showticksuffix,omitempty"`

	// Thickness
	// arrayOK: false
	// type: number
	// Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.
	Thickness float64 `json:"thickness,omitempty"`

	// Thicknessmode
	// default: pixels
	// type: enumerated
	// Determines whether this color bar's thickness (i.e. the measure in the constant color direction) is set in units of plot *fraction* or in *pixels*. Use `thickness` to set the value.
	Thicknessmode ChoroplethColorbarThicknessmode `json:"thicknessmode,omitempty"`

	// Tick0
	// arrayOK: false
	// type: any
	// Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2) except when `dtick`=*L<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
	// arrayOK: false
	// type: angle
	// Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.
	Tickangle float64 `json:"tickangle,omitempty"`

	// Tickcolor
	// arrayOK: false
	// type: color
	// Sets the tick color.
	Tickcolor Color `json:"tickcolor,omitempty"`

	// Tickfont
	// role: Object
	Tickfont *ChoroplethColorbarTickfont `json:"tickfont,omitempty"`

	// Tickformat
	// arrayOK: false
	// type: string
	// Sets the tick label formatting rule using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-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
	// It's an items array and what goes inside it's... messy... check the docs
	// I will be happy if you want to contribute by implementing this
	// just raise an issue before you start so we do not overlap
	Tickformatstops interface{} `json:"tickformatstops,omitempty"`

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

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

	// Tickmode
	// default: %!s(<nil>)
	// type: enumerated
	// Sets the tick mode for this axis. If *auto*, the number of ticks is set via `nticks`. If *linear*, the placement of the ticks is determined by a starting position `tick0` and a tick step `dtick` (*linear* is the default value if `tick0` and `dtick` are provided). If *array*, the placement of the ticks is set via `tickvals` and the tick text is `ticktext`. (*array* is the default value if `tickvals` is provided).
	Tickmode ChoroplethColorbarTickmode `json:"tickmode,omitempty"`

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

	// Ticks
	// default:
	// type: enumerated
	// Determines whether ticks are drawn or not. If **, this axis' ticks are not drawn. If *outside* (*inside*), this axis' are drawn outside (inside) the axis lines.
	Ticks ChoroplethColorbarTicks `json:"ticks,omitempty"`

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

	// Ticktext
	// arrayOK: false
	// type: data_array
	// Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `tickvals`.
	Ticktext interface{} `json:"ticktext,omitempty"`

	// Ticktextsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  ticktext .
	Ticktextsrc String `json:"ticktextsrc,omitempty"`

	// Tickvals
	// arrayOK: false
	// type: data_array
	// Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.
	Tickvals interface{} `json:"tickvals,omitempty"`

	// Tickvalssrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  tickvals .
	Tickvalssrc String `json:"tickvalssrc,omitempty"`

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

	// Title
	// role: Object
	Title *ChoroplethColorbarTitle `json:"title,omitempty"`

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

	// Xanchor
	// default: left
	// type: enumerated
	// Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the color bar.
	Xanchor ChoroplethColorbarXanchor `json:"xanchor,omitempty"`

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

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

	// Yanchor
	// default: middle
	// type: enumerated
	// Sets this color bar's vertical position anchor This anchor binds the `y` position to the *top*, *middle* or *bottom* of the color bar.
	Yanchor ChoroplethColorbarYanchor `json:"yanchor,omitempty"`

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

ChoroplethColorbar

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 (
	ChoroplethColorbarExponentformatNone  ChoroplethColorbarExponentformat = "none"
	ChoroplethColorbarExponentformatE1    ChoroplethColorbarExponentformat = "e"
	ChoroplethColorbarExponentformatE2    ChoroplethColorbarExponentformat = "E"
	ChoroplethColorbarExponentformatPower ChoroplethColorbarExponentformat = "power"
	ChoroplethColorbarExponentformatSi    ChoroplethColorbarExponentformat = "SI"
	ChoroplethColorbarExponentformatB     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 (
	ChoroplethColorbarLenmodeFraction ChoroplethColorbarLenmode = "fraction"
	ChoroplethColorbarLenmodePixels   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 (
	ChoroplethColorbarShowexponentAll   ChoroplethColorbarShowexponent = "all"
	ChoroplethColorbarShowexponentFirst ChoroplethColorbarShowexponent = "first"
	ChoroplethColorbarShowexponentLast  ChoroplethColorbarShowexponent = "last"
	ChoroplethColorbarShowexponentNone  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 (
	ChoroplethColorbarShowtickprefixAll   ChoroplethColorbarShowtickprefix = "all"
	ChoroplethColorbarShowtickprefixFirst ChoroplethColorbarShowtickprefix = "first"
	ChoroplethColorbarShowtickprefixLast  ChoroplethColorbarShowtickprefix = "last"
	ChoroplethColorbarShowtickprefixNone  ChoroplethColorbarShowtickprefix = "none"
)

type ChoroplethColorbarShowticksuffix

type ChoroplethColorbarShowticksuffix string

ChoroplethColorbarShowticksuffix Same as `showtickprefix` but for tick suffixes.

const (
	ChoroplethColorbarShowticksuffixAll   ChoroplethColorbarShowticksuffix = "all"
	ChoroplethColorbarShowticksuffixFirst ChoroplethColorbarShowticksuffix = "first"
	ChoroplethColorbarShowticksuffixLast  ChoroplethColorbarShowticksuffix = "last"
	ChoroplethColorbarShowticksuffixNone  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 (
	ChoroplethColorbarThicknessmodeFraction ChoroplethColorbarThicknessmode = "fraction"
	ChoroplethColorbarThicknessmodePixels   ChoroplethColorbarThicknessmode = "pixels"
)

type ChoroplethColorbarTickfont

type ChoroplethColorbarTickfont struct {

	// Color
	// arrayOK: false
	// type: color
	//
	Color Color `json:"color,omitempty"`

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

	// Size
	// arrayOK: false
	// type: number
	//
	Size float64 `json:"size,omitempty"`
}

ChoroplethColorbarTickfont Sets the color bar's tick label font

type ChoroplethColorbarTicklabelposition added in v0.3.1

type ChoroplethColorbarTicklabelposition string

ChoroplethColorbarTicklabelposition Determines where tick labels are drawn.

const (
	ChoroplethColorbarTicklabelpositionOutside       ChoroplethColorbarTicklabelposition = "outside"
	ChoroplethColorbarTicklabelpositionInside        ChoroplethColorbarTicklabelposition = "inside"
	ChoroplethColorbarTicklabelpositionOutsideTop    ChoroplethColorbarTicklabelposition = "outside top"
	ChoroplethColorbarTicklabelpositionInsideTop     ChoroplethColorbarTicklabelposition = "inside top"
	ChoroplethColorbarTicklabelpositionOutsideBottom ChoroplethColorbarTicklabelposition = "outside bottom"
	ChoroplethColorbarTicklabelpositionInsideBottom  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 (
	ChoroplethColorbarTickmodeAuto   ChoroplethColorbarTickmode = "auto"
	ChoroplethColorbarTickmodeLinear ChoroplethColorbarTickmode = "linear"
	ChoroplethColorbarTickmodeArray  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 (
	ChoroplethColorbarTicksOutside ChoroplethColorbarTicks = "outside"
	ChoroplethColorbarTicksInside  ChoroplethColorbarTicks = "inside"
	ChoroplethColorbarTicksEmpty   ChoroplethColorbarTicks = ""
)

type ChoroplethColorbarTitle

type ChoroplethColorbarTitle struct {

	// Font
	// role: Object
	Font *ChoroplethColorbarTitleFont `json:"font,omitempty"`

	// Side
	// default: top
	// type: enumerated
	// Determines the location of color bar's title with respect to the color bar. Note that the title's location used to be set by the now deprecated `titleside` attribute.
	Side ChoroplethColorbarTitleSide `json:"side,omitempty"`

	// Text
	// arrayOK: false
	// type: string
	// Sets the title of the color bar. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.
	Text String `json:"text,omitempty"`
}

ChoroplethColorbarTitle

type ChoroplethColorbarTitleFont

type ChoroplethColorbarTitleFont struct {

	// Color
	// arrayOK: false
	// type: color
	//
	Color Color `json:"color,omitempty"`

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

	// Size
	// arrayOK: false
	// type: number
	//
	Size float64 `json:"size,omitempty"`
}

ChoroplethColorbarTitleFont Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.

type 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 (
	ChoroplethColorbarTitleSideRight  ChoroplethColorbarTitleSide = "right"
	ChoroplethColorbarTitleSideTop    ChoroplethColorbarTitleSide = "top"
	ChoroplethColorbarTitleSideBottom 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 (
	ChoroplethColorbarXanchorLeft   ChoroplethColorbarXanchor = "left"
	ChoroplethColorbarXanchorCenter ChoroplethColorbarXanchor = "center"
	ChoroplethColorbarXanchorRight  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 (
	ChoroplethColorbarYanchorTop    ChoroplethColorbarYanchor = "top"
	ChoroplethColorbarYanchorMiddle ChoroplethColorbarYanchor = "middle"
	ChoroplethColorbarYanchorBottom ChoroplethColorbarYanchor = "bottom"
)

type ChoroplethHoverinfo

type ChoroplethHoverinfo string

ChoroplethHoverinfo Determines which trace information appear on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired.

const (
	// Flags
	ChoroplethHoverinfoLocation ChoroplethHoverinfo = "location"
	ChoroplethHoverinfoZ        ChoroplethHoverinfo = "z"
	ChoroplethHoverinfoText     ChoroplethHoverinfo = "text"
	ChoroplethHoverinfoName     ChoroplethHoverinfo = "name"

	// Extra
	ChoroplethHoverinfoAll  ChoroplethHoverinfo = "all"
	ChoroplethHoverinfoNone ChoroplethHoverinfo = "none"
	ChoroplethHoverinfoSkip ChoroplethHoverinfo = "skip"
)

type ChoroplethHoverlabel

type ChoroplethHoverlabel struct {

	// Align
	// default: auto
	// type: enumerated
	// Sets the horizontal alignment of the text content within hover label box. Has an effect only if the hover label text spans more two or more lines
	Align ChoroplethHoverlabelAlign `json:"align,omitempty"`

	// Alignsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  align .
	Alignsrc String `json:"alignsrc,omitempty"`

	// Bgcolor
	// arrayOK: true
	// type: color
	// Sets the background color of the hover labels for this trace
	Bgcolor Color `json:"bgcolor,omitempty"`

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

	// Bordercolor
	// arrayOK: true
	// type: color
	// Sets the border color of the hover labels for this trace.
	Bordercolor Color `json:"bordercolor,omitempty"`

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

	// Font
	// role: Object
	Font *ChoroplethHoverlabelFont `json:"font,omitempty"`

	// Namelength
	// arrayOK: true
	// type: integer
	// Sets the default length (in number of characters) of the trace name in the hover labels for all traces. -1 shows the whole name regardless of length. 0-3 shows the first 0-3 characters, and an integer >3 will show the whole name if it is less than that many characters, but if it is longer, will truncate to `namelength - 3` characters and add an ellipsis.
	Namelength int64 `json:"namelength,omitempty"`

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

ChoroplethHoverlabel

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 (
	ChoroplethHoverlabelAlignLeft  ChoroplethHoverlabelAlign = "left"
	ChoroplethHoverlabelAlignRight ChoroplethHoverlabelAlign = "right"
	ChoroplethHoverlabelAlignAuto  ChoroplethHoverlabelAlign = "auto"
)

type ChoroplethHoverlabelFont

type ChoroplethHoverlabelFont struct {

	// Color
	// arrayOK: true
	// type: color
	//
	Color Color `json:"color,omitempty"`

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

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

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

	// Size
	// arrayOK: true
	// type: number
	//
	Size float64 `json:"size,omitempty"`

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

ChoroplethHoverlabelFont Sets the font used in hover labels.

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 (
	ChoroplethLocationmodeIso3         ChoroplethLocationmode = "ISO-3"
	ChoroplethLocationmodeUsaStates    ChoroplethLocationmode = "USA-states"
	ChoroplethLocationmodeCountryNames ChoroplethLocationmode = "country names"
	ChoroplethLocationmodeGeojsonId    ChoroplethLocationmode = "geojson-id"
)

type ChoroplethMarker

type ChoroplethMarker struct {

	// Line
	// role: Object
	Line *ChoroplethMarkerLine `json:"line,omitempty"`

	// Opacity
	// arrayOK: true
	// type: number
	// Sets the opacity of the locations.
	Opacity float64 `json:"opacity,omitempty"`

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

ChoroplethMarker

type ChoroplethMarkerLine

type ChoroplethMarkerLine struct {

	// Color
	// arrayOK: true
	// type: color
	// Sets themarker.linecolor. It accepts either a specific color or an array of numbers that are mapped to the colorscale relative to the max and min values of the array or relative to `marker.line.cmin` and `marker.line.cmax` if set.
	Color Color `json:"color,omitempty"`

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

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

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

ChoroplethMarkerLine

type ChoroplethSelected

type ChoroplethSelected struct {

	// Marker
	// role: Object
	Marker *ChoroplethSelectedMarker `json:"marker,omitempty"`
}

ChoroplethSelected

type ChoroplethSelectedMarker

type ChoroplethSelectedMarker struct {

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

ChoroplethSelectedMarker

type ChoroplethStream

type ChoroplethStream struct {

	// Maxpoints
	// arrayOK: false
	// type: number
	// Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot.
	Maxpoints float64 `json:"maxpoints,omitempty"`

	// Token
	// arrayOK: false
	// type: string
	// The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details.
	Token String `json:"token,omitempty"`
}

ChoroplethStream

type ChoroplethUnselected

type ChoroplethUnselected struct {

	// Marker
	// role: Object
	Marker *ChoroplethUnselectedMarker `json:"marker,omitempty"`
}

ChoroplethUnselected

type ChoroplethUnselectedMarker

type ChoroplethUnselectedMarker struct {

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

ChoroplethUnselectedMarker

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 (
	ChoroplethVisibleTrue       ChoroplethVisible = true
	ChoroplethVisibleFalse      ChoroplethVisible = false
	ChoroplethVisibleLegendonly ChoroplethVisible = "legendonly"
)

type Choroplethmapbox

type Choroplethmapbox struct {

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

	// Autocolorscale
	// arrayOK: false
	// type: boolean
	// Determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by `colorscale`. In case `colorscale` is unspecified or `autocolorscale` is true, the default  palette will be chosen according to whether numbers in the `color` array are all positive, all negative or mixed.
	Autocolorscale Bool `json:"autocolorscale,omitempty"`

	// Below
	// arrayOK: false
	// type: string
	// Determines if the choropleth polygons will be inserted before the layer with the specified ID. By default, choroplethmapbox traces are placed above the water layers. If set to ”, the layer will be inserted above every existing layer.
	Below String `json:"below,omitempty"`

	// Coloraxis
	// arrayOK: false
	// type: subplotid
	// Sets a reference to a shared color axis. References to these shared color axes are *coloraxis*, *coloraxis2*, *coloraxis3*, etc. Settings for these shared color axes are set in the layout, under `layout.coloraxis`, `layout.coloraxis2`, etc. Note that multiple color scales can be linked to the same color axis.
	Coloraxis String `json:"coloraxis,omitempty"`

	// Colorbar
	// role: Object
	Colorbar *ChoroplethmapboxColorbar `json:"colorbar,omitempty"`

	// Colorscale
	// default: %!s(<nil>)
	// type: colorscale
	// Sets the colorscale. The colorscale must be an array containing arrays mapping a normalized value to an rgb, rgba, hex, hsl, hsv, or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, use`zmin` and `zmax`. Alternatively, `colorscale` may be a palette name string of the following list: Greys,YlGnBu,Greens,YlOrRd,Bluered,RdBu,Reds,Blues,Picnic,Rainbow,Portland,Jet,Hot,Blackbody,Earth,Electric,Viridis,Cividis.
	Colorscale ColorScale `json:"colorscale,omitempty"`

	// Customdata
	// arrayOK: false
	// type: data_array
	// Assigns extra data each datum. This may be useful when listening to hover, click and selection events. Note that, *scatter* traces also appends customdata items in the markers DOM elements
	Customdata interface{} `json:"customdata,omitempty"`

	// Customdatasrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  customdata .
	Customdatasrc String `json:"customdatasrc,omitempty"`

	// Featureidkey
	// arrayOK: false
	// type: string
	// Sets the key in GeoJSON features which is used as id to match the items included in the `locations` array. Support nested property, for example *properties.name*.
	Featureidkey String `json:"featureidkey,omitempty"`

	// Geojson
	// arrayOK: false
	// type: any
	// Sets the GeoJSON data associated with this trace. It can be set as a valid GeoJSON object or as a URL string. Note that we only accept GeoJSONs of type *FeatureCollection* or *Feature* with geometries of type *Polygon* or *MultiPolygon*.
	Geojson interface{} `json:"geojson,omitempty"`

	// Hoverinfo
	// default: all
	// type: flaglist
	// Determines which trace information appear on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired.
	Hoverinfo ChoroplethmapboxHoverinfo `json:"hoverinfo,omitempty"`

	// Hoverinfosrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  hoverinfo .
	Hoverinfosrc String `json:"hoverinfosrc,omitempty"`

	// Hoverlabel
	// role: Object
	Hoverlabel *ChoroplethmapboxHoverlabel `json:"hoverlabel,omitempty"`

	// Hovertemplate
	// arrayOK: true
	// type: string
	// Template string used for rendering the information that appear on hover box. Note that this will override `hoverinfo`. Variables are inserted using %{variable}, for example "y: %{y}". 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 String `json:"hovertemplate,omitempty"`

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

	// Hovertext
	// arrayOK: true
	// type: string
	// Same as `text`.
	Hovertext String `json:"hovertext,omitempty"`

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

	// Ids
	// arrayOK: false
	// type: data_array
	// Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type.
	Ids interface{} `json:"ids,omitempty"`

	// Idssrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  ids .
	Idssrc String `json:"idssrc,omitempty"`

	// Legendgroup
	// arrayOK: false
	// type: string
	// Sets the legend group for this trace. Traces part of the same legend group hide/show at the same time when toggling legend items.
	Legendgroup String `json:"legendgroup,omitempty"`

	// Locations
	// arrayOK: false
	// type: data_array
	// Sets which features found in *geojson* to plot using their feature `id` field.
	Locations interface{} `json:"locations,omitempty"`

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

	// Marker
	// role: Object
	Marker *ChoroplethmapboxMarker `json:"marker,omitempty"`

	// Meta
	// arrayOK: true
	// type: any
	// Assigns extra meta information associated with this trace that can be used in various text attributes. Attributes such as trace `name`, graph, axis and colorbar `title.text`, annotation `text` `rangeselector`, `updatemenues` and `sliders` `label` text all support `meta`. To access the trace `meta` values in an attribute in the same trace, simply use `%{meta[i]}` where `i` is the index or key of the `meta` item in question. To access trace `meta` in layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index.
	Meta interface{} `json:"meta,omitempty"`

	// Metasrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  meta .
	Metasrc String `json:"metasrc,omitempty"`

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

	// Reversescale
	// arrayOK: false
	// type: boolean
	// Reverses the color mapping if true. If true, `zmin` will correspond to the last color in the array and `zmax` will correspond to the first color.
	Reversescale Bool `json:"reversescale,omitempty"`

	// Selected
	// role: Object
	Selected *ChoroplethmapboxSelected `json:"selected,omitempty"`

	// Selectedpoints
	// arrayOK: false
	// type: any
	// Array containing integer indices of selected points. Has an effect only for traces that support selections. Note that an empty array means an empty selection where the `unselected` are turned on for all points, whereas, any other non-array values means no selection all where the `selected` and `unselected` styles have no effect.
	Selectedpoints interface{} `json:"selectedpoints,omitempty"`

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

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

	// Stream
	// role: Object
	Stream *ChoroplethmapboxStream `json:"stream,omitempty"`

	// Subplot
	// arrayOK: false
	// type: subplotid
	// Sets a reference between this trace's data coordinates and a mapbox subplot. If *mapbox* (the default value), the data refer to `layout.mapbox`. If *mapbox2*, the data refer to `layout.mapbox2`, and so on.
	Subplot String `json:"subplot,omitempty"`

	// Text
	// arrayOK: true
	// type: string
	// Sets the text elements associated with each location.
	Text String `json:"text,omitempty"`

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

	// Transforms
	// It's an items array and what goes inside it's... messy... check the docs
	// I will be happy if you want to contribute by implementing this
	// just raise an issue before you start so we do not overlap
	Transforms interface{} `json:"transforms,omitempty"`

	// Uid
	// arrayOK: false
	// type: string
	// Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.
	Uid String `json:"uid,omitempty"`

	// Uirevision
	// arrayOK: false
	// type: any
	// Controls persistence of some user-driven changes to the trace: `constraintrange` in `parcoords` traces, as well as some `editable: true` modifications such as `name` and `colorbar.title`. Defaults to `layout.uirevision`. Note that other user-driven trace attribute changes are controlled by `layout` attributes: `trace.visible` is controlled by `layout.legend.uirevision`, `selectedpoints` is controlled by `layout.selectionrevision`, and `colorbar.(x|y)` (accessible with `config: {editable: true}`) is controlled by `layout.editrevision`. Trace changes are tracked by `uid`, which only falls back on trace index if no `uid` is provided. So if your app can add/remove traces before the end of the `data` array, such that the same trace has a different index, you can still preserve user-driven changes if you give each trace a `uid` that stays with it as it moves.
	Uirevision interface{} `json:"uirevision,omitempty"`

	// Unselected
	// role: Object
	Unselected *ChoroplethmapboxUnselected `json:"unselected,omitempty"`

	// Visible
	// default: %!s(bool=true)
	// type: enumerated
	// Determines whether or not this trace is visible. If *legendonly*, the trace is not drawn, but can appear as a legend item (provided that the legend itself is visible).
	Visible ChoroplethmapboxVisible `json:"visible,omitempty"`

	// Z
	// arrayOK: false
	// type: data_array
	// Sets the color values.
	Z interface{} `json:"z,omitempty"`

	// Zauto
	// arrayOK: false
	// type: boolean
	// Determines whether or not the color domain is computed with respect to the input data (here in `z`) or the bounds set in `zmin` and `zmax`  Defaults to `false` when `zmin` and `zmax` are set by the user.
	Zauto Bool `json:"zauto,omitempty"`

	// Zmax
	// arrayOK: false
	// type: number
	// Sets the upper bound of the color domain. Value should have the same units as in `z` and if set, `zmin` must be set as well.
	Zmax float64 `json:"zmax,omitempty"`

	// Zmid
	// arrayOK: false
	// type: number
	// Sets the mid-point of the color domain by scaling `zmin` and/or `zmax` to be equidistant to this point. Value should have the same units as in `z`. Has no effect when `zauto` is `false`.
	Zmid float64 `json:"zmid,omitempty"`

	// Zmin
	// arrayOK: false
	// type: number
	// Sets the lower bound of the color domain. Value should have the same units as in `z` and if set, `zmax` must be set as well.
	Zmin float64 `json:"zmin,omitempty"`

	// Zsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  z .
	Zsrc String `json:"zsrc,omitempty"`
}

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 (*Choroplethmapbox) GetType

func (trace *Choroplethmapbox) GetType() TraceType

type ChoroplethmapboxColorbar

type ChoroplethmapboxColorbar struct {

	// Bgcolor
	// arrayOK: false
	// type: color
	// Sets the color of padded area.
	Bgcolor Color `json:"bgcolor,omitempty"`

	// Bordercolor
	// arrayOK: false
	// type: color
	// Sets the axis line color.
	Bordercolor Color `json:"bordercolor,omitempty"`

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

	// Dtick
	// arrayOK: false
	// type: any
	// Sets the step in-between ticks on this axis. Use with `tick0`. Must be a positive number, or special strings available to *log* and *date* axes. If the axis `type` is *log*, then ticks are set every 10^(n*dtick) where n is the tick number. For example, to set a tick mark at 1, 10, 100, 1000, ... set dtick to 1. To set tick marks at 1, 100, 10000, ... set dtick to 2. To set tick marks at 1, 5, 25, 125, 625, 3125, ... set dtick to log_10(5), or 0.69897000433. *log* has several special values; *L<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
	// default: B
	// type: enumerated
	// Determines a formatting rule for the tick exponents. For example, consider the number 1,000,000,000. If *none*, it appears as 1,000,000,000. If *e*, 1e+9. If *E*, 1E+9. If *power*, 1x10^9 (with 9 in a super script). If *SI*, 1G. If *B*, 1B.
	Exponentformat ChoroplethmapboxColorbarExponentformat `json:"exponentformat,omitempty"`

	// Len
	// arrayOK: false
	// type: number
	// Sets the length of the color bar This measure excludes the padding of both ends. That is, the color bar length is this length minus the padding on both ends.
	Len float64 `json:"len,omitempty"`

	// Lenmode
	// default: fraction
	// type: enumerated
	// Determines whether this color bar's length (i.e. the measure in the color variation direction) is set in units of plot *fraction* or in *pixels. Use `len` to set the value.
	Lenmode ChoroplethmapboxColorbarLenmode `json:"lenmode,omitempty"`

	// Minexponent
	// arrayOK: false
	// type: number
	// Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*.
	Minexponent float64 `json:"minexponent,omitempty"`

	// Nticks
	// arrayOK: false
	// type: integer
	// Specifies the maximum number of ticks for the particular axis. The actual number of ticks will be chosen automatically to be less than or equal to `nticks`. Has an effect only if `tickmode` is set to *auto*.
	Nticks int64 `json:"nticks,omitempty"`

	// Outlinecolor
	// arrayOK: false
	// type: color
	// Sets the axis line color.
	Outlinecolor Color `json:"outlinecolor,omitempty"`

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

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

	// Showexponent
	// default: all
	// type: enumerated
	// If *all*, all exponents are shown besides their significands. If *first*, only the exponent of the first tick is shown. If *last*, only the exponent of the last tick is shown. If *none*, no exponents appear.
	Showexponent ChoroplethmapboxColorbarShowexponent `json:"showexponent,omitempty"`

	// Showticklabels
	// arrayOK: false
	// type: boolean
	// Determines whether or not the tick labels are drawn.
	Showticklabels Bool `json:"showticklabels,omitempty"`

	// Showtickprefix
	// default: all
	// type: enumerated
	// If *all*, all tick labels are displayed with a prefix. If *first*, only the first tick is displayed with a prefix. If *last*, only the last tick is displayed with a suffix. If *none*, tick prefixes are hidden.
	Showtickprefix ChoroplethmapboxColorbarShowtickprefix `json:"showtickprefix,omitempty"`

	// Showticksuffix
	// default: all
	// type: enumerated
	// Same as `showtickprefix` but for tick suffixes.
	Showticksuffix ChoroplethmapboxColorbarShowticksuffix `json:"showticksuffix,omitempty"`

	// Thickness
	// arrayOK: false
	// type: number
	// Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.
	Thickness float64 `json:"thickness,omitempty"`

	// Thicknessmode
	// default: pixels
	// type: enumerated
	// Determines whether this color bar's thickness (i.e. the measure in the constant color direction) is set in units of plot *fraction* or in *pixels*. Use `thickness` to set the value.
	Thicknessmode ChoroplethmapboxColorbarThicknessmode `json:"thicknessmode,omitempty"`

	// Tick0
	// arrayOK: false
	// type: any
	// Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2) except when `dtick`=*L<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
	// arrayOK: false
	// type: angle
	// Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.
	Tickangle float64 `json:"tickangle,omitempty"`

	// Tickcolor
	// arrayOK: false
	// type: color
	// Sets the tick color.
	Tickcolor Color `json:"tickcolor,omitempty"`

	// Tickfont
	// role: Object
	Tickfont *ChoroplethmapboxColorbarTickfont `json:"tickfont,omitempty"`

	// Tickformat
	// arrayOK: false
	// type: string
	// Sets the tick label formatting rule using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-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
	// It's an items array and what goes inside it's... messy... check the docs
	// I will be happy if you want to contribute by implementing this
	// just raise an issue before you start so we do not overlap
	Tickformatstops interface{} `json:"tickformatstops,omitempty"`

	// Ticklabelposition
	// default: outside
	// type: enumerated
	// Determines where tick labels are drawn.
	Ticklabelposition ChoroplethmapboxColorbarTicklabelposition `json:"ticklabelposition,omitempty"`

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

	// Tickmode
	// default: %!s(<nil>)
	// type: enumerated
	// Sets the tick mode for this axis. If *auto*, the number of ticks is set via `nticks`. If *linear*, the placement of the ticks is determined by a starting position `tick0` and a tick step `dtick` (*linear* is the default value if `tick0` and `dtick` are provided). If *array*, the placement of the ticks is set via `tickvals` and the tick text is `ticktext`. (*array* is the default value if `tickvals` is provided).
	Tickmode ChoroplethmapboxColorbarTickmode `json:"tickmode,omitempty"`

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

	// Ticks
	// default:
	// type: enumerated
	// Determines whether ticks are drawn or not. If **, this axis' ticks are not drawn. If *outside* (*inside*), this axis' are drawn outside (inside) the axis lines.
	Ticks ChoroplethmapboxColorbarTicks `json:"ticks,omitempty"`

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

	// Ticktext
	// arrayOK: false
	// type: data_array
	// Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `tickvals`.
	Ticktext interface{} `json:"ticktext,omitempty"`

	// Ticktextsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  ticktext .
	Ticktextsrc String `json:"ticktextsrc,omitempty"`

	// Tickvals
	// arrayOK: false
	// type: data_array
	// Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.
	Tickvals interface{} `json:"tickvals,omitempty"`

	// Tickvalssrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  tickvals .
	Tickvalssrc String `json:"tickvalssrc,omitempty"`

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

	// Title
	// role: Object
	Title *ChoroplethmapboxColorbarTitle `json:"title,omitempty"`

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

	// Xanchor
	// default: left
	// type: enumerated
	// Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the color bar.
	Xanchor ChoroplethmapboxColorbarXanchor `json:"xanchor,omitempty"`

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

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

	// Yanchor
	// default: middle
	// type: enumerated
	// Sets this color bar's vertical position anchor This anchor binds the `y` position to the *top*, *middle* or *bottom* of the color bar.
	Yanchor ChoroplethmapboxColorbarYanchor `json:"yanchor,omitempty"`

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

ChoroplethmapboxColorbar

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 (
	ChoroplethmapboxColorbarExponentformatNone  ChoroplethmapboxColorbarExponentformat = "none"
	ChoroplethmapboxColorbarExponentformatE1    ChoroplethmapboxColorbarExponentformat = "e"
	ChoroplethmapboxColorbarExponentformatE2    ChoroplethmapboxColorbarExponentformat = "E"
	ChoroplethmapboxColorbarExponentformatPower ChoroplethmapboxColorbarExponentformat = "power"
	ChoroplethmapboxColorbarExponentformatSi    ChoroplethmapboxColorbarExponentformat = "SI"
	ChoroplethmapboxColorbarExponentformatB     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 (
	ChoroplethmapboxColorbarLenmodeFraction ChoroplethmapboxColorbarLenmode = "fraction"
	ChoroplethmapboxColorbarLenmodePixels   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 (
	ChoroplethmapboxColorbarShowexponentAll   ChoroplethmapboxColorbarShowexponent = "all"
	ChoroplethmapboxColorbarShowexponentFirst ChoroplethmapboxColorbarShowexponent = "first"
	ChoroplethmapboxColorbarShowexponentLast  ChoroplethmapboxColorbarShowexponent = "last"
	ChoroplethmapboxColorbarShowexponentNone  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 (
	ChoroplethmapboxColorbarShowtickprefixAll   ChoroplethmapboxColorbarShowtickprefix = "all"
	ChoroplethmapboxColorbarShowtickprefixFirst ChoroplethmapboxColorbarShowtickprefix = "first"
	ChoroplethmapboxColorbarShowtickprefixLast  ChoroplethmapboxColorbarShowtickprefix = "last"
	ChoroplethmapboxColorbarShowtickprefixNone  ChoroplethmapboxColorbarShowtickprefix = "none"
)

type ChoroplethmapboxColorbarShowticksuffix

type ChoroplethmapboxColorbarShowticksuffix string

ChoroplethmapboxColorbarShowticksuffix Same as `showtickprefix` but for tick suffixes.

const (
	ChoroplethmapboxColorbarShowticksuffixAll   ChoroplethmapboxColorbarShowticksuffix = "all"
	ChoroplethmapboxColorbarShowticksuffixFirst ChoroplethmapboxColorbarShowticksuffix = "first"
	ChoroplethmapboxColorbarShowticksuffixLast  ChoroplethmapboxColorbarShowticksuffix = "last"
	ChoroplethmapboxColorbarShowticksuffixNone  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 (
	ChoroplethmapboxColorbarThicknessmodeFraction ChoroplethmapboxColorbarThicknessmode = "fraction"
	ChoroplethmapboxColorbarThicknessmodePixels   ChoroplethmapboxColorbarThicknessmode = "pixels"
)

type ChoroplethmapboxColorbarTickfont

type ChoroplethmapboxColorbarTickfont struct {

	// Color
	// arrayOK: false
	// type: color
	//
	Color Color `json:"color,omitempty"`

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

	// Size
	// arrayOK: false
	// type: number
	//
	Size float64 `json:"size,omitempty"`
}

ChoroplethmapboxColorbarTickfont Sets the color bar's tick label font

type ChoroplethmapboxColorbarTicklabelposition added in v0.3.1

type ChoroplethmapboxColorbarTicklabelposition string

ChoroplethmapboxColorbarTicklabelposition Determines where tick labels are drawn.

const (
	ChoroplethmapboxColorbarTicklabelpositionOutside       ChoroplethmapboxColorbarTicklabelposition = "outside"
	ChoroplethmapboxColorbarTicklabelpositionInside        ChoroplethmapboxColorbarTicklabelposition = "inside"
	ChoroplethmapboxColorbarTicklabelpositionOutsideTop    ChoroplethmapboxColorbarTicklabelposition = "outside top"
	ChoroplethmapboxColorbarTicklabelpositionInsideTop     ChoroplethmapboxColorbarTicklabelposition = "inside top"
	ChoroplethmapboxColorbarTicklabelpositionOutsideBottom ChoroplethmapboxColorbarTicklabelposition = "outside bottom"
	ChoroplethmapboxColorbarTicklabelpositionInsideBottom  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 (
	ChoroplethmapboxColorbarTickmodeAuto   ChoroplethmapboxColorbarTickmode = "auto"
	ChoroplethmapboxColorbarTickmodeLinear ChoroplethmapboxColorbarTickmode = "linear"
	ChoroplethmapboxColorbarTickmodeArray  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 (
	ChoroplethmapboxColorbarTicksOutside ChoroplethmapboxColorbarTicks = "outside"
	ChoroplethmapboxColorbarTicksInside  ChoroplethmapboxColorbarTicks = "inside"
	ChoroplethmapboxColorbarTicksEmpty   ChoroplethmapboxColorbarTicks = ""
)

type ChoroplethmapboxColorbarTitle

type ChoroplethmapboxColorbarTitle struct {

	// Font
	// role: Object
	Font *ChoroplethmapboxColorbarTitleFont `json:"font,omitempty"`

	// Side
	// default: top
	// type: enumerated
	// Determines the location of color bar's title with respect to the color bar. Note that the title's location used to be set by the now deprecated `titleside` attribute.
	Side ChoroplethmapboxColorbarTitleSide `json:"side,omitempty"`

	// Text
	// arrayOK: false
	// type: string
	// Sets the title of the color bar. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.
	Text String `json:"text,omitempty"`
}

ChoroplethmapboxColorbarTitle

type ChoroplethmapboxColorbarTitleFont

type ChoroplethmapboxColorbarTitleFont struct {

	// Color
	// arrayOK: false
	// type: color
	//
	Color Color `json:"color,omitempty"`

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

	// Size
	// arrayOK: false
	// type: number
	//
	Size float64 `json:"size,omitempty"`
}

ChoroplethmapboxColorbarTitleFont Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.

type 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 (
	ChoroplethmapboxColorbarTitleSideRight  ChoroplethmapboxColorbarTitleSide = "right"
	ChoroplethmapboxColorbarTitleSideTop    ChoroplethmapboxColorbarTitleSide = "top"
	ChoroplethmapboxColorbarTitleSideBottom 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 (
	ChoroplethmapboxColorbarXanchorLeft   ChoroplethmapboxColorbarXanchor = "left"
	ChoroplethmapboxColorbarXanchorCenter ChoroplethmapboxColorbarXanchor = "center"
	ChoroplethmapboxColorbarXanchorRight  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 (
	ChoroplethmapboxColorbarYanchorTop    ChoroplethmapboxColorbarYanchor = "top"
	ChoroplethmapboxColorbarYanchorMiddle ChoroplethmapboxColorbarYanchor = "middle"
	ChoroplethmapboxColorbarYanchorBottom ChoroplethmapboxColorbarYanchor = "bottom"
)

type ChoroplethmapboxHoverinfo

type ChoroplethmapboxHoverinfo string

ChoroplethmapboxHoverinfo Determines which trace information appear on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired.

const (
	// Flags
	ChoroplethmapboxHoverinfoLocation ChoroplethmapboxHoverinfo = "location"
	ChoroplethmapboxHoverinfoZ        ChoroplethmapboxHoverinfo = "z"
	ChoroplethmapboxHoverinfoText     ChoroplethmapboxHoverinfo = "text"
	ChoroplethmapboxHoverinfoName     ChoroplethmapboxHoverinfo = "name"

	// Extra
	ChoroplethmapboxHoverinfoAll  ChoroplethmapboxHoverinfo = "all"
	ChoroplethmapboxHoverinfoNone ChoroplethmapboxHoverinfo = "none"
	ChoroplethmapboxHoverinfoSkip ChoroplethmapboxHoverinfo = "skip"
)

type ChoroplethmapboxHoverlabel

type ChoroplethmapboxHoverlabel struct {

	// Align
	// default: auto
	// type: enumerated
	// Sets the horizontal alignment of the text content within hover label box. Has an effect only if the hover label text spans more two or more lines
	Align ChoroplethmapboxHoverlabelAlign `json:"align,omitempty"`

	// Alignsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  align .
	Alignsrc String `json:"alignsrc,omitempty"`

	// Bgcolor
	// arrayOK: true
	// type: color
	// Sets the background color of the hover labels for this trace
	Bgcolor Color `json:"bgcolor,omitempty"`

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

	// Bordercolor
	// arrayOK: true
	// type: color
	// Sets the border color of the hover labels for this trace.
	Bordercolor Color `json:"bordercolor,omitempty"`

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

	// Font
	// role: Object
	Font *ChoroplethmapboxHoverlabelFont `json:"font,omitempty"`

	// Namelength
	// arrayOK: true
	// type: integer
	// Sets the default length (in number of characters) of the trace name in the hover labels for all traces. -1 shows the whole name regardless of length. 0-3 shows the first 0-3 characters, and an integer >3 will show the whole name if it is less than that many characters, but if it is longer, will truncate to `namelength - 3` characters and add an ellipsis.
	Namelength int64 `json:"namelength,omitempty"`

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

ChoroplethmapboxHoverlabel

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 (
	ChoroplethmapboxHoverlabelAlignLeft  ChoroplethmapboxHoverlabelAlign = "left"
	ChoroplethmapboxHoverlabelAlignRight ChoroplethmapboxHoverlabelAlign = "right"
	ChoroplethmapboxHoverlabelAlignAuto  ChoroplethmapboxHoverlabelAlign = "auto"
)

type ChoroplethmapboxHoverlabelFont

type ChoroplethmapboxHoverlabelFont struct {

	// Color
	// arrayOK: true
	// type: color
	//
	Color Color `json:"color,omitempty"`

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

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

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

	// Size
	// arrayOK: true
	// type: number
	//
	Size float64 `json:"size,omitempty"`

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

ChoroplethmapboxHoverlabelFont Sets the font used in hover labels.

type ChoroplethmapboxMarker

type ChoroplethmapboxMarker struct {

	// Line
	// role: Object
	Line *ChoroplethmapboxMarkerLine `json:"line,omitempty"`

	// Opacity
	// arrayOK: true
	// type: number
	// Sets the opacity of the locations.
	Opacity float64 `json:"opacity,omitempty"`

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

ChoroplethmapboxMarker

type ChoroplethmapboxMarkerLine

type ChoroplethmapboxMarkerLine struct {

	// Color
	// arrayOK: true
	// type: color
	// Sets themarker.linecolor. It accepts either a specific color or an array of numbers that are mapped to the colorscale relative to the max and min values of the array or relative to `marker.line.cmin` and `marker.line.cmax` if set.
	Color Color `json:"color,omitempty"`

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

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

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

ChoroplethmapboxMarkerLine

type ChoroplethmapboxSelected

type ChoroplethmapboxSelected struct {

	// Marker
	// role: Object
	Marker *ChoroplethmapboxSelectedMarker `json:"marker,omitempty"`
}

ChoroplethmapboxSelected

type ChoroplethmapboxSelectedMarker

type ChoroplethmapboxSelectedMarker struct {

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

ChoroplethmapboxSelectedMarker

type ChoroplethmapboxStream

type ChoroplethmapboxStream struct {

	// Maxpoints
	// arrayOK: false
	// type: number
	// Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot.
	Maxpoints float64 `json:"maxpoints,omitempty"`

	// Token
	// arrayOK: false
	// type: string
	// The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details.
	Token String `json:"token,omitempty"`
}

ChoroplethmapboxStream

type ChoroplethmapboxUnselected

type ChoroplethmapboxUnselected struct {

	// Marker
	// role: Object
	Marker *ChoroplethmapboxUnselectedMarker `json:"marker,omitempty"`
}

ChoroplethmapboxUnselected

type ChoroplethmapboxUnselectedMarker

type ChoroplethmapboxUnselectedMarker struct {

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

ChoroplethmapboxUnselectedMarker

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 (
	ChoroplethmapboxVisibleTrue       ChoroplethmapboxVisible = true
	ChoroplethmapboxVisibleFalse      ChoroplethmapboxVisible = false
	ChoroplethmapboxVisibleLegendonly ChoroplethmapboxVisible = "legendonly"
)

type Color added in v0.4.0

type Color interface{}

Color A string describing color. Supported formats: - hex (e.g. '#d3d3d3') - rgb (e.g. 'rgb(255, 0, 0)') - rgba (e.g. 'rgb(255, 0, 0, 0.5)') - hsl (e.g. 'hsl(0, 100%, 50%)') - hsv (e.g. 'hsv(0, 100%, 100%)') - named colors (full list: http://www.w3.org/TR/css3-color/#svg-color)",

type ColorList added in v0.4.0

type ColorList []Color

ColorList A list of colors. Must be an {array} containing valid colors.

type ColorScale added in v0.4.0

type ColorScale interface{}

ColorScale A Plotly colorscale either picked by a name: (any of Greys, YlGnBu, Greens, YlOrRd, Bluered, RdBu, Reds, Blues, Picnic, Rainbow, Portland, Jet, Hot, Blackbody, Earth, Electric, Viridis, Cividis ) customized as an {array} of 2-element {arrays} where the first element is the normalized color level value (starting at *0* and ending at *1*), and the second item is a valid color string.

type Cone

type Cone struct {

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

	// Anchor
	// default: cm
	// type: enumerated
	// Sets the cones' anchor with respect to their x/y/z positions. Note that *cm* denote the cone's center of mass which corresponds to 1/4 from the tail to tip.
	Anchor ConeAnchor `json:"anchor,omitempty"`

	// Autocolorscale
	// arrayOK: false
	// type: boolean
	// Determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by `colorscale`. In case `colorscale` is unspecified or `autocolorscale` is true, the default  palette will be chosen according to whether numbers in the `color` array are all positive, all negative or mixed.
	Autocolorscale Bool `json:"autocolorscale,omitempty"`

	// Cauto
	// arrayOK: false
	// type: boolean
	// Determines whether or not the color domain is computed with respect to the input data (here u/v/w norm) or the bounds set in `cmin` and `cmax`  Defaults to `false` when `cmin` and `cmax` are set by the user.
	Cauto Bool `json:"cauto,omitempty"`

	// Cmax
	// arrayOK: false
	// type: number
	// Sets the upper bound of the color domain. Value should have the same units as u/v/w norm and if set, `cmin` must be set as well.
	Cmax float64 `json:"cmax,omitempty"`

	// Cmid
	// arrayOK: false
	// type: number
	// Sets the mid-point of the color domain by scaling `cmin` and/or `cmax` to be equidistant to this point. Value should have the same units as u/v/w norm. Has no effect when `cauto` is `false`.
	Cmid float64 `json:"cmid,omitempty"`

	// Cmin
	// arrayOK: false
	// type: number
	// Sets the lower bound of the color domain. Value should have the same units as u/v/w norm and if set, `cmax` must be set as well.
	Cmin float64 `json:"cmin,omitempty"`

	// Coloraxis
	// arrayOK: false
	// type: subplotid
	// Sets a reference to a shared color axis. References to these shared color axes are *coloraxis*, *coloraxis2*, *coloraxis3*, etc. Settings for these shared color axes are set in the layout, under `layout.coloraxis`, `layout.coloraxis2`, etc. Note that multiple color scales can be linked to the same color axis.
	Coloraxis String `json:"coloraxis,omitempty"`

	// Colorbar
	// role: Object
	Colorbar *ConeColorbar `json:"colorbar,omitempty"`

	// Colorscale
	// default: %!s(<nil>)
	// type: colorscale
	// Sets the colorscale. The colorscale must be an array containing arrays mapping a normalized value to an rgb, rgba, hex, hsl, hsv, or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, use`cmin` and `cmax`. Alternatively, `colorscale` may be a palette name string of the following list: Greys,YlGnBu,Greens,YlOrRd,Bluered,RdBu,Reds,Blues,Picnic,Rainbow,Portland,Jet,Hot,Blackbody,Earth,Electric,Viridis,Cividis.
	Colorscale ColorScale `json:"colorscale,omitempty"`

	// Customdata
	// arrayOK: false
	// type: data_array
	// Assigns extra data each datum. This may be useful when listening to hover, click and selection events. Note that, *scatter* traces also appends customdata items in the markers DOM elements
	Customdata interface{} `json:"customdata,omitempty"`

	// Customdatasrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  customdata .
	Customdatasrc String `json:"customdatasrc,omitempty"`

	// Hoverinfo
	// default: x+y+z+norm+text+name
	// type: flaglist
	// Determines which trace information appear on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired.
	Hoverinfo ConeHoverinfo `json:"hoverinfo,omitempty"`

	// Hoverinfosrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  hoverinfo .
	Hoverinfosrc String `json:"hoverinfosrc,omitempty"`

	// Hoverlabel
	// role: Object
	Hoverlabel *ConeHoverlabel `json:"hoverlabel,omitempty"`

	// Hovertemplate
	// arrayOK: true
	// type: string
	// Template string used for rendering the information that appear on hover box. Note that this will override `hoverinfo`. Variables are inserted using %{variable}, for example "y: %{y}". 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 String `json:"hovertemplate,omitempty"`

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

	// Hovertext
	// arrayOK: true
	// type: string
	// Same as `text`.
	Hovertext String `json:"hovertext,omitempty"`

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

	// Ids
	// arrayOK: false
	// type: data_array
	// Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type.
	Ids interface{} `json:"ids,omitempty"`

	// Idssrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  ids .
	Idssrc String `json:"idssrc,omitempty"`

	// Legendgroup
	// arrayOK: false
	// type: string
	// Sets the legend group for this trace. Traces part of the same legend group hide/show at the same time when toggling legend items.
	Legendgroup String `json:"legendgroup,omitempty"`

	// Lighting
	// role: Object
	Lighting *ConeLighting `json:"lighting,omitempty"`

	// Lightposition
	// role: Object
	Lightposition *ConeLightposition `json:"lightposition,omitempty"`

	// Meta
	// arrayOK: true
	// type: any
	// Assigns extra meta information associated with this trace that can be used in various text attributes. Attributes such as trace `name`, graph, axis and colorbar `title.text`, annotation `text` `rangeselector`, `updatemenues` and `sliders` `label` text all support `meta`. To access the trace `meta` values in an attribute in the same trace, simply use `%{meta[i]}` where `i` is the index or key of the `meta` item in question. To access trace `meta` in layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index.
	Meta interface{} `json:"meta,omitempty"`

	// Metasrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  meta .
	Metasrc String `json:"metasrc,omitempty"`

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

	// Opacity
	// arrayOK: false
	// type: number
	// Sets the opacity of the surface. Please note that in the case of using high `opacity` values for example a value greater than or equal to 0.5 on two surfaces (and 0.25 with four surfaces), an overlay of multiple transparent surfaces may not perfectly be sorted in depth by the webgl API. This behavior may be improved in the near future and is subject to change.
	Opacity float64 `json:"opacity,omitempty"`

	// Reversescale
	// arrayOK: false
	// type: boolean
	// Reverses the color mapping if true. If true, `cmin` will correspond to the last color in the array and `cmax` will correspond to the first color.
	Reversescale Bool `json:"reversescale,omitempty"`

	// Scene
	// arrayOK: false
	// type: subplotid
	// Sets a reference between this trace's 3D coordinate system and a 3D scene. If *scene* (the default value), the (x,y,z) coordinates refer to `layout.scene`. If *scene2*, the (x,y,z) coordinates refer to `layout.scene2`, and so on.
	Scene String `json:"scene,omitempty"`

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

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

	// Sizemode
	// default: scaled
	// type: enumerated
	// Determines whether `sizeref` is set as a *scaled* (i.e unitless) scalar (normalized by the max u/v/w norm in the vector field) or as *absolute* value (in the same units as the vector field).
	Sizemode ConeSizemode `json:"sizemode,omitempty"`

	// Sizeref
	// arrayOK: false
	// type: number
	// Adjusts the cone size scaling. The size of the cones is determined by their u/v/w norm multiplied a factor and `sizeref`. This factor (computed internally) corresponds to the minimum "time" to travel across two successive x/y/z positions at the average velocity of those two successive positions. All cones in a given trace use the same factor. With `sizemode` set to *scaled*, `sizeref` is unitless, its default value is *0.5* With `sizemode` set to *absolute*, `sizeref` has the same units as the u/v/w vector field, its the default value is half the sample's maximum vector norm.
	Sizeref float64 `json:"sizeref,omitempty"`

	// Stream
	// role: Object
	Stream *ConeStream `json:"stream,omitempty"`

	// Text
	// arrayOK: true
	// type: string
	// Sets the text elements associated with the cones. If trace `hoverinfo` contains a *text* flag and *hovertext* is not set, these elements will be seen in the hover labels.
	Text String `json:"text,omitempty"`

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

	// U
	// arrayOK: false
	// type: data_array
	// Sets the x components of the vector field.
	U interface{} `json:"u,omitempty"`

	// Uid
	// arrayOK: false
	// type: string
	// Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.
	Uid String `json:"uid,omitempty"`

	// Uirevision
	// arrayOK: false
	// type: any
	// Controls persistence of some user-driven changes to the trace: `constraintrange` in `parcoords` traces, as well as some `editable: true` modifications such as `name` and `colorbar.title`. Defaults to `layout.uirevision`. Note that other user-driven trace attribute changes are controlled by `layout` attributes: `trace.visible` is controlled by `layout.legend.uirevision`, `selectedpoints` is controlled by `layout.selectionrevision`, and `colorbar.(x|y)` (accessible with `config: {editable: true}`) is controlled by `layout.editrevision`. Trace changes are tracked by `uid`, which only falls back on trace index if no `uid` is provided. So if your app can add/remove traces before the end of the `data` array, such that the same trace has a different index, you can still preserve user-driven changes if you give each trace a `uid` that stays with it as it moves.
	Uirevision interface{} `json:"uirevision,omitempty"`

	// Usrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  u .
	Usrc String `json:"usrc,omitempty"`

	// V
	// arrayOK: false
	// type: data_array
	// Sets the y components of the vector field.
	V interface{} `json:"v,omitempty"`

	// Visible
	// default: %!s(bool=true)
	// type: enumerated
	// Determines whether or not this trace is visible. If *legendonly*, the trace is not drawn, but can appear as a legend item (provided that the legend itself is visible).
	Visible ConeVisible `json:"visible,omitempty"`

	// Vsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  v .
	Vsrc String `json:"vsrc,omitempty"`

	// W
	// arrayOK: false
	// type: data_array
	// Sets the z components of the vector field.
	W interface{} `json:"w,omitempty"`

	// Wsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  w .
	Wsrc String `json:"wsrc,omitempty"`

	// X
	// arrayOK: false
	// type: data_array
	// Sets the x coordinates of the vector field and of the displayed cones.
	X interface{} `json:"x,omitempty"`

	// Xsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  x .
	Xsrc String `json:"xsrc,omitempty"`

	// Y
	// arrayOK: false
	// type: data_array
	// Sets the y coordinates of the vector field and of the displayed cones.
	Y interface{} `json:"y,omitempty"`

	// Ysrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  y .
	Ysrc String `json:"ysrc,omitempty"`

	// Z
	// arrayOK: false
	// type: data_array
	// Sets the z coordinates of the vector field and of the displayed cones.
	Z interface{} `json:"z,omitempty"`

	// Zsrc
	// arrayOK: false
	// type: 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 (*Cone) GetType

func (trace *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 (
	ConeAnchorTip    ConeAnchor = "tip"
	ConeAnchorTail   ConeAnchor = "tail"
	ConeAnchorCm     ConeAnchor = "cm"
	ConeAnchorCenter ConeAnchor = "center"
)

type ConeColorbar

type ConeColorbar struct {

	// Bgcolor
	// arrayOK: false
	// type: color
	// Sets the color of padded area.
	Bgcolor Color `json:"bgcolor,omitempty"`

	// Bordercolor
	// arrayOK: false
	// type: color
	// Sets the axis line color.
	Bordercolor Color `json:"bordercolor,omitempty"`

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

	// Dtick
	// arrayOK: false
	// type: any
	// Sets the step in-between ticks on this axis. Use with `tick0`. Must be a positive number, or special strings available to *log* and *date* axes. If the axis `type` is *log*, then ticks are set every 10^(n*dtick) where n is the tick number. For example, to set a tick mark at 1, 10, 100, 1000, ... set dtick to 1. To set tick marks at 1, 100, 10000, ... set dtick to 2. To set tick marks at 1, 5, 25, 125, 625, 3125, ... set dtick to log_10(5), or 0.69897000433. *log* has several special values; *L<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
	// default: B
	// type: enumerated
	// Determines a formatting rule for the tick exponents. For example, consider the number 1,000,000,000. If *none*, it appears as 1,000,000,000. If *e*, 1e+9. If *E*, 1E+9. If *power*, 1x10^9 (with 9 in a super script). If *SI*, 1G. If *B*, 1B.
	Exponentformat ConeColorbarExponentformat `json:"exponentformat,omitempty"`

	// Len
	// arrayOK: false
	// type: number
	// Sets the length of the color bar This measure excludes the padding of both ends. That is, the color bar length is this length minus the padding on both ends.
	Len float64 `json:"len,omitempty"`

	// Lenmode
	// default: fraction
	// type: enumerated
	// Determines whether this color bar's length (i.e. the measure in the color variation direction) is set in units of plot *fraction* or in *pixels. Use `len` to set the value.
	Lenmode ConeColorbarLenmode `json:"lenmode,omitempty"`

	// Minexponent
	// arrayOK: false
	// type: number
	// Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*.
	Minexponent float64 `json:"minexponent,omitempty"`

	// Nticks
	// arrayOK: false
	// type: integer
	// Specifies the maximum number of ticks for the particular axis. The actual number of ticks will be chosen automatically to be less than or equal to `nticks`. Has an effect only if `tickmode` is set to *auto*.
	Nticks int64 `json:"nticks,omitempty"`

	// Outlinecolor
	// arrayOK: false
	// type: color
	// Sets the axis line color.
	Outlinecolor Color `json:"outlinecolor,omitempty"`

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

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

	// Showexponent
	// default: all
	// type: enumerated
	// If *all*, all exponents are shown besides their significands. If *first*, only the exponent of the first tick is shown. If *last*, only the exponent of the last tick is shown. If *none*, no exponents appear.
	Showexponent ConeColorbarShowexponent `json:"showexponent,omitempty"`

	// Showticklabels
	// arrayOK: false
	// type: boolean
	// Determines whether or not the tick labels are drawn.
	Showticklabels Bool `json:"showticklabels,omitempty"`

	// Showtickprefix
	// default: all
	// type: enumerated
	// If *all*, all tick labels are displayed with a prefix. If *first*, only the first tick is displayed with a prefix. If *last*, only the last tick is displayed with a suffix. If *none*, tick prefixes are hidden.
	Showtickprefix ConeColorbarShowtickprefix `json:"showtickprefix,omitempty"`

	// Showticksuffix
	// default: all
	// type: enumerated
	// Same as `showtickprefix` but for tick suffixes.
	Showticksuffix ConeColorbarShowticksuffix `json:"showticksuffix,omitempty"`

	// Thickness
	// arrayOK: false
	// type: number
	// Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.
	Thickness float64 `json:"thickness,omitempty"`

	// Thicknessmode
	// default: pixels
	// type: enumerated
	// Determines whether this color bar's thickness (i.e. the measure in the constant color direction) is set in units of plot *fraction* or in *pixels*. Use `thickness` to set the value.
	Thicknessmode ConeColorbarThicknessmode `json:"thicknessmode,omitempty"`

	// Tick0
	// arrayOK: false
	// type: any
	// Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2) except when `dtick`=*L<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
	// arrayOK: false
	// type: angle
	// Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.
	Tickangle float64 `json:"tickangle,omitempty"`

	// Tickcolor
	// arrayOK: false
	// type: color
	// Sets the tick color.
	Tickcolor Color `json:"tickcolor,omitempty"`

	// Tickfont
	// role: Object
	Tickfont *ConeColorbarTickfont `json:"tickfont,omitempty"`

	// Tickformat
	// arrayOK: false
	// type: string
	// Sets the tick label formatting rule using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-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
	// It's an items array and what goes inside it's... messy... check the docs
	// I will be happy if you want to contribute by implementing this
	// just raise an issue before you start so we do not overlap
	Tickformatstops interface{} `json:"tickformatstops,omitempty"`

	// Ticklabelposition
	// default: outside
	// type: enumerated
	// Determines where tick labels are drawn.
	Ticklabelposition ConeColorbarTicklabelposition `json:"ticklabelposition,omitempty"`

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

	// Tickmode
	// default: %!s(<nil>)
	// type: enumerated
	// Sets the tick mode for this axis. If *auto*, the number of ticks is set via `nticks`. If *linear*, the placement of the ticks is determined by a starting position `tick0` and a tick step `dtick` (*linear* is the default value if `tick0` and `dtick` are provided). If *array*, the placement of the ticks is set via `tickvals` and the tick text is `ticktext`. (*array* is the default value if `tickvals` is provided).
	Tickmode ConeColorbarTickmode `json:"tickmode,omitempty"`

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

	// Ticks
	// default:
	// type: enumerated
	// Determines whether ticks are drawn or not. If **, this axis' ticks are not drawn. If *outside* (*inside*), this axis' are drawn outside (inside) the axis lines.
	Ticks ConeColorbarTicks `json:"ticks,omitempty"`

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

	// Ticktext
	// arrayOK: false
	// type: data_array
	// Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `tickvals`.
	Ticktext interface{} `json:"ticktext,omitempty"`

	// Ticktextsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  ticktext .
	Ticktextsrc String `json:"ticktextsrc,omitempty"`

	// Tickvals
	// arrayOK: false
	// type: data_array
	// Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.
	Tickvals interface{} `json:"tickvals,omitempty"`

	// Tickvalssrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  tickvals .
	Tickvalssrc String `json:"tickvalssrc,omitempty"`

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

	// Title
	// role: Object
	Title *ConeColorbarTitle `json:"title,omitempty"`

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

	// Xanchor
	// default: left
	// type: enumerated
	// Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the color bar.
	Xanchor ConeColorbarXanchor `json:"xanchor,omitempty"`

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

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

	// Yanchor
	// default: middle
	// type: enumerated
	// Sets this color bar's vertical position anchor This anchor binds the `y` position to the *top*, *middle* or *bottom* of the color bar.
	Yanchor ConeColorbarYanchor `json:"yanchor,omitempty"`

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

ConeColorbar

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 (
	ConeColorbarExponentformatNone  ConeColorbarExponentformat = "none"
	ConeColorbarExponentformatE1    ConeColorbarExponentformat = "e"
	ConeColorbarExponentformatE2    ConeColorbarExponentformat = "E"
	ConeColorbarExponentformatPower ConeColorbarExponentformat = "power"
	ConeColorbarExponentformatSi    ConeColorbarExponentformat = "SI"
	ConeColorbarExponentformatB     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 (
	ConeColorbarLenmodeFraction ConeColorbarLenmode = "fraction"
	ConeColorbarLenmodePixels   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 (
	ConeColorbarShowexponentAll   ConeColorbarShowexponent = "all"
	ConeColorbarShowexponentFirst ConeColorbarShowexponent = "first"
	ConeColorbarShowexponentLast  ConeColorbarShowexponent = "last"
	ConeColorbarShowexponentNone  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 (
	ConeColorbarShowtickprefixAll   ConeColorbarShowtickprefix = "all"
	ConeColorbarShowtickprefixFirst ConeColorbarShowtickprefix = "first"
	ConeColorbarShowtickprefixLast  ConeColorbarShowtickprefix = "last"
	ConeColorbarShowtickprefixNone  ConeColorbarShowtickprefix = "none"
)

type ConeColorbarShowticksuffix

type ConeColorbarShowticksuffix string

ConeColorbarShowticksuffix Same as `showtickprefix` but for tick suffixes.

const (
	ConeColorbarShowticksuffixAll   ConeColorbarShowticksuffix = "all"
	ConeColorbarShowticksuffixFirst ConeColorbarShowticksuffix = "first"
	ConeColorbarShowticksuffixLast  ConeColorbarShowticksuffix = "last"
	ConeColorbarShowticksuffixNone  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 (
	ConeColorbarThicknessmodeFraction ConeColorbarThicknessmode = "fraction"
	ConeColorbarThicknessmodePixels   ConeColorbarThicknessmode = "pixels"
)

type ConeColorbarTickfont

type ConeColorbarTickfont struct {

	// Color
	// arrayOK: false
	// type: color
	//
	Color Color `json:"color,omitempty"`

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

	// Size
	// arrayOK: false
	// type: number
	//
	Size float64 `json:"size,omitempty"`
}

ConeColorbarTickfont Sets the color bar's tick label font

type ConeColorbarTicklabelposition added in v0.3.1

type ConeColorbarTicklabelposition string

ConeColorbarTicklabelposition Determines where tick labels are drawn.

const (
	ConeColorbarTicklabelpositionOutside       ConeColorbarTicklabelposition = "outside"
	ConeColorbarTicklabelpositionInside        ConeColorbarTicklabelposition = "inside"
	ConeColorbarTicklabelpositionOutsideTop    ConeColorbarTicklabelposition = "outside top"
	ConeColorbarTicklabelpositionInsideTop     ConeColorbarTicklabelposition = "inside top"
	ConeColorbarTicklabelpositionOutsideBottom ConeColorbarTicklabelposition = "outside bottom"
	ConeColorbarTicklabelpositionInsideBottom  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 (
	ConeColorbarTickmodeAuto   ConeColorbarTickmode = "auto"
	ConeColorbarTickmodeLinear ConeColorbarTickmode = "linear"
	ConeColorbarTickmodeArray  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 (
	ConeColorbarTicksOutside ConeColorbarTicks = "outside"
	ConeColorbarTicksInside  ConeColorbarTicks = "inside"
	ConeColorbarTicksEmpty   ConeColorbarTicks = ""
)

type ConeColorbarTitle

type ConeColorbarTitle struct {

	// Font
	// role: Object
	Font *ConeColorbarTitleFont `json:"font,omitempty"`

	// Side
	// default: top
	// type: enumerated
	// Determines the location of color bar's title with respect to the color bar. Note that the title's location used to be set by the now deprecated `titleside` attribute.
	Side ConeColorbarTitleSide `json:"side,omitempty"`

	// Text
	// arrayOK: false
	// type: string
	// Sets the title of the color bar. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.
	Text String `json:"text,omitempty"`
}

ConeColorbarTitle

type ConeColorbarTitleFont

type ConeColorbarTitleFont struct {

	// Color
	// arrayOK: false
	// type: color
	//
	Color Color `json:"color,omitempty"`

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

	// Size
	// arrayOK: false
	// type: number
	//
	Size float64 `json:"size,omitempty"`
}

ConeColorbarTitleFont Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.

type 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 (
	ConeColorbarTitleSideRight  ConeColorbarTitleSide = "right"
	ConeColorbarTitleSideTop    ConeColorbarTitleSide = "top"
	ConeColorbarTitleSideBottom 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 (
	ConeColorbarXanchorLeft   ConeColorbarXanchor = "left"
	ConeColorbarXanchorCenter ConeColorbarXanchor = "center"
	ConeColorbarXanchorRight  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 (
	ConeColorbarYanchorTop    ConeColorbarYanchor = "top"
	ConeColorbarYanchorMiddle ConeColorbarYanchor = "middle"
	ConeColorbarYanchorBottom ConeColorbarYanchor = "bottom"
)

type ConeHoverinfo

type ConeHoverinfo string

ConeHoverinfo Determines which trace information appear on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired.

const (
	// Flags
	ConeHoverinfoX    ConeHoverinfo = "x"
	ConeHoverinfoY    ConeHoverinfo = "y"
	ConeHoverinfoZ    ConeHoverinfo = "z"
	ConeHoverinfoU    ConeHoverinfo = "u"
	ConeHoverinfoV    ConeHoverinfo = "v"
	ConeHoverinfoW    ConeHoverinfo = "w"
	ConeHoverinfoNorm ConeHoverinfo = "norm"
	ConeHoverinfoText ConeHoverinfo = "text"
	ConeHoverinfoName ConeHoverinfo = "name"

	// Extra
	ConeHoverinfoAll  ConeHoverinfo = "all"
	ConeHoverinfoNone ConeHoverinfo = "none"
	ConeHoverinfoSkip ConeHoverinfo = "skip"
)

type ConeHoverlabel

type ConeHoverlabel struct {

	// Align
	// default: auto
	// type: enumerated
	// Sets the horizontal alignment of the text content within hover label box. Has an effect only if the hover label text spans more two or more lines
	Align ConeHoverlabelAlign `json:"align,omitempty"`

	// Alignsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  align .
	Alignsrc String `json:"alignsrc,omitempty"`

	// Bgcolor
	// arrayOK: true
	// type: color
	// Sets the background color of the hover labels for this trace
	Bgcolor Color `json:"bgcolor,omitempty"`

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

	// Bordercolor
	// arrayOK: true
	// type: color
	// Sets the border color of the hover labels for this trace.
	Bordercolor Color `json:"bordercolor,omitempty"`

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

	// Font
	// role: Object
	Font *ConeHoverlabelFont `json:"font,omitempty"`

	// Namelength
	// arrayOK: true
	// type: integer
	// Sets the default length (in number of characters) of the trace name in the hover labels for all traces. -1 shows the whole name regardless of length. 0-3 shows the first 0-3 characters, and an integer >3 will show the whole name if it is less than that many characters, but if it is longer, will truncate to `namelength - 3` characters and add an ellipsis.
	Namelength int64 `json:"namelength,omitempty"`

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

ConeHoverlabel

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 (
	ConeHoverlabelAlignLeft  ConeHoverlabelAlign = "left"
	ConeHoverlabelAlignRight ConeHoverlabelAlign = "right"
	ConeHoverlabelAlignAuto  ConeHoverlabelAlign = "auto"
)

type ConeHoverlabelFont

type ConeHoverlabelFont struct {

	// Color
	// arrayOK: true
	// type: color
	//
	Color Color `json:"color,omitempty"`

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

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

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

	// Size
	// arrayOK: true
	// type: number
	//
	Size float64 `json:"size,omitempty"`

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

ConeHoverlabelFont Sets the font used in hover labels.

type ConeLighting

type ConeLighting struct {

	// Ambient
	// arrayOK: false
	// type: number
	// Ambient light increases overall color visibility but can wash out the image.
	Ambient float64 `json:"ambient,omitempty"`

	// Diffuse
	// arrayOK: false
	// type: number
	// Represents the extent that incident rays are reflected in a range of angles.
	Diffuse float64 `json:"diffuse,omitempty"`

	// Facenormalsepsilon
	// arrayOK: false
	// type: number
	// Epsilon for face normals calculation avoids math issues arising from degenerate geometry.
	Facenormalsepsilon float64 `json:"facenormalsepsilon,omitempty"`

	// Fresnel
	// arrayOK: false
	// type: number
	// Represents the reflectance as a dependency of the viewing angle; e.g. paper is reflective when viewing it from the edge of the paper (almost 90 degrees), causing shine.
	Fresnel float64 `json:"fresnel,omitempty"`

	// Roughness
	// arrayOK: false
	// type: number
	// Alters specular reflection; the rougher the surface, the wider and less contrasty the shine.
	Roughness float64 `json:"roughness,omitempty"`

	// Specular
	// arrayOK: false
	// type: number
	// Represents the level that incident rays are reflected in a single direction, causing shine.
	Specular float64 `json:"specular,omitempty"`

	// Vertexnormalsepsilon
	// arrayOK: false
	// type: number
	// Epsilon for vertex normals calculation avoids math issues arising from degenerate geometry.
	Vertexnormalsepsilon float64 `json:"vertexnormalsepsilon,omitempty"`
}

ConeLighting

type ConeLightposition

type ConeLightposition struct {

	// X
	// arrayOK: false
	// type: number
	// Numeric vector, representing the X coordinate for each vertex.
	X float64 `json:"x,omitempty"`

	// Y
	// arrayOK: false
	// type: number
	// Numeric vector, representing the Y coordinate for each vertex.
	Y float64 `json:"y,omitempty"`

	// Z
	// arrayOK: false
	// type: number
	// Numeric vector, representing the Z coordinate for each vertex.
	Z float64 `json:"z,omitempty"`
}

ConeLightposition

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 (
	ConeSizemodeScaled   ConeSizemode = "scaled"
	ConeSizemodeAbsolute ConeSizemode = "absolute"
)

type ConeStream

type ConeStream struct {

	// Maxpoints
	// arrayOK: false
	// type: number
	// Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot.
	Maxpoints float64 `json:"maxpoints,omitempty"`

	// Token
	// arrayOK: false
	// type: string
	// The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details.
	Token String `json:"token,omitempty"`
}

ConeStream

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 (
	ConeVisibleTrue       ConeVisible = true
	ConeVisibleFalse      ConeVisible = false
	ConeVisibleLegendonly ConeVisible = "legendonly"
)

type Config

type Config struct {

	// Autosizable
	// arrayOK: false
	// type: boolean
	// Determines whether the graphs are plotted with respect to layout.autosize:true and infer its container size.
	Autosizable Bool `json:"autosizable,omitempty"`

	// Displaymodebar
	// default: hover
	// type: enumerated
	// Determines the mode bar display mode. If *true*, the mode bar is always visible. If *false*, the mode bar is always hidden. If *hover*, the mode bar is visible while the mouse cursor is on the graph container.
	Displaymodebar ConfigDisplaymodebar `json:"displayModeBar,omitempty"`

	// arrayOK: false
	// type: boolean
	// Determines whether or not the plotly logo is displayed on the end of the mode bar.
	Displaylogo Bool `json:"displaylogo,omitempty"`

	// Doubleclick
	// default: reset+autosize
	// type: enumerated
	// Sets the double click interaction mode. Has an effect only in cartesian plots. If *false*, double click is disable. If *reset*, double click resets the axis ranges to their initial values. If *autosize*, double click set the axis ranges to their autorange values. If *reset+autosize*, the odd double clicks resets the axis ranges to their initial values and even double clicks set the axis ranges to their autorange values.
	Doubleclick ConfigDoubleclick `json:"doubleClick,omitempty"`

	// Doubleclickdelay
	// arrayOK: false
	// type: number
	// Sets the delay for registering a double-click in ms. This is the time interval (in ms) between first mousedown and 2nd mouseup to constitute a double-click. This setting propagates to all on-subplot double clicks (except for geo and mapbox) and on-legend double clicks.
	Doubleclickdelay float64 `json:"doubleClickDelay,omitempty"`

	// Editable
	// arrayOK: false
	// type: boolean
	// Determines whether the graph is editable or not. Sets all pieces of `edits` unless a separate `edits` config item overrides individual parts.
	Editable Bool `json:"editable,omitempty"`

	// Edits
	// role: Object
	Edits *ConfigEdits `json:"edits,omitempty"`

	// Fillframe
	// arrayOK: false
	// type: boolean
	// When `layout.autosize` is turned on, determines whether the graph fills the container (the default) or the screen (if set to *true*).
	Fillframe Bool `json:"fillFrame,omitempty"`

	// Framemargins
	// arrayOK: false
	// type: number
	// When `layout.autosize` is turned on, set the frame margins in fraction of the graph size.
	Framemargins float64 `json:"frameMargins,omitempty"`

	// Globaltransforms
	// arrayOK: false
	// type: any
	// Set global transform to be applied to all traces with no specification needed
	Globaltransforms interface{} `json:"globalTransforms,omitempty"`

	// Linktext
	// arrayOK: false
	// type: string
	// Sets the text appearing in the `showLink` link.
	Linktext String `json:"linkText,omitempty"`

	// Locale
	// arrayOK: false
	// type: string
	// Which localization should we use? Should be a string like 'en' or 'en-US'.
	Locale String `json:"locale,omitempty"`

	// Locales
	// arrayOK: false
	// type: any
	// Localization definitions Locales can be provided either here (specific to one chart) or globally by registering them as modules. Should be an object of objects {locale: {dictionary: {...}, format: {...}}} {   da: {       dictionary: {'Reset axes': 'Nulstil aksler', ...},       format: {months: [...], shortMonths: [...]}   },   ... } All parts are optional. When looking for translation or format fields, we look first for an exact match in a config locale, then in a registered module. If those fail, we strip off any regionalization ('en-US' -> 'en') and try each (config, registry) again. The final fallback for translation is untranslated (which is US English) and for formats is the base English (the only consequence being the last fallback date format %x is DD/MM/YYYY instead of MM/DD/YYYY). Currently `grouping` and `currency` are ignored for our automatic number formatting, but can be used in custom formats.
	Locales interface{} `json:"locales,omitempty"`

	// Logging
	// arrayOK: false
	// type: integer
	// Turn all console logging on or off (errors will be thrown) This should ONLY be set via Plotly.setPlotConfig Available levels: 0: no logs 1: warnings and errors, but not informational messages 2: verbose logs
	Logging int64 `json:"logging,omitempty"`

	// Mapboxaccesstoken
	// arrayOK: false
	// type: string
	// Mapbox access token (required to plot mapbox trace types) If using an Mapbox Atlas server, set this option to ” so that plotly.js won't attempt to authenticate to the public Mapbox server.
	Mapboxaccesstoken String `json:"mapboxAccessToken,omitempty"`

	// Modebarbuttons
	// arrayOK: false
	// type: any
	// Define fully custom mode bar buttons as nested array, where the outer arrays represents button groups, and the inner arrays have buttons config objects or names of default buttons See ./components/modebar/buttons.js for more info.
	Modebarbuttons interface{} `json:"modeBarButtons,omitempty"`

	// Modebarbuttonstoadd
	// arrayOK: false
	// type: any
	// Add mode bar button using config objects See ./components/modebar/buttons.js for list of arguments.
	Modebarbuttonstoadd interface{} `json:"modeBarButtonsToAdd,omitempty"`

	// Modebarbuttonstoremove
	// arrayOK: false
	// type: any
	// Remove mode bar buttons by name. See ./components/modebar/buttons.js for the list of names.
	Modebarbuttonstoremove interface{} `json:"modeBarButtonsToRemove,omitempty"`

	// Notifyonlogging
	// arrayOK: false
	// type: integer
	// Set on-graph logging (notifier) level This should ONLY be set via Plotly.setPlotConfig Available levels: 0: no on-graph logs 1: warnings and errors, but not informational messages 2: verbose logs
	Notifyonlogging int64 `json:"notifyOnLogging,omitempty"`

	// Plotglpixelratio
	// arrayOK: false
	// type: number
	// Set the pixel ratio during WebGL image export. This config option was formerly named `plot3dPixelRatio` which is now deprecated.
	Plotglpixelratio float64 `json:"plotGlPixelRatio,omitempty"`

	// Plotlyserverurl
	// arrayOK: false
	// type: string
	// When set it determines base URL for the 'Edit in Chart Studio' `showEditInChartStudio`/`showSendToCloud` mode bar button and the showLink/sendData on-graph link. To enable sending your data to Chart Studio Cloud, you need to set both `plotlyServerURL` to 'https://chart-studio.plotly.com' and also set `showSendToCloud` to true.
	Plotlyserverurl String `json:"plotlyServerURL,omitempty"`

	// Queuelength
	// arrayOK: false
	// type: integer
	// Sets the length of the undo/redo queue.
	Queuelength int64 `json:"queueLength,omitempty"`

	// Responsive
	// arrayOK: false
	// type: boolean
	// Determines whether to change the layout size when window is resized. In v2, this option will be removed and will always be true.
	Responsive Bool `json:"responsive,omitempty"`

	// Scrollzoom
	// default: gl3d+geo+mapbox
	// type: flaglist
	// Determines whether mouse wheel or two-finger scroll zooms is enable. Turned on by default for gl3d, geo and mapbox subplots (as these subplot types do not have zoombox via pan), but turned off by default for cartesian subplots. Set `scrollZoom` to *false* to disable scrolling for all subplots.
	Scrollzoom ConfigScrollzoom `json:"scrollZoom,omitempty"`

	// Senddata
	// arrayOK: false
	// type: boolean
	// If *showLink* is true, does it contain data just link to a Chart Studio Cloud file?
	Senddata Bool `json:"sendData,omitempty"`

	// Setbackground
	// arrayOK: false
	// type: any
	// Set function to add the background color (i.e. `layout.paper_color`) to a different container. This function take the graph div as first argument and the current background color as second argument. Alternatively, set to string *opaque* to ensure there is white behind it.
	Setbackground interface{} `json:"setBackground,omitempty"`

	// Showaxisdraghandles
	// arrayOK: false
	// type: boolean
	// Set to *false* to omit cartesian axis pan/zoom drag handles.
	Showaxisdraghandles Bool `json:"showAxisDragHandles,omitempty"`

	// Showaxisrangeentryboxes
	// arrayOK: false
	// type: boolean
	// Set to *false* to omit direct range entry at the pan/zoom drag points, note that `showAxisDragHandles` must be enabled to have an effect.
	Showaxisrangeentryboxes Bool `json:"showAxisRangeEntryBoxes,omitempty"`

	// Showeditinchartstudio
	// arrayOK: false
	// type: boolean
	// Same as `showSendToCloud`, but use a pencil icon instead of a floppy-disk. Note that if both `showSendToCloud` and `showEditInChartStudio` are turned, only `showEditInChartStudio` will be honored.
	Showeditinchartstudio Bool `json:"showEditInChartStudio,omitempty"`

	// Showlink
	// arrayOK: false
	// type: boolean
	// Determines whether a link to Chart Studio Cloud is displayed at the bottom right corner of resulting graphs. Use with `sendData` and `linkText`.
	Showlink Bool `json:"showLink,omitempty"`

	// Showsendtocloud
	// arrayOK: false
	// type: boolean
	// Should we include a ModeBar button, labeled "Edit in Chart Studio", that sends this chart to chart-studio.plotly.com (formerly plot.ly) or another plotly server as specified by `plotlyServerURL` for editing, export, etc? Prior to version 1.43.0 this button was included by default, now it is opt-in using this flag. Note that this button can (depending on `plotlyServerURL` being set) send your data to an external server. However that server does not persist your data until you arrive at the Chart Studio and explicitly click "Save".
	Showsendtocloud Bool `json:"showSendToCloud,omitempty"`

	// Showsources
	// arrayOK: false
	// type: any
	// Adds a source-displaying function to show sources on the resulting graphs.
	Showsources interface{} `json:"showSources,omitempty"`

	// Showtips
	// arrayOK: false
	// type: boolean
	// Determines whether or not tips are shown while interacting with the resulting graphs.
	Showtips Bool `json:"showTips,omitempty"`

	// Staticplot
	// arrayOK: false
	// type: boolean
	// Determines whether the graphs are interactive or not. If *false*, no interactivity, for export or image generation.
	Staticplot Bool `json:"staticPlot,omitempty"`

	// Toimagebuttonoptions
	// arrayOK: false
	// type: any
	// Statically override options for toImage modebar button allowed keys are format, filename, width, height, scale see ../components/modebar/buttons.js
	Toimagebuttonoptions interface{} `json:"toImageButtonOptions,omitempty"`

	// Topojsonurl
	// arrayOK: false
	// type: string
	// Set the URL to topojson used in geo charts. By default, the topojson files are fetched from cdn.plot.ly. For example, set this option to: <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
	// arrayOK: false
	// type: boolean
	// watermark the images with the company's logo
	Watermark Bool `json:"watermark,omitempty"`
}

Code generated by go-plotly/generator. DO NOT EDIT.// Config Plot config options

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 (
	ConfigDisplaymodebarHover ConfigDisplaymodebar = "hover"
	ConfigDisplaymodebarTrue  ConfigDisplaymodebar = true
	ConfigDisplaymodebarFalse 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 (
	ConfigDoubleclickFalse             ConfigDoubleclick = false
	ConfigDoubleclickReset             ConfigDoubleclick = "reset"
	ConfigDoubleclickAutosize          ConfigDoubleclick = "autosize"
	ConfigDoubleclickResetPlusautosize ConfigDoubleclick = "reset+autosize"
)

type ConfigEdits

type ConfigEdits struct {

	// Annotationposition
	// arrayOK: false
	// type: boolean
	// Determines if the main anchor of the annotation is editable. The main anchor corresponds to the text (if no arrow) or the arrow (which drags the whole thing leaving the arrow length & direction unchanged).
	Annotationposition Bool `json:"annotationPosition,omitempty"`

	// Annotationtail
	// arrayOK: false
	// type: boolean
	// Has only an effect for annotations with arrows. Enables changing the length and direction of the arrow.
	Annotationtail Bool `json:"annotationTail,omitempty"`

	// Annotationtext
	// arrayOK: false
	// type: boolean
	// Enables editing annotation text.
	Annotationtext Bool `json:"annotationText,omitempty"`

	// Axistitletext
	// arrayOK: false
	// type: boolean
	// Enables editing axis title text.
	Axistitletext Bool `json:"axisTitleText,omitempty"`

	// Colorbarposition
	// arrayOK: false
	// type: boolean
	// Enables moving colorbars.
	Colorbarposition Bool `json:"colorbarPosition,omitempty"`

	// Colorbartitletext
	// arrayOK: false
	// type: boolean
	// Enables editing colorbar title text.
	Colorbartitletext Bool `json:"colorbarTitleText,omitempty"`

	// Legendposition
	// arrayOK: false
	// type: boolean
	// Enables moving the legend.
	Legendposition Bool `json:"legendPosition,omitempty"`

	// Legendtext
	// arrayOK: false
	// type: boolean
	// Enables editing the trace name fields from the legend
	Legendtext Bool `json:"legendText,omitempty"`

	// Shapeposition
	// arrayOK: false
	// type: boolean
	// Enables moving shapes.
	Shapeposition Bool `json:"shapePosition,omitempty"`

	// Titletext
	// arrayOK: false
	// type: boolean
	// Enables editing the global layout title.
	Titletext Bool `json:"titleText,omitempty"`
}

ConfigEdits

type ConfigScrollzoom

type ConfigScrollzoom interface{}

ConfigScrollzoom Determines whether mouse wheel or two-finger scroll zooms is enable. Turned on by default for gl3d, geo and mapbox subplots (as these subplot types do not have zoombox via pan), but turned off by default for cartesian subplots. Set `scrollZoom` to *false* to disable scrolling for all subplots.

var (
	// Flags
	ConfigScrollzoomCartesian ConfigScrollzoom = "cartesian"
	ConfigScrollzoomGl3d      ConfigScrollzoom = "gl3d"
	ConfigScrollzoomGeo       ConfigScrollzoom = "geo"
	ConfigScrollzoomMapbox    ConfigScrollzoom = "mapbox"

	// Extra
	ConfigScrollzoomTrue  ConfigScrollzoom = true
	ConfigScrollzoomFalse ConfigScrollzoom = false
)

type Contour

type Contour struct {

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

	// Autocolorscale
	// arrayOK: false
	// type: boolean
	// Determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by `colorscale`. In case `colorscale` is unspecified or `autocolorscale` is true, the default  palette will be chosen according to whether numbers in the `color` array are all positive, all negative or mixed.
	Autocolorscale Bool `json:"autocolorscale,omitempty"`

	// Autocontour
	// arrayOK: false
	// type: boolean
	// Determines whether or not the contour level attributes are picked by an algorithm. If *true*, the number of contour levels can be set in `ncontours`. If *false*, set the contour level attributes in `contours`.
	Autocontour Bool `json:"autocontour,omitempty"`

	// Coloraxis
	// arrayOK: false
	// type: subplotid
	// Sets a reference to a shared color axis. References to these shared color axes are *coloraxis*, *coloraxis2*, *coloraxis3*, etc. Settings for these shared color axes are set in the layout, under `layout.coloraxis`, `layout.coloraxis2`, etc. Note that multiple color scales can be linked to the same color axis.
	Coloraxis String `json:"coloraxis,omitempty"`

	// Colorbar
	// role: Object
	Colorbar *ContourColorbar `json:"colorbar,omitempty"`

	// Colorscale
	// default: %!s(<nil>)
	// type: colorscale
	// Sets the colorscale. The colorscale must be an array containing arrays mapping a normalized value to an rgb, rgba, hex, hsl, hsv, or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, use`zmin` and `zmax`. Alternatively, `colorscale` may be a palette name string of the following list: Greys,YlGnBu,Greens,YlOrRd,Bluered,RdBu,Reds,Blues,Picnic,Rainbow,Portland,Jet,Hot,Blackbody,Earth,Electric,Viridis,Cividis.
	Colorscale ColorScale `json:"colorscale,omitempty"`

	// Connectgaps
	// arrayOK: false
	// type: boolean
	// Determines whether or not gaps (i.e. {nan} or missing values) in the `z` data are filled in. It is defaulted to true if `z` is a one dimensional array otherwise it is defaulted to false.
	Connectgaps Bool `json:"connectgaps,omitempty"`

	// Contours
	// role: Object
	Contours *ContourContours `json:"contours,omitempty"`

	// Customdata
	// arrayOK: false
	// type: data_array
	// Assigns extra data each datum. This may be useful when listening to hover, click and selection events. Note that, *scatter* traces also appends customdata items in the markers DOM elements
	Customdata interface{} `json:"customdata,omitempty"`

	// Customdatasrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  customdata .
	Customdatasrc String `json:"customdatasrc,omitempty"`

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

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

	// Fillcolor
	// arrayOK: false
	// type: color
	// Sets the fill color if `contours.type` is *constraint*. Defaults to a half-transparent variant of the line color, marker color, or marker line color, whichever is available.
	Fillcolor Color `json:"fillcolor,omitempty"`

	// Hoverinfo
	// default: all
	// type: flaglist
	// Determines which trace information appear on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired.
	Hoverinfo ContourHoverinfo `json:"hoverinfo,omitempty"`

	// Hoverinfosrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  hoverinfo .
	Hoverinfosrc String `json:"hoverinfosrc,omitempty"`

	// Hoverlabel
	// role: Object
	Hoverlabel *ContourHoverlabel `json:"hoverlabel,omitempty"`

	// Hoverongaps
	// arrayOK: false
	// type: boolean
	// Determines whether or not gaps (i.e. {nan} or missing values) in the `z` data have hover labels associated with them.
	Hoverongaps Bool `json:"hoverongaps,omitempty"`

	// Hovertemplate
	// arrayOK: true
	// type: string
	// Template string used for rendering the information that appear on hover box. Note that this will override `hoverinfo`. Variables are inserted using %{variable}, for example "y: %{y}". 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 String `json:"hovertemplate,omitempty"`

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

	// Hovertext
	// arrayOK: false
	// type: data_array
	// Same as `text`.
	Hovertext interface{} `json:"hovertext,omitempty"`

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

	// Ids
	// arrayOK: false
	// type: data_array
	// Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type.
	Ids interface{} `json:"ids,omitempty"`

	// Idssrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  ids .
	Idssrc String `json:"idssrc,omitempty"`

	// Legendgroup
	// arrayOK: false
	// type: string
	// Sets the legend group for this trace. Traces part of the same legend group hide/show at the same time when toggling legend items.
	Legendgroup String `json:"legendgroup,omitempty"`

	// Line
	// role: Object
	Line *ContourLine `json:"line,omitempty"`

	// Meta
	// arrayOK: true
	// type: any
	// Assigns extra meta information associated with this trace that can be used in various text attributes. Attributes such as trace `name`, graph, axis and colorbar `title.text`, annotation `text` `rangeselector`, `updatemenues` and `sliders` `label` text all support `meta`. To access the trace `meta` values in an attribute in the same trace, simply use `%{meta[i]}` where `i` is the index or key of the `meta` item in question. To access trace `meta` in layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index.
	Meta interface{} `json:"meta,omitempty"`

	// Metasrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  meta .
	Metasrc String `json:"metasrc,omitempty"`

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

	// Ncontours
	// arrayOK: false
	// type: integer
	// Sets the maximum number of contour levels. The actual number of contours will be chosen automatically to be less than or equal to the value of `ncontours`. Has an effect only if `autocontour` is *true* or if `contours.size` is missing.
	Ncontours int64 `json:"ncontours,omitempty"`

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

	// Reversescale
	// arrayOK: false
	// type: boolean
	// Reverses the color mapping if true. If true, `zmin` will correspond to the last color in the array and `zmax` will correspond to the first color.
	Reversescale Bool `json:"reversescale,omitempty"`

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

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

	// Stream
	// role: Object
	Stream *ContourStream `json:"stream,omitempty"`

	// Text
	// arrayOK: false
	// type: data_array
	// Sets the text elements associated with each z value.
	Text interface{} `json:"text,omitempty"`

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

	// Transforms
	// It's an items array and what goes inside it's... messy... check the docs
	// I will be happy if you want to contribute by implementing this
	// just raise an issue before you start so we do not overlap
	Transforms interface{} `json:"transforms,omitempty"`

	// Transpose
	// arrayOK: false
	// type: boolean
	// Transposes the z data.
	Transpose Bool `json:"transpose,omitempty"`

	// Uid
	// arrayOK: false
	// type: string
	// Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.
	Uid String `json:"uid,omitempty"`

	// Uirevision
	// arrayOK: false
	// type: any
	// Controls persistence of some user-driven changes to the trace: `constraintrange` in `parcoords` traces, as well as some `editable: true` modifications such as `name` and `colorbar.title`. Defaults to `layout.uirevision`. Note that other user-driven trace attribute changes are controlled by `layout` attributes: `trace.visible` is controlled by `layout.legend.uirevision`, `selectedpoints` is controlled by `layout.selectionrevision`, and `colorbar.(x|y)` (accessible with `config: {editable: true}`) is controlled by `layout.editrevision`. Trace changes are tracked by `uid`, which only falls back on trace index if no `uid` is provided. So if your app can add/remove traces before the end of the `data` array, such that the same trace has a different index, you can still preserve user-driven changes if you give each trace a `uid` that stays with it as it moves.
	Uirevision interface{} `json:"uirevision,omitempty"`

	// Visible
	// default: %!s(bool=true)
	// type: enumerated
	// Determines whether or not this trace is visible. If *legendonly*, the trace is not drawn, but can appear as a legend item (provided that the legend itself is visible).
	Visible ContourVisible `json:"visible,omitempty"`

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

	// X0
	// arrayOK: false
	// type: any
	// Alternate to `x`. Builds a linear space of x coordinates. Use with `dx` where `x0` is the starting coordinate and `dx` the step.
	X0 interface{} `json:"x0,omitempty"`

	// Xaxis
	// arrayOK: false
	// type: subplotid
	// Sets a reference between this trace's x coordinates and a 2D cartesian x axis. If *x* (the default value), the x coordinates refer to `layout.xaxis`. If *x2*, the x coordinates refer to `layout.xaxis2`, and so on.
	Xaxis String `json:"xaxis,omitempty"`

	// Xcalendar
	// default: gregorian
	// type: enumerated
	// Sets the calendar system to use with `x` date data.
	Xcalendar ContourXcalendar `json:"xcalendar,omitempty"`

	// Xperiod
	// arrayOK: false
	// type: 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
	// arrayOK: false
	// type: any
	// Only relevant when the axis `type` is *date*. Sets the base for period positioning in milliseconds or date string on the x0 axis. When `x0period` is round number of weeks, the `x0period0` by default would be on a Sunday i.e. 2000-01-02, otherwise it would be at 2000-01-01.
	Xperiod0 interface{} `json:"xperiod0,omitempty"`

	// Xperiodalignment
	// default: middle
	// type: enumerated
	// Only relevant when the axis `type` is *date*. Sets the alignment of data points on the x axis.
	Xperiodalignment ContourXperiodalignment `json:"xperiodalignment,omitempty"`

	// Xsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  x .
	Xsrc String `json:"xsrc,omitempty"`

	// Xtype
	// default: %!s(<nil>)
	// type: enumerated
	// If *array*, the heatmap's x coordinates are given by *x* (the default behavior when `x` is provided). If *scaled*, the heatmap's x coordinates are given by *x0* and *dx* (the default behavior when `x` is not provided).
	Xtype ContourXtype `json:"xtype,omitempty"`

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

	// Y0
	// arrayOK: false
	// type: any
	// Alternate to `y`. Builds a linear space of y coordinates. Use with `dy` where `y0` is the starting coordinate and `dy` the step.
	Y0 interface{} `json:"y0,omitempty"`

	// Yaxis
	// arrayOK: false
	// type: subplotid
	// Sets a reference between this trace's y coordinates and a 2D cartesian y axis. If *y* (the default value), the y coordinates refer to `layout.yaxis`. If *y2*, the y coordinates refer to `layout.yaxis2`, and so on.
	Yaxis String `json:"yaxis,omitempty"`

	// Ycalendar
	// default: gregorian
	// type: enumerated
	// Sets the calendar system to use with `y` date data.
	Ycalendar ContourYcalendar `json:"ycalendar,omitempty"`

	// Yperiod
	// arrayOK: false
	// type: 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
	// arrayOK: false
	// type: any
	// Only relevant when the axis `type` is *date*. Sets the base for period positioning in milliseconds or date string on the y0 axis. When `y0period` is round number of weeks, the `y0period0` by default would be on a Sunday i.e. 2000-01-02, otherwise it would be at 2000-01-01.
	Yperiod0 interface{} `json:"yperiod0,omitempty"`

	// Yperiodalignment
	// default: middle
	// type: enumerated
	// Only relevant when the axis `type` is *date*. Sets the alignment of data points on the y axis.
	Yperiodalignment ContourYperiodalignment `json:"yperiodalignment,omitempty"`

	// Ysrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  y .
	Ysrc String `json:"ysrc,omitempty"`

	// Ytype
	// default: %!s(<nil>)
	// type: enumerated
	// If *array*, the heatmap's y coordinates are given by *y* (the default behavior when `y` is provided) If *scaled*, the heatmap's y coordinates are given by *y0* and *dy* (the default behavior when `y` is not provided)
	Ytype ContourYtype `json:"ytype,omitempty"`

	// Z
	// arrayOK: false
	// type: data_array
	// Sets the z data.
	Z interface{} `json:"z,omitempty"`

	// Zauto
	// arrayOK: false
	// type: boolean
	// Determines whether or not the color domain is computed with respect to the input data (here in `z`) or the bounds set in `zmin` and `zmax`  Defaults to `false` when `zmin` and `zmax` are set by the user.
	Zauto Bool `json:"zauto,omitempty"`

	// Zhoverformat
	// arrayOK: false
	// type: string
	// Sets the hover text formatting 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
	// arrayOK: false
	// type: number
	// Sets the upper bound of the color domain. Value should have the same units as in `z` and if set, `zmin` must be set as well.
	Zmax float64 `json:"zmax,omitempty"`

	// Zmid
	// arrayOK: false
	// type: number
	// Sets the mid-point of the color domain by scaling `zmin` and/or `zmax` to be equidistant to this point. Value should have the same units as in `z`. Has no effect when `zauto` is `false`.
	Zmid float64 `json:"zmid,omitempty"`

	// Zmin
	// arrayOK: false
	// type: number
	// Sets the lower bound of the color domain. Value should have the same units as in `z` and if set, `zmax` must be set as well.
	Zmin float64 `json:"zmin,omitempty"`

	// Zsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  z .
	Zsrc String `json:"zsrc,omitempty"`
}

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 (*Contour) GetType

func (trace *Contour) GetType() TraceType

type ContourColorbar

type ContourColorbar struct {

	// Bgcolor
	// arrayOK: false
	// type: color
	// Sets the color of padded area.
	Bgcolor Color `json:"bgcolor,omitempty"`

	// Bordercolor
	// arrayOK: false
	// type: color
	// Sets the axis line color.
	Bordercolor Color `json:"bordercolor,omitempty"`

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

	// Dtick
	// arrayOK: false
	// type: any
	// Sets the step in-between ticks on this axis. Use with `tick0`. Must be a positive number, or special strings available to *log* and *date* axes. If the axis `type` is *log*, then ticks are set every 10^(n*dtick) where n is the tick number. For example, to set a tick mark at 1, 10, 100, 1000, ... set dtick to 1. To set tick marks at 1, 100, 10000, ... set dtick to 2. To set tick marks at 1, 5, 25, 125, 625, 3125, ... set dtick to log_10(5), or 0.69897000433. *log* has several special values; *L<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
	// default: B
	// type: enumerated
	// Determines a formatting rule for the tick exponents. For example, consider the number 1,000,000,000. If *none*, it appears as 1,000,000,000. If *e*, 1e+9. If *E*, 1E+9. If *power*, 1x10^9 (with 9 in a super script). If *SI*, 1G. If *B*, 1B.
	Exponentformat ContourColorbarExponentformat `json:"exponentformat,omitempty"`

	// Len
	// arrayOK: false
	// type: number
	// Sets the length of the color bar This measure excludes the padding of both ends. That is, the color bar length is this length minus the padding on both ends.
	Len float64 `json:"len,omitempty"`

	// Lenmode
	// default: fraction
	// type: enumerated
	// Determines whether this color bar's length (i.e. the measure in the color variation direction) is set in units of plot *fraction* or in *pixels. Use `len` to set the value.
	Lenmode ContourColorbarLenmode `json:"lenmode,omitempty"`

	// Minexponent
	// arrayOK: false
	// type: number
	// Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*.
	Minexponent float64 `json:"minexponent,omitempty"`

	// Nticks
	// arrayOK: false
	// type: integer
	// Specifies the maximum number of ticks for the particular axis. The actual number of ticks will be chosen automatically to be less than or equal to `nticks`. Has an effect only if `tickmode` is set to *auto*.
	Nticks int64 `json:"nticks,omitempty"`

	// Outlinecolor
	// arrayOK: false
	// type: color
	// Sets the axis line color.
	Outlinecolor Color `json:"outlinecolor,omitempty"`

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

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

	// Showexponent
	// default: all
	// type: enumerated
	// If *all*, all exponents are shown besides their significands. If *first*, only the exponent of the first tick is shown. If *last*, only the exponent of the last tick is shown. If *none*, no exponents appear.
	Showexponent ContourColorbarShowexponent `json:"showexponent,omitempty"`

	// Showticklabels
	// arrayOK: false
	// type: boolean
	// Determines whether or not the tick labels are drawn.
	Showticklabels Bool `json:"showticklabels,omitempty"`

	// Showtickprefix
	// default: all
	// type: enumerated
	// If *all*, all tick labels are displayed with a prefix. If *first*, only the first tick is displayed with a prefix. If *last*, only the last tick is displayed with a suffix. If *none*, tick prefixes are hidden.
	Showtickprefix ContourColorbarShowtickprefix `json:"showtickprefix,omitempty"`

	// Showticksuffix
	// default: all
	// type: enumerated
	// Same as `showtickprefix` but for tick suffixes.
	Showticksuffix ContourColorbarShowticksuffix `json:"showticksuffix,omitempty"`

	// Thickness
	// arrayOK: false
	// type: number
	// Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.
	Thickness float64 `json:"thickness,omitempty"`

	// Thicknessmode
	// default: pixels
	// type: enumerated
	// Determines whether this color bar's thickness (i.e. the measure in the constant color direction) is set in units of plot *fraction* or in *pixels*. Use `thickness` to set the value.
	Thicknessmode ContourColorbarThicknessmode `json:"thicknessmode,omitempty"`

	// Tick0
	// arrayOK: false
	// type: any
	// Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2) except when `dtick`=*L<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
	// arrayOK: false
	// type: angle
	// Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.
	Tickangle float64 `json:"tickangle,omitempty"`

	// Tickcolor
	// arrayOK: false
	// type: color
	// Sets the tick color.
	Tickcolor Color `json:"tickcolor,omitempty"`

	// Tickfont
	// role: Object
	Tickfont *ContourColorbarTickfont `json:"tickfont,omitempty"`

	// Tickformat
	// arrayOK: false
	// type: string
	// Sets the tick label formatting rule using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-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
	// It's an items array and what goes inside it's... messy... check the docs
	// I will be happy if you want to contribute by implementing this
	// just raise an issue before you start so we do not overlap
	Tickformatstops interface{} `json:"tickformatstops,omitempty"`

	// Ticklabelposition
	// default: outside
	// type: enumerated
	// Determines where tick labels are drawn.
	Ticklabelposition ContourColorbarTicklabelposition `json:"ticklabelposition,omitempty"`

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

	// Tickmode
	// default: %!s(<nil>)
	// type: enumerated
	// Sets the tick mode for this axis. If *auto*, the number of ticks is set via `nticks`. If *linear*, the placement of the ticks is determined by a starting position `tick0` and a tick step `dtick` (*linear* is the default value if `tick0` and `dtick` are provided). If *array*, the placement of the ticks is set via `tickvals` and the tick text is `ticktext`. (*array* is the default value if `tickvals` is provided).
	Tickmode ContourColorbarTickmode `json:"tickmode,omitempty"`

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

	// Ticks
	// default:
	// type: enumerated
	// Determines whether ticks are drawn or not. If **, this axis' ticks are not drawn. If *outside* (*inside*), this axis' are drawn outside (inside) the axis lines.
	Ticks ContourColorbarTicks `json:"ticks,omitempty"`

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

	// Ticktext
	// arrayOK: false
	// type: data_array
	// Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `tickvals`.
	Ticktext interface{} `json:"ticktext,omitempty"`

	// Ticktextsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  ticktext .
	Ticktextsrc String `json:"ticktextsrc,omitempty"`

	// Tickvals
	// arrayOK: false
	// type: data_array
	// Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.
	Tickvals interface{} `json:"tickvals,omitempty"`

	// Tickvalssrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  tickvals .
	Tickvalssrc String `json:"tickvalssrc,omitempty"`

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

	// Title
	// role: Object
	Title *ContourColorbarTitle `json:"title,omitempty"`

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

	// Xanchor
	// default: left
	// type: enumerated
	// Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the color bar.
	Xanchor ContourColorbarXanchor `json:"xanchor,omitempty"`

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

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

	// Yanchor
	// default: middle
	// type: enumerated
	// Sets this color bar's vertical position anchor This anchor binds the `y` position to the *top*, *middle* or *bottom* of the color bar.
	Yanchor ContourColorbarYanchor `json:"yanchor,omitempty"`

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

ContourColorbar

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 (
	ContourColorbarExponentformatNone  ContourColorbarExponentformat = "none"
	ContourColorbarExponentformatE1    ContourColorbarExponentformat = "e"
	ContourColorbarExponentformatE2    ContourColorbarExponentformat = "E"
	ContourColorbarExponentformatPower ContourColorbarExponentformat = "power"
	ContourColorbarExponentformatSi    ContourColorbarExponentformat = "SI"
	ContourColorbarExponentformatB     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 (
	ContourColorbarLenmodeFraction ContourColorbarLenmode = "fraction"
	ContourColorbarLenmodePixels   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 (
	ContourColorbarShowexponentAll   ContourColorbarShowexponent = "all"
	ContourColorbarShowexponentFirst ContourColorbarShowexponent = "first"
	ContourColorbarShowexponentLast  ContourColorbarShowexponent = "last"
	ContourColorbarShowexponentNone  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 (
	ContourColorbarShowtickprefixAll   ContourColorbarShowtickprefix = "all"
	ContourColorbarShowtickprefixFirst ContourColorbarShowtickprefix = "first"
	ContourColorbarShowtickprefixLast  ContourColorbarShowtickprefix = "last"
	ContourColorbarShowtickprefixNone  ContourColorbarShowtickprefix = "none"
)

type ContourColorbarShowticksuffix

type ContourColorbarShowticksuffix string

ContourColorbarShowticksuffix Same as `showtickprefix` but for tick suffixes.

const (
	ContourColorbarShowticksuffixAll   ContourColorbarShowticksuffix = "all"
	ContourColorbarShowticksuffixFirst ContourColorbarShowticksuffix = "first"
	ContourColorbarShowticksuffixLast  ContourColorbarShowticksuffix = "last"
	ContourColorbarShowticksuffixNone  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 (
	ContourColorbarThicknessmodeFraction ContourColorbarThicknessmode = "fraction"
	ContourColorbarThicknessmodePixels   ContourColorbarThicknessmode = "pixels"
)

type ContourColorbarTickfont

type ContourColorbarTickfont struct {

	// Color
	// arrayOK: false
	// type: color
	//
	Color Color `json:"color,omitempty"`

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

	// Size
	// arrayOK: false
	// type: number
	//
	Size float64 `json:"size,omitempty"`
}

ContourColorbarTickfont Sets the color bar's tick label font

type ContourColorbarTicklabelposition added in v0.3.1

type ContourColorbarTicklabelposition string

ContourColorbarTicklabelposition Determines where tick labels are drawn.

const (
	ContourColorbarTicklabelpositionOutside       ContourColorbarTicklabelposition = "outside"
	ContourColorbarTicklabelpositionInside        ContourColorbarTicklabelposition = "inside"
	ContourColorbarTicklabelpositionOutsideTop    ContourColorbarTicklabelposition = "outside top"
	ContourColorbarTicklabelpositionInsideTop     ContourColorbarTicklabelposition = "inside top"
	ContourColorbarTicklabelpositionOutsideBottom ContourColorbarTicklabelposition = "outside bottom"
	ContourColorbarTicklabelpositionInsideBottom  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 (
	ContourColorbarTickmodeAuto   ContourColorbarTickmode = "auto"
	ContourColorbarTickmodeLinear ContourColorbarTickmode = "linear"
	ContourColorbarTickmodeArray  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 (
	ContourColorbarTicksOutside ContourColorbarTicks = "outside"
	ContourColorbarTicksInside  ContourColorbarTicks = "inside"
	ContourColorbarTicksEmpty   ContourColorbarTicks = ""
)

type ContourColorbarTitle

type ContourColorbarTitle struct {

	// Font
	// role: Object
	Font *ContourColorbarTitleFont `json:"font,omitempty"`

	// Side
	// default: top
	// type: enumerated
	// Determines the location of color bar's title with respect to the color bar. Note that the title's location used to be set by the now deprecated `titleside` attribute.
	Side ContourColorbarTitleSide `json:"side,omitempty"`

	// Text
	// arrayOK: false
	// type: string
	// Sets the title of the color bar. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.
	Text String `json:"text,omitempty"`
}

ContourColorbarTitle

type ContourColorbarTitleFont

type ContourColorbarTitleFont struct {

	// Color
	// arrayOK: false
	// type: color
	//
	Color Color `json:"color,omitempty"`

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

	// Size
	// arrayOK: false
	// type: number
	//
	Size float64 `json:"size,omitempty"`
}

ContourColorbarTitleFont Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.

type 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 (
	ContourColorbarTitleSideRight  ContourColorbarTitleSide = "right"
	ContourColorbarTitleSideTop    ContourColorbarTitleSide = "top"
	ContourColorbarTitleSideBottom 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 (
	ContourColorbarXanchorLeft   ContourColorbarXanchor = "left"
	ContourColorbarXanchorCenter ContourColorbarXanchor = "center"
	ContourColorbarXanchorRight  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 (
	ContourColorbarYanchorTop    ContourColorbarYanchor = "top"
	ContourColorbarYanchorMiddle ContourColorbarYanchor = "middle"
	ContourColorbarYanchorBottom ContourColorbarYanchor = "bottom"
)

type ContourContours

type ContourContours struct {

	// Coloring
	// default: fill
	// type: enumerated
	// Determines the coloring method showing the contour values. If *fill*, coloring is done evenly between each contour level If *heatmap*, a heatmap gradient coloring is applied between each contour level. If *lines*, coloring is done on the contour lines. If *none*, no coloring is applied on this trace.
	Coloring ContourContoursColoring `json:"coloring,omitempty"`

	// End
	// arrayOK: false
	// type: number
	// Sets the end contour level value. Must be more than `contours.start`
	End float64 `json:"end,omitempty"`

	// Labelfont
	// role: Object
	Labelfont *ContourContoursLabelfont `json:"labelfont,omitempty"`

	// Labelformat
	// arrayOK: false
	// type: string
	// Sets the contour label formatting rule using d3 formatting mini-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
	// default: =
	// type: enumerated
	// Sets the constraint operation. *=* keeps regions equal to `value` *<* and *<=* keep regions less than `value` *>* and *>=* keep regions greater than `value` *[]*, *()*, *[)*, and *(]* keep regions inside `value[0]` to `value[1]` *][*, *)(*, *](*, *)[* keep regions outside `value[0]` to value[1]` Open vs. closed intervals make no difference to constraint display, but all versions are allowed for consistency with filter transforms.
	Operation ContourContoursOperation `json:"operation,omitempty"`

	// Showlabels
	// arrayOK: false
	// type: boolean
	// Determines whether to label the contour lines with their values.
	Showlabels Bool `json:"showlabels,omitempty"`

	// Showlines
	// arrayOK: false
	// type: boolean
	// Determines whether or not the contour lines are drawn. Has an effect only if `contours.coloring` is set to *fill*.
	Showlines Bool `json:"showlines,omitempty"`

	// Size
	// arrayOK: false
	// type: number
	// Sets the step between each contour level. Must be positive.
	Size float64 `json:"size,omitempty"`

	// Start
	// arrayOK: false
	// type: number
	// Sets the starting contour level value. Must be less than `contours.end`
	Start float64 `json:"start,omitempty"`

	// Type
	// default: levels
	// type: enumerated
	// If `levels`, the data is represented as a contour plot with multiple levels displayed. If `constraint`, the data is represented as constraints with the invalid region shaded as specified by the `operation` and `value` parameters.
	Type ContourContoursType `json:"type,omitempty"`

	// Value
	// arrayOK: false
	// type: any
	// Sets the value or values of the constraint boundary. When `operation` is set to one of the comparison values (=,<,>=,>,<=) *value* is expected to be a number. When `operation` is set to one of the interval values ([],(),[),(],][,)(,](,)[) *value* is expected to be an array of two numbers where the first is the lower bound and the second is the upper bound.
	Value interface{} `json:"value,omitempty"`
}

ContourContours

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 (
	ContourContoursColoringFill    ContourContoursColoring = "fill"
	ContourContoursColoringHeatmap ContourContoursColoring = "heatmap"
	ContourContoursColoringLines   ContourContoursColoring = "lines"
	ContourContoursColoringNone    ContourContoursColoring = "none"
)

type ContourContoursLabelfont

type ContourContoursLabelfont struct {

	// Color
	// arrayOK: false
	// type: color
	//
	Color Color `json:"color,omitempty"`

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

	// Size
	// arrayOK: false
	// type: number
	//
	Size float64 `json:"size,omitempty"`
}

ContourContoursLabelfont Sets the font used for labeling the contour levels. The default color comes from the lines, if shown. The default family and size come from `layout.font`.

type 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 (
	ContourContoursOperationEq               ContourContoursOperation = "="
	ContourContoursOperationLt               ContourContoursOperation = "<"
	ContourContoursOperationGtEq             ContourContoursOperation = ">="
	ContourContoursOperationGt               ContourContoursOperation = ">"
	ContourContoursOperationLtEq             ContourContoursOperation = "<="
	ContourContoursOperationLbracketRbracket ContourContoursOperation = "[]"
	ContourContoursOperationLparRpar         ContourContoursOperation = "()"
	ContourContoursOperationLbracketRpar     ContourContoursOperation = "[)"
	ContourContoursOperationLparRbracket     ContourContoursOperation = "(]"
	ContourContoursOperationRbracketLbracket ContourContoursOperation = "]["
	ContourContoursOperationRparLpar         ContourContoursOperation = ")("
	ContourContoursOperationRbracketLpar     ContourContoursOperation = "]("
	ContourContoursOperationRparLbracket     ContourContoursOperation = ")["
)

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 (
	ContourContoursTypeLevels     ContourContoursType = "levels"
	ContourContoursTypeConstraint ContourContoursType = "constraint"
)

type ContourHoverinfo

type ContourHoverinfo string

ContourHoverinfo Determines which trace information appear on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired.

const (
	// Flags
	ContourHoverinfoX    ContourHoverinfo = "x"
	ContourHoverinfoY    ContourHoverinfo = "y"
	ContourHoverinfoZ    ContourHoverinfo = "z"
	ContourHoverinfoText ContourHoverinfo = "text"
	ContourHoverinfoName ContourHoverinfo = "name"

	// Extra
	ContourHoverinfoAll  ContourHoverinfo = "all"
	ContourHoverinfoNone ContourHoverinfo = "none"
	ContourHoverinfoSkip ContourHoverinfo = "skip"
)

type ContourHoverlabel

type ContourHoverlabel struct {

	// Align
	// default: auto
	// type: enumerated
	// Sets the horizontal alignment of the text content within hover label box. Has an effect only if the hover label text spans more two or more lines
	Align ContourHoverlabelAlign `json:"align,omitempty"`

	// Alignsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  align .
	Alignsrc String `json:"alignsrc,omitempty"`

	// Bgcolor
	// arrayOK: true
	// type: color
	// Sets the background color of the hover labels for this trace
	Bgcolor Color `json:"bgcolor,omitempty"`

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

	// Bordercolor
	// arrayOK: true
	// type: color
	// Sets the border color of the hover labels for this trace.
	Bordercolor Color `json:"bordercolor,omitempty"`

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

	// Font
	// role: Object
	Font *ContourHoverlabelFont `json:"font,omitempty"`

	// Namelength
	// arrayOK: true
	// type: integer
	// Sets the default length (in number of characters) of the trace name in the hover labels for all traces. -1 shows the whole name regardless of length. 0-3 shows the first 0-3 characters, and an integer >3 will show the whole name if it is less than that many characters, but if it is longer, will truncate to `namelength - 3` characters and add an ellipsis.
	Namelength int64 `json:"namelength,omitempty"`

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

ContourHoverlabel

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 (
	ContourHoverlabelAlignLeft  ContourHoverlabelAlign = "left"
	ContourHoverlabelAlignRight ContourHoverlabelAlign = "right"
	ContourHoverlabelAlignAuto  ContourHoverlabelAlign = "auto"
)

type ContourHoverlabelFont

type ContourHoverlabelFont struct {

	// Color
	// arrayOK: true
	// type: color
	//
	Color Color `json:"color,omitempty"`

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

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

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

	// Size
	// arrayOK: true
	// type: number
	//
	Size float64 `json:"size,omitempty"`

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

ContourHoverlabelFont Sets the font used in hover labels.

type ContourLine

type ContourLine struct {

	// Color
	// arrayOK: false
	// type: color
	// Sets the color of the contour level. Has no effect if `contours.coloring` is set to *lines*.
	Color Color `json:"color,omitempty"`

	// Dash
	// arrayOK: false
	// type: string
	// Sets the dash style of lines. Set to a dash type string (*solid*, *dot*, *dash*, *longdash*, *dashdot*, or *longdashdot*) or a dash length list in px (eg *5px,10px,2px,2px*).
	Dash String `json:"dash,omitempty"`

	// Smoothing
	// arrayOK: false
	// type: number
	// Sets the amount of smoothing for the contour lines, where *0* corresponds to no smoothing.
	Smoothing float64 `json:"smoothing,omitempty"`

	// Width
	// arrayOK: false
	// type: number
	// Sets the contour line width in (in px) Defaults to *0.5* when `contours.type` is *levels*. Defaults to *2* when `contour.type` is *constraint*.
	Width float64 `json:"width,omitempty"`
}

ContourLine

type ContourStream

type ContourStream struct {

	// Maxpoints
	// arrayOK: false
	// type: number
	// Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot.
	Maxpoints float64 `json:"maxpoints,omitempty"`

	// Token
	// arrayOK: false
	// type: string
	// The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details.
	Token String `json:"token,omitempty"`
}

ContourStream

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 (
	ContourVisibleTrue       ContourVisible = true
	ContourVisibleFalse      ContourVisible = false
	ContourVisibleLegendonly ContourVisible = "legendonly"
)

type ContourXcalendar

type ContourXcalendar string

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

const (
	ContourXcalendarGregorian  ContourXcalendar = "gregorian"
	ContourXcalendarChinese    ContourXcalendar = "chinese"
	ContourXcalendarCoptic     ContourXcalendar = "coptic"
	ContourXcalendarDiscworld  ContourXcalendar = "discworld"
	ContourXcalendarEthiopian  ContourXcalendar = "ethiopian"
	ContourXcalendarHebrew     ContourXcalendar = "hebrew"
	ContourXcalendarIslamic    ContourXcalendar = "islamic"
	ContourXcalendarJulian     ContourXcalendar = "julian"
	ContourXcalendarMayan      ContourXcalendar = "mayan"
	ContourXcalendarNanakshahi ContourXcalendar = "nanakshahi"
	ContourXcalendarNepali     ContourXcalendar = "nepali"
	ContourXcalendarPersian    ContourXcalendar = "persian"
	ContourXcalendarJalali     ContourXcalendar = "jalali"
	ContourXcalendarTaiwan     ContourXcalendar = "taiwan"
	ContourXcalendarThai       ContourXcalendar = "thai"
	ContourXcalendarUmmalqura  ContourXcalendar = "ummalqura"
)

type ContourXperiodalignment added in v0.3.1

type ContourXperiodalignment string

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

const (
	ContourXperiodalignmentStart  ContourXperiodalignment = "start"
	ContourXperiodalignmentMiddle ContourXperiodalignment = "middle"
	ContourXperiodalignmentEnd    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 (
	ContourXtypeArray  ContourXtype = "array"
	ContourXtypeScaled ContourXtype = "scaled"
)

type ContourYcalendar

type ContourYcalendar string

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

const (
	ContourYcalendarGregorian  ContourYcalendar = "gregorian"
	ContourYcalendarChinese    ContourYcalendar = "chinese"
	ContourYcalendarCoptic     ContourYcalendar = "coptic"
	ContourYcalendarDiscworld  ContourYcalendar = "discworld"
	ContourYcalendarEthiopian  ContourYcalendar = "ethiopian"
	ContourYcalendarHebrew     ContourYcalendar = "hebrew"
	ContourYcalendarIslamic    ContourYcalendar = "islamic"
	ContourYcalendarJulian     ContourYcalendar = "julian"
	ContourYcalendarMayan      ContourYcalendar = "mayan"
	ContourYcalendarNanakshahi ContourYcalendar = "nanakshahi"
	ContourYcalendarNepali     ContourYcalendar = "nepali"
	ContourYcalendarPersian    ContourYcalendar = "persian"
	ContourYcalendarJalali     ContourYcalendar = "jalali"
	ContourYcalendarTaiwan     ContourYcalendar = "taiwan"
	ContourYcalendarThai       ContourYcalendar = "thai"
	ContourYcalendarUmmalqura  ContourYcalendar = "ummalqura"
)

type ContourYperiodalignment added in v0.3.1

type ContourYperiodalignment string

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

const (
	ContourYperiodalignmentStart  ContourYperiodalignment = "start"
	ContourYperiodalignmentMiddle ContourYperiodalignment = "middle"
	ContourYperiodalignmentEnd    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 (
	ContourYtypeArray  ContourYtype = "array"
	ContourYtypeScaled ContourYtype = "scaled"
)

type Contourcarpet

type Contourcarpet struct {

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

	// A
	// arrayOK: false
	// type: data_array
	// Sets the x coordinates.
	A interface{} `json:"a,omitempty"`

	// A0
	// arrayOK: false
	// type: any
	// Alternate to `x`. Builds a linear space of x coordinates. Use with `dx` where `x0` is the starting coordinate and `dx` the step.
	A0 interface{} `json:"a0,omitempty"`

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

	// Atype
	// default: %!s(<nil>)
	// type: enumerated
	// If *array*, the heatmap's x coordinates are given by *x* (the default behavior when `x` is provided). If *scaled*, the heatmap's x coordinates are given by *x0* and *dx* (the default behavior when `x` is not provided).
	Atype ContourcarpetAtype `json:"atype,omitempty"`

	// Autocolorscale
	// arrayOK: false
	// type: boolean
	// Determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by `colorscale`. In case `colorscale` is unspecified or `autocolorscale` is true, the default  palette will be chosen according to whether numbers in the `color` array are all positive, all negative or mixed.
	Autocolorscale Bool `json:"autocolorscale,omitempty"`

	// Autocontour
	// arrayOK: false
	// type: boolean
	// Determines whether or not the contour level attributes are picked by an algorithm. If *true*, the number of contour levels can be set in `ncontours`. If *false*, set the contour level attributes in `contours`.
	Autocontour Bool `json:"autocontour,omitempty"`

	// B
	// arrayOK: false
	// type: data_array
	// Sets the y coordinates.
	B interface{} `json:"b,omitempty"`

	// B0
	// arrayOK: false
	// type: any
	// Alternate to `y`. Builds a linear space of y coordinates. Use with `dy` where `y0` is the starting coordinate and `dy` the step.
	B0 interface{} `json:"b0,omitempty"`

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

	// Btype
	// default: %!s(<nil>)
	// type: enumerated
	// If *array*, the heatmap's y coordinates are given by *y* (the default behavior when `y` is provided) If *scaled*, the heatmap's y coordinates are given by *y0* and *dy* (the default behavior when `y` is not provided)
	Btype ContourcarpetBtype `json:"btype,omitempty"`

	// Carpet
	// arrayOK: false
	// type: string
	// The `carpet` of the carpet axes on which this contour trace lies
	Carpet String `json:"carpet,omitempty"`

	// Coloraxis
	// arrayOK: false
	// type: subplotid
	// Sets a reference to a shared color axis. References to these shared color axes are *coloraxis*, *coloraxis2*, *coloraxis3*, etc. Settings for these shared color axes are set in the layout, under `layout.coloraxis`, `layout.coloraxis2`, etc. Note that multiple color scales can be linked to the same color axis.
	Coloraxis String `json:"coloraxis,omitempty"`

	// Colorbar
	// role: Object
	Colorbar *ContourcarpetColorbar `json:"colorbar,omitempty"`

	// Colorscale
	// default: %!s(<nil>)
	// type: colorscale
	// Sets the colorscale. The colorscale must be an array containing arrays mapping a normalized value to an rgb, rgba, hex, hsl, hsv, or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, use`zmin` and `zmax`. Alternatively, `colorscale` may be a palette name string of the following list: Greys,YlGnBu,Greens,YlOrRd,Bluered,RdBu,Reds,Blues,Picnic,Rainbow,Portland,Jet,Hot,Blackbody,Earth,Electric,Viridis,Cividis.
	Colorscale ColorScale `json:"colorscale,omitempty"`

	// Contours
	// role: Object
	Contours *ContourcarpetContours `json:"contours,omitempty"`

	// Customdata
	// arrayOK: false
	// type: data_array
	// Assigns extra data each datum. This may be useful when listening to hover, click and selection events. Note that, *scatter* traces also appends customdata items in the markers DOM elements
	Customdata interface{} `json:"customdata,omitempty"`

	// Customdatasrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  customdata .
	Customdatasrc String `json:"customdatasrc,omitempty"`

	// Da
	// arrayOK: false
	// type: number
	// Sets the x coordinate step. See `x0` for more info.
	Da float64 `json:"da,omitempty"`

	// Db
	// arrayOK: false
	// type: number
	// Sets the y coordinate step. See `y0` for more info.
	Db float64 `json:"db,omitempty"`

	// Fillcolor
	// arrayOK: false
	// type: color
	// Sets the fill color if `contours.type` is *constraint*. Defaults to a half-transparent variant of the line color, marker color, or marker line color, whichever is available.
	Fillcolor Color `json:"fillcolor,omitempty"`

	// Hovertext
	// arrayOK: false
	// type: data_array
	// Same as `text`.
	Hovertext interface{} `json:"hovertext,omitempty"`

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

	// Ids
	// arrayOK: false
	// type: data_array
	// Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type.
	Ids interface{} `json:"ids,omitempty"`

	// Idssrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  ids .
	Idssrc String `json:"idssrc,omitempty"`

	// Legendgroup
	// arrayOK: false
	// type: string
	// Sets the legend group for this trace. Traces part of the same legend group hide/show at the same time when toggling legend items.
	Legendgroup String `json:"legendgroup,omitempty"`

	// Line
	// role: Object
	Line *ContourcarpetLine `json:"line,omitempty"`

	// Meta
	// arrayOK: true
	// type: any
	// Assigns extra meta information associated with this trace that can be used in various text attributes. Attributes such as trace `name`, graph, axis and colorbar `title.text`, annotation `text` `rangeselector`, `updatemenues` and `sliders` `label` text all support `meta`. To access the trace `meta` values in an attribute in the same trace, simply use `%{meta[i]}` where `i` is the index or key of the `meta` item in question. To access trace `meta` in layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index.
	Meta interface{} `json:"meta,omitempty"`

	// Metasrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  meta .
	Metasrc String `json:"metasrc,omitempty"`

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

	// Ncontours
	// arrayOK: false
	// type: integer
	// Sets the maximum number of contour levels. The actual number of contours will be chosen automatically to be less than or equal to the value of `ncontours`. Has an effect only if `autocontour` is *true* or if `contours.size` is missing.
	Ncontours int64 `json:"ncontours,omitempty"`

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

	// Reversescale
	// arrayOK: false
	// type: boolean
	// Reverses the color mapping if true. If true, `zmin` will correspond to the last color in the array and `zmax` will correspond to the first color.
	Reversescale Bool `json:"reversescale,omitempty"`

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

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

	// Stream
	// role: Object
	Stream *ContourcarpetStream `json:"stream,omitempty"`

	// Text
	// arrayOK: false
	// type: data_array
	// Sets the text elements associated with each z value.
	Text interface{} `json:"text,omitempty"`

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

	// Transpose
	// arrayOK: false
	// type: boolean
	// Transposes the z data.
	Transpose Bool `json:"transpose,omitempty"`

	// Uid
	// arrayOK: false
	// type: string
	// Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.
	Uid String `json:"uid,omitempty"`

	// Uirevision
	// arrayOK: false
	// type: any
	// Controls persistence of some user-driven changes to the trace: `constraintrange` in `parcoords` traces, as well as some `editable: true` modifications such as `name` and `colorbar.title`. Defaults to `layout.uirevision`. Note that other user-driven trace attribute changes are controlled by `layout` attributes: `trace.visible` is controlled by `layout.legend.uirevision`, `selectedpoints` is controlled by `layout.selectionrevision`, and `colorbar.(x|y)` (accessible with `config: {editable: true}`) is controlled by `layout.editrevision`. Trace changes are tracked by `uid`, which only falls back on trace index if no `uid` is provided. So if your app can add/remove traces before the end of the `data` array, such that the same trace has a different index, you can still preserve user-driven changes if you give each trace a `uid` that stays with it as it moves.
	Uirevision interface{} `json:"uirevision,omitempty"`

	// Visible
	// default: %!s(bool=true)
	// type: enumerated
	// Determines whether or not this trace is visible. If *legendonly*, the trace is not drawn, but can appear as a legend item (provided that the legend itself is visible).
	Visible ContourcarpetVisible `json:"visible,omitempty"`

	// Xaxis
	// arrayOK: false
	// type: subplotid
	// Sets a reference between this trace's x coordinates and a 2D cartesian x axis. If *x* (the default value), the x coordinates refer to `layout.xaxis`. If *x2*, the x coordinates refer to `layout.xaxis2`, and so on.
	Xaxis String `json:"xaxis,omitempty"`

	// Yaxis
	// arrayOK: false
	// type: subplotid
	// Sets a reference between this trace's y coordinates and a 2D cartesian y axis. If *y* (the default value), the y coordinates refer to `layout.yaxis`. If *y2*, the y coordinates refer to `layout.yaxis2`, and so on.
	Yaxis String `json:"yaxis,omitempty"`

	// Z
	// arrayOK: false
	// type: data_array
	// Sets the z data.
	Z interface{} `json:"z,omitempty"`

	// Zauto
	// arrayOK: false
	// type: boolean
	// Determines whether or not the color domain is computed with respect to the input data (here in `z`) or the bounds set in `zmin` and `zmax`  Defaults to `false` when `zmin` and `zmax` are set by the user.
	Zauto Bool `json:"zauto,omitempty"`

	// Zmax
	// arrayOK: false
	// type: number
	// Sets the upper bound of the color domain. Value should have the same units as in `z` and if set, `zmin` must be set as well.
	Zmax float64 `json:"zmax,omitempty"`

	// Zmid
	// arrayOK: false
	// type: number
	// Sets the mid-point of the color domain by scaling `zmin` and/or `zmax` to be equidistant to this point. Value should have the same units as in `z`. Has no effect when `zauto` is `false`.
	Zmid float64 `json:"zmid,omitempty"`

	// Zmin
	// arrayOK: false
	// type: number
	// Sets the lower bound of the color domain. Value should have the same units as in `z` and if set, `zmax` must be set as well.
	Zmin float64 `json:"zmin,omitempty"`

	// Zsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  z .
	Zsrc String `json:"zsrc,omitempty"`
}

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 (*Contourcarpet) GetType

func (trace *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 (
	ContourcarpetAtypeArray  ContourcarpetAtype = "array"
	ContourcarpetAtypeScaled 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 (
	ContourcarpetBtypeArray  ContourcarpetBtype = "array"
	ContourcarpetBtypeScaled ContourcarpetBtype = "scaled"
)

type ContourcarpetColorbar

type ContourcarpetColorbar struct {

	// Bgcolor
	// arrayOK: false
	// type: color
	// Sets the color of padded area.
	Bgcolor Color `json:"bgcolor,omitempty"`

	// Bordercolor
	// arrayOK: false
	// type: color
	// Sets the axis line color.
	Bordercolor Color `json:"bordercolor,omitempty"`

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

	// Dtick
	// arrayOK: false
	// type: any
	// Sets the step in-between ticks on this axis. Use with `tick0`. Must be a positive number, or special strings available to *log* and *date* axes. If the axis `type` is *log*, then ticks are set every 10^(n*dtick) where n is the tick number. For example, to set a tick mark at 1, 10, 100, 1000, ... set dtick to 1. To set tick marks at 1, 100, 10000, ... set dtick to 2. To set tick marks at 1, 5, 25, 125, 625, 3125, ... set dtick to log_10(5), or 0.69897000433. *log* has several special values; *L<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
	// default: B
	// type: enumerated
	// Determines a formatting rule for the tick exponents. For example, consider the number 1,000,000,000. If *none*, it appears as 1,000,000,000. If *e*, 1e+9. If *E*, 1E+9. If *power*, 1x10^9 (with 9 in a super script). If *SI*, 1G. If *B*, 1B.
	Exponentformat ContourcarpetColorbarExponentformat `json:"exponentformat,omitempty"`

	// Len
	// arrayOK: false
	// type: number
	// Sets the length of the color bar This measure excludes the padding of both ends. That is, the color bar length is this length minus the padding on both ends.
	Len float64 `json:"len,omitempty"`

	// Lenmode
	// default: fraction
	// type: enumerated
	// Determines whether this color bar's length (i.e. the measure in the color variation direction) is set in units of plot *fraction* or in *pixels. Use `len` to set the value.
	Lenmode ContourcarpetColorbarLenmode `json:"lenmode,omitempty"`

	// Minexponent
	// arrayOK: false
	// type: number
	// Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*.
	Minexponent float64 `json:"minexponent,omitempty"`

	// Nticks
	// arrayOK: false
	// type: integer
	// Specifies the maximum number of ticks for the particular axis. The actual number of ticks will be chosen automatically to be less than or equal to `nticks`. Has an effect only if `tickmode` is set to *auto*.
	Nticks int64 `json:"nticks,omitempty"`

	// Outlinecolor
	// arrayOK: false
	// type: color
	// Sets the axis line color.
	Outlinecolor Color `json:"outlinecolor,omitempty"`

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

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

	// Showexponent
	// default: all
	// type: enumerated
	// If *all*, all exponents are shown besides their significands. If *first*, only the exponent of the first tick is shown. If *last*, only the exponent of the last tick is shown. If *none*, no exponents appear.
	Showexponent ContourcarpetColorbarShowexponent `json:"showexponent,omitempty"`

	// Showticklabels
	// arrayOK: false
	// type: boolean
	// Determines whether or not the tick labels are drawn.
	Showticklabels Bool `json:"showticklabels,omitempty"`

	// Showtickprefix
	// default: all
	// type: enumerated
	// If *all*, all tick labels are displayed with a prefix. If *first*, only the first tick is displayed with a prefix. If *last*, only the last tick is displayed with a suffix. If *none*, tick prefixes are hidden.
	Showtickprefix ContourcarpetColorbarShowtickprefix `json:"showtickprefix,omitempty"`

	// Showticksuffix
	// default: all
	// type: enumerated
	// Same as `showtickprefix` but for tick suffixes.
	Showticksuffix ContourcarpetColorbarShowticksuffix `json:"showticksuffix,omitempty"`

	// Thickness
	// arrayOK: false
	// type: number
	// Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.
	Thickness float64 `json:"thickness,omitempty"`

	// Thicknessmode
	// default: pixels
	// type: enumerated
	// Determines whether this color bar's thickness (i.e. the measure in the constant color direction) is set in units of plot *fraction* or in *pixels*. Use `thickness` to set the value.
	Thicknessmode ContourcarpetColorbarThicknessmode `json:"thicknessmode,omitempty"`

	// Tick0
	// arrayOK: false
	// type: any
	// Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2) except when `dtick`=*L<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
	// arrayOK: false
	// type: angle
	// Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.
	Tickangle float64 `json:"tickangle,omitempty"`

	// Tickcolor
	// arrayOK: false
	// type: color
	// Sets the tick color.
	Tickcolor Color `json:"tickcolor,omitempty"`

	// Tickfont
	// role: Object
	Tickfont *ContourcarpetColorbarTickfont `json:"tickfont,omitempty"`

	// Tickformat
	// arrayOK: false
	// type: string
	// Sets the tick label formatting rule using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-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
	// It's an items array and what goes inside it's... messy... check the docs
	// I will be happy if you want to contribute by implementing this
	// just raise an issue before you start so we do not overlap
	Tickformatstops interface{} `json:"tickformatstops,omitempty"`

	// Ticklabelposition
	// default: outside
	// type: enumerated
	// Determines where tick labels are drawn.
	Ticklabelposition ContourcarpetColorbarTicklabelposition `json:"ticklabelposition,omitempty"`

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

	// Tickmode
	// default: %!s(<nil>)
	// type: enumerated
	// Sets the tick mode for this axis. If *auto*, the number of ticks is set via `nticks`. If *linear*, the placement of the ticks is determined by a starting position `tick0` and a tick step `dtick` (*linear* is the default value if `tick0` and `dtick` are provided). If *array*, the placement of the ticks is set via `tickvals` and the tick text is `ticktext`. (*array* is the default value if `tickvals` is provided).
	Tickmode ContourcarpetColorbarTickmode `json:"tickmode,omitempty"`

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

	// Ticks
	// default:
	// type: enumerated
	// Determines whether ticks are drawn or not. If **, this axis' ticks are not drawn. If *outside* (*inside*), this axis' are drawn outside (inside) the axis lines.
	Ticks ContourcarpetColorbarTicks `json:"ticks,omitempty"`

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

	// Ticktext
	// arrayOK: false
	// type: data_array
	// Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `tickvals`.
	Ticktext interface{} `json:"ticktext,omitempty"`

	// Ticktextsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  ticktext .
	Ticktextsrc String `json:"ticktextsrc,omitempty"`

	// Tickvals
	// arrayOK: false
	// type: data_array
	// Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.
	Tickvals interface{} `json:"tickvals,omitempty"`

	// Tickvalssrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  tickvals .
	Tickvalssrc String `json:"tickvalssrc,omitempty"`

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

	// Title
	// role: Object
	Title *ContourcarpetColorbarTitle `json:"title,omitempty"`

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

	// Xanchor
	// default: left
	// type: enumerated
	// Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the color bar.
	Xanchor ContourcarpetColorbarXanchor `json:"xanchor,omitempty"`

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

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

	// Yanchor
	// default: middle
	// type: enumerated
	// Sets this color bar's vertical position anchor This anchor binds the `y` position to the *top*, *middle* or *bottom* of the color bar.
	Yanchor ContourcarpetColorbarYanchor `json:"yanchor,omitempty"`

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

ContourcarpetColorbar

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 (
	ContourcarpetColorbarExponentformatNone  ContourcarpetColorbarExponentformat = "none"
	ContourcarpetColorbarExponentformatE1    ContourcarpetColorbarExponentformat = "e"
	ContourcarpetColorbarExponentformatE2    ContourcarpetColorbarExponentformat = "E"
	ContourcarpetColorbarExponentformatPower ContourcarpetColorbarExponentformat = "power"
	ContourcarpetColorbarExponentformatSi    ContourcarpetColorbarExponentformat = "SI"
	ContourcarpetColorbarExponentformatB     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 (
	ContourcarpetColorbarLenmodeFraction ContourcarpetColorbarLenmode = "fraction"
	ContourcarpetColorbarLenmodePixels   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 (
	ContourcarpetColorbarShowexponentAll   ContourcarpetColorbarShowexponent = "all"
	ContourcarpetColorbarShowexponentFirst ContourcarpetColorbarShowexponent = "first"
	ContourcarpetColorbarShowexponentLast  ContourcarpetColorbarShowexponent = "last"
	ContourcarpetColorbarShowexponentNone  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 (
	ContourcarpetColorbarShowtickprefixAll   ContourcarpetColorbarShowtickprefix = "all"
	ContourcarpetColorbarShowtickprefixFirst ContourcarpetColorbarShowtickprefix = "first"
	ContourcarpetColorbarShowtickprefixLast  ContourcarpetColorbarShowtickprefix = "last"
	ContourcarpetColorbarShowtickprefixNone  ContourcarpetColorbarShowtickprefix = "none"
)

type ContourcarpetColorbarShowticksuffix

type ContourcarpetColorbarShowticksuffix string

ContourcarpetColorbarShowticksuffix Same as `showtickprefix` but for tick suffixes.

const (
	ContourcarpetColorbarShowticksuffixAll   ContourcarpetColorbarShowticksuffix = "all"
	ContourcarpetColorbarShowticksuffixFirst ContourcarpetColorbarShowticksuffix = "first"
	ContourcarpetColorbarShowticksuffixLast  ContourcarpetColorbarShowticksuffix = "last"
	ContourcarpetColorbarShowticksuffixNone  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 (
	ContourcarpetColorbarThicknessmodeFraction ContourcarpetColorbarThicknessmode = "fraction"
	ContourcarpetColorbarThicknessmodePixels   ContourcarpetColorbarThicknessmode = "pixels"
)

type ContourcarpetColorbarTickfont

type ContourcarpetColorbarTickfont struct {

	// Color
	// arrayOK: false
	// type: color
	//
	Color Color `json:"color,omitempty"`

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

	// Size
	// arrayOK: false
	// type: number
	//
	Size float64 `json:"size,omitempty"`
}

ContourcarpetColorbarTickfont Sets the color bar's tick label font

type ContourcarpetColorbarTicklabelposition added in v0.3.1

type ContourcarpetColorbarTicklabelposition string

ContourcarpetColorbarTicklabelposition Determines where tick labels are drawn.

const (
	ContourcarpetColorbarTicklabelpositionOutside       ContourcarpetColorbarTicklabelposition = "outside"
	ContourcarpetColorbarTicklabelpositionInside        ContourcarpetColorbarTicklabelposition = "inside"
	ContourcarpetColorbarTicklabelpositionOutsideTop    ContourcarpetColorbarTicklabelposition = "outside top"
	ContourcarpetColorbarTicklabelpositionInsideTop     ContourcarpetColorbarTicklabelposition = "inside top"
	ContourcarpetColorbarTicklabelpositionOutsideBottom ContourcarpetColorbarTicklabelposition = "outside bottom"
	ContourcarpetColorbarTicklabelpositionInsideBottom  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 (
	ContourcarpetColorbarTickmodeAuto   ContourcarpetColorbarTickmode = "auto"
	ContourcarpetColorbarTickmodeLinear ContourcarpetColorbarTickmode = "linear"
	ContourcarpetColorbarTickmodeArray  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 (
	ContourcarpetColorbarTicksOutside ContourcarpetColorbarTicks = "outside"
	ContourcarpetColorbarTicksInside  ContourcarpetColorbarTicks = "inside"
	ContourcarpetColorbarTicksEmpty   ContourcarpetColorbarTicks = ""
)

type ContourcarpetColorbarTitle

type ContourcarpetColorbarTitle struct {

	// Font
	// role: Object
	Font *ContourcarpetColorbarTitleFont `json:"font,omitempty"`

	// Side
	// default: top
	// type: enumerated
	// Determines the location of color bar's title with respect to the color bar. Note that the title's location used to be set by the now deprecated `titleside` attribute.
	Side ContourcarpetColorbarTitleSide `json:"side,omitempty"`

	// Text
	// arrayOK: false
	// type: string
	// Sets the title of the color bar. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.
	Text String `json:"text,omitempty"`
}

ContourcarpetColorbarTitle

type ContourcarpetColorbarTitleFont

type ContourcarpetColorbarTitleFont struct {

	// Color
	// arrayOK: false
	// type: color
	//
	Color Color `json:"color,omitempty"`

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

	// Size
	// arrayOK: false
	// type: number
	//
	Size float64 `json:"size,omitempty"`
}

ContourcarpetColorbarTitleFont Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.

type 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 (
	ContourcarpetColorbarTitleSideRight  ContourcarpetColorbarTitleSide = "right"
	ContourcarpetColorbarTitleSideTop    ContourcarpetColorbarTitleSide = "top"
	ContourcarpetColorbarTitleSideBottom 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 (
	ContourcarpetColorbarXanchorLeft   ContourcarpetColorbarXanchor = "left"
	ContourcarpetColorbarXanchorCenter ContourcarpetColorbarXanchor = "center"
	ContourcarpetColorbarXanchorRight  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 (
	ContourcarpetColorbarYanchorTop    ContourcarpetColorbarYanchor = "top"
	ContourcarpetColorbarYanchorMiddle ContourcarpetColorbarYanchor = "middle"
	ContourcarpetColorbarYanchorBottom ContourcarpetColorbarYanchor = "bottom"
)

type ContourcarpetContours

type ContourcarpetContours struct {

	// Coloring
	// default: fill
	// type: enumerated
	// Determines the coloring method showing the contour values. If *fill*, coloring is done evenly between each contour level If *lines*, coloring is done on the contour lines. If *none*, no coloring is applied on this trace.
	Coloring ContourcarpetContoursColoring `json:"coloring,omitempty"`

	// End
	// arrayOK: false
	// type: number
	// Sets the end contour level value. Must be more than `contours.start`
	End float64 `json:"end,omitempty"`

	// Labelfont
	// role: Object
	Labelfont *ContourcarpetContoursLabelfont `json:"labelfont,omitempty"`

	// Labelformat
	// arrayOK: false
	// type: string
	// Sets the contour label formatting rule using d3 formatting mini-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
	// default: =
	// type: enumerated
	// Sets the constraint operation. *=* keeps regions equal to `value` *<* and *<=* keep regions less than `value` *>* and *>=* keep regions greater than `value` *[]*, *()*, *[)*, and *(]* keep regions inside `value[0]` to `value[1]` *][*, *)(*, *](*, *)[* keep regions outside `value[0]` to value[1]` Open vs. closed intervals make no difference to constraint display, but all versions are allowed for consistency with filter transforms.
	Operation ContourcarpetContoursOperation `json:"operation,omitempty"`

	// Showlabels
	// arrayOK: false
	// type: boolean
	// Determines whether to label the contour lines with their values.
	Showlabels Bool `json:"showlabels,omitempty"`

	// Showlines
	// arrayOK: false
	// type: boolean
	// Determines whether or not the contour lines are drawn. Has an effect only if `contours.coloring` is set to *fill*.
	Showlines Bool `json:"showlines,omitempty"`

	// Size
	// arrayOK: false
	// type: number
	// Sets the step between each contour level. Must be positive.
	Size float64 `json:"size,omitempty"`

	// Start
	// arrayOK: false
	// type: number
	// Sets the starting contour level value. Must be less than `contours.end`
	Start float64 `json:"start,omitempty"`

	// Type
	// default: levels
	// type: enumerated
	// If `levels`, the data is represented as a contour plot with multiple levels displayed. If `constraint`, the data is represented as constraints with the invalid region shaded as specified by the `operation` and `value` parameters.
	Type ContourcarpetContoursType `json:"type,omitempty"`

	// Value
	// arrayOK: false
	// type: any
	// Sets the value or values of the constraint boundary. When `operation` is set to one of the comparison values (=,<,>=,>,<=) *value* is expected to be a number. When `operation` is set to one of the interval values ([],(),[),(],][,)(,](,)[) *value* is expected to be an array of two numbers where the first is the lower bound and the second is the upper bound.
	Value interface{} `json:"value,omitempty"`
}

ContourcarpetContours

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 (
	ContourcarpetContoursColoringFill  ContourcarpetContoursColoring = "fill"
	ContourcarpetContoursColoringLines ContourcarpetContoursColoring = "lines"
	ContourcarpetContoursColoringNone  ContourcarpetContoursColoring = "none"
)

type ContourcarpetContoursLabelfont

type ContourcarpetContoursLabelfont struct {

	// Color
	// arrayOK: false
	// type: color
	//
	Color Color `json:"color,omitempty"`

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

	// Size
	// arrayOK: false
	// type: number
	//
	Size float64 `json:"size,omitempty"`
}

ContourcarpetContoursLabelfont Sets the font used for labeling the contour levels. The default color comes from the lines, if shown. The default family and size come from `layout.font`.

type 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 (
	ContourcarpetContoursOperationEq               ContourcarpetContoursOperation = "="
	ContourcarpetContoursOperationLt               ContourcarpetContoursOperation = "<"
	ContourcarpetContoursOperationGtEq             ContourcarpetContoursOperation = ">="
	ContourcarpetContoursOperationGt               ContourcarpetContoursOperation = ">"
	ContourcarpetContoursOperationLtEq             ContourcarpetContoursOperation = "<="
	ContourcarpetContoursOperationLbracketRbracket ContourcarpetContoursOperation = "[]"
	ContourcarpetContoursOperationLparRpar         ContourcarpetContoursOperation = "()"
	ContourcarpetContoursOperationLbracketRpar     ContourcarpetContoursOperation = "[)"
	ContourcarpetContoursOperationLparRbracket     ContourcarpetContoursOperation = "(]"
	ContourcarpetContoursOperationRbracketLbracket ContourcarpetContoursOperation = "]["
	ContourcarpetContoursOperationRparLpar         ContourcarpetContoursOperation = ")("
	ContourcarpetContoursOperationRbracketLpar     ContourcarpetContoursOperation = "]("
	ContourcarpetContoursOperationRparLbracket     ContourcarpetContoursOperation = ")["
)

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 (
	ContourcarpetContoursTypeLevels     ContourcarpetContoursType = "levels"
	ContourcarpetContoursTypeConstraint ContourcarpetContoursType = "constraint"
)

type ContourcarpetLine

type ContourcarpetLine struct {

	// Color
	// arrayOK: false
	// type: color
	// Sets the color of the contour level. Has no effect if `contours.coloring` is set to *lines*.
	Color Color `json:"color,omitempty"`

	// Dash
	// arrayOK: false
	// type: string
	// Sets the dash style of lines. Set to a dash type string (*solid*, *dot*, *dash*, *longdash*, *dashdot*, or *longdashdot*) or a dash length list in px (eg *5px,10px,2px,2px*).
	Dash String `json:"dash,omitempty"`

	// Smoothing
	// arrayOK: false
	// type: number
	// Sets the amount of smoothing for the contour lines, where *0* corresponds to no smoothing.
	Smoothing float64 `json:"smoothing,omitempty"`

	// Width
	// arrayOK: false
	// type: number
	// Sets the contour line width in (in px) Defaults to *0.5* when `contours.type` is *levels*. Defaults to *2* when `contour.type` is *constraint*.
	Width float64 `json:"width,omitempty"`
}

ContourcarpetLine

type ContourcarpetStream

type ContourcarpetStream struct {

	// Maxpoints
	// arrayOK: false
	// type: number
	// Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot.
	Maxpoints float64 `json:"maxpoints,omitempty"`

	// Token
	// arrayOK: false
	// type: string
	// The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details.
	Token String `json:"token,omitempty"`
}

ContourcarpetStream

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 (
	ContourcarpetVisibleTrue       ContourcarpetVisible = true
	ContourcarpetVisibleFalse      ContourcarpetVisible = false
	ContourcarpetVisibleLegendonly ContourcarpetVisible = "legendonly"
)

type Densitymapbox

type Densitymapbox struct {

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

	// Autocolorscale
	// arrayOK: false
	// type: boolean
	// Determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by `colorscale`. In case `colorscale` is unspecified or `autocolorscale` is true, the default  palette will be chosen according to whether numbers in the `color` array are all positive, all negative or mixed.
	Autocolorscale Bool `json:"autocolorscale,omitempty"`

	// Below
	// arrayOK: false
	// type: string
	// Determines if the densitymapbox trace will be inserted before the layer with the specified ID. By default, densitymapbox traces are placed below the first layer of type symbol If set to ”, the layer will be inserted above every existing layer.
	Below String `json:"below,omitempty"`

	// Coloraxis
	// arrayOK: false
	// type: subplotid
	// Sets a reference to a shared color axis. References to these shared color axes are *coloraxis*, *coloraxis2*, *coloraxis3*, etc. Settings for these shared color axes are set in the layout, under `layout.coloraxis`, `layout.coloraxis2`, etc. Note that multiple color scales can be linked to the same color axis.
	Coloraxis String `json:"coloraxis,omitempty"`

	// Colorbar
	// role: Object
	Colorbar *DensitymapboxColorbar `json:"colorbar,omitempty"`

	// Colorscale
	// default: %!s(<nil>)
	// type: colorscale
	// Sets the colorscale. The colorscale must be an array containing arrays mapping a normalized value to an rgb, rgba, hex, hsl, hsv, or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, use`zmin` and `zmax`. Alternatively, `colorscale` may be a palette name string of the following list: Greys,YlGnBu,Greens,YlOrRd,Bluered,RdBu,Reds,Blues,Picnic,Rainbow,Portland,Jet,Hot,Blackbody,Earth,Electric,Viridis,Cividis.
	Colorscale ColorScale `json:"colorscale,omitempty"`

	// Customdata
	// arrayOK: false
	// type: data_array
	// Assigns extra data each datum. This may be useful when listening to hover, click and selection events. Note that, *scatter* traces also appends customdata items in the markers DOM elements
	Customdata interface{} `json:"customdata,omitempty"`

	// Customdatasrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  customdata .
	Customdatasrc String `json:"customdatasrc,omitempty"`

	// Hoverinfo
	// default: all
	// type: flaglist
	// Determines which trace information appear on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired.
	Hoverinfo DensitymapboxHoverinfo `json:"hoverinfo,omitempty"`

	// Hoverinfosrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  hoverinfo .
	Hoverinfosrc String `json:"hoverinfosrc,omitempty"`

	// Hoverlabel
	// role: Object
	Hoverlabel *DensitymapboxHoverlabel `json:"hoverlabel,omitempty"`

	// Hovertemplate
	// arrayOK: true
	// type: string
	// Template string used for rendering the information that appear on hover box. Note that this will override `hoverinfo`. Variables are inserted using %{variable}, for example "y: %{y}". 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 String `json:"hovertemplate,omitempty"`

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

	// Hovertext
	// arrayOK: true
	// type: string
	// Sets hover text elements associated with each (lon,lat) pair If a single string, the same string appears over all the data points. If an array of string, the items are mapped in order to the this trace's (lon,lat) coordinates. To be seen, trace `hoverinfo` must contain a *text* flag.
	Hovertext String `json:"hovertext,omitempty"`

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

	// Ids
	// arrayOK: false
	// type: data_array
	// Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type.
	Ids interface{} `json:"ids,omitempty"`

	// Idssrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  ids .
	Idssrc String `json:"idssrc,omitempty"`

	// Lat
	// arrayOK: false
	// type: data_array
	// Sets the latitude coordinates (in degrees North).
	Lat interface{} `json:"lat,omitempty"`

	// Latsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  lat .
	Latsrc String `json:"latsrc,omitempty"`

	// Legendgroup
	// arrayOK: false
	// type: string
	// Sets the legend group for this trace. Traces part of the same legend group hide/show at the same time when toggling legend items.
	Legendgroup String `json:"legendgroup,omitempty"`

	// Lon
	// arrayOK: false
	// type: data_array
	// Sets the longitude coordinates (in degrees East).
	Lon interface{} `json:"lon,omitempty"`

	// Lonsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  lon .
	Lonsrc String `json:"lonsrc,omitempty"`

	// Meta
	// arrayOK: true
	// type: any
	// Assigns extra meta information associated with this trace that can be used in various text attributes. Attributes such as trace `name`, graph, axis and colorbar `title.text`, annotation `text` `rangeselector`, `updatemenues` and `sliders` `label` text all support `meta`. To access the trace `meta` values in an attribute in the same trace, simply use `%{meta[i]}` where `i` is the index or key of the `meta` item in question. To access trace `meta` in layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index.
	Meta interface{} `json:"meta,omitempty"`

	// Metasrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  meta .
	Metasrc String `json:"metasrc,omitempty"`

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

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

	// Radius
	// arrayOK: true
	// type: number
	// Sets the radius of influence of one `lon` / `lat` point in pixels. Increasing the value makes the densitymapbox trace smoother, but less detailed.
	Radius float64 `json:"radius,omitempty"`

	// Radiussrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  radius .
	Radiussrc String `json:"radiussrc,omitempty"`

	// Reversescale
	// arrayOK: false
	// type: boolean
	// Reverses the color mapping if true. If true, `zmin` will correspond to the last color in the array and `zmax` will correspond to the first color.
	Reversescale Bool `json:"reversescale,omitempty"`

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

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

	// Stream
	// role: Object
	Stream *DensitymapboxStream `json:"stream,omitempty"`

	// Subplot
	// arrayOK: false
	// type: subplotid
	// Sets a reference between this trace's data coordinates and a mapbox subplot. If *mapbox* (the default value), the data refer to `layout.mapbox`. If *mapbox2*, the data refer to `layout.mapbox2`, and so on.
	Subplot String `json:"subplot,omitempty"`

	// Text
	// arrayOK: true
	// type: string
	// Sets text elements associated with each (lon,lat) pair If a single string, the same string appears over all the data points. If an array of string, the items are mapped in order to the this trace's (lon,lat) coordinates. If trace `hoverinfo` contains a *text* flag and *hovertext* is not set, these elements will be seen in the hover labels.
	Text String `json:"text,omitempty"`

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

	// Transforms
	// It's an items array and what goes inside it's... messy... check the docs
	// I will be happy if you want to contribute by implementing this
	// just raise an issue before you start so we do not overlap
	Transforms interface{} `json:"transforms,omitempty"`

	// Uid
	// arrayOK: false
	// type: string
	// Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.
	Uid String `json:"uid,omitempty"`

	// Uirevision
	// arrayOK: false
	// type: any
	// Controls persistence of some user-driven changes to the trace: `constraintrange` in `parcoords` traces, as well as some `editable: true` modifications such as `name` and `colorbar.title`. Defaults to `layout.uirevision`. Note that other user-driven trace attribute changes are controlled by `layout` attributes: `trace.visible` is controlled by `layout.legend.uirevision`, `selectedpoints` is controlled by `layout.selectionrevision`, and `colorbar.(x|y)` (accessible with `config: {editable: true}`) is controlled by `layout.editrevision`. Trace changes are tracked by `uid`, which only falls back on trace index if no `uid` is provided. So if your app can add/remove traces before the end of the `data` array, such that the same trace has a different index, you can still preserve user-driven changes if you give each trace a `uid` that stays with it as it moves.
	Uirevision interface{} `json:"uirevision,omitempty"`

	// Visible
	// default: %!s(bool=true)
	// type: enumerated
	// Determines whether or not this trace is visible. If *legendonly*, the trace is not drawn, but can appear as a legend item (provided that the legend itself is visible).
	Visible DensitymapboxVisible `json:"visible,omitempty"`

	// Z
	// arrayOK: false
	// type: data_array
	// Sets the points' weight. For example, a value of 10 would be equivalent to having 10 points of weight 1 in the same spot
	Z interface{} `json:"z,omitempty"`

	// Zauto
	// arrayOK: false
	// type: boolean
	// Determines whether or not the color domain is computed with respect to the input data (here in `z`) or the bounds set in `zmin` and `zmax`  Defaults to `false` when `zmin` and `zmax` are set by the user.
	Zauto Bool `json:"zauto,omitempty"`

	// Zmax
	// arrayOK: false
	// type: number
	// Sets the upper bound of the color domain. Value should have the same units as in `z` and if set, `zmin` must be set as well.
	Zmax float64 `json:"zmax,omitempty"`

	// Zmid
	// arrayOK: false
	// type: number
	// Sets the mid-point of the color domain by scaling `zmin` and/or `zmax` to be equidistant to this point. Value should have the same units as in `z`. Has no effect when `zauto` is `false`.
	Zmid float64 `json:"zmid,omitempty"`

	// Zmin
	// arrayOK: false
	// type: number
	// Sets the lower bound of the color domain. Value should have the same units as in `z` and if set, `zmax` must be set as well.
	Zmin float64 `json:"zmin,omitempty"`

	// Zsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  z .
	Zsrc String `json:"zsrc,omitempty"`
}

Densitymapbox Draws a bivariate kernel density estimation with a Gaussian kernel from `lon` and `lat` coordinates and optional `z` values using a colorscale.

func (*Densitymapbox) GetType

func (trace *Densitymapbox) GetType() TraceType

type DensitymapboxColorbar

type DensitymapboxColorbar struct {

	// Bgcolor
	// arrayOK: false
	// type: color
	// Sets the color of padded area.
	Bgcolor Color `json:"bgcolor,omitempty"`

	// Bordercolor
	// arrayOK: false
	// type: color
	// Sets the axis line color.
	Bordercolor Color `json:"bordercolor,omitempty"`

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

	// Dtick
	// arrayOK: false
	// type: any
	// Sets the step in-between ticks on this axis. Use with `tick0`. Must be a positive number, or special strings available to *log* and *date* axes. If the axis `type` is *log*, then ticks are set every 10^(n*dtick) where n is the tick number. For example, to set a tick mark at 1, 10, 100, 1000, ... set dtick to 1. To set tick marks at 1, 100, 10000, ... set dtick to 2. To set tick marks at 1, 5, 25, 125, 625, 3125, ... set dtick to log_10(5), or 0.69897000433. *log* has several special values; *L<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
	// default: B
	// type: enumerated
	// Determines a formatting rule for the tick exponents. For example, consider the number 1,000,000,000. If *none*, it appears as 1,000,000,000. If *e*, 1e+9. If *E*, 1E+9. If *power*, 1x10^9 (with 9 in a super script). If *SI*, 1G. If *B*, 1B.
	Exponentformat DensitymapboxColorbarExponentformat `json:"exponentformat,omitempty"`

	// Len
	// arrayOK: false
	// type: number
	// Sets the length of the color bar This measure excludes the padding of both ends. That is, the color bar length is this length minus the padding on both ends.
	Len float64 `json:"len,omitempty"`

	// Lenmode
	// default: fraction
	// type: enumerated
	// Determines whether this color bar's length (i.e. the measure in the color variation direction) is set in units of plot *fraction* or in *pixels. Use `len` to set the value.
	Lenmode DensitymapboxColorbarLenmode `json:"lenmode,omitempty"`

	// Minexponent
	// arrayOK: false
	// type: number
	// Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*.
	Minexponent float64 `json:"minexponent,omitempty"`

	// Nticks
	// arrayOK: false
	// type: integer
	// Specifies the maximum number of ticks for the particular axis. The actual number of ticks will be chosen automatically to be less than or equal to `nticks`. Has an effect only if `tickmode` is set to *auto*.
	Nticks int64 `json:"nticks,omitempty"`

	// Outlinecolor
	// arrayOK: false
	// type: color
	// Sets the axis line color.
	Outlinecolor Color `json:"outlinecolor,omitempty"`

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

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

	// Showexponent
	// default: all
	// type: enumerated
	// If *all*, all exponents are shown besides their significands. If *first*, only the exponent of the first tick is shown. If *last*, only the exponent of the last tick is shown. If *none*, no exponents appear.
	Showexponent DensitymapboxColorbarShowexponent `json:"showexponent,omitempty"`

	// Showticklabels
	// arrayOK: false
	// type: boolean
	// Determines whether or not the tick labels are drawn.
	Showticklabels Bool `json:"showticklabels,omitempty"`

	// Showtickprefix
	// default: all
	// type: enumerated
	// If *all*, all tick labels are displayed with a prefix. If *first*, only the first tick is displayed with a prefix. If *last*, only the last tick is displayed with a suffix. If *none*, tick prefixes are hidden.
	Showtickprefix DensitymapboxColorbarShowtickprefix `json:"showtickprefix,omitempty"`

	// Showticksuffix
	// default: all
	// type: enumerated
	// Same as `showtickprefix` but for tick suffixes.
	Showticksuffix DensitymapboxColorbarShowticksuffix `json:"showticksuffix,omitempty"`

	// Thickness
	// arrayOK: false
	// type: number
	// Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.
	Thickness float64 `json:"thickness,omitempty"`

	// Thicknessmode
	// default: pixels
	// type: enumerated
	// Determines whether this color bar's thickness (i.e. the measure in the constant color direction) is set in units of plot *fraction* or in *pixels*. Use `thickness` to set the value.
	Thicknessmode DensitymapboxColorbarThicknessmode `json:"thicknessmode,omitempty"`

	// Tick0
	// arrayOK: false
	// type: any
	// Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2) except when `dtick`=*L<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
	// arrayOK: false
	// type: angle
	// Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.
	Tickangle float64 `json:"tickangle,omitempty"`

	// Tickcolor
	// arrayOK: false
	// type: color
	// Sets the tick color.
	Tickcolor Color `json:"tickcolor,omitempty"`

	// Tickfont
	// role: Object
	Tickfont *DensitymapboxColorbarTickfont `json:"tickfont,omitempty"`

	// Tickformat
	// arrayOK: false
	// type: string
	// Sets the tick label formatting rule using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-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
	// It's an items array and what goes inside it's... messy... check the docs
	// I will be happy if you want to contribute by implementing this
	// just raise an issue before you start so we do not overlap
	Tickformatstops interface{} `json:"tickformatstops,omitempty"`

	// Ticklabelposition
	// default: outside
	// type: enumerated
	// Determines where tick labels are drawn.
	Ticklabelposition DensitymapboxColorbarTicklabelposition `json:"ticklabelposition,omitempty"`

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

	// Tickmode
	// default: %!s(<nil>)
	// type: enumerated
	// Sets the tick mode for this axis. If *auto*, the number of ticks is set via `nticks`. If *linear*, the placement of the ticks is determined by a starting position `tick0` and a tick step `dtick` (*linear* is the default value if `tick0` and `dtick` are provided). If *array*, the placement of the ticks is set via `tickvals` and the tick text is `ticktext`. (*array* is the default value if `tickvals` is provided).
	Tickmode DensitymapboxColorbarTickmode `json:"tickmode,omitempty"`

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

	// Ticks
	// default:
	// type: enumerated
	// Determines whether ticks are drawn or not. If **, this axis' ticks are not drawn. If *outside* (*inside*), this axis' are drawn outside (inside) the axis lines.
	Ticks DensitymapboxColorbarTicks `json:"ticks,omitempty"`

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

	// Ticktext
	// arrayOK: false
	// type: data_array
	// Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `tickvals`.
	Ticktext interface{} `json:"ticktext,omitempty"`

	// Ticktextsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  ticktext .
	Ticktextsrc String `json:"ticktextsrc,omitempty"`

	// Tickvals
	// arrayOK: false
	// type: data_array
	// Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.
	Tickvals interface{} `json:"tickvals,omitempty"`

	// Tickvalssrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  tickvals .
	Tickvalssrc String `json:"tickvalssrc,omitempty"`

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

	// Title
	// role: Object
	Title *DensitymapboxColorbarTitle `json:"title,omitempty"`

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

	// Xanchor
	// default: left
	// type: enumerated
	// Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the color bar.
	Xanchor DensitymapboxColorbarXanchor `json:"xanchor,omitempty"`

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

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

	// Yanchor
	// default: middle
	// type: enumerated
	// Sets this color bar's vertical position anchor This anchor binds the `y` position to the *top*, *middle* or *bottom* of the color bar.
	Yanchor DensitymapboxColorbarYanchor `json:"yanchor,omitempty"`

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

DensitymapboxColorbar

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 (
	DensitymapboxColorbarExponentformatNone  DensitymapboxColorbarExponentformat = "none"
	DensitymapboxColorbarExponentformatE1    DensitymapboxColorbarExponentformat = "e"
	DensitymapboxColorbarExponentformatE2    DensitymapboxColorbarExponentformat = "E"
	DensitymapboxColorbarExponentformatPower DensitymapboxColorbarExponentformat = "power"
	DensitymapboxColorbarExponentformatSi    DensitymapboxColorbarExponentformat = "SI"
	DensitymapboxColorbarExponentformatB     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 (
	DensitymapboxColorbarLenmodeFraction DensitymapboxColorbarLenmode = "fraction"
	DensitymapboxColorbarLenmodePixels   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 (
	DensitymapboxColorbarShowexponentAll   DensitymapboxColorbarShowexponent = "all"
	DensitymapboxColorbarShowexponentFirst DensitymapboxColorbarShowexponent = "first"
	DensitymapboxColorbarShowexponentLast  DensitymapboxColorbarShowexponent = "last"
	DensitymapboxColorbarShowexponentNone  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 (
	DensitymapboxColorbarShowtickprefixAll   DensitymapboxColorbarShowtickprefix = "all"
	DensitymapboxColorbarShowtickprefixFirst DensitymapboxColorbarShowtickprefix = "first"
	DensitymapboxColorbarShowtickprefixLast  DensitymapboxColorbarShowtickprefix = "last"
	DensitymapboxColorbarShowtickprefixNone  DensitymapboxColorbarShowtickprefix = "none"
)

type DensitymapboxColorbarShowticksuffix

type DensitymapboxColorbarShowticksuffix string

DensitymapboxColorbarShowticksuffix Same as `showtickprefix` but for tick suffixes.

const (
	DensitymapboxColorbarShowticksuffixAll   DensitymapboxColorbarShowticksuffix = "all"
	DensitymapboxColorbarShowticksuffixFirst DensitymapboxColorbarShowticksuffix = "first"
	DensitymapboxColorbarShowticksuffixLast  DensitymapboxColorbarShowticksuffix = "last"
	DensitymapboxColorbarShowticksuffixNone  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 (
	DensitymapboxColorbarThicknessmodeFraction DensitymapboxColorbarThicknessmode = "fraction"
	DensitymapboxColorbarThicknessmodePixels   DensitymapboxColorbarThicknessmode = "pixels"
)

type DensitymapboxColorbarTickfont

type DensitymapboxColorbarTickfont struct {

	// Color
	// arrayOK: false
	// type: color
	//
	Color Color `json:"color,omitempty"`

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

	// Size
	// arrayOK: false
	// type: number
	//
	Size float64 `json:"size,omitempty"`
}

DensitymapboxColorbarTickfont Sets the color bar's tick label font

type DensitymapboxColorbarTicklabelposition added in v0.3.1

type DensitymapboxColorbarTicklabelposition string

DensitymapboxColorbarTicklabelposition Determines where tick labels are drawn.

const (
	DensitymapboxColorbarTicklabelpositionOutside       DensitymapboxColorbarTicklabelposition = "outside"
	DensitymapboxColorbarTicklabelpositionInside        DensitymapboxColorbarTicklabelposition = "inside"
	DensitymapboxColorbarTicklabelpositionOutsideTop    DensitymapboxColorbarTicklabelposition = "outside top"
	DensitymapboxColorbarTicklabelpositionInsideTop     DensitymapboxColorbarTicklabelposition = "inside top"
	DensitymapboxColorbarTicklabelpositionOutsideBottom DensitymapboxColorbarTicklabelposition = "outside bottom"
	DensitymapboxColorbarTicklabelpositionInsideBottom  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 (
	DensitymapboxColorbarTickmodeAuto   DensitymapboxColorbarTickmode = "auto"
	DensitymapboxColorbarTickmodeLinear DensitymapboxColorbarTickmode = "linear"
	DensitymapboxColorbarTickmodeArray  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 (
	DensitymapboxColorbarTicksOutside DensitymapboxColorbarTicks = "outside"
	DensitymapboxColorbarTicksInside  DensitymapboxColorbarTicks = "inside"
	DensitymapboxColorbarTicksEmpty   DensitymapboxColorbarTicks = ""
)

type DensitymapboxColorbarTitle

type DensitymapboxColorbarTitle struct {

	// Font
	// role: Object
	Font *DensitymapboxColorbarTitleFont `json:"font,omitempty"`

	// Side
	// default: top
	// type: enumerated
	// Determines the location of color bar's title with respect to the color bar. Note that the title's location used to be set by the now deprecated `titleside` attribute.
	Side DensitymapboxColorbarTitleSide `json:"side,omitempty"`

	// Text
	// arrayOK: false
	// type: string
	// Sets the title of the color bar. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.
	Text String `json:"text,omitempty"`
}

DensitymapboxColorbarTitle

type DensitymapboxColorbarTitleFont

type DensitymapboxColorbarTitleFont struct {

	// Color
	// arrayOK: false
	// type: color
	//
	Color Color `json:"color,omitempty"`

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

	// Size
	// arrayOK: false
	// type: number
	//
	Size float64 `json:"size,omitempty"`
}

DensitymapboxColorbarTitleFont Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.

type 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 (
	DensitymapboxColorbarTitleSideRight  DensitymapboxColorbarTitleSide = "right"
	DensitymapboxColorbarTitleSideTop    DensitymapboxColorbarTitleSide = "top"
	DensitymapboxColorbarTitleSideBottom 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 (
	DensitymapboxColorbarXanchorLeft   DensitymapboxColorbarXanchor = "left"
	DensitymapboxColorbarXanchorCenter DensitymapboxColorbarXanchor = "center"
	DensitymapboxColorbarXanchorRight  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 (
	DensitymapboxColorbarYanchorTop    DensitymapboxColorbarYanchor = "top"
	DensitymapboxColorbarYanchorMiddle DensitymapboxColorbarYanchor = "middle"
	DensitymapboxColorbarYanchorBottom DensitymapboxColorbarYanchor = "bottom"
)

type DensitymapboxHoverinfo

type DensitymapboxHoverinfo string

DensitymapboxHoverinfo Determines which trace information appear on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired.

const (
	// Flags
	DensitymapboxHoverinfoLon  DensitymapboxHoverinfo = "lon"
	DensitymapboxHoverinfoLat  DensitymapboxHoverinfo = "lat"
	DensitymapboxHoverinfoZ    DensitymapboxHoverinfo = "z"
	DensitymapboxHoverinfoText DensitymapboxHoverinfo = "text"
	DensitymapboxHoverinfoName DensitymapboxHoverinfo = "name"

	// Extra
	DensitymapboxHoverinfoAll  DensitymapboxHoverinfo = "all"
	DensitymapboxHoverinfoNone DensitymapboxHoverinfo = "none"
	DensitymapboxHoverinfoSkip DensitymapboxHoverinfo = "skip"
)

type DensitymapboxHoverlabel

type DensitymapboxHoverlabel struct {

	// Align
	// default: auto
	// type: enumerated
	// Sets the horizontal alignment of the text content within hover label box. Has an effect only if the hover label text spans more two or more lines
	Align DensitymapboxHoverlabelAlign `json:"align,omitempty"`

	// Alignsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  align .
	Alignsrc String `json:"alignsrc,omitempty"`

	// Bgcolor
	// arrayOK: true
	// type: color
	// Sets the background color of the hover labels for this trace
	Bgcolor Color `json:"bgcolor,omitempty"`

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

	// Bordercolor
	// arrayOK: true
	// type: color
	// Sets the border color of the hover labels for this trace.
	Bordercolor Color `json:"bordercolor,omitempty"`

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

	// Font
	// role: Object
	Font *DensitymapboxHoverlabelFont `json:"font,omitempty"`

	// Namelength
	// arrayOK: true
	// type: integer
	// Sets the default length (in number of characters) of the trace name in the hover labels for all traces. -1 shows the whole name regardless of length. 0-3 shows the first 0-3 characters, and an integer >3 will show the whole name if it is less than that many characters, but if it is longer, will truncate to `namelength - 3` characters and add an ellipsis.
	Namelength int64 `json:"namelength,omitempty"`

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

DensitymapboxHoverlabel

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 (
	DensitymapboxHoverlabelAlignLeft  DensitymapboxHoverlabelAlign = "left"
	DensitymapboxHoverlabelAlignRight DensitymapboxHoverlabelAlign = "right"
	DensitymapboxHoverlabelAlignAuto  DensitymapboxHoverlabelAlign = "auto"
)

type DensitymapboxHoverlabelFont

type DensitymapboxHoverlabelFont struct {

	// Color
	// arrayOK: true
	// type: color
	//
	Color Color `json:"color,omitempty"`

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

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

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

	// Size
	// arrayOK: true
	// type: number
	//
	Size float64 `json:"size,omitempty"`

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

DensitymapboxHoverlabelFont Sets the font used in hover labels.

type DensitymapboxStream

type DensitymapboxStream struct {

	// Maxpoints
	// arrayOK: false
	// type: number
	// Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot.
	Maxpoints float64 `json:"maxpoints,omitempty"`

	// Token
	// arrayOK: false
	// type: string
	// The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details.
	Token String `json:"token,omitempty"`
}

DensitymapboxStream

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 (
	DensitymapboxVisibleTrue       DensitymapboxVisible = true
	DensitymapboxVisibleFalse      DensitymapboxVisible = false
	DensitymapboxVisibleLegendonly DensitymapboxVisible = "legendonly"
)

type Fig

type Fig struct {
	// Data The data to be plotted is described in an array usually called data, whose elements are trace objects of various types (e.g. scatter, bar etc) as documented in the Full Reference.
	// https://plotly.com/javascript/reference
	Data Traces `json:"data,omitempty"`

	// Layout The layout of the plot – non-data-related visual attributes such as the title, annotations etc – is described in an object usually called layout, as documented in/ the Full Reference.
	// https://plotly.com/javascript/reference/layout
	Layout *Layout `json:"layout,omitempty"`

	// Config High-level configuration options for the plot, such as the scroll/zoom/hover behaviour, is described in an object usually called config, as documented here. The difference between config and layout is that layout relates to the content of the plot, whereas config relates to the context in which the plot is being shown.
	// https://plotly.com/javascript/configuration-options
	Config *Config `json:"config,omitempty"`

	// Animation is not yet implemented, feel free to insert custom a struct
	Animation interface{} `json:"animation,omitempty"`
}

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 added in v0.2.0

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
	// arrayOK: false
	// type: string
	// Set several traces linked to the same position axis or matching axes to the same alignmentgroup. This controls whether bars compute their positional range dependently or independently.
	Alignmentgroup String `json:"alignmentgroup,omitempty"`

	// Cliponaxis
	// arrayOK: false
	// type: boolean
	// Determines whether the text nodes are clipped about the subplot axes. To show the text nodes above axis lines and tick labels, make sure to set `xaxis.layer` and `yaxis.layer` to *below traces*.
	Cliponaxis Bool `json:"cliponaxis,omitempty"`

	// Connector
	// role: Object
	Connector *FunnelConnector `json:"connector,omitempty"`

	// Constraintext
	// default: both
	// type: enumerated
	// Constrain the size of text inside or outside a bar to be no larger than the bar itself.
	Constraintext FunnelConstraintext `json:"constraintext,omitempty"`

	// Customdata
	// arrayOK: false
	// type: data_array
	// Assigns extra data each datum. This may be useful when listening to hover, click and selection events. Note that, *scatter* traces also appends customdata items in the markers DOM elements
	Customdata interface{} `json:"customdata,omitempty"`

	// Customdatasrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  customdata .
	Customdatasrc String `json:"customdatasrc,omitempty"`

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

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

	// Hoverinfo
	// default: all
	// type: flaglist
	// Determines which trace information appear on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired.
	Hoverinfo FunnelHoverinfo `json:"hoverinfo,omitempty"`

	// Hoverinfosrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  hoverinfo .
	Hoverinfosrc String `json:"hoverinfosrc,omitempty"`

	// Hoverlabel
	// role: Object
	Hoverlabel *FunnelHoverlabel `json:"hoverlabel,omitempty"`

	// Hovertemplate
	// arrayOK: true
	// type: string
	// Template string used for rendering the information that appear on hover box. Note that this will override `hoverinfo`. Variables are inserted using %{variable}, for example "y: %{y}". 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 String `json:"hovertemplate,omitempty"`

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

	// Hovertext
	// arrayOK: true
	// type: string
	// Sets hover text elements associated with each (x,y) pair. If a single string, the same string appears over all the data points. If an array of string, the items are mapped in order to the this trace's (x,y) coordinates. To be seen, trace `hoverinfo` must contain a *text* flag.
	Hovertext String `json:"hovertext,omitempty"`

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

	// Ids
	// arrayOK: false
	// type: data_array
	// Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type.
	Ids interface{} `json:"ids,omitempty"`

	// Idssrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  ids .
	Idssrc String `json:"idssrc,omitempty"`

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

	// Insidetextfont
	// role: Object
	Insidetextfont *FunnelInsidetextfont `json:"insidetextfont,omitempty"`

	// Legendgroup
	// arrayOK: false
	// type: string
	// Sets the legend group for this trace. Traces part of the same legend group hide/show at the same time when toggling legend items.
	Legendgroup String `json:"legendgroup,omitempty"`

	// Marker
	// role: Object
	Marker *FunnelMarker `json:"marker,omitempty"`

	// Meta
	// arrayOK: true
	// type: any
	// Assigns extra meta information associated with this trace that can be used in various text attributes. Attributes such as trace `name`, graph, axis and colorbar `title.text`, annotation `text` `rangeselector`, `updatemenues` and `sliders` `label` text all support `meta`. To access the trace `meta` values in an attribute in the same trace, simply use `%{meta[i]}` where `i` is the index or key of the `meta` item in question. To access trace `meta` in layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index.
	Meta interface{} `json:"meta,omitempty"`

	// Metasrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  meta .
	Metasrc String `json:"metasrc,omitempty"`

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

	// Offset
	// arrayOK: false
	// type: number
	// Shifts the position where the bar is drawn (in position axis units). In *group* barmode, traces that set *offset* will be excluded and drawn in *overlay* mode instead.
	Offset float64 `json:"offset,omitempty"`

	// Offsetgroup
	// arrayOK: false
	// type: string
	// Set several traces linked to the same position axis or matching axes to the same offsetgroup where bars of the same position coordinate will line up.
	Offsetgroup String `json:"offsetgroup,omitempty"`

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

	// Orientation
	// default: %!s(<nil>)
	// type: enumerated
	// Sets the orientation of the funnels. With *v* (*h*), the value of the each bar spans along the vertical (horizontal). By default funnels are tend to be oriented horizontally; unless only *y* array is presented or orientation is set to *v*. Also regarding graphs including only 'horizontal' funnels, *autorange* on the *y-axis* are set to *reversed*.
	Orientation FunnelOrientation `json:"orientation,omitempty"`

	// Outsidetextfont
	// role: Object
	Outsidetextfont *FunnelOutsidetextfont `json:"outsidetextfont,omitempty"`

	// Selectedpoints
	// arrayOK: false
	// type: any
	// Array containing integer indices of selected points. Has an effect only for traces that support selections. Note that an empty array means an empty selection where the `unselected` are turned on for all points, whereas, any other non-array values means no selection all where the `selected` and `unselected` styles have no effect.
	Selectedpoints interface{} `json:"selectedpoints,omitempty"`

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

	// Stream
	// role: Object
	Stream *FunnelStream `json:"stream,omitempty"`

	// Text
	// arrayOK: true
	// type: string
	// Sets text elements associated with each (x,y) pair. If a single string, the same string appears over all the data points. If an array of string, the items are mapped in order to the this trace's (x,y) coordinates. If trace `hoverinfo` contains a *text* flag and *hovertext* is not set, these elements will be seen in the hover labels.
	Text String `json:"text,omitempty"`

	// Textangle
	// arrayOK: false
	// type: angle
	// Sets the angle of the tick labels with respect to the bar. For example, a `tickangle` of -90 draws the tick labels vertically. With *auto* the texts may automatically be rotated to fit with the maximum size in bars.
	Textangle float64 `json:"textangle,omitempty"`

	// Textfont
	// role: Object
	Textfont *FunnelTextfont `json:"textfont,omitempty"`

	// Textinfo
	// default: %!s(<nil>)
	// type: flaglist
	// Determines which trace information appear on the graph. In the case of having multiple funnels, percentages & totals are computed separately (per trace).
	Textinfo FunnelTextinfo `json:"textinfo,omitempty"`

	// Textposition
	// default: auto
	// type: enumerated
	// Specifies the location of the `text`. *inside* positions `text` inside, next to the bar end (rotated and scaled if needed). *outside* positions `text` outside, next to the bar end (scaled if needed), unless there is another bar stacked on this one, then the text gets pushed inside. *auto* tries to position `text` inside the bar, but if the bar is too small and no bar is stacked on this one the text is moved outside.
	Textposition FunnelTextposition `json:"textposition,omitempty"`

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

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

	// Texttemplate
	// arrayOK: true
	// type: string
	// Template string used for rendering the information text that appear on points. Note that this will override `textinfo`. Variables are inserted using %{variable}, for example "y: %{y}". Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example "Price: %{y:$.2f}". https://github.com/d3/d3-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 String `json:"texttemplate,omitempty"`

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

	// Transforms
	// It's an items array and what goes inside it's... messy... check the docs
	// I will be happy if you want to contribute by implementing this
	// just raise an issue before you start so we do not overlap
	Transforms interface{} `json:"transforms,omitempty"`

	// Uid
	// arrayOK: false
	// type: string
	// Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.
	Uid String `json:"uid,omitempty"`

	// Uirevision
	// arrayOK: false
	// type: any
	// Controls persistence of some user-driven changes to the trace: `constraintrange` in `parcoords` traces, as well as some `editable: true` modifications such as `name` and `colorbar.title`. Defaults to `layout.uirevision`. Note that other user-driven trace attribute changes are controlled by `layout` attributes: `trace.visible` is controlled by `layout.legend.uirevision`, `selectedpoints` is controlled by `layout.selectionrevision`, and `colorbar.(x|y)` (accessible with `config: {editable: true}`) is controlled by `layout.editrevision`. Trace changes are tracked by `uid`, which only falls back on trace index if no `uid` is provided. So if your app can add/remove traces before the end of the `data` array, such that the same trace has a different index, you can still preserve user-driven changes if you give each trace a `uid` that stays with it as it moves.
	Uirevision interface{} `json:"uirevision,omitempty"`

	// Visible
	// default: %!s(bool=true)
	// type: enumerated
	// Determines whether or not this trace is visible. If *legendonly*, the trace is not drawn, but can appear as a legend item (provided that the legend itself is visible).
	Visible FunnelVisible `json:"visible,omitempty"`

	// Width
	// arrayOK: false
	// type: number
	// Sets the bar width (in position axis units).
	Width float64 `json:"width,omitempty"`

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

	// X0
	// arrayOK: false
	// type: any
	// Alternate to `x`. Builds a linear space of x coordinates. Use with `dx` where `x0` is the starting coordinate and `dx` the step.
	X0 interface{} `json:"x0,omitempty"`

	// Xaxis
	// arrayOK: false
	// type: subplotid
	// Sets a reference between this trace's x coordinates and a 2D cartesian x axis. If *x* (the default value), the x coordinates refer to `layout.xaxis`. If *x2*, the x coordinates refer to `layout.xaxis2`, and so on.
	Xaxis String `json:"xaxis,omitempty"`

	// Xperiod
	// arrayOK: false
	// type: 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
	// arrayOK: false
	// type: any
	// Only relevant when the axis `type` is *date*. Sets the base for period positioning in milliseconds or date string on the x0 axis. When `x0period` is round number of weeks, the `x0period0` by default would be on a Sunday i.e. 2000-01-02, otherwise it would be at 2000-01-01.
	Xperiod0 interface{} `json:"xperiod0,omitempty"`

	// Xperiodalignment
	// default: middle
	// type: enumerated
	// Only relevant when the axis `type` is *date*. Sets the alignment of data points on the x axis.
	Xperiodalignment FunnelXperiodalignment `json:"xperiodalignment,omitempty"`

	// Xsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  x .
	Xsrc String `json:"xsrc,omitempty"`

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

	// Y0
	// arrayOK: false
	// type: any
	// Alternate to `y`. Builds a linear space of y coordinates. Use with `dy` where `y0` is the starting coordinate and `dy` the step.
	Y0 interface{} `json:"y0,omitempty"`

	// Yaxis
	// arrayOK: false
	// type: subplotid
	// Sets a reference between this trace's y coordinates and a 2D cartesian y axis. If *y* (the default value), the y coordinates refer to `layout.yaxis`. If *y2*, the y coordinates refer to `layout.yaxis2`, and so on.
	Yaxis String `json:"yaxis,omitempty"`

	// Yperiod
	// arrayOK: false
	// type: 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
	// arrayOK: false
	// type: any
	// Only relevant when the axis `type` is *date*. Sets the base for period positioning in milliseconds or date string on the y0 axis. When `y0period` is round number of weeks, the `y0period0` by default would be on a Sunday i.e. 2000-01-02, otherwise it would be at 2000-01-01.
	Yperiod0 interface{} `json:"yperiod0,omitempty"`

	// Yperiodalignment
	// default: middle
	// type: enumerated
	// Only relevant when the axis `type` is *date*. Sets the alignment of data points on the y axis.
	Yperiodalignment FunnelYperiodalignment `json:"yperiodalignment,omitempty"`

	// Ysrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  y .
	Ysrc String `json:"ysrc,omitempty"`
}

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 (*Funnel) GetType

func (trace *Funnel) GetType() TraceType

type FunnelConnector

type FunnelConnector struct {

	// Fillcolor
	// arrayOK: false
	// type: color
	// Sets the fill color.
	Fillcolor Color `json:"fillcolor,omitempty"`

	// Line
	// role: Object
	Line *FunnelConnectorLine `json:"line,omitempty"`

	// Visible
	// arrayOK: false
	// type: boolean
	// Determines if connector regions and lines are drawn.
	Visible Bool `json:"visible,omitempty"`
}

FunnelConnector

type FunnelConnectorLine

type FunnelConnectorLine struct {

	// Color
	// arrayOK: false
	// type: color
	// Sets the line color.
	Color Color `json:"color,omitempty"`

	// Dash
	// arrayOK: false
	// type: string
	// Sets the dash style of lines. Set to a dash type string (*solid*, *dot*, *dash*, *longdash*, *dashdot*, or *longdashdot*) or a dash length list in px (eg *5px,10px,2px,2px*).
	Dash String `json:"dash,omitempty"`

	// Width
	// arrayOK: false
	// type: number
	// Sets the line width (in px).
	Width float64 `json:"width,omitempty"`
}

FunnelConnectorLine

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 (
	FunnelConstraintextInside  FunnelConstraintext = "inside"
	FunnelConstraintextOutside FunnelConstraintext = "outside"
	FunnelConstraintextBoth    FunnelConstraintext = "both"
	FunnelConstraintextNone    FunnelConstraintext = "none"
)

type FunnelHoverinfo

type FunnelHoverinfo string

FunnelHoverinfo Determines which trace information appear on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired.

const (
	// Flags
	FunnelHoverinfoName            FunnelHoverinfo = "name"
	FunnelHoverinfoX               FunnelHoverinfo = "x"
	FunnelHoverinfoY               FunnelHoverinfo = "y"
	FunnelHoverinfoText            FunnelHoverinfo = "text"
	FunnelHoverinfoPercentInitial  FunnelHoverinfo = "percent initial"
	FunnelHoverinfoPercentPrevious FunnelHoverinfo = "percent previous"
	FunnelHoverinfoPercentTotal    FunnelHoverinfo = "percent total"

	// Extra
	FunnelHoverinfoAll  FunnelHoverinfo = "all"
	FunnelHoverinfoNone FunnelHoverinfo = "none"
	FunnelHoverinfoSkip FunnelHoverinfo = "skip"
)

type FunnelHoverlabel

type FunnelHoverlabel struct {

	// Align
	// default: auto
	// type: enumerated
	// Sets the horizontal alignment of the text content within hover label box. Has an effect only if the hover label text spans more two or more lines
	Align FunnelHoverlabelAlign `json:"align,omitempty"`

	// Alignsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  align .
	Alignsrc String `json:"alignsrc,omitempty"`

	// Bgcolor
	// arrayOK: true
	// type: color
	// Sets the background color of the hover labels for this trace
	Bgcolor Color `json:"bgcolor,omitempty"`

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

	// Bordercolor
	// arrayOK: true
	// type: color
	// Sets the border color of the hover labels for this trace.
	Bordercolor Color `json:"bordercolor,omitempty"`

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

	// Font
	// role: Object
	Font *FunnelHoverlabelFont `json:"font,omitempty"`

	// Namelength
	// arrayOK: true
	// type: integer
	// Sets the default length (in number of characters) of the trace name in the hover labels for all traces. -1 shows the whole name regardless of length. 0-3 shows the first 0-3 characters, and an integer >3 will show the whole name if it is less than that many characters, but if it is longer, will truncate to `namelength - 3` characters and add an ellipsis.
	Namelength int64 `json:"namelength,omitempty"`

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

FunnelHoverlabel

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 (
	FunnelHoverlabelAlignLeft  FunnelHoverlabelAlign = "left"
	FunnelHoverlabelAlignRight FunnelHoverlabelAlign = "right"
	FunnelHoverlabelAlignAuto  FunnelHoverlabelAlign = "auto"
)

type FunnelHoverlabelFont

type FunnelHoverlabelFont struct {

	// Color
	// arrayOK: true
	// type: color
	//
	Color Color `json:"color,omitempty"`

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

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

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

	// Size
	// arrayOK: true
	// type: number
	//
	Size float64 `json:"size,omitempty"`

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

FunnelHoverlabelFont Sets the font used in hover labels.

type FunnelInsidetextanchor

type FunnelInsidetextanchor string

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

const (
	FunnelInsidetextanchorEnd    FunnelInsidetextanchor = "end"
	FunnelInsidetextanchorMiddle FunnelInsidetextanchor = "middle"
	FunnelInsidetextanchorStart  FunnelInsidetextanchor = "start"
)

type FunnelInsidetextfont

type FunnelInsidetextfont struct {

	// Color
	// arrayOK: true
	// type: color
	//
	Color Color `json:"color,omitempty"`

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

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

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

	// Size
	// arrayOK: true
	// type: number
	//
	Size float64 `json:"size,omitempty"`

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

FunnelInsidetextfont Sets the font used for `text` lying inside the bar.

type FunnelMarker

type FunnelMarker struct {

	// Autocolorscale
	// arrayOK: false
	// type: boolean
	// Determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by `marker.colorscale`. Has an effect only if in `marker.color`is set to a numerical array. In case `colorscale` is unspecified or `autocolorscale` is true, the default  palette will be chosen according to whether numbers in the `color` array are all positive, all negative or mixed.
	Autocolorscale Bool `json:"autocolorscale,omitempty"`

	// Cauto
	// arrayOK: false
	// type: boolean
	// Determines whether or not the color domain is computed with respect to the input data (here in `marker.color`) or the bounds set in `marker.cmin` and `marker.cmax`  Has an effect only if in `marker.color`is set to a numerical array. Defaults to `false` when `marker.cmin` and `marker.cmax` are set by the user.
	Cauto Bool `json:"cauto,omitempty"`

	// Cmax
	// arrayOK: false
	// type: number
	// Sets the upper bound of the color domain. Has an effect only if in `marker.color`is set to a numerical array. Value should have the same units as in `marker.color` and if set, `marker.cmin` must be set as well.
	Cmax float64 `json:"cmax,omitempty"`

	// Cmid
	// arrayOK: false
	// type: number
	// Sets the mid-point of the color domain by scaling `marker.cmin` and/or `marker.cmax` to be equidistant to this point. Has an effect only if in `marker.color`is set to a numerical array. Value should have the same units as in `marker.color`. Has no effect when `marker.cauto` is `false`.
	Cmid float64 `json:"cmid,omitempty"`

	// Cmin
	// arrayOK: false
	// type: number
	// Sets the lower bound of the color domain. Has an effect only if in `marker.color`is set to a numerical array. Value should have the same units as in `marker.color` and if set, `marker.cmax` must be set as well.
	Cmin float64 `json:"cmin,omitempty"`

	// Color
	// arrayOK: true
	// type: color
	// Sets themarkercolor. It accepts either a specific color or an array of numbers that are mapped to the colorscale relative to the max and min values of the array or relative to `marker.cmin` and `marker.cmax` if set.
	Color Color `json:"color,omitempty"`

	// Coloraxis
	// arrayOK: false
	// type: subplotid
	// Sets a reference to a shared color axis. References to these shared color axes are *coloraxis*, *coloraxis2*, *coloraxis3*, etc. Settings for these shared color axes are set in the layout, under `layout.coloraxis`, `layout.coloraxis2`, etc. Note that multiple color scales can be linked to the same color axis.
	Coloraxis String `json:"coloraxis,omitempty"`

	// Colorbar
	// role: Object
	Colorbar *FunnelMarkerColorbar `json:"colorbar,omitempty"`

	// Colorscale
	// default: %!s(<nil>)
	// type: colorscale
	// Sets the colorscale. Has an effect only if in `marker.color`is set to a numerical array. The colorscale must be an array containing arrays mapping a normalized value to an rgb, rgba, hex, hsl, hsv, or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, use`marker.cmin` and `marker.cmax`. Alternatively, `colorscale` may be a palette name string of the following list: Greys,YlGnBu,Greens,YlOrRd,Bluered,RdBu,Reds,Blues,Picnic,Rainbow,Portland,Jet,Hot,Blackbody,Earth,Electric,Viridis,Cividis.
	Colorscale ColorScale `json:"colorscale,omitempty"`

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

	// Line
	// role: Object
	Line *FunnelMarkerLine `json:"line,omitempty"`

	// Opacity
	// arrayOK: true
	// type: number
	// Sets the opacity of the bars.
	Opacity float64 `json:"opacity,omitempty"`

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

	// Reversescale
	// arrayOK: false
	// type: boolean
	// Reverses the color mapping if true. Has an effect only if in `marker.color`is set to a numerical array. If true, `marker.cmin` will correspond to the last color in the array and `marker.cmax` will correspond to the first color.
	Reversescale Bool `json:"reversescale,omitempty"`

	// Showscale
	// arrayOK: false
	// type: boolean
	// Determines whether or not a colorbar is displayed for this trace. Has an effect only if in `marker.color`is set to a numerical array.
	Showscale Bool `json:"showscale,omitempty"`
}

FunnelMarker

type FunnelMarkerColorbar

type FunnelMarkerColorbar struct {

	// Bgcolor
	// arrayOK: false
	// type: color
	// Sets the color of padded area.
	Bgcolor Color `json:"bgcolor,omitempty"`

	// Bordercolor
	// arrayOK: false
	// type: color
	// Sets the axis line color.
	Bordercolor Color `json:"bordercolor,omitempty"`

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

	// Dtick
	// arrayOK: false
	// type: any
	// Sets the step in-between ticks on this axis. Use with `tick0`. Must be a positive number, or special strings available to *log* and *date* axes. If the axis `type` is *log*, then ticks are set every 10^(n*dtick) where n is the tick number. For example, to set a tick mark at 1, 10, 100, 1000, ... set dtick to 1. To set tick marks at 1, 100, 10000, ... set dtick to 2. To set tick marks at 1, 5, 25, 125, 625, 3125, ... set dtick to log_10(5), or 0.69897000433. *log* has several special values; *L<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
	// default: B
	// type: enumerated
	// Determines a formatting rule for the tick exponents. For example, consider the number 1,000,000,000. If *none*, it appears as 1,000,000,000. If *e*, 1e+9. If *E*, 1E+9. If *power*, 1x10^9 (with 9 in a super script). If *SI*, 1G. If *B*, 1B.
	Exponentformat FunnelMarkerColorbarExponentformat `json:"exponentformat,omitempty"`

	// Len
	// arrayOK: false
	// type: number
	// Sets the length of the color bar This measure excludes the padding of both ends. That is, the color bar length is this length minus the padding on both ends.
	Len float64 `json:"len,omitempty"`

	// Lenmode
	// default: fraction
	// type: enumerated
	// Determines whether this color bar's length (i.e. the measure in the color variation direction) is set in units of plot *fraction* or in *pixels. Use `len` to set the value.
	Lenmode FunnelMarkerColorbarLenmode `json:"lenmode,omitempty"`

	// Minexponent
	// arrayOK: false
	// type: number
	// Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*.
	Minexponent float64 `json:"minexponent,omitempty"`

	// Nticks
	// arrayOK: false
	// type: integer
	// Specifies the maximum number of ticks for the particular axis. The actual number of ticks will be chosen automatically to be less than or equal to `nticks`. Has an effect only if `tickmode` is set to *auto*.
	Nticks int64 `json:"nticks,omitempty"`

	// Outlinecolor
	// arrayOK: false
	// type: color
	// Sets the axis line color.
	Outlinecolor Color `json:"outlinecolor,omitempty"`

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

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

	// Showexponent
	// default: all
	// type: enumerated
	// If *all*, all exponents are shown besides their significands. If *first*, only the exponent of the first tick is shown. If *last*, only the exponent of the last tick is shown. If *none*, no exponents appear.
	Showexponent FunnelMarkerColorbarShowexponent `json:"showexponent,omitempty"`

	// Showticklabels
	// arrayOK: false
	// type: boolean
	// Determines whether or not the tick labels are drawn.
	Showticklabels Bool `json:"showticklabels,omitempty"`

	// Showtickprefix
	// default: all
	// type: enumerated
	// If *all*, all tick labels are displayed with a prefix. If *first*, only the first tick is displayed with a prefix. If *last*, only the last tick is displayed with a suffix. If *none*, tick prefixes are hidden.
	Showtickprefix FunnelMarkerColorbarShowtickprefix `json:"showtickprefix,omitempty"`

	// Showticksuffix
	// default: all
	// type: enumerated
	// Same as `showtickprefix` but for tick suffixes.
	Showticksuffix FunnelMarkerColorbarShowticksuffix `json:"showticksuffix,omitempty"`

	// Thickness
	// arrayOK: false
	// type: number
	// Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.
	Thickness float64 `json:"thickness,omitempty"`

	// Thicknessmode
	// default: pixels
	// type: enumerated
	// Determines whether this color bar's thickness (i.e. the measure in the constant color direction) is set in units of plot *fraction* or in *pixels*. Use `thickness` to set the value.
	Thicknessmode FunnelMarkerColorbarThicknessmode `json:"thicknessmode,omitempty"`

	// Tick0
	// arrayOK: false
	// type: any
	// Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2) except when `dtick`=*L<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
	// arrayOK: false
	// type: angle
	// Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.
	Tickangle float64 `json:"tickangle,omitempty"`

	// Tickcolor
	// arrayOK: false
	// type: color
	// Sets the tick color.
	Tickcolor Color `json:"tickcolor,omitempty"`

	// Tickfont
	// role: Object
	Tickfont *FunnelMarkerColorbarTickfont `json:"tickfont,omitempty"`

	// Tickformat
	// arrayOK: false
	// type: string
	// Sets the tick label formatting rule using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-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
	// It's an items array and what goes inside it's... messy... check the docs
	// I will be happy if you want to contribute by implementing this
	// just raise an issue before you start so we do not overlap
	Tickformatstops interface{} `json:"tickformatstops,omitempty"`

	// Ticklabelposition
	// default: outside
	// type: enumerated
	// Determines where tick labels are drawn.
	Ticklabelposition FunnelMarkerColorbarTicklabelposition `json:"ticklabelposition,omitempty"`

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

	// Tickmode
	// default: %!s(<nil>)
	// type: enumerated
	// Sets the tick mode for this axis. If *auto*, the number of ticks is set via `nticks`. If *linear*, the placement of the ticks is determined by a starting position `tick0` and a tick step `dtick` (*linear* is the default value if `tick0` and `dtick` are provided). If *array*, the placement of the ticks is set via `tickvals` and the tick text is `ticktext`. (*array* is the default value if `tickvals` is provided).
	Tickmode FunnelMarkerColorbarTickmode `json:"tickmode,omitempty"`

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

	// Ticks
	// default:
	// type: enumerated
	// Determines whether ticks are drawn or not. If **, this axis' ticks are not drawn. If *outside* (*inside*), this axis' are drawn outside (inside) the axis lines.
	Ticks FunnelMarkerColorbarTicks `json:"ticks,omitempty"`

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

	// Ticktext
	// arrayOK: false
	// type: data_array
	// Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `tickvals`.
	Ticktext interface{} `json:"ticktext,omitempty"`

	// Ticktextsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  ticktext .
	Ticktextsrc String `json:"ticktextsrc,omitempty"`

	// Tickvals
	// arrayOK: false
	// type: data_array
	// Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.
	Tickvals interface{} `json:"tickvals,omitempty"`

	// Tickvalssrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  tickvals .
	Tickvalssrc String `json:"tickvalssrc,omitempty"`

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

	// Title
	// role: Object
	Title *FunnelMarkerColorbarTitle `json:"title,omitempty"`

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

	// Xanchor
	// default: left
	// type: enumerated
	// Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the color bar.
	Xanchor FunnelMarkerColorbarXanchor `json:"xanchor,omitempty"`

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

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

	// Yanchor
	// default: middle
	// type: enumerated
	// Sets this color bar's vertical position anchor This anchor binds the `y` position to the *top*, *middle* or *bottom* of the color bar.
	Yanchor FunnelMarkerColorbarYanchor `json:"yanchor,omitempty"`

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

FunnelMarkerColorbar

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 (
	FunnelMarkerColorbarExponentformatNone  FunnelMarkerColorbarExponentformat = "none"
	FunnelMarkerColorbarExponentformatE1    FunnelMarkerColorbarExponentformat = "e"
	FunnelMarkerColorbarExponentformatE2    FunnelMarkerColorbarExponentformat = "E"
	FunnelMarkerColorbarExponentformatPower FunnelMarkerColorbarExponentformat = "power"
	FunnelMarkerColorbarExponentformatSi    FunnelMarkerColorbarExponentformat = "SI"
	FunnelMarkerColorbarExponentformatB     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 (
	FunnelMarkerColorbarLenmodeFraction FunnelMarkerColorbarLenmode = "fraction"
	FunnelMarkerColorbarLenmodePixels   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 (
	FunnelMarkerColorbarShowexponentAll   FunnelMarkerColorbarShowexponent = "all"
	FunnelMarkerColorbarShowexponentFirst FunnelMarkerColorbarShowexponent = "first"
	FunnelMarkerColorbarShowexponentLast  FunnelMarkerColorbarShowexponent = "last"
	FunnelMarkerColorbarShowexponentNone  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 (
	FunnelMarkerColorbarShowtickprefixAll   FunnelMarkerColorbarShowtickprefix = "all"
	FunnelMarkerColorbarShowtickprefixFirst FunnelMarkerColorbarShowtickprefix = "first"
	FunnelMarkerColorbarShowtickprefixLast  FunnelMarkerColorbarShowtickprefix = "last"
	FunnelMarkerColorbarShowtickprefixNone  FunnelMarkerColorbarShowtickprefix = "none"
)

type FunnelMarkerColorbarShowticksuffix

type FunnelMarkerColorbarShowticksuffix string

FunnelMarkerColorbarShowticksuffix Same as `showtickprefix` but for tick suffixes.

const (
	FunnelMarkerColorbarShowticksuffixAll   FunnelMarkerColorbarShowticksuffix = "all"
	FunnelMarkerColorbarShowticksuffixFirst FunnelMarkerColorbarShowticksuffix = "first"
	FunnelMarkerColorbarShowticksuffixLast  FunnelMarkerColorbarShowticksuffix = "last"
	FunnelMarkerColorbarShowticksuffixNone  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 (
	FunnelMarkerColorbarThicknessmodeFraction FunnelMarkerColorbarThicknessmode = "fraction"
	FunnelMarkerColorbarThicknessmodePixels   FunnelMarkerColorbarThicknessmode = "pixels"
)

type FunnelMarkerColorbarTickfont

type FunnelMarkerColorbarTickfont struct {

	// Color
	// arrayOK: false
	// type: color
	//
	Color Color `json:"color,omitempty"`

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

	// Size
	// arrayOK: false
	// type: number
	//
	Size float64 `json:"size,omitempty"`
}

FunnelMarkerColorbarTickfont Sets the color bar's tick label font

type FunnelMarkerColorbarTicklabelposition added in v0.3.1

type FunnelMarkerColorbarTicklabelposition string

FunnelMarkerColorbarTicklabelposition Determines where tick labels are drawn.

const (
	FunnelMarkerColorbarTicklabelpositionOutside       FunnelMarkerColorbarTicklabelposition = "outside"
	FunnelMarkerColorbarTicklabelpositionInside        FunnelMarkerColorbarTicklabelposition = "inside"
	FunnelMarkerColorbarTicklabelpositionOutsideTop    FunnelMarkerColorbarTicklabelposition = "outside top"
	FunnelMarkerColorbarTicklabelpositionInsideTop     FunnelMarkerColorbarTicklabelposition = "inside top"
	FunnelMarkerColorbarTicklabelpositionOutsideBottom FunnelMarkerColorbarTicklabelposition = "outside bottom"
	FunnelMarkerColorbarTicklabelpositionInsideBottom  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 (
	FunnelMarkerColorbarTickmodeAuto   FunnelMarkerColorbarTickmode = "auto"
	FunnelMarkerColorbarTickmodeLinear FunnelMarkerColorbarTickmode = "linear"
	FunnelMarkerColorbarTickmodeArray  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 (
	FunnelMarkerColorbarTicksOutside FunnelMarkerColorbarTicks = "outside"
	FunnelMarkerColorbarTicksInside  FunnelMarkerColorbarTicks = "inside"
	FunnelMarkerColorbarTicksEmpty   FunnelMarkerColorbarTicks = ""
)

type FunnelMarkerColorbarTitle

type FunnelMarkerColorbarTitle struct {

	// Font
	// role: Object
	Font *FunnelMarkerColorbarTitleFont `json:"font,omitempty"`

	// Side
	// default: top
	// type: enumerated
	// Determines the location of color bar's title with respect to the color bar. Note that the title's location used to be set by the now deprecated `titleside` attribute.
	Side FunnelMarkerColorbarTitleSide `json:"side,omitempty"`

	// Text
	// arrayOK: false
	// type: string
	// Sets the title of the color bar. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.
	Text String `json:"text,omitempty"`
}

FunnelMarkerColorbarTitle

type FunnelMarkerColorbarTitleFont

type FunnelMarkerColorbarTitleFont struct {

	// Color
	// arrayOK: false
	// type: color
	//
	Color Color `json:"color,omitempty"`

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

	// Size
	// arrayOK: false
	// type: number
	//
	Size float64 `json:"size,omitempty"`
}

FunnelMarkerColorbarTitleFont Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.

type 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 (
	FunnelMarkerColorbarTitleSideRight  FunnelMarkerColorbarTitleSide = "right"
	FunnelMarkerColorbarTitleSideTop    FunnelMarkerColorbarTitleSide = "top"
	FunnelMarkerColorbarTitleSideBottom 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 (
	FunnelMarkerColorbarXanchorLeft   FunnelMarkerColorbarXanchor = "left"
	FunnelMarkerColorbarXanchorCenter FunnelMarkerColorbarXanchor = "center"
	FunnelMarkerColorbarXanchorRight  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 (
	FunnelMarkerColorbarYanchorTop    FunnelMarkerColorbarYanchor = "top"
	FunnelMarkerColorbarYanchorMiddle FunnelMarkerColorbarYanchor = "middle"
	FunnelMarkerColorbarYanchorBottom FunnelMarkerColorbarYanchor = "bottom"
)

type FunnelMarkerLine

type FunnelMarkerLine struct {

	// Autocolorscale
	// arrayOK: false
	// type: boolean
	// Determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by `marker.line.colorscale`. Has an effect only if in `marker.line.color`is set to a numerical array. In case `colorscale` is unspecified or `autocolorscale` is true, the default  palette will be chosen according to whether numbers in the `color` array are all positive, all negative or mixed.
	Autocolorscale Bool `json:"autocolorscale,omitempty"`

	// Cauto
	// arrayOK: false
	// type: boolean
	// Determines whether or not the color domain is computed with respect to the input data (here in `marker.line.color`) or the bounds set in `marker.line.cmin` and `marker.line.cmax`  Has an effect only if in `marker.line.color`is set to a numerical array. Defaults to `false` when `marker.line.cmin` and `marker.line.cmax` are set by the user.
	Cauto Bool `json:"cauto,omitempty"`

	// Cmax
	// arrayOK: false
	// type: number
	// Sets the upper bound of the color domain. Has an effect only if in `marker.line.color`is set to a numerical array. Value should have the same units as in `marker.line.color` and if set, `marker.line.cmin` must be set as well.
	Cmax float64 `json:"cmax,omitempty"`

	// Cmid
	// arrayOK: false
	// type: number
	// Sets the mid-point of the color domain by scaling `marker.line.cmin` and/or `marker.line.cmax` to be equidistant to this point. Has an effect only if in `marker.line.color`is set to a numerical array. Value should have the same units as in `marker.line.color`. Has no effect when `marker.line.cauto` is `false`.
	Cmid float64 `json:"cmid,omitempty"`

	// Cmin
	// arrayOK: false
	// type: number
	// Sets the lower bound of the color domain. Has an effect only if in `marker.line.color`is set to a numerical array. Value should have the same units as in `marker.line.color` and if set, `marker.line.cmax` must be set as well.
	Cmin float64 `json:"cmin,omitempty"`

	// Color
	// arrayOK: true
	// type: color
	// Sets 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 Color `json:"color,omitempty"`

	// Coloraxis
	// arrayOK: false
	// type: subplotid
	// Sets a reference to a shared color axis. References to these shared color axes are *coloraxis*, *coloraxis2*, *coloraxis3*, etc. Settings for these shared color axes are set in the layout, under `layout.coloraxis`, `layout.coloraxis2`, etc. Note that multiple color scales can be linked to the same color axis.
	Coloraxis String `json:"coloraxis,omitempty"`

	// Colorscale
	// default: %!s(<nil>)
	// type: colorscale
	// Sets the colorscale. Has an effect only if in `marker.line.color`is set to a numerical array. The colorscale must be an array containing arrays mapping a normalized value to an rgb, rgba, hex, hsl, hsv, or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, use`marker.line.cmin` and `marker.line.cmax`. Alternatively, `colorscale` may be a palette name string of the following list: Greys,YlGnBu,Greens,YlOrRd,Bluered,RdBu,Reds,Blues,Picnic,Rainbow,Portland,Jet,Hot,Blackbody,Earth,Electric,Viridis,Cividis.
	Colorscale ColorScale `json:"colorscale,omitempty"`

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

	// Reversescale
	// arrayOK: false
	// type: boolean
	// Reverses the color mapping if true. Has an effect only if in `marker.line.color`is set to a numerical array. If true, `marker.line.cmin` will correspond to the last color in the array and `marker.line.cmax` will correspond to the first color.
	Reversescale Bool `json:"reversescale,omitempty"`

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

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

FunnelMarkerLine

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 (
	FunnelOrientationV FunnelOrientation = "v"
	FunnelOrientationH FunnelOrientation = "h"
)

type FunnelOutsidetextfont

type FunnelOutsidetextfont struct {

	// Color
	// arrayOK: true
	// type: color
	//
	Color Color `json:"color,omitempty"`

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

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

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

	// Size
	// arrayOK: true
	// type: number
	//
	Size float64 `json:"size,omitempty"`

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

FunnelOutsidetextfont Sets the font used for `text` lying outside the bar.

type FunnelStream

type FunnelStream struct {

	// Maxpoints
	// arrayOK: false
	// type: number
	// Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot.
	Maxpoints float64 `json:"maxpoints,omitempty"`

	// Token
	// arrayOK: false
	// type: string
	// The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details.
	Token String `json:"token,omitempty"`
}

FunnelStream

type FunnelTextfont

type FunnelTextfont struct {

	// Color
	// arrayOK: true
	// type: color
	//
	Color Color `json:"color,omitempty"`

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

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

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

	// Size
	// arrayOK: true
	// type: number
	//
	Size float64 `json:"size,omitempty"`

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

FunnelTextfont Sets the font used for `text`.

type FunnelTextinfo

type FunnelTextinfo string

FunnelTextinfo Determines which trace information appear on the graph. In the case of having multiple funnels, percentages & totals are computed separately (per trace).

const (
	// Flags
	FunnelTextinfoLabel           FunnelTextinfo = "label"
	FunnelTextinfoText            FunnelTextinfo = "text"
	FunnelTextinfoPercentInitial  FunnelTextinfo = "percent initial"
	FunnelTextinfoPercentPrevious FunnelTextinfo = "percent previous"
	FunnelTextinfoPercentTotal    FunnelTextinfo = "percent total"
	FunnelTextinfoValue           FunnelTextinfo = "value"

	// Extra
	FunnelTextinfoNone FunnelTextinfo = "none"
)

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 (
	FunnelTextpositionInside  FunnelTextposition = "inside"
	FunnelTextpositionOutside FunnelTextposition = "outside"
	FunnelTextpositionAuto    FunnelTextposition = "auto"
	FunnelTextpositionNone    FunnelTextposition = "none"
)

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 (
	FunnelVisibleTrue       FunnelVisible = true
	FunnelVisibleFalse      FunnelVisible = false
	FunnelVisibleLegendonly FunnelVisible = "legendonly"
)

type FunnelXperiodalignment added in v0.3.1

type FunnelXperiodalignment string

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

const (
	FunnelXperiodalignmentStart  FunnelXperiodalignment = "start"
	FunnelXperiodalignmentMiddle FunnelXperiodalignment = "middle"
	FunnelXperiodalignmentEnd    FunnelXperiodalignment = "end"
)

type FunnelYperiodalignment added in v0.3.1

type FunnelYperiodalignment string

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

const (
	FunnelYperiodalignmentStart  FunnelYperiodalignment = "start"
	FunnelYperiodalignmentMiddle FunnelYperiodalignment = "middle"
	FunnelYperiodalignmentEnd    FunnelYperiodalignment = "end"
)

type Funnelarea

type Funnelarea struct {

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

	// Aspectratio
	// arrayOK: false
	// type: number
	// Sets the ratio between height and width
	Aspectratio float64 `json:"aspectratio,omitempty"`

	// Baseratio
	// arrayOK: false
	// type: number
	// Sets the ratio between bottom length and maximum top length.
	Baseratio float64 `json:"baseratio,omitempty"`

	// Customdata
	// arrayOK: false
	// type: data_array
	// Assigns extra data each datum. This may be useful when listening to hover, click and selection events. Note that, *scatter* traces also appends customdata items in the markers DOM elements
	Customdata interface{} `json:"customdata,omitempty"`

	// Customdatasrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  customdata .
	Customdatasrc String `json:"customdatasrc,omitempty"`

	// Dlabel
	// arrayOK: false
	// type: number
	// Sets the label step. See `label0` for more info.
	Dlabel float64 `json:"dlabel,omitempty"`

	// Domain
	// role: Object
	Domain *FunnelareaDomain `json:"domain,omitempty"`

	// Hoverinfo
	// default: all
	// type: flaglist
	// Determines which trace information appear on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired.
	Hoverinfo FunnelareaHoverinfo `json:"hoverinfo,omitempty"`

	// Hoverinfosrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  hoverinfo .
	Hoverinfosrc String `json:"hoverinfosrc,omitempty"`

	// Hoverlabel
	// role: Object
	Hoverlabel *FunnelareaHoverlabel `json:"hoverlabel,omitempty"`

	// Hovertemplate
	// arrayOK: true
	// type: string
	// Template string used for rendering the information that appear on hover box. Note that this will override `hoverinfo`. Variables are inserted using %{variable}, for example "y: %{y}". 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 String `json:"hovertemplate,omitempty"`

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

	// Hovertext
	// arrayOK: true
	// type: string
	// Sets hover text elements associated with each sector. If a single string, the same string appears for all data points. If an array of string, the items are mapped in order of this trace's sectors. To be seen, trace `hoverinfo` must contain a *text* flag.
	Hovertext String `json:"hovertext,omitempty"`

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

	// Ids
	// arrayOK: false
	// type: data_array
	// Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type.
	Ids interface{} `json:"ids,omitempty"`

	// Idssrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  ids .
	Idssrc String `json:"idssrc,omitempty"`

	// Insidetextfont
	// role: Object
	Insidetextfont *FunnelareaInsidetextfont `json:"insidetextfont,omitempty"`

	// Label0
	// arrayOK: false
	// type: number
	// Alternate to `labels`. Builds a numeric set of labels. Use with `dlabel` where `label0` is the starting label and `dlabel` the step.
	Label0 float64 `json:"label0,omitempty"`

	// Labels
	// arrayOK: false
	// type: data_array
	// Sets the sector labels. If `labels` entries are duplicated, we sum associated `values` or simply count occurrences if `values` is not provided. For other array attributes (including color) we use the first non-empty entry among all occurrences of the label.
	Labels interface{} `json:"labels,omitempty"`

	// Labelssrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  labels .
	Labelssrc String `json:"labelssrc,omitempty"`

	// Legendgroup
	// arrayOK: false
	// type: string
	// Sets the legend group for this trace. Traces part of the same legend group hide/show at the same time when toggling legend items.
	Legendgroup String `json:"legendgroup,omitempty"`

	// Marker
	// role: Object
	Marker *FunnelareaMarker `json:"marker,omitempty"`

	// Meta
	// arrayOK: true
	// type: any
	// Assigns extra meta information associated with this trace that can be used in various text attributes. Attributes such as trace `name`, graph, axis and colorbar `title.text`, annotation `text` `rangeselector`, `updatemenues` and `sliders` `label` text all support `meta`. To access the trace `meta` values in an attribute in the same trace, simply use `%{meta[i]}` where `i` is the index or key of the `meta` item in question. To access trace `meta` in layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index.
	Meta interface{} `json:"meta,omitempty"`

	// Metasrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  meta .
	Metasrc String `json:"metasrc,omitempty"`

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

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

	// Scalegroup
	// arrayOK: false
	// type: string
	// If there are multiple funnelareas that should be sized according to their totals, link them by providing a non-empty group id here shared by every trace in the same group.
	Scalegroup String `json:"scalegroup,omitempty"`

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

	// Stream
	// role: Object
	Stream *FunnelareaStream `json:"stream,omitempty"`

	// Text
	// arrayOK: false
	// type: data_array
	// Sets text elements associated with each sector. If trace `textinfo` contains a *text* flag, these elements will be seen on the chart. If trace `hoverinfo` contains a *text* flag and *hovertext* is not set, these elements will be seen in the hover labels.
	Text interface{} `json:"text,omitempty"`

	// Textfont
	// role: Object
	Textfont *FunnelareaTextfont `json:"textfont,omitempty"`

	// Textinfo
	// default: %!s(<nil>)
	// type: flaglist
	// Determines which trace information appear on the graph.
	Textinfo FunnelareaTextinfo `json:"textinfo,omitempty"`

	// Textposition
	// default: inside
	// type: enumerated
	// Specifies the location of the `textinfo`.
	Textposition FunnelareaTextposition `json:"textposition,omitempty"`

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

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

	// Texttemplate
	// arrayOK: true
	// type: string
	// Template string used for rendering the information text that appear on points. Note that this will override `textinfo`. Variables are inserted using %{variable}, for example "y: %{y}". Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example "Price: %{y:$.2f}". https://github.com/d3/d3-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 String `json:"texttemplate,omitempty"`

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

	// Title
	// role: Object
	Title *FunnelareaTitle `json:"title,omitempty"`

	// Transforms
	// It's an items array and what goes inside it's... messy... check the docs
	// I will be happy if you want to contribute by implementing this
	// just raise an issue before you start so we do not overlap
	Transforms interface{} `json:"transforms,omitempty"`

	// Uid
	// arrayOK: false
	// type: string
	// Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.
	Uid String `json:"uid,omitempty"`

	// Uirevision
	// arrayOK: false
	// type: any
	// Controls persistence of some user-driven changes to the trace: `constraintrange` in `parcoords` traces, as well as some `editable: true` modifications such as `name` and `colorbar.title`. Defaults to `layout.uirevision`. Note that other user-driven trace attribute changes are controlled by `layout` attributes: `trace.visible` is controlled by `layout.legend.uirevision`, `selectedpoints` is controlled by `layout.selectionrevision`, and `colorbar.(x|y)` (accessible with `config: {editable: true}`) is controlled by `layout.editrevision`. Trace changes are tracked by `uid`, which only falls back on trace index if no `uid` is provided. So if your app can add/remove traces before the end of the `data` array, such that the same trace has a different index, you can still preserve user-driven changes if you give each trace a `uid` that stays with it as it moves.
	Uirevision interface{} `json:"uirevision,omitempty"`

	// Values
	// arrayOK: false
	// type: data_array
	// Sets the values of the sectors. If omitted, we count occurrences of each label.
	Values interface{} `json:"values,omitempty"`

	// Valuessrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  values .
	Valuessrc String `json:"valuessrc,omitempty"`

	// Visible
	// default: %!s(bool=true)
	// type: enumerated
	// Determines whether or not this trace is visible. If *legendonly*, the trace is not drawn, but can appear as a legend item (provided that the legend itself is visible).
	Visible FunnelareaVisible `json:"visible,omitempty"`
}

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 (*Funnelarea) GetType

func (trace *Funnelarea) GetType() TraceType

type FunnelareaDomain

type FunnelareaDomain struct {

	// Column
	// arrayOK: false
	// type: integer
	// If there is a layout grid, use the domain for this column in the grid for this funnelarea trace .
	Column int64 `json:"column,omitempty"`

	// Row
	// arrayOK: false
	// type: integer
	// If there is a layout grid, use the domain for this row in the grid for this funnelarea trace .
	Row int64 `json:"row,omitempty"`

	// X
	// arrayOK: false
	// type: info_array
	// Sets the horizontal domain of this funnelarea trace (in plot fraction).
	X interface{} `json:"x,omitempty"`

	// Y
	// arrayOK: false
	// type: info_array
	// Sets the vertical domain of this funnelarea trace (in plot fraction).
	Y interface{} `json:"y,omitempty"`
}

FunnelareaDomain

type FunnelareaHoverinfo

type FunnelareaHoverinfo string

FunnelareaHoverinfo Determines which trace information appear on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired.

const (
	// Flags
	FunnelareaHoverinfoLabel   FunnelareaHoverinfo = "label"
	FunnelareaHoverinfoText    FunnelareaHoverinfo = "text"
	FunnelareaHoverinfoValue   FunnelareaHoverinfo = "value"
	FunnelareaHoverinfoPercent FunnelareaHoverinfo = "percent"
	FunnelareaHoverinfoName    FunnelareaHoverinfo = "name"

	// Extra
	FunnelareaHoverinfoAll  FunnelareaHoverinfo = "all"
	FunnelareaHoverinfoNone FunnelareaHoverinfo = "none"
	FunnelareaHoverinfoSkip FunnelareaHoverinfo = "skip"
)

type FunnelareaHoverlabel

type FunnelareaHoverlabel struct {

	// Align
	// default: auto
	// type: enumerated
	// Sets the horizontal alignment of the text content within hover label box. Has an effect only if the hover label text spans more two or more lines
	Align FunnelareaHoverlabelAlign `json:"align,omitempty"`

	// Alignsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  align .
	Alignsrc String `json:"alignsrc,omitempty"`

	// Bgcolor
	// arrayOK: true
	// type: color
	// Sets the background color of the hover labels for this trace
	Bgcolor Color `json:"bgcolor,omitempty"`

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

	// Bordercolor
	// arrayOK: true
	// type: color
	// Sets the border color of the hover labels for this trace.
	Bordercolor Color `json:"bordercolor,omitempty"`

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

	// Font
	// role: Object
	Font *FunnelareaHoverlabelFont `json:"font,omitempty"`

	// Namelength
	// arrayOK: true
	// type: integer
	// Sets the default length (in number of characters) of the trace name in the hover labels for all traces. -1 shows the whole name regardless of length. 0-3 shows the first 0-3 characters, and an integer >3 will show the whole name if it is less than that many characters, but if it is longer, will truncate to `namelength - 3` characters and add an ellipsis.
	Namelength int64 `json:"namelength,omitempty"`

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

FunnelareaHoverlabel

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 (
	FunnelareaHoverlabelAlignLeft  FunnelareaHoverlabelAlign = "left"
	FunnelareaHoverlabelAlignRight FunnelareaHoverlabelAlign = "right"
	FunnelareaHoverlabelAlignAuto  FunnelareaHoverlabelAlign = "auto"
)

type FunnelareaHoverlabelFont

type FunnelareaHoverlabelFont struct {

	// Color
	// arrayOK: true
	// type: color
	//
	Color Color `json:"color,omitempty"`

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

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

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

	// Size
	// arrayOK: true
	// type: number
	//
	Size float64 `json:"size,omitempty"`

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

FunnelareaHoverlabelFont Sets the font used in hover labels.

type FunnelareaInsidetextfont

type FunnelareaInsidetextfont struct {

	// Color
	// arrayOK: true
	// type: color
	//
	Color Color `json:"color,omitempty"`

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

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

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

	// Size
	// arrayOK: true
	// type: number
	//
	Size float64 `json:"size,omitempty"`

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

FunnelareaInsidetextfont Sets the font used for `textinfo` lying inside the sector.

type FunnelareaMarker

type FunnelareaMarker struct {

	// Colors
	// arrayOK: false
	// type: data_array
	// Sets the color of each sector. If not specified, the default trace color set is used to pick the sector colors.
	Colors interface{} `json:"colors,omitempty"`

	// Colorssrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  colors .
	Colorssrc String `json:"colorssrc,omitempty"`

	// Line
	// role: Object
	Line *FunnelareaMarkerLine `json:"line,omitempty"`
}

FunnelareaMarker

type FunnelareaMarkerLine

type FunnelareaMarkerLine struct {

	// Color
	// arrayOK: true
	// type: color
	// Sets the color of the line enclosing each sector. Defaults to the `paper_bgcolor` value.
	Color Color `json:"color,omitempty"`

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

	// Width
	// arrayOK: true
	// type: number
	// Sets the width (in px) of the line enclosing each sector.
	Width float64 `json:"width,omitempty"`

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

FunnelareaMarkerLine

type FunnelareaStream

type FunnelareaStream struct {

	// Maxpoints
	// arrayOK: false
	// type: number
	// Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot.
	Maxpoints float64 `json:"maxpoints,omitempty"`

	// Token
	// arrayOK: false
	// type: string
	// The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details.
	Token String `json:"token,omitempty"`
}

FunnelareaStream

type FunnelareaTextfont

type FunnelareaTextfont struct {

	// Color
	// arrayOK: true
	// type: color
	//
	Color Color `json:"color,omitempty"`

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

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

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

	// Size
	// arrayOK: true
	// type: number
	//
	Size float64 `json:"size,omitempty"`

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

FunnelareaTextfont Sets the font used for `textinfo`.

type FunnelareaTextinfo

type FunnelareaTextinfo string

FunnelareaTextinfo Determines which trace information appear on the graph.

const (
	// Flags
	FunnelareaTextinfoLabel   FunnelareaTextinfo = "label"
	FunnelareaTextinfoText    FunnelareaTextinfo = "text"
	FunnelareaTextinfoValue   FunnelareaTextinfo = "value"
	FunnelareaTextinfoPercent FunnelareaTextinfo = "percent"

	// Extra
	FunnelareaTextinfoNone FunnelareaTextinfo = "none"
)

type FunnelareaTextposition

type FunnelareaTextposition string

FunnelareaTextposition Specifies the location of the `textinfo`.

const (
	FunnelareaTextpositionInside FunnelareaTextposition = "inside"
	FunnelareaTextpositionNone   FunnelareaTextposition = "none"
)

type FunnelareaTitle

type FunnelareaTitle struct {

	// Font
	// role: Object
	Font *FunnelareaTitleFont `json:"font,omitempty"`

	// Position
	// default: top center
	// type: enumerated
	// Specifies the location of the `title`. Note that the title's position used to be set by the now deprecated `titleposition` attribute.
	Position FunnelareaTitlePosition `json:"position,omitempty"`

	// Text
	// arrayOK: false
	// type: string
	// Sets the title of the chart. If it is empty, no title is displayed. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.
	Text String `json:"text,omitempty"`
}

FunnelareaTitle

type FunnelareaTitleFont

type FunnelareaTitleFont struct {

	// Color
	// arrayOK: true
	// type: color
	//
	Color Color `json:"color,omitempty"`

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

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

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

	// Size
	// arrayOK: true
	// type: number
	//
	Size float64 `json:"size,omitempty"`

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

FunnelareaTitleFont Sets the font used for `title`. Note that the title's font used to be set by the now deprecated `titlefont` attribute.

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 (
	FunnelareaTitlePositionTopLeft   FunnelareaTitlePosition = "top left"
	FunnelareaTitlePositionTopCenter FunnelareaTitlePosition = "top center"
	FunnelareaTitlePositionTopRight  FunnelareaTitlePosition = "top right"
)

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 (
	FunnelareaVisibleTrue       FunnelareaVisible = true
	FunnelareaVisibleFalse      FunnelareaVisible = false
	FunnelareaVisibleLegendonly FunnelareaVisible = "legendonly"
)

type Heatmap

type Heatmap struct {

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

	// Autocolorscale
	// arrayOK: false
	// type: boolean
	// Determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by `colorscale`. In case `colorscale` is unspecified or `autocolorscale` is true, the default  palette will be chosen according to whether numbers in the `color` array are all positive, all negative or mixed.
	Autocolorscale Bool `json:"autocolorscale,omitempty"`

	// Coloraxis
	// arrayOK: false
	// type: subplotid
	// Sets a reference to a shared color axis. References to these shared color axes are *coloraxis*, *coloraxis2*, *coloraxis3*, etc. Settings for these shared color axes are set in the layout, under `layout.coloraxis`, `layout.coloraxis2`, etc. Note that multiple color scales can be linked to the same color axis.
	Coloraxis String `json:"coloraxis,omitempty"`

	// Colorbar
	// role: Object
	Colorbar *HeatmapColorbar `json:"colorbar,omitempty"`

	// Colorscale
	// default: %!s(<nil>)
	// type: colorscale
	// Sets the colorscale. The colorscale must be an array containing arrays mapping a normalized value to an rgb, rgba, hex, hsl, hsv, or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, use`zmin` and `zmax`. Alternatively, `colorscale` may be a palette name string of the following list: Greys,YlGnBu,Greens,YlOrRd,Bluered,RdBu,Reds,Blues,Picnic,Rainbow,Portland,Jet,Hot,Blackbody,Earth,Electric,Viridis,Cividis.
	Colorscale ColorScale `json:"colorscale,omitempty"`

	// Connectgaps
	// arrayOK: false
	// type: boolean
	// Determines whether or not gaps (i.e. {nan} or missing values) in the `z` data are filled in. It is defaulted to true if `z` is a one dimensional array and `zsmooth` is not false; otherwise it is defaulted to false.
	Connectgaps Bool `json:"connectgaps,omitempty"`

	// Customdata
	// arrayOK: false
	// type: data_array
	// Assigns extra data each datum. This may be useful when listening to hover, click and selection events. Note that, *scatter* traces also appends customdata items in the markers DOM elements
	Customdata interface{} `json:"customdata,omitempty"`

	// Customdatasrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  customdata .
	Customdatasrc String `json:"customdatasrc,omitempty"`

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

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

	// Hoverinfo
	// default: all
	// type: flaglist
	// Determines which trace information appear on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired.
	Hoverinfo HeatmapHoverinfo `json:"hoverinfo,omitempty"`

	// Hoverinfosrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  hoverinfo .
	Hoverinfosrc String `json:"hoverinfosrc,omitempty"`

	// Hoverlabel
	// role: Object
	Hoverlabel *HeatmapHoverlabel `json:"hoverlabel,omitempty"`

	// Hoverongaps
	// arrayOK: false
	// type: boolean
	// Determines whether or not gaps (i.e. {nan} or missing values) in the `z` data have hover labels associated with them.
	Hoverongaps Bool `json:"hoverongaps,omitempty"`

	// Hovertemplate
	// arrayOK: true
	// type: string
	// Template string used for rendering the information that appear on hover box. Note that this will override `hoverinfo`. Variables are inserted using %{variable}, for example "y: %{y}". 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 String `json:"hovertemplate,omitempty"`

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

	// Hovertext
	// arrayOK: false
	// type: data_array
	// Same as `text`.
	Hovertext interface{} `json:"hovertext,omitempty"`

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

	// Ids
	// arrayOK: false
	// type: data_array
	// Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type.
	Ids interface{} `json:"ids,omitempty"`

	// Idssrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  ids .
	Idssrc String `json:"idssrc,omitempty"`

	// Legendgroup
	// arrayOK: false
	// type: string
	// Sets the legend group for this trace. Traces part of the same legend group hide/show at the same time when toggling legend items.
	Legendgroup String `json:"legendgroup,omitempty"`

	// Meta
	// arrayOK: true
	// type: any
	// Assigns extra meta information associated with this trace that can be used in various text attributes. Attributes such as trace `name`, graph, axis and colorbar `title.text`, annotation `text` `rangeselector`, `updatemenues` and `sliders` `label` text all support `meta`. To access the trace `meta` values in an attribute in the same trace, simply use `%{meta[i]}` where `i` is the index or key of the `meta` item in question. To access trace `meta` in layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index.
	Meta interface{} `json:"meta,omitempty"`

	// Metasrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  meta .
	Metasrc String `json:"metasrc,omitempty"`

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

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

	// Reversescale
	// arrayOK: false
	// type: boolean
	// Reverses the color mapping if true. If true, `zmin` will correspond to the last color in the array and `zmax` will correspond to the first color.
	Reversescale Bool `json:"reversescale,omitempty"`

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

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

	// Stream
	// role: Object
	Stream *HeatmapStream `json:"stream,omitempty"`

	// Text
	// arrayOK: false
	// type: data_array
	// Sets the text elements associated with each z value.
	Text interface{} `json:"text,omitempty"`

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

	// Transforms
	// It's an items array and what goes inside it's... messy... check the docs
	// I will be happy if you want to contribute by implementing this
	// just raise an issue before you start so we do not overlap
	Transforms interface{} `json:"transforms,omitempty"`

	// Transpose
	// arrayOK: false
	// type: boolean
	// Transposes the z data.
	Transpose Bool `json:"transpose,omitempty"`

	// Uid
	// arrayOK: false
	// type: string
	// Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.
	Uid String `json:"uid,omitempty"`

	// Uirevision
	// arrayOK: false
	// type: any
	// Controls persistence of some user-driven changes to the trace: `constraintrange` in `parcoords` traces, as well as some `editable: true` modifications such as `name` and `colorbar.title`. Defaults to `layout.uirevision`. Note that other user-driven trace attribute changes are controlled by `layout` attributes: `trace.visible` is controlled by `layout.legend.uirevision`, `selectedpoints` is controlled by `layout.selectionrevision`, and `colorbar.(x|y)` (accessible with `config: {editable: true}`) is controlled by `layout.editrevision`. Trace changes are tracked by `uid`, which only falls back on trace index if no `uid` is provided. So if your app can add/remove traces before the end of the `data` array, such that the same trace has a different index, you can still preserve user-driven changes if you give each trace a `uid` that stays with it as it moves.
	Uirevision interface{} `json:"uirevision,omitempty"`

	// Visible
	// default: %!s(bool=true)
	// type: enumerated
	// Determines whether or not this trace is visible. If *legendonly*, the trace is not drawn, but can appear as a legend item (provided that the legend itself is visible).
	Visible HeatmapVisible `json:"visible,omitempty"`

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

	// X0
	// arrayOK: false
	// type: any
	// Alternate to `x`. Builds a linear space of x coordinates. Use with `dx` where `x0` is the starting coordinate and `dx` the step.
	X0 interface{} `json:"x0,omitempty"`

	// Xaxis
	// arrayOK: false
	// type: subplotid
	// Sets a reference between this trace's x coordinates and a 2D cartesian x axis. If *x* (the default value), the x coordinates refer to `layout.xaxis`. If *x2*, the x coordinates refer to `layout.xaxis2`, and so on.
	Xaxis String `json:"xaxis,omitempty"`

	// Xcalendar
	// default: gregorian
	// type: enumerated
	// Sets the calendar system to use with `x` date data.
	Xcalendar HeatmapXcalendar `json:"xcalendar,omitempty"`

	// Xgap
	// arrayOK: false
	// type: number
	// Sets the horizontal gap (in pixels) between bricks.
	Xgap float64 `json:"xgap,omitempty"`

	// Xperiod
	// arrayOK: false
	// type: 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
	// arrayOK: false
	// type: any
	// Only relevant when the axis `type` is *date*. Sets the base for period positioning in milliseconds or date string on the x0 axis. When `x0period` is round number of weeks, the `x0period0` by default would be on a Sunday i.e. 2000-01-02, otherwise it would be at 2000-01-01.
	Xperiod0 interface{} `json:"xperiod0,omitempty"`

	// Xperiodalignment
	// default: middle
	// type: enumerated
	// Only relevant when the axis `type` is *date*. Sets the alignment of data points on the x axis.
	Xperiodalignment HeatmapXperiodalignment `json:"xperiodalignment,omitempty"`

	// Xsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  x .
	Xsrc String `json:"xsrc,omitempty"`

	// Xtype
	// default: %!s(<nil>)
	// type: enumerated
	// If *array*, the heatmap's x coordinates are given by *x* (the default behavior when `x` is provided). If *scaled*, the heatmap's x coordinates are given by *x0* and *dx* (the default behavior when `x` is not provided).
	Xtype HeatmapXtype `json:"xtype,omitempty"`

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

	// Y0
	// arrayOK: false
	// type: any
	// Alternate to `y`. Builds a linear space of y coordinates. Use with `dy` where `y0` is the starting coordinate and `dy` the step.
	Y0 interface{} `json:"y0,omitempty"`

	// Yaxis
	// arrayOK: false
	// type: subplotid
	// Sets a reference between this trace's y coordinates and a 2D cartesian y axis. If *y* (the default value), the y coordinates refer to `layout.yaxis`. If *y2*, the y coordinates refer to `layout.yaxis2`, and so on.
	Yaxis String `json:"yaxis,omitempty"`

	// Ycalendar
	// default: gregorian
	// type: enumerated
	// Sets the calendar system to use with `y` date data.
	Ycalendar HeatmapYcalendar `json:"ycalendar,omitempty"`

	// Ygap
	// arrayOK: false
	// type: number
	// Sets the vertical gap (in pixels) between bricks.
	Ygap float64 `json:"ygap,omitempty"`

	// Yperiod
	// arrayOK: false
	// type: 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
	// arrayOK: false
	// type: any
	// Only relevant when the axis `type` is *date*. Sets the base for period positioning in milliseconds or date string on the y0 axis. When `y0period` is round number of weeks, the `y0period0` by default would be on a Sunday i.e. 2000-01-02, otherwise it would be at 2000-01-01.
	Yperiod0 interface{} `json:"yperiod0,omitempty"`

	// Yperiodalignment
	// default: middle
	// type: enumerated
	// Only relevant when the axis `type` is *date*. Sets the alignment of data points on the y axis.
	Yperiodalignment HeatmapYperiodalignment `json:"yperiodalignment,omitempty"`

	// Ysrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  y .
	Ysrc String `json:"ysrc,omitempty"`

	// Ytype
	// default: %!s(<nil>)
	// type: enumerated
	// If *array*, the heatmap's y coordinates are given by *y* (the default behavior when `y` is provided) If *scaled*, the heatmap's y coordinates are given by *y0* and *dy* (the default behavior when `y` is not provided)
	Ytype HeatmapYtype `json:"ytype,omitempty"`

	// Z
	// arrayOK: false
	// type: data_array
	// Sets the z data.
	Z interface{} `json:"z,omitempty"`

	// Zauto
	// arrayOK: false
	// type: boolean
	// Determines whether or not the color domain is computed with respect to the input data (here in `z`) or the bounds set in `zmin` and `zmax`  Defaults to `false` when `zmin` and `zmax` are set by the user.
	Zauto Bool `json:"zauto,omitempty"`

	// Zhoverformat
	// arrayOK: false
	// type: string
	// Sets the hover text formatting 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
	// arrayOK: false
	// type: number
	// Sets the upper bound of the color domain. Value should have the same units as in `z` and if set, `zmin` must be set as well.
	Zmax float64 `json:"zmax,omitempty"`

	// Zmid
	// arrayOK: false
	// type: number
	// Sets the mid-point of the color domain by scaling `zmin` and/or `zmax` to be equidistant to this point. Value should have the same units as in `z`. Has no effect when `zauto` is `false`.
	Zmid float64 `json:"zmid,omitempty"`

	// Zmin
	// arrayOK: false
	// type: number
	// Sets the lower bound of the color domain. Value should have the same units as in `z` and if set, `zmax` must be set as well.
	Zmin float64 `json:"zmin,omitempty"`

	// Zsmooth
	// default: %!s(bool=false)
	// type: enumerated
	// Picks a smoothing algorithm use to smooth `z` data.
	Zsmooth HeatmapZsmooth `json:"zsmooth,omitempty"`

	// Zsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  z .
	Zsrc String `json:"zsrc,omitempty"`
}

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 (*Heatmap) GetType

func (trace *Heatmap) GetType() TraceType

type HeatmapColorbar

type HeatmapColorbar struct {

	// Bgcolor
	// arrayOK: false
	// type: color
	// Sets the color of padded area.
	Bgcolor Color `json:"bgcolor,omitempty"`

	// Bordercolor
	// arrayOK: false
	// type: color
	// Sets the axis line color.
	Bordercolor Color `json:"bordercolor,omitempty"`

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

	// Dtick
	// arrayOK: false
	// type: any
	// Sets the step in-between ticks on this axis. Use with `tick0`. Must be a positive number, or special strings available to *log* and *date* axes. If the axis `type` is *log*, then ticks are set every 10^(n*dtick) where n is the tick number. For example, to set a tick mark at 1, 10, 100, 1000, ... set dtick to 1. To set tick marks at 1, 100, 10000, ... set dtick to 2. To set tick marks at 1, 5, 25, 125, 625, 3125, ... set dtick to log_10(5), or 0.69897000433. *log* has several special values; *L<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
	// default: B
	// type: enumerated
	// Determines a formatting rule for the tick exponents. For example, consider the number 1,000,000,000. If *none*, it appears as 1,000,000,000. If *e*, 1e+9. If *E*, 1E+9. If *power*, 1x10^9 (with 9 in a super script). If *SI*, 1G. If *B*, 1B.
	Exponentformat HeatmapColorbarExponentformat `json:"exponentformat,omitempty"`

	// Len
	// arrayOK: false
	// type: number
	// Sets the length of the color bar This measure excludes the padding of both ends. That is, the color bar length is this length minus the padding on both ends.
	Len float64 `json:"len,omitempty"`

	// Lenmode
	// default: fraction
	// type: enumerated
	// Determines whether this color bar's length (i.e. the measure in the color variation direction) is set in units of plot *fraction* or in *pixels. Use `len` to set the value.
	Lenmode HeatmapColorbarLenmode `json:"lenmode,omitempty"`

	// Minexponent
	// arrayOK: false
	// type: number
	// Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*.
	Minexponent float64 `json:"minexponent,omitempty"`

	// Nticks
	// arrayOK: false
	// type: integer
	// Specifies the maximum number of ticks for the particular axis. The actual number of ticks will be chosen automatically to be less than or equal to `nticks`. Has an effect only if `tickmode` is set to *auto*.
	Nticks int64 `json:"nticks,omitempty"`

	// Outlinecolor
	// arrayOK: false
	// type: color
	// Sets the axis line color.
	Outlinecolor Color `json:"outlinecolor,omitempty"`

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

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

	// Showexponent
	// default: all
	// type: enumerated
	// If *all*, all exponents are shown besides their significands. If *first*, only the exponent of the first tick is shown. If *last*, only the exponent of the last tick is shown. If *none*, no exponents appear.
	Showexponent HeatmapColorbarShowexponent `json:"showexponent,omitempty"`

	// Showticklabels
	// arrayOK: false
	// type: boolean
	// Determines whether or not the tick labels are drawn.
	Showticklabels Bool `json:"showticklabels,omitempty"`

	// Showtickprefix
	// default: all
	// type: enumerated
	// If *all*, all tick labels are displayed with a prefix. If *first*, only the first tick is displayed with a prefix. If *last*, only the last tick is displayed with a suffix. If *none*, tick prefixes are hidden.
	Showtickprefix HeatmapColorbarShowtickprefix `json:"showtickprefix,omitempty"`

	// Showticksuffix
	// default: all
	// type: enumerated
	// Same as `showtickprefix` but for tick suffixes.
	Showticksuffix HeatmapColorbarShowticksuffix `json:"showticksuffix,omitempty"`

	// Thickness
	// arrayOK: false
	// type: number
	// Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.
	Thickness float64 `json:"thickness,omitempty"`

	// Thicknessmode
	// default: pixels
	// type: enumerated
	// Determines whether this color bar's thickness (i.e. the measure in the constant color direction) is set in units of plot *fraction* or in *pixels*. Use `thickness` to set the value.
	Thicknessmode HeatmapColorbarThicknessmode `json:"thicknessmode,omitempty"`

	// Tick0
	// arrayOK: false
	// type: any
	// Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2) except when `dtick`=*L<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
	// arrayOK: false
	// type: angle
	// Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.
	Tickangle float64 `json:"tickangle,omitempty"`

	// Tickcolor
	// arrayOK: false
	// type: color
	// Sets the tick color.
	Tickcolor Color `json:"tickcolor,omitempty"`

	// Tickfont
	// role: Object
	Tickfont *HeatmapColorbarTickfont `json:"tickfont,omitempty"`

	// Tickformat
	// arrayOK: false
	// type: string
	// Sets the tick label formatting rule using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-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
	// It's an items array and what goes inside it's... messy... check the docs
	// I will be happy if you want to contribute by implementing this
	// just raise an issue before you start so we do not overlap
	Tickformatstops interface{} `json:"tickformatstops,omitempty"`

	// Ticklabelposition
	// default: outside
	// type: enumerated
	// Determines where tick labels are drawn.
	Ticklabelposition HeatmapColorbarTicklabelposition `json:"ticklabelposition,omitempty"`

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

	// Tickmode
	// default: %!s(<nil>)
	// type: enumerated
	// Sets the tick mode for this axis. If *auto*, the number of ticks is set via `nticks`. If *linear*, the placement of the ticks is determined by a starting position `tick0` and a tick step `dtick` (*linear* is the default value if `tick0` and `dtick` are provided). If *array*, the placement of the ticks is set via `tickvals` and the tick text is `ticktext`. (*array* is the default value if `tickvals` is provided).
	Tickmode HeatmapColorbarTickmode `json:"tickmode,omitempty"`

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

	// Ticks
	// default:
	// type: enumerated
	// Determines whether ticks are drawn or not. If **, this axis' ticks are not drawn. If *outside* (*inside*), this axis' are drawn outside (inside) the axis lines.
	Ticks HeatmapColorbarTicks `json:"ticks,omitempty"`

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

	// Ticktext
	// arrayOK: false
	// type: data_array
	// Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `tickvals`.
	Ticktext interface{} `json:"ticktext,omitempty"`

	// Ticktextsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  ticktext .
	Ticktextsrc String `json:"ticktextsrc,omitempty"`

	// Tickvals
	// arrayOK: false
	// type: data_array
	// Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.
	Tickvals interface{} `json:"tickvals,omitempty"`

	// Tickvalssrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  tickvals .
	Tickvalssrc String `json:"tickvalssrc,omitempty"`

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

	// Title
	// role: Object
	Title *HeatmapColorbarTitle `json:"title,omitempty"`

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

	// Xanchor
	// default: left
	// type: enumerated
	// Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the color bar.
	Xanchor HeatmapColorbarXanchor `json:"xanchor,omitempty"`

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

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

	// Yanchor
	// default: middle
	// type: enumerated
	// Sets this color bar's vertical position anchor This anchor binds the `y` position to the *top*, *middle* or *bottom* of the color bar.
	Yanchor HeatmapColorbarYanchor `json:"yanchor,omitempty"`

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

HeatmapColorbar

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 (
	HeatmapColorbarExponentformatNone  HeatmapColorbarExponentformat = "none"
	HeatmapColorbarExponentformatE1    HeatmapColorbarExponentformat = "e"
	HeatmapColorbarExponentformatE2    HeatmapColorbarExponentformat = "E"
	HeatmapColorbarExponentformatPower HeatmapColorbarExponentformat = "power"
	HeatmapColorbarExponentformatSi    HeatmapColorbarExponentformat = "SI"
	HeatmapColorbarExponentformatB     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 (
	HeatmapColorbarLenmodeFraction HeatmapColorbarLenmode = "fraction"
	HeatmapColorbarLenmodePixels   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 (
	HeatmapColorbarShowexponentAll   HeatmapColorbarShowexponent = "all"
	HeatmapColorbarShowexponentFirst HeatmapColorbarShowexponent = "first"
	HeatmapColorbarShowexponentLast  HeatmapColorbarShowexponent = "last"
	HeatmapColorbarShowexponentNone  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 (
	HeatmapColorbarShowtickprefixAll   HeatmapColorbarShowtickprefix = "all"
	HeatmapColorbarShowtickprefixFirst HeatmapColorbarShowtickprefix = "first"
	HeatmapColorbarShowtickprefixLast  HeatmapColorbarShowtickprefix = "last"
	HeatmapColorbarShowtickprefixNone  HeatmapColorbarShowtickprefix = "none"
)

type HeatmapColorbarShowticksuffix

type HeatmapColorbarShowticksuffix string

HeatmapColorbarShowticksuffix Same as `showtickprefix` but for tick suffixes.

const (
	HeatmapColorbarShowticksuffixAll   HeatmapColorbarShowticksuffix = "all"
	HeatmapColorbarShowticksuffixFirst HeatmapColorbarShowticksuffix = "first"
	HeatmapColorbarShowticksuffixLast  HeatmapColorbarShowticksuffix = "last"
	HeatmapColorbarShowticksuffixNone  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 (
	HeatmapColorbarThicknessmodeFraction HeatmapColorbarThicknessmode = "fraction"
	HeatmapColorbarThicknessmodePixels   HeatmapColorbarThicknessmode = "pixels"
)

type HeatmapColorbarTickfont

type HeatmapColorbarTickfont struct {

	// Color
	// arrayOK: false
	// type: color
	//
	Color Color `json:"color,omitempty"`

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

	// Size
	// arrayOK: false
	// type: number
	//
	Size float64 `json:"size,omitempty"`
}

HeatmapColorbarTickfont Sets the color bar's tick label font

type HeatmapColorbarTicklabelposition added in v0.3.1

type HeatmapColorbarTicklabelposition string

HeatmapColorbarTicklabelposition Determines where tick labels are drawn.

const (
	HeatmapColorbarTicklabelpositionOutside       HeatmapColorbarTicklabelposition = "outside"
	HeatmapColorbarTicklabelpositionInside        HeatmapColorbarTicklabelposition = "inside"
	HeatmapColorbarTicklabelpositionOutsideTop    HeatmapColorbarTicklabelposition = "outside top"
	HeatmapColorbarTicklabelpositionInsideTop     HeatmapColorbarTicklabelposition = "inside top"
	HeatmapColorbarTicklabelpositionOutsideBottom HeatmapColorbarTicklabelposition = "outside bottom"
	HeatmapColorbarTicklabelpositionInsideBottom  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 (
	HeatmapColorbarTickmodeAuto   HeatmapColorbarTickmode = "auto"
	HeatmapColorbarTickmodeLinear HeatmapColorbarTickmode = "linear"
	HeatmapColorbarTickmodeArray  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 (
	HeatmapColorbarTicksOutside HeatmapColorbarTicks = "outside"
	HeatmapColorbarTicksInside  HeatmapColorbarTicks = "inside"
	HeatmapColorbarTicksEmpty   HeatmapColorbarTicks = ""
)

type HeatmapColorbarTitle

type HeatmapColorbarTitle struct {

	// Font
	// role: Object
	Font *HeatmapColorbarTitleFont `json:"font,omitempty"`

	// Side
	// default: top
	// type: enumerated
	// Determines the location of color bar's title with respect to the color bar. Note that the title's location used to be set by the now deprecated `titleside` attribute.
	Side HeatmapColorbarTitleSide `json:"side,omitempty"`

	// Text
	// arrayOK: false
	// type: string
	// Sets the title of the color bar. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.
	Text String `json:"text,omitempty"`
}

HeatmapColorbarTitle

type HeatmapColorbarTitleFont

type HeatmapColorbarTitleFont struct {

	// Color
	// arrayOK: false
	// type: color
	//
	Color Color `json:"color,omitempty"`

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

	// Size
	// arrayOK: false
	// type: number
	//
	Size float64 `json:"size,omitempty"`
}

HeatmapColorbarTitleFont Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.

type 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 (
	HeatmapColorbarTitleSideRight  HeatmapColorbarTitleSide = "right"
	HeatmapColorbarTitleSideTop    HeatmapColorbarTitleSide = "top"
	HeatmapColorbarTitleSideBottom 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 (
	HeatmapColorbarXanchorLeft   HeatmapColorbarXanchor = "left"
	HeatmapColorbarXanchorCenter HeatmapColorbarXanchor = "center"
	HeatmapColorbarXanchorRight  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 (
	HeatmapColorbarYanchorTop    HeatmapColorbarYanchor = "top"
	HeatmapColorbarYanchorMiddle HeatmapColorbarYanchor = "middle"
	HeatmapColorbarYanchorBottom HeatmapColorbarYanchor = "bottom"
)

type HeatmapHoverinfo

type HeatmapHoverinfo string

HeatmapHoverinfo Determines which trace information appear on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired.

const (
	// Flags
	HeatmapHoverinfoX    HeatmapHoverinfo = "x"
	HeatmapHoverinfoY    HeatmapHoverinfo = "y"
	HeatmapHoverinfoZ    HeatmapHoverinfo = "z"
	HeatmapHoverinfoText HeatmapHoverinfo = "text"
	HeatmapHoverinfoName HeatmapHoverinfo = "name"

	// Extra
	HeatmapHoverinfoAll  HeatmapHoverinfo = "all"
	HeatmapHoverinfoNone HeatmapHoverinfo = "none"
	HeatmapHoverinfoSkip HeatmapHoverinfo = "skip"
)

type HeatmapHoverlabel

type HeatmapHoverlabel struct {

	// Align
	// default: auto
	// type: enumerated
	// Sets the horizontal alignment of the text content within hover label box. Has an effect only if the hover label text spans more two or more lines
	Align HeatmapHoverlabelAlign `json:"align,omitempty"`

	// Alignsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  align .
	Alignsrc String `json:"alignsrc,omitempty"`

	// Bgcolor
	// arrayOK: true
	// type: color
	// Sets the background color of the hover labels for this trace
	Bgcolor Color `json:"bgcolor,omitempty"`

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

	// Bordercolor
	// arrayOK: true
	// type: color
	// Sets the border color of the hover labels for this trace.
	Bordercolor Color `json:"bordercolor,omitempty"`

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

	// Font
	// role: Object
	Font *HeatmapHoverlabelFont `json:"font,omitempty"`

	// Namelength
	// arrayOK: true
	// type: integer
	// Sets the default length (in number of characters) of the trace name in the hover labels for all traces. -1 shows the whole name regardless of length. 0-3 shows the first 0-3 characters, and an integer >3 will show the whole name if it is less than that many characters, but if it is longer, will truncate to `namelength - 3` characters and add an ellipsis.
	Namelength int64 `json:"namelength,omitempty"`

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

HeatmapHoverlabel

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 (
	HeatmapHoverlabelAlignLeft  HeatmapHoverlabelAlign = "left"
	HeatmapHoverlabelAlignRight HeatmapHoverlabelAlign = "right"
	HeatmapHoverlabelAlignAuto  HeatmapHoverlabelAlign = "auto"
)

type HeatmapHoverlabelFont

type HeatmapHoverlabelFont struct {

	// Color
	// arrayOK: true
	// type: color
	//
	Color Color `json:"color,omitempty"`

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

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

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

	// Size
	// arrayOK: true
	// type: number
	//
	Size float64 `json:"size,omitempty"`

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

HeatmapHoverlabelFont Sets the font used in hover labels.

type HeatmapStream

type HeatmapStream struct {

	// Maxpoints
	// arrayOK: false
	// type: number
	// Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot.
	Maxpoints float64 `json:"maxpoints,omitempty"`

	// Token
	// arrayOK: false
	// type: string
	// The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details.
	Token String `json:"token,omitempty"`
}

HeatmapStream

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 (
	HeatmapVisibleTrue       HeatmapVisible = true
	HeatmapVisibleFalse      HeatmapVisible = false
	HeatmapVisibleLegendonly HeatmapVisible = "legendonly"
)

type HeatmapXcalendar

type HeatmapXcalendar string

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

const (
	HeatmapXcalendarGregorian  HeatmapXcalendar = "gregorian"
	HeatmapXcalendarChinese    HeatmapXcalendar = "chinese"
	HeatmapXcalendarCoptic     HeatmapXcalendar = "coptic"
	HeatmapXcalendarDiscworld  HeatmapXcalendar = "discworld"
	HeatmapXcalendarEthiopian  HeatmapXcalendar = "ethiopian"
	HeatmapXcalendarHebrew     HeatmapXcalendar = "hebrew"
	HeatmapXcalendarIslamic    HeatmapXcalendar = "islamic"
	HeatmapXcalendarJulian     HeatmapXcalendar = "julian"
	HeatmapXcalendarMayan      HeatmapXcalendar = "mayan"
	HeatmapXcalendarNanakshahi HeatmapXcalendar = "nanakshahi"
	HeatmapXcalendarNepali     HeatmapXcalendar = "nepali"
	HeatmapXcalendarPersian    HeatmapXcalendar = "persian"
	HeatmapXcalendarJalali     HeatmapXcalendar = "jalali"
	HeatmapXcalendarTaiwan     HeatmapXcalendar = "taiwan"
	HeatmapXcalendarThai       HeatmapXcalendar = "thai"
	HeatmapXcalendarUmmalqura  HeatmapXcalendar = "ummalqura"
)

type HeatmapXperiodalignment added in v0.3.1

type HeatmapXperiodalignment string

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

const (
	HeatmapXperiodalignmentStart  HeatmapXperiodalignment = "start"
	HeatmapXperiodalignmentMiddle HeatmapXperiodalignment = "middle"
	HeatmapXperiodalignmentEnd    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 (
	HeatmapXtypeArray  HeatmapXtype = "array"
	HeatmapXtypeScaled HeatmapXtype = "scaled"
)

type HeatmapYcalendar

type HeatmapYcalendar string

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

const (
	HeatmapYcalendarGregorian  HeatmapYcalendar = "gregorian"
	HeatmapYcalendarChinese    HeatmapYcalendar = "chinese"
	HeatmapYcalendarCoptic     HeatmapYcalendar = "coptic"
	HeatmapYcalendarDiscworld  HeatmapYcalendar = "discworld"
	HeatmapYcalendarEthiopian  HeatmapYcalendar = "ethiopian"
	HeatmapYcalendarHebrew     HeatmapYcalendar = "hebrew"
	HeatmapYcalendarIslamic    HeatmapYcalendar = "islamic"
	HeatmapYcalendarJulian     HeatmapYcalendar = "julian"
	HeatmapYcalendarMayan      HeatmapYcalendar = "mayan"
	HeatmapYcalendarNanakshahi HeatmapYcalendar = "nanakshahi"
	HeatmapYcalendarNepali     HeatmapYcalendar = "nepali"
	HeatmapYcalendarPersian    HeatmapYcalendar = "persian"
	HeatmapYcalendarJalali     HeatmapYcalendar = "jalali"
	HeatmapYcalendarTaiwan     HeatmapYcalendar = "taiwan"
	HeatmapYcalendarThai       HeatmapYcalendar = "thai"
	HeatmapYcalendarUmmalqura  HeatmapYcalendar = "ummalqura"
)

type HeatmapYperiodalignment added in v0.3.1

type HeatmapYperiodalignment string

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

const (
	HeatmapYperiodalignmentStart  HeatmapYperiodalignment = "start"
	HeatmapYperiodalignmentMiddle HeatmapYperiodalignment = "middle"
	HeatmapYperiodalignmentEnd    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 (
	HeatmapYtypeArray  HeatmapYtype = "array"
	HeatmapYtypeScaled HeatmapYtype = "scaled"
)

type HeatmapZsmooth

type HeatmapZsmooth interface{}

HeatmapZsmooth Picks a smoothing algorithm use to smooth `z` data.

var (
	HeatmapZsmoothFast  HeatmapZsmooth = "fast"
	HeatmapZsmoothBest  HeatmapZsmooth = "best"
	HeatmapZsmoothFalse HeatmapZsmooth = false
)

type Heatmapgl

type Heatmapgl struct {

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

	// Autocolorscale
	// arrayOK: false
	// type: boolean
	// Determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by `colorscale`. In case `colorscale` is unspecified or `autocolorscale` is true, the default  palette will be chosen according to whether numbers in the `color` array are all positive, all negative or mixed.
	Autocolorscale Bool `json:"autocolorscale,omitempty"`

	// Coloraxis
	// arrayOK: false
	// type: subplotid
	// Sets a reference to a shared color axis. References to these shared color axes are *coloraxis*, *coloraxis2*, *coloraxis3*, etc. Settings for these shared color axes are set in the layout, under `layout.coloraxis`, `layout.coloraxis2`, etc. Note that multiple color scales can be linked to the same color axis.
	Coloraxis String `json:"coloraxis,omitempty"`

	// Colorbar
	// role: Object
	Colorbar *HeatmapglColorbar `json:"colorbar,omitempty"`

	// Colorscale
	// default: %!s(<nil>)
	// type: colorscale
	// Sets the colorscale. The colorscale must be an array containing arrays mapping a normalized value to an rgb, rgba, hex, hsl, hsv, or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, use`zmin` and `zmax`. Alternatively, `colorscale` may be a palette name string of the following list: Greys,YlGnBu,Greens,YlOrRd,Bluered,RdBu,Reds,Blues,Picnic,Rainbow,Portland,Jet,Hot,Blackbody,Earth,Electric,Viridis,Cividis.
	Colorscale ColorScale `json:"colorscale,omitempty"`

	// Customdata
	// arrayOK: false
	// type: data_array
	// Assigns extra data each datum. This may be useful when listening to hover, click and selection events. Note that, *scatter* traces also appends customdata items in the markers DOM elements
	Customdata interface{} `json:"customdata,omitempty"`

	// Customdatasrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  customdata .
	Customdatasrc String `json:"customdatasrc,omitempty"`

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

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

	// Hoverinfo
	// default: all
	// type: flaglist
	// Determines which trace information appear on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired.
	Hoverinfo HeatmapglHoverinfo `json:"hoverinfo,omitempty"`

	// Hoverinfosrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  hoverinfo .
	Hoverinfosrc String `json:"hoverinfosrc,omitempty"`

	// Hoverlabel
	// role: Object
	Hoverlabel *HeatmapglHoverlabel `json:"hoverlabel,omitempty"`

	// Ids
	// arrayOK: false
	// type: data_array
	// Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type.
	Ids interface{} `json:"ids,omitempty"`

	// Idssrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  ids .
	Idssrc String `json:"idssrc,omitempty"`

	// Meta
	// arrayOK: true
	// type: any
	// Assigns extra meta information associated with this trace that can be used in various text attributes. Attributes such as trace `name`, graph, axis and colorbar `title.text`, annotation `text` `rangeselector`, `updatemenues` and `sliders` `label` text all support `meta`. To access the trace `meta` values in an attribute in the same trace, simply use `%{meta[i]}` where `i` is the index or key of the `meta` item in question. To access trace `meta` in layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index.
	Meta interface{} `json:"meta,omitempty"`

	// Metasrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  meta .
	Metasrc String `json:"metasrc,omitempty"`

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

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

	// Reversescale
	// arrayOK: false
	// type: boolean
	// Reverses the color mapping if true. If true, `zmin` will correspond to the last color in the array and `zmax` will correspond to the first color.
	Reversescale Bool `json:"reversescale,omitempty"`

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

	// Stream
	// role: Object
	Stream *HeatmapglStream `json:"stream,omitempty"`

	// Text
	// arrayOK: false
	// type: data_array
	// Sets the text elements associated with each z value.
	Text interface{} `json:"text,omitempty"`

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

	// Transforms
	// It's an items array and what goes inside it's... messy... check the docs
	// I will be happy if you want to contribute by implementing this
	// just raise an issue before you start so we do not overlap
	Transforms interface{} `json:"transforms,omitempty"`

	// Transpose
	// arrayOK: false
	// type: boolean
	// Transposes the z data.
	Transpose Bool `json:"transpose,omitempty"`

	// Uid
	// arrayOK: false
	// type: string
	// Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.
	Uid String `json:"uid,omitempty"`

	// Uirevision
	// arrayOK: false
	// type: any
	// Controls persistence of some user-driven changes to the trace: `constraintrange` in `parcoords` traces, as well as some `editable: true` modifications such as `name` and `colorbar.title`. Defaults to `layout.uirevision`. Note that other user-driven trace attribute changes are controlled by `layout` attributes: `trace.visible` is controlled by `layout.legend.uirevision`, `selectedpoints` is controlled by `layout.selectionrevision`, and `colorbar.(x|y)` (accessible with `config: {editable: true}`) is controlled by `layout.editrevision`. Trace changes are tracked by `uid`, which only falls back on trace index if no `uid` is provided. So if your app can add/remove traces before the end of the `data` array, such that the same trace has a different index, you can still preserve user-driven changes if you give each trace a `uid` that stays with it as it moves.
	Uirevision interface{} `json:"uirevision,omitempty"`

	// Visible
	// default: %!s(bool=true)
	// type: enumerated
	// Determines whether or not this trace is visible. If *legendonly*, the trace is not drawn, but can appear as a legend item (provided that the legend itself is visible).
	Visible HeatmapglVisible `json:"visible,omitempty"`

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

	// X0
	// arrayOK: false
	// type: any
	// Alternate to `x`. Builds a linear space of x coordinates. Use with `dx` where `x0` is the starting coordinate and `dx` the step.
	X0 interface{} `json:"x0,omitempty"`

	// Xaxis
	// arrayOK: false
	// type: subplotid
	// Sets a reference between this trace's x coordinates and a 2D cartesian x axis. If *x* (the default value), the x coordinates refer to `layout.xaxis`. If *x2*, the x coordinates refer to `layout.xaxis2`, and so on.
	Xaxis String `json:"xaxis,omitempty"`

	// Xsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  x .
	Xsrc String `json:"xsrc,omitempty"`

	// Xtype
	// default: %!s(<nil>)
	// type: enumerated
	// If *array*, the heatmap's x coordinates are given by *x* (the default behavior when `x` is provided). If *scaled*, the heatmap's x coordinates are given by *x0* and *dx* (the default behavior when `x` is not provided).
	Xtype HeatmapglXtype `json:"xtype,omitempty"`

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

	// Y0
	// arrayOK: false
	// type: any
	// Alternate to `y`. Builds a linear space of y coordinates. Use with `dy` where `y0` is the starting coordinate and `dy` the step.
	Y0 interface{} `json:"y0,omitempty"`

	// Yaxis
	// arrayOK: false
	// type: subplotid
	// Sets a reference between this trace's y coordinates and a 2D cartesian y axis. If *y* (the default value), the y coordinates refer to `layout.yaxis`. If *y2*, the y coordinates refer to `layout.yaxis2`, and so on.
	Yaxis String `json:"yaxis,omitempty"`

	// Ysrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  y .
	Ysrc String `json:"ysrc,omitempty"`

	// Ytype
	// default: %!s(<nil>)
	// type: enumerated
	// If *array*, the heatmap's y coordinates are given by *y* (the default behavior when `y` is provided) If *scaled*, the heatmap's y coordinates are given by *y0* and *dy* (the default behavior when `y` is not provided)
	Ytype HeatmapglYtype `json:"ytype,omitempty"`

	// Z
	// arrayOK: false
	// type: data_array
	// Sets the z data.
	Z interface{} `json:"z,omitempty"`

	// Zauto
	// arrayOK: false
	// type: boolean
	// Determines whether or not the color domain is computed with respect to the input data (here in `z`) or the bounds set in `zmin` and `zmax`  Defaults to `false` when `zmin` and `zmax` are set by the user.
	Zauto Bool `json:"zauto,omitempty"`

	// Zmax
	// arrayOK: false
	// type: number
	// Sets the upper bound of the color domain. Value should have the same units as in `z` and if set, `zmin` must be set as well.
	Zmax float64 `json:"zmax,omitempty"`

	// Zmid
	// arrayOK: false
	// type: number
	// Sets the mid-point of the color domain by scaling `zmin` and/or `zmax` to be equidistant to this point. Value should have the same units as in `z`. Has no effect when `zauto` is `false`.
	Zmid float64 `json:"zmid,omitempty"`

	// Zmin
	// arrayOK: false
	// type: number
	// Sets the lower bound of the color domain. Value should have the same units as in `z` and if set, `zmax` must be set as well.
	Zmin float64 `json:"zmin,omitempty"`

	// Zsmooth
	// default: fast
	// type: enumerated
	// Picks a smoothing algorithm use to smooth `z` data.
	Zsmooth HeatmapglZsmooth `json:"zsmooth,omitempty"`

	// Zsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  z .
	Zsrc String `json:"zsrc,omitempty"`
}

Heatmapgl WebGL version of the heatmap trace type.

func (*Heatmapgl) GetType

func (trace *Heatmapgl) GetType() TraceType

type HeatmapglColorbar

type HeatmapglColorbar struct {

	// Bgcolor
	// arrayOK: false
	// type: color
	// Sets the color of padded area.
	Bgcolor Color `json:"bgcolor,omitempty"`

	// Bordercolor
	// arrayOK: false
	// type: color
	// Sets the axis line color.
	Bordercolor Color `json:"bordercolor,omitempty"`

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

	// Dtick
	// arrayOK: false
	// type: any
	// Sets the step in-between ticks on this axis. Use with `tick0`. Must be a positive number, or special strings available to *log* and *date* axes. If the axis `type` is *log*, then ticks are set every 10^(n*dtick) where n is the tick number. For example, to set a tick mark at 1, 10, 100, 1000, ... set dtick to 1. To set tick marks at 1, 100, 10000, ... set dtick to 2. To set tick marks at 1, 5, 25, 125, 625, 3125, ... set dtick to log_10(5), or 0.69897000433. *log* has several special values; *L<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
	// default: B
	// type: enumerated
	// Determines a formatting rule for the tick exponents. For example, consider the number 1,000,000,000. If *none*, it appears as 1,000,000,000. If *e*, 1e+9. If *E*, 1E+9. If *power*, 1x10^9 (with 9 in a super script). If *SI*, 1G. If *B*, 1B.
	Exponentformat HeatmapglColorbarExponentformat `json:"exponentformat,omitempty"`

	// Len
	// arrayOK: false
	// type: number
	// Sets the length of the color bar This measure excludes the padding of both ends. That is, the color bar length is this length minus the padding on both ends.
	Len float64 `json:"len,omitempty"`

	// Lenmode
	// default: fraction
	// type: enumerated
	// Determines whether this color bar's length (i.e. the measure in the color variation direction) is set in units of plot *fraction* or in *pixels. Use `len` to set the value.
	Lenmode HeatmapglColorbarLenmode `json:"lenmode,omitempty"`

	// Minexponent
	// arrayOK: false
	// type: number
	// Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*.
	Minexponent float64 `json:"minexponent,omitempty"`

	// Nticks
	// arrayOK: false
	// type: integer
	// Specifies the maximum number of ticks for the particular axis. The actual number of ticks will be chosen automatically to be less than or equal to `nticks`. Has an effect only if `tickmode` is set to *auto*.
	Nticks int64 `json:"nticks,omitempty"`

	// Outlinecolor
	// arrayOK: false
	// type: color
	// Sets the axis line color.
	Outlinecolor Color `json:"outlinecolor,omitempty"`

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

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

	// Showexponent
	// default: all
	// type: enumerated
	// If *all*, all exponents are shown besides their significands. If *first*, only the exponent of the first tick is shown. If *last*, only the exponent of the last tick is shown. If *none*, no exponents appear.
	Showexponent HeatmapglColorbarShowexponent `json:"showexponent,omitempty"`

	// Showticklabels
	// arrayOK: false
	// type: boolean
	// Determines whether or not the tick labels are drawn.
	Showticklabels Bool `json:"showticklabels,omitempty"`

	// Showtickprefix
	// default: all
	// type: enumerated
	// If *all*, all tick labels are displayed with a prefix. If *first*, only the first tick is displayed with a prefix. If *last*, only the last tick is displayed with a suffix. If *none*, tick prefixes are hidden.
	Showtickprefix HeatmapglColorbarShowtickprefix `json:"showtickprefix,omitempty"`

	// Showticksuffix
	// default: all
	// type: enumerated
	// Same as `showtickprefix` but for tick suffixes.
	Showticksuffix HeatmapglColorbarShowticksuffix `json:"showticksuffix,omitempty"`

	// Thickness
	// arrayOK: false
	// type: number
	// Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.
	Thickness float64 `json:"thickness,omitempty"`

	// Thicknessmode
	// default: pixels
	// type: enumerated
	// Determines whether this color bar's thickness (i.e. the measure in the constant color direction) is set in units of plot *fraction* or in *pixels*. Use `thickness` to set the value.
	Thicknessmode HeatmapglColorbarThicknessmode `json:"thicknessmode,omitempty"`

	// Tick0
	// arrayOK: false
	// type: any
	// Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2) except when `dtick`=*L<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
	// arrayOK: false
	// type: angle
	// Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.
	Tickangle float64 `json:"tickangle,omitempty"`

	// Tickcolor
	// arrayOK: false
	// type: color
	// Sets the tick color.
	Tickcolor Color `json:"tickcolor,omitempty"`

	// Tickfont
	// role: Object
	Tickfont *HeatmapglColorbarTickfont `json:"tickfont,omitempty"`

	// Tickformat
	// arrayOK: false
	// type: string
	// Sets the tick label formatting rule using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-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
	// It's an items array and what goes inside it's... messy... check the docs
	// I will be happy if you want to contribute by implementing this
	// just raise an issue before you start so we do not overlap
	Tickformatstops interface{} `json:"tickformatstops,omitempty"`

	// Ticklabelposition
	// default: outside
	// type: enumerated
	// Determines where tick labels are drawn.
	Ticklabelposition HeatmapglColorbarTicklabelposition `json:"ticklabelposition,omitempty"`

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

	// Tickmode
	// default: %!s(<nil>)
	// type: enumerated
	// Sets the tick mode for this axis. If *auto*, the number of ticks is set via `nticks`. If *linear*, the placement of the ticks is determined by a starting position `tick0` and a tick step `dtick` (*linear* is the default value if `tick0` and `dtick` are provided). If *array*, the placement of the ticks is set via `tickvals` and the tick text is `ticktext`. (*array* is the default value if `tickvals` is provided).
	Tickmode HeatmapglColorbarTickmode `json:"tickmode,omitempty"`

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

	// Ticks
	// default:
	// type: enumerated
	// Determines whether ticks are drawn or not. If **, this axis' ticks are not drawn. If *outside* (*inside*), this axis' are drawn outside (inside) the axis lines.
	Ticks HeatmapglColorbarTicks `json:"ticks,omitempty"`

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

	// Ticktext
	// arrayOK: false
	// type: data_array
	// Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `tickvals`.
	Ticktext interface{} `json:"ticktext,omitempty"`

	// Ticktextsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  ticktext .
	Ticktextsrc String `json:"ticktextsrc,omitempty"`

	// Tickvals
	// arrayOK: false
	// type: data_array
	// Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.
	Tickvals interface{} `json:"tickvals,omitempty"`

	// Tickvalssrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  tickvals .
	Tickvalssrc String `json:"tickvalssrc,omitempty"`

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

	// Title
	// role: Object
	Title *HeatmapglColorbarTitle `json:"title,omitempty"`

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

	// Xanchor
	// default: left
	// type: enumerated
	// Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the color bar.
	Xanchor HeatmapglColorbarXanchor `json:"xanchor,omitempty"`

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

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

	// Yanchor
	// default: middle
	// type: enumerated
	// Sets this color bar's vertical position anchor This anchor binds the `y` position to the *top*, *middle* or *bottom* of the color bar.
	Yanchor HeatmapglColorbarYanchor `json:"yanchor,omitempty"`

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

HeatmapglColorbar

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 (
	HeatmapglColorbarExponentformatNone  HeatmapglColorbarExponentformat = "none"
	HeatmapglColorbarExponentformatE1    HeatmapglColorbarExponentformat = "e"
	HeatmapglColorbarExponentformatE2    HeatmapglColorbarExponentformat = "E"
	HeatmapglColorbarExponentformatPower HeatmapglColorbarExponentformat = "power"
	HeatmapglColorbarExponentformatSi    HeatmapglColorbarExponentformat = "SI"
	HeatmapglColorbarExponentformatB     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 (
	HeatmapglColorbarLenmodeFraction HeatmapglColorbarLenmode = "fraction"
	HeatmapglColorbarLenmodePixels   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 (
	HeatmapglColorbarShowexponentAll   HeatmapglColorbarShowexponent = "all"
	HeatmapglColorbarShowexponentFirst HeatmapglColorbarShowexponent = "first"
	HeatmapglColorbarShowexponentLast  HeatmapglColorbarShowexponent = "last"
	HeatmapglColorbarShowexponentNone  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 (
	HeatmapglColorbarShowtickprefixAll   HeatmapglColorbarShowtickprefix = "all"
	HeatmapglColorbarShowtickprefixFirst HeatmapglColorbarShowtickprefix = "first"
	HeatmapglColorbarShowtickprefixLast  HeatmapglColorbarShowtickprefix = "last"
	HeatmapglColorbarShowtickprefixNone  HeatmapglColorbarShowtickprefix = "none"
)

type HeatmapglColorbarShowticksuffix

type HeatmapglColorbarShowticksuffix string

HeatmapglColorbarShowticksuffix Same as `showtickprefix` but for tick suffixes.

const (
	HeatmapglColorbarShowticksuffixAll   HeatmapglColorbarShowticksuffix = "all"
	HeatmapglColorbarShowticksuffixFirst HeatmapglColorbarShowticksuffix = "first"
	HeatmapglColorbarShowticksuffixLast  HeatmapglColorbarShowticksuffix = "last"
	HeatmapglColorbarShowticksuffixNone  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 (
	HeatmapglColorbarThicknessmodeFraction HeatmapglColorbarThicknessmode = "fraction"
	HeatmapglColorbarThicknessmodePixels   HeatmapglColorbarThicknessmode = "pixels"
)

type HeatmapglColorbarTickfont

type HeatmapglColorbarTickfont struct {

	// Color
	// arrayOK: false
	// type: color
	//
	Color Color `json:"color,omitempty"`

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

	// Size
	// arrayOK: false
	// type: number
	//
	Size float64 `json:"size,omitempty"`
}

HeatmapglColorbarTickfont Sets the color bar's tick label font

type HeatmapglColorbarTicklabelposition added in v0.3.1

type HeatmapglColorbarTicklabelposition string

HeatmapglColorbarTicklabelposition Determines where tick labels are drawn.

const (
	HeatmapglColorbarTicklabelpositionOutside       HeatmapglColorbarTicklabelposition = "outside"
	HeatmapglColorbarTicklabelpositionInside        HeatmapglColorbarTicklabelposition = "inside"
	HeatmapglColorbarTicklabelpositionOutsideTop    HeatmapglColorbarTicklabelposition = "outside top"
	HeatmapglColorbarTicklabelpositionInsideTop     HeatmapglColorbarTicklabelposition = "inside top"
	HeatmapglColorbarTicklabelpositionOutsideBottom HeatmapglColorbarTicklabelposition = "outside bottom"
	HeatmapglColorbarTicklabelpositionInsideBottom  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 (
	HeatmapglColorbarTickmodeAuto   HeatmapglColorbarTickmode = "auto"
	HeatmapglColorbarTickmodeLinear HeatmapglColorbarTickmode = "linear"
	HeatmapglColorbarTickmodeArray  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 (
	HeatmapglColorbarTicksOutside HeatmapglColorbarTicks = "outside"
	HeatmapglColorbarTicksInside  HeatmapglColorbarTicks = "inside"
	HeatmapglColorbarTicksEmpty   HeatmapglColorbarTicks = ""
)

type HeatmapglColorbarTitle

type HeatmapglColorbarTitle struct {

	// Font
	// role: Object
	Font *HeatmapglColorbarTitleFont `json:"font,omitempty"`

	// Side
	// default: top
	// type: enumerated
	// Determines the location of color bar's title with respect to the color bar. Note that the title's location used to be set by the now deprecated `titleside` attribute.
	Side HeatmapglColorbarTitleSide `json:"side,omitempty"`

	// Text
	// arrayOK: false
	// type: string
	// Sets the title of the color bar. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.
	Text String `json:"text,omitempty"`
}

HeatmapglColorbarTitle

type HeatmapglColorbarTitleFont

type HeatmapglColorbarTitleFont struct {

	// Color
	// arrayOK: false
	// type: color
	//
	Color Color `json:"color,omitempty"`

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

	// Size
	// arrayOK: false
	// type: number
	//
	Size float64 `json:"size,omitempty"`
}

HeatmapglColorbarTitleFont Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.

type 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 (
	HeatmapglColorbarTitleSideRight  HeatmapglColorbarTitleSide = "right"
	HeatmapglColorbarTitleSideTop    HeatmapglColorbarTitleSide = "top"
	HeatmapglColorbarTitleSideBottom 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 (
	HeatmapglColorbarXanchorLeft   HeatmapglColorbarXanchor = "left"
	HeatmapglColorbarXanchorCenter HeatmapglColorbarXanchor = "center"
	HeatmapglColorbarXanchorRight  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 (
	HeatmapglColorbarYanchorTop    HeatmapglColorbarYanchor = "top"
	HeatmapglColorbarYanchorMiddle HeatmapglColorbarYanchor = "middle"
	HeatmapglColorbarYanchorBottom HeatmapglColorbarYanchor = "bottom"
)

type HeatmapglHoverinfo

type HeatmapglHoverinfo string

HeatmapglHoverinfo Determines which trace information appear on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired.

const (
	// Flags
	HeatmapglHoverinfoX    HeatmapglHoverinfo = "x"
	HeatmapglHoverinfoY    HeatmapglHoverinfo = "y"
	HeatmapglHoverinfoZ    HeatmapglHoverinfo = "z"
	HeatmapglHoverinfoText HeatmapglHoverinfo = "text"
	HeatmapglHoverinfoName HeatmapglHoverinfo = "name"

	// Extra
	HeatmapglHoverinfoAll  HeatmapglHoverinfo = "all"
	HeatmapglHoverinfoNone HeatmapglHoverinfo = "none"
	HeatmapglHoverinfoSkip HeatmapglHoverinfo = "skip"
)

type HeatmapglHoverlabel

type HeatmapglHoverlabel struct {

	// Align
	// default: auto
	// type: enumerated
	// Sets the horizontal alignment of the text content within hover label box. Has an effect only if the hover label text spans more two or more lines
	Align HeatmapglHoverlabelAlign `json:"align,omitempty"`

	// Alignsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  align .
	Alignsrc String `json:"alignsrc,omitempty"`

	// Bgcolor
	// arrayOK: true
	// type: color
	// Sets the background color of the hover labels for this trace
	Bgcolor Color `json:"bgcolor,omitempty"`

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

	// Bordercolor
	// arrayOK: true
	// type: color
	// Sets the border color of the hover labels for this trace.
	Bordercolor Color `json:"bordercolor,omitempty"`

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

	// Font
	// role: Object
	Font *HeatmapglHoverlabelFont `json:"font,omitempty"`

	// Namelength
	// arrayOK: true
	// type: integer
	// Sets the default length (in number of characters) of the trace name in the hover labels for all traces. -1 shows the whole name regardless of length. 0-3 shows the first 0-3 characters, and an integer >3 will show the whole name if it is less than that many characters, but if it is longer, will truncate to `namelength - 3` characters and add an ellipsis.
	Namelength int64 `json:"namelength,omitempty"`

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

HeatmapglHoverlabel

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 (
	HeatmapglHoverlabelAlignLeft  HeatmapglHoverlabelAlign = "left"
	HeatmapglHoverlabelAlignRight HeatmapglHoverlabelAlign = "right"
	HeatmapglHoverlabelAlignAuto  HeatmapglHoverlabelAlign = "auto"
)

type HeatmapglHoverlabelFont

type HeatmapglHoverlabelFont struct {

	// Color
	// arrayOK: true
	// type: color
	//
	Color Color `json:"color,omitempty"`

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

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

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

	// Size
	// arrayOK: true
	// type: number
	//
	Size float64 `json:"size,omitempty"`

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

HeatmapglHoverlabelFont Sets the font used in hover labels.

type HeatmapglStream

type HeatmapglStream struct {

	// Maxpoints
	// arrayOK: false
	// type: number
	// Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot.
	Maxpoints float64 `json:"maxpoints,omitempty"`

	// Token
	// arrayOK: false
	// type: string
	// The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details.
	Token String `json:"token,omitempty"`
}

HeatmapglStream

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 (
	HeatmapglVisibleTrue       HeatmapglVisible = true
	HeatmapglVisibleFalse      HeatmapglVisible = false
	HeatmapglVisibleLegendonly 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 (
	HeatmapglXtypeArray  HeatmapglXtype = "array"
	HeatmapglXtypeScaled 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 (
	HeatmapglYtypeArray  HeatmapglYtype = "array"
	HeatmapglYtypeScaled HeatmapglYtype = "scaled"
)

type HeatmapglZsmooth added in v0.3.1

type HeatmapglZsmooth interface{}

HeatmapglZsmooth Picks a smoothing algorithm use to smooth `z` data.

var (
	HeatmapglZsmoothFast  HeatmapglZsmooth = "fast"
	HeatmapglZsmoothFalse HeatmapglZsmooth = false
)

type Histogram

type Histogram struct {

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

	// Alignmentgroup
	// arrayOK: false
	// type: string
	// Set several traces linked to the same position axis or matching axes to the same alignmentgroup. This controls whether bars compute their positional range dependently or independently.
	Alignmentgroup String `json:"alignmentgroup,omitempty"`

	// Autobinx
	// arrayOK: false
	// type: boolean
	// Obsolete: since v1.42 each bin attribute is auto-determined separately and `autobinx` is not needed. However, we accept `autobinx: true` or `false` and will update `xbins` accordingly before deleting `autobinx` from the trace.
	Autobinx Bool `json:"autobinx,omitempty"`

	// Autobiny
	// arrayOK: false
	// type: boolean
	// Obsolete: since v1.42 each bin attribute is auto-determined separately and `autobiny` is not needed. However, we accept `autobiny: true` or `false` and will update `ybins` accordingly before deleting `autobiny` from the trace.
	Autobiny Bool `json:"autobiny,omitempty"`

	// Bingroup
	// arrayOK: false
	// type: string
	// Set a group of histogram traces which will have compatible bin settings. Note that traces on the same subplot and with the same *orientation* under `barmode` *stack*, *relative* and *group* are forced into the same bingroup, Using `bingroup`, traces under `barmode` *overlay* and on different axes (of the same axis type) can have compatible bin settings. Note that histogram and histogram2d* trace can share the same `bingroup`
	Bingroup String `json:"bingroup,omitempty"`

	// Cumulative
	// role: Object
	Cumulative *HistogramCumulative `json:"cumulative,omitempty"`

	// Customdata
	// arrayOK: false
	// type: data_array
	// Assigns extra data each datum. This may be useful when listening to hover, click and selection events. Note that, *scatter* traces also appends customdata items in the markers DOM elements
	Customdata interface{} `json:"customdata,omitempty"`

	// Customdatasrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  customdata .
	Customdatasrc String `json:"customdatasrc,omitempty"`

	// ErrorX
	// role: Object
	ErrorX *HistogramErrorX `json:"error_x,omitempty"`

	// ErrorY
	// role: Object
	ErrorY *HistogramErrorY `json:"error_y,omitempty"`

	// Histfunc
	// default: count
	// type: enumerated
	// Specifies the binning function used for this histogram trace. If *count*, the histogram values are computed by counting the number of values lying inside each bin. If *sum*, *avg*, *min*, *max*, the histogram values are computed using the sum, the average, the minimum or the maximum of the values lying inside each bin respectively.
	Histfunc HistogramHistfunc `json:"histfunc,omitempty"`

	// Histnorm
	// default:
	// type: enumerated
	// Specifies the type of normalization used for this histogram trace. If **, the span of each bar corresponds to the number of occurrences (i.e. the number of data points lying inside the bins). If *percent* / *probability*, the span of each bar corresponds to the percentage / fraction of occurrences with respect to the total number of sample points (here, the sum of all bin HEIGHTS equals 100% / 1). If *density*, the span of each bar corresponds to the number of occurrences in a bin divided by the size of the bin interval (here, the sum of all bin AREAS equals the total number of sample points). If *probability density*, the area of each bar corresponds to the probability that an event will fall into the corresponding bin (here, the sum of all bin AREAS equals 1).
	Histnorm HistogramHistnorm `json:"histnorm,omitempty"`

	// Hoverinfo
	// default: all
	// type: flaglist
	// Determines which trace information appear on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired.
	Hoverinfo HistogramHoverinfo `json:"hoverinfo,omitempty"`

	// Hoverinfosrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  hoverinfo .
	Hoverinfosrc String `json:"hoverinfosrc,omitempty"`

	// Hoverlabel
	// role: Object
	Hoverlabel *HistogramHoverlabel `json:"hoverlabel,omitempty"`

	// Hovertemplate
	// arrayOK: true
	// type: string
	// Template string used for rendering the information that appear on hover box. Note that this will override `hoverinfo`. Variables are inserted using %{variable}, for example "y: %{y}". 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 String `json:"hovertemplate,omitempty"`

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

	// Hovertext
	// arrayOK: true
	// type: string
	// Same as `text`.
	Hovertext String `json:"hovertext,omitempty"`

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

	// Ids
	// arrayOK: false
	// type: data_array
	// Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type.
	Ids interface{} `json:"ids,omitempty"`

	// Idssrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  ids .
	Idssrc String `json:"idssrc,omitempty"`

	// Legendgroup
	// arrayOK: false
	// type: string
	// Sets the legend group for this trace. Traces part of the same legend group hide/show at the same time when toggling legend items.
	Legendgroup String `json:"legendgroup,omitempty"`

	// Marker
	// role: Object
	Marker *HistogramMarker `json:"marker,omitempty"`

	// Meta
	// arrayOK: true
	// type: any
	// Assigns extra meta information associated with this trace that can be used in various text attributes. Attributes such as trace `name`, graph, axis and colorbar `title.text`, annotation `text` `rangeselector`, `updatemenues` and `sliders` `label` text all support `meta`. To access the trace `meta` values in an attribute in the same trace, simply use `%{meta[i]}` where `i` is the index or key of the `meta` item in question. To access trace `meta` in layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index.
	Meta interface{} `json:"meta,omitempty"`

	// Metasrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  meta .
	Metasrc String `json:"metasrc,omitempty"`

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

	// Nbinsx
	// arrayOK: false
	// type: integer
	// Specifies the maximum number of desired bins. This value will be used in an algorithm that will decide the optimal bin size such that the histogram best visualizes the distribution of the data. Ignored if `xbins.size` is provided.
	Nbinsx int64 `json:"nbinsx,omitempty"`

	// Nbinsy
	// arrayOK: false
	// type: integer
	// Specifies the maximum number of desired bins. This value will be used in an algorithm that will decide the optimal bin size such that the histogram best visualizes the distribution of the data. Ignored if `ybins.size` is provided.
	Nbinsy int64 `json:"nbinsy,omitempty"`

	// Offsetgroup
	// arrayOK: false
	// type: string
	// Set several traces linked to the same position axis or matching axes to the same offsetgroup where bars of the same position coordinate will line up.
	Offsetgroup String `json:"offsetgroup,omitempty"`

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

	// Orientation
	// default: %!s(<nil>)
	// type: enumerated
	// Sets the orientation of the bars. With *v* (*h*), the value of the each bar spans along the vertical (horizontal).
	Orientation HistogramOrientation `json:"orientation,omitempty"`

	// Selected
	// role: Object
	Selected *HistogramSelected `json:"selected,omitempty"`

	// Selectedpoints
	// arrayOK: false
	// type: any
	// Array containing integer indices of selected points. Has an effect only for traces that support selections. Note that an empty array means an empty selection where the `unselected` are turned on for all points, whereas, any other non-array values means no selection all where the `selected` and `unselected` styles have no effect.
	Selectedpoints interface{} `json:"selectedpoints,omitempty"`

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

	// Stream
	// role: Object
	Stream *HistogramStream `json:"stream,omitempty"`

	// Text
	// arrayOK: true
	// type: string
	// Sets hover text elements associated with each bar. If a single string, the same string appears over all bars. If an array of string, the items are mapped in order to the this trace's coordinates.
	Text String `json:"text,omitempty"`

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

	// Transforms
	// It's an items array and what goes inside it's... messy... check the docs
	// I will be happy if you want to contribute by implementing this
	// just raise an issue before you start so we do not overlap
	Transforms interface{} `json:"transforms,omitempty"`

	// Uid
	// arrayOK: false
	// type: string
	// Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.
	Uid String `json:"uid,omitempty"`

	// Uirevision
	// arrayOK: false
	// type: any
	// Controls persistence of some user-driven changes to the trace: `constraintrange` in `parcoords` traces, as well as some `editable: true` modifications such as `name` and `colorbar.title`. Defaults to `layout.uirevision`. Note that other user-driven trace attribute changes are controlled by `layout` attributes: `trace.visible` is controlled by `layout.legend.uirevision`, `selectedpoints` is controlled by `layout.selectionrevision`, and `colorbar.(x|y)` (accessible with `config: {editable: true}`) is controlled by `layout.editrevision`. Trace changes are tracked by `uid`, which only falls back on trace index if no `uid` is provided. So if your app can add/remove traces before the end of the `data` array, such that the same trace has a different index, you can still preserve user-driven changes if you give each trace a `uid` that stays with it as it moves.
	Uirevision interface{} `json:"uirevision,omitempty"`

	// Unselected
	// role: Object
	Unselected *HistogramUnselected `json:"unselected,omitempty"`

	// Visible
	// default: %!s(bool=true)
	// type: enumerated
	// Determines whether or not this trace is visible. If *legendonly*, the trace is not drawn, but can appear as a legend item (provided that the legend itself is visible).
	Visible HistogramVisible `json:"visible,omitempty"`

	// X
	// arrayOK: false
	// type: data_array
	// Sets the sample data to be binned on the x axis.
	X interface{} `json:"x,omitempty"`

	// Xaxis
	// arrayOK: false
	// type: subplotid
	// Sets a reference between this trace's x coordinates and a 2D cartesian x axis. If *x* (the default value), the x coordinates refer to `layout.xaxis`. If *x2*, the x coordinates refer to `layout.xaxis2`, and so on.
	Xaxis String `json:"xaxis,omitempty"`

	// Xbins
	// role: Object
	Xbins *HistogramXbins `json:"xbins,omitempty"`

	// Xcalendar
	// default: gregorian
	// type: enumerated
	// Sets the calendar system to use with `x` date data.
	Xcalendar HistogramXcalendar `json:"xcalendar,omitempty"`

	// Xsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  x .
	Xsrc String `json:"xsrc,omitempty"`

	// Y
	// arrayOK: false
	// type: data_array
	// Sets the sample data to be binned on the y axis.
	Y interface{} `json:"y,omitempty"`

	// Yaxis
	// arrayOK: false
	// type: subplotid
	// Sets a reference between this trace's y coordinates and a 2D cartesian y axis. If *y* (the default value), the y coordinates refer to `layout.yaxis`. If *y2*, the y coordinates refer to `layout.yaxis2`, and so on.
	Yaxis String `json:"yaxis,omitempty"`

	// Ybins
	// role: Object
	Ybins *HistogramYbins `json:"ybins,omitempty"`

	// Ycalendar
	// default: gregorian
	// type: enumerated
	// Sets the calendar system to use with `y` date data.
	Ycalendar HistogramYcalendar `json:"ycalendar,omitempty"`

	// Ysrc
	// arrayOK: false
	// type: 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 (*Histogram) GetType

func (trace *Histogram) GetType() TraceType

type Histogram2d

type Histogram2d struct {

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

	// Autobinx
	// arrayOK: false
	// type: boolean
	// Obsolete: since v1.42 each bin attribute is auto-determined separately and `autobinx` is not needed. However, we accept `autobinx: true` or `false` and will update `xbins` accordingly before deleting `autobinx` from the trace.
	Autobinx Bool `json:"autobinx,omitempty"`

	// Autobiny
	// arrayOK: false
	// type: boolean
	// Obsolete: since v1.42 each bin attribute is auto-determined separately and `autobiny` is not needed. However, we accept `autobiny: true` or `false` and will update `ybins` accordingly before deleting `autobiny` from the trace.
	Autobiny Bool `json:"autobiny,omitempty"`

	// Autocolorscale
	// arrayOK: false
	// type: boolean
	// Determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by `colorscale`. In case `colorscale` is unspecified or `autocolorscale` is true, the default  palette will be chosen according to whether numbers in the `color` array are all positive, all negative or mixed.
	Autocolorscale Bool `json:"autocolorscale,omitempty"`

	// Bingroup
	// arrayOK: false
	// type: string
	// Set the `xbingroup` and `ybingroup` default prefix For example, setting a `bingroup` of *1* on two histogram2d traces will make them their x-bins and y-bins match separately.
	Bingroup String `json:"bingroup,omitempty"`

	// Coloraxis
	// arrayOK: false
	// type: subplotid
	// Sets a reference to a shared color axis. References to these shared color axes are *coloraxis*, *coloraxis2*, *coloraxis3*, etc. Settings for these shared color axes are set in the layout, under `layout.coloraxis`, `layout.coloraxis2`, etc. Note that multiple color scales can be linked to the same color axis.
	Coloraxis String `json:"coloraxis,omitempty"`

	// Colorbar
	// role: Object
	Colorbar *Histogram2dColorbar `json:"colorbar,omitempty"`

	// Colorscale
	// default: %!s(<nil>)
	// type: colorscale
	// Sets the colorscale. The colorscale must be an array containing arrays mapping a normalized value to an rgb, rgba, hex, hsl, hsv, or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, use`zmin` and `zmax`. Alternatively, `colorscale` may be a palette name string of the following list: Greys,YlGnBu,Greens,YlOrRd,Bluered,RdBu,Reds,Blues,Picnic,Rainbow,Portland,Jet,Hot,Blackbody,Earth,Electric,Viridis,Cividis.
	Colorscale ColorScale `json:"colorscale,omitempty"`

	// Customdata
	// arrayOK: false
	// type: data_array
	// Assigns extra data each datum. This may be useful when listening to hover, click and selection events. Note that, *scatter* traces also appends customdata items in the markers DOM elements
	Customdata interface{} `json:"customdata,omitempty"`

	// Customdatasrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  customdata .
	Customdatasrc String `json:"customdatasrc,omitempty"`

	// Histfunc
	// default: count
	// type: enumerated
	// Specifies the binning function used for this histogram trace. If *count*, the histogram values are computed by counting the number of values lying inside each bin. If *sum*, *avg*, *min*, *max*, the histogram values are computed using the sum, the average, the minimum or the maximum of the values lying inside each bin respectively.
	Histfunc Histogram2dHistfunc `json:"histfunc,omitempty"`

	// Histnorm
	// default:
	// type: enumerated
	// Specifies the type of normalization used for this histogram trace. If **, the span of each bar corresponds to the number of occurrences (i.e. the number of data points lying inside the bins). If *percent* / *probability*, the span of each bar corresponds to the percentage / fraction of occurrences with respect to the total number of sample points (here, the sum of all bin HEIGHTS equals 100% / 1). If *density*, the span of each bar corresponds to the number of occurrences in a bin divided by the size of the bin interval (here, the sum of all bin AREAS equals the total number of sample points). If *probability density*, the area of each bar corresponds to the probability that an event will fall into the corresponding bin (here, the sum of all bin AREAS equals 1).
	Histnorm Histogram2dHistnorm `json:"histnorm,omitempty"`

	// Hoverinfo
	// default: all
	// type: flaglist
	// Determines which trace information appear on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired.
	Hoverinfo Histogram2dHoverinfo `json:"hoverinfo,omitempty"`

	// Hoverinfosrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  hoverinfo .
	Hoverinfosrc String `json:"hoverinfosrc,omitempty"`

	// Hoverlabel
	// role: Object
	Hoverlabel *Histogram2dHoverlabel `json:"hoverlabel,omitempty"`

	// Hovertemplate
	// arrayOK: true
	// type: string
	// Template string used for rendering the information that appear on hover box. Note that this will override `hoverinfo`. Variables are inserted using %{variable}, for example "y: %{y}". 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 String `json:"hovertemplate,omitempty"`

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

	// Ids
	// arrayOK: false
	// type: data_array
	// Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type.
	Ids interface{} `json:"ids,omitempty"`

	// Idssrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  ids .
	Idssrc String `json:"idssrc,omitempty"`

	// Legendgroup
	// arrayOK: false
	// type: string
	// Sets the legend group for this trace. Traces part of the same legend group hide/show at the same time when toggling legend items.
	Legendgroup String `json:"legendgroup,omitempty"`

	// Marker
	// role: Object
	Marker *Histogram2dMarker `json:"marker,omitempty"`

	// Meta
	// arrayOK: true
	// type: any
	// Assigns extra meta information associated with this trace that can be used in various text attributes. Attributes such as trace `name`, graph, axis and colorbar `title.text`, annotation `text` `rangeselector`, `updatemenues` and `sliders` `label` text all support `meta`. To access the trace `meta` values in an attribute in the same trace, simply use `%{meta[i]}` where `i` is the index or key of the `meta` item in question. To access trace `meta` in layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index.
	Meta interface{} `json:"meta,omitempty"`

	// Metasrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  meta .
	Metasrc String `json:"metasrc,omitempty"`

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

	// Nbinsx
	// arrayOK: false
	// type: integer
	// Specifies the maximum number of desired bins. This value will be used in an algorithm that will decide the optimal bin size such that the histogram best visualizes the distribution of the data. Ignored if `xbins.size` is provided.
	Nbinsx int64 `json:"nbinsx,omitempty"`

	// Nbinsy
	// arrayOK: false
	// type: integer
	// Specifies the maximum number of desired bins. This value will be used in an algorithm that will decide the optimal bin size such that the histogram best visualizes the distribution of the data. Ignored if `ybins.size` is provided.
	Nbinsy int64 `json:"nbinsy,omitempty"`

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

	// Reversescale
	// arrayOK: false
	// type: boolean
	// Reverses the color mapping if true. If true, `zmin` will correspond to the last color in the array and `zmax` will correspond to the first color.
	Reversescale Bool `json:"reversescale,omitempty"`

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

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

	// Stream
	// role: Object
	Stream *Histogram2dStream `json:"stream,omitempty"`

	// Transforms
	// It's an items array and what goes inside it's... messy... check the docs
	// I will be happy if you want to contribute by implementing this
	// just raise an issue before you start so we do not overlap
	Transforms interface{} `json:"transforms,omitempty"`

	// Uid
	// arrayOK: false
	// type: string
	// Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.
	Uid String `json:"uid,omitempty"`

	// Uirevision
	// arrayOK: false
	// type: any
	// Controls persistence of some user-driven changes to the trace: `constraintrange` in `parcoords` traces, as well as some `editable: true` modifications such as `name` and `colorbar.title`. Defaults to `layout.uirevision`. Note that other user-driven trace attribute changes are controlled by `layout` attributes: `trace.visible` is controlled by `layout.legend.uirevision`, `selectedpoints` is controlled by `layout.selectionrevision`, and `colorbar.(x|y)` (accessible with `config: {editable: true}`) is controlled by `layout.editrevision`. Trace changes are tracked by `uid`, which only falls back on trace index if no `uid` is provided. So if your app can add/remove traces before the end of the `data` array, such that the same trace has a different index, you can still preserve user-driven changes if you give each trace a `uid` that stays with it as it moves.
	Uirevision interface{} `json:"uirevision,omitempty"`

	// Visible
	// default: %!s(bool=true)
	// type: enumerated
	// Determines whether or not this trace is visible. If *legendonly*, the trace is not drawn, but can appear as a legend item (provided that the legend itself is visible).
	Visible Histogram2dVisible `json:"visible,omitempty"`

	// X
	// arrayOK: false
	// type: data_array
	// Sets the sample data to be binned on the x axis.
	X interface{} `json:"x,omitempty"`

	// Xaxis
	// arrayOK: false
	// type: subplotid
	// Sets a reference between this trace's x coordinates and a 2D cartesian x axis. If *x* (the default value), the x coordinates refer to `layout.xaxis`. If *x2*, the x coordinates refer to `layout.xaxis2`, and so on.
	Xaxis String `json:"xaxis,omitempty"`

	// Xbingroup
	// arrayOK: false
	// type: string
	// Set a group of histogram traces which will have compatible x-bin settings. Using `xbingroup`, histogram2d and histogram2dcontour traces  (on axes of the same axis type) can have compatible x-bin settings. Note that the same `xbingroup` value can be used to set (1D) histogram `bingroup`
	Xbingroup String `json:"xbingroup,omitempty"`

	// Xbins
	// role: Object
	Xbins *Histogram2dXbins `json:"xbins,omitempty"`

	// Xcalendar
	// default: gregorian
	// type: enumerated
	// Sets the calendar system to use with `x` date data.
	Xcalendar Histogram2dXcalendar `json:"xcalendar,omitempty"`

	// Xgap
	// arrayOK: false
	// type: number
	// Sets the horizontal gap (in pixels) between bricks.
	Xgap float64 `json:"xgap,omitempty"`

	// Xsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  x .
	Xsrc String `json:"xsrc,omitempty"`

	// Y
	// arrayOK: false
	// type: data_array
	// Sets the sample data to be binned on the y axis.
	Y interface{} `json:"y,omitempty"`

	// Yaxis
	// arrayOK: false
	// type: subplotid
	// Sets a reference between this trace's y coordinates and a 2D cartesian y axis. If *y* (the default value), the y coordinates refer to `layout.yaxis`. If *y2*, the y coordinates refer to `layout.yaxis2`, and so on.
	Yaxis String `json:"yaxis,omitempty"`

	// Ybingroup
	// arrayOK: false
	// type: string
	// Set a group of histogram traces which will have compatible y-bin settings. Using `ybingroup`, histogram2d and histogram2dcontour traces  (on axes of the same axis type) can have compatible y-bin settings. Note that the same `ybingroup` value can be used to set (1D) histogram `bingroup`
	Ybingroup String `json:"ybingroup,omitempty"`

	// Ybins
	// role: Object
	Ybins *Histogram2dYbins `json:"ybins,omitempty"`

	// Ycalendar
	// default: gregorian
	// type: enumerated
	// Sets the calendar system to use with `y` date data.
	Ycalendar Histogram2dYcalendar `json:"ycalendar,omitempty"`

	// Ygap
	// arrayOK: false
	// type: number
	// Sets the vertical gap (in pixels) between bricks.
	Ygap float64 `json:"ygap,omitempty"`

	// Ysrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  y .
	Ysrc String `json:"ysrc,omitempty"`

	// Z
	// arrayOK: false
	// type: data_array
	// Sets the aggregation data.
	Z interface{} `json:"z,omitempty"`

	// Zauto
	// arrayOK: false
	// type: boolean
	// Determines whether or not the color domain is computed with respect to the input data (here in `z`) or the bounds set in `zmin` and `zmax`  Defaults to `false` when `zmin` and `zmax` are set by the user.
	Zauto Bool `json:"zauto,omitempty"`

	// Zhoverformat
	// arrayOK: false
	// type: string
	// Sets the hover text formatting 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
	// arrayOK: false
	// type: number
	// Sets the upper bound of the color domain. Value should have the same units as in `z` and if set, `zmin` must be set as well.
	Zmax float64 `json:"zmax,omitempty"`

	// Zmid
	// arrayOK: false
	// type: number
	// Sets the mid-point of the color domain by scaling `zmin` and/or `zmax` to be equidistant to this point. Value should have the same units as in `z`. Has no effect when `zauto` is `false`.
	Zmid float64 `json:"zmid,omitempty"`

	// Zmin
	// arrayOK: false
	// type: number
	// Sets the lower bound of the color domain. Value should have the same units as in `z` and if set, `zmax` must be set as well.
	Zmin float64 `json:"zmin,omitempty"`

	// Zsmooth
	// default: %!s(bool=false)
	// type: enumerated
	// Picks a smoothing algorithm use to smooth `z` data.
	Zsmooth Histogram2dZsmooth `json:"zsmooth,omitempty"`

	// Zsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  z .
	Zsrc String `json:"zsrc,omitempty"`
}

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 (*Histogram2d) GetType

func (trace *Histogram2d) GetType() TraceType

type Histogram2dColorbar

type Histogram2dColorbar struct {

	// Bgcolor
	// arrayOK: false
	// type: color
	// Sets the color of padded area.
	Bgcolor Color `json:"bgcolor,omitempty"`

	// Bordercolor
	// arrayOK: false
	// type: color
	// Sets the axis line color.
	Bordercolor Color `json:"bordercolor,omitempty"`

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

	// Dtick
	// arrayOK: false
	// type: any
	// Sets the step in-between ticks on this axis. Use with `tick0`. Must be a positive number, or special strings available to *log* and *date* axes. If the axis `type` is *log*, then ticks are set every 10^(n*dtick) where n is the tick number. For example, to set a tick mark at 1, 10, 100, 1000, ... set dtick to 1. To set tick marks at 1, 100, 10000, ... set dtick to 2. To set tick marks at 1, 5, 25, 125, 625, 3125, ... set dtick to log_10(5), or 0.69897000433. *log* has several special values; *L<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
	// default: B
	// type: enumerated
	// Determines a formatting rule for the tick exponents. For example, consider the number 1,000,000,000. If *none*, it appears as 1,000,000,000. If *e*, 1e+9. If *E*, 1E+9. If *power*, 1x10^9 (with 9 in a super script). If *SI*, 1G. If *B*, 1B.
	Exponentformat Histogram2dColorbarExponentformat `json:"exponentformat,omitempty"`

	// Len
	// arrayOK: false
	// type: number
	// Sets the length of the color bar This measure excludes the padding of both ends. That is, the color bar length is this length minus the padding on both ends.
	Len float64 `json:"len,omitempty"`

	// Lenmode
	// default: fraction
	// type: enumerated
	// Determines whether this color bar's length (i.e. the measure in the color variation direction) is set in units of plot *fraction* or in *pixels. Use `len` to set the value.
	Lenmode Histogram2dColorbarLenmode `json:"lenmode,omitempty"`

	// Minexponent
	// arrayOK: false
	// type: number
	// Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*.
	Minexponent float64 `json:"minexponent,omitempty"`

	// Nticks
	// arrayOK: false
	// type: integer
	// Specifies the maximum number of ticks for the particular axis. The actual number of ticks will be chosen automatically to be less than or equal to `nticks`. Has an effect only if `tickmode` is set to *auto*.
	Nticks int64 `json:"nticks,omitempty"`

	// Outlinecolor
	// arrayOK: false
	// type: color
	// Sets the axis line color.
	Outlinecolor Color `json:"outlinecolor,omitempty"`

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

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

	// Showexponent
	// default: all
	// type: enumerated
	// If *all*, all exponents are shown besides their significands. If *first*, only the exponent of the first tick is shown. If *last*, only the exponent of the last tick is shown. If *none*, no exponents appear.
	Showexponent Histogram2dColorbarShowexponent `json:"showexponent,omitempty"`

	// Showticklabels
	// arrayOK: false
	// type: boolean
	// Determines whether or not the tick labels are drawn.
	Showticklabels Bool `json:"showticklabels,omitempty"`

	// Showtickprefix
	// default: all
	// type: enumerated
	// If *all*, all tick labels are displayed with a prefix. If *first*, only the first tick is displayed with a prefix. If *last*, only the last tick is displayed with a suffix. If *none*, tick prefixes are hidden.
	Showtickprefix Histogram2dColorbarShowtickprefix `json:"showtickprefix,omitempty"`

	// Showticksuffix
	// default: all
	// type: enumerated
	// Same as `showtickprefix` but for tick suffixes.
	Showticksuffix Histogram2dColorbarShowticksuffix `json:"showticksuffix,omitempty"`

	// Thickness
	// arrayOK: false
	// type: number
	// Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.
	Thickness float64 `json:"thickness,omitempty"`

	// Thicknessmode
	// default: pixels
	// type: enumerated
	// Determines whether this color bar's thickness (i.e. the measure in the constant color direction) is set in units of plot *fraction* or in *pixels*. Use `thickness` to set the value.
	Thicknessmode Histogram2dColorbarThicknessmode `json:"thicknessmode,omitempty"`

	// Tick0
	// arrayOK: false
	// type: any
	// Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2) except when `dtick`=*L<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
	// arrayOK: false
	// type: angle
	// Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.
	Tickangle float64 `json:"tickangle,omitempty"`

	// Tickcolor
	// arrayOK: false
	// type: color
	// Sets the tick color.
	Tickcolor Color `json:"tickcolor,omitempty"`

	// Tickfont
	// role: Object
	Tickfont *Histogram2dColorbarTickfont `json:"tickfont,omitempty"`

	// Tickformat
	// arrayOK: false
	// type: string
	// Sets the tick label formatting rule using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-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
	// It's an items array and what goes inside it's... messy... check the docs
	// I will be happy if you want to contribute by implementing this
	// just raise an issue before you start so we do not overlap
	Tickformatstops interface{} `json:"tickformatstops,omitempty"`

	// Ticklabelposition
	// default: outside
	// type: enumerated
	// Determines where tick labels are drawn.
	Ticklabelposition Histogram2dColorbarTicklabelposition `json:"ticklabelposition,omitempty"`

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

	// Tickmode
	// default: %!s(<nil>)
	// type: enumerated
	// Sets the tick mode for this axis. If *auto*, the number of ticks is set via `nticks`. If *linear*, the placement of the ticks is determined by a starting position `tick0` and a tick step `dtick` (*linear* is the default value if `tick0` and `dtick` are provided). If *array*, the placement of the ticks is set via `tickvals` and the tick text is `ticktext`. (*array* is the default value if `tickvals` is provided).
	Tickmode Histogram2dColorbarTickmode `json:"tickmode,omitempty"`

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

	// Ticks
	// default:
	// type: enumerated
	// Determines whether ticks are drawn or not. If **, this axis' ticks are not drawn. If *outside* (*inside*), this axis' are drawn outside (inside) the axis lines.
	Ticks Histogram2dColorbarTicks `json:"ticks,omitempty"`

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

	// Ticktext
	// arrayOK: false
	// type: data_array
	// Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `tickvals`.
	Ticktext interface{} `json:"ticktext,omitempty"`

	// Ticktextsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  ticktext .
	Ticktextsrc String `json:"ticktextsrc,omitempty"`

	// Tickvals
	// arrayOK: false
	// type: data_array
	// Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.
	Tickvals interface{} `json:"tickvals,omitempty"`

	// Tickvalssrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  tickvals .
	Tickvalssrc String `json:"tickvalssrc,omitempty"`

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

	// Title
	// role: Object
	Title *Histogram2dColorbarTitle `json:"title,omitempty"`

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

	// Xanchor
	// default: left
	// type: enumerated
	// Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the color bar.
	Xanchor Histogram2dColorbarXanchor `json:"xanchor,omitempty"`

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

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

	// Yanchor
	// default: middle
	// type: enumerated
	// Sets this color bar's vertical position anchor This anchor binds the `y` position to the *top*, *middle* or *bottom* of the color bar.
	Yanchor Histogram2dColorbarYanchor `json:"yanchor,omitempty"`

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

Histogram2dColorbar

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 (
	Histogram2dColorbarExponentformatNone  Histogram2dColorbarExponentformat = "none"
	Histogram2dColorbarExponentformatE1    Histogram2dColorbarExponentformat = "e"
	Histogram2dColorbarExponentformatE2    Histogram2dColorbarExponentformat = "E"
	Histogram2dColorbarExponentformatPower Histogram2dColorbarExponentformat = "power"
	Histogram2dColorbarExponentformatSi    Histogram2dColorbarExponentformat = "SI"
	Histogram2dColorbarExponentformatB     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 (
	Histogram2dColorbarLenmodeFraction Histogram2dColorbarLenmode = "fraction"
	Histogram2dColorbarLenmodePixels   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 (
	Histogram2dColorbarShowexponentAll   Histogram2dColorbarShowexponent = "all"
	Histogram2dColorbarShowexponentFirst Histogram2dColorbarShowexponent = "first"
	Histogram2dColorbarShowexponentLast  Histogram2dColorbarShowexponent = "last"
	Histogram2dColorbarShowexponentNone  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 (
	Histogram2dColorbarShowtickprefixAll   Histogram2dColorbarShowtickprefix = "all"
	Histogram2dColorbarShowtickprefixFirst Histogram2dColorbarShowtickprefix = "first"
	Histogram2dColorbarShowtickprefixLast  Histogram2dColorbarShowtickprefix = "last"
	Histogram2dColorbarShowtickprefixNone  Histogram2dColorbarShowtickprefix = "none"
)

type Histogram2dColorbarShowticksuffix

type Histogram2dColorbarShowticksuffix string

Histogram2dColorbarShowticksuffix Same as `showtickprefix` but for tick suffixes.

const (
	Histogram2dColorbarShowticksuffixAll   Histogram2dColorbarShowticksuffix = "all"
	Histogram2dColorbarShowticksuffixFirst Histogram2dColorbarShowticksuffix = "first"
	Histogram2dColorbarShowticksuffixLast  Histogram2dColorbarShowticksuffix = "last"
	Histogram2dColorbarShowticksuffixNone  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 (
	Histogram2dColorbarThicknessmodeFraction Histogram2dColorbarThicknessmode = "fraction"
	Histogram2dColorbarThicknessmodePixels   Histogram2dColorbarThicknessmode = "pixels"
)

type Histogram2dColorbarTickfont

type Histogram2dColorbarTickfont struct {

	// Color
	// arrayOK: false
	// type: color
	//
	Color Color `json:"color,omitempty"`

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

	// Size
	// arrayOK: false
	// type: number
	//
	Size float64 `json:"size,omitempty"`
}

Histogram2dColorbarTickfont Sets the color bar's tick label font

type Histogram2dColorbarTicklabelposition added in v0.3.1

type Histogram2dColorbarTicklabelposition string

Histogram2dColorbarTicklabelposition Determines where tick labels are drawn.

const (
	Histogram2dColorbarTicklabelpositionOutside       Histogram2dColorbarTicklabelposition = "outside"
	Histogram2dColorbarTicklabelpositionInside        Histogram2dColorbarTicklabelposition = "inside"
	Histogram2dColorbarTicklabelpositionOutsideTop    Histogram2dColorbarTicklabelposition = "outside top"
	Histogram2dColorbarTicklabelpositionInsideTop     Histogram2dColorbarTicklabelposition = "inside top"
	Histogram2dColorbarTicklabelpositionOutsideBottom Histogram2dColorbarTicklabelposition = "outside bottom"
	Histogram2dColorbarTicklabelpositionInsideBottom  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 (
	Histogram2dColorbarTickmodeAuto   Histogram2dColorbarTickmode = "auto"
	Histogram2dColorbarTickmodeLinear Histogram2dColorbarTickmode = "linear"
	Histogram2dColorbarTickmodeArray  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 (
	Histogram2dColorbarTicksOutside Histogram2dColorbarTicks = "outside"
	Histogram2dColorbarTicksInside  Histogram2dColorbarTicks = "inside"
	Histogram2dColorbarTicksEmpty   Histogram2dColorbarTicks = ""
)

type Histogram2dColorbarTitle

type Histogram2dColorbarTitle struct {

	// Font
	// role: Object
	Font *Histogram2dColorbarTitleFont `json:"font,omitempty"`

	// Side
	// default: top
	// type: enumerated
	// Determines the location of color bar's title with respect to the color bar. Note that the title's location used to be set by the now deprecated `titleside` attribute.
	Side Histogram2dColorbarTitleSide `json:"side,omitempty"`

	// Text
	// arrayOK: false
	// type: string
	// Sets the title of the color bar. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.
	Text String `json:"text,omitempty"`
}

Histogram2dColorbarTitle

type Histogram2dColorbarTitleFont

type Histogram2dColorbarTitleFont struct {

	// Color
	// arrayOK: false
	// type: color
	//
	Color Color `json:"color,omitempty"`

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

	// Size
	// arrayOK: false
	// type: number
	//
	Size float64 `json:"size,omitempty"`
}

Histogram2dColorbarTitleFont Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.

type 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 (
	Histogram2dColorbarTitleSideRight  Histogram2dColorbarTitleSide = "right"
	Histogram2dColorbarTitleSideTop    Histogram2dColorbarTitleSide = "top"
	Histogram2dColorbarTitleSideBottom 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 (
	Histogram2dColorbarXanchorLeft   Histogram2dColorbarXanchor = "left"
	Histogram2dColorbarXanchorCenter Histogram2dColorbarXanchor = "center"
	Histogram2dColorbarXanchorRight  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 (
	Histogram2dColorbarYanchorTop    Histogram2dColorbarYanchor = "top"
	Histogram2dColorbarYanchorMiddle Histogram2dColorbarYanchor = "middle"
	Histogram2dColorbarYanchorBottom 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 (
	Histogram2dHistfuncCount Histogram2dHistfunc = "count"
	Histogram2dHistfuncSum   Histogram2dHistfunc = "sum"
	Histogram2dHistfuncAvg   Histogram2dHistfunc = "avg"
	Histogram2dHistfuncMin   Histogram2dHistfunc = "min"
	Histogram2dHistfuncMax   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 (
	Histogram2dHistnormEmpty              Histogram2dHistnorm = ""
	Histogram2dHistnormPercent            Histogram2dHistnorm = "percent"
	Histogram2dHistnormProbability        Histogram2dHistnorm = "probability"
	Histogram2dHistnormDensity            Histogram2dHistnorm = "density"
	Histogram2dHistnormProbabilityDensity Histogram2dHistnorm = "probability density"
)

type Histogram2dHoverinfo

type Histogram2dHoverinfo string

Histogram2dHoverinfo Determines which trace information appear on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired.

const (
	// Flags
	Histogram2dHoverinfoX    Histogram2dHoverinfo = "x"
	Histogram2dHoverinfoY    Histogram2dHoverinfo = "y"
	Histogram2dHoverinfoZ    Histogram2dHoverinfo = "z"
	Histogram2dHoverinfoText Histogram2dHoverinfo = "text"
	Histogram2dHoverinfoName Histogram2dHoverinfo = "name"

	// Extra
	Histogram2dHoverinfoAll  Histogram2dHoverinfo = "all"
	Histogram2dHoverinfoNone Histogram2dHoverinfo = "none"
	Histogram2dHoverinfoSkip Histogram2dHoverinfo = "skip"
)

type Histogram2dHoverlabel

type Histogram2dHoverlabel struct {

	// Align
	// default: auto
	// type: enumerated
	// Sets the horizontal alignment of the text content within hover label box. Has an effect only if the hover label text spans more two or more lines
	Align Histogram2dHoverlabelAlign `json:"align,omitempty"`

	// Alignsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  align .
	Alignsrc String `json:"alignsrc,omitempty"`

	// Bgcolor
	// arrayOK: true
	// type: color
	// Sets the background color of the hover labels for this trace
	Bgcolor Color `json:"bgcolor,omitempty"`

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

	// Bordercolor
	// arrayOK: true
	// type: color
	// Sets the border color of the hover labels for this trace.
	Bordercolor Color `json:"bordercolor,omitempty"`

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

	// Font
	// role: Object
	Font *Histogram2dHoverlabelFont `json:"font,omitempty"`

	// Namelength
	// arrayOK: true
	// type: integer
	// Sets the default length (in number of characters) of the trace name in the hover labels for all traces. -1 shows the whole name regardless of length. 0-3 shows the first 0-3 characters, and an integer >3 will show the whole name if it is less than that many characters, but if it is longer, will truncate to `namelength - 3` characters and add an ellipsis.
	Namelength int64 `json:"namelength,omitempty"`

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

Histogram2dHoverlabel

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 (
	Histogram2dHoverlabelAlignLeft  Histogram2dHoverlabelAlign = "left"
	Histogram2dHoverlabelAlignRight Histogram2dHoverlabelAlign = "right"
	Histogram2dHoverlabelAlignAuto  Histogram2dHoverlabelAlign = "auto"
)

type Histogram2dHoverlabelFont

type Histogram2dHoverlabelFont struct {

	// Color
	// arrayOK: true
	// type: color
	//
	Color Color `json:"color,omitempty"`

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

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

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

	// Size
	// arrayOK: true
	// type: number
	//
	Size float64 `json:"size,omitempty"`

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

Histogram2dHoverlabelFont Sets the font used in hover labels.

type Histogram2dMarker

type Histogram2dMarker struct {

	// Color
	// arrayOK: false
	// type: data_array
	// Sets the aggregation data.
	Color interface{} `json:"color,omitempty"`

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

Histogram2dMarker

type Histogram2dStream

type Histogram2dStream struct {

	// Maxpoints
	// arrayOK: false
	// type: number
	// Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot.
	Maxpoints float64 `json:"maxpoints,omitempty"`

	// Token
	// arrayOK: false
	// type: string
	// The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details.
	Token String `json:"token,omitempty"`
}

Histogram2dStream

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 (
	Histogram2dVisibleTrue       Histogram2dVisible = true
	Histogram2dVisibleFalse      Histogram2dVisible = false
	Histogram2dVisibleLegendonly Histogram2dVisible = "legendonly"
)

type Histogram2dXbins

type Histogram2dXbins struct {

	// End
	// arrayOK: false
	// type: any
	// Sets the end value for the x axis bins. The last bin may not end exactly at this value, we increment the bin edge by `size` from `start` until we reach or exceed `end`. Defaults to the maximum data value. Like `start`, for dates use a date string, and for category data `end` is based on the category serial numbers.
	End interface{} `json:"end,omitempty"`

	// Size
	// arrayOK: false
	// type: any
	// Sets the size of each x axis bin. Default behavior: If `nbinsx` is 0 or omitted, we choose a nice round bin size such that the number of bins is about the same as the typical number of samples in each bin. If `nbinsx` is provided, we choose a nice round bin size giving no more than that many bins. For date data, use milliseconds or *M<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
	// arrayOK: false
	// type: any
	// Sets the starting value for the x axis bins. Defaults to the minimum data value, shifted down if necessary to make nice round values and to remove ambiguous bin edges. For example, if most of the data is integers we shift the bin edges 0.5 down, so a `size` of 5 would have a default `start` of -0.5, so it is clear that 0-4 are in the first bin, 5-9 in the second, but continuous data gets a start of 0 and bins [0,5), [5,10) etc. Dates behave similarly, and `start` should be a date string. For category data, `start` is based on the category serial numbers, and defaults to -0.5.
	Start interface{} `json:"start,omitempty"`
}

Histogram2dXbins

type Histogram2dXcalendar

type Histogram2dXcalendar string

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

const (
	Histogram2dXcalendarGregorian  Histogram2dXcalendar = "gregorian"
	Histogram2dXcalendarChinese    Histogram2dXcalendar = "chinese"
	Histogram2dXcalendarCoptic     Histogram2dXcalendar = "coptic"
	Histogram2dXcalendarDiscworld  Histogram2dXcalendar = "discworld"
	Histogram2dXcalendarEthiopian  Histogram2dXcalendar = "ethiopian"
	Histogram2dXcalendarHebrew     Histogram2dXcalendar = "hebrew"
	Histogram2dXcalendarIslamic    Histogram2dXcalendar = "islamic"
	Histogram2dXcalendarJulian     Histogram2dXcalendar = "julian"
	Histogram2dXcalendarMayan      Histogram2dXcalendar = "mayan"
	Histogram2dXcalendarNanakshahi Histogram2dXcalendar = "nanakshahi"
	Histogram2dXcalendarNepali     Histogram2dXcalendar = "nepali"
	Histogram2dXcalendarPersian    Histogram2dXcalendar = "persian"
	Histogram2dXcalendarJalali     Histogram2dXcalendar = "jalali"
	Histogram2dXcalendarTaiwan     Histogram2dXcalendar = "taiwan"
	Histogram2dXcalendarThai       Histogram2dXcalendar = "thai"
	Histogram2dXcalendarUmmalqura  Histogram2dXcalendar = "ummalqura"
)

type Histogram2dYbins

type Histogram2dYbins struct {

	// End
	// arrayOK: false
	// type: any
	// Sets the end value for the y axis bins. The last bin may not end exactly at this value, we increment the bin edge by `size` from `start` until we reach or exceed `end`. Defaults to the maximum data value. Like `start`, for dates use a date string, and for category data `end` is based on the category serial numbers.
	End interface{} `json:"end,omitempty"`

	// Size
	// arrayOK: false
	// type: any
	// Sets the size of each y axis bin. Default behavior: If `nbinsy` is 0 or omitted, we choose a nice round bin size such that the number of bins is about the same as the typical number of samples in each bin. If `nbinsy` is provided, we choose a nice round bin size giving no more than that many bins. For date data, use milliseconds or *M<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
	// arrayOK: false
	// type: any
	// Sets the starting value for the y axis bins. Defaults to the minimum data value, shifted down if necessary to make nice round values and to remove ambiguous bin edges. For example, if most of the data is integers we shift the bin edges 0.5 down, so a `size` of 5 would have a default `start` of -0.5, so it is clear that 0-4 are in the first bin, 5-9 in the second, but continuous data gets a start of 0 and bins [0,5), [5,10) etc. Dates behave similarly, and `start` should be a date string. For category data, `start` is based on the category serial numbers, and defaults to -0.5.
	Start interface{} `json:"start,omitempty"`
}

Histogram2dYbins

type Histogram2dYcalendar

type Histogram2dYcalendar string

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

const (
	Histogram2dYcalendarGregorian  Histogram2dYcalendar = "gregorian"
	Histogram2dYcalendarChinese    Histogram2dYcalendar = "chinese"
	Histogram2dYcalendarCoptic     Histogram2dYcalendar = "coptic"
	Histogram2dYcalendarDiscworld  Histogram2dYcalendar = "discworld"
	Histogram2dYcalendarEthiopian  Histogram2dYcalendar = "ethiopian"
	Histogram2dYcalendarHebrew     Histogram2dYcalendar = "hebrew"
	Histogram2dYcalendarIslamic    Histogram2dYcalendar = "islamic"
	Histogram2dYcalendarJulian     Histogram2dYcalendar = "julian"
	Histogram2dYcalendarMayan      Histogram2dYcalendar = "mayan"
	Histogram2dYcalendarNanakshahi Histogram2dYcalendar = "nanakshahi"
	Histogram2dYcalendarNepali     Histogram2dYcalendar = "nepali"
	Histogram2dYcalendarPersian    Histogram2dYcalendar = "persian"
	Histogram2dYcalendarJalali     Histogram2dYcalendar = "jalali"
	Histogram2dYcalendarTaiwan     Histogram2dYcalendar = "taiwan"
	Histogram2dYcalendarThai       Histogram2dYcalendar = "thai"
	Histogram2dYcalendarUmmalqura  Histogram2dYcalendar = "ummalqura"
)

type Histogram2dZsmooth

type Histogram2dZsmooth interface{}

Histogram2dZsmooth Picks a smoothing algorithm use to smooth `z` data.

var (
	Histogram2dZsmoothFast  Histogram2dZsmooth = "fast"
	Histogram2dZsmoothBest  Histogram2dZsmooth = "best"
	Histogram2dZsmoothFalse Histogram2dZsmooth = false
)

type Histogram2dcontour

type Histogram2dcontour struct {

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

	// Autobinx
	// arrayOK: false
	// type: boolean
	// Obsolete: since v1.42 each bin attribute is auto-determined separately and `autobinx` is not needed. However, we accept `autobinx: true` or `false` and will update `xbins` accordingly before deleting `autobinx` from the trace.
	Autobinx Bool `json:"autobinx,omitempty"`

	// Autobiny
	// arrayOK: false
	// type: boolean
	// Obsolete: since v1.42 each bin attribute is auto-determined separately and `autobiny` is not needed. However, we accept `autobiny: true` or `false` and will update `ybins` accordingly before deleting `autobiny` from the trace.
	Autobiny Bool `json:"autobiny,omitempty"`

	// Autocolorscale
	// arrayOK: false
	// type: boolean
	// Determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by `colorscale`. In case `colorscale` is unspecified or `autocolorscale` is true, the default  palette will be chosen according to whether numbers in the `color` array are all positive, all negative or mixed.
	Autocolorscale Bool `json:"autocolorscale,omitempty"`

	// Autocontour
	// arrayOK: false
	// type: boolean
	// Determines whether or not the contour level attributes are picked by an algorithm. If *true*, the number of contour levels can be set in `ncontours`. If *false*, set the contour level attributes in `contours`.
	Autocontour Bool `json:"autocontour,omitempty"`

	// Bingroup
	// arrayOK: false
	// type: string
	// Set the `xbingroup` and `ybingroup` default prefix For example, setting a `bingroup` of *1* on two histogram2d traces will make them their x-bins and y-bins match separately.
	Bingroup String `json:"bingroup,omitempty"`

	// Coloraxis
	// arrayOK: false
	// type: subplotid
	// Sets a reference to a shared color axis. References to these shared color axes are *coloraxis*, *coloraxis2*, *coloraxis3*, etc. Settings for these shared color axes are set in the layout, under `layout.coloraxis`, `layout.coloraxis2`, etc. Note that multiple color scales can be linked to the same color axis.
	Coloraxis String `json:"coloraxis,omitempty"`

	// Colorbar
	// role: Object
	Colorbar *Histogram2dcontourColorbar `json:"colorbar,omitempty"`

	// Colorscale
	// default: %!s(<nil>)
	// type: colorscale
	// Sets the colorscale. The colorscale must be an array containing arrays mapping a normalized value to an rgb, rgba, hex, hsl, hsv, or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, use`zmin` and `zmax`. Alternatively, `colorscale` may be a palette name string of the following list: Greys,YlGnBu,Greens,YlOrRd,Bluered,RdBu,Reds,Blues,Picnic,Rainbow,Portland,Jet,Hot,Blackbody,Earth,Electric,Viridis,Cividis.
	Colorscale ColorScale `json:"colorscale,omitempty"`

	// Contours
	// role: Object
	Contours *Histogram2dcontourContours `json:"contours,omitempty"`

	// Customdata
	// arrayOK: false
	// type: data_array
	// Assigns extra data each datum. This may be useful when listening to hover, click and selection events. Note that, *scatter* traces also appends customdata items in the markers DOM elements
	Customdata interface{} `json:"customdata,omitempty"`

	// Customdatasrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  customdata .
	Customdatasrc String `json:"customdatasrc,omitempty"`

	// Histfunc
	// default: count
	// type: enumerated
	// Specifies the binning function used for this histogram trace. If *count*, the histogram values are computed by counting the number of values lying inside each bin. If *sum*, *avg*, *min*, *max*, the histogram values are computed using the sum, the average, the minimum or the maximum of the values lying inside each bin respectively.
	Histfunc Histogram2dcontourHistfunc `json:"histfunc,omitempty"`

	// Histnorm
	// default:
	// type: enumerated
	// Specifies the type of normalization used for this histogram trace. If **, the span of each bar corresponds to the number of occurrences (i.e. the number of data points lying inside the bins). If *percent* / *probability*, the span of each bar corresponds to the percentage / fraction of occurrences with respect to the total number of sample points (here, the sum of all bin HEIGHTS equals 100% / 1). If *density*, the span of each bar corresponds to the number of occurrences in a bin divided by the size of the bin interval (here, the sum of all bin AREAS equals the total number of sample points). If *probability density*, the area of each bar corresponds to the probability that an event will fall into the corresponding bin (here, the sum of all bin AREAS equals 1).
	Histnorm Histogram2dcontourHistnorm `json:"histnorm,omitempty"`

	// Hoverinfo
	// default: all
	// type: flaglist
	// Determines which trace information appear on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired.
	Hoverinfo Histogram2dcontourHoverinfo `json:"hoverinfo,omitempty"`

	// Hoverinfosrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  hoverinfo .
	Hoverinfosrc String `json:"hoverinfosrc,omitempty"`

	// Hoverlabel
	// role: Object
	Hoverlabel *Histogram2dcontourHoverlabel `json:"hoverlabel,omitempty"`

	// Hovertemplate
	// arrayOK: true
	// type: string
	// Template string used for rendering the information that appear on hover box. Note that this will override `hoverinfo`. Variables are inserted using %{variable}, for example "y: %{y}". 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 String `json:"hovertemplate,omitempty"`

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

	// Ids
	// arrayOK: false
	// type: data_array
	// Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type.
	Ids interface{} `json:"ids,omitempty"`

	// Idssrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  ids .
	Idssrc String `json:"idssrc,omitempty"`

	// Legendgroup
	// arrayOK: false
	// type: string
	// Sets the legend group for this trace. Traces part of the same legend group hide/show at the same time when toggling legend items.
	Legendgroup String `json:"legendgroup,omitempty"`

	// Line
	// role: Object
	Line *Histogram2dcontourLine `json:"line,omitempty"`

	// Marker
	// role: Object
	Marker *Histogram2dcontourMarker `json:"marker,omitempty"`

	// Meta
	// arrayOK: true
	// type: any
	// Assigns extra meta information associated with this trace that can be used in various text attributes. Attributes such as trace `name`, graph, axis and colorbar `title.text`, annotation `text` `rangeselector`, `updatemenues` and `sliders` `label` text all support `meta`. To access the trace `meta` values in an attribute in the same trace, simply use `%{meta[i]}` where `i` is the index or key of the `meta` item in question. To access trace `meta` in layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index.
	Meta interface{} `json:"meta,omitempty"`

	// Metasrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  meta .
	Metasrc String `json:"metasrc,omitempty"`

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

	// Nbinsx
	// arrayOK: false
	// type: integer
	// Specifies the maximum number of desired bins. This value will be used in an algorithm that will decide the optimal bin size such that the histogram best visualizes the distribution of the data. Ignored if `xbins.size` is provided.
	Nbinsx int64 `json:"nbinsx,omitempty"`

	// Nbinsy
	// arrayOK: false
	// type: integer
	// Specifies the maximum number of desired bins. This value will be used in an algorithm that will decide the optimal bin size such that the histogram best visualizes the distribution of the data. Ignored if `ybins.size` is provided.
	Nbinsy int64 `json:"nbinsy,omitempty"`

	// Ncontours
	// arrayOK: false
	// type: integer
	// Sets the maximum number of contour levels. The actual number of contours will be chosen automatically to be less than or equal to the value of `ncontours`. Has an effect only if `autocontour` is *true* or if `contours.size` is missing.
	Ncontours int64 `json:"ncontours,omitempty"`

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

	// Reversescale
	// arrayOK: false
	// type: boolean
	// Reverses the color mapping if true. If true, `zmin` will correspond to the last color in the array and `zmax` will correspond to the first color.
	Reversescale Bool `json:"reversescale,omitempty"`

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

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

	// Stream
	// role: Object
	Stream *Histogram2dcontourStream `json:"stream,omitempty"`

	// Transforms
	// It's an items array and what goes inside it's... messy... check the docs
	// I will be happy if you want to contribute by implementing this
	// just raise an issue before you start so we do not overlap
	Transforms interface{} `json:"transforms,omitempty"`

	// Uid
	// arrayOK: false
	// type: string
	// Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.
	Uid String `json:"uid,omitempty"`

	// Uirevision
	// arrayOK: false
	// type: any
	// Controls persistence of some user-driven changes to the trace: `constraintrange` in `parcoords` traces, as well as some `editable: true` modifications such as `name` and `colorbar.title`. Defaults to `layout.uirevision`. Note that other user-driven trace attribute changes are controlled by `layout` attributes: `trace.visible` is controlled by `layout.legend.uirevision`, `selectedpoints` is controlled by `layout.selectionrevision`, and `colorbar.(x|y)` (accessible with `config: {editable: true}`) is controlled by `layout.editrevision`. Trace changes are tracked by `uid`, which only falls back on trace index if no `uid` is provided. So if your app can add/remove traces before the end of the `data` array, such that the same trace has a different index, you can still preserve user-driven changes if you give each trace a `uid` that stays with it as it moves.
	Uirevision interface{} `json:"uirevision,omitempty"`

	// Visible
	// default: %!s(bool=true)
	// type: enumerated
	// Determines whether or not this trace is visible. If *legendonly*, the trace is not drawn, but can appear as a legend item (provided that the legend itself is visible).
	Visible Histogram2dcontourVisible `json:"visible,omitempty"`

	// X
	// arrayOK: false
	// type: data_array
	// Sets the sample data to be binned on the x axis.
	X interface{} `json:"x,omitempty"`

	// Xaxis
	// arrayOK: false
	// type: subplotid
	// Sets a reference between this trace's x coordinates and a 2D cartesian x axis. If *x* (the default value), the x coordinates refer to `layout.xaxis`. If *x2*, the x coordinates refer to `layout.xaxis2`, and so on.
	Xaxis String `json:"xaxis,omitempty"`

	// Xbingroup
	// arrayOK: false
	// type: string
	// Set a group of histogram traces which will have compatible x-bin settings. Using `xbingroup`, histogram2d and histogram2dcontour traces  (on axes of the same axis type) can have compatible x-bin settings. Note that the same `xbingroup` value can be used to set (1D) histogram `bingroup`
	Xbingroup String `json:"xbingroup,omitempty"`

	// Xbins
	// role: Object
	Xbins *Histogram2dcontourXbins `json:"xbins,omitempty"`

	// Xcalendar
	// default: gregorian
	// type: enumerated
	// Sets the calendar system to use with `x` date data.
	Xcalendar Histogram2dcontourXcalendar `json:"xcalendar,omitempty"`

	// Xsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  x .
	Xsrc String `json:"xsrc,omitempty"`

	// Y
	// arrayOK: false
	// type: data_array
	// Sets the sample data to be binned on the y axis.
	Y interface{} `json:"y,omitempty"`

	// Yaxis
	// arrayOK: false
	// type: subplotid
	// Sets a reference between this trace's y coordinates and a 2D cartesian y axis. If *y* (the default value), the y coordinates refer to `layout.yaxis`. If *y2*, the y coordinates refer to `layout.yaxis2`, and so on.
	Yaxis String `json:"yaxis,omitempty"`

	// Ybingroup
	// arrayOK: false
	// type: string
	// Set a group of histogram traces which will have compatible y-bin settings. Using `ybingroup`, histogram2d and histogram2dcontour traces  (on axes of the same axis type) can have compatible y-bin settings. Note that the same `ybingroup` value can be used to set (1D) histogram `bingroup`
	Ybingroup String `json:"ybingroup,omitempty"`

	// Ybins
	// role: Object
	Ybins *Histogram2dcontourYbins `json:"ybins,omitempty"`

	// Ycalendar
	// default: gregorian
	// type: enumerated
	// Sets the calendar system to use with `y` date data.
	Ycalendar Histogram2dcontourYcalendar `json:"ycalendar,omitempty"`

	// Ysrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  y .
	Ysrc String `json:"ysrc,omitempty"`

	// Z
	// arrayOK: false
	// type: data_array
	// Sets the aggregation data.
	Z interface{} `json:"z,omitempty"`

	// Zauto
	// arrayOK: false
	// type: boolean
	// Determines whether or not the color domain is computed with respect to the input data (here in `z`) or the bounds set in `zmin` and `zmax`  Defaults to `false` when `zmin` and `zmax` are set by the user.
	Zauto Bool `json:"zauto,omitempty"`

	// Zhoverformat
	// arrayOK: false
	// type: string
	// Sets the hover text formatting 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
	// arrayOK: false
	// type: number
	// Sets the upper bound of the color domain. Value should have the same units as in `z` and if set, `zmin` must be set as well.
	Zmax float64 `json:"zmax,omitempty"`

	// Zmid
	// arrayOK: false
	// type: number
	// Sets the mid-point of the color domain by scaling `zmin` and/or `zmax` to be equidistant to this point. Value should have the same units as in `z`. Has no effect when `zauto` is `false`.
	Zmid float64 `json:"zmid,omitempty"`

	// Zmin
	// arrayOK: false
	// type: number
	// Sets the lower bound of the color domain. Value should have the same units as in `z` and if set, `zmax` must be set as well.
	Zmin float64 `json:"zmin,omitempty"`

	// Zsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  z .
	Zsrc String `json:"zsrc,omitempty"`
}

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 (*Histogram2dcontour) GetType

func (trace *Histogram2dcontour) GetType() TraceType

type Histogram2dcontourColorbar

type Histogram2dcontourColorbar struct {

	// Bgcolor
	// arrayOK: false
	// type: color
	// Sets the color of padded area.
	Bgcolor Color `json:"bgcolor,omitempty"`

	// Bordercolor
	// arrayOK: false
	// type: color
	// Sets the axis line color.
	Bordercolor Color `json:"bordercolor,omitempty"`

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

	// Dtick
	// arrayOK: false
	// type: any
	// Sets the step in-between ticks on this axis. Use with `tick0`. Must be a positive number, or special strings available to *log* and *date* axes. If the axis `type` is *log*, then ticks are set every 10^(n*dtick) where n is the tick number. For example, to set a tick mark at 1, 10, 100, 1000, ... set dtick to 1. To set tick marks at 1, 100, 10000, ... set dtick to 2. To set tick marks at 1, 5, 25, 125, 625, 3125, ... set dtick to log_10(5), or 0.69897000433. *log* has several special values; *L<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
	// default: B
	// type: enumerated
	// Determines a formatting rule for the tick exponents. For example, consider the number 1,000,000,000. If *none*, it appears as 1,000,000,000. If *e*, 1e+9. If *E*, 1E+9. If *power*, 1x10^9 (with 9 in a super script). If *SI*, 1G. If *B*, 1B.
	Exponentformat Histogram2dcontourColorbarExponentformat `json:"exponentformat,omitempty"`

	// Len
	// arrayOK: false
	// type: number
	// Sets the length of the color bar This measure excludes the padding of both ends. That is, the color bar length is this length minus the padding on both ends.
	Len float64 `json:"len,omitempty"`

	// Lenmode
	// default: fraction
	// type: enumerated
	// Determines whether this color bar's length (i.e. the measure in the color variation direction) is set in units of plot *fraction* or in *pixels. Use `len` to set the value.
	Lenmode Histogram2dcontourColorbarLenmode `json:"lenmode,omitempty"`

	// Minexponent
	// arrayOK: false
	// type: number
	// Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*.
	Minexponent float64 `json:"minexponent,omitempty"`

	// Nticks
	// arrayOK: false
	// type: integer
	// Specifies the maximum number of ticks for the particular axis. The actual number of ticks will be chosen automatically to be less than or equal to `nticks`. Has an effect only if `tickmode` is set to *auto*.
	Nticks int64 `json:"nticks,omitempty"`

	// Outlinecolor
	// arrayOK: false
	// type: color
	// Sets the axis line color.
	Outlinecolor Color `json:"outlinecolor,omitempty"`

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

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

	// Showexponent
	// default: all
	// type: enumerated
	// If *all*, all exponents are shown besides their significands. If *first*, only the exponent of the first tick is shown. If *last*, only the exponent of the last tick is shown. If *none*, no exponents appear.
	Showexponent Histogram2dcontourColorbarShowexponent `json:"showexponent,omitempty"`

	// Showticklabels
	// arrayOK: false
	// type: boolean
	// Determines whether or not the tick labels are drawn.
	Showticklabels Bool `json:"showticklabels,omitempty"`

	// Showtickprefix
	// default: all
	// type: enumerated
	// If *all*, all tick labels are displayed with a prefix. If *first*, only the first tick is displayed with a prefix. If *last*, only the last tick is displayed with a suffix. If *none*, tick prefixes are hidden.
	Showtickprefix Histogram2dcontourColorbarShowtickprefix `json:"showtickprefix,omitempty"`

	// Showticksuffix
	// default: all
	// type: enumerated
	// Same as `showtickprefix` but for tick suffixes.
	Showticksuffix Histogram2dcontourColorbarShowticksuffix `json:"showticksuffix,omitempty"`

	// Thickness
	// arrayOK: false
	// type: number
	// Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.
	Thickness float64 `json:"thickness,omitempty"`

	// Thicknessmode
	// default: pixels
	// type: enumerated
	// Determines whether this color bar's thickness (i.e. the measure in the constant color direction) is set in units of plot *fraction* or in *pixels*. Use `thickness` to set the value.
	Thicknessmode Histogram2dcontourColorbarThicknessmode `json:"thicknessmode,omitempty"`

	// Tick0
	// arrayOK: false
	// type: any
	// Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2) except when `dtick`=*L<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
	// arrayOK: false
	// type: angle
	// Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.
	Tickangle float64 `json:"tickangle,omitempty"`

	// Tickcolor
	// arrayOK: false
	// type: color
	// Sets the tick color.
	Tickcolor Color `json:"tickcolor,omitempty"`

	// Tickfont
	// role: Object
	Tickfont *Histogram2dcontourColorbarTickfont `json:"tickfont,omitempty"`

	// Tickformat
	// arrayOK: false
	// type: string
	// Sets the tick label formatting rule using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-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
	// It's an items array and what goes inside it's... messy... check the docs
	// I will be happy if you want to contribute by implementing this
	// just raise an issue before you start so we do not overlap
	Tickformatstops interface{} `json:"tickformatstops,omitempty"`

	// Ticklabelposition
	// default: outside
	// type: enumerated
	// Determines where tick labels are drawn.
	Ticklabelposition Histogram2dcontourColorbarTicklabelposition `json:"ticklabelposition,omitempty"`

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

	// Tickmode
	// default: %!s(<nil>)
	// type: enumerated
	// Sets the tick mode for this axis. If *auto*, the number of ticks is set via `nticks`. If *linear*, the placement of the ticks is determined by a starting position `tick0` and a tick step `dtick` (*linear* is the default value if `tick0` and `dtick` are provided). If *array*, the placement of the ticks is set via `tickvals` and the tick text is `ticktext`. (*array* is the default value if `tickvals` is provided).
	Tickmode Histogram2dcontourColorbarTickmode `json:"tickmode,omitempty"`

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

	// Ticks
	// default:
	// type: enumerated
	// Determines whether ticks are drawn or not. If **, this axis' ticks are not drawn. If *outside* (*inside*), this axis' are drawn outside (inside) the axis lines.
	Ticks Histogram2dcontourColorbarTicks `json:"ticks,omitempty"`

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

	// Ticktext
	// arrayOK: false
	// type: data_array
	// Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `tickvals`.
	Ticktext interface{} `json:"ticktext,omitempty"`

	// Ticktextsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  ticktext .
	Ticktextsrc String `json:"ticktextsrc,omitempty"`

	// Tickvals
	// arrayOK: false
	// type: data_array
	// Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.
	Tickvals interface{} `json:"tickvals,omitempty"`

	// Tickvalssrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  tickvals .
	Tickvalssrc String `json:"tickvalssrc,omitempty"`

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

	// Title
	// role: Object
	Title *Histogram2dcontourColorbarTitle `json:"title,omitempty"`

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

	// Xanchor
	// default: left
	// type: enumerated
	// Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the color bar.
	Xanchor Histogram2dcontourColorbarXanchor `json:"xanchor,omitempty"`

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

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

	// Yanchor
	// default: middle
	// type: enumerated
	// Sets this color bar's vertical position anchor This anchor binds the `y` position to the *top*, *middle* or *bottom* of the color bar.
	Yanchor Histogram2dcontourColorbarYanchor `json:"yanchor,omitempty"`

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

Histogram2dcontourColorbar

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 (
	Histogram2dcontourColorbarExponentformatNone  Histogram2dcontourColorbarExponentformat = "none"
	Histogram2dcontourColorbarExponentformatE1    Histogram2dcontourColorbarExponentformat = "e"
	Histogram2dcontourColorbarExponentformatE2    Histogram2dcontourColorbarExponentformat = "E"
	Histogram2dcontourColorbarExponentformatPower Histogram2dcontourColorbarExponentformat = "power"
	Histogram2dcontourColorbarExponentformatSi    Histogram2dcontourColorbarExponentformat = "SI"
	Histogram2dcontourColorbarExponentformatB     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 (
	Histogram2dcontourColorbarLenmodeFraction Histogram2dcontourColorbarLenmode = "fraction"
	Histogram2dcontourColorbarLenmodePixels   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 (
	Histogram2dcontourColorbarShowexponentAll   Histogram2dcontourColorbarShowexponent = "all"
	Histogram2dcontourColorbarShowexponentFirst Histogram2dcontourColorbarShowexponent = "first"
	Histogram2dcontourColorbarShowexponentLast  Histogram2dcontourColorbarShowexponent = "last"
	Histogram2dcontourColorbarShowexponentNone  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 (
	Histogram2dcontourColorbarShowtickprefixAll   Histogram2dcontourColorbarShowtickprefix = "all"
	Histogram2dcontourColorbarShowtickprefixFirst Histogram2dcontourColorbarShowtickprefix = "first"
	Histogram2dcontourColorbarShowtickprefixLast  Histogram2dcontourColorbarShowtickprefix = "last"
	Histogram2dcontourColorbarShowtickprefixNone  Histogram2dcontourColorbarShowtickprefix = "none"
)

type Histogram2dcontourColorbarShowticksuffix

type Histogram2dcontourColorbarShowticksuffix string

Histogram2dcontourColorbarShowticksuffix Same as `showtickprefix` but for tick suffixes.

const (
	Histogram2dcontourColorbarShowticksuffixAll   Histogram2dcontourColorbarShowticksuffix = "all"
	Histogram2dcontourColorbarShowticksuffixFirst Histogram2dcontourColorbarShowticksuffix = "first"
	Histogram2dcontourColorbarShowticksuffixLast  Histogram2dcontourColorbarShowticksuffix = "last"
	Histogram2dcontourColorbarShowticksuffixNone  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 (
	Histogram2dcontourColorbarThicknessmodeFraction Histogram2dcontourColorbarThicknessmode = "fraction"
	Histogram2dcontourColorbarThicknessmodePixels   Histogram2dcontourColorbarThicknessmode = "pixels"
)

type Histogram2dcontourColorbarTickfont

type Histogram2dcontourColorbarTickfont struct {

	// Color
	// arrayOK: false
	// type: color
	//
	Color Color `json:"color,omitempty"`

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

	// Size
	// arrayOK: false
	// type: number
	//
	Size float64 `json:"size,omitempty"`
}

Histogram2dcontourColorbarTickfont Sets the color bar's tick label font

type Histogram2dcontourColorbarTicklabelposition added in v0.3.1

type Histogram2dcontourColorbarTicklabelposition string

Histogram2dcontourColorbarTicklabelposition Determines where tick labels are drawn.

const (
	Histogram2dcontourColorbarTicklabelpositionOutside       Histogram2dcontourColorbarTicklabelposition = "outside"
	Histogram2dcontourColorbarTicklabelpositionInside        Histogram2dcontourColorbarTicklabelposition = "inside"
	Histogram2dcontourColorbarTicklabelpositionOutsideTop    Histogram2dcontourColorbarTicklabelposition = "outside top"
	Histogram2dcontourColorbarTicklabelpositionInsideTop     Histogram2dcontourColorbarTicklabelposition = "inside top"
	Histogram2dcontourColorbarTicklabelpositionOutsideBottom Histogram2dcontourColorbarTicklabelposition = "outside bottom"
	Histogram2dcontourColorbarTicklabelpositionInsideBottom  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 (
	Histogram2dcontourColorbarTickmodeAuto   Histogram2dcontourColorbarTickmode = "auto"
	Histogram2dcontourColorbarTickmodeLinear Histogram2dcontourColorbarTickmode = "linear"
	Histogram2dcontourColorbarTickmodeArray  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 (
	Histogram2dcontourColorbarTicksOutside Histogram2dcontourColorbarTicks = "outside"
	Histogram2dcontourColorbarTicksInside  Histogram2dcontourColorbarTicks = "inside"
	Histogram2dcontourColorbarTicksEmpty   Histogram2dcontourColorbarTicks = ""
)

type Histogram2dcontourColorbarTitle

type Histogram2dcontourColorbarTitle struct {

	// Font
	// role: Object
	Font *Histogram2dcontourColorbarTitleFont `json:"font,omitempty"`

	// Side
	// default: top
	// type: enumerated
	// Determines the location of color bar's title with respect to the color bar. Note that the title's location used to be set by the now deprecated `titleside` attribute.
	Side Histogram2dcontourColorbarTitleSide `json:"side,omitempty"`

	// Text
	// arrayOK: false
	// type: string
	// Sets the title of the color bar. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.
	Text String `json:"text,omitempty"`
}

Histogram2dcontourColorbarTitle

type Histogram2dcontourColorbarTitleFont

type Histogram2dcontourColorbarTitleFont struct {

	// Color
	// arrayOK: false
	// type: color
	//
	Color Color `json:"color,omitempty"`

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

	// Size
	// arrayOK: false
	// type: number
	//
	Size float64 `json:"size,omitempty"`
}

Histogram2dcontourColorbarTitleFont Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.

type 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 (
	Histogram2dcontourColorbarTitleSideRight  Histogram2dcontourColorbarTitleSide = "right"
	Histogram2dcontourColorbarTitleSideTop    Histogram2dcontourColorbarTitleSide = "top"
	Histogram2dcontourColorbarTitleSideBottom 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 (
	Histogram2dcontourColorbarXanchorLeft   Histogram2dcontourColorbarXanchor = "left"
	Histogram2dcontourColorbarXanchorCenter Histogram2dcontourColorbarXanchor = "center"
	Histogram2dcontourColorbarXanchorRight  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 (
	Histogram2dcontourColorbarYanchorTop    Histogram2dcontourColorbarYanchor = "top"
	Histogram2dcontourColorbarYanchorMiddle Histogram2dcontourColorbarYanchor = "middle"
	Histogram2dcontourColorbarYanchorBottom Histogram2dcontourColorbarYanchor = "bottom"
)

type Histogram2dcontourContours

type Histogram2dcontourContours struct {

	// Coloring
	// default: fill
	// type: enumerated
	// Determines the coloring method showing the contour values. If *fill*, coloring is done evenly between each contour level If *heatmap*, a heatmap gradient coloring is applied between each contour level. If *lines*, coloring is done on the contour lines. If *none*, no coloring is applied on this trace.
	Coloring Histogram2dcontourContoursColoring `json:"coloring,omitempty"`

	// End
	// arrayOK: false
	// type: number
	// Sets the end contour level value. Must be more than `contours.start`
	End float64 `json:"end,omitempty"`

	// Labelfont
	// role: Object
	Labelfont *Histogram2dcontourContoursLabelfont `json:"labelfont,omitempty"`

	// Labelformat
	// arrayOK: false
	// type: string
	// Sets the contour label formatting rule using d3 formatting mini-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
	// default: =
	// type: enumerated
	// Sets the constraint operation. *=* keeps regions equal to `value` *<* and *<=* keep regions less than `value` *>* and *>=* keep regions greater than `value` *[]*, *()*, *[)*, and *(]* keep regions inside `value[0]` to `value[1]` *][*, *)(*, *](*, *)[* keep regions outside `value[0]` to value[1]` Open vs. closed intervals make no difference to constraint display, but all versions are allowed for consistency with filter transforms.
	Operation Histogram2dcontourContoursOperation `json:"operation,omitempty"`

	// Showlabels
	// arrayOK: false
	// type: boolean
	// Determines whether to label the contour lines with their values.
	Showlabels Bool `json:"showlabels,omitempty"`

	// Showlines
	// arrayOK: false
	// type: boolean
	// Determines whether or not the contour lines are drawn. Has an effect only if `contours.coloring` is set to *fill*.
	Showlines Bool `json:"showlines,omitempty"`

	// Size
	// arrayOK: false
	// type: number
	// Sets the step between each contour level. Must be positive.
	Size float64 `json:"size,omitempty"`

	// Start
	// arrayOK: false
	// type: number
	// Sets the starting contour level value. Must be less than `contours.end`
	Start float64 `json:"start,omitempty"`

	// Type
	// default: levels
	// type: enumerated
	// If `levels`, the data is represented as a contour plot with multiple levels displayed. If `constraint`, the data is represented as constraints with the invalid region shaded as specified by the `operation` and `value` parameters.
	Type Histogram2dcontourContoursType `json:"type,omitempty"`

	// Value
	// arrayOK: false
	// type: any
	// Sets the value or values of the constraint boundary. When `operation` is set to one of the comparison values (=,<,>=,>,<=) *value* is expected to be a number. When `operation` is set to one of the interval values ([],(),[),(],][,)(,](,)[) *value* is expected to be an array of two numbers where the first is the lower bound and the second is the upper bound.
	Value interface{} `json:"value,omitempty"`
}

Histogram2dcontourContours

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 (
	Histogram2dcontourContoursColoringFill    Histogram2dcontourContoursColoring = "fill"
	Histogram2dcontourContoursColoringHeatmap Histogram2dcontourContoursColoring = "heatmap"
	Histogram2dcontourContoursColoringLines   Histogram2dcontourContoursColoring = "lines"
	Histogram2dcontourContoursColoringNone    Histogram2dcontourContoursColoring = "none"
)

type Histogram2dcontourContoursLabelfont

type Histogram2dcontourContoursLabelfont struct {

	// Color
	// arrayOK: false
	// type: color
	//
	Color Color `json:"color,omitempty"`

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

	// Size
	// arrayOK: false
	// type: number
	//
	Size float64 `json:"size,omitempty"`
}

Histogram2dcontourContoursLabelfont Sets the font used for labeling the contour levels. The default color comes from the lines, if shown. The default family and size come from `layout.font`.

type 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 (
	Histogram2dcontourContoursOperationEq               Histogram2dcontourContoursOperation = "="
	Histogram2dcontourContoursOperationLt               Histogram2dcontourContoursOperation = "<"
	Histogram2dcontourContoursOperationGtEq             Histogram2dcontourContoursOperation = ">="
	Histogram2dcontourContoursOperationGt               Histogram2dcontourContoursOperation = ">"
	Histogram2dcontourContoursOperationLtEq             Histogram2dcontourContoursOperation = "<="
	Histogram2dcontourContoursOperationLbracketRbracket Histogram2dcontourContoursOperation = "[]"
	Histogram2dcontourContoursOperationLparRpar         Histogram2dcontourContoursOperation = "()"
	Histogram2dcontourContoursOperationLbracketRpar     Histogram2dcontourContoursOperation = "[)"
	Histogram2dcontourContoursOperationLparRbracket     Histogram2dcontourContoursOperation = "(]"
	Histogram2dcontourContoursOperationRbracketLbracket Histogram2dcontourContoursOperation = "]["
	Histogram2dcontourContoursOperationRparLpar         Histogram2dcontourContoursOperation = ")("
	Histogram2dcontourContoursOperationRbracketLpar     Histogram2dcontourContoursOperation = "]("
	Histogram2dcontourContoursOperationRparLbracket     Histogram2dcontourContoursOperation = ")["
)

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 (
	Histogram2dcontourContoursTypeLevels     Histogram2dcontourContoursType = "levels"
	Histogram2dcontourContoursTypeConstraint 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 (
	Histogram2dcontourHistfuncCount Histogram2dcontourHistfunc = "count"
	Histogram2dcontourHistfuncSum   Histogram2dcontourHistfunc = "sum"
	Histogram2dcontourHistfuncAvg   Histogram2dcontourHistfunc = "avg"
	Histogram2dcontourHistfuncMin   Histogram2dcontourHistfunc = "min"
	Histogram2dcontourHistfuncMax   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 (
	Histogram2dcontourHistnormEmpty              Histogram2dcontourHistnorm = ""
	Histogram2dcontourHistnormPercent            Histogram2dcontourHistnorm = "percent"
	Histogram2dcontourHistnormProbability        Histogram2dcontourHistnorm = "probability"
	Histogram2dcontourHistnormDensity            Histogram2dcontourHistnorm = "density"
	Histogram2dcontourHistnormProbabilityDensity Histogram2dcontourHistnorm = "probability density"
)

type Histogram2dcontourHoverinfo

type Histogram2dcontourHoverinfo string

Histogram2dcontourHoverinfo Determines which trace information appear on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired.

const (
	// Flags
	Histogram2dcontourHoverinfoX    Histogram2dcontourHoverinfo = "x"
	Histogram2dcontourHoverinfoY    Histogram2dcontourHoverinfo = "y"
	Histogram2dcontourHoverinfoZ    Histogram2dcontourHoverinfo = "z"
	Histogram2dcontourHoverinfoText Histogram2dcontourHoverinfo = "text"
	Histogram2dcontourHoverinfoName Histogram2dcontourHoverinfo = "name"

	// Extra
	Histogram2dcontourHoverinfoAll  Histogram2dcontourHoverinfo = "all"
	Histogram2dcontourHoverinfoNone Histogram2dcontourHoverinfo = "none"
	Histogram2dcontourHoverinfoSkip Histogram2dcontourHoverinfo = "skip"
)

type Histogram2dcontourHoverlabel

type Histogram2dcontourHoverlabel struct {

	// Align
	// default: auto
	// type: enumerated
	// Sets the horizontal alignment of the text content within hover label box. Has an effect only if the hover label text spans more two or more lines
	Align Histogram2dcontourHoverlabelAlign `json:"align,omitempty"`

	// Alignsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  align .
	Alignsrc String `json:"alignsrc,omitempty"`

	// Bgcolor
	// arrayOK: true
	// type: color
	// Sets the background color of the hover labels for this trace
	Bgcolor Color `json:"bgcolor,omitempty"`

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

	// Bordercolor
	// arrayOK: true
	// type: color
	// Sets the border color of the hover labels for this trace.
	Bordercolor Color `json:"bordercolor,omitempty"`

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

	// Font
	// role: Object
	Font *Histogram2dcontourHoverlabelFont `json:"font,omitempty"`

	// Namelength
	// arrayOK: true
	// type: integer
	// Sets the default length (in number of characters) of the trace name in the hover labels for all traces. -1 shows the whole name regardless of length. 0-3 shows the first 0-3 characters, and an integer >3 will show the whole name if it is less than that many characters, but if it is longer, will truncate to `namelength - 3` characters and add an ellipsis.
	Namelength int64 `json:"namelength,omitempty"`

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

Histogram2dcontourHoverlabel

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 (
	Histogram2dcontourHoverlabelAlignLeft  Histogram2dcontourHoverlabelAlign = "left"
	Histogram2dcontourHoverlabelAlignRight Histogram2dcontourHoverlabelAlign = "right"
	Histogram2dcontourHoverlabelAlignAuto  Histogram2dcontourHoverlabelAlign = "auto"
)

type Histogram2dcontourHoverlabelFont

type Histogram2dcontourHoverlabelFont struct {

	// Color
	// arrayOK: true
	// type: color
	//
	Color Color `json:"color,omitempty"`

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

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

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

	// Size
	// arrayOK: true
	// type: number
	//
	Size float64 `json:"size,omitempty"`

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

Histogram2dcontourHoverlabelFont Sets the font used in hover labels.

type Histogram2dcontourLine

type Histogram2dcontourLine struct {

	// Color
	// arrayOK: false
	// type: color
	// Sets the color of the contour level. Has no effect if `contours.coloring` is set to *lines*.
	Color Color `json:"color,omitempty"`

	// Dash
	// arrayOK: false
	// type: string
	// Sets the dash style of lines. Set to a dash type string (*solid*, *dot*, *dash*, *longdash*, *dashdot*, or *longdashdot*) or a dash length list in px (eg *5px,10px,2px,2px*).
	Dash String `json:"dash,omitempty"`

	// Smoothing
	// arrayOK: false
	// type: number
	// Sets the amount of smoothing for the contour lines, where *0* corresponds to no smoothing.
	Smoothing float64 `json:"smoothing,omitempty"`

	// Width
	// arrayOK: false
	// type: number
	// Sets the contour line width in (in px)
	Width float64 `json:"width,omitempty"`
}

Histogram2dcontourLine

type Histogram2dcontourMarker

type Histogram2dcontourMarker struct {

	// Color
	// arrayOK: false
	// type: data_array
	// Sets the aggregation data.
	Color interface{} `json:"color,omitempty"`

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

Histogram2dcontourMarker

type Histogram2dcontourStream

type Histogram2dcontourStream struct {

	// Maxpoints
	// arrayOK: false
	// type: number
	// Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot.
	Maxpoints float64 `json:"maxpoints,omitempty"`

	// Token
	// arrayOK: false
	// type: string
	// The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details.
	Token String `json:"token,omitempty"`
}

Histogram2dcontourStream

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 (
	Histogram2dcontourVisibleTrue       Histogram2dcontourVisible = true
	Histogram2dcontourVisibleFalse      Histogram2dcontourVisible = false
	Histogram2dcontourVisibleLegendonly Histogram2dcontourVisible = "legendonly"
)

type Histogram2dcontourXbins

type Histogram2dcontourXbins struct {

	// End
	// arrayOK: false
	// type: any
	// Sets the end value for the x axis bins. The last bin may not end exactly at this value, we increment the bin edge by `size` from `start` until we reach or exceed `end`. Defaults to the maximum data value. Like `start`, for dates use a date string, and for category data `end` is based on the category serial numbers.
	End interface{} `json:"end,omitempty"`

	// Size
	// arrayOK: false
	// type: any
	// Sets the size of each x axis bin. Default behavior: If `nbinsx` is 0 or omitted, we choose a nice round bin size such that the number of bins is about the same as the typical number of samples in each bin. If `nbinsx` is provided, we choose a nice round bin size giving no more than that many bins. For date data, use milliseconds or *M<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
	// arrayOK: false
	// type: any
	// Sets the starting value for the x axis bins. Defaults to the minimum data value, shifted down if necessary to make nice round values and to remove ambiguous bin edges. For example, if most of the data is integers we shift the bin edges 0.5 down, so a `size` of 5 would have a default `start` of -0.5, so it is clear that 0-4 are in the first bin, 5-9 in the second, but continuous data gets a start of 0 and bins [0,5), [5,10) etc. Dates behave similarly, and `start` should be a date string. For category data, `start` is based on the category serial numbers, and defaults to -0.5.
	Start interface{} `json:"start,omitempty"`
}

Histogram2dcontourXbins

type Histogram2dcontourXcalendar

type Histogram2dcontourXcalendar string

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

const (
	Histogram2dcontourXcalendarGregorian  Histogram2dcontourXcalendar = "gregorian"
	Histogram2dcontourXcalendarChinese    Histogram2dcontourXcalendar = "chinese"
	Histogram2dcontourXcalendarCoptic     Histogram2dcontourXcalendar = "coptic"
	Histogram2dcontourXcalendarDiscworld  Histogram2dcontourXcalendar = "discworld"
	Histogram2dcontourXcalendarEthiopian  Histogram2dcontourXcalendar = "ethiopian"
	Histogram2dcontourXcalendarHebrew     Histogram2dcontourXcalendar = "hebrew"
	Histogram2dcontourXcalendarIslamic    Histogram2dcontourXcalendar = "islamic"
	Histogram2dcontourXcalendarJulian     Histogram2dcontourXcalendar = "julian"
	Histogram2dcontourXcalendarMayan      Histogram2dcontourXcalendar = "mayan"
	Histogram2dcontourXcalendarNanakshahi Histogram2dcontourXcalendar = "nanakshahi"
	Histogram2dcontourXcalendarNepali     Histogram2dcontourXcalendar = "nepali"
	Histogram2dcontourXcalendarPersian    Histogram2dcontourXcalendar = "persian"
	Histogram2dcontourXcalendarJalali     Histogram2dcontourXcalendar = "jalali"
	Histogram2dcontourXcalendarTaiwan     Histogram2dcontourXcalendar = "taiwan"
	Histogram2dcontourXcalendarThai       Histogram2dcontourXcalendar = "thai"
	Histogram2dcontourXcalendarUmmalqura  Histogram2dcontourXcalendar = "ummalqura"
)

type Histogram2dcontourYbins

type Histogram2dcontourYbins struct {

	// End
	// arrayOK: false
	// type: any
	// Sets the end value for the y axis bins. The last bin may not end exactly at this value, we increment the bin edge by `size` from `start` until we reach or exceed `end`. Defaults to the maximum data value. Like `start`, for dates use a date string, and for category data `end` is based on the category serial numbers.
	End interface{} `json:"end,omitempty"`

	// Size
	// arrayOK: false
	// type: any
	// Sets the size of each y axis bin. Default behavior: If `nbinsy` is 0 or omitted, we choose a nice round bin size such that the number of bins is about the same as the typical number of samples in each bin. If `nbinsy` is provided, we choose a nice round bin size giving no more than that many bins. For date data, use milliseconds or *M<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
	// arrayOK: false
	// type: any
	// Sets the starting value for the y axis bins. Defaults to the minimum data value, shifted down if necessary to make nice round values and to remove ambiguous bin edges. For example, if most of the data is integers we shift the bin edges 0.5 down, so a `size` of 5 would have a default `start` of -0.5, so it is clear that 0-4 are in the first bin, 5-9 in the second, but continuous data gets a start of 0 and bins [0,5), [5,10) etc. Dates behave similarly, and `start` should be a date string. For category data, `start` is based on the category serial numbers, and defaults to -0.5.
	Start interface{} `json:"start,omitempty"`
}

Histogram2dcontourYbins

type Histogram2dcontourYcalendar

type Histogram2dcontourYcalendar string

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

const (
	Histogram2dcontourYcalendarGregorian  Histogram2dcontourYcalendar = "gregorian"
	Histogram2dcontourYcalendarChinese    Histogram2dcontourYcalendar = "chinese"
	Histogram2dcontourYcalendarCoptic     Histogram2dcontourYcalendar = "coptic"
	Histogram2dcontourYcalendarDiscworld  Histogram2dcontourYcalendar = "discworld"
	Histogram2dcontourYcalendarEthiopian  Histogram2dcontourYcalendar = "ethiopian"
	Histogram2dcontourYcalendarHebrew     Histogram2dcontourYcalendar = "hebrew"
	Histogram2dcontourYcalendarIslamic    Histogram2dcontourYcalendar = "islamic"
	Histogram2dcontourYcalendarJulian     Histogram2dcontourYcalendar = "julian"
	Histogram2dcontourYcalendarMayan      Histogram2dcontourYcalendar = "mayan"
	Histogram2dcontourYcalendarNanakshahi Histogram2dcontourYcalendar = "nanakshahi"
	Histogram2dcontourYcalendarNepali     Histogram2dcontourYcalendar = "nepali"
	Histogram2dcontourYcalendarPersian    Histogram2dcontourYcalendar = "persian"
	Histogram2dcontourYcalendarJalali     Histogram2dcontourYcalendar = "jalali"
	Histogram2dcontourYcalendarTaiwan     Histogram2dcontourYcalendar = "taiwan"
	Histogram2dcontourYcalendarThai       Histogram2dcontourYcalendar = "thai"
	Histogram2dcontourYcalendarUmmalqura  Histogram2dcontourYcalendar = "ummalqura"
)

type HistogramCumulative

type HistogramCumulative struct {

	// Currentbin
	// default: include
	// type: enumerated
	// Only applies if cumulative is enabled. Sets whether the current bin is included, excluded, or has half of its value included in the current cumulative value. *include* is the default for compatibility with various other tools, however it introduces a half-bin bias to the results. *exclude* makes the opposite half-bin bias, and *half* removes it.
	Currentbin HistogramCumulativeCurrentbin `json:"currentbin,omitempty"`

	// Direction
	// default: increasing
	// type: enumerated
	// Only applies if cumulative is enabled. If *increasing* (default) we sum all prior bins, so the result increases from left to right. If *decreasing* we sum later bins so the result decreases from left to right.
	Direction HistogramCumulativeDirection `json:"direction,omitempty"`

	// Enabled
	// arrayOK: false
	// type: boolean
	// If true, display the cumulative distribution by summing the binned values. Use the `direction` and `centralbin` attributes to tune the accumulation method. Note: in this mode, the *density* `histnorm` settings behave the same as their equivalents without *density*: ** and *density* both rise to the number of data points, and *probability* and *probability density* both rise to the number of sample points.
	Enabled Bool `json:"enabled,omitempty"`
}

HistogramCumulative

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 (
	HistogramCumulativeCurrentbinInclude HistogramCumulativeCurrentbin = "include"
	HistogramCumulativeCurrentbinExclude HistogramCumulativeCurrentbin = "exclude"
	HistogramCumulativeCurrentbinHalf    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 (
	HistogramCumulativeDirectionIncreasing HistogramCumulativeDirection = "increasing"
	HistogramCumulativeDirectionDecreasing HistogramCumulativeDirection = "decreasing"
)

type HistogramErrorX

type HistogramErrorX struct {

	// Array
	// arrayOK: false
	// type: data_array
	// Sets the data corresponding the length of each error bar. Values are plotted relative to the underlying data.
	Array interface{} `json:"array,omitempty"`

	// Arrayminus
	// arrayOK: false
	// type: data_array
	// Sets the data corresponding the length of each error bar in the bottom (left) direction for vertical (horizontal) bars Values are plotted relative to the underlying data.
	Arrayminus interface{} `json:"arrayminus,omitempty"`

	// Arrayminussrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  arrayminus .
	Arrayminussrc String `json:"arrayminussrc,omitempty"`

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

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

	// CopyYstyle
	// arrayOK: false
	// type: boolean
	//
	CopyYstyle Bool `json:"copy_ystyle,omitempty"`

	// Symmetric
	// arrayOK: false
	// type: boolean
	// Determines whether or not the error bars have the same length in both direction (top/bottom for vertical bars, left/right for horizontal bars.
	Symmetric Bool `json:"symmetric,omitempty"`

	// Thickness
	// arrayOK: false
	// type: number
	// Sets the thickness (in px) of the error bars.
	Thickness float64 `json:"thickness,omitempty"`

	// Traceref
	// arrayOK: false
	// type: integer
	//
	Traceref int64 `json:"traceref,omitempty"`

	// Tracerefminus
	// arrayOK: false
	// type: integer
	//
	Tracerefminus int64 `json:"tracerefminus,omitempty"`

	// Type
	// default: %!s(<nil>)
	// type: enumerated
	// Determines the rule used to generate the error bars. If *constant`, the bar lengths are of a constant value. Set this constant in `value`. If *percent*, the bar lengths correspond to a percentage of underlying data. Set this percentage in `value`. If *sqrt*, the bar lengths correspond to the square of the underlying data. If *data*, the bar lengths are set with data set `array`.
	Type HistogramErrorXType `json:"type,omitempty"`

	// Value
	// arrayOK: false
	// type: number
	// Sets the value of either the percentage (if `type` is set to *percent*) or the constant (if `type` is set to *constant*) corresponding to the lengths of the error bars.
	Value float64 `json:"value,omitempty"`

	// Valueminus
	// arrayOK: false
	// type: number
	// Sets the value of either the percentage (if `type` is set to *percent*) or the constant (if `type` is set to *constant*) corresponding to the lengths of the error bars in the bottom (left) direction for vertical (horizontal) bars
	Valueminus float64 `json:"valueminus,omitempty"`

	// Visible
	// arrayOK: false
	// type: boolean
	// Determines whether or not this set of error bars is visible.
	Visible Bool `json:"visible,omitempty"`

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

HistogramErrorX

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 (
	HistogramErrorXTypePercent  HistogramErrorXType = "percent"
	HistogramErrorXTypeConstant HistogramErrorXType = "constant"
	HistogramErrorXTypeSqrt     HistogramErrorXType = "sqrt"
	HistogramErrorXTypeData     HistogramErrorXType = "data"
)

type HistogramErrorY

type HistogramErrorY struct {

	// Array
	// arrayOK: false
	// type: data_array
	// Sets the data corresponding the length of each error bar. Values are plotted relative to the underlying data.
	Array interface{} `json:"array,omitempty"`

	// Arrayminus
	// arrayOK: false
	// type: data_array
	// Sets the data corresponding the length of each error bar in the bottom (left) direction for vertical (horizontal) bars Values are plotted relative to the underlying data.
	Arrayminus interface{} `json:"arrayminus,omitempty"`

	// Arrayminussrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  arrayminus .
	Arrayminussrc String `json:"arrayminussrc,omitempty"`

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

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

	// Symmetric
	// arrayOK: false
	// type: boolean
	// Determines whether or not the error bars have the same length in both direction (top/bottom for vertical bars, left/right for horizontal bars.
	Symmetric Bool `json:"symmetric,omitempty"`

	// Thickness
	// arrayOK: false
	// type: number
	// Sets the thickness (in px) of the error bars.
	Thickness float64 `json:"thickness,omitempty"`

	// Traceref
	// arrayOK: false
	// type: integer
	//
	Traceref int64 `json:"traceref,omitempty"`

	// Tracerefminus
	// arrayOK: false
	// type: integer
	//
	Tracerefminus int64 `json:"tracerefminus,omitempty"`

	// Type
	// default: %!s(<nil>)
	// type: enumerated
	// Determines the rule used to generate the error bars. If *constant`, the bar lengths are of a constant value. Set this constant in `value`. If *percent*, the bar lengths correspond to a percentage of underlying data. Set this percentage in `value`. If *sqrt*, the bar lengths correspond to the square of the underlying data. If *data*, the bar lengths are set with data set `array`.
	Type HistogramErrorYType `json:"type,omitempty"`

	// Value
	// arrayOK: false
	// type: number
	// Sets the value of either the percentage (if `type` is set to *percent*) or the constant (if `type` is set to *constant*) corresponding to the lengths of the error bars.
	Value float64 `json:"value,omitempty"`

	// Valueminus
	// arrayOK: false
	// type: number
	// Sets the value of either the percentage (if `type` is set to *percent*) or the constant (if `type` is set to *constant*) corresponding to the lengths of the error bars in the bottom (left) direction for vertical (horizontal) bars
	Valueminus float64 `json:"valueminus,omitempty"`

	// Visible
	// arrayOK: false
	// type: boolean
	// Determines whether or not this set of error bars is visible.
	Visible Bool `json:"visible,omitempty"`

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

HistogramErrorY

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 (
	HistogramErrorYTypePercent  HistogramErrorYType = "percent"
	HistogramErrorYTypeConstant HistogramErrorYType = "constant"
	HistogramErrorYTypeSqrt     HistogramErrorYType = "sqrt"
	HistogramErrorYTypeData     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 (
	HistogramHistfuncCount HistogramHistfunc = "count"
	HistogramHistfuncSum   HistogramHistfunc = "sum"
	HistogramHistfuncAvg   HistogramHistfunc = "avg"
	HistogramHistfuncMin   HistogramHistfunc = "min"
	HistogramHistfuncMax   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 (
	HistogramHistnormEmpty              HistogramHistnorm = ""
	HistogramHistnormPercent            HistogramHistnorm = "percent"
	HistogramHistnormProbability        HistogramHistnorm = "probability"
	HistogramHistnormDensity            HistogramHistnorm = "density"
	HistogramHistnormProbabilityDensity HistogramHistnorm = "probability density"
)

type HistogramHoverinfo

type HistogramHoverinfo string

HistogramHoverinfo Determines which trace information appear on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired.

const (
	// Flags
	HistogramHoverinfoX    HistogramHoverinfo = "x"
	HistogramHoverinfoY    HistogramHoverinfo = "y"
	HistogramHoverinfoZ    HistogramHoverinfo = "z"
	HistogramHoverinfoText HistogramHoverinfo = "text"
	HistogramHoverinfoName HistogramHoverinfo = "name"

	// Extra
	HistogramHoverinfoAll  HistogramHoverinfo = "all"
	HistogramHoverinfoNone HistogramHoverinfo = "none"
	HistogramHoverinfoSkip HistogramHoverinfo = "skip"
)

type HistogramHoverlabel

type HistogramHoverlabel struct {

	// Align
	// default: auto
	// type: enumerated
	// Sets the horizontal alignment of the text content within hover label box. Has an effect only if the hover label text spans more two or more lines
	Align HistogramHoverlabelAlign `json:"align,omitempty"`

	// Alignsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  align .
	Alignsrc String `json:"alignsrc,omitempty"`

	// Bgcolor
	// arrayOK: true
	// type: color
	// Sets the background color of the hover labels for this trace
	Bgcolor Color `json:"bgcolor,omitempty"`

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

	// Bordercolor
	// arrayOK: true
	// type: color
	// Sets the border color of the hover labels for this trace.
	Bordercolor Color `json:"bordercolor,omitempty"`

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

	// Font
	// role: Object
	Font *HistogramHoverlabelFont `json:"font,omitempty"`

	// Namelength
	// arrayOK: true
	// type: integer
	// Sets the default length (in number of characters) of the trace name in the hover labels for all traces. -1 shows the whole name regardless of length. 0-3 shows the first 0-3 characters, and an integer >3 will show the whole name if it is less than that many characters, but if it is longer, will truncate to `namelength - 3` characters and add an ellipsis.
	Namelength int64 `json:"namelength,omitempty"`

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

HistogramHoverlabel

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 (
	HistogramHoverlabelAlignLeft  HistogramHoverlabelAlign = "left"
	HistogramHoverlabelAlignRight HistogramHoverlabelAlign = "right"
	HistogramHoverlabelAlignAuto  HistogramHoverlabelAlign = "auto"
)

type HistogramHoverlabelFont

type HistogramHoverlabelFont struct {

	// Color
	// arrayOK: true
	// type: color
	//
	Color Color `json:"color,omitempty"`

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

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

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

	// Size
	// arrayOK: true
	// type: number
	//
	Size float64 `json:"size,omitempty"`

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

HistogramHoverlabelFont Sets the font used in hover labels.

type HistogramMarker

type HistogramMarker struct {

	// Autocolorscale
	// arrayOK: false
	// type: boolean
	// Determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by `marker.colorscale`. Has an effect only if in `marker.color`is set to a numerical array. In case `colorscale` is unspecified or `autocolorscale` is true, the default  palette will be chosen according to whether numbers in the `color` array are all positive, all negative or mixed.
	Autocolorscale Bool `json:"autocolorscale,omitempty"`

	// Cauto
	// arrayOK: false
	// type: boolean
	// Determines whether or not the color domain is computed with respect to the input data (here in `marker.color`) or the bounds set in `marker.cmin` and `marker.cmax`  Has an effect only if in `marker.color`is set to a numerical array. Defaults to `false` when `marker.cmin` and `marker.cmax` are set by the user.
	Cauto Bool `json:"cauto,omitempty"`

	// Cmax
	// arrayOK: false
	// type: number
	// Sets the upper bound of the color domain. Has an effect only if in `marker.color`is set to a numerical array. Value should have the same units as in `marker.color` and if set, `marker.cmin` must be set as well.
	Cmax float64 `json:"cmax,omitempty"`

	// Cmid
	// arrayOK: false
	// type: number
	// Sets the mid-point of the color domain by scaling `marker.cmin` and/or `marker.cmax` to be equidistant to this point. Has an effect only if in `marker.color`is set to a numerical array. Value should have the same units as in `marker.color`. Has no effect when `marker.cauto` is `false`.
	Cmid float64 `json:"cmid,omitempty"`

	// Cmin
	// arrayOK: false
	// type: number
	// Sets the lower bound of the color domain. Has an effect only if in `marker.color`is set to a numerical array. Value should have the same units as in `marker.color` and if set, `marker.cmax` must be set as well.
	Cmin float64 `json:"cmin,omitempty"`

	// Color
	// arrayOK: true
	// type: color
	// Sets themarkercolor. It accepts either a specific color or an array of numbers that are mapped to the colorscale relative to the max and min values of the array or relative to `marker.cmin` and `marker.cmax` if set.
	Color Color `json:"color,omitempty"`

	// Coloraxis
	// arrayOK: false
	// type: subplotid
	// Sets a reference to a shared color axis. References to these shared color axes are *coloraxis*, *coloraxis2*, *coloraxis3*, etc. Settings for these shared color axes are set in the layout, under `layout.coloraxis`, `layout.coloraxis2`, etc. Note that multiple color scales can be linked to the same color axis.
	Coloraxis String `json:"coloraxis,omitempty"`

	// Colorbar
	// role: Object
	Colorbar *HistogramMarkerColorbar `json:"colorbar,omitempty"`

	// Colorscale
	// default: %!s(<nil>)
	// type: colorscale
	// Sets the colorscale. Has an effect only if in `marker.color`is set to a numerical array. The colorscale must be an array containing arrays mapping a normalized value to an rgb, rgba, hex, hsl, hsv, or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, use`marker.cmin` and `marker.cmax`. Alternatively, `colorscale` may be a palette name string of the following list: Greys,YlGnBu,Greens,YlOrRd,Bluered,RdBu,Reds,Blues,Picnic,Rainbow,Portland,Jet,Hot,Blackbody,Earth,Electric,Viridis,Cividis.
	Colorscale ColorScale `json:"colorscale,omitempty"`

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

	// Line
	// role: Object
	Line *HistogramMarkerLine `json:"line,omitempty"`

	// Opacity
	// arrayOK: true
	// type: number
	// Sets the opacity of the bars.
	Opacity float64 `json:"opacity,omitempty"`

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

	// Reversescale
	// arrayOK: false
	// type: boolean
	// Reverses the color mapping if true. Has an effect only if in `marker.color`is set to a numerical array. If true, `marker.cmin` will correspond to the last color in the array and `marker.cmax` will correspond to the first color.
	Reversescale Bool `json:"reversescale,omitempty"`

	// Showscale
	// arrayOK: false
	// type: boolean
	// Determines whether or not a colorbar is displayed for this trace. Has an effect only if in `marker.color`is set to a numerical array.
	Showscale Bool `json:"showscale,omitempty"`
}

HistogramMarker

type HistogramMarkerColorbar

type HistogramMarkerColorbar struct {

	// Bgcolor
	// arrayOK: false
	// type: color
	// Sets the color of padded area.
	Bgcolor Color `json:"bgcolor,omitempty"`

	// Bordercolor
	// arrayOK: false
	// type: color
	// Sets the axis line color.
	Bordercolor Color `json:"bordercolor,omitempty"`

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

	// Dtick
	// arrayOK: false
	// type: any
	// Sets the step in-between ticks on this axis. Use with `tick0`. Must be a positive number, or special strings available to *log* and *date* axes. If the axis `type` is *log*, then ticks are set every 10^(n*dtick) where n is the tick number. For example, to set a tick mark at 1, 10, 100, 1000, ... set dtick to 1. To set tick marks at 1, 100, 10000, ... set dtick to 2. To set tick marks at 1, 5, 25, 125, 625, 3125, ... set dtick to log_10(5), or 0.69897000433. *log* has several special values; *L<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
	// default: B
	// type: enumerated
	// Determines a formatting rule for the tick exponents. For example, consider the number 1,000,000,000. If *none*, it appears as 1,000,000,000. If *e*, 1e+9. If *E*, 1E+9. If *power*, 1x10^9 (with 9 in a super script). If *SI*, 1G. If *B*, 1B.
	Exponentformat HistogramMarkerColorbarExponentformat `json:"exponentformat,omitempty"`

	// Len
	// arrayOK: false
	// type: number
	// Sets the length of the color bar This measure excludes the padding of both ends. That is, the color bar length is this length minus the padding on both ends.
	Len float64 `json:"len,omitempty"`

	// Lenmode
	// default: fraction
	// type: enumerated
	// Determines whether this color bar's length (i.e. the measure in the color variation direction) is set in units of plot *fraction* or in *pixels. Use `len` to set the value.
	Lenmode HistogramMarkerColorbarLenmode `json:"lenmode,omitempty"`

	// Minexponent
	// arrayOK: false
	// type: number
	// Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*.
	Minexponent float64 `json:"minexponent,omitempty"`

	// Nticks
	// arrayOK: false
	// type: integer
	// Specifies the maximum number of ticks for the particular axis. The actual number of ticks will be chosen automatically to be less than or equal to `nticks`. Has an effect only if `tickmode` is set to *auto*.
	Nticks int64 `json:"nticks,omitempty"`

	// Outlinecolor
	// arrayOK: false
	// type: color
	// Sets the axis line color.
	Outlinecolor Color `json:"outlinecolor,omitempty"`

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

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

	// Showexponent
	// default: all
	// type: enumerated
	// If *all*, all exponents are shown besides their significands. If *first*, only the exponent of the first tick is shown. If *last*, only the exponent of the last tick is shown. If *none*, no exponents appear.
	Showexponent HistogramMarkerColorbarShowexponent `json:"showexponent,omitempty"`

	// Showticklabels
	// arrayOK: false
	// type: boolean
	// Determines whether or not the tick labels are drawn.
	Showticklabels Bool `json:"showticklabels,omitempty"`

	// Showtickprefix
	// default: all
	// type: enumerated
	// If *all*, all tick labels are displayed with a prefix. If *first*, only the first tick is displayed with a prefix. If *last*, only the last tick is displayed with a suffix. If *none*, tick prefixes are hidden.
	Showtickprefix HistogramMarkerColorbarShowtickprefix `json:"showtickprefix,omitempty"`

	// Showticksuffix
	// default: all
	// type: enumerated
	// Same as `showtickprefix` but for tick suffixes.
	Showticksuffix HistogramMarkerColorbarShowticksuffix `json:"showticksuffix,omitempty"`

	// Thickness
	// arrayOK: false
	// type: number
	// Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.
	Thickness float64 `json:"thickness,omitempty"`

	// Thicknessmode
	// default: pixels
	// type: enumerated
	// Determines whether this color bar's thickness (i.e. the measure in the constant color direction) is set in units of plot *fraction* or in *pixels*. Use `thickness` to set the value.
	Thicknessmode HistogramMarkerColorbarThicknessmode `json:"thicknessmode,omitempty"`

	// Tick0
	// arrayOK: false
	// type: any
	// Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2) except when `dtick`=*L<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
	// arrayOK: false
	// type: angle
	// Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.
	Tickangle float64 `json:"tickangle,omitempty"`

	// Tickcolor
	// arrayOK: false
	// type: color
	// Sets the tick color.
	Tickcolor Color `json:"tickcolor,omitempty"`

	// Tickfont
	// role: Object
	Tickfont *HistogramMarkerColorbarTickfont `json:"tickfont,omitempty"`

	// Tickformat
	// arrayOK: false
	// type: string
	// Sets the tick label formatting rule using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-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
	// It's an items array and what goes inside it's... messy... check the docs
	// I will be happy if you want to contribute by implementing this
	// just raise an issue before you start so we do not overlap
	Tickformatstops interface{} `json:"tickformatstops,omitempty"`

	// Ticklabelposition
	// default: outside
	// type: enumerated
	// Determines where tick labels are drawn.
	Ticklabelposition HistogramMarkerColorbarTicklabelposition `json:"ticklabelposition,omitempty"`

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

	// Tickmode
	// default: %!s(<nil>)
	// type: enumerated
	// Sets the tick mode for this axis. If *auto*, the number of ticks is set via `nticks`. If *linear*, the placement of the ticks is determined by a starting position `tick0` and a tick step `dtick` (*linear* is the default value if `tick0` and `dtick` are provided). If *array*, the placement of the ticks is set via `tickvals` and the tick text is `ticktext`. (*array* is the default value if `tickvals` is provided).
	Tickmode HistogramMarkerColorbarTickmode `json:"tickmode,omitempty"`

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

	// Ticks
	// default:
	// type: enumerated
	// Determines whether ticks are drawn or not. If **, this axis' ticks are not drawn. If *outside* (*inside*), this axis' are drawn outside (inside) the axis lines.
	Ticks HistogramMarkerColorbarTicks `json:"ticks,omitempty"`

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

	// Ticktext
	// arrayOK: false
	// type: data_array
	// Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `tickvals`.
	Ticktext interface{} `json:"ticktext,omitempty"`

	// Ticktextsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  ticktext .
	Ticktextsrc String `json:"ticktextsrc,omitempty"`

	// Tickvals
	// arrayOK: false
	// type: data_array
	// Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.
	Tickvals interface{} `json:"tickvals,omitempty"`

	// Tickvalssrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  tickvals .
	Tickvalssrc String `json:"tickvalssrc,omitempty"`

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

	// Title
	// role: Object
	Title *HistogramMarkerColorbarTitle `json:"title,omitempty"`

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

	// Xanchor
	// default: left
	// type: enumerated
	// Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the color bar.
	Xanchor HistogramMarkerColorbarXanchor `json:"xanchor,omitempty"`

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

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

	// Yanchor
	// default: middle
	// type: enumerated
	// Sets this color bar's vertical position anchor This anchor binds the `y` position to the *top*, *middle* or *bottom* of the color bar.
	Yanchor HistogramMarkerColorbarYanchor `json:"yanchor,omitempty"`

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

HistogramMarkerColorbar

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 (
	HistogramMarkerColorbarExponentformatNone  HistogramMarkerColorbarExponentformat = "none"
	HistogramMarkerColorbarExponentformatE1    HistogramMarkerColorbarExponentformat = "e"
	HistogramMarkerColorbarExponentformatE2    HistogramMarkerColorbarExponentformat = "E"
	HistogramMarkerColorbarExponentformatPower HistogramMarkerColorbarExponentformat = "power"
	HistogramMarkerColorbarExponentformatSi    HistogramMarkerColorbarExponentformat = "SI"
	HistogramMarkerColorbarExponentformatB     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 (
	HistogramMarkerColorbarLenmodeFraction HistogramMarkerColorbarLenmode = "fraction"
	HistogramMarkerColorbarLenmodePixels   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 (
	HistogramMarkerColorbarShowexponentAll   HistogramMarkerColorbarShowexponent = "all"
	HistogramMarkerColorbarShowexponentFirst HistogramMarkerColorbarShowexponent = "first"
	HistogramMarkerColorbarShowexponentLast  HistogramMarkerColorbarShowexponent = "last"
	HistogramMarkerColorbarShowexponentNone  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 (
	HistogramMarkerColorbarShowtickprefixAll   HistogramMarkerColorbarShowtickprefix = "all"
	HistogramMarkerColorbarShowtickprefixFirst HistogramMarkerColorbarShowtickprefix = "first"
	HistogramMarkerColorbarShowtickprefixLast  HistogramMarkerColorbarShowtickprefix = "last"
	HistogramMarkerColorbarShowtickprefixNone  HistogramMarkerColorbarShowtickprefix = "none"
)

type HistogramMarkerColorbarShowticksuffix

type HistogramMarkerColorbarShowticksuffix string

HistogramMarkerColorbarShowticksuffix Same as `showtickprefix` but for tick suffixes.

const (
	HistogramMarkerColorbarShowticksuffixAll   HistogramMarkerColorbarShowticksuffix = "all"
	HistogramMarkerColorbarShowticksuffixFirst HistogramMarkerColorbarShowticksuffix = "first"
	HistogramMarkerColorbarShowticksuffixLast  HistogramMarkerColorbarShowticksuffix = "last"
	HistogramMarkerColorbarShowticksuffixNone  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 (
	HistogramMarkerColorbarThicknessmodeFraction HistogramMarkerColorbarThicknessmode = "fraction"
	HistogramMarkerColorbarThicknessmodePixels   HistogramMarkerColorbarThicknessmode = "pixels"
)

type HistogramMarkerColorbarTickfont

type HistogramMarkerColorbarTickfont struct {

	// Color
	// arrayOK: false
	// type: color
	//
	Color Color `json:"color,omitempty"`

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

	// Size
	// arrayOK: false
	// type: number
	//
	Size float64 `json:"size,omitempty"`
}

HistogramMarkerColorbarTickfont Sets the color bar's tick label font

type HistogramMarkerColorbarTicklabelposition added in v0.3.1

type HistogramMarkerColorbarTicklabelposition string

HistogramMarkerColorbarTicklabelposition Determines where tick labels are drawn.

const (
	HistogramMarkerColorbarTicklabelpositionOutside       HistogramMarkerColorbarTicklabelposition = "outside"
	HistogramMarkerColorbarTicklabelpositionInside        HistogramMarkerColorbarTicklabelposition = "inside"
	HistogramMarkerColorbarTicklabelpositionOutsideTop    HistogramMarkerColorbarTicklabelposition = "outside top"
	HistogramMarkerColorbarTicklabelpositionInsideTop     HistogramMarkerColorbarTicklabelposition = "inside top"
	HistogramMarkerColorbarTicklabelpositionOutsideBottom HistogramMarkerColorbarTicklabelposition = "outside bottom"
	HistogramMarkerColorbarTicklabelpositionInsideBottom  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 (
	HistogramMarkerColorbarTickmodeAuto   HistogramMarkerColorbarTickmode = "auto"
	HistogramMarkerColorbarTickmodeLinear HistogramMarkerColorbarTickmode = "linear"
	HistogramMarkerColorbarTickmodeArray  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 (
	HistogramMarkerColorbarTicksOutside HistogramMarkerColorbarTicks = "outside"
	HistogramMarkerColorbarTicksInside  HistogramMarkerColorbarTicks = "inside"
	HistogramMarkerColorbarTicksEmpty   HistogramMarkerColorbarTicks = ""
)

type HistogramMarkerColorbarTitle

type HistogramMarkerColorbarTitle struct {

	// Font
	// role: Object
	Font *HistogramMarkerColorbarTitleFont `json:"font,omitempty"`

	// Side
	// default: top
	// type: enumerated
	// Determines the location of color bar's title with respect to the color bar. Note that the title's location used to be set by the now deprecated `titleside` attribute.
	Side HistogramMarkerColorbarTitleSide `json:"side,omitempty"`

	// Text
	// arrayOK: false
	// type: string
	// Sets the title of the color bar. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.
	Text String `json:"text,omitempty"`
}

HistogramMarkerColorbarTitle

type HistogramMarkerColorbarTitleFont

type HistogramMarkerColorbarTitleFont struct {

	// Color
	// arrayOK: false
	// type: color
	//
	Color Color `json:"color,omitempty"`

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

	// Size
	// arrayOK: false
	// type: number
	//
	Size float64 `json:"size,omitempty"`
}

HistogramMarkerColorbarTitleFont Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.

type 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 (
	HistogramMarkerColorbarTitleSideRight  HistogramMarkerColorbarTitleSide = "right"
	HistogramMarkerColorbarTitleSideTop    HistogramMarkerColorbarTitleSide = "top"
	HistogramMarkerColorbarTitleSideBottom 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 (
	HistogramMarkerColorbarXanchorLeft   HistogramMarkerColorbarXanchor = "left"
	HistogramMarkerColorbarXanchorCenter HistogramMarkerColorbarXanchor = "center"
	HistogramMarkerColorbarXanchorRight  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 (
	HistogramMarkerColorbarYanchorTop    HistogramMarkerColorbarYanchor = "top"
	HistogramMarkerColorbarYanchorMiddle HistogramMarkerColorbarYanchor = "middle"
	HistogramMarkerColorbarYanchorBottom HistogramMarkerColorbarYanchor = "bottom"
)

type HistogramMarkerLine

type HistogramMarkerLine struct {

	// Autocolorscale
	// arrayOK: false
	// type: boolean
	// Determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by `marker.line.colorscale`. Has an effect only if in `marker.line.color`is set to a numerical array. In case `colorscale` is unspecified or `autocolorscale` is true, the default  palette will be chosen according to whether numbers in the `color` array are all positive, all negative or mixed.
	Autocolorscale Bool `json:"autocolorscale,omitempty"`

	// Cauto
	// arrayOK: false
	// type: boolean
	// Determines whether or not the color domain is computed with respect to the input data (here in `marker.line.color`) or the bounds set in `marker.line.cmin` and `marker.line.cmax`  Has an effect only if in `marker.line.color`is set to a numerical array. Defaults to `false` when `marker.line.cmin` and `marker.line.cmax` are set by the user.
	Cauto Bool `json:"cauto,omitempty"`

	// Cmax
	// arrayOK: false
	// type: number
	// Sets the upper bound of the color domain. Has an effect only if in `marker.line.color`is set to a numerical array. Value should have the same units as in `marker.line.color` and if set, `marker.line.cmin` must be set as well.
	Cmax float64 `json:"cmax,omitempty"`

	// Cmid
	// arrayOK: false
	// type: number
	// Sets the mid-point of the color domain by scaling `marker.line.cmin` and/or `marker.line.cmax` to be equidistant to this point. Has an effect only if in `marker.line.color`is set to a numerical array. Value should have the same units as in `marker.line.color`. Has no effect when `marker.line.cauto` is `false`.
	Cmid float64 `json:"cmid,omitempty"`

	// Cmin
	// arrayOK: false
	// type: number
	// Sets the lower bound of the color domain. Has an effect only if in `marker.line.color`is set to a numerical array. Value should have the same units as in `marker.line.color` and if set, `marker.line.cmax` must be set as well.
	Cmin float64 `json:"cmin,omitempty"`

	// Color
	// arrayOK: true
	// type: color
	// Sets 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 Color `json:"color,omitempty"`

	// Coloraxis
	// arrayOK: false
	// type: subplotid
	// Sets a reference to a shared color axis. References to these shared color axes are *coloraxis*, *coloraxis2*, *coloraxis3*, etc. Settings for these shared color axes are set in the layout, under `layout.coloraxis`, `layout.coloraxis2`, etc. Note that multiple color scales can be linked to the same color axis.
	Coloraxis String `json:"coloraxis,omitempty"`

	// Colorscale
	// default: %!s(<nil>)
	// type: colorscale
	// Sets the colorscale. Has an effect only if in `marker.line.color`is set to a numerical array. The colorscale must be an array containing arrays mapping a normalized value to an rgb, rgba, hex, hsl, hsv, or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, use`marker.line.cmin` and `marker.line.cmax`. Alternatively, `colorscale` may be a palette name string of the following list: Greys,YlGnBu,Greens,YlOrRd,Bluered,RdBu,Reds,Blues,Picnic,Rainbow,Portland,Jet,Hot,Blackbody,Earth,Electric,Viridis,Cividis.
	Colorscale ColorScale `json:"colorscale,omitempty"`

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

	// Reversescale
	// arrayOK: false
	// type: boolean
	// Reverses the color mapping if true. Has an effect only if in `marker.line.color`is set to a numerical array. If true, `marker.line.cmin` will correspond to the last color in the array and `marker.line.cmax` will correspond to the first color.
	Reversescale Bool `json:"reversescale,omitempty"`

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

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

HistogramMarkerLine

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 (
	HistogramOrientationV HistogramOrientation = "v"
	HistogramOrientationH HistogramOrientation = "h"
)

type HistogramSelected

type HistogramSelected struct {

	// Marker
	// role: Object
	Marker *HistogramSelectedMarker `json:"marker,omitempty"`

	// Textfont
	// role: Object
	Textfont *HistogramSelectedTextfont `json:"textfont,omitempty"`
}

HistogramSelected

type HistogramSelectedMarker

type HistogramSelectedMarker struct {

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

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

HistogramSelectedMarker

type HistogramSelectedTextfont

type HistogramSelectedTextfont struct {

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

HistogramSelectedTextfont

type HistogramStream

type HistogramStream struct {

	// Maxpoints
	// arrayOK: false
	// type: number
	// Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot.
	Maxpoints float64 `json:"maxpoints,omitempty"`

	// Token
	// arrayOK: false
	// type: string
	// The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details.
	Token String `json:"token,omitempty"`
}

HistogramStream

type HistogramUnselected

type HistogramUnselected struct {

	// Marker
	// role: Object
	Marker *HistogramUnselectedMarker `json:"marker,omitempty"`

	// Textfont
	// role: Object
	Textfont *HistogramUnselectedTextfont `json:"textfont,omitempty"`
}

HistogramUnselected

type HistogramUnselectedMarker

type HistogramUnselectedMarker struct {

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

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

HistogramUnselectedMarker

type HistogramUnselectedTextfont

type HistogramUnselectedTextfont struct {

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

HistogramUnselectedTextfont

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 (
	HistogramVisibleTrue       HistogramVisible = true
	HistogramVisibleFalse      HistogramVisible = false
	HistogramVisibleLegendonly HistogramVisible = "legendonly"
)

type HistogramXbins

type HistogramXbins struct {

	// End
	// arrayOK: false
	// type: any
	// Sets the end value for the x axis bins. The last bin may not end exactly at this value, we increment the bin edge by `size` from `start` until we reach or exceed `end`. Defaults to the maximum data value. Like `start`, for dates use a date string, and for category data `end` is based on the category serial numbers.
	End interface{} `json:"end,omitempty"`

	// Size
	// arrayOK: false
	// type: any
	// Sets the size of each x axis bin. Default behavior: If `nbinsx` is 0 or omitted, we choose a nice round bin size such that the number of bins is about the same as the typical number of samples in each bin. If `nbinsx` is provided, we choose a nice round bin size giving no more than that many bins. For date data, use milliseconds or *M<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
	// arrayOK: false
	// type: any
	// Sets the starting value for the x axis bins. Defaults to the minimum data value, shifted down if necessary to make nice round values and to remove ambiguous bin edges. For example, if most of the data is integers we shift the bin edges 0.5 down, so a `size` of 5 would have a default `start` of -0.5, so it is clear that 0-4 are in the first bin, 5-9 in the second, but continuous data gets a start of 0 and bins [0,5), [5,10) etc. Dates behave similarly, and `start` should be a date string. For category data, `start` is based on the category serial numbers, and defaults to -0.5. If multiple non-overlaying histograms share a subplot, the first explicit `start` is used exactly and all others are shifted down (if necessary) to differ from that one by an integer number of bins.
	Start interface{} `json:"start,omitempty"`
}

HistogramXbins

type HistogramXcalendar

type HistogramXcalendar string

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

const (
	HistogramXcalendarGregorian  HistogramXcalendar = "gregorian"
	HistogramXcalendarChinese    HistogramXcalendar = "chinese"
	HistogramXcalendarCoptic     HistogramXcalendar = "coptic"
	HistogramXcalendarDiscworld  HistogramXcalendar = "discworld"
	HistogramXcalendarEthiopian  HistogramXcalendar = "ethiopian"
	HistogramXcalendarHebrew     HistogramXcalendar = "hebrew"
	HistogramXcalendarIslamic    HistogramXcalendar = "islamic"
	HistogramXcalendarJulian     HistogramXcalendar = "julian"
	HistogramXcalendarMayan      HistogramXcalendar = "mayan"
	HistogramXcalendarNanakshahi HistogramXcalendar = "nanakshahi"
	HistogramXcalendarNepali     HistogramXcalendar = "nepali"
	HistogramXcalendarPersian    HistogramXcalendar = "persian"
	HistogramXcalendarJalali     HistogramXcalendar = "jalali"
	HistogramXcalendarTaiwan     HistogramXcalendar = "taiwan"
	HistogramXcalendarThai       HistogramXcalendar = "thai"
	HistogramXcalendarUmmalqura  HistogramXcalendar = "ummalqura"
)

type HistogramYbins

type HistogramYbins struct {

	// End
	// arrayOK: false
	// type: any
	// Sets the end value for the y axis bins. The last bin may not end exactly at this value, we increment the bin edge by `size` from `start` until we reach or exceed `end`. Defaults to the maximum data value. Like `start`, for dates use a date string, and for category data `end` is based on the category serial numbers.
	End interface{} `json:"end,omitempty"`

	// Size
	// arrayOK: false
	// type: any
	// Sets the size of each y axis bin. Default behavior: If `nbinsy` is 0 or omitted, we choose a nice round bin size such that the number of bins is about the same as the typical number of samples in each bin. If `nbinsy` is provided, we choose a nice round bin size giving no more than that many bins. For date data, use milliseconds or *M<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
	// arrayOK: false
	// type: any
	// Sets the starting value for the y axis bins. Defaults to the minimum data value, shifted down if necessary to make nice round values and to remove ambiguous bin edges. For example, if most of the data is integers we shift the bin edges 0.5 down, so a `size` of 5 would have a default `start` of -0.5, so it is clear that 0-4 are in the first bin, 5-9 in the second, but continuous data gets a start of 0 and bins [0,5), [5,10) etc. Dates behave similarly, and `start` should be a date string. For category data, `start` is based on the category serial numbers, and defaults to -0.5. If multiple non-overlaying histograms share a subplot, the first explicit `start` is used exactly and all others are shifted down (if necessary) to differ from that one by an integer number of bins.
	Start interface{} `json:"start,omitempty"`
}

HistogramYbins

type HistogramYcalendar

type HistogramYcalendar string

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

const (
	HistogramYcalendarGregorian  HistogramYcalendar = "gregorian"
	HistogramYcalendarChinese    HistogramYcalendar = "chinese"
	HistogramYcalendarCoptic     HistogramYcalendar = "coptic"
	HistogramYcalendarDiscworld  HistogramYcalendar = "discworld"
	HistogramYcalendarEthiopian  HistogramYcalendar = "ethiopian"
	HistogramYcalendarHebrew     HistogramYcalendar = "hebrew"
	HistogramYcalendarIslamic    HistogramYcalendar = "islamic"
	HistogramYcalendarJulian     HistogramYcalendar = "julian"
	HistogramYcalendarMayan      HistogramYcalendar = "mayan"
	HistogramYcalendarNanakshahi HistogramYcalendar = "nanakshahi"
	HistogramYcalendarNepali     HistogramYcalendar = "nepali"
	HistogramYcalendarPersian    HistogramYcalendar = "persian"
	HistogramYcalendarJalali     HistogramYcalendar = "jalali"
	HistogramYcalendarTaiwan     HistogramYcalendar = "taiwan"
	HistogramYcalendarThai       HistogramYcalendar = "thai"
	HistogramYcalendarUmmalqura  HistogramYcalendar = "ummalqura"
)

type Image

type Image struct {

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

	// Colormodel
	// default: %!s(<nil>)
	// type: enumerated
	// Color model used to map the numerical color components described in `z` into colors. If `source` is specified, this attribute will be set to `rgba256` otherwise it defaults to `rgb`.
	Colormodel ImageColormodel `json:"colormodel,omitempty"`

	// Customdata
	// arrayOK: false
	// type: data_array
	// Assigns extra data each datum. This may be useful when listening to hover, click and selection events. Note that, *scatter* traces also appends customdata items in the markers DOM elements
	Customdata interface{} `json:"customdata,omitempty"`

	// Customdatasrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  customdata .
	Customdatasrc String `json:"customdatasrc,omitempty"`

	// Dx
	// arrayOK: false
	// type: number
	// Set the pixel's horizontal size.
	Dx float64 `json:"dx,omitempty"`

	// Dy
	// arrayOK: false
	// type: number
	// Set the pixel's vertical size
	Dy float64 `json:"dy,omitempty"`

	// Hoverinfo
	// default: x+y+z+text+name
	// type: flaglist
	// Determines which trace information appear on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired.
	Hoverinfo ImageHoverinfo `json:"hoverinfo,omitempty"`

	// Hoverinfosrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  hoverinfo .
	Hoverinfosrc String `json:"hoverinfosrc,omitempty"`

	// Hoverlabel
	// role: Object
	Hoverlabel *ImageHoverlabel `json:"hoverlabel,omitempty"`

	// Hovertemplate
	// arrayOK: true
	// type: string
	// Template string used for rendering the information that appear on hover box. Note that this will override `hoverinfo`. Variables are inserted using %{variable}, for example "y: %{y}". 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 String `json:"hovertemplate,omitempty"`

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

	// Hovertext
	// arrayOK: false
	// type: data_array
	// Same as `text`.
	Hovertext interface{} `json:"hovertext,omitempty"`

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

	// Ids
	// arrayOK: false
	// type: data_array
	// Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type.
	Ids interface{} `json:"ids,omitempty"`

	// Idssrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  ids .
	Idssrc String `json:"idssrc,omitempty"`

	// Meta
	// arrayOK: true
	// type: any
	// Assigns extra meta information associated with this trace that can be used in various text attributes. Attributes such as trace `name`, graph, axis and colorbar `title.text`, annotation `text` `rangeselector`, `updatemenues` and `sliders` `label` text all support `meta`. To access the trace `meta` values in an attribute in the same trace, simply use `%{meta[i]}` where `i` is the index or key of the `meta` item in question. To access trace `meta` in layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index.
	Meta interface{} `json:"meta,omitempty"`

	// Metasrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  meta .
	Metasrc String `json:"metasrc,omitempty"`

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

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

	// Source
	// arrayOK: false
	// type: 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
	// role: Object
	Stream *ImageStream `json:"stream,omitempty"`

	// Text
	// arrayOK: false
	// type: data_array
	// Sets the text elements associated with each z value.
	Text interface{} `json:"text,omitempty"`

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

	// Uid
	// arrayOK: false
	// type: string
	// Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.
	Uid String `json:"uid,omitempty"`

	// Uirevision
	// arrayOK: false
	// type: any
	// Controls persistence of some user-driven changes to the trace: `constraintrange` in `parcoords` traces, as well as some `editable: true` modifications such as `name` and `colorbar.title`. Defaults to `layout.uirevision`. Note that other user-driven trace attribute changes are controlled by `layout` attributes: `trace.visible` is controlled by `layout.legend.uirevision`, `selectedpoints` is controlled by `layout.selectionrevision`, and `colorbar.(x|y)` (accessible with `config: {editable: true}`) is controlled by `layout.editrevision`. Trace changes are tracked by `uid`, which only falls back on trace index if no `uid` is provided. So if your app can add/remove traces before the end of the `data` array, such that the same trace has a different index, you can still preserve user-driven changes if you give each trace a `uid` that stays with it as it moves.
	Uirevision interface{} `json:"uirevision,omitempty"`

	// Visible
	// default: %!s(bool=true)
	// type: enumerated
	// Determines whether or not this trace is visible. If *legendonly*, the trace is not drawn, but can appear as a legend item (provided that the legend itself is visible).
	Visible ImageVisible `json:"visible,omitempty"`

	// X0
	// arrayOK: false
	// type: any
	// Set the image's x position.
	X0 interface{} `json:"x0,omitempty"`

	// Xaxis
	// arrayOK: false
	// type: subplotid
	// Sets a reference between this trace's x coordinates and a 2D cartesian x axis. If *x* (the default value), the x coordinates refer to `layout.xaxis`. If *x2*, the x coordinates refer to `layout.xaxis2`, and so on.
	Xaxis String `json:"xaxis,omitempty"`

	// Y0
	// arrayOK: false
	// type: any
	// Set the image's y position.
	Y0 interface{} `json:"y0,omitempty"`

	// Yaxis
	// arrayOK: false
	// type: subplotid
	// Sets a reference between this trace's y coordinates and a 2D cartesian y axis. If *y* (the default value), the y coordinates refer to `layout.yaxis`. If *y2*, the y coordinates refer to `layout.yaxis2`, and so on.
	Yaxis String `json:"yaxis,omitempty"`

	// Z
	// arrayOK: false
	// type: data_array
	// A 2-dimensional array in which each element is an array of 3 or 4 numbers representing a color.
	Z interface{} `json:"z,omitempty"`

	// Zmax
	// arrayOK: false
	// type: info_array
	// Array defining the higher bound for each color component. Note that the default value will depend on the colormodel. For the `rgb` colormodel, it is [255, 255, 255]. For the `rgba` colormodel, it is [255, 255, 255, 1]. For the `rgba256` colormodel, it is [255, 255, 255, 255]. For the `hsl` colormodel, it is [360, 100, 100]. For the `hsla` colormodel, it is [360, 100, 100, 1].
	Zmax interface{} `json:"zmax,omitempty"`

	// Zmin
	// arrayOK: false
	// type: info_array
	// Array defining the lower bound for each color component. Note that the default value will depend on the colormodel. For the `rgb` colormodel, it is [0, 0, 0]. For the `rgba` colormodel, it is [0, 0, 0, 0]. For the `rgba256` colormodel, it is [0, 0, 0, 0]. For the `hsl` colormodel, it is [0, 0, 0]. For the `hsla` colormodel, it is [0, 0, 0, 0].
	Zmin interface{} `json:"zmin,omitempty"`

	// Zsrc
	// arrayOK: false
	// type: 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 (*Image) GetType

func (trace *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 (
	ImageColormodelRgb     ImageColormodel = "rgb"
	ImageColormodelRgba    ImageColormodel = "rgba"
	ImageColormodelRgba256 ImageColormodel = "rgba256"
	ImageColormodelHsl     ImageColormodel = "hsl"
	ImageColormodelHsla    ImageColormodel = "hsla"
)

type ImageHoverinfo

type ImageHoverinfo string

ImageHoverinfo Determines which trace information appear on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired.

const (
	// Flags
	ImageHoverinfoX     ImageHoverinfo = "x"
	ImageHoverinfoY     ImageHoverinfo = "y"
	ImageHoverinfoZ     ImageHoverinfo = "z"
	ImageHoverinfoColor ImageHoverinfo = "color"
	ImageHoverinfoName  ImageHoverinfo = "name"
	ImageHoverinfoText  ImageHoverinfo = "text"

	// Extra
	ImageHoverinfoAll  ImageHoverinfo = "all"
	ImageHoverinfoNone ImageHoverinfo = "none"
	ImageHoverinfoSkip ImageHoverinfo = "skip"
)

type ImageHoverlabel

type ImageHoverlabel struct {

	// Align
	// default: auto
	// type: enumerated
	// Sets the horizontal alignment of the text content within hover label box. Has an effect only if the hover label text spans more two or more lines
	Align ImageHoverlabelAlign `json:"align,omitempty"`

	// Alignsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  align .
	Alignsrc String `json:"alignsrc,omitempty"`

	// Bgcolor
	// arrayOK: true
	// type: color
	// Sets the background color of the hover labels for this trace
	Bgcolor Color `json:"bgcolor,omitempty"`

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

	// Bordercolor
	// arrayOK: true
	// type: color
	// Sets the border color of the hover labels for this trace.
	Bordercolor Color `json:"bordercolor,omitempty"`

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

	// Font
	// role: Object
	Font *ImageHoverlabelFont `json:"font,omitempty"`

	// Namelength
	// arrayOK: true
	// type: integer
	// Sets the default length (in number of characters) of the trace name in the hover labels for all traces. -1 shows the whole name regardless of length. 0-3 shows the first 0-3 characters, and an integer >3 will show the whole name if it is less than that many characters, but if it is longer, will truncate to `namelength - 3` characters and add an ellipsis.
	Namelength int64 `json:"namelength,omitempty"`

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

ImageHoverlabel

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 (
	ImageHoverlabelAlignLeft  ImageHoverlabelAlign = "left"
	ImageHoverlabelAlignRight ImageHoverlabelAlign = "right"
	ImageHoverlabelAlignAuto  ImageHoverlabelAlign = "auto"
)

type ImageHoverlabelFont

type ImageHoverlabelFont struct {

	// Color
	// arrayOK: true
	// type: color
	//
	Color Color `json:"color,omitempty"`

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

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

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

	// Size
	// arrayOK: true
	// type: number
	//
	Size float64 `json:"size,omitempty"`

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

ImageHoverlabelFont Sets the font used in hover labels.

type ImageStream

type ImageStream struct {

	// Maxpoints
	// arrayOK: false
	// type: number
	// Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot.
	Maxpoints float64 `json:"maxpoints,omitempty"`

	// Token
	// arrayOK: false
	// type: string
	// The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details.
	Token String `json:"token,omitempty"`
}

ImageStream

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 (
	ImageVisibleTrue       ImageVisible = true
	ImageVisibleFalse      ImageVisible = false
	ImageVisibleLegendonly ImageVisible = "legendonly"
)

type Indicator

type Indicator struct {

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

	// Align
	// default: %!s(<nil>)
	// type: enumerated
	// Sets the horizontal alignment of the `text` within the box. Note that this attribute has no effect if an angular gauge is displayed: in this case, it is always centered
	Align IndicatorAlign `json:"align,omitempty"`

	// Customdata
	// arrayOK: false
	// type: data_array
	// Assigns extra data each datum. This may be useful when listening to hover, click and selection events. Note that, *scatter* traces also appends customdata items in the markers DOM elements
	Customdata interface{} `json:"customdata,omitempty"`

	// Customdatasrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  customdata .
	Customdatasrc String `json:"customdatasrc,omitempty"`

	// Delta
	// role: Object
	Delta *IndicatorDelta `json:"delta,omitempty"`

	// Domain
	// role: Object
	Domain *IndicatorDomain `json:"domain,omitempty"`

	// Gauge
	// role: Object
	Gauge *IndicatorGauge `json:"gauge,omitempty"`

	// Ids
	// arrayOK: false
	// type: data_array
	// Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type.
	Ids interface{} `json:"ids,omitempty"`

	// Idssrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  ids .
	Idssrc String `json:"idssrc,omitempty"`

	// Meta
	// arrayOK: true
	// type: any
	// Assigns extra meta information associated with this trace that can be used in various text attributes. Attributes such as trace `name`, graph, axis and colorbar `title.text`, annotation `text` `rangeselector`, `updatemenues` and `sliders` `label` text all support `meta`. To access the trace `meta` values in an attribute in the same trace, simply use `%{meta[i]}` where `i` is the index or key of the `meta` item in question. To access trace `meta` in layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index.
	Meta interface{} `json:"meta,omitempty"`

	// Metasrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  meta .
	Metasrc String `json:"metasrc,omitempty"`

	// Mode
	// default: number
	// type: flaglist
	// Determines how the value is displayed on the graph. `number` displays the value numerically in text. `delta` displays the difference to a reference value in text. Finally, `gauge` displays the value graphically on an axis.
	Mode IndicatorMode `json:"mode,omitempty"`

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

	// Number
	// role: Object
	Number *IndicatorNumber `json:"number,omitempty"`

	// Stream
	// role: Object
	Stream *IndicatorStream `json:"stream,omitempty"`

	// Title
	// role: Object
	Title *IndicatorTitle `json:"title,omitempty"`

	// Transforms
	// It's an items array and what goes inside it's... messy... check the docs
	// I will be happy if you want to contribute by implementing this
	// just raise an issue before you start so we do not overlap
	Transforms interface{} `json:"transforms,omitempty"`

	// Uid
	// arrayOK: false
	// type: string
	// Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.
	Uid String `json:"uid,omitempty"`

	// Uirevision
	// arrayOK: false
	// type: any
	// Controls persistence of some user-driven changes to the trace: `constraintrange` in `parcoords` traces, as well as some `editable: true` modifications such as `name` and `colorbar.title`. Defaults to `layout.uirevision`. Note that other user-driven trace attribute changes are controlled by `layout` attributes: `trace.visible` is controlled by `layout.legend.uirevision`, `selectedpoints` is controlled by `layout.selectionrevision`, and `colorbar.(x|y)` (accessible with `config: {editable: true}`) is controlled by `layout.editrevision`. Trace changes are tracked by `uid`, which only falls back on trace index if no `uid` is provided. So if your app can add/remove traces before the end of the `data` array, such that the same trace has a different index, you can still preserve user-driven changes if you give each trace a `uid` that stays with it as it moves.
	Uirevision interface{} `json:"uirevision,omitempty"`

	// Value
	// arrayOK: false
	// type: number
	// Sets the number to be displayed.
	Value float64 `json:"value,omitempty"`

	// Visible
	// default: %!s(bool=true)
	// type: enumerated
	// Determines whether or not this trace is visible. If *legendonly*, the trace is not drawn, but can appear as a legend item (provided that the legend itself is visible).
	Visible IndicatorVisible `json:"visible,omitempty"`
}

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 (*Indicator) GetType

func (trace *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 (
	IndicatorAlignLeft   IndicatorAlign = "left"
	IndicatorAlignCenter IndicatorAlign = "center"
	IndicatorAlignRight  IndicatorAlign = "right"
)

type IndicatorDelta

type IndicatorDelta struct {

	// Decreasing
	// role: Object
	Decreasing *IndicatorDeltaDecreasing `json:"decreasing,omitempty"`

	// Font
	// role: Object
	Font *IndicatorDeltaFont `json:"font,omitempty"`

	// Increasing
	// role: Object
	Increasing *IndicatorDeltaIncreasing `json:"increasing,omitempty"`

	// Position
	// default: bottom
	// type: enumerated
	// Sets the position of delta with respect to the number.
	Position IndicatorDeltaPosition `json:"position,omitempty"`

	// Reference
	// arrayOK: false
	// type: number
	// Sets the reference value to compute the delta. By default, it is set to the current value.
	Reference float64 `json:"reference,omitempty"`

	// Relative
	// arrayOK: false
	// type: boolean
	// Show relative change
	Relative Bool `json:"relative,omitempty"`

	// Valueformat
	// arrayOK: false
	// type: string
	// Sets the value formatting rule using d3 formatting mini-language which is similar to those of Python. See https://github.com/d3/d3-3.x-api-reference/blob/master/Formatting.md#d3_format
	Valueformat String `json:"valueformat,omitempty"`
}

IndicatorDelta

type IndicatorDeltaDecreasing

type IndicatorDeltaDecreasing struct {

	// Color
	// arrayOK: false
	// type: color
	// Sets the color for increasing value.
	Color Color `json:"color,omitempty"`

	// Symbol
	// arrayOK: false
	// type: string
	// Sets the symbol to display for increasing value
	Symbol String `json:"symbol,omitempty"`
}

IndicatorDeltaDecreasing

type IndicatorDeltaFont

type IndicatorDeltaFont struct {

	// Color
	// arrayOK: false
	// type: color
	//
	Color Color `json:"color,omitempty"`

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

	// Size
	// arrayOK: false
	// type: number
	//
	Size float64 `json:"size,omitempty"`
}

IndicatorDeltaFont Set the font used to display the delta

type IndicatorDeltaIncreasing

type IndicatorDeltaIncreasing struct {

	// Color
	// arrayOK: false
	// type: color
	// Sets the color for increasing value.
	Color Color `json:"color,omitempty"`

	// Symbol
	// arrayOK: false
	// type: string
	// Sets the symbol to display for increasing value
	Symbol String `json:"symbol,omitempty"`
}

IndicatorDeltaIncreasing

type IndicatorDeltaPosition

type IndicatorDeltaPosition string

IndicatorDeltaPosition Sets the position of delta with respect to the number.

const (
	IndicatorDeltaPositionTop    IndicatorDeltaPosition = "top"
	IndicatorDeltaPositionBottom IndicatorDeltaPosition = "bottom"
	IndicatorDeltaPositionLeft   IndicatorDeltaPosition = "left"
	IndicatorDeltaPositionRight  IndicatorDeltaPosition = "right"
)

type IndicatorDomain

type IndicatorDomain struct {

	// Column
	// arrayOK: false
	// type: integer
	// If there is a layout grid, use the domain for this column in the grid for this indicator trace .
	Column int64 `json:"column,omitempty"`

	// Row
	// arrayOK: false
	// type: integer
	// If there is a layout grid, use the domain for this row in the grid for this indicator trace .
	Row int64 `json:"row,omitempty"`

	// X
	// arrayOK: false
	// type: info_array
	// Sets the horizontal domain of this indicator trace (in plot fraction).
	X interface{} `json:"x,omitempty"`

	// Y
	// arrayOK: false
	// type: info_array
	// Sets the vertical domain of this indicator trace (in plot fraction).
	Y interface{} `json:"y,omitempty"`
}

IndicatorDomain

type IndicatorGauge

type IndicatorGauge struct {

	// Axis
	// role: Object
	Axis *IndicatorGaugeAxis `json:"axis,omitempty"`

	// Bar
	// role: Object
	Bar *IndicatorGaugeBar `json:"bar,omitempty"`

	// Bgcolor
	// arrayOK: false
	// type: color
	// Sets the gauge background color.
	Bgcolor Color `json:"bgcolor,omitempty"`

	// Bordercolor
	// arrayOK: false
	// type: color
	// Sets the color of the border enclosing the gauge.
	Bordercolor Color `json:"bordercolor,omitempty"`

	// Borderwidth
	// arrayOK: false
	// type: number
	// Sets the width (in px) of the border enclosing the gauge.
	Borderwidth float64 `json:"borderwidth,omitempty"`

	// Shape
	// default: angular
	// type: enumerated
	// Set the shape of the gauge
	Shape IndicatorGaugeShape `json:"shape,omitempty"`

	// Steps
	// It's an items array and what goes inside it's... messy... check the docs
	// I will be happy if you want to contribute by implementing this
	// just raise an issue before you start so we do not overlap
	Steps interface{} `json:"steps,omitempty"`

	// Threshold
	// role: Object
	Threshold *IndicatorGaugeThreshold `json:"threshold,omitempty"`
}

IndicatorGauge The gauge of the Indicator plot.

type IndicatorGaugeAxis

type IndicatorGaugeAxis struct {

	// Dtick
	// arrayOK: false
	// type: any
	// Sets the step in-between ticks on this axis. Use with `tick0`. Must be a positive number, or special strings available to *log* and *date* axes. If the axis `type` is *log*, then ticks are set every 10^(n*dtick) where n is the tick number. For example, to set a tick mark at 1, 10, 100, 1000, ... set dtick to 1. To set tick marks at 1, 100, 10000, ... set dtick to 2. To set tick marks at 1, 5, 25, 125, 625, 3125, ... set dtick to log_10(5), or 0.69897000433. *log* has several special values; *L<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
	// default: B
	// type: enumerated
	// Determines a formatting rule for the tick exponents. For example, consider the number 1,000,000,000. If *none*, it appears as 1,000,000,000. If *e*, 1e+9. If *E*, 1E+9. If *power*, 1x10^9 (with 9 in a super script). If *SI*, 1G. If *B*, 1B.
	Exponentformat IndicatorGaugeAxisExponentformat `json:"exponentformat,omitempty"`

	// Minexponent
	// arrayOK: false
	// type: number
	// Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*.
	Minexponent float64 `json:"minexponent,omitempty"`

	// Nticks
	// arrayOK: false
	// type: integer
	// Specifies the maximum number of ticks for the particular axis. The actual number of ticks will be chosen automatically to be less than or equal to `nticks`. Has an effect only if `tickmode` is set to *auto*.
	Nticks int64 `json:"nticks,omitempty"`

	// Range
	// arrayOK: false
	// type: info_array
	// Sets the range of this axis.
	Range interface{} `json:"range,omitempty"`

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

	// Showexponent
	// default: all
	// type: enumerated
	// If *all*, all exponents are shown besides their significands. If *first*, only the exponent of the first tick is shown. If *last*, only the exponent of the last tick is shown. If *none*, no exponents appear.
	Showexponent IndicatorGaugeAxisShowexponent `json:"showexponent,omitempty"`

	// Showticklabels
	// arrayOK: false
	// type: boolean
	// Determines whether or not the tick labels are drawn.
	Showticklabels Bool `json:"showticklabels,omitempty"`

	// Showtickprefix
	// default: all
	// type: enumerated
	// If *all*, all tick labels are displayed with a prefix. If *first*, only the first tick is displayed with a prefix. If *last*, only the last tick is displayed with a suffix. If *none*, tick prefixes are hidden.
	Showtickprefix IndicatorGaugeAxisShowtickprefix `json:"showtickprefix,omitempty"`

	// Showticksuffix
	// default: all
	// type: enumerated
	// Same as `showtickprefix` but for tick suffixes.
	Showticksuffix IndicatorGaugeAxisShowticksuffix `json:"showticksuffix,omitempty"`

	// Tick0
	// arrayOK: false
	// type: any
	// Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2) except when `dtick`=*L<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
	// arrayOK: false
	// type: angle
	// Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.
	Tickangle float64 `json:"tickangle,omitempty"`

	// Tickcolor
	// arrayOK: false
	// type: color
	// Sets the tick color.
	Tickcolor Color `json:"tickcolor,omitempty"`

	// Tickfont
	// role: Object
	Tickfont *IndicatorGaugeAxisTickfont `json:"tickfont,omitempty"`

	// Tickformat
	// arrayOK: false
	// type: string
	// Sets the tick label formatting rule using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-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
	// It's an items array and what goes inside it's... messy... check the docs
	// I will be happy if you want to contribute by implementing this
	// just raise an issue before you start so we do not overlap
	Tickformatstops interface{} `json:"tickformatstops,omitempty"`

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

	// Tickmode
	// default: %!s(<nil>)
	// type: enumerated
	// Sets the tick mode for this axis. If *auto*, the number of ticks is set via `nticks`. If *linear*, the placement of the ticks is determined by a starting position `tick0` and a tick step `dtick` (*linear* is the default value if `tick0` and `dtick` are provided). If *array*, the placement of the ticks is set via `tickvals` and the tick text is `ticktext`. (*array* is the default value if `tickvals` is provided).
	Tickmode IndicatorGaugeAxisTickmode `json:"tickmode,omitempty"`

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

	// Ticks
	// default: outside
	// type: enumerated
	// Determines whether ticks are drawn or not. If **, this axis' ticks are not drawn. If *outside* (*inside*), this axis' are drawn outside (inside) the axis lines.
	Ticks IndicatorGaugeAxisTicks `json:"ticks,omitempty"`

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

	// Ticktext
	// arrayOK: false
	// type: data_array
	// Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `tickvals`.
	Ticktext interface{} `json:"ticktext,omitempty"`

	// Ticktextsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  ticktext .
	Ticktextsrc String `json:"ticktextsrc,omitempty"`

	// Tickvals
	// arrayOK: false
	// type: data_array
	// Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.
	Tickvals interface{} `json:"tickvals,omitempty"`

	// Tickvalssrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  tickvals .
	Tickvalssrc String `json:"tickvalssrc,omitempty"`

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

	// Visible
	// arrayOK: false
	// type: boolean
	// A single toggle to hide the axis while preserving interaction like dragging. Default is true when a cheater plot is present on the axis, otherwise false
	Visible Bool `json:"visible,omitempty"`
}

IndicatorGaugeAxis

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 (
	IndicatorGaugeAxisExponentformatNone  IndicatorGaugeAxisExponentformat = "none"
	IndicatorGaugeAxisExponentformatE1    IndicatorGaugeAxisExponentformat = "e"
	IndicatorGaugeAxisExponentformatE2    IndicatorGaugeAxisExponentformat = "E"
	IndicatorGaugeAxisExponentformatPower IndicatorGaugeAxisExponentformat = "power"
	IndicatorGaugeAxisExponentformatSi    IndicatorGaugeAxisExponentformat = "SI"
	IndicatorGaugeAxisExponentformatB     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 (
	IndicatorGaugeAxisShowexponentAll   IndicatorGaugeAxisShowexponent = "all"
	IndicatorGaugeAxisShowexponentFirst IndicatorGaugeAxisShowexponent = "first"
	IndicatorGaugeAxisShowexponentLast  IndicatorGaugeAxisShowexponent = "last"
	IndicatorGaugeAxisShowexponentNone  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 (
	IndicatorGaugeAxisShowtickprefixAll   IndicatorGaugeAxisShowtickprefix = "all"
	IndicatorGaugeAxisShowtickprefixFirst IndicatorGaugeAxisShowtickprefix = "first"
	IndicatorGaugeAxisShowtickprefixLast  IndicatorGaugeAxisShowtickprefix = "last"
	IndicatorGaugeAxisShowtickprefixNone  IndicatorGaugeAxisShowtickprefix = "none"
)

type IndicatorGaugeAxisShowticksuffix

type IndicatorGaugeAxisShowticksuffix string

IndicatorGaugeAxisShowticksuffix Same as `showtickprefix` but for tick suffixes.

const (
	IndicatorGaugeAxisShowticksuffixAll   IndicatorGaugeAxisShowticksuffix = "all"
	IndicatorGaugeAxisShowticksuffixFirst IndicatorGaugeAxisShowticksuffix = "first"
	IndicatorGaugeAxisShowticksuffixLast  IndicatorGaugeAxisShowticksuffix = "last"
	IndicatorGaugeAxisShowticksuffixNone  IndicatorGaugeAxisShowticksuffix = "none"
)

type IndicatorGaugeAxisTickfont

type IndicatorGaugeAxisTickfont struct {

	// Color
	// arrayOK: false
	// type: color
	//
	Color Color `json:"color,omitempty"`

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

	// Size
	// arrayOK: false
	// type: number
	//
	Size float64 `json:"size,omitempty"`
}

IndicatorGaugeAxisTickfont Sets the color bar's tick label font

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 (
	IndicatorGaugeAxisTickmodeAuto   IndicatorGaugeAxisTickmode = "auto"
	IndicatorGaugeAxisTickmodeLinear IndicatorGaugeAxisTickmode = "linear"
	IndicatorGaugeAxisTickmodeArray  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 (
	IndicatorGaugeAxisTicksOutside IndicatorGaugeAxisTicks = "outside"
	IndicatorGaugeAxisTicksInside  IndicatorGaugeAxisTicks = "inside"
	IndicatorGaugeAxisTicksEmpty   IndicatorGaugeAxisTicks = ""
)

type IndicatorGaugeBar

type IndicatorGaugeBar struct {

	// Color
	// arrayOK: false
	// type: color
	// Sets the background color of the arc.
	Color Color `json:"color,omitempty"`

	// Line
	// role: Object
	Line *IndicatorGaugeBarLine `json:"line,omitempty"`

	// Thickness
	// arrayOK: false
	// type: number
	// Sets the thickness of the bar as a fraction of the total thickness of the gauge.
	Thickness float64 `json:"thickness,omitempty"`
}

IndicatorGaugeBar Set the appearance of the gauge's value

type IndicatorGaugeBarLine

type IndicatorGaugeBarLine struct {

	// Color
	// arrayOK: false
	// type: color
	// Sets the color of the line enclosing each sector.
	Color Color `json:"color,omitempty"`

	// Width
	// arrayOK: false
	// type: number
	// Sets the width (in px) of the line enclosing each sector.
	Width float64 `json:"width,omitempty"`
}

IndicatorGaugeBarLine

type IndicatorGaugeShape

type IndicatorGaugeShape string

IndicatorGaugeShape Set the shape of the gauge

const (
	IndicatorGaugeShapeAngular IndicatorGaugeShape = "angular"
	IndicatorGaugeShapeBullet  IndicatorGaugeShape = "bullet"
)

type IndicatorGaugeThreshold

type IndicatorGaugeThreshold struct {

	// Line
	// role: Object
	Line *IndicatorGaugeThresholdLine `json:"line,omitempty"`

	// Thickness
	// arrayOK: false
	// type: number
	// Sets the thickness of the threshold line as a fraction of the thickness of the gauge.
	Thickness float64 `json:"thickness,omitempty"`

	// Value
	// arrayOK: false
	// type: number
	// Sets a treshold value drawn as a line.
	Value float64 `json:"value,omitempty"`
}

IndicatorGaugeThreshold

type IndicatorGaugeThresholdLine

type IndicatorGaugeThresholdLine struct {

	// Color
	// arrayOK: false
	// type: color
	// Sets the color of the threshold line.
	Color Color `json:"color,omitempty"`

	// Width
	// arrayOK: false
	// type: number
	// Sets the width (in px) of the threshold line.
	Width float64 `json:"width,omitempty"`
}

IndicatorGaugeThresholdLine

type IndicatorMode

type IndicatorMode string

IndicatorMode Determines how the value is displayed on the graph. `number` displays the value numerically in text. `delta` displays the difference to a reference value in text. Finally, `gauge` displays the value graphically on an axis.

const (
	// Flags
	IndicatorModeNumber IndicatorMode = "number"
	IndicatorModeDelta  IndicatorMode = "delta"
	IndicatorModeGauge  IndicatorMode = "gauge"
)

type IndicatorNumber

type IndicatorNumber struct {

	// Font
	// role: Object
	Font *IndicatorNumberFont `json:"font,omitempty"`

	// Prefix
	// arrayOK: false
	// type: string
	// Sets a prefix appearing before the number.
	Prefix String `json:"prefix,omitempty"`

	// Suffix
	// arrayOK: false
	// type: string
	// Sets a suffix appearing next to the number.
	Suffix String `json:"suffix,omitempty"`

	// Valueformat
	// arrayOK: false
	// type: string
	// Sets the value formatting rule using d3 formatting mini-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"`
}

IndicatorNumber

type IndicatorNumberFont

type IndicatorNumberFont struct {

	// Color
	// arrayOK: false
	// type: color
	//
	Color Color `json:"color,omitempty"`

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

	// Size
	// arrayOK: false
	// type: number
	//
	Size float64 `json:"size,omitempty"`
}

IndicatorNumberFont Set the font used to display main number

type IndicatorStream

type IndicatorStream struct {

	// Maxpoints
	// arrayOK: false
	// type: number
	// Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot.
	Maxpoints float64 `json:"maxpoints,omitempty"`

	// Token
	// arrayOK: false
	// type: string
	// The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details.
	Token String `json:"token,omitempty"`
}

IndicatorStream

type IndicatorTitle

type IndicatorTitle struct {

	// Align
	// default: %!s(<nil>)
	// type: enumerated
	// Sets the horizontal alignment of the title. It defaults to `center` except for bullet charts for which it defaults to right.
	Align IndicatorTitleAlign `json:"align,omitempty"`

	// Font
	// role: Object
	Font *IndicatorTitleFont `json:"font,omitempty"`

	// Text
	// arrayOK: false
	// type: string
	// Sets the title of this indicator.
	Text String `json:"text,omitempty"`
}

IndicatorTitle

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 (
	IndicatorTitleAlignLeft   IndicatorTitleAlign = "left"
	IndicatorTitleAlignCenter IndicatorTitleAlign = "center"
	IndicatorTitleAlignRight  IndicatorTitleAlign = "right"
)

type IndicatorTitleFont

type IndicatorTitleFont struct {

	// Color
	// arrayOK: false
	// type: color
	//
	Color Color `json:"color,omitempty"`

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

	// Size
	// arrayOK: false
	// type: number
	//
	Size float64 `json:"size,omitempty"`
}

IndicatorTitleFont Set the font used to display the title

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 (
	IndicatorVisibleTrue       IndicatorVisible = true
	IndicatorVisibleFalse      IndicatorVisible = false
	IndicatorVisibleLegendonly IndicatorVisible = "legendonly"
)

type Isosurface

type Isosurface struct {

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

	// Autocolorscale
	// arrayOK: false
	// type: boolean
	// Determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by `colorscale`. In case `colorscale` is unspecified or `autocolorscale` is true, the default  palette will be chosen according to whether numbers in the `color` array are all positive, all negative or mixed.
	Autocolorscale Bool `json:"autocolorscale,omitempty"`

	// Caps
	// role: Object
	Caps *IsosurfaceCaps `json:"caps,omitempty"`

	// Cauto
	// arrayOK: false
	// type: boolean
	// Determines whether or not the color domain is computed with respect to the input data (here `value`) or the bounds set in `cmin` and `cmax`  Defaults to `false` when `cmin` and `cmax` are set by the user.
	Cauto Bool `json:"cauto,omitempty"`

	// Cmax
	// arrayOK: false
	// type: number
	// Sets the upper bound of the color domain. Value should have the same units as `value` and if set, `cmin` must be set as well.
	Cmax float64 `json:"cmax,omitempty"`

	// Cmid
	// arrayOK: false
	// type: number
	// Sets the mid-point of the color domain by scaling `cmin` and/or `cmax` to be equidistant to this point. Value should have the same units as `value`. Has no effect when `cauto` is `false`.
	Cmid float64 `json:"cmid,omitempty"`

	// Cmin
	// arrayOK: false
	// type: number
	// Sets the lower bound of the color domain. Value should have the same units as `value` and if set, `cmax` must be set as well.
	Cmin float64 `json:"cmin,omitempty"`

	// Coloraxis
	// arrayOK: false
	// type: subplotid
	// Sets a reference to a shared color axis. References to these shared color axes are *coloraxis*, *coloraxis2*, *coloraxis3*, etc. Settings for these shared color axes are set in the layout, under `layout.coloraxis`, `layout.coloraxis2`, etc. Note that multiple color scales can be linked to the same color axis.
	Coloraxis String `json:"coloraxis,omitempty"`

	// Colorbar
	// role: Object
	Colorbar *IsosurfaceColorbar `json:"colorbar,omitempty"`

	// Colorscale
	// default: %!s(<nil>)
	// type: colorscale
	// Sets the colorscale. The colorscale must be an array containing arrays mapping a normalized value to an rgb, rgba, hex, hsl, hsv, or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, use`cmin` and `cmax`. Alternatively, `colorscale` may be a palette name string of the following list: Greys,YlGnBu,Greens,YlOrRd,Bluered,RdBu,Reds,Blues,Picnic,Rainbow,Portland,Jet,Hot,Blackbody,Earth,Electric,Viridis,Cividis.
	Colorscale ColorScale `json:"colorscale,omitempty"`

	// Contour
	// role: Object
	Contour *IsosurfaceContour `json:"contour,omitempty"`

	// Customdata
	// arrayOK: false
	// type: data_array
	// Assigns extra data each datum. This may be useful when listening to hover, click and selection events. Note that, *scatter* traces also appends customdata items in the markers DOM elements
	Customdata interface{} `json:"customdata,omitempty"`

	// Customdatasrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  customdata .
	Customdatasrc String `json:"customdatasrc,omitempty"`

	// Flatshading
	// arrayOK: false
	// type: boolean
	// Determines whether or not normal smoothing is applied to the meshes, creating meshes with an angular, low-poly look via flat reflections.
	Flatshading Bool `json:"flatshading,omitempty"`

	// Hoverinfo
	// default: all
	// type: flaglist
	// Determines which trace information appear on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired.
	Hoverinfo IsosurfaceHoverinfo `json:"hoverinfo,omitempty"`

	// Hoverinfosrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  hoverinfo .
	Hoverinfosrc String `json:"hoverinfosrc,omitempty"`

	// Hoverlabel
	// role: Object
	Hoverlabel *IsosurfaceHoverlabel `json:"hoverlabel,omitempty"`

	// Hovertemplate
	// arrayOK: true
	// type: string
	// Template string used for rendering the information that appear on hover box. Note that this will override `hoverinfo`. Variables are inserted using %{variable}, for example "y: %{y}". 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 String `json:"hovertemplate,omitempty"`

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

	// Hovertext
	// arrayOK: true
	// type: string
	// Same as `text`.
	Hovertext String `json:"hovertext,omitempty"`

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

	// Ids
	// arrayOK: false
	// type: data_array
	// Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type.
	Ids interface{} `json:"ids,omitempty"`

	// Idssrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  ids .
	Idssrc String `json:"idssrc,omitempty"`

	// Isomax
	// arrayOK: false
	// type: number
	// Sets the maximum boundary for iso-surface plot.
	Isomax float64 `json:"isomax,omitempty"`

	// Isomin
	// arrayOK: false
	// type: number
	// Sets the minimum boundary for iso-surface plot.
	Isomin float64 `json:"isomin,omitempty"`

	// Legendgroup
	// arrayOK: false
	// type: string
	// Sets the legend group for this trace. Traces part of the same legend group hide/show at the same time when toggling legend items.
	Legendgroup String `json:"legendgroup,omitempty"`

	// Lighting
	// role: Object
	Lighting *IsosurfaceLighting `json:"lighting,omitempty"`

	// Lightposition
	// role: Object
	Lightposition *IsosurfaceLightposition `json:"lightposition,omitempty"`

	// Meta
	// arrayOK: true
	// type: any
	// Assigns extra meta information associated with this trace that can be used in various text attributes. Attributes such as trace `name`, graph, axis and colorbar `title.text`, annotation `text` `rangeselector`, `updatemenues` and `sliders` `label` text all support `meta`. To access the trace `meta` values in an attribute in the same trace, simply use `%{meta[i]}` where `i` is the index or key of the `meta` item in question. To access trace `meta` in layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index.
	Meta interface{} `json:"meta,omitempty"`

	// Metasrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  meta .
	Metasrc String `json:"metasrc,omitempty"`

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

	// Opacity
	// arrayOK: false
	// type: number
	// Sets the opacity of the surface. Please note that in the case of using high `opacity` values for example a value greater than or equal to 0.5 on two surfaces (and 0.25 with four surfaces), an overlay of multiple transparent surfaces may not perfectly be sorted in depth by the webgl API. This behavior may be improved in the near future and is subject to change.
	Opacity float64 `json:"opacity,omitempty"`

	// Reversescale
	// arrayOK: false
	// type: boolean
	// Reverses the color mapping if true. If true, `cmin` will correspond to the last color in the array and `cmax` will correspond to the first color.
	Reversescale Bool `json:"reversescale,omitempty"`

	// Scene
	// arrayOK: false
	// type: subplotid
	// Sets a reference between this trace's 3D coordinate system and a 3D scene. If *scene* (the default value), the (x,y,z) coordinates refer to `layout.scene`. If *scene2*, the (x,y,z) coordinates refer to `layout.scene2`, and so on.
	Scene String `json:"scene,omitempty"`

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

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

	// Slices
	// role: Object
	Slices *IsosurfaceSlices `json:"slices,omitempty"`

	// Spaceframe
	// role: Object
	Spaceframe *IsosurfaceSpaceframe `json:"spaceframe,omitempty"`

	// Stream
	// role: Object
	Stream *IsosurfaceStream `json:"stream,omitempty"`

	// Surface
	// role: Object
	Surface *IsosurfaceSurface `json:"surface,omitempty"`

	// Text
	// arrayOK: true
	// type: string
	// Sets the text elements associated with the vertices. If trace `hoverinfo` contains a *text* flag and *hovertext* is not set, these elements will be seen in the hover labels.
	Text String `json:"text,omitempty"`

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

	// Uid
	// arrayOK: false
	// type: string
	// Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.
	Uid String `json:"uid,omitempty"`

	// Uirevision
	// arrayOK: false
	// type: any
	// Controls persistence of some user-driven changes to the trace: `constraintrange` in `parcoords` traces, as well as some `editable: true` modifications such as `name` and `colorbar.title`. Defaults to `layout.uirevision`. Note that other user-driven trace attribute changes are controlled by `layout` attributes: `trace.visible` is controlled by `layout.legend.uirevision`, `selectedpoints` is controlled by `layout.selectionrevision`, and `colorbar.(x|y)` (accessible with `config: {editable: true}`) is controlled by `layout.editrevision`. Trace changes are tracked by `uid`, which only falls back on trace index if no `uid` is provided. So if your app can add/remove traces before the end of the `data` array, such that the same trace has a different index, you can still preserve user-driven changes if you give each trace a `uid` that stays with it as it moves.
	Uirevision interface{} `json:"uirevision,omitempty"`

	// Value
	// arrayOK: false
	// type: data_array
	// Sets the 4th dimension (value) of the vertices.
	Value interface{} `json:"value,omitempty"`

	// Valuesrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  value .
	Valuesrc String `json:"valuesrc,omitempty"`

	// Visible
	// default: %!s(bool=true)
	// type: enumerated
	// Determines whether or not this trace is visible. If *legendonly*, the trace is not drawn, but can appear as a legend item (provided that the legend itself is visible).
	Visible IsosurfaceVisible `json:"visible,omitempty"`

	// X
	// arrayOK: false
	// type: data_array
	// Sets the X coordinates of the vertices on X axis.
	X interface{} `json:"x,omitempty"`

	// Xsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  x .
	Xsrc String `json:"xsrc,omitempty"`

	// Y
	// arrayOK: false
	// type: data_array
	// Sets the Y coordinates of the vertices on Y axis.
	Y interface{} `json:"y,omitempty"`

	// Ysrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  y .
	Ysrc String `json:"ysrc,omitempty"`

	// Z
	// arrayOK: false
	// type: data_array
	// Sets the Z coordinates of the vertices on Z axis.
	Z interface{} `json:"z,omitempty"`

	// Zsrc
	// arrayOK: false
	// type: 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 (*Isosurface) GetType

func (trace *Isosurface) GetType() TraceType

type IsosurfaceCaps

type IsosurfaceCaps struct {

	// X
	// role: Object
	X *IsosurfaceCapsX `json:"x,omitempty"`

	// Y
	// role: Object
	Y *IsosurfaceCapsY `json:"y,omitempty"`

	// Z
	// role: Object
	Z *IsosurfaceCapsZ `json:"z,omitempty"`
}

IsosurfaceCaps

type IsosurfaceCapsX

type IsosurfaceCapsX struct {

	// Fill
	// arrayOK: false
	// type: number
	// Sets the fill ratio of the `caps`. The default fill value of the `caps` is 1 meaning that they are entirely shaded. On the other hand Applying a `fill` ratio less than one would allow the creation of openings parallel to the edges.
	Fill float64 `json:"fill,omitempty"`

	// Show
	// arrayOK: false
	// type: boolean
	// Sets the fill ratio of the `slices`. The default fill value of the x `slices` is 1 meaning that they are entirely shaded. On the other hand Applying a `fill` ratio less than one would allow the creation of openings parallel to the edges.
	Show Bool `json:"show,omitempty"`
}

IsosurfaceCapsX

type IsosurfaceCapsY

type IsosurfaceCapsY struct {

	// Fill
	// arrayOK: false
	// type: number
	// Sets the fill ratio of the `caps`. The default fill value of the `caps` is 1 meaning that they are entirely shaded. On the other hand Applying a `fill` ratio less than one would allow the creation of openings parallel to the edges.
	Fill float64 `json:"fill,omitempty"`

	// Show
	// arrayOK: false
	// type: boolean
	// Sets the fill ratio of the `slices`. The default fill value of the y `slices` is 1 meaning that they are entirely shaded. On the other hand Applying a `fill` ratio less than one would allow the creation of openings parallel to the edges.
	Show Bool `json:"show,omitempty"`
}

IsosurfaceCapsY

type IsosurfaceCapsZ

type IsosurfaceCapsZ struct {

	// Fill
	// arrayOK: false
	// type: number
	// Sets the fill ratio of the `caps`. The default fill value of the `caps` is 1 meaning that they are entirely shaded. On the other hand Applying a `fill` ratio less than one would allow the creation of openings parallel to the edges.
	Fill float64 `json:"fill,omitempty"`

	// Show
	// arrayOK: false
	// type: boolean
	// Sets the fill ratio of the `slices`. The default fill value of the z `slices` is 1 meaning that they are entirely shaded. On the other hand Applying a `fill` ratio less than one would allow the creation of openings parallel to the edges.
	Show Bool `json:"show,omitempty"`
}

IsosurfaceCapsZ

type IsosurfaceColorbar

type IsosurfaceColorbar struct {

	// Bgcolor
	// arrayOK: false
	// type: color
	// Sets the color of padded area.
	Bgcolor Color `json:"bgcolor,omitempty"`

	// Bordercolor
	// arrayOK: false
	// type: color
	// Sets the axis line color.
	Bordercolor Color `json:"bordercolor,omitempty"`

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

	// Dtick
	// arrayOK: false
	// type: any
	// Sets the step in-between ticks on this axis. Use with `tick0`. Must be a positive number, or special strings available to *log* and *date* axes. If the axis `type` is *log*, then ticks are set every 10^(n*dtick) where n is the tick number. For example, to set a tick mark at 1, 10, 100, 1000, ... set dtick to 1. To set tick marks at 1, 100, 10000, ... set dtick to 2. To set tick marks at 1, 5, 25, 125, 625, 3125, ... set dtick to log_10(5), or 0.69897000433. *log* has several special values; *L<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
	// default: B
	// type: enumerated
	// Determines a formatting rule for the tick exponents. For example, consider the number 1,000,000,000. If *none*, it appears as 1,000,000,000. If *e*, 1e+9. If *E*, 1E+9. If *power*, 1x10^9 (with 9 in a super script). If *SI*, 1G. If *B*, 1B.
	Exponentformat IsosurfaceColorbarExponentformat `json:"exponentformat,omitempty"`

	// Len
	// arrayOK: false
	// type: number
	// Sets the length of the color bar This measure excludes the padding of both ends. That is, the color bar length is this length minus the padding on both ends.
	Len float64 `json:"len,omitempty"`

	// Lenmode
	// default: fraction
	// type: enumerated
	// Determines whether this color bar's length (i.e. the measure in the color variation direction) is set in units of plot *fraction* or in *pixels. Use `len` to set the value.
	Lenmode IsosurfaceColorbarLenmode `json:"lenmode,omitempty"`

	// Minexponent
	// arrayOK: false
	// type: number
	// Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*.
	Minexponent float64 `json:"minexponent,omitempty"`

	// Nticks
	// arrayOK: false
	// type: integer
	// Specifies the maximum number of ticks for the particular axis. The actual number of ticks will be chosen automatically to be less than or equal to `nticks`. Has an effect only if `tickmode` is set to *auto*.
	Nticks int64 `json:"nticks,omitempty"`

	// Outlinecolor
	// arrayOK: false
	// type: color
	// Sets the axis line color.
	Outlinecolor Color `json:"outlinecolor,omitempty"`

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

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

	// Showexponent
	// default: all
	// type: enumerated
	// If *all*, all exponents are shown besides their significands. If *first*, only the exponent of the first tick is shown. If *last*, only the exponent of the last tick is shown. If *none*, no exponents appear.
	Showexponent IsosurfaceColorbarShowexponent `json:"showexponent,omitempty"`

	// Showticklabels
	// arrayOK: false
	// type: boolean
	// Determines whether or not the tick labels are drawn.
	Showticklabels Bool `json:"showticklabels,omitempty"`

	// Showtickprefix
	// default: all
	// type: enumerated
	// If *all*, all tick labels are displayed with a prefix. If *first*, only the first tick is displayed with a prefix. If *last*, only the last tick is displayed with a suffix. If *none*, tick prefixes are hidden.
	Showtickprefix IsosurfaceColorbarShowtickprefix `json:"showtickprefix,omitempty"`

	// Showticksuffix
	// default: all
	// type: enumerated
	// Same as `showtickprefix` but for tick suffixes.
	Showticksuffix IsosurfaceColorbarShowticksuffix `json:"showticksuffix,omitempty"`

	// Thickness
	// arrayOK: false
	// type: number
	// Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.
	Thickness float64 `json:"thickness,omitempty"`

	// Thicknessmode
	// default: pixels
	// type: enumerated
	// Determines whether this color bar's thickness (i.e. the measure in the constant color direction) is set in units of plot *fraction* or in *pixels*. Use `thickness` to set the value.
	Thicknessmode IsosurfaceColorbarThicknessmode `json:"thicknessmode,omitempty"`

	// Tick0
	// arrayOK: false
	// type: any
	// Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2) except when `dtick`=*L<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
	// arrayOK: false
	// type: angle
	// Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.
	Tickangle float64 `json:"tickangle,omitempty"`

	// Tickcolor
	// arrayOK: false
	// type: color
	// Sets the tick color.
	Tickcolor Color `json:"tickcolor,omitempty"`

	// Tickfont
	// role: Object
	Tickfont *IsosurfaceColorbarTickfont `json:"tickfont,omitempty"`

	// Tickformat
	// arrayOK: false
	// type: string
	// Sets the tick label formatting rule using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-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
	// It's an items array and what goes inside it's... messy... check the docs
	// I will be happy if you want to contribute by implementing this
	// just raise an issue before you start so we do not overlap
	Tickformatstops interface{} `json:"tickformatstops,omitempty"`

	// Ticklabelposition
	// default: outside
	// type: enumerated
	// Determines where tick labels are drawn.
	Ticklabelposition IsosurfaceColorbarTicklabelposition `json:"ticklabelposition,omitempty"`

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

	// Tickmode
	// default: %!s(<nil>)
	// type: enumerated
	// Sets the tick mode for this axis. If *auto*, the number of ticks is set via `nticks`. If *linear*, the placement of the ticks is determined by a starting position `tick0` and a tick step `dtick` (*linear* is the default value if `tick0` and `dtick` are provided). If *array*, the placement of the ticks is set via `tickvals` and the tick text is `ticktext`. (*array* is the default value if `tickvals` is provided).
	Tickmode IsosurfaceColorbarTickmode `json:"tickmode,omitempty"`

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

	// Ticks
	// default:
	// type: enumerated
	// Determines whether ticks are drawn or not. If **, this axis' ticks are not drawn. If *outside* (*inside*), this axis' are drawn outside (inside) the axis lines.
	Ticks IsosurfaceColorbarTicks `json:"ticks,omitempty"`

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

	// Ticktext
	// arrayOK: false
	// type: data_array
	// Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `tickvals`.
	Ticktext interface{} `json:"ticktext,omitempty"`

	// Ticktextsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  ticktext .
	Ticktextsrc String `json:"ticktextsrc,omitempty"`

	// Tickvals
	// arrayOK: false
	// type: data_array
	// Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.
	Tickvals interface{} `json:"tickvals,omitempty"`

	// Tickvalssrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  tickvals .
	Tickvalssrc String `json:"tickvalssrc,omitempty"`

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

	// Title
	// role: Object
	Title *IsosurfaceColorbarTitle `json:"title,omitempty"`

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

	// Xanchor
	// default: left
	// type: enumerated
	// Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the color bar.
	Xanchor IsosurfaceColorbarXanchor `json:"xanchor,omitempty"`

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

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

	// Yanchor
	// default: middle
	// type: enumerated
	// Sets this color bar's vertical position anchor This anchor binds the `y` position to the *top*, *middle* or *bottom* of the color bar.
	Yanchor IsosurfaceColorbarYanchor `json:"yanchor,omitempty"`

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

IsosurfaceColorbar

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 (
	IsosurfaceColorbarExponentformatNone  IsosurfaceColorbarExponentformat = "none"
	IsosurfaceColorbarExponentformatE1    IsosurfaceColorbarExponentformat = "e"
	IsosurfaceColorbarExponentformatE2    IsosurfaceColorbarExponentformat = "E"
	IsosurfaceColorbarExponentformatPower IsosurfaceColorbarExponentformat = "power"
	IsosurfaceColorbarExponentformatSi    IsosurfaceColorbarExponentformat = "SI"
	IsosurfaceColorbarExponentformatB     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 (
	IsosurfaceColorbarLenmodeFraction IsosurfaceColorbarLenmode = "fraction"
	IsosurfaceColorbarLenmodePixels   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 (
	IsosurfaceColorbarShowexponentAll   IsosurfaceColorbarShowexponent = "all"
	IsosurfaceColorbarShowexponentFirst IsosurfaceColorbarShowexponent = "first"
	IsosurfaceColorbarShowexponentLast  IsosurfaceColorbarShowexponent = "last"
	IsosurfaceColorbarShowexponentNone  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 (
	IsosurfaceColorbarShowtickprefixAll   IsosurfaceColorbarShowtickprefix = "all"
	IsosurfaceColorbarShowtickprefixFirst IsosurfaceColorbarShowtickprefix = "first"
	IsosurfaceColorbarShowtickprefixLast  IsosurfaceColorbarShowtickprefix = "last"
	IsosurfaceColorbarShowtickprefixNone  IsosurfaceColorbarShowtickprefix = "none"
)

type IsosurfaceColorbarShowticksuffix

type IsosurfaceColorbarShowticksuffix string

IsosurfaceColorbarShowticksuffix Same as `showtickprefix` but for tick suffixes.

const (
	IsosurfaceColorbarShowticksuffixAll   IsosurfaceColorbarShowticksuffix = "all"
	IsosurfaceColorbarShowticksuffixFirst IsosurfaceColorbarShowticksuffix = "first"
	IsosurfaceColorbarShowticksuffixLast  IsosurfaceColorbarShowticksuffix = "last"
	IsosurfaceColorbarShowticksuffixNone  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 (
	IsosurfaceColorbarThicknessmodeFraction IsosurfaceColorbarThicknessmode = "fraction"
	IsosurfaceColorbarThicknessmodePixels   IsosurfaceColorbarThicknessmode = "pixels"
)

type IsosurfaceColorbarTickfont

type IsosurfaceColorbarTickfont struct {

	// Color
	// arrayOK: false
	// type: color
	//
	Color Color `json:"color,omitempty"`

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

	// Size
	// arrayOK: false
	// type: number
	//
	Size float64 `json:"size,omitempty"`
}

IsosurfaceColorbarTickfont Sets the color bar's tick label font

type IsosurfaceColorbarTicklabelposition added in v0.3.1

type IsosurfaceColorbarTicklabelposition string

IsosurfaceColorbarTicklabelposition Determines where tick labels are drawn.

const (
	IsosurfaceColorbarTicklabelpositionOutside       IsosurfaceColorbarTicklabelposition = "outside"
	IsosurfaceColorbarTicklabelpositionInside        IsosurfaceColorbarTicklabelposition = "inside"
	IsosurfaceColorbarTicklabelpositionOutsideTop    IsosurfaceColorbarTicklabelposition = "outside top"
	IsosurfaceColorbarTicklabelpositionInsideTop     IsosurfaceColorbarTicklabelposition = "inside top"
	IsosurfaceColorbarTicklabelpositionOutsideBottom IsosurfaceColorbarTicklabelposition = "outside bottom"
	IsosurfaceColorbarTicklabelpositionInsideBottom  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 (
	IsosurfaceColorbarTickmodeAuto   IsosurfaceColorbarTickmode = "auto"
	IsosurfaceColorbarTickmodeLinear IsosurfaceColorbarTickmode = "linear"
	IsosurfaceColorbarTickmodeArray  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 (
	IsosurfaceColorbarTicksOutside IsosurfaceColorbarTicks = "outside"
	IsosurfaceColorbarTicksInside  IsosurfaceColorbarTicks = "inside"
	IsosurfaceColorbarTicksEmpty   IsosurfaceColorbarTicks = ""
)

type IsosurfaceColorbarTitle

type IsosurfaceColorbarTitle struct {

	// Font
	// role: Object
	Font *IsosurfaceColorbarTitleFont `json:"font,omitempty"`

	// Side
	// default: top
	// type: enumerated
	// Determines the location of color bar's title with respect to the color bar. Note that the title's location used to be set by the now deprecated `titleside` attribute.
	Side IsosurfaceColorbarTitleSide `json:"side,omitempty"`

	// Text
	// arrayOK: false
	// type: string
	// Sets the title of the color bar. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.
	Text String `json:"text,omitempty"`
}

IsosurfaceColorbarTitle

type IsosurfaceColorbarTitleFont

type IsosurfaceColorbarTitleFont struct {

	// Color
	// arrayOK: false
	// type: color
	//
	Color Color `json:"color,omitempty"`

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

	// Size
	// arrayOK: false
	// type: number
	//
	Size float64 `json:"size,omitempty"`
}

IsosurfaceColorbarTitleFont Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.

type 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 (
	IsosurfaceColorbarTitleSideRight  IsosurfaceColorbarTitleSide = "right"
	IsosurfaceColorbarTitleSideTop    IsosurfaceColorbarTitleSide = "top"
	IsosurfaceColorbarTitleSideBottom 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 (
	IsosurfaceColorbarXanchorLeft   IsosurfaceColorbarXanchor = "left"
	IsosurfaceColorbarXanchorCenter IsosurfaceColorbarXanchor = "center"
	IsosurfaceColorbarXanchorRight  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 (
	IsosurfaceColorbarYanchorTop    IsosurfaceColorbarYanchor = "top"
	IsosurfaceColorbarYanchorMiddle IsosurfaceColorbarYanchor = "middle"
	IsosurfaceColorbarYanchorBottom IsosurfaceColorbarYanchor = "bottom"
)

type IsosurfaceContour

type IsosurfaceContour struct {

	// Color
	// arrayOK: false
	// type: color
	// Sets the color of the contour lines.
	Color Color `json:"color,omitempty"`

	// Show
	// arrayOK: false
	// type: boolean
	// Sets whether or not dynamic contours are shown on hover
	Show Bool `json:"show,omitempty"`

	// Width
	// arrayOK: false
	// type: number
	// Sets the width of the contour lines.
	Width float64 `json:"width,omitempty"`
}

IsosurfaceContour

type IsosurfaceHoverinfo

type IsosurfaceHoverinfo string

IsosurfaceHoverinfo Determines which trace information appear on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired.

const (
	// Flags
	IsosurfaceHoverinfoX    IsosurfaceHoverinfo = "x"
	IsosurfaceHoverinfoY    IsosurfaceHoverinfo = "y"
	IsosurfaceHoverinfoZ    IsosurfaceHoverinfo = "z"
	IsosurfaceHoverinfoText IsosurfaceHoverinfo = "text"
	IsosurfaceHoverinfoName IsosurfaceHoverinfo = "name"

	// Extra
	IsosurfaceHoverinfoAll  IsosurfaceHoverinfo = "all"
	IsosurfaceHoverinfoNone IsosurfaceHoverinfo = "none"
	IsosurfaceHoverinfoSkip IsosurfaceHoverinfo = "skip"
)

type IsosurfaceHoverlabel

type IsosurfaceHoverlabel struct {

	// Align
	// default: auto
	// type: enumerated
	// Sets the horizontal alignment of the text content within hover label box. Has an effect only if the hover label text spans more two or more lines
	Align IsosurfaceHoverlabelAlign `json:"align,omitempty"`

	// Alignsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  align .
	Alignsrc String `json:"alignsrc,omitempty"`

	// Bgcolor
	// arrayOK: true
	// type: color
	// Sets the background color of the hover labels for this trace
	Bgcolor Color `json:"bgcolor,omitempty"`

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

	// Bordercolor
	// arrayOK: true
	// type: color
	// Sets the border color of the hover labels for this trace.
	Bordercolor Color `json:"bordercolor,omitempty"`

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

	// Font
	// role: Object
	Font *IsosurfaceHoverlabelFont `json:"font,omitempty"`

	// Namelength
	// arrayOK: true
	// type: integer
	// Sets the default length (in number of characters) of the trace name in the hover labels for all traces. -1 shows the whole name regardless of length. 0-3 shows the first 0-3 characters, and an integer >3 will show the whole name if it is less than that many characters, but if it is longer, will truncate to `namelength - 3` characters and add an ellipsis.
	Namelength int64 `json:"namelength,omitempty"`

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

IsosurfaceHoverlabel

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 (
	IsosurfaceHoverlabelAlignLeft  IsosurfaceHoverlabelAlign = "left"
	IsosurfaceHoverlabelAlignRight IsosurfaceHoverlabelAlign = "right"
	IsosurfaceHoverlabelAlignAuto  IsosurfaceHoverlabelAlign = "auto"
)

type IsosurfaceHoverlabelFont

type IsosurfaceHoverlabelFont struct {

	// Color
	// arrayOK: true
	// type: color
	//
	Color Color `json:"color,omitempty"`

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

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

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

	// Size
	// arrayOK: true
	// type: number
	//
	Size float64 `json:"size,omitempty"`

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

IsosurfaceHoverlabelFont Sets the font used in hover labels.

type IsosurfaceLighting

type IsosurfaceLighting struct {

	// Ambient
	// arrayOK: false
	// type: number
	// Ambient light increases overall color visibility but can wash out the image.
	Ambient float64 `json:"ambient,omitempty"`

	// Diffuse
	// arrayOK: false
	// type: number
	// Represents the extent that incident rays are reflected in a range of angles.
	Diffuse float64 `json:"diffuse,omitempty"`

	// Facenormalsepsilon
	// arrayOK: false
	// type: number
	// Epsilon for face normals calculation avoids math issues arising from degenerate geometry.
	Facenormalsepsilon float64 `json:"facenormalsepsilon,omitempty"`

	// Fresnel
	// arrayOK: false
	// type: number
	// Represents the reflectance as a dependency of the viewing angle; e.g. paper is reflective when viewing it from the edge of the paper (almost 90 degrees), causing shine.
	Fresnel float64 `json:"fresnel,omitempty"`

	// Roughness
	// arrayOK: false
	// type: number
	// Alters specular reflection; the rougher the surface, the wider and less contrasty the shine.
	Roughness float64 `json:"roughness,omitempty"`

	// Specular
	// arrayOK: false
	// type: number
	// Represents the level that incident rays are reflected in a single direction, causing shine.
	Specular float64 `json:"specular,omitempty"`

	// Vertexnormalsepsilon
	// arrayOK: false
	// type: number
	// Epsilon for vertex normals calculation avoids math issues arising from degenerate geometry.
	Vertexnormalsepsilon float64 `json:"vertexnormalsepsilon,omitempty"`
}

IsosurfaceLighting

type IsosurfaceLightposition

type IsosurfaceLightposition struct {

	// X
	// arrayOK: false
	// type: number
	// Numeric vector, representing the X coordinate for each vertex.
	X float64 `json:"x,omitempty"`

	// Y
	// arrayOK: false
	// type: number
	// Numeric vector, representing the Y coordinate for each vertex.
	Y float64 `json:"y,omitempty"`

	// Z
	// arrayOK: false
	// type: number
	// Numeric vector, representing the Z coordinate for each vertex.
	Z float64 `json:"z,omitempty"`
}

IsosurfaceLightposition

type IsosurfaceSlices

type IsosurfaceSlices struct {

	// X
	// role: Object
	X *IsosurfaceSlicesX `json:"x,omitempty"`

	// Y
	// role: Object
	Y *IsosurfaceSlicesY `json:"y,omitempty"`

	// Z
	// role: Object
	Z *IsosurfaceSlicesZ `json:"z,omitempty"`
}

IsosurfaceSlices

type IsosurfaceSlicesX

type IsosurfaceSlicesX struct {

	// Fill
	// arrayOK: false
	// type: number
	// Sets the fill ratio of the `slices`. The default fill value of the `slices` is 1 meaning that they are entirely shaded. On the other hand Applying a `fill` ratio less than one would allow the creation of openings parallel to the edges.
	Fill float64 `json:"fill,omitempty"`

	// Locations
	// arrayOK: false
	// type: data_array
	// Specifies the location(s) of slices on the axis. When not specified slices would be created for all points of the axis x except start and end.
	Locations interface{} `json:"locations,omitempty"`

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

	// Show
	// arrayOK: false
	// type: boolean
	// Determines whether or not slice planes about the x dimension are drawn.
	Show Bool `json:"show,omitempty"`
}

IsosurfaceSlicesX

type IsosurfaceSlicesY

type IsosurfaceSlicesY struct {

	// Fill
	// arrayOK: false
	// type: number
	// Sets the fill ratio of the `slices`. The default fill value of the `slices` is 1 meaning that they are entirely shaded. On the other hand Applying a `fill` ratio less than one would allow the creation of openings parallel to the edges.
	Fill float64 `json:"fill,omitempty"`

	// Locations
	// arrayOK: false
	// type: data_array
	// Specifies the location(s) of slices on the axis. When not specified slices would be created for all points of the axis y except start and end.
	Locations interface{} `json:"locations,omitempty"`

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

	// Show
	// arrayOK: false
	// type: boolean
	// Determines whether or not slice planes about the y dimension are drawn.
	Show Bool `json:"show,omitempty"`
}

IsosurfaceSlicesY

type IsosurfaceSlicesZ

type IsosurfaceSlicesZ struct {

	// Fill
	// arrayOK: false
	// type: number
	// Sets the fill ratio of the `slices`. The default fill value of the `slices` is 1 meaning that they are entirely shaded. On the other hand Applying a `fill` ratio less than one would allow the creation of openings parallel to the edges.
	Fill float64 `json:"fill,omitempty"`

	// Locations
	// arrayOK: false
	// type: data_array
	// Specifies the location(s) of slices on the axis. When not specified slices would be created for all points of the axis z except start and end.
	Locations interface{} `json:"locations,omitempty"`

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

	// Show
	// arrayOK: false
	// type: boolean
	// Determines whether or not slice planes about the z dimension are drawn.
	Show Bool `json:"show,omitempty"`
}

IsosurfaceSlicesZ

type IsosurfaceSpaceframe

type IsosurfaceSpaceframe struct {

	// Fill
	// arrayOK: false
	// type: number
	// Sets the fill ratio of the `spaceframe` elements. The default fill value is 0.15 meaning that only 15% of the area of every faces of tetras would be shaded. Applying a greater `fill` ratio would allow the creation of stronger elements or could be sued to have entirely closed areas (in case of using 1).
	Fill float64 `json:"fill,omitempty"`

	// Show
	// arrayOK: false
	// type: boolean
	// Displays/hides tetrahedron shapes between minimum and maximum iso-values. Often useful when either caps or surfaces are disabled or filled with values less than 1.
	Show Bool `json:"show,omitempty"`
}

IsosurfaceSpaceframe

type IsosurfaceStream

type IsosurfaceStream struct {

	// Maxpoints
	// arrayOK: false
	// type: number
	// Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot.
	Maxpoints float64 `json:"maxpoints,omitempty"`

	// Token
	// arrayOK: false
	// type: string
	// The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details.
	Token String `json:"token,omitempty"`
}

IsosurfaceStream

type IsosurfaceSurface

type IsosurfaceSurface struct {

	// Count
	// arrayOK: false
	// type: integer
	// Sets the number of iso-surfaces between minimum and maximum iso-values. By default this value is 2 meaning that only minimum and maximum surfaces would be drawn.
	Count int64 `json:"count,omitempty"`

	// Fill
	// arrayOK: false
	// type: number
	// Sets the fill ratio of the iso-surface. The default fill value of the surface is 1 meaning that they are entirely shaded. On the other hand Applying a `fill` ratio less than one would allow the creation of openings parallel to the edges.
	Fill float64 `json:"fill,omitempty"`

	// Pattern
	// default: all
	// type: flaglist
	// Sets the surface pattern of the iso-surface 3-D sections. The default pattern of the surface is `all` meaning that the rest of surface elements would be shaded. The check options (either 1 or 2) could be used to draw half of the squares on the surface. Using various combinations of capital `A`, `B`, `C`, `D` and `E` may also be used to reduce the number of triangles on the iso-surfaces and creating other patterns of interest.
	Pattern IsosurfaceSurfacePattern `json:"pattern,omitempty"`

	// Show
	// arrayOK: false
	// type: boolean
	// Hides/displays surfaces between minimum and maximum iso-values.
	Show Bool `json:"show,omitempty"`
}

IsosurfaceSurface

type IsosurfaceSurfacePattern

type IsosurfaceSurfacePattern string

IsosurfaceSurfacePattern Sets the surface pattern of the iso-surface 3-D sections. The default pattern of the surface is `all` meaning that the rest of surface elements would be shaded. The check options (either 1 or 2) could be used to draw half of the squares on the surface. Using various combinations of capital `A`, `B`, `C`, `D` and `E` may also be used to reduce the number of triangles on the iso-surfaces and creating other patterns of interest.

const (
	// Flags
	IsosurfaceSurfacePatternA IsosurfaceSurfacePattern = "A"
	IsosurfaceSurfacePatternB IsosurfaceSurfacePattern = "B"
	IsosurfaceSurfacePatternC IsosurfaceSurfacePattern = "C"
	IsosurfaceSurfacePatternD IsosurfaceSurfacePattern = "D"
	IsosurfaceSurfacePatternE IsosurfaceSurfacePattern = "E"

	// Extra
	IsosurfaceSurfacePatternAll  IsosurfaceSurfacePattern = "all"
	IsosurfaceSurfacePatternOdd  IsosurfaceSurfacePattern = "odd"
	IsosurfaceSurfacePatternEven IsosurfaceSurfacePattern = "even"
)

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 (
	IsosurfaceVisibleTrue       IsosurfaceVisible = true
	IsosurfaceVisibleFalse      IsosurfaceVisible = false
	IsosurfaceVisibleLegendonly IsosurfaceVisible = "legendonly"
)

type Layout

type Layout struct {

	// Activeshape
	// role: Object
	Activeshape *LayoutActiveshape `json:"activeshape,omitempty"`

	// Angularaxis
	// role: Object
	Angularaxis *LayoutAngularaxis `json:"angularaxis,omitempty"`

	// Annotations
	// It's an items array and what goes inside it's... messy... check the docs
	// I will be happy if you want to contribute by implementing this
	// just raise an issue before you start so we do not overlap
	Annotations interface{} `json:"annotations,omitempty"`

	// Autosize
	// arrayOK: false
	// type: boolean
	// Determines whether or not a layout width or height that has been left undefined by the user is initialized on each relayout. Note that, regardless of this attribute, an undefined layout width or height is always initialized on the first call to plot.
	Autosize Bool `json:"autosize,omitempty"`

	// Autotypenumbers
	// default: convert types
	// type: enumerated
	// Using *strict* a numeric string in trace data is not converted to a number. Using *convert types* a numeric string in trace data may be treated as a number during automatic axis `type` detection. This is the default value; however it could be overridden for individual axes.
	Autotypenumbers LayoutAutotypenumbers `json:"autotypenumbers,omitempty"`

	// Bargap
	// arrayOK: false
	// type: number
	// Sets the gap (in plot fraction) between bars of adjacent location coordinates.
	Bargap float64 `json:"bargap,omitempty"`

	// Bargroupgap
	// arrayOK: false
	// type: number
	// Sets the gap (in plot fraction) between bars of the same location coordinate.
	Bargroupgap float64 `json:"bargroupgap,omitempty"`

	// Barmode
	// default: group
	// type: enumerated
	// Determines how bars at the same location coordinate are displayed on the graph. With *stack*, the bars are stacked on top of one another With *relative*, the bars are stacked on top of one another, with negative values below the axis, positive values above With *group*, the bars are plotted next to one another centered around the shared location. With *overlay*, the bars are plotted over one another, you might need to an *opacity* to see multiple bars.
	Barmode LayoutBarmode `json:"barmode,omitempty"`

	// Barnorm
	// default:
	// type: enumerated
	// Sets the normalization for bar traces on the graph. With *fraction*, the value of each bar is divided by the sum of all values at that location coordinate. *percent* is the same but multiplied by 100 to show percentages.
	Barnorm LayoutBarnorm `json:"barnorm,omitempty"`

	// Boxgap
	// arrayOK: false
	// type: number
	// Sets the gap (in plot fraction) between boxes of adjacent location coordinates. Has no effect on traces that have *width* set.
	Boxgap float64 `json:"boxgap,omitempty"`

	// Boxgroupgap
	// arrayOK: false
	// type: number
	// Sets the gap (in plot fraction) between boxes of the same location coordinate. Has no effect on traces that have *width* set.
	Boxgroupgap float64 `json:"boxgroupgap,omitempty"`

	// Boxmode
	// default: overlay
	// type: enumerated
	// Determines how boxes at the same location coordinate are displayed on the graph. If *group*, the boxes are plotted next to one another centered around the shared location. If *overlay*, the boxes are plotted over one another, you might need to set *opacity* to see them multiple boxes. Has no effect on traces that have *width* set.
	Boxmode LayoutBoxmode `json:"boxmode,omitempty"`

	// Calendar
	// default: gregorian
	// type: enumerated
	// Sets the default calendar system to use for interpreting and displaying dates throughout the plot.
	Calendar LayoutCalendar `json:"calendar,omitempty"`

	// Clickmode
	// default: event
	// type: flaglist
	// Determines the mode of single click interactions. *event* is the default value and emits the `plotly_click` event. In addition this mode emits the `plotly_selected` event in drag modes *lasso* and *select*, but with no event data attached (kept for compatibility reasons). The *select* flag enables selecting single data points via click. This mode also supports persistent selections, meaning that pressing Shift while clicking, adds to / subtracts from an existing selection. *select* with `hovermode`: *x* can be confusing, consider explicitly setting `hovermode`: *closest* when using this feature. Selection events are sent accordingly as long as *event* flag is set as well. When the *event* flag is missing, `plotly_click` and `plotly_selected` events are not fired.
	Clickmode LayoutClickmode `json:"clickmode,omitempty"`

	// Coloraxis
	// role: Object
	Coloraxis *LayoutColoraxis `json:"coloraxis,omitempty"`

	// Colorscale
	// role: Object
	Colorscale *LayoutColorscale `json:"colorscale,omitempty"`

	// Colorway
	// arrayOK: false
	// type: colorlist
	// Sets the default trace colors.
	Colorway ColorList `json:"colorway,omitempty"`

	// Computed
	// arrayOK: false
	// type: any
	// Placeholder for exporting automargin-impacting values namely `margin.t`, `margin.b`, `margin.l` and `margin.r` in *full-json* mode.
	Computed interface{} `json:"computed,omitempty"`

	// Datarevision
	// arrayOK: false
	// type: any
	// If provided, a changed value tells `Plotly.react` that one or more data arrays has changed. This way you can modify arrays in-place rather than making a complete new copy for an incremental change. If NOT provided, `Plotly.react` assumes that data arrays are being treated as immutable, thus any data array with a different identity from its predecessor contains new data.
	Datarevision interface{} `json:"datarevision,omitempty"`

	// Direction
	// default: %!s(<nil>)
	// type: enumerated
	// Legacy polar charts are deprecated! Please switch to *polar* subplots. Sets the direction corresponding to positive angles in legacy polar charts.
	Direction LayoutDirection `json:"direction,omitempty"`

	// Dragmode
	// default: zoom
	// type: enumerated
	// Determines the mode of drag interactions. *select* and *lasso* apply only to scatter traces with markers or text. *orbit* and *turntable* apply only to 3D scenes.
	Dragmode LayoutDragmode `json:"dragmode,omitempty"`

	// Editrevision
	// arrayOK: false
	// type: any
	// Controls persistence of user-driven changes in `editable: true` configuration, other than trace names and axis titles. Defaults to `layout.uirevision`.
	Editrevision interface{} `json:"editrevision,omitempty"`

	// Extendfunnelareacolors
	// arrayOK: false
	// type: boolean
	// If `true`, the funnelarea slice colors (whether given by `funnelareacolorway` or inherited from `colorway`) will be extended to three times its original length by first repeating every color 20% lighter then each color 20% darker. This is intended to reduce the likelihood of reusing the same color when you have many slices, but you can set `false` to disable. Colors provided in the trace, using `marker.colors`, are never extended.
	Extendfunnelareacolors Bool `json:"extendfunnelareacolors,omitempty"`

	// Extendpiecolors
	// arrayOK: false
	// type: boolean
	// If `true`, the pie slice colors (whether given by `piecolorway` or inherited from `colorway`) will be extended to three times its original length by first repeating every color 20% lighter then each color 20% darker. This is intended to reduce the likelihood of reusing the same color when you have many slices, but you can set `false` to disable. Colors provided in the trace, using `marker.colors`, are never extended.
	Extendpiecolors Bool `json:"extendpiecolors,omitempty"`

	// Extendsunburstcolors
	// arrayOK: false
	// type: boolean
	// If `true`, the sunburst slice colors (whether given by `sunburstcolorway` or inherited from `colorway`) will be extended to three times its original length by first repeating every color 20% lighter then each color 20% darker. This is intended to reduce the likelihood of reusing the same color when you have many slices, but you can set `false` to disable. Colors provided in the trace, using `marker.colors`, are never extended.
	Extendsunburstcolors Bool `json:"extendsunburstcolors,omitempty"`

	// Extendtreemapcolors
	// arrayOK: false
	// type: boolean
	// If `true`, the treemap slice colors (whether given by `treemapcolorway` or inherited from `colorway`) will be extended to three times its original length by first repeating every color 20% lighter then each color 20% darker. This is intended to reduce the likelihood of reusing the same color when you have many slices, but you can set `false` to disable. Colors provided in the trace, using `marker.colors`, are never extended.
	Extendtreemapcolors Bool `json:"extendtreemapcolors,omitempty"`

	// Font
	// role: Object
	Font *LayoutFont `json:"font,omitempty"`

	// Funnelareacolorway
	// arrayOK: false
	// type: colorlist
	// Sets the default funnelarea slice colors. Defaults to the main `colorway` used for trace colors. If you specify a new list here it can still be extended with lighter and darker colors, see `extendfunnelareacolors`.
	Funnelareacolorway ColorList `json:"funnelareacolorway,omitempty"`

	// Funnelgap
	// arrayOK: false
	// type: number
	// Sets the gap (in plot fraction) between bars of adjacent location coordinates.
	Funnelgap float64 `json:"funnelgap,omitempty"`

	// Funnelgroupgap
	// arrayOK: false
	// type: number
	// Sets the gap (in plot fraction) between bars of the same location coordinate.
	Funnelgroupgap float64 `json:"funnelgroupgap,omitempty"`

	// Funnelmode
	// default: stack
	// type: enumerated
	// Determines how bars at the same location coordinate are displayed on the graph. With *stack*, the bars are stacked on top of one another With *group*, the bars are plotted next to one another centered around the shared location. With *overlay*, the bars are plotted over one another, you might need to an *opacity* to see multiple bars.
	Funnelmode LayoutFunnelmode `json:"funnelmode,omitempty"`

	// Geo
	// role: Object
	Geo *LayoutGeo `json:"geo,omitempty"`

	// Grid
	// role: Object
	Grid *LayoutGrid `json:"grid,omitempty"`

	// Height
	// arrayOK: false
	// type: number
	// Sets the plot's height (in px).
	Height float64 `json:"height,omitempty"`

	// Hiddenlabels
	// arrayOK: false
	// type: data_array
	// hiddenlabels is the funnelarea & pie chart analog of visible:'legendonly' but it can contain many labels, and can simultaneously hide slices from several pies/funnelarea charts
	Hiddenlabels interface{} `json:"hiddenlabels,omitempty"`

	// Hiddenlabelssrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  hiddenlabels .
	Hiddenlabelssrc String `json:"hiddenlabelssrc,omitempty"`

	// Hidesources
	// arrayOK: false
	// type: boolean
	// Determines whether or not a text link citing the data source is placed at the bottom-right cored of the figure. Has only an effect only on graphs that have been generated via forked graphs from the Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise).
	Hidesources Bool `json:"hidesources,omitempty"`

	// Hoverdistance
	// arrayOK: false
	// type: integer
	// Sets the default distance (in pixels) to look for data to add hover labels (-1 means no cutoff, 0 means no looking for data). This is only a real distance for hovering on point-like objects, like scatter points. For area-like objects (bars, scatter fills, etc) hovering is on inside the area and off outside, but these objects will not supersede hover on point-like objects in case of conflict.
	Hoverdistance int64 `json:"hoverdistance,omitempty"`

	// Hoverlabel
	// role: Object
	Hoverlabel *LayoutHoverlabel `json:"hoverlabel,omitempty"`

	// Hovermode
	// default: %!s(<nil>)
	// type: enumerated
	// Determines the mode of hover interactions. If *closest*, a single hoverlabel will appear for the *closest* point within the `hoverdistance`. If *x* (or *y*), multiple hoverlabels will appear for multiple points at the *closest* x- (or y-) coordinate within the `hoverdistance`, with the caveat that no more than one hoverlabel will appear per trace. If *x unified* (or *y unified*), a single hoverlabel will appear multiple points at the closest x- (or y-) coordinate within the `hoverdistance` with the caveat that no more than one hoverlabel will appear per trace. In this mode, spikelines are enabled by default perpendicular to the specified axis. If false, hover interactions are disabled. If `clickmode` includes the *select* flag, `hovermode` defaults to *closest*. If `clickmode` lacks the *select* flag, it defaults to *x* or *y* (depending on the trace's `orientation` value) for plots based on cartesian coordinates. For anything else the default value is *closest*.
	Hovermode LayoutHovermode `json:"hovermode,omitempty"`

	// Images
	// It's an items array and what goes inside it's... messy... check the docs
	// I will be happy if you want to contribute by implementing this
	// just raise an issue before you start so we do not overlap
	Images interface{} `json:"images,omitempty"`

	// Legend
	// role: Object
	Legend *LayoutLegend `json:"legend,omitempty"`

	// Mapbox
	// role: Object
	Mapbox *LayoutMapbox `json:"mapbox,omitempty"`

	// Margin
	// role: Object
	Margin *LayoutMargin `json:"margin,omitempty"`

	// Meta
	// arrayOK: true
	// type: any
	// Assigns extra meta information that can be used in various `text` attributes. Attributes such as the graph, axis and colorbar `title.text`, annotation `text` `trace.name` in legend items, `rangeselector`, `updatemenus` and `sliders` `label` text all support `meta`. One can access `meta` fields using template strings: `%{meta[i]}` where `i` is the index of the `meta` item in question. `meta` can also be an object for example `{key: value}` which can be accessed %{meta[key]}.
	Meta interface{} `json:"meta,omitempty"`

	// Metasrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  meta .
	Metasrc String `json:"metasrc,omitempty"`

	// Modebar
	// role: Object
	Modebar *LayoutModebar `json:"modebar,omitempty"`

	// Newshape
	// role: Object
	Newshape *LayoutNewshape `json:"newshape,omitempty"`

	// Orientation
	// arrayOK: false
	// type: angle
	// Legacy polar charts are deprecated! Please switch to *polar* subplots. Rotates the entire polar by the given angle in legacy polar charts.
	Orientation float64 `json:"orientation,omitempty"`

	// PaperBgcolor
	// arrayOK: false
	// type: color
	// Sets the background color of the paper where the graph is drawn.
	PaperBgcolor Color `json:"paper_bgcolor,omitempty"`

	// Piecolorway
	// arrayOK: false
	// type: colorlist
	// Sets the default pie slice colors. Defaults to the main `colorway` used for trace colors. If you specify a new list here it can still be extended with lighter and darker colors, see `extendpiecolors`.
	Piecolorway ColorList `json:"piecolorway,omitempty"`

	// PlotBgcolor
	// arrayOK: false
	// type: color
	// Sets the background color of the plotting area in-between x and y axes.
	PlotBgcolor Color `json:"plot_bgcolor,omitempty"`

	// Polar
	// role: Object
	Polar *LayoutPolar `json:"polar,omitempty"`

	// Radialaxis
	// role: Object
	Radialaxis *LayoutRadialaxis `json:"radialaxis,omitempty"`

	// Scene
	// role: Object
	Scene *LayoutScene `json:"scene,omitempty"`

	// Selectdirection
	// default: any
	// type: enumerated
	// When `dragmode` is set to *select*, this limits the selection of the drag to horizontal, vertical or diagonal. *h* only allows horizontal selection, *v* only vertical, *d* only diagonal and *any* sets no limit.
	Selectdirection LayoutSelectdirection `json:"selectdirection,omitempty"`

	// Selectionrevision
	// arrayOK: false
	// type: any
	// Controls persistence of user-driven changes in selected points from all traces.
	Selectionrevision interface{} `json:"selectionrevision,omitempty"`

	// Separators
	// arrayOK: false
	// type: string
	// Sets the decimal and thousand separators. For example, *. * puts a '.' before decimals and a space between thousands. In English locales, dflt is *.,* but other locales may alter this default.
	Separators String `json:"separators,omitempty"`

	// Shapes
	// It's an items array and what goes inside it's... messy... check the docs
	// I will be happy if you want to contribute by implementing this
	// just raise an issue before you start so we do not overlap
	Shapes interface{} `json:"shapes,omitempty"`

	// Showlegend
	// arrayOK: false
	// type: boolean
	// Determines whether or not a legend is drawn. Default is `true` if there is a trace to show and any of these: a) Two or more traces would by default be shown in the legend. b) One pie trace is shown in the legend. c) One trace is explicitly given with `showlegend: true`.
	Showlegend Bool `json:"showlegend,omitempty"`

	// Sliders
	// It's an items array and what goes inside it's... messy... check the docs
	// I will be happy if you want to contribute by implementing this
	// just raise an issue before you start so we do not overlap
	Sliders interface{} `json:"sliders,omitempty"`

	// Spikedistance
	// arrayOK: false
	// type: integer
	// Sets the default distance (in pixels) to look for data to draw spikelines to (-1 means no cutoff, 0 means no looking for data). As with hoverdistance, distance does not apply to area-like objects. In addition, some objects can be hovered on but will not generate spikelines, such as scatter fills.
	Spikedistance int64 `json:"spikedistance,omitempty"`

	// Sunburstcolorway
	// arrayOK: false
	// type: colorlist
	// Sets the default sunburst slice colors. Defaults to the main `colorway` used for trace colors. If you specify a new list here it can still be extended with lighter and darker colors, see `extendsunburstcolors`.
	Sunburstcolorway ColorList `json:"sunburstcolorway,omitempty"`

	// Template
	// arrayOK: false
	// type: any
	// Default attributes to be applied to the plot. Templates can be created from existing plots using `Plotly.makeTemplate`, or created manually. They should be objects with format: `{layout: layoutTemplate, data: {[type]: [traceTemplate, ...]}, ...}` `layoutTemplate` and `traceTemplate` are objects matching the attribute structure of `layout` and a data trace.  Trace templates are applied cyclically to traces of each type. Container arrays (eg `annotations`) have special handling: An object ending in `defaults` (eg `annotationdefaults`) is applied to each array item. But if an item has a `templateitemname` key we look in the template array for an item with matching `name` and apply that instead. If no matching `name` is found we mark the item invisible. Any named template item not referenced is appended to the end of the array, so you can use this for a watermark annotation or a logo image, for example. To omit one of these items on the plot, make an item with matching `templateitemname` and `visible: false`.
	Template interface{} `json:"template,omitempty"`

	// Ternary
	// role: Object
	Ternary *LayoutTernary `json:"ternary,omitempty"`

	// Title
	// role: Object
	Title *LayoutTitle `json:"title,omitempty"`

	// Transition
	// role: Object
	Transition *LayoutTransition `json:"transition,omitempty"`

	// Treemapcolorway
	// arrayOK: false
	// type: colorlist
	// Sets the default treemap slice colors. Defaults to the main `colorway` used for trace colors. If you specify a new list here it can still be extended with lighter and darker colors, see `extendtreemapcolors`.
	Treemapcolorway ColorList `json:"treemapcolorway,omitempty"`

	// Uirevision
	// arrayOK: false
	// type: any
	// Used to allow user interactions with the plot to persist after `Plotly.react` calls that are unaware of these interactions. If `uirevision` is omitted, or if it is given and it changed from the previous `Plotly.react` call, the exact new figure is used. If `uirevision` is truthy and did NOT change, any attribute that has been affected by user interactions and did not receive a different value in the new figure will keep the interaction value. `layout.uirevision` attribute serves as the default for `uirevision` attributes in various sub-containers. For finer control you can set these sub-attributes directly. For example, if your app separately controls the data on the x and y axes you might set `xaxis.uirevision=*time*` and `yaxis.uirevision=*cost*`. Then if only the y data is changed, you can update `yaxis.uirevision=*quantity*` and the y axis range will reset but the x axis range will retain any user-driven zoom.
	Uirevision interface{} `json:"uirevision,omitempty"`

	// Uniformtext
	// role: Object
	Uniformtext *LayoutUniformtext `json:"uniformtext,omitempty"`

	// Updatemenus
	// It's an items array and what goes inside it's... messy... check the docs
	// I will be happy if you want to contribute by implementing this
	// just raise an issue before you start so we do not overlap
	Updatemenus interface{} `json:"updatemenus,omitempty"`

	// Violingap
	// arrayOK: false
	// type: number
	// Sets the gap (in plot fraction) between violins of adjacent location coordinates. Has no effect on traces that have *width* set.
	Violingap float64 `json:"violingap,omitempty"`

	// Violingroupgap
	// arrayOK: false
	// type: number
	// Sets the gap (in plot fraction) between violins of the same location coordinate. Has no effect on traces that have *width* set.
	Violingroupgap float64 `json:"violingroupgap,omitempty"`

	// Violinmode
	// default: overlay
	// type: enumerated
	// Determines how violins at the same location coordinate are displayed on the graph. If *group*, the violins are plotted next to one another centered around the shared location. If *overlay*, the violins are plotted over one another, you might need to set *opacity* to see them multiple violins. Has no effect on traces that have *width* set.
	Violinmode LayoutViolinmode `json:"violinmode,omitempty"`

	// Waterfallgap
	// arrayOK: false
	// type: number
	// Sets the gap (in plot fraction) between bars of adjacent location coordinates.
	Waterfallgap float64 `json:"waterfallgap,omitempty"`

	// Waterfallgroupgap
	// arrayOK: false
	// type: number
	// Sets the gap (in plot fraction) between bars of the same location coordinate.
	Waterfallgroupgap float64 `json:"waterfallgroupgap,omitempty"`

	// Waterfallmode
	// default: group
	// type: enumerated
	// Determines how bars at the same location coordinate are displayed on the graph. With *group*, the bars are plotted next to one another centered around the shared location. With *overlay*, the bars are plotted over one another, you might need to an *opacity* to see multiple bars.
	Waterfallmode LayoutWaterfallmode `json:"waterfallmode,omitempty"`

	// Width
	// arrayOK: false
	// type: number
	// Sets the plot's width (in px).
	Width float64 `json:"width,omitempty"`

	// Xaxis
	// role: Object
	Xaxis *LayoutXaxis `json:"xaxis,omitempty"`

	// Yaxis
	// role: Object
	Yaxis *LayoutYaxis `json:"yaxis,omitempty"`

	// XAxis2
	// X Axis number 2
	XAxis2 *LayoutXaxis `json:"xaxis2,omitempty"`

	// XAxis3
	// X Axis number 3
	XAxis3 *LayoutXaxis `json:"xaxis3,omitempty"`

	// XAxis4
	// X Axis number 4
	XAxis4 *LayoutXaxis `json:"xaxis4,omitempty"`

	// XAxis5
	// X Axis number 5
	XAxis5 *LayoutXaxis `json:"xaxis5,omitempty"`

	// XAxis6
	// X Axis number 6
	XAxis6 *LayoutXaxis `json:"xaxis6,omitempty"`

	// YAxis2
	// Y Axis number 2
	YAxis2 *LayoutYaxis `json:"yaxis2,omitempty"`

	// YAxis3
	// Y Axis number 3
	YAxis3 *LayoutYaxis `json:"yaxis3,omitempty"`

	// YAxis4
	// Y Axis number 4
	YAxis4 *LayoutYaxis `json:"yaxis4,omitempty"`

	// YAxis5
	// Y Axis number 5
	YAxis5 *LayoutYaxis `json:"yaxis5,omitempty"`

	// YAxis6
	// Y Axis number 6
	YAxis6 *LayoutYaxis `json:"yaxis6,omitempty"`
}

Code generated by go-plotly/generator. DO NOT EDIT.// Layout Plot layout options

type LayoutActiveshape

type LayoutActiveshape struct {

	// Fillcolor
	// arrayOK: false
	// type: color
	// Sets the color filling the active shape' interior.
	Fillcolor Color `json:"fillcolor,omitempty"`

	// Opacity
	// arrayOK: false
	// type: number
	// Sets the opacity of the active shape.
	Opacity float64 `json:"opacity,omitempty"`
}

LayoutActiveshape

type LayoutAngularaxis

type LayoutAngularaxis struct {

	// Domain
	// arrayOK: false
	// type: info_array
	// Polar chart subplots are not supported yet. This key has currently no effect.
	Domain interface{} `json:"domain,omitempty"`

	// Endpadding
	// arrayOK: false
	// type: number
	// Legacy polar charts are deprecated! Please switch to *polar* subplots.
	Endpadding float64 `json:"endpadding,omitempty"`

	// Range
	// arrayOK: false
	// type: info_array
	// Legacy polar charts are deprecated! Please switch to *polar* subplots. Defines the start and end point of this angular axis.
	Range interface{} `json:"range,omitempty"`

	// Showline
	// arrayOK: false
	// type: boolean
	// Legacy polar charts are deprecated! Please switch to *polar* subplots. Determines whether or not the line bounding this angular axis will be shown on the figure.
	Showline Bool `json:"showline,omitempty"`

	// Showticklabels
	// arrayOK: false
	// type: boolean
	// Legacy polar charts are deprecated! Please switch to *polar* subplots. Determines whether or not the angular axis ticks will feature tick labels.
	Showticklabels Bool `json:"showticklabels,omitempty"`

	// Tickcolor
	// arrayOK: false
	// type: color
	// Legacy polar charts are deprecated! Please switch to *polar* subplots. Sets the color of the tick lines on this angular axis.
	Tickcolor Color `json:"tickcolor,omitempty"`

	// Ticklen
	// arrayOK: false
	// type: number
	// Legacy polar charts are deprecated! Please switch to *polar* subplots. Sets the length of the tick lines on this angular axis.
	Ticklen float64 `json:"ticklen,omitempty"`

	// Tickorientation
	// default: %!s(<nil>)
	// type: enumerated
	// Legacy polar charts are deprecated! Please switch to *polar* subplots. Sets the orientation (from the paper perspective) of the angular axis tick labels.
	Tickorientation LayoutAngularaxisTickorientation `json:"tickorientation,omitempty"`

	// Ticksuffix
	// arrayOK: false
	// type: string
	// Legacy polar charts are deprecated! Please switch to *polar* subplots. Sets the length of the tick lines on this angular axis.
	Ticksuffix String `json:"ticksuffix,omitempty"`

	// Visible
	// arrayOK: false
	// type: boolean
	// Legacy polar charts are deprecated! Please switch to *polar* subplots. Determines whether or not this axis will be visible.
	Visible Bool `json:"visible,omitempty"`
}

LayoutAngularaxis

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 (
	LayoutAngularaxisTickorientationHorizontal LayoutAngularaxisTickorientation = "horizontal"
	LayoutAngularaxisTickorientationVertical   LayoutAngularaxisTickorientation = "vertical"
)

type LayoutAutotypenumbers added in v0.3.1

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 (
	LayoutAutotypenumbersConvertTypes LayoutAutotypenumbers = "convert types"
	LayoutAutotypenumbersStrict       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 (
	HistogramBarmodeStack    LayoutBarmode = "stack"
	HistogramBarmodeGroup    LayoutBarmode = "group"
	HistogramBarmodeOverlay  LayoutBarmode = "overlay"
	HistogramBarmodeRelative LayoutBarmode = "relative"
	BarBarmodeStack          LayoutBarmode = "stack"
	BarBarmodeGroup          LayoutBarmode = "group"
	BarBarmodeOverlay        LayoutBarmode = "overlay"
	BarBarmodeRelative       LayoutBarmode = "relative"
	BarpolarBarmodeStack     LayoutBarmode = "stack"
	BarpolarBarmodeOverlay   LayoutBarmode = "overlay"
)

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 (
	BarBarnormEmpty          LayoutBarnorm = ""
	BarBarnormFraction       LayoutBarnorm = "fraction"
	BarBarnormPercent        LayoutBarnorm = "percent"
	HistogramBarnormEmpty    LayoutBarnorm = ""
	HistogramBarnormFraction LayoutBarnorm = "fraction"
	HistogramBarnormPercent  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 (
	BoxBoxmodeGroup           LayoutBoxmode = "group"
	BoxBoxmodeOverlay         LayoutBoxmode = "overlay"
	CandlestickBoxmodeGroup   LayoutBoxmode = "group"
	CandlestickBoxmodeOverlay LayoutBoxmode = "overlay"
)

type LayoutCalendar

type LayoutCalendar string

LayoutCalendar Sets the default calendar system to use for interpreting and displaying dates throughout the plot.

const (
	LayoutCalendarGregorian  LayoutCalendar = "gregorian"
	LayoutCalendarChinese    LayoutCalendar = "chinese"
	LayoutCalendarCoptic     LayoutCalendar = "coptic"
	LayoutCalendarDiscworld  LayoutCalendar = "discworld"
	LayoutCalendarEthiopian  LayoutCalendar = "ethiopian"
	LayoutCalendarHebrew     LayoutCalendar = "hebrew"
	LayoutCalendarIslamic    LayoutCalendar = "islamic"
	LayoutCalendarJulian     LayoutCalendar = "julian"
	LayoutCalendarMayan      LayoutCalendar = "mayan"
	LayoutCalendarNanakshahi LayoutCalendar = "nanakshahi"
	LayoutCalendarNepali     LayoutCalendar = "nepali"
	LayoutCalendarPersian    LayoutCalendar = "persian"
	LayoutCalendarJalali     LayoutCalendar = "jalali"
	LayoutCalendarTaiwan     LayoutCalendar = "taiwan"
	LayoutCalendarThai       LayoutCalendar = "thai"
	LayoutCalendarUmmalqura  LayoutCalendar = "ummalqura"
)

type LayoutClickmode

type LayoutClickmode string

LayoutClickmode Determines the mode of single click interactions. *event* is the default value and emits the `plotly_click` event. In addition this mode emits the `plotly_selected` event in drag modes *lasso* and *select*, but with no event data attached (kept for compatibility reasons). The *select* flag enables selecting single data points via click. This mode also supports persistent selections, meaning that pressing Shift while clicking, adds to / subtracts from an existing selection. *select* with `hovermode`: *x* can be confusing, consider explicitly setting `hovermode`: *closest* when using this feature. Selection events are sent accordingly as long as *event* flag is set as well. When the *event* flag is missing, `plotly_click` and `plotly_selected` events are not fired.

const (
	// Flags
	LayoutClickmodeEvent  LayoutClickmode = "event"
	LayoutClickmodeSelect LayoutClickmode = "select"

	// Extra
	LayoutClickmodeNone LayoutClickmode = "none"
)

type LayoutColoraxis

type LayoutColoraxis struct {

	// Autocolorscale
	// arrayOK: false
	// type: boolean
	// Determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by `colorscale`. In case `colorscale` is unspecified or `autocolorscale` is true, the default  palette will be chosen according to whether numbers in the `color` array are all positive, all negative or mixed.
	Autocolorscale Bool `json:"autocolorscale,omitempty"`

	// Cauto
	// arrayOK: false
	// type: boolean
	// Determines whether or not the color domain is computed with respect to the input data (here corresponding trace color array(s)) or the bounds set in `cmin` and `cmax`  Defaults to `false` when `cmin` and `cmax` are set by the user.
	Cauto Bool `json:"cauto,omitempty"`

	// Cmax
	// arrayOK: false
	// type: number
	// Sets the upper bound of the color domain. Value should have the same units as corresponding trace color array(s) and if set, `cmin` must be set as well.
	Cmax float64 `json:"cmax,omitempty"`

	// Cmid
	// arrayOK: false
	// type: number
	// Sets the mid-point of the color domain by scaling `cmin` and/or `cmax` to be equidistant to this point. Value should have the same units as corresponding trace color array(s). Has no effect when `cauto` is `false`.
	Cmid float64 `json:"cmid,omitempty"`

	// Cmin
	// arrayOK: false
	// type: number
	// Sets the lower bound of the color domain. Value should have the same units as corresponding trace color array(s) and if set, `cmax` must be set as well.
	Cmin float64 `json:"cmin,omitempty"`

	// Colorbar
	// role: Object
	Colorbar *LayoutColoraxisColorbar `json:"colorbar,omitempty"`

	// Colorscale
	// default: %!s(<nil>)
	// type: colorscale
	// Sets the colorscale. The colorscale must be an array containing arrays mapping a normalized value to an rgb, rgba, hex, hsl, hsv, or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, use`cmin` and `cmax`. Alternatively, `colorscale` may be a palette name string of the following list: Greys,YlGnBu,Greens,YlOrRd,Bluered,RdBu,Reds,Blues,Picnic,Rainbow,Portland,Jet,Hot,Blackbody,Earth,Electric,Viridis,Cividis.
	Colorscale ColorScale `json:"colorscale,omitempty"`

	// Reversescale
	// arrayOK: false
	// type: boolean
	// Reverses the color mapping if true. If true, `cmin` will correspond to the last color in the array and `cmax` will correspond to the first color.
	Reversescale Bool `json:"reversescale,omitempty"`

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

LayoutColoraxis

type LayoutColoraxisColorbar

type LayoutColoraxisColorbar struct {

	// Bgcolor
	// arrayOK: false
	// type: color
	// Sets the color of padded area.
	Bgcolor Color `json:"bgcolor,omitempty"`

	// Bordercolor
	// arrayOK: false
	// type: color
	// Sets the axis line color.
	Bordercolor Color `json:"bordercolor,omitempty"`

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

	// Dtick
	// arrayOK: false
	// type: any
	// Sets the step in-between ticks on this axis. Use with `tick0`. Must be a positive number, or special strings available to *log* and *date* axes. If the axis `type` is *log*, then ticks are set every 10^(n*dtick) where n is the tick number. For example, to set a tick mark at 1, 10, 100, 1000, ... set dtick to 1. To set tick marks at 1, 100, 10000, ... set dtick to 2. To set tick marks at 1, 5, 25, 125, 625, 3125, ... set dtick to log_10(5), or 0.69897000433. *log* has several special values; *L<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
	// default: B
	// type: enumerated
	// Determines a formatting rule for the tick exponents. For example, consider the number 1,000,000,000. If *none*, it appears as 1,000,000,000. If *e*, 1e+9. If *E*, 1E+9. If *power*, 1x10^9 (with 9 in a super script). If *SI*, 1G. If *B*, 1B.
	Exponentformat LayoutColoraxisColorbarExponentformat `json:"exponentformat,omitempty"`

	// Len
	// arrayOK: false
	// type: number
	// Sets the length of the color bar This measure excludes the padding of both ends. That is, the color bar length is this length minus the padding on both ends.
	Len float64 `json:"len,omitempty"`

	// Lenmode
	// default: fraction
	// type: enumerated
	// Determines whether this color bar's length (i.e. the measure in the color variation direction) is set in units of plot *fraction* or in *pixels. Use `len` to set the value.
	Lenmode LayoutColoraxisColorbarLenmode `json:"lenmode,omitempty"`

	// Minexponent
	// arrayOK: false
	// type: number
	// Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*.
	Minexponent float64 `json:"minexponent,omitempty"`

	// Nticks
	// arrayOK: false
	// type: integer
	// Specifies the maximum number of ticks for the particular axis. The actual number of ticks will be chosen automatically to be less than or equal to `nticks`. Has an effect only if `tickmode` is set to *auto*.
	Nticks int64 `json:"nticks,omitempty"`

	// Outlinecolor
	// arrayOK: false
	// type: color
	// Sets the axis line color.
	Outlinecolor Color `json:"outlinecolor,omitempty"`

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

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

	// Showexponent
	// default: all
	// type: enumerated
	// If *all*, all exponents are shown besides their significands. If *first*, only the exponent of the first tick is shown. If *last*, only the exponent of the last tick is shown. If *none*, no exponents appear.
	Showexponent LayoutColoraxisColorbarShowexponent `json:"showexponent,omitempty"`

	// Showticklabels
	// arrayOK: false
	// type: boolean
	// Determines whether or not the tick labels are drawn.
	Showticklabels Bool `json:"showticklabels,omitempty"`

	// Showtickprefix
	// default: all
	// type: enumerated
	// If *all*, all tick labels are displayed with a prefix. If *first*, only the first tick is displayed with a prefix. If *last*, only the last tick is displayed with a suffix. If *none*, tick prefixes are hidden.
	Showtickprefix LayoutColoraxisColorbarShowtickprefix `json:"showtickprefix,omitempty"`

	// Showticksuffix
	// default: all
	// type: enumerated
	// Same as `showtickprefix` but for tick suffixes.
	Showticksuffix LayoutColoraxisColorbarShowticksuffix `json:"showticksuffix,omitempty"`

	// Thickness
	// arrayOK: false
	// type: number
	// Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.
	Thickness float64 `json:"thickness,omitempty"`

	// Thicknessmode
	// default: pixels
	// type: enumerated
	// Determines whether this color bar's thickness (i.e. the measure in the constant color direction) is set in units of plot *fraction* or in *pixels*. Use `thickness` to set the value.
	Thicknessmode LayoutColoraxisColorbarThicknessmode `json:"thicknessmode,omitempty"`

	// Tick0
	// arrayOK: false
	// type: any
	// Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2) except when `dtick`=*L<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
	// arrayOK: false
	// type: angle
	// Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.
	Tickangle float64 `json:"tickangle,omitempty"`

	// Tickcolor
	// arrayOK: false
	// type: color
	// Sets the tick color.
	Tickcolor Color `json:"tickcolor,omitempty"`

	// Tickfont
	// role: Object
	Tickfont *LayoutColoraxisColorbarTickfont `json:"tickfont,omitempty"`

	// Tickformat
	// arrayOK: false
	// type: string
	// Sets the tick label formatting rule using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-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
	// It's an items array and what goes inside it's... messy... check the docs
	// I will be happy if you want to contribute by implementing this
	// just raise an issue before you start so we do not overlap
	Tickformatstops interface{} `json:"tickformatstops,omitempty"`

	// Ticklabelposition
	// default: outside
	// type: enumerated
	// Determines where tick labels are drawn.
	Ticklabelposition LayoutColoraxisColorbarTicklabelposition `json:"ticklabelposition,omitempty"`

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

	// Tickmode
	// default: %!s(<nil>)
	// type: enumerated
	// Sets the tick mode for this axis. If *auto*, the number of ticks is set via `nticks`. If *linear*, the placement of the ticks is determined by a starting position `tick0` and a tick step `dtick` (*linear* is the default value if `tick0` and `dtick` are provided). If *array*, the placement of the ticks is set via `tickvals` and the tick text is `ticktext`. (*array* is the default value if `tickvals` is provided).
	Tickmode LayoutColoraxisColorbarTickmode `json:"tickmode,omitempty"`

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

	// Ticks
	// default:
	// type: enumerated
	// Determines whether ticks are drawn or not. If **, this axis' ticks are not drawn. If *outside* (*inside*), this axis' are drawn outside (inside) the axis lines.
	Ticks LayoutColoraxisColorbarTicks `json:"ticks,omitempty"`

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

	// Ticktext
	// arrayOK: false
	// type: data_array
	// Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `tickvals`.
	Ticktext interface{} `json:"ticktext,omitempty"`

	// Ticktextsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  ticktext .
	Ticktextsrc String `json:"ticktextsrc,omitempty"`

	// Tickvals
	// arrayOK: false
	// type: data_array
	// Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.
	Tickvals interface{} `json:"tickvals,omitempty"`

	// Tickvalssrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  tickvals .
	Tickvalssrc String `json:"tickvalssrc,omitempty"`

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

	// Title
	// role: Object
	Title *LayoutColoraxisColorbarTitle `json:"title,omitempty"`

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

	// Xanchor
	// default: left
	// type: enumerated
	// Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the color bar.
	Xanchor LayoutColoraxisColorbarXanchor `json:"xanchor,omitempty"`

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

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

	// Yanchor
	// default: middle
	// type: enumerated
	// Sets this color bar's vertical position anchor This anchor binds the `y` position to the *top*, *middle* or *bottom* of the color bar.
	Yanchor LayoutColoraxisColorbarYanchor `json:"yanchor,omitempty"`

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

LayoutColoraxisColorbar

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 (
	LayoutColoraxisColorbarExponentformatNone  LayoutColoraxisColorbarExponentformat = "none"
	LayoutColoraxisColorbarExponentformatE1    LayoutColoraxisColorbarExponentformat = "e"
	LayoutColoraxisColorbarExponentformatE2    LayoutColoraxisColorbarExponentformat = "E"
	LayoutColoraxisColorbarExponentformatPower LayoutColoraxisColorbarExponentformat = "power"
	LayoutColoraxisColorbarExponentformatSi    LayoutColoraxisColorbarExponentformat = "SI"
	LayoutColoraxisColorbarExponentformatB     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 (
	LayoutColoraxisColorbarLenmodeFraction LayoutColoraxisColorbarLenmode = "fraction"
	LayoutColoraxisColorbarLenmodePixels   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 (
	LayoutColoraxisColorbarShowexponentAll   LayoutColoraxisColorbarShowexponent = "all"
	LayoutColoraxisColorbarShowexponentFirst LayoutColoraxisColorbarShowexponent = "first"
	LayoutColoraxisColorbarShowexponentLast  LayoutColoraxisColorbarShowexponent = "last"
	LayoutColoraxisColorbarShowexponentNone  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 (
	LayoutColoraxisColorbarShowtickprefixAll   LayoutColoraxisColorbarShowtickprefix = "all"
	LayoutColoraxisColorbarShowtickprefixFirst LayoutColoraxisColorbarShowtickprefix = "first"
	LayoutColoraxisColorbarShowtickprefixLast  LayoutColoraxisColorbarShowtickprefix = "last"
	LayoutColoraxisColorbarShowtickprefixNone  LayoutColoraxisColorbarShowtickprefix = "none"
)

type LayoutColoraxisColorbarShowticksuffix

type LayoutColoraxisColorbarShowticksuffix string

LayoutColoraxisColorbarShowticksuffix Same as `showtickprefix` but for tick suffixes.

const (
	LayoutColoraxisColorbarShowticksuffixAll   LayoutColoraxisColorbarShowticksuffix = "all"
	LayoutColoraxisColorbarShowticksuffixFirst LayoutColoraxisColorbarShowticksuffix = "first"
	LayoutColoraxisColorbarShowticksuffixLast  LayoutColoraxisColorbarShowticksuffix = "last"
	LayoutColoraxisColorbarShowticksuffixNone  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 (
	LayoutColoraxisColorbarThicknessmodeFraction LayoutColoraxisColorbarThicknessmode = "fraction"
	LayoutColoraxisColorbarThicknessmodePixels   LayoutColoraxisColorbarThicknessmode = "pixels"
)

type LayoutColoraxisColorbarTickfont

type LayoutColoraxisColorbarTickfont struct {

	// Color
	// arrayOK: false
	// type: color
	//
	Color Color `json:"color,omitempty"`

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

	// Size
	// arrayOK: false
	// type: number
	//
	Size float64 `json:"size,omitempty"`
}

LayoutColoraxisColorbarTickfont Sets the color bar's tick label font

type LayoutColoraxisColorbarTicklabelposition added in v0.3.1

type LayoutColoraxisColorbarTicklabelposition string

LayoutColoraxisColorbarTicklabelposition Determines where tick labels are drawn.

const (
	LayoutColoraxisColorbarTicklabelpositionOutside       LayoutColoraxisColorbarTicklabelposition = "outside"
	LayoutColoraxisColorbarTicklabelpositionInside        LayoutColoraxisColorbarTicklabelposition = "inside"
	LayoutColoraxisColorbarTicklabelpositionOutsideTop    LayoutColoraxisColorbarTicklabelposition = "outside top"
	LayoutColoraxisColorbarTicklabelpositionInsideTop     LayoutColoraxisColorbarTicklabelposition = "inside top"
	LayoutColoraxisColorbarTicklabelpositionOutsideBottom LayoutColoraxisColorbarTicklabelposition = "outside bottom"
	LayoutColoraxisColorbarTicklabelpositionInsideBottom  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 (
	LayoutColoraxisColorbarTickmodeAuto   LayoutColoraxisColorbarTickmode = "auto"
	LayoutColoraxisColorbarTickmodeLinear LayoutColoraxisColorbarTickmode = "linear"
	LayoutColoraxisColorbarTickmodeArray  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 (
	LayoutColoraxisColorbarTicksOutside LayoutColoraxisColorbarTicks = "outside"
	LayoutColoraxisColorbarTicksInside  LayoutColoraxisColorbarTicks = "inside"
	LayoutColoraxisColorbarTicksEmpty   LayoutColoraxisColorbarTicks = ""
)

type LayoutColoraxisColorbarTitle

type LayoutColoraxisColorbarTitle struct {

	// Font
	// role: Object
	Font *LayoutColoraxisColorbarTitleFont `json:"font,omitempty"`

	// Side
	// default: top
	// type: enumerated
	// Determines the location of color bar's title with respect to the color bar. Note that the title's location used to be set by the now deprecated `titleside` attribute.
	Side LayoutColoraxisColorbarTitleSide `json:"side,omitempty"`

	// Text
	// arrayOK: false
	// type: string
	// Sets the title of the color bar. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.
	Text String `json:"text,omitempty"`
}

LayoutColoraxisColorbarTitle

type LayoutColoraxisColorbarTitleFont

type LayoutColoraxisColorbarTitleFont struct {

	// Color
	// arrayOK: false
	// type: color
	//
	Color Color `json:"color,omitempty"`

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

	// Size
	// arrayOK: false
	// type: number
	//
	Size float64 `json:"size,omitempty"`
}

LayoutColoraxisColorbarTitleFont Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.

type 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 (
	LayoutColoraxisColorbarTitleSideRight  LayoutColoraxisColorbarTitleSide = "right"
	LayoutColoraxisColorbarTitleSideTop    LayoutColoraxisColorbarTitleSide = "top"
	LayoutColoraxisColorbarTitleSideBottom 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 (
	LayoutColoraxisColorbarXanchorLeft   LayoutColoraxisColorbarXanchor = "left"
	LayoutColoraxisColorbarXanchorCenter LayoutColoraxisColorbarXanchor = "center"
	LayoutColoraxisColorbarXanchorRight  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 (
	LayoutColoraxisColorbarYanchorTop    LayoutColoraxisColorbarYanchor = "top"
	LayoutColoraxisColorbarYanchorMiddle LayoutColoraxisColorbarYanchor = "middle"
	LayoutColoraxisColorbarYanchorBottom LayoutColoraxisColorbarYanchor = "bottom"
)

type LayoutColorscale

type LayoutColorscale struct {

	// Diverging
	// default: [[%!s(float64=0) rgb(5,10,172)] [%!s(float64=0.35) rgb(106,137,247)] [%!s(float64=0.5) rgb(190,190,190)] [%!s(float64=0.6) rgb(220,170,132)] [%!s(float64=0.7) rgb(230,145,90)] [%!s(float64=1) rgb(178,10,28)]]
	// type: colorscale
	// Sets the default diverging colorscale. Note that `autocolorscale` must be true for this attribute to work.
	Diverging ColorScale `json:"diverging,omitempty"`

	// Sequential
	// default: [[%!s(float64=0) rgb(220,220,220)] [%!s(float64=0.2) rgb(245,195,157)] [%!s(float64=0.4) rgb(245,160,105)] [%!s(float64=1) rgb(178,10,28)]]
	// type: colorscale
	// Sets the default sequential colorscale for positive values. Note that `autocolorscale` must be true for this attribute to work.
	Sequential ColorScale `json:"sequential,omitempty"`

	// Sequentialminus
	// default: [[%!s(float64=0) rgb(5,10,172)] [%!s(float64=0.35) rgb(40,60,190)] [%!s(float64=0.5) rgb(70,100,245)] [%!s(float64=0.6) rgb(90,120,245)] [%!s(float64=0.7) rgb(106,137,247)] [%!s(float64=1) rgb(220,220,220)]]
	// type: colorscale
	// Sets the default sequential colorscale for negative values. Note that `autocolorscale` must be true for this attribute to work.
	Sequentialminus ColorScale `json:"sequentialminus,omitempty"`
}

LayoutColorscale

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 (
	LayoutDirectionClockwise        LayoutDirection = "clockwise"
	LayoutDirectionCounterclockwise 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 (
	LayoutDragmodeZoom           LayoutDragmode = "zoom"
	LayoutDragmodePan            LayoutDragmode = "pan"
	LayoutDragmodeSelect         LayoutDragmode = "select"
	LayoutDragmodeLasso          LayoutDragmode = "lasso"
	LayoutDragmodeDrawclosedpath LayoutDragmode = "drawclosedpath"
	LayoutDragmodeDrawopenpath   LayoutDragmode = "drawopenpath"
	LayoutDragmodeDrawline       LayoutDragmode = "drawline"
	LayoutDragmodeDrawrect       LayoutDragmode = "drawrect"
	LayoutDragmodeDrawcircle     LayoutDragmode = "drawcircle"
	LayoutDragmodeOrbit          LayoutDragmode = "orbit"
	LayoutDragmodeTurntable      LayoutDragmode = "turntable"
	LayoutDragmodeFalse          LayoutDragmode = false
)

type LayoutFont

type LayoutFont struct {

	// Color
	// arrayOK: false
	// type: color
	//
	Color Color `json:"color,omitempty"`

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

	// Size
	// arrayOK: false
	// type: number
	//
	Size float64 `json:"size,omitempty"`
}

LayoutFont Sets the global font. Note that fonts used in traces and other layout components inherit from the global font.

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 (
	FunnelFunnelmodeStack   LayoutFunnelmode = "stack"
	FunnelFunnelmodeGroup   LayoutFunnelmode = "group"
	FunnelFunnelmodeOverlay LayoutFunnelmode = "overlay"
)

type LayoutGeo

type LayoutGeo struct {

	// Bgcolor
	// arrayOK: false
	// type: color
	// Set the background color of the map
	Bgcolor Color `json:"bgcolor,omitempty"`

	// Center
	// role: Object
	Center *LayoutGeoCenter `json:"center,omitempty"`

	// Coastlinecolor
	// arrayOK: false
	// type: color
	// Sets the coastline color.
	Coastlinecolor Color `json:"coastlinecolor,omitempty"`

	// Coastlinewidth
	// arrayOK: false
	// type: number
	// Sets the coastline stroke width (in px).
	Coastlinewidth float64 `json:"coastlinewidth,omitempty"`

	// Countrycolor
	// arrayOK: false
	// type: color
	// Sets line color of the country boundaries.
	Countrycolor Color `json:"countrycolor,omitempty"`

	// Countrywidth
	// arrayOK: false
	// type: number
	// Sets line width (in px) of the country boundaries.
	Countrywidth float64 `json:"countrywidth,omitempty"`

	// Domain
	// role: Object
	Domain *LayoutGeoDomain `json:"domain,omitempty"`

	// Fitbounds
	// default: %!s(bool=false)
	// type: enumerated
	// Determines if this subplot's view settings are auto-computed to fit trace data. On scoped maps, setting `fitbounds` leads to `center.lon` and `center.lat` getting auto-filled. On maps with a non-clipped projection, setting `fitbounds` leads to `center.lon`, `center.lat`, and `projection.rotation.lon` getting auto-filled. On maps with a clipped projection, setting `fitbounds` leads to `center.lon`, `center.lat`, `projection.rotation.lon`, `projection.rotation.lat`, `lonaxis.range` and `lonaxis.range` getting auto-filled. If *locations*, only the trace's visible locations are considered in the `fitbounds` computations. If *geojson*, the entire trace input `geojson` (if provided) is considered in the `fitbounds` computations, Defaults to *false*.
	Fitbounds LayoutGeoFitbounds `json:"fitbounds,omitempty"`

	// Framecolor
	// arrayOK: false
	// type: color
	// Sets the color the frame.
	Framecolor Color `json:"framecolor,omitempty"`

	// Framewidth
	// arrayOK: false
	// type: number
	// Sets the stroke width (in px) of the frame.
	Framewidth float64 `json:"framewidth,omitempty"`

	// Lakecolor
	// arrayOK: false
	// type: color
	// Sets the color of the lakes.
	Lakecolor Color `json:"lakecolor,omitempty"`

	// Landcolor
	// arrayOK: false
	// type: color
	// Sets the land mass color.
	Landcolor Color `json:"landcolor,omitempty"`

	// Lataxis
	// role: Object
	Lataxis *LayoutGeoLataxis `json:"lataxis,omitempty"`

	// Lonaxis
	// role: Object
	Lonaxis *LayoutGeoLonaxis `json:"lonaxis,omitempty"`

	// Oceancolor
	// arrayOK: false
	// type: color
	// Sets the ocean color
	Oceancolor Color `json:"oceancolor,omitempty"`

	// Projection
	// role: Object
	Projection *LayoutGeoProjection `json:"projection,omitempty"`

	// Resolution
	// default: %!s(float64=110)
	// type: enumerated
	// Sets the resolution of the base layers. The values have units of km/mm e.g. 110 corresponds to a scale ratio of 1:110,000,000.
	Resolution LayoutGeoResolution `json:"resolution,omitempty"`

	// Rivercolor
	// arrayOK: false
	// type: color
	// Sets color of the rivers.
	Rivercolor Color `json:"rivercolor,omitempty"`

	// Riverwidth
	// arrayOK: false
	// type: number
	// Sets the stroke width (in px) of the rivers.
	Riverwidth float64 `json:"riverwidth,omitempty"`

	// Scope
	// default: world
	// type: enumerated
	// Set the scope of the map.
	Scope LayoutGeoScope `json:"scope,omitempty"`

	// Showcoastlines
	// arrayOK: false
	// type: boolean
	// Sets whether or not the coastlines are drawn.
	Showcoastlines Bool `json:"showcoastlines,omitempty"`

	// Showcountries
	// arrayOK: false
	// type: boolean
	// Sets whether or not country boundaries are drawn.
	Showcountries Bool `json:"showcountries,omitempty"`

	// Showframe
	// arrayOK: false
	// type: boolean
	// Sets whether or not a frame is drawn around the map.
	Showframe Bool `json:"showframe,omitempty"`

	// Showlakes
	// arrayOK: false
	// type: boolean
	// Sets whether or not lakes are drawn.
	Showlakes Bool `json:"showlakes,omitempty"`

	// Showland
	// arrayOK: false
	// type: boolean
	// Sets whether or not land masses are filled in color.
	Showland Bool `json:"showland,omitempty"`

	// Showocean
	// arrayOK: false
	// type: boolean
	// Sets whether or not oceans are filled in color.
	Showocean Bool `json:"showocean,omitempty"`

	// Showrivers
	// arrayOK: false
	// type: boolean
	// Sets whether or not rivers are drawn.
	Showrivers Bool `json:"showrivers,omitempty"`

	// Showsubunits
	// arrayOK: false
	// type: boolean
	// Sets whether or not boundaries of subunits within countries (e.g. states, provinces) are drawn.
	Showsubunits Bool `json:"showsubunits,omitempty"`

	// Subunitcolor
	// arrayOK: false
	// type: color
	// Sets the color of the subunits boundaries.
	Subunitcolor Color `json:"subunitcolor,omitempty"`

	// Subunitwidth
	// arrayOK: false
	// type: number
	// Sets the stroke width (in px) of the subunits boundaries.
	Subunitwidth float64 `json:"subunitwidth,omitempty"`

	// Uirevision
	// arrayOK: false
	// type: any
	// Controls persistence of user-driven changes in the view (projection and center). Defaults to `layout.uirevision`.
	Uirevision interface{} `json:"uirevision,omitempty"`

	// Visible
	// arrayOK: false
	// type: boolean
	// Sets the default visibility of the base layers.
	Visible Bool `json:"visible,omitempty"`
}

LayoutGeo

type LayoutGeoCenter

type LayoutGeoCenter struct {

	// Lat
	// arrayOK: false
	// type: number
	// Sets the latitude of the map's center. For all projection types, the map's latitude center lies at the middle of the latitude range by default.
	Lat float64 `json:"lat,omitempty"`

	// Lon
	// arrayOK: false
	// type: number
	// Sets the longitude of the map's center. By default, the map's longitude center lies at the middle of the longitude range for scoped projection and above `projection.rotation.lon` otherwise.
	Lon float64 `json:"lon,omitempty"`
}

LayoutGeoCenter

type LayoutGeoDomain

type LayoutGeoDomain struct {

	// Column
	// arrayOK: false
	// type: integer
	// If there is a layout grid, use the domain for this column in the grid for this geo subplot . Note that geo subplots are constrained by domain. In general, when `projection.scale` is set to 1. a map will fit either its x or y domain, but not both.
	Column int64 `json:"column,omitempty"`

	// Row
	// arrayOK: false
	// type: integer
	// If there is a layout grid, use the domain for this row in the grid for this geo subplot . Note that geo subplots are constrained by domain. In general, when `projection.scale` is set to 1. a map will fit either its x or y domain, but not both.
	Row int64 `json:"row,omitempty"`

	// X
	// arrayOK: false
	// type: info_array
	// Sets the horizontal domain of this geo subplot (in plot fraction). Note that geo subplots are constrained by domain. In general, when `projection.scale` is set to 1. a map will fit either its x or y domain, but not both.
	X interface{} `json:"x,omitempty"`

	// Y
	// arrayOK: false
	// type: info_array
	// Sets the vertical domain of this geo subplot (in plot fraction). Note that geo subplots are constrained by domain. In general, when `projection.scale` is set to 1. a map will fit either its x or y domain, but not both.
	Y interface{} `json:"y,omitempty"`
}

LayoutGeoDomain

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 (
	LayoutGeoFitboundsFalse     LayoutGeoFitbounds = false
	LayoutGeoFitboundsLocations LayoutGeoFitbounds = "locations"
	LayoutGeoFitboundsGeojson   LayoutGeoFitbounds = "geojson"
)

type LayoutGeoLataxis

type LayoutGeoLataxis struct {

	// Dtick
	// arrayOK: false
	// type: number
	// Sets the graticule's longitude/latitude tick step.
	Dtick float64 `json:"dtick,omitempty"`

	// Gridcolor
	// arrayOK: false
	// type: color
	// Sets the graticule's stroke color.
	Gridcolor Color `json:"gridcolor,omitempty"`

	// Gridwidth
	// arrayOK: false
	// type: number
	// Sets the graticule's stroke width (in px).
	Gridwidth float64 `json:"gridwidth,omitempty"`

	// Range
	// arrayOK: false
	// type: info_array
	// Sets the range of this axis (in degrees), sets the map's clipped coordinates.
	Range interface{} `json:"range,omitempty"`

	// Showgrid
	// arrayOK: false
	// type: boolean
	// Sets whether or not graticule are shown on the map.
	Showgrid Bool `json:"showgrid,omitempty"`

	// Tick0
	// arrayOK: false
	// type: number
	// Sets the graticule's starting tick longitude/latitude.
	Tick0 float64 `json:"tick0,omitempty"`
}

LayoutGeoLataxis

type LayoutGeoLonaxis

type LayoutGeoLonaxis struct {

	// Dtick
	// arrayOK: false
	// type: number
	// Sets the graticule's longitude/latitude tick step.
	Dtick float64 `json:"dtick,omitempty"`

	// Gridcolor
	// arrayOK: false
	// type: color
	// Sets the graticule's stroke color.
	Gridcolor Color `json:"gridcolor,omitempty"`

	// Gridwidth
	// arrayOK: false
	// type: number
	// Sets the graticule's stroke width (in px).
	Gridwidth float64 `json:"gridwidth,omitempty"`

	// Range
	// arrayOK: false
	// type: info_array
	// Sets the range of this axis (in degrees), sets the map's clipped coordinates.
	Range interface{} `json:"range,omitempty"`

	// Showgrid
	// arrayOK: false
	// type: boolean
	// Sets whether or not graticule are shown on the map.
	Showgrid Bool `json:"showgrid,omitempty"`

	// Tick0
	// arrayOK: false
	// type: number
	// Sets the graticule's starting tick longitude/latitude.
	Tick0 float64 `json:"tick0,omitempty"`
}

LayoutGeoLonaxis

type LayoutGeoProjection

type LayoutGeoProjection struct {

	// Parallels
	// arrayOK: false
	// type: info_array
	// For conic projection types only. Sets the parallels (tangent, secant) where the cone intersects the sphere.
	Parallels interface{} `json:"parallels,omitempty"`

	// Rotation
	// role: Object
	Rotation *LayoutGeoProjectionRotation `json:"rotation,omitempty"`

	// Scale
	// arrayOK: false
	// type: number
	// Zooms in or out on the map view. A scale of *1* corresponds to the largest zoom level that fits the map's lon and lat ranges.
	Scale float64 `json:"scale,omitempty"`

	// Type
	// default: %!s(<nil>)
	// type: enumerated
	// Sets the projection type.
	Type LayoutGeoProjectionType `json:"type,omitempty"`
}

LayoutGeoProjection

type LayoutGeoProjectionRotation

type LayoutGeoProjectionRotation struct {

	// Lat
	// arrayOK: false
	// type: number
	// Rotates the map along meridians (in degrees North).
	Lat float64 `json:"lat,omitempty"`

	// Lon
	// arrayOK: false
	// type: number
	// Rotates the map along parallels (in degrees East). Defaults to the center of the `lonaxis.range` values.
	Lon float64 `json:"lon,omitempty"`

	// Roll
	// arrayOK: false
	// type: number
	// Roll the map (in degrees) For example, a roll of *180* makes the map appear upside down.
	Roll float64 `json:"roll,omitempty"`
}

LayoutGeoProjectionRotation

type LayoutGeoProjectionType

type LayoutGeoProjectionType string

LayoutGeoProjectionType Sets the projection type.

const (
	LayoutGeoProjectionTypeEquirectangular      LayoutGeoProjectionType = "equirectangular"
	LayoutGeoProjectionTypeMercator             LayoutGeoProjectionType = "mercator"
	LayoutGeoProjectionTypeOrthographic         LayoutGeoProjectionType = "orthographic"
	LayoutGeoProjectionTypeNaturalEarth         LayoutGeoProjectionType = "natural earth"
	LayoutGeoProjectionTypeKavrayskiy7          LayoutGeoProjectionType = "kavrayskiy7"
	LayoutGeoProjectionTypeMiller               LayoutGeoProjectionType = "miller"
	LayoutGeoProjectionTypeRobinson             LayoutGeoProjectionType = "robinson"
	LayoutGeoProjectionTypeEckert4              LayoutGeoProjectionType = "eckert4"
	LayoutGeoProjectionTypeAzimuthalEqualArea   LayoutGeoProjectionType = "azimuthal equal area"
	LayoutGeoProjectionTypeAzimuthalEquidistant LayoutGeoProjectionType = "azimuthal equidistant"
	LayoutGeoProjectionTypeConicEqualArea       LayoutGeoProjectionType = "conic equal area"
	LayoutGeoProjectionTypeConicConformal       LayoutGeoProjectionType = "conic conformal"
	LayoutGeoProjectionTypeConicEquidistant     LayoutGeoProjectionType = "conic equidistant"
	LayoutGeoProjectionTypeGnomonic             LayoutGeoProjectionType = "gnomonic"
	LayoutGeoProjectionTypeStereographic        LayoutGeoProjectionType = "stereographic"
	LayoutGeoProjectionTypeMollweide            LayoutGeoProjectionType = "mollweide"
	LayoutGeoProjectionTypeHammer               LayoutGeoProjectionType = "hammer"
	LayoutGeoProjectionTypeTransverseMercator   LayoutGeoProjectionType = "transverse mercator"
	LayoutGeoProjectionTypeAlbersUsa            LayoutGeoProjectionType = "albers usa"
	LayoutGeoProjectionTypeWinkelTripel         LayoutGeoProjectionType = "winkel tripel"
	LayoutGeoProjectionTypeAitoff               LayoutGeoProjectionType = "aitoff"
	LayoutGeoProjectionTypeSinusoidal           LayoutGeoProjectionType = "sinusoidal"
)

type LayoutGeoResolution

type LayoutGeoResolution interface{}

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.

var (
	LayoutGeoResolutionNumber110 LayoutGeoResolution = 110
	LayoutGeoResolutionNumber50  LayoutGeoResolution = 50
)

type LayoutGeoScope

type LayoutGeoScope string

LayoutGeoScope Set the scope of the map.

const (
	LayoutGeoScopeWorld        LayoutGeoScope = "world"
	LayoutGeoScopeUsa          LayoutGeoScope = "usa"
	LayoutGeoScopeEurope       LayoutGeoScope = "europe"
	LayoutGeoScopeAsia         LayoutGeoScope = "asia"
	LayoutGeoScopeAfrica       LayoutGeoScope = "africa"
	LayoutGeoScopeNorthAmerica LayoutGeoScope = "north america"
	LayoutGeoScopeSouthAmerica LayoutGeoScope = "south america"
)

type LayoutGrid

type LayoutGrid struct {

	// Columns
	// arrayOK: false
	// type: integer
	// The number of columns in the grid. If you provide a 2D `subplots` array, the length of its longest row is used as the default. If you give an `xaxes` array, its length is used as the default. But it's also possible to have a different length, if you want to leave a row at the end for non-cartesian subplots.
	Columns int64 `json:"columns,omitempty"`

	// Domain
	// role: Object
	Domain *LayoutGridDomain `json:"domain,omitempty"`

	// Pattern
	// default: coupled
	// type: enumerated
	// If no `subplots`, `xaxes`, or `yaxes` are given but we do have `rows` and `columns`, we can generate defaults using consecutive axis IDs, in two ways: *coupled* gives one x axis per column and one y axis per row. *independent* uses a new xy pair for each cell, left-to-right across each row then iterating rows according to `roworder`.
	Pattern LayoutGridPattern `json:"pattern,omitempty"`

	// Roworder
	// default: top to bottom
	// type: enumerated
	// Is the first row the top or the bottom? Note that columns are always enumerated from left to right.
	Roworder LayoutGridRoworder `json:"roworder,omitempty"`

	// Rows
	// arrayOK: false
	// type: integer
	// The number of rows in the grid. If you provide a 2D `subplots` array or a `yaxes` array, its length is used as the default. But it's also possible to have a different length, if you want to leave a row at the end for non-cartesian subplots.
	Rows int64 `json:"rows,omitempty"`

	// Subplots
	// arrayOK: false
	// type: info_array
	// Used for freeform grids, where some axes may be shared across subplots but others are not. Each entry should be a cartesian subplot id, like *xy* or *x3y2*, or ** to leave that cell empty. You may reuse x axes within the same column, and y axes within the same row. Non-cartesian subplots and traces that support `domain` can place themselves in this grid separately using the `gridcell` attribute.
	Subplots interface{} `json:"subplots,omitempty"`

	// Xaxes
	// arrayOK: false
	// type: info_array
	// Used with `yaxes` when the x and y axes are shared across columns and rows. Each entry should be an x axis id like *x*, *x2*, etc., or ** to not put an x axis in that column. Entries other than ** must be unique. Ignored if `subplots` is present. If missing but `yaxes` is present, will generate consecutive IDs.
	Xaxes interface{} `json:"xaxes,omitempty"`

	// Xgap
	// arrayOK: false
	// type: number
	// Horizontal space between grid cells, expressed as a fraction of the total width available to one cell. Defaults to 0.1 for coupled-axes grids and 0.2 for independent grids.
	Xgap float64 `json:"xgap,omitempty"`

	// Xside
	// default: bottom plot
	// type: enumerated
	// Sets where the x axis labels and titles go. *bottom* means the very bottom of the grid. *bottom plot* is the lowest plot that each x axis is used in. *top* and *top plot* are similar.
	Xside LayoutGridXside `json:"xside,omitempty"`

	// Yaxes
	// arrayOK: false
	// type: info_array
	// Used with `yaxes` when the x and y axes are shared across columns and rows. Each entry should be an y axis id like *y*, *y2*, etc., or ** to not put a y axis in that row. Entries other than ** must be unique. Ignored if `subplots` is present. If missing but `xaxes` is present, will generate consecutive IDs.
	Yaxes interface{} `json:"yaxes,omitempty"`

	// Ygap
	// arrayOK: false
	// type: number
	// Vertical space between grid cells, expressed as a fraction of the total height available to one cell. Defaults to 0.1 for coupled-axes grids and 0.3 for independent grids.
	Ygap float64 `json:"ygap,omitempty"`

	// Yside
	// default: left plot
	// type: enumerated
	// Sets where the y axis labels and titles go. *left* means the very left edge of the grid. *left plot* is the leftmost plot that each y axis is used in. *right* and *right plot* are similar.
	Yside LayoutGridYside `json:"yside,omitempty"`
}

LayoutGrid

type LayoutGridDomain

type LayoutGridDomain struct {

	// X
	// arrayOK: false
	// type: info_array
	// Sets the horizontal domain of this grid subplot (in plot fraction). The first and last cells end exactly at the domain edges, with no grout around the edges.
	X interface{} `json:"x,omitempty"`

	// Y
	// arrayOK: false
	// type: info_array
	// Sets the vertical domain of this grid subplot (in plot fraction). The first and last cells end exactly at the domain edges, with no grout around the edges.
	Y interface{} `json:"y,omitempty"`
}

LayoutGridDomain

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 (
	LayoutGridPatternIndependent LayoutGridPattern = "independent"
	LayoutGridPatternCoupled     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 (
	LayoutGridRoworderTopToBottom LayoutGridRoworder = "top to bottom"
	LayoutGridRoworderBottomToTop 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 (
	LayoutGridXsideBottom     LayoutGridXside = "bottom"
	LayoutGridXsideBottomPlot LayoutGridXside = "bottom plot"
	LayoutGridXsideTopPlot    LayoutGridXside = "top plot"
	LayoutGridXsideTop        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 (
	LayoutGridYsideLeft      LayoutGridYside = "left"
	LayoutGridYsideLeftPlot  LayoutGridYside = "left plot"
	LayoutGridYsideRightPlot LayoutGridYside = "right plot"
	LayoutGridYsideRight     LayoutGridYside = "right"
)

type LayoutHoverlabel

type LayoutHoverlabel struct {

	// Align
	// default: auto
	// type: enumerated
	// Sets the horizontal alignment of the text content within hover label box. Has an effect only if the hover label text spans more two or more lines
	Align LayoutHoverlabelAlign `json:"align,omitempty"`

	// Bgcolor
	// arrayOK: false
	// type: color
	// Sets the background color of all hover labels on graph
	Bgcolor Color `json:"bgcolor,omitempty"`

	// Bordercolor
	// arrayOK: false
	// type: color
	// Sets the border color of all hover labels on graph.
	Bordercolor Color `json:"bordercolor,omitempty"`

	// Font
	// role: Object
	Font *LayoutHoverlabelFont `json:"font,omitempty"`

	// Namelength
	// arrayOK: false
	// type: integer
	// Sets the default length (in number of characters) of the trace name in the hover labels for all traces. -1 shows the whole name regardless of length. 0-3 shows the first 0-3 characters, and an integer >3 will show the whole name if it is less than that many characters, but if it is longer, will truncate to `namelength - 3` characters and add an ellipsis.
	Namelength int64 `json:"namelength,omitempty"`
}

LayoutHoverlabel

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 (
	LayoutHoverlabelAlignLeft  LayoutHoverlabelAlign = "left"
	LayoutHoverlabelAlignRight LayoutHoverlabelAlign = "right"
	LayoutHoverlabelAlignAuto  LayoutHoverlabelAlign = "auto"
)

type LayoutHoverlabelFont

type LayoutHoverlabelFont struct {

	// Color
	// arrayOK: false
	// type: color
	//
	Color Color `json:"color,omitempty"`

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

	// Size
	// arrayOK: false
	// type: number
	//
	Size float64 `json:"size,omitempty"`
}

LayoutHoverlabelFont Sets the default hover label font used by all traces on the graph.

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 (
	LayoutHovermodeX        LayoutHovermode = "x"
	LayoutHovermodeY        LayoutHovermode = "y"
	LayoutHovermodeClosest  LayoutHovermode = "closest"
	LayoutHovermodeFalse    LayoutHovermode = false
	LayoutHovermodeXUnified LayoutHovermode = "x unified"
	LayoutHovermodeYUnified LayoutHovermode = "y unified"
)

type LayoutLegend

type LayoutLegend struct {

	// Bgcolor
	// arrayOK: false
	// type: color
	// Sets the legend background color. Defaults to `layout.paper_bgcolor`.
	Bgcolor Color `json:"bgcolor,omitempty"`

	// Bordercolor
	// arrayOK: false
	// type: color
	// Sets the color of the border enclosing the legend.
	Bordercolor Color `json:"bordercolor,omitempty"`

	// Borderwidth
	// arrayOK: false
	// type: number
	// Sets the width (in px) of the border enclosing the legend.
	Borderwidth float64 `json:"borderwidth,omitempty"`

	// Font
	// role: Object
	Font *LayoutLegendFont `json:"font,omitempty"`

	// Itemclick
	// default: toggle
	// type: enumerated
	// Determines the behavior on legend item click. *toggle* toggles the visibility of the item clicked on the graph. *toggleothers* makes the clicked item the sole visible item on the graph. *false* disable legend item click interactions.
	Itemclick LayoutLegendItemclick `json:"itemclick,omitempty"`

	// Itemdoubleclick
	// default: toggleothers
	// type: enumerated
	// Determines the behavior on legend item double-click. *toggle* toggles the visibility of the item clicked on the graph. *toggleothers* makes the clicked item the sole visible item on the graph. *false* disable legend item double-click interactions.
	Itemdoubleclick LayoutLegendItemdoubleclick `json:"itemdoubleclick,omitempty"`

	// Itemsizing
	// default: trace
	// type: enumerated
	// Determines if the legend items symbols scale with their corresponding *trace* attributes or remain *constant* independent of the symbol size on the graph.
	Itemsizing LayoutLegendItemsizing `json:"itemsizing,omitempty"`

	// Itemwidth
	// arrayOK: false
	// type: number
	// Sets the width (in px) of the legend item symbols (the part other than the title.text).
	Itemwidth float64 `json:"itemwidth,omitempty"`

	// Orientation
	// default: v
	// type: enumerated
	// Sets the orientation of the legend.
	Orientation LayoutLegendOrientation `json:"orientation,omitempty"`

	// Title
	// role: Object
	Title *LayoutLegendTitle `json:"title,omitempty"`

	// Tracegroupgap
	// arrayOK: false
	// type: number
	// Sets the amount of vertical space (in px) between legend groups.
	Tracegroupgap float64 `json:"tracegroupgap,omitempty"`

	// Traceorder
	// default: %!s(<nil>)
	// type: flaglist
	// Determines the order at which the legend items are displayed. If *normal*, the items are displayed top-to-bottom in the same order as the input data. If *reversed*, the items are displayed in the opposite order as *normal*. If *grouped*, the items are displayed in groups (when a trace `legendgroup` is provided). if *grouped+reversed*, the items are displayed in the opposite order as *grouped*.
	Traceorder LayoutLegendTraceorder `json:"traceorder,omitempty"`

	// Uirevision
	// arrayOK: false
	// type: any
	// Controls persistence of legend-driven changes in trace and pie label visibility. Defaults to `layout.uirevision`.
	Uirevision interface{} `json:"uirevision,omitempty"`

	// Valign
	// default: middle
	// type: enumerated
	// Sets the vertical alignment of the symbols with respect to their associated text.
	Valign LayoutLegendValign `json:"valign,omitempty"`

	// X
	// arrayOK: false
	// type: 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
	// default: left
	// type: enumerated
	// Sets the legend's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the legend. Value *auto* anchors legends to the right for `x` values greater than or equal to 2/3, anchors legends to the left for `x` values less than or equal to 1/3 and anchors legends with respect to their center otherwise.
	Xanchor LayoutLegendXanchor `json:"xanchor,omitempty"`

	// Y
	// arrayOK: false
	// type: 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
	// default: %!s(<nil>)
	// type: enumerated
	// Sets the legend's vertical position anchor This anchor binds the `y` position to the *top*, *middle* or *bottom* of the legend. Value *auto* anchors legends at their bottom for `y` values less than or equal to 1/3, anchors legends to at their top for `y` values greater than or equal to 2/3 and anchors legends with respect to their middle otherwise.
	Yanchor LayoutLegendYanchor `json:"yanchor,omitempty"`
}

LayoutLegend

type LayoutLegendFont

type LayoutLegendFont struct {

	// Color
	// arrayOK: false
	// type: color
	//
	Color Color `json:"color,omitempty"`

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

	// Size
	// arrayOK: false
	// type: number
	//
	Size float64 `json:"size,omitempty"`
}

LayoutLegendFont Sets the font used to text the legend items.

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 (
	LayoutLegendItemclickToggle       LayoutLegendItemclick = "toggle"
	LayoutLegendItemclickToggleothers LayoutLegendItemclick = "toggleothers"
	LayoutLegendItemclickFalse        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 (
	LayoutLegendItemdoubleclickToggle       LayoutLegendItemdoubleclick = "toggle"
	LayoutLegendItemdoubleclickToggleothers LayoutLegendItemdoubleclick = "toggleothers"
	LayoutLegendItemdoubleclickFalse        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 (
	LayoutLegendItemsizingTrace    LayoutLegendItemsizing = "trace"
	LayoutLegendItemsizingConstant LayoutLegendItemsizing = "constant"
)

type LayoutLegendOrientation

type LayoutLegendOrientation string

LayoutLegendOrientation Sets the orientation of the legend.

const (
	LayoutLegendOrientationV LayoutLegendOrientation = "v"
	LayoutLegendOrientationH LayoutLegendOrientation = "h"
)

type LayoutLegendTitle

type LayoutLegendTitle struct {

	// Font
	// role: Object
	Font *LayoutLegendTitleFont `json:"font,omitempty"`

	// Side
	// default: %!s(<nil>)
	// type: enumerated
	// Determines the location of legend's title with respect to the legend items. Defaulted to *top* with `orientation` is *h*. Defaulted to *left* with `orientation` is *v*. The *top left* options could be used to expand legend area in both x and y sides.
	Side LayoutLegendTitleSide `json:"side,omitempty"`

	// Text
	// arrayOK: false
	// type: string
	// Sets the title of the legend.
	Text String `json:"text,omitempty"`
}

LayoutLegendTitle

type LayoutLegendTitleFont

type LayoutLegendTitleFont struct {

	// Color
	// arrayOK: false
	// type: color
	//
	Color Color `json:"color,omitempty"`

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

	// Size
	// arrayOK: false
	// type: number
	//
	Size float64 `json:"size,omitempty"`
}

LayoutLegendTitleFont Sets this legend's title font.

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 (
	LayoutLegendTitleSideTop     LayoutLegendTitleSide = "top"
	LayoutLegendTitleSideLeft    LayoutLegendTitleSide = "left"
	LayoutLegendTitleSideTopLeft LayoutLegendTitleSide = "top left"
)

type LayoutLegendTraceorder

type LayoutLegendTraceorder string

LayoutLegendTraceorder Determines the order at which the legend items are displayed. If *normal*, the items are displayed top-to-bottom in the same order as the input data. If *reversed*, the items are displayed in the opposite order as *normal*. If *grouped*, the items are displayed in groups (when a trace `legendgroup` is provided). if *grouped+reversed*, the items are displayed in the opposite order as *grouped*.

const (
	// Flags
	LayoutLegendTraceorderReversed LayoutLegendTraceorder = "reversed"
	LayoutLegendTraceorderGrouped  LayoutLegendTraceorder = "grouped"

	// Extra
	LayoutLegendTraceorderNormal LayoutLegendTraceorder = "normal"
)

type LayoutLegendValign

type LayoutLegendValign string

LayoutLegendValign Sets the vertical alignment of the symbols with respect to their associated text.

const (
	LayoutLegendValignTop    LayoutLegendValign = "top"
	LayoutLegendValignMiddle LayoutLegendValign = "middle"
	LayoutLegendValignBottom 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 (
	LayoutLegendXanchorAuto   LayoutLegendXanchor = "auto"
	LayoutLegendXanchorLeft   LayoutLegendXanchor = "left"
	LayoutLegendXanchorCenter LayoutLegendXanchor = "center"
	LayoutLegendXanchorRight  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 (
	LayoutLegendYanchorAuto   LayoutLegendYanchor = "auto"
	LayoutLegendYanchorTop    LayoutLegendYanchor = "top"
	LayoutLegendYanchorMiddle LayoutLegendYanchor = "middle"
	LayoutLegendYanchorBottom LayoutLegendYanchor = "bottom"
)

type LayoutMapbox

type LayoutMapbox struct {

	// Accesstoken
	// arrayOK: false
	// type: string
	// Sets the mapbox access token to be used for this mapbox map. Alternatively, the mapbox access token can be set in the configuration options under `mapboxAccessToken`. Note that accessToken are only required when `style` (e.g with values : basic, streets, outdoors, light, dark, satellite, satellite-streets ) and/or a layout layer references the Mapbox server.
	Accesstoken String `json:"accesstoken,omitempty"`

	// Bearing
	// arrayOK: false
	// type: number
	// Sets the bearing angle of the map in degrees counter-clockwise from North (mapbox.bearing).
	Bearing float64 `json:"bearing,omitempty"`

	// Center
	// role: Object
	Center *LayoutMapboxCenter `json:"center,omitempty"`

	// Domain
	// role: Object
	Domain *LayoutMapboxDomain `json:"domain,omitempty"`

	// Layers
	// It's an items array and what goes inside it's... messy... check the docs
	// I will be happy if you want to contribute by implementing this
	// just raise an issue before you start so we do not overlap
	Layers interface{} `json:"layers,omitempty"`

	// Pitch
	// arrayOK: false
	// type: number
	// Sets the pitch angle of the map (in degrees, where *0* means perpendicular to the surface of the map) (mapbox.pitch).
	Pitch float64 `json:"pitch,omitempty"`

	// Style
	// arrayOK: false
	// type: any
	// Defines the map layers that are rendered by default below the trace layers defined in `data`, which are themselves by default rendered below the layers defined in `layout.mapbox.layers`.  These layers can be defined either explicitly as a Mapbox Style object which can contain multiple layer definitions that load data from any public or private Tile Map Service (TMS or XYZ) or Web Map Service (WMS) or implicitly by using one of the built-in style objects which use WMSes which do not require any access tokens, or by using a default Mapbox style or custom Mapbox style URL, both of which require a Mapbox access token  Note that Mapbox access token can be set in the `accesstoken` attribute or in the `mapboxAccessToken` config option.  Mapbox Style objects are of the form described in the Mapbox GL JS documentation available at https://docs.mapbox.com/mapbox-gl-js/style-spec  The built-in plotly.js styles objects are: 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
	// arrayOK: false
	// type: any
	// Controls persistence of user-driven changes in the view: `center`, `zoom`, `bearing`, `pitch`. Defaults to `layout.uirevision`.
	Uirevision interface{} `json:"uirevision,omitempty"`

	// Zoom
	// arrayOK: false
	// type: number
	// Sets the zoom level of the map (mapbox.zoom).
	Zoom float64 `json:"zoom,omitempty"`
}

LayoutMapbox

type LayoutMapboxCenter

type LayoutMapboxCenter struct {

	// Lat
	// arrayOK: false
	// type: number
	// Sets the latitude of the center of the map (in degrees North).
	Lat float64 `json:"lat,omitempty"`

	// Lon
	// arrayOK: false
	// type: number
	// Sets the longitude of the center of the map (in degrees East).
	Lon float64 `json:"lon,omitempty"`
}

LayoutMapboxCenter

type LayoutMapboxDomain

type LayoutMapboxDomain struct {

	// Column
	// arrayOK: false
	// type: integer
	// If there is a layout grid, use the domain for this column in the grid for this mapbox subplot .
	Column int64 `json:"column,omitempty"`

	// Row
	// arrayOK: false
	// type: integer
	// If there is a layout grid, use the domain for this row in the grid for this mapbox subplot .
	Row int64 `json:"row,omitempty"`

	// X
	// arrayOK: false
	// type: info_array
	// Sets the horizontal domain of this mapbox subplot (in plot fraction).
	X interface{} `json:"x,omitempty"`

	// Y
	// arrayOK: false
	// type: info_array
	// Sets the vertical domain of this mapbox subplot (in plot fraction).
	Y interface{} `json:"y,omitempty"`
}

LayoutMapboxDomain

type LayoutMargin

type LayoutMargin struct {

	// Autoexpand
	// arrayOK: false
	// type: boolean
	// Turns on/off margin expansion computations. Legends, colorbars, updatemenus, sliders, axis rangeselector and rangeslider are allowed to push the margins by defaults.
	Autoexpand Bool `json:"autoexpand,omitempty"`

	// B
	// arrayOK: false
	// type: number
	// Sets the bottom margin (in px).
	B float64 `json:"b,omitempty"`

	// L
	// arrayOK: false
	// type: number
	// Sets the left margin (in px).
	L float64 `json:"l,omitempty"`

	// Pad
	// arrayOK: false
	// type: number
	// Sets the amount of padding (in px) between the plotting area and the axis lines
	Pad float64 `json:"pad,omitempty"`

	// R
	// arrayOK: false
	// type: number
	// Sets the right margin (in px).
	R float64 `json:"r,omitempty"`

	// T
	// arrayOK: false
	// type: number
	// Sets the top margin (in px).
	T float64 `json:"t,omitempty"`
}

LayoutMargin

type LayoutModebar

type LayoutModebar struct {

	// Activecolor
	// arrayOK: false
	// type: color
	// Sets the color of the active or hovered on icons in the modebar.
	Activecolor Color `json:"activecolor,omitempty"`

	// Bgcolor
	// arrayOK: false
	// type: color
	// Sets the background color of the modebar.
	Bgcolor Color `json:"bgcolor,omitempty"`

	// Color
	// arrayOK: false
	// type: color
	// Sets the color of the icons in the modebar.
	Color Color `json:"color,omitempty"`

	// Orientation
	// default: h
	// type: enumerated
	// Sets the orientation of the modebar.
	Orientation LayoutModebarOrientation `json:"orientation,omitempty"`

	// Uirevision
	// arrayOK: false
	// type: any
	// Controls persistence of user-driven changes related to the modebar, including `hovermode`, `dragmode`, and `showspikes` at both the root level and inside subplots. Defaults to `layout.uirevision`.
	Uirevision interface{} `json:"uirevision,omitempty"`
}

LayoutModebar

type LayoutModebarOrientation

type LayoutModebarOrientation string

LayoutModebarOrientation Sets the orientation of the modebar.

const (
	LayoutModebarOrientationV LayoutModebarOrientation = "v"
	LayoutModebarOrientationH LayoutModebarOrientation = "h"
)

type LayoutNewshape

type LayoutNewshape struct {

	// Drawdirection
	// default: diagonal
	// type: enumerated
	// When `dragmode` is set to *drawrect*, *drawline* or *drawcircle* this limits the drag to be horizontal, vertical or diagonal. Using *diagonal* there is no limit e.g. in drawing lines in any direction. *ortho* limits the draw to be either horizontal or vertical. *horizontal* allows horizontal extend. *vertical* allows vertical extend.
	Drawdirection LayoutNewshapeDrawdirection `json:"drawdirection,omitempty"`

	// Fillcolor
	// arrayOK: false
	// type: color
	// Sets the color filling new shapes' interior. Please note that if using a fillcolor with alpha greater than half, drag inside the active shape starts moving the shape underneath, otherwise a new shape could be started over.
	Fillcolor Color `json:"fillcolor,omitempty"`

	// Fillrule
	// default: evenodd
	// type: enumerated
	// Determines the path's interior. For more info please visit https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/fill-rule
	Fillrule LayoutNewshapeFillrule `json:"fillrule,omitempty"`

	// Layer
	// default: above
	// type: enumerated
	// Specifies whether new shapes are drawn below or above traces.
	Layer LayoutNewshapeLayer `json:"layer,omitempty"`

	// Line
	// role: Object
	Line *LayoutNewshapeLine `json:"line,omitempty"`

	// Opacity
	// arrayOK: false
	// type: number
	// Sets the opacity of new shapes.
	Opacity float64 `json:"opacity,omitempty"`
}

LayoutNewshape

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 (
	LayoutNewshapeDrawdirectionOrtho      LayoutNewshapeDrawdirection = "ortho"
	LayoutNewshapeDrawdirectionHorizontal LayoutNewshapeDrawdirection = "horizontal"
	LayoutNewshapeDrawdirectionVertical   LayoutNewshapeDrawdirection = "vertical"
	LayoutNewshapeDrawdirectionDiagonal   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 (
	LayoutNewshapeFillruleEvenodd LayoutNewshapeFillrule = "evenodd"
	LayoutNewshapeFillruleNonzero LayoutNewshapeFillrule = "nonzero"
)

type LayoutNewshapeLayer

type LayoutNewshapeLayer string

LayoutNewshapeLayer Specifies whether new shapes are drawn below or above traces.

const (
	LayoutNewshapeLayerBelow LayoutNewshapeLayer = "below"
	LayoutNewshapeLayerAbove LayoutNewshapeLayer = "above"
)

type LayoutNewshapeLine

type LayoutNewshapeLine struct {

	// Color
	// arrayOK: false
	// type: color
	// Sets the line color. By default uses either dark grey or white to increase contrast with background color.
	Color Color `json:"color,omitempty"`

	// Dash
	// arrayOK: false
	// type: string
	// Sets the dash style of lines. Set to a dash type string (*solid*, *dot*, *dash*, *longdash*, *dashdot*, or *longdashdot*) or a dash length list in px (eg *5px,10px,2px,2px*).
	Dash String `json:"dash,omitempty"`

	// Width
	// arrayOK: false
	// type: number
	// Sets the line width (in px).
	Width float64 `json:"width,omitempty"`
}

LayoutNewshapeLine

type LayoutPolar

type LayoutPolar struct {

	// Angularaxis
	// role: Object
	Angularaxis *LayoutPolarAngularaxis `json:"angularaxis,omitempty"`

	// Bgcolor
	// arrayOK: false
	// type: color
	// Set the background color of the subplot
	Bgcolor Color `json:"bgcolor,omitempty"`

	// Domain
	// role: Object
	Domain *LayoutPolarDomain `json:"domain,omitempty"`

	// Gridshape
	// default: circular
	// type: enumerated
	// Determines if the radial axis grid lines and angular axis line are drawn as *circular* sectors or as *linear* (polygon) sectors. Has an effect only when the angular axis has `type` *category*. Note that `radialaxis.angle` is snapped to the angle of the closest vertex when `gridshape` is *circular* (so that radial axis scale is the same as the data scale).
	Gridshape LayoutPolarGridshape `json:"gridshape,omitempty"`

	// Hole
	// arrayOK: false
	// type: number
	// Sets the fraction of the radius to cut out of the polar subplot.
	Hole float64 `json:"hole,omitempty"`

	// Radialaxis
	// role: Object
	Radialaxis *LayoutPolarRadialaxis `json:"radialaxis,omitempty"`

	// Sector
	// arrayOK: false
	// type: info_array
	// Sets angular span of this polar subplot with two angles (in degrees). Sector are assumed to be spanned in the counterclockwise direction with *0* corresponding to rightmost limit of the polar subplot.
	Sector interface{} `json:"sector,omitempty"`

	// Uirevision
	// arrayOK: false
	// type: any
	// Controls persistence of user-driven changes in axis attributes, if not overridden in the individual axes. Defaults to `layout.uirevision`.
	Uirevision interface{} `json:"uirevision,omitempty"`
}

LayoutPolar

type LayoutPolarAngularaxis

type LayoutPolarAngularaxis struct {

	// Autotypenumbers
	// default: convert types
	// type: enumerated
	// Using *strict* a numeric string in trace data is not converted to a number. Using *convert types* a numeric string in trace data may be treated as a number during automatic axis `type` detection. Defaults to layout.autotypenumbers.
	Autotypenumbers LayoutPolarAngularaxisAutotypenumbers `json:"autotypenumbers,omitempty"`

	// Categoryarray
	// arrayOK: false
	// type: data_array
	// Sets the order in which categories on this axis appear. Only has an effect if `categoryorder` is set to *array*. Used with `categoryorder`.
	Categoryarray interface{} `json:"categoryarray,omitempty"`

	// Categoryarraysrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  categoryarray .
	Categoryarraysrc String `json:"categoryarraysrc,omitempty"`

	// Categoryorder
	// default: trace
	// type: enumerated
	// Specifies the ordering logic for the case of categorical variables. By default, plotly uses *trace*, which specifies the order that is present in the data supplied. Set `categoryorder` to *category ascending* or *category descending* if order should be determined by the alphanumerical order of the category names. Set `categoryorder` to *array* to derive the ordering from the attribute `categoryarray`. If a category is not found in the `categoryarray` array, the sorting behavior for that attribute will be identical to the *trace* mode. The unspecified categories will follow the categories in `categoryarray`. Set `categoryorder` to *total ascending* or *total descending* if order should be determined by the numerical order of the values. Similarly, the order can be determined by the min, max, sum, mean or median of all the values.
	Categoryorder LayoutPolarAngularaxisCategoryorder `json:"categoryorder,omitempty"`

	// Color
	// arrayOK: false
	// type: color
	// Sets default for all colors associated with this axis all at once: line, font, tick, and grid colors. Grid color is lightened by blending this with the plot background Individual pieces can override this.
	Color Color `json:"color,omitempty"`

	// Direction
	// default: counterclockwise
	// type: enumerated
	// Sets the direction corresponding to positive angles.
	Direction LayoutPolarAngularaxisDirection `json:"direction,omitempty"`

	// Dtick
	// arrayOK: false
	// type: any
	// Sets the step in-between ticks on this axis. Use with `tick0`. Must be a positive number, or special strings available to *log* and *date* axes. If the axis `type` is *log*, then ticks are set every 10^(n*dtick) where n is the tick number. For example, to set a tick mark at 1, 10, 100, 1000, ... set dtick to 1. To set tick marks at 1, 100, 10000, ... set dtick to 2. To set tick marks at 1, 5, 25, 125, 625, 3125, ... set dtick to log_10(5), or 0.69897000433. *log* has several special values; *L<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
	// default: B
	// type: enumerated
	// Determines a formatting rule for the tick exponents. For example, consider the number 1,000,000,000. If *none*, it appears as 1,000,000,000. If *e*, 1e+9. If *E*, 1E+9. If *power*, 1x10^9 (with 9 in a super script). If *SI*, 1G. If *B*, 1B.
	Exponentformat LayoutPolarAngularaxisExponentformat `json:"exponentformat,omitempty"`

	// Gridcolor
	// arrayOK: false
	// type: color
	// Sets the color of the grid lines.
	Gridcolor Color `json:"gridcolor,omitempty"`

	// Gridwidth
	// arrayOK: false
	// type: number
	// Sets the width (in px) of the grid lines.
	Gridwidth float64 `json:"gridwidth,omitempty"`

	// Hoverformat
	// arrayOK: false
	// type: string
	// Sets the hover text formatting rule using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-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
	// default: above traces
	// type: enumerated
	// Sets the layer on which this axis is displayed. If *above traces*, this axis is displayed above all the subplot's traces If *below traces*, this axis is displayed below all the subplot's traces, but above the grid lines. Useful when used together with scatter-like traces with `cliponaxis` set to *false* to show markers and/or text nodes above this axis.
	Layer LayoutPolarAngularaxisLayer `json:"layer,omitempty"`

	// Linecolor
	// arrayOK: false
	// type: color
	// Sets the axis line color.
	Linecolor Color `json:"linecolor,omitempty"`

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

	// Minexponent
	// arrayOK: false
	// type: number
	// Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*.
	Minexponent float64 `json:"minexponent,omitempty"`

	// Nticks
	// arrayOK: false
	// type: integer
	// Specifies the maximum number of ticks for the particular axis. The actual number of ticks will be chosen automatically to be less than or equal to `nticks`. Has an effect only if `tickmode` is set to *auto*.
	Nticks int64 `json:"nticks,omitempty"`

	// Period
	// arrayOK: false
	// type: number
	// Set the angular period. Has an effect only when `angularaxis.type` is *category*.
	Period float64 `json:"period,omitempty"`

	// Rotation
	// arrayOK: false
	// type: angle
	// Sets that start position (in degrees) of the angular axis By default, polar subplots with `direction` set to *counterclockwise* get a `rotation` of *0* which corresponds to due East (like what mathematicians prefer). In turn, polar with `direction` set to *clockwise* get a rotation of *90* which corresponds to due North (like on a compass),
	Rotation float64 `json:"rotation,omitempty"`

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

	// Showexponent
	// default: all
	// type: enumerated
	// If *all*, all exponents are shown besides their significands. If *first*, only the exponent of the first tick is shown. If *last*, only the exponent of the last tick is shown. If *none*, no exponents appear.
	Showexponent LayoutPolarAngularaxisShowexponent `json:"showexponent,omitempty"`

	// Showgrid
	// arrayOK: false
	// type: boolean
	// Determines whether or not grid lines are drawn. If *true*, the grid lines are drawn at every tick mark.
	Showgrid Bool `json:"showgrid,omitempty"`

	// Showline
	// arrayOK: false
	// type: boolean
	// Determines whether or not a line bounding this axis is drawn.
	Showline Bool `json:"showline,omitempty"`

	// Showticklabels
	// arrayOK: false
	// type: boolean
	// Determines whether or not the tick labels are drawn.
	Showticklabels Bool `json:"showticklabels,omitempty"`

	// Showtickprefix
	// default: all
	// type: enumerated
	// If *all*, all tick labels are displayed with a prefix. If *first*, only the first tick is displayed with a prefix. If *last*, only the last tick is displayed with a suffix. If *none*, tick prefixes are hidden.
	Showtickprefix LayoutPolarAngularaxisShowtickprefix `json:"showtickprefix,omitempty"`

	// Showticksuffix
	// default: all
	// type: enumerated
	// Same as `showtickprefix` but for tick suffixes.
	Showticksuffix LayoutPolarAngularaxisShowticksuffix `json:"showticksuffix,omitempty"`

	// Thetaunit
	// default: degrees
	// type: enumerated
	// Sets the format unit of the formatted *theta* values. Has an effect only when `angularaxis.type` is *linear*.
	Thetaunit LayoutPolarAngularaxisThetaunit `json:"thetaunit,omitempty"`

	// Tick0
	// arrayOK: false
	// type: any
	// Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2) except when `dtick`=*L<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
	// arrayOK: false
	// type: angle
	// Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.
	Tickangle float64 `json:"tickangle,omitempty"`

	// Tickcolor
	// arrayOK: false
	// type: color
	// Sets the tick color.
	Tickcolor Color `json:"tickcolor,omitempty"`

	// Tickfont
	// role: Object
	Tickfont *LayoutPolarAngularaxisTickfont `json:"tickfont,omitempty"`

	// Tickformat
	// arrayOK: false
	// type: string
	// Sets the tick label formatting rule using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-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
	// It's an items array and what goes inside it's... messy... check the docs
	// I will be happy if you want to contribute by implementing this
	// just raise an issue before you start so we do not overlap
	Tickformatstops interface{} `json:"tickformatstops,omitempty"`

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

	// Tickmode
	// default: %!s(<nil>)
	// type: enumerated
	// Sets the tick mode for this axis. If *auto*, the number of ticks is set via `nticks`. If *linear*, the placement of the ticks is determined by a starting position `tick0` and a tick step `dtick` (*linear* is the default value if `tick0` and `dtick` are provided). If *array*, the placement of the ticks is set via `tickvals` and the tick text is `ticktext`. (*array* is the default value if `tickvals` is provided).
	Tickmode LayoutPolarAngularaxisTickmode `json:"tickmode,omitempty"`

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

	// Ticks
	// default: %!s(<nil>)
	// type: enumerated
	// Determines whether ticks are drawn or not. If **, this axis' ticks are not drawn. If *outside* (*inside*), this axis' are drawn outside (inside) the axis lines.
	Ticks LayoutPolarAngularaxisTicks `json:"ticks,omitempty"`

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

	// Ticktext
	// arrayOK: false
	// type: data_array
	// Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `tickvals`.
	Ticktext interface{} `json:"ticktext,omitempty"`

	// Ticktextsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  ticktext .
	Ticktextsrc String `json:"ticktextsrc,omitempty"`

	// Tickvals
	// arrayOK: false
	// type: data_array
	// Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.
	Tickvals interface{} `json:"tickvals,omitempty"`

	// Tickvalssrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  tickvals .
	Tickvalssrc String `json:"tickvalssrc,omitempty"`

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

	// Type
	// default: -
	// type: enumerated
	// Sets the angular axis type. If *linear*, set `thetaunit` to determine the unit in which axis value are shown. If *category, use `period` to set the number of integer coordinates around polar axis.
	Type LayoutPolarAngularaxisType `json:"type,omitempty"`

	// Uirevision
	// arrayOK: false
	// type: any
	// Controls persistence of user-driven changes in axis `rotation`. Defaults to `polar<N>.uirevision`.
	Uirevision interface{} `json:"uirevision,omitempty"`

	// Visible
	// arrayOK: false
	// type: boolean
	// A single toggle to hide the axis while preserving interaction like dragging. Default is true when a cheater plot is present on the axis, otherwise false
	Visible Bool `json:"visible,omitempty"`
}

LayoutPolarAngularaxis

type LayoutPolarAngularaxisAutotypenumbers added in v0.3.1

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 (
	LayoutPolarAngularaxisAutotypenumbersConvertTypes LayoutPolarAngularaxisAutotypenumbers = "convert types"
	LayoutPolarAngularaxisAutotypenumbersStrict       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 (
	LayoutPolarAngularaxisCategoryorderTrace              LayoutPolarAngularaxisCategoryorder = "trace"
	LayoutPolarAngularaxisCategoryorderCategoryAscending  LayoutPolarAngularaxisCategoryorder = "category ascending"
	LayoutPolarAngularaxisCategoryorderCategoryDescending LayoutPolarAngularaxisCategoryorder = "category descending"
	LayoutPolarAngularaxisCategoryorderArray              LayoutPolarAngularaxisCategoryorder = "array"
	LayoutPolarAngularaxisCategoryorderTotalAscending     LayoutPolarAngularaxisCategoryorder = "total ascending"
	LayoutPolarAngularaxisCategoryorderTotalDescending    LayoutPolarAngularaxisCategoryorder = "total descending"
	LayoutPolarAngularaxisCategoryorderMinAscending       LayoutPolarAngularaxisCategoryorder = "min ascending"
	LayoutPolarAngularaxisCategoryorderMinDescending      LayoutPolarAngularaxisCategoryorder = "min descending"
	LayoutPolarAngularaxisCategoryorderMaxAscending       LayoutPolarAngularaxisCategoryorder = "max ascending"
	LayoutPolarAngularaxisCategoryorderMaxDescending      LayoutPolarAngularaxisCategoryorder = "max descending"
	LayoutPolarAngularaxisCategoryorderSumAscending       LayoutPolarAngularaxisCategoryorder = "sum ascending"
	LayoutPolarAngularaxisCategoryorderSumDescending      LayoutPolarAngularaxisCategoryorder = "sum descending"
	LayoutPolarAngularaxisCategoryorderMeanAscending      LayoutPolarAngularaxisCategoryorder = "mean ascending"
	LayoutPolarAngularaxisCategoryorderMeanDescending     LayoutPolarAngularaxisCategoryorder = "mean descending"
	LayoutPolarAngularaxisCategoryorderMedianAscending    LayoutPolarAngularaxisCategoryorder = "median ascending"
	LayoutPolarAngularaxisCategoryorderMedianDescending   LayoutPolarAngularaxisCategoryorder = "median descending"
)

type LayoutPolarAngularaxisDirection

type LayoutPolarAngularaxisDirection string

LayoutPolarAngularaxisDirection Sets the direction corresponding to positive angles.

const (
	LayoutPolarAngularaxisDirectionCounterclockwise LayoutPolarAngularaxisDirection = "counterclockwise"
	LayoutPolarAngularaxisDirectionClockwise        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 (
	LayoutPolarAngularaxisExponentformatNone  LayoutPolarAngularaxisExponentformat = "none"
	LayoutPolarAngularaxisExponentformatE1    LayoutPolarAngularaxisExponentformat = "e"
	LayoutPolarAngularaxisExponentformatE2    LayoutPolarAngularaxisExponentformat = "E"
	LayoutPolarAngularaxisExponentformatPower LayoutPolarAngularaxisExponentformat = "power"
	LayoutPolarAngularaxisExponentformatSi    LayoutPolarAngularaxisExponentformat = "SI"
	LayoutPolarAngularaxisExponentformatB     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 (
	LayoutPolarAngularaxisLayerAboveTraces LayoutPolarAngularaxisLayer = "above traces"
	LayoutPolarAngularaxisLayerBelowTraces 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 (
	LayoutPolarAngularaxisShowexponentAll   LayoutPolarAngularaxisShowexponent = "all"
	LayoutPolarAngularaxisShowexponentFirst LayoutPolarAngularaxisShowexponent = "first"
	LayoutPolarAngularaxisShowexponentLast  LayoutPolarAngularaxisShowexponent = "last"
	LayoutPolarAngularaxisShowexponentNone  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 (
	LayoutPolarAngularaxisShowtickprefixAll   LayoutPolarAngularaxisShowtickprefix = "all"
	LayoutPolarAngularaxisShowtickprefixFirst LayoutPolarAngularaxisShowtickprefix = "first"
	LayoutPolarAngularaxisShowtickprefixLast  LayoutPolarAngularaxisShowtickprefix = "last"
	LayoutPolarAngularaxisShowtickprefixNone  LayoutPolarAngularaxisShowtickprefix = "none"
)

type LayoutPolarAngularaxisShowticksuffix

type LayoutPolarAngularaxisShowticksuffix string

LayoutPolarAngularaxisShowticksuffix Same as `showtickprefix` but for tick suffixes.

const (
	LayoutPolarAngularaxisShowticksuffixAll   LayoutPolarAngularaxisShowticksuffix = "all"
	LayoutPolarAngularaxisShowticksuffixFirst LayoutPolarAngularaxisShowticksuffix = "first"
	LayoutPolarAngularaxisShowticksuffixLast  LayoutPolarAngularaxisShowticksuffix = "last"
	LayoutPolarAngularaxisShowticksuffixNone  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 (
	LayoutPolarAngularaxisThetaunitRadians LayoutPolarAngularaxisThetaunit = "radians"
	LayoutPolarAngularaxisThetaunitDegrees LayoutPolarAngularaxisThetaunit = "degrees"
)

type LayoutPolarAngularaxisTickfont

type LayoutPolarAngularaxisTickfont struct {

	// Color
	// arrayOK: false
	// type: color
	//
	Color Color `json:"color,omitempty"`

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

	// Size
	// arrayOK: false
	// type: number
	//
	Size float64 `json:"size,omitempty"`
}

LayoutPolarAngularaxisTickfont Sets the tick font.

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 (
	LayoutPolarAngularaxisTickmodeAuto   LayoutPolarAngularaxisTickmode = "auto"
	LayoutPolarAngularaxisTickmodeLinear LayoutPolarAngularaxisTickmode = "linear"
	LayoutPolarAngularaxisTickmodeArray  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 (
	LayoutPolarAngularaxisTicksOutside LayoutPolarAngularaxisTicks = "outside"
	LayoutPolarAngularaxisTicksInside  LayoutPolarAngularaxisTicks = "inside"
	LayoutPolarAngularaxisTicksEmpty   LayoutPolarAngularaxisTicks = ""
)

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 (
	LayoutPolarAngularaxisTypeHyphenHyphen LayoutPolarAngularaxisType = "-"
	LayoutPolarAngularaxisTypeLinear       LayoutPolarAngularaxisType = "linear"
	LayoutPolarAngularaxisTypeCategory     LayoutPolarAngularaxisType = "category"
)

type LayoutPolarDomain

type LayoutPolarDomain struct {

	// Column
	// arrayOK: false
	// type: integer
	// If there is a layout grid, use the domain for this column in the grid for this polar subplot .
	Column int64 `json:"column,omitempty"`

	// Row
	// arrayOK: false
	// type: integer
	// If there is a layout grid, use the domain for this row in the grid for this polar subplot .
	Row int64 `json:"row,omitempty"`

	// X
	// arrayOK: false
	// type: info_array
	// Sets the horizontal domain of this polar subplot (in plot fraction).
	X interface{} `json:"x,omitempty"`

	// Y
	// arrayOK: false
	// type: info_array
	// Sets the vertical domain of this polar subplot (in plot fraction).
	Y interface{} `json:"y,omitempty"`
}

LayoutPolarDomain

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 (
	LayoutPolarGridshapeCircular LayoutPolarGridshape = "circular"
	LayoutPolarGridshapeLinear   LayoutPolarGridshape = "linear"
)

type LayoutPolarRadialaxis

type LayoutPolarRadialaxis struct {

	// Angle
	// arrayOK: false
	// type: angle
	// Sets the angle (in degrees) from which the radial axis is drawn. Note that by default, radial axis line on the theta=0 line corresponds to a line pointing right (like what mathematicians prefer). Defaults to the first `polar.sector` angle.
	Angle float64 `json:"angle,omitempty"`

	// Autorange
	// default: %!s(bool=true)
	// type: enumerated
	// Determines whether or not the range of this axis is computed in relation to the input data. See `rangemode` for more info. If `range` is provided, then `autorange` is set to *false*.
	Autorange LayoutPolarRadialaxisAutorange `json:"autorange,omitempty"`

	// Autotypenumbers
	// default: convert types
	// type: enumerated
	// Using *strict* a numeric string in trace data is not converted to a number. Using *convert types* a numeric string in trace data may be treated as a number during automatic axis `type` detection. Defaults to layout.autotypenumbers.
	Autotypenumbers LayoutPolarRadialaxisAutotypenumbers `json:"autotypenumbers,omitempty"`

	// Calendar
	// default: gregorian
	// type: enumerated
	// Sets the calendar system to use for `range` and `tick0` if this is a date axis. This does not set the calendar for interpreting data on this axis, that's specified in the trace or via the global `layout.calendar`
	Calendar LayoutPolarRadialaxisCalendar `json:"calendar,omitempty"`

	// Categoryarray
	// arrayOK: false
	// type: data_array
	// Sets the order in which categories on this axis appear. Only has an effect if `categoryorder` is set to *array*. Used with `categoryorder`.
	Categoryarray interface{} `json:"categoryarray,omitempty"`

	// Categoryarraysrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  categoryarray .
	Categoryarraysrc String `json:"categoryarraysrc,omitempty"`

	// Categoryorder
	// default: trace
	// type: enumerated
	// Specifies the ordering logic for the case of categorical variables. By default, plotly uses *trace*, which specifies the order that is present in the data supplied. Set `categoryorder` to *category ascending* or *category descending* if order should be determined by the alphanumerical order of the category names. Set `categoryorder` to *array* to derive the ordering from the attribute `categoryarray`. If a category is not found in the `categoryarray` array, the sorting behavior for that attribute will be identical to the *trace* mode. The unspecified categories will follow the categories in `categoryarray`. Set `categoryorder` to *total ascending* or *total descending* if order should be determined by the numerical order of the values. Similarly, the order can be determined by the min, max, sum, mean or median of all the values.
	Categoryorder LayoutPolarRadialaxisCategoryorder `json:"categoryorder,omitempty"`

	// Color
	// arrayOK: false
	// type: color
	// Sets default for all colors associated with this axis all at once: line, font, tick, and grid colors. Grid color is lightened by blending this with the plot background Individual pieces can override this.
	Color Color `json:"color,omitempty"`

	// Dtick
	// arrayOK: false
	// type: any
	// Sets the step in-between ticks on this axis. Use with `tick0`. Must be a positive number, or special strings available to *log* and *date* axes. If the axis `type` is *log*, then ticks are set every 10^(n*dtick) where n is the tick number. For example, to set a tick mark at 1, 10, 100, 1000, ... set dtick to 1. To set tick marks at 1, 100, 10000, ... set dtick to 2. To set tick marks at 1, 5, 25, 125, 625, 3125, ... set dtick to log_10(5), or 0.69897000433. *log* has several special values; *L<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
	// default: B
	// type: enumerated
	// Determines a formatting rule for the tick exponents. For example, consider the number 1,000,000,000. If *none*, it appears as 1,000,000,000. If *e*, 1e+9. If *E*, 1E+9. If *power*, 1x10^9 (with 9 in a super script). If *SI*, 1G. If *B*, 1B.
	Exponentformat LayoutPolarRadialaxisExponentformat `json:"exponentformat,omitempty"`

	// Gridcolor
	// arrayOK: false
	// type: color
	// Sets the color of the grid lines.
	Gridcolor Color `json:"gridcolor,omitempty"`

	// Gridwidth
	// arrayOK: false
	// type: number
	// Sets the width (in px) of the grid lines.
	Gridwidth float64 `json:"gridwidth,omitempty"`

	// Hoverformat
	// arrayOK: false
	// type: string
	// Sets the hover text formatting rule using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-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
	// default: above traces
	// type: enumerated
	// Sets the layer on which this axis is displayed. If *above traces*, this axis is displayed above all the subplot's traces If *below traces*, this axis is displayed below all the subplot's traces, but above the grid lines. Useful when used together with scatter-like traces with `cliponaxis` set to *false* to show markers and/or text nodes above this axis.
	Layer LayoutPolarRadialaxisLayer `json:"layer,omitempty"`

	// Linecolor
	// arrayOK: false
	// type: color
	// Sets the axis line color.
	Linecolor Color `json:"linecolor,omitempty"`

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

	// Minexponent
	// arrayOK: false
	// type: number
	// Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*.
	Minexponent float64 `json:"minexponent,omitempty"`

	// Nticks
	// arrayOK: false
	// type: integer
	// Specifies the maximum number of ticks for the particular axis. The actual number of ticks will be chosen automatically to be less than or equal to `nticks`. Has an effect only if `tickmode` is set to *auto*.
	Nticks int64 `json:"nticks,omitempty"`

	// Range
	// arrayOK: false
	// type: info_array
	// Sets the range of this axis. If the axis `type` is *log*, then you must take the log of your desired range (e.g. to set the range from 1 to 100, set the range from 0 to 2). If the axis `type` is *date*, it should be date strings, like date data, though Date objects and unix milliseconds will be accepted and converted to strings. If the axis `type` is *category*, it should be numbers, using the scale where each category is assigned a serial number from zero in the order it appears.
	Range interface{} `json:"range,omitempty"`

	// Rangemode
	// default: tozero
	// type: enumerated
	// If *tozero*`, the range extends to 0, regardless of the input data If *nonnegative*, the range is non-negative, regardless of the input data. If *normal*, the range is computed in relation to the extrema of the input data (same behavior as for cartesian axes).
	Rangemode LayoutPolarRadialaxisRangemode `json:"rangemode,omitempty"`

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

	// Showexponent
	// default: all
	// type: enumerated
	// If *all*, all exponents are shown besides their significands. If *first*, only the exponent of the first tick is shown. If *last*, only the exponent of the last tick is shown. If *none*, no exponents appear.
	Showexponent LayoutPolarRadialaxisShowexponent `json:"showexponent,omitempty"`

	// Showgrid
	// arrayOK: false
	// type: boolean
	// Determines whether or not grid lines are drawn. If *true*, the grid lines are drawn at every tick mark.
	Showgrid Bool `json:"showgrid,omitempty"`

	// Showline
	// arrayOK: false
	// type: boolean
	// Determines whether or not a line bounding this axis is drawn.
	Showline Bool `json:"showline,omitempty"`

	// Showticklabels
	// arrayOK: false
	// type: boolean
	// Determines whether or not the tick labels are drawn.
	Showticklabels Bool `json:"showticklabels,omitempty"`

	// Showtickprefix
	// default: all
	// type: enumerated
	// If *all*, all tick labels are displayed with a prefix. If *first*, only the first tick is displayed with a prefix. If *last*, only the last tick is displayed with a suffix. If *none*, tick prefixes are hidden.
	Showtickprefix LayoutPolarRadialaxisShowtickprefix `json:"showtickprefix,omitempty"`

	// Showticksuffix
	// default: all
	// type: enumerated
	// Same as `showtickprefix` but for tick suffixes.
	Showticksuffix LayoutPolarRadialaxisShowticksuffix `json:"showticksuffix,omitempty"`

	// Side
	// default: clockwise
	// type: enumerated
	// Determines on which side of radial axis line the tick and tick labels appear.
	Side LayoutPolarRadialaxisSide `json:"side,omitempty"`

	// Tick0
	// arrayOK: false
	// type: any
	// Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2) except when `dtick`=*L<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
	// arrayOK: false
	// type: angle
	// Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.
	Tickangle float64 `json:"tickangle,omitempty"`

	// Tickcolor
	// arrayOK: false
	// type: color
	// Sets the tick color.
	Tickcolor Color `json:"tickcolor,omitempty"`

	// Tickfont
	// role: Object
	Tickfont *LayoutPolarRadialaxisTickfont `json:"tickfont,omitempty"`

	// Tickformat
	// arrayOK: false
	// type: string
	// Sets the tick label formatting rule using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-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
	// It's an items array and what goes inside it's... messy... check the docs
	// I will be happy if you want to contribute by implementing this
	// just raise an issue before you start so we do not overlap
	Tickformatstops interface{} `json:"tickformatstops,omitempty"`

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

	// Tickmode
	// default: %!s(<nil>)
	// type: enumerated
	// Sets the tick mode for this axis. If *auto*, the number of ticks is set via `nticks`. If *linear*, the placement of the ticks is determined by a starting position `tick0` and a tick step `dtick` (*linear* is the default value if `tick0` and `dtick` are provided). If *array*, the placement of the ticks is set via `tickvals` and the tick text is `ticktext`. (*array* is the default value if `tickvals` is provided).
	Tickmode LayoutPolarRadialaxisTickmode `json:"tickmode,omitempty"`

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

	// Ticks
	// default: %!s(<nil>)
	// type: enumerated
	// Determines whether ticks are drawn or not. If **, this axis' ticks are not drawn. If *outside* (*inside*), this axis' are drawn outside (inside) the axis lines.
	Ticks LayoutPolarRadialaxisTicks `json:"ticks,omitempty"`

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

	// Ticktext
	// arrayOK: false
	// type: data_array
	// Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `tickvals`.
	Ticktext interface{} `json:"ticktext,omitempty"`

	// Ticktextsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  ticktext .
	Ticktextsrc String `json:"ticktextsrc,omitempty"`

	// Tickvals
	// arrayOK: false
	// type: data_array
	// Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.
	Tickvals interface{} `json:"tickvals,omitempty"`

	// Tickvalssrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  tickvals .
	Tickvalssrc String `json:"tickvalssrc,omitempty"`

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

	// Title
	// role: Object
	Title *LayoutPolarRadialaxisTitle `json:"title,omitempty"`

	// Type
	// default: -
	// type: enumerated
	// Sets the axis type. By default, plotly attempts to determined the axis type by looking into the data of the traces that referenced the axis in question.
	Type LayoutPolarRadialaxisType `json:"type,omitempty"`

	// Uirevision
	// arrayOK: false
	// type: any
	// Controls persistence of user-driven changes in axis `range`, `autorange`, `angle`, and `title` if in `editable: true` configuration. Defaults to `polar<N>.uirevision`.
	Uirevision interface{} `json:"uirevision,omitempty"`

	// Visible
	// arrayOK: false
	// type: boolean
	// A single toggle to hide the axis while preserving interaction like dragging. Default is true when a cheater plot is present on the axis, otherwise false
	Visible Bool `json:"visible,omitempty"`
}

LayoutPolarRadialaxis

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 (
	LayoutPolarRadialaxisAutorangeTrue     LayoutPolarRadialaxisAutorange = true
	LayoutPolarRadialaxisAutorangeFalse    LayoutPolarRadialaxisAutorange = false
	LayoutPolarRadialaxisAutorangeReversed LayoutPolarRadialaxisAutorange = "reversed"
)

type LayoutPolarRadialaxisAutotypenumbers added in v0.3.1

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 (
	LayoutPolarRadialaxisAutotypenumbersConvertTypes LayoutPolarRadialaxisAutotypenumbers = "convert types"
	LayoutPolarRadialaxisAutotypenumbersStrict       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 (
	LayoutPolarRadialaxisCalendarGregorian  LayoutPolarRadialaxisCalendar = "gregorian"
	LayoutPolarRadialaxisCalendarChinese    LayoutPolarRadialaxisCalendar = "chinese"
	LayoutPolarRadialaxisCalendarCoptic     LayoutPolarRadialaxisCalendar = "coptic"
	LayoutPolarRadialaxisCalendarDiscworld  LayoutPolarRadialaxisCalendar = "discworld"
	LayoutPolarRadialaxisCalendarEthiopian  LayoutPolarRadialaxisCalendar = "ethiopian"
	LayoutPolarRadialaxisCalendarHebrew     LayoutPolarRadialaxisCalendar = "hebrew"
	LayoutPolarRadialaxisCalendarIslamic    LayoutPolarRadialaxisCalendar = "islamic"
	LayoutPolarRadialaxisCalendarJulian     LayoutPolarRadialaxisCalendar = "julian"
	LayoutPolarRadialaxisCalendarMayan      LayoutPolarRadialaxisCalendar = "mayan"
	LayoutPolarRadialaxisCalendarNanakshahi LayoutPolarRadialaxisCalendar = "nanakshahi"
	LayoutPolarRadialaxisCalendarNepali     LayoutPolarRadialaxisCalendar = "nepali"
	LayoutPolarRadialaxisCalendarPersian    LayoutPolarRadialaxisCalendar = "persian"
	LayoutPolarRadialaxisCalendarJalali     LayoutPolarRadialaxisCalendar = "jalali"
	LayoutPolarRadialaxisCalendarTaiwan     LayoutPolarRadialaxisCalendar = "taiwan"
	LayoutPolarRadialaxisCalendarThai       LayoutPolarRadialaxisCalendar = "thai"
	LayoutPolarRadialaxisCalendarUmmalqura  LayoutPolarRadialaxisCalendar = "ummalqura"
)

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 (
	LayoutPolarRadialaxisCategoryorderTrace              LayoutPolarRadialaxisCategoryorder = "trace"
	LayoutPolarRadialaxisCategoryorderCategoryAscending  LayoutPolarRadialaxisCategoryorder = "category ascending"
	LayoutPolarRadialaxisCategoryorderCategoryDescending LayoutPolarRadialaxisCategoryorder = "category descending"
	LayoutPolarRadialaxisCategoryorderArray              LayoutPolarRadialaxisCategoryorder = "array"
	LayoutPolarRadialaxisCategoryorderTotalAscending     LayoutPolarRadialaxisCategoryorder = "total ascending"
	LayoutPolarRadialaxisCategoryorderTotalDescending    LayoutPolarRadialaxisCategoryorder = "total descending"
	LayoutPolarRadialaxisCategoryorderMinAscending       LayoutPolarRadialaxisCategoryorder = "min ascending"
	LayoutPolarRadialaxisCategoryorderMinDescending      LayoutPolarRadialaxisCategoryorder = "min descending"
	LayoutPolarRadialaxisCategoryorderMaxAscending       LayoutPolarRadialaxisCategoryorder = "max ascending"
	LayoutPolarRadialaxisCategoryorderMaxDescending      LayoutPolarRadialaxisCategoryorder = "max descending"
	LayoutPolarRadialaxisCategoryorderSumAscending       LayoutPolarRadialaxisCategoryorder = "sum ascending"
	LayoutPolarRadialaxisCategoryorderSumDescending      LayoutPolarRadialaxisCategoryorder = "sum descending"
	LayoutPolarRadialaxisCategoryorderMeanAscending      LayoutPolarRadialaxisCategoryorder = "mean ascending"
	LayoutPolarRadialaxisCategoryorderMeanDescending     LayoutPolarRadialaxisCategoryorder = "mean descending"
	LayoutPolarRadialaxisCategoryorderMedianAscending    LayoutPolarRadialaxisCategoryorder = "median ascending"
	LayoutPolarRadialaxisCategoryorderMedianDescending   LayoutPolarRadialaxisCategoryorder = "median descending"
)

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 (
	LayoutPolarRadialaxisExponentformatNone  LayoutPolarRadialaxisExponentformat = "none"
	LayoutPolarRadialaxisExponentformatE1    LayoutPolarRadialaxisExponentformat = "e"
	LayoutPolarRadialaxisExponentformatE2    LayoutPolarRadialaxisExponentformat = "E"
	LayoutPolarRadialaxisExponentformatPower LayoutPolarRadialaxisExponentformat = "power"
	LayoutPolarRadialaxisExponentformatSi    LayoutPolarRadialaxisExponentformat = "SI"
	LayoutPolarRadialaxisExponentformatB     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 (
	LayoutPolarRadialaxisLayerAboveTraces LayoutPolarRadialaxisLayer = "above traces"
	LayoutPolarRadialaxisLayerBelowTraces 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 (
	LayoutPolarRadialaxisRangemodeTozero      LayoutPolarRadialaxisRangemode = "tozero"
	LayoutPolarRadialaxisRangemodeNonnegative LayoutPolarRadialaxisRangemode = "nonnegative"
	LayoutPolarRadialaxisRangemodeNormal      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 (
	LayoutPolarRadialaxisShowexponentAll   LayoutPolarRadialaxisShowexponent = "all"
	LayoutPolarRadialaxisShowexponentFirst LayoutPolarRadialaxisShowexponent = "first"
	LayoutPolarRadialaxisShowexponentLast  LayoutPolarRadialaxisShowexponent = "last"
	LayoutPolarRadialaxisShowexponentNone  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 (
	LayoutPolarRadialaxisShowtickprefixAll   LayoutPolarRadialaxisShowtickprefix = "all"
	LayoutPolarRadialaxisShowtickprefixFirst LayoutPolarRadialaxisShowtickprefix = "first"
	LayoutPolarRadialaxisShowtickprefixLast  LayoutPolarRadialaxisShowtickprefix = "last"
	LayoutPolarRadialaxisShowtickprefixNone  LayoutPolarRadialaxisShowtickprefix = "none"
)

type LayoutPolarRadialaxisShowticksuffix

type LayoutPolarRadialaxisShowticksuffix string

LayoutPolarRadialaxisShowticksuffix Same as `showtickprefix` but for tick suffixes.

const (
	LayoutPolarRadialaxisShowticksuffixAll   LayoutPolarRadialaxisShowticksuffix = "all"
	LayoutPolarRadialaxisShowticksuffixFirst LayoutPolarRadialaxisShowticksuffix = "first"
	LayoutPolarRadialaxisShowticksuffixLast  LayoutPolarRadialaxisShowticksuffix = "last"
	LayoutPolarRadialaxisShowticksuffixNone  LayoutPolarRadialaxisShowticksuffix = "none"
)

type LayoutPolarRadialaxisSide

type LayoutPolarRadialaxisSide string

LayoutPolarRadialaxisSide Determines on which side of radial axis line the tick and tick labels appear.

const (
	LayoutPolarRadialaxisSideClockwise        LayoutPolarRadialaxisSide = "clockwise"
	LayoutPolarRadialaxisSideCounterclockwise LayoutPolarRadialaxisSide = "counterclockwise"
)

type LayoutPolarRadialaxisTickfont

type LayoutPolarRadialaxisTickfont struct {

	// Color
	// arrayOK: false
	// type: color
	//
	Color Color `json:"color,omitempty"`

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

	// Size
	// arrayOK: false
	// type: number
	//
	Size float64 `json:"size,omitempty"`
}

LayoutPolarRadialaxisTickfont Sets the tick font.

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 (
	LayoutPolarRadialaxisTickmodeAuto   LayoutPolarRadialaxisTickmode = "auto"
	LayoutPolarRadialaxisTickmodeLinear LayoutPolarRadialaxisTickmode = "linear"
	LayoutPolarRadialaxisTickmodeArray  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 (
	LayoutPolarRadialaxisTicksOutside LayoutPolarRadialaxisTicks = "outside"
	LayoutPolarRadialaxisTicksInside  LayoutPolarRadialaxisTicks = "inside"
	LayoutPolarRadialaxisTicksEmpty   LayoutPolarRadialaxisTicks = ""
)

type LayoutPolarRadialaxisTitle

type LayoutPolarRadialaxisTitle struct {

	// Font
	// role: Object
	Font *LayoutPolarRadialaxisTitleFont `json:"font,omitempty"`

	// Text
	// arrayOK: false
	// type: string
	// Sets the title of this axis. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.
	Text String `json:"text,omitempty"`
}

LayoutPolarRadialaxisTitle

type LayoutPolarRadialaxisTitleFont

type LayoutPolarRadialaxisTitleFont struct {

	// Color
	// arrayOK: false
	// type: color
	//
	Color Color `json:"color,omitempty"`

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

	// Size
	// arrayOK: false
	// type: number
	//
	Size float64 `json:"size,omitempty"`
}

LayoutPolarRadialaxisTitleFont Sets this axis' title font. Note that the title's font used to be customized by the now deprecated `titlefont` attribute.

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 (
	LayoutPolarRadialaxisTypeHyphenHyphen LayoutPolarRadialaxisType = "-"
	LayoutPolarRadialaxisTypeLinear       LayoutPolarRadialaxisType = "linear"
	LayoutPolarRadialaxisTypeLog          LayoutPolarRadialaxisType = "log"
	LayoutPolarRadialaxisTypeDate         LayoutPolarRadialaxisType = "date"
	LayoutPolarRadialaxisTypeCategory     LayoutPolarRadialaxisType = "category"
)

type LayoutRadialaxis

type LayoutRadialaxis struct {

	// Domain
	// arrayOK: false
	// type: info_array
	// Polar chart subplots are not supported yet. This key has currently no effect.
	Domain interface{} `json:"domain,omitempty"`

	// Endpadding
	// arrayOK: false
	// type: number
	// Legacy polar charts are deprecated! Please switch to *polar* subplots.
	Endpadding float64 `json:"endpadding,omitempty"`

	// Orientation
	// arrayOK: false
	// type: number
	// Legacy polar charts are deprecated! Please switch to *polar* subplots. Sets the orientation (an angle with respect to the origin) of the radial axis.
	Orientation float64 `json:"orientation,omitempty"`

	// Range
	// arrayOK: false
	// type: info_array
	// Legacy polar charts are deprecated! Please switch to *polar* subplots. Defines the start and end point of this radial axis.
	Range interface{} `json:"range,omitempty"`

	// Showline
	// arrayOK: false
	// type: boolean
	// Legacy polar charts are deprecated! Please switch to *polar* subplots. Determines whether or not the line bounding this radial axis will be shown on the figure.
	Showline Bool `json:"showline,omitempty"`

	// Showticklabels
	// arrayOK: false
	// type: boolean
	// Legacy polar charts are deprecated! Please switch to *polar* subplots. Determines whether or not the radial axis ticks will feature tick labels.
	Showticklabels Bool `json:"showticklabels,omitempty"`

	// Tickcolor
	// arrayOK: false
	// type: color
	// Legacy polar charts are deprecated! Please switch to *polar* subplots. Sets the color of the tick lines on this radial axis.
	Tickcolor Color `json:"tickcolor,omitempty"`

	// Ticklen
	// arrayOK: false
	// type: number
	// Legacy polar charts are deprecated! Please switch to *polar* subplots. Sets the length of the tick lines on this radial axis.
	Ticklen float64 `json:"ticklen,omitempty"`

	// Tickorientation
	// default: %!s(<nil>)
	// type: enumerated
	// Legacy polar charts are deprecated! Please switch to *polar* subplots. Sets the orientation (from the paper perspective) of the radial axis tick labels.
	Tickorientation LayoutRadialaxisTickorientation `json:"tickorientation,omitempty"`

	// Ticksuffix
	// arrayOK: false
	// type: string
	// Legacy polar charts are deprecated! Please switch to *polar* subplots. Sets the length of the tick lines on this radial axis.
	Ticksuffix String `json:"ticksuffix,omitempty"`

	// Visible
	// arrayOK: false
	// type: boolean
	// Legacy polar charts are deprecated! Please switch to *polar* subplots. Determines whether or not this axis will be visible.
	Visible Bool `json:"visible,omitempty"`
}

LayoutRadialaxis

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 (
	LayoutRadialaxisTickorientationHorizontal LayoutRadialaxisTickorientation = "horizontal"
	LayoutRadialaxisTickorientationVertical   LayoutRadialaxisTickorientation = "vertical"
)

type LayoutScene

type LayoutScene struct {

	// Annotations
	// It's an items array and what goes inside it's... messy... check the docs
	// I will be happy if you want to contribute by implementing this
	// just raise an issue before you start so we do not overlap
	Annotations interface{} `json:"annotations,omitempty"`

	// Aspectmode
	// default: auto
	// type: enumerated
	// If *cube*, this scene's axes are drawn as a cube, regardless of the axes' ranges. If *data*, this scene's axes are drawn in proportion with the axes' ranges. If *manual*, this scene's axes are drawn in proportion with the input of *aspectratio* (the default behavior if *aspectratio* is provided). If *auto*, this scene's axes are drawn using the results of *data* except when one axis is more than four times the size of the two others, where in that case the results of *cube* are used.
	Aspectmode LayoutSceneAspectmode `json:"aspectmode,omitempty"`

	// Aspectratio
	// role: Object
	Aspectratio *LayoutSceneAspectratio `json:"aspectratio,omitempty"`

	// Bgcolor
	// arrayOK: false
	// type: color
	//
	Bgcolor Color `json:"bgcolor,omitempty"`

	// Camera
	// role: Object
	Camera *LayoutSceneCamera `json:"camera,omitempty"`

	// Domain
	// role: Object
	Domain *LayoutSceneDomain `json:"domain,omitempty"`

	// Dragmode
	// default: %!s(<nil>)
	// type: enumerated
	// Determines the mode of drag interactions for this scene.
	Dragmode LayoutSceneDragmode `json:"dragmode,omitempty"`

	// Hovermode
	// default: closest
	// type: enumerated
	// Determines the mode of hover interactions for this scene.
	Hovermode LayoutSceneHovermode `json:"hovermode,omitempty"`

	// Uirevision
	// arrayOK: false
	// type: any
	// Controls persistence of user-driven changes in camera attributes. Defaults to `layout.uirevision`.
	Uirevision interface{} `json:"uirevision,omitempty"`

	// Xaxis
	// role: Object
	Xaxis *LayoutSceneXaxis `json:"xaxis,omitempty"`

	// Yaxis
	// role: Object
	Yaxis *LayoutSceneYaxis `json:"yaxis,omitempty"`

	// Zaxis
	// role: Object
	Zaxis *LayoutSceneZaxis `json:"zaxis,omitempty"`
}

LayoutScene

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 (
	LayoutSceneAspectmodeAuto   LayoutSceneAspectmode = "auto"
	LayoutSceneAspectmodeCube   LayoutSceneAspectmode = "cube"
	LayoutSceneAspectmodeData   LayoutSceneAspectmode = "data"
	LayoutSceneAspectmodeManual LayoutSceneAspectmode = "manual"
)

type LayoutSceneAspectratio

type LayoutSceneAspectratio struct {

	// X
	// arrayOK: false
	// type: number
	//
	X float64 `json:"x,omitempty"`

	// Y
	// arrayOK: false
	// type: number
	//
	Y float64 `json:"y,omitempty"`

	// Z
	// arrayOK: false
	// type: number
	//
	Z float64 `json:"z,omitempty"`
}

LayoutSceneAspectratio Sets this scene's axis aspectratio.

type LayoutSceneCamera

type LayoutSceneCamera struct {

	// Center
	// role: Object
	Center *LayoutSceneCameraCenter `json:"center,omitempty"`

	// Eye
	// role: Object
	Eye *LayoutSceneCameraEye `json:"eye,omitempty"`

	// Projection
	// role: Object
	Projection *LayoutSceneCameraProjection `json:"projection,omitempty"`

	// Up
	// role: Object
	Up *LayoutSceneCameraUp `json:"up,omitempty"`
}

LayoutSceneCamera

type LayoutSceneCameraCenter

type LayoutSceneCameraCenter struct {

	// X
	// arrayOK: false
	// type: number
	//
	X float64 `json:"x,omitempty"`

	// Y
	// arrayOK: false
	// type: number
	//
	Y float64 `json:"y,omitempty"`

	// Z
	// arrayOK: false
	// type: number
	//
	Z float64 `json:"z,omitempty"`
}

LayoutSceneCameraCenter Sets the (x,y,z) components of the 'center' camera vector This vector determines the translation (x,y,z) space about the center of this scene. By default, there is no such translation.

type LayoutSceneCameraEye

type LayoutSceneCameraEye struct {

	// X
	// arrayOK: false
	// type: number
	//
	X float64 `json:"x,omitempty"`

	// Y
	// arrayOK: false
	// type: number
	//
	Y float64 `json:"y,omitempty"`

	// Z
	// arrayOK: false
	// type: number
	//
	Z float64 `json:"z,omitempty"`
}

LayoutSceneCameraEye Sets the (x,y,z) components of the 'eye' camera vector. This vector determines the view point about the origin of this scene.

type LayoutSceneCameraProjection

type LayoutSceneCameraProjection struct {

	// Type
	// default: perspective
	// type: enumerated
	// Sets the projection type. The projection type could be either *perspective* or *orthographic*. The default is *perspective*.
	Type LayoutSceneCameraProjectionType `json:"type,omitempty"`
}

LayoutSceneCameraProjection

type LayoutSceneCameraProjectionType

type LayoutSceneCameraProjectionType string

LayoutSceneCameraProjectionType Sets the projection type. The projection type could be either *perspective* or *orthographic*. The default is *perspective*.

const (
	LayoutSceneCameraProjectionTypePerspective  LayoutSceneCameraProjectionType = "perspective"
	LayoutSceneCameraProjectionTypeOrthographic LayoutSceneCameraProjectionType = "orthographic"
)

type LayoutSceneCameraUp

type LayoutSceneCameraUp struct {

	// X
	// arrayOK: false
	// type: number
	//
	X float64 `json:"x,omitempty"`

	// Y
	// arrayOK: false
	// type: number
	//
	Y float64 `json:"y,omitempty"`

	// Z
	// arrayOK: false
	// type: number
	//
	Z float64 `json:"z,omitempty"`
}

LayoutSceneCameraUp Sets the (x,y,z) components of the 'up' camera vector. This vector determines the up direction of this scene with respect to the page. The default is *{x: 0, y: 0, z: 1}* which means that the z axis points up.

type LayoutSceneDomain

type LayoutSceneDomain struct {

	// Column
	// arrayOK: false
	// type: integer
	// If there is a layout grid, use the domain for this column in the grid for this scene subplot .
	Column int64 `json:"column,omitempty"`

	// Row
	// arrayOK: false
	// type: integer
	// If there is a layout grid, use the domain for this row in the grid for this scene subplot .
	Row int64 `json:"row,omitempty"`

	// X
	// arrayOK: false
	// type: info_array
	// Sets the horizontal domain of this scene subplot (in plot fraction).
	X interface{} `json:"x,omitempty"`

	// Y
	// arrayOK: false
	// type: info_array
	// Sets the vertical domain of this scene subplot (in plot fraction).
	Y interface{} `json:"y,omitempty"`
}

LayoutSceneDomain

type LayoutSceneDragmode

type LayoutSceneDragmode interface{}

LayoutSceneDragmode Determines the mode of drag interactions for this scene.

var (
	LayoutSceneDragmodeOrbit     LayoutSceneDragmode = "orbit"
	LayoutSceneDragmodeTurntable LayoutSceneDragmode = "turntable"
	LayoutSceneDragmodeZoom      LayoutSceneDragmode = "zoom"
	LayoutSceneDragmodePan       LayoutSceneDragmode = "pan"
	LayoutSceneDragmodeFalse     LayoutSceneDragmode = false
)

type LayoutSceneHovermode

type LayoutSceneHovermode interface{}

LayoutSceneHovermode Determines the mode of hover interactions for this scene.

var (
	LayoutSceneHovermodeClosest LayoutSceneHovermode = "closest"
	LayoutSceneHovermodeFalse   LayoutSceneHovermode = false
)

type LayoutSceneXaxis

type LayoutSceneXaxis struct {

	// Autorange
	// default: %!s(bool=true)
	// type: enumerated
	// Determines whether or not the range of this axis is computed in relation to the input data. See `rangemode` for more info. If `range` is provided, then `autorange` is set to *false*.
	Autorange LayoutSceneXaxisAutorange `json:"autorange,omitempty"`

	// Autotypenumbers
	// default: convert types
	// type: enumerated
	// Using *strict* a numeric string in trace data is not converted to a number. Using *convert types* a numeric string in trace data may be treated as a number during automatic axis `type` detection. Defaults to layout.autotypenumbers.
	Autotypenumbers LayoutSceneXaxisAutotypenumbers `json:"autotypenumbers,omitempty"`

	// Backgroundcolor
	// arrayOK: false
	// type: color
	// Sets the background color of this axis' wall.
	Backgroundcolor Color `json:"backgroundcolor,omitempty"`

	// Calendar
	// default: gregorian
	// type: enumerated
	// Sets the calendar system to use for `range` and `tick0` if this is a date axis. This does not set the calendar for interpreting data on this axis, that's specified in the trace or via the global `layout.calendar`
	Calendar LayoutSceneXaxisCalendar `json:"calendar,omitempty"`

	// Categoryarray
	// arrayOK: false
	// type: data_array
	// Sets the order in which categories on this axis appear. Only has an effect if `categoryorder` is set to *array*. Used with `categoryorder`.
	Categoryarray interface{} `json:"categoryarray,omitempty"`

	// Categoryarraysrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  categoryarray .
	Categoryarraysrc String `json:"categoryarraysrc,omitempty"`

	// Categoryorder
	// default: trace
	// type: enumerated
	// Specifies the ordering logic for the case of categorical variables. By default, plotly uses *trace*, which specifies the order that is present in the data supplied. Set `categoryorder` to *category ascending* or *category descending* if order should be determined by the alphanumerical order of the category names. Set `categoryorder` to *array* to derive the ordering from the attribute `categoryarray`. If a category is not found in the `categoryarray` array, the sorting behavior for that attribute will be identical to the *trace* mode. The unspecified categories will follow the categories in `categoryarray`. Set `categoryorder` to *total ascending* or *total descending* if order should be determined by the numerical order of the values. Similarly, the order can be determined by the min, max, sum, mean or median of all the values.
	Categoryorder LayoutSceneXaxisCategoryorder `json:"categoryorder,omitempty"`

	// Color
	// arrayOK: false
	// type: color
	// Sets default for all colors associated with this axis all at once: line, font, tick, and grid colors. Grid color is lightened by blending this with the plot background Individual pieces can override this.
	Color Color `json:"color,omitempty"`

	// Dtick
	// arrayOK: false
	// type: any
	// Sets the step in-between ticks on this axis. Use with `tick0`. Must be a positive number, or special strings available to *log* and *date* axes. If the axis `type` is *log*, then ticks are set every 10^(n*dtick) where n is the tick number. For example, to set a tick mark at 1, 10, 100, 1000, ... set dtick to 1. To set tick marks at 1, 100, 10000, ... set dtick to 2. To set tick marks at 1, 5, 25, 125, 625, 3125, ... set dtick to log_10(5), or 0.69897000433. *log* has several special values; *L<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
	// default: B
	// type: enumerated
	// Determines a formatting rule for the tick exponents. For example, consider the number 1,000,000,000. If *none*, it appears as 1,000,000,000. If *e*, 1e+9. If *E*, 1E+9. If *power*, 1x10^9 (with 9 in a super script). If *SI*, 1G. If *B*, 1B.
	Exponentformat LayoutSceneXaxisExponentformat `json:"exponentformat,omitempty"`

	// Gridcolor
	// arrayOK: false
	// type: color
	// Sets the color of the grid lines.
	Gridcolor Color `json:"gridcolor,omitempty"`

	// Gridwidth
	// arrayOK: false
	// type: number
	// Sets the width (in px) of the grid lines.
	Gridwidth float64 `json:"gridwidth,omitempty"`

	// Hoverformat
	// arrayOK: false
	// type: string
	// Sets the hover text formatting rule using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-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
	// arrayOK: false
	// type: color
	// Sets the axis line color.
	Linecolor Color `json:"linecolor,omitempty"`

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

	// Minexponent
	// arrayOK: false
	// type: number
	// Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*.
	Minexponent float64 `json:"minexponent,omitempty"`

	// Mirror
	// default: %!s(bool=false)
	// type: enumerated
	// Determines if the axis lines or/and ticks are mirrored to the opposite side of the plotting area. If *true*, the axis lines are mirrored. If *ticks*, the axis lines and ticks are mirrored. If *false*, mirroring is disable. If *all*, axis lines are mirrored on all shared-axes subplots. If *allticks*, axis lines and ticks are mirrored on all shared-axes subplots.
	Mirror LayoutSceneXaxisMirror `json:"mirror,omitempty"`

	// Nticks
	// arrayOK: false
	// type: integer
	// Specifies the maximum number of ticks for the particular axis. The actual number of ticks will be chosen automatically to be less than or equal to `nticks`. Has an effect only if `tickmode` is set to *auto*.
	Nticks int64 `json:"nticks,omitempty"`

	// Range
	// arrayOK: false
	// type: info_array
	// Sets the range of this axis. If the axis `type` is *log*, then you must take the log of your desired range (e.g. to set the range from 1 to 100, set the range from 0 to 2). If the axis `type` is *date*, it should be date strings, like date data, though Date objects and unix milliseconds will be accepted and converted to strings. If the axis `type` is *category*, it should be numbers, using the scale where each category is assigned a serial number from zero in the order it appears.
	Range interface{} `json:"range,omitempty"`

	// Rangemode
	// default: normal
	// type: enumerated
	// If *normal*, the range is computed in relation to the extrema of the input data. If *tozero*`, the range extends to 0, regardless of the input data If *nonnegative*, the range is non-negative, regardless of the input data. Applies only to linear axes.
	Rangemode LayoutSceneXaxisRangemode `json:"rangemode,omitempty"`

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

	// Showaxeslabels
	// arrayOK: false
	// type: boolean
	// Sets whether or not this axis is labeled
	Showaxeslabels Bool `json:"showaxeslabels,omitempty"`

	// Showbackground
	// arrayOK: false
	// type: boolean
	// Sets whether or not this axis' wall has a background color.
	Showbackground Bool `json:"showbackground,omitempty"`

	// Showexponent
	// default: all
	// type: enumerated
	// If *all*, all exponents are shown besides their significands. If *first*, only the exponent of the first tick is shown. If *last*, only the exponent of the last tick is shown. If *none*, no exponents appear.
	Showexponent LayoutSceneXaxisShowexponent `json:"showexponent,omitempty"`

	// Showgrid
	// arrayOK: false
	// type: boolean
	// Determines whether or not grid lines are drawn. If *true*, the grid lines are drawn at every tick mark.
	Showgrid Bool `json:"showgrid,omitempty"`

	// Showline
	// arrayOK: false
	// type: boolean
	// Determines whether or not a line bounding this axis is drawn.
	Showline Bool `json:"showline,omitempty"`

	// Showspikes
	// arrayOK: false
	// type: boolean
	// Sets whether or not spikes starting from data points to this axis' wall are shown on hover.
	Showspikes Bool `json:"showspikes,omitempty"`

	// Showticklabels
	// arrayOK: false
	// type: boolean
	// Determines whether or not the tick labels are drawn.
	Showticklabels Bool `json:"showticklabels,omitempty"`

	// Showtickprefix
	// default: all
	// type: enumerated
	// If *all*, all tick labels are displayed with a prefix. If *first*, only the first tick is displayed with a prefix. If *last*, only the last tick is displayed with a suffix. If *none*, tick prefixes are hidden.
	Showtickprefix LayoutSceneXaxisShowtickprefix `json:"showtickprefix,omitempty"`

	// Showticksuffix
	// default: all
	// type: enumerated
	// Same as `showtickprefix` but for tick suffixes.
	Showticksuffix LayoutSceneXaxisShowticksuffix `json:"showticksuffix,omitempty"`

	// Spikecolor
	// arrayOK: false
	// type: color
	// Sets the color of the spikes.
	Spikecolor Color `json:"spikecolor,omitempty"`

	// Spikesides
	// arrayOK: false
	// type: boolean
	// Sets whether or not spikes extending from the projection data points to this axis' wall boundaries are shown on hover.
	Spikesides Bool `json:"spikesides,omitempty"`

	// Spikethickness
	// arrayOK: false
	// type: number
	// Sets the thickness (in px) of the spikes.
	Spikethickness float64 `json:"spikethickness,omitempty"`

	// Tick0
	// arrayOK: false
	// type: any
	// Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2) except when `dtick`=*L<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
	// arrayOK: false
	// type: angle
	// Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.
	Tickangle float64 `json:"tickangle,omitempty"`

	// Tickcolor
	// arrayOK: false
	// type: color
	// Sets the tick color.
	Tickcolor Color `json:"tickcolor,omitempty"`

	// Tickfont
	// role: Object
	Tickfont *LayoutSceneXaxisTickfont `json:"tickfont,omitempty"`

	// Tickformat
	// arrayOK: false
	// type: string
	// Sets the tick label formatting rule using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-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
	// It's an items array and what goes inside it's... messy... check the docs
	// I will be happy if you want to contribute by implementing this
	// just raise an issue before you start so we do not overlap
	Tickformatstops interface{} `json:"tickformatstops,omitempty"`

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

	// Tickmode
	// default: %!s(<nil>)
	// type: enumerated
	// Sets the tick mode for this axis. If *auto*, the number of ticks is set via `nticks`. If *linear*, the placement of the ticks is determined by a starting position `tick0` and a tick step `dtick` (*linear* is the default value if `tick0` and `dtick` are provided). If *array*, the placement of the ticks is set via `tickvals` and the tick text is `ticktext`. (*array* is the default value if `tickvals` is provided).
	Tickmode LayoutSceneXaxisTickmode `json:"tickmode,omitempty"`

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

	// Ticks
	// default: %!s(<nil>)
	// type: enumerated
	// Determines whether ticks are drawn or not. If **, this axis' ticks are not drawn. If *outside* (*inside*), this axis' are drawn outside (inside) the axis lines.
	Ticks LayoutSceneXaxisTicks `json:"ticks,omitempty"`

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

	// Ticktext
	// arrayOK: false
	// type: data_array
	// Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `tickvals`.
	Ticktext interface{} `json:"ticktext,omitempty"`

	// Ticktextsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  ticktext .
	Ticktextsrc String `json:"ticktextsrc,omitempty"`

	// Tickvals
	// arrayOK: false
	// type: data_array
	// Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.
	Tickvals interface{} `json:"tickvals,omitempty"`

	// Tickvalssrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  tickvals .
	Tickvalssrc String `json:"tickvalssrc,omitempty"`

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

	// Title
	// role: Object
	Title *LayoutSceneXaxisTitle `json:"title,omitempty"`

	// Type
	// default: -
	// type: enumerated
	// Sets the axis type. By default, plotly attempts to determined the axis type by looking into the data of the traces that referenced the axis in question.
	Type LayoutSceneXaxisType `json:"type,omitempty"`

	// Visible
	// arrayOK: false
	// type: boolean
	// A single toggle to hide the axis while preserving interaction like dragging. Default is true when a cheater plot is present on the axis, otherwise false
	Visible Bool `json:"visible,omitempty"`

	// Zeroline
	// arrayOK: false
	// type: boolean
	// Determines whether or not a line is drawn at along the 0 value of this axis. If *true*, the zero line is drawn on top of the grid lines.
	Zeroline Bool `json:"zeroline,omitempty"`

	// Zerolinecolor
	// arrayOK: false
	// type: color
	// Sets the line color of the zero line.
	Zerolinecolor Color `json:"zerolinecolor,omitempty"`

	// Zerolinewidth
	// arrayOK: false
	// type: number
	// Sets the width (in px) of the zero line.
	Zerolinewidth float64 `json:"zerolinewidth,omitempty"`
}

LayoutSceneXaxis

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 (
	LayoutSceneXaxisAutorangeTrue     LayoutSceneXaxisAutorange = true
	LayoutSceneXaxisAutorangeFalse    LayoutSceneXaxisAutorange = false
	LayoutSceneXaxisAutorangeReversed LayoutSceneXaxisAutorange = "reversed"
)

type LayoutSceneXaxisAutotypenumbers added in v0.3.1

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 (
	LayoutSceneXaxisAutotypenumbersConvertTypes LayoutSceneXaxisAutotypenumbers = "convert types"
	LayoutSceneXaxisAutotypenumbersStrict       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 (
	LayoutSceneXaxisCalendarGregorian  LayoutSceneXaxisCalendar = "gregorian"
	LayoutSceneXaxisCalendarChinese    LayoutSceneXaxisCalendar = "chinese"
	LayoutSceneXaxisCalendarCoptic     LayoutSceneXaxisCalendar = "coptic"
	LayoutSceneXaxisCalendarDiscworld  LayoutSceneXaxisCalendar = "discworld"
	LayoutSceneXaxisCalendarEthiopian  LayoutSceneXaxisCalendar = "ethiopian"
	LayoutSceneXaxisCalendarHebrew     LayoutSceneXaxisCalendar = "hebrew"
	LayoutSceneXaxisCalendarIslamic    LayoutSceneXaxisCalendar = "islamic"
	LayoutSceneXaxisCalendarJulian     LayoutSceneXaxisCalendar = "julian"
	LayoutSceneXaxisCalendarMayan      LayoutSceneXaxisCalendar = "mayan"
	LayoutSceneXaxisCalendarNanakshahi LayoutSceneXaxisCalendar = "nanakshahi"
	LayoutSceneXaxisCalendarNepali     LayoutSceneXaxisCalendar = "nepali"
	LayoutSceneXaxisCalendarPersian    LayoutSceneXaxisCalendar = "persian"
	LayoutSceneXaxisCalendarJalali     LayoutSceneXaxisCalendar = "jalali"
	LayoutSceneXaxisCalendarTaiwan     LayoutSceneXaxisCalendar = "taiwan"
	LayoutSceneXaxisCalendarThai       LayoutSceneXaxisCalendar = "thai"
	LayoutSceneXaxisCalendarUmmalqura  LayoutSceneXaxisCalendar = "ummalqura"
)

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 (
	LayoutSceneXaxisCategoryorderTrace              LayoutSceneXaxisCategoryorder = "trace"
	LayoutSceneXaxisCategoryorderCategoryAscending  LayoutSceneXaxisCategoryorder = "category ascending"
	LayoutSceneXaxisCategoryorderCategoryDescending LayoutSceneXaxisCategoryorder = "category descending"
	LayoutSceneXaxisCategoryorderArray              LayoutSceneXaxisCategoryorder = "array"
	LayoutSceneXaxisCategoryorderTotalAscending     LayoutSceneXaxisCategoryorder = "total ascending"
	LayoutSceneXaxisCategoryorderTotalDescending    LayoutSceneXaxisCategoryorder = "total descending"
	LayoutSceneXaxisCategoryorderMinAscending       LayoutSceneXaxisCategoryorder = "min ascending"
	LayoutSceneXaxisCategoryorderMinDescending      LayoutSceneXaxisCategoryorder = "min descending"
	LayoutSceneXaxisCategoryorderMaxAscending       LayoutSceneXaxisCategoryorder = "max ascending"
	LayoutSceneXaxisCategoryorderMaxDescending      LayoutSceneXaxisCategoryorder = "max descending"
	LayoutSceneXaxisCategoryorderSumAscending       LayoutSceneXaxisCategoryorder = "sum ascending"
	LayoutSceneXaxisCategoryorderSumDescending      LayoutSceneXaxisCategoryorder = "sum descending"
	LayoutSceneXaxisCategoryorderMeanAscending      LayoutSceneXaxisCategoryorder = "mean ascending"
	LayoutSceneXaxisCategoryorderMeanDescending     LayoutSceneXaxisCategoryorder = "mean descending"
	LayoutSceneXaxisCategoryorderMedianAscending    LayoutSceneXaxisCategoryorder = "median ascending"
	LayoutSceneXaxisCategoryorderMedianDescending   LayoutSceneXaxisCategoryorder = "median descending"
)

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 (
	LayoutSceneXaxisExponentformatNone  LayoutSceneXaxisExponentformat = "none"
	LayoutSceneXaxisExponentformatE1    LayoutSceneXaxisExponentformat = "e"
	LayoutSceneXaxisExponentformatE2    LayoutSceneXaxisExponentformat = "E"
	LayoutSceneXaxisExponentformatPower LayoutSceneXaxisExponentformat = "power"
	LayoutSceneXaxisExponentformatSi    LayoutSceneXaxisExponentformat = "SI"
	LayoutSceneXaxisExponentformatB     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 (
	LayoutSceneXaxisMirrorTrue     LayoutSceneXaxisMirror = true
	LayoutSceneXaxisMirrorTicks    LayoutSceneXaxisMirror = "ticks"
	LayoutSceneXaxisMirrorFalse    LayoutSceneXaxisMirror = false
	LayoutSceneXaxisMirrorAll      LayoutSceneXaxisMirror = "all"
	LayoutSceneXaxisMirrorAllticks 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 (
	LayoutSceneXaxisRangemodeNormal      LayoutSceneXaxisRangemode = "normal"
	LayoutSceneXaxisRangemodeTozero      LayoutSceneXaxisRangemode = "tozero"
	LayoutSceneXaxisRangemodeNonnegative 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 (
	LayoutSceneXaxisShowexponentAll   LayoutSceneXaxisShowexponent = "all"
	LayoutSceneXaxisShowexponentFirst LayoutSceneXaxisShowexponent = "first"
	LayoutSceneXaxisShowexponentLast  LayoutSceneXaxisShowexponent = "last"
	LayoutSceneXaxisShowexponentNone  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 (
	LayoutSceneXaxisShowtickprefixAll   LayoutSceneXaxisShowtickprefix = "all"
	LayoutSceneXaxisShowtickprefixFirst LayoutSceneXaxisShowtickprefix = "first"
	LayoutSceneXaxisShowtickprefixLast  LayoutSceneXaxisShowtickprefix = "last"
	LayoutSceneXaxisShowtickprefixNone  LayoutSceneXaxisShowtickprefix = "none"
)

type LayoutSceneXaxisShowticksuffix

type LayoutSceneXaxisShowticksuffix string

LayoutSceneXaxisShowticksuffix Same as `showtickprefix` but for tick suffixes.

const (
	LayoutSceneXaxisShowticksuffixAll   LayoutSceneXaxisShowticksuffix = "all"
	LayoutSceneXaxisShowticksuffixFirst LayoutSceneXaxisShowticksuffix = "first"
	LayoutSceneXaxisShowticksuffixLast  LayoutSceneXaxisShowticksuffix = "last"
	LayoutSceneXaxisShowticksuffixNone  LayoutSceneXaxisShowticksuffix = "none"
)

type LayoutSceneXaxisTickfont

type LayoutSceneXaxisTickfont struct {

	// Color
	// arrayOK: false
	// type: color
	//
	Color Color `json:"color,omitempty"`

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

	// Size
	// arrayOK: false
	// type: number
	//
	Size float64 `json:"size,omitempty"`
}

LayoutSceneXaxisTickfont Sets the tick font.

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 (
	LayoutSceneXaxisTickmodeAuto   LayoutSceneXaxisTickmode = "auto"
	LayoutSceneXaxisTickmodeLinear LayoutSceneXaxisTickmode = "linear"
	LayoutSceneXaxisTickmodeArray  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 (
	LayoutSceneXaxisTicksOutside LayoutSceneXaxisTicks = "outside"
	LayoutSceneXaxisTicksInside  LayoutSceneXaxisTicks = "inside"
	LayoutSceneXaxisTicksEmpty   LayoutSceneXaxisTicks = ""
)

type LayoutSceneXaxisTitle

type LayoutSceneXaxisTitle struct {

	// Font
	// role: Object
	Font *LayoutSceneXaxisTitleFont `json:"font,omitempty"`

	// Text
	// arrayOK: false
	// type: string
	// Sets the title of this axis. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.
	Text String `json:"text,omitempty"`
}

LayoutSceneXaxisTitle

type LayoutSceneXaxisTitleFont

type LayoutSceneXaxisTitleFont struct {

	// Color
	// arrayOK: false
	// type: color
	//
	Color Color `json:"color,omitempty"`

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

	// Size
	// arrayOK: false
	// type: number
	//
	Size float64 `json:"size,omitempty"`
}

LayoutSceneXaxisTitleFont Sets this axis' title font. Note that the title's font used to be customized by the now deprecated `titlefont` attribute.

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 (
	LayoutSceneXaxisTypeHyphenHyphen LayoutSceneXaxisType = "-"
	LayoutSceneXaxisTypeLinear       LayoutSceneXaxisType = "linear"
	LayoutSceneXaxisTypeLog          LayoutSceneXaxisType = "log"
	LayoutSceneXaxisTypeDate         LayoutSceneXaxisType = "date"
	LayoutSceneXaxisTypeCategory     LayoutSceneXaxisType = "category"
)

type LayoutSceneYaxis

type LayoutSceneYaxis struct {

	// Autorange
	// default: %!s(bool=true)
	// type: enumerated
	// Determines whether or not the range of this axis is computed in relation to the input data. See `rangemode` for more info. If `range` is provided, then `autorange` is set to *false*.
	Autorange LayoutSceneYaxisAutorange `json:"autorange,omitempty"`

	// Autotypenumbers
	// default: convert types
	// type: enumerated
	// Using *strict* a numeric string in trace data is not converted to a number. Using *convert types* a numeric string in trace data may be treated as a number during automatic axis `type` detection. Defaults to layout.autotypenumbers.
	Autotypenumbers LayoutSceneYaxisAutotypenumbers `json:"autotypenumbers,omitempty"`

	// Backgroundcolor
	// arrayOK: false
	// type: color
	// Sets the background color of this axis' wall.
	Backgroundcolor Color `json:"backgroundcolor,omitempty"`

	// Calendar
	// default: gregorian
	// type: enumerated
	// Sets the calendar system to use for `range` and `tick0` if this is a date axis. This does not set the calendar for interpreting data on this axis, that's specified in the trace or via the global `layout.calendar`
	Calendar LayoutSceneYaxisCalendar `json:"calendar,omitempty"`

	// Categoryarray
	// arrayOK: false
	// type: data_array
	// Sets the order in which categories on this axis appear. Only has an effect if `categoryorder` is set to *array*. Used with `categoryorder`.
	Categoryarray interface{} `json:"categoryarray,omitempty"`

	// Categoryarraysrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  categoryarray .
	Categoryarraysrc String `json:"categoryarraysrc,omitempty"`

	// Categoryorder
	// default: trace
	// type: enumerated
	// Specifies the ordering logic for the case of categorical variables. By default, plotly uses *trace*, which specifies the order that is present in the data supplied. Set `categoryorder` to *category ascending* or *category descending* if order should be determined by the alphanumerical order of the category names. Set `categoryorder` to *array* to derive the ordering from the attribute `categoryarray`. If a category is not found in the `categoryarray` array, the sorting behavior for that attribute will be identical to the *trace* mode. The unspecified categories will follow the categories in `categoryarray`. Set `categoryorder` to *total ascending* or *total descending* if order should be determined by the numerical order of the values. Similarly, the order can be determined by the min, max, sum, mean or median of all the values.
	Categoryorder LayoutSceneYaxisCategoryorder `json:"categoryorder,omitempty"`

	// Color
	// arrayOK: false
	// type: color
	// Sets default for all colors associated with this axis all at once: line, font, tick, and grid colors. Grid color is lightened by blending this with the plot background Individual pieces can override this.
	Color Color `json:"color,omitempty"`

	// Dtick
	// arrayOK: false
	// type: any
	// Sets the step in-between ticks on this axis. Use with `tick0`. Must be a positive number, or special strings available to *log* and *date* axes. If the axis `type` is *log*, then ticks are set every 10^(n*dtick) where n is the tick number. For example, to set a tick mark at 1, 10, 100, 1000, ... set dtick to 1. To set tick marks at 1, 100, 10000, ... set dtick to 2. To set tick marks at 1, 5, 25, 125, 625, 3125, ... set dtick to log_10(5), or 0.69897000433. *log* has several special values; *L<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
	// default: B
	// type: enumerated
	// Determines a formatting rule for the tick exponents. For example, consider the number 1,000,000,000. If *none*, it appears as 1,000,000,000. If *e*, 1e+9. If *E*, 1E+9. If *power*, 1x10^9 (with 9 in a super script). If *SI*, 1G. If *B*, 1B.
	Exponentformat LayoutSceneYaxisExponentformat `json:"exponentformat,omitempty"`

	// Gridcolor
	// arrayOK: false
	// type: color
	// Sets the color of the grid lines.
	Gridcolor Color `json:"gridcolor,omitempty"`

	// Gridwidth
	// arrayOK: false
	// type: number
	// Sets the width (in px) of the grid lines.
	Gridwidth float64 `json:"gridwidth,omitempty"`

	// Hoverformat
	// arrayOK: false
	// type: string
	// Sets the hover text formatting rule using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-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
	// arrayOK: false
	// type: color
	// Sets the axis line color.
	Linecolor Color `json:"linecolor,omitempty"`

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

	// Minexponent
	// arrayOK: false
	// type: number
	// Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*.
	Minexponent float64 `json:"minexponent,omitempty"`

	// Mirror
	// default: %!s(bool=false)
	// type: enumerated
	// Determines if the axis lines or/and ticks are mirrored to the opposite side of the plotting area. If *true*, the axis lines are mirrored. If *ticks*, the axis lines and ticks are mirrored. If *false*, mirroring is disable. If *all*, axis lines are mirrored on all shared-axes subplots. If *allticks*, axis lines and ticks are mirrored on all shared-axes subplots.
	Mirror LayoutSceneYaxisMirror `json:"mirror,omitempty"`

	// Nticks
	// arrayOK: false
	// type: integer
	// Specifies the maximum number of ticks for the particular axis. The actual number of ticks will be chosen automatically to be less than or equal to `nticks`. Has an effect only if `tickmode` is set to *auto*.
	Nticks int64 `json:"nticks,omitempty"`

	// Range
	// arrayOK: false
	// type: info_array
	// Sets the range of this axis. If the axis `type` is *log*, then you must take the log of your desired range (e.g. to set the range from 1 to 100, set the range from 0 to 2). If the axis `type` is *date*, it should be date strings, like date data, though Date objects and unix milliseconds will be accepted and converted to strings. If the axis `type` is *category*, it should be numbers, using the scale where each category is assigned a serial number from zero in the order it appears.
	Range interface{} `json:"range,omitempty"`

	// Rangemode
	// default: normal
	// type: enumerated
	// If *normal*, the range is computed in relation to the extrema of the input data. If *tozero*`, the range extends to 0, regardless of the input data If *nonnegative*, the range is non-negative, regardless of the input data. Applies only to linear axes.
	Rangemode LayoutSceneYaxisRangemode `json:"rangemode,omitempty"`

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

	// Showaxeslabels
	// arrayOK: false
	// type: boolean
	// Sets whether or not this axis is labeled
	Showaxeslabels Bool `json:"showaxeslabels,omitempty"`

	// Showbackground
	// arrayOK: false
	// type: boolean
	// Sets whether or not this axis' wall has a background color.
	Showbackground Bool `json:"showbackground,omitempty"`

	// Showexponent
	// default: all
	// type: enumerated
	// If *all*, all exponents are shown besides their significands. If *first*, only the exponent of the first tick is shown. If *last*, only the exponent of the last tick is shown. If *none*, no exponents appear.
	Showexponent LayoutSceneYaxisShowexponent `json:"showexponent,omitempty"`

	// Showgrid
	// arrayOK: false
	// type: boolean
	// Determines whether or not grid lines are drawn. If *true*, the grid lines are drawn at every tick mark.
	Showgrid Bool `json:"showgrid,omitempty"`

	// Showline
	// arrayOK: false
	// type: boolean
	// Determines whether or not a line bounding this axis is drawn.
	Showline Bool `json:"showline,omitempty"`

	// Showspikes
	// arrayOK: false
	// type: boolean
	// Sets whether or not spikes starting from data points to this axis' wall are shown on hover.
	Showspikes Bool `json:"showspikes,omitempty"`

	// Showticklabels
	// arrayOK: false
	// type: boolean
	// Determines whether or not the tick labels are drawn.
	Showticklabels Bool `json:"showticklabels,omitempty"`

	// Showtickprefix
	// default: all
	// type: enumerated
	// If *all*, all tick labels are displayed with a prefix. If *first*, only the first tick is displayed with a prefix. If *last*, only the last tick is displayed with a suffix. If *none*, tick prefixes are hidden.
	Showtickprefix LayoutSceneYaxisShowtickprefix `json:"showtickprefix,omitempty"`

	// Showticksuffix
	// default: all
	// type: enumerated
	// Same as `showtickprefix` but for tick suffixes.
	Showticksuffix LayoutSceneYaxisShowticksuffix `json:"showticksuffix,omitempty"`

	// Spikecolor
	// arrayOK: false
	// type: color
	// Sets the color of the spikes.
	Spikecolor Color `json:"spikecolor,omitempty"`

	// Spikesides
	// arrayOK: false
	// type: boolean
	// Sets whether or not spikes extending from the projection data points to this axis' wall boundaries are shown on hover.
	Spikesides Bool `json:"spikesides,omitempty"`

	// Spikethickness
	// arrayOK: false
	// type: number
	// Sets the thickness (in px) of the spikes.
	Spikethickness float64 `json:"spikethickness,omitempty"`

	// Tick0
	// arrayOK: false
	// type: any
	// Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2) except when `dtick`=*L<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
	// arrayOK: false
	// type: angle
	// Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.
	Tickangle float64 `json:"tickangle,omitempty"`

	// Tickcolor
	// arrayOK: false
	// type: color
	// Sets the tick color.
	Tickcolor Color `json:"tickcolor,omitempty"`

	// Tickfont
	// role: Object
	Tickfont *LayoutSceneYaxisTickfont `json:"tickfont,omitempty"`

	// Tickformat
	// arrayOK: false
	// type: string
	// Sets the tick label formatting rule using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-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
	// It's an items array and what goes inside it's... messy... check the docs
	// I will be happy if you want to contribute by implementing this
	// just raise an issue before you start so we do not overlap
	Tickformatstops interface{} `json:"tickformatstops,omitempty"`

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

	// Tickmode
	// default: %!s(<nil>)
	// type: enumerated
	// Sets the tick mode for this axis. If *auto*, the number of ticks is set via `nticks`. If *linear*, the placement of the ticks is determined by a starting position `tick0` and a tick step `dtick` (*linear* is the default value if `tick0` and `dtick` are provided). If *array*, the placement of the ticks is set via `tickvals` and the tick text is `ticktext`. (*array* is the default value if `tickvals` is provided).
	Tickmode LayoutSceneYaxisTickmode `json:"tickmode,omitempty"`

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

	// Ticks
	// default: %!s(<nil>)
	// type: enumerated
	// Determines whether ticks are drawn or not. If **, this axis' ticks are not drawn. If *outside* (*inside*), this axis' are drawn outside (inside) the axis lines.
	Ticks LayoutSceneYaxisTicks `json:"ticks,omitempty"`

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

	// Ticktext
	// arrayOK: false
	// type: data_array
	// Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `tickvals`.
	Ticktext interface{} `json:"ticktext,omitempty"`

	// Ticktextsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  ticktext .
	Ticktextsrc String `json:"ticktextsrc,omitempty"`

	// Tickvals
	// arrayOK: false
	// type: data_array
	// Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.
	Tickvals interface{} `json:"tickvals,omitempty"`

	// Tickvalssrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  tickvals .
	Tickvalssrc String `json:"tickvalssrc,omitempty"`

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

	// Title
	// role: Object
	Title *LayoutSceneYaxisTitle `json:"title,omitempty"`

	// Type
	// default: -
	// type: enumerated
	// Sets the axis type. By default, plotly attempts to determined the axis type by looking into the data of the traces that referenced the axis in question.
	Type LayoutSceneYaxisType `json:"type,omitempty"`

	// Visible
	// arrayOK: false
	// type: boolean
	// A single toggle to hide the axis while preserving interaction like dragging. Default is true when a cheater plot is present on the axis, otherwise false
	Visible Bool `json:"visible,omitempty"`

	// Zeroline
	// arrayOK: false
	// type: boolean
	// Determines whether or not a line is drawn at along the 0 value of this axis. If *true*, the zero line is drawn on top of the grid lines.
	Zeroline Bool `json:"zeroline,omitempty"`

	// Zerolinecolor
	// arrayOK: false
	// type: color
	// Sets the line color of the zero line.
	Zerolinecolor Color `json:"zerolinecolor,omitempty"`

	// Zerolinewidth
	// arrayOK: false
	// type: number
	// Sets the width (in px) of the zero line.
	Zerolinewidth float64 `json:"zerolinewidth,omitempty"`
}

LayoutSceneYaxis

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 (
	LayoutSceneYaxisAutorangeTrue     LayoutSceneYaxisAutorange = true
	LayoutSceneYaxisAutorangeFalse    LayoutSceneYaxisAutorange = false
	LayoutSceneYaxisAutorangeReversed LayoutSceneYaxisAutorange = "reversed"
)

type LayoutSceneYaxisAutotypenumbers added in v0.3.1

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 (
	LayoutSceneYaxisAutotypenumbersConvertTypes LayoutSceneYaxisAutotypenumbers = "convert types"
	LayoutSceneYaxisAutotypenumbersStrict       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 (
	LayoutSceneYaxisCalendarGregorian  LayoutSceneYaxisCalendar = "gregorian"
	LayoutSceneYaxisCalendarChinese    LayoutSceneYaxisCalendar = "chinese"
	LayoutSceneYaxisCalendarCoptic     LayoutSceneYaxisCalendar = "coptic"
	LayoutSceneYaxisCalendarDiscworld  LayoutSceneYaxisCalendar = "discworld"
	LayoutSceneYaxisCalendarEthiopian  LayoutSceneYaxisCalendar = "ethiopian"
	LayoutSceneYaxisCalendarHebrew     LayoutSceneYaxisCalendar = "hebrew"
	LayoutSceneYaxisCalendarIslamic    LayoutSceneYaxisCalendar = "islamic"
	LayoutSceneYaxisCalendarJulian     LayoutSceneYaxisCalendar = "julian"
	LayoutSceneYaxisCalendarMayan      LayoutSceneYaxisCalendar = "mayan"
	LayoutSceneYaxisCalendarNanakshahi LayoutSceneYaxisCalendar = "nanakshahi"
	LayoutSceneYaxisCalendarNepali     LayoutSceneYaxisCalendar = "nepali"
	LayoutSceneYaxisCalendarPersian    LayoutSceneYaxisCalendar = "persian"
	LayoutSceneYaxisCalendarJalali     LayoutSceneYaxisCalendar = "jalali"
	LayoutSceneYaxisCalendarTaiwan     LayoutSceneYaxisCalendar = "taiwan"
	LayoutSceneYaxisCalendarThai       LayoutSceneYaxisCalendar = "thai"
	LayoutSceneYaxisCalendarUmmalqura  LayoutSceneYaxisCalendar = "ummalqura"
)

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 (
	LayoutSceneYaxisCategoryorderTrace              LayoutSceneYaxisCategoryorder = "trace"
	LayoutSceneYaxisCategoryorderCategoryAscending  LayoutSceneYaxisCategoryorder = "category ascending"
	LayoutSceneYaxisCategoryorderCategoryDescending LayoutSceneYaxisCategoryorder = "category descending"
	LayoutSceneYaxisCategoryorderArray              LayoutSceneYaxisCategoryorder = "array"
	LayoutSceneYaxisCategoryorderTotalAscending     LayoutSceneYaxisCategoryorder = "total ascending"
	LayoutSceneYaxisCategoryorderTotalDescending    LayoutSceneYaxisCategoryorder = "total descending"
	LayoutSceneYaxisCategoryorderMinAscending       LayoutSceneYaxisCategoryorder = "min ascending"
	LayoutSceneYaxisCategoryorderMinDescending      LayoutSceneYaxisCategoryorder = "min descending"
	LayoutSceneYaxisCategoryorderMaxAscending       LayoutSceneYaxisCategoryorder = "max ascending"
	LayoutSceneYaxisCategoryorderMaxDescending      LayoutSceneYaxisCategoryorder = "max descending"
	LayoutSceneYaxisCategoryorderSumAscending       LayoutSceneYaxisCategoryorder = "sum ascending"
	LayoutSceneYaxisCategoryorderSumDescending      LayoutSceneYaxisCategoryorder = "sum descending"
	LayoutSceneYaxisCategoryorderMeanAscending      LayoutSceneYaxisCategoryorder = "mean ascending"
	LayoutSceneYaxisCategoryorderMeanDescending     LayoutSceneYaxisCategoryorder = "mean descending"
	LayoutSceneYaxisCategoryorderMedianAscending    LayoutSceneYaxisCategoryorder = "median ascending"
	LayoutSceneYaxisCategoryorderMedianDescending   LayoutSceneYaxisCategoryorder = "median descending"
)

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 (
	LayoutSceneYaxisExponentformatNone  LayoutSceneYaxisExponentformat = "none"
	LayoutSceneYaxisExponentformatE1    LayoutSceneYaxisExponentformat = "e"
	LayoutSceneYaxisExponentformatE2    LayoutSceneYaxisExponentformat = "E"
	LayoutSceneYaxisExponentformatPower LayoutSceneYaxisExponentformat = "power"
	LayoutSceneYaxisExponentformatSi    LayoutSceneYaxisExponentformat = "SI"
	LayoutSceneYaxisExponentformatB     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 (
	LayoutSceneYaxisMirrorTrue     LayoutSceneYaxisMirror = true
	LayoutSceneYaxisMirrorTicks    LayoutSceneYaxisMirror = "ticks"
	LayoutSceneYaxisMirrorFalse    LayoutSceneYaxisMirror = false
	LayoutSceneYaxisMirrorAll      LayoutSceneYaxisMirror = "all"
	LayoutSceneYaxisMirrorAllticks 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 (
	LayoutSceneYaxisRangemodeNormal      LayoutSceneYaxisRangemode = "normal"
	LayoutSceneYaxisRangemodeTozero      LayoutSceneYaxisRangemode = "tozero"
	LayoutSceneYaxisRangemodeNonnegative 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 (
	LayoutSceneYaxisShowexponentAll   LayoutSceneYaxisShowexponent = "all"
	LayoutSceneYaxisShowexponentFirst LayoutSceneYaxisShowexponent = "first"
	LayoutSceneYaxisShowexponentLast  LayoutSceneYaxisShowexponent = "last"
	LayoutSceneYaxisShowexponentNone  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 (
	LayoutSceneYaxisShowtickprefixAll   LayoutSceneYaxisShowtickprefix = "all"
	LayoutSceneYaxisShowtickprefixFirst LayoutSceneYaxisShowtickprefix = "first"
	LayoutSceneYaxisShowtickprefixLast  LayoutSceneYaxisShowtickprefix = "last"
	LayoutSceneYaxisShowtickprefixNone  LayoutSceneYaxisShowtickprefix = "none"
)

type LayoutSceneYaxisShowticksuffix

type LayoutSceneYaxisShowticksuffix string

LayoutSceneYaxisShowticksuffix Same as `showtickprefix` but for tick suffixes.

const (
	LayoutSceneYaxisShowticksuffixAll   LayoutSceneYaxisShowticksuffix = "all"
	LayoutSceneYaxisShowticksuffixFirst LayoutSceneYaxisShowticksuffix = "first"
	LayoutSceneYaxisShowticksuffixLast  LayoutSceneYaxisShowticksuffix = "last"
	LayoutSceneYaxisShowticksuffixNone  LayoutSceneYaxisShowticksuffix = "none"
)

type LayoutSceneYaxisTickfont

type LayoutSceneYaxisTickfont struct {

	// Color
	// arrayOK: false
	// type: color
	//
	Color Color `json:"color,omitempty"`

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

	// Size
	// arrayOK: false
	// type: number
	//
	Size float64 `json:"size,omitempty"`
}

LayoutSceneYaxisTickfont Sets the tick font.

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 (
	LayoutSceneYaxisTickmodeAuto   LayoutSceneYaxisTickmode = "auto"
	LayoutSceneYaxisTickmodeLinear LayoutSceneYaxisTickmode = "linear"
	LayoutSceneYaxisTickmodeArray  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 (
	LayoutSceneYaxisTicksOutside LayoutSceneYaxisTicks = "outside"
	LayoutSceneYaxisTicksInside  LayoutSceneYaxisTicks = "inside"
	LayoutSceneYaxisTicksEmpty   LayoutSceneYaxisTicks = ""
)

type LayoutSceneYaxisTitle

type LayoutSceneYaxisTitle struct {

	// Font
	// role: Object
	Font *LayoutSceneYaxisTitleFont `json:"font,omitempty"`

	// Text
	// arrayOK: false
	// type: string
	// Sets the title of this axis. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.
	Text String `json:"text,omitempty"`
}

LayoutSceneYaxisTitle

type LayoutSceneYaxisTitleFont

type LayoutSceneYaxisTitleFont struct {

	// Color
	// arrayOK: false
	// type: color
	//
	Color Color `json:"color,omitempty"`

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

	// Size
	// arrayOK: false
	// type: number
	//
	Size float64 `json:"size,omitempty"`
}

LayoutSceneYaxisTitleFont Sets this axis' title font. Note that the title's font used to be customized by the now deprecated `titlefont` attribute.

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 (
	LayoutSceneYaxisTypeHyphenHyphen LayoutSceneYaxisType = "-"
	LayoutSceneYaxisTypeLinear       LayoutSceneYaxisType = "linear"
	LayoutSceneYaxisTypeLog          LayoutSceneYaxisType = "log"
	LayoutSceneYaxisTypeDate         LayoutSceneYaxisType = "date"
	LayoutSceneYaxisTypeCategory     LayoutSceneYaxisType = "category"
)

type LayoutSceneZaxis

type LayoutSceneZaxis struct {

	// Autorange
	// default: %!s(bool=true)
	// type: enumerated
	// Determines whether or not the range of this axis is computed in relation to the input data. See `rangemode` for more info. If `range` is provided, then `autorange` is set to *false*.
	Autorange LayoutSceneZaxisAutorange `json:"autorange,omitempty"`

	// Autotypenumbers
	// default: convert types
	// type: enumerated
	// Using *strict* a numeric string in trace data is not converted to a number. Using *convert types* a numeric string in trace data may be treated as a number during automatic axis `type` detection. Defaults to layout.autotypenumbers.
	Autotypenumbers LayoutSceneZaxisAutotypenumbers `json:"autotypenumbers,omitempty"`

	// Backgroundcolor
	// arrayOK: false
	// type: color
	// Sets the background color of this axis' wall.
	Backgroundcolor Color `json:"backgroundcolor,omitempty"`

	// Calendar
	// default: gregorian
	// type: enumerated
	// Sets the calendar system to use for `range` and `tick0` if this is a date axis. This does not set the calendar for interpreting data on this axis, that's specified in the trace or via the global `layout.calendar`
	Calendar LayoutSceneZaxisCalendar `json:"calendar,omitempty"`

	// Categoryarray
	// arrayOK: false
	// type: data_array
	// Sets the order in which categories on this axis appear. Only has an effect if `categoryorder` is set to *array*. Used with `categoryorder`.
	Categoryarray interface{} `json:"categoryarray,omitempty"`

	// Categoryarraysrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  categoryarray .
	Categoryarraysrc String `json:"categoryarraysrc,omitempty"`

	// Categoryorder
	// default: trace
	// type: enumerated
	// Specifies the ordering logic for the case of categorical variables. By default, plotly uses *trace*, which specifies the order that is present in the data supplied. Set `categoryorder` to *category ascending* or *category descending* if order should be determined by the alphanumerical order of the category names. Set `categoryorder` to *array* to derive the ordering from the attribute `categoryarray`. If a category is not found in the `categoryarray` array, the sorting behavior for that attribute will be identical to the *trace* mode. The unspecified categories will follow the categories in `categoryarray`. Set `categoryorder` to *total ascending* or *total descending* if order should be determined by the numerical order of the values. Similarly, the order can be determined by the min, max, sum, mean or median of all the values.
	Categoryorder LayoutSceneZaxisCategoryorder `json:"categoryorder,omitempty"`

	// Color
	// arrayOK: false
	// type: color
	// Sets default for all colors associated with this axis all at once: line, font, tick, and grid colors. Grid color is lightened by blending this with the plot background Individual pieces can override this.
	Color Color `json:"color,omitempty"`

	// Dtick
	// arrayOK: false
	// type: any
	// Sets the step in-between ticks on this axis. Use with `tick0`. Must be a positive number, or special strings available to *log* and *date* axes. If the axis `type` is *log*, then ticks are set every 10^(n*dtick) where n is the tick number. For example, to set a tick mark at 1, 10, 100, 1000, ... set dtick to 1. To set tick marks at 1, 100, 10000, ... set dtick to 2. To set tick marks at 1, 5, 25, 125, 625, 3125, ... set dtick to log_10(5), or 0.69897000433. *log* has several special values; *L<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
	// default: B
	// type: enumerated
	// Determines a formatting rule for the tick exponents. For example, consider the number 1,000,000,000. If *none*, it appears as 1,000,000,000. If *e*, 1e+9. If *E*, 1E+9. If *power*, 1x10^9 (with 9 in a super script). If *SI*, 1G. If *B*, 1B.
	Exponentformat LayoutSceneZaxisExponentformat `json:"exponentformat,omitempty"`

	// Gridcolor
	// arrayOK: false
	// type: color
	// Sets the color of the grid lines.
	Gridcolor Color `json:"gridcolor,omitempty"`

	// Gridwidth
	// arrayOK: false
	// type: number
	// Sets the width (in px) of the grid lines.
	Gridwidth float64 `json:"gridwidth,omitempty"`

	// Hoverformat
	// arrayOK: false
	// type: string
	// Sets the hover text formatting rule using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-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
	// arrayOK: false
	// type: color
	// Sets the axis line color.
	Linecolor Color `json:"linecolor,omitempty"`

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

	// Minexponent
	// arrayOK: false
	// type: number
	// Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*.
	Minexponent float64 `json:"minexponent,omitempty"`

	// Mirror
	// default: %!s(bool=false)
	// type: enumerated
	// Determines if the axis lines or/and ticks are mirrored to the opposite side of the plotting area. If *true*, the axis lines are mirrored. If *ticks*, the axis lines and ticks are mirrored. If *false*, mirroring is disable. If *all*, axis lines are mirrored on all shared-axes subplots. If *allticks*, axis lines and ticks are mirrored on all shared-axes subplots.
	Mirror LayoutSceneZaxisMirror `json:"mirror,omitempty"`

	// Nticks
	// arrayOK: false
	// type: integer
	// Specifies the maximum number of ticks for the particular axis. The actual number of ticks will be chosen automatically to be less than or equal to `nticks`. Has an effect only if `tickmode` is set to *auto*.
	Nticks int64 `json:"nticks,omitempty"`

	// Range
	// arrayOK: false
	// type: info_array
	// Sets the range of this axis. If the axis `type` is *log*, then you must take the log of your desired range (e.g. to set the range from 1 to 100, set the range from 0 to 2). If the axis `type` is *date*, it should be date strings, like date data, though Date objects and unix milliseconds will be accepted and converted to strings. If the axis `type` is *category*, it should be numbers, using the scale where each category is assigned a serial number from zero in the order it appears.
	Range interface{} `json:"range,omitempty"`

	// Rangemode
	// default: normal
	// type: enumerated
	// If *normal*, the range is computed in relation to the extrema of the input data. If *tozero*`, the range extends to 0, regardless of the input data If *nonnegative*, the range is non-negative, regardless of the input data. Applies only to linear axes.
	Rangemode LayoutSceneZaxisRangemode `json:"rangemode,omitempty"`

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

	// Showaxeslabels
	// arrayOK: false
	// type: boolean
	// Sets whether or not this axis is labeled
	Showaxeslabels Bool `json:"showaxeslabels,omitempty"`

	// Showbackground
	// arrayOK: false
	// type: boolean
	// Sets whether or not this axis' wall has a background color.
	Showbackground Bool `json:"showbackground,omitempty"`

	// Showexponent
	// default: all
	// type: enumerated
	// If *all*, all exponents are shown besides their significands. If *first*, only the exponent of the first tick is shown. If *last*, only the exponent of the last tick is shown. If *none*, no exponents appear.
	Showexponent LayoutSceneZaxisShowexponent `json:"showexponent,omitempty"`

	// Showgrid
	// arrayOK: false
	// type: boolean
	// Determines whether or not grid lines are drawn. If *true*, the grid lines are drawn at every tick mark.
	Showgrid Bool `json:"showgrid,omitempty"`

	// Showline
	// arrayOK: false
	// type: boolean
	// Determines whether or not a line bounding this axis is drawn.
	Showline Bool `json:"showline,omitempty"`

	// Showspikes
	// arrayOK: false
	// type: boolean
	// Sets whether or not spikes starting from data points to this axis' wall are shown on hover.
	Showspikes Bool `json:"showspikes,omitempty"`

	// Showticklabels
	// arrayOK: false
	// type: boolean
	// Determines whether or not the tick labels are drawn.
	Showticklabels Bool `json:"showticklabels,omitempty"`

	// Showtickprefix
	// default: all
	// type: enumerated
	// If *all*, all tick labels are displayed with a prefix. If *first*, only the first tick is displayed with a prefix. If *last*, only the last tick is displayed with a suffix. If *none*, tick prefixes are hidden.
	Showtickprefix LayoutSceneZaxisShowtickprefix `json:"showtickprefix,omitempty"`

	// Showticksuffix
	// default: all
	// type: enumerated
	// Same as `showtickprefix` but for tick suffixes.
	Showticksuffix LayoutSceneZaxisShowticksuffix `json:"showticksuffix,omitempty"`

	// Spikecolor
	// arrayOK: false
	// type: color
	// Sets the color of the spikes.
	Spikecolor Color `json:"spikecolor,omitempty"`

	// Spikesides
	// arrayOK: false
	// type: boolean
	// Sets whether or not spikes extending from the projection data points to this axis' wall boundaries are shown on hover.
	Spikesides Bool `json:"spikesides,omitempty"`

	// Spikethickness
	// arrayOK: false
	// type: number
	// Sets the thickness (in px) of the spikes.
	Spikethickness float64 `json:"spikethickness,omitempty"`

	// Tick0
	// arrayOK: false
	// type: any
	// Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2) except when `dtick`=*L<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
	// arrayOK: false
	// type: angle
	// Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.
	Tickangle float64 `json:"tickangle,omitempty"`

	// Tickcolor
	// arrayOK: false
	// type: color
	// Sets the tick color.
	Tickcolor Color `json:"tickcolor,omitempty"`

	// Tickfont
	// role: Object
	Tickfont *LayoutSceneZaxisTickfont `json:"tickfont,omitempty"`

	// Tickformat
	// arrayOK: false
	// type: string
	// Sets the tick label formatting rule using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-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
	// It's an items array and what goes inside it's... messy... check the docs
	// I will be happy if you want to contribute by implementing this
	// just raise an issue before you start so we do not overlap
	Tickformatstops interface{} `json:"tickformatstops,omitempty"`

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

	// Tickmode
	// default: %!s(<nil>)
	// type: enumerated
	// Sets the tick mode for this axis. If *auto*, the number of ticks is set via `nticks`. If *linear*, the placement of the ticks is determined by a starting position `tick0` and a tick step `dtick` (*linear* is the default value if `tick0` and `dtick` are provided). If *array*, the placement of the ticks is set via `tickvals` and the tick text is `ticktext`. (*array* is the default value if `tickvals` is provided).
	Tickmode LayoutSceneZaxisTickmode `json:"tickmode,omitempty"`

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

	// Ticks
	// default: %!s(<nil>)
	// type: enumerated
	// Determines whether ticks are drawn or not. If **, this axis' ticks are not drawn. If *outside* (*inside*), this axis' are drawn outside (inside) the axis lines.
	Ticks LayoutSceneZaxisTicks `json:"ticks,omitempty"`

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

	// Ticktext
	// arrayOK: false
	// type: data_array
	// Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `tickvals`.
	Ticktext interface{} `json:"ticktext,omitempty"`

	// Ticktextsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  ticktext .
	Ticktextsrc String `json:"ticktextsrc,omitempty"`

	// Tickvals
	// arrayOK: false
	// type: data_array
	// Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.
	Tickvals interface{} `json:"tickvals,omitempty"`

	// Tickvalssrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  tickvals .
	Tickvalssrc String `json:"tickvalssrc,omitempty"`

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

	// Title
	// role: Object
	Title *LayoutSceneZaxisTitle `json:"title,omitempty"`

	// Type
	// default: -
	// type: enumerated
	// Sets the axis type. By default, plotly attempts to determined the axis type by looking into the data of the traces that referenced the axis in question.
	Type LayoutSceneZaxisType `json:"type,omitempty"`

	// Visible
	// arrayOK: false
	// type: boolean
	// A single toggle to hide the axis while preserving interaction like dragging. Default is true when a cheater plot is present on the axis, otherwise false
	Visible Bool `json:"visible,omitempty"`

	// Zeroline
	// arrayOK: false
	// type: boolean
	// Determines whether or not a line is drawn at along the 0 value of this axis. If *true*, the zero line is drawn on top of the grid lines.
	Zeroline Bool `json:"zeroline,omitempty"`

	// Zerolinecolor
	// arrayOK: false
	// type: color
	// Sets the line color of the zero line.
	Zerolinecolor Color `json:"zerolinecolor,omitempty"`

	// Zerolinewidth
	// arrayOK: false
	// type: number
	// Sets the width (in px) of the zero line.
	Zerolinewidth float64 `json:"zerolinewidth,omitempty"`
}

LayoutSceneZaxis

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 (
	LayoutSceneZaxisAutorangeTrue     LayoutSceneZaxisAutorange = true
	LayoutSceneZaxisAutorangeFalse    LayoutSceneZaxisAutorange = false
	LayoutSceneZaxisAutorangeReversed LayoutSceneZaxisAutorange = "reversed"
)

type LayoutSceneZaxisAutotypenumbers added in v0.3.1

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 (
	LayoutSceneZaxisAutotypenumbersConvertTypes LayoutSceneZaxisAutotypenumbers = "convert types"
	LayoutSceneZaxisAutotypenumbersStrict       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 (
	LayoutSceneZaxisCalendarGregorian  LayoutSceneZaxisCalendar = "gregorian"
	LayoutSceneZaxisCalendarChinese    LayoutSceneZaxisCalendar = "chinese"
	LayoutSceneZaxisCalendarCoptic     LayoutSceneZaxisCalendar = "coptic"
	LayoutSceneZaxisCalendarDiscworld  LayoutSceneZaxisCalendar = "discworld"
	LayoutSceneZaxisCalendarEthiopian  LayoutSceneZaxisCalendar = "ethiopian"
	LayoutSceneZaxisCalendarHebrew     LayoutSceneZaxisCalendar = "hebrew"
	LayoutSceneZaxisCalendarIslamic    LayoutSceneZaxisCalendar = "islamic"
	LayoutSceneZaxisCalendarJulian     LayoutSceneZaxisCalendar = "julian"
	LayoutSceneZaxisCalendarMayan      LayoutSceneZaxisCalendar = "mayan"
	LayoutSceneZaxisCalendarNanakshahi LayoutSceneZaxisCalendar = "nanakshahi"
	LayoutSceneZaxisCalendarNepali     LayoutSceneZaxisCalendar = "nepali"
	LayoutSceneZaxisCalendarPersian    LayoutSceneZaxisCalendar = "persian"
	LayoutSceneZaxisCalendarJalali     LayoutSceneZaxisCalendar = "jalali"
	LayoutSceneZaxisCalendarTaiwan     LayoutSceneZaxisCalendar = "taiwan"
	LayoutSceneZaxisCalendarThai       LayoutSceneZaxisCalendar = "thai"
	LayoutSceneZaxisCalendarUmmalqura  LayoutSceneZaxisCalendar = "ummalqura"
)

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 (
	LayoutSceneZaxisCategoryorderTrace              LayoutSceneZaxisCategoryorder = "trace"
	LayoutSceneZaxisCategoryorderCategoryAscending  LayoutSceneZaxisCategoryorder = "category ascending"
	LayoutSceneZaxisCategoryorderCategoryDescending LayoutSceneZaxisCategoryorder = "category descending"
	LayoutSceneZaxisCategoryorderArray              LayoutSceneZaxisCategoryorder = "array"
	LayoutSceneZaxisCategoryorderTotalAscending     LayoutSceneZaxisCategoryorder = "total ascending"
	LayoutSceneZaxisCategoryorderTotalDescending    LayoutSceneZaxisCategoryorder = "total descending"
	LayoutSceneZaxisCategoryorderMinAscending       LayoutSceneZaxisCategoryorder = "min ascending"
	LayoutSceneZaxisCategoryorderMinDescending      LayoutSceneZaxisCategoryorder = "min descending"
	LayoutSceneZaxisCategoryorderMaxAscending       LayoutSceneZaxisCategoryorder = "max ascending"
	LayoutSceneZaxisCategoryorderMaxDescending      LayoutSceneZaxisCategoryorder = "max descending"
	LayoutSceneZaxisCategoryorderSumAscending       LayoutSceneZaxisCategoryorder = "sum ascending"
	LayoutSceneZaxisCategoryorderSumDescending      LayoutSceneZaxisCategoryorder = "sum descending"
	LayoutSceneZaxisCategoryorderMeanAscending      LayoutSceneZaxisCategoryorder = "mean ascending"
	LayoutSceneZaxisCategoryorderMeanDescending     LayoutSceneZaxisCategoryorder = "mean descending"
	LayoutSceneZaxisCategoryorderMedianAscending    LayoutSceneZaxisCategoryorder = "median ascending"
	LayoutSceneZaxisCategoryorderMedianDescending   LayoutSceneZaxisCategoryorder = "median descending"
)

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 (
	LayoutSceneZaxisExponentformatNone  LayoutSceneZaxisExponentformat = "none"
	LayoutSceneZaxisExponentformatE1    LayoutSceneZaxisExponentformat = "e"
	LayoutSceneZaxisExponentformatE2    LayoutSceneZaxisExponentformat = "E"
	LayoutSceneZaxisExponentformatPower LayoutSceneZaxisExponentformat = "power"
	LayoutSceneZaxisExponentformatSi    LayoutSceneZaxisExponentformat = "SI"
	LayoutSceneZaxisExponentformatB     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 (
	LayoutSceneZaxisMirrorTrue     LayoutSceneZaxisMirror = true
	LayoutSceneZaxisMirrorTicks    LayoutSceneZaxisMirror = "ticks"
	LayoutSceneZaxisMirrorFalse    LayoutSceneZaxisMirror = false
	LayoutSceneZaxisMirrorAll      LayoutSceneZaxisMirror = "all"
	LayoutSceneZaxisMirrorAllticks 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 (
	LayoutSceneZaxisRangemodeNormal      LayoutSceneZaxisRangemode = "normal"
	LayoutSceneZaxisRangemodeTozero      LayoutSceneZaxisRangemode = "tozero"
	LayoutSceneZaxisRangemodeNonnegative 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 (
	LayoutSceneZaxisShowexponentAll   LayoutSceneZaxisShowexponent = "all"
	LayoutSceneZaxisShowexponentFirst LayoutSceneZaxisShowexponent = "first"
	LayoutSceneZaxisShowexponentLast  LayoutSceneZaxisShowexponent = "last"
	LayoutSceneZaxisShowexponentNone  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 (
	LayoutSceneZaxisShowtickprefixAll   LayoutSceneZaxisShowtickprefix = "all"
	LayoutSceneZaxisShowtickprefixFirst LayoutSceneZaxisShowtickprefix = "first"
	LayoutSceneZaxisShowtickprefixLast  LayoutSceneZaxisShowtickprefix = "last"
	LayoutSceneZaxisShowtickprefixNone  LayoutSceneZaxisShowtickprefix = "none"
)

type LayoutSceneZaxisShowticksuffix

type LayoutSceneZaxisShowticksuffix string

LayoutSceneZaxisShowticksuffix Same as `showtickprefix` but for tick suffixes.

const (
	LayoutSceneZaxisShowticksuffixAll   LayoutSceneZaxisShowticksuffix = "all"
	LayoutSceneZaxisShowticksuffixFirst LayoutSceneZaxisShowticksuffix = "first"
	LayoutSceneZaxisShowticksuffixLast  LayoutSceneZaxisShowticksuffix = "last"
	LayoutSceneZaxisShowticksuffixNone  LayoutSceneZaxisShowticksuffix = "none"
)

type LayoutSceneZaxisTickfont

type LayoutSceneZaxisTickfont struct {

	// Color
	// arrayOK: false
	// type: color
	//
	Color Color `json:"color,omitempty"`

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

	// Size
	// arrayOK: false
	// type: number
	//
	Size float64 `json:"size,omitempty"`
}

LayoutSceneZaxisTickfont Sets the tick font.

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 (
	LayoutSceneZaxisTickmodeAuto   LayoutSceneZaxisTickmode = "auto"
	LayoutSceneZaxisTickmodeLinear LayoutSceneZaxisTickmode = "linear"
	LayoutSceneZaxisTickmodeArray  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 (
	LayoutSceneZaxisTicksOutside LayoutSceneZaxisTicks = "outside"
	LayoutSceneZaxisTicksInside  LayoutSceneZaxisTicks = "inside"
	LayoutSceneZaxisTicksEmpty   LayoutSceneZaxisTicks = ""
)

type LayoutSceneZaxisTitle

type LayoutSceneZaxisTitle struct {

	// Font
	// role: Object
	Font *LayoutSceneZaxisTitleFont `json:"font,omitempty"`

	// Text
	// arrayOK: false
	// type: string
	// Sets the title of this axis. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.
	Text String `json:"text,omitempty"`
}

LayoutSceneZaxisTitle

type LayoutSceneZaxisTitleFont

type LayoutSceneZaxisTitleFont struct {

	// Color
	// arrayOK: false
	// type: color
	//
	Color Color `json:"color,omitempty"`

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

	// Size
	// arrayOK: false
	// type: number
	//
	Size float64 `json:"size,omitempty"`
}

LayoutSceneZaxisTitleFont Sets this axis' title font. Note that the title's font used to be customized by the now deprecated `titlefont` attribute.

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 (
	LayoutSceneZaxisTypeHyphenHyphen LayoutSceneZaxisType = "-"
	LayoutSceneZaxisTypeLinear       LayoutSceneZaxisType = "linear"
	LayoutSceneZaxisTypeLog          LayoutSceneZaxisType = "log"
	LayoutSceneZaxisTypeDate         LayoutSceneZaxisType = "date"
	LayoutSceneZaxisTypeCategory     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 (
	LayoutSelectdirectionH   LayoutSelectdirection = "h"
	LayoutSelectdirectionV   LayoutSelectdirection = "v"
	LayoutSelectdirectionD   LayoutSelectdirection = "d"
	LayoutSelectdirectionAny LayoutSelectdirection = "any"
)

type LayoutTernary

type LayoutTernary struct {

	// Aaxis
	// role: Object
	Aaxis *LayoutTernaryAaxis `json:"aaxis,omitempty"`

	// Baxis
	// role: Object
	Baxis *LayoutTernaryBaxis `json:"baxis,omitempty"`

	// Bgcolor
	// arrayOK: false
	// type: color
	// Set the background color of the subplot
	Bgcolor Color `json:"bgcolor,omitempty"`

	// Caxis
	// role: Object
	Caxis *LayoutTernaryCaxis `json:"caxis,omitempty"`

	// Domain
	// role: Object
	Domain *LayoutTernaryDomain `json:"domain,omitempty"`

	// Sum
	// arrayOK: false
	// type: number
	// The number each triplet should sum to, and the maximum range of each axis
	Sum float64 `json:"sum,omitempty"`

	// Uirevision
	// arrayOK: false
	// type: any
	// Controls persistence of user-driven changes in axis `min` and `title`, if not overridden in the individual axes. Defaults to `layout.uirevision`.
	Uirevision interface{} `json:"uirevision,omitempty"`
}

LayoutTernary

type LayoutTernaryAaxis

type LayoutTernaryAaxis struct {

	// Color
	// arrayOK: false
	// type: color
	// Sets default for all colors associated with this axis all at once: line, font, tick, and grid colors. Grid color is lightened by blending this with the plot background Individual pieces can override this.
	Color Color `json:"color,omitempty"`

	// Dtick
	// arrayOK: false
	// type: any
	// Sets the step in-between ticks on this axis. Use with `tick0`. Must be a positive number, or special strings available to *log* and *date* axes. If the axis `type` is *log*, then ticks are set every 10^(n*dtick) where n is the tick number. For example, to set a tick mark at 1, 10, 100, 1000, ... set dtick to 1. To set tick marks at 1, 100, 10000, ... set dtick to 2. To set tick marks at 1, 5, 25, 125, 625, 3125, ... set dtick to log_10(5), or 0.69897000433. *log* has several special values; *L<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
	// default: B
	// type: enumerated
	// Determines a formatting rule for the tick exponents. For example, consider the number 1,000,000,000. If *none*, it appears as 1,000,000,000. If *e*, 1e+9. If *E*, 1E+9. If *power*, 1x10^9 (with 9 in a super script). If *SI*, 1G. If *B*, 1B.
	Exponentformat LayoutTernaryAaxisExponentformat `json:"exponentformat,omitempty"`

	// Gridcolor
	// arrayOK: false
	// type: color
	// Sets the color of the grid lines.
	Gridcolor Color `json:"gridcolor,omitempty"`

	// Gridwidth
	// arrayOK: false
	// type: number
	// Sets the width (in px) of the grid lines.
	Gridwidth float64 `json:"gridwidth,omitempty"`

	// Hoverformat
	// arrayOK: false
	// type: string
	// Sets the hover text formatting rule using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-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
	// default: above traces
	// type: enumerated
	// Sets the layer on which this axis is displayed. If *above traces*, this axis is displayed above all the subplot's traces If *below traces*, this axis is displayed below all the subplot's traces, but above the grid lines. Useful when used together with scatter-like traces with `cliponaxis` set to *false* to show markers and/or text nodes above this axis.
	Layer LayoutTernaryAaxisLayer `json:"layer,omitempty"`

	// Linecolor
	// arrayOK: false
	// type: color
	// Sets the axis line color.
	Linecolor Color `json:"linecolor,omitempty"`

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

	// Min
	// arrayOK: false
	// type: number
	// The minimum value visible on this axis. The maximum is determined by the sum minus the minimum values of the other two axes. The full view corresponds to all the minima set to zero.
	Min float64 `json:"min,omitempty"`

	// Minexponent
	// arrayOK: false
	// type: number
	// Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*.
	Minexponent float64 `json:"minexponent,omitempty"`

	// Nticks
	// arrayOK: false
	// type: integer
	// Specifies the maximum number of ticks for the particular axis. The actual number of ticks will be chosen automatically to be less than or equal to `nticks`. Has an effect only if `tickmode` is set to *auto*.
	Nticks int64 `json:"nticks,omitempty"`

	// Separatethousands
	// arrayOK: false
	// type: boolean
	// If "true", even 4-digit integers are separated
	Separatethousands Bool `json:"separatethousands,omitempty"`

	// Showexponent
	// default: all
	// type: enumerated
	// If *all*, all exponents are shown besides their significands. If *first*, only the exponent of the first tick is shown. If *last*, only the exponent of the last tick is shown. If *none*, no exponents appear.
	Showexponent LayoutTernaryAaxisShowexponent `json:"showexponent,omitempty"`

	// Showgrid
	// arrayOK: false
	// type: boolean
	// Determines whether or not grid lines are drawn. If *true*, the grid lines are drawn at every tick mark.
	Showgrid Bool `json:"showgrid,omitempty"`

	// Showline
	// arrayOK: false
	// type: boolean
	// Determines whether or not a line bounding this axis is drawn.
	Showline Bool `json:"showline,omitempty"`

	// Showticklabels
	// arrayOK: false
	// type: boolean
	// Determines whether or not the tick labels are drawn.
	Showticklabels Bool `json:"showticklabels,omitempty"`

	// Showtickprefix
	// default: all
	// type: enumerated
	// If *all*, all tick labels are displayed with a prefix. If *first*, only the first tick is displayed with a prefix. If *last*, only the last tick is displayed with a suffix. If *none*, tick prefixes are hidden.
	Showtickprefix LayoutTernaryAaxisShowtickprefix `json:"showtickprefix,omitempty"`

	// Showticksuffix
	// default: all
	// type: enumerated
	// Same as `showtickprefix` but for tick suffixes.
	Showticksuffix LayoutTernaryAaxisShowticksuffix `json:"showticksuffix,omitempty"`

	// Tick0
	// arrayOK: false
	// type: any
	// Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2) except when `dtick`=*L<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
	// arrayOK: false
	// type: angle
	// Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.
	Tickangle float64 `json:"tickangle,omitempty"`

	// Tickcolor
	// arrayOK: false
	// type: color
	// Sets the tick color.
	Tickcolor Color `json:"tickcolor,omitempty"`

	// Tickfont
	// role: Object
	Tickfont *LayoutTernaryAaxisTickfont `json:"tickfont,omitempty"`

	// Tickformat
	// arrayOK: false
	// type: string
	// Sets the tick label formatting rule using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-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
	// It's an items array and what goes inside it's... messy... check the docs
	// I will be happy if you want to contribute by implementing this
	// just raise an issue before you start so we do not overlap
	Tickformatstops interface{} `json:"tickformatstops,omitempty"`

	// Ticklen
	// arrayOK: false
	// type: number
	// Sets the tick length (in px).
	Ticklen float64 `json:"ticklen,omitempty"`

	// Tickmode
	// default: %!s(<nil>)
	// type: enumerated
	// Sets the tick mode for this axis. If *auto*, the number of ticks is set via `nticks`. If *linear*, the placement of the ticks is determined by a starting position `tick0` and a tick step `dtick` (*linear* is the default value if `tick0` and `dtick` are provided). If *array*, the placement of the ticks is set via `tickvals` and the tick text is `ticktext`. (*array* is the default value if `tickvals` is provided).
	Tickmode LayoutTernaryAaxisTickmode `json:"tickmode,omitempty"`

	// Tickprefix
	// arrayOK: false
	// type: string
	// Sets a tick label prefix.
	Tickprefix String `json:"tickprefix,omitempty"`

	// Ticks
	// default: %!s(<nil>)
	// type: enumerated
	// Determines whether ticks are drawn or not. If **, this axis' ticks are not drawn. If *outside* (*inside*), this axis' are drawn outside (inside) the axis lines.
	Ticks LayoutTernaryAaxisTicks `json:"ticks,omitempty"`

	// Ticksuffix
	// arrayOK: false
	// type: string
	// Sets a tick label suffix.
	Ticksuffix String `json:"ticksuffix,omitempty"`

	// Ticktext
	// arrayOK: false
	// type: data_array
	// Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `tickvals`.
	Ticktext interface{} `json:"ticktext,omitempty"`

	// Ticktextsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  ticktext .
	Ticktextsrc String `json:"ticktextsrc,omitempty"`

	// Tickvals
	// arrayOK: false
	// type: data_array
	// Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.
	Tickvals interface{} `json:"tickvals,omitempty"`

	// Tickvalssrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  tickvals .
	Tickvalssrc String `json:"tickvalssrc,omitempty"`

	// Tickwidth
	// arrayOK: false
	// type: number
	// Sets the tick width (in px).
	Tickwidth float64 `json:"tickwidth,omitempty"`

	// Title
	// role: Object
	Title *LayoutTernaryAaxisTitle `json:"title,omitempty"`

	// Uirevision
	// arrayOK: false
	// type: any
	// Controls persistence of user-driven changes in axis `min`, and `title` if in `editable: true` configuration. Defaults to `ternary<N>.uirevision`.
	Uirevision interface{} `json:"uirevision,omitempty"`
}

LayoutTernaryAaxis

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 (
	LayoutTernaryAaxisExponentformatNone  LayoutTernaryAaxisExponentformat = "none"
	LayoutTernaryAaxisExponentformatE1    LayoutTernaryAaxisExponentformat = "e"
	LayoutTernaryAaxisExponentformatE2    LayoutTernaryAaxisExponentformat = "E"
	LayoutTernaryAaxisExponentformatPower LayoutTernaryAaxisExponentformat = "power"
	LayoutTernaryAaxisExponentformatSi    LayoutTernaryAaxisExponentformat = "SI"
	LayoutTernaryAaxisExponentformatB     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 (
	LayoutTernaryAaxisLayerAboveTraces LayoutTernaryAaxisLayer = "above traces"
	LayoutTernaryAaxisLayerBelowTraces 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 (
	LayoutTernaryAaxisShowexponentAll   LayoutTernaryAaxisShowexponent = "all"
	LayoutTernaryAaxisShowexponentFirst LayoutTernaryAaxisShowexponent = "first"
	LayoutTernaryAaxisShowexponentLast  LayoutTernaryAaxisShowexponent = "last"
	LayoutTernaryAaxisShowexponentNone  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 (
	LayoutTernaryAaxisShowtickprefixAll   LayoutTernaryAaxisShowtickprefix = "all"
	LayoutTernaryAaxisShowtickprefixFirst LayoutTernaryAaxisShowtickprefix = "first"
	LayoutTernaryAaxisShowtickprefixLast  LayoutTernaryAaxisShowtickprefix = "last"
	LayoutTernaryAaxisShowtickprefixNone  LayoutTernaryAaxisShowtickprefix = "none"
)

type LayoutTernaryAaxisShowticksuffix

type LayoutTernaryAaxisShowticksuffix string

LayoutTernaryAaxisShowticksuffix Same as `showtickprefix` but for tick suffixes.

const (
	LayoutTernaryAaxisShowticksuffixAll   LayoutTernaryAaxisShowticksuffix = "all"
	LayoutTernaryAaxisShowticksuffixFirst LayoutTernaryAaxisShowticksuffix = "first"
	LayoutTernaryAaxisShowticksuffixLast  LayoutTernaryAaxisShowticksuffix = "last"
	LayoutTernaryAaxisShowticksuffixNone  LayoutTernaryAaxisShowticksuffix = "none"
)

type LayoutTernaryAaxisTickfont

type LayoutTernaryAaxisTickfont struct {

	// Color
	// arrayOK: false
	// type: color
	//
	Color Color `json:"color,omitempty"`

	// Family
	// arrayOK: false
	// type: string
	// HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.
	Family String `json:"family,omitempty"`

	// Size
	// arrayOK: false
	// type: number
	//
	Size float64 `json:"size,omitempty"`
}

LayoutTernaryAaxisTickfont Sets the tick font.

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 (
	LayoutTernaryAaxisTickmodeAuto   LayoutTernaryAaxisTickmode = "auto"
	LayoutTernaryAaxisTickmodeLinear LayoutTernaryAaxisTickmode = "linear"
	LayoutTernaryAaxisTickmodeArray  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 (
	LayoutTernaryAaxisTicksOutside LayoutTernaryAaxisTicks = "outside"
	LayoutTernaryAaxisTicksInside  LayoutTernaryAaxisTicks = "inside"
	LayoutTernaryAaxisTicksEmpty   LayoutTernaryAaxisTicks = ""
)

type LayoutTernaryAaxisTitle

type LayoutTernaryAaxisTitle struct {

	// Font
	// role: Object
	Font *LayoutTernaryAaxisTitleFont `json:"font,omitempty"`

	// Text
	// arrayOK: false
	// type: string
	// Sets the title of this axis. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.
	Text String `json:"text,omitempty"`
}

LayoutTernaryAaxisTitle

type LayoutTernaryAaxisTitleFont

type LayoutTernaryAaxisTitleFont struct {

	// Color
	// arrayOK: false
	// type: color
	//
	Color Color `json:"color,omitempty"`

	// Family
	// arrayOK: false
	// type: string
	// HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.
	Family String `json:"family,omitempty"`

	// Size
	// arrayOK: false
	// type: number
	//
	Size float64 `json:"size,omitempty"`
}

LayoutTernaryAaxisTitleFont Sets this axis' title font. Note that the title's font used to be customized by the now deprecated `titlefont` attribute.

type LayoutTernaryBaxis

type LayoutTernaryBaxis struct {

	// Color
	// arrayOK: false
	// type: color
	// Sets default for all colors associated with this axis all at once: line, font, tick, and grid colors. Grid color is lightened by blending this with the plot background Individual pieces can override this.
	Color Color `json:"color,omitempty"`

	// Dtick
	// arrayOK: false
	// type: any
	// Sets the step in-between ticks on this axis. Use with `tick0`. Must be a positive number, or special strings available to *log* and *date* axes. If the axis `type` is *log*, then ticks are set every 10^(n*dtick) where n is the tick number. For example, to set a tick mark at 1, 10, 100, 1000, ... set dtick to 1. To set tick marks at 1, 100, 10000, ... set dtick to 2. To set tick marks at 1, 5, 25, 125, 625, 3125, ... set dtick to log_10(5), or 0.69897000433. *log* has several special values; *L<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
	// default: B
	// type: enumerated
	// Determines a formatting rule for the tick exponents. For example, consider the number 1,000,000,000. If *none*, it appears as 1,000,000,000. If *e*, 1e+9. If *E*, 1E+9. If *power*, 1x10^9 (with 9 in a super script). If *SI*, 1G. If *B*, 1B.
	Exponentformat LayoutTernaryBaxisExponentformat `json:"exponentformat,omitempty"`

	// Gridcolor
	// arrayOK: false
	// type: color
	// Sets the color of the grid lines.
	Gridcolor Color `json:"gridcolor,omitempty"`

	// Gridwidth
	// arrayOK: false
	// type: number
	// Sets the width (in px) of the grid lines.
	Gridwidth float64 `json:"gridwidth,omitempty"`

	// Hoverformat
	// arrayOK: false
	// type: string
	// Sets the hover text formatting rule using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-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
	// default: above traces
	// type: enumerated
	// Sets the layer on which this axis is displayed. If *above traces*, this axis is displayed above all the subplot's traces If *below traces*, this axis is displayed below all the subplot's traces, but above the grid lines. Useful when used together with scatter-like traces with `cliponaxis` set to *false* to show markers and/or text nodes above this axis.
	Layer LayoutTernaryBaxisLayer `json:"layer,omitempty"`

	// Linecolor
	// arrayOK: false
	// type: color
	// Sets the axis line color.
	Linecolor Color `json:"linecolor,omitempty"`

	// Linewidth
	// arrayOK: false
	// type: number
	// Sets the width (in px) of the axis line.
	Linewidth float64 `json:"linewidth,omitempty"`

	// Min
	// arrayOK: false
	// type: number
	// The minimum value visible on this axis. The maximum is determined by the sum minus the minimum values of the other two axes. The full view corresponds to all the minima set to zero.
	Min float64 `json:"min,omitempty"`

	// Minexponent
	// arrayOK: false
	// type: number
	// Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*.
	Minexponent float64 `json:"minexponent,omitempty"`

	// Nticks
	// arrayOK: false
	// type: integer
	// Specifies the maximum number of ticks for the particular axis. The actual number of ticks will be chosen automatically to be less than or equal to `nticks`. Has an effect only if `tickmode` is set to *auto*.
	Nticks int64 `json:"nticks,omitempty"`

	// Separatethousands
	// arrayOK: false
	// type: boolean
	// If "true", even 4-digit integers are separated
	Separatethousands Bool `json:"separatethousands,omitempty"`

	// Showexponent
	// default: all
	// type: enumerated
	// If *all*, all exponents are shown besides their significands. If *first*, only the exponent of the first tick is shown. If *last*, only the exponent of the last tick is shown. If *none*, no exponents appear.
	Showexponent LayoutTernaryBaxisShowexponent `json:"showexponent,omitempty"`

	// Showgrid
	// arrayOK: false
	// type: boolean
	// Determines whether or not grid lines are drawn. If *true*, the grid lines are drawn at every tick mark.
	Showgrid Bool `json:"showgrid,omitempty"`

	// Showline
	// arrayOK: false
	// type: boolean
	// Determines whether or not a line bounding this axis is drawn.
	Showline Bool `json:"showline,omitempty"`

	// Showticklabels
	// arrayOK: false
	// type: boolean
	// Determines whether or not the tick labels are drawn.
	Showticklabels Bool `json:"showticklabels,omitempty"`

	// Showtickprefix
	// default: all
	// type: enumerated
	// If *all*, all tick labels are displayed with a prefix. If *first*, only the first tick is displayed with a prefix. If *last*, only the last tick is displayed with a suffix. If *none*, tick prefixes are hidden.
	Showtickprefix LayoutTernaryBaxisShowtickprefix `json:"showtickprefix,omitempty"`

	// Showticksuffix
	// default: all
	// type: enumerated
	// Same as `showtickprefix` but for tick suffixes.
	Showticksuffix LayoutTernaryBaxisShowticksuffix `json:"showticksuffix,omitempty"`

	// Tick0
	// arrayOK: false
	// type: any
	// Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2) except when `dtick`=*L<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
	// arrayOK: false
	// type: angle
	// Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.
	Tickangle float64 `json:"tickangle,omitempty"`

	// Tickcolor
	// arrayOK: false
	// type: color
	// Sets the tick color.
	Tickcolor Color `json:"tickcolor,omitempty"`

	// Tickfont
	// role: Object
	Tickfont *LayoutTernaryBaxisTickfont `json:"tickfont,omitempty"`

	// Tickformat
	// arrayOK: false
	// type: string
	// Sets the tick label formatting rule using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-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
	// It's an items array and what goes inside it's... messy... check the docs
	// I will be happy if you want to contribute by implementing this
	// just raise an issue before you start so we do not overlap
	Tickformatstops interface{} `json:"tickformatstops,omitempty"`

	// Ticklen
	// arrayOK: false
	// type: number
	// Sets the tick length (in px).
	Ticklen float64 `json:"ticklen,omitempty"`

	// Tickmode
	// default: %!s(<nil>)
	// type: enumerated
	// Sets the tick mode for this axis. If *auto*, the number of ticks is set via `nticks`. If *linear*, the placement of the ticks is determined by a starting position `tick0` and a tick step `dtick` (*linear* is the default value if `tick0` and `dtick` are provided). If *array*, the placement of the ticks is set via `tickvals` and the tick text is `ticktext`. (*array* is the default value if `tickvals` is provided).
	Tickmode LayoutTernaryBaxisTickmode `json:"tickmode,omitempty"`

	// Tickprefix
	// arrayOK: false
	// type: string
	// Sets a tick label prefix.
	Tickprefix String `json:"tickprefix,omitempty"`

	// Ticks
	// default: %!s(<nil>)
	// type: enumerated
	// Determines whether ticks are drawn or not. If **, this axis' ticks are not drawn. If *outside* (*inside*), this axis' are drawn outside (inside) the axis lines.
	Ticks LayoutTernaryBaxisTicks `json:"ticks,omitempty"`

	// Ticksuffix
	// arrayOK: false
	// type: string
	// Sets a tick label suffix.
	Ticksuffix String `json:"ticksuffix,omitempty"`

	// Ticktext
	// arrayOK: false
	// type: data_array
	// Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `tickvals`.
	Ticktext interface{} `json:"ticktext,omitempty"`

	// Ticktextsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  ticktext .
	Ticktextsrc String `json:"ticktextsrc,omitempty"`

	// Tickvals
	// arrayOK: false
	// type: data_array
	// Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.
	Tickvals interface{} `json:"tickvals,omitempty"`

	// Tickvalssrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  tickvals .
	Tickvalssrc String `json:"tickvalssrc,omitempty"`

	// Tickwidth
	// arrayOK: false
	// type: number
	// Sets the tick width (in px).
	Tickwidth float64 `json:"tickwidth,omitempty"`

	// Title
	// role: Object
	Title *LayoutTernaryBaxisTitle `json:"title,omitempty"`

	// Uirevision
	// arrayOK: false
	// type: any
	// Controls persistence of user-driven changes in axis `min`, and `title` if in `editable: true` configuration. Defaults to `ternary<N>.uirevision`.
	Uirevision interface{} `json:"uirevision,omitempty"`
}

LayoutTernaryBaxis

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 (
	LayoutTernaryBaxisExponentformatNone  LayoutTernaryBaxisExponentformat = "none"
	LayoutTernaryBaxisExponentformatE1    LayoutTernaryBaxisExponentformat = "e"
	LayoutTernaryBaxisExponentformatE2    LayoutTernaryBaxisExponentformat = "E"
	LayoutTernaryBaxisExponentformatPower LayoutTernaryBaxisExponentformat = "power"
	LayoutTernaryBaxisExponentformatSi    LayoutTernaryBaxisExponentformat = "SI"
	LayoutTernaryBaxisExponentformatB     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 (
	LayoutTernaryBaxisLayerAboveTraces LayoutTernaryBaxisLayer = "above traces"
	LayoutTernaryBaxisLayerBelowTraces 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 (
	LayoutTernaryBaxisShowexponentAll   LayoutTernaryBaxisShowexponent = "all"
	LayoutTernaryBaxisShowexponentFirst LayoutTernaryBaxisShowexponent = "first"
	LayoutTernaryBaxisShowexponentLast  LayoutTernaryBaxisShowexponent = "last"
	LayoutTernaryBaxisShowexponentNone  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 (
	LayoutTernaryBaxisShowtickprefixAll   LayoutTernaryBaxisShowtickprefix = "all"
	LayoutTernaryBaxisShowtickprefixFirst LayoutTernaryBaxisShowtickprefix = "first"
	LayoutTernaryBaxisShowtickprefixLast  LayoutTernaryBaxisShowtickprefix = "last"
	LayoutTernaryBaxisShowtickprefixNone  LayoutTernaryBaxisShowtickprefix = "none"
)

type LayoutTernaryBaxisShowticksuffix

type LayoutTernaryBaxisShowticksuffix string

LayoutTernaryBaxisShowticksuffix Same as `showtickprefix` but for tick suffixes.

const (
	LayoutTernaryBaxisShowticksuffixAll   LayoutTernaryBaxisShowticksuffix = "all"
	LayoutTernaryBaxisShowticksuffixFirst LayoutTernaryBaxisShowticksuffix = "first"
	LayoutTernaryBaxisShowticksuffixLast  LayoutTernaryBaxisShowticksuffix = "last"
	LayoutTernaryBaxisShowticksuffixNone  LayoutTernaryBaxisShowticksuffix = "none"
)

type LayoutTernaryBaxisTickfont

type LayoutTernaryBaxisTickfont struct {

	// Color
	// arrayOK: false
	// type: color
	//
	Color Color `json:"color,omitempty"`

	// Family
	// arrayOK: false
	// type: string
	// HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.
	Family String `json:"family,omitempty"`

	// Size
	// arrayOK: false
	// type: number
	//
	Size float64 `json:"size,omitempty"`
}

LayoutTernaryBaxisTickfont Sets the tick font.

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 (
	LayoutTernaryBaxisTickmodeAuto   LayoutTernaryBaxisTickmode = "auto"
	LayoutTernaryBaxisTickmodeLinear LayoutTernaryBaxisTickmode = "linear"
	LayoutTernaryBaxisTickmodeArray  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 (
	LayoutTernaryBaxisTicksOutside LayoutTernaryBaxisTicks = "outside"
	LayoutTernaryBaxisTicksInside  LayoutTernaryBaxisTicks = "inside"
	LayoutTernaryBaxisTicksEmpty   LayoutTernaryBaxisTicks = ""
)

type LayoutTernaryBaxisTitle

type LayoutTernaryBaxisTitle struct {

	// Font
	// role: Object
	Font *LayoutTernaryBaxisTitleFont `json:"font,omitempty"`

	// Text
	// arrayOK: false
	// type: string
	// Sets the title of this axis. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.
	Text String `json:"text,omitempty"`
}

LayoutTernaryBaxisTitle

type LayoutTernaryBaxisTitleFont

type LayoutTernaryBaxisTitleFont struct {

	// Color
	// arrayOK: false
	// type: color
	//
	Color Color `json:"color,omitempty"`

	// Family
	// arrayOK: false
	// type: string
	// HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.
	Family String `json:"family,omitempty"`

	// Size
	// arrayOK: false
	// type: number
	//
	Size float64 `json:"size,omitempty"`
}

LayoutTernaryBaxisTitleFont Sets this axis' title font. Note that the title's font used to be customized by the now deprecated `titlefont` attribute.

type LayoutTernaryCaxis

type LayoutTernaryCaxis struct {

	// Color
	// arrayOK: false
	// type: color
	// Sets default for all colors associated with this axis all at once: line, font, tick, and grid colors. Grid color is lightened by blending this with the plot background Individual pieces can override this.
	Color Color `json:"color,omitempty"`

	// Dtick
	// arrayOK: false
	// type: any
	// Sets the step in-between ticks on this axis. Use with `tick0`. Must be a positive number, or special strings available to *log* and *date* axes. If the axis `type` is *log*, then ticks are set every 10^(n*dtick) where n is the tick number. For example, to set a tick mark at 1, 10, 100, 1000, ... set dtick to 1. To set tick marks at 1, 100, 10000, ... set dtick to 2. To set tick marks at 1, 5, 25, 125, 625, 3125, ... set dtick to log_10(5), or 0.69897000433. *log* has several special values; *L<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
	// default: B
	// type: enumerated
	// Determines a formatting rule for the tick exponents. For example, consider the number 1,000,000,000. If *none*, it appears as 1,000,000,000. If *e*, 1e+9. If *E*, 1E+9. If *power*, 1x10^9 (with 9 in a super script). If *SI*, 1G. If *B*, 1B.
	Exponentformat LayoutTernaryCaxisExponentformat `json:"exponentformat,omitempty"`

	// Gridcolor
	// arrayOK: false
	// type: color
	// Sets the color of the grid lines.
	Gridcolor Color `json:"gridcolor,omitempty"`

	// Gridwidth
	// arrayOK: false
	// type: number
	// Sets the width (in px) of the grid lines.
	Gridwidth float64 `json:"gridwidth,omitempty"`

	// Hoverformat
	// arrayOK: false
	// type: string
	// Sets the hover text formatting rule using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-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
	// default: above traces
	// type: enumerated
	// Sets the layer on which this axis is displayed. If *above traces*, this axis is displayed above all the subplot's traces If *below traces*, this axis is displayed below all the subplot's traces, but above the grid lines. Useful when used together with scatter-like traces with `cliponaxis` set to *false* to show markers and/or text nodes above this axis.
	Layer LayoutTernaryCaxisLayer `json:"layer,omitempty"`

	// Linecolor
	// arrayOK: false
	// type: color
	// Sets the axis line color.
	Linecolor Color `json:"linecolor,omitempty"`

	// Linewidth
	// arrayOK: false
	// type: number
	// Sets the width (in px) of the axis line.
	Linewidth float64 `json:"linewidth,omitempty"`

	// Min
	// arrayOK: false
	// type: number
	// The minimum value visible on this axis. The maximum is determined by the sum minus the minimum values of the other two axes. The full view corresponds to all the minima set to zero.
	Min float64 `json:"min,omitempty"`

	// Minexponent
	// arrayOK: false
	// type: number
	// Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*.
	Minexponent float64 `json:"minexponent,omitempty"`

	// Nticks
	// arrayOK: false
	// type: integer
	// Specifies the maximum number of ticks for the particular axis. The actual number of ticks will be chosen automatically to be less than or equal to `nticks`. Has an effect only if `tickmode` is set to *auto*.
	Nticks int64 `json:"nticks,omitempty"`

	// Separatethousands
	// arrayOK: false
	// type: boolean
	// If "true", even 4-digit integers are separated
	Separatethousands Bool `json:"separatethousands,omitempty"`

	// Showexponent
	// default: all
	// type: enumerated
	// If *all*, all exponents are shown besides their significands. If *first*, only the exponent of the first tick is shown. If *last*, only the exponent of the last tick is shown. If *none*, no exponents appear.
	Showexponent LayoutTernaryCaxisShowexponent `json:"showexponent,omitempty"`

	// Showgrid
	// arrayOK: false
	// type: boolean
	// Determines whether or not grid lines are drawn. If *true*, the grid lines are drawn at every tick mark.
	Showgrid Bool `json:"showgrid,omitempty"`

	// Showline
	// arrayOK: false
	// type: boolean
	// Determines whether or not a line bounding this axis is drawn.
	Showline Bool `json:"showline,omitempty"`

	// Showticklabels
	// arrayOK: false
	// type: boolean
	// Determines whether or not the tick labels are drawn.
	Showticklabels Bool `json:"showticklabels,omitempty"`

	// Showtickprefix
	// default: all
	// type: enumerated
	// If *all*, all tick labels are displayed with a prefix. If *first*, only the first tick is displayed with a prefix. If *last*, only the last tick is displayed with a suffix. If *none*, tick prefixes are hidden.
	Showtickprefix LayoutTernaryCaxisShowtickprefix `json:"showtickprefix,omitempty"`

	// Showticksuffix
	// default: all
	// type: enumerated
	// Same as `showtickprefix` but for tick suffixes.
	Showticksuffix LayoutTernaryCaxisShowticksuffix `json:"showticksuffix,omitempty"`

	// Tick0
	// arrayOK: false
	// type: any
	// Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2) except when `dtick`=*L<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
	// arrayOK: false
	// type: angle
	// Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.
	Tickangle float64 `json:"tickangle,omitempty"`

	// Tickcolor
	// arrayOK: false
	// type: color
	// Sets the tick color.
	Tickcolor Color `json:"tickcolor,omitempty"`

	// Tickfont
	// role: Object
	Tickfont *LayoutTernaryCaxisTickfont `json:"tickfont,omitempty"`

	// Tickformat
	// arrayOK: false
	// type: string
	// Sets the tick label formatting rule using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-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
	// It's an items array and what goes inside it's... messy... check the docs
	// I will be happy if you want to contribute by implementing this
	// just raise an issue before you start so we do not overlap
	Tickformatstops interface{} `json:"tickformatstops,omitempty"`

	// Ticklen
	// arrayOK: false
	// type: number
	// Sets the tick length (in px).
	Ticklen float64 `json:"ticklen,omitempty"`

	// Tickmode
	// default: %!s(<nil>)
	// type: enumerated
	// Sets the tick mode for this axis. If *auto*, the number of ticks is set via `nticks`. If *linear*, the placement of the ticks is determined by a starting position `tick0` and a tick step `dtick` (*linear* is the default value if `tick0` and `dtick` are provided). If *array*, the placement of the ticks is set via `tickvals` and the tick text is `ticktext`. (*array* is the default value if `tickvals` is provided).
	Tickmode LayoutTernaryCaxisTickmode `json:"tickmode,omitempty"`

	// Tickprefix
	// arrayOK: false
	// type: string
	// Sets a tick label prefix.
	Tickprefix String `json:"tickprefix,omitempty"`

	// Ticks
	// default: %!s(<nil>)
	// type: enumerated
	// Determines whether ticks are drawn or not. If **, this axis' ticks are not drawn. If *outside* (*inside*), this axis' are drawn outside (inside) the axis lines.
	Ticks LayoutTernaryCaxisTicks `json:"ticks,omitempty"`

	// Ticksuffix
	// arrayOK: false
	// type: string
	// Sets a tick label suffix.
	Ticksuffix String `json:"ticksuffix,omitempty"`

	// Ticktext
	// arrayOK: false
	// type: data_array
	// Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `tickvals`.
	Ticktext interface{} `json:"ticktext,omitempty"`

	// Ticktextsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  ticktext .
	Ticktextsrc String `json:"ticktextsrc,omitempty"`

	// Tickvals
	// arrayOK: false
	// type: data_array
	// Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.
	Tickvals interface{} `json:"tickvals,omitempty"`

	// Tickvalssrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  tickvals .
	Tickvalssrc String `json:"tickvalssrc,omitempty"`

	// Tickwidth
	// arrayOK: false
	// type: number
	// Sets the tick width (in px).
	Tickwidth float64 `json:"tickwidth,omitempty"`

	// Title
	// role: Object
	Title *LayoutTernaryCaxisTitle `json:"title,omitempty"`

	// Uirevision
	// arrayOK: false
	// type: any
	// Controls persistence of user-driven changes in axis `min`, and `title` if in `editable: true` configuration. Defaults to `ternary<N>.uirevision`.
	Uirevision interface{} `json:"uirevision,omitempty"`
}

LayoutTernaryCaxis

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 (
	LayoutTernaryCaxisExponentformatNone  LayoutTernaryCaxisExponentformat = "none"
	LayoutTernaryCaxisExponentformatE1    LayoutTernaryCaxisExponentformat = "e"
	LayoutTernaryCaxisExponentformatE2    LayoutTernaryCaxisExponentformat = "E"
	LayoutTernaryCaxisExponentformatPower LayoutTernaryCaxisExponentformat = "power"
	LayoutTernaryCaxisExponentformatSi    LayoutTernaryCaxisExponentformat = "SI"
	LayoutTernaryCaxisExponentformatB     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 (
	LayoutTernaryCaxisLayerAboveTraces LayoutTernaryCaxisLayer = "above traces"
	LayoutTernaryCaxisLayerBelowTraces 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 (
	LayoutTernaryCaxisShowexponentAll   LayoutTernaryCaxisShowexponent = "all"
	LayoutTernaryCaxisShowexponentFirst LayoutTernaryCaxisShowexponent = "first"
	LayoutTernaryCaxisShowexponentLast  LayoutTernaryCaxisShowexponent = "last"
	LayoutTernaryCaxisShowexponentNone  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 (
	LayoutTernaryCaxisShowtickprefixAll   LayoutTernaryCaxisShowtickprefix = "all"
	LayoutTernaryCaxisShowtickprefixFirst LayoutTernaryCaxisShowtickprefix = "first"
	LayoutTernaryCaxisShowtickprefixLast  LayoutTernaryCaxisShowtickprefix = "last"
	LayoutTernaryCaxisShowtickprefixNone  LayoutTernaryCaxisShowtickprefix = "none"
)

type LayoutTernaryCaxisShowticksuffix

type LayoutTernaryCaxisShowticksuffix string

LayoutTernaryCaxisShowticksuffix Same as `showtickprefix` but for tick suffixes.

const (
	LayoutTernaryCaxisShowticksuffixAll   LayoutTernaryCaxisShowticksuffix = "all"
	LayoutTernaryCaxisShowticksuffixFirst LayoutTernaryCaxisShowticksuffix = "first"
	LayoutTernaryCaxisShowticksuffixLast  LayoutTernaryCaxisShowticksuffix = "last"
	LayoutTernaryCaxisShowticksuffixNone  LayoutTernaryCaxisShowticksuffix = "none"
)

type LayoutTernaryCaxisTickfont

type LayoutTernaryCaxisTickfont struct {

	// Color
	// arrayOK: false
	// type: color
	//
	Color Color `json:"color,omitempty"`

	// Family
	// arrayOK: false
	// type: string
	// HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.
	Family String `json:"family,omitempty"`

	// Size
	// arrayOK: false
	// type: number
	//
	Size float64 `json:"size,omitempty"`
}

LayoutTernaryCaxisTickfont Sets the tick font.

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 (
	LayoutTernaryCaxisTickmodeAuto   LayoutTernaryCaxisTickmode = "auto"
	LayoutTernaryCaxisTickmodeLinear LayoutTernaryCaxisTickmode = "linear"
	LayoutTernaryCaxisTickmodeArray  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 (
	LayoutTernaryCaxisTicksOutside LayoutTernaryCaxisTicks = "outside"
	LayoutTernaryCaxisTicksInside  LayoutTernaryCaxisTicks = "inside"
	LayoutTernaryCaxisTicksEmpty   LayoutTernaryCaxisTicks = ""
)

type LayoutTernaryCaxisTitle

type LayoutTernaryCaxisTitle struct {

	// Font
	// role: Object
	Font *LayoutTernaryCaxisTitleFont `json:"font,omitempty"`

	// Text
	// arrayOK: false
	// type: string
	// Sets the title of this axis. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.
	Text String `json:"text,omitempty"`
}

LayoutTernaryCaxisTitle

type LayoutTernaryCaxisTitleFont

type LayoutTernaryCaxisTitleFont struct {

	// Color
	// arrayOK: false
	// type: color
	//
	Color Color `json:"color,omitempty"`

	// Family
	// arrayOK: false
	// type: string
	// HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.
	Family String `json:"family,omitempty"`

	// Size
	// arrayOK: false
	// type: number
	//
	Size float64 `json:"size,omitempty"`
}

LayoutTernaryCaxisTitleFont Sets this axis' title font. Note that the title's font used to be customized by the now deprecated `titlefont` attribute.

type LayoutTernaryDomain

type LayoutTernaryDomain struct {

	// Column
	// arrayOK: false
	// type: integer
	// If there is a layout grid, use the domain for this column in the grid for this ternary subplot .
	Column int64 `json:"column,omitempty"`

	// Row
	// arrayOK: false
	// type: integer
	// If there is a layout grid, use the domain for this row in the grid for this ternary subplot .
	Row int64 `json:"row,omitempty"`

	// X
	// arrayOK: false
	// type: info_array
	// Sets the horizontal domain of this ternary subplot (in plot fraction).
	X interface{} `json:"x,omitempty"`

	// Y
	// arrayOK: false
	// type: info_array
	// Sets the vertical domain of this ternary subplot (in plot fraction).
	Y interface{} `json:"y,omitempty"`
}

LayoutTernaryDomain

type LayoutTitle

type LayoutTitle struct {

	// Font
	// role: Object
	Font *LayoutTitleFont `json:"font,omitempty"`

	// Pad
	// role: Object
	Pad *LayoutTitlePad `json:"pad,omitempty"`

	// Text
	// arrayOK: false
	// type: string
	// Sets the plot's title. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.
	Text String `json:"text,omitempty"`

	// X
	// arrayOK: false
	// type: number
	// Sets the x position with respect to `xref` in normalized coordinates from *0* (left) to *1* (right).
	X float64 `json:"x,omitempty"`

	// Xanchor
	// default: auto
	// type: enumerated
	// Sets the title's horizontal alignment with respect to its x position. *left* means that the title starts at x, *right* means that the title ends at x and *center* means that the title's center is at x. *auto* divides `xref` by three and calculates the `xanchor` value automatically based on the value of `x`.
	Xanchor LayoutTitleXanchor `json:"xanchor,omitempty"`

	// Xref
	// default: container
	// type: enumerated
	// Sets the container `x` refers to. *container* spans the entire `width` of the plot. *paper* refers to the width of the plotting area only.
	Xref LayoutTitleXref `json:"xref,omitempty"`

	// Y
	// arrayOK: false
	// type: number
	// Sets the y position with respect to `yref` in normalized coordinates from *0* (bottom) to *1* (top). *auto* places the baseline of the title onto the vertical center of the top margin.
	Y float64 `json:"y,omitempty"`

	// Yanchor
	// default: auto
	// type: enumerated
	// Sets the title's vertical alignment with respect to its y position. *top* means that the title's cap line is at y, *bottom* means that the title's baseline is at y and *middle* means that the title's midline is at y. *auto* divides `yref` by three and calculates the `yanchor` value automatically based on the value of `y`.
	Yanchor LayoutTitleYanchor `json:"yanchor,omitempty"`

	// Yref
	// default: container
	// type: enumerated
	// Sets the container `y` refers to. *container* spans the entire `height` of the plot. *paper* refers to the height of the plotting area only.
	Yref LayoutTitleYref `json:"yref,omitempty"`
}

LayoutTitle

type LayoutTitleFont

type LayoutTitleFont struct {

	// Color
	// arrayOK: false
	// type: color
	//
	Color Color `json:"color,omitempty"`

	// Family
	// arrayOK: false
	// type: string
	// HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.
	Family String `json:"family,omitempty"`

	// Size
	// arrayOK: false
	// type: number
	//
	Size float64 `json:"size,omitempty"`
}

LayoutTitleFont Sets the title font. Note that the title's font used to be customized by the now deprecated `titlefont` attribute.

type LayoutTitlePad

type LayoutTitlePad struct {

	// B
	// arrayOK: false
	// type: number
	// The amount of padding (in px) along the bottom of the component.
	B float64 `json:"b,omitempty"`

	// L
	// arrayOK: false
	// type: number
	// The amount of padding (in px) on the left side of the component.
	L float64 `json:"l,omitempty"`

	// R
	// arrayOK: false
	// type: number
	// The amount of padding (in px) on the right side of the component.
	R float64 `json:"r,omitempty"`

	// T
	// arrayOK: false
	// type: number
	// The amount of padding (in px) along the top of the component.
	T float64 `json:"t,omitempty"`
}

LayoutTitlePad Sets the padding of the title. Each padding value only applies when the corresponding `xanchor`/`yanchor` value is set accordingly. E.g. for left padding to take effect, `xanchor` must be set to *left*. The same rule applies if `xanchor`/`yanchor` is determined automatically. Padding is muted if the respective anchor value is *middle*/*center*.

type 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 (
	LayoutTitleXanchorAuto   LayoutTitleXanchor = "auto"
	LayoutTitleXanchorLeft   LayoutTitleXanchor = "left"
	LayoutTitleXanchorCenter LayoutTitleXanchor = "center"
	LayoutTitleXanchorRight  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 (
	LayoutTitleXrefContainer LayoutTitleXref = "container"
	LayoutTitleXrefPaper     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 (
	LayoutTitleYanchorAuto   LayoutTitleYanchor = "auto"
	LayoutTitleYanchorTop    LayoutTitleYanchor = "top"
	LayoutTitleYanchorMiddle LayoutTitleYanchor = "middle"
	LayoutTitleYanchorBottom 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 (
	LayoutTitleYrefContainer LayoutTitleYref = "container"
	LayoutTitleYrefPaper     LayoutTitleYref = "paper"
)

type LayoutTransition

type LayoutTransition struct {

	// Duration
	// arrayOK: false
	// type: number
	// The duration of the transition, in milliseconds. If equal to zero, updates are synchronous.
	Duration float64 `json:"duration,omitempty"`

	// Easing
	// default: cubic-in-out
	// type: enumerated
	// The easing function used for the transition
	Easing LayoutTransitionEasing `json:"easing,omitempty"`

	// Ordering
	// default: layout first
	// type: enumerated
	// Determines whether the figure's layout or traces smoothly transitions during updates that make both traces and layout change.
	Ordering LayoutTransitionOrdering `json:"ordering,omitempty"`
}

LayoutTransition Sets transition options used during Plotly.react updates.

type LayoutTransitionEasing

type LayoutTransitionEasing string

LayoutTransitionEasing The easing function used for the transition

const (
	LayoutTransitionEasingLinear       LayoutTransitionEasing = "linear"
	LayoutTransitionEasingQuad         LayoutTransitionEasing = "quad"
	LayoutTransitionEasingCubic        LayoutTransitionEasing = "cubic"
	LayoutTransitionEasingSin          LayoutTransitionEasing = "sin"
	LayoutTransitionEasingExp          LayoutTransitionEasing = "exp"
	LayoutTransitionEasingCircle       LayoutTransitionEasing = "circle"
	LayoutTransitionEasingElastic      LayoutTransitionEasing = "elastic"
	LayoutTransitionEasingBack         LayoutTransitionEasing = "back"
	LayoutTransitionEasingBounce       LayoutTransitionEasing = "bounce"
	LayoutTransitionEasingLinearIn     LayoutTransitionEasing = "linear-in"
	LayoutTransitionEasingQuadIn       LayoutTransitionEasing = "quad-in"
	LayoutTransitionEasingCubicIn      LayoutTransitionEasing = "cubic-in"
	LayoutTransitionEasingSinIn        LayoutTransitionEasing = "sin-in"
	LayoutTransitionEasingExpIn        LayoutTransitionEasing = "exp-in"
	LayoutTransitionEasingCircleIn     LayoutTransitionEasing = "circle-in"
	LayoutTransitionEasingElasticIn    LayoutTransitionEasing = "elastic-in"
	LayoutTransitionEasingBackIn       LayoutTransitionEasing = "back-in"
	LayoutTransitionEasingBounceIn     LayoutTransitionEasing = "bounce-in"
	LayoutTransitionEasingLinearOut    LayoutTransitionEasing = "linear-out"
	LayoutTransitionEasingQuadOut      LayoutTransitionEasing = "quad-out"
	LayoutTransitionEasingCubicOut     LayoutTransitionEasing = "cubic-out"
	LayoutTransitionEasingSinOut       LayoutTransitionEasing = "sin-out"
	LayoutTransitionEasingExpOut       LayoutTransitionEasing = "exp-out"
	LayoutTransitionEasingCircleOut    LayoutTransitionEasing = "circle-out"
	LayoutTransitionEasingElasticOut   LayoutTransitionEasing = "elastic-out"
	LayoutTransitionEasingBackOut      LayoutTransitionEasing = "back-out"
	LayoutTransitionEasingBounceOut    LayoutTransitionEasing = "bounce-out"
	LayoutTransitionEasingLinearInOut  LayoutTransitionEasing = "linear-in-out"
	LayoutTransitionEasingQuadInOut    LayoutTransitionEasing = "quad-in-out"
	LayoutTransitionEasingCubicInOut   LayoutTransitionEasing = "cubic-in-out"
	LayoutTransitionEasingSinInOut     LayoutTransitionEasing = "sin-in-out"
	LayoutTransitionEasingExpInOut     LayoutTransitionEasing = "exp-in-out"
	LayoutTransitionEasingCircleInOut  LayoutTransitionEasing = "circle-in-out"
	LayoutTransitionEasingElasticInOut LayoutTransitionEasing = "elastic-in-out"
	LayoutTransitionEasingBackInOut    LayoutTransitionEasing = "back-in-out"
	LayoutTransitionEasingBounceInOut  LayoutTransitionEasing = "bounce-in-out"
)

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 (
	LayoutTransitionOrderingLayoutFirst LayoutTransitionOrdering = "layout first"
	LayoutTransitionOrderingTracesFirst LayoutTransitionOrdering = "traces first"
)

type LayoutUniformtext

type LayoutUniformtext struct {

	// Minsize
	// arrayOK: false
	// type: number
	// Sets the minimum text size between traces of the same type.
	Minsize float64 `json:"minsize,omitempty"`

	// Mode
	// default: %!s(bool=false)
	// type: enumerated
	// Determines how the font size for various text elements are uniformed between each trace type. If the computed text sizes were smaller than the minimum size defined by `uniformtext.minsize` using *hide* option hides the text; and using *show* option shows the text without further downscaling. Please note that if the size defined by `minsize` is greater than the font size defined by trace, then the `minsize` is used.
	Mode LayoutUniformtextMode `json:"mode,omitempty"`
}

LayoutUniformtext

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 (
	LayoutUniformtextModeFalse LayoutUniformtextMode = false
	LayoutUniformtextModeHide  LayoutUniformtextMode = "hide"
	LayoutUniformtextModeShow  LayoutUniformtextMode = "show"
)

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 (
	ViolinViolinmodeGroup   LayoutViolinmode = "group"
	ViolinViolinmodeOverlay 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 (
	WaterfallWaterfallmodeGroup   LayoutWaterfallmode = "group"
	WaterfallWaterfallmodeOverlay LayoutWaterfallmode = "overlay"
)

type LayoutXaxis

type LayoutXaxis struct {

	// Anchor
	// default: %!s(<nil>)
	// type: enumerated
	// If set to an opposite-letter axis id (e.g. `x2`, `y`), this axis is bound to the corresponding opposite-letter axis. If set to *free*, this axis' position is determined by `position`.
	Anchor LayoutXaxisAnchor `json:"anchor,omitempty"`

	// Automargin
	// arrayOK: false
	// type: boolean
	// Determines whether long tick labels automatically grow the figure margins.
	Automargin Bool `json:"automargin,omitempty"`

	// Autorange
	// default: %!s(bool=true)
	// type: enumerated
	// Determines whether or not the range of this axis is computed in relation to the input data. See `rangemode` for more info. If `range` is provided, then `autorange` is set to *false*.
	Autorange LayoutXaxisAutorange `json:"autorange,omitempty"`

	// Autotypenumbers
	// default: convert types
	// type: enumerated
	// Using *strict* a numeric string in trace data is not converted to a number. Using *convert types* a numeric string in trace data may be treated as a number during automatic axis `type` detection. Defaults to layout.autotypenumbers.
	Autotypenumbers LayoutXaxisAutotypenumbers `json:"autotypenumbers,omitempty"`

	// Calendar
	// default: gregorian
	// type: enumerated
	// Sets the calendar system to use for `range` and `tick0` if this is a date axis. This does not set the calendar for interpreting data on this axis, that's specified in the trace or via the global `layout.calendar`
	Calendar LayoutXaxisCalendar `json:"calendar,omitempty"`

	// Categoryarray
	// arrayOK: false
	// type: data_array
	// Sets the order in which categories on this axis appear. Only has an effect if `categoryorder` is set to *array*. Used with `categoryorder`.
	Categoryarray interface{} `json:"categoryarray,omitempty"`

	// Categoryarraysrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  categoryarray .
	Categoryarraysrc String `json:"categoryarraysrc,omitempty"`

	// Categoryorder
	// default: trace
	// type: enumerated
	// Specifies the ordering logic for the case of categorical variables. By default, plotly uses *trace*, which specifies the order that is present in the data supplied. Set `categoryorder` to *category ascending* or *category descending* if order should be determined by the alphanumerical order of the category names. Set `categoryorder` to *array* to derive the ordering from the attribute `categoryarray`. If a category is not found in the `categoryarray` array, the sorting behavior for that attribute will be identical to the *trace* mode. The unspecified categories will follow the categories in `categoryarray`. Set `categoryorder` to *total ascending* or *total descending* if order should be determined by the numerical order of the values. Similarly, the order can be determined by the min, max, sum, mean or median of all the values.
	Categoryorder LayoutXaxisCategoryorder `json:"categoryorder,omitempty"`

	// Color
	// arrayOK: false
	// type: color
	// Sets default for all colors associated with this axis all at once: line, font, tick, and grid colors. Grid color is lightened by blending this with the plot background Individual pieces can override this.
	Color Color `json:"color,omitempty"`

	// Constrain
	// default: %!s(<nil>)
	// type: enumerated
	// If this axis needs to be compressed (either due to its own `scaleanchor` and `scaleratio` or those of the other axis), determines how that happens: by increasing the *range*, or by decreasing the *domain*. Default is *domain* for axes containing image traces, *range* otherwise.
	Constrain LayoutXaxisConstrain `json:"constrain,omitempty"`

	// Constraintoward
	// default: %!s(<nil>)
	// type: enumerated
	// If this axis needs to be compressed (either due to its own `scaleanchor` and `scaleratio` or those of the other axis), determines which direction we push the originally specified plot area. Options are *left*, *center* (default), and *right* for x axes, and *top*, *middle* (default), and *bottom* for y axes.
	Constraintoward LayoutXaxisConstraintoward `json:"constraintoward,omitempty"`

	// Dividercolor
	// arrayOK: false
	// type: color
	// Sets the color of the dividers Only has an effect on *multicategory* axes.
	Dividercolor Color `json:"dividercolor,omitempty"`

	// Dividerwidth
	// arrayOK: false
	// type: number
	// Sets the width (in px) of the dividers Only has an effect on *multicategory* axes.
	Dividerwidth float64 `json:"dividerwidth,omitempty"`

	// Domain
	// arrayOK: false
	// type: info_array
	// Sets the domain of this axis (in plot fraction).
	Domain interface{} `json:"domain,omitempty"`

	// Dtick
	// arrayOK: false
	// type: any
	// Sets the step in-between ticks on this axis. Use with `tick0`. Must be a positive number, or special strings available to *log* and *date* axes. If the axis `type` is *log*, then ticks are set every 10^(n*dtick) where n is the tick number. For example, to set a tick mark at 1, 10, 100, 1000, ... set dtick to 1. To set tick marks at 1, 100, 10000, ... set dtick to 2. To set tick marks at 1, 5, 25, 125, 625, 3125, ... set dtick to log_10(5), or 0.69897000433. *log* has several special values; *L<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
	// default: B
	// type: enumerated
	// Determines a formatting rule for the tick exponents. For example, consider the number 1,000,000,000. If *none*, it appears as 1,000,000,000. If *e*, 1e+9. If *E*, 1E+9. If *power*, 1x10^9 (with 9 in a super script). If *SI*, 1G. If *B*, 1B.
	Exponentformat LayoutXaxisExponentformat `json:"exponentformat,omitempty"`

	// Fixedrange
	// arrayOK: false
	// type: boolean
	// Determines whether or not this axis is zoom-able. If true, then zoom is disabled.
	Fixedrange Bool `json:"fixedrange,omitempty"`

	// Gridcolor
	// arrayOK: false
	// type: color
	// Sets the color of the grid lines.
	Gridcolor Color `json:"gridcolor,omitempty"`

	// Gridwidth
	// arrayOK: false
	// type: number
	// Sets the width (in px) of the grid lines.
	Gridwidth float64 `json:"gridwidth,omitempty"`

	// Hoverformat
	// arrayOK: false
	// type: string
	// Sets the hover text formatting rule using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-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
	// default: above traces
	// type: enumerated
	// Sets the layer on which this axis is displayed. If *above traces*, this axis is displayed above all the subplot's traces If *below traces*, this axis is displayed below all the subplot's traces, but above the grid lines. Useful when used together with scatter-like traces with `cliponaxis` set to *false* to show markers and/or text nodes above this axis.
	Layer LayoutXaxisLayer `json:"layer,omitempty"`

	// Linecolor
	// arrayOK: false
	// type: color
	// Sets the axis line color.
	Linecolor Color `json:"linecolor,omitempty"`

	// Linewidth
	// arrayOK: false
	// type: number
	// Sets the width (in px) of the axis line.
	Linewidth float64 `json:"linewidth,omitempty"`

	// Matches
	// default: %!s(<nil>)
	// type: enumerated
	// If set to another axis id (e.g. `x2`, `y`), the range of this axis will match the range of the corresponding axis in data-coordinates space. Moreover, matching axes share auto-range values, category lists and histogram auto-bins. Note that setting axes simultaneously in both a `scaleanchor` and a `matches` constraint is currently forbidden. Moreover, note that matching axes must have the same `type`.
	Matches LayoutXaxisMatches `json:"matches,omitempty"`

	// Minexponent
	// arrayOK: false
	// type: number
	// Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*.
	Minexponent float64 `json:"minexponent,omitempty"`

	// Mirror
	// default: %!s(bool=false)
	// type: enumerated
	// Determines if the axis lines or/and ticks are mirrored to the opposite side of the plotting area. If *true*, the axis lines are mirrored. If *ticks*, the axis lines and ticks are mirrored. If *false*, mirroring is disable. If *all*, axis lines are mirrored on all shared-axes subplots. If *allticks*, axis lines and ticks are mirrored on all shared-axes subplots.
	Mirror LayoutXaxisMirror `json:"mirror,omitempty"`

	// Nticks
	// arrayOK: false
	// type: integer
	// Specifies the maximum number of ticks for the particular axis. The actual number of ticks will be chosen automatically to be less than or equal to `nticks`. Has an effect only if `tickmode` is set to *auto*.
	Nticks int64 `json:"nticks,omitempty"`

	// Overlaying
	// default: %!s(<nil>)
	// type: enumerated
	// If set a same-letter axis id, this axis is overlaid on top of the corresponding same-letter axis, with traces and axes visible for both axes. If *false*, this axis does not overlay any same-letter axes. In this case, for axes with overlapping domains only the highest-numbered axis will be visible.
	Overlaying LayoutXaxisOverlaying `json:"overlaying,omitempty"`

	// Position
	// arrayOK: false
	// type: number
	// Sets the position of this axis in the plotting space (in normalized coordinates). Only has an effect if `anchor` is set to *free*.
	Position float64 `json:"position,omitempty"`

	// Range
	// arrayOK: false
	// type: info_array
	// Sets the range of this axis. If the axis `type` is *log*, then you must take the log of your desired range (e.g. to set the range from 1 to 100, set the range from 0 to 2). If the axis `type` is *date*, it should be date strings, like date data, though Date objects and unix milliseconds will be accepted and converted to strings. If the axis `type` is *category*, it should be numbers, using the scale where each category is assigned a serial number from zero in the order it appears.
	Range interface{} `json:"range,omitempty"`

	// Rangebreaks
	// It's an items array and what goes inside it's... messy... check the docs
	// I will be happy if you want to contribute by implementing this
	// just raise an issue before you start so we do not overlap
	Rangebreaks interface{} `json:"rangebreaks,omitempty"`

	// Rangemode
	// default: normal
	// type: enumerated
	// If *normal*, the range is computed in relation to the extrema of the input data. If *tozero*`, the range extends to 0, regardless of the input data If *nonnegative*, the range is non-negative, regardless of the input data. Applies only to linear axes.
	Rangemode LayoutXaxisRangemode `json:"rangemode,omitempty"`

	// Rangeselector
	// role: Object
	Rangeselector *LayoutXaxisRangeselector `json:"rangeselector,omitempty"`

	// Rangeslider
	// role: Object
	Rangeslider *LayoutXaxisRangeslider `json:"rangeslider,omitempty"`

	// Scaleanchor
	// default: %!s(<nil>)
	// type: enumerated
	// If set to another axis id (e.g. `x2`, `y`), the range of this axis changes together with the range of the corresponding axis such that the scale of pixels per unit is in a constant ratio. Both axes are still zoomable, but when you zoom one, the other will zoom the same amount, keeping a fixed midpoint. `constrain` and `constraintoward` determine how we enforce the constraint. You can chain these, ie `yaxis: {scaleanchor: *x*}, xaxis2: {scaleanchor: *y*}` but you can only link axes of the same `type`. The linked axis can have the opposite letter (to constrain the aspect ratio) or the same letter (to match scales across subplots). Loops (`yaxis: {scaleanchor: *x*}, xaxis: {scaleanchor: *y*}` or longer) are redundant and the last constraint encountered will be ignored to avoid possible inconsistent constraints via `scaleratio`. Note that setting axes simultaneously in both a `scaleanchor` and a `matches` constraint is currently forbidden.
	Scaleanchor LayoutXaxisScaleanchor `json:"scaleanchor,omitempty"`

	// Scaleratio
	// arrayOK: false
	// type: number
	// If this axis is linked to another by `scaleanchor`, this determines the pixel to unit scale ratio. For example, if this value is 10, then every unit on this axis spans 10 times the number of pixels as a unit on the linked axis. Use this for example to create an elevation profile where the vertical scale is exaggerated a fixed amount with respect to the horizontal.
	Scaleratio float64 `json:"scaleratio,omitempty"`

	// Separatethousands
	// arrayOK: false
	// type: boolean
	// If "true", even 4-digit integers are separated
	Separatethousands Bool `json:"separatethousands,omitempty"`

	// Showdividers
	// arrayOK: false
	// type: boolean
	// Determines whether or not a dividers are drawn between the category levels of this axis. Only has an effect on *multicategory* axes.
	Showdividers Bool `json:"showdividers,omitempty"`

	// Showexponent
	// default: all
	// type: enumerated
	// If *all*, all exponents are shown besides their significands. If *first*, only the exponent of the first tick is shown. If *last*, only the exponent of the last tick is shown. If *none*, no exponents appear.
	Showexponent LayoutXaxisShowexponent `json:"showexponent,omitempty"`

	// Showgrid
	// arrayOK: false
	// type: boolean
	// Determines whether or not grid lines are drawn. If *true*, the grid lines are drawn at every tick mark.
	Showgrid Bool `json:"showgrid,omitempty"`

	// Showline
	// arrayOK: false
	// type: boolean
	// Determines whether or not a line bounding this axis is drawn.
	Showline Bool `json:"showline,omitempty"`

	// Showspikes
	// arrayOK: false
	// type: boolean
	// Determines whether or not spikes (aka droplines) are drawn for this axis. Note: This only takes affect when hovermode = closest
	Showspikes Bool `json:"showspikes,omitempty"`

	// Showticklabels
	// arrayOK: false
	// type: boolean
	// Determines whether or not the tick labels are drawn.
	Showticklabels Bool `json:"showticklabels,omitempty"`

	// Showtickprefix
	// default: all
	// type: enumerated
	// If *all*, all tick labels are displayed with a prefix. If *first*, only the first tick is displayed with a prefix. If *last*, only the last tick is displayed with a suffix. If *none*, tick prefixes are hidden.
	Showtickprefix LayoutXaxisShowtickprefix `json:"showtickprefix,omitempty"`

	// Showticksuffix
	// default: all
	// type: enumerated
	// Same as `showtickprefix` but for tick suffixes.
	Showticksuffix LayoutXaxisShowticksuffix `json:"showticksuffix,omitempty"`

	// Side
	// default: %!s(<nil>)
	// type: enumerated
	// Determines whether a x (y) axis is positioned at the *bottom* (*left*) or *top* (*right*) of the plotting area.
	Side LayoutXaxisSide `json:"side,omitempty"`

	// Spikecolor
	// arrayOK: false
	// type: color
	// Sets the spike color. If undefined, will use the series color
	Spikecolor Color `json:"spikecolor,omitempty"`

	// Spikedash
	// arrayOK: false
	// type: string
	// Sets the dash style of lines. Set to a dash type string (*solid*, *dot*, *dash*, *longdash*, *dashdot*, or *longdashdot*) or a dash length list in px (eg *5px,10px,2px,2px*).
	Spikedash String `json:"spikedash,omitempty"`

	// Spikemode
	// default: toaxis
	// type: flaglist
	// Determines the drawing mode for the spike line If *toaxis*, the line is drawn from the data point to the axis the  series is plotted on. If *across*, the line is drawn across the entire plot area, and supercedes *toaxis*. If *marker*, then a marker dot is drawn on the axis the series is plotted on
	Spikemode LayoutXaxisSpikemode `json:"spikemode,omitempty"`

	// Spikesnap
	// default: data
	// type: enumerated
	// Determines whether spikelines are stuck to the cursor or to the closest datapoints.
	Spikesnap LayoutXaxisSpikesnap `json:"spikesnap,omitempty"`

	// Spikethickness
	// arrayOK: false
	// type: number
	// Sets the width (in px) of the zero line.
	Spikethickness float64 `json:"spikethickness,omitempty"`

	// Tick0
	// arrayOK: false
	// type: any
	// Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2) except when `dtick`=*L<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
	// arrayOK: false
	// type: angle
	// Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.
	Tickangle float64 `json:"tickangle,omitempty"`

	// Tickcolor
	// arrayOK: false
	// type: color
	// Sets the tick color.
	Tickcolor Color `json:"tickcolor,omitempty"`

	// Tickfont
	// role: Object
	Tickfont *LayoutXaxisTickfont `json:"tickfont,omitempty"`

	// Tickformat
	// arrayOK: false
	// type: string
	// Sets the tick label formatting rule using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-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
	// It's an items array and what goes inside it's... messy... check the docs
	// I will be happy if you want to contribute by implementing this
	// just raise an issue before you start so we do not overlap
	Tickformatstops interface{} `json:"tickformatstops,omitempty"`

	// Ticklabelmode
	// default: instant
	// type: enumerated
	// Determines where tick labels are drawn with respect to their corresponding ticks and grid lines. Only has an effect for axes of `type` *date* When set to *period*, tick labels are drawn in the middle of the period between ticks.
	Ticklabelmode LayoutXaxisTicklabelmode `json:"ticklabelmode,omitempty"`

	// Ticklabelposition
	// default: outside
	// type: enumerated
	// Determines where tick labels are drawn with respect to the axis Please note that top or bottom has no effect on x axes or when `ticklabelmode` is set to *period*. Similarly left or right has no effect on y axes or when `ticklabelmode` is set to *period*. Has no effect on *multicategory* axes or when `tickson` is set to *boundaries*. When used on axes linked by `matches` or `scaleanchor`, no extra padding for inside labels would be added by autorange, so that the scales could match.
	Ticklabelposition LayoutXaxisTicklabelposition `json:"ticklabelposition,omitempty"`

	// Ticklen
	// arrayOK: false
	// type: number
	// Sets the tick length (in px).
	Ticklen float64 `json:"ticklen,omitempty"`

	// Tickmode
	// default: %!s(<nil>)
	// type: enumerated
	// Sets the tick mode for this axis. If *auto*, the number of ticks is set via `nticks`. If *linear*, the placement of the ticks is determined by a starting position `tick0` and a tick step `dtick` (*linear* is the default value if `tick0` and `dtick` are provided). If *array*, the placement of the ticks is set via `tickvals` and the tick text is `ticktext`. (*array* is the default value if `tickvals` is provided).
	Tickmode LayoutXaxisTickmode `json:"tickmode,omitempty"`

	// Tickprefix
	// arrayOK: false
	// type: string
	// Sets a tick label prefix.
	Tickprefix String `json:"tickprefix,omitempty"`

	// Ticks
	// default: %!s(<nil>)
	// type: enumerated
	// Determines whether ticks are drawn or not. If **, this axis' ticks are not drawn. If *outside* (*inside*), this axis' are drawn outside (inside) the axis lines.
	Ticks LayoutXaxisTicks `json:"ticks,omitempty"`

	// Tickson
	// default: labels
	// type: enumerated
	// Determines where ticks and grid lines are drawn with respect to their corresponding tick labels. Only has an effect for axes of `type` *category* or *multicategory*. When set to *boundaries*, ticks and grid lines are drawn half a category to the left/bottom of labels.
	Tickson LayoutXaxisTickson `json:"tickson,omitempty"`

	// Ticksuffix
	// arrayOK: false
	// type: string
	// Sets a tick label suffix.
	Ticksuffix String `json:"ticksuffix,omitempty"`

	// Ticktext
	// arrayOK: false
	// type: data_array
	// Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `tickvals`.
	Ticktext interface{} `json:"ticktext,omitempty"`

	// Ticktextsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  ticktext .
	Ticktextsrc String `json:"ticktextsrc,omitempty"`

	// Tickvals
	// arrayOK: false
	// type: data_array
	// Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.
	Tickvals interface{} `json:"tickvals,omitempty"`

	// Tickvalssrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  tickvals .
	Tickvalssrc String `json:"tickvalssrc,omitempty"`

	// Tickwidth
	// arrayOK: false
	// type: number
	// Sets the tick width (in px).
	Tickwidth float64 `json:"tickwidth,omitempty"`

	// Title
	// role: Object
	Title *LayoutXaxisTitle `json:"title,omitempty"`

	// Type
	// default: -
	// type: enumerated
	// Sets the axis type. By default, plotly attempts to determined the axis type by looking into the data of the traces that referenced the axis in question.
	Type LayoutXaxisType `json:"type,omitempty"`

	// Uirevision
	// arrayOK: false
	// type: any
	// Controls persistence of user-driven changes in axis `range`, `autorange`, and `title` if in `editable: true` configuration. Defaults to `layout.uirevision`.
	Uirevision interface{} `json:"uirevision,omitempty"`

	// Visible
	// arrayOK: false
	// type: boolean
	// A single toggle to hide the axis while preserving interaction like dragging. Default is true when a cheater plot is present on the axis, otherwise false
	Visible Bool `json:"visible,omitempty"`

	// Zeroline
	// arrayOK: false
	// type: boolean
	// Determines whether or not a line is drawn at along the 0 value of this axis. If *true*, the zero line is drawn on top of the grid lines.
	Zeroline Bool `json:"zeroline,omitempty"`

	// Zerolinecolor
	// arrayOK: false
	// type: color
	// Sets the line color of the zero line.
	Zerolinecolor Color `json:"zerolinecolor,omitempty"`

	// Zerolinewidth
	// arrayOK: false
	// type: number
	// Sets the width (in px) of the zero line.
	Zerolinewidth float64 `json:"zerolinewidth,omitempty"`
}

LayoutXaxis

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 (
	LayoutXaxisAnchorFree                                                                                                                    LayoutXaxisAnchor = "free"
	LayoutXaxisAnchorSlashCapexLparLbracket29RbracketOrLbracket19RbracketLbracket09RbracketPlusRparQuestionLparDomainRparQuestionDollarSlash LayoutXaxisAnchor = "/^x([2-9]|[1-9][0-9]+)?( domain)?$/"
	LayoutXaxisAnchorSlashCapeyLparLbracket29RbracketOrLbracket19RbracketLbracket09RbracketPlusRparQuestionLparDomainRparQuestionDollarSlash 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 (
	LayoutXaxisAutorangeTrue     LayoutXaxisAutorange = true
	LayoutXaxisAutorangeFalse    LayoutXaxisAutorange = false
	LayoutXaxisAutorangeReversed LayoutXaxisAutorange = "reversed"
)

type LayoutXaxisAutotypenumbers added in v0.3.1

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 (
	LayoutXaxisAutotypenumbersConvertTypes LayoutXaxisAutotypenumbers = "convert types"
	LayoutXaxisAutotypenumbersStrict       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 (
	LayoutXaxisCalendarGregorian  LayoutXaxisCalendar = "gregorian"
	LayoutXaxisCalendarChinese    LayoutXaxisCalendar = "chinese"
	LayoutXaxisCalendarCoptic     LayoutXaxisCalendar = "coptic"
	LayoutXaxisCalendarDiscworld  LayoutXaxisCalendar = "discworld"
	LayoutXaxisCalendarEthiopian  LayoutXaxisCalendar = "ethiopian"
	LayoutXaxisCalendarHebrew     LayoutXaxisCalendar = "hebrew"
	LayoutXaxisCalendarIslamic    LayoutXaxisCalendar = "islamic"
	LayoutXaxisCalendarJulian     LayoutXaxisCalendar = "julian"
	LayoutXaxisCalendarMayan      LayoutXaxisCalendar = "mayan"
	LayoutXaxisCalendarNanakshahi LayoutXaxisCalendar = "nanakshahi"
	LayoutXaxisCalendarNepali     LayoutXaxisCalendar = "nepali"
	LayoutXaxisCalendarPersian    LayoutXaxisCalendar = "persian"
	LayoutXaxisCalendarJalali     LayoutXaxisCalendar = "jalali"
	LayoutXaxisCalendarTaiwan     LayoutXaxisCalendar = "taiwan"
	LayoutXaxisCalendarThai       LayoutXaxisCalendar = "thai"
	LayoutXaxisCalendarUmmalqura  LayoutXaxisCalendar = "ummalqura"
)

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 (
	LayoutXaxisCategoryorderTrace              LayoutXaxisCategoryorder = "trace"
	LayoutXaxisCategoryorderCategoryAscending  LayoutXaxisCategoryorder = "category ascending"
	LayoutXaxisCategoryorderCategoryDescending LayoutXaxisCategoryorder = "category descending"
	LayoutXaxisCategoryorderArray              LayoutXaxisCategoryorder = "array"
	LayoutXaxisCategoryorderTotalAscending     LayoutXaxisCategoryorder = "total ascending"
	LayoutXaxisCategoryorderTotalDescending    LayoutXaxisCategoryorder = "total descending"
	LayoutXaxisCategoryorderMinAscending       LayoutXaxisCategoryorder = "min ascending"
	LayoutXaxisCategoryorderMinDescending      LayoutXaxisCategoryorder = "min descending"
	LayoutXaxisCategoryorderMaxAscending       LayoutXaxisCategoryorder = "max ascending"
	LayoutXaxisCategoryorderMaxDescending      LayoutXaxisCategoryorder = "max descending"
	LayoutXaxisCategoryorderSumAscending       LayoutXaxisCategoryorder = "sum ascending"
	LayoutXaxisCategoryorderSumDescending      LayoutXaxisCategoryorder = "sum descending"
	LayoutXaxisCategoryorderMeanAscending      LayoutXaxisCategoryorder = "mean ascending"
	LayoutXaxisCategoryorderMeanDescending     LayoutXaxisCategoryorder = "mean descending"
	LayoutXaxisCategoryorderMedianAscending    LayoutXaxisCategoryorder = "median ascending"
	LayoutXaxisCategoryorderMedianDescending   LayoutXaxisCategoryorder = "median descending"
)

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 (
	LayoutXaxisConstrainRange  LayoutXaxisConstrain = "range"
	LayoutXaxisConstrainDomain 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 (
	LayoutXaxisConstraintowardLeft   LayoutXaxisConstraintoward = "left"
	LayoutXaxisConstraintowardCenter LayoutXaxisConstraintoward = "center"
	LayoutXaxisConstraintowardRight  LayoutXaxisConstraintoward = "right"
	LayoutXaxisConstraintowardTop    LayoutXaxisConstraintoward = "top"
	LayoutXaxisConstraintowardMiddle LayoutXaxisConstraintoward = "middle"
	LayoutXaxisConstraintowardBottom 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 (
	LayoutXaxisExponentformatNone  LayoutXaxisExponentformat = "none"
	LayoutXaxisExponentformatE1    LayoutXaxisExponentformat = "e"
	LayoutXaxisExponentformatE2    LayoutXaxisExponentformat = "E"
	LayoutXaxisExponentformatPower LayoutXaxisExponentformat = "power"
	LayoutXaxisExponentformatSi    LayoutXaxisExponentformat = "SI"
	LayoutXaxisExponentformatB     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 (
	LayoutXaxisLayerAboveTraces LayoutXaxisLayer = "above traces"
	LayoutXaxisLayerBelowTraces 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 (
	LayoutXaxisMatchesSlashCapexLparLbracket29RbracketOrLbracket19RbracketLbracket09RbracketPlusRparQuestionLparDomainRparQuestionDollarSlash LayoutXaxisMatches = "/^x([2-9]|[1-9][0-9]+)?( domain)?$/"
	LayoutXaxisMatchesSlashCapeyLparLbracket29RbracketOrLbracket19RbracketLbracket09RbracketPlusRparQuestionLparDomainRparQuestionDollarSlash 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 (
	LayoutXaxisMirrorTrue     LayoutXaxisMirror = true
	LayoutXaxisMirrorTicks    LayoutXaxisMirror = "ticks"
	LayoutXaxisMirrorFalse    LayoutXaxisMirror = false
	LayoutXaxisMirrorAll      LayoutXaxisMirror = "all"
	LayoutXaxisMirrorAllticks 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 (
	LayoutXaxisOverlayingFree                                                                                                                    LayoutXaxisOverlaying = "free"
	LayoutXaxisOverlayingSlashCapexLparLbracket29RbracketOrLbracket19RbracketLbracket09RbracketPlusRparQuestionLparDomainRparQuestionDollarSlash LayoutXaxisOverlaying = "/^x([2-9]|[1-9][0-9]+)?( domain)?$/"
	LayoutXaxisOverlayingSlashCapeyLparLbracket29RbracketOrLbracket19RbracketLbracket09RbracketPlusRparQuestionLparDomainRparQuestionDollarSlash LayoutXaxisOverlaying = "/^y([2-9]|[1-9][0-9]+)?( domain)?$/"
)

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 (
	LayoutXaxisRangemodeNormal      LayoutXaxisRangemode = "normal"
	LayoutXaxisRangemodeTozero      LayoutXaxisRangemode = "tozero"
	LayoutXaxisRangemodeNonnegative LayoutXaxisRangemode = "nonnegative"
)

type LayoutXaxisRangeselector

type LayoutXaxisRangeselector struct {

	// Activecolor
	// arrayOK: false
	// type: color
	// Sets the background color of the active range selector button.
	Activecolor Color `json:"activecolor,omitempty"`

	// Bgcolor
	// arrayOK: false
	// type: color
	// Sets the background color of the range selector buttons.
	Bgcolor Color `json:"bgcolor,omitempty"`

	// Bordercolor
	// arrayOK: false
	// type: color
	// Sets the color of the border enclosing the range selector.
	Bordercolor Color `json:"bordercolor,omitempty"`

	// Borderwidth
	// arrayOK: false
	// type: number
	// Sets the width (in px) of the border enclosing the range selector.
	Borderwidth float64 `json:"borderwidth,omitempty"`

	// Buttons
	// It's an items array and what goes inside it's... messy... check the docs
	// I will be happy if you want to contribute by implementing this
	// just raise an issue before you start so we do not overlap
	Buttons interface{} `json:"buttons,omitempty"`

	// Font
	// role: Object
	Font *LayoutXaxisRangeselectorFont `json:"font,omitempty"`

	// Visible
	// arrayOK: false
	// type: boolean
	// Determines whether or not this range selector is visible. Note that range selectors are only available for x axes of `type` set to or auto-typed to *date*.
	Visible Bool `json:"visible,omitempty"`

	// X
	// arrayOK: false
	// type: number
	// Sets the x position (in normalized coordinates) of the range selector.
	X float64 `json:"x,omitempty"`

	// Xanchor
	// default: left
	// type: enumerated
	// Sets the range selector's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the range selector.
	Xanchor LayoutXaxisRangeselectorXanchor `json:"xanchor,omitempty"`

	// Y
	// arrayOK: false
	// type: number
	// Sets the y position (in normalized coordinates) of the range selector.
	Y float64 `json:"y,omitempty"`

	// Yanchor
	// default: bottom
	// type: enumerated
	// Sets the range selector's vertical position anchor This anchor binds the `y` position to the *top*, *middle* or *bottom* of the range selector.
	Yanchor LayoutXaxisRangeselectorYanchor `json:"yanchor,omitempty"`
}

LayoutXaxisRangeselector

type LayoutXaxisRangeselectorFont

type LayoutXaxisRangeselectorFont struct {

	// Color
	// arrayOK: false
	// type: color
	//
	Color Color `json:"color,omitempty"`

	// Family
	// arrayOK: false
	// type: string
	// HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.
	Family String `json:"family,omitempty"`

	// Size
	// arrayOK: false
	// type: number
	//
	Size float64 `json:"size,omitempty"`
}

LayoutXaxisRangeselectorFont Sets the font of the range selector button text.

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 (
	LayoutXaxisRangeselectorXanchorAuto   LayoutXaxisRangeselectorXanchor = "auto"
	LayoutXaxisRangeselectorXanchorLeft   LayoutXaxisRangeselectorXanchor = "left"
	LayoutXaxisRangeselectorXanchorCenter LayoutXaxisRangeselectorXanchor = "center"
	LayoutXaxisRangeselectorXanchorRight  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 (
	LayoutXaxisRangeselectorYanchorAuto   LayoutXaxisRangeselectorYanchor = "auto"
	LayoutXaxisRangeselectorYanchorTop    LayoutXaxisRangeselectorYanchor = "top"
	LayoutXaxisRangeselectorYanchorMiddle LayoutXaxisRangeselectorYanchor = "middle"
	LayoutXaxisRangeselectorYanchorBottom LayoutXaxisRangeselectorYanchor = "bottom"
)

type LayoutXaxisRangeslider

type LayoutXaxisRangeslider struct {

	// Autorange
	// arrayOK: false
	// type: boolean
	// Determines whether or not the range slider range is computed in relation to the input data. If `range` is provided, then `autorange` is set to *false*.
	Autorange Bool `json:"autorange,omitempty"`

	// Bgcolor
	// arrayOK: false
	// type: color
	// Sets the background color of the range slider.
	Bgcolor Color `json:"bgcolor,omitempty"`

	// Bordercolor
	// arrayOK: false
	// type: color
	// Sets the border color of the range slider.
	Bordercolor Color `json:"bordercolor,omitempty"`

	// Borderwidth
	// arrayOK: false
	// type: integer
	// Sets the border width of the range slider.
	Borderwidth int64 `json:"borderwidth,omitempty"`

	// Range
	// arrayOK: false
	// type: info_array
	// Sets the range of the range slider. If not set, defaults to the full xaxis range. If the axis `type` is *log*, then you must take the log of your desired range. If the axis `type` is *date*, it should be date strings, like date data, though Date objects and unix milliseconds will be accepted and converted to strings. If the axis `type` is *category*, it should be numbers, using the scale where each category is assigned a serial number from zero in the order it appears.
	Range interface{} `json:"range,omitempty"`

	// Thickness
	// arrayOK: false
	// type: number
	// The height of the range slider as a fraction of the total plot area height.
	Thickness float64 `json:"thickness,omitempty"`

	// Visible
	// arrayOK: false
	// type: boolean
	// Determines whether or not the range slider will be visible. If visible, perpendicular axes will be set to `fixedrange`
	Visible Bool `json:"visible,omitempty"`

	// Yaxis
	// role: Object
	Yaxis *LayoutXaxisRangesliderYaxis `json:"yaxis,omitempty"`
}

LayoutXaxisRangeslider

type LayoutXaxisRangesliderYaxis

type LayoutXaxisRangesliderYaxis struct {

	// Range
	// arrayOK: false
	// type: info_array
	// Sets the range of this axis for the rangeslider.
	Range interface{} `json:"range,omitempty"`

	// Rangemode
	// default: match
	// type: enumerated
	// Determines whether or not the range of this axis in the rangeslider use the same value than in the main plot when zooming in/out. If *auto*, the autorange will be used. If *fixed*, the `range` is used. If *match*, the current range of the corresponding y-axis on the main subplot is used.
	Rangemode LayoutXaxisRangesliderYaxisRangemode `json:"rangemode,omitempty"`
}

LayoutXaxisRangesliderYaxis

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 (
	LayoutXaxisRangesliderYaxisRangemodeAuto  LayoutXaxisRangesliderYaxisRangemode = "auto"
	LayoutXaxisRangesliderYaxisRangemodeFixed LayoutXaxisRangesliderYaxisRangemode = "fixed"
	LayoutXaxisRangesliderYaxisRangemodeMatch 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 (
	LayoutXaxisScaleanchorSlashCapexLparLbracket29RbracketOrLbracket19RbracketLbracket09RbracketPlusRparQuestionLparDomainRparQuestionDollarSlash LayoutXaxisScaleanchor = "/^x([2-9]|[1-9][0-9]+)?( domain)?$/"
	LayoutXaxisScaleanchorSlashCapeyLparLbracket29RbracketOrLbracket19RbracketLbracket09RbracketPlusRparQuestionLparDomainRparQuestionDollarSlash 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 (
	LayoutXaxisShowexponentAll   LayoutXaxisShowexponent = "all"
	LayoutXaxisShowexponentFirst LayoutXaxisShowexponent = "first"
	LayoutXaxisShowexponentLast  LayoutXaxisShowexponent = "last"
	LayoutXaxisShowexponentNone  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 (
	LayoutXaxisShowtickprefixAll   LayoutXaxisShowtickprefix = "all"
	LayoutXaxisShowtickprefixFirst LayoutXaxisShowtickprefix = "first"
	LayoutXaxisShowtickprefixLast  LayoutXaxisShowtickprefix = "last"
	LayoutXaxisShowtickprefixNone  LayoutXaxisShowtickprefix = "none"
)

type LayoutXaxisShowticksuffix

type LayoutXaxisShowticksuffix string

LayoutXaxisShowticksuffix Same as `showtickprefix` but for tick suffixes.

const (
	LayoutXaxisShowticksuffixAll   LayoutXaxisShowticksuffix = "all"
	LayoutXaxisShowticksuffixFirst LayoutXaxisShowticksuffix = "first"
	LayoutXaxisShowticksuffixLast  LayoutXaxisShowticksuffix = "last"
	LayoutXaxisShowticksuffixNone  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 (
	LayoutXaxisSideTop    LayoutXaxisSide = "top"
	LayoutXaxisSideBottom LayoutXaxisSide = "bottom"
	LayoutXaxisSideLeft   LayoutXaxisSide = "left"
	LayoutXaxisSideRight  LayoutXaxisSide = "right"
)

type LayoutXaxisSpikemode

type LayoutXaxisSpikemode string

LayoutXaxisSpikemode Determines the drawing mode for the spike line If *toaxis*, the line is drawn from the data point to the axis the series is plotted on. If *across*, the line is drawn across the entire plot area, and supercedes *toaxis*. If *marker*, then a marker dot is drawn on the axis the series is plotted on

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 (
	LayoutXaxisSpikesnapData        LayoutXaxisSpikesnap = "data"
	LayoutXaxisSpikesnapCursor      LayoutXaxisSpikesnap = "cursor"
	LayoutXaxisSpikesnapHoveredData LayoutXaxisSpikesnap = "hovered data"
)

type LayoutXaxisTickfont

type LayoutXaxisTickfont struct {

	// Color
	// arrayOK: false
	// type: color
	//
	Color Color `json:"color,omitempty"`

	// Family
	// arrayOK: false
	// type: string
	// HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.
	Family String `json:"family,omitempty"`

	// Size
	// arrayOK: false
	// type: number
	//
	Size float64 `json:"size,omitempty"`
}

LayoutXaxisTickfont Sets the tick font.

type LayoutXaxisTicklabelmode added in v0.3.1

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 (
	LayoutXaxisTicklabelmodeInstant LayoutXaxisTicklabelmode = "instant"
	LayoutXaxisTicklabelmodePeriod  LayoutXaxisTicklabelmode = "period"
)

type LayoutXaxisTicklabelposition added in v0.3.1

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 (
	LayoutXaxisTicklabelpositionOutside       LayoutXaxisTicklabelposition = "outside"
	LayoutXaxisTicklabelpositionInside        LayoutXaxisTicklabelposition = "inside"
	LayoutXaxisTicklabelpositionOutsideTop    LayoutXaxisTicklabelposition = "outside top"
	LayoutXaxisTicklabelpositionInsideTop     LayoutXaxisTicklabelposition = "inside top"
	LayoutXaxisTicklabelpositionOutsideLeft   LayoutXaxisTicklabelposition = "outside left"
	LayoutXaxisTicklabelpositionInsideLeft    LayoutXaxisTicklabelposition = "inside left"
	LayoutXaxisTicklabelpositionOutsideRight  LayoutXaxisTicklabelposition = "outside right"
	LayoutXaxisTicklabelpositionInsideRight   LayoutXaxisTicklabelposition = "inside right"
	LayoutXaxisTicklabelpositionOutsideBottom LayoutXaxisTicklabelposition = "outside bottom"
	LayoutXaxisTicklabelpositionInsideBottom  LayoutXaxisTicklabelposition = "inside bottom"
)

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 (
	LayoutXaxisTickmodeAuto   LayoutXaxisTickmode = "auto"
	LayoutXaxisTickmodeLinear LayoutXaxisTickmode = "linear"
	LayoutXaxisTickmodeArray  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 (
	LayoutXaxisTicksOutside LayoutXaxisTicks = "outside"
	LayoutXaxisTicksInside  LayoutXaxisTicks = "inside"
	LayoutXaxisTicksEmpty   LayoutXaxisTicks = ""
)

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 (
	LayoutXaxisTicksonLabels     LayoutXaxisTickson = "labels"
	LayoutXaxisTicksonBoundaries LayoutXaxisTickson = "boundaries"
)

type LayoutXaxisTitle

type LayoutXaxisTitle struct {

	// Font
	// role: Object
	Font *LayoutXaxisTitleFont `json:"font,omitempty"`

	// Standoff
	// arrayOK: false
	// type: number
	// Sets the standoff distance (in px) between the axis labels and the title text The default value is a function of the axis tick labels, the title `font.size` and the axis `linewidth`. Note that the axis title position is always constrained within the margins, so the actual standoff distance is always less than the set or default value. By setting `standoff` and turning on `automargin`, plotly.js will push the margins to fit the axis title at given standoff distance.
	Standoff float64 `json:"standoff,omitempty"`

	// Text
	// arrayOK: false
	// type: string
	// Sets the title of this axis. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.
	Text String `json:"text,omitempty"`
}

LayoutXaxisTitle

type LayoutXaxisTitleFont

type LayoutXaxisTitleFont struct {

	// Color
	// arrayOK: false
	// type: color
	//
	Color Color `json:"color,omitempty"`

	// Family
	// arrayOK: false
	// type: string
	// HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.
	Family String `json:"family,omitempty"`

	// Size
	// arrayOK: false
	// type: number
	//
	Size float64 `json:"size,omitempty"`
}

LayoutXaxisTitleFont Sets this axis' title font. Note that the title's font used to be customized by the now deprecated `titlefont` attribute.

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 (
	LayoutXaxisTypeHyphenHyphen  LayoutXaxisType = "-"
	LayoutXaxisTypeLinear        LayoutXaxisType = "linear"
	LayoutXaxisTypeLog           LayoutXaxisType = "log"
	LayoutXaxisTypeDate          LayoutXaxisType = "date"
	LayoutXaxisTypeCategory      LayoutXaxisType = "category"
	LayoutXaxisTypeMulticategory LayoutXaxisType = "multicategory"
)

type LayoutYaxis

type LayoutYaxis struct {

	// Anchor
	// default: %!s(<nil>)
	// type: enumerated
	// If set to an opposite-letter axis id (e.g. `x2`, `y`), this axis is bound to the corresponding opposite-letter axis. If set to *free*, this axis' position is determined by `position`.
	Anchor LayoutYaxisAnchor `json:"anchor,omitempty"`

	// Automargin
	// arrayOK: false
	// type: boolean
	// Determines whether long tick labels automatically grow the figure margins.
	Automargin Bool `json:"automargin,omitempty"`

	// Autorange
	// default: %!s(bool=true)
	// type: enumerated
	// Determines whether or not the range of this axis is computed in relation to the input data. See `rangemode` for more info. If `range` is provided, then `autorange` is set to *false*.
	Autorange LayoutYaxisAutorange `json:"autorange,omitempty"`

	// Autotypenumbers
	// default: convert types
	// type: enumerated
	// Using *strict* a numeric string in trace data is not converted to a number. Using *convert types* a numeric string in trace data may be treated as a number during automatic axis `type` detection. Defaults to layout.autotypenumbers.
	Autotypenumbers LayoutYaxisAutotypenumbers `json:"autotypenumbers,omitempty"`

	// Calendar
	// default: gregorian
	// type: enumerated
	// Sets the calendar system to use for `range` and `tick0` if this is a date axis. This does not set the calendar for interpreting data on this axis, that's specified in the trace or via the global `layout.calendar`
	Calendar LayoutYaxisCalendar `json:"calendar,omitempty"`

	// Categoryarray
	// arrayOK: false
	// type: data_array
	// Sets the order in which categories on this axis appear. Only has an effect if `categoryorder` is set to *array*. Used with `categoryorder`.
	Categoryarray interface{} `json:"categoryarray,omitempty"`

	// Categoryarraysrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  categoryarray .
	Categoryarraysrc String `json:"categoryarraysrc,omitempty"`

	// Categoryorder
	// default: trace
	// type: enumerated
	// Specifies the ordering logic for the case of categorical variables. By default, plotly uses *trace*, which specifies the order that is present in the data supplied. Set `categoryorder` to *category ascending* or *category descending* if order should be determined by the alphanumerical order of the category names. Set `categoryorder` to *array* to derive the ordering from the attribute `categoryarray`. If a category is not found in the `categoryarray` array, the sorting behavior for that attribute will be identical to the *trace* mode. The unspecified categories will follow the categories in `categoryarray`. Set `categoryorder` to *total ascending* or *total descending* if order should be determined by the numerical order of the values. Similarly, the order can be determined by the min, max, sum, mean or median of all the values.
	Categoryorder LayoutYaxisCategoryorder `json:"categoryorder,omitempty"`

	// Color
	// arrayOK: false
	// type: color
	// Sets default for all colors associated with this axis all at once: line, font, tick, and grid colors. Grid color is lightened by blending this with the plot background Individual pieces can override this.
	Color Color `json:"color,omitempty"`

	// Constrain
	// default: %!s(<nil>)
	// type: enumerated
	// If this axis needs to be compressed (either due to its own `scaleanchor` and `scaleratio` or those of the other axis), determines how that happens: by increasing the *range*, or by decreasing the *domain*. Default is *domain* for axes containing image traces, *range* otherwise.
	Constrain LayoutYaxisConstrain `json:"constrain,omitempty"`

	// Constraintoward
	// default: %!s(<nil>)
	// type: enumerated
	// If this axis needs to be compressed (either due to its own `scaleanchor` and `scaleratio` or those of the other axis), determines which direction we push the originally specified plot area. Options are *left*, *center* (default), and *right* for x axes, and *top*, *middle* (default), and *bottom* for y axes.
	Constraintoward LayoutYaxisConstraintoward `json:"constraintoward,omitempty"`

	// Dividercolor
	// arrayOK: false
	// type: color
	// Sets the color of the dividers Only has an effect on *multicategory* axes.
	Dividercolor Color `json:"dividercolor,omitempty"`

	// Dividerwidth
	// arrayOK: false
	// type: number
	// Sets the width (in px) of the dividers Only has an effect on *multicategory* axes.
	Dividerwidth float64 `json:"dividerwidth,omitempty"`

	// Domain
	// arrayOK: false
	// type: info_array
	// Sets the domain of this axis (in plot fraction).
	Domain interface{} `json:"domain,omitempty"`

	// Dtick
	// arrayOK: false
	// type: any
	// Sets the step in-between ticks on this axis. Use with `tick0`. Must be a positive number, or special strings available to *log* and *date* axes. If the axis `type` is *log*, then ticks are set every 10^(n*dtick) where n is the tick number. For example, to set a tick mark at 1, 10, 100, 1000, ... set dtick to 1. To set tick marks at 1, 100, 10000, ... set dtick to 2. To set tick marks at 1, 5, 25, 125, 625, 3125, ... set dtick to log_10(5), or 0.69897000433. *log* has several special values; *L<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
	// default: B
	// type: enumerated
	// Determines a formatting rule for the tick exponents. For example, consider the number 1,000,000,000. If *none*, it appears as 1,000,000,000. If *e*, 1e+9. If *E*, 1E+9. If *power*, 1x10^9 (with 9 in a super script). If *SI*, 1G. If *B*, 1B.
	Exponentformat LayoutYaxisExponentformat `json:"exponentformat,omitempty"`

	// Fixedrange
	// arrayOK: false
	// type: boolean
	// Determines whether or not this axis is zoom-able. If true, then zoom is disabled.
	Fixedrange Bool `json:"fixedrange,omitempty"`

	// Gridcolor
	// arrayOK: false
	// type: color
	// Sets the color of the grid lines.
	Gridcolor Color `json:"gridcolor,omitempty"`

	// Gridwidth
	// arrayOK: false
	// type: number
	// Sets the width (in px) of the grid lines.
	Gridwidth float64 `json:"gridwidth,omitempty"`

	// Hoverformat
	// arrayOK: false
	// type: string
	// Sets the hover text formatting rule using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-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
	// default: above traces
	// type: enumerated
	// Sets the layer on which this axis is displayed. If *above traces*, this axis is displayed above all the subplot's traces If *below traces*, this axis is displayed below all the subplot's traces, but above the grid lines. Useful when used together with scatter-like traces with `cliponaxis` set to *false* to show markers and/or text nodes above this axis.
	Layer LayoutYaxisLayer `json:"layer,omitempty"`

	// Linecolor
	// arrayOK: false
	// type: color
	// Sets the axis line color.
	Linecolor Color `json:"linecolor,omitempty"`

	// Linewidth
	// arrayOK: false
	// type: number
	// Sets the width (in px) of the axis line.
	Linewidth float64 `json:"linewidth,omitempty"`

	// Matches
	// default: %!s(<nil>)
	// type: enumerated
	// If set to another axis id (e.g. `x2`, `y`), the range of this axis will match the range of the corresponding axis in data-coordinates space. Moreover, matching axes share auto-range values, category lists and histogram auto-bins. Note that setting axes simultaneously in both a `scaleanchor` and a `matches` constraint is currently forbidden. Moreover, note that matching axes must have the same `type`.
	Matches LayoutYaxisMatches `json:"matches,omitempty"`

	// Minexponent
	// arrayOK: false
	// type: number
	// Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*.
	Minexponent float64 `json:"minexponent,omitempty"`

	// Mirror
	// default: %!s(bool=false)
	// type: enumerated
	// Determines if the axis lines or/and ticks are mirrored to the opposite side of the plotting area. If *true*, the axis lines are mirrored. If *ticks*, the axis lines and ticks are mirrored. If *false*, mirroring is disable. If *all*, axis lines are mirrored on all shared-axes subplots. If *allticks*, axis lines and ticks are mirrored on all shared-axes subplots.
	Mirror LayoutYaxisMirror `json:"mirror,omitempty"`

	// Nticks
	// arrayOK: false
	// type: integer
	// Specifies the maximum number of ticks for the particular axis. The actual number of ticks will be chosen automatically to be less than or equal to `nticks`. Has an effect only if `tickmode` is set to *auto*.
	Nticks int64 `json:"nticks,omitempty"`

	// Overlaying
	// default: %!s(<nil>)
	// type: enumerated
	// If set a same-letter axis id, this axis is overlaid on top of the corresponding same-letter axis, with traces and axes visible for both axes. If *false*, this axis does not overlay any same-letter axes. In this case, for axes with overlapping domains only the highest-numbered axis will be visible.
	Overlaying LayoutYaxisOverlaying `json:"overlaying,omitempty"`

	// Position
	// arrayOK: false
	// type: number
	// Sets the position of this axis in the plotting space (in normalized coordinates). Only has an effect if `anchor` is set to *free*.
	Position float64 `json:"position,omitempty"`

	// Range
	// arrayOK: false
	// type: info_array
	// Sets the range of this axis. If the axis `type` is *log*, then you must take the log of your desired range (e.g. to set the range from 1 to 100, set the range from 0 to 2). If the axis `type` is *date*, it should be date strings, like date data, though Date objects and unix milliseconds will be accepted and converted to strings. If the axis `type` is *category*, it should be numbers, using the scale where each category is assigned a serial number from zero in the order it appears.
	Range interface{} `json:"range,omitempty"`

	// Rangebreaks
	// It's an items array and what goes inside it's... messy... check the docs
	// I will be happy if you want to contribute by implementing this
	// just raise an issue before you start so we do not overlap
	Rangebreaks interface{} `json:"rangebreaks,omitempty"`

	// Rangemode
	// default: normal
	// type: enumerated
	// If *normal*, the range is computed in relation to the extrema of the input data. If *tozero*`, the range extends to 0, regardless of the input data If *nonnegative*, the range is non-negative, regardless of the input data. Applies only to linear axes.
	Rangemode LayoutYaxisRangemode `json:"rangemode,omitempty"`

	// Scaleanchor
	// default: %!s(<nil>)
	// type: enumerated
	// If set to another axis id (e.g. `x2`, `y`), the range of this axis changes together with the range of the corresponding axis such that the scale of pixels per unit is in a constant ratio. Both axes are still zoomable, but when you zoom one, the other will zoom the same amount, keeping a fixed midpoint. `constrain` and `constraintoward` determine how we enforce the constraint. You can chain these, ie `yaxis: {scaleanchor: *x*}, xaxis2: {scaleanchor: *y*}` but you can only link axes of the same `type`. The linked axis can have the opposite letter (to constrain the aspect ratio) or the same letter (to match scales across subplots). Loops (`yaxis: {scaleanchor: *x*}, xaxis: {scaleanchor: *y*}` or longer) are redundant and the last constraint encountered will be ignored to avoid possible inconsistent constraints via `scaleratio`. Note that setting axes simultaneously in both a `scaleanchor` and a `matches` constraint is currently forbidden.
	Scaleanchor LayoutYaxisScaleanchor `json:"scaleanchor,omitempty"`

	// Scaleratio
	// arrayOK: false
	// type: number
	// If this axis is linked to another by `scaleanchor`, this determines the pixel to unit scale ratio. For example, if this value is 10, then every unit on this axis spans 10 times the number of pixels as a unit on the linked axis. Use this for example to create an elevation profile where the vertical scale is exaggerated a fixed amount with respect to the horizontal.
	Scaleratio float64 `json:"scaleratio,omitempty"`

	// Separatethousands
	// arrayOK: false
	// type: boolean
	// If "true", even 4-digit integers are separated
	Separatethousands Bool `json:"separatethousands,omitempty"`

	// Showdividers
	// arrayOK: false
	// type: boolean
	// Determines whether or not a dividers are drawn between the category levels of this axis. Only has an effect on *multicategory* axes.
	Showdividers Bool `json:"showdividers,omitempty"`

	// Showexponent
	// default: all
	// type: enumerated
	// If *all*, all exponents are shown besides their significands. If *first*, only the exponent of the first tick is shown. If *last*, only the exponent of the last tick is shown. If *none*, no exponents appear.
	Showexponent LayoutYaxisShowexponent `json:"showexponent,omitempty"`

	// Showgrid
	// arrayOK: false
	// type: boolean
	// Determines whether or not grid lines are drawn. If *true*, the grid lines are drawn at every tick mark.
	Showgrid Bool `json:"showgrid,omitempty"`

	// Showline
	// arrayOK: false
	// type: boolean
	// Determines whether or not a line bounding this axis is drawn.
	Showline Bool `json:"showline,omitempty"`

	// Showspikes
	// arrayOK: false
	// type: boolean
	// Determines whether or not spikes (aka droplines) are drawn for this axis. Note: This only takes affect when hovermode = closest
	Showspikes Bool `json:"showspikes,omitempty"`

	// Showticklabels
	// arrayOK: false
	// type: boolean
	// Determines whether or not the tick labels are drawn.
	Showticklabels Bool `json:"showticklabels,omitempty"`

	// Showtickprefix
	// default: all
	// type: enumerated
	// If *all*, all tick labels are displayed with a prefix. If *first*, only the first tick is displayed with a prefix. If *last*, only the last tick is displayed with a suffix. If *none*, tick prefixes are hidden.
	Showtickprefix LayoutYaxisShowtickprefix `json:"showtickprefix,omitempty"`

	// Showticksuffix
	// default: all
	// type: enumerated
	// Same as `showtickprefix` but for tick suffixes.
	Showticksuffix LayoutYaxisShowticksuffix `json:"showticksuffix,omitempty"`

	// Side
	// default: %!s(<nil>)
	// type: enumerated
	// Determines whether a x (y) axis is positioned at the *bottom* (*left*) or *top* (*right*) of the plotting area.
	Side LayoutYaxisSide `json:"side,omitempty"`

	// Spikecolor
	// arrayOK: false
	// type: color
	// Sets the spike color. If undefined, will use the series color
	Spikecolor Color `json:"spikecolor,omitempty"`

	// Spikedash
	// arrayOK: false
	// type: string
	// Sets the dash style of lines. Set to a dash type string (*solid*, *dot*, *dash*, *longdash*, *dashdot*, or *longdashdot*) or a dash length list in px (eg *5px,10px,2px,2px*).
	Spikedash String `json:"spikedash,omitempty"`

	// Spikemode
	// default: toaxis
	// type: flaglist
	// Determines the drawing mode for the spike line If *toaxis*, the line is drawn from the data point to the axis the  series is plotted on. If *across*, the line is drawn across the entire plot area, and supercedes *toaxis*. If *marker*, then a marker dot is drawn on the axis the series is plotted on
	Spikemode LayoutYaxisSpikemode `json:"spikemode,omitempty"`

	// Spikesnap
	// default: data
	// type: enumerated
	// Determines whether spikelines are stuck to the cursor or to the closest datapoints.
	Spikesnap LayoutYaxisSpikesnap `json:"spikesnap,omitempty"`

	// Spikethickness
	// arrayOK: false
	// type: number
	// Sets the width (in px) of the zero line.
	Spikethickness float64 `json:"spikethickness,omitempty"`

	// Tick0
	// arrayOK: false
	// type: any
	// Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2) except when `dtick`=*L<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
	// arrayOK: false
	// type: angle
	// Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.
	Tickangle float64 `json:"tickangle,omitempty"`

	// Tickcolor
	// arrayOK: false
	// type: color
	// Sets the tick color.
	Tickcolor Color `json:"tickcolor,omitempty"`

	// Tickfont
	// role: Object
	Tickfont *LayoutYaxisTickfont `json:"tickfont,omitempty"`

	// Tickformat
	// arrayOK: false
	// type: string
	// Sets the tick label formatting rule using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-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
	// It's an items array and what goes inside it's... messy... check the docs
	// I will be happy if you want to contribute by implementing this
	// just raise an issue before you start so we do not overlap
	Tickformatstops interface{} `json:"tickformatstops,omitempty"`

	// Ticklabelmode
	// default: instant
	// type: enumerated
	// Determines where tick labels are drawn with respect to their corresponding ticks and grid lines. Only has an effect for axes of `type` *date* When set to *period*, tick labels are drawn in the middle of the period between ticks.
	Ticklabelmode LayoutYaxisTicklabelmode `json:"ticklabelmode,omitempty"`

	// Ticklabelposition
	// default: outside
	// type: enumerated
	// Determines where tick labels are drawn with respect to the axis Please note that top or bottom has no effect on x axes or when `ticklabelmode` is set to *period*. Similarly left or right has no effect on y axes or when `ticklabelmode` is set to *period*. Has no effect on *multicategory* axes or when `tickson` is set to *boundaries*. When used on axes linked by `matches` or `scaleanchor`, no extra padding for inside labels would be added by autorange, so that the scales could match.
	Ticklabelposition LayoutYaxisTicklabelposition `json:"ticklabelposition,omitempty"`

	// Ticklen
	// arrayOK: false
	// type: number
	// Sets the tick length (in px).
	Ticklen float64 `json:"ticklen,omitempty"`

	// Tickmode
	// default: %!s(<nil>)
	// type: enumerated
	// Sets the tick mode for this axis. If *auto*, the number of ticks is set via `nticks`. If *linear*, the placement of the ticks is determined by a starting position `tick0` and a tick step `dtick` (*linear* is the default value if `tick0` and `dtick` are provided). If *array*, the placement of the ticks is set via `tickvals` and the tick text is `ticktext`. (*array* is the default value if `tickvals` is provided).
	Tickmode LayoutYaxisTickmode `json:"tickmode,omitempty"`

	// Tickprefix
	// arrayOK: false
	// type: string
	// Sets a tick label prefix.
	Tickprefix String `json:"tickprefix,omitempty"`

	// Ticks
	// default: %!s(<nil>)
	// type: enumerated
	// Determines whether ticks are drawn or not. If **, this axis' ticks are not drawn. If *outside* (*inside*), this axis' are drawn outside (inside) the axis lines.
	Ticks LayoutYaxisTicks `json:"ticks,omitempty"`

	// Tickson
	// default: labels
	// type: enumerated
	// Determines where ticks and grid lines are drawn with respect to their corresponding tick labels. Only has an effect for axes of `type` *category* or *multicategory*. When set to *boundaries*, ticks and grid lines are drawn half a category to the left/bottom of labels.
	Tickson LayoutYaxisTickson `json:"tickson,omitempty"`

	// Ticksuffix
	// arrayOK: false
	// type: string
	// Sets a tick label suffix.
	Ticksuffix String `json:"ticksuffix,omitempty"`

	// Ticktext
	// arrayOK: false
	// type: data_array
	// Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `tickvals`.
	Ticktext interface{} `json:"ticktext,omitempty"`

	// Ticktextsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  ticktext .
	Ticktextsrc String `json:"ticktextsrc,omitempty"`

	// Tickvals
	// arrayOK: false
	// type: data_array
	// Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.
	Tickvals interface{} `json:"tickvals,omitempty"`

	// Tickvalssrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  tickvals .
	Tickvalssrc String `json:"tickvalssrc,omitempty"`

	// Tickwidth
	// arrayOK: false
	// type: number
	// Sets the tick width (in px).
	Tickwidth float64 `json:"tickwidth,omitempty"`

	// Title
	// role: Object
	Title *LayoutYaxisTitle `json:"title,omitempty"`

	// Type
	// default: -
	// type: enumerated
	// Sets the axis type. By default, plotly attempts to determined the axis type by looking into the data of the traces that referenced the axis in question.
	Type LayoutYaxisType `json:"type,omitempty"`

	// Uirevision
	// arrayOK: false
	// type: any
	// Controls persistence of user-driven changes in axis `range`, `autorange`, and `title` if in `editable: true` configuration. Defaults to `layout.uirevision`.
	Uirevision interface{} `json:"uirevision,omitempty"`

	// Visible
	// arrayOK: false
	// type: boolean
	// A single toggle to hide the axis while preserving interaction like dragging. Default is true when a cheater plot is present on the axis, otherwise false
	Visible Bool `json:"visible,omitempty"`

	// Zeroline
	// arrayOK: false
	// type: boolean
	// Determines whether or not a line is drawn at along the 0 value of this axis. If *true*, the zero line is drawn on top of the grid lines.
	Zeroline Bool `json:"zeroline,omitempty"`

	// Zerolinecolor
	// arrayOK: false
	// type: color
	// Sets the line color of the zero line.
	Zerolinecolor Color `json:"zerolinecolor,omitempty"`

	// Zerolinewidth
	// arrayOK: false
	// type: number
	// Sets the width (in px) of the zero line.
	Zerolinewidth float64 `json:"zerolinewidth,omitempty"`
}

LayoutYaxis

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 (
	LayoutYaxisAnchorFree                                                                                                                    LayoutYaxisAnchor = "free"
	LayoutYaxisAnchorSlashCapexLparLbracket29RbracketOrLbracket19RbracketLbracket09RbracketPlusRparQuestionLparDomainRparQuestionDollarSlash LayoutYaxisAnchor = "/^x([2-9]|[1-9][0-9]+)?( domain)?$/"
	LayoutYaxisAnchorSlashCapeyLparLbracket29RbracketOrLbracket19RbracketLbracket09RbracketPlusRparQuestionLparDomainRparQuestionDollarSlash 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 (
	LayoutYaxisAutorangeTrue     LayoutYaxisAutorange = true
	LayoutYaxisAutorangeFalse    LayoutYaxisAutorange = false
	LayoutYaxisAutorangeReversed LayoutYaxisAutorange = "reversed"
)

type LayoutYaxisAutotypenumbers added in v0.3.1

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 (
	LayoutYaxisAutotypenumbersConvertTypes LayoutYaxisAutotypenumbers = "convert types"
	LayoutYaxisAutotypenumbersStrict       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 (
	LayoutYaxisCalendarGregorian  LayoutYaxisCalendar = "gregorian"
	LayoutYaxisCalendarChinese    LayoutYaxisCalendar = "chinese"
	LayoutYaxisCalendarCoptic     LayoutYaxisCalendar = "coptic"
	LayoutYaxisCalendarDiscworld  LayoutYaxisCalendar = "discworld"
	LayoutYaxisCalendarEthiopian  LayoutYaxisCalendar = "ethiopian"
	LayoutYaxisCalendarHebrew     LayoutYaxisCalendar = "hebrew"
	LayoutYaxisCalendarIslamic    LayoutYaxisCalendar = "islamic"
	LayoutYaxisCalendarJulian     LayoutYaxisCalendar = "julian"
	LayoutYaxisCalendarMayan      LayoutYaxisCalendar = "mayan"
	LayoutYaxisCalendarNanakshahi LayoutYaxisCalendar = "nanakshahi"
	LayoutYaxisCalendarNepali     LayoutYaxisCalendar = "nepali"
	LayoutYaxisCalendarPersian    LayoutYaxisCalendar = "persian"
	LayoutYaxisCalendarJalali     LayoutYaxisCalendar = "jalali"
	LayoutYaxisCalendarTaiwan     LayoutYaxisCalendar = "taiwan"
	LayoutYaxisCalendarThai       LayoutYaxisCalendar = "thai"
	LayoutYaxisCalendarUmmalqura  LayoutYaxisCalendar = "ummalqura"
)

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 (
	LayoutYaxisCategoryorderTrace              LayoutYaxisCategoryorder = "trace"
	LayoutYaxisCategoryorderCategoryAscending  LayoutYaxisCategoryorder = "category ascending"
	LayoutYaxisCategoryorderCategoryDescending LayoutYaxisCategoryorder = "category descending"
	LayoutYaxisCategoryorderArray              LayoutYaxisCategoryorder = "array"
	LayoutYaxisCategoryorderTotalAscending     LayoutYaxisCategoryorder = "total ascending"
	LayoutYaxisCategoryorderTotalDescending    LayoutYaxisCategoryorder = "total descending"
	LayoutYaxisCategoryorderMinAscending       LayoutYaxisCategoryorder = "min ascending"
	LayoutYaxisCategoryorderMinDescending      LayoutYaxisCategoryorder = "min descending"
	LayoutYaxisCategoryorderMaxAscending       LayoutYaxisCategoryorder = "max ascending"
	LayoutYaxisCategoryorderMaxDescending      LayoutYaxisCategoryorder = "max descending"
	LayoutYaxisCategoryorderSumAscending       LayoutYaxisCategoryorder = "sum ascending"
	LayoutYaxisCategoryorderSumDescending      LayoutYaxisCategoryorder = "sum descending"
	LayoutYaxisCategoryorderMeanAscending      LayoutYaxisCategoryorder = "mean ascending"
	LayoutYaxisCategoryorderMeanDescending     LayoutYaxisCategoryorder = "mean descending"
	LayoutYaxisCategoryorderMedianAscending    LayoutYaxisCategoryorder = "median ascending"
	LayoutYaxisCategoryorderMedianDescending   LayoutYaxisCategoryorder = "median descending"
)

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 (
	LayoutYaxisConstrainRange  LayoutYaxisConstrain = "range"
	LayoutYaxisConstrainDomain 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 (
	LayoutYaxisConstraintowardLeft   LayoutYaxisConstraintoward = "left"
	LayoutYaxisConstraintowardCenter LayoutYaxisConstraintoward = "center"
	LayoutYaxisConstraintowardRight  LayoutYaxisConstraintoward = "right"
	LayoutYaxisConstraintowardTop    LayoutYaxisConstraintoward = "top"
	LayoutYaxisConstraintowardMiddle LayoutYaxisConstraintoward = "middle"
	LayoutYaxisConstraintowardBottom 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 (
	LayoutYaxisExponentformatNone  LayoutYaxisExponentformat = "none"
	LayoutYaxisExponentformatE1    LayoutYaxisExponentformat = "e"
	LayoutYaxisExponentformatE2    LayoutYaxisExponentformat = "E"
	LayoutYaxisExponentformatPower LayoutYaxisExponentformat = "power"
	LayoutYaxisExponentformatSi    LayoutYaxisExponentformat = "SI"
	LayoutYaxisExponentformatB     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 (
	LayoutYaxisLayerAboveTraces LayoutYaxisLayer = "above traces"
	LayoutYaxisLayerBelowTraces 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 (
	LayoutYaxisMatchesSlashCapexLparLbracket29RbracketOrLbracket19RbracketLbracket09RbracketPlusRparQuestionLparDomainRparQuestionDollarSlash LayoutYaxisMatches = "/^x([2-9]|[1-9][0-9]+)?( domain)?$/"
	LayoutYaxisMatchesSlashCapeyLparLbracket29RbracketOrLbracket19RbracketLbracket09RbracketPlusRparQuestionLparDomainRparQuestionDollarSlash 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 (
	LayoutYaxisMirrorTrue     LayoutYaxisMirror = true
	LayoutYaxisMirrorTicks    LayoutYaxisMirror = "ticks"
	LayoutYaxisMirrorFalse    LayoutYaxisMirror = false
	LayoutYaxisMirrorAll      LayoutYaxisMirror = "all"
	LayoutYaxisMirrorAllticks 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 (
	LayoutYaxisOverlayingFree                                                                                                                    LayoutYaxisOverlaying = "free"
	LayoutYaxisOverlayingSlashCapexLparLbracket29RbracketOrLbracket19RbracketLbracket09RbracketPlusRparQuestionLparDomainRparQuestionDollarSlash LayoutYaxisOverlaying = "/^x([2-9]|[1-9][0-9]+)?( domain)?$/"
	LayoutYaxisOverlayingSlashCapeyLparLbracket29RbracketOrLbracket19RbracketLbracket09RbracketPlusRparQuestionLparDomainRparQuestionDollarSlash LayoutYaxisOverlaying = "/^y([2-9]|[1-9][0-9]+)?( domain)?$/"
)

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 (
	LayoutYaxisRangemodeNormal      LayoutYaxisRangemode = "normal"
	LayoutYaxisRangemodeTozero      LayoutYaxisRangemode = "tozero"
	LayoutYaxisRangemodeNonnegative 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 (
	LayoutYaxisScaleanchorSlashCapexLparLbracket29RbracketOrLbracket19RbracketLbracket09RbracketPlusRparQuestionLparDomainRparQuestionDollarSlash LayoutYaxisScaleanchor = "/^x([2-9]|[1-9][0-9]+)?( domain)?$/"
	LayoutYaxisScaleanchorSlashCapeyLparLbracket29RbracketOrLbracket19RbracketLbracket09RbracketPlusRparQuestionLparDomainRparQuestionDollarSlash 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 (
	LayoutYaxisShowexponentAll   LayoutYaxisShowexponent = "all"
	LayoutYaxisShowexponentFirst LayoutYaxisShowexponent = "first"
	LayoutYaxisShowexponentLast  LayoutYaxisShowexponent = "last"
	LayoutYaxisShowexponentNone  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 (
	LayoutYaxisShowtickprefixAll   LayoutYaxisShowtickprefix = "all"
	LayoutYaxisShowtickprefixFirst LayoutYaxisShowtickprefix = "first"
	LayoutYaxisShowtickprefixLast  LayoutYaxisShowtickprefix = "last"
	LayoutYaxisShowtickprefixNone  LayoutYaxisShowtickprefix = "none"
)

type LayoutYaxisShowticksuffix

type LayoutYaxisShowticksuffix string

LayoutYaxisShowticksuffix Same as `showtickprefix` but for tick suffixes.

const (
	LayoutYaxisShowticksuffixAll   LayoutYaxisShowticksuffix = "all"
	LayoutYaxisShowticksuffixFirst LayoutYaxisShowticksuffix = "first"
	LayoutYaxisShowticksuffixLast  LayoutYaxisShowticksuffix = "last"
	LayoutYaxisShowticksuffixNone  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 (
	LayoutYaxisSideTop    LayoutYaxisSide = "top"
	LayoutYaxisSideBottom LayoutYaxisSide = "bottom"
	LayoutYaxisSideLeft   LayoutYaxisSide = "left"
	LayoutYaxisSideRight  LayoutYaxisSide = "right"
)

type LayoutYaxisSpikemode

type LayoutYaxisSpikemode string

LayoutYaxisSpikemode Determines the drawing mode for the spike line If *toaxis*, the line is drawn from the data point to the axis the series is plotted on. If *across*, the line is drawn across the entire plot area, and supercedes *toaxis*. If *marker*, then a marker dot is drawn on the axis the series is plotted on

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 (
	LayoutYaxisSpikesnapData        LayoutYaxisSpikesnap = "data"
	LayoutYaxisSpikesnapCursor      LayoutYaxisSpikesnap = "cursor"
	LayoutYaxisSpikesnapHoveredData LayoutYaxisSpikesnap = "hovered data"
)

type LayoutYaxisTickfont

type LayoutYaxisTickfont struct {

	// Color
	// arrayOK: false
	// type: color
	//
	Color Color `json:"color,omitempty"`

	// Family
	// arrayOK: false
	// type: string
	// HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.
	Family String `json:"family,omitempty"`

	// Size
	// arrayOK: false
	// type: number
	//
	Size float64 `json:"size,omitempty"`
}

LayoutYaxisTickfont Sets the tick font.

type LayoutYaxisTicklabelmode added in v0.3.1

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 (
	LayoutYaxisTicklabelmodeInstant LayoutYaxisTicklabelmode = "instant"
	LayoutYaxisTicklabelmodePeriod  LayoutYaxisTicklabelmode = "period"
)

type LayoutYaxisTicklabelposition added in v0.3.1

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 (
	LayoutYaxisTicklabelpositionOutside       LayoutYaxisTicklabelposition = "outside"
	LayoutYaxisTicklabelpositionInside        LayoutYaxisTicklabelposition = "inside"
	LayoutYaxisTicklabelpositionOutsideTop    LayoutYaxisTicklabelposition = "outside top"
	LayoutYaxisTicklabelpositionInsideTop     LayoutYaxisTicklabelposition = "inside top"
	LayoutYaxisTicklabelpositionOutsideLeft   LayoutYaxisTicklabelposition = "outside left"
	LayoutYaxisTicklabelpositionInsideLeft    LayoutYaxisTicklabelposition = "inside left"
	LayoutYaxisTicklabelpositionOutsideRight  LayoutYaxisTicklabelposition = "outside right"
	LayoutYaxisTicklabelpositionInsideRight   LayoutYaxisTicklabelposition = "inside right"
	LayoutYaxisTicklabelpositionOutsideBottom LayoutYaxisTicklabelposition = "outside bottom"
	LayoutYaxisTicklabelpositionInsideBottom  LayoutYaxisTicklabelposition = "inside bottom"
)

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 (
	LayoutYaxisTickmodeAuto   LayoutYaxisTickmode = "auto"
	LayoutYaxisTickmodeLinear LayoutYaxisTickmode = "linear"
	LayoutYaxisTickmodeArray  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 (
	LayoutYaxisTicksOutside LayoutYaxisTicks = "outside"
	LayoutYaxisTicksInside  LayoutYaxisTicks = "inside"
	LayoutYaxisTicksEmpty   LayoutYaxisTicks = ""
)

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 (
	LayoutYaxisTicksonLabels     LayoutYaxisTickson = "labels"
	LayoutYaxisTicksonBoundaries LayoutYaxisTickson = "boundaries"
)

type LayoutYaxisTitle

type LayoutYaxisTitle struct {

	// Font
	// role: Object
	Font *LayoutYaxisTitleFont `json:"font,omitempty"`

	// Standoff
	// arrayOK: false
	// type: number
	// Sets the standoff distance (in px) between the axis labels and the title text The default value is a function of the axis tick labels, the title `font.size` and the axis `linewidth`. Note that the axis title position is always constrained within the margins, so the actual standoff distance is always less than the set or default value. By setting `standoff` and turning on `automargin`, plotly.js will push the margins to fit the axis title at given standoff distance.
	Standoff float64 `json:"standoff,omitempty"`

	// Text
	// arrayOK: false
	// type: string
	// Sets the title of this axis. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.
	Text String `json:"text,omitempty"`
}

LayoutYaxisTitle

type LayoutYaxisTitleFont

type LayoutYaxisTitleFont struct {

	// Color
	// arrayOK: false
	// type: color
	//
	Color Color `json:"color,omitempty"`

	// Family
	// arrayOK: false
	// type: string
	// HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.
	Family String `json:"family,omitempty"`

	// Size
	// arrayOK: false
	// type: number
	//
	Size float64 `json:"size,omitempty"`
}

LayoutYaxisTitleFont Sets this axis' title font. Note that the title's font used to be customized by the now deprecated `titlefont` attribute.

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 (
	LayoutYaxisTypeHyphenHyphen  LayoutYaxisType = "-"
	LayoutYaxisTypeLinear        LayoutYaxisType = "linear"
	LayoutYaxisTypeLog           LayoutYaxisType = "log"
	LayoutYaxisTypeDate          LayoutYaxisType = "date"
	LayoutYaxisTypeCategory      LayoutYaxisType = "category"
	LayoutYaxisTypeMulticategory LayoutYaxisType = "multicategory"
)

type Mesh3d

type Mesh3d struct {

	// Type
	// is the type of the plot
	Type TraceType `json:"type,omitempty"`

	// Alphahull
	// arrayOK: false
	// type: number
	// Determines how the mesh surface triangles are derived from the set of vertices (points) represented by the `x`, `y` and `z` arrays, if the `i`, `j`, `k` arrays are not supplied. For general use of `mesh3d` it is preferred that `i`, `j`, `k` are supplied. If *-1*, Delaunay triangulation is used, which is mainly suitable if the mesh is a single, more or less layer surface that is perpendicular to `delaunayaxis`. In case the `delaunayaxis` intersects the mesh surface at more than one point it will result triangles that are very long in the dimension of `delaunayaxis`. If *>0*, the alpha-shape algorithm is used. In this case, the positive `alphahull` value signals the use of the alpha-shape algorithm, _and_ its value acts as the parameter for the mesh fitting. If *0*,  the convex-hull algorithm is used. It is suitable for convex bodies or if the intention is to enclose the `x`, `y` and `z` point set into a convex hull.
	Alphahull float64 `json:"alphahull,omitempty"`

	// Autocolorscale
	// arrayOK: false
	// type: boolean
	// Determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by `colorscale`. In case `colorscale` is unspecified or `autocolorscale` is true, the default  palette will be chosen according to whether numbers in the `color` array are all positive, all negative or mixed.
	Autocolorscale Bool `json:"autocolorscale,omitempty"`

	// Cauto
	// arrayOK: false
	// type: boolean
	// Determines whether or not the color domain is computed with respect to the input data (here `intensity`) or the bounds set in `cmin` and `cmax`  Defaults to `false` when `cmin` and `cmax` are set by the user.
	Cauto Bool `json:"cauto,omitempty"`

	// Cmax
	// arrayOK: false
	// type: number
	// Sets the upper bound of the color domain. Value should have the same units as `intensity` and if set, `cmin` must be set as well.
	Cmax float64 `json:"cmax,omitempty"`

	// Cmid
	// arrayOK: false
	// type: number
	// Sets the mid-point of the color domain by scaling `cmin` and/or `cmax` to be equidistant to this point. Value should have the same units as `intensity`. Has no effect when `cauto` is `false`.
	Cmid float64 `json:"cmid,omitempty"`

	// Cmin
	// arrayOK: false
	// type: number
	// Sets the lower bound of the color domain. Value should have the same units as `intensity` and if set, `cmax` must be set as well.
	Cmin float64 `json:"cmin,omitempty"`

	// Color
	// arrayOK: false
	// type: color
	// Sets the color of the whole mesh
	Color Color `json:"color,omitempty"`

	// Coloraxis
	// arrayOK: false
	// type: subplotid
	// Sets a reference to a shared color axis. References to these shared color axes are *coloraxis*, *coloraxis2*, *coloraxis3*, etc. Settings for these shared color axes are set in the layout, under `layout.coloraxis`, `layout.coloraxis2`, etc. Note that multiple color scales can be linked to the same color axis.
	Coloraxis String `json:"coloraxis,omitempty"`

	// Colorbar
	// role: Object
	Colorbar *Mesh3dColorbar `json:"colorbar,omitempty"`

	// Colorscale
	// default: %!s(<nil>)
	// type: colorscale
	// Sets the colorscale. The colorscale must be an array containing arrays mapping a normalized value to an rgb, rgba, hex, hsl, hsv, or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, use`cmin` and `cmax`. Alternatively, `colorscale` may be a palette name string of the following list: Greys,YlGnBu,Greens,YlOrRd,Bluered,RdBu,Reds,Blues,Picnic,Rainbow,Portland,Jet,Hot,Blackbody,Earth,Electric,Viridis,Cividis.
	Colorscale ColorScale `json:"colorscale,omitempty"`

	// Contour
	// role: Object
	Contour *Mesh3dContour `json:"contour,omitempty"`

	// Customdata
	// arrayOK: false
	// type: data_array
	// Assigns extra data each datum. This may be useful when listening to hover, click and selection events. Note that, *scatter* traces also appends customdata items in the markers DOM elements
	Customdata interface{} `json:"customdata,omitempty"`

	// Customdatasrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  customdata .
	Customdatasrc String `json:"customdatasrc,omitempty"`

	// Delaunayaxis
	// default: z
	// type: enumerated
	// Sets the Delaunay axis, which is the axis that is perpendicular to the surface of the Delaunay triangulation. It has an effect if `i`, `j`, `k` are not provided and `alphahull` is set to indicate Delaunay triangulation.
	Delaunayaxis Mesh3dDelaunayaxis `json:"delaunayaxis,omitempty"`

	// Facecolor
	// arrayOK: false
	// type: data_array
	// Sets the color of each face Overrides *color* and *vertexcolor*.
	Facecolor interface{} `json:"facecolor,omitempty"`

	// Facecolorsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  facecolor .
	Facecolorsrc String `json:"facecolorsrc,omitempty"`

	// Flatshading
	// arrayOK: false
	// type: boolean
	// Determines whether or not normal smoothing is applied to the meshes, creating meshes with an angular, low-poly look via flat reflections.
	Flatshading Bool `json:"flatshading,omitempty"`

	// Hoverinfo
	// default: all
	// type: flaglist
	// Determines which trace information appear on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired.
	Hoverinfo Mesh3dHoverinfo `json:"hoverinfo,omitempty"`

	// Hoverinfosrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  hoverinfo .
	Hoverinfosrc String `json:"hoverinfosrc,omitempty"`

	// Hoverlabel
	// role: Object
	Hoverlabel *Mesh3dHoverlabel `json:"hoverlabel,omitempty"`

	// Hovertemplate
	// arrayOK: true
	// type: string
	// Template string used for rendering the information that appear on hover box. Note that this will override `hoverinfo`. Variables are inserted using %{variable}, for example "y: %{y}". 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 String `json:"hovertemplate,omitempty"`

	// Hovertemplatesrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  hovertemplate .
	Hovertemplatesrc String `json:"hovertemplatesrc,omitempty"`

	// Hovertext
	// arrayOK: true
	// type: string
	// Same as `text`.
	Hovertext String `json:"hovertext,omitempty"`

	// Hovertextsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  hovertext .
	Hovertextsrc String `json:"hovertextsrc,omitempty"`

	// I
	// arrayOK: false
	// type: data_array
	// A vector of vertex indices, i.e. integer values between 0 and the length of the vertex vectors, representing the *first* vertex of a triangle. For example, `{i[m], j[m], k[m]}` together represent face m (triangle m) in the mesh, where `i[m] = n` points to the triplet `{x[n], y[n], z[n]}` in the vertex arrays. Therefore, each element in `i` represents a point in space, which is the first vertex of a triangle.
	I interface{} `json:"i,omitempty"`

	// Ids
	// arrayOK: false
	// type: data_array
	// Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type.
	Ids interface{} `json:"ids,omitempty"`

	// Idssrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  ids .
	Idssrc String `json:"idssrc,omitempty"`

	// Intensity
	// arrayOK: false
	// type: data_array
	// Sets the intensity values for vertices or cells as defined by `intensitymode`. It can be used for plotting fields on meshes.
	Intensity interface{} `json:"intensity,omitempty"`

	// Intensitymode
	// default: vertex
	// type: enumerated
	// Determines the source of `intensity` values.
	Intensitymode Mesh3dIntensitymode `json:"intensitymode,omitempty"`

	// Intensitysrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  intensity .
	Intensitysrc String `json:"intensitysrc,omitempty"`

	// Isrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  i .
	Isrc String `json:"isrc,omitempty"`

	// J
	// arrayOK: false
	// type: data_array
	// A vector of vertex indices, i.e. integer values between 0 and the length of the vertex vectors, representing the *second* vertex of a triangle. For example, `{i[m], j[m], k[m]}`  together represent face m (triangle m) in the mesh, where `j[m] = n` points to the triplet `{x[n], y[n], z[n]}` in the vertex arrays. Therefore, each element in `j` represents a point in space, which is the second vertex of a triangle.
	J interface{} `json:"j,omitempty"`

	// Jsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  j .
	Jsrc String `json:"jsrc,omitempty"`

	// K
	// arrayOK: false
	// type: data_array
	// A vector of vertex indices, i.e. integer values between 0 and the length of the vertex vectors, representing the *third* vertex of a triangle. For example, `{i[m], j[m], k[m]}` together represent face m (triangle m) in the mesh, where `k[m] = n` points to the triplet  `{x[n], y[n], z[n]}` in the vertex arrays. Therefore, each element in `k` represents a point in space, which is the third vertex of a triangle.
	K interface{} `json:"k,omitempty"`

	// Ksrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  k .
	Ksrc String `json:"ksrc,omitempty"`

	// Legendgroup
	// arrayOK: false
	// type: string
	// Sets the legend group for this trace. Traces part of the same legend group hide/show at the same time when toggling legend items.
	Legendgroup String `json:"legendgroup,omitempty"`

	// Lighting
	// role: Object
	Lighting *Mesh3dLighting `json:"lighting,omitempty"`

	// Lightposition
	// role: Object
	Lightposition *Mesh3dLightposition `json:"lightposition,omitempty"`

	// Meta
	// arrayOK: true
	// type: any
	// Assigns extra meta information associated with this trace that can be used in various text attributes. Attributes such as trace `name`, graph, axis and colorbar `title.text`, annotation `text` `rangeselector`, `updatemenues` and `sliders` `label` text all support `meta`. To access the trace `meta` values in an attribute in the same trace, simply use `%{meta[i]}` where `i` is the index or key of the `meta` item in question. To access trace `meta` in layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index.
	Meta interface{} `json:"meta,omitempty"`

	// Metasrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  meta .
	Metasrc String `json:"metasrc,omitempty"`

	// Name
	// arrayOK: false
	// type: string
	// Sets the trace name. The trace name appear as the legend item and on hover.
	Name String `json:"name,omitempty"`

	// Opacity
	// arrayOK: false
	// type: number
	// Sets the opacity of the surface. Please note that in the case of using high `opacity` values for example a value greater than or equal to 0.5 on two surfaces (and 0.25 with four surfaces), an overlay of multiple transparent surfaces may not perfectly be sorted in depth by the webgl API. This behavior may be improved in the near future and is subject to change.
	Opacity float64 `json:"opacity,omitempty"`

	// Reversescale
	// arrayOK: false
	// type: boolean
	// Reverses the color mapping if true. If true, `cmin` will correspond to the last color in the array and `cmax` will correspond to the first color.
	Reversescale Bool `json:"reversescale,omitempty"`

	// Scene
	// arrayOK: false
	// type: subplotid
	// Sets a reference between this trace's 3D coordinate system and a 3D scene. If *scene* (the default value), the (x,y,z) coordinates refer to `layout.scene`. If *scene2*, the (x,y,z) coordinates refer to `layout.scene2`, and so on.
	Scene String `json:"scene,omitempty"`

	// Showlegend
	// arrayOK: false
	// type: boolean
	// Determines whether or not an item corresponding to this trace is shown in the legend.
	Showlegend Bool `json:"showlegend,omitempty"`

	// Showscale
	// arrayOK: false
	// type: boolean
	// Determines whether or not a colorbar is displayed for this trace.
	Showscale Bool `json:"showscale,omitempty"`

	// Stream
	// role: Object
	Stream *Mesh3dStream `json:"stream,omitempty"`

	// Text
	// arrayOK: true
	// type: string
	// Sets the text elements associated with the vertices. If trace `hoverinfo` contains a *text* flag and *hovertext* is not set, these elements will be seen in the hover labels.
	Text String `json:"text,omitempty"`

	// Textsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  text .
	Textsrc String `json:"textsrc,omitempty"`

	// Uid
	// arrayOK: false
	// type: string
	// Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.
	Uid String `json:"uid,omitempty"`

	// Uirevision
	// arrayOK: false
	// type: any
	// Controls persistence of some user-driven changes to the trace: `constraintrange` in `parcoords` traces, as well as some `editable: true` modifications such as `name` and `colorbar.title`. Defaults to `layout.uirevision`. Note that other user-driven trace attribute changes are controlled by `layout` attributes: `trace.visible` is controlled by `layout.legend.uirevision`, `selectedpoints` is controlled by `layout.selectionrevision`, and `colorbar.(x|y)` (accessible with `config: {editable: true}`) is controlled by `layout.editrevision`. Trace changes are tracked by `uid`, which only falls back on trace index if no `uid` is provided. So if your app can add/remove traces before the end of the `data` array, such that the same trace has a different index, you can still preserve user-driven changes if you give each trace a `uid` that stays with it as it moves.
	Uirevision interface{} `json:"uirevision,omitempty"`

	// Vertexcolor
	// arrayOK: false
	// type: data_array
	// Sets the color of each vertex Overrides *color*. While Red, green and blue colors are in the range of 0 and 255; in the case of having vertex color data in RGBA format, the alpha color should be normalized to be between 0 and 1.
	Vertexcolor interface{} `json:"vertexcolor,omitempty"`

	// Vertexcolorsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  vertexcolor .
	Vertexcolorsrc String `json:"vertexcolorsrc,omitempty"`

	// Visible
	// default: %!s(bool=true)
	// type: enumerated
	// Determines whether or not this trace is visible. If *legendonly*, the trace is not drawn, but can appear as a legend item (provided that the legend itself is visible).
	Visible Mesh3dVisible `json:"visible,omitempty"`

	// X
	// arrayOK: false
	// type: data_array
	// Sets the X coordinates of the vertices. The nth element of vectors `x`, `y` and `z` jointly represent the X, Y and Z coordinates of the nth vertex.
	X interface{} `json:"x,omitempty"`

	// Xcalendar
	// default: gregorian
	// type: enumerated
	// Sets the calendar system to use with `x` date data.
	Xcalendar Mesh3dXcalendar `json:"xcalendar,omitempty"`

	// Xsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  x .
	Xsrc String `json:"xsrc,omitempty"`

	// Y
	// arrayOK: false
	// type: data_array
	// Sets the Y coordinates of the vertices. The nth element of vectors `x`, `y` and `z` jointly represent the X, Y and Z coordinates of the nth vertex.
	Y interface{} `json:"y,omitempty"`

	// Ycalendar
	// default: gregorian
	// type: enumerated
	// Sets the calendar system to use with `y` date data.
	Ycalendar Mesh3dYcalendar `json:"ycalendar,omitempty"`

	// Ysrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  y .
	Ysrc String `json:"ysrc,omitempty"`

	// Z
	// arrayOK: false
	// type: data_array
	// Sets the Z coordinates of the vertices. The nth element of vectors `x`, `y` and `z` jointly represent the X, Y and Z coordinates of the nth vertex.
	Z interface{} `json:"z,omitempty"`

	// Zcalendar
	// default: gregorian
	// type: enumerated
	// Sets the calendar system to use with `z` date data.
	Zcalendar Mesh3dZcalendar `json:"zcalendar,omitempty"`

	// Zsrc
	// arrayOK: false
	// type: 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 (*Mesh3d) GetType

func (trace *Mesh3d) GetType() TraceType

type Mesh3dColorbar

type Mesh3dColorbar struct {

	// Bgcolor
	// arrayOK: false
	// type: color
	// Sets the color of padded area.
	Bgcolor Color `json:"bgcolor,omitempty"`

	// Bordercolor
	// arrayOK: false
	// type: color
	// Sets the axis line color.
	Bordercolor Color `json:"bordercolor,omitempty"`

	// Borderwidth
	// arrayOK: false
	// type: number
	// Sets the width (in px) or the border enclosing this color bar.
	Borderwidth float64 `json:"borderwidth,omitempty"`

	// Dtick
	// arrayOK: false
	// type: any
	// Sets the step in-between ticks on this axis. Use with `tick0`. Must be a positive number, or special strings available to *log* and *date* axes. If the axis `type` is *log*, then ticks are set every 10^(n*dtick) where n is the tick number. For example, to set a tick mark at 1, 10, 100, 1000, ... set dtick to 1. To set tick marks at 1, 100, 10000, ... set dtick to 2. To set tick marks at 1, 5, 25, 125, 625, 3125, ... set dtick to log_10(5), or 0.69897000433. *log* has several special values; *L<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
	// default: B
	// type: enumerated
	// Determines a formatting rule for the tick exponents. For example, consider the number 1,000,000,000. If *none*, it appears as 1,000,000,000. If *e*, 1e+9. If *E*, 1E+9. If *power*, 1x10^9 (with 9 in a super script). If *SI*, 1G. If *B*, 1B.
	Exponentformat Mesh3dColorbarExponentformat `json:"exponentformat,omitempty"`

	// Len
	// arrayOK: false
	// type: number
	// Sets the length of the color bar This measure excludes the padding of both ends. That is, the color bar length is this length minus the padding on both ends.
	Len float64 `json:"len,omitempty"`

	// Lenmode
	// default: fraction
	// type: enumerated
	// Determines whether this color bar's length (i.e. the measure in the color variation direction) is set in units of plot *fraction* or in *pixels. Use `len` to set the value.
	Lenmode Mesh3dColorbarLenmode `json:"lenmode,omitempty"`

	// Minexponent
	// arrayOK: false
	// type: number
	// Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*.
	Minexponent float64 `json:"minexponent,omitempty"`

	// Nticks
	// arrayOK: false
	// type: integer
	// Specifies the maximum number of ticks for the particular axis. The actual number of ticks will be chosen automatically to be less than or equal to `nticks`. Has an effect only if `tickmode` is set to *auto*.
	Nticks int64 `json:"nticks,omitempty"`

	// Outlinecolor
	// arrayOK: false
	// type: color
	// Sets the axis line color.
	Outlinecolor Color `json:"outlinecolor,omitempty"`

	// Outlinewidth
	// arrayOK: false
	// type: number
	// Sets the width (in px) of the axis line.
	Outlinewidth float64 `json:"outlinewidth,omitempty"`

	// Separatethousands
	// arrayOK: false
	// type: boolean
	// If "true", even 4-digit integers are separated
	Separatethousands Bool `json:"separatethousands,omitempty"`

	// Showexponent
	// default: all
	// type: enumerated
	// If *all*, all exponents are shown besides their significands. If *first*, only the exponent of the first tick is shown. If *last*, only the exponent of the last tick is shown. If *none*, no exponents appear.
	Showexponent Mesh3dColorbarShowexponent `json:"showexponent,omitempty"`

	// Showticklabels
	// arrayOK: false
	// type: boolean
	// Determines whether or not the tick labels are drawn.
	Showticklabels Bool `json:"showticklabels,omitempty"`

	// Showtickprefix
	// default: all
	// type: enumerated
	// If *all*, all tick labels are displayed with a prefix. If *first*, only the first tick is displayed with a prefix. If *last*, only the last tick is displayed with a suffix. If *none*, tick prefixes are hidden.
	Showtickprefix Mesh3dColorbarShowtickprefix `json:"showtickprefix,omitempty"`

	// Showticksuffix
	// default: all
	// type: enumerated
	// Same as `showtickprefix` but for tick suffixes.
	Showticksuffix Mesh3dColorbarShowticksuffix `json:"showticksuffix,omitempty"`

	// Thickness
	// arrayOK: false
	// type: number
	// Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.
	Thickness float64 `json:"thickness,omitempty"`

	// Thicknessmode
	// default: pixels
	// type: enumerated
	// Determines whether this color bar's thickness (i.e. the measure in the constant color direction) is set in units of plot *fraction* or in *pixels*. Use `thickness` to set the value.
	Thicknessmode Mesh3dColorbarThicknessmode `json:"thicknessmode,omitempty"`

	// Tick0
	// arrayOK: false
	// type: any
	// Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2) except when `dtick`=*L<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
	// arrayOK: false
	// type: angle
	// Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.
	Tickangle float64 `json:"tickangle,omitempty"`

	// Tickcolor
	// arrayOK: false
	// type: color
	// Sets the tick color.
	Tickcolor Color `json:"tickcolor,omitempty"`

	// Tickfont
	// role: Object
	Tickfont *Mesh3dColorbarTickfont `json:"tickfont,omitempty"`

	// Tickformat
	// arrayOK: false
	// type: string
	// Sets the tick label formatting rule using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-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
	// It's an items array and what goes inside it's... messy... check the docs
	// I will be happy if you want to contribute by implementing this
	// just raise an issue before you start so we do not overlap
	Tickformatstops interface{} `json:"tickformatstops,omitempty"`

	// Ticklabelposition
	// default: outside
	// type: enumerated
	// Determines where tick labels are drawn.
	Ticklabelposition Mesh3dColorbarTicklabelposition `json:"ticklabelposition,omitempty"`

	// Ticklen
	// arrayOK: false
	// type: number
	// Sets the tick length (in px).
	Ticklen float64 `json:"ticklen,omitempty"`

	// Tickmode
	// default: %!s(<nil>)
	// type: enumerated
	// Sets the tick mode for this axis. If *auto*, the number of ticks is set via `nticks`. If *linear*, the placement of the ticks is determined by a starting position `tick0` and a tick step `dtick` (*linear* is the default value if `tick0` and `dtick` are provided). If *array*, the placement of the ticks is set via `tickvals` and the tick text is `ticktext`. (*array* is the default value if `tickvals` is provided).
	Tickmode Mesh3dColorbarTickmode `json:"tickmode,omitempty"`

	// Tickprefix
	// arrayOK: false
	// type: string
	// Sets a tick label prefix.
	Tickprefix String `json:"tickprefix,omitempty"`

	// Ticks
	// default:
	// type: enumerated
	// Determines whether ticks are drawn or not. If **, this axis' ticks are not drawn. If *outside* (*inside*), this axis' are drawn outside (inside) the axis lines.
	Ticks Mesh3dColorbarTicks `json:"ticks,omitempty"`

	// Ticksuffix
	// arrayOK: false
	// type: string
	// Sets a tick label suffix.
	Ticksuffix String `json:"ticksuffix,omitempty"`

	// Ticktext
	// arrayOK: false
	// type: data_array
	// Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `tickvals`.
	Ticktext interface{} `json:"ticktext,omitempty"`

	// Ticktextsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  ticktext .
	Ticktextsrc String `json:"ticktextsrc,omitempty"`

	// Tickvals
	// arrayOK: false
	// type: data_array
	// Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.
	Tickvals interface{} `json:"tickvals,omitempty"`

	// Tickvalssrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  tickvals .
	Tickvalssrc String `json:"tickvalssrc,omitempty"`

	// Tickwidth
	// arrayOK: false
	// type: number
	// Sets the tick width (in px).
	Tickwidth float64 `json:"tickwidth,omitempty"`

	// Title
	// role: Object
	Title *Mesh3dColorbarTitle `json:"title,omitempty"`

	// X
	// arrayOK: false
	// type: number
	// Sets the x position of the color bar (in plot fraction).
	X float64 `json:"x,omitempty"`

	// Xanchor
	// default: left
	// type: enumerated
	// Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the color bar.
	Xanchor Mesh3dColorbarXanchor `json:"xanchor,omitempty"`

	// Xpad
	// arrayOK: false
	// type: number
	// Sets the amount of padding (in px) along the x direction.
	Xpad float64 `json:"xpad,omitempty"`

	// Y
	// arrayOK: false
	// type: number
	// Sets the y position of the color bar (in plot fraction).
	Y float64 `json:"y,omitempty"`

	// Yanchor
	// default: middle
	// type: enumerated
	// Sets this color bar's vertical position anchor This anchor binds the `y` position to the *top*, *middle* or *bottom* of the color bar.
	Yanchor Mesh3dColorbarYanchor `json:"yanchor,omitempty"`

	// Ypad
	// arrayOK: false
	// type: number
	// Sets the amount of padding (in px) along the y direction.
	Ypad float64 `json:"ypad,omitempty"`
}

Mesh3dColorbar

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 (
	Mesh3dColorbarExponentformatNone  Mesh3dColorbarExponentformat = "none"
	Mesh3dColorbarExponentformatE1    Mesh3dColorbarExponentformat = "e"
	Mesh3dColorbarExponentformatE2    Mesh3dColorbarExponentformat = "E"
	Mesh3dColorbarExponentformatPower Mesh3dColorbarExponentformat = "power"
	Mesh3dColorbarExponentformatSi    Mesh3dColorbarExponentformat = "SI"
	Mesh3dColorbarExponentformatB     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 (
	Mesh3dColorbarLenmodeFraction Mesh3dColorbarLenmode = "fraction"
	Mesh3dColorbarLenmodePixels   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 (
	Mesh3dColorbarShowexponentAll   Mesh3dColorbarShowexponent = "all"
	Mesh3dColorbarShowexponentFirst Mesh3dColorbarShowexponent = "first"
	Mesh3dColorbarShowexponentLast  Mesh3dColorbarShowexponent = "last"
	Mesh3dColorbarShowexponentNone  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 (
	Mesh3dColorbarShowtickprefixAll   Mesh3dColorbarShowtickprefix = "all"
	Mesh3dColorbarShowtickprefixFirst Mesh3dColorbarShowtickprefix = "first"
	Mesh3dColorbarShowtickprefixLast  Mesh3dColorbarShowtickprefix = "last"
	Mesh3dColorbarShowtickprefixNone  Mesh3dColorbarShowtickprefix = "none"
)

type Mesh3dColorbarShowticksuffix

type Mesh3dColorbarShowticksuffix string

Mesh3dColorbarShowticksuffix Same as `showtickprefix` but for tick suffixes.

const (
	Mesh3dColorbarShowticksuffixAll   Mesh3dColorbarShowticksuffix = "all"
	Mesh3dColorbarShowticksuffixFirst Mesh3dColorbarShowticksuffix = "first"
	Mesh3dColorbarShowticksuffixLast  Mesh3dColorbarShowticksuffix = "last"
	Mesh3dColorbarShowticksuffixNone  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 (
	Mesh3dColorbarThicknessmodeFraction Mesh3dColorbarThicknessmode = "fraction"
	Mesh3dColorbarThicknessmodePixels   Mesh3dColorbarThicknessmode = "pixels"
)

type Mesh3dColorbarTickfont

type Mesh3dColorbarTickfont struct {

	// Color
	// arrayOK: false
	// type: color
	//
	Color Color `json:"color,omitempty"`

	// Family
	// arrayOK: false
	// type: string
	// HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.
	Family String `json:"family,omitempty"`

	// Size
	// arrayOK: false
	// type: number
	//
	Size float64 `json:"size,omitempty"`
}

Mesh3dColorbarTickfont Sets the color bar's tick label font

type Mesh3dColorbarTicklabelposition added in v0.3.1

type Mesh3dColorbarTicklabelposition string

Mesh3dColorbarTicklabelposition Determines where tick labels are drawn.

const (
	Mesh3dColorbarTicklabelpositionOutside       Mesh3dColorbarTicklabelposition = "outside"
	Mesh3dColorbarTicklabelpositionInside        Mesh3dColorbarTicklabelposition = "inside"
	Mesh3dColorbarTicklabelpositionOutsideTop    Mesh3dColorbarTicklabelposition = "outside top"
	Mesh3dColorbarTicklabelpositionInsideTop     Mesh3dColorbarTicklabelposition = "inside top"
	Mesh3dColorbarTicklabelpositionOutsideBottom Mesh3dColorbarTicklabelposition = "outside bottom"
	Mesh3dColorbarTicklabelpositionInsideBottom  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 (
	Mesh3dColorbarTickmodeAuto   Mesh3dColorbarTickmode = "auto"
	Mesh3dColorbarTickmodeLinear Mesh3dColorbarTickmode = "linear"
	Mesh3dColorbarTickmodeArray  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 (
	Mesh3dColorbarTicksOutside Mesh3dColorbarTicks = "outside"
	Mesh3dColorbarTicksInside  Mesh3dColorbarTicks = "inside"
	Mesh3dColorbarTicksEmpty   Mesh3dColorbarTicks = ""
)

type Mesh3dColorbarTitle

type Mesh3dColorbarTitle struct {

	// Font
	// role: Object
	Font *Mesh3dColorbarTitleFont `json:"font,omitempty"`

	// Side
	// default: top
	// type: enumerated
	// Determines the location of color bar's title with respect to the color bar. Note that the title's location used to be set by the now deprecated `titleside` attribute.
	Side Mesh3dColorbarTitleSide `json:"side,omitempty"`

	// Text
	// arrayOK: false
	// type: string
	// Sets the title of the color bar. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.
	Text String `json:"text,omitempty"`
}

Mesh3dColorbarTitle

type Mesh3dColorbarTitleFont

type Mesh3dColorbarTitleFont struct {

	// Color
	// arrayOK: false
	// type: color
	//
	Color Color `json:"color,omitempty"`

	// Family
	// arrayOK: false
	// type: string
	// HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.
	Family String `json:"family,omitempty"`

	// Size
	// arrayOK: false
	// type: number
	//
	Size float64 `json:"size,omitempty"`
}

Mesh3dColorbarTitleFont Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.

type 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 (
	Mesh3dColorbarTitleSideRight  Mesh3dColorbarTitleSide = "right"
	Mesh3dColorbarTitleSideTop    Mesh3dColorbarTitleSide = "top"
	Mesh3dColorbarTitleSideBottom 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 (
	Mesh3dColorbarXanchorLeft   Mesh3dColorbarXanchor = "left"
	Mesh3dColorbarXanchorCenter Mesh3dColorbarXanchor = "center"
	Mesh3dColorbarXanchorRight  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 (
	Mesh3dColorbarYanchorTop    Mesh3dColorbarYanchor = "top"
	Mesh3dColorbarYanchorMiddle Mesh3dColorbarYanchor = "middle"
	Mesh3dColorbarYanchorBottom Mesh3dColorbarYanchor = "bottom"
)

type Mesh3dContour

type Mesh3dContour struct {

	// Color
	// arrayOK: false
	// type: color
	// Sets the color of the contour lines.
	Color Color `json:"color,omitempty"`

	// Show
	// arrayOK: false
	// type: boolean
	// Sets whether or not dynamic contours are shown on hover
	Show Bool `json:"show,omitempty"`

	// Width
	// arrayOK: false
	// type: number
	// Sets the width of the contour lines.
	Width float64 `json:"width,omitempty"`
}

Mesh3dContour

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 (
	Mesh3dDelaunayaxisX Mesh3dDelaunayaxis = "x"
	Mesh3dDelaunayaxisY Mesh3dDelaunayaxis = "y"
	Mesh3dDelaunayaxisZ Mesh3dDelaunayaxis = "z"
)

type Mesh3dHoverinfo

type Mesh3dHoverinfo string

Mesh3dHoverinfo Determines which trace information appear on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired.

const (
	// Flags
	Mesh3dHoverinfoX    Mesh3dHoverinfo = "x"
	Mesh3dHoverinfoY    Mesh3dHoverinfo = "y"
	Mesh3dHoverinfoZ    Mesh3dHoverinfo = "z"
	Mesh3dHoverinfoText Mesh3dHoverinfo = "text"
	Mesh3dHoverinfoName Mesh3dHoverinfo = "name"

	// Extra
	Mesh3dHoverinfoAll  Mesh3dHoverinfo = "all"
	Mesh3dHoverinfoNone Mesh3dHoverinfo = "none"
	Mesh3dHoverinfoSkip Mesh3dHoverinfo = "skip"
)

type Mesh3dHoverlabel

type Mesh3dHoverlabel struct {

	// Align
	// default: auto
	// type: enumerated
	// Sets the horizontal alignment of the text content within hover label box. Has an effect only if the hover label text spans more two or more lines
	Align Mesh3dHoverlabelAlign `json:"align,omitempty"`

	// Alignsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  align .
	Alignsrc String `json:"alignsrc,omitempty"`

	// Bgcolor
	// arrayOK: true
	// type: color
	// Sets the background color of the hover labels for this trace
	Bgcolor Color `json:"bgcolor,omitempty"`

	// Bgcolorsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  bgcolor .
	Bgcolorsrc String `json:"bgcolorsrc,omitempty"`

	// Bordercolor
	// arrayOK: true
	// type: color
	// Sets the border color of the hover labels for this trace.
	Bordercolor Color `json:"bordercolor,omitempty"`

	// Bordercolorsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  bordercolor .
	Bordercolorsrc String `json:"bordercolorsrc,omitempty"`

	// Font
	// role: Object
	Font *Mesh3dHoverlabelFont `json:"font,omitempty"`

	// Namelength
	// arrayOK: true
	// type: integer
	// Sets the default length (in number of characters) of the trace name in the hover labels for all traces. -1 shows the whole name regardless of length. 0-3 shows the first 0-3 characters, and an integer >3 will show the whole name if it is less than that many characters, but if it is longer, will truncate to `namelength - 3` characters and add an ellipsis.
	Namelength int64 `json:"namelength,omitempty"`

	// Namelengthsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  namelength .
	Namelengthsrc String `json:"namelengthsrc,omitempty"`
}

Mesh3dHoverlabel

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 (
	Mesh3dHoverlabelAlignLeft  Mesh3dHoverlabelAlign = "left"
	Mesh3dHoverlabelAlignRight Mesh3dHoverlabelAlign = "right"
	Mesh3dHoverlabelAlignAuto  Mesh3dHoverlabelAlign = "auto"
)

type Mesh3dHoverlabelFont

type Mesh3dHoverlabelFont struct {

	// Color
	// arrayOK: true
	// type: color
	//
	Color Color `json:"color,omitempty"`

	// Colorsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  color .
	Colorsrc String `json:"colorsrc,omitempty"`

	// Family
	// arrayOK: true
	// type: string
	// HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.
	Family String `json:"family,omitempty"`

	// Familysrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  family .
	Familysrc String `json:"familysrc,omitempty"`

	// Size
	// arrayOK: true
	// type: number
	//
	Size float64 `json:"size,omitempty"`

	// Sizesrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  size .
	Sizesrc String `json:"sizesrc,omitempty"`
}

Mesh3dHoverlabelFont Sets the font used in hover labels.

type Mesh3dIntensitymode

type Mesh3dIntensitymode string

Mesh3dIntensitymode Determines the source of `intensity` values.

const (
	Mesh3dIntensitymodeVertex Mesh3dIntensitymode = "vertex"
	Mesh3dIntensitymodeCell   Mesh3dIntensitymode = "cell"
)

type Mesh3dLighting

type Mesh3dLighting struct {

	// Ambient
	// arrayOK: false
	// type: number
	// Ambient light increases overall color visibility but can wash out the image.
	Ambient float64 `json:"ambient,omitempty"`

	// Diffuse
	// arrayOK: false
	// type: number
	// Represents the extent that incident rays are reflected in a range of angles.
	Diffuse float64 `json:"diffuse,omitempty"`

	// Facenormalsepsilon
	// arrayOK: false
	// type: number
	// Epsilon for face normals calculation avoids math issues arising from degenerate geometry.
	Facenormalsepsilon float64 `json:"facenormalsepsilon,omitempty"`

	// Fresnel
	// arrayOK: false
	// type: number
	// Represents the reflectance as a dependency of the viewing angle; e.g. paper is reflective when viewing it from the edge of the paper (almost 90 degrees), causing shine.
	Fresnel float64 `json:"fresnel,omitempty"`

	// Roughness
	// arrayOK: false
	// type: number
	// Alters specular reflection; the rougher the surface, the wider and less contrasty the shine.
	Roughness float64 `json:"roughness,omitempty"`

	// Specular
	// arrayOK: false
	// type: number
	// Represents the level that incident rays are reflected in a single direction, causing shine.
	Specular float64 `json:"specular,omitempty"`

	// Vertexnormalsepsilon
	// arrayOK: false
	// type: number
	// Epsilon for vertex normals calculation avoids math issues arising from degenerate geometry.
	Vertexnormalsepsilon float64 `json:"vertexnormalsepsilon,omitempty"`
}

Mesh3dLighting

type Mesh3dLightposition

type Mesh3dLightposition struct {

	// X
	// arrayOK: false
	// type: number
	// Numeric vector, representing the X coordinate for each vertex.
	X float64 `json:"x,omitempty"`

	// Y
	// arrayOK: false
	// type: number
	// Numeric vector, representing the Y coordinate for each vertex.
	Y float64 `json:"y,omitempty"`

	// Z
	// arrayOK: false
	// type: number
	// Numeric vector, representing the Z coordinate for each vertex.
	Z float64 `json:"z,omitempty"`
}

Mesh3dLightposition

type Mesh3dStream

type Mesh3dStream struct {

	// Maxpoints
	// arrayOK: false
	// type: number
	// Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot.
	Maxpoints float64 `json:"maxpoints,omitempty"`

	// Token
	// arrayOK: false
	// type: string
	// The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details.
	Token String `json:"token,omitempty"`
}

Mesh3dStream

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 (
	Mesh3dVisibleTrue       Mesh3dVisible = true
	Mesh3dVisibleFalse      Mesh3dVisible = false
	Mesh3dVisibleLegendonly Mesh3dVisible = "legendonly"
)

type Mesh3dXcalendar

type Mesh3dXcalendar string

Mesh3dXcalendar Sets the calendar system to use with `x` date data.

const (
	Mesh3dXcalendarGregorian  Mesh3dXcalendar = "gregorian"
	Mesh3dXcalendarChinese    Mesh3dXcalendar = "chinese"
	Mesh3dXcalendarCoptic     Mesh3dXcalendar = "coptic"
	Mesh3dXcalendarDiscworld  Mesh3dXcalendar = "discworld"
	Mesh3dXcalendarEthiopian  Mesh3dXcalendar = "ethiopian"
	Mesh3dXcalendarHebrew     Mesh3dXcalendar = "hebrew"
	Mesh3dXcalendarIslamic    Mesh3dXcalendar = "islamic"
	Mesh3dXcalendarJulian     Mesh3dXcalendar = "julian"
	Mesh3dXcalendarMayan      Mesh3dXcalendar = "mayan"
	Mesh3dXcalendarNanakshahi Mesh3dXcalendar = "nanakshahi"
	Mesh3dXcalendarNepali     Mesh3dXcalendar = "nepali"
	Mesh3dXcalendarPersian    Mesh3dXcalendar = "persian"
	Mesh3dXcalendarJalali     Mesh3dXcalendar = "jalali"
	Mesh3dXcalendarTaiwan     Mesh3dXcalendar = "taiwan"
	Mesh3dXcalendarThai       Mesh3dXcalendar = "thai"
	Mesh3dXcalendarUmmalqura  Mesh3dXcalendar = "ummalqura"
)

type Mesh3dYcalendar

type Mesh3dYcalendar string

Mesh3dYcalendar Sets the calendar system to use with `y` date data.

const (
	Mesh3dYcalendarGregorian  Mesh3dYcalendar = "gregorian"
	Mesh3dYcalendarChinese    Mesh3dYcalendar = "chinese"
	Mesh3dYcalendarCoptic     Mesh3dYcalendar = "coptic"
	Mesh3dYcalendarDiscworld  Mesh3dYcalendar = "discworld"
	Mesh3dYcalendarEthiopian  Mesh3dYcalendar = "ethiopian"
	Mesh3dYcalendarHebrew     Mesh3dYcalendar = "hebrew"
	Mesh3dYcalendarIslamic    Mesh3dYcalendar = "islamic"
	Mesh3dYcalendarJulian     Mesh3dYcalendar = "julian"
	Mesh3dYcalendarMayan      Mesh3dYcalendar = "mayan"
	Mesh3dYcalendarNanakshahi Mesh3dYcalendar = "nanakshahi"
	Mesh3dYcalendarNepali     Mesh3dYcalendar = "nepali"
	Mesh3dYcalendarPersian    Mesh3dYcalendar = "persian"
	Mesh3dYcalendarJalali     Mesh3dYcalendar = "jalali"
	Mesh3dYcalendarTaiwan     Mesh3dYcalendar = "taiwan"
	Mesh3dYcalendarThai       Mesh3dYcalendar = "thai"
	Mesh3dYcalendarUmmalqura  Mesh3dYcalendar = "ummalqura"
)

type Mesh3dZcalendar

type Mesh3dZcalendar string

Mesh3dZcalendar Sets the calendar system to use with `z` date data.

const (
	Mesh3dZcalendarGregorian  Mesh3dZcalendar = "gregorian"
	Mesh3dZcalendarChinese    Mesh3dZcalendar = "chinese"
	Mesh3dZcalendarCoptic     Mesh3dZcalendar = "coptic"
	Mesh3dZcalendarDiscworld  Mesh3dZcalendar = "discworld"
	Mesh3dZcalendarEthiopian  Mesh3dZcalendar = "ethiopian"
	Mesh3dZcalendarHebrew     Mesh3dZcalendar = "hebrew"
	Mesh3dZcalendarIslamic    Mesh3dZcalendar = "islamic"
	Mesh3dZcalendarJulian     Mesh3dZcalendar = "julian"
	Mesh3dZcalendarMayan      Mesh3dZcalendar = "mayan"
	Mesh3dZcalendarNanakshahi Mesh3dZcalendar = "nanakshahi"
	Mesh3dZcalendarNepali     Mesh3dZcalendar = "nepali"
	Mesh3dZcalendarPersian    Mesh3dZcalendar = "persian"
	Mesh3dZcalendarJalali     Mesh3dZcalendar = "jalali"
	Mesh3dZcalendarTaiwan     Mesh3dZcalendar = "taiwan"
	Mesh3dZcalendarThai       Mesh3dZcalendar = "thai"
	Mesh3dZcalendarUmmalqura  Mesh3dZcalendar = "ummalqura"
)

type Ohlc

type Ohlc struct {

	// Type
	// is the type of the plot
	Type TraceType `json:"type,omitempty"`

	// Close
	// arrayOK: false
	// type: data_array
	// Sets the close values.
	Close interface{} `json:"close,omitempty"`

	// Closesrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  close .
	Closesrc String `json:"closesrc,omitempty"`

	// Customdata
	// arrayOK: false
	// type: data_array
	// Assigns extra data each datum. This may be useful when listening to hover, click and selection events. Note that, *scatter* traces also appends customdata items in the markers DOM elements
	Customdata interface{} `json:"customdata,omitempty"`

	// Customdatasrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  customdata .
	Customdatasrc String `json:"customdatasrc,omitempty"`

	// Decreasing
	// role: Object
	Decreasing *OhlcDecreasing `json:"decreasing,omitempty"`

	// High
	// arrayOK: false
	// type: data_array
	// Sets the high values.
	High interface{} `json:"high,omitempty"`

	// Highsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  high .
	Highsrc String `json:"highsrc,omitempty"`

	// Hoverinfo
	// default: all
	// type: flaglist
	// Determines which trace information appear on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired.
	Hoverinfo OhlcHoverinfo `json:"hoverinfo,omitempty"`

	// Hoverinfosrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  hoverinfo .
	Hoverinfosrc String `json:"hoverinfosrc,omitempty"`

	// Hoverlabel
	// role: Object
	Hoverlabel *OhlcHoverlabel `json:"hoverlabel,omitempty"`

	// Hovertext
	// arrayOK: true
	// type: string
	// Same as `text`.
	Hovertext String `json:"hovertext,omitempty"`

	// Hovertextsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  hovertext .
	Hovertextsrc String `json:"hovertextsrc,omitempty"`

	// Ids
	// arrayOK: false
	// type: data_array
	// Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type.
	Ids interface{} `json:"ids,omitempty"`

	// Idssrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  ids .
	Idssrc String `json:"idssrc,omitempty"`

	// Increasing
	// role: Object
	Increasing *OhlcIncreasing `json:"increasing,omitempty"`

	// Legendgroup
	// arrayOK: false
	// type: string
	// Sets the legend group for this trace. Traces part of the same legend group hide/show at the same time when toggling legend items.
	Legendgroup String `json:"legendgroup,omitempty"`

	// Line
	// role: Object
	Line *OhlcLine `json:"line,omitempty"`

	// Low
	// arrayOK: false
	// type: data_array
	// Sets the low values.
	Low interface{} `json:"low,omitempty"`

	// Lowsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  low .
	Lowsrc String `json:"lowsrc,omitempty"`

	// Meta
	// arrayOK: true
	// type: any
	// Assigns extra meta information associated with this trace that can be used in various text attributes. Attributes such as trace `name`, graph, axis and colorbar `title.text`, annotation `text` `rangeselector`, `updatemenues` and `sliders` `label` text all support `meta`. To access the trace `meta` values in an attribute in the same trace, simply use `%{meta[i]}` where `i` is the index or key of the `meta` item in question. To access trace `meta` in layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index.
	Meta interface{} `json:"meta,omitempty"`

	// Metasrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  meta .
	Metasrc String `json:"metasrc,omitempty"`

	// Name
	// arrayOK: false
	// type: string
	// Sets the trace name. The trace name appear as the legend item and on hover.
	Name String `json:"name,omitempty"`

	// Opacity
	// arrayOK: false
	// type: number
	// Sets the opacity of the trace.
	Opacity float64 `json:"opacity,omitempty"`

	// Open
	// arrayOK: false
	// type: data_array
	// Sets the open values.
	Open interface{} `json:"open,omitempty"`

	// Opensrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  open .
	Opensrc String `json:"opensrc,omitempty"`

	// Selectedpoints
	// arrayOK: false
	// type: any
	// Array containing integer indices of selected points. Has an effect only for traces that support selections. Note that an empty array means an empty selection where the `unselected` are turned on for all points, whereas, any other non-array values means no selection all where the `selected` and `unselected` styles have no effect.
	Selectedpoints interface{} `json:"selectedpoints,omitempty"`

	// Showlegend
	// arrayOK: false
	// type: boolean
	// Determines whether or not an item corresponding to this trace is shown in the legend.
	Showlegend Bool `json:"showlegend,omitempty"`

	// Stream
	// role: Object
	Stream *OhlcStream `json:"stream,omitempty"`

	// Text
	// arrayOK: true
	// type: string
	// Sets hover text elements associated with each sample point. If a single string, the same string appears over all the data points. If an array of string, the items are mapped in order to this trace's sample points.
	Text String `json:"text,omitempty"`

	// Textsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  text .
	Textsrc String `json:"textsrc,omitempty"`

	// Tickwidth
	// arrayOK: false
	// type: number
	// Sets the width of the open/close tick marks relative to the *x* minimal interval.
	Tickwidth float64 `json:"tickwidth,omitempty"`

	// Transforms
	// It's an items array and what goes inside it's... messy... check the docs
	// I will be happy if you want to contribute by implementing this
	// just raise an issue before you start so we do not overlap
	Transforms interface{} `json:"transforms,omitempty"`

	// Uid
	// arrayOK: false
	// type: string
	// Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.
	Uid String `json:"uid,omitempty"`

	// Uirevision
	// arrayOK: false
	// type: any
	// Controls persistence of some user-driven changes to the trace: `constraintrange` in `parcoords` traces, as well as some `editable: true` modifications such as `name` and `colorbar.title`. Defaults to `layout.uirevision`. Note that other user-driven trace attribute changes are controlled by `layout` attributes: `trace.visible` is controlled by `layout.legend.uirevision`, `selectedpoints` is controlled by `layout.selectionrevision`, and `colorbar.(x|y)` (accessible with `config: {editable: true}`) is controlled by `layout.editrevision`. Trace changes are tracked by `uid`, which only falls back on trace index if no `uid` is provided. So if your app can add/remove traces before the end of the `data` array, such that the same trace has a different index, you can still preserve user-driven changes if you give each trace a `uid` that stays with it as it moves.
	Uirevision interface{} `json:"uirevision,omitempty"`

	// Visible
	// default: %!s(bool=true)
	// type: enumerated
	// Determines whether or not this trace is visible. If *legendonly*, the trace is not drawn, but can appear as a legend item (provided that the legend itself is visible).
	Visible OhlcVisible `json:"visible,omitempty"`

	// X
	// arrayOK: false
	// type: data_array
	// Sets the x coordinates. If absent, linear coordinate will be generated.
	X interface{} `json:"x,omitempty"`

	// Xaxis
	// arrayOK: false
	// type: subplotid
	// Sets a reference between this trace's x coordinates and a 2D cartesian x axis. If *x* (the default value), the x coordinates refer to `layout.xaxis`. If *x2*, the x coordinates refer to `layout.xaxis2`, and so on.
	Xaxis String `json:"xaxis,omitempty"`

	// Xcalendar
	// default: gregorian
	// type: enumerated
	// Sets the calendar system to use with `x` date data.
	Xcalendar OhlcXcalendar `json:"xcalendar,omitempty"`

	// Xperiod
	// arrayOK: false
	// type: 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
	// arrayOK: false
	// type: any
	// Only relevant when the axis `type` is *date*. Sets the base for period positioning in milliseconds or date string on the x0 axis. When `x0period` is round number of weeks, the `x0period0` by default would be on a Sunday i.e. 2000-01-02, otherwise it would be at 2000-01-01.
	Xperiod0 interface{} `json:"xperiod0,omitempty"`

	// Xperiodalignment
	// default: middle
	// type: enumerated
	// Only relevant when the axis `type` is *date*. Sets the alignment of data points on the x axis.
	Xperiodalignment OhlcXperiodalignment `json:"xperiodalignment,omitempty"`

	// Xsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  x .
	Xsrc String `json:"xsrc,omitempty"`

	// Yaxis
	// arrayOK: false
	// type: subplotid
	// Sets a reference between this trace's y coordinates and a 2D cartesian y axis. If *y* (the default value), the y coordinates refer to `layout.yaxis`. If *y2*, the y coordinates refer to `layout.yaxis2`, and so on.
	Yaxis String `json:"yaxis,omitempty"`
}

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 (*Ohlc) GetType

func (trace *Ohlc) GetType() TraceType

type OhlcDecreasing

type OhlcDecreasing struct {

	// Line
	// role: Object
	Line *OhlcDecreasingLine `json:"line,omitempty"`
}

OhlcDecreasing

type OhlcDecreasingLine

type OhlcDecreasingLine struct {

	// Color
	// arrayOK: false
	// type: color
	// Sets the line color.
	Color Color `json:"color,omitempty"`

	// Dash
	// arrayOK: false
	// type: string
	// Sets the dash style of lines. Set to a dash type string (*solid*, *dot*, *dash*, *longdash*, *dashdot*, or *longdashdot*) or a dash length list in px (eg *5px,10px,2px,2px*).
	Dash String `json:"dash,omitempty"`

	// Width
	// arrayOK: false
	// type: number
	// Sets the line width (in px).
	Width float64 `json:"width,omitempty"`
}

OhlcDecreasingLine

type OhlcHoverinfo

type OhlcHoverinfo string

OhlcHoverinfo Determines which trace information appear on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired.

const (
	// Flags
	OhlcHoverinfoX    OhlcHoverinfo = "x"
	OhlcHoverinfoY    OhlcHoverinfo = "y"
	OhlcHoverinfoZ    OhlcHoverinfo = "z"
	OhlcHoverinfoText OhlcHoverinfo = "text"
	OhlcHoverinfoName OhlcHoverinfo = "name"

	// Extra
	OhlcHoverinfoAll  OhlcHoverinfo = "all"
	OhlcHoverinfoNone OhlcHoverinfo = "none"
	OhlcHoverinfoSkip OhlcHoverinfo = "skip"
)

type OhlcHoverlabel

type OhlcHoverlabel struct {

	// Align
	// default: auto
	// type: enumerated
	// Sets the horizontal alignment of the text content within hover label box. Has an effect only if the hover label text spans more two or more lines
	Align OhlcHoverlabelAlign `json:"align,omitempty"`

	// Alignsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  align .
	Alignsrc String `json:"alignsrc,omitempty"`

	// Bgcolor
	// arrayOK: true
	// type: color
	// Sets the background color of the hover labels for this trace
	Bgcolor Color `json:"bgcolor,omitempty"`

	// Bgcolorsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  bgcolor .
	Bgcolorsrc String `json:"bgcolorsrc,omitempty"`

	// Bordercolor
	// arrayOK: true
	// type: color
	// Sets the border color of the hover labels for this trace.
	Bordercolor Color `json:"bordercolor,omitempty"`

	// Bordercolorsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  bordercolor .
	Bordercolorsrc String `json:"bordercolorsrc,omitempty"`

	// Font
	// role: Object
	Font *OhlcHoverlabelFont `json:"font,omitempty"`

	// Namelength
	// arrayOK: true
	// type: integer
	// Sets the default length (in number of characters) of the trace name in the hover labels for all traces. -1 shows the whole name regardless of length. 0-3 shows the first 0-3 characters, and an integer >3 will show the whole name if it is less than that many characters, but if it is longer, will truncate to `namelength - 3` characters and add an ellipsis.
	Namelength int64 `json:"namelength,omitempty"`

	// Namelengthsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  namelength .
	Namelengthsrc String `json:"namelengthsrc,omitempty"`

	// Split
	// arrayOK: false
	// type: boolean
	// Show hover information (open, close, high, low) in separate labels.
	Split Bool `json:"split,omitempty"`
}

OhlcHoverlabel

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 (
	OhlcHoverlabelAlignLeft  OhlcHoverlabelAlign = "left"
	OhlcHoverlabelAlignRight OhlcHoverlabelAlign = "right"
	OhlcHoverlabelAlignAuto  OhlcHoverlabelAlign = "auto"
)

type OhlcHoverlabelFont

type OhlcHoverlabelFont struct {

	// Color
	// arrayOK: true
	// type: color
	//
	Color Color `json:"color,omitempty"`

	// Colorsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  color .
	Colorsrc String `json:"colorsrc,omitempty"`

	// Family
	// arrayOK: true
	// type: string
	// HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.
	Family String `json:"family,omitempty"`

	// Familysrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  family .
	Familysrc String `json:"familysrc,omitempty"`

	// Size
	// arrayOK: true
	// type: number
	//
	Size float64 `json:"size,omitempty"`

	// Sizesrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  size .
	Sizesrc String `json:"sizesrc,omitempty"`
}

OhlcHoverlabelFont Sets the font used in hover labels.

type OhlcIncreasing

type OhlcIncreasing struct {

	// Line
	// role: Object
	Line *OhlcIncreasingLine `json:"line,omitempty"`
}

OhlcIncreasing

type OhlcIncreasingLine

type OhlcIncreasingLine struct {

	// Color
	// arrayOK: false
	// type: color
	// Sets the line color.
	Color Color `json:"color,omitempty"`

	// Dash
	// arrayOK: false
	// type: string
	// Sets the dash style of lines. Set to a dash type string (*solid*, *dot*, *dash*, *longdash*, *dashdot*, or *longdashdot*) or a dash length list in px (eg *5px,10px,2px,2px*).
	Dash String `json:"dash,omitempty"`

	// Width
	// arrayOK: false
	// type: number
	// Sets the line width (in px).
	Width float64 `json:"width,omitempty"`
}

OhlcIncreasingLine

type OhlcLine

type OhlcLine struct {

	// Dash
	// arrayOK: false
	// type: string
	// Sets the dash style of lines. Set to a dash type string (*solid*, *dot*, *dash*, *longdash*, *dashdot*, or *longdashdot*) or a dash length list in px (eg *5px,10px,2px,2px*). Note that this style setting can also be set per direction via `increasing.line.dash` and `decreasing.line.dash`.
	Dash String `json:"dash,omitempty"`

	// Width
	// arrayOK: false
	// type: number
	// [object Object] Note that this style setting can also be set per direction via `increasing.line.width` and `decreasing.line.width`.
	Width float64 `json:"width,omitempty"`
}

OhlcLine

type OhlcStream

type OhlcStream struct {

	// Maxpoints
	// arrayOK: false
	// type: number
	// Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot.
	Maxpoints float64 `json:"maxpoints,omitempty"`

	// Token
	// arrayOK: false
	// type: string
	// The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details.
	Token String `json:"token,omitempty"`
}

OhlcStream

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 (
	OhlcVisibleTrue       OhlcVisible = true
	OhlcVisibleFalse      OhlcVisible = false
	OhlcVisibleLegendonly OhlcVisible = "legendonly"
)

type OhlcXcalendar

type OhlcXcalendar string

OhlcXcalendar Sets the calendar system to use with `x` date data.

const (
	OhlcXcalendarGregorian  OhlcXcalendar = "gregorian"
	OhlcXcalendarChinese    OhlcXcalendar = "chinese"
	OhlcXcalendarCoptic     OhlcXcalendar = "coptic"
	OhlcXcalendarDiscworld  OhlcXcalendar = "discworld"
	OhlcXcalendarEthiopian  OhlcXcalendar = "ethiopian"
	OhlcXcalendarHebrew     OhlcXcalendar = "hebrew"
	OhlcXcalendarIslamic    OhlcXcalendar = "islamic"
	OhlcXcalendarJulian     OhlcXcalendar = "julian"
	OhlcXcalendarMayan      OhlcXcalendar = "mayan"
	OhlcXcalendarNanakshahi OhlcXcalendar = "nanakshahi"
	OhlcXcalendarNepali     OhlcXcalendar = "nepali"
	OhlcXcalendarPersian    OhlcXcalendar = "persian"
	OhlcXcalendarJalali     OhlcXcalendar = "jalali"
	OhlcXcalendarTaiwan     OhlcXcalendar = "taiwan"
	OhlcXcalendarThai       OhlcXcalendar = "thai"
	OhlcXcalendarUmmalqura  OhlcXcalendar = "ummalqura"
)

type OhlcXperiodalignment added in v0.3.1

type OhlcXperiodalignment string

OhlcXperiodalignment Only relevant when the axis `type` is *date*. Sets the alignment of data points on the x axis.

const (
	OhlcXperiodalignmentStart  OhlcXperiodalignment = "start"
	OhlcXperiodalignmentMiddle OhlcXperiodalignment = "middle"
	OhlcXperiodalignmentEnd    OhlcXperiodalignment = "end"
)

type Parcats

type Parcats struct {

	// Type
	// is the type of the plot
	Type TraceType `json:"type,omitempty"`

	// Arrangement
	// default: perpendicular
	// type: enumerated
	// Sets the drag interaction mode for categories and dimensions. If `perpendicular`, the categories can only move along a line perpendicular to the paths. If `freeform`, the categories can freely move on the plane. If `fixed`, the categories and dimensions are stationary.
	Arrangement ParcatsArrangement `json:"arrangement,omitempty"`

	// Bundlecolors
	// arrayOK: false
	// type: boolean
	// Sort paths so that like colors are bundled together within each category.
	Bundlecolors Bool `json:"bundlecolors,omitempty"`

	// Counts
	// arrayOK: true
	// type: number
	// The number of observations represented by each state. Defaults to 1 so that each state represents one observation
	Counts float64 `json:"counts,omitempty"`

	// Countssrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  counts .
	Countssrc String `json:"countssrc,omitempty"`

	// Dimensions
	// It's an items array and what goes inside it's... messy... check the docs
	// I will be happy if you want to contribute by implementing this
	// just raise an issue before you start so we do not overlap
	Dimensions interface{} `json:"dimensions,omitempty"`

	// Domain
	// role: Object
	Domain *ParcatsDomain `json:"domain,omitempty"`

	// Hoverinfo
	// default: all
	// type: flaglist
	// Determines which trace information appear on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired.
	Hoverinfo ParcatsHoverinfo `json:"hoverinfo,omitempty"`

	// Hoveron
	// default: category
	// type: enumerated
	// Sets the hover interaction mode for the parcats diagram. If `category`, hover interaction take place per category. If `color`, hover interactions take place per color per category. If `dimension`, hover interactions take place across all categories per dimension.
	Hoveron ParcatsHoveron `json:"hoveron,omitempty"`

	// Hovertemplate
	// arrayOK: false
	// type: string
	// Template string used for rendering the information that appear on hover box. Note that this will override `hoverinfo`. Variables are inserted using %{variable}, for example "y: %{y}". 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
	// role: Object
	Labelfont *ParcatsLabelfont `json:"labelfont,omitempty"`

	// Line
	// role: Object
	Line *ParcatsLine `json:"line,omitempty"`

	// Meta
	// arrayOK: true
	// type: any
	// Assigns extra meta information associated with this trace that can be used in various text attributes. Attributes such as trace `name`, graph, axis and colorbar `title.text`, annotation `text` `rangeselector`, `updatemenues` and `sliders` `label` text all support `meta`. To access the trace `meta` values in an attribute in the same trace, simply use `%{meta[i]}` where `i` is the index or key of the `meta` item in question. To access trace `meta` in layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index.
	Meta interface{} `json:"meta,omitempty"`

	// Metasrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  meta .
	Metasrc String `json:"metasrc,omitempty"`

	// Name
	// arrayOK: false
	// type: string
	// Sets the trace name. The trace name appear as the legend item and on hover.
	Name String `json:"name,omitempty"`

	// Sortpaths
	// default: forward
	// type: enumerated
	// Sets the path sorting algorithm. If `forward`, sort paths based on dimension categories from left to right. If `backward`, sort paths based on dimensions categories from right to left.
	Sortpaths ParcatsSortpaths `json:"sortpaths,omitempty"`

	// Stream
	// role: Object
	Stream *ParcatsStream `json:"stream,omitempty"`

	// Tickfont
	// role: Object
	Tickfont *ParcatsTickfont `json:"tickfont,omitempty"`

	// Transforms
	// It's an items array and what goes inside it's... messy... check the docs
	// I will be happy if you want to contribute by implementing this
	// just raise an issue before you start so we do not overlap
	Transforms interface{} `json:"transforms,omitempty"`

	// Uid
	// arrayOK: false
	// type: string
	// Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.
	Uid String `json:"uid,omitempty"`

	// Uirevision
	// arrayOK: false
	// type: any
	// Controls persistence of some user-driven changes to the trace: `constraintrange` in `parcoords` traces, as well as some `editable: true` modifications such as `name` and `colorbar.title`. Defaults to `layout.uirevision`. Note that other user-driven trace attribute changes are controlled by `layout` attributes: `trace.visible` is controlled by `layout.legend.uirevision`, `selectedpoints` is controlled by `layout.selectionrevision`, and `colorbar.(x|y)` (accessible with `config: {editable: true}`) is controlled by `layout.editrevision`. Trace changes are tracked by `uid`, which only falls back on trace index if no `uid` is provided. So if your app can add/remove traces before the end of the `data` array, such that the same trace has a different index, you can still preserve user-driven changes if you give each trace a `uid` that stays with it as it moves.
	Uirevision interface{} `json:"uirevision,omitempty"`

	// Visible
	// default: %!s(bool=true)
	// type: enumerated
	// Determines whether or not this trace is visible. If *legendonly*, the trace is not drawn, but can appear as a legend item (provided that the legend itself is visible).
	Visible ParcatsVisible `json:"visible,omitempty"`
}

Parcats Parallel categories diagram for multidimensional categorical data.

func (*Parcats) GetType

func (trace *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 (
	ParcatsArrangementPerpendicular ParcatsArrangement = "perpendicular"
	ParcatsArrangementFreeform      ParcatsArrangement = "freeform"
	ParcatsArrangementFixed         ParcatsArrangement = "fixed"
)

type ParcatsDomain

type ParcatsDomain struct {

	// Column
	// arrayOK: false
	// type: integer
	// If there is a layout grid, use the domain for this column in the grid for this parcats trace .
	Column int64 `json:"column,omitempty"`

	// Row
	// arrayOK: false
	// type: integer
	// If there is a layout grid, use the domain for this row in the grid for this parcats trace .
	Row int64 `json:"row,omitempty"`

	// X
	// arrayOK: false
	// type: info_array
	// Sets the horizontal domain of this parcats trace (in plot fraction).
	X interface{} `json:"x,omitempty"`

	// Y
	// arrayOK: false
	// type: info_array
	// Sets the vertical domain of this parcats trace (in plot fraction).
	Y interface{} `json:"y,omitempty"`
}

ParcatsDomain

type ParcatsHoverinfo

type ParcatsHoverinfo string

ParcatsHoverinfo Determines which trace information appear on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired.

const (
	// Flags
	ParcatsHoverinfoCount       ParcatsHoverinfo = "count"
	ParcatsHoverinfoProbability ParcatsHoverinfo = "probability"

	// Extra
	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 (
	ParcatsHoveronCategory  ParcatsHoveron = "category"
	ParcatsHoveronColor     ParcatsHoveron = "color"
	ParcatsHoveronDimension ParcatsHoveron = "dimension"
)

type ParcatsLabelfont

type ParcatsLabelfont struct {

	// Color
	// arrayOK: false
	// type: color
	//
	Color Color `json:"color,omitempty"`

	// Family
	// arrayOK: false
	// type: string
	// HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.
	Family String `json:"family,omitempty"`

	// Size
	// arrayOK: false
	// type: number
	//
	Size float64 `json:"size,omitempty"`
}

ParcatsLabelfont Sets the font for the `dimension` labels.

type ParcatsLine

type ParcatsLine struct {

	// Autocolorscale
	// arrayOK: false
	// type: boolean
	// Determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by `line.colorscale`. Has an effect only if in `line.color`is set to a numerical array. In case `colorscale` is unspecified or `autocolorscale` is true, the default  palette will be chosen according to whether numbers in the `color` array are all positive, all negative or mixed.
	Autocolorscale Bool `json:"autocolorscale,omitempty"`

	// Cauto
	// arrayOK: false
	// type: boolean
	// Determines whether or not the color domain is computed with respect to the input data (here in `line.color`) or the bounds set in `line.cmin` and `line.cmax`  Has an effect only if in `line.color`is set to a numerical array. Defaults to `false` when `line.cmin` and `line.cmax` are set by the user.
	Cauto Bool `json:"cauto,omitempty"`

	// Cmax
	// arrayOK: false
	// type: number
	// Sets the upper bound of the color domain. Has an effect only if in `line.color`is set to a numerical array. Value should have the same units as in `line.color` and if set, `line.cmin` must be set as well.
	Cmax float64 `json:"cmax,omitempty"`

	// Cmid
	// arrayOK: false
	// type: number
	// Sets the mid-point of the color domain by scaling `line.cmin` and/or `line.cmax` to be equidistant to this point. Has an effect only if in `line.color`is set to a numerical array. Value should have the same units as in `line.color`. Has no effect when `line.cauto` is `false`.
	Cmid float64 `json:"cmid,omitempty"`

	// Cmin
	// arrayOK: false
	// type: number
	// Sets the lower bound of the color domain. Has an effect only if in `line.color`is set to a numerical array. Value should have the same units as in `line.color` and if set, `line.cmax` must be set as well.
	Cmin float64 `json:"cmin,omitempty"`

	// Color
	// arrayOK: true
	// type: color
	// Sets 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 Color `json:"color,omitempty"`

	// Coloraxis
	// arrayOK: false
	// type: subplotid
	// Sets a reference to a shared color axis. References to these shared color axes are *coloraxis*, *coloraxis2*, *coloraxis3*, etc. Settings for these shared color axes are set in the layout, under `layout.coloraxis`, `layout.coloraxis2`, etc. Note that multiple color scales can be linked to the same color axis.
	Coloraxis String `json:"coloraxis,omitempty"`

	// Colorbar
	// role: Object
	Colorbar *ParcatsLineColorbar `json:"colorbar,omitempty"`

	// Colorscale
	// default: %!s(<nil>)
	// type: colorscale
	// Sets the colorscale. Has an effect only if in `line.color`is set to a numerical array. The colorscale must be an array containing arrays mapping a normalized value to an rgb, rgba, hex, hsl, hsv, or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, use`line.cmin` and `line.cmax`. Alternatively, `colorscale` may be a palette name string of the following list: Greys,YlGnBu,Greens,YlOrRd,Bluered,RdBu,Reds,Blues,Picnic,Rainbow,Portland,Jet,Hot,Blackbody,Earth,Electric,Viridis,Cividis.
	Colorscale ColorScale `json:"colorscale,omitempty"`

	// Colorsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  color .
	Colorsrc String `json:"colorsrc,omitempty"`

	// Hovertemplate
	// arrayOK: false
	// type: string
	// Template string used for rendering the information that appear on hover box. Note that this will override `hoverinfo`. Variables are inserted using %{variable}, for example "y: %{y}". 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
	// arrayOK: false
	// type: boolean
	// Reverses the color mapping if true. Has an effect only if in `line.color`is set to a numerical array. If true, `line.cmin` will correspond to the last color in the array and `line.cmax` will correspond to the first color.
	Reversescale Bool `json:"reversescale,omitempty"`

	// Shape
	// default: linear
	// type: enumerated
	// Sets the shape of the paths. If `linear`, paths are composed of straight lines. If `hspline`, paths are composed of horizontal curved splines
	Shape ParcatsLineShape `json:"shape,omitempty"`

	// Showscale
	// arrayOK: false
	// type: boolean
	// Determines whether or not a colorbar is displayed for this trace. Has an effect only if in `line.color`is set to a numerical array.
	Showscale Bool `json:"showscale,omitempty"`
}

ParcatsLine

type ParcatsLineColorbar

type ParcatsLineColorbar struct {

	// Bgcolor
	// arrayOK: false
	// type: color
	// Sets the color of padded area.
	Bgcolor Color `json:"bgcolor,omitempty"`

	// Bordercolor
	// arrayOK: false
	// type: color
	// Sets the axis line color.
	Bordercolor Color `json:"bordercolor,omitempty"`

	// Borderwidth
	// arrayOK: false
	// type: number
	// Sets the width (in px) or the border enclosing this color bar.
	Borderwidth float64 `json:"borderwidth,omitempty"`

	// Dtick
	// arrayOK: false
	// type: any
	// Sets the step in-between ticks on this axis. Use with `tick0`. Must be a positive number, or special strings available to *log* and *date* axes. If the axis `type` is *log*, then ticks are set every 10^(n*dtick) where n is the tick number. For example, to set a tick mark at 1, 10, 100, 1000, ... set dtick to 1. To set tick marks at 1, 100, 10000, ... set dtick to 2. To set tick marks at 1, 5, 25, 125, 625, 3125, ... set dtick to log_10(5), or 0.69897000433. *log* has several special values; *L<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
	// default: B
	// type: enumerated
	// Determines a formatting rule for the tick exponents. For example, consider the number 1,000,000,000. If *none*, it appears as 1,000,000,000. If *e*, 1e+9. If *E*, 1E+9. If *power*, 1x10^9 (with 9 in a super script). If *SI*, 1G. If *B*, 1B.
	Exponentformat ParcatsLineColorbarExponentformat `json:"exponentformat,omitempty"`

	// Len
	// arrayOK: false
	// type: number
	// Sets the length of the color bar This measure excludes the padding of both ends. That is, the color bar length is this length minus the padding on both ends.
	Len float64 `json:"len,omitempty"`

	// Lenmode
	// default: fraction
	// type: enumerated
	// Determines whether this color bar's length (i.e. the measure in the color variation direction) is set in units of plot *fraction* or in *pixels. Use `len` to set the value.
	Lenmode ParcatsLineColorbarLenmode `json:"lenmode,omitempty"`

	// Minexponent
	// arrayOK: false
	// type: number
	// Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*.
	Minexponent float64 `json:"minexponent,omitempty"`

	// Nticks
	// arrayOK: false
	// type: integer
	// Specifies the maximum number of ticks for the particular axis. The actual number of ticks will be chosen automatically to be less than or equal to `nticks`. Has an effect only if `tickmode` is set to *auto*.
	Nticks int64 `json:"nticks,omitempty"`

	// Outlinecolor
	// arrayOK: false
	// type: color
	// Sets the axis line color.
	Outlinecolor Color `json:"outlinecolor,omitempty"`

	// Outlinewidth
	// arrayOK: false
	// type: number
	// Sets the width (in px) of the axis line.
	Outlinewidth float64 `json:"outlinewidth,omitempty"`

	// Separatethousands
	// arrayOK: false
	// type: boolean
	// If "true", even 4-digit integers are separated
	Separatethousands Bool `json:"separatethousands,omitempty"`

	// Showexponent
	// default: all
	// type: enumerated
	// If *all*, all exponents are shown besides their significands. If *first*, only the exponent of the first tick is shown. If *last*, only the exponent of the last tick is shown. If *none*, no exponents appear.
	Showexponent ParcatsLineColorbarShowexponent `json:"showexponent,omitempty"`

	// Showticklabels
	// arrayOK: false
	// type: boolean
	// Determines whether or not the tick labels are drawn.
	Showticklabels Bool `json:"showticklabels,omitempty"`

	// Showtickprefix
	// default: all
	// type: enumerated
	// If *all*, all tick labels are displayed with a prefix. If *first*, only the first tick is displayed with a prefix. If *last*, only the last tick is displayed with a suffix. If *none*, tick prefixes are hidden.
	Showtickprefix ParcatsLineColorbarShowtickprefix `json:"showtickprefix,omitempty"`

	// Showticksuffix
	// default: all
	// type: enumerated
	// Same as `showtickprefix` but for tick suffixes.
	Showticksuffix ParcatsLineColorbarShowticksuffix `json:"showticksuffix,omitempty"`

	// Thickness
	// arrayOK: false
	// type: number
	// Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.
	Thickness float64 `json:"thickness,omitempty"`

	// Thicknessmode
	// default: pixels
	// type: enumerated
	// Determines whether this color bar's thickness (i.e. the measure in the constant color direction) is set in units of plot *fraction* or in *pixels*. Use `thickness` to set the value.
	Thicknessmode ParcatsLineColorbarThicknessmode `json:"thicknessmode,omitempty"`

	// Tick0
	// arrayOK: false
	// type: any
	// Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2) except when `dtick`=*L<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
	// arrayOK: false
	// type: angle
	// Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.
	Tickangle float64 `json:"tickangle,omitempty"`

	// Tickcolor
	// arrayOK: false
	// type: color
	// Sets the tick color.
	Tickcolor Color `json:"tickcolor,omitempty"`

	// Tickfont
	// role: Object
	Tickfont *ParcatsLineColorbarTickfont `json:"tickfont,omitempty"`

	// Tickformat
	// arrayOK: false
	// type: string
	// Sets the tick label formatting rule using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-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
	// It's an items array and what goes inside it's... messy... check the docs
	// I will be happy if you want to contribute by implementing this
	// just raise an issue before you start so we do not overlap
	Tickformatstops interface{} `json:"tickformatstops,omitempty"`

	// Ticklabelposition
	// default: outside
	// type: enumerated
	// Determines where tick labels are drawn.
	Ticklabelposition ParcatsLineColorbarTicklabelposition `json:"ticklabelposition,omitempty"`

	// Ticklen
	// arrayOK: false
	// type: number
	// Sets the tick length (in px).
	Ticklen float64 `json:"ticklen,omitempty"`

	// Tickmode
	// default: %!s(<nil>)
	// type: enumerated
	// Sets the tick mode for this axis. If *auto*, the number of ticks is set via `nticks`. If *linear*, the placement of the ticks is determined by a starting position `tick0` and a tick step `dtick` (*linear* is the default value if `tick0` and `dtick` are provided). If *array*, the placement of the ticks is set via `tickvals` and the tick text is `ticktext`. (*array* is the default value if `tickvals` is provided).
	Tickmode ParcatsLineColorbarTickmode `json:"tickmode,omitempty"`

	// Tickprefix
	// arrayOK: false
	// type: string
	// Sets a tick label prefix.
	Tickprefix String `json:"tickprefix,omitempty"`

	// Ticks
	// default:
	// type: enumerated
	// Determines whether ticks are drawn or not. If **, this axis' ticks are not drawn. If *outside* (*inside*), this axis' are drawn outside (inside) the axis lines.
	Ticks ParcatsLineColorbarTicks `json:"ticks,omitempty"`

	// Ticksuffix
	// arrayOK: false
	// type: string
	// Sets a tick label suffix.
	Ticksuffix String `json:"ticksuffix,omitempty"`

	// Ticktext
	// arrayOK: false
	// type: data_array
	// Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `tickvals`.
	Ticktext interface{} `json:"ticktext,omitempty"`

	// Ticktextsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  ticktext .
	Ticktextsrc String `json:"ticktextsrc,omitempty"`

	// Tickvals
	// arrayOK: false
	// type: data_array
	// Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.
	Tickvals interface{} `json:"tickvals,omitempty"`

	// Tickvalssrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  tickvals .
	Tickvalssrc String `json:"tickvalssrc,omitempty"`

	// Tickwidth
	// arrayOK: false
	// type: number
	// Sets the tick width (in px).
	Tickwidth float64 `json:"tickwidth,omitempty"`

	// Title
	// role: Object
	Title *ParcatsLineColorbarTitle `json:"title,omitempty"`

	// X
	// arrayOK: false
	// type: number
	// Sets the x position of the color bar (in plot fraction).
	X float64 `json:"x,omitempty"`

	// Xanchor
	// default: left
	// type: enumerated
	// Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the color bar.
	Xanchor ParcatsLineColorbarXanchor `json:"xanchor,omitempty"`

	// Xpad
	// arrayOK: false
	// type: number
	// Sets the amount of padding (in px) along the x direction.
	Xpad float64 `json:"xpad,omitempty"`

	// Y
	// arrayOK: false
	// type: number
	// Sets the y position of the color bar (in plot fraction).
	Y float64 `json:"y,omitempty"`

	// Yanchor
	// default: middle
	// type: enumerated
	// Sets this color bar's vertical position anchor This anchor binds the `y` position to the *top*, *middle* or *bottom* of the color bar.
	Yanchor ParcatsLineColorbarYanchor `json:"yanchor,omitempty"`

	// Ypad
	// arrayOK: false
	// type: number
	// Sets the amount of padding (in px) along the y direction.
	Ypad float64 `json:"ypad,omitempty"`
}

ParcatsLineColorbar

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 (
	ParcatsLineColorbarExponentformatNone  ParcatsLineColorbarExponentformat = "none"
	ParcatsLineColorbarExponentformatE1    ParcatsLineColorbarExponentformat = "e"
	ParcatsLineColorbarExponentformatE2    ParcatsLineColorbarExponentformat = "E"
	ParcatsLineColorbarExponentformatPower ParcatsLineColorbarExponentformat = "power"
	ParcatsLineColorbarExponentformatSi    ParcatsLineColorbarExponentformat = "SI"
	ParcatsLineColorbarExponentformatB     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 (
	ParcatsLineColorbarLenmodeFraction ParcatsLineColorbarLenmode = "fraction"
	ParcatsLineColorbarLenmodePixels   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 (
	ParcatsLineColorbarShowexponentAll   ParcatsLineColorbarShowexponent = "all"
	ParcatsLineColorbarShowexponentFirst ParcatsLineColorbarShowexponent = "first"
	ParcatsLineColorbarShowexponentLast  ParcatsLineColorbarShowexponent = "last"
	ParcatsLineColorbarShowexponentNone  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 (
	ParcatsLineColorbarShowtickprefixAll   ParcatsLineColorbarShowtickprefix = "all"
	ParcatsLineColorbarShowtickprefixFirst ParcatsLineColorbarShowtickprefix = "first"
	ParcatsLineColorbarShowtickprefixLast  ParcatsLineColorbarShowtickprefix = "last"
	ParcatsLineColorbarShowtickprefixNone  ParcatsLineColorbarShowtickprefix = "none"
)

type ParcatsLineColorbarShowticksuffix

type ParcatsLineColorbarShowticksuffix string

ParcatsLineColorbarShowticksuffix Same as `showtickprefix` but for tick suffixes.

const (
	ParcatsLineColorbarShowticksuffixAll   ParcatsLineColorbarShowticksuffix = "all"
	ParcatsLineColorbarShowticksuffixFirst ParcatsLineColorbarShowticksuffix = "first"
	ParcatsLineColorbarShowticksuffixLast  ParcatsLineColorbarShowticksuffix = "last"
	ParcatsLineColorbarShowticksuffixNone  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 (
	ParcatsLineColorbarThicknessmodeFraction ParcatsLineColorbarThicknessmode = "fraction"
	ParcatsLineColorbarThicknessmodePixels   ParcatsLineColorbarThicknessmode = "pixels"
)

type ParcatsLineColorbarTickfont

type ParcatsLineColorbarTickfont struct {

	// Color
	// arrayOK: false
	// type: color
	//
	Color Color `json:"color,omitempty"`

	// Family
	// arrayOK: false
	// type: string
	// HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.
	Family String `json:"family,omitempty"`

	// Size
	// arrayOK: false
	// type: number
	//
	Size float64 `json:"size,omitempty"`
}

ParcatsLineColorbarTickfont Sets the color bar's tick label font

type ParcatsLineColorbarTicklabelposition added in v0.3.1

type ParcatsLineColorbarTicklabelposition string

ParcatsLineColorbarTicklabelposition Determines where tick labels are drawn.

const (
	ParcatsLineColorbarTicklabelpositionOutside       ParcatsLineColorbarTicklabelposition = "outside"
	ParcatsLineColorbarTicklabelpositionInside        ParcatsLineColorbarTicklabelposition = "inside"
	ParcatsLineColorbarTicklabelpositionOutsideTop    ParcatsLineColorbarTicklabelposition = "outside top"
	ParcatsLineColorbarTicklabelpositionInsideTop     ParcatsLineColorbarTicklabelposition = "inside top"
	ParcatsLineColorbarTicklabelpositionOutsideBottom ParcatsLineColorbarTicklabelposition = "outside bottom"
	ParcatsLineColorbarTicklabelpositionInsideBottom  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 (
	ParcatsLineColorbarTickmodeAuto   ParcatsLineColorbarTickmode = "auto"
	ParcatsLineColorbarTickmodeLinear ParcatsLineColorbarTickmode = "linear"
	ParcatsLineColorbarTickmodeArray  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 (
	ParcatsLineColorbarTicksOutside ParcatsLineColorbarTicks = "outside"
	ParcatsLineColorbarTicksInside  ParcatsLineColorbarTicks = "inside"
	ParcatsLineColorbarTicksEmpty   ParcatsLineColorbarTicks = ""
)

type ParcatsLineColorbarTitle

type ParcatsLineColorbarTitle struct {

	// Font
	// role: Object
	Font *ParcatsLineColorbarTitleFont `json:"font,omitempty"`

	// Side
	// default: top
	// type: enumerated
	// Determines the location of color bar's title with respect to the color bar. Note that the title's location used to be set by the now deprecated `titleside` attribute.
	Side ParcatsLineColorbarTitleSide `json:"side,omitempty"`

	// Text
	// arrayOK: false
	// type: string
	// Sets the title of the color bar. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.
	Text String `json:"text,omitempty"`
}

ParcatsLineColorbarTitle

type ParcatsLineColorbarTitleFont

type ParcatsLineColorbarTitleFont struct {

	// Color
	// arrayOK: false
	// type: color
	//
	Color Color `json:"color,omitempty"`

	// Family
	// arrayOK: false
	// type: string
	// HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.
	Family String `json:"family,omitempty"`

	// Size
	// arrayOK: false
	// type: number
	//
	Size float64 `json:"size,omitempty"`
}

ParcatsLineColorbarTitleFont Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.

type 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 (
	ParcatsLineColorbarTitleSideRight  ParcatsLineColorbarTitleSide = "right"
	ParcatsLineColorbarTitleSideTop    ParcatsLineColorbarTitleSide = "top"
	ParcatsLineColorbarTitleSideBottom 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 (
	ParcatsLineColorbarXanchorLeft   ParcatsLineColorbarXanchor = "left"
	ParcatsLineColorbarXanchorCenter ParcatsLineColorbarXanchor = "center"
	ParcatsLineColorbarXanchorRight  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 (
	ParcatsLineColorbarYanchorTop    ParcatsLineColorbarYanchor = "top"
	ParcatsLineColorbarYanchorMiddle ParcatsLineColorbarYanchor = "middle"
	ParcatsLineColorbarYanchorBottom 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 (
	ParcatsLineShapeLinear  ParcatsLineShape = "linear"
	ParcatsLineShapeHspline 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 (
	ParcatsSortpathsForward  ParcatsSortpaths = "forward"
	ParcatsSortpathsBackward ParcatsSortpaths = "backward"
)

type ParcatsStream

type ParcatsStream struct {

	// Maxpoints
	// arrayOK: false
	// type: number
	// Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot.
	Maxpoints float64 `json:"maxpoints,omitempty"`

	// Token
	// arrayOK: false
	// type: string
	// The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details.
	Token String `json:"token,omitempty"`
}

ParcatsStream

type ParcatsTickfont

type ParcatsTickfont struct {

	// Color
	// arrayOK: false
	// type: color
	//
	Color Color `json:"color,omitempty"`

	// Family
	// arrayOK: false
	// type: string
	// HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.
	Family String `json:"family,omitempty"`

	// Size
	// arrayOK: false
	// type: number
	//
	Size float64 `json:"size,omitempty"`
}

ParcatsTickfont Sets the font for the `category` labels.

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 (
	ParcatsVisibleTrue       ParcatsVisible = true
	ParcatsVisibleFalse      ParcatsVisible = false
	ParcatsVisibleLegendonly ParcatsVisible = "legendonly"
)

type Parcoords

type Parcoords struct {

	// Type
	// is the type of the plot
	Type TraceType `json:"type,omitempty"`

	// Customdata
	// arrayOK: false
	// type: data_array
	// Assigns extra data each datum. This may be useful when listening to hover, click and selection events. Note that, *scatter* traces also appends customdata items in the markers DOM elements
	Customdata interface{} `json:"customdata,omitempty"`

	// Customdatasrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  customdata .
	Customdatasrc String `json:"customdatasrc,omitempty"`

	// Dimensions
	// It's an items array and what goes inside it's... messy... check the docs
	// I will be happy if you want to contribute by implementing this
	// just raise an issue before you start so we do not overlap
	Dimensions interface{} `json:"dimensions,omitempty"`

	// Domain
	// role: Object
	Domain *ParcoordsDomain `json:"domain,omitempty"`

	// Ids
	// arrayOK: false
	// type: data_array
	// Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type.
	Ids interface{} `json:"ids,omitempty"`

	// Idssrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  ids .
	Idssrc String `json:"idssrc,omitempty"`

	// Labelangle
	// arrayOK: false
	// type: angle
	// Sets the angle of the labels with respect to the horizontal. For example, a `tickangle` of -90 draws the labels vertically. Tilted labels with *labelangle* may be positioned better inside margins when `labelposition` is set to *bottom*.
	Labelangle float64 `json:"labelangle,omitempty"`

	// Labelfont
	// role: Object
	Labelfont *ParcoordsLabelfont `json:"labelfont,omitempty"`

	// Labelside
	// default: top
	// type: enumerated
	// Specifies the location of the `label`. *top* positions labels above, next to the title *bottom* positions labels below the graph Tilted labels with *labelangle* may be positioned better inside margins when `labelposition` is set to *bottom*.
	Labelside ParcoordsLabelside `json:"labelside,omitempty"`

	// Line
	// role: Object
	Line *ParcoordsLine `json:"line,omitempty"`

	// Meta
	// arrayOK: true
	// type: any
	// Assigns extra meta information associated with this trace that can be used in various text attributes. Attributes such as trace `name`, graph, axis and colorbar `title.text`, annotation `text` `rangeselector`, `updatemenues` and `sliders` `label` text all support `meta`. To access the trace `meta` values in an attribute in the same trace, simply use `%{meta[i]}` where `i` is the index or key of the `meta` item in question. To access trace `meta` in layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index.
	Meta interface{} `json:"meta,omitempty"`

	// Metasrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  meta .
	Metasrc String `json:"metasrc,omitempty"`

	// Name
	// arrayOK: false
	// type: string
	// Sets the trace name. The trace name appear as the legend item and on hover.
	Name String `json:"name,omitempty"`

	// Rangefont
	// role: Object
	Rangefont *ParcoordsRangefont `json:"rangefont,omitempty"`

	// Stream
	// role: Object
	Stream *ParcoordsStream `json:"stream,omitempty"`

	// Tickfont
	// role: Object
	Tickfont *ParcoordsTickfont `json:"tickfont,omitempty"`

	// Transforms
	// It's an items array and what goes inside it's... messy... check the docs
	// I will be happy if you want to contribute by implementing this
	// just raise an issue before you start so we do not overlap
	Transforms interface{} `json:"transforms,omitempty"`

	// Uid
	// arrayOK: false
	// type: string
	// Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.
	Uid String `json:"uid,omitempty"`

	// Uirevision
	// arrayOK: false
	// type: any
	// Controls persistence of some user-driven changes to the trace: `constraintrange` in `parcoords` traces, as well as some `editable: true` modifications such as `name` and `colorbar.title`. Defaults to `layout.uirevision`. Note that other user-driven trace attribute changes are controlled by `layout` attributes: `trace.visible` is controlled by `layout.legend.uirevision`, `selectedpoints` is controlled by `layout.selectionrevision`, and `colorbar.(x|y)` (accessible with `config: {editable: true}`) is controlled by `layout.editrevision`. Trace changes are tracked by `uid`, which only falls back on trace index if no `uid` is provided. So if your app can add/remove traces before the end of the `data` array, such that the same trace has a different index, you can still preserve user-driven changes if you give each trace a `uid` that stays with it as it moves.
	Uirevision interface{} `json:"uirevision,omitempty"`

	// Visible
	// default: %!s(bool=true)
	// type: enumerated
	// Determines whether or not this trace is visible. If *legendonly*, the trace is not drawn, but can appear as a legend item (provided that the legend itself is visible).
	Visible ParcoordsVisible `json:"visible,omitempty"`
}

Parcoords Parallel coordinates for multidimensional exploratory data analysis. The samples are specified in `dimensions`. The colors are set in `line.color`.

func (*Parcoords) GetType

func (trace *Parcoords) GetType() TraceType

type ParcoordsDomain

type ParcoordsDomain struct {

	// Column
	// arrayOK: false
	// type: integer
	// If there is a layout grid, use the domain for this column in the grid for this parcoords trace .
	Column int64 `json:"column,omitempty"`

	// Row
	// arrayOK: false
	// type: integer
	// If there is a layout grid, use the domain for this row in the grid for this parcoords trace .
	Row int64 `json:"row,omitempty"`

	// X
	// arrayOK: false
	// type: info_array
	// Sets the horizontal domain of this parcoords trace (in plot fraction).
	X interface{} `json:"x,omitempty"`

	// Y
	// arrayOK: false
	// type: info_array
	// Sets the vertical domain of this parcoords trace (in plot fraction).
	Y interface{} `json:"y,omitempty"`
}

ParcoordsDomain

type ParcoordsLabelfont

type ParcoordsLabelfont struct {

	// Color
	// arrayOK: false
	// type: color
	//
	Color Color `json:"color,omitempty"`

	// Family
	// arrayOK: false
	// type: string
	// HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.
	Family String `json:"family,omitempty"`

	// Size
	// arrayOK: false
	// type: number
	//
	Size float64 `json:"size,omitempty"`
}

ParcoordsLabelfont Sets the font for the `dimension` labels.

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 (
	ParcoordsLabelsideTop    ParcoordsLabelside = "top"
	ParcoordsLabelsideBottom ParcoordsLabelside = "bottom"
)

type ParcoordsLine

type ParcoordsLine struct {

	// Autocolorscale
	// arrayOK: false
	// type: boolean
	// Determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by `line.colorscale`. Has an effect only if in `line.color`is set to a numerical array. In case `colorscale` is unspecified or `autocolorscale` is true, the default  palette will be chosen according to whether numbers in the `color` array are all positive, all negative or mixed.
	Autocolorscale Bool `json:"autocolorscale,omitempty"`

	// Cauto
	// arrayOK: false
	// type: boolean
	// Determines whether or not the color domain is computed with respect to the input data (here in `line.color`) or the bounds set in `line.cmin` and `line.cmax`  Has an effect only if in `line.color`is set to a numerical array. Defaults to `false` when `line.cmin` and `line.cmax` are set by the user.
	Cauto Bool `json:"cauto,omitempty"`

	// Cmax
	// arrayOK: false
	// type: number
	// Sets the upper bound of the color domain. Has an effect only if in `line.color`is set to a numerical array. Value should have the same units as in `line.color` and if set, `line.cmin` must be set as well.
	Cmax float64 `json:"cmax,omitempty"`

	// Cmid
	// arrayOK: false
	// type: number
	// Sets the mid-point of the color domain by scaling `line.cmin` and/or `line.cmax` to be equidistant to this point. Has an effect only if in `line.color`is set to a numerical array. Value should have the same units as in `line.color`. Has no effect when `line.cauto` is `false`.
	Cmid float64 `json:"cmid,omitempty"`

	// Cmin
	// arrayOK: false
	// type: number
	// Sets the lower bound of the color domain. Has an effect only if in `line.color`is set to a numerical array. Value should have the same units as in `line.color` and if set, `line.cmax` must be set as well.
	Cmin float64 `json:"cmin,omitempty"`

	// Color
	// arrayOK: true
	// type: color
	// Sets 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 Color `json:"color,omitempty"`

	// Coloraxis
	// arrayOK: false
	// type: subplotid
	// Sets a reference to a shared color axis. References to these shared color axes are *coloraxis*, *coloraxis2*, *coloraxis3*, etc. Settings for these shared color axes are set in the layout, under `layout.coloraxis`, `layout.coloraxis2`, etc. Note that multiple color scales can be linked to the same color axis.
	Coloraxis String `json:"coloraxis,omitempty"`

	// Colorbar
	// role: Object
	Colorbar *ParcoordsLineColorbar `json:"colorbar,omitempty"`

	// Colorscale
	// default: [[%!s(float64=0) #440154] [%!s(float64=0.06274509803921569) #48186a] [%!s(float64=0.12549019607843137) #472d7b] [%!s(float64=0.18823529411764706) #424086] [%!s(float64=0.25098039215686274) #3b528b] [%!s(float64=0.3137254901960784) #33638d] [%!s(float64=0.3764705882352941) #2c728e] [%!s(float64=0.4392156862745098) #26828e] [%!s(float64=0.5019607843137255) #21918c] [%!s(float64=0.5647058823529412) #1fa088] [%!s(float64=0.6274509803921569) #28ae80] [%!s(float64=0.6901960784313725) #3fbc73] [%!s(float64=0.7529411764705882) #5ec962] [%!s(float64=0.8156862745098039) #84d44b] [%!s(float64=0.8784313725490196) #addc30] [%!s(float64=0.9411764705882353) #d8e219] [%!s(float64=1) #fde725]]
	// type: colorscale
	// Sets the colorscale. Has an effect only if in `line.color`is set to a numerical array. The colorscale must be an array containing arrays mapping a normalized value to an rgb, rgba, hex, hsl, hsv, or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, use`line.cmin` and `line.cmax`. Alternatively, `colorscale` may be a palette name string of the following list: Greys,YlGnBu,Greens,YlOrRd,Bluered,RdBu,Reds,Blues,Picnic,Rainbow,Portland,Jet,Hot,Blackbody,Earth,Electric,Viridis,Cividis.
	Colorscale ColorScale `json:"colorscale,omitempty"`

	// Colorsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  color .
	Colorsrc String `json:"colorsrc,omitempty"`

	// Reversescale
	// arrayOK: false
	// type: boolean
	// Reverses the color mapping if true. Has an effect only if in `line.color`is set to a numerical array. If true, `line.cmin` will correspond to the last color in the array and `line.cmax` will correspond to the first color.
	Reversescale Bool `json:"reversescale,omitempty"`

	// Showscale
	// arrayOK: false
	// type: boolean
	// Determines whether or not a colorbar is displayed for this trace. Has an effect only if in `line.color`is set to a numerical array.
	Showscale Bool `json:"showscale,omitempty"`
}

ParcoordsLine

type ParcoordsLineColorbar

type ParcoordsLineColorbar struct {

	// Bgcolor
	// arrayOK: false
	// type: color
	// Sets the color of padded area.
	Bgcolor Color `json:"bgcolor,omitempty"`

	// Bordercolor
	// arrayOK: false
	// type: color
	// Sets the axis line color.
	Bordercolor Color `json:"bordercolor,omitempty"`

	// Borderwidth
	// arrayOK: false
	// type: number
	// Sets the width (in px) or the border enclosing this color bar.
	Borderwidth float64 `json:"borderwidth,omitempty"`

	// Dtick
	// arrayOK: false
	// type: any
	// Sets the step in-between ticks on this axis. Use with `tick0`. Must be a positive number, or special strings available to *log* and *date* axes. If the axis `type` is *log*, then ticks are set every 10^(n*dtick) where n is the tick number. For example, to set a tick mark at 1, 10, 100, 1000, ... set dtick to 1. To set tick marks at 1, 100, 10000, ... set dtick to 2. To set tick marks at 1, 5, 25, 125, 625, 3125, ... set dtick to log_10(5), or 0.69897000433. *log* has several special values; *L<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
	// default: B
	// type: enumerated
	// Determines a formatting rule for the tick exponents. For example, consider the number 1,000,000,000. If *none*, it appears as 1,000,000,000. If *e*, 1e+9. If *E*, 1E+9. If *power*, 1x10^9 (with 9 in a super script). If *SI*, 1G. If *B*, 1B.
	Exponentformat ParcoordsLineColorbarExponentformat `json:"exponentformat,omitempty"`

	// Len
	// arrayOK: false
	// type: number
	// Sets the length of the color bar This measure excludes the padding of both ends. That is, the color bar length is this length minus the padding on both ends.
	Len float64 `json:"len,omitempty"`

	// Lenmode
	// default: fraction
	// type: enumerated
	// Determines whether this color bar's length (i.e. the measure in the color variation direction) is set in units of plot *fraction* or in *pixels. Use `len` to set the value.
	Lenmode ParcoordsLineColorbarLenmode `json:"lenmode,omitempty"`

	// Minexponent
	// arrayOK: false
	// type: number
	// Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*.
	Minexponent float64 `json:"minexponent,omitempty"`

	// Nticks
	// arrayOK: false
	// type: integer
	// Specifies the maximum number of ticks for the particular axis. The actual number of ticks will be chosen automatically to be less than or equal to `nticks`. Has an effect only if `tickmode` is set to *auto*.
	Nticks int64 `json:"nticks,omitempty"`

	// Outlinecolor
	// arrayOK: false
	// type: color
	// Sets the axis line color.
	Outlinecolor Color `json:"outlinecolor,omitempty"`

	// Outlinewidth
	// arrayOK: false
	// type: number
	// Sets the width (in px) of the axis line.
	Outlinewidth float64 `json:"outlinewidth,omitempty"`

	// Separatethousands
	// arrayOK: false
	// type: boolean
	// If "true", even 4-digit integers are separated
	Separatethousands Bool `json:"separatethousands,omitempty"`

	// Showexponent
	// default: all
	// type: enumerated
	// If *all*, all exponents are shown besides their significands. If *first*, only the exponent of the first tick is shown. If *last*, only the exponent of the last tick is shown. If *none*, no exponents appear.
	Showexponent ParcoordsLineColorbarShowexponent `json:"showexponent,omitempty"`

	// Showticklabels
	// arrayOK: false
	// type: boolean
	// Determines whether or not the tick labels are drawn.
	Showticklabels Bool `json:"showticklabels,omitempty"`

	// Showtickprefix
	// default: all
	// type: enumerated
	// If *all*, all tick labels are displayed with a prefix. If *first*, only the first tick is displayed with a prefix. If *last*, only the last tick is displayed with a suffix. If *none*, tick prefixes are hidden.
	Showtickprefix ParcoordsLineColorbarShowtickprefix `json:"showtickprefix,omitempty"`

	// Showticksuffix
	// default: all
	// type: enumerated
	// Same as `showtickprefix` but for tick suffixes.
	Showticksuffix ParcoordsLineColorbarShowticksuffix `json:"showticksuffix,omitempty"`

	// Thickness
	// arrayOK: false
	// type: number
	// Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.
	Thickness float64 `json:"thickness,omitempty"`

	// Thicknessmode
	// default: pixels
	// type: enumerated
	// Determines whether this color bar's thickness (i.e. the measure in the constant color direction) is set in units of plot *fraction* or in *pixels*. Use `thickness` to set the value.
	Thicknessmode ParcoordsLineColorbarThicknessmode `json:"thicknessmode,omitempty"`

	// Tick0
	// arrayOK: false
	// type: any
	// Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2) except when `dtick`=*L<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
	// arrayOK: false
	// type: angle
	// Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.
	Tickangle float64 `json:"tickangle,omitempty"`

	// Tickcolor
	// arrayOK: false
	// type: color
	// Sets the tick color.
	Tickcolor Color `json:"tickcolor,omitempty"`

	// Tickfont
	// role: Object
	Tickfont *ParcoordsLineColorbarTickfont `json:"tickfont,omitempty"`

	// Tickformat
	// arrayOK: false
	// type: string
	// Sets the tick label formatting rule using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-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
	// It's an items array and what goes inside it's... messy... check the docs
	// I will be happy if you want to contribute by implementing this
	// just raise an issue before you start so we do not overlap
	Tickformatstops interface{} `json:"tickformatstops,omitempty"`

	// Ticklabelposition
	// default: outside
	// type: enumerated
	// Determines where tick labels are drawn.
	Ticklabelposition ParcoordsLineColorbarTicklabelposition `json:"ticklabelposition,omitempty"`

	// Ticklen
	// arrayOK: false
	// type: number
	// Sets the tick length (in px).
	Ticklen float64 `json:"ticklen,omitempty"`

	// Tickmode
	// default: %!s(<nil>)
	// type: enumerated
	// Sets the tick mode for this axis. If *auto*, the number of ticks is set via `nticks`. If *linear*, the placement of the ticks is determined by a starting position `tick0` and a tick step `dtick` (*linear* is the default value if `tick0` and `dtick` are provided). If *array*, the placement of the ticks is set via `tickvals` and the tick text is `ticktext`. (*array* is the default value if `tickvals` is provided).
	Tickmode ParcoordsLineColorbarTickmode `json:"tickmode,omitempty"`

	// Tickprefix
	// arrayOK: false
	// type: string
	// Sets a tick label prefix.
	Tickprefix String `json:"tickprefix,omitempty"`

	// Ticks
	// default:
	// type: enumerated
	// Determines whether ticks are drawn or not. If **, this axis' ticks are not drawn. If *outside* (*inside*), this axis' are drawn outside (inside) the axis lines.
	Ticks ParcoordsLineColorbarTicks `json:"ticks,omitempty"`

	// Ticksuffix
	// arrayOK: false
	// type: string
	// Sets a tick label suffix.
	Ticksuffix String `json:"ticksuffix,omitempty"`

	// Ticktext
	// arrayOK: false
	// type: data_array
	// Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `tickvals`.
	Ticktext interface{} `json:"ticktext,omitempty"`

	// Ticktextsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  ticktext .
	Ticktextsrc String `json:"ticktextsrc,omitempty"`

	// Tickvals
	// arrayOK: false
	// type: data_array
	// Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.
	Tickvals interface{} `json:"tickvals,omitempty"`

	// Tickvalssrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  tickvals .
	Tickvalssrc String `json:"tickvalssrc,omitempty"`

	// Tickwidth
	// arrayOK: false
	// type: number
	// Sets the tick width (in px).
	Tickwidth float64 `json:"tickwidth,omitempty"`

	// Title
	// role: Object
	Title *ParcoordsLineColorbarTitle `json:"title,omitempty"`

	// X
	// arrayOK: false
	// type: number
	// Sets the x position of the color bar (in plot fraction).
	X float64 `json:"x,omitempty"`

	// Xanchor
	// default: left
	// type: enumerated
	// Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the color bar.
	Xanchor ParcoordsLineColorbarXanchor `json:"xanchor,omitempty"`

	// Xpad
	// arrayOK: false
	// type: number
	// Sets the amount of padding (in px) along the x direction.
	Xpad float64 `json:"xpad,omitempty"`

	// Y
	// arrayOK: false
	// type: number
	// Sets the y position of the color bar (in plot fraction).
	Y float64 `json:"y,omitempty"`

	// Yanchor
	// default: middle
	// type: enumerated
	// Sets this color bar's vertical position anchor This anchor binds the `y` position to the *top*, *middle* or *bottom* of the color bar.
	Yanchor ParcoordsLineColorbarYanchor `json:"yanchor,omitempty"`

	// Ypad
	// arrayOK: false
	// type: number
	// Sets the amount of padding (in px) along the y direction.
	Ypad float64 `json:"ypad,omitempty"`
}

ParcoordsLineColorbar

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 (
	ParcoordsLineColorbarExponentformatNone  ParcoordsLineColorbarExponentformat = "none"
	ParcoordsLineColorbarExponentformatE1    ParcoordsLineColorbarExponentformat = "e"
	ParcoordsLineColorbarExponentformatE2    ParcoordsLineColorbarExponentformat = "E"
	ParcoordsLineColorbarExponentformatPower ParcoordsLineColorbarExponentformat = "power"
	ParcoordsLineColorbarExponentformatSi    ParcoordsLineColorbarExponentformat = "SI"
	ParcoordsLineColorbarExponentformatB     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 (
	ParcoordsLineColorbarLenmodeFraction ParcoordsLineColorbarLenmode = "fraction"
	ParcoordsLineColorbarLenmodePixels   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 (
	ParcoordsLineColorbarShowexponentAll   ParcoordsLineColorbarShowexponent = "all"
	ParcoordsLineColorbarShowexponentFirst ParcoordsLineColorbarShowexponent = "first"
	ParcoordsLineColorbarShowexponentLast  ParcoordsLineColorbarShowexponent = "last"
	ParcoordsLineColorbarShowexponentNone  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 (
	ParcoordsLineColorbarShowtickprefixAll   ParcoordsLineColorbarShowtickprefix = "all"
	ParcoordsLineColorbarShowtickprefixFirst ParcoordsLineColorbarShowtickprefix = "first"
	ParcoordsLineColorbarShowtickprefixLast  ParcoordsLineColorbarShowtickprefix = "last"
	ParcoordsLineColorbarShowtickprefixNone  ParcoordsLineColorbarShowtickprefix = "none"
)

type ParcoordsLineColorbarShowticksuffix

type ParcoordsLineColorbarShowticksuffix string

ParcoordsLineColorbarShowticksuffix Same as `showtickprefix` but for tick suffixes.

const (
	ParcoordsLineColorbarShowticksuffixAll   ParcoordsLineColorbarShowticksuffix = "all"
	ParcoordsLineColorbarShowticksuffixFirst ParcoordsLineColorbarShowticksuffix = "first"
	ParcoordsLineColorbarShowticksuffixLast  ParcoordsLineColorbarShowticksuffix = "last"
	ParcoordsLineColorbarShowticksuffixNone  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 (
	ParcoordsLineColorbarThicknessmodeFraction ParcoordsLineColorbarThicknessmode = "fraction"
	ParcoordsLineColorbarThicknessmodePixels   ParcoordsLineColorbarThicknessmode = "pixels"
)

type ParcoordsLineColorbarTickfont

type ParcoordsLineColorbarTickfont struct {

	// Color
	// arrayOK: false
	// type: color
	//
	Color Color `json:"color,omitempty"`

	// Family
	// arrayOK: false
	// type: string
	// HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.
	Family String `json:"family,omitempty"`

	// Size
	// arrayOK: false
	// type: number
	//
	Size float64 `json:"size,omitempty"`
}

ParcoordsLineColorbarTickfont Sets the color bar's tick label font

type ParcoordsLineColorbarTicklabelposition added in v0.3.1

type ParcoordsLineColorbarTicklabelposition string

ParcoordsLineColorbarTicklabelposition Determines where tick labels are drawn.

const (
	ParcoordsLineColorbarTicklabelpositionOutside       ParcoordsLineColorbarTicklabelposition = "outside"
	ParcoordsLineColorbarTicklabelpositionInside        ParcoordsLineColorbarTicklabelposition = "inside"
	ParcoordsLineColorbarTicklabelpositionOutsideTop    ParcoordsLineColorbarTicklabelposition = "outside top"
	ParcoordsLineColorbarTicklabelpositionInsideTop     ParcoordsLineColorbarTicklabelposition = "inside top"
	ParcoordsLineColorbarTicklabelpositionOutsideBottom ParcoordsLineColorbarTicklabelposition = "outside bottom"
	ParcoordsLineColorbarTicklabelpositionInsideBottom  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 (
	ParcoordsLineColorbarTickmodeAuto   ParcoordsLineColorbarTickmode = "auto"
	ParcoordsLineColorbarTickmodeLinear ParcoordsLineColorbarTickmode = "linear"
	ParcoordsLineColorbarTickmodeArray  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 (
	ParcoordsLineColorbarTicksOutside ParcoordsLineColorbarTicks = "outside"
	ParcoordsLineColorbarTicksInside  ParcoordsLineColorbarTicks = "inside"
	ParcoordsLineColorbarTicksEmpty   ParcoordsLineColorbarTicks = ""
)

type ParcoordsLineColorbarTitle

type ParcoordsLineColorbarTitle struct {

	// Font
	// role: Object
	Font *ParcoordsLineColorbarTitleFont `json:"font,omitempty"`

	// Side
	// default: top
	// type: enumerated
	// Determines the location of color bar's title with respect to the color bar. Note that the title's location used to be set by the now deprecated `titleside` attribute.
	Side ParcoordsLineColorbarTitleSide `json:"side,omitempty"`

	// Text
	// arrayOK: false
	// type: string
	// Sets the title of the color bar. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.
	Text String `json:"text,omitempty"`
}

ParcoordsLineColorbarTitle

type ParcoordsLineColorbarTitleFont

type ParcoordsLineColorbarTitleFont struct {

	// Color
	// arrayOK: false
	// type: color
	//
	Color Color `json:"color,omitempty"`

	// Family
	// arrayOK: false
	// type: string
	// HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.
	Family String `json:"family,omitempty"`

	// Size
	// arrayOK: false
	// type: number
	//
	Size float64 `json:"size,omitempty"`
}

ParcoordsLineColorbarTitleFont Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.

type 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 (
	ParcoordsLineColorbarTitleSideRight  ParcoordsLineColorbarTitleSide = "right"
	ParcoordsLineColorbarTitleSideTop    ParcoordsLineColorbarTitleSide = "top"
	ParcoordsLineColorbarTitleSideBottom 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 (
	ParcoordsLineColorbarXanchorLeft   ParcoordsLineColorbarXanchor = "left"
	ParcoordsLineColorbarXanchorCenter ParcoordsLineColorbarXanchor = "center"
	ParcoordsLineColorbarXanchorRight  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 (
	ParcoordsLineColorbarYanchorTop    ParcoordsLineColorbarYanchor = "top"
	ParcoordsLineColorbarYanchorMiddle ParcoordsLineColorbarYanchor = "middle"
	ParcoordsLineColorbarYanchorBottom ParcoordsLineColorbarYanchor = "bottom"
)

type ParcoordsRangefont

type ParcoordsRangefont struct {

	// Color
	// arrayOK: false
	// type: color
	//
	Color Color `json:"color,omitempty"`

	// Family
	// arrayOK: false
	// type: string
	// HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.
	Family String `json:"family,omitempty"`

	// Size
	// arrayOK: false
	// type: number
	//
	Size float64 `json:"size,omitempty"`
}

ParcoordsRangefont Sets the font for the `dimension` range values.

type ParcoordsStream

type ParcoordsStream struct {

	// Maxpoints
	// arrayOK: false
	// type: number
	// Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot.
	Maxpoints float64 `json:"maxpoints,omitempty"`

	// Token
	// arrayOK: false
	// type: string
	// The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details.
	Token String `json:"token,omitempty"`
}

ParcoordsStream

type ParcoordsTickfont

type ParcoordsTickfont struct {

	// Color
	// arrayOK: false
	// type: color
	//
	Color Color `json:"color,omitempty"`

	// Family
	// arrayOK: false
	// type: string
	// HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.
	Family String `json:"family,omitempty"`

	// Size
	// arrayOK: false
	// type: number
	//
	Size float64 `json:"size,omitempty"`
}

ParcoordsTickfont Sets the font for the `dimension` tick values.

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 (
	ParcoordsVisibleTrue       ParcoordsVisible = true
	ParcoordsVisibleFalse      ParcoordsVisible = false
	ParcoordsVisibleLegendonly ParcoordsVisible = "legendonly"
)

type Pie

type Pie struct {

	// Type
	// is the type of the plot
	Type TraceType `json:"type,omitempty"`

	// Automargin
	// arrayOK: false
	// type: boolean
	// Determines whether outside text labels can push the margins.
	Automargin Bool `json:"automargin,omitempty"`

	// Customdata
	// arrayOK: false
	// type: data_array
	// Assigns extra data each datum. This may be useful when listening to hover, click and selection events. Note that, *scatter* traces also appends customdata items in the markers DOM elements
	Customdata interface{} `json:"customdata,omitempty"`

	// Customdatasrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  customdata .
	Customdatasrc String `json:"customdatasrc,omitempty"`

	// Direction
	// default: counterclockwise
	// type: enumerated
	// Specifies the direction at which succeeding sectors follow one another.
	Direction PieDirection `json:"direction,omitempty"`

	// Dlabel
	// arrayOK: false
	// type: number
	// Sets the label step. See `label0` for more info.
	Dlabel float64 `json:"dlabel,omitempty"`

	// Domain
	// role: Object
	Domain *PieDomain `json:"domain,omitempty"`

	// Hole
	// arrayOK: false
	// type: number
	// Sets the fraction of the radius to cut out of the pie. Use this to make a donut chart.
	Hole float64 `json:"hole,omitempty"`

	// Hoverinfo
	// default: all
	// type: flaglist
	// Determines which trace information appear on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired.
	Hoverinfo PieHoverinfo `json:"hoverinfo,omitempty"`

	// Hoverinfosrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  hoverinfo .
	Hoverinfosrc String `json:"hoverinfosrc,omitempty"`

	// Hoverlabel
	// role: Object
	Hoverlabel *PieHoverlabel `json:"hoverlabel,omitempty"`

	// Hovertemplate
	// arrayOK: true
	// type: string
	// Template string used for rendering the information that appear on hover box. Note that this will override `hoverinfo`. Variables are inserted using %{variable}, for example "y: %{y}". 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 String `json:"hovertemplate,omitempty"`

	// Hovertemplatesrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  hovertemplate .
	Hovertemplatesrc String `json:"hovertemplatesrc,omitempty"`

	// Hovertext
	// arrayOK: true
	// type: string
	// Sets hover text elements associated with each sector. If a single string, the same string appears for all data points. If an array of string, the items are mapped in order of this trace's sectors. To be seen, trace `hoverinfo` must contain a *text* flag.
	Hovertext String `json:"hovertext,omitempty"`

	// Hovertextsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  hovertext .
	Hovertextsrc String `json:"hovertextsrc,omitempty"`

	// Ids
	// arrayOK: false
	// type: data_array
	// Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type.
	Ids interface{} `json:"ids,omitempty"`

	// Idssrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  ids .
	Idssrc String `json:"idssrc,omitempty"`

	// Insidetextfont
	// role: Object
	Insidetextfont *PieInsidetextfont `json:"insidetextfont,omitempty"`

	// Insidetextorientation
	// default: auto
	// type: enumerated
	// Controls the orientation of the text inside chart sectors. When set to *auto*, text may be oriented in any direction in order to be as big as possible in the middle of a sector. The *horizontal* option orients text to be parallel with the bottom of the chart, and may make text smaller in order to achieve that goal. The *radial* option orients text along the radius of the sector. The *tangential* option orients text perpendicular to the radius of the sector.
	Insidetextorientation PieInsidetextorientation `json:"insidetextorientation,omitempty"`

	// Label0
	// arrayOK: false
	// type: number
	// Alternate to `labels`. Builds a numeric set of labels. Use with `dlabel` where `label0` is the starting label and `dlabel` the step.
	Label0 float64 `json:"label0,omitempty"`

	// Labels
	// arrayOK: false
	// type: data_array
	// Sets the sector labels. If `labels` entries are duplicated, we sum associated `values` or simply count occurrences if `values` is not provided. For other array attributes (including color) we use the first non-empty entry among all occurrences of the label.
	Labels interface{} `json:"labels,omitempty"`

	// Labelssrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  labels .
	Labelssrc String `json:"labelssrc,omitempty"`

	// Legendgroup
	// arrayOK: false
	// type: string
	// Sets the legend group for this trace. Traces part of the same legend group hide/show at the same time when toggling legend items.
	Legendgroup String `json:"legendgroup,omitempty"`

	// Marker
	// role: Object
	Marker *PieMarker `json:"marker,omitempty"`

	// Meta
	// arrayOK: true
	// type: any
	// Assigns extra meta information associated with this trace that can be used in various text attributes. Attributes such as trace `name`, graph, axis and colorbar `title.text`, annotation `text` `rangeselector`, `updatemenues` and `sliders` `label` text all support `meta`. To access the trace `meta` values in an attribute in the same trace, simply use `%{meta[i]}` where `i` is the index or key of the `meta` item in question. To access trace `meta` in layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index.
	Meta interface{} `json:"meta,omitempty"`

	// Metasrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  meta .
	Metasrc String `json:"metasrc,omitempty"`

	// Name
	// arrayOK: false
	// type: string
	// Sets the trace name. The trace name appear as the legend item and on hover.
	Name String `json:"name,omitempty"`

	// Opacity
	// arrayOK: false
	// type: number
	// Sets the opacity of the trace.
	Opacity float64 `json:"opacity,omitempty"`

	// Outsidetextfont
	// role: Object
	Outsidetextfont *PieOutsidetextfont `json:"outsidetextfont,omitempty"`

	// Pull
	// arrayOK: true
	// type: number
	// Sets the fraction of larger radius to pull the sectors out from the center. This can be a constant to pull all slices apart from each other equally or an array to highlight one or more slices.
	Pull float64 `json:"pull,omitempty"`

	// Pullsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  pull .
	Pullsrc String `json:"pullsrc,omitempty"`

	// Rotation
	// arrayOK: false
	// type: number
	// Instead of the first slice starting at 12 o'clock, rotate to some other angle.
	Rotation float64 `json:"rotation,omitempty"`

	// Scalegroup
	// arrayOK: false
	// type: string
	// If there are multiple pie charts that should be sized according to their totals, link them by providing a non-empty group id here shared by every trace in the same group.
	Scalegroup String `json:"scalegroup,omitempty"`

	// Showlegend
	// arrayOK: false
	// type: boolean
	// Determines whether or not an item corresponding to this trace is shown in the legend.
	Showlegend Bool `json:"showlegend,omitempty"`

	// Sort
	// arrayOK: false
	// type: boolean
	// Determines whether or not the sectors are reordered from largest to smallest.
	Sort Bool `json:"sort,omitempty"`

	// Stream
	// role: Object
	Stream *PieStream `json:"stream,omitempty"`

	// Text
	// arrayOK: false
	// type: data_array
	// Sets text elements associated with each sector. If trace `textinfo` contains a *text* flag, these elements will be seen on the chart. If trace `hoverinfo` contains a *text* flag and *hovertext* is not set, these elements will be seen in the hover labels.
	Text interface{} `json:"text,omitempty"`

	// Textfont
	// role: Object
	Textfont *PieTextfont `json:"textfont,omitempty"`

	// Textinfo
	// default: %!s(<nil>)
	// type: flaglist
	// Determines which trace information appear on the graph.
	Textinfo PieTextinfo `json:"textinfo,omitempty"`

	// Textposition
	// default: auto
	// type: enumerated
	// Specifies the location of the `textinfo`.
	Textposition PieTextposition `json:"textposition,omitempty"`

	// Textpositionsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  textposition .
	Textpositionsrc String `json:"textpositionsrc,omitempty"`

	// Textsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  text .
	Textsrc String `json:"textsrc,omitempty"`

	// Texttemplate
	// arrayOK: true
	// type: string
	// Template string used for rendering the information text that appear on points. Note that this will override `textinfo`. Variables are inserted using %{variable}, for example "y: %{y}". Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example "Price: %{y:$.2f}". https://github.com/d3/d3-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 String `json:"texttemplate,omitempty"`

	// Texttemplatesrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  texttemplate .
	Texttemplatesrc String `json:"texttemplatesrc,omitempty"`

	// Title
	// role: Object
	Title *PieTitle `json:"title,omitempty"`

	// Transforms
	// It's an items array and what goes inside it's... messy... check the docs
	// I will be happy if you want to contribute by implementing this
	// just raise an issue before you start so we do not overlap
	Transforms interface{} `json:"transforms,omitempty"`

	// Uid
	// arrayOK: false
	// type: string
	// Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.
	Uid String `json:"uid,omitempty"`

	// Uirevision
	// arrayOK: false
	// type: any
	// Controls persistence of some user-driven changes to the trace: `constraintrange` in `parcoords` traces, as well as some `editable: true` modifications such as `name` and `colorbar.title`. Defaults to `layout.uirevision`. Note that other user-driven trace attribute changes are controlled by `layout` attributes: `trace.visible` is controlled by `layout.legend.uirevision`, `selectedpoints` is controlled by `layout.selectionrevision`, and `colorbar.(x|y)` (accessible with `config: {editable: true}`) is controlled by `layout.editrevision`. Trace changes are tracked by `uid`, which only falls back on trace index if no `uid` is provided. So if your app can add/remove traces before the end of the `data` array, such that the same trace has a different index, you can still preserve user-driven changes if you give each trace a `uid` that stays with it as it moves.
	Uirevision interface{} `json:"uirevision,omitempty"`

	// Values
	// arrayOK: false
	// type: data_array
	// Sets the values of the sectors. If omitted, we count occurrences of each label.
	Values interface{} `json:"values,omitempty"`

	// Valuessrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  values .
	Valuessrc String `json:"valuessrc,omitempty"`

	// Visible
	// default: %!s(bool=true)
	// type: enumerated
	// Determines whether or not this trace is visible. If *legendonly*, the trace is not drawn, but can appear as a legend item (provided that the legend itself is visible).
	Visible PieVisible `json:"visible,omitempty"`
}

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 (*Pie) GetType

func (trace *Pie) GetType() TraceType

type PieDirection

type PieDirection string

PieDirection Specifies the direction at which succeeding sectors follow one another.

const (
	PieDirectionClockwise        PieDirection = "clockwise"
	PieDirectionCounterclockwise PieDirection = "counterclockwise"
)

type PieDomain

type PieDomain struct {

	// Column
	// arrayOK: false
	// type: integer
	// If there is a layout grid, use the domain for this column in the grid for this pie trace .
	Column int64 `json:"column,omitempty"`

	// Row
	// arrayOK: false
	// type: integer
	// If there is a layout grid, use the domain for this row in the grid for this pie trace .
	Row int64 `json:"row,omitempty"`

	// X
	// arrayOK: false
	// type: info_array
	// Sets the horizontal domain of this pie trace (in plot fraction).
	X interface{} `json:"x,omitempty"`

	// Y
	// arrayOK: false
	// type: info_array
	// Sets the vertical domain of this pie trace (in plot fraction).
	Y interface{} `json:"y,omitempty"`
}

PieDomain

type PieHoverinfo

type PieHoverinfo string

PieHoverinfo Determines which trace information appear on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired.

const (
	// Flags
	PieHoverinfoLabel   PieHoverinfo = "label"
	PieHoverinfoText    PieHoverinfo = "text"
	PieHoverinfoValue   PieHoverinfo = "value"
	PieHoverinfoPercent PieHoverinfo = "percent"
	PieHoverinfoName    PieHoverinfo = "name"

	// Extra
	PieHoverinfoAll  PieHoverinfo = "all"
	PieHoverinfoNone PieHoverinfo = "none"
	PieHoverinfoSkip PieHoverinfo = "skip"
)

type PieHoverlabel

type PieHoverlabel struct {

	// Align
	// default: auto
	// type: enumerated
	// Sets the horizontal alignment of the text content within hover label box. Has an effect only if the hover label text spans more two or more lines
	Align PieHoverlabelAlign `json:"align,omitempty"`

	// Alignsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  align .
	Alignsrc String `json:"alignsrc,omitempty"`

	// Bgcolor
	// arrayOK: true
	// type: color
	// Sets the background color of the hover labels for this trace
	Bgcolor Color `json:"bgcolor,omitempty"`

	// Bgcolorsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  bgcolor .
	Bgcolorsrc String `json:"bgcolorsrc,omitempty"`

	// Bordercolor
	// arrayOK: true
	// type: color
	// Sets the border color of the hover labels for this trace.
	Bordercolor Color `json:"bordercolor,omitempty"`

	// Bordercolorsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  bordercolor .
	Bordercolorsrc String `json:"bordercolorsrc,omitempty"`

	// Font
	// role: Object
	Font *PieHoverlabelFont `json:"font,omitempty"`

	// Namelength
	// arrayOK: true
	// type: integer
	// Sets the default length (in number of characters) of the trace name in the hover labels for all traces. -1 shows the whole name regardless of length. 0-3 shows the first 0-3 characters, and an integer >3 will show the whole name if it is less than that many characters, but if it is longer, will truncate to `namelength - 3` characters and add an ellipsis.
	Namelength int64 `json:"namelength,omitempty"`

	// Namelengthsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  namelength .
	Namelengthsrc String `json:"namelengthsrc,omitempty"`
}

PieHoverlabel

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 (
	PieHoverlabelAlignLeft  PieHoverlabelAlign = "left"
	PieHoverlabelAlignRight PieHoverlabelAlign = "right"
	PieHoverlabelAlignAuto  PieHoverlabelAlign = "auto"
)

type PieHoverlabelFont

type PieHoverlabelFont struct {

	// Color
	// arrayOK: true
	// type: color
	//
	Color Color `json:"color,omitempty"`

	// Colorsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  color .
	Colorsrc String `json:"colorsrc,omitempty"`

	// Family
	// arrayOK: true
	// type: string
	// HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.
	Family String `json:"family,omitempty"`

	// Familysrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  family .
	Familysrc String `json:"familysrc,omitempty"`

	// Size
	// arrayOK: true
	// type: number
	//
	Size float64 `json:"size,omitempty"`

	// Sizesrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  size .
	Sizesrc String `json:"sizesrc,omitempty"`
}

PieHoverlabelFont Sets the font used in hover labels.

type PieInsidetextfont

type PieInsidetextfont struct {

	// Color
	// arrayOK: true
	// type: color
	//
	Color Color `json:"color,omitempty"`

	// Colorsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  color .
	Colorsrc String `json:"colorsrc,omitempty"`

	// Family
	// arrayOK: true
	// type: string
	// HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.
	Family String `json:"family,omitempty"`

	// Familysrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  family .
	Familysrc String `json:"familysrc,omitempty"`

	// Size
	// arrayOK: true
	// type: number
	//
	Size float64 `json:"size,omitempty"`

	// Sizesrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  size .
	Sizesrc String `json:"sizesrc,omitempty"`
}

PieInsidetextfont Sets the font used for `textinfo` lying inside the sector.

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 (
	PieInsidetextorientationHorizontal PieInsidetextorientation = "horizontal"
	PieInsidetextorientationRadial     PieInsidetextorientation = "radial"
	PieInsidetextorientationTangential PieInsidetextorientation = "tangential"
	PieInsidetextorientationAuto       PieInsidetextorientation = "auto"
)

type PieMarker

type PieMarker struct {

	// Colors
	// arrayOK: false
	// type: data_array
	// Sets the color of each sector. If not specified, the default trace color set is used to pick the sector colors.
	Colors interface{} `json:"colors,omitempty"`

	// Colorssrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  colors .
	Colorssrc String `json:"colorssrc,omitempty"`

	// Line
	// role: Object
	Line *PieMarkerLine `json:"line,omitempty"`
}

PieMarker

type PieMarkerLine

type PieMarkerLine struct {

	// Color
	// arrayOK: true
	// type: color
	// Sets the color of the line enclosing each sector.
	Color Color `json:"color,omitempty"`

	// Colorsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  color .
	Colorsrc String `json:"colorsrc,omitempty"`

	// Width
	// arrayOK: true
	// type: number
	// Sets the width (in px) of the line enclosing each sector.
	Width float64 `json:"width,omitempty"`

	// Widthsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  width .
	Widthsrc String `json:"widthsrc,omitempty"`
}

PieMarkerLine

type PieOutsidetextfont

type PieOutsidetextfont struct {

	// Color
	// arrayOK: true
	// type: color
	//
	Color Color `json:"color,omitempty"`

	// Colorsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  color .
	Colorsrc String `json:"colorsrc,omitempty"`

	// Family
	// arrayOK: true
	// type: string
	// HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.
	Family String `json:"family,omitempty"`

	// Familysrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  family .
	Familysrc String `json:"familysrc,omitempty"`

	// Size
	// arrayOK: true
	// type: number
	//
	Size float64 `json:"size,omitempty"`

	// Sizesrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  size .
	Sizesrc String `json:"sizesrc,omitempty"`
}

PieOutsidetextfont Sets the font used for `textinfo` lying outside the sector.

type PieStream

type PieStream struct {

	// Maxpoints
	// arrayOK: false
	// type: number
	// Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot.
	Maxpoints float64 `json:"maxpoints,omitempty"`

	// Token
	// arrayOK: false
	// type: string
	// The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details.
	Token String `json:"token,omitempty"`
}

PieStream

type PieTextfont

type PieTextfont struct {

	// Color
	// arrayOK: true
	// type: color
	//
	Color Color `json:"color,omitempty"`

	// Colorsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  color .
	Colorsrc String `json:"colorsrc,omitempty"`

	// Family
	// arrayOK: true
	// type: string
	// HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.
	Family String `json:"family,omitempty"`

	// Familysrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  family .
	Familysrc String `json:"familysrc,omitempty"`

	// Size
	// arrayOK: true
	// type: number
	//
	Size float64 `json:"size,omitempty"`

	// Sizesrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  size .
	Sizesrc String `json:"sizesrc,omitempty"`
}

PieTextfont Sets the font used for `textinfo`.

type PieTextinfo

type PieTextinfo string

PieTextinfo Determines which trace information appear on the graph.

const (
	// Flags
	PieTextinfoLabel   PieTextinfo = "label"
	PieTextinfoText    PieTextinfo = "text"
	PieTextinfoValue   PieTextinfo = "value"
	PieTextinfoPercent PieTextinfo = "percent"

	// Extra
	PieTextinfoNone PieTextinfo = "none"
)

type PieTextposition

type PieTextposition string

PieTextposition Specifies the location of the `textinfo`.

const (
	PieTextpositionInside  PieTextposition = "inside"
	PieTextpositionOutside PieTextposition = "outside"
	PieTextpositionAuto    PieTextposition = "auto"
	PieTextpositionNone    PieTextposition = "none"
)

type PieTitle

type PieTitle struct {

	// Font
	// role: Object
	Font *PieTitleFont `json:"font,omitempty"`

	// Position
	// default: %!s(<nil>)
	// type: enumerated
	// Specifies the location of the `title`. Note that the title's position used to be set by the now deprecated `titleposition` attribute.
	Position PieTitlePosition `json:"position,omitempty"`

	// Text
	// arrayOK: false
	// type: string
	// Sets the title of the chart. If it is empty, no title is displayed. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.
	Text String `json:"text,omitempty"`
}

PieTitle

type PieTitleFont

type PieTitleFont struct {

	// Color
	// arrayOK: true
	// type: color
	//
	Color Color `json:"color,omitempty"`

	// Colorsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  color .
	Colorsrc String `json:"colorsrc,omitempty"`

	// Family
	// arrayOK: true
	// type: string
	// HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.
	Family String `json:"family,omitempty"`

	// Familysrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  family .
	Familysrc String `json:"familysrc,omitempty"`

	// Size
	// arrayOK: true
	// type: number
	//
	Size float64 `json:"size,omitempty"`

	// Sizesrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  size .
	Sizesrc String `json:"sizesrc,omitempty"`
}

PieTitleFont Sets the font used for `title`. Note that the title's font used to be set by the now deprecated `titlefont` attribute.

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 (
	PieTitlePositionTopLeft      PieTitlePosition = "top left"
	PieTitlePositionTopCenter    PieTitlePosition = "top center"
	PieTitlePositionTopRight     PieTitlePosition = "top right"
	PieTitlePositionMiddleCenter PieTitlePosition = "middle center"
	PieTitlePositionBottomLeft   PieTitlePosition = "bottom left"
	PieTitlePositionBottomCenter PieTitlePosition = "bottom center"
	PieTitlePositionBottomRight  PieTitlePosition = "bottom right"
)

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 (
	PieVisibleTrue       PieVisible = true
	PieVisibleFalse      PieVisible = false
	PieVisibleLegendonly PieVisible = "legendonly"
)

type Pointcloud

type Pointcloud struct {

	// Type
	// is the type of the plot
	Type TraceType `json:"type,omitempty"`

	// Customdata
	// arrayOK: false
	// type: data_array
	// Assigns extra data each datum. This may be useful when listening to hover, click and selection events. Note that, *scatter* traces also appends customdata items in the markers DOM elements
	Customdata interface{} `json:"customdata,omitempty"`

	// Customdatasrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  customdata .
	Customdatasrc String `json:"customdatasrc,omitempty"`

	// Hoverinfo
	// default: all
	// type: flaglist
	// Determines which trace information appear on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired.
	Hoverinfo PointcloudHoverinfo `json:"hoverinfo,omitempty"`

	// Hoverinfosrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  hoverinfo .
	Hoverinfosrc String `json:"hoverinfosrc,omitempty"`

	// Hoverlabel
	// role: Object
	Hoverlabel *PointcloudHoverlabel `json:"hoverlabel,omitempty"`

	// Ids
	// arrayOK: false
	// type: data_array
	// Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type.
	Ids interface{} `json:"ids,omitempty"`

	// Idssrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  ids .
	Idssrc String `json:"idssrc,omitempty"`

	// Indices
	// arrayOK: false
	// type: data_array
	// A sequential value, 0..n, supply it to avoid creating this array inside plotting. If specified, it must be a typed `Int32Array` array. Its length must be equal to or greater than the number of points. For the best performance and memory use, create one large `indices` typed array that is guaranteed to be at least as long as the largest number of points during use, and reuse it on each `Plotly.restyle()` call.
	Indices interface{} `json:"indices,omitempty"`

	// Indicessrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  indices .
	Indicessrc String `json:"indicessrc,omitempty"`

	// Legendgroup
	// arrayOK: false
	// type: string
	// Sets the legend group for this trace. Traces part of the same legend group hide/show at the same time when toggling legend items.
	Legendgroup String `json:"legendgroup,omitempty"`

	// Marker
	// role: Object
	Marker *PointcloudMarker `json:"marker,omitempty"`

	// Meta
	// arrayOK: true
	// type: any
	// Assigns extra meta information associated with this trace that can be used in various text attributes. Attributes such as trace `name`, graph, axis and colorbar `title.text`, annotation `text` `rangeselector`, `updatemenues` and `sliders` `label` text all support `meta`. To access the trace `meta` values in an attribute in the same trace, simply use `%{meta[i]}` where `i` is the index or key of the `meta` item in question. To access trace `meta` in layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index.
	Meta interface{} `json:"meta,omitempty"`

	// Metasrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  meta .
	Metasrc String `json:"metasrc,omitempty"`

	// Name
	// arrayOK: false
	// type: string
	// Sets the trace name. The trace name appear as the legend item and on hover.
	Name String `json:"name,omitempty"`

	// Opacity
	// arrayOK: false
	// type: number
	// Sets the opacity of the trace.
	Opacity float64 `json:"opacity,omitempty"`

	// Showlegend
	// arrayOK: false
	// type: boolean
	// Determines whether or not an item corresponding to this trace is shown in the legend.
	Showlegend Bool `json:"showlegend,omitempty"`

	// Stream
	// role: Object
	Stream *PointcloudStream `json:"stream,omitempty"`

	// Text
	// arrayOK: true
	// type: string
	// Sets text elements associated with each (x,y) pair. If a single string, the same string appears over all the data points. If an array of string, the items are mapped in order to the this trace's (x,y) coordinates. If trace `hoverinfo` contains a *text* flag and *hovertext* is not set, these elements will be seen in the hover labels.
	Text String `json:"text,omitempty"`

	// Textsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  text .
	Textsrc String `json:"textsrc,omitempty"`

	// Uid
	// arrayOK: false
	// type: string
	// Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.
	Uid String `json:"uid,omitempty"`

	// Uirevision
	// arrayOK: false
	// type: any
	// Controls persistence of some user-driven changes to the trace: `constraintrange` in `parcoords` traces, as well as some `editable: true` modifications such as `name` and `colorbar.title`. Defaults to `layout.uirevision`. Note that other user-driven trace attribute changes are controlled by `layout` attributes: `trace.visible` is controlled by `layout.legend.uirevision`, `selectedpoints` is controlled by `layout.selectionrevision`, and `colorbar.(x|y)` (accessible with `config: {editable: true}`) is controlled by `layout.editrevision`. Trace changes are tracked by `uid`, which only falls back on trace index if no `uid` is provided. So if your app can add/remove traces before the end of the `data` array, such that the same trace has a different index, you can still preserve user-driven changes if you give each trace a `uid` that stays with it as it moves.
	Uirevision interface{} `json:"uirevision,omitempty"`

	// Visible
	// default: %!s(bool=true)
	// type: enumerated
	// Determines whether or not this trace is visible. If *legendonly*, the trace is not drawn, but can appear as a legend item (provided that the legend itself is visible).
	Visible PointcloudVisible `json:"visible,omitempty"`

	// X
	// arrayOK: false
	// type: data_array
	// Sets the x coordinates.
	X interface{} `json:"x,omitempty"`

	// Xaxis
	// arrayOK: false
	// type: subplotid
	// Sets a reference between this trace's x coordinates and a 2D cartesian x axis. If *x* (the default value), the x coordinates refer to `layout.xaxis`. If *x2*, the x coordinates refer to `layout.xaxis2`, and so on.
	Xaxis String `json:"xaxis,omitempty"`

	// Xbounds
	// arrayOK: false
	// type: data_array
	// Specify `xbounds` in the shape of `[xMin, xMax] to avoid looping through the `xy` typed array. Use it in conjunction with `xy` and `ybounds` for the performance benefits.
	Xbounds interface{} `json:"xbounds,omitempty"`

	// Xboundssrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  xbounds .
	Xboundssrc String `json:"xboundssrc,omitempty"`

	// Xsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  x .
	Xsrc String `json:"xsrc,omitempty"`

	// Xy
	// arrayOK: false
	// type: data_array
	// Faster alternative to specifying `x` and `y` separately. If supplied, it must be a typed `Float32Array` array that represents points such that `xy[i * 2] = x[i]` and `xy[i * 2 + 1] = y[i]`
	Xy interface{} `json:"xy,omitempty"`

	// Xysrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  xy .
	Xysrc String `json:"xysrc,omitempty"`

	// Y
	// arrayOK: false
	// type: data_array
	// Sets the y coordinates.
	Y interface{} `json:"y,omitempty"`

	// Yaxis
	// arrayOK: false
	// type: subplotid
	// Sets a reference between this trace's y coordinates and a 2D cartesian y axis. If *y* (the default value), the y coordinates refer to `layout.yaxis`. If *y2*, the y coordinates refer to `layout.yaxis2`, and so on.
	Yaxis String `json:"yaxis,omitempty"`

	// Ybounds
	// arrayOK: false
	// type: data_array
	// Specify `ybounds` in the shape of `[yMin, yMax] to avoid looping through the `xy` typed array. Use it in conjunction with `xy` and `xbounds` for the performance benefits.
	Ybounds interface{} `json:"ybounds,omitempty"`

	// Yboundssrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  ybounds .
	Yboundssrc String `json:"yboundssrc,omitempty"`

	// Ysrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  y .
	Ysrc String `json:"ysrc,omitempty"`
}

Pointcloud The data visualized as a point cloud set in `x` and `y` using the WebGl plotting engine.

func (*Pointcloud) GetType

func (trace *Pointcloud) GetType() TraceType

type PointcloudHoverinfo

type PointcloudHoverinfo string

PointcloudHoverinfo Determines which trace information appear on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired.

const (
	// Flags
	PointcloudHoverinfoX    PointcloudHoverinfo = "x"
	PointcloudHoverinfoY    PointcloudHoverinfo = "y"
	PointcloudHoverinfoZ    PointcloudHoverinfo = "z"
	PointcloudHoverinfoText PointcloudHoverinfo = "text"
	PointcloudHoverinfoName PointcloudHoverinfo = "name"

	// Extra
	PointcloudHoverinfoAll  PointcloudHoverinfo = "all"
	PointcloudHoverinfoNone PointcloudHoverinfo = "none"
	PointcloudHoverinfoSkip PointcloudHoverinfo = "skip"
)

type PointcloudHoverlabel

type PointcloudHoverlabel struct {

	// Align
	// default: auto
	// type: enumerated
	// Sets the horizontal alignment of the text content within hover label box. Has an effect only if the hover label text spans more two or more lines
	Align PointcloudHoverlabelAlign `json:"align,omitempty"`

	// Alignsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  align .
	Alignsrc String `json:"alignsrc,omitempty"`

	// Bgcolor
	// arrayOK: true
	// type: color
	// Sets the background color of the hover labels for this trace
	Bgcolor Color `json:"bgcolor,omitempty"`

	// Bgcolorsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  bgcolor .
	Bgcolorsrc String `json:"bgcolorsrc,omitempty"`

	// Bordercolor
	// arrayOK: true
	// type: color
	// Sets the border color of the hover labels for this trace.
	Bordercolor Color `json:"bordercolor,omitempty"`

	// Bordercolorsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  bordercolor .
	Bordercolorsrc String `json:"bordercolorsrc,omitempty"`

	// Font
	// role: Object
	Font *PointcloudHoverlabelFont `json:"font,omitempty"`

	// Namelength
	// arrayOK: true
	// type: integer
	// Sets the default length (in number of characters) of the trace name in the hover labels for all traces. -1 shows the whole name regardless of length. 0-3 shows the first 0-3 characters, and an integer >3 will show the whole name if it is less than that many characters, but if it is longer, will truncate to `namelength - 3` characters and add an ellipsis.
	Namelength int64 `json:"namelength,omitempty"`

	// Namelengthsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  namelength .
	Namelengthsrc String `json:"namelengthsrc,omitempty"`
}

PointcloudHoverlabel

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 (
	PointcloudHoverlabelAlignLeft  PointcloudHoverlabelAlign = "left"
	PointcloudHoverlabelAlignRight PointcloudHoverlabelAlign = "right"
	PointcloudHoverlabelAlignAuto  PointcloudHoverlabelAlign = "auto"
)

type PointcloudHoverlabelFont

type PointcloudHoverlabelFont struct {

	// Color
	// arrayOK: true
	// type: color
	//
	Color Color `json:"color,omitempty"`

	// Colorsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  color .
	Colorsrc String `json:"colorsrc,omitempty"`

	// Family
	// arrayOK: true
	// type: string
	// HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.
	Family String `json:"family,omitempty"`

	// Familysrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  family .
	Familysrc String `json:"familysrc,omitempty"`

	// Size
	// arrayOK: true
	// type: number
	//
	Size float64 `json:"size,omitempty"`

	// Sizesrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  size .
	Sizesrc String `json:"sizesrc,omitempty"`
}

PointcloudHoverlabelFont Sets the font used in hover labels.

type PointcloudMarker

type PointcloudMarker struct {

	// Blend
	// arrayOK: false
	// type: boolean
	// Determines if colors are blended together for a translucency effect in case `opacity` is specified as a value less then `1`. Setting `blend` to `true` reduces zoom/pan speed if used with large numbers of points.
	Blend Bool `json:"blend,omitempty"`

	// Border
	// role: Object
	Border *PointcloudMarkerBorder `json:"border,omitempty"`

	// Color
	// arrayOK: false
	// type: color
	// Sets the marker fill color. It accepts a specific color.If the color is not fully opaque and there are hundreds of thousandsof points, it may cause slower zooming and panning.
	Color Color `json:"color,omitempty"`

	// Opacity
	// arrayOK: false
	// type: number
	// Sets the marker opacity. The default value is `1` (fully opaque). If the markers are not fully opaque and there are hundreds of thousands of points, it may cause slower zooming and panning. Opacity fades the color even if `blend` is left on `false` even if there is no translucency effect in that case.
	Opacity float64 `json:"opacity,omitempty"`

	// Sizemax
	// arrayOK: false
	// type: number
	// Sets the maximum size (in px) of the rendered marker points. Effective when the `pointcloud` shows only few points.
	Sizemax float64 `json:"sizemax,omitempty"`

	// Sizemin
	// arrayOK: false
	// type: number
	// Sets the minimum size (in px) of the rendered marker points, effective when the `pointcloud` shows a million or more points.
	Sizemin float64 `json:"sizemin,omitempty"`
}

PointcloudMarker

type PointcloudMarkerBorder

type PointcloudMarkerBorder struct {

	// Arearatio
	// arrayOK: false
	// type: number
	// Specifies what fraction of the marker area is covered with the border.
	Arearatio float64 `json:"arearatio,omitempty"`

	// Color
	// arrayOK: false
	// type: color
	// Sets the stroke color. It accepts a specific color. If the color is not fully opaque and there are hundreds of thousands of points, it may cause slower zooming and panning.
	Color Color `json:"color,omitempty"`
}

PointcloudMarkerBorder

type PointcloudStream

type PointcloudStream struct {

	// Maxpoints
	// arrayOK: false
	// type: number
	// Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot.
	Maxpoints float64 `json:"maxpoints,omitempty"`

	// Token
	// arrayOK: false
	// type: string
	// The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details.
	Token String `json:"token,omitempty"`
}

PointcloudStream

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 (
	PointcloudVisibleTrue       PointcloudVisible = true
	PointcloudVisibleFalse      PointcloudVisible = false
	PointcloudVisibleLegendonly PointcloudVisible = "legendonly"
)

type Sankey

type Sankey struct {

	// Type
	// is the type of the plot
	Type TraceType `json:"type,omitempty"`

	// Arrangement
	// default: snap
	// type: enumerated
	// If value is `snap` (the default), the node arrangement is assisted by automatic snapping of elements to preserve space between nodes specified via `nodepad`. If value is `perpendicular`, the nodes can only move along a line perpendicular to the flow. If value is `freeform`, the nodes can freely move on the plane. If value is `fixed`, the nodes are stationary.
	Arrangement SankeyArrangement `json:"arrangement,omitempty"`

	// Customdata
	// arrayOK: false
	// type: data_array
	// Assigns extra data each datum. This may be useful when listening to hover, click and selection events. Note that, *scatter* traces also appends customdata items in the markers DOM elements
	Customdata interface{} `json:"customdata,omitempty"`

	// Customdatasrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  customdata .
	Customdatasrc String `json:"customdatasrc,omitempty"`

	// Domain
	// role: Object
	Domain *SankeyDomain `json:"domain,omitempty"`

	// Hoverinfo
	// default: all
	// type: flaglist
	// Determines which trace information appear on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired. Note that this attribute is superseded by `node.hoverinfo` and `node.hoverinfo` for nodes and links respectively.
	Hoverinfo SankeyHoverinfo `json:"hoverinfo,omitempty"`

	// Hoverlabel
	// role: Object
	Hoverlabel *SankeyHoverlabel `json:"hoverlabel,omitempty"`

	// Ids
	// arrayOK: false
	// type: data_array
	// Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type.
	Ids interface{} `json:"ids,omitempty"`

	// Idssrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  ids .
	Idssrc String `json:"idssrc,omitempty"`

	// Link
	// role: Object
	Link *SankeyLink `json:"link,omitempty"`

	// Meta
	// arrayOK: true
	// type: any
	// Assigns extra meta information associated with this trace that can be used in various text attributes. Attributes such as trace `name`, graph, axis and colorbar `title.text`, annotation `text` `rangeselector`, `updatemenues` and `sliders` `label` text all support `meta`. To access the trace `meta` values in an attribute in the same trace, simply use `%{meta[i]}` where `i` is the index or key of the `meta` item in question. To access trace `meta` in layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index.
	Meta interface{} `json:"meta,omitempty"`

	// Metasrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  meta .
	Metasrc String `json:"metasrc,omitempty"`

	// Name
	// arrayOK: false
	// type: string
	// Sets the trace name. The trace name appear as the legend item and on hover.
	Name String `json:"name,omitempty"`

	// Node
	// role: Object
	Node *SankeyNode `json:"node,omitempty"`

	// Orientation
	// default: h
	// type: enumerated
	// Sets the orientation of the Sankey diagram.
	Orientation SankeyOrientation `json:"orientation,omitempty"`

	// Selectedpoints
	// arrayOK: false
	// type: any
	// Array containing integer indices of selected points. Has an effect only for traces that support selections. Note that an empty array means an empty selection where the `unselected` are turned on for all points, whereas, any other non-array values means no selection all where the `selected` and `unselected` styles have no effect.
	Selectedpoints interface{} `json:"selectedpoints,omitempty"`

	// Stream
	// role: Object
	Stream *SankeyStream `json:"stream,omitempty"`

	// Textfont
	// role: Object
	Textfont *SankeyTextfont `json:"textfont,omitempty"`

	// Uid
	// arrayOK: false
	// type: string
	// Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.
	Uid String `json:"uid,omitempty"`

	// Uirevision
	// arrayOK: false
	// type: any
	// Controls persistence of some user-driven changes to the trace: `constraintrange` in `parcoords` traces, as well as some `editable: true` modifications such as `name` and `colorbar.title`. Defaults to `layout.uirevision`. Note that other user-driven trace attribute changes are controlled by `layout` attributes: `trace.visible` is controlled by `layout.legend.uirevision`, `selectedpoints` is controlled by `layout.selectionrevision`, and `colorbar.(x|y)` (accessible with `config: {editable: true}`) is controlled by `layout.editrevision`. Trace changes are tracked by `uid`, which only falls back on trace index if no `uid` is provided. So if your app can add/remove traces before the end of the `data` array, such that the same trace has a different index, you can still preserve user-driven changes if you give each trace a `uid` that stays with it as it moves.
	Uirevision interface{} `json:"uirevision,omitempty"`

	// Valueformat
	// arrayOK: false
	// type: string
	// Sets the value formatting rule using d3 formatting mini-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
	// arrayOK: false
	// type: string
	// Adds a unit to follow the value in the hover tooltip. Add a space if a separation is necessary from the value.
	Valuesuffix String `json:"valuesuffix,omitempty"`

	// Visible
	// default: %!s(bool=true)
	// type: enumerated
	// Determines whether or not this trace is visible. If *legendonly*, the trace is not drawn, but can appear as a legend item (provided that the legend itself is visible).
	Visible SankeyVisible `json:"visible,omitempty"`
}

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 (*Sankey) GetType

func (trace *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 (
	SankeyArrangementSnap          SankeyArrangement = "snap"
	SankeyArrangementPerpendicular SankeyArrangement = "perpendicular"
	SankeyArrangementFreeform      SankeyArrangement = "freeform"
	SankeyArrangementFixed         SankeyArrangement = "fixed"
)

type SankeyDomain

type SankeyDomain struct {

	// Column
	// arrayOK: false
	// type: integer
	// If there is a layout grid, use the domain for this column in the grid for this sankey trace .
	Column int64 `json:"column,omitempty"`

	// Row
	// arrayOK: false
	// type: integer
	// If there is a layout grid, use the domain for this row in the grid for this sankey trace .
	Row int64 `json:"row,omitempty"`

	// X
	// arrayOK: false
	// type: info_array
	// Sets the horizontal domain of this sankey trace (in plot fraction).
	X interface{} `json:"x,omitempty"`

	// Y
	// arrayOK: false
	// type: info_array
	// Sets the vertical domain of this sankey trace (in plot fraction).
	Y interface{} `json:"y,omitempty"`
}

SankeyDomain

type SankeyHoverinfo

type SankeyHoverinfo string

SankeyHoverinfo Determines which trace information appear on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired. Note that this attribute is superseded by `node.hoverinfo` and `node.hoverinfo` for nodes and links respectively.

const (

	// Extra
	SankeyHoverinfoAll  SankeyHoverinfo = "all"
	SankeyHoverinfoNone SankeyHoverinfo = "none"
	SankeyHoverinfoSkip SankeyHoverinfo = "skip"
)

type SankeyHoverlabel

type SankeyHoverlabel struct {

	// Align
	// default: auto
	// type: enumerated
	// Sets the horizontal alignment of the text content within hover label box. Has an effect only if the hover label text spans more two or more lines
	Align SankeyHoverlabelAlign `json:"align,omitempty"`

	// Alignsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  align .
	Alignsrc String `json:"alignsrc,omitempty"`

	// Bgcolor
	// arrayOK: true
	// type: color
	// Sets the background color of the hover labels for this trace
	Bgcolor Color `json:"bgcolor,omitempty"`

	// Bgcolorsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  bgcolor .
	Bgcolorsrc String `json:"bgcolorsrc,omitempty"`

	// Bordercolor
	// arrayOK: true
	// type: color
	// Sets the border color of the hover labels for this trace.
	Bordercolor Color `json:"bordercolor,omitempty"`

	// Bordercolorsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  bordercolor .
	Bordercolorsrc String `json:"bordercolorsrc,omitempty"`

	// Font
	// role: Object
	Font *SankeyHoverlabelFont `json:"font,omitempty"`

	// Namelength
	// arrayOK: true
	// type: integer
	// Sets the default length (in number of characters) of the trace name in the hover labels for all traces. -1 shows the whole name regardless of length. 0-3 shows the first 0-3 characters, and an integer >3 will show the whole name if it is less than that many characters, but if it is longer, will truncate to `namelength - 3` characters and add an ellipsis.
	Namelength int64 `json:"namelength,omitempty"`

	// Namelengthsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  namelength .
	Namelengthsrc String `json:"namelengthsrc,omitempty"`
}

SankeyHoverlabel

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 (
	SankeyHoverlabelAlignLeft  SankeyHoverlabelAlign = "left"
	SankeyHoverlabelAlignRight SankeyHoverlabelAlign = "right"
	SankeyHoverlabelAlignAuto  SankeyHoverlabelAlign = "auto"
)

type SankeyHoverlabelFont

type SankeyHoverlabelFont struct {

	// Color
	// arrayOK: true
	// type: color
	//
	Color Color `json:"color,omitempty"`

	// Colorsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  color .
	Colorsrc String `json:"colorsrc,omitempty"`

	// Family
	// arrayOK: true
	// type: string
	// HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.
	Family String `json:"family,omitempty"`

	// Familysrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  family .
	Familysrc String `json:"familysrc,omitempty"`

	// Size
	// arrayOK: true
	// type: number
	//
	Size float64 `json:"size,omitempty"`

	// Sizesrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  size .
	Sizesrc String `json:"sizesrc,omitempty"`
}

SankeyHoverlabelFont Sets the font used in hover labels.

type SankeyLink struct {

	// Color
	// arrayOK: true
	// type: color
	// Sets the `link` color. It can be a single value, or an array for specifying color for each `link`. If `link.color` is omitted, then by default, a translucent grey link will be used.
	Color Color `json:"color,omitempty"`

	// Colorscales
	// It's an items array and what goes inside it's... messy... check the docs
	// I will be happy if you want to contribute by implementing this
	// just raise an issue before you start so we do not overlap
	Colorscales interface{} `json:"colorscales,omitempty"`

	// Colorsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  color .
	Colorsrc String `json:"colorsrc,omitempty"`

	// Customdata
	// arrayOK: false
	// type: data_array
	// Assigns extra data to each link.
	Customdata interface{} `json:"customdata,omitempty"`

	// Customdatasrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  customdata .
	Customdatasrc String `json:"customdatasrc,omitempty"`

	// Hoverinfo
	// default: all
	// type: enumerated
	// Determines which trace information appear when hovering links. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired.
	Hoverinfo SankeyLinkHoverinfo `json:"hoverinfo,omitempty"`

	// Hoverlabel
	// role: Object
	Hoverlabel *SankeyLinkHoverlabel `json:"hoverlabel,omitempty"`

	// Hovertemplate
	// arrayOK: true
	// type: string
	// Template string used for rendering the information that appear on hover box. Note that this will override `hoverinfo`. Variables are inserted using %{variable}, for example "y: %{y}". 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 String `json:"hovertemplate,omitempty"`

	// Hovertemplatesrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  hovertemplate .
	Hovertemplatesrc String `json:"hovertemplatesrc,omitempty"`

	// Label
	// arrayOK: false
	// type: data_array
	// The shown name of the link.
	Label interface{} `json:"label,omitempty"`

	// Labelsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  label .
	Labelsrc String `json:"labelsrc,omitempty"`

	// Line
	// role: Object
	Line *SankeyLinkLine `json:"line,omitempty"`

	// Source
	// arrayOK: false
	// type: data_array
	// An integer number `[0..nodes.length - 1]` that represents the source node.
	Source interface{} `json:"source,omitempty"`

	// Sourcesrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  source .
	Sourcesrc String `json:"sourcesrc,omitempty"`

	// Target
	// arrayOK: false
	// type: data_array
	// An integer number `[0..nodes.length - 1]` that represents the target node.
	Target interface{} `json:"target,omitempty"`

	// Targetsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  target .
	Targetsrc String `json:"targetsrc,omitempty"`

	// Value
	// arrayOK: false
	// type: data_array
	// A numeric value representing the flow volume value.
	Value interface{} `json:"value,omitempty"`

	// Valuesrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  value .
	Valuesrc String `json:"valuesrc,omitempty"`
}

SankeyLink The links of the Sankey plot.

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 (
	SankeyLinkHoverinfoAll  SankeyLinkHoverinfo = "all"
	SankeyLinkHoverinfoNone SankeyLinkHoverinfo = "none"
	SankeyLinkHoverinfoSkip SankeyLinkHoverinfo = "skip"
)

type SankeyLinkHoverlabel

type SankeyLinkHoverlabel struct {

	// Align
	// default: auto
	// type: enumerated
	// Sets the horizontal alignment of the text content within hover label box. Has an effect only if the hover label text spans more two or more lines
	Align SankeyLinkHoverlabelAlign `json:"align,omitempty"`

	// Alignsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  align .
	Alignsrc String `json:"alignsrc,omitempty"`

	// Bgcolor
	// arrayOK: true
	// type: color
	// Sets the background color of the hover labels for this trace
	Bgcolor Color `json:"bgcolor,omitempty"`

	// Bgcolorsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  bgcolor .
	Bgcolorsrc String `json:"bgcolorsrc,omitempty"`

	// Bordercolor
	// arrayOK: true
	// type: color
	// Sets the border color of the hover labels for this trace.
	Bordercolor Color `json:"bordercolor,omitempty"`

	// Bordercolorsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  bordercolor .
	Bordercolorsrc String `json:"bordercolorsrc,omitempty"`

	// Font
	// role: Object
	Font *SankeyLinkHoverlabelFont `json:"font,omitempty"`

	// Namelength
	// arrayOK: true
	// type: integer
	// Sets the default length (in number of characters) of the trace name in the hover labels for all traces. -1 shows the whole name regardless of length. 0-3 shows the first 0-3 characters, and an integer >3 will show the whole name if it is less than that many characters, but if it is longer, will truncate to `namelength - 3` characters and add an ellipsis.
	Namelength int64 `json:"namelength,omitempty"`

	// Namelengthsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  namelength .
	Namelengthsrc String `json:"namelengthsrc,omitempty"`
}

SankeyLinkHoverlabel

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 (
	SankeyLinkHoverlabelAlignLeft  SankeyLinkHoverlabelAlign = "left"
	SankeyLinkHoverlabelAlignRight SankeyLinkHoverlabelAlign = "right"
	SankeyLinkHoverlabelAlignAuto  SankeyLinkHoverlabelAlign = "auto"
)

type SankeyLinkHoverlabelFont

type SankeyLinkHoverlabelFont struct {

	// Color
	// arrayOK: true
	// type: color
	//
	Color Color `json:"color,omitempty"`

	// Colorsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  color .
	Colorsrc String `json:"colorsrc,omitempty"`

	// Family
	// arrayOK: true
	// type: string
	// HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.
	Family String `json:"family,omitempty"`

	// Familysrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  family .
	Familysrc String `json:"familysrc,omitempty"`

	// Size
	// arrayOK: true
	// type: number
	//
	Size float64 `json:"size,omitempty"`

	// Sizesrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  size .
	Sizesrc String `json:"sizesrc,omitempty"`
}

SankeyLinkHoverlabelFont Sets the font used in hover labels.

type SankeyLinkLine

type SankeyLinkLine struct {

	// Color
	// arrayOK: true
	// type: color
	// Sets the color of the `line` around each `link`.
	Color Color `json:"color,omitempty"`

	// Colorsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  color .
	Colorsrc String `json:"colorsrc,omitempty"`

	// Width
	// arrayOK: true
	// type: number
	// Sets the width (in px) of the `line` around each `link`.
	Width float64 `json:"width,omitempty"`

	// Widthsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  width .
	Widthsrc String `json:"widthsrc,omitempty"`
}

SankeyLinkLine

type SankeyNode

type SankeyNode struct {

	// Color
	// arrayOK: true
	// type: color
	// Sets the `node` color. It can be a single value, or an array for specifying color for each `node`. If `node.color` is omitted, then the default `Plotly` color palette will be cycled through to have a variety of colors. These defaults are not fully opaque, to allow some visibility of what is beneath the node.
	Color Color `json:"color,omitempty"`

	// Colorsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  color .
	Colorsrc String `json:"colorsrc,omitempty"`

	// Customdata
	// arrayOK: false
	// type: data_array
	// Assigns extra data to each node.
	Customdata interface{} `json:"customdata,omitempty"`

	// Customdatasrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  customdata .
	Customdatasrc String `json:"customdatasrc,omitempty"`

	// Groups
	// arrayOK: false
	// type: info_array
	// Groups of nodes. Each group is defined by an array with the indices of the nodes it contains. Multiple groups can be specified.
	Groups interface{} `json:"groups,omitempty"`

	// Hoverinfo
	// default: all
	// type: enumerated
	// Determines which trace information appear when hovering nodes. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired.
	Hoverinfo SankeyNodeHoverinfo `json:"hoverinfo,omitempty"`

	// Hoverlabel
	// role: Object
	Hoverlabel *SankeyNodeHoverlabel `json:"hoverlabel,omitempty"`

	// Hovertemplate
	// arrayOK: true
	// type: string
	// Template string used for rendering the information that appear on hover box. Note that this will override `hoverinfo`. Variables are inserted using %{variable}, for example "y: %{y}". 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 String `json:"hovertemplate,omitempty"`

	// Hovertemplatesrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  hovertemplate .
	Hovertemplatesrc String `json:"hovertemplatesrc,omitempty"`

	// Label
	// arrayOK: false
	// type: data_array
	// The shown name of the node.
	Label interface{} `json:"label,omitempty"`

	// Labelsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  label .
	Labelsrc String `json:"labelsrc,omitempty"`

	// Line
	// role: Object
	Line *SankeyNodeLine `json:"line,omitempty"`

	// Pad
	// arrayOK: false
	// type: number
	// Sets the padding (in px) between the `nodes`.
	Pad float64 `json:"pad,omitempty"`

	// Thickness
	// arrayOK: false
	// type: number
	// Sets the thickness (in px) of the `nodes`.
	Thickness float64 `json:"thickness,omitempty"`

	// X
	// arrayOK: false
	// type: data_array
	// The normalized horizontal position of the node.
	X interface{} `json:"x,omitempty"`

	// Xsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  x .
	Xsrc String `json:"xsrc,omitempty"`

	// Y
	// arrayOK: false
	// type: data_array
	// The normalized vertical position of the node.
	Y interface{} `json:"y,omitempty"`

	// Ysrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  y .
	Ysrc String `json:"ysrc,omitempty"`
}

SankeyNode The nodes of the Sankey plot.

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 (
	SankeyNodeHoverinfoAll  SankeyNodeHoverinfo = "all"
	SankeyNodeHoverinfoNone SankeyNodeHoverinfo = "none"
	SankeyNodeHoverinfoSkip SankeyNodeHoverinfo = "skip"
)

type SankeyNodeHoverlabel

type SankeyNodeHoverlabel struct {

	// Align
	// default: auto
	// type: enumerated
	// Sets the horizontal alignment of the text content within hover label box. Has an effect only if the hover label text spans more two or more lines
	Align SankeyNodeHoverlabelAlign `json:"align,omitempty"`

	// Alignsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  align .
	Alignsrc String `json:"alignsrc,omitempty"`

	// Bgcolor
	// arrayOK: true
	// type: color
	// Sets the background color of the hover labels for this trace
	Bgcolor Color `json:"bgcolor,omitempty"`

	// Bgcolorsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  bgcolor .
	Bgcolorsrc String `json:"bgcolorsrc,omitempty"`

	// Bordercolor
	// arrayOK: true
	// type: color
	// Sets the border color of the hover labels for this trace.
	Bordercolor Color `json:"bordercolor,omitempty"`

	// Bordercolorsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  bordercolor .
	Bordercolorsrc String `json:"bordercolorsrc,omitempty"`

	// Font
	// role: Object
	Font *SankeyNodeHoverlabelFont `json:"font,omitempty"`

	// Namelength
	// arrayOK: true
	// type: integer
	// Sets the default length (in number of characters) of the trace name in the hover labels for all traces. -1 shows the whole name regardless of length. 0-3 shows the first 0-3 characters, and an integer >3 will show the whole name if it is less than that many characters, but if it is longer, will truncate to `namelength - 3` characters and add an ellipsis.
	Namelength int64 `json:"namelength,omitempty"`

	// Namelengthsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  namelength .
	Namelengthsrc String `json:"namelengthsrc,omitempty"`
}

SankeyNodeHoverlabel

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 (
	SankeyNodeHoverlabelAlignLeft  SankeyNodeHoverlabelAlign = "left"
	SankeyNodeHoverlabelAlignRight SankeyNodeHoverlabelAlign = "right"
	SankeyNodeHoverlabelAlignAuto  SankeyNodeHoverlabelAlign = "auto"
)

type SankeyNodeHoverlabelFont

type SankeyNodeHoverlabelFont struct {

	// Color
	// arrayOK: true
	// type: color
	//
	Color Color `json:"color,omitempty"`

	// Colorsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  color .
	Colorsrc String `json:"colorsrc,omitempty"`

	// Family
	// arrayOK: true
	// type: string
	// HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.
	Family String `json:"family,omitempty"`

	// Familysrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  family .
	Familysrc String `json:"familysrc,omitempty"`

	// Size
	// arrayOK: true
	// type: number
	//
	Size float64 `json:"size,omitempty"`

	// Sizesrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  size .
	Sizesrc String `json:"sizesrc,omitempty"`
}

SankeyNodeHoverlabelFont Sets the font used in hover labels.

type SankeyNodeLine

type SankeyNodeLine struct {

	// Color
	// arrayOK: true
	// type: color
	// Sets the color of the `line` around each `node`.
	Color Color `json:"color,omitempty"`

	// Colorsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  color .
	Colorsrc String `json:"colorsrc,omitempty"`

	// Width
	// arrayOK: true
	// type: number
	// Sets the width (in px) of the `line` around each `node`.
	Width float64 `json:"width,omitempty"`

	// Widthsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  width .
	Widthsrc String `json:"widthsrc,omitempty"`
}

SankeyNodeLine

type SankeyOrientation

type SankeyOrientation string

SankeyOrientation Sets the orientation of the Sankey diagram.

const (
	SankeyOrientationV SankeyOrientation = "v"
	SankeyOrientationH SankeyOrientation = "h"
)

type SankeyStream

type SankeyStream struct {

	// Maxpoints
	// arrayOK: false
	// type: number
	// Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot.
	Maxpoints float64 `json:"maxpoints,omitempty"`

	// Token
	// arrayOK: false
	// type: string
	// The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details.
	Token String `json:"token,omitempty"`
}

SankeyStream

type SankeyTextfont

type SankeyTextfont struct {

	// Color
	// arrayOK: false
	// type: color
	//
	Color Color `json:"color,omitempty"`

	// Family
	// arrayOK: false
	// type: string
	// HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.
	Family String `json:"family,omitempty"`

	// Size
	// arrayOK: false
	// type: number
	//
	Size float64 `json:"size,omitempty"`
}

SankeyTextfont Sets the font for node labels

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 (
	SankeyVisibleTrue       SankeyVisible = true
	SankeyVisibleFalse      SankeyVisible = false
	SankeyVisibleLegendonly SankeyVisible = "legendonly"
)

type Scatter

type Scatter struct {

	// Type
	// is the type of the plot
	Type TraceType `json:"type,omitempty"`

	// Cliponaxis
	// arrayOK: false
	// type: boolean
	// Determines whether or not markers and text nodes are clipped about the subplot axes. To show markers and text nodes above axis lines and tick labels, make sure to set `xaxis.layer` and `yaxis.layer` to *below traces*.
	Cliponaxis Bool `json:"cliponaxis,omitempty"`

	// Connectgaps
	// arrayOK: false
	// type: boolean
	// Determines whether or not gaps (i.e. {nan} or missing values) in the provided data arrays are connected.
	Connectgaps Bool `json:"connectgaps,omitempty"`

	// Customdata
	// arrayOK: false
	// type: data_array
	// Assigns extra data each datum. This may be useful when listening to hover, click and selection events. Note that, *scatter* traces also appends customdata items in the markers DOM elements
	Customdata interface{} `json:"customdata,omitempty"`

	// Customdatasrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  customdata .
	Customdatasrc String `json:"customdatasrc,omitempty"`

	// Dx
	// arrayOK: false
	// type: number
	// Sets the x coordinate step. See `x0` for more info.
	Dx float64 `json:"dx,omitempty"`

	// Dy
	// arrayOK: false
	// type: number
	// Sets the y coordinate step. See `y0` for more info.
	Dy float64 `json:"dy,omitempty"`

	// ErrorX
	// role: Object
	ErrorX *ScatterErrorX `json:"error_x,omitempty"`

	// ErrorY
	// role: Object
	ErrorY *ScatterErrorY `json:"error_y,omitempty"`

	// Fill
	// default: %!s(<nil>)
	// type: enumerated
	// Sets the area to fill with a solid color. Defaults to *none* unless this trace is stacked, then it gets *tonexty* (*tonextx*) if `orientation` is *v* (*h*) Use with `fillcolor` if not *none*. *tozerox* and *tozeroy* fill to x=0 and y=0 respectively. *tonextx* and *tonexty* fill between the endpoints of this trace and the endpoints of the trace before it, connecting those endpoints with straight lines (to make a stacked area graph); if there is no trace before it, they behave like *tozerox* and *tozeroy*. *toself* connects the endpoints of the trace (or each segment of the trace if it has gaps) into a closed shape. *tonext* fills the space between two traces if one completely encloses the other (eg consecutive contour lines), and behaves like *toself* if there is no trace before it. *tonext* should not be used if one trace does not enclose the other. Traces in a `stackgroup` will only fill to (or be filled to) other traces in the same group. With multiple `stackgroup`s or some traces stacked and some not, if fill-linked traces are not already consecutive, the later ones will be pushed down in the drawing order.
	Fill ScatterFill `json:"fill,omitempty"`

	// Fillcolor
	// arrayOK: false
	// type: color
	// Sets the fill color. Defaults to a half-transparent variant of the line color, marker color, or marker line color, whichever is available.
	Fillcolor Color `json:"fillcolor,omitempty"`

	// Groupnorm
	// default:
	// type: enumerated
	// Only relevant when `stackgroup` is used, and only the first `groupnorm` found in the `stackgroup` will be used - including if `visible` is *legendonly* but not if it is `false`. Sets the normalization for the sum of this `stackgroup`. With *fraction*, the value of each trace at each location is divided by the sum of all trace values at that location. *percent* is the same but multiplied by 100 to show percentages. If there are multiple subplots, or multiple `stackgroup`s on one subplot, each will be normalized within its own set.
	Groupnorm ScatterGroupnorm `json:"groupnorm,omitempty"`

	// Hoverinfo
	// default: all
	// type: flaglist
	// Determines which trace information appear on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired.
	Hoverinfo ScatterHoverinfo `json:"hoverinfo,omitempty"`

	// Hoverinfosrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  hoverinfo .
	Hoverinfosrc String `json:"hoverinfosrc,omitempty"`

	// Hoverlabel
	// role: Object
	Hoverlabel *ScatterHoverlabel `json:"hoverlabel,omitempty"`

	// Hoveron
	// default: %!s(<nil>)
	// type: flaglist
	// Do the hover effects highlight individual points (markers or line points) or do they highlight filled regions? If the fill is *toself* or *tonext* and there are no markers or text, then the default is *fills*, otherwise it is *points*.
	Hoveron ScatterHoveron `json:"hoveron,omitempty"`

	// Hovertemplate
	// arrayOK: true
	// type: string
	// Template string used for rendering the information that appear on hover box. Note that this will override `hoverinfo`. Variables are inserted using %{variable}, for example "y: %{y}". 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 String `json:"hovertemplate,omitempty"`

	// Hovertemplatesrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  hovertemplate .
	Hovertemplatesrc String `json:"hovertemplatesrc,omitempty"`

	// Hovertext
	// arrayOK: true
	// type: string
	// Sets hover text elements associated with each (x,y) pair. If a single string, the same string appears over all the data points. If an array of string, the items are mapped in order to the this trace's (x,y) coordinates. To be seen, trace `hoverinfo` must contain a *text* flag.
	Hovertext String `json:"hovertext,omitempty"`

	// Hovertextsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  hovertext .
	Hovertextsrc String `json:"hovertextsrc,omitempty"`

	// Ids
	// arrayOK: false
	// type: data_array
	// Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type.
	Ids interface{} `json:"ids,omitempty"`

	// Idssrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  ids .
	Idssrc String `json:"idssrc,omitempty"`

	// Legendgroup
	// arrayOK: false
	// type: string
	// Sets the legend group for this trace. Traces part of the same legend group hide/show at the same time when toggling legend items.
	Legendgroup String `json:"legendgroup,omitempty"`

	// Line
	// role: Object
	Line *ScatterLine `json:"line,omitempty"`

	// Marker
	// role: Object
	Marker *ScatterMarker `json:"marker,omitempty"`

	// Meta
	// arrayOK: true
	// type: any
	// Assigns extra meta information associated with this trace that can be used in various text attributes. Attributes such as trace `name`, graph, axis and colorbar `title.text`, annotation `text` `rangeselector`, `updatemenues` and `sliders` `label` text all support `meta`. To access the trace `meta` values in an attribute in the same trace, simply use `%{meta[i]}` where `i` is the index or key of the `meta` item in question. To access trace `meta` in layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index.
	Meta interface{} `json:"meta,omitempty"`

	// Metasrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  meta .
	Metasrc String `json:"metasrc,omitempty"`

	// Mode
	// default: %!s(<nil>)
	// type: flaglist
	// Determines the drawing mode for this scatter trace. If the provided `mode` includes *text* then the `text` elements appear at the coordinates. Otherwise, the `text` elements appear on hover. If there are less than 20 points and the trace is not stacked then the default is *lines+markers*. Otherwise, *lines*.
	Mode ScatterMode `json:"mode,omitempty"`

	// Name
	// arrayOK: false
	// type: string
	// Sets the trace name. The trace name appear as the legend item and on hover.
	Name String `json:"name,omitempty"`

	// Opacity
	// arrayOK: false
	// type: number
	// Sets the opacity of the trace.
	Opacity float64 `json:"opacity,omitempty"`

	// Orientation
	// default: %!s(<nil>)
	// type: enumerated
	// Only relevant when `stackgroup` is used, and only the first `orientation` found in the `stackgroup` will be used - including if `visible` is *legendonly* but not if it is `false`. Sets the stacking direction. With *v* (*h*), the y (x) values of subsequent traces are added. Also affects the default value of `fill`.
	Orientation ScatterOrientation `json:"orientation,omitempty"`

	// R
	// arrayOK: false
	// type: data_array
	// r coordinates in scatter traces are deprecated!Please switch to the *scatterpolar* trace type.Sets the radial coordinatesfor legacy polar chart only.
	R interface{} `json:"r,omitempty"`

	// Rsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  r .
	Rsrc String `json:"rsrc,omitempty"`

	// Selected
	// role: Object
	Selected *ScatterSelected `json:"selected,omitempty"`

	// Selectedpoints
	// arrayOK: false
	// type: any
	// Array containing integer indices of selected points. Has an effect only for traces that support selections. Note that an empty array means an empty selection where the `unselected` are turned on for all points, whereas, any other non-array values means no selection all where the `selected` and `unselected` styles have no effect.
	Selectedpoints interface{} `json:"selectedpoints,omitempty"`

	// Showlegend
	// arrayOK: false
	// type: boolean
	// Determines whether or not an item corresponding to this trace is shown in the legend.
	Showlegend Bool `json:"showlegend,omitempty"`

	// Stackgaps
	// default: infer zero
	// type: enumerated
	// Only relevant when `stackgroup` is used, and only the first `stackgaps` found in the `stackgroup` will be used - including if `visible` is *legendonly* but not if it is `false`. Determines how we handle locations at which other traces in this group have data but this one does not. With *infer zero* we insert a zero at these locations. With *interpolate* we linearly interpolate between existing values, and extrapolate a constant beyond the existing values.
	Stackgaps ScatterStackgaps `json:"stackgaps,omitempty"`

	// Stackgroup
	// arrayOK: false
	// type: string
	// Set several scatter traces (on the same subplot) to the same stackgroup in order to add their y values (or their x values if `orientation` is *h*). If blank or omitted this trace will not be stacked. Stacking also turns `fill` on by default, using *tonexty* (*tonextx*) if `orientation` is *h* (*v*) and sets the default `mode` to *lines* irrespective of point count. You can only stack on a numeric (linear or log) axis. Traces in a `stackgroup` will only fill to (or be filled to) other traces in the same group. With multiple `stackgroup`s or some traces stacked and some not, if fill-linked traces are not already consecutive, the later ones will be pushed down in the drawing order.
	Stackgroup String `json:"stackgroup,omitempty"`

	// Stream
	// role: Object
	Stream *ScatterStream `json:"stream,omitempty"`

	// T
	// arrayOK: false
	// type: data_array
	// t coordinates in scatter traces are deprecated!Please switch to the *scatterpolar* trace type.Sets the angular coordinatesfor legacy polar chart only.
	T interface{} `json:"t,omitempty"`

	// Text
	// arrayOK: true
	// type: string
	// Sets text elements associated with each (x,y) pair. If a single string, the same string appears over all the data points. If an array of string, the items are mapped in order to the this trace's (x,y) coordinates. If trace `hoverinfo` contains a *text* flag and *hovertext* is not set, these elements will be seen in the hover labels.
	Text String `json:"text,omitempty"`

	// Textfont
	// role: Object
	Textfont *ScatterTextfont `json:"textfont,omitempty"`

	// Textposition
	// default: middle center
	// type: enumerated
	// Sets the positions of the `text` elements with respects to the (x,y) coordinates.
	Textposition ScatterTextposition `json:"textposition,omitempty"`

	// Textpositionsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  textposition .
	Textpositionsrc String `json:"textpositionsrc,omitempty"`

	// Textsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  text .
	Textsrc String `json:"textsrc,omitempty"`

	// Texttemplate
	// arrayOK: true
	// type: string
	// Template string used for rendering the information text that appear on points. Note that this will override `textinfo`. Variables are inserted using %{variable}, for example "y: %{y}". Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example "Price: %{y:$.2f}". https://github.com/d3/d3-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 String `json:"texttemplate,omitempty"`

	// Texttemplatesrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  texttemplate .
	Texttemplatesrc String `json:"texttemplatesrc,omitempty"`

	// Transforms
	// It's an items array and what goes inside it's... messy... check the docs
	// I will be happy if you want to contribute by implementing this
	// just raise an issue before you start so we do not overlap
	Transforms interface{} `json:"transforms,omitempty"`

	// Tsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  t .
	Tsrc String `json:"tsrc,omitempty"`

	// Uid
	// arrayOK: false
	// type: string
	// Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.
	Uid String `json:"uid,omitempty"`

	// Uirevision
	// arrayOK: false
	// type: any
	// Controls persistence of some user-driven changes to the trace: `constraintrange` in `parcoords` traces, as well as some `editable: true` modifications such as `name` and `colorbar.title`. Defaults to `layout.uirevision`. Note that other user-driven trace attribute changes are controlled by `layout` attributes: `trace.visible` is controlled by `layout.legend.uirevision`, `selectedpoints` is controlled by `layout.selectionrevision`, and `colorbar.(x|y)` (accessible with `config: {editable: true}`) is controlled by `layout.editrevision`. Trace changes are tracked by `uid`, which only falls back on trace index if no `uid` is provided. So if your app can add/remove traces before the end of the `data` array, such that the same trace has a different index, you can still preserve user-driven changes if you give each trace a `uid` that stays with it as it moves.
	Uirevision interface{} `json:"uirevision,omitempty"`

	// Unselected
	// role: Object
	Unselected *ScatterUnselected `json:"unselected,omitempty"`

	// Visible
	// default: %!s(bool=true)
	// type: enumerated
	// Determines whether or not this trace is visible. If *legendonly*, the trace is not drawn, but can appear as a legend item (provided that the legend itself is visible).
	Visible ScatterVisible `json:"visible,omitempty"`

	// X
	// arrayOK: false
	// type: data_array
	// Sets the x coordinates.
	X interface{} `json:"x,omitempty"`

	// X0
	// arrayOK: false
	// type: any
	// Alternate to `x`. Builds a linear space of x coordinates. Use with `dx` where `x0` is the starting coordinate and `dx` the step.
	X0 interface{} `json:"x0,omitempty"`

	// Xaxis
	// arrayOK: false
	// type: subplotid
	// Sets a reference between this trace's x coordinates and a 2D cartesian x axis. If *x* (the default value), the x coordinates refer to `layout.xaxis`. If *x2*, the x coordinates refer to `layout.xaxis2`, and so on.
	Xaxis String `json:"xaxis,omitempty"`

	// Xcalendar
	// default: gregorian
	// type: enumerated
	// Sets the calendar system to use with `x` date data.
	Xcalendar ScatterXcalendar `json:"xcalendar,omitempty"`

	// Xperiod
	// arrayOK: false
	// type: 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
	// arrayOK: false
	// type: any
	// Only relevant when the axis `type` is *date*. Sets the base for period positioning in milliseconds or date string on the x0 axis. When `x0period` is round number of weeks, the `x0period0` by default would be on a Sunday i.e. 2000-01-02, otherwise it would be at 2000-01-01.
	Xperiod0 interface{} `json:"xperiod0,omitempty"`

	// Xperiodalignment
	// default: middle
	// type: enumerated
	// Only relevant when the axis `type` is *date*. Sets the alignment of data points on the x axis.
	Xperiodalignment ScatterXperiodalignment `json:"xperiodalignment,omitempty"`

	// Xsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  x .
	Xsrc String `json:"xsrc,omitempty"`

	// Y
	// arrayOK: false
	// type: data_array
	// Sets the y coordinates.
	Y interface{} `json:"y,omitempty"`

	// Y0
	// arrayOK: false
	// type: any
	// Alternate to `y`. Builds a linear space of y coordinates. Use with `dy` where `y0` is the starting coordinate and `dy` the step.
	Y0 interface{} `json:"y0,omitempty"`

	// Yaxis
	// arrayOK: false
	// type: subplotid
	// Sets a reference between this trace's y coordinates and a 2D cartesian y axis. If *y* (the default value), the y coordinates refer to `layout.yaxis`. If *y2*, the y coordinates refer to `layout.yaxis2`, and so on.
	Yaxis String `json:"yaxis,omitempty"`

	// Ycalendar
	// default: gregorian
	// type: enumerated
	// Sets the calendar system to use with `y` date data.
	Ycalendar ScatterYcalendar `json:"ycalendar,omitempty"`

	// Yperiod
	// arrayOK: false
	// type: 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
	// arrayOK: false
	// type: any
	// Only relevant when the axis `type` is *date*. Sets the base for period positioning in milliseconds or date string on the y0 axis. When `y0period` is round number of weeks, the `y0period0` by default would be on a Sunday i.e. 2000-01-02, otherwise it would be at 2000-01-01.
	Yperiod0 interface{} `json:"yperiod0,omitempty"`

	// Yperiodalignment
	// default: middle
	// type: enumerated
	// Only relevant when the axis `type` is *date*. Sets the alignment of data points on the y axis.
	Yperiodalignment ScatterYperiodalignment `json:"yperiodalignment,omitempty"`

	// Ysrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  y .
	Ysrc String `json:"ysrc,omitempty"`
}

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 (*Scatter) GetType

func (trace *Scatter) GetType() TraceType

type Scatter3d

type Scatter3d struct {

	// Type
	// is the type of the plot
	Type TraceType `json:"type,omitempty"`

	// Connectgaps
	// arrayOK: false
	// type: boolean
	// Determines whether or not gaps (i.e. {nan} or missing values) in the provided data arrays are connected.
	Connectgaps Bool `json:"connectgaps,omitempty"`

	// Customdata
	// arrayOK: false
	// type: data_array
	// Assigns extra data each datum. This may be useful when listening to hover, click and selection events. Note that, *scatter* traces also appends customdata items in the markers DOM elements
	Customdata interface{} `json:"customdata,omitempty"`

	// Customdatasrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  customdata .
	Customdatasrc String `json:"customdatasrc,omitempty"`

	// ErrorX
	// role: Object
	ErrorX *Scatter3dErrorX `json:"error_x,omitempty"`

	// ErrorY
	// role: Object
	ErrorY *Scatter3dErrorY `json:"error_y,omitempty"`

	// ErrorZ
	// role: Object
	ErrorZ *Scatter3dErrorZ `json:"error_z,omitempty"`

	// Hoverinfo
	// default: all
	// type: flaglist
	// Determines which trace information appear on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired.
	Hoverinfo Scatter3dHoverinfo `json:"hoverinfo,omitempty"`

	// Hoverinfosrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  hoverinfo .
	Hoverinfosrc String `json:"hoverinfosrc,omitempty"`

	// Hoverlabel
	// role: Object
	Hoverlabel *Scatter3dHoverlabel `json:"hoverlabel,omitempty"`

	// Hovertemplate
	// arrayOK: true
	// type: string
	// Template string used for rendering the information that appear on hover box. Note that this will override `hoverinfo`. Variables are inserted using %{variable}, for example "y: %{y}". 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 String `json:"hovertemplate,omitempty"`

	// Hovertemplatesrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  hovertemplate .
	Hovertemplatesrc String `json:"hovertemplatesrc,omitempty"`

	// Hovertext
	// arrayOK: true
	// type: string
	// Sets text elements associated with each (x,y,z) triplet. If a single string, the same string appears over all the data points. If an array of string, the items are mapped in order to the this trace's (x,y,z) coordinates. To be seen, trace `hoverinfo` must contain a *text* flag.
	Hovertext String `json:"hovertext,omitempty"`

	// Hovertextsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  hovertext .
	Hovertextsrc String `json:"hovertextsrc,omitempty"`

	// Ids
	// arrayOK: false
	// type: data_array
	// Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type.
	Ids interface{} `json:"ids,omitempty"`

	// Idssrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  ids .
	Idssrc String `json:"idssrc,omitempty"`

	// Legendgroup
	// arrayOK: false
	// type: string
	// Sets the legend group for this trace. Traces part of the same legend group hide/show at the same time when toggling legend items.
	Legendgroup String `json:"legendgroup,omitempty"`

	// Line
	// role: Object
	Line *Scatter3dLine `json:"line,omitempty"`

	// Marker
	// role: Object
	Marker *Scatter3dMarker `json:"marker,omitempty"`

	// Meta
	// arrayOK: true
	// type: any
	// Assigns extra meta information associated with this trace that can be used in various text attributes. Attributes such as trace `name`, graph, axis and colorbar `title.text`, annotation `text` `rangeselector`, `updatemenues` and `sliders` `label` text all support `meta`. To access the trace `meta` values in an attribute in the same trace, simply use `%{meta[i]}` where `i` is the index or key of the `meta` item in question. To access trace `meta` in layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index.
	Meta interface{} `json:"meta,omitempty"`

	// Metasrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  meta .
	Metasrc String `json:"metasrc,omitempty"`

	// Mode
	// default: lines+markers
	// type: flaglist
	// Determines the drawing mode for this scatter trace. If the provided `mode` includes *text* then the `text` elements appear at the coordinates. Otherwise, the `text` elements appear on hover. If there are less than 20 points and the trace is not stacked then the default is *lines+markers*. Otherwise, *lines*.
	Mode Scatter3dMode `json:"mode,omitempty"`

	// Name
	// arrayOK: false
	// type: string
	// Sets the trace name. The trace name appear as the legend item and on hover.
	Name String `json:"name,omitempty"`

	// Opacity
	// arrayOK: false
	// type: number
	// Sets the opacity of the trace.
	Opacity float64 `json:"opacity,omitempty"`

	// Projection
	// role: Object
	Projection *Scatter3dProjection `json:"projection,omitempty"`

	// Scene
	// arrayOK: false
	// type: subplotid
	// Sets a reference between this trace's 3D coordinate system and a 3D scene. If *scene* (the default value), the (x,y,z) coordinates refer to `layout.scene`. If *scene2*, the (x,y,z) coordinates refer to `layout.scene2`, and so on.
	Scene String `json:"scene,omitempty"`

	// Showlegend
	// arrayOK: false
	// type: boolean
	// Determines whether or not an item corresponding to this trace is shown in the legend.
	Showlegend Bool `json:"showlegend,omitempty"`

	// Stream
	// role: Object
	Stream *Scatter3dStream `json:"stream,omitempty"`

	// Surfaceaxis
	// default: %!s(float64=-1)
	// type: enumerated
	// If *-1*, the scatter points are not fill with a surface If *0*, *1*, *2*, the scatter points are filled with a Delaunay surface about the x, y, z respectively.
	Surfaceaxis Scatter3dSurfaceaxis `json:"surfaceaxis,omitempty"`

	// Surfacecolor
	// arrayOK: false
	// type: color
	// Sets the surface fill color.
	Surfacecolor Color `json:"surfacecolor,omitempty"`

	// Text
	// arrayOK: true
	// type: string
	// Sets text elements associated with each (x,y,z) triplet. If a single string, the same string appears over all the data points. If an array of string, the items are mapped in order to the this trace's (x,y,z) coordinates. If trace `hoverinfo` contains a *text* flag and *hovertext* is not set, these elements will be seen in the hover labels.
	Text String `json:"text,omitempty"`

	// Textfont
	// role: Object
	Textfont *Scatter3dTextfont `json:"textfont,omitempty"`

	// Textposition
	// default: top center
	// type: enumerated
	// Sets the positions of the `text` elements with respects to the (x,y) coordinates.
	Textposition Scatter3dTextposition `json:"textposition,omitempty"`

	// Textpositionsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  textposition .
	Textpositionsrc String `json:"textpositionsrc,omitempty"`

	// Textsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  text .
	Textsrc String `json:"textsrc,omitempty"`

	// Texttemplate
	// arrayOK: true
	// type: string
	// Template string used for rendering the information text that appear on points. Note that this will override `textinfo`. Variables are inserted using %{variable}, for example "y: %{y}". Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example "Price: %{y:$.2f}". https://github.com/d3/d3-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 String `json:"texttemplate,omitempty"`

	// Texttemplatesrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  texttemplate .
	Texttemplatesrc String `json:"texttemplatesrc,omitempty"`

	// Transforms
	// It's an items array and what goes inside it's... messy... check the docs
	// I will be happy if you want to contribute by implementing this
	// just raise an issue before you start so we do not overlap
	Transforms interface{} `json:"transforms,omitempty"`

	// Uid
	// arrayOK: false
	// type: string
	// Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.
	Uid String `json:"uid,omitempty"`

	// Uirevision
	// arrayOK: false
	// type: any
	// Controls persistence of some user-driven changes to the trace: `constraintrange` in `parcoords` traces, as well as some `editable: true` modifications such as `name` and `colorbar.title`. Defaults to `layout.uirevision`. Note that other user-driven trace attribute changes are controlled by `layout` attributes: `trace.visible` is controlled by `layout.legend.uirevision`, `selectedpoints` is controlled by `layout.selectionrevision`, and `colorbar.(x|y)` (accessible with `config: {editable: true}`) is controlled by `layout.editrevision`. Trace changes are tracked by `uid`, which only falls back on trace index if no `uid` is provided. So if your app can add/remove traces before the end of the `data` array, such that the same trace has a different index, you can still preserve user-driven changes if you give each trace a `uid` that stays with it as it moves.
	Uirevision interface{} `json:"uirevision,omitempty"`

	// Visible
	// default: %!s(bool=true)
	// type: enumerated
	// Determines whether or not this trace is visible. If *legendonly*, the trace is not drawn, but can appear as a legend item (provided that the legend itself is visible).
	Visible Scatter3dVisible `json:"visible,omitempty"`

	// X
	// arrayOK: false
	// type: data_array
	// Sets the x coordinates.
	X interface{} `json:"x,omitempty"`

	// Xcalendar
	// default: gregorian
	// type: enumerated
	// Sets the calendar system to use with `x` date data.
	Xcalendar Scatter3dXcalendar `json:"xcalendar,omitempty"`

	// Xsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  x .
	Xsrc String `json:"xsrc,omitempty"`

	// Y
	// arrayOK: false
	// type: data_array
	// Sets the y coordinates.
	Y interface{} `json:"y,omitempty"`

	// Ycalendar
	// default: gregorian
	// type: enumerated
	// Sets the calendar system to use with `y` date data.
	Ycalendar Scatter3dYcalendar `json:"ycalendar,omitempty"`

	// Ysrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  y .
	Ysrc String `json:"ysrc,omitempty"`

	// Z
	// arrayOK: false
	// type: data_array
	// Sets the z coordinates.
	Z interface{} `json:"z,omitempty"`

	// Zcalendar
	// default: gregorian
	// type: enumerated
	// Sets the calendar system to use with `z` date data.
	Zcalendar Scatter3dZcalendar `json:"zcalendar,omitempty"`

	// Zsrc
	// arrayOK: false
	// type: 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 (*Scatter3d) GetType

func (trace *Scatter3d) GetType() TraceType

type Scatter3dErrorX

type Scatter3dErrorX struct {

	// Array
	// arrayOK: false
	// type: data_array
	// Sets the data corresponding the length of each error bar. Values are plotted relative to the underlying data.
	Array interface{} `json:"array,omitempty"`

	// Arrayminus
	// arrayOK: false
	// type: data_array
	// Sets the data corresponding the length of each error bar in the bottom (left) direction for vertical (horizontal) bars Values are plotted relative to the underlying data.
	Arrayminus interface{} `json:"arrayminus,omitempty"`

	// Arrayminussrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  arrayminus .
	Arrayminussrc String `json:"arrayminussrc,omitempty"`

	// Arraysrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  array .
	Arraysrc String `json:"arraysrc,omitempty"`

	// Color
	// arrayOK: false
	// type: color
	// Sets the stoke color of the error bars.
	Color Color `json:"color,omitempty"`

	// CopyZstyle
	// arrayOK: false
	// type: boolean
	//
	CopyZstyle Bool `json:"copy_zstyle,omitempty"`

	// Symmetric
	// arrayOK: false
	// type: boolean
	// Determines whether or not the error bars have the same length in both direction (top/bottom for vertical bars, left/right for horizontal bars.
	Symmetric Bool `json:"symmetric,omitempty"`

	// Thickness
	// arrayOK: false
	// type: number
	// Sets the thickness (in px) of the error bars.
	Thickness float64 `json:"thickness,omitempty"`

	// Traceref
	// arrayOK: false
	// type: integer
	//
	Traceref int64 `json:"traceref,omitempty"`

	// Tracerefminus
	// arrayOK: false
	// type: integer
	//
	Tracerefminus int64 `json:"tracerefminus,omitempty"`

	// Type
	// default: %!s(<nil>)
	// type: enumerated
	// Determines the rule used to generate the error bars. If *constant`, the bar lengths are of a constant value. Set this constant in `value`. If *percent*, the bar lengths correspond to a percentage of underlying data. Set this percentage in `value`. If *sqrt*, the bar lengths correspond to the square of the underlying data. If *data*, the bar lengths are set with data set `array`.
	Type Scatter3dErrorXType `json:"type,omitempty"`

	// Value
	// arrayOK: false
	// type: number
	// Sets the value of either the percentage (if `type` is set to *percent*) or the constant (if `type` is set to *constant*) corresponding to the lengths of the error bars.
	Value float64 `json:"value,omitempty"`

	// Valueminus
	// arrayOK: false
	// type: number
	// Sets the value of either the percentage (if `type` is set to *percent*) or the constant (if `type` is set to *constant*) corresponding to the lengths of the error bars in the bottom (left) direction for vertical (horizontal) bars
	Valueminus float64 `json:"valueminus,omitempty"`

	// Visible
	// arrayOK: false
	// type: boolean
	// Determines whether or not this set of error bars is visible.
	Visible Bool `json:"visible,omitempty"`

	// Width
	// arrayOK: false
	// type: number
	// Sets the width (in px) of the cross-bar at both ends of the error bars.
	Width float64 `json:"width,omitempty"`
}

Scatter3dErrorX

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 (
	Scatter3dErrorXTypePercent  Scatter3dErrorXType = "percent"
	Scatter3dErrorXTypeConstant Scatter3dErrorXType = "constant"
	Scatter3dErrorXTypeSqrt     Scatter3dErrorXType = "sqrt"
	Scatter3dErrorXTypeData     Scatter3dErrorXType = "data"
)

type Scatter3dErrorY

type Scatter3dErrorY struct {

	// Array
	// arrayOK: false
	// type: data_array
	// Sets the data corresponding the length of each error bar. Values are plotted relative to the underlying data.
	Array interface{} `json:"array,omitempty"`

	// Arrayminus
	// arrayOK: false
	// type: data_array
	// Sets the data corresponding the length of each error bar in the bottom (left) direction for vertical (horizontal) bars Values are plotted relative to the underlying data.
	Arrayminus interface{} `json:"arrayminus,omitempty"`

	// Arrayminussrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  arrayminus .
	Arrayminussrc String `json:"arrayminussrc,omitempty"`

	// Arraysrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  array .
	Arraysrc String `json:"arraysrc,omitempty"`

	// Color
	// arrayOK: false
	// type: color
	// Sets the stoke color of the error bars.
	Color Color `json:"color,omitempty"`

	// CopyZstyle
	// arrayOK: false
	// type: boolean
	//
	CopyZstyle Bool `json:"copy_zstyle,omitempty"`

	// Symmetric
	// arrayOK: false
	// type: boolean
	// Determines whether or not the error bars have the same length in both direction (top/bottom for vertical bars, left/right for horizontal bars.
	Symmetric Bool `json:"symmetric,omitempty"`

	// Thickness
	// arrayOK: false
	// type: number
	// Sets the thickness (in px) of the error bars.
	Thickness float64 `json:"thickness,omitempty"`

	// Traceref
	// arrayOK: false
	// type: integer
	//
	Traceref int64 `json:"traceref,omitempty"`

	// Tracerefminus
	// arrayOK: false
	// type: integer
	//
	Tracerefminus int64 `json:"tracerefminus,omitempty"`

	// Type
	// default: %!s(<nil>)
	// type: enumerated
	// Determines the rule used to generate the error bars. If *constant`, the bar lengths are of a constant value. Set this constant in `value`. If *percent*, the bar lengths correspond to a percentage of underlying data. Set this percentage in `value`. If *sqrt*, the bar lengths correspond to the square of the underlying data. If *data*, the bar lengths are set with data set `array`.
	Type Scatter3dErrorYType `json:"type,omitempty"`

	// Value
	// arrayOK: false
	// type: number
	// Sets the value of either the percentage (if `type` is set to *percent*) or the constant (if `type` is set to *constant*) corresponding to the lengths of the error bars.
	Value float64 `json:"value,omitempty"`

	// Valueminus
	// arrayOK: false
	// type: number
	// Sets the value of either the percentage (if `type` is set to *percent*) or the constant (if `type` is set to *constant*) corresponding to the lengths of the error bars in the bottom (left) direction for vertical (horizontal) bars
	Valueminus float64 `json:"valueminus,omitempty"`

	// Visible
	// arrayOK: false
	// type: boolean
	// Determines whether or not this set of error bars is visible.
	Visible Bool `json:"visible,omitempty"`

	// Width
	// arrayOK: false
	// type: number
	// Sets the width (in px) of the cross-bar at both ends of the error bars.
	Width float64 `json:"width,omitempty"`
}

Scatter3dErrorY

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 (
	Scatter3dErrorYTypePercent  Scatter3dErrorYType = "percent"
	Scatter3dErrorYTypeConstant Scatter3dErrorYType = "constant"
	Scatter3dErrorYTypeSqrt     Scatter3dErrorYType = "sqrt"
	Scatter3dErrorYTypeData     Scatter3dErrorYType = "data"
)

type Scatter3dErrorZ

type Scatter3dErrorZ struct {

	// Array
	// arrayOK: false
	// type: data_array
	// Sets the data corresponding the length of each error bar. Values are plotted relative to the underlying data.
	Array interface{} `json:"array,omitempty"`

	// Arrayminus
	// arrayOK: false
	// type: data_array
	// Sets the data corresponding the length of each error bar in the bottom (left) direction for vertical (horizontal) bars Values are plotted relative to the underlying data.
	Arrayminus interface{} `json:"arrayminus,omitempty"`

	// Arrayminussrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  arrayminus .
	Arrayminussrc String `json:"arrayminussrc,omitempty"`

	// Arraysrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  array .
	Arraysrc String `json:"arraysrc,omitempty"`

	// Color
	// arrayOK: false
	// type: color
	// Sets the stoke color of the error bars.
	Color Color `json:"color,omitempty"`

	// Symmetric
	// arrayOK: false
	// type: boolean
	// Determines whether or not the error bars have the same length in both direction (top/bottom for vertical bars, left/right for horizontal bars.
	Symmetric Bool `json:"symmetric,omitempty"`

	// Thickness
	// arrayOK: false
	// type: number
	// Sets the thickness (in px) of the error bars.
	Thickness float64 `json:"thickness,omitempty"`

	// Traceref
	// arrayOK: false
	// type: integer
	//
	Traceref int64 `json:"traceref,omitempty"`

	// Tracerefminus
	// arrayOK: false
	// type: integer
	//
	Tracerefminus int64 `json:"tracerefminus,omitempty"`

	// Type
	// default: %!s(<nil>)
	// type: enumerated
	// Determines the rule used to generate the error bars. If *constant`, the bar lengths are of a constant value. Set this constant in `value`. If *percent*, the bar lengths correspond to a percentage of underlying data. Set this percentage in `value`. If *sqrt*, the bar lengths correspond to the square of the underlying data. If *data*, the bar lengths are set with data set `array`.
	Type Scatter3dErrorZType `json:"type,omitempty"`

	// Value
	// arrayOK: false
	// type: number
	// Sets the value of either the percentage (if `type` is set to *percent*) or the constant (if `type` is set to *constant*) corresponding to the lengths of the error bars.
	Value float64 `json:"value,omitempty"`

	// Valueminus
	// arrayOK: false
	// type: number
	// Sets the value of either the percentage (if `type` is set to *percent*) or the constant (if `type` is set to *constant*) corresponding to the lengths of the error bars in the bottom (left) direction for vertical (horizontal) bars
	Valueminus float64 `json:"valueminus,omitempty"`

	// Visible
	// arrayOK: false
	// type: boolean
	// Determines whether or not this set of error bars is visible.
	Visible Bool `json:"visible,omitempty"`

	// Width
	// arrayOK: false
	// type: number
	// Sets the width (in px) of the cross-bar at both ends of the error bars.
	Width float64 `json:"width,omitempty"`
}

Scatter3dErrorZ

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 (
	Scatter3dErrorZTypePercent  Scatter3dErrorZType = "percent"
	Scatter3dErrorZTypeConstant Scatter3dErrorZType = "constant"
	Scatter3dErrorZTypeSqrt     Scatter3dErrorZType = "sqrt"
	Scatter3dErrorZTypeData     Scatter3dErrorZType = "data"
)

type Scatter3dHoverinfo

type Scatter3dHoverinfo string

Scatter3dHoverinfo Determines which trace information appear on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired.

const (
	// Flags
	Scatter3dHoverinfoX    Scatter3dHoverinfo = "x"
	Scatter3dHoverinfoY    Scatter3dHoverinfo = "y"
	Scatter3dHoverinfoZ    Scatter3dHoverinfo = "z"
	Scatter3dHoverinfoText Scatter3dHoverinfo = "text"
	Scatter3dHoverinfoName Scatter3dHoverinfo = "name"

	// Extra
	Scatter3dHoverinfoAll  Scatter3dHoverinfo = "all"
	Scatter3dHoverinfoNone Scatter3dHoverinfo = "none"
	Scatter3dHoverinfoSkip Scatter3dHoverinfo = "skip"
)

type Scatter3dHoverlabel

type Scatter3dHoverlabel struct {

	// Align
	// default: auto
	// type: enumerated
	// Sets the horizontal alignment of the text content within hover label box. Has an effect only if the hover label text spans more two or more lines
	Align Scatter3dHoverlabelAlign `json:"align,omitempty"`

	// Alignsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  align .
	Alignsrc String `json:"alignsrc,omitempty"`

	// Bgcolor
	// arrayOK: true
	// type: color
	// Sets the background color of the hover labels for this trace
	Bgcolor Color `json:"bgcolor,omitempty"`

	// Bgcolorsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  bgcolor .
	Bgcolorsrc String `json:"bgcolorsrc,omitempty"`

	// Bordercolor
	// arrayOK: true
	// type: color
	// Sets the border color of the hover labels for this trace.
	Bordercolor Color `json:"bordercolor,omitempty"`

	// Bordercolorsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  bordercolor .
	Bordercolorsrc String `json:"bordercolorsrc,omitempty"`

	// Font
	// role: Object
	Font *Scatter3dHoverlabelFont `json:"font,omitempty"`

	// Namelength
	// arrayOK: true
	// type: integer
	// Sets the default length (in number of characters) of the trace name in the hover labels for all traces. -1 shows the whole name regardless of length. 0-3 shows the first 0-3 characters, and an integer >3 will show the whole name if it is less than that many characters, but if it is longer, will truncate to `namelength - 3` characters and add an ellipsis.
	Namelength int64 `json:"namelength,omitempty"`

	// Namelengthsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  namelength .
	Namelengthsrc String `json:"namelengthsrc,omitempty"`
}

Scatter3dHoverlabel

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 (
	Scatter3dHoverlabelAlignLeft  Scatter3dHoverlabelAlign = "left"
	Scatter3dHoverlabelAlignRight Scatter3dHoverlabelAlign = "right"
	Scatter3dHoverlabelAlignAuto  Scatter3dHoverlabelAlign = "auto"
)

type Scatter3dHoverlabelFont

type Scatter3dHoverlabelFont struct {

	// Color
	// arrayOK: true
	// type: color
	//
	Color Color `json:"color,omitempty"`

	// Colorsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  color .
	Colorsrc String `json:"colorsrc,omitempty"`

	// Family
	// arrayOK: true
	// type: string
	// HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.
	Family String `json:"family,omitempty"`

	// Familysrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  family .
	Familysrc String `json:"familysrc,omitempty"`

	// Size
	// arrayOK: true
	// type: number
	//
	Size float64 `json:"size,omitempty"`

	// Sizesrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  size .
	Sizesrc String `json:"sizesrc,omitempty"`
}

Scatter3dHoverlabelFont Sets the font used in hover labels.

type Scatter3dLine

type Scatter3dLine struct {

	// Autocolorscale
	// arrayOK: false
	// type: boolean
	// Determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by `line.colorscale`. Has an effect only if in `line.color`is set to a numerical array. In case `colorscale` is unspecified or `autocolorscale` is true, the default  palette will be chosen according to whether numbers in the `color` array are all positive, all negative or mixed.
	Autocolorscale Bool `json:"autocolorscale,omitempty"`

	// Cauto
	// arrayOK: false
	// type: boolean
	// Determines whether or not the color domain is computed with respect to the input data (here in `line.color`) or the bounds set in `line.cmin` and `line.cmax`  Has an effect only if in `line.color`is set to a numerical array. Defaults to `false` when `line.cmin` and `line.cmax` are set by the user.
	Cauto Bool `json:"cauto,omitempty"`

	// Cmax
	// arrayOK: false
	// type: number
	// Sets the upper bound of the color domain. Has an effect only if in `line.color`is set to a numerical array. Value should have the same units as in `line.color` and if set, `line.cmin` must be set as well.
	Cmax float64 `json:"cmax,omitempty"`

	// Cmid
	// arrayOK: false
	// type: number
	// Sets the mid-point of the color domain by scaling `line.cmin` and/or `line.cmax` to be equidistant to this point. Has an effect only if in `line.color`is set to a numerical array. Value should have the same units as in `line.color`. Has no effect when `line.cauto` is `false`.
	Cmid float64 `json:"cmid,omitempty"`

	// Cmin
	// arrayOK: false
	// type: number
	// Sets the lower bound of the color domain. Has an effect only if in `line.color`is set to a numerical array. Value should have the same units as in `line.color` and if set, `line.cmax` must be set as well.
	Cmin float64 `json:"cmin,omitempty"`

	// Color
	// arrayOK: true
	// type: color
	// Sets 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 Color `json:"color,omitempty"`

	// Coloraxis
	// arrayOK: false
	// type: subplotid
	// Sets a reference to a shared color axis. References to these shared color axes are *coloraxis*, *coloraxis2*, *coloraxis3*, etc. Settings for these shared color axes are set in the layout, under `layout.coloraxis`, `layout.coloraxis2`, etc. Note that multiple color scales can be linked to the same color axis.
	Coloraxis String `json:"coloraxis,omitempty"`

	// Colorbar
	// role: Object
	Colorbar *Scatter3dLineColorbar `json:"colorbar,omitempty"`

	// Colorscale
	// default: %!s(<nil>)
	// type: colorscale
	// Sets the colorscale. Has an effect only if in `line.color`is set to a numerical array. The colorscale must be an array containing arrays mapping a normalized value to an rgb, rgba, hex, hsl, hsv, or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, use`line.cmin` and `line.cmax`. Alternatively, `colorscale` may be a palette name string of the following list: Greys,YlGnBu,Greens,YlOrRd,Bluered,RdBu,Reds,Blues,Picnic,Rainbow,Portland,Jet,Hot,Blackbody,Earth,Electric,Viridis,Cividis.
	Colorscale ColorScale `json:"colorscale,omitempty"`

	// Colorsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  color .
	Colorsrc String `json:"colorsrc,omitempty"`

	// Dash
	// default: solid
	// type: enumerated
	// Sets the dash style of the lines.
	Dash Scatter3dLineDash `json:"dash,omitempty"`

	// Reversescale
	// arrayOK: false
	// type: boolean
	// Reverses the color mapping if true. Has an effect only if in `line.color`is set to a numerical array. If true, `line.cmin` will correspond to the last color in the array and `line.cmax` will correspond to the first color.
	Reversescale Bool `json:"reversescale,omitempty"`

	// Showscale
	// arrayOK: false
	// type: boolean
	// Determines whether or not a colorbar is displayed for this trace. Has an effect only if in `line.color`is set to a numerical array.
	Showscale Bool `json:"showscale,omitempty"`

	// Width
	// arrayOK: false
	// type: number
	// Sets the line width (in px).
	Width float64 `json:"width,omitempty"`
}

Scatter3dLine

type Scatter3dLineColorbar

type Scatter3dLineColorbar struct {

	// Bgcolor
	// arrayOK: false
	// type: color
	// Sets the color of padded area.
	Bgcolor Color `json:"bgcolor,omitempty"`

	// Bordercolor
	// arrayOK: false
	// type: color
	// Sets the axis line color.
	Bordercolor Color `json:"bordercolor,omitempty"`

	// Borderwidth
	// arrayOK: false
	// type: number
	// Sets the width (in px) or the border enclosing this color bar.
	Borderwidth float64 `json:"borderwidth,omitempty"`

	// Dtick
	// arrayOK: false
	// type: any
	// Sets the step in-between ticks on this axis. Use with `tick0`. Must be a positive number, or special strings available to *log* and *date* axes. If the axis `type` is *log*, then ticks are set every 10^(n*dtick) where n is the tick number. For example, to set a tick mark at 1, 10, 100, 1000, ... set dtick to 1. To set tick marks at 1, 100, 10000, ... set dtick to 2. To set tick marks at 1, 5, 25, 125, 625, 3125, ... set dtick to log_10(5), or 0.69897000433. *log* has several special values; *L<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
	// default: B
	// type: enumerated
	// Determines a formatting rule for the tick exponents. For example, consider the number 1,000,000,000. If *none*, it appears as 1,000,000,000. If *e*, 1e+9. If *E*, 1E+9. If *power*, 1x10^9 (with 9 in a super script). If *SI*, 1G. If *B*, 1B.
	Exponentformat Scatter3dLineColorbarExponentformat `json:"exponentformat,omitempty"`

	// Len
	// arrayOK: false
	// type: number
	// Sets the length of the color bar This measure excludes the padding of both ends. That is, the color bar length is this length minus the padding on both ends.
	Len float64 `json:"len,omitempty"`

	// Lenmode
	// default: fraction
	// type: enumerated
	// Determines whether this color bar's length (i.e. the measure in the color variation direction) is set in units of plot *fraction* or in *pixels. Use `len` to set the value.
	Lenmode Scatter3dLineColorbarLenmode `json:"lenmode,omitempty"`

	// Minexponent
	// arrayOK: false
	// type: number
	// Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*.
	Minexponent float64 `json:"minexponent,omitempty"`

	// Nticks
	// arrayOK: false
	// type: integer
	// Specifies the maximum number of ticks for the particular axis. The actual number of ticks will be chosen automatically to be less than or equal to `nticks`. Has an effect only if `tickmode` is set to *auto*.
	Nticks int64 `json:"nticks,omitempty"`

	// Outlinecolor
	// arrayOK: false
	// type: color
	// Sets the axis line color.
	Outlinecolor Color `json:"outlinecolor,omitempty"`

	// Outlinewidth
	// arrayOK: false
	// type: number
	// Sets the width (in px) of the axis line.
	Outlinewidth float64 `json:"outlinewidth,omitempty"`

	// Separatethousands
	// arrayOK: false
	// type: boolean
	// If "true", even 4-digit integers are separated
	Separatethousands Bool `json:"separatethousands,omitempty"`

	// Showexponent
	// default: all
	// type: enumerated
	// If *all*, all exponents are shown besides their significands. If *first*, only the exponent of the first tick is shown. If *last*, only the exponent of the last tick is shown. If *none*, no exponents appear.
	Showexponent Scatter3dLineColorbarShowexponent `json:"showexponent,omitempty"`

	// Showticklabels
	// arrayOK: false
	// type: boolean
	// Determines whether or not the tick labels are drawn.
	Showticklabels Bool `json:"showticklabels,omitempty"`

	// Showtickprefix
	// default: all
	// type: enumerated
	// If *all*, all tick labels are displayed with a prefix. If *first*, only the first tick is displayed with a prefix. If *last*, only the last tick is displayed with a suffix. If *none*, tick prefixes are hidden.
	Showtickprefix Scatter3dLineColorbarShowtickprefix `json:"showtickprefix,omitempty"`

	// Showticksuffix
	// default: all
	// type: enumerated
	// Same as `showtickprefix` but for tick suffixes.
	Showticksuffix Scatter3dLineColorbarShowticksuffix `json:"showticksuffix,omitempty"`

	// Thickness
	// arrayOK: false
	// type: number
	// Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.
	Thickness float64 `json:"thickness,omitempty"`

	// Thicknessmode
	// default: pixels
	// type: enumerated
	// Determines whether this color bar's thickness (i.e. the measure in the constant color direction) is set in units of plot *fraction* or in *pixels*. Use `thickness` to set the value.
	Thicknessmode Scatter3dLineColorbarThicknessmode `json:"thicknessmode,omitempty"`

	// Tick0
	// arrayOK: false
	// type: any
	// Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2) except when `dtick`=*L<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
	// arrayOK: false
	// type: angle
	// Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.
	Tickangle float64 `json:"tickangle,omitempty"`

	// Tickcolor
	// arrayOK: false
	// type: color
	// Sets the tick color.
	Tickcolor Color `json:"tickcolor,omitempty"`

	// Tickfont
	// role: Object
	Tickfont *Scatter3dLineColorbarTickfont `json:"tickfont,omitempty"`

	// Tickformat
	// arrayOK: false
	// type: string
	// Sets the tick label formatting rule using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-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
	// It's an items array and what goes inside it's... messy... check the docs
	// I will be happy if you want to contribute by implementing this
	// just raise an issue before you start so we do not overlap
	Tickformatstops interface{} `json:"tickformatstops,omitempty"`

	// Ticklabelposition
	// default: outside
	// type: enumerated
	// Determines where tick labels are drawn.
	Ticklabelposition Scatter3dLineColorbarTicklabelposition `json:"ticklabelposition,omitempty"`

	// Ticklen
	// arrayOK: false
	// type: number
	// Sets the tick length (in px).
	Ticklen float64 `json:"ticklen,omitempty"`

	// Tickmode
	// default: %!s(<nil>)
	// type: enumerated
	// Sets the tick mode for this axis. If *auto*, the number of ticks is set via `nticks`. If *linear*, the placement of the ticks is determined by a starting position `tick0` and a tick step `dtick` (*linear* is the default value if `tick0` and `dtick` are provided). If *array*, the placement of the ticks is set via `tickvals` and the tick text is `ticktext`. (*array* is the default value if `tickvals` is provided).
	Tickmode Scatter3dLineColorbarTickmode `json:"tickmode,omitempty"`

	// Tickprefix
	// arrayOK: false
	// type: string
	// Sets a tick label prefix.
	Tickprefix String `json:"tickprefix,omitempty"`

	// Ticks
	// default:
	// type: enumerated
	// Determines whether ticks are drawn or not. If **, this axis' ticks are not drawn. If *outside* (*inside*), this axis' are drawn outside (inside) the axis lines.
	Ticks Scatter3dLineColorbarTicks `json:"ticks,omitempty"`

	// Ticksuffix
	// arrayOK: false
	// type: string
	// Sets a tick label suffix.
	Ticksuffix String `json:"ticksuffix,omitempty"`

	// Ticktext
	// arrayOK: false
	// type: data_array
	// Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `tickvals`.
	Ticktext interface{} `json:"ticktext,omitempty"`

	// Ticktextsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  ticktext .
	Ticktextsrc String `json:"ticktextsrc,omitempty"`

	// Tickvals
	// arrayOK: false
	// type: data_array
	// Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.
	Tickvals interface{} `json:"tickvals,omitempty"`

	// Tickvalssrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  tickvals .
	Tickvalssrc String `json:"tickvalssrc,omitempty"`

	// Tickwidth
	// arrayOK: false
	// type: number
	// Sets the tick width (in px).
	Tickwidth float64 `json:"tickwidth,omitempty"`

	// Title
	// role: Object
	Title *Scatter3dLineColorbarTitle `json:"title,omitempty"`

	// X
	// arrayOK: false
	// type: number
	// Sets the x position of the color bar (in plot fraction).
	X float64 `json:"x,omitempty"`

	// Xanchor
	// default: left
	// type: enumerated
	// Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the color bar.
	Xanchor Scatter3dLineColorbarXanchor `json:"xanchor,omitempty"`

	// Xpad
	// arrayOK: false
	// type: number
	// Sets the amount of padding (in px) along the x direction.
	Xpad float64 `json:"xpad,omitempty"`

	// Y
	// arrayOK: false
	// type: number
	// Sets the y position of the color bar (in plot fraction).
	Y float64 `json:"y,omitempty"`

	// Yanchor
	// default: middle
	// type: enumerated
	// Sets this color bar's vertical position anchor This anchor binds the `y` position to the *top*, *middle* or *bottom* of the color bar.
	Yanchor Scatter3dLineColorbarYanchor `json:"yanchor,omitempty"`

	// Ypad
	// arrayOK: false
	// type: number
	// Sets the amount of padding (in px) along the y direction.
	Ypad float64 `json:"ypad,omitempty"`
}

Scatter3dLineColorbar

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 (
	Scatter3dLineColorbarExponentformatNone  Scatter3dLineColorbarExponentformat = "none"
	Scatter3dLineColorbarExponentformatE1    Scatter3dLineColorbarExponentformat = "e"
	Scatter3dLineColorbarExponentformatE2    Scatter3dLineColorbarExponentformat = "E"
	Scatter3dLineColorbarExponentformatPower Scatter3dLineColorbarExponentformat = "power"
	Scatter3dLineColorbarExponentformatSi    Scatter3dLineColorbarExponentformat = "SI"
	Scatter3dLineColorbarExponentformatB     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 (
	Scatter3dLineColorbarLenmodeFraction Scatter3dLineColorbarLenmode = "fraction"
	Scatter3dLineColorbarLenmodePixels   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 (
	Scatter3dLineColorbarShowexponentAll   Scatter3dLineColorbarShowexponent = "all"
	Scatter3dLineColorbarShowexponentFirst Scatter3dLineColorbarShowexponent = "first"
	Scatter3dLineColorbarShowexponentLast  Scatter3dLineColorbarShowexponent = "last"
	Scatter3dLineColorbarShowexponentNone  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 (
	Scatter3dLineColorbarShowtickprefixAll   Scatter3dLineColorbarShowtickprefix = "all"
	Scatter3dLineColorbarShowtickprefixFirst Scatter3dLineColorbarShowtickprefix = "first"
	Scatter3dLineColorbarShowtickprefixLast  Scatter3dLineColorbarShowtickprefix = "last"
	Scatter3dLineColorbarShowtickprefixNone  Scatter3dLineColorbarShowtickprefix = "none"
)

type Scatter3dLineColorbarShowticksuffix

type Scatter3dLineColorbarShowticksuffix string

Scatter3dLineColorbarShowticksuffix Same as `showtickprefix` but for tick suffixes.

const (
	Scatter3dLineColorbarShowticksuffixAll   Scatter3dLineColorbarShowticksuffix = "all"
	Scatter3dLineColorbarShowticksuffixFirst Scatter3dLineColorbarShowticksuffix = "first"
	Scatter3dLineColorbarShowticksuffixLast  Scatter3dLineColorbarShowticksuffix = "last"
	Scatter3dLineColorbarShowticksuffixNone  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 (
	Scatter3dLineColorbarThicknessmodeFraction Scatter3dLineColorbarThicknessmode = "fraction"
	Scatter3dLineColorbarThicknessmodePixels   Scatter3dLineColorbarThicknessmode = "pixels"
)

type Scatter3dLineColorbarTickfont

type Scatter3dLineColorbarTickfont struct {

	// Color
	// arrayOK: false
	// type: color
	//
	Color Color `json:"color,omitempty"`

	// Family
	// arrayOK: false
	// type: string
	// HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.
	Family String `json:"family,omitempty"`

	// Size
	// arrayOK: false
	// type: number
	//
	Size float64 `json:"size,omitempty"`
}

Scatter3dLineColorbarTickfont Sets the color bar's tick label font

type Scatter3dLineColorbarTicklabelposition added in v0.3.1

type Scatter3dLineColorbarTicklabelposition string

Scatter3dLineColorbarTicklabelposition Determines where tick labels are drawn.

const (
	Scatter3dLineColorbarTicklabelpositionOutside       Scatter3dLineColorbarTicklabelposition = "outside"
	Scatter3dLineColorbarTicklabelpositionInside        Scatter3dLineColorbarTicklabelposition = "inside"
	Scatter3dLineColorbarTicklabelpositionOutsideTop    Scatter3dLineColorbarTicklabelposition = "outside top"
	Scatter3dLineColorbarTicklabelpositionInsideTop     Scatter3dLineColorbarTicklabelposition = "inside top"
	Scatter3dLineColorbarTicklabelpositionOutsideBottom Scatter3dLineColorbarTicklabelposition = "outside bottom"
	Scatter3dLineColorbarTicklabelpositionInsideBottom  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 (
	Scatter3dLineColorbarTickmodeAuto   Scatter3dLineColorbarTickmode = "auto"
	Scatter3dLineColorbarTickmodeLinear Scatter3dLineColorbarTickmode = "linear"
	Scatter3dLineColorbarTickmodeArray  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 (
	Scatter3dLineColorbarTicksOutside Scatter3dLineColorbarTicks = "outside"
	Scatter3dLineColorbarTicksInside  Scatter3dLineColorbarTicks = "inside"
	Scatter3dLineColorbarTicksEmpty   Scatter3dLineColorbarTicks = ""
)

type Scatter3dLineColorbarTitle

type Scatter3dLineColorbarTitle struct {

	// Font
	// role: Object
	Font *Scatter3dLineColorbarTitleFont `json:"font,omitempty"`

	// Side
	// default: top
	// type: enumerated
	// Determines the location of color bar's title with respect to the color bar. Note that the title's location used to be set by the now deprecated `titleside` attribute.
	Side Scatter3dLineColorbarTitleSide `json:"side,omitempty"`

	// Text
	// arrayOK: false
	// type: string
	// Sets the title of the color bar. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.
	Text String `json:"text,omitempty"`
}

Scatter3dLineColorbarTitle

type Scatter3dLineColorbarTitleFont

type Scatter3dLineColorbarTitleFont struct {

	// Color
	// arrayOK: false
	// type: color
	//
	Color Color `json:"color,omitempty"`

	// Family
	// arrayOK: false
	// type: string
	// HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.
	Family String `json:"family,omitempty"`

	// Size
	// arrayOK: false
	// type: number
	//
	Size float64 `json:"size,omitempty"`
}

Scatter3dLineColorbarTitleFont Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.

type 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 (
	Scatter3dLineColorbarTitleSideRight  Scatter3dLineColorbarTitleSide = "right"
	Scatter3dLineColorbarTitleSideTop    Scatter3dLineColorbarTitleSide = "top"
	Scatter3dLineColorbarTitleSideBottom 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 (
	Scatter3dLineColorbarXanchorLeft   Scatter3dLineColorbarXanchor = "left"
	Scatter3dLineColorbarXanchorCenter Scatter3dLineColorbarXanchor = "center"
	Scatter3dLineColorbarXanchorRight  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 (
	Scatter3dLineColorbarYanchorTop    Scatter3dLineColorbarYanchor = "top"
	Scatter3dLineColorbarYanchorMiddle Scatter3dLineColorbarYanchor = "middle"
	Scatter3dLineColorbarYanchorBottom Scatter3dLineColorbarYanchor = "bottom"
)

type Scatter3dLineDash

type Scatter3dLineDash string

Scatter3dLineDash Sets the dash style of the lines.

const (
	Scatter3dLineDashSolid       Scatter3dLineDash = "solid"
	Scatter3dLineDashDot         Scatter3dLineDash = "dot"
	Scatter3dLineDashDash        Scatter3dLineDash = "dash"
	Scatter3dLineDashLongdash    Scatter3dLineDash = "longdash"
	Scatter3dLineDashDashdot     Scatter3dLineDash = "dashdot"
	Scatter3dLineDashLongdashdot Scatter3dLineDash = "longdashdot"
)

type Scatter3dMarker

type Scatter3dMarker struct {

	// Autocolorscale
	// arrayOK: false
	// type: boolean
	// Determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by `marker.colorscale`. Has an effect only if in `marker.color`is set to a numerical array. In case `colorscale` is unspecified or `autocolorscale` is true, the default  palette will be chosen according to whether numbers in the `color` array are all positive, all negative or mixed.
	Autocolorscale Bool `json:"autocolorscale,omitempty"`

	// Cauto
	// arrayOK: false
	// type: boolean
	// Determines whether or not the color domain is computed with respect to the input data (here in `marker.color`) or the bounds set in `marker.cmin` and `marker.cmax`  Has an effect only if in `marker.color`is set to a numerical array. Defaults to `false` when `marker.cmin` and `marker.cmax` are set by the user.
	Cauto Bool `json:"cauto,omitempty"`

	// Cmax
	// arrayOK: false
	// type: number
	// Sets the upper bound of the color domain. Has an effect only if in `marker.color`is set to a numerical array. Value should have the same units as in `marker.color` and if set, `marker.cmin` must be set as well.
	Cmax float64 `json:"cmax,omitempty"`

	// Cmid
	// arrayOK: false
	// type: number
	// Sets the mid-point of the color domain by scaling `marker.cmin` and/or `marker.cmax` to be equidistant to this point. Has an effect only if in `marker.color`is set to a numerical array. Value should have the same units as in `marker.color`. Has no effect when `marker.cauto` is `false`.
	Cmid float64 `json:"cmid,omitempty"`

	// Cmin
	// arrayOK: false
	// type: number
	// Sets the lower bound of the color domain. Has an effect only if in `marker.color`is set to a numerical array. Value should have the same units as in `marker.color` and if set, `marker.cmax` must be set as well.
	Cmin float64 `json:"cmin,omitempty"`

	// Color
	// arrayOK: true
	// type: color
	// Sets themarkercolor. It accepts either a specific color or an array of numbers that are mapped to the colorscale relative to the max and min values of the array or relative to `marker.cmin` and `marker.cmax` if set.
	Color Color `json:"color,omitempty"`

	// Coloraxis
	// arrayOK: false
	// type: subplotid
	// Sets a reference to a shared color axis. References to these shared color axes are *coloraxis*, *coloraxis2*, *coloraxis3*, etc. Settings for these shared color axes are set in the layout, under `layout.coloraxis`, `layout.coloraxis2`, etc. Note that multiple color scales can be linked to the same color axis.
	Coloraxis String `json:"coloraxis,omitempty"`

	// Colorbar
	// role: Object
	Colorbar *Scatter3dMarkerColorbar `json:"colorbar,omitempty"`

	// Colorscale
	// default: %!s(<nil>)
	// type: colorscale
	// Sets the colorscale. Has an effect only if in `marker.color`is set to a numerical array. The colorscale must be an array containing arrays mapping a normalized value to an rgb, rgba, hex, hsl, hsv, or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, use`marker.cmin` and `marker.cmax`. Alternatively, `colorscale` may be a palette name string of the following list: Greys,YlGnBu,Greens,YlOrRd,Bluered,RdBu,Reds,Blues,Picnic,Rainbow,Portland,Jet,Hot,Blackbody,Earth,Electric,Viridis,Cividis.
	Colorscale ColorScale `json:"colorscale,omitempty"`

	// Colorsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  color .
	Colorsrc String `json:"colorsrc,omitempty"`

	// Line
	// role: Object
	Line *Scatter3dMarkerLine `json:"line,omitempty"`

	// Opacity
	// arrayOK: false
	// type: number
	// Sets the marker opacity. Note that the marker opacity for scatter3d traces must be a scalar value for performance reasons. To set a blending opacity value (i.e. which is not transparent), set *marker.color* to an rgba color and use its alpha channel.
	Opacity float64 `json:"opacity,omitempty"`

	// Reversescale
	// arrayOK: false
	// type: boolean
	// Reverses the color mapping if true. Has an effect only if in `marker.color`is set to a numerical array. If true, `marker.cmin` will correspond to the last color in the array and `marker.cmax` will correspond to the first color.
	Reversescale Bool `json:"reversescale,omitempty"`

	// Showscale
	// arrayOK: false
	// type: boolean
	// Determines whether or not a colorbar is displayed for this trace. Has an effect only if in `marker.color`is set to a numerical array.
	Showscale Bool `json:"showscale,omitempty"`

	// Size
	// arrayOK: true
	// type: number
	// Sets the marker size (in px).
	Size float64 `json:"size,omitempty"`

	// Sizemin
	// arrayOK: false
	// type: number
	// Has an effect only if `marker.size` is set to a numerical array. Sets the minimum size (in px) of the rendered marker points.
	Sizemin float64 `json:"sizemin,omitempty"`

	// Sizemode
	// default: diameter
	// type: enumerated
	// Has an effect only if `marker.size` is set to a numerical array. Sets the rule for which the data in `size` is converted to pixels.
	Sizemode Scatter3dMarkerSizemode `json:"sizemode,omitempty"`

	// Sizeref
	// arrayOK: false
	// type: number
	// Has an effect only if `marker.size` is set to a numerical array. Sets the scale factor used to determine the rendered size of marker points. Use with `sizemin` and `sizemode`.
	Sizeref float64 `json:"sizeref,omitempty"`

	// Sizesrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  size .
	Sizesrc String `json:"sizesrc,omitempty"`

	// Symbol
	// default: circle
	// type: enumerated
	// Sets the marker symbol type.
	Symbol Scatter3dMarkerSymbol `json:"symbol,omitempty"`

	// Symbolsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  symbol .
	Symbolsrc String `json:"symbolsrc,omitempty"`
}

Scatter3dMarker

type Scatter3dMarkerColorbar

type Scatter3dMarkerColorbar struct {

	// Bgcolor
	// arrayOK: false
	// type: color
	// Sets the color of padded area.
	Bgcolor Color `json:"bgcolor,omitempty"`

	// Bordercolor
	// arrayOK: false
	// type: color
	// Sets the axis line color.
	Bordercolor Color `json:"bordercolor,omitempty"`

	// Borderwidth
	// arrayOK: false
	// type: number
	// Sets the width (in px) or the border enclosing this color bar.
	Borderwidth float64 `json:"borderwidth,omitempty"`

	// Dtick
	// arrayOK: false
	// type: any
	// Sets the step in-between ticks on this axis. Use with `tick0`. Must be a positive number, or special strings available to *log* and *date* axes. If the axis `type` is *log*, then ticks are set every 10^(n*dtick) where n is the tick number. For example, to set a tick mark at 1, 10, 100, 1000, ... set dtick to 1. To set tick marks at 1, 100, 10000, ... set dtick to 2. To set tick marks at 1, 5, 25, 125, 625, 3125, ... set dtick to log_10(5), or 0.69897000433. *log* has several special values; *L<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
	// default: B
	// type: enumerated
	// Determines a formatting rule for the tick exponents. For example, consider the number 1,000,000,000. If *none*, it appears as 1,000,000,000. If *e*, 1e+9. If *E*, 1E+9. If *power*, 1x10^9 (with 9 in a super script). If *SI*, 1G. If *B*, 1B.
	Exponentformat Scatter3dMarkerColorbarExponentformat `json:"exponentformat,omitempty"`

	// Len
	// arrayOK: false
	// type: number
	// Sets the length of the color bar This measure excludes the padding of both ends. That is, the color bar length is this length minus the padding on both ends.
	Len float64 `json:"len,omitempty"`

	// Lenmode
	// default: fraction
	// type: enumerated
	// Determines whether this color bar's length (i.e. the measure in the color variation direction) is set in units of plot *fraction* or in *pixels. Use `len` to set the value.
	Lenmode Scatter3dMarkerColorbarLenmode `json:"lenmode,omitempty"`

	// Minexponent
	// arrayOK: false
	// type: number
	// Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*.
	Minexponent float64 `json:"minexponent,omitempty"`

	// Nticks
	// arrayOK: false
	// type: integer
	// Specifies the maximum number of ticks for the particular axis. The actual number of ticks will be chosen automatically to be less than or equal to `nticks`. Has an effect only if `tickmode` is set to *auto*.
	Nticks int64 `json:"nticks,omitempty"`

	// Outlinecolor
	// arrayOK: false
	// type: color
	// Sets the axis line color.
	Outlinecolor Color `json:"outlinecolor,omitempty"`

	// Outlinewidth
	// arrayOK: false
	// type: number
	// Sets the width (in px) of the axis line.
	Outlinewidth float64 `json:"outlinewidth,omitempty"`

	// Separatethousands
	// arrayOK: false
	// type: boolean
	// If "true", even 4-digit integers are separated
	Separatethousands Bool `json:"separatethousands,omitempty"`

	// Showexponent
	// default: all
	// type: enumerated
	// If *all*, all exponents are shown besides their significands. If *first*, only the exponent of the first tick is shown. If *last*, only the exponent of the last tick is shown. If *none*, no exponents appear.
	Showexponent Scatter3dMarkerColorbarShowexponent `json:"showexponent,omitempty"`

	// Showticklabels
	// arrayOK: false
	// type: boolean
	// Determines whether or not the tick labels are drawn.
	Showticklabels Bool `json:"showticklabels,omitempty"`

	// Showtickprefix
	// default: all
	// type: enumerated
	// If *all*, all tick labels are displayed with a prefix. If *first*, only the first tick is displayed with a prefix. If *last*, only the last tick is displayed with a suffix. If *none*, tick prefixes are hidden.
	Showtickprefix Scatter3dMarkerColorbarShowtickprefix `json:"showtickprefix,omitempty"`

	// Showticksuffix
	// default: all
	// type: enumerated
	// Same as `showtickprefix` but for tick suffixes.
	Showticksuffix Scatter3dMarkerColorbarShowticksuffix `json:"showticksuffix,omitempty"`

	// Thickness
	// arrayOK: false
	// type: number
	// Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.
	Thickness float64 `json:"thickness,omitempty"`

	// Thicknessmode
	// default: pixels
	// type: enumerated
	// Determines whether this color bar's thickness (i.e. the measure in the constant color direction) is set in units of plot *fraction* or in *pixels*. Use `thickness` to set the value.
	Thicknessmode Scatter3dMarkerColorbarThicknessmode `json:"thicknessmode,omitempty"`

	// Tick0
	// arrayOK: false
	// type: any
	// Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2) except when `dtick`=*L<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
	// arrayOK: false
	// type: angle
	// Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.
	Tickangle float64 `json:"tickangle,omitempty"`

	// Tickcolor
	// arrayOK: false
	// type: color
	// Sets the tick color.
	Tickcolor Color `json:"tickcolor,omitempty"`

	// Tickfont
	// role: Object
	Tickfont *Scatter3dMarkerColorbarTickfont `json:"tickfont,omitempty"`

	// Tickformat
	// arrayOK: false
	// type: string
	// Sets the tick label formatting rule using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-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
	// It's an items array and what goes inside it's... messy... check the docs
	// I will be happy if you want to contribute by implementing this
	// just raise an issue before you start so we do not overlap
	Tickformatstops interface{} `json:"tickformatstops,omitempty"`

	// Ticklabelposition
	// default: outside
	// type: enumerated
	// Determines where tick labels are drawn.
	Ticklabelposition Scatter3dMarkerColorbarTicklabelposition `json:"ticklabelposition,omitempty"`

	// Ticklen
	// arrayOK: false
	// type: number
	// Sets the tick length (in px).
	Ticklen float64 `json:"ticklen,omitempty"`

	// Tickmode
	// default: %!s(<nil>)
	// type: enumerated
	// Sets the tick mode for this axis. If *auto*, the number of ticks is set via `nticks`. If *linear*, the placement of the ticks is determined by a starting position `tick0` and a tick step `dtick` (*linear* is the default value if `tick0` and `dtick` are provided). If *array*, the placement of the ticks is set via `tickvals` and the tick text is `ticktext`. (*array* is the default value if `tickvals` is provided).
	Tickmode Scatter3dMarkerColorbarTickmode `json:"tickmode,omitempty"`

	// Tickprefix
	// arrayOK: false
	// type: string
	// Sets a tick label prefix.
	Tickprefix String `json:"tickprefix,omitempty"`

	// Ticks
	// default:
	// type: enumerated
	// Determines whether ticks are drawn or not. If **, this axis' ticks are not drawn. If *outside* (*inside*), this axis' are drawn outside (inside) the axis lines.
	Ticks Scatter3dMarkerColorbarTicks `json:"ticks,omitempty"`

	// Ticksuffix
	// arrayOK: false
	// type: string
	// Sets a tick label suffix.
	Ticksuffix String `json:"ticksuffix,omitempty"`

	// Ticktext
	// arrayOK: false
	// type: data_array
	// Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `tickvals`.
	Ticktext interface{} `json:"ticktext,omitempty"`

	// Ticktextsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  ticktext .
	Ticktextsrc String `json:"ticktextsrc,omitempty"`

	// Tickvals
	// arrayOK: false
	// type: data_array
	// Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.
	Tickvals interface{} `json:"tickvals,omitempty"`

	// Tickvalssrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  tickvals .
	Tickvalssrc String `json:"tickvalssrc,omitempty"`

	// Tickwidth
	// arrayOK: false
	// type: number
	// Sets the tick width (in px).
	Tickwidth float64 `json:"tickwidth,omitempty"`

	// Title
	// role: Object
	Title *Scatter3dMarkerColorbarTitle `json:"title,omitempty"`

	// X
	// arrayOK: false
	// type: number
	// Sets the x position of the color bar (in plot fraction).
	X float64 `json:"x,omitempty"`

	// Xanchor
	// default: left
	// type: enumerated
	// Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the color bar.
	Xanchor Scatter3dMarkerColorbarXanchor `json:"xanchor,omitempty"`

	// Xpad
	// arrayOK: false
	// type: number
	// Sets the amount of padding (in px) along the x direction.
	Xpad float64 `json:"xpad,omitempty"`

	// Y
	// arrayOK: false
	// type: number
	// Sets the y position of the color bar (in plot fraction).
	Y float64 `json:"y,omitempty"`

	// Yanchor
	// default: middle
	// type: enumerated
	// Sets this color bar's vertical position anchor This anchor binds the `y` position to the *top*, *middle* or *bottom* of the color bar.
	Yanchor Scatter3dMarkerColorbarYanchor `json:"yanchor,omitempty"`

	// Ypad
	// arrayOK: false
	// type: number
	// Sets the amount of padding (in px) along the y direction.
	Ypad float64 `json:"ypad,omitempty"`
}

Scatter3dMarkerColorbar

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 (
	Scatter3dMarkerColorbarExponentformatNone  Scatter3dMarkerColorbarExponentformat = "none"
	Scatter3dMarkerColorbarExponentformatE1    Scatter3dMarkerColorbarExponentformat = "e"
	Scatter3dMarkerColorbarExponentformatE2    Scatter3dMarkerColorbarExponentformat = "E"
	Scatter3dMarkerColorbarExponentformatPower Scatter3dMarkerColorbarExponentformat = "power"
	Scatter3dMarkerColorbarExponentformatSi    Scatter3dMarkerColorbarExponentformat = "SI"
	Scatter3dMarkerColorbarExponentformatB     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 (
	Scatter3dMarkerColorbarLenmodeFraction Scatter3dMarkerColorbarLenmode = "fraction"
	Scatter3dMarkerColorbarLenmodePixels   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 (
	Scatter3dMarkerColorbarShowexponentAll   Scatter3dMarkerColorbarShowexponent = "all"
	Scatter3dMarkerColorbarShowexponentFirst Scatter3dMarkerColorbarShowexponent = "first"
	Scatter3dMarkerColorbarShowexponentLast  Scatter3dMarkerColorbarShowexponent = "last"
	Scatter3dMarkerColorbarShowexponentNone  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 (
	Scatter3dMarkerColorbarShowtickprefixAll   Scatter3dMarkerColorbarShowtickprefix = "all"
	Scatter3dMarkerColorbarShowtickprefixFirst Scatter3dMarkerColorbarShowtickprefix = "first"
	Scatter3dMarkerColorbarShowtickprefixLast  Scatter3dMarkerColorbarShowtickprefix = "last"
	Scatter3dMarkerColorbarShowtickprefixNone  Scatter3dMarkerColorbarShowtickprefix = "none"
)

type Scatter3dMarkerColorbarShowticksuffix

type Scatter3dMarkerColorbarShowticksuffix string

Scatter3dMarkerColorbarShowticksuffix Same as `showtickprefix` but for tick suffixes.

const (
	Scatter3dMarkerColorbarShowticksuffixAll   Scatter3dMarkerColorbarShowticksuffix = "all"
	Scatter3dMarkerColorbarShowticksuffixFirst Scatter3dMarkerColorbarShowticksuffix = "first"
	Scatter3dMarkerColorbarShowticksuffixLast  Scatter3dMarkerColorbarShowticksuffix = "last"
	Scatter3dMarkerColorbarShowticksuffixNone  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 (
	Scatter3dMarkerColorbarThicknessmodeFraction Scatter3dMarkerColorbarThicknessmode = "fraction"
	Scatter3dMarkerColorbarThicknessmodePixels   Scatter3dMarkerColorbarThicknessmode = "pixels"
)

type Scatter3dMarkerColorbarTickfont

type Scatter3dMarkerColorbarTickfont struct {

	// Color
	// arrayOK: false
	// type: color
	//
	Color Color `json:"color,omitempty"`

	// Family
	// arrayOK: false
	// type: string
	// HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.
	Family String `json:"family,omitempty"`

	// Size
	// arrayOK: false
	// type: number
	//
	Size float64 `json:"size,omitempty"`
}

Scatter3dMarkerColorbarTickfont Sets the color bar's tick label font

type Scatter3dMarkerColorbarTicklabelposition added in v0.3.1

type Scatter3dMarkerColorbarTicklabelposition string

Scatter3dMarkerColorbarTicklabelposition Determines where tick labels are drawn.

const (
	Scatter3dMarkerColorbarTicklabelpositionOutside       Scatter3dMarkerColorbarTicklabelposition = "outside"
	Scatter3dMarkerColorbarTicklabelpositionInside        Scatter3dMarkerColorbarTicklabelposition = "inside"
	Scatter3dMarkerColorbarTicklabelpositionOutsideTop    Scatter3dMarkerColorbarTicklabelposition = "outside top"
	Scatter3dMarkerColorbarTicklabelpositionInsideTop     Scatter3dMarkerColorbarTicklabelposition = "inside top"
	Scatter3dMarkerColorbarTicklabelpositionOutsideBottom Scatter3dMarkerColorbarTicklabelposition = "outside bottom"
	Scatter3dMarkerColorbarTicklabelpositionInsideBottom  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 (
	Scatter3dMarkerColorbarTickmodeAuto   Scatter3dMarkerColorbarTickmode = "auto"
	Scatter3dMarkerColorbarTickmodeLinear Scatter3dMarkerColorbarTickmode = "linear"
	Scatter3dMarkerColorbarTickmodeArray  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 (
	Scatter3dMarkerColorbarTicksOutside Scatter3dMarkerColorbarTicks = "outside"
	Scatter3dMarkerColorbarTicksInside  Scatter3dMarkerColorbarTicks = "inside"
	Scatter3dMarkerColorbarTicksEmpty   Scatter3dMarkerColorbarTicks = ""
)

type Scatter3dMarkerColorbarTitle

type Scatter3dMarkerColorbarTitle struct {

	// Font
	// role: Object
	Font *Scatter3dMarkerColorbarTitleFont `json:"font,omitempty"`

	// Side
	// default: top
	// type: enumerated
	// Determines the location of color bar's title with respect to the color bar. Note that the title's location used to be set by the now deprecated `titleside` attribute.
	Side Scatter3dMarkerColorbarTitleSide `json:"side,omitempty"`

	// Text
	// arrayOK: false
	// type: string
	// Sets the title of the color bar. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.
	Text String `json:"text,omitempty"`
}

Scatter3dMarkerColorbarTitle

type Scatter3dMarkerColorbarTitleFont

type Scatter3dMarkerColorbarTitleFont struct {

	// Color
	// arrayOK: false
	// type: color
	//
	Color Color `json:"color,omitempty"`

	// Family
	// arrayOK: false
	// type: string
	// HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.
	Family String `json:"family,omitempty"`

	// Size
	// arrayOK: false
	// type: number
	//
	Size float64 `json:"size,omitempty"`
}

Scatter3dMarkerColorbarTitleFont Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.

type 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 (
	Scatter3dMarkerColorbarTitleSideRight  Scatter3dMarkerColorbarTitleSide = "right"
	Scatter3dMarkerColorbarTitleSideTop    Scatter3dMarkerColorbarTitleSide = "top"
	Scatter3dMarkerColorbarTitleSideBottom 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 (
	Scatter3dMarkerColorbarXanchorLeft   Scatter3dMarkerColorbarXanchor = "left"
	Scatter3dMarkerColorbarXanchorCenter Scatter3dMarkerColorbarXanchor = "center"
	Scatter3dMarkerColorbarXanchorRight  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 (
	Scatter3dMarkerColorbarYanchorTop    Scatter3dMarkerColorbarYanchor = "top"
	Scatter3dMarkerColorbarYanchorMiddle Scatter3dMarkerColorbarYanchor = "middle"
	Scatter3dMarkerColorbarYanchorBottom Scatter3dMarkerColorbarYanchor = "bottom"
)

type Scatter3dMarkerLine

type Scatter3dMarkerLine struct {

	// Autocolorscale
	// arrayOK: false
	// type: boolean
	// Determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by `marker.line.colorscale`. Has an effect only if in `marker.line.color`is set to a numerical array. In case `colorscale` is unspecified or `autocolorscale` is true, the default  palette will be chosen according to whether numbers in the `color` array are all positive, all negative or mixed.
	Autocolorscale Bool `json:"autocolorscale,omitempty"`

	// Cauto
	// arrayOK: false
	// type: boolean
	// Determines whether or not the color domain is computed with respect to the input data (here in `marker.line.color`) or the bounds set in `marker.line.cmin` and `marker.line.cmax`  Has an effect only if in `marker.line.color`is set to a numerical array. Defaults to `false` when `marker.line.cmin` and `marker.line.cmax` are set by the user.
	Cauto Bool `json:"cauto,omitempty"`

	// Cmax
	// arrayOK: false
	// type: number
	// Sets the upper bound of the color domain. Has an effect only if in `marker.line.color`is set to a numerical array. Value should have the same units as in `marker.line.color` and if set, `marker.line.cmin` must be set as well.
	Cmax float64 `json:"cmax,omitempty"`

	// Cmid
	// arrayOK: false
	// type: number
	// Sets the mid-point of the color domain by scaling `marker.line.cmin` and/or `marker.line.cmax` to be equidistant to this point. Has an effect only if in `marker.line.color`is set to a numerical array. Value should have the same units as in `marker.line.color`. Has no effect when `marker.line.cauto` is `false`.
	Cmid float64 `json:"cmid,omitempty"`

	// Cmin
	// arrayOK: false
	// type: number
	// Sets the lower bound of the color domain. Has an effect only if in `marker.line.color`is set to a numerical array. Value should have the same units as in `marker.line.color` and if set, `marker.line.cmax` must be set as well.
	Cmin float64 `json:"cmin,omitempty"`

	// Color
	// arrayOK: true
	// type: color
	// Sets 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 Color `json:"color,omitempty"`

	// Coloraxis
	// arrayOK: false
	// type: subplotid
	// Sets a reference to a shared color axis. References to these shared color axes are *coloraxis*, *coloraxis2*, *coloraxis3*, etc. Settings for these shared color axes are set in the layout, under `layout.coloraxis`, `layout.coloraxis2`, etc. Note that multiple color scales can be linked to the same color axis.
	Coloraxis String `json:"coloraxis,omitempty"`

	// Colorscale
	// default: %!s(<nil>)
	// type: colorscale
	// Sets the colorscale. Has an effect only if in `marker.line.color`is set to a numerical array. The colorscale must be an array containing arrays mapping a normalized value to an rgb, rgba, hex, hsl, hsv, or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, use`marker.line.cmin` and `marker.line.cmax`. Alternatively, `colorscale` may be a palette name string of the following list: Greys,YlGnBu,Greens,YlOrRd,Bluered,RdBu,Reds,Blues,Picnic,Rainbow,Portland,Jet,Hot,Blackbody,Earth,Electric,Viridis,Cividis.
	Colorscale ColorScale `json:"colorscale,omitempty"`

	// Colorsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  color .
	Colorsrc String `json:"colorsrc,omitempty"`

	// Reversescale
	// arrayOK: false
	// type: boolean
	// Reverses the color mapping if true. Has an effect only if in `marker.line.color`is set to a numerical array. If true, `marker.line.cmin` will correspond to the last color in the array and `marker.line.cmax` will correspond to the first color.
	Reversescale Bool `json:"reversescale,omitempty"`

	// Width
	// arrayOK: false
	// type: number
	// Sets the width (in px) of the lines bounding the marker points.
	Width float64 `json:"width,omitempty"`
}

Scatter3dMarkerLine

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 (
	Scatter3dMarkerSizemodeDiameter Scatter3dMarkerSizemode = "diameter"
	Scatter3dMarkerSizemodeArea     Scatter3dMarkerSizemode = "area"
)

type Scatter3dMarkerSymbol

type Scatter3dMarkerSymbol string

Scatter3dMarkerSymbol Sets the marker symbol type.

const (
	Scatter3dMarkerSymbolCircle      Scatter3dMarkerSymbol = "circle"
	Scatter3dMarkerSymbolCircleOpen  Scatter3dMarkerSymbol = "circle-open"
	Scatter3dMarkerSymbolSquare      Scatter3dMarkerSymbol = "square"
	Scatter3dMarkerSymbolSquareOpen  Scatter3dMarkerSymbol = "square-open"
	Scatter3dMarkerSymbolDiamond     Scatter3dMarkerSymbol = "diamond"
	Scatter3dMarkerSymbolDiamondOpen Scatter3dMarkerSymbol = "diamond-open"
	Scatter3dMarkerSymbolCross       Scatter3dMarkerSymbol = "cross"
	Scatter3dMarkerSymbolX           Scatter3dMarkerSymbol = "x"
)

type Scatter3dMode

type Scatter3dMode string

Scatter3dMode Determines the drawing mode for this scatter trace. If the provided `mode` includes *text* then the `text` elements appear at the coordinates. Otherwise, the `text` elements appear on hover. If there are less than 20 points and the trace is not stacked then the default is *lines+markers*. Otherwise, *lines*.

const (
	// Flags
	Scatter3dModeLines   Scatter3dMode = "lines"
	Scatter3dModeMarkers Scatter3dMode = "markers"
	Scatter3dModeText    Scatter3dMode = "text"

	// Extra
	Scatter3dModeNone Scatter3dMode = "none"
)

type Scatter3dProjection

type Scatter3dProjection struct {

	// X
	// role: Object
	X *Scatter3dProjectionX `json:"x,omitempty"`

	// Y
	// role: Object
	Y *Scatter3dProjectionY `json:"y,omitempty"`

	// Z
	// role: Object
	Z *Scatter3dProjectionZ `json:"z,omitempty"`
}

Scatter3dProjection

type Scatter3dProjectionX

type Scatter3dProjectionX struct {

	// Opacity
	// arrayOK: false
	// type: number
	// Sets the projection color.
	Opacity float64 `json:"opacity,omitempty"`

	// Scale
	// arrayOK: false
	// type: number
	// Sets the scale factor determining the size of the projection marker points.
	Scale float64 `json:"scale,omitempty"`

	// Show
	// arrayOK: false
	// type: boolean
	// Sets whether or not projections are shown along the x axis.
	Show Bool `json:"show,omitempty"`
}

Scatter3dProjectionX

type Scatter3dProjectionY

type Scatter3dProjectionY struct {

	// Opacity
	// arrayOK: false
	// type: number
	// Sets the projection color.
	Opacity float64 `json:"opacity,omitempty"`

	// Scale
	// arrayOK: false
	// type: number
	// Sets the scale factor determining the size of the projection marker points.
	Scale float64 `json:"scale,omitempty"`

	// Show
	// arrayOK: false
	// type: boolean
	// Sets whether or not projections are shown along the y axis.
	Show Bool `json:"show,omitempty"`
}

Scatter3dProjectionY

type Scatter3dProjectionZ

type Scatter3dProjectionZ struct {

	// Opacity
	// arrayOK: false
	// type: number
	// Sets the projection color.
	Opacity float64 `json:"opacity,omitempty"`

	// Scale
	// arrayOK: false
	// type: number
	// Sets the scale factor determining the size of the projection marker points.
	Scale float64 `json:"scale,omitempty"`

	// Show
	// arrayOK: false
	// type: boolean
	// Sets whether or not projections are shown along the z axis.
	Show Bool `json:"show,omitempty"`
}

Scatter3dProjectionZ

type Scatter3dStream

type Scatter3dStream struct {

	// Maxpoints
	// arrayOK: false
	// type: number
	// Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot.
	Maxpoints float64 `json:"maxpoints,omitempty"`

	// Token
	// arrayOK: false
	// type: string
	// The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details.
	Token String `json:"token,omitempty"`
}

Scatter3dStream

type Scatter3dSurfaceaxis

type Scatter3dSurfaceaxis interface{}

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.

var (
	Scatter3dSurfaceaxisNumberNegative1 Scatter3dSurfaceaxis = -1
	Scatter3dSurfaceaxisNumber0         Scatter3dSurfaceaxis = 0
	Scatter3dSurfaceaxisNumber1         Scatter3dSurfaceaxis = 1
	Scatter3dSurfaceaxisNumber2         Scatter3dSurfaceaxis = 2
)

type Scatter3dTextfont

type Scatter3dTextfont struct {

	// Color
	// arrayOK: true
	// type: color
	//
	Color Color `json:"color,omitempty"`

	// Colorsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  color .
	Colorsrc String `json:"colorsrc,omitempty"`

	// Family
	// arrayOK: false
	// type: string
	// HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.
	Family String `json:"family,omitempty"`

	// Size
	// arrayOK: true
	// type: number
	//
	Size float64 `json:"size,omitempty"`

	// Sizesrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  size .
	Sizesrc String `json:"sizesrc,omitempty"`
}

Scatter3dTextfont

type Scatter3dTextposition

type Scatter3dTextposition string

Scatter3dTextposition Sets the positions of the `text` elements with respects to the (x,y) coordinates.

const (
	Scatter3dTextpositionTopLeft      Scatter3dTextposition = "top left"
	Scatter3dTextpositionTopCenter    Scatter3dTextposition = "top center"
	Scatter3dTextpositionTopRight     Scatter3dTextposition = "top right"
	Scatter3dTextpositionMiddleLeft   Scatter3dTextposition = "middle left"
	Scatter3dTextpositionMiddleCenter Scatter3dTextposition = "middle center"
	Scatter3dTextpositionMiddleRight  Scatter3dTextposition = "middle right"
	Scatter3dTextpositionBottomLeft   Scatter3dTextposition = "bottom left"
	Scatter3dTextpositionBottomCenter Scatter3dTextposition = "bottom center"
	Scatter3dTextpositionBottomRight  Scatter3dTextposition = "bottom right"
)

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 (
	Scatter3dVisibleTrue       Scatter3dVisible = true
	Scatter3dVisibleFalse      Scatter3dVisible = false
	Scatter3dVisibleLegendonly Scatter3dVisible = "legendonly"
)

type Scatter3dXcalendar

type Scatter3dXcalendar string

Scatter3dXcalendar Sets the calendar system to use with `x` date data.

const (
	Scatter3dXcalendarGregorian  Scatter3dXcalendar = "gregorian"
	Scatter3dXcalendarChinese    Scatter3dXcalendar = "chinese"
	Scatter3dXcalendarCoptic     Scatter3dXcalendar = "coptic"
	Scatter3dXcalendarDiscworld  Scatter3dXcalendar = "discworld"
	Scatter3dXcalendarEthiopian  Scatter3dXcalendar = "ethiopian"
	Scatter3dXcalendarHebrew     Scatter3dXcalendar = "hebrew"
	Scatter3dXcalendarIslamic    Scatter3dXcalendar = "islamic"
	Scatter3dXcalendarJulian     Scatter3dXcalendar = "julian"
	Scatter3dXcalendarMayan      Scatter3dXcalendar = "mayan"
	Scatter3dXcalendarNanakshahi Scatter3dXcalendar = "nanakshahi"
	Scatter3dXcalendarNepali     Scatter3dXcalendar = "nepali"
	Scatter3dXcalendarPersian    Scatter3dXcalendar = "persian"
	Scatter3dXcalendarJalali     Scatter3dXcalendar = "jalali"
	Scatter3dXcalendarTaiwan     Scatter3dXcalendar = "taiwan"
	Scatter3dXcalendarThai       Scatter3dXcalendar = "thai"
	Scatter3dXcalendarUmmalqura  Scatter3dXcalendar = "ummalqura"
)

type Scatter3dYcalendar

type Scatter3dYcalendar string

Scatter3dYcalendar Sets the calendar system to use with `y` date data.

const (
	Scatter3dYcalendarGregorian  Scatter3dYcalendar = "gregorian"
	Scatter3dYcalendarChinese    Scatter3dYcalendar = "chinese"
	Scatter3dYcalendarCoptic     Scatter3dYcalendar = "coptic"
	Scatter3dYcalendarDiscworld  Scatter3dYcalendar = "discworld"
	Scatter3dYcalendarEthiopian  Scatter3dYcalendar = "ethiopian"
	Scatter3dYcalendarHebrew     Scatter3dYcalendar = "hebrew"
	Scatter3dYcalendarIslamic    Scatter3dYcalendar = "islamic"
	Scatter3dYcalendarJulian     Scatter3dYcalendar = "julian"
	Scatter3dYcalendarMayan      Scatter3dYcalendar = "mayan"
	Scatter3dYcalendarNanakshahi Scatter3dYcalendar = "nanakshahi"
	Scatter3dYcalendarNepali     Scatter3dYcalendar = "nepali"
	Scatter3dYcalendarPersian    Scatter3dYcalendar = "persian"
	Scatter3dYcalendarJalali     Scatter3dYcalendar = "jalali"
	Scatter3dYcalendarTaiwan     Scatter3dYcalendar = "taiwan"
	Scatter3dYcalendarThai       Scatter3dYcalendar = "thai"
	Scatter3dYcalendarUmmalqura  Scatter3dYcalendar = "ummalqura"
)

type Scatter3dZcalendar

type Scatter3dZcalendar string

Scatter3dZcalendar Sets the calendar system to use with `z` date data.

const (
	Scatter3dZcalendarGregorian  Scatter3dZcalendar = "gregorian"
	Scatter3dZcalendarChinese    Scatter3dZcalendar = "chinese"
	Scatter3dZcalendarCoptic     Scatter3dZcalendar = "coptic"
	Scatter3dZcalendarDiscworld  Scatter3dZcalendar = "discworld"
	Scatter3dZcalendarEthiopian  Scatter3dZcalendar = "ethiopian"
	Scatter3dZcalendarHebrew     Scatter3dZcalendar = "hebrew"
	Scatter3dZcalendarIslamic    Scatter3dZcalendar = "islamic"
	Scatter3dZcalendarJulian     Scatter3dZcalendar = "julian"
	Scatter3dZcalendarMayan      Scatter3dZcalendar = "mayan"
	Scatter3dZcalendarNanakshahi Scatter3dZcalendar = "nanakshahi"
	Scatter3dZcalendarNepali     Scatter3dZcalendar = "nepali"
	Scatter3dZcalendarPersian    Scatter3dZcalendar = "persian"
	Scatter3dZcalendarJalali     Scatter3dZcalendar = "jalali"
	Scatter3dZcalendarTaiwan     Scatter3dZcalendar = "taiwan"
	Scatter3dZcalendarThai       Scatter3dZcalendar = "thai"
	Scatter3dZcalendarUmmalqura  Scatter3dZcalendar = "ummalqura"
)

type ScatterErrorX

type ScatterErrorX struct {

	// Array
	// arrayOK: false
	// type: data_array
	// Sets the data corresponding the length of each error bar. Values are plotted relative to the underlying data.
	Array interface{} `json:"array,omitempty"`

	// Arrayminus
	// arrayOK: false
	// type: data_array
	// Sets the data corresponding the length of each error bar in the bottom (left) direction for vertical (horizontal) bars Values are plotted relative to the underlying data.
	Arrayminus interface{} `json:"arrayminus,omitempty"`

	// Arrayminussrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  arrayminus .
	Arrayminussrc String `json:"arrayminussrc,omitempty"`

	// Arraysrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  array .
	Arraysrc String `json:"arraysrc,omitempty"`

	// Color
	// arrayOK: false
	// type: color
	// Sets the stoke color of the error bars.
	Color Color `json:"color,omitempty"`

	// CopyYstyle
	// arrayOK: false
	// type: boolean
	//
	CopyYstyle Bool `json:"copy_ystyle,omitempty"`

	// Symmetric
	// arrayOK: false
	// type: boolean
	// Determines whether or not the error bars have the same length in both direction (top/bottom for vertical bars, left/right for horizontal bars.
	Symmetric Bool `json:"symmetric,omitempty"`

	// Thickness
	// arrayOK: false
	// type: number
	// Sets the thickness (in px) of the error bars.
	Thickness float64 `json:"thickness,omitempty"`

	// Traceref
	// arrayOK: false
	// type: integer
	//
	Traceref int64 `json:"traceref,omitempty"`

	// Tracerefminus
	// arrayOK: false
	// type: integer
	//
	Tracerefminus int64 `json:"tracerefminus,omitempty"`

	// Type
	// default: %!s(<nil>)
	// type: enumerated
	// Determines the rule used to generate the error bars. If *constant`, the bar lengths are of a constant value. Set this constant in `value`. If *percent*, the bar lengths correspond to a percentage of underlying data. Set this percentage in `value`. If *sqrt*, the bar lengths correspond to the square of the underlying data. If *data*, the bar lengths are set with data set `array`.
	Type ScatterErrorXType `json:"type,omitempty"`

	// Value
	// arrayOK: false
	// type: number
	// Sets the value of either the percentage (if `type` is set to *percent*) or the constant (if `type` is set to *constant*) corresponding to the lengths of the error bars.
	Value float64 `json:"value,omitempty"`

	// Valueminus
	// arrayOK: false
	// type: number
	// Sets the value of either the percentage (if `type` is set to *percent*) or the constant (if `type` is set to *constant*) corresponding to the lengths of the error bars in the bottom (left) direction for vertical (horizontal) bars
	Valueminus float64 `json:"valueminus,omitempty"`

	// Visible
	// arrayOK: false
	// type: boolean
	// Determines whether or not this set of error bars is visible.
	Visible Bool `json:"visible,omitempty"`

	// Width
	// arrayOK: false
	// type: number
	// Sets the width (in px) of the cross-bar at both ends of the error bars.
	Width float64 `json:"width,omitempty"`
}

ScatterErrorX

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 (
	ScatterErrorXTypePercent  ScatterErrorXType = "percent"
	ScatterErrorXTypeConstant ScatterErrorXType = "constant"
	ScatterErrorXTypeSqrt     ScatterErrorXType = "sqrt"
	ScatterErrorXTypeData     ScatterErrorXType = "data"
)

type ScatterErrorY

type ScatterErrorY struct {

	// Array
	// arrayOK: false
	// type: data_array
	// Sets the data corresponding the length of each error bar. Values are plotted relative to the underlying data.
	Array interface{} `json:"array,omitempty"`

	// Arrayminus
	// arrayOK: false
	// type: data_array
	// Sets the data corresponding the length of each error bar in the bottom (left) direction for vertical (horizontal) bars Values are plotted relative to the underlying data.
	Arrayminus interface{} `json:"arrayminus,omitempty"`

	// Arrayminussrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  arrayminus .
	Arrayminussrc String `json:"arrayminussrc,omitempty"`

	// Arraysrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  array .
	Arraysrc String `json:"arraysrc,omitempty"`

	// Color
	// arrayOK: false
	// type: color
	// Sets the stoke color of the error bars.
	Color Color `json:"color,omitempty"`

	// Symmetric
	// arrayOK: false
	// type: boolean
	// Determines whether or not the error bars have the same length in both direction (top/bottom for vertical bars, left/right for horizontal bars.
	Symmetric Bool `json:"symmetric,omitempty"`

	// Thickness
	// arrayOK: false
	// type: number
	// Sets the thickness (in px) of the error bars.
	Thickness float64 `json:"thickness,omitempty"`

	// Traceref
	// arrayOK: false
	// type: integer
	//
	Traceref int64 `json:"traceref,omitempty"`

	// Tracerefminus
	// arrayOK: false
	// type: integer
	//
	Tracerefminus int64 `json:"tracerefminus,omitempty"`

	// Type
	// default: %!s(<nil>)
	// type: enumerated
	// Determines the rule used to generate the error bars. If *constant`, the bar lengths are of a constant value. Set this constant in `value`. If *percent*, the bar lengths correspond to a percentage of underlying data. Set this percentage in `value`. If *sqrt*, the bar lengths correspond to the square of the underlying data. If *data*, the bar lengths are set with data set `array`.
	Type ScatterErrorYType `json:"type,omitempty"`

	// Value
	// arrayOK: false
	// type: number
	// Sets the value of either the percentage (if `type` is set to *percent*) or the constant (if `type` is set to *constant*) corresponding to the lengths of the error bars.
	Value float64 `json:"value,omitempty"`

	// Valueminus
	// arrayOK: false
	// type: number
	// Sets the value of either the percentage (if `type` is set to *percent*) or the constant (if `type` is set to *constant*) corresponding to the lengths of the error bars in the bottom (left) direction for vertical (horizontal) bars
	Valueminus float64 `json:"valueminus,omitempty"`

	// Visible
	// arrayOK: false
	// type: boolean
	// Determines whether or not this set of error bars is visible.
	Visible Bool `json:"visible,omitempty"`

	// Width
	// arrayOK: false
	// type: number
	// Sets the width (in px) of the cross-bar at both ends of the error bars.
	Width float64 `json:"width,omitempty"`
}

ScatterErrorY

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 (
	ScatterErrorYTypePercent  ScatterErrorYType = "percent"
	ScatterErrorYTypeConstant ScatterErrorYType = "constant"
	ScatterErrorYTypeSqrt     ScatterErrorYType = "sqrt"
	ScatterErrorYTypeData     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 (
	ScatterFillNone    ScatterFill = "none"
	ScatterFillTozeroy ScatterFill = "tozeroy"
	ScatterFillTozerox ScatterFill = "tozerox"
	ScatterFillTonexty ScatterFill = "tonexty"
	ScatterFillTonextx ScatterFill = "tonextx"
	ScatterFillToself  ScatterFill = "toself"
	ScatterFillTonext  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 (
	ScatterGroupnormEmpty    ScatterGroupnorm = ""
	ScatterGroupnormFraction ScatterGroupnorm = "fraction"
	ScatterGroupnormPercent  ScatterGroupnorm = "percent"
)

type ScatterHoverinfo

type ScatterHoverinfo string

ScatterHoverinfo Determines which trace information appear on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired.

const (
	// Flags
	ScatterHoverinfoX    ScatterHoverinfo = "x"
	ScatterHoverinfoY    ScatterHoverinfo = "y"
	ScatterHoverinfoZ    ScatterHoverinfo = "z"
	ScatterHoverinfoText ScatterHoverinfo = "text"
	ScatterHoverinfoName ScatterHoverinfo = "name"

	// Extra
	ScatterHoverinfoAll  ScatterHoverinfo = "all"
	ScatterHoverinfoNone ScatterHoverinfo = "none"
	ScatterHoverinfoSkip ScatterHoverinfo = "skip"
)

type ScatterHoverlabel

type ScatterHoverlabel struct {

	// Align
	// default: auto
	// type: enumerated
	// Sets the horizontal alignment of the text content within hover label box. Has an effect only if the hover label text spans more two or more lines
	Align ScatterHoverlabelAlign `json:"align,omitempty"`

	// Alignsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  align .
	Alignsrc String `json:"alignsrc,omitempty"`

	// Bgcolor
	// arrayOK: true
	// type: color
	// Sets the background color of the hover labels for this trace
	Bgcolor Color `json:"bgcolor,omitempty"`

	// Bgcolorsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  bgcolor .
	Bgcolorsrc String `json:"bgcolorsrc,omitempty"`

	// Bordercolor
	// arrayOK: true
	// type: color
	// Sets the border color of the hover labels for this trace.
	Bordercolor Color `json:"bordercolor,omitempty"`

	// Bordercolorsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  bordercolor .
	Bordercolorsrc String `json:"bordercolorsrc,omitempty"`

	// Font
	// role: Object
	Font *ScatterHoverlabelFont `json:"font,omitempty"`

	// Namelength
	// arrayOK: true
	// type: integer
	// Sets the default length (in number of characters) of the trace name in the hover labels for all traces. -1 shows the whole name regardless of length. 0-3 shows the first 0-3 characters, and an integer >3 will show the whole name if it is less than that many characters, but if it is longer, will truncate to `namelength - 3` characters and add an ellipsis.
	Namelength int64 `json:"namelength,omitempty"`

	// Namelengthsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  namelength .
	Namelengthsrc String `json:"namelengthsrc,omitempty"`
}

ScatterHoverlabel

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 (
	ScatterHoverlabelAlignLeft  ScatterHoverlabelAlign = "left"
	ScatterHoverlabelAlignRight ScatterHoverlabelAlign = "right"
	ScatterHoverlabelAlignAuto  ScatterHoverlabelAlign = "auto"
)

type ScatterHoverlabelFont

type ScatterHoverlabelFont struct {

	// Color
	// arrayOK: true
	// type: color
	//
	Color Color `json:"color,omitempty"`

	// Colorsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  color .
	Colorsrc String `json:"colorsrc,omitempty"`

	// Family
	// arrayOK: true
	// type: string
	// HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.
	Family String `json:"family,omitempty"`

	// Familysrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  family .
	Familysrc String `json:"familysrc,omitempty"`

	// Size
	// arrayOK: true
	// type: number
	//
	Size float64 `json:"size,omitempty"`

	// Sizesrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  size .
	Sizesrc String `json:"sizesrc,omitempty"`
}

ScatterHoverlabelFont Sets the font used in hover labels.

type ScatterHoveron

type ScatterHoveron string

ScatterHoveron Do the hover effects highlight individual points (markers or line points) or do they highlight filled regions? If the fill is *toself* or *tonext* and there are no markers or text, then the default is *fills*, otherwise it is *points*.

const (
	// Flags
	ScatterHoveronPoints ScatterHoveron = "points"
	ScatterHoveronFills  ScatterHoveron = "fills"
)

type ScatterLine

type ScatterLine struct {

	// Color
	// arrayOK: false
	// type: color
	// Sets the line color.
	Color Color `json:"color,omitempty"`

	// Dash
	// arrayOK: false
	// type: string
	// Sets the dash style of lines. Set to a dash type string (*solid*, *dot*, *dash*, *longdash*, *dashdot*, or *longdashdot*) or a dash length list in px (eg *5px,10px,2px,2px*).
	Dash String `json:"dash,omitempty"`

	// Shape
	// default: linear
	// type: enumerated
	// Determines the line shape. With *spline* the lines are drawn using spline interpolation. The other available values correspond to step-wise line shapes.
	Shape ScatterLineShape `json:"shape,omitempty"`

	// Simplify
	// arrayOK: false
	// type: boolean
	// Simplifies lines by removing nearly-collinear points. When transitioning lines, it may be desirable to disable this so that the number of points along the resulting SVG path is unaffected.
	Simplify Bool `json:"simplify,omitempty"`

	// Smoothing
	// arrayOK: false
	// type: number
	// Has an effect only if `shape` is set to *spline* Sets the amount of smoothing. *0* corresponds to no smoothing (equivalent to a *linear* shape).
	Smoothing float64 `json:"smoothing,omitempty"`

	// Width
	// arrayOK: false
	// type: number
	// Sets the line width (in px).
	Width float64 `json:"width,omitempty"`
}

ScatterLine

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 (
	ScatterLineShapeLinear ScatterLineShape = "linear"
	ScatterLineShapeSpline ScatterLineShape = "spline"
	ScatterLineShapeHv     ScatterLineShape = "hv"
	ScatterLineShapeVh     ScatterLineShape = "vh"
	ScatterLineShapeHvh    ScatterLineShape = "hvh"
	ScatterLineShapeVhv    ScatterLineShape = "vhv"
)

type ScatterMarker

type ScatterMarker struct {

	// Autocolorscale
	// arrayOK: false
	// type: boolean
	// Determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by `marker.colorscale`. Has an effect only if in `marker.color`is set to a numerical array. In case `colorscale` is unspecified or `autocolorscale` is true, the default  palette will be chosen according to whether numbers in the `color` array are all positive, all negative or mixed.
	Autocolorscale Bool `json:"autocolorscale,omitempty"`

	// Cauto
	// arrayOK: false
	// type: boolean
	// Determines whether or not the color domain is computed with respect to the input data (here in `marker.color`) or the bounds set in `marker.cmin` and `marker.cmax`  Has an effect only if in `marker.color`is set to a numerical array. Defaults to `false` when `marker.cmin` and `marker.cmax` are set by the user.
	Cauto Bool `json:"cauto,omitempty"`

	// Cmax
	// arrayOK: false
	// type: number
	// Sets the upper bound of the color domain. Has an effect only if in `marker.color`is set to a numerical array. Value should have the same units as in `marker.color` and if set, `marker.cmin` must be set as well.
	Cmax float64 `json:"cmax,omitempty"`

	// Cmid
	// arrayOK: false
	// type: number
	// Sets the mid-point of the color domain by scaling `marker.cmin` and/or `marker.cmax` to be equidistant to this point. Has an effect only if in `marker.color`is set to a numerical array. Value should have the same units as in `marker.color`. Has no effect when `marker.cauto` is `false`.
	Cmid float64 `json:"cmid,omitempty"`

	// Cmin
	// arrayOK: false
	// type: number
	// Sets the lower bound of the color domain. Has an effect only if in `marker.color`is set to a numerical array. Value should have the same units as in `marker.color` and if set, `marker.cmax` must be set as well.
	Cmin float64 `json:"cmin,omitempty"`

	// Color
	// arrayOK: true
	// type: color
	// Sets themarkercolor. It accepts either a specific color or an array of numbers that are mapped to the colorscale relative to the max and min values of the array or relative to `marker.cmin` and `marker.cmax` if set.
	Color Color `json:"color,omitempty"`

	// Coloraxis
	// arrayOK: false
	// type: subplotid
	// Sets a reference to a shared color axis. References to these shared color axes are *coloraxis*, *coloraxis2*, *coloraxis3*, etc. Settings for these shared color axes are set in the layout, under `layout.coloraxis`, `layout.coloraxis2`, etc. Note that multiple color scales can be linked to the same color axis.
	Coloraxis String `json:"coloraxis,omitempty"`

	// Colorbar
	// role: Object
	Colorbar *ScatterMarkerColorbar `json:"colorbar,omitempty"`

	// Colorscale
	// default: %!s(<nil>)
	// type: colorscale
	// Sets the colorscale. Has an effect only if in `marker.color`is set to a numerical array. The colorscale must be an array containing arrays mapping a normalized value to an rgb, rgba, hex, hsl, hsv, or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, use`marker.cmin` and `marker.cmax`. Alternatively, `colorscale` may be a palette name string of the following list: Greys,YlGnBu,Greens,YlOrRd,Bluered,RdBu,Reds,Blues,Picnic,Rainbow,Portland,Jet,Hot,Blackbody,Earth,Electric,Viridis,Cividis.
	Colorscale ColorScale `json:"colorscale,omitempty"`

	// Colorsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  color .
	Colorsrc String `json:"colorsrc,omitempty"`

	// Gradient
	// role: Object
	Gradient *ScatterMarkerGradient `json:"gradient,omitempty"`

	// Line
	// role: Object
	Line *ScatterMarkerLine `json:"line,omitempty"`

	// Maxdisplayed
	// arrayOK: false
	// type: number
	// Sets a maximum number of points to be drawn on the graph. *0* corresponds to no limit.
	Maxdisplayed float64 `json:"maxdisplayed,omitempty"`

	// Opacity
	// arrayOK: true
	// type: number
	// Sets the marker opacity.
	Opacity float64 `json:"opacity,omitempty"`

	// Opacitysrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  opacity .
	Opacitysrc String `json:"opacitysrc,omitempty"`

	// Reversescale
	// arrayOK: false
	// type: boolean
	// Reverses the color mapping if true. Has an effect only if in `marker.color`is set to a numerical array. If true, `marker.cmin` will correspond to the last color in the array and `marker.cmax` will correspond to the first color.
	Reversescale Bool `json:"reversescale,omitempty"`

	// Showscale
	// arrayOK: false
	// type: boolean
	// Determines whether or not a colorbar is displayed for this trace. Has an effect only if in `marker.color`is set to a numerical array.
	Showscale Bool `json:"showscale,omitempty"`

	// Size
	// arrayOK: true
	// type: number
	// Sets the marker size (in px).
	Size float64 `json:"size,omitempty"`

	// Sizemin
	// arrayOK: false
	// type: number
	// Has an effect only if `marker.size` is set to a numerical array. Sets the minimum size (in px) of the rendered marker points.
	Sizemin float64 `json:"sizemin,omitempty"`

	// Sizemode
	// default: diameter
	// type: enumerated
	// Has an effect only if `marker.size` is set to a numerical array. Sets the rule for which the data in `size` is converted to pixels.
	Sizemode ScatterMarkerSizemode `json:"sizemode,omitempty"`

	// Sizeref
	// arrayOK: false
	// type: number
	// Has an effect only if `marker.size` is set to a numerical array. Sets the scale factor used to determine the rendered size of marker points. Use with `sizemin` and `sizemode`.
	Sizeref float64 `json:"sizeref,omitempty"`

	// Sizesrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  size .
	Sizesrc String `json:"sizesrc,omitempty"`

	// Symbol
	// default: circle
	// type: enumerated
	// Sets the marker symbol type. Adding 100 is equivalent to appending *-open* to a symbol name. Adding 200 is equivalent to appending *-dot* to a symbol name. Adding 300 is equivalent to appending *-open-dot* or *dot-open* to a symbol name.
	Symbol ScatterMarkerSymbol `json:"symbol,omitempty"`

	// Symbolsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  symbol .
	Symbolsrc String `json:"symbolsrc,omitempty"`
}

ScatterMarker

type ScatterMarkerColorbar

type ScatterMarkerColorbar struct {

	// Bgcolor
	// arrayOK: false
	// type: color
	// Sets the color of padded area.
	Bgcolor Color `json:"bgcolor,omitempty"`

	// Bordercolor
	// arrayOK: false
	// type: color
	// Sets the axis line color.
	Bordercolor Color `json:"bordercolor,omitempty"`

	// Borderwidth
	// arrayOK: false
	// type: number
	// Sets the width (in px) or the border enclosing this color bar.
	Borderwidth float64 `json:"borderwidth,omitempty"`

	// Dtick
	// arrayOK: false
	// type: any
	// Sets the step in-between ticks on this axis. Use with `tick0`. Must be a positive number, or special strings available to *log* and *date* axes. If the axis `type` is *log*, then ticks are set every 10^(n*dtick) where n is the tick number. For example, to set a tick mark at 1, 10, 100, 1000, ... set dtick to 1. To set tick marks at 1, 100, 10000, ... set dtick to 2. To set tick marks at 1, 5, 25, 125, 625, 3125, ... set dtick to log_10(5), or 0.69897000433. *log* has several special values; *L<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
	// default: B
	// type: enumerated
	// Determines a formatting rule for the tick exponents. For example, consider the number 1,000,000,000. If *none*, it appears as 1,000,000,000. If *e*, 1e+9. If *E*, 1E+9. If *power*, 1x10^9 (with 9 in a super script). If *SI*, 1G. If *B*, 1B.
	Exponentformat ScatterMarkerColorbarExponentformat `json:"exponentformat,omitempty"`

	// Len
	// arrayOK: false
	// type: number
	// Sets the length of the color bar This measure excludes the padding of both ends. That is, the color bar length is this length minus the padding on both ends.
	Len float64 `json:"len,omitempty"`

	// Lenmode
	// default: fraction
	// type: enumerated
	// Determines whether this color bar's length (i.e. the measure in the color variation direction) is set in units of plot *fraction* or in *pixels. Use `len` to set the value.
	Lenmode ScatterMarkerColorbarLenmode `json:"lenmode,omitempty"`

	// Minexponent
	// arrayOK: false
	// type: number
	// Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*.
	Minexponent float64 `json:"minexponent,omitempty"`

	// Nticks
	// arrayOK: false
	// type: integer
	// Specifies the maximum number of ticks for the particular axis. The actual number of ticks will be chosen automatically to be less than or equal to `nticks`. Has an effect only if `tickmode` is set to *auto*.
	Nticks int64 `json:"nticks,omitempty"`

	// Outlinecolor
	// arrayOK: false
	// type: color
	// Sets the axis line color.
	Outlinecolor Color `json:"outlinecolor,omitempty"`

	// Outlinewidth
	// arrayOK: false
	// type: number
	// Sets the width (in px) of the axis line.
	Outlinewidth float64 `json:"outlinewidth,omitempty"`

	// Separatethousands
	// arrayOK: false
	// type: boolean
	// If "true", even 4-digit integers are separated
	Separatethousands Bool `json:"separatethousands,omitempty"`

	// Showexponent
	// default: all
	// type: enumerated
	// If *all*, all exponents are shown besides their significands. If *first*, only the exponent of the first tick is shown. If *last*, only the exponent of the last tick is shown. If *none*, no exponents appear.
	Showexponent ScatterMarkerColorbarShowexponent `json:"showexponent,omitempty"`

	// Showticklabels
	// arrayOK: false
	// type: boolean
	// Determines whether or not the tick labels are drawn.
	Showticklabels Bool `json:"showticklabels,omitempty"`

	// Showtickprefix
	// default: all
	// type: enumerated
	// If *all*, all tick labels are displayed with a prefix. If *first*, only the first tick is displayed with a prefix. If *last*, only the last tick is displayed with a suffix. If *none*, tick prefixes are hidden.
	Showtickprefix ScatterMarkerColorbarShowtickprefix `json:"showtickprefix,omitempty"`

	// Showticksuffix
	// default: all
	// type: enumerated
	// Same as `showtickprefix` but for tick suffixes.
	Showticksuffix ScatterMarkerColorbarShowticksuffix `json:"showticksuffix,omitempty"`

	// Thickness
	// arrayOK: false
	// type: number
	// Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.
	Thickness float64 `json:"thickness,omitempty"`

	// Thicknessmode
	// default: pixels
	// type: enumerated
	// Determines whether this color bar's thickness (i.e. the measure in the constant color direction) is set in units of plot *fraction* or in *pixels*. Use `thickness` to set the value.
	Thicknessmode ScatterMarkerColorbarThicknessmode `json:"thicknessmode,omitempty"`

	// Tick0
	// arrayOK: false
	// type: any
	// Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2) except when `dtick`=*L<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
	// arrayOK: false
	// type: angle
	// Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.
	Tickangle float64 `json:"tickangle,omitempty"`

	// Tickcolor
	// arrayOK: false
	// type: color
	// Sets the tick color.
	Tickcolor Color `json:"tickcolor,omitempty"`

	// Tickfont
	// role: Object
	Tickfont *ScatterMarkerColorbarTickfont `json:"tickfont,omitempty"`

	// Tickformat
	// arrayOK: false
	// type: string
	// Sets the tick label formatting rule using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-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
	// It's an items array and what goes inside it's... messy... check the docs
	// I will be happy if you want to contribute by implementing this
	// just raise an issue before you start so we do not overlap
	Tickformatstops interface{} `json:"tickformatstops,omitempty"`

	// Ticklabelposition
	// default: outside
	// type: enumerated
	// Determines where tick labels are drawn.
	Ticklabelposition ScatterMarkerColorbarTicklabelposition `json:"ticklabelposition,omitempty"`

	// Ticklen
	// arrayOK: false
	// type: number
	// Sets the tick length (in px).
	Ticklen float64 `json:"ticklen,omitempty"`

	// Tickmode
	// default: %!s(<nil>)
	// type: enumerated
	// Sets the tick mode for this axis. If *auto*, the number of ticks is set via `nticks`. If *linear*, the placement of the ticks is determined by a starting position `tick0` and a tick step `dtick` (*linear* is the default value if `tick0` and `dtick` are provided). If *array*, the placement of the ticks is set via `tickvals` and the tick text is `ticktext`. (*array* is the default value if `tickvals` is provided).
	Tickmode ScatterMarkerColorbarTickmode `json:"tickmode,omitempty"`

	// Tickprefix
	// arrayOK: false
	// type: string
	// Sets a tick label prefix.
	Tickprefix String `json:"tickprefix,omitempty"`

	// Ticks
	// default:
	// type: enumerated
	// Determines whether ticks are drawn or not. If **, this axis' ticks are not drawn. If *outside* (*inside*), this axis' are drawn outside (inside) the axis lines.
	Ticks ScatterMarkerColorbarTicks `json:"ticks,omitempty"`

	// Ticksuffix
	// arrayOK: false
	// type: string
	// Sets a tick label suffix.
	Ticksuffix String `json:"ticksuffix,omitempty"`

	// Ticktext
	// arrayOK: false
	// type: data_array
	// Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `tickvals`.
	Ticktext interface{} `json:"ticktext,omitempty"`

	// Ticktextsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  ticktext .
	Ticktextsrc String `json:"ticktextsrc,omitempty"`

	// Tickvals
	// arrayOK: false
	// type: data_array
	// Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.
	Tickvals interface{} `json:"tickvals,omitempty"`

	// Tickvalssrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  tickvals .
	Tickvalssrc String `json:"tickvalssrc,omitempty"`

	// Tickwidth
	// arrayOK: false
	// type: number
	// Sets the tick width (in px).
	Tickwidth float64 `json:"tickwidth,omitempty"`

	// Title
	// role: Object
	Title *ScatterMarkerColorbarTitle `json:"title,omitempty"`

	// X
	// arrayOK: false
	// type: number
	// Sets the x position of the color bar (in plot fraction).
	X float64 `json:"x,omitempty"`

	// Xanchor
	// default: left
	// type: enumerated
	// Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the color bar.
	Xanchor ScatterMarkerColorbarXanchor `json:"xanchor,omitempty"`

	// Xpad
	// arrayOK: false
	// type: number
	// Sets the amount of padding (in px) along the x direction.
	Xpad float64 `json:"xpad,omitempty"`

	// Y
	// arrayOK: false
	// type: number
	// Sets the y position of the color bar (in plot fraction).
	Y float64 `json:"y,omitempty"`

	// Yanchor
	// default: middle
	// type: enumerated
	// Sets this color bar's vertical position anchor This anchor binds the `y` position to the *top*, *middle* or *bottom* of the color bar.
	Yanchor ScatterMarkerColorbarYanchor `json:"yanchor,omitempty"`

	// Ypad
	// arrayOK: false
	// type: number
	// Sets the amount of padding (in px) along the y direction.
	Ypad float64 `json:"ypad,omitempty"`
}

ScatterMarkerColorbar

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 (
	ScatterMarkerColorbarExponentformatNone  ScatterMarkerColorbarExponentformat = "none"
	ScatterMarkerColorbarExponentformatE1    ScatterMarkerColorbarExponentformat = "e"
	ScatterMarkerColorbarExponentformatE2    ScatterMarkerColorbarExponentformat = "E"
	ScatterMarkerColorbarExponentformatPower ScatterMarkerColorbarExponentformat = "power"
	ScatterMarkerColorbarExponentformatSi    ScatterMarkerColorbarExponentformat = "SI"
	ScatterMarkerColorbarExponentformatB     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 (
	ScatterMarkerColorbarLenmodeFraction ScatterMarkerColorbarLenmode = "fraction"
	ScatterMarkerColorbarLenmodePixels   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 (
	ScatterMarkerColorbarShowexponentAll   ScatterMarkerColorbarShowexponent = "all"
	ScatterMarkerColorbarShowexponentFirst ScatterMarkerColorbarShowexponent = "first"
	ScatterMarkerColorbarShowexponentLast  ScatterMarkerColorbarShowexponent = "last"
	ScatterMarkerColorbarShowexponentNone  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 (
	ScatterMarkerColorbarShowtickprefixAll   ScatterMarkerColorbarShowtickprefix = "all"
	ScatterMarkerColorbarShowtickprefixFirst ScatterMarkerColorbarShowtickprefix = "first"
	ScatterMarkerColorbarShowtickprefixLast  ScatterMarkerColorbarShowtickprefix = "last"
	ScatterMarkerColorbarShowtickprefixNone  ScatterMarkerColorbarShowtickprefix = "none"
)

type ScatterMarkerColorbarShowticksuffix

type ScatterMarkerColorbarShowticksuffix string

ScatterMarkerColorbarShowticksuffix Same as `showtickprefix` but for tick suffixes.

const (
	ScatterMarkerColorbarShowticksuffixAll   ScatterMarkerColorbarShowticksuffix = "all"
	ScatterMarkerColorbarShowticksuffixFirst ScatterMarkerColorbarShowticksuffix = "first"
	ScatterMarkerColorbarShowticksuffixLast  ScatterMarkerColorbarShowticksuffix = "last"
	ScatterMarkerColorbarShowticksuffixNone  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 (
	ScatterMarkerColorbarThicknessmodeFraction ScatterMarkerColorbarThicknessmode = "fraction"
	ScatterMarkerColorbarThicknessmodePixels   ScatterMarkerColorbarThicknessmode = "pixels"
)

type ScatterMarkerColorbarTickfont

type ScatterMarkerColorbarTickfont struct {

	// Color
	// arrayOK: false
	// type: color
	//
	Color Color `json:"color,omitempty"`

	// Family
	// arrayOK: false
	// type: string
	// HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.
	Family String `json:"family,omitempty"`

	// Size
	// arrayOK: false
	// type: number
	//
	Size float64 `json:"size,omitempty"`
}

ScatterMarkerColorbarTickfont Sets the color bar's tick label font

type ScatterMarkerColorbarTicklabelposition added in v0.3.1

type ScatterMarkerColorbarTicklabelposition string

ScatterMarkerColorbarTicklabelposition Determines where tick labels are drawn.

const (
	ScatterMarkerColorbarTicklabelpositionOutside       ScatterMarkerColorbarTicklabelposition = "outside"
	ScatterMarkerColorbarTicklabelpositionInside        ScatterMarkerColorbarTicklabelposition = "inside"
	ScatterMarkerColorbarTicklabelpositionOutsideTop    ScatterMarkerColorbarTicklabelposition = "outside top"
	ScatterMarkerColorbarTicklabelpositionInsideTop     ScatterMarkerColorbarTicklabelposition = "inside top"
	ScatterMarkerColorbarTicklabelpositionOutsideBottom ScatterMarkerColorbarTicklabelposition = "outside bottom"
	ScatterMarkerColorbarTicklabelpositionInsideBottom  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 (
	ScatterMarkerColorbarTickmodeAuto   ScatterMarkerColorbarTickmode = "auto"
	ScatterMarkerColorbarTickmodeLinear ScatterMarkerColorbarTickmode = "linear"
	ScatterMarkerColorbarTickmodeArray  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 (
	ScatterMarkerColorbarTicksOutside ScatterMarkerColorbarTicks = "outside"
	ScatterMarkerColorbarTicksInside  ScatterMarkerColorbarTicks = "inside"
	ScatterMarkerColorbarTicksEmpty   ScatterMarkerColorbarTicks = ""
)

type ScatterMarkerColorbarTitle

type ScatterMarkerColorbarTitle struct {

	// Font
	// role: Object
	Font *ScatterMarkerColorbarTitleFont `json:"font,omitempty"`

	// Side
	// default: top
	// type: enumerated
	// Determines the location of color bar's title with respect to the color bar. Note that the title's location used to be set by the now deprecated `titleside` attribute.
	Side ScatterMarkerColorbarTitleSide `json:"side,omitempty"`

	// Text
	// arrayOK: false
	// type: string
	// Sets the title of the color bar. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.
	Text String `json:"text,omitempty"`
}

ScatterMarkerColorbarTitle

type ScatterMarkerColorbarTitleFont

type ScatterMarkerColorbarTitleFont struct {

	// Color
	// arrayOK: false
	// type: color
	//
	Color Color `json:"color,omitempty"`

	// Family
	// arrayOK: false
	// type: string
	// HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.
	Family String `json:"family,omitempty"`

	// Size
	// arrayOK: false
	// type: number
	//
	Size float64 `json:"size,omitempty"`
}

ScatterMarkerColorbarTitleFont Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.

type 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 (
	ScatterMarkerColorbarTitleSideRight  ScatterMarkerColorbarTitleSide = "right"
	ScatterMarkerColorbarTitleSideTop    ScatterMarkerColorbarTitleSide = "top"
	ScatterMarkerColorbarTitleSideBottom 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 (
	ScatterMarkerColorbarXanchorLeft   ScatterMarkerColorbarXanchor = "left"
	ScatterMarkerColorbarXanchorCenter ScatterMarkerColorbarXanchor = "center"
	ScatterMarkerColorbarXanchorRight  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 (
	ScatterMarkerColorbarYanchorTop    ScatterMarkerColorbarYanchor = "top"
	ScatterMarkerColorbarYanchorMiddle ScatterMarkerColorbarYanchor = "middle"
	ScatterMarkerColorbarYanchorBottom ScatterMarkerColorbarYanchor = "bottom"
)

type ScatterMarkerGradient

type ScatterMarkerGradient struct {

	// Color
	// arrayOK: true
	// type: color
	// Sets the final color of the gradient fill: the center color for radial, the right for horizontal, or the bottom for vertical.
	Color Color `json:"color,omitempty"`

	// Colorsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  color .
	Colorsrc String `json:"colorsrc,omitempty"`

	// Type
	// default: none
	// type: enumerated
	// Sets the type of gradient used to fill the markers
	Type ScatterMarkerGradientType `json:"type,omitempty"`

	// Typesrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  type .
	Typesrc String `json:"typesrc,omitempty"`
}

ScatterMarkerGradient

type ScatterMarkerGradientType

type ScatterMarkerGradientType string

ScatterMarkerGradientType Sets the type of gradient used to fill the markers

const (
	ScatterMarkerGradientTypeRadial     ScatterMarkerGradientType = "radial"
	ScatterMarkerGradientTypeHorizontal ScatterMarkerGradientType = "horizontal"
	ScatterMarkerGradientTypeVertical   ScatterMarkerGradientType = "vertical"
	ScatterMarkerGradientTypeNone       ScatterMarkerGradientType = "none"
)

type ScatterMarkerLine

type ScatterMarkerLine struct {

	// Autocolorscale
	// arrayOK: false
	// type: boolean
	// Determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by `marker.line.colorscale`. Has an effect only if in `marker.line.color`is set to a numerical array. In case `colorscale` is unspecified or `autocolorscale` is true, the default  palette will be chosen according to whether numbers in the `color` array are all positive, all negative or mixed.
	Autocolorscale Bool `json:"autocolorscale,omitempty"`

	// Cauto
	// arrayOK: false
	// type: boolean
	// Determines whether or not the color domain is computed with respect to the input data (here in `marker.line.color`) or the bounds set in `marker.line.cmin` and `marker.line.cmax`  Has an effect only if in `marker.line.color`is set to a numerical array. Defaults to `false` when `marker.line.cmin` and `marker.line.cmax` are set by the user.
	Cauto Bool `json:"cauto,omitempty"`

	// Cmax
	// arrayOK: false
	// type: number
	// Sets the upper bound of the color domain. Has an effect only if in `marker.line.color`is set to a numerical array. Value should have the same units as in `marker.line.color` and if set, `marker.line.cmin` must be set as well.
	Cmax float64 `json:"cmax,omitempty"`

	// Cmid
	// arrayOK: false
	// type: number
	// Sets the mid-point of the color domain by scaling `marker.line.cmin` and/or `marker.line.cmax` to be equidistant to this point. Has an effect only if in `marker.line.color`is set to a numerical array. Value should have the same units as in `marker.line.color`. Has no effect when `marker.line.cauto` is `false`.
	Cmid float64 `json:"cmid,omitempty"`

	// Cmin
	// arrayOK: false
	// type: number
	// Sets the lower bound of the color domain. Has an effect only if in `marker.line.color`is set to a numerical array. Value should have the same units as in `marker.line.color` and if set, `marker.line.cmax` must be set as well.
	Cmin float64 `json:"cmin,omitempty"`

	// Color
	// arrayOK: true
	// type: color
	// Sets 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 Color `json:"color,omitempty"`

	// Coloraxis
	// arrayOK: false
	// type: subplotid
	// Sets a reference to a shared color axis. References to these shared color axes are *coloraxis*, *coloraxis2*, *coloraxis3*, etc. Settings for these shared color axes are set in the layout, under `layout.coloraxis`, `layout.coloraxis2`, etc. Note that multiple color scales can be linked to the same color axis.
	Coloraxis String `json:"coloraxis,omitempty"`

	// Colorscale
	// default: %!s(<nil>)
	// type: colorscale
	// Sets the colorscale. Has an effect only if in `marker.line.color`is set to a numerical array. The colorscale must be an array containing arrays mapping a normalized value to an rgb, rgba, hex, hsl, hsv, or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, use`marker.line.cmin` and `marker.line.cmax`. Alternatively, `colorscale` may be a palette name string of the following list: Greys,YlGnBu,Greens,YlOrRd,Bluered,RdBu,Reds,Blues,Picnic,Rainbow,Portland,Jet,Hot,Blackbody,Earth,Electric,Viridis,Cividis.
	Colorscale ColorScale `json:"colorscale,omitempty"`

	// Colorsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  color .
	Colorsrc String `json:"colorsrc,omitempty"`

	// Reversescale
	// arrayOK: false
	// type: boolean
	// Reverses the color mapping if true. Has an effect only if in `marker.line.color`is set to a numerical array. If true, `marker.line.cmin` will correspond to the last color in the array and `marker.line.cmax` will correspond to the first color.
	Reversescale Bool `json:"reversescale,omitempty"`

	// Width
	// arrayOK: true
	// type: number
	// Sets the width (in px) of the lines bounding the marker points.
	Width float64 `json:"width,omitempty"`

	// Widthsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  width .
	Widthsrc String `json:"widthsrc,omitempty"`
}

ScatterMarkerLine

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 (
	ScatterMarkerSizemodeDiameter ScatterMarkerSizemode = "diameter"
	ScatterMarkerSizemodeArea     ScatterMarkerSizemode = "area"
)

type ScatterMarkerSymbol

type ScatterMarkerSymbol interface{}

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.

var (
	ScatterMarkerSymbolNumber0                 ScatterMarkerSymbol = 0
	ScatterMarkerSymbol0                       ScatterMarkerSymbol = "0"
	ScatterMarkerSymbolCircle                  ScatterMarkerSymbol = "circle"
	ScatterMarkerSymbolNumber100               ScatterMarkerSymbol = 100
	ScatterMarkerSymbol100                     ScatterMarkerSymbol = "100"
	ScatterMarkerSymbolCircleOpen              ScatterMarkerSymbol = "circle-open"
	ScatterMarkerSymbolNumber200               ScatterMarkerSymbol = 200
	ScatterMarkerSymbol200                     ScatterMarkerSymbol = "200"
	ScatterMarkerSymbolCircleDot               ScatterMarkerSymbol = "circle-dot"
	ScatterMarkerSymbolNumber300               ScatterMarkerSymbol = 300
	ScatterMarkerSymbol300                     ScatterMarkerSymbol = "300"
	ScatterMarkerSymbolCircleOpenDot           ScatterMarkerSymbol = "circle-open-dot"
	ScatterMarkerSymbolNumber1                 ScatterMarkerSymbol = 1
	ScatterMarkerSymbol1                       ScatterMarkerSymbol = "1"
	ScatterMarkerSymbolSquare                  ScatterMarkerSymbol = "square"
	ScatterMarkerSymbolNumber101               ScatterMarkerSymbol = 101
	ScatterMarkerSymbol101                     ScatterMarkerSymbol = "101"
	ScatterMarkerSymbolSquareOpen              ScatterMarkerSymbol = "square-open"
	ScatterMarkerSymbolNumber201               ScatterMarkerSymbol = 201
	ScatterMarkerSymbol201                     ScatterMarkerSymbol = "201"
	ScatterMarkerSymbolSquareDot               ScatterMarkerSymbol = "square-dot"
	ScatterMarkerSymbolNumber301               ScatterMarkerSymbol = 301
	ScatterMarkerSymbol301                     ScatterMarkerSymbol = "301"
	ScatterMarkerSymbolSquareOpenDot           ScatterMarkerSymbol = "square-open-dot"
	ScatterMarkerSymbolNumber2                 ScatterMarkerSymbol = 2
	ScatterMarkerSymbol2                       ScatterMarkerSymbol = "2"
	ScatterMarkerSymbolDiamond                 ScatterMarkerSymbol = "diamond"
	ScatterMarkerSymbolNumber102               ScatterMarkerSymbol = 102
	ScatterMarkerSymbol102                     ScatterMarkerSymbol = "102"
	ScatterMarkerSymbolDiamondOpen             ScatterMarkerSymbol = "diamond-open"
	ScatterMarkerSymbolNumber202               ScatterMarkerSymbol = 202
	ScatterMarkerSymbol202                     ScatterMarkerSymbol = "202"
	ScatterMarkerSymbolDiamondDot              ScatterMarkerSymbol = "diamond-dot"
	ScatterMarkerSymbolNumber302               ScatterMarkerSymbol = 302
	ScatterMarkerSymbol302                     ScatterMarkerSymbol = "302"
	ScatterMarkerSymbolDiamondOpenDot          ScatterMarkerSymbol = "diamond-open-dot"
	ScatterMarkerSymbolNumber3                 ScatterMarkerSymbol = 3
	ScatterMarkerSymbol3                       ScatterMarkerSymbol = "3"
	ScatterMarkerSymbolCross                   ScatterMarkerSymbol = "cross"
	ScatterMarkerSymbolNumber103               ScatterMarkerSymbol = 103
	ScatterMarkerSymbol103                     ScatterMarkerSymbol = "103"
	ScatterMarkerSymbolCrossOpen               ScatterMarkerSymbol = "cross-open"
	ScatterMarkerSymbolNumber203               ScatterMarkerSymbol = 203
	ScatterMarkerSymbol203                     ScatterMarkerSymbol = "203"
	ScatterMarkerSymbolCrossDot                ScatterMarkerSymbol = "cross-dot"
	ScatterMarkerSymbolNumber303               ScatterMarkerSymbol = 303
	ScatterMarkerSymbol303                     ScatterMarkerSymbol = "303"
	ScatterMarkerSymbolCrossOpenDot            ScatterMarkerSymbol = "cross-open-dot"
	ScatterMarkerSymbolNumber4                 ScatterMarkerSymbol = 4
	ScatterMarkerSymbol4                       ScatterMarkerSymbol = "4"
	ScatterMarkerSymbolX                       ScatterMarkerSymbol = "x"
	ScatterMarkerSymbolNumber104               ScatterMarkerSymbol = 104
	ScatterMarkerSymbol104                     ScatterMarkerSymbol = "104"
	ScatterMarkerSymbolXOpen                   ScatterMarkerSymbol = "x-open"
	ScatterMarkerSymbolNumber204               ScatterMarkerSymbol = 204
	ScatterMarkerSymbol204                     ScatterMarkerSymbol = "204"
	ScatterMarkerSymbolXDot                    ScatterMarkerSymbol = "x-dot"
	ScatterMarkerSymbolNumber304               ScatterMarkerSymbol = 304
	ScatterMarkerSymbol304                     ScatterMarkerSymbol = "304"
	ScatterMarkerSymbolXOpenDot                ScatterMarkerSymbol = "x-open-dot"
	ScatterMarkerSymbolNumber5                 ScatterMarkerSymbol = 5
	ScatterMarkerSymbol5                       ScatterMarkerSymbol = "5"
	ScatterMarkerSymbolTriangleUp              ScatterMarkerSymbol = "triangle-up"
	ScatterMarkerSymbolNumber105               ScatterMarkerSymbol = 105
	ScatterMarkerSymbol105                     ScatterMarkerSymbol = "105"
	ScatterMarkerSymbolTriangleUpOpen          ScatterMarkerSymbol = "triangle-up-open"
	ScatterMarkerSymbolNumber205               ScatterMarkerSymbol = 205
	ScatterMarkerSymbol205                     ScatterMarkerSymbol = "205"
	ScatterMarkerSymbolTriangleUpDot           ScatterMarkerSymbol = "triangle-up-dot"
	ScatterMarkerSymbolNumber305               ScatterMarkerSymbol = 305
	ScatterMarkerSymbol305                     ScatterMarkerSymbol = "305"
	ScatterMarkerSymbolTriangleUpOpenDot       ScatterMarkerSymbol = "triangle-up-open-dot"
	ScatterMarkerSymbolNumber6                 ScatterMarkerSymbol = 6
	ScatterMarkerSymbol6                       ScatterMarkerSymbol = "6"
	ScatterMarkerSymbolTriangleDown            ScatterMarkerSymbol = "triangle-down"
	ScatterMarkerSymbolNumber106               ScatterMarkerSymbol = 106
	ScatterMarkerSymbol106                     ScatterMarkerSymbol = "106"
	ScatterMarkerSymbolTriangleDownOpen        ScatterMarkerSymbol = "triangle-down-open"
	ScatterMarkerSymbolNumber206               ScatterMarkerSymbol = 206
	ScatterMarkerSymbol206                     ScatterMarkerSymbol = "206"
	ScatterMarkerSymbolTriangleDownDot         ScatterMarkerSymbol = "triangle-down-dot"
	ScatterMarkerSymbolNumber306               ScatterMarkerSymbol = 306
	ScatterMarkerSymbol306                     ScatterMarkerSymbol = "306"
	ScatterMarkerSymbolTriangleDownOpenDot     ScatterMarkerSymbol = "triangle-down-open-dot"
	ScatterMarkerSymbolNumber7                 ScatterMarkerSymbol = 7
	ScatterMarkerSymbol7                       ScatterMarkerSymbol = "7"
	ScatterMarkerSymbolTriangleLeft            ScatterMarkerSymbol = "triangle-left"
	ScatterMarkerSymbolNumber107               ScatterMarkerSymbol = 107
	ScatterMarkerSymbol107                     ScatterMarkerSymbol = "107"
	ScatterMarkerSymbolTriangleLeftOpen        ScatterMarkerSymbol = "triangle-left-open"
	ScatterMarkerSymbolNumber207               ScatterMarkerSymbol = 207
	ScatterMarkerSymbol207                     ScatterMarkerSymbol = "207"
	ScatterMarkerSymbolTriangleLeftDot         ScatterMarkerSymbol = "triangle-left-dot"
	ScatterMarkerSymbolNumber307               ScatterMarkerSymbol = 307
	ScatterMarkerSymbol307                     ScatterMarkerSymbol = "307"
	ScatterMarkerSymbolTriangleLeftOpenDot     ScatterMarkerSymbol = "triangle-left-open-dot"
	ScatterMarkerSymbolNumber8                 ScatterMarkerSymbol = 8
	ScatterMarkerSymbol8                       ScatterMarkerSymbol = "8"
	ScatterMarkerSymbolTriangleRight           ScatterMarkerSymbol = "triangle-right"
	ScatterMarkerSymbolNumber108               ScatterMarkerSymbol = 108
	ScatterMarkerSymbol108                     ScatterMarkerSymbol = "108"
	ScatterMarkerSymbolTriangleRightOpen       ScatterMarkerSymbol = "triangle-right-open"
	ScatterMarkerSymbolNumber208               ScatterMarkerSymbol = 208
	ScatterMarkerSymbol208                     ScatterMarkerSymbol = "208"
	ScatterMarkerSymbolTriangleRightDot        ScatterMarkerSymbol = "triangle-right-dot"
	ScatterMarkerSymbolNumber308               ScatterMarkerSymbol = 308
	ScatterMarkerSymbol308                     ScatterMarkerSymbol = "308"
	ScatterMarkerSymbolTriangleRightOpenDot    ScatterMarkerSymbol = "triangle-right-open-dot"
	ScatterMarkerSymbolNumber9                 ScatterMarkerSymbol = 9
	ScatterMarkerSymbol9                       ScatterMarkerSymbol = "9"
	ScatterMarkerSymbolTriangleNe              ScatterMarkerSymbol = "triangle-ne"
	ScatterMarkerSymbolNumber109               ScatterMarkerSymbol = 109
	ScatterMarkerSymbol109                     ScatterMarkerSymbol = "109"
	ScatterMarkerSymbolTriangleNeOpen          ScatterMarkerSymbol = "triangle-ne-open"
	ScatterMarkerSymbolNumber209               ScatterMarkerSymbol = 209
	ScatterMarkerSymbol209                     ScatterMarkerSymbol = "209"
	ScatterMarkerSymbolTriangleNeDot           ScatterMarkerSymbol = "triangle-ne-dot"
	ScatterMarkerSymbolNumber309               ScatterMarkerSymbol = 309
	ScatterMarkerSymbol309                     ScatterMarkerSymbol = "309"
	ScatterMarkerSymbolTriangleNeOpenDot       ScatterMarkerSymbol = "triangle-ne-open-dot"
	ScatterMarkerSymbolNumber10                ScatterMarkerSymbol = 10
	ScatterMarkerSymbol10                      ScatterMarkerSymbol = "10"
	ScatterMarkerSymbolTriangleSe              ScatterMarkerSymbol = "triangle-se"
	ScatterMarkerSymbolNumber110               ScatterMarkerSymbol = 110
	ScatterMarkerSymbol110                     ScatterMarkerSymbol = "110"
	ScatterMarkerSymbolTriangleSeOpen          ScatterMarkerSymbol = "triangle-se-open"
	ScatterMarkerSymbolNumber210               ScatterMarkerSymbol = 210
	ScatterMarkerSymbol210                     ScatterMarkerSymbol = "210"
	ScatterMarkerSymbolTriangleSeDot           ScatterMarkerSymbol = "triangle-se-dot"
	ScatterMarkerSymbolNumber310               ScatterMarkerSymbol = 310
	ScatterMarkerSymbol310                     ScatterMarkerSymbol = "310"
	ScatterMarkerSymbolTriangleSeOpenDot       ScatterMarkerSymbol = "triangle-se-open-dot"
	ScatterMarkerSymbolNumber11                ScatterMarkerSymbol = 11
	ScatterMarkerSymbol11                      ScatterMarkerSymbol = "11"
	ScatterMarkerSymbolTriangleSw              ScatterMarkerSymbol = "triangle-sw"
	ScatterMarkerSymbolNumber111               ScatterMarkerSymbol = 111
	ScatterMarkerSymbol111                     ScatterMarkerSymbol = "111"
	ScatterMarkerSymbolTriangleSwOpen          ScatterMarkerSymbol = "triangle-sw-open"
	ScatterMarkerSymbolNumber211               ScatterMarkerSymbol = 211
	ScatterMarkerSymbol211                     ScatterMarkerSymbol = "211"
	ScatterMarkerSymbolTriangleSwDot           ScatterMarkerSymbol = "triangle-sw-dot"
	ScatterMarkerSymbolNumber311               ScatterMarkerSymbol = 311
	ScatterMarkerSymbol311                     ScatterMarkerSymbol = "311"
	ScatterMarkerSymbolTriangleSwOpenDot       ScatterMarkerSymbol = "triangle-sw-open-dot"
	ScatterMarkerSymbolNumber12                ScatterMarkerSymbol = 12
	ScatterMarkerSymbol12                      ScatterMarkerSymbol = "12"
	ScatterMarkerSymbolTriangleNw              ScatterMarkerSymbol = "triangle-nw"
	ScatterMarkerSymbolNumber112               ScatterMarkerSymbol = 112
	ScatterMarkerSymbol112                     ScatterMarkerSymbol = "112"
	ScatterMarkerSymbolTriangleNwOpen          ScatterMarkerSymbol = "triangle-nw-open"
	ScatterMarkerSymbolNumber212               ScatterMarkerSymbol = 212
	ScatterMarkerSymbol212                     ScatterMarkerSymbol = "212"
	ScatterMarkerSymbolTriangleNwDot           ScatterMarkerSymbol = "triangle-nw-dot"
	ScatterMarkerSymbolNumber312               ScatterMarkerSymbol = 312
	ScatterMarkerSymbol312                     ScatterMarkerSymbol = "312"
	ScatterMarkerSymbolTriangleNwOpenDot       ScatterMarkerSymbol = "triangle-nw-open-dot"
	ScatterMarkerSymbolNumber13                ScatterMarkerSymbol = 13
	ScatterMarkerSymbol13                      ScatterMarkerSymbol = "13"
	ScatterMarkerSymbolPentagon                ScatterMarkerSymbol = "pentagon"
	ScatterMarkerSymbolNumber113               ScatterMarkerSymbol = 113
	ScatterMarkerSymbol113                     ScatterMarkerSymbol = "113"
	ScatterMarkerSymbolPentagonOpen            ScatterMarkerSymbol = "pentagon-open"
	ScatterMarkerSymbolNumber213               ScatterMarkerSymbol = 213
	ScatterMarkerSymbol213                     ScatterMarkerSymbol = "213"
	ScatterMarkerSymbolPentagonDot             ScatterMarkerSymbol = "pentagon-dot"
	ScatterMarkerSymbolNumber313               ScatterMarkerSymbol = 313
	ScatterMarkerSymbol313                     ScatterMarkerSymbol = "313"
	ScatterMarkerSymbolPentagonOpenDot         ScatterMarkerSymbol = "pentagon-open-dot"
	ScatterMarkerSymbolNumber14                ScatterMarkerSymbol = 14
	ScatterMarkerSymbol14                      ScatterMarkerSymbol = "14"
	ScatterMarkerSymbolHexagon                 ScatterMarkerSymbol = "hexagon"
	ScatterMarkerSymbolNumber114               ScatterMarkerSymbol = 114
	ScatterMarkerSymbol114                     ScatterMarkerSymbol = "114"
	ScatterMarkerSymbolHexagonOpen             ScatterMarkerSymbol = "hexagon-open"
	ScatterMarkerSymbolNumber214               ScatterMarkerSymbol = 214
	ScatterMarkerSymbol214                     ScatterMarkerSymbol = "214"
	ScatterMarkerSymbolHexagonDot              ScatterMarkerSymbol = "hexagon-dot"
	ScatterMarkerSymbolNumber314               ScatterMarkerSymbol = 314
	ScatterMarkerSymbol314                     ScatterMarkerSymbol = "314"
	ScatterMarkerSymbolHexagonOpenDot          ScatterMarkerSymbol = "hexagon-open-dot"
	ScatterMarkerSymbolNumber15                ScatterMarkerSymbol = 15
	ScatterMarkerSymbol15                      ScatterMarkerSymbol = "15"
	ScatterMarkerSymbolHexagon2                ScatterMarkerSymbol = "hexagon2"
	ScatterMarkerSymbolNumber115               ScatterMarkerSymbol = 115
	ScatterMarkerSymbol115                     ScatterMarkerSymbol = "115"
	ScatterMarkerSymbolHexagon2Open            ScatterMarkerSymbol = "hexagon2-open"
	ScatterMarkerSymbolNumber215               ScatterMarkerSymbol = 215
	ScatterMarkerSymbol215                     ScatterMarkerSymbol = "215"
	ScatterMarkerSymbolHexagon2Dot             ScatterMarkerSymbol = "hexagon2-dot"
	ScatterMarkerSymbolNumber315               ScatterMarkerSymbol = 315
	ScatterMarkerSymbol315                     ScatterMarkerSymbol = "315"
	ScatterMarkerSymbolHexagon2OpenDot         ScatterMarkerSymbol = "hexagon2-open-dot"
	ScatterMarkerSymbolNumber16                ScatterMarkerSymbol = 16
	ScatterMarkerSymbol16                      ScatterMarkerSymbol = "16"
	ScatterMarkerSymbolOctagon                 ScatterMarkerSymbol = "octagon"
	ScatterMarkerSymbolNumber116               ScatterMarkerSymbol = 116
	ScatterMarkerSymbol116                     ScatterMarkerSymbol = "116"
	ScatterMarkerSymbolOctagonOpen             ScatterMarkerSymbol = "octagon-open"
	ScatterMarkerSymbolNumber216               ScatterMarkerSymbol = 216
	ScatterMarkerSymbol216                     ScatterMarkerSymbol = "216"
	ScatterMarkerSymbolOctagonDot              ScatterMarkerSymbol = "octagon-dot"
	ScatterMarkerSymbolNumber316               ScatterMarkerSymbol = 316
	ScatterMarkerSymbol316                     ScatterMarkerSymbol = "316"
	ScatterMarkerSymbolOctagonOpenDot          ScatterMarkerSymbol = "octagon-open-dot"
	ScatterMarkerSymbolNumber17                ScatterMarkerSymbol = 17
	ScatterMarkerSymbol17                      ScatterMarkerSymbol = "17"
	ScatterMarkerSymbolStar                    ScatterMarkerSymbol = "star"
	ScatterMarkerSymbolNumber117               ScatterMarkerSymbol = 117
	ScatterMarkerSymbol117                     ScatterMarkerSymbol = "117"
	ScatterMarkerSymbolStarOpen                ScatterMarkerSymbol = "star-open"
	ScatterMarkerSymbolNumber217               ScatterMarkerSymbol = 217
	ScatterMarkerSymbol217                     ScatterMarkerSymbol = "217"
	ScatterMarkerSymbolStarDot                 ScatterMarkerSymbol = "star-dot"
	ScatterMarkerSymbolNumber317               ScatterMarkerSymbol = 317
	ScatterMarkerSymbol317                     ScatterMarkerSymbol = "317"
	ScatterMarkerSymbolStarOpenDot             ScatterMarkerSymbol = "star-open-dot"
	ScatterMarkerSymbolNumber18                ScatterMarkerSymbol = 18
	ScatterMarkerSymbol18                      ScatterMarkerSymbol = "18"
	ScatterMarkerSymbolHexagram                ScatterMarkerSymbol = "hexagram"
	ScatterMarkerSymbolNumber118               ScatterMarkerSymbol = 118
	ScatterMarkerSymbol118                     ScatterMarkerSymbol = "118"
	ScatterMarkerSymbolHexagramOpen            ScatterMarkerSymbol = "hexagram-open"
	ScatterMarkerSymbolNumber218               ScatterMarkerSymbol = 218
	ScatterMarkerSymbol218                     ScatterMarkerSymbol = "218"
	ScatterMarkerSymbolHexagramDot             ScatterMarkerSymbol = "hexagram-dot"
	ScatterMarkerSymbolNumber318               ScatterMarkerSymbol = 318
	ScatterMarkerSymbol318                     ScatterMarkerSymbol = "318"
	ScatterMarkerSymbolHexagramOpenDot         ScatterMarkerSymbol = "hexagram-open-dot"
	ScatterMarkerSymbolNumber19                ScatterMarkerSymbol = 19
	ScatterMarkerSymbol19                      ScatterMarkerSymbol = "19"
	ScatterMarkerSymbolStarTriangleUp          ScatterMarkerSymbol = "star-triangle-up"
	ScatterMarkerSymbolNumber119               ScatterMarkerSymbol = 119
	ScatterMarkerSymbol119                     ScatterMarkerSymbol = "119"
	ScatterMarkerSymbolStarTriangleUpOpen      ScatterMarkerSymbol = "star-triangle-up-open"
	ScatterMarkerSymbolNumber219               ScatterMarkerSymbol = 219
	ScatterMarkerSymbol219                     ScatterMarkerSymbol = "219"
	ScatterMarkerSymbolStarTriangleUpDot       ScatterMarkerSymbol = "star-triangle-up-dot"
	ScatterMarkerSymbolNumber319               ScatterMarkerSymbol = 319
	ScatterMarkerSymbol319                     ScatterMarkerSymbol = "319"
	ScatterMarkerSymbolStarTriangleUpOpenDot   ScatterMarkerSymbol = "star-triangle-up-open-dot"
	ScatterMarkerSymbolNumber20                ScatterMarkerSymbol = 20
	ScatterMarkerSymbol20                      ScatterMarkerSymbol = "20"
	ScatterMarkerSymbolStarTriangleDown        ScatterMarkerSymbol = "star-triangle-down"
	ScatterMarkerSymbolNumber120               ScatterMarkerSymbol = 120
	ScatterMarkerSymbol120                     ScatterMarkerSymbol = "120"
	ScatterMarkerSymbolStarTriangleDownOpen    ScatterMarkerSymbol = "star-triangle-down-open"
	ScatterMarkerSymbolNumber220               ScatterMarkerSymbol = 220
	ScatterMarkerSymbol220                     ScatterMarkerSymbol = "220"
	ScatterMarkerSymbolStarTriangleDownDot     ScatterMarkerSymbol = "star-triangle-down-dot"
	ScatterMarkerSymbolNumber320               ScatterMarkerSymbol = 320
	ScatterMarkerSymbol320                     ScatterMarkerSymbol = "320"
	ScatterMarkerSymbolStarTriangleDownOpenDot ScatterMarkerSymbol = "star-triangle-down-open-dot"
	ScatterMarkerSymbolNumber21                ScatterMarkerSymbol = 21
	ScatterMarkerSymbol21                      ScatterMarkerSymbol = "21"
	ScatterMarkerSymbolStarSquare              ScatterMarkerSymbol = "star-square"
	ScatterMarkerSymbolNumber121               ScatterMarkerSymbol = 121
	ScatterMarkerSymbol121                     ScatterMarkerSymbol = "121"
	ScatterMarkerSymbolStarSquareOpen          ScatterMarkerSymbol = "star-square-open"
	ScatterMarkerSymbolNumber221               ScatterMarkerSymbol = 221
	ScatterMarkerSymbol221                     ScatterMarkerSymbol = "221"
	ScatterMarkerSymbolStarSquareDot           ScatterMarkerSymbol = "star-square-dot"
	ScatterMarkerSymbolNumber321               ScatterMarkerSymbol = 321
	ScatterMarkerSymbol321                     ScatterMarkerSymbol = "321"
	ScatterMarkerSymbolStarSquareOpenDot       ScatterMarkerSymbol = "star-square-open-dot"
	ScatterMarkerSymbolNumber22                ScatterMarkerSymbol = 22
	ScatterMarkerSymbol22                      ScatterMarkerSymbol = "22"
	ScatterMarkerSymbolStarDiamond             ScatterMarkerSymbol = "star-diamond"
	ScatterMarkerSymbolNumber122               ScatterMarkerSymbol = 122
	ScatterMarkerSymbol122                     ScatterMarkerSymbol = "122"
	ScatterMarkerSymbolStarDiamondOpen         ScatterMarkerSymbol = "star-diamond-open"
	ScatterMarkerSymbolNumber222               ScatterMarkerSymbol = 222
	ScatterMarkerSymbol222                     ScatterMarkerSymbol = "222"
	ScatterMarkerSymbolStarDiamondDot          ScatterMarkerSymbol = "star-diamond-dot"
	ScatterMarkerSymbolNumber322               ScatterMarkerSymbol = 322
	ScatterMarkerSymbol322                     ScatterMarkerSymbol = "322"
	ScatterMarkerSymbolStarDiamondOpenDot      ScatterMarkerSymbol = "star-diamond-open-dot"
	ScatterMarkerSymbolNumber23                ScatterMarkerSymbol = 23
	ScatterMarkerSymbol23                      ScatterMarkerSymbol = "23"
	ScatterMarkerSymbolDiamondTall             ScatterMarkerSymbol = "diamond-tall"
	ScatterMarkerSymbolNumber123               ScatterMarkerSymbol = 123
	ScatterMarkerSymbol123                     ScatterMarkerSymbol = "123"
	ScatterMarkerSymbolDiamondTallOpen         ScatterMarkerSymbol = "diamond-tall-open"
	ScatterMarkerSymbolNumber223               ScatterMarkerSymbol = 223
	ScatterMarkerSymbol223                     ScatterMarkerSymbol = "223"
	ScatterMarkerSymbolDiamondTallDot          ScatterMarkerSymbol = "diamond-tall-dot"
	ScatterMarkerSymbolNumber323               ScatterMarkerSymbol = 323
	ScatterMarkerSymbol323                     ScatterMarkerSymbol = "323"
	ScatterMarkerSymbolDiamondTallOpenDot      ScatterMarkerSymbol = "diamond-tall-open-dot"
	ScatterMarkerSymbolNumber24                ScatterMarkerSymbol = 24
	ScatterMarkerSymbol24                      ScatterMarkerSymbol = "24"
	ScatterMarkerSymbolDiamondWide             ScatterMarkerSymbol = "diamond-wide"
	ScatterMarkerSymbolNumber124               ScatterMarkerSymbol = 124
	ScatterMarkerSymbol124                     ScatterMarkerSymbol = "124"
	ScatterMarkerSymbolDiamondWideOpen         ScatterMarkerSymbol = "diamond-wide-open"
	ScatterMarkerSymbolNumber224               ScatterMarkerSymbol = 224
	ScatterMarkerSymbol224                     ScatterMarkerSymbol = "224"
	ScatterMarkerSymbolDiamondWideDot          ScatterMarkerSymbol = "diamond-wide-dot"
	ScatterMarkerSymbolNumber324               ScatterMarkerSymbol = 324
	ScatterMarkerSymbol324                     ScatterMarkerSymbol = "324"
	ScatterMarkerSymbolDiamondWideOpenDot      ScatterMarkerSymbol = "diamond-wide-open-dot"
	ScatterMarkerSymbolNumber25                ScatterMarkerSymbol = 25
	ScatterMarkerSymbol25                      ScatterMarkerSymbol = "25"
	ScatterMarkerSymbolHourglass               ScatterMarkerSymbol = "hourglass"
	ScatterMarkerSymbolNumber125               ScatterMarkerSymbol = 125
	ScatterMarkerSymbol125                     ScatterMarkerSymbol = "125"
	ScatterMarkerSymbolHourglassOpen           ScatterMarkerSymbol = "hourglass-open"
	ScatterMarkerSymbolNumber26                ScatterMarkerSymbol = 26
	ScatterMarkerSymbol26                      ScatterMarkerSymbol = "26"
	ScatterMarkerSymbolBowtie                  ScatterMarkerSymbol = "bowtie"
	ScatterMarkerSymbolNumber126               ScatterMarkerSymbol = 126
	ScatterMarkerSymbol126                     ScatterMarkerSymbol = "126"
	ScatterMarkerSymbolBowtieOpen              ScatterMarkerSymbol = "bowtie-open"
	ScatterMarkerSymbolNumber27                ScatterMarkerSymbol = 27
	ScatterMarkerSymbol27                      ScatterMarkerSymbol = "27"
	ScatterMarkerSymbolCircleCross             ScatterMarkerSymbol = "circle-cross"
	ScatterMarkerSymbolNumber127               ScatterMarkerSymbol = 127
	ScatterMarkerSymbol127                     ScatterMarkerSymbol = "127"
	ScatterMarkerSymbolCircleCrossOpen         ScatterMarkerSymbol = "circle-cross-open"
	ScatterMarkerSymbolNumber28                ScatterMarkerSymbol = 28
	ScatterMarkerSymbol28                      ScatterMarkerSymbol = "28"
	ScatterMarkerSymbolCircleX                 ScatterMarkerSymbol = "circle-x"
	ScatterMarkerSymbolNumber128               ScatterMarkerSymbol = 128
	ScatterMarkerSymbol128                     ScatterMarkerSymbol = "128"
	ScatterMarkerSymbolCircleXOpen             ScatterMarkerSymbol = "circle-x-open"
	ScatterMarkerSymbolNumber29                ScatterMarkerSymbol = 29
	ScatterMarkerSymbol29                      ScatterMarkerSymbol = "29"
	ScatterMarkerSymbolSquareCross             ScatterMarkerSymbol = "square-cross"
	ScatterMarkerSymbolNumber129               ScatterMarkerSymbol = 129
	ScatterMarkerSymbol129                     ScatterMarkerSymbol = "129"
	ScatterMarkerSymbolSquareCrossOpen         ScatterMarkerSymbol = "square-cross-open"
	ScatterMarkerSymbolNumber30                ScatterMarkerSymbol = 30
	ScatterMarkerSymbol30                      ScatterMarkerSymbol = "30"
	ScatterMarkerSymbolSquareX                 ScatterMarkerSymbol = "square-x"
	ScatterMarkerSymbolNumber130               ScatterMarkerSymbol = 130
	ScatterMarkerSymbol130                     ScatterMarkerSymbol = "130"
	ScatterMarkerSymbolSquareXOpen             ScatterMarkerSymbol = "square-x-open"
	ScatterMarkerSymbolNumber31                ScatterMarkerSymbol = 31
	ScatterMarkerSymbol31                      ScatterMarkerSymbol = "31"
	ScatterMarkerSymbolDiamondCross            ScatterMarkerSymbol = "diamond-cross"
	ScatterMarkerSymbolNumber131               ScatterMarkerSymbol = 131
	ScatterMarkerSymbol131                     ScatterMarkerSymbol = "131"
	ScatterMarkerSymbolDiamondCrossOpen        ScatterMarkerSymbol = "diamond-cross-open"
	ScatterMarkerSymbolNumber32                ScatterMarkerSymbol = 32
	ScatterMarkerSymbol32                      ScatterMarkerSymbol = "32"
	ScatterMarkerSymbolDiamondX                ScatterMarkerSymbol = "diamond-x"
	ScatterMarkerSymbolNumber132               ScatterMarkerSymbol = 132
	ScatterMarkerSymbol132                     ScatterMarkerSymbol = "132"
	ScatterMarkerSymbolDiamondXOpen            ScatterMarkerSymbol = "diamond-x-open"
	ScatterMarkerSymbolNumber33                ScatterMarkerSymbol = 33
	ScatterMarkerSymbol33                      ScatterMarkerSymbol = "33"
	ScatterMarkerSymbolCrossThin               ScatterMarkerSymbol = "cross-thin"
	ScatterMarkerSymbolNumber133               ScatterMarkerSymbol = 133
	ScatterMarkerSymbol133                     ScatterMarkerSymbol = "133"
	ScatterMarkerSymbolCrossThinOpen           ScatterMarkerSymbol = "cross-thin-open"
	ScatterMarkerSymbolNumber34                ScatterMarkerSymbol = 34
	ScatterMarkerSymbol34                      ScatterMarkerSymbol = "34"
	ScatterMarkerSymbolXThin                   ScatterMarkerSymbol = "x-thin"
	ScatterMarkerSymbolNumber134               ScatterMarkerSymbol = 134
	ScatterMarkerSymbol134                     ScatterMarkerSymbol = "134"
	ScatterMarkerSymbolXThinOpen               ScatterMarkerSymbol = "x-thin-open"
	ScatterMarkerSymbolNumber35                ScatterMarkerSymbol = 35
	ScatterMarkerSymbol35                      ScatterMarkerSymbol = "35"
	ScatterMarkerSymbolAsterisk                ScatterMarkerSymbol = "asterisk"
	ScatterMarkerSymbolNumber135               ScatterMarkerSymbol = 135
	ScatterMarkerSymbol135                     ScatterMarkerSymbol = "135"
	ScatterMarkerSymbolAsteriskOpen            ScatterMarkerSymbol = "asterisk-open"
	ScatterMarkerSymbolNumber36                ScatterMarkerSymbol = 36
	ScatterMarkerSymbol36                      ScatterMarkerSymbol = "36"
	ScatterMarkerSymbolHash                    ScatterMarkerSymbol = "hash"
	ScatterMarkerSymbolNumber136               ScatterMarkerSymbol = 136
	ScatterMarkerSymbol136                     ScatterMarkerSymbol = "136"
	ScatterMarkerSymbolHashOpen                ScatterMarkerSymbol = "hash-open"
	ScatterMarkerSymbolNumber236               ScatterMarkerSymbol = 236
	ScatterMarkerSymbol236                     ScatterMarkerSymbol = "236"
	ScatterMarkerSymbolHashDot                 ScatterMarkerSymbol = "hash-dot"
	ScatterMarkerSymbolNumber336               ScatterMarkerSymbol = 336
	ScatterMarkerSymbol336                     ScatterMarkerSymbol = "336"
	ScatterMarkerSymbolHashOpenDot             ScatterMarkerSymbol = "hash-open-dot"
	ScatterMarkerSymbolNumber37                ScatterMarkerSymbol = 37
	ScatterMarkerSymbol37                      ScatterMarkerSymbol = "37"
	ScatterMarkerSymbolYUp                     ScatterMarkerSymbol = "y-up"
	ScatterMarkerSymbolNumber137               ScatterMarkerSymbol = 137
	ScatterMarkerSymbol137                     ScatterMarkerSymbol = "137"
	ScatterMarkerSymbolYUpOpen                 ScatterMarkerSymbol = "y-up-open"
	ScatterMarkerSymbolNumber38                ScatterMarkerSymbol = 38
	ScatterMarkerSymbol38                      ScatterMarkerSymbol = "38"
	ScatterMarkerSymbolYDown                   ScatterMarkerSymbol = "y-down"
	ScatterMarkerSymbolNumber138               ScatterMarkerSymbol = 138
	ScatterMarkerSymbol138                     ScatterMarkerSymbol = "138"
	ScatterMarkerSymbolYDownOpen               ScatterMarkerSymbol = "y-down-open"
	ScatterMarkerSymbolNumber39                ScatterMarkerSymbol = 39
	ScatterMarkerSymbol39                      ScatterMarkerSymbol = "39"
	ScatterMarkerSymbolYLeft                   ScatterMarkerSymbol = "y-left"
	ScatterMarkerSymbolNumber139               ScatterMarkerSymbol = 139
	ScatterMarkerSymbol139                     ScatterMarkerSymbol = "139"
	ScatterMarkerSymbolYLeftOpen               ScatterMarkerSymbol = "y-left-open"
	ScatterMarkerSymbolNumber40                ScatterMarkerSymbol = 40
	ScatterMarkerSymbol40                      ScatterMarkerSymbol = "40"
	ScatterMarkerSymbolYRight                  ScatterMarkerSymbol = "y-right"
	ScatterMarkerSymbolNumber140               ScatterMarkerSymbol = 140
	ScatterMarkerSymbol140                     ScatterMarkerSymbol = "140"
	ScatterMarkerSymbolYRightOpen              ScatterMarkerSymbol = "y-right-open"
	ScatterMarkerSymbolNumber41                ScatterMarkerSymbol = 41
	ScatterMarkerSymbol41                      ScatterMarkerSymbol = "41"
	ScatterMarkerSymbolLineEw                  ScatterMarkerSymbol = "line-ew"
	ScatterMarkerSymbolNumber141               ScatterMarkerSymbol = 141
	ScatterMarkerSymbol141                     ScatterMarkerSymbol = "141"
	ScatterMarkerSymbolLineEwOpen              ScatterMarkerSymbol = "line-ew-open"
	ScatterMarkerSymbolNumber42                ScatterMarkerSymbol = 42
	ScatterMarkerSymbol42                      ScatterMarkerSymbol = "42"
	ScatterMarkerSymbolLineNs                  ScatterMarkerSymbol = "line-ns"
	ScatterMarkerSymbolNumber142               ScatterMarkerSymbol = 142
	ScatterMarkerSymbol142                     ScatterMarkerSymbol = "142"
	ScatterMarkerSymbolLineNsOpen              ScatterMarkerSymbol = "line-ns-open"
	ScatterMarkerSymbolNumber43                ScatterMarkerSymbol = 43
	ScatterMarkerSymbol43                      ScatterMarkerSymbol = "43"
	ScatterMarkerSymbolLineNe                  ScatterMarkerSymbol = "line-ne"
	ScatterMarkerSymbolNumber143               ScatterMarkerSymbol = 143
	ScatterMarkerSymbol143                     ScatterMarkerSymbol = "143"
	ScatterMarkerSymbolLineNeOpen              ScatterMarkerSymbol = "line-ne-open"
	ScatterMarkerSymbolNumber44                ScatterMarkerSymbol = 44
	ScatterMarkerSymbol44                      ScatterMarkerSymbol = "44"
	ScatterMarkerSymbolLineNw                  ScatterMarkerSymbol = "line-nw"
	ScatterMarkerSymbolNumber144               ScatterMarkerSymbol = 144
	ScatterMarkerSymbol144                     ScatterMarkerSymbol = "144"
	ScatterMarkerSymbolLineNwOpen              ScatterMarkerSymbol = "line-nw-open"
	ScatterMarkerSymbolNumber45                ScatterMarkerSymbol = 45
	ScatterMarkerSymbol45                      ScatterMarkerSymbol = "45"
	ScatterMarkerSymbolArrowUp                 ScatterMarkerSymbol = "arrow-up"
	ScatterMarkerSymbolNumber145               ScatterMarkerSymbol = 145
	ScatterMarkerSymbol145                     ScatterMarkerSymbol = "145"
	ScatterMarkerSymbolArrowUpOpen             ScatterMarkerSymbol = "arrow-up-open"
	ScatterMarkerSymbolNumber46                ScatterMarkerSymbol = 46
	ScatterMarkerSymbol46                      ScatterMarkerSymbol = "46"
	ScatterMarkerSymbolArrowDown               ScatterMarkerSymbol = "arrow-down"
	ScatterMarkerSymbolNumber146               ScatterMarkerSymbol = 146
	ScatterMarkerSymbol146                     ScatterMarkerSymbol = "146"
	ScatterMarkerSymbolArrowDownOpen           ScatterMarkerSymbol = "arrow-down-open"
	ScatterMarkerSymbolNumber47                ScatterMarkerSymbol = 47
	ScatterMarkerSymbol47                      ScatterMarkerSymbol = "47"
	ScatterMarkerSymbolArrowLeft               ScatterMarkerSymbol = "arrow-left"
	ScatterMarkerSymbolNumber147               ScatterMarkerSymbol = 147
	ScatterMarkerSymbol147                     ScatterMarkerSymbol = "147"
	ScatterMarkerSymbolArrowLeftOpen           ScatterMarkerSymbol = "arrow-left-open"
	ScatterMarkerSymbolNumber48                ScatterMarkerSymbol = 48
	ScatterMarkerSymbol48                      ScatterMarkerSymbol = "48"
	ScatterMarkerSymbolArrowRight              ScatterMarkerSymbol = "arrow-right"
	ScatterMarkerSymbolNumber148               ScatterMarkerSymbol = 148
	ScatterMarkerSymbol148                     ScatterMarkerSymbol = "148"
	ScatterMarkerSymbolArrowRightOpen          ScatterMarkerSymbol = "arrow-right-open"
	ScatterMarkerSymbolNumber49                ScatterMarkerSymbol = 49
	ScatterMarkerSymbol49                      ScatterMarkerSymbol = "49"
	ScatterMarkerSymbolArrowBarUp              ScatterMarkerSymbol = "arrow-bar-up"
	ScatterMarkerSymbolNumber149               ScatterMarkerSymbol = 149
	ScatterMarkerSymbol149                     ScatterMarkerSymbol = "149"
	ScatterMarkerSymbolArrowBarUpOpen          ScatterMarkerSymbol = "arrow-bar-up-open"
	ScatterMarkerSymbolNumber50                ScatterMarkerSymbol = 50
	ScatterMarkerSymbol50                      ScatterMarkerSymbol = "50"
	ScatterMarkerSymbolArrowBarDown            ScatterMarkerSymbol = "arrow-bar-down"
	ScatterMarkerSymbolNumber150               ScatterMarkerSymbol = 150
	ScatterMarkerSymbol150                     ScatterMarkerSymbol = "150"
	ScatterMarkerSymbolArrowBarDownOpen        ScatterMarkerSymbol = "arrow-bar-down-open"
	ScatterMarkerSymbolNumber51                ScatterMarkerSymbol = 51
	ScatterMarkerSymbol51                      ScatterMarkerSymbol = "51"
	ScatterMarkerSymbolArrowBarLeft            ScatterMarkerSymbol = "arrow-bar-left"
	ScatterMarkerSymbolNumber151               ScatterMarkerSymbol = 151
	ScatterMarkerSymbol151                     ScatterMarkerSymbol = "151"
	ScatterMarkerSymbolArrowBarLeftOpen        ScatterMarkerSymbol = "arrow-bar-left-open"
	ScatterMarkerSymbolNumber52                ScatterMarkerSymbol = 52
	ScatterMarkerSymbol52                      ScatterMarkerSymbol = "52"
	ScatterMarkerSymbolArrowBarRight           ScatterMarkerSymbol = "arrow-bar-right"
	ScatterMarkerSymbolNumber152               ScatterMarkerSymbol = 152
	ScatterMarkerSymbol152                     ScatterMarkerSymbol = "152"
	ScatterMarkerSymbolArrowBarRightOpen       ScatterMarkerSymbol = "arrow-bar-right-open"
)

type ScatterMode

type ScatterMode string

ScatterMode Determines the drawing mode for this scatter trace. If the provided `mode` includes *text* then the `text` elements appear at the coordinates. Otherwise, the `text` elements appear on hover. If there are less than 20 points and the trace is not stacked then the default is *lines+markers*. Otherwise, *lines*.

const (
	// Flags
	ScatterModeLines   ScatterMode = "lines"
	ScatterModeMarkers ScatterMode = "markers"
	ScatterModeText    ScatterMode = "text"

	// Extra
	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 (
	ScatterOrientationV ScatterOrientation = "v"
	ScatterOrientationH ScatterOrientation = "h"
)

type ScatterSelected

type ScatterSelected struct {

	// Marker
	// role: Object
	Marker *ScatterSelectedMarker `json:"marker,omitempty"`

	// Textfont
	// role: Object
	Textfont *ScatterSelectedTextfont `json:"textfont,omitempty"`
}

ScatterSelected

type ScatterSelectedMarker

type ScatterSelectedMarker struct {

	// Color
	// arrayOK: false
	// type: color
	// Sets the marker color of selected points.
	Color Color `json:"color,omitempty"`

	// Opacity
	// arrayOK: false
	// type: number
	// Sets the marker opacity of selected points.
	Opacity float64 `json:"opacity,omitempty"`

	// Size
	// arrayOK: false
	// type: number
	// Sets the marker size of selected points.
	Size float64 `json:"size,omitempty"`
}

ScatterSelectedMarker

type ScatterSelectedTextfont

type ScatterSelectedTextfont struct {

	// Color
	// arrayOK: false
	// type: color
	// Sets the text font color of selected points.
	Color Color `json:"color,omitempty"`
}

ScatterSelectedTextfont

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 (
	ScatterStackgapsInferZero   ScatterStackgaps = "infer zero"
	ScatterStackgapsInterpolate ScatterStackgaps = "interpolate"
)

type ScatterStream

type ScatterStream struct {

	// Maxpoints
	// arrayOK: false
	// type: number
	// Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot.
	Maxpoints float64 `json:"maxpoints,omitempty"`

	// Token
	// arrayOK: false
	// type: string
	// The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details.
	Token String `json:"token,omitempty"`
}

ScatterStream

type ScatterTextfont

type ScatterTextfont struct {

	// Color
	// arrayOK: true
	// type: color
	//
	Color Color `json:"color,omitempty"`

	// Colorsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  color .
	Colorsrc String `json:"colorsrc,omitempty"`

	// Family
	// arrayOK: true
	// type: string
	// HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.
	Family String `json:"family,omitempty"`

	// Familysrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  family .
	Familysrc String `json:"familysrc,omitempty"`

	// Size
	// arrayOK: true
	// type: number
	//
	Size float64 `json:"size,omitempty"`

	// Sizesrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  size .
	Sizesrc String `json:"sizesrc,omitempty"`
}

ScatterTextfont Sets the text font.

type ScatterTextposition

type ScatterTextposition string

ScatterTextposition Sets the positions of the `text` elements with respects to the (x,y) coordinates.

const (
	ScatterTextpositionTopLeft      ScatterTextposition = "top left"
	ScatterTextpositionTopCenter    ScatterTextposition = "top center"
	ScatterTextpositionTopRight     ScatterTextposition = "top right"
	ScatterTextpositionMiddleLeft   ScatterTextposition = "middle left"
	ScatterTextpositionMiddleCenter ScatterTextposition = "middle center"
	ScatterTextpositionMiddleRight  ScatterTextposition = "middle right"
	ScatterTextpositionBottomLeft   ScatterTextposition = "bottom left"
	ScatterTextpositionBottomCenter ScatterTextposition = "bottom center"
	ScatterTextpositionBottomRight  ScatterTextposition = "bottom right"
)

type ScatterUnselected

type ScatterUnselected struct {

	// Marker
	// role: Object
	Marker *ScatterUnselectedMarker `json:"marker,omitempty"`

	// Textfont
	// role: Object
	Textfont *ScatterUnselectedTextfont `json:"textfont,omitempty"`
}

ScatterUnselected

type ScatterUnselectedMarker

type ScatterUnselectedMarker struct {

	// Color
	// arrayOK: false
	// type: color
	// Sets the marker color of unselected points, applied only when a selection exists.
	Color Color `json:"color,omitempty"`

	// Opacity
	// arrayOK: false
	// type: number
	// Sets the marker opacity of unselected points, applied only when a selection exists.
	Opacity float64 `json:"opacity,omitempty"`

	// Size
	// arrayOK: false
	// type: number
	// Sets the marker size of unselected points, applied only when a selection exists.
	Size float64 `json:"size,omitempty"`
}

ScatterUnselectedMarker

type ScatterUnselectedTextfont

type ScatterUnselectedTextfont struct {

	// Color
	// arrayOK: false
	// type: color
	// Sets the text font color of unselected points, applied only when a selection exists.
	Color Color `json:"color,omitempty"`
}

ScatterUnselectedTextfont

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 (
	ScatterVisibleTrue       ScatterVisible = true
	ScatterVisibleFalse      ScatterVisible = false
	ScatterVisibleLegendonly ScatterVisible = "legendonly"
)

type ScatterXcalendar

type ScatterXcalendar string

ScatterXcalendar Sets the calendar system to use with `x` date data.

const (
	ScatterXcalendarGregorian  ScatterXcalendar = "gregorian"
	ScatterXcalendarChinese    ScatterXcalendar = "chinese"
	ScatterXcalendarCoptic     ScatterXcalendar = "coptic"
	ScatterXcalendarDiscworld  ScatterXcalendar = "discworld"
	ScatterXcalendarEthiopian  ScatterXcalendar = "ethiopian"
	ScatterXcalendarHebrew     ScatterXcalendar = "hebrew"
	ScatterXcalendarIslamic    ScatterXcalendar = "islamic"
	ScatterXcalendarJulian     ScatterXcalendar = "julian"
	ScatterXcalendarMayan      ScatterXcalendar = "mayan"
	ScatterXcalendarNanakshahi ScatterXcalendar = "nanakshahi"
	ScatterXcalendarNepali     ScatterXcalendar = "nepali"
	ScatterXcalendarPersian    ScatterXcalendar = "persian"
	ScatterXcalendarJalali     ScatterXcalendar = "jalali"
	ScatterXcalendarTaiwan     ScatterXcalendar = "taiwan"
	ScatterXcalendarThai       ScatterXcalendar = "thai"
	ScatterXcalendarUmmalqura  ScatterXcalendar = "ummalqura"
)

type ScatterXperiodalignment added in v0.3.1

type ScatterXperiodalignment string

ScatterXperiodalignment Only relevant when the axis `type` is *date*. Sets the alignment of data points on the x axis.

const (
	ScatterXperiodalignmentStart  ScatterXperiodalignment = "start"
	ScatterXperiodalignmentMiddle ScatterXperiodalignment = "middle"
	ScatterXperiodalignmentEnd    ScatterXperiodalignment = "end"
)

type ScatterYcalendar

type ScatterYcalendar string

ScatterYcalendar Sets the calendar system to use with `y` date data.

const (
	ScatterYcalendarGregorian  ScatterYcalendar = "gregorian"
	ScatterYcalendarChinese    ScatterYcalendar = "chinese"
	ScatterYcalendarCoptic     ScatterYcalendar = "coptic"
	ScatterYcalendarDiscworld  ScatterYcalendar = "discworld"
	ScatterYcalendarEthiopian  ScatterYcalendar = "ethiopian"
	ScatterYcalendarHebrew     ScatterYcalendar = "hebrew"
	ScatterYcalendarIslamic    ScatterYcalendar = "islamic"
	ScatterYcalendarJulian     ScatterYcalendar = "julian"
	ScatterYcalendarMayan      ScatterYcalendar = "mayan"
	ScatterYcalendarNanakshahi ScatterYcalendar = "nanakshahi"
	ScatterYcalendarNepali     ScatterYcalendar = "nepali"
	ScatterYcalendarPersian    ScatterYcalendar = "persian"
	ScatterYcalendarJalali     ScatterYcalendar = "jalali"
	ScatterYcalendarTaiwan     ScatterYcalendar = "taiwan"
	ScatterYcalendarThai       ScatterYcalendar = "thai"
	ScatterYcalendarUmmalqura  ScatterYcalendar = "ummalqura"
)

type ScatterYperiodalignment added in v0.3.1

type ScatterYperiodalignment string

ScatterYperiodalignment Only relevant when the axis `type` is *date*. Sets the alignment of data points on the y axis.

const (
	ScatterYperiodalignmentStart  ScatterYperiodalignment = "start"
	ScatterYperiodalignmentMiddle ScatterYperiodalignment = "middle"
	ScatterYperiodalignmentEnd    ScatterYperiodalignment = "end"
)

type Scattercarpet

type Scattercarpet struct {

	// Type
	// is the type of the plot
	Type TraceType `json:"type,omitempty"`

	// A
	// arrayOK: false
	// type: data_array
	// Sets the a-axis coordinates.
	A interface{} `json:"a,omitempty"`

	// Asrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  a .
	Asrc String `json:"asrc,omitempty"`

	// B
	// arrayOK: false
	// type: data_array
	// Sets the b-axis coordinates.
	B interface{} `json:"b,omitempty"`

	// Bsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  b .
	Bsrc String `json:"bsrc,omitempty"`

	// Carpet
	// arrayOK: false
	// type: string
	// An identifier for this carpet, so that `scattercarpet` and `contourcarpet` traces can specify a carpet plot on which they lie
	Carpet String `json:"carpet,omitempty"`

	// Connectgaps
	// arrayOK: false
	// type: boolean
	// Determines whether or not gaps (i.e. {nan} or missing values) in the provided data arrays are connected.
	Connectgaps Bool `json:"connectgaps,omitempty"`

	// Customdata
	// arrayOK: false
	// type: data_array
	// Assigns extra data each datum. This may be useful when listening to hover, click and selection events. Note that, *scatter* traces also appends customdata items in the markers DOM elements
	Customdata interface{} `json:"customdata,omitempty"`

	// Customdatasrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  customdata .
	Customdatasrc String `json:"customdatasrc,omitempty"`

	// Fill
	// default: none
	// type: enumerated
	// Sets the area to fill with a solid color. Use with `fillcolor` if not *none*. scatterternary has a subset of the options available to scatter. *toself* connects the endpoints of the trace (or each segment of the trace if it has gaps) into a closed shape. *tonext* fills the space between two traces if one completely encloses the other (eg consecutive contour lines), and behaves like *toself* if there is no trace before it. *tonext* should not be used if one trace does not enclose the other.
	Fill ScattercarpetFill `json:"fill,omitempty"`

	// Fillcolor
	// arrayOK: false
	// type: color
	// Sets the fill color. Defaults to a half-transparent variant of the line color, marker color, or marker line color, whichever is available.
	Fillcolor Color `json:"fillcolor,omitempty"`

	// Hoverinfo
	// default: all
	// type: flaglist
	// Determines which trace information appear on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired.
	Hoverinfo ScattercarpetHoverinfo `json:"hoverinfo,omitempty"`

	// Hoverinfosrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  hoverinfo .
	Hoverinfosrc String `json:"hoverinfosrc,omitempty"`

	// Hoverlabel
	// role: Object
	Hoverlabel *ScattercarpetHoverlabel `json:"hoverlabel,omitempty"`

	// Hoveron
	// default: %!s(<nil>)
	// type: flaglist
	// Do the hover effects highlight individual points (markers or line points) or do they highlight filled regions? If the fill is *toself* or *tonext* and there are no markers or text, then the default is *fills*, otherwise it is *points*.
	Hoveron ScattercarpetHoveron `json:"hoveron,omitempty"`

	// Hovertemplate
	// arrayOK: true
	// type: string
	// Template string used for rendering the information that appear on hover box. Note that this will override `hoverinfo`. Variables are inserted using %{variable}, for example "y: %{y}". 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 String `json:"hovertemplate,omitempty"`

	// Hovertemplatesrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  hovertemplate .
	Hovertemplatesrc String `json:"hovertemplatesrc,omitempty"`

	// Hovertext
	// arrayOK: true
	// type: string
	// Sets hover text elements associated with each (a,b) point. If a single string, the same string appears over all the data points. If an array of strings, the items are mapped in order to the the data points in (a,b). To be seen, trace `hoverinfo` must contain a *text* flag.
	Hovertext String `json:"hovertext,omitempty"`

	// Hovertextsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  hovertext .
	Hovertextsrc String `json:"hovertextsrc,omitempty"`

	// Ids
	// arrayOK: false
	// type: data_array
	// Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type.
	Ids interface{} `json:"ids,omitempty"`

	// Idssrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  ids .
	Idssrc String `json:"idssrc,omitempty"`

	// Legendgroup
	// arrayOK: false
	// type: string
	// Sets the legend group for this trace. Traces part of the same legend group hide/show at the same time when toggling legend items.
	Legendgroup String `json:"legendgroup,omitempty"`

	// Line
	// role: Object
	Line *ScattercarpetLine `json:"line,omitempty"`

	// Marker
	// role: Object
	Marker *ScattercarpetMarker `json:"marker,omitempty"`

	// Meta
	// arrayOK: true
	// type: any
	// Assigns extra meta information associated with this trace that can be used in various text attributes. Attributes such as trace `name`, graph, axis and colorbar `title.text`, annotation `text` `rangeselector`, `updatemenues` and `sliders` `label` text all support `meta`. To access the trace `meta` values in an attribute in the same trace, simply use `%{meta[i]}` where `i` is the index or key of the `meta` item in question. To access trace `meta` in layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index.
	Meta interface{} `json:"meta,omitempty"`

	// Metasrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  meta .
	Metasrc String `json:"metasrc,omitempty"`

	// Mode
	// default: markers
	// type: flaglist
	// Determines the drawing mode for this scatter trace. If the provided `mode` includes *text* then the `text` elements appear at the coordinates. Otherwise, the `text` elements appear on hover. If there are less than 20 points and the trace is not stacked then the default is *lines+markers*. Otherwise, *lines*.
	Mode ScattercarpetMode `json:"mode,omitempty"`

	// Name
	// arrayOK: false
	// type: string
	// Sets the trace name. The trace name appear as the legend item and on hover.
	Name String `json:"name,omitempty"`

	// Opacity
	// arrayOK: false
	// type: number
	// Sets the opacity of the trace.
	Opacity float64 `json:"opacity,omitempty"`

	// Selected
	// role: Object
	Selected *ScattercarpetSelected `json:"selected,omitempty"`

	// Selectedpoints
	// arrayOK: false
	// type: any
	// Array containing integer indices of selected points. Has an effect only for traces that support selections. Note that an empty array means an empty selection where the `unselected` are turned on for all points, whereas, any other non-array values means no selection all where the `selected` and `unselected` styles have no effect.
	Selectedpoints interface{} `json:"selectedpoints,omitempty"`

	// Showlegend
	// arrayOK: false
	// type: boolean
	// Determines whether or not an item corresponding to this trace is shown in the legend.
	Showlegend Bool `json:"showlegend,omitempty"`

	// Stream
	// role: Object
	Stream *ScattercarpetStream `json:"stream,omitempty"`

	// Text
	// arrayOK: true
	// type: string
	// Sets text elements associated with each (a,b) point. If a single string, the same string appears over all the data points. If an array of strings, the items are mapped in order to the the data points in (a,b). If trace `hoverinfo` contains a *text* flag and *hovertext* is not set, these elements will be seen in the hover labels.
	Text String `json:"text,omitempty"`

	// Textfont
	// role: Object
	Textfont *ScattercarpetTextfont `json:"textfont,omitempty"`

	// Textposition
	// default: middle center
	// type: enumerated
	// Sets the positions of the `text` elements with respects to the (x,y) coordinates.
	Textposition ScattercarpetTextposition `json:"textposition,omitempty"`

	// Textpositionsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  textposition .
	Textpositionsrc String `json:"textpositionsrc,omitempty"`

	// Textsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  text .
	Textsrc String `json:"textsrc,omitempty"`

	// Texttemplate
	// arrayOK: true
	// type: string
	// Template string used for rendering the information text that appear on points. Note that this will override `textinfo`. Variables are inserted using %{variable}, for example "y: %{y}". Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example "Price: %{y:$.2f}". https://github.com/d3/d3-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 String `json:"texttemplate,omitempty"`

	// Texttemplatesrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  texttemplate .
	Texttemplatesrc String `json:"texttemplatesrc,omitempty"`

	// Transforms
	// It's an items array and what goes inside it's... messy... check the docs
	// I will be happy if you want to contribute by implementing this
	// just raise an issue before you start so we do not overlap
	Transforms interface{} `json:"transforms,omitempty"`

	// Uid
	// arrayOK: false
	// type: string
	// Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.
	Uid String `json:"uid,omitempty"`

	// Uirevision
	// arrayOK: false
	// type: any
	// Controls persistence of some user-driven changes to the trace: `constraintrange` in `parcoords` traces, as well as some `editable: true` modifications such as `name` and `colorbar.title`. Defaults to `layout.uirevision`. Note that other user-driven trace attribute changes are controlled by `layout` attributes: `trace.visible` is controlled by `layout.legend.uirevision`, `selectedpoints` is controlled by `layout.selectionrevision`, and `colorbar.(x|y)` (accessible with `config: {editable: true}`) is controlled by `layout.editrevision`. Trace changes are tracked by `uid`, which only falls back on trace index if no `uid` is provided. So if your app can add/remove traces before the end of the `data` array, such that the same trace has a different index, you can still preserve user-driven changes if you give each trace a `uid` that stays with it as it moves.
	Uirevision interface{} `json:"uirevision,omitempty"`

	// Unselected
	// role: Object
	Unselected *ScattercarpetUnselected `json:"unselected,omitempty"`

	// Visible
	// default: %!s(bool=true)
	// type: enumerated
	// Determines whether or not this trace is visible. If *legendonly*, the trace is not drawn, but can appear as a legend item (provided that the legend itself is visible).
	Visible ScattercarpetVisible `json:"visible,omitempty"`

	// Xaxis
	// arrayOK: false
	// type: subplotid
	// Sets a reference between this trace's x coordinates and a 2D cartesian x axis. If *x* (the default value), the x coordinates refer to `layout.xaxis`. If *x2*, the x coordinates refer to `layout.xaxis2`, and so on.
	Xaxis String `json:"xaxis,omitempty"`

	// Yaxis
	// arrayOK: false
	// type: subplotid
	// Sets a reference between this trace's y coordinates and a 2D cartesian y axis. If *y* (the default value), the y coordinates refer to `layout.yaxis`. If *y2*, the y coordinates refer to `layout.yaxis2`, and so on.
	Yaxis String `json:"yaxis,omitempty"`
}

Scattercarpet Plots a scatter trace on either the first carpet axis or the carpet axis with a matching `carpet` attribute.

func (*Scattercarpet) GetType

func (trace *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 (
	ScattercarpetFillNone   ScattercarpetFill = "none"
	ScattercarpetFillToself ScattercarpetFill = "toself"
	ScattercarpetFillTonext ScattercarpetFill = "tonext"
)

type ScattercarpetHoverinfo

type ScattercarpetHoverinfo string

ScattercarpetHoverinfo Determines which trace information appear on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired.

const (
	// Flags
	ScattercarpetHoverinfoA    ScattercarpetHoverinfo = "a"
	ScattercarpetHoverinfoB    ScattercarpetHoverinfo = "b"
	ScattercarpetHoverinfoText ScattercarpetHoverinfo = "text"
	ScattercarpetHoverinfoName ScattercarpetHoverinfo = "name"

	// Extra
	ScattercarpetHoverinfoAll  ScattercarpetHoverinfo = "all"
	ScattercarpetHoverinfoNone ScattercarpetHoverinfo = "none"
	ScattercarpetHoverinfoSkip ScattercarpetHoverinfo = "skip"
)

type ScattercarpetHoverlabel

type ScattercarpetHoverlabel struct {

	// Align
	// default: auto
	// type: enumerated
	// Sets the horizontal alignment of the text content within hover label box. Has an effect only if the hover label text spans more two or more lines
	Align ScattercarpetHoverlabelAlign `json:"align,omitempty"`

	// Alignsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  align .
	Alignsrc String `json:"alignsrc,omitempty"`

	// Bgcolor
	// arrayOK: true
	// type: color
	// Sets the background color of the hover labels for this trace
	Bgcolor Color `json:"bgcolor,omitempty"`

	// Bgcolorsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  bgcolor .
	Bgcolorsrc String `json:"bgcolorsrc,omitempty"`

	// Bordercolor
	// arrayOK: true
	// type: color
	// Sets the border color of the hover labels for this trace.
	Bordercolor Color `json:"bordercolor,omitempty"`

	// Bordercolorsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  bordercolor .
	Bordercolorsrc String `json:"bordercolorsrc,omitempty"`

	// Font
	// role: Object
	Font *ScattercarpetHoverlabelFont `json:"font,omitempty"`

	// Namelength
	// arrayOK: true
	// type: integer
	// Sets the default length (in number of characters) of the trace name in the hover labels for all traces. -1 shows the whole name regardless of length. 0-3 shows the first 0-3 characters, and an integer >3 will show the whole name if it is less than that many characters, but if it is longer, will truncate to `namelength - 3` characters and add an ellipsis.
	Namelength int64 `json:"namelength,omitempty"`

	// Namelengthsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  namelength .
	Namelengthsrc String `json:"namelengthsrc,omitempty"`
}

ScattercarpetHoverlabel

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 (
	ScattercarpetHoverlabelAlignLeft  ScattercarpetHoverlabelAlign = "left"
	ScattercarpetHoverlabelAlignRight ScattercarpetHoverlabelAlign = "right"
	ScattercarpetHoverlabelAlignAuto  ScattercarpetHoverlabelAlign = "auto"
)

type ScattercarpetHoverlabelFont

type ScattercarpetHoverlabelFont struct {

	// Color
	// arrayOK: true
	// type: color
	//
	Color Color `json:"color,omitempty"`

	// Colorsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  color .
	Colorsrc String `json:"colorsrc,omitempty"`

	// Family
	// arrayOK: true
	// type: string
	// HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.
	Family String `json:"family,omitempty"`

	// Familysrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  family .
	Familysrc String `json:"familysrc,omitempty"`

	// Size
	// arrayOK: true
	// type: number
	//
	Size float64 `json:"size,omitempty"`

	// Sizesrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  size .
	Sizesrc String `json:"sizesrc,omitempty"`
}

ScattercarpetHoverlabelFont Sets the font used in hover labels.

type ScattercarpetHoveron

type ScattercarpetHoveron string

ScattercarpetHoveron Do the hover effects highlight individual points (markers or line points) or do they highlight filled regions? If the fill is *toself* or *tonext* and there are no markers or text, then the default is *fills*, otherwise it is *points*.

const (
	// Flags
	ScattercarpetHoveronPoints ScattercarpetHoveron = "points"
	ScattercarpetHoveronFills  ScattercarpetHoveron = "fills"
)

type ScattercarpetLine

type ScattercarpetLine struct {

	// Color
	// arrayOK: false
	// type: color
	// Sets the line color.
	Color Color `json:"color,omitempty"`

	// Dash
	// arrayOK: false
	// type: string
	// Sets the dash style of lines. Set to a dash type string (*solid*, *dot*, *dash*, *longdash*, *dashdot*, or *longdashdot*) or a dash length list in px (eg *5px,10px,2px,2px*).
	Dash String `json:"dash,omitempty"`

	// Shape
	// default: linear
	// type: enumerated
	// Determines the line shape. With *spline* the lines are drawn using spline interpolation. The other available values correspond to step-wise line shapes.
	Shape ScattercarpetLineShape `json:"shape,omitempty"`

	// Smoothing
	// arrayOK: false
	// type: number
	// Has an effect only if `shape` is set to *spline* Sets the amount of smoothing. *0* corresponds to no smoothing (equivalent to a *linear* shape).
	Smoothing float64 `json:"smoothing,omitempty"`

	// Width
	// arrayOK: false
	// type: number
	// Sets the line width (in px).
	Width float64 `json:"width,omitempty"`
}

ScattercarpetLine

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 (
	ScattercarpetLineShapeLinear ScattercarpetLineShape = "linear"
	ScattercarpetLineShapeSpline ScattercarpetLineShape = "spline"
)

type ScattercarpetMarker

type ScattercarpetMarker struct {

	// Autocolorscale
	// arrayOK: false
	// type: boolean
	// Determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by `marker.colorscale`. Has an effect only if in `marker.color`is set to a numerical array. In case `colorscale` is unspecified or `autocolorscale` is true, the default  palette will be chosen according to whether numbers in the `color` array are all positive, all negative or mixed.
	Autocolorscale Bool `json:"autocolorscale,omitempty"`

	// Cauto
	// arrayOK: false
	// type: boolean
	// Determines whether or not the color domain is computed with respect to the input data (here in `marker.color`) or the bounds set in `marker.cmin` and `marker.cmax`  Has an effect only if in `marker.color`is set to a numerical array. Defaults to `false` when `marker.cmin` and `marker.cmax` are set by the user.
	Cauto Bool `json:"cauto,omitempty"`

	// Cmax
	// arrayOK: false
	// type: number
	// Sets the upper bound of the color domain. Has an effect only if in `marker.color`is set to a numerical array. Value should have the same units as in `marker.color` and if set, `marker.cmin` must be set as well.
	Cmax float64 `json:"cmax,omitempty"`

	// Cmid
	// arrayOK: false
	// type: number
	// Sets the mid-point of the color domain by scaling `marker.cmin` and/or `marker.cmax` to be equidistant to this point. Has an effect only if in `marker.color`is set to a numerical array. Value should have the same units as in `marker.color`. Has no effect when `marker.cauto` is `false`.
	Cmid float64 `json:"cmid,omitempty"`

	// Cmin
	// arrayOK: false
	// type: number
	// Sets the lower bound of the color domain. Has an effect only if in `marker.color`is set to a numerical array. Value should have the same units as in `marker.color` and if set, `marker.cmax` must be set as well.
	Cmin float64 `json:"cmin,omitempty"`

	// Color
	// arrayOK: true
	// type: color
	// Sets themarkercolor. It accepts either a specific color or an array of numbers that are mapped to the colorscale relative to the max and min values of the array or relative to `marker.cmin` and `marker.cmax` if set.
	Color Color `json:"color,omitempty"`

	// Coloraxis
	// arrayOK: false
	// type: subplotid
	// Sets a reference to a shared color axis. References to these shared color axes are *coloraxis*, *coloraxis2*, *coloraxis3*, etc. Settings for these shared color axes are set in the layout, under `layout.coloraxis`, `layout.coloraxis2`, etc. Note that multiple color scales can be linked to the same color axis.
	Coloraxis String `json:"coloraxis,omitempty"`

	// Colorbar
	// role: Object
	Colorbar *ScattercarpetMarkerColorbar `json:"colorbar,omitempty"`

	// Colorscale
	// default: %!s(<nil>)
	// type: colorscale
	// Sets the colorscale. Has an effect only if in `marker.color`is set to a numerical array. The colorscale must be an array containing arrays mapping a normalized value to an rgb, rgba, hex, hsl, hsv, or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, use`marker.cmin` and `marker.cmax`. Alternatively, `colorscale` may be a palette name string of the following list: Greys,YlGnBu,Greens,YlOrRd,Bluered,RdBu,Reds,Blues,Picnic,Rainbow,Portland,Jet,Hot,Blackbody,Earth,Electric,Viridis,Cividis.
	Colorscale ColorScale `json:"colorscale,omitempty"`

	// Colorsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  color .
	Colorsrc String `json:"colorsrc,omitempty"`

	// Gradient
	// role: Object
	Gradient *ScattercarpetMarkerGradient `json:"gradient,omitempty"`

	// Line
	// role: Object
	Line *ScattercarpetMarkerLine `json:"line,omitempty"`

	// Maxdisplayed
	// arrayOK: false
	// type: number
	// Sets a maximum number of points to be drawn on the graph. *0* corresponds to no limit.
	Maxdisplayed float64 `json:"maxdisplayed,omitempty"`

	// Opacity
	// arrayOK: true
	// type: number
	// Sets the marker opacity.
	Opacity float64 `json:"opacity,omitempty"`

	// Opacitysrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  opacity .
	Opacitysrc String `json:"opacitysrc,omitempty"`

	// Reversescale
	// arrayOK: false
	// type: boolean
	// Reverses the color mapping if true. Has an effect only if in `marker.color`is set to a numerical array. If true, `marker.cmin` will correspond to the last color in the array and `marker.cmax` will correspond to the first color.
	Reversescale Bool `json:"reversescale,omitempty"`

	// Showscale
	// arrayOK: false
	// type: boolean
	// Determines whether or not a colorbar is displayed for this trace. Has an effect only if in `marker.color`is set to a numerical array.
	Showscale Bool `json:"showscale,omitempty"`

	// Size
	// arrayOK: true
	// type: number
	// Sets the marker size (in px).
	Size float64 `json:"size,omitempty"`

	// Sizemin
	// arrayOK: false
	// type: number
	// Has an effect only if `marker.size` is set to a numerical array. Sets the minimum size (in px) of the rendered marker points.
	Sizemin float64 `json:"sizemin,omitempty"`

	// Sizemode
	// default: diameter
	// type: enumerated
	// Has an effect only if `marker.size` is set to a numerical array. Sets the rule for which the data in `size` is converted to pixels.
	Sizemode ScattercarpetMarkerSizemode `json:"sizemode,omitempty"`

	// Sizeref
	// arrayOK: false
	// type: number
	// Has an effect only if `marker.size` is set to a numerical array. Sets the scale factor used to determine the rendered size of marker points. Use with `sizemin` and `sizemode`.
	Sizeref float64 `json:"sizeref,omitempty"`

	// Sizesrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  size .
	Sizesrc String `json:"sizesrc,omitempty"`

	// Symbol
	// default: circle
	// type: enumerated
	// Sets the marker symbol type. Adding 100 is equivalent to appending *-open* to a symbol name. Adding 200 is equivalent to appending *-dot* to a symbol name. Adding 300 is equivalent to appending *-open-dot* or *dot-open* to a symbol name.
	Symbol ScattercarpetMarkerSymbol `json:"symbol,omitempty"`

	// Symbolsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  symbol .
	Symbolsrc String `json:"symbolsrc,omitempty"`
}

ScattercarpetMarker

type ScattercarpetMarkerColorbar

type ScattercarpetMarkerColorbar struct {

	// Bgcolor
	// arrayOK: false
	// type: color
	// Sets the color of padded area.
	Bgcolor Color `json:"bgcolor,omitempty"`

	// Bordercolor
	// arrayOK: false
	// type: color
	// Sets the axis line color.
	Bordercolor Color `json:"bordercolor,omitempty"`

	// Borderwidth
	// arrayOK: false
	// type: number
	// Sets the width (in px) or the border enclosing this color bar.
	Borderwidth float64 `json:"borderwidth,omitempty"`

	// Dtick
	// arrayOK: false
	// type: any
	// Sets the step in-between ticks on this axis. Use with `tick0`. Must be a positive number, or special strings available to *log* and *date* axes. If the axis `type` is *log*, then ticks are set every 10^(n*dtick) where n is the tick number. For example, to set a tick mark at 1, 10, 100, 1000, ... set dtick to 1. To set tick marks at 1, 100, 10000, ... set dtick to 2. To set tick marks at 1, 5, 25, 125, 625, 3125, ... set dtick to log_10(5), or 0.69897000433. *log* has several special values; *L<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
	// default: B
	// type: enumerated
	// Determines a formatting rule for the tick exponents. For example, consider the number 1,000,000,000. If *none*, it appears as 1,000,000,000. If *e*, 1e+9. If *E*, 1E+9. If *power*, 1x10^9 (with 9 in a super script). If *SI*, 1G. If *B*, 1B.
	Exponentformat ScattercarpetMarkerColorbarExponentformat `json:"exponentformat,omitempty"`

	// Len
	// arrayOK: false
	// type: number
	// Sets the length of the color bar This measure excludes the padding of both ends. That is, the color bar length is this length minus the padding on both ends.
	Len float64 `json:"len,omitempty"`

	// Lenmode
	// default: fraction
	// type: enumerated
	// Determines whether this color bar's length (i.e. the measure in the color variation direction) is set in units of plot *fraction* or in *pixels. Use `len` to set the value.
	Lenmode ScattercarpetMarkerColorbarLenmode `json:"lenmode,omitempty"`

	// Minexponent
	// arrayOK: false
	// type: number
	// Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*.
	Minexponent float64 `json:"minexponent,omitempty"`

	// Nticks
	// arrayOK: false
	// type: integer
	// Specifies the maximum number of ticks for the particular axis. The actual number of ticks will be chosen automatically to be less than or equal to `nticks`. Has an effect only if `tickmode` is set to *auto*.
	Nticks int64 `json:"nticks,omitempty"`

	// Outlinecolor
	// arrayOK: false
	// type: color
	// Sets the axis line color.
	Outlinecolor Color `json:"outlinecolor,omitempty"`

	// Outlinewidth
	// arrayOK: false
	// type: number
	// Sets the width (in px) of the axis line.
	Outlinewidth float64 `json:"outlinewidth,omitempty"`

	// Separatethousands
	// arrayOK: false
	// type: boolean
	// If "true", even 4-digit integers are separated
	Separatethousands Bool `json:"separatethousands,omitempty"`

	// Showexponent
	// default: all
	// type: enumerated
	// If *all*, all exponents are shown besides their significands. If *first*, only the exponent of the first tick is shown. If *last*, only the exponent of the last tick is shown. If *none*, no exponents appear.
	Showexponent ScattercarpetMarkerColorbarShowexponent `json:"showexponent,omitempty"`

	// Showticklabels
	// arrayOK: false
	// type: boolean
	// Determines whether or not the tick labels are drawn.
	Showticklabels Bool `json:"showticklabels,omitempty"`

	// Showtickprefix
	// default: all
	// type: enumerated
	// If *all*, all tick labels are displayed with a prefix. If *first*, only the first tick is displayed with a prefix. If *last*, only the last tick is displayed with a suffix. If *none*, tick prefixes are hidden.
	Showtickprefix ScattercarpetMarkerColorbarShowtickprefix `json:"showtickprefix,omitempty"`

	// Showticksuffix
	// default: all
	// type: enumerated
	// Same as `showtickprefix` but for tick suffixes.
	Showticksuffix ScattercarpetMarkerColorbarShowticksuffix `json:"showticksuffix,omitempty"`

	// Thickness
	// arrayOK: false
	// type: number
	// Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.
	Thickness float64 `json:"thickness,omitempty"`

	// Thicknessmode
	// default: pixels
	// type: enumerated
	// Determines whether this color bar's thickness (i.e. the measure in the constant color direction) is set in units of plot *fraction* or in *pixels*. Use `thickness` to set the value.
	Thicknessmode ScattercarpetMarkerColorbarThicknessmode `json:"thicknessmode,omitempty"`

	// Tick0
	// arrayOK: false
	// type: any
	// Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2) except when `dtick`=*L<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
	// arrayOK: false
	// type: angle
	// Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.
	Tickangle float64 `json:"tickangle,omitempty"`

	// Tickcolor
	// arrayOK: false
	// type: color
	// Sets the tick color.
	Tickcolor Color `json:"tickcolor,omitempty"`

	// Tickfont
	// role: Object
	Tickfont *ScattercarpetMarkerColorbarTickfont `json:"tickfont,omitempty"`

	// Tickformat
	// arrayOK: false
	// type: string
	// Sets the tick label formatting rule using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-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
	// It's an items array and what goes inside it's... messy... check the docs
	// I will be happy if you want to contribute by implementing this
	// just raise an issue before you start so we do not overlap
	Tickformatstops interface{} `json:"tickformatstops,omitempty"`

	// Ticklabelposition
	// default: outside
	// type: enumerated
	// Determines where tick labels are drawn.
	Ticklabelposition ScattercarpetMarkerColorbarTicklabelposition `json:"ticklabelposition,omitempty"`

	// Ticklen
	// arrayOK: false
	// type: number
	// Sets the tick length (in px).
	Ticklen float64 `json:"ticklen,omitempty"`

	// Tickmode
	// default: %!s(<nil>)
	// type: enumerated
	// Sets the tick mode for this axis. If *auto*, the number of ticks is set via `nticks`. If *linear*, the placement of the ticks is determined by a starting position `tick0` and a tick step `dtick` (*linear* is the default value if `tick0` and `dtick` are provided). If *array*, the placement of the ticks is set via `tickvals` and the tick text is `ticktext`. (*array* is the default value if `tickvals` is provided).
	Tickmode ScattercarpetMarkerColorbarTickmode `json:"tickmode,omitempty"`

	// Tickprefix
	// arrayOK: false
	// type: string
	// Sets a tick label prefix.
	Tickprefix String `json:"tickprefix,omitempty"`

	// Ticks
	// default:
	// type: enumerated
	// Determines whether ticks are drawn or not. If **, this axis' ticks are not drawn. If *outside* (*inside*), this axis' are drawn outside (inside) the axis lines.
	Ticks ScattercarpetMarkerColorbarTicks `json:"ticks,omitempty"`

	// Ticksuffix
	// arrayOK: false
	// type: string
	// Sets a tick label suffix.
	Ticksuffix String `json:"ticksuffix,omitempty"`

	// Ticktext
	// arrayOK: false
	// type: data_array
	// Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `tickvals`.
	Ticktext interface{} `json:"ticktext,omitempty"`

	// Ticktextsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  ticktext .
	Ticktextsrc String `json:"ticktextsrc,omitempty"`

	// Tickvals
	// arrayOK: false
	// type: data_array
	// Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.
	Tickvals interface{} `json:"tickvals,omitempty"`

	// Tickvalssrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  tickvals .
	Tickvalssrc String `json:"tickvalssrc,omitempty"`

	// Tickwidth
	// arrayOK: false
	// type: number
	// Sets the tick width (in px).
	Tickwidth float64 `json:"tickwidth,omitempty"`

	// Title
	// role: Object
	Title *ScattercarpetMarkerColorbarTitle `json:"title,omitempty"`

	// X
	// arrayOK: false
	// type: number
	// Sets the x position of the color bar (in plot fraction).
	X float64 `json:"x,omitempty"`

	// Xanchor
	// default: left
	// type: enumerated
	// Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the color bar.
	Xanchor ScattercarpetMarkerColorbarXanchor `json:"xanchor,omitempty"`

	// Xpad
	// arrayOK: false
	// type: number
	// Sets the amount of padding (in px) along the x direction.
	Xpad float64 `json:"xpad,omitempty"`

	// Y
	// arrayOK: false
	// type: number
	// Sets the y position of the color bar (in plot fraction).
	Y float64 `json:"y,omitempty"`

	// Yanchor
	// default: middle
	// type: enumerated
	// Sets this color bar's vertical position anchor This anchor binds the `y` position to the *top*, *middle* or *bottom* of the color bar.
	Yanchor ScattercarpetMarkerColorbarYanchor `json:"yanchor,omitempty"`

	// Ypad
	// arrayOK: false
	// type: number
	// Sets the amount of padding (in px) along the y direction.
	Ypad float64 `json:"ypad,omitempty"`
}

ScattercarpetMarkerColorbar

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 (
	ScattercarpetMarkerColorbarExponentformatNone  ScattercarpetMarkerColorbarExponentformat = "none"
	ScattercarpetMarkerColorbarExponentformatE1    ScattercarpetMarkerColorbarExponentformat = "e"
	ScattercarpetMarkerColorbarExponentformatE2    ScattercarpetMarkerColorbarExponentformat = "E"
	ScattercarpetMarkerColorbarExponentformatPower ScattercarpetMarkerColorbarExponentformat = "power"
	ScattercarpetMarkerColorbarExponentformatSi    ScattercarpetMarkerColorbarExponentformat = "SI"
	ScattercarpetMarkerColorbarExponentformatB     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 (
	ScattercarpetMarkerColorbarLenmodeFraction ScattercarpetMarkerColorbarLenmode = "fraction"
	ScattercarpetMarkerColorbarLenmodePixels   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 (
	ScattercarpetMarkerColorbarShowexponentAll   ScattercarpetMarkerColorbarShowexponent = "all"
	ScattercarpetMarkerColorbarShowexponentFirst ScattercarpetMarkerColorbarShowexponent = "first"
	ScattercarpetMarkerColorbarShowexponentLast  ScattercarpetMarkerColorbarShowexponent = "last"
	ScattercarpetMarkerColorbarShowexponentNone  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 (
	ScattercarpetMarkerColorbarShowtickprefixAll   ScattercarpetMarkerColorbarShowtickprefix = "all"
	ScattercarpetMarkerColorbarShowtickprefixFirst ScattercarpetMarkerColorbarShowtickprefix = "first"
	ScattercarpetMarkerColorbarShowtickprefixLast  ScattercarpetMarkerColorbarShowtickprefix = "last"
	ScattercarpetMarkerColorbarShowtickprefixNone  ScattercarpetMarkerColorbarShowtickprefix = "none"
)

type ScattercarpetMarkerColorbarShowticksuffix

type ScattercarpetMarkerColorbarShowticksuffix string

ScattercarpetMarkerColorbarShowticksuffix Same as `showtickprefix` but for tick suffixes.

const (
	ScattercarpetMarkerColorbarShowticksuffixAll   ScattercarpetMarkerColorbarShowticksuffix = "all"
	ScattercarpetMarkerColorbarShowticksuffixFirst ScattercarpetMarkerColorbarShowticksuffix = "first"
	ScattercarpetMarkerColorbarShowticksuffixLast  ScattercarpetMarkerColorbarShowticksuffix = "last"
	ScattercarpetMarkerColorbarShowticksuffixNone  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 (
	ScattercarpetMarkerColorbarThicknessmodeFraction ScattercarpetMarkerColorbarThicknessmode = "fraction"
	ScattercarpetMarkerColorbarThicknessmodePixels   ScattercarpetMarkerColorbarThicknessmode = "pixels"
)

type ScattercarpetMarkerColorbarTickfont

type ScattercarpetMarkerColorbarTickfont struct {

	// Color
	// arrayOK: false
	// type: color
	//
	Color Color `json:"color,omitempty"`

	// Family
	// arrayOK: false
	// type: string
	// HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.
	Family String `json:"family,omitempty"`

	// Size
	// arrayOK: false
	// type: number
	//
	Size float64 `json:"size,omitempty"`
}

ScattercarpetMarkerColorbarTickfont Sets the color bar's tick label font

type ScattercarpetMarkerColorbarTicklabelposition added in v0.3.1

type ScattercarpetMarkerColorbarTicklabelposition string

ScattercarpetMarkerColorbarTicklabelposition Determines where tick labels are drawn.

const (
	ScattercarpetMarkerColorbarTicklabelpositionOutside       ScattercarpetMarkerColorbarTicklabelposition = "outside"
	ScattercarpetMarkerColorbarTicklabelpositionInside        ScattercarpetMarkerColorbarTicklabelposition = "inside"
	ScattercarpetMarkerColorbarTicklabelpositionOutsideTop    ScattercarpetMarkerColorbarTicklabelposition = "outside top"
	ScattercarpetMarkerColorbarTicklabelpositionInsideTop     ScattercarpetMarkerColorbarTicklabelposition = "inside top"
	ScattercarpetMarkerColorbarTicklabelpositionOutsideBottom ScattercarpetMarkerColorbarTicklabelposition = "outside bottom"
	ScattercarpetMarkerColorbarTicklabelpositionInsideBottom  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 (
	ScattercarpetMarkerColorbarTickmodeAuto   ScattercarpetMarkerColorbarTickmode = "auto"
	ScattercarpetMarkerColorbarTickmodeLinear ScattercarpetMarkerColorbarTickmode = "linear"
	ScattercarpetMarkerColorbarTickmodeArray  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 (
	ScattercarpetMarkerColorbarTicksOutside ScattercarpetMarkerColorbarTicks = "outside"
	ScattercarpetMarkerColorbarTicksInside  ScattercarpetMarkerColorbarTicks = "inside"
	ScattercarpetMarkerColorbarTicksEmpty   ScattercarpetMarkerColorbarTicks = ""
)

type ScattercarpetMarkerColorbarTitle

type ScattercarpetMarkerColorbarTitle struct {

	// Font
	// role: Object
	Font *ScattercarpetMarkerColorbarTitleFont `json:"font,omitempty"`

	// Side
	// default: top
	// type: enumerated
	// Determines the location of color bar's title with respect to the color bar. Note that the title's location used to be set by the now deprecated `titleside` attribute.
	Side ScattercarpetMarkerColorbarTitleSide `json:"side,omitempty"`

	// Text
	// arrayOK: false
	// type: string
	// Sets the title of the color bar. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.
	Text String `json:"text,omitempty"`
}

ScattercarpetMarkerColorbarTitle

type ScattercarpetMarkerColorbarTitleFont

type ScattercarpetMarkerColorbarTitleFont struct {

	// Color
	// arrayOK: false
	// type: color
	//
	Color Color `json:"color,omitempty"`

	// Family
	// arrayOK: false
	// type: string
	// HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.
	Family String `json:"family,omitempty"`

	// Size
	// arrayOK: false
	// type: number
	//
	Size float64 `json:"size,omitempty"`
}

ScattercarpetMarkerColorbarTitleFont Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.

type 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 (
	ScattercarpetMarkerColorbarTitleSideRight  ScattercarpetMarkerColorbarTitleSide = "right"
	ScattercarpetMarkerColorbarTitleSideTop    ScattercarpetMarkerColorbarTitleSide = "top"
	ScattercarpetMarkerColorbarTitleSideBottom 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 (
	ScattercarpetMarkerColorbarXanchorLeft   ScattercarpetMarkerColorbarXanchor = "left"
	ScattercarpetMarkerColorbarXanchorCenter ScattercarpetMarkerColorbarXanchor = "center"
	ScattercarpetMarkerColorbarXanchorRight  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 (
	ScattercarpetMarkerColorbarYanchorTop    ScattercarpetMarkerColorbarYanchor = "top"
	ScattercarpetMarkerColorbarYanchorMiddle ScattercarpetMarkerColorbarYanchor = "middle"
	ScattercarpetMarkerColorbarYanchorBottom ScattercarpetMarkerColorbarYanchor = "bottom"
)

type ScattercarpetMarkerGradient

type ScattercarpetMarkerGradient struct {

	// Color
	// arrayOK: true
	// type: color
	// Sets the final color of the gradient fill: the center color for radial, the right for horizontal, or the bottom for vertical.
	Color Color `json:"color,omitempty"`

	// Colorsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  color .
	Colorsrc String `json:"colorsrc,omitempty"`

	// Type
	// default: none
	// type: enumerated
	// Sets the type of gradient used to fill the markers
	Type ScattercarpetMarkerGradientType `json:"type,omitempty"`

	// Typesrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  type .
	Typesrc String `json:"typesrc,omitempty"`
}

ScattercarpetMarkerGradient

type ScattercarpetMarkerGradientType

type ScattercarpetMarkerGradientType string

ScattercarpetMarkerGradientType Sets the type of gradient used to fill the markers

const (
	ScattercarpetMarkerGradientTypeRadial     ScattercarpetMarkerGradientType = "radial"
	ScattercarpetMarkerGradientTypeHorizontal ScattercarpetMarkerGradientType = "horizontal"
	ScattercarpetMarkerGradientTypeVertical   ScattercarpetMarkerGradientType = "vertical"
	ScattercarpetMarkerGradientTypeNone       ScattercarpetMarkerGradientType = "none"
)

type ScattercarpetMarkerLine

type ScattercarpetMarkerLine struct {

	// Autocolorscale
	// arrayOK: false
	// type: boolean
	// Determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by `marker.line.colorscale`. Has an effect only if in `marker.line.color`is set to a numerical array. In case `colorscale` is unspecified or `autocolorscale` is true, the default  palette will be chosen according to whether numbers in the `color` array are all positive, all negative or mixed.
	Autocolorscale Bool `json:"autocolorscale,omitempty"`

	// Cauto
	// arrayOK: false
	// type: boolean
	// Determines whether or not the color domain is computed with respect to the input data (here in `marker.line.color`) or the bounds set in `marker.line.cmin` and `marker.line.cmax`  Has an effect only if in `marker.line.color`is set to a numerical array. Defaults to `false` when `marker.line.cmin` and `marker.line.cmax` are set by the user.
	Cauto Bool `json:"cauto,omitempty"`

	// Cmax
	// arrayOK: false
	// type: number
	// Sets the upper bound of the color domain. Has an effect only if in `marker.line.color`is set to a numerical array. Value should have the same units as in `marker.line.color` and if set, `marker.line.cmin` must be set as well.
	Cmax float64 `json:"cmax,omitempty"`

	// Cmid
	// arrayOK: false
	// type: number
	// Sets the mid-point of the color domain by scaling `marker.line.cmin` and/or `marker.line.cmax` to be equidistant to this point. Has an effect only if in `marker.line.color`is set to a numerical array. Value should have the same units as in `marker.line.color`. Has no effect when `marker.line.cauto` is `false`.
	Cmid float64 `json:"cmid,omitempty"`

	// Cmin
	// arrayOK: false
	// type: number
	// Sets the lower bound of the color domain. Has an effect only if in `marker.line.color`is set to a numerical array. Value should have the same units as in `marker.line.color` and if set, `marker.line.cmax` must be set as well.
	Cmin float64 `json:"cmin,omitempty"`

	// Color
	// arrayOK: true
	// type: color
	// Sets 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 Color `json:"color,omitempty"`

	// Coloraxis
	// arrayOK: false
	// type: subplotid
	// Sets a reference to a shared color axis. References to these shared color axes are *coloraxis*, *coloraxis2*, *coloraxis3*, etc. Settings for these shared color axes are set in the layout, under `layout.coloraxis`, `layout.coloraxis2`, etc. Note that multiple color scales can be linked to the same color axis.
	Coloraxis String `json:"coloraxis,omitempty"`

	// Colorscale
	// default: %!s(<nil>)
	// type: colorscale
	// Sets the colorscale. Has an effect only if in `marker.line.color`is set to a numerical array. The colorscale must be an array containing arrays mapping a normalized value to an rgb, rgba, hex, hsl, hsv, or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, use`marker.line.cmin` and `marker.line.cmax`. Alternatively, `colorscale` may be a palette name string of the following list: Greys,YlGnBu,Greens,YlOrRd,Bluered,RdBu,Reds,Blues,Picnic,Rainbow,Portland,Jet,Hot,Blackbody,Earth,Electric,Viridis,Cividis.
	Colorscale ColorScale `json:"colorscale,omitempty"`

	// Colorsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  color .
	Colorsrc String `json:"colorsrc,omitempty"`

	// Reversescale
	// arrayOK: false
	// type: boolean
	// Reverses the color mapping if true. Has an effect only if in `marker.line.color`is set to a numerical array. If true, `marker.line.cmin` will correspond to the last color in the array and `marker.line.cmax` will correspond to the first color.
	Reversescale Bool `json:"reversescale,omitempty"`

	// Width
	// arrayOK: true
	// type: number
	// Sets the width (in px) of the lines bounding the marker points.
	Width float64 `json:"width,omitempty"`

	// Widthsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  width .
	Widthsrc String `json:"widthsrc,omitempty"`
}

ScattercarpetMarkerLine

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 (
	ScattercarpetMarkerSizemodeDiameter ScattercarpetMarkerSizemode = "diameter"
	ScattercarpetMarkerSizemodeArea     ScattercarpetMarkerSizemode = "area"
)

type ScattercarpetMarkerSymbol

type ScattercarpetMarkerSymbol interface{}

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.

var (
	ScattercarpetMarkerSymbolNumber0                 ScattercarpetMarkerSymbol = 0
	ScattercarpetMarkerSymbol0                       ScattercarpetMarkerSymbol = "0"
	ScattercarpetMarkerSymbolCircle                  ScattercarpetMarkerSymbol = "circle"
	ScattercarpetMarkerSymbolNumber100               ScattercarpetMarkerSymbol = 100
	ScattercarpetMarkerSymbol100                     ScattercarpetMarkerSymbol = "100"
	ScattercarpetMarkerSymbolCircleOpen              ScattercarpetMarkerSymbol = "circle-open"
	ScattercarpetMarkerSymbolNumber200               ScattercarpetMarkerSymbol = 200
	ScattercarpetMarkerSymbol200                     ScattercarpetMarkerSymbol = "200"
	ScattercarpetMarkerSymbolCircleDot               ScattercarpetMarkerSymbol = "circle-dot"
	ScattercarpetMarkerSymbolNumber300               ScattercarpetMarkerSymbol = 300
	ScattercarpetMarkerSymbol300                     ScattercarpetMarkerSymbol = "300"
	ScattercarpetMarkerSymbolCircleOpenDot           ScattercarpetMarkerSymbol = "circle-open-dot"
	ScattercarpetMarkerSymbolNumber1                 ScattercarpetMarkerSymbol = 1
	ScattercarpetMarkerSymbol1                       ScattercarpetMarkerSymbol = "1"
	ScattercarpetMarkerSymbolSquare                  ScattercarpetMarkerSymbol = "square"
	ScattercarpetMarkerSymbolNumber101               ScattercarpetMarkerSymbol = 101
	ScattercarpetMarkerSymbol101                     ScattercarpetMarkerSymbol = "101"
	ScattercarpetMarkerSymbolSquareOpen              ScattercarpetMarkerSymbol = "square-open"
	ScattercarpetMarkerSymbolNumber201               ScattercarpetMarkerSymbol = 201
	ScattercarpetMarkerSymbol201                     ScattercarpetMarkerSymbol = "201"
	ScattercarpetMarkerSymbolSquareDot               ScattercarpetMarkerSymbol = "square-dot"
	ScattercarpetMarkerSymbolNumber301               ScattercarpetMarkerSymbol = 301
	ScattercarpetMarkerSymbol301                     ScattercarpetMarkerSymbol = "301"
	ScattercarpetMarkerSymbolSquareOpenDot           ScattercarpetMarkerSymbol = "square-open-dot"
	ScattercarpetMarkerSymbolNumber2                 ScattercarpetMarkerSymbol = 2
	ScattercarpetMarkerSymbol2                       ScattercarpetMarkerSymbol = "2"
	ScattercarpetMarkerSymbolDiamond                 ScattercarpetMarkerSymbol = "diamond"
	ScattercarpetMarkerSymbolNumber102               ScattercarpetMarkerSymbol = 102
	ScattercarpetMarkerSymbol102                     ScattercarpetMarkerSymbol = "102"
	ScattercarpetMarkerSymbolDiamondOpen             ScattercarpetMarkerSymbol = "diamond-open"
	ScattercarpetMarkerSymbolNumber202               ScattercarpetMarkerSymbol = 202
	ScattercarpetMarkerSymbol202                     ScattercarpetMarkerSymbol = "202"
	ScattercarpetMarkerSymbolDiamondDot              ScattercarpetMarkerSymbol = "diamond-dot"
	ScattercarpetMarkerSymbolNumber302               ScattercarpetMarkerSymbol = 302
	ScattercarpetMarkerSymbol302                     ScattercarpetMarkerSymbol = "302"
	ScattercarpetMarkerSymbolDiamondOpenDot          ScattercarpetMarkerSymbol = "diamond-open-dot"
	ScattercarpetMarkerSymbolNumber3                 ScattercarpetMarkerSymbol = 3
	ScattercarpetMarkerSymbol3                       ScattercarpetMarkerSymbol = "3"
	ScattercarpetMarkerSymbolCross                   ScattercarpetMarkerSymbol = "cross"
	ScattercarpetMarkerSymbolNumber103               ScattercarpetMarkerSymbol = 103
	ScattercarpetMarkerSymbol103                     ScattercarpetMarkerSymbol = "103"
	ScattercarpetMarkerSymbolCrossOpen               ScattercarpetMarkerSymbol = "cross-open"
	ScattercarpetMarkerSymbolNumber203               ScattercarpetMarkerSymbol = 203
	ScattercarpetMarkerSymbol203                     ScattercarpetMarkerSymbol = "203"
	ScattercarpetMarkerSymbolCrossDot                ScattercarpetMarkerSymbol = "cross-dot"
	ScattercarpetMarkerSymbolNumber303               ScattercarpetMarkerSymbol = 303
	ScattercarpetMarkerSymbol303                     ScattercarpetMarkerSymbol = "303"
	ScattercarpetMarkerSymbolCrossOpenDot            ScattercarpetMarkerSymbol = "cross-open-dot"
	ScattercarpetMarkerSymbolNumber4                 ScattercarpetMarkerSymbol = 4
	ScattercarpetMarkerSymbol4                       ScattercarpetMarkerSymbol = "4"
	ScattercarpetMarkerSymbolX                       ScattercarpetMarkerSymbol = "x"
	ScattercarpetMarkerSymbolNumber104               ScattercarpetMarkerSymbol = 104
	ScattercarpetMarkerSymbol104                     ScattercarpetMarkerSymbol = "104"
	ScattercarpetMarkerSymbolXOpen                   ScattercarpetMarkerSymbol = "x-open"
	ScattercarpetMarkerSymbolNumber204               ScattercarpetMarkerSymbol = 204
	ScattercarpetMarkerSymbol204                     ScattercarpetMarkerSymbol = "204"
	ScattercarpetMarkerSymbolXDot                    ScattercarpetMarkerSymbol = "x-dot"
	ScattercarpetMarkerSymbolNumber304               ScattercarpetMarkerSymbol = 304
	ScattercarpetMarkerSymbol304                     ScattercarpetMarkerSymbol = "304"
	ScattercarpetMarkerSymbolXOpenDot                ScattercarpetMarkerSymbol = "x-open-dot"
	ScattercarpetMarkerSymbolNumber5                 ScattercarpetMarkerSymbol = 5
	ScattercarpetMarkerSymbol5                       ScattercarpetMarkerSymbol = "5"
	ScattercarpetMarkerSymbolTriangleUp              ScattercarpetMarkerSymbol = "triangle-up"
	ScattercarpetMarkerSymbolNumber105               ScattercarpetMarkerSymbol = 105
	ScattercarpetMarkerSymbol105                     ScattercarpetMarkerSymbol = "105"
	ScattercarpetMarkerSymbolTriangleUpOpen          ScattercarpetMarkerSymbol = "triangle-up-open"
	ScattercarpetMarkerSymbolNumber205               ScattercarpetMarkerSymbol = 205
	ScattercarpetMarkerSymbol205                     ScattercarpetMarkerSymbol = "205"
	ScattercarpetMarkerSymbolTriangleUpDot           ScattercarpetMarkerSymbol = "triangle-up-dot"
	ScattercarpetMarkerSymbolNumber305               ScattercarpetMarkerSymbol = 305
	ScattercarpetMarkerSymbol305                     ScattercarpetMarkerSymbol = "305"
	ScattercarpetMarkerSymbolTriangleUpOpenDot       ScattercarpetMarkerSymbol = "triangle-up-open-dot"
	ScattercarpetMarkerSymbolNumber6                 ScattercarpetMarkerSymbol = 6
	ScattercarpetMarkerSymbol6                       ScattercarpetMarkerSymbol = "6"
	ScattercarpetMarkerSymbolTriangleDown            ScattercarpetMarkerSymbol = "triangle-down"
	ScattercarpetMarkerSymbolNumber106               ScattercarpetMarkerSymbol = 106
	ScattercarpetMarkerSymbol106                     ScattercarpetMarkerSymbol = "106"
	ScattercarpetMarkerSymbolTriangleDownOpen        ScattercarpetMarkerSymbol = "triangle-down-open"
	ScattercarpetMarkerSymbolNumber206               ScattercarpetMarkerSymbol = 206
	ScattercarpetMarkerSymbol206                     ScattercarpetMarkerSymbol = "206"
	ScattercarpetMarkerSymbolTriangleDownDot         ScattercarpetMarkerSymbol = "triangle-down-dot"
	ScattercarpetMarkerSymbolNumber306               ScattercarpetMarkerSymbol = 306
	ScattercarpetMarkerSymbol306                     ScattercarpetMarkerSymbol = "306"
	ScattercarpetMarkerSymbolTriangleDownOpenDot     ScattercarpetMarkerSymbol = "triangle-down-open-dot"
	ScattercarpetMarkerSymbolNumber7                 ScattercarpetMarkerSymbol = 7
	ScattercarpetMarkerSymbol7                       ScattercarpetMarkerSymbol = "7"
	ScattercarpetMarkerSymbolTriangleLeft            ScattercarpetMarkerSymbol = "triangle-left"
	ScattercarpetMarkerSymbolNumber107               ScattercarpetMarkerSymbol = 107
	ScattercarpetMarkerSymbol107                     ScattercarpetMarkerSymbol = "107"
	ScattercarpetMarkerSymbolTriangleLeftOpen        ScattercarpetMarkerSymbol = "triangle-left-open"
	ScattercarpetMarkerSymbolNumber207               ScattercarpetMarkerSymbol = 207
	ScattercarpetMarkerSymbol207                     ScattercarpetMarkerSymbol = "207"
	ScattercarpetMarkerSymbolTriangleLeftDot         ScattercarpetMarkerSymbol = "triangle-left-dot"
	ScattercarpetMarkerSymbolNumber307               ScattercarpetMarkerSymbol = 307
	ScattercarpetMarkerSymbol307                     ScattercarpetMarkerSymbol = "307"
	ScattercarpetMarkerSymbolTriangleLeftOpenDot     ScattercarpetMarkerSymbol = "triangle-left-open-dot"
	ScattercarpetMarkerSymbolNumber8                 ScattercarpetMarkerSymbol = 8
	ScattercarpetMarkerSymbol8                       ScattercarpetMarkerSymbol = "8"
	ScattercarpetMarkerSymbolTriangleRight           ScattercarpetMarkerSymbol = "triangle-right"
	ScattercarpetMarkerSymbolNumber108               ScattercarpetMarkerSymbol = 108
	ScattercarpetMarkerSymbol108                     ScattercarpetMarkerSymbol = "108"
	ScattercarpetMarkerSymbolTriangleRightOpen       ScattercarpetMarkerSymbol = "triangle-right-open"
	ScattercarpetMarkerSymbolNumber208               ScattercarpetMarkerSymbol = 208
	ScattercarpetMarkerSymbol208                     ScattercarpetMarkerSymbol = "208"
	ScattercarpetMarkerSymbolTriangleRightDot        ScattercarpetMarkerSymbol = "triangle-right-dot"
	ScattercarpetMarkerSymbolNumber308               ScattercarpetMarkerSymbol = 308
	ScattercarpetMarkerSymbol308                     ScattercarpetMarkerSymbol = "308"
	ScattercarpetMarkerSymbolTriangleRightOpenDot    ScattercarpetMarkerSymbol = "triangle-right-open-dot"
	ScattercarpetMarkerSymbolNumber9                 ScattercarpetMarkerSymbol = 9
	ScattercarpetMarkerSymbol9                       ScattercarpetMarkerSymbol = "9"
	ScattercarpetMarkerSymbolTriangleNe              ScattercarpetMarkerSymbol = "triangle-ne"
	ScattercarpetMarkerSymbolNumber109               ScattercarpetMarkerSymbol = 109
	ScattercarpetMarkerSymbol109                     ScattercarpetMarkerSymbol = "109"
	ScattercarpetMarkerSymbolTriangleNeOpen          ScattercarpetMarkerSymbol = "triangle-ne-open"
	ScattercarpetMarkerSymbolNumber209               ScattercarpetMarkerSymbol = 209
	ScattercarpetMarkerSymbol209                     ScattercarpetMarkerSymbol = "209"
	ScattercarpetMarkerSymbolTriangleNeDot           ScattercarpetMarkerSymbol = "triangle-ne-dot"
	ScattercarpetMarkerSymbolNumber309               ScattercarpetMarkerSymbol = 309
	ScattercarpetMarkerSymbol309                     ScattercarpetMarkerSymbol = "309"
	ScattercarpetMarkerSymbolTriangleNeOpenDot       ScattercarpetMarkerSymbol = "triangle-ne-open-dot"
	ScattercarpetMarkerSymbolNumber10                ScattercarpetMarkerSymbol = 10
	ScattercarpetMarkerSymbol10                      ScattercarpetMarkerSymbol = "10"
	ScattercarpetMarkerSymbolTriangleSe              ScattercarpetMarkerSymbol = "triangle-se"
	ScattercarpetMarkerSymbolNumber110               ScattercarpetMarkerSymbol = 110
	ScattercarpetMarkerSymbol110                     ScattercarpetMarkerSymbol = "110"
	ScattercarpetMarkerSymbolTriangleSeOpen          ScattercarpetMarkerSymbol = "triangle-se-open"
	ScattercarpetMarkerSymbolNumber210               ScattercarpetMarkerSymbol = 210
	ScattercarpetMarkerSymbol210                     ScattercarpetMarkerSymbol = "210"
	ScattercarpetMarkerSymbolTriangleSeDot           ScattercarpetMarkerSymbol = "triangle-se-dot"
	ScattercarpetMarkerSymbolNumber310               ScattercarpetMarkerSymbol = 310
	ScattercarpetMarkerSymbol310                     ScattercarpetMarkerSymbol = "310"
	ScattercarpetMarkerSymbolTriangleSeOpenDot       ScattercarpetMarkerSymbol = "triangle-se-open-dot"
	ScattercarpetMarkerSymbolNumber11                ScattercarpetMarkerSymbol = 11
	ScattercarpetMarkerSymbol11                      ScattercarpetMarkerSymbol = "11"
	ScattercarpetMarkerSymbolTriangleSw              ScattercarpetMarkerSymbol = "triangle-sw"
	ScattercarpetMarkerSymbolNumber111               ScattercarpetMarkerSymbol = 111
	ScattercarpetMarkerSymbol111                     ScattercarpetMarkerSymbol = "111"
	ScattercarpetMarkerSymbolTriangleSwOpen          ScattercarpetMarkerSymbol = "triangle-sw-open"
	ScattercarpetMarkerSymbolNumber211               ScattercarpetMarkerSymbol = 211
	ScattercarpetMarkerSymbol211                     ScattercarpetMarkerSymbol = "211"
	ScattercarpetMarkerSymbolTriangleSwDot           ScattercarpetMarkerSymbol = "triangle-sw-dot"
	ScattercarpetMarkerSymbolNumber311               ScattercarpetMarkerSymbol = 311
	ScattercarpetMarkerSymbol311                     ScattercarpetMarkerSymbol = "311"
	ScattercarpetMarkerSymbolTriangleSwOpenDot       ScattercarpetMarkerSymbol = "triangle-sw-open-dot"
	ScattercarpetMarkerSymbolNumber12                ScattercarpetMarkerSymbol = 12
	ScattercarpetMarkerSymbol12                      ScattercarpetMarkerSymbol = "12"
	ScattercarpetMarkerSymbolTriangleNw              ScattercarpetMarkerSymbol = "triangle-nw"
	ScattercarpetMarkerSymbolNumber112               ScattercarpetMarkerSymbol = 112
	ScattercarpetMarkerSymbol112                     ScattercarpetMarkerSymbol = "112"
	ScattercarpetMarkerSymbolTriangleNwOpen          ScattercarpetMarkerSymbol = "triangle-nw-open"
	ScattercarpetMarkerSymbolNumber212               ScattercarpetMarkerSymbol = 212
	ScattercarpetMarkerSymbol212                     ScattercarpetMarkerSymbol = "212"
	ScattercarpetMarkerSymbolTriangleNwDot           ScattercarpetMarkerSymbol = "triangle-nw-dot"
	ScattercarpetMarkerSymbolNumber312               ScattercarpetMarkerSymbol = 312
	ScattercarpetMarkerSymbol312                     ScattercarpetMarkerSymbol = "312"
	ScattercarpetMarkerSymbolTriangleNwOpenDot       ScattercarpetMarkerSymbol = "triangle-nw-open-dot"
	ScattercarpetMarkerSymbolNumber13                ScattercarpetMarkerSymbol = 13
	ScattercarpetMarkerSymbol13                      ScattercarpetMarkerSymbol = "13"
	ScattercarpetMarkerSymbolPentagon                ScattercarpetMarkerSymbol = "pentagon"
	ScattercarpetMarkerSymbolNumber113               ScattercarpetMarkerSymbol = 113
	ScattercarpetMarkerSymbol113                     ScattercarpetMarkerSymbol = "113"
	ScattercarpetMarkerSymbolPentagonOpen            ScattercarpetMarkerSymbol = "pentagon-open"
	ScattercarpetMarkerSymbolNumber213               ScattercarpetMarkerSymbol = 213
	ScattercarpetMarkerSymbol213                     ScattercarpetMarkerSymbol = "213"
	ScattercarpetMarkerSymbolPentagonDot             ScattercarpetMarkerSymbol = "pentagon-dot"
	ScattercarpetMarkerSymbolNumber313               ScattercarpetMarkerSymbol = 313
	ScattercarpetMarkerSymbol313                     ScattercarpetMarkerSymbol = "313"
	ScattercarpetMarkerSymbolPentagonOpenDot         ScattercarpetMarkerSymbol = "pentagon-open-dot"
	ScattercarpetMarkerSymbolNumber14                ScattercarpetMarkerSymbol = 14
	ScattercarpetMarkerSymbol14                      ScattercarpetMarkerSymbol = "14"
	ScattercarpetMarkerSymbolHexagon                 ScattercarpetMarkerSymbol = "hexagon"
	ScattercarpetMarkerSymbolNumber114               ScattercarpetMarkerSymbol = 114
	ScattercarpetMarkerSymbol114                     ScattercarpetMarkerSymbol = "114"
	ScattercarpetMarkerSymbolHexagonOpen             ScattercarpetMarkerSymbol = "hexagon-open"
	ScattercarpetMarkerSymbolNumber214               ScattercarpetMarkerSymbol = 214
	ScattercarpetMarkerSymbol214                     ScattercarpetMarkerSymbol = "214"
	ScattercarpetMarkerSymbolHexagonDot              ScattercarpetMarkerSymbol = "hexagon-dot"
	ScattercarpetMarkerSymbolNumber314               ScattercarpetMarkerSymbol = 314
	ScattercarpetMarkerSymbol314                     ScattercarpetMarkerSymbol = "314"
	ScattercarpetMarkerSymbolHexagonOpenDot          ScattercarpetMarkerSymbol = "hexagon-open-dot"
	ScattercarpetMarkerSymbolNumber15                ScattercarpetMarkerSymbol = 15
	ScattercarpetMarkerSymbol15                      ScattercarpetMarkerSymbol = "15"
	ScattercarpetMarkerSymbolHexagon2                ScattercarpetMarkerSymbol = "hexagon2"
	ScattercarpetMarkerSymbolNumber115               ScattercarpetMarkerSymbol = 115
	ScattercarpetMarkerSymbol115                     ScattercarpetMarkerSymbol = "115"
	ScattercarpetMarkerSymbolHexagon2Open            ScattercarpetMarkerSymbol = "hexagon2-open"
	ScattercarpetMarkerSymbolNumber215               ScattercarpetMarkerSymbol = 215
	ScattercarpetMarkerSymbol215                     ScattercarpetMarkerSymbol = "215"
	ScattercarpetMarkerSymbolHexagon2Dot             ScattercarpetMarkerSymbol = "hexagon2-dot"
	ScattercarpetMarkerSymbolNumber315               ScattercarpetMarkerSymbol = 315
	ScattercarpetMarkerSymbol315                     ScattercarpetMarkerSymbol = "315"
	ScattercarpetMarkerSymbolHexagon2OpenDot         ScattercarpetMarkerSymbol = "hexagon2-open-dot"
	ScattercarpetMarkerSymbolNumber16                ScattercarpetMarkerSymbol = 16
	ScattercarpetMarkerSymbol16                      ScattercarpetMarkerSymbol = "16"
	ScattercarpetMarkerSymbolOctagon                 ScattercarpetMarkerSymbol = "octagon"
	ScattercarpetMarkerSymbolNumber116               ScattercarpetMarkerSymbol = 116
	ScattercarpetMarkerSymbol116                     ScattercarpetMarkerSymbol = "116"
	ScattercarpetMarkerSymbolOctagonOpen             ScattercarpetMarkerSymbol = "octagon-open"
	ScattercarpetMarkerSymbolNumber216               ScattercarpetMarkerSymbol = 216
	ScattercarpetMarkerSymbol216                     ScattercarpetMarkerSymbol = "216"
	ScattercarpetMarkerSymbolOctagonDot              ScattercarpetMarkerSymbol = "octagon-dot"
	ScattercarpetMarkerSymbolNumber316               ScattercarpetMarkerSymbol = 316
	ScattercarpetMarkerSymbol316                     ScattercarpetMarkerSymbol = "316"
	ScattercarpetMarkerSymbolOctagonOpenDot          ScattercarpetMarkerSymbol = "octagon-open-dot"
	ScattercarpetMarkerSymbolNumber17                ScattercarpetMarkerSymbol = 17
	ScattercarpetMarkerSymbol17                      ScattercarpetMarkerSymbol = "17"
	ScattercarpetMarkerSymbolStar                    ScattercarpetMarkerSymbol = "star"
	ScattercarpetMarkerSymbolNumber117               ScattercarpetMarkerSymbol = 117
	ScattercarpetMarkerSymbol117                     ScattercarpetMarkerSymbol = "117"
	ScattercarpetMarkerSymbolStarOpen                ScattercarpetMarkerSymbol = "star-open"
	ScattercarpetMarkerSymbolNumber217               ScattercarpetMarkerSymbol = 217
	ScattercarpetMarkerSymbol217                     ScattercarpetMarkerSymbol = "217"
	ScattercarpetMarkerSymbolStarDot                 ScattercarpetMarkerSymbol = "star-dot"
	ScattercarpetMarkerSymbolNumber317               ScattercarpetMarkerSymbol = 317
	ScattercarpetMarkerSymbol317                     ScattercarpetMarkerSymbol = "317"
	ScattercarpetMarkerSymbolStarOpenDot             ScattercarpetMarkerSymbol = "star-open-dot"
	ScattercarpetMarkerSymbolNumber18                ScattercarpetMarkerSymbol = 18
	ScattercarpetMarkerSymbol18                      ScattercarpetMarkerSymbol = "18"
	ScattercarpetMarkerSymbolHexagram                ScattercarpetMarkerSymbol = "hexagram"
	ScattercarpetMarkerSymbolNumber118               ScattercarpetMarkerSymbol = 118
	ScattercarpetMarkerSymbol118                     ScattercarpetMarkerSymbol = "118"
	ScattercarpetMarkerSymbolHexagramOpen            ScattercarpetMarkerSymbol = "hexagram-open"
	ScattercarpetMarkerSymbolNumber218               ScattercarpetMarkerSymbol = 218
	ScattercarpetMarkerSymbol218                     ScattercarpetMarkerSymbol = "218"
	ScattercarpetMarkerSymbolHexagramDot             ScattercarpetMarkerSymbol = "hexagram-dot"
	ScattercarpetMarkerSymbolNumber318               ScattercarpetMarkerSymbol = 318
	ScattercarpetMarkerSymbol318                     ScattercarpetMarkerSymbol = "318"
	ScattercarpetMarkerSymbolHexagramOpenDot         ScattercarpetMarkerSymbol = "hexagram-open-dot"
	ScattercarpetMarkerSymbolNumber19                ScattercarpetMarkerSymbol = 19
	ScattercarpetMarkerSymbol19                      ScattercarpetMarkerSymbol = "19"
	ScattercarpetMarkerSymbolStarTriangleUp          ScattercarpetMarkerSymbol = "star-triangle-up"
	ScattercarpetMarkerSymbolNumber119               ScattercarpetMarkerSymbol = 119
	ScattercarpetMarkerSymbol119                     ScattercarpetMarkerSymbol = "119"
	ScattercarpetMarkerSymbolStarTriangleUpOpen      ScattercarpetMarkerSymbol = "star-triangle-up-open"
	ScattercarpetMarkerSymbolNumber219               ScattercarpetMarkerSymbol = 219
	ScattercarpetMarkerSymbol219                     ScattercarpetMarkerSymbol = "219"
	ScattercarpetMarkerSymbolStarTriangleUpDot       ScattercarpetMarkerSymbol = "star-triangle-up-dot"
	ScattercarpetMarkerSymbolNumber319               ScattercarpetMarkerSymbol = 319
	ScattercarpetMarkerSymbol319                     ScattercarpetMarkerSymbol = "319"
	ScattercarpetMarkerSymbolStarTriangleUpOpenDot   ScattercarpetMarkerSymbol = "star-triangle-up-open-dot"
	ScattercarpetMarkerSymbolNumber20                ScattercarpetMarkerSymbol = 20
	ScattercarpetMarkerSymbol20                      ScattercarpetMarkerSymbol = "20"
	ScattercarpetMarkerSymbolStarTriangleDown        ScattercarpetMarkerSymbol = "star-triangle-down"
	ScattercarpetMarkerSymbolNumber120               ScattercarpetMarkerSymbol = 120
	ScattercarpetMarkerSymbol120                     ScattercarpetMarkerSymbol = "120"
	ScattercarpetMarkerSymbolStarTriangleDownOpen    ScattercarpetMarkerSymbol = "star-triangle-down-open"
	ScattercarpetMarkerSymbolNumber220               ScattercarpetMarkerSymbol = 220
	ScattercarpetMarkerSymbol220                     ScattercarpetMarkerSymbol = "220"
	ScattercarpetMarkerSymbolStarTriangleDownDot     ScattercarpetMarkerSymbol = "star-triangle-down-dot"
	ScattercarpetMarkerSymbolNumber320               ScattercarpetMarkerSymbol = 320
	ScattercarpetMarkerSymbol320                     ScattercarpetMarkerSymbol = "320"
	ScattercarpetMarkerSymbolStarTriangleDownOpenDot ScattercarpetMarkerSymbol = "star-triangle-down-open-dot"
	ScattercarpetMarkerSymbolNumber21                ScattercarpetMarkerSymbol = 21
	ScattercarpetMarkerSymbol21                      ScattercarpetMarkerSymbol = "21"
	ScattercarpetMarkerSymbolStarSquare              ScattercarpetMarkerSymbol = "star-square"
	ScattercarpetMarkerSymbolNumber121               ScattercarpetMarkerSymbol = 121
	ScattercarpetMarkerSymbol121                     ScattercarpetMarkerSymbol = "121"
	ScattercarpetMarkerSymbolStarSquareOpen          ScattercarpetMarkerSymbol = "star-square-open"
	ScattercarpetMarkerSymbolNumber221               ScattercarpetMarkerSymbol = 221
	ScattercarpetMarkerSymbol221                     ScattercarpetMarkerSymbol = "221"
	ScattercarpetMarkerSymbolStarSquareDot           ScattercarpetMarkerSymbol = "star-square-dot"
	ScattercarpetMarkerSymbolNumber321               ScattercarpetMarkerSymbol = 321
	ScattercarpetMarkerSymbol321                     ScattercarpetMarkerSymbol = "321"
	ScattercarpetMarkerSymbolStarSquareOpenDot       ScattercarpetMarkerSymbol = "star-square-open-dot"
	ScattercarpetMarkerSymbolNumber22                ScattercarpetMarkerSymbol = 22
	ScattercarpetMarkerSymbol22                      ScattercarpetMarkerSymbol = "22"
	ScattercarpetMarkerSymbolStarDiamond             ScattercarpetMarkerSymbol = "star-diamond"
	ScattercarpetMarkerSymbolNumber122               ScattercarpetMarkerSymbol = 122
	ScattercarpetMarkerSymbol122                     ScattercarpetMarkerSymbol = "122"
	ScattercarpetMarkerSymbolStarDiamondOpen         ScattercarpetMarkerSymbol = "star-diamond-open"
	ScattercarpetMarkerSymbolNumber222               ScattercarpetMarkerSymbol = 222
	ScattercarpetMarkerSymbol222                     ScattercarpetMarkerSymbol = "222"
	ScattercarpetMarkerSymbolStarDiamondDot          ScattercarpetMarkerSymbol = "star-diamond-dot"
	ScattercarpetMarkerSymbolNumber322               ScattercarpetMarkerSymbol = 322
	ScattercarpetMarkerSymbol322                     ScattercarpetMarkerSymbol = "322"
	ScattercarpetMarkerSymbolStarDiamondOpenDot      ScattercarpetMarkerSymbol = "star-diamond-open-dot"
	ScattercarpetMarkerSymbolNumber23                ScattercarpetMarkerSymbol = 23
	ScattercarpetMarkerSymbol23                      ScattercarpetMarkerSymbol = "23"
	ScattercarpetMarkerSymbolDiamondTall             ScattercarpetMarkerSymbol = "diamond-tall"
	ScattercarpetMarkerSymbolNumber123               ScattercarpetMarkerSymbol = 123
	ScattercarpetMarkerSymbol123                     ScattercarpetMarkerSymbol = "123"
	ScattercarpetMarkerSymbolDiamondTallOpen         ScattercarpetMarkerSymbol = "diamond-tall-open"
	ScattercarpetMarkerSymbolNumber223               ScattercarpetMarkerSymbol = 223
	ScattercarpetMarkerSymbol223                     ScattercarpetMarkerSymbol = "223"
	ScattercarpetMarkerSymbolDiamondTallDot          ScattercarpetMarkerSymbol = "diamond-tall-dot"
	ScattercarpetMarkerSymbolNumber323               ScattercarpetMarkerSymbol = 323
	ScattercarpetMarkerSymbol323                     ScattercarpetMarkerSymbol = "323"
	ScattercarpetMarkerSymbolDiamondTallOpenDot      ScattercarpetMarkerSymbol = "diamond-tall-open-dot"
	ScattercarpetMarkerSymbolNumber24                ScattercarpetMarkerSymbol = 24
	ScattercarpetMarkerSymbol24                      ScattercarpetMarkerSymbol = "24"
	ScattercarpetMarkerSymbolDiamondWide             ScattercarpetMarkerSymbol = "diamond-wide"
	ScattercarpetMarkerSymbolNumber124               ScattercarpetMarkerSymbol = 124
	ScattercarpetMarkerSymbol124                     ScattercarpetMarkerSymbol = "124"
	ScattercarpetMarkerSymbolDiamondWideOpen         ScattercarpetMarkerSymbol = "diamond-wide-open"
	ScattercarpetMarkerSymbolNumber224               ScattercarpetMarkerSymbol = 224
	ScattercarpetMarkerSymbol224                     ScattercarpetMarkerSymbol = "224"
	ScattercarpetMarkerSymbolDiamondWideDot          ScattercarpetMarkerSymbol = "diamond-wide-dot"
	ScattercarpetMarkerSymbolNumber324               ScattercarpetMarkerSymbol = 324
	ScattercarpetMarkerSymbol324                     ScattercarpetMarkerSymbol = "324"
	ScattercarpetMarkerSymbolDiamondWideOpenDot      ScattercarpetMarkerSymbol = "diamond-wide-open-dot"
	ScattercarpetMarkerSymbolNumber25                ScattercarpetMarkerSymbol = 25
	ScattercarpetMarkerSymbol25                      ScattercarpetMarkerSymbol = "25"
	ScattercarpetMarkerSymbolHourglass               ScattercarpetMarkerSymbol = "hourglass"
	ScattercarpetMarkerSymbolNumber125               ScattercarpetMarkerSymbol = 125
	ScattercarpetMarkerSymbol125                     ScattercarpetMarkerSymbol = "125"
	ScattercarpetMarkerSymbolHourglassOpen           ScattercarpetMarkerSymbol = "hourglass-open"
	ScattercarpetMarkerSymbolNumber26                ScattercarpetMarkerSymbol = 26
	ScattercarpetMarkerSymbol26                      ScattercarpetMarkerSymbol = "26"
	ScattercarpetMarkerSymbolBowtie                  ScattercarpetMarkerSymbol = "bowtie"
	ScattercarpetMarkerSymbolNumber126               ScattercarpetMarkerSymbol = 126
	ScattercarpetMarkerSymbol126                     ScattercarpetMarkerSymbol = "126"
	ScattercarpetMarkerSymbolBowtieOpen              ScattercarpetMarkerSymbol = "bowtie-open"
	ScattercarpetMarkerSymbolNumber27                ScattercarpetMarkerSymbol = 27
	ScattercarpetMarkerSymbol27                      ScattercarpetMarkerSymbol = "27"
	ScattercarpetMarkerSymbolCircleCross             ScattercarpetMarkerSymbol = "circle-cross"
	ScattercarpetMarkerSymbolNumber127               ScattercarpetMarkerSymbol = 127
	ScattercarpetMarkerSymbol127                     ScattercarpetMarkerSymbol = "127"
	ScattercarpetMarkerSymbolCircleCrossOpen         ScattercarpetMarkerSymbol = "circle-cross-open"
	ScattercarpetMarkerSymbolNumber28                ScattercarpetMarkerSymbol = 28
	ScattercarpetMarkerSymbol28                      ScattercarpetMarkerSymbol = "28"
	ScattercarpetMarkerSymbolCircleX                 ScattercarpetMarkerSymbol = "circle-x"
	ScattercarpetMarkerSymbolNumber128               ScattercarpetMarkerSymbol = 128
	ScattercarpetMarkerSymbol128                     ScattercarpetMarkerSymbol = "128"
	ScattercarpetMarkerSymbolCircleXOpen             ScattercarpetMarkerSymbol = "circle-x-open"
	ScattercarpetMarkerSymbolNumber29                ScattercarpetMarkerSymbol = 29
	ScattercarpetMarkerSymbol29                      ScattercarpetMarkerSymbol = "29"
	ScattercarpetMarkerSymbolSquareCross             ScattercarpetMarkerSymbol = "square-cross"
	ScattercarpetMarkerSymbolNumber129               ScattercarpetMarkerSymbol = 129
	ScattercarpetMarkerSymbol129                     ScattercarpetMarkerSymbol = "129"
	ScattercarpetMarkerSymbolSquareCrossOpen         ScattercarpetMarkerSymbol = "square-cross-open"
	ScattercarpetMarkerSymbolNumber30                ScattercarpetMarkerSymbol = 30
	ScattercarpetMarkerSymbol30                      ScattercarpetMarkerSymbol = "30"
	ScattercarpetMarkerSymbolSquareX                 ScattercarpetMarkerSymbol = "square-x"
	ScattercarpetMarkerSymbolNumber130               ScattercarpetMarkerSymbol = 130
	ScattercarpetMarkerSymbol130                     ScattercarpetMarkerSymbol = "130"
	ScattercarpetMarkerSymbolSquareXOpen             ScattercarpetMarkerSymbol = "square-x-open"
	ScattercarpetMarkerSymbolNumber31                ScattercarpetMarkerSymbol = 31
	ScattercarpetMarkerSymbol31                      ScattercarpetMarkerSymbol = "31"
	ScattercarpetMarkerSymbolDiamondCross            ScattercarpetMarkerSymbol = "diamond-cross"
	ScattercarpetMarkerSymbolNumber131               ScattercarpetMarkerSymbol = 131
	ScattercarpetMarkerSymbol131                     ScattercarpetMarkerSymbol = "131"
	ScattercarpetMarkerSymbolDiamondCrossOpen        ScattercarpetMarkerSymbol = "diamond-cross-open"
	ScattercarpetMarkerSymbolNumber32                ScattercarpetMarkerSymbol = 32
	ScattercarpetMarkerSymbol32                      ScattercarpetMarkerSymbol = "32"
	ScattercarpetMarkerSymbolDiamondX                ScattercarpetMarkerSymbol = "diamond-x"
	ScattercarpetMarkerSymbolNumber132               ScattercarpetMarkerSymbol = 132
	ScattercarpetMarkerSymbol132                     ScattercarpetMarkerSymbol = "132"
	ScattercarpetMarkerSymbolDiamondXOpen            ScattercarpetMarkerSymbol = "diamond-x-open"
	ScattercarpetMarkerSymbolNumber33                ScattercarpetMarkerSymbol = 33
	ScattercarpetMarkerSymbol33                      ScattercarpetMarkerSymbol = "33"
	ScattercarpetMarkerSymbolCrossThin               ScattercarpetMarkerSymbol = "cross-thin"
	ScattercarpetMarkerSymbolNumber133               ScattercarpetMarkerSymbol = 133
	ScattercarpetMarkerSymbol133                     ScattercarpetMarkerSymbol = "133"
	ScattercarpetMarkerSymbolCrossThinOpen           ScattercarpetMarkerSymbol = "cross-thin-open"
	ScattercarpetMarkerSymbolNumber34                ScattercarpetMarkerSymbol = 34
	ScattercarpetMarkerSymbol34                      ScattercarpetMarkerSymbol = "34"
	ScattercarpetMarkerSymbolXThin                   ScattercarpetMarkerSymbol = "x-thin"
	ScattercarpetMarkerSymbolNumber134               ScattercarpetMarkerSymbol = 134
	ScattercarpetMarkerSymbol134                     ScattercarpetMarkerSymbol = "134"
	ScattercarpetMarkerSymbolXThinOpen               ScattercarpetMarkerSymbol = "x-thin-open"
	ScattercarpetMarkerSymbolNumber35                ScattercarpetMarkerSymbol = 35
	ScattercarpetMarkerSymbol35                      ScattercarpetMarkerSymbol = "35"
	ScattercarpetMarkerSymbolAsterisk                ScattercarpetMarkerSymbol = "asterisk"
	ScattercarpetMarkerSymbolNumber135               ScattercarpetMarkerSymbol = 135
	ScattercarpetMarkerSymbol135                     ScattercarpetMarkerSymbol = "135"
	ScattercarpetMarkerSymbolAsteriskOpen            ScattercarpetMarkerSymbol = "asterisk-open"
	ScattercarpetMarkerSymbolNumber36                ScattercarpetMarkerSymbol = 36
	ScattercarpetMarkerSymbol36                      ScattercarpetMarkerSymbol = "36"
	ScattercarpetMarkerSymbolHash                    ScattercarpetMarkerSymbol = "hash"
	ScattercarpetMarkerSymbolNumber136               ScattercarpetMarkerSymbol = 136
	ScattercarpetMarkerSymbol136                     ScattercarpetMarkerSymbol = "136"
	ScattercarpetMarkerSymbolHashOpen                ScattercarpetMarkerSymbol = "hash-open"
	ScattercarpetMarkerSymbolNumber236               ScattercarpetMarkerSymbol = 236
	ScattercarpetMarkerSymbol236                     ScattercarpetMarkerSymbol = "236"
	ScattercarpetMarkerSymbolHashDot                 ScattercarpetMarkerSymbol = "hash-dot"
	ScattercarpetMarkerSymbolNumber336               ScattercarpetMarkerSymbol = 336
	ScattercarpetMarkerSymbol336                     ScattercarpetMarkerSymbol = "336"
	ScattercarpetMarkerSymbolHashOpenDot             ScattercarpetMarkerSymbol = "hash-open-dot"
	ScattercarpetMarkerSymbolNumber37                ScattercarpetMarkerSymbol = 37
	ScattercarpetMarkerSymbol37                      ScattercarpetMarkerSymbol = "37"
	ScattercarpetMarkerSymbolYUp                     ScattercarpetMarkerSymbol = "y-up"
	ScattercarpetMarkerSymbolNumber137               ScattercarpetMarkerSymbol = 137
	ScattercarpetMarkerSymbol137                     ScattercarpetMarkerSymbol = "137"
	ScattercarpetMarkerSymbolYUpOpen                 ScattercarpetMarkerSymbol = "y-up-open"
	ScattercarpetMarkerSymbolNumber38                ScattercarpetMarkerSymbol = 38
	ScattercarpetMarkerSymbol38                      ScattercarpetMarkerSymbol = "38"
	ScattercarpetMarkerSymbolYDown                   ScattercarpetMarkerSymbol = "y-down"
	ScattercarpetMarkerSymbolNumber138               ScattercarpetMarkerSymbol = 138
	ScattercarpetMarkerSymbol138                     ScattercarpetMarkerSymbol = "138"
	ScattercarpetMarkerSymbolYDownOpen               ScattercarpetMarkerSymbol = "y-down-open"
	ScattercarpetMarkerSymbolNumber39                ScattercarpetMarkerSymbol = 39
	ScattercarpetMarkerSymbol39                      ScattercarpetMarkerSymbol = "39"
	ScattercarpetMarkerSymbolYLeft                   ScattercarpetMarkerSymbol = "y-left"
	ScattercarpetMarkerSymbolNumber139               ScattercarpetMarkerSymbol = 139
	ScattercarpetMarkerSymbol139                     ScattercarpetMarkerSymbol = "139"
	ScattercarpetMarkerSymbolYLeftOpen               ScattercarpetMarkerSymbol = "y-left-open"
	ScattercarpetMarkerSymbolNumber40                ScattercarpetMarkerSymbol = 40
	ScattercarpetMarkerSymbol40                      ScattercarpetMarkerSymbol = "40"
	ScattercarpetMarkerSymbolYRight                  ScattercarpetMarkerSymbol = "y-right"
	ScattercarpetMarkerSymbolNumber140               ScattercarpetMarkerSymbol = 140
	ScattercarpetMarkerSymbol140                     ScattercarpetMarkerSymbol = "140"
	ScattercarpetMarkerSymbolYRightOpen              ScattercarpetMarkerSymbol = "y-right-open"
	ScattercarpetMarkerSymbolNumber41                ScattercarpetMarkerSymbol = 41
	ScattercarpetMarkerSymbol41                      ScattercarpetMarkerSymbol = "41"
	ScattercarpetMarkerSymbolLineEw                  ScattercarpetMarkerSymbol = "line-ew"
	ScattercarpetMarkerSymbolNumber141               ScattercarpetMarkerSymbol = 141
	ScattercarpetMarkerSymbol141                     ScattercarpetMarkerSymbol = "141"
	ScattercarpetMarkerSymbolLineEwOpen              ScattercarpetMarkerSymbol = "line-ew-open"
	ScattercarpetMarkerSymbolNumber42                ScattercarpetMarkerSymbol = 42
	ScattercarpetMarkerSymbol42                      ScattercarpetMarkerSymbol = "42"
	ScattercarpetMarkerSymbolLineNs                  ScattercarpetMarkerSymbol = "line-ns"
	ScattercarpetMarkerSymbolNumber142               ScattercarpetMarkerSymbol = 142
	ScattercarpetMarkerSymbol142                     ScattercarpetMarkerSymbol = "142"
	ScattercarpetMarkerSymbolLineNsOpen              ScattercarpetMarkerSymbol = "line-ns-open"
	ScattercarpetMarkerSymbolNumber43                ScattercarpetMarkerSymbol = 43
	ScattercarpetMarkerSymbol43                      ScattercarpetMarkerSymbol = "43"
	ScattercarpetMarkerSymbolLineNe                  ScattercarpetMarkerSymbol = "line-ne"
	ScattercarpetMarkerSymbolNumber143               ScattercarpetMarkerSymbol = 143
	ScattercarpetMarkerSymbol143                     ScattercarpetMarkerSymbol = "143"
	ScattercarpetMarkerSymbolLineNeOpen              ScattercarpetMarkerSymbol = "line-ne-open"
	ScattercarpetMarkerSymbolNumber44                ScattercarpetMarkerSymbol = 44
	ScattercarpetMarkerSymbol44                      ScattercarpetMarkerSymbol = "44"
	ScattercarpetMarkerSymbolLineNw                  ScattercarpetMarkerSymbol = "line-nw"
	ScattercarpetMarkerSymbolNumber144               ScattercarpetMarkerSymbol = 144
	ScattercarpetMarkerSymbol144                     ScattercarpetMarkerSymbol = "144"
	ScattercarpetMarkerSymbolLineNwOpen              ScattercarpetMarkerSymbol = "line-nw-open"
	ScattercarpetMarkerSymbolNumber45                ScattercarpetMarkerSymbol = 45
	ScattercarpetMarkerSymbol45                      ScattercarpetMarkerSymbol = "45"
	ScattercarpetMarkerSymbolArrowUp                 ScattercarpetMarkerSymbol = "arrow-up"
	ScattercarpetMarkerSymbolNumber145               ScattercarpetMarkerSymbol = 145
	ScattercarpetMarkerSymbol145                     ScattercarpetMarkerSymbol = "145"
	ScattercarpetMarkerSymbolArrowUpOpen             ScattercarpetMarkerSymbol = "arrow-up-open"
	ScattercarpetMarkerSymbolNumber46                ScattercarpetMarkerSymbol = 46
	ScattercarpetMarkerSymbol46                      ScattercarpetMarkerSymbol = "46"
	ScattercarpetMarkerSymbolArrowDown               ScattercarpetMarkerSymbol = "arrow-down"
	ScattercarpetMarkerSymbolNumber146               ScattercarpetMarkerSymbol = 146
	ScattercarpetMarkerSymbol146                     ScattercarpetMarkerSymbol = "146"
	ScattercarpetMarkerSymbolArrowDownOpen           ScattercarpetMarkerSymbol = "arrow-down-open"
	ScattercarpetMarkerSymbolNumber47                ScattercarpetMarkerSymbol = 47
	ScattercarpetMarkerSymbol47                      ScattercarpetMarkerSymbol = "47"
	ScattercarpetMarkerSymbolArrowLeft               ScattercarpetMarkerSymbol = "arrow-left"
	ScattercarpetMarkerSymbolNumber147               ScattercarpetMarkerSymbol = 147
	ScattercarpetMarkerSymbol147                     ScattercarpetMarkerSymbol = "147"
	ScattercarpetMarkerSymbolArrowLeftOpen           ScattercarpetMarkerSymbol = "arrow-left-open"
	ScattercarpetMarkerSymbolNumber48                ScattercarpetMarkerSymbol = 48
	ScattercarpetMarkerSymbol48                      ScattercarpetMarkerSymbol = "48"
	ScattercarpetMarkerSymbolArrowRight              ScattercarpetMarkerSymbol = "arrow-right"
	ScattercarpetMarkerSymbolNumber148               ScattercarpetMarkerSymbol = 148
	ScattercarpetMarkerSymbol148                     ScattercarpetMarkerSymbol = "148"
	ScattercarpetMarkerSymbolArrowRightOpen          ScattercarpetMarkerSymbol = "arrow-right-open"
	ScattercarpetMarkerSymbolNumber49                ScattercarpetMarkerSymbol = 49
	ScattercarpetMarkerSymbol49                      ScattercarpetMarkerSymbol = "49"
	ScattercarpetMarkerSymbolArrowBarUp              ScattercarpetMarkerSymbol = "arrow-bar-up"
	ScattercarpetMarkerSymbolNumber149               ScattercarpetMarkerSymbol = 149
	ScattercarpetMarkerSymbol149                     ScattercarpetMarkerSymbol = "149"
	ScattercarpetMarkerSymbolArrowBarUpOpen          ScattercarpetMarkerSymbol = "arrow-bar-up-open"
	ScattercarpetMarkerSymbolNumber50                ScattercarpetMarkerSymbol = 50
	ScattercarpetMarkerSymbol50                      ScattercarpetMarkerSymbol = "50"
	ScattercarpetMarkerSymbolArrowBarDown            ScattercarpetMarkerSymbol = "arrow-bar-down"
	ScattercarpetMarkerSymbolNumber150               ScattercarpetMarkerSymbol = 150
	ScattercarpetMarkerSymbol150                     ScattercarpetMarkerSymbol = "150"
	ScattercarpetMarkerSymbolArrowBarDownOpen        ScattercarpetMarkerSymbol = "arrow-bar-down-open"
	ScattercarpetMarkerSymbolNumber51                ScattercarpetMarkerSymbol = 51
	ScattercarpetMarkerSymbol51                      ScattercarpetMarkerSymbol = "51"
	ScattercarpetMarkerSymbolArrowBarLeft            ScattercarpetMarkerSymbol = "arrow-bar-left"
	ScattercarpetMarkerSymbolNumber151               ScattercarpetMarkerSymbol = 151
	ScattercarpetMarkerSymbol151                     ScattercarpetMarkerSymbol = "151"
	ScattercarpetMarkerSymbolArrowBarLeftOpen        ScattercarpetMarkerSymbol = "arrow-bar-left-open"
	ScattercarpetMarkerSymbolNumber52                ScattercarpetMarkerSymbol = 52
	ScattercarpetMarkerSymbol52                      ScattercarpetMarkerSymbol = "52"
	ScattercarpetMarkerSymbolArrowBarRight           ScattercarpetMarkerSymbol = "arrow-bar-right"
	ScattercarpetMarkerSymbolNumber152               ScattercarpetMarkerSymbol = 152
	ScattercarpetMarkerSymbol152                     ScattercarpetMarkerSymbol = "152"
	ScattercarpetMarkerSymbolArrowBarRightOpen       ScattercarpetMarkerSymbol = "arrow-bar-right-open"
)

type ScattercarpetMode

type ScattercarpetMode string

ScattercarpetMode Determines the drawing mode for this scatter trace. If the provided `mode` includes *text* then the `text` elements appear at the coordinates. Otherwise, the `text` elements appear on hover. If there are less than 20 points and the trace is not stacked then the default is *lines+markers*. Otherwise, *lines*.

const (
	// Flags
	ScattercarpetModeLines   ScattercarpetMode = "lines"
	ScattercarpetModeMarkers ScattercarpetMode = "markers"
	ScattercarpetModeText    ScattercarpetMode = "text"

	// Extra
	ScattercarpetModeNone ScattercarpetMode = "none"
)

type ScattercarpetSelected

type ScattercarpetSelected struct {

	// Marker
	// role: Object
	Marker *ScattercarpetSelectedMarker `json:"marker,omitempty"`

	// Textfont
	// role: Object
	Textfont *ScattercarpetSelectedTextfont `json:"textfont,omitempty"`
}

ScattercarpetSelected

type ScattercarpetSelectedMarker

type ScattercarpetSelectedMarker struct {

	// Color
	// arrayOK: false
	// type: color
	// Sets the marker color of selected points.
	Color Color `json:"color,omitempty"`

	// Opacity
	// arrayOK: false
	// type: number
	// Sets the marker opacity of selected points.
	Opacity float64 `json:"opacity,omitempty"`

	// Size
	// arrayOK: false
	// type: number
	// Sets the marker size of selected points.
	Size float64 `json:"size,omitempty"`
}

ScattercarpetSelectedMarker

type ScattercarpetSelectedTextfont

type ScattercarpetSelectedTextfont struct {

	// Color
	// arrayOK: false
	// type: color
	// Sets the text font color of selected points.
	Color Color `json:"color,omitempty"`
}

ScattercarpetSelectedTextfont

type ScattercarpetStream

type ScattercarpetStream struct {

	// Maxpoints
	// arrayOK: false
	// type: number
	// Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot.
	Maxpoints float64 `json:"maxpoints,omitempty"`

	// Token
	// arrayOK: false
	// type: string
	// The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details.
	Token String `json:"token,omitempty"`
}

ScattercarpetStream

type ScattercarpetTextfont

type ScattercarpetTextfont struct {

	// Color
	// arrayOK: true
	// type: color
	//
	Color Color `json:"color,omitempty"`

	// Colorsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  color .
	Colorsrc String `json:"colorsrc,omitempty"`

	// Family
	// arrayOK: true
	// type: string
	// HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.
	Family String `json:"family,omitempty"`

	// Familysrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  family .
	Familysrc String `json:"familysrc,omitempty"`

	// Size
	// arrayOK: true
	// type: number
	//
	Size float64 `json:"size,omitempty"`

	// Sizesrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  size .
	Sizesrc String `json:"sizesrc,omitempty"`
}

ScattercarpetTextfont Sets the text font.

type ScattercarpetTextposition

type ScattercarpetTextposition string

ScattercarpetTextposition Sets the positions of the `text` elements with respects to the (x,y) coordinates.

const (
	ScattercarpetTextpositionTopLeft      ScattercarpetTextposition = "top left"
	ScattercarpetTextpositionTopCenter    ScattercarpetTextposition = "top center"
	ScattercarpetTextpositionTopRight     ScattercarpetTextposition = "top right"
	ScattercarpetTextpositionMiddleLeft   ScattercarpetTextposition = "middle left"
	ScattercarpetTextpositionMiddleCenter ScattercarpetTextposition = "middle center"
	ScattercarpetTextpositionMiddleRight  ScattercarpetTextposition = "middle right"
	ScattercarpetTextpositionBottomLeft   ScattercarpetTextposition = "bottom left"
	ScattercarpetTextpositionBottomCenter ScattercarpetTextposition = "bottom center"
	ScattercarpetTextpositionBottomRight  ScattercarpetTextposition = "bottom right"
)

type ScattercarpetUnselected

type ScattercarpetUnselected struct {

	// Marker
	// role: Object
	Marker *ScattercarpetUnselectedMarker `json:"marker,omitempty"`

	// Textfont
	// role: Object
	Textfont *ScattercarpetUnselectedTextfont `json:"textfont,omitempty"`
}

ScattercarpetUnselected

type ScattercarpetUnselectedMarker

type ScattercarpetUnselectedMarker struct {

	// Color
	// arrayOK: false
	// type: color
	// Sets the marker color of unselected points, applied only when a selection exists.
	Color Color `json:"color,omitempty"`

	// Opacity
	// arrayOK: false
	// type: number
	// Sets the marker opacity of unselected points, applied only when a selection exists.
	Opacity float64 `json:"opacity,omitempty"`

	// Size
	// arrayOK: false
	// type: number
	// Sets the marker size of unselected points, applied only when a selection exists.
	Size float64 `json:"size,omitempty"`
}

ScattercarpetUnselectedMarker

type ScattercarpetUnselectedTextfont

type ScattercarpetUnselectedTextfont struct {

	// Color
	// arrayOK: false
	// type: color
	// Sets the text font color of unselected points, applied only when a selection exists.
	Color Color `json:"color,omitempty"`
}

ScattercarpetUnselectedTextfont

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 (
	ScattercarpetVisibleTrue       ScattercarpetVisible = true
	ScattercarpetVisibleFalse      ScattercarpetVisible = false
	ScattercarpetVisibleLegendonly ScattercarpetVisible = "legendonly"
)

type Scattergeo

type Scattergeo struct {

	// Type
	// is the type of the plot
	Type TraceType `json:"type,omitempty"`

	// Connectgaps
	// arrayOK: false
	// type: boolean
	// Determines whether or not gaps (i.e. {nan} or missing values) in the provided data arrays are connected.
	Connectgaps Bool `json:"connectgaps,omitempty"`

	// Customdata
	// arrayOK: false
	// type: data_array
	// Assigns extra data each datum. This may be useful when listening to hover, click and selection events. Note that, *scatter* traces also appends customdata items in the markers DOM elements
	Customdata interface{} `json:"customdata,omitempty"`

	// Customdatasrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  customdata .
	Customdatasrc String `json:"customdatasrc,omitempty"`

	// Featureidkey
	// arrayOK: false
	// type: string
	// Sets the key in GeoJSON features which is used as id to match the items included in the `locations` array. Only has an effect when `geojson` is set. Support nested property, for example *properties.name*.
	Featureidkey String `json:"featureidkey,omitempty"`

	// Fill
	// default: none
	// type: enumerated
	// Sets the area to fill with a solid color. Use with `fillcolor` if not *none*. *toself* connects the endpoints of the trace (or each segment of the trace if it has gaps) into a closed shape.
	Fill ScattergeoFill `json:"fill,omitempty"`

	// Fillcolor
	// arrayOK: false
	// type: color
	// Sets the fill color. Defaults to a half-transparent variant of the line color, marker color, or marker line color, whichever is available.
	Fillcolor Color `json:"fillcolor,omitempty"`

	// Geo
	// arrayOK: false
	// type: subplotid
	// Sets a reference between this trace's geospatial coordinates and a geographic map. If *geo* (the default value), the geospatial coordinates refer to `layout.geo`. If *geo2*, the geospatial coordinates refer to `layout.geo2`, and so on.
	Geo String `json:"geo,omitempty"`

	// Geojson
	// arrayOK: false
	// type: any
	// Sets optional GeoJSON data associated with this trace. If not given, the features on the base map are used when `locations` is set. It can be set as a valid GeoJSON object or as a URL string. Note that we only accept GeoJSONs of type *FeatureCollection* or *Feature* with geometries of type *Polygon* or *MultiPolygon*.
	Geojson interface{} `json:"geojson,omitempty"`

	// Hoverinfo
	// default: all
	// type: flaglist
	// Determines which trace information appear on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired.
	Hoverinfo ScattergeoHoverinfo `json:"hoverinfo,omitempty"`

	// Hoverinfosrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  hoverinfo .
	Hoverinfosrc String `json:"hoverinfosrc,omitempty"`

	// Hoverlabel
	// role: Object
	Hoverlabel *ScattergeoHoverlabel `json:"hoverlabel,omitempty"`

	// Hovertemplate
	// arrayOK: true
	// type: string
	// Template string used for rendering the information that appear on hover box. Note that this will override `hoverinfo`. Variables are inserted using %{variable}, for example "y: %{y}". 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 String `json:"hovertemplate,omitempty"`

	// Hovertemplatesrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  hovertemplate .
	Hovertemplatesrc String `json:"hovertemplatesrc,omitempty"`

	// Hovertext
	// arrayOK: true
	// type: string
	// Sets hover text elements associated with each (lon,lat) pair or item in `locations`. If a single string, the same string appears over all the data points. If an array of string, the items are mapped in order to the this trace's (lon,lat) or `locations` coordinates. To be seen, trace `hoverinfo` must contain a *text* flag.
	Hovertext String `json:"hovertext,omitempty"`

	// Hovertextsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  hovertext .
	Hovertextsrc String `json:"hovertextsrc,omitempty"`

	// Ids
	// arrayOK: false
	// type: data_array
	// Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type.
	Ids interface{} `json:"ids,omitempty"`

	// Idssrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  ids .
	Idssrc String `json:"idssrc,omitempty"`

	// Lat
	// arrayOK: false
	// type: data_array
	// Sets the latitude coordinates (in degrees North).
	Lat interface{} `json:"lat,omitempty"`

	// Latsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  lat .
	Latsrc String `json:"latsrc,omitempty"`

	// Legendgroup
	// arrayOK: false
	// type: string
	// Sets the legend group for this trace. Traces part of the same legend group hide/show at the same time when toggling legend items.
	Legendgroup String `json:"legendgroup,omitempty"`

	// Line
	// role: Object
	Line *ScattergeoLine `json:"line,omitempty"`

	// Locationmode
	// default: ISO-3
	// type: enumerated
	// Determines the set of locations used to match entries in `locations` to regions on the map. Values *ISO-3*, *USA-states*, *country names* correspond to features on the base map and value *geojson-id* corresponds to features from a custom GeoJSON linked to the `geojson` attribute.
	Locationmode ScattergeoLocationmode `json:"locationmode,omitempty"`

	// Locations
	// arrayOK: false
	// type: data_array
	// Sets the coordinates via location IDs or names. Coordinates correspond to the centroid of each location given. See `locationmode` for more info.
	Locations interface{} `json:"locations,omitempty"`

	// Locationssrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  locations .
	Locationssrc String `json:"locationssrc,omitempty"`

	// Lon
	// arrayOK: false
	// type: data_array
	// Sets the longitude coordinates (in degrees East).
	Lon interface{} `json:"lon,omitempty"`

	// Lonsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  lon .
	Lonsrc String `json:"lonsrc,omitempty"`

	// Marker
	// role: Object
	Marker *ScattergeoMarker `json:"marker,omitempty"`

	// Meta
	// arrayOK: true
	// type: any
	// Assigns extra meta information associated with this trace that can be used in various text attributes. Attributes such as trace `name`, graph, axis and colorbar `title.text`, annotation `text` `rangeselector`, `updatemenues` and `sliders` `label` text all support `meta`. To access the trace `meta` values in an attribute in the same trace, simply use `%{meta[i]}` where `i` is the index or key of the `meta` item in question. To access trace `meta` in layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index.
	Meta interface{} `json:"meta,omitempty"`

	// Metasrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  meta .
	Metasrc String `json:"metasrc,omitempty"`

	// Mode
	// default: markers
	// type: flaglist
	// Determines the drawing mode for this scatter trace. If the provided `mode` includes *text* then the `text` elements appear at the coordinates. Otherwise, the `text` elements appear on hover. If there are less than 20 points and the trace is not stacked then the default is *lines+markers*. Otherwise, *lines*.
	Mode ScattergeoMode `json:"mode,omitempty"`

	// Name
	// arrayOK: false
	// type: string
	// Sets the trace name. The trace name appear as the legend item and on hover.
	Name String `json:"name,omitempty"`

	// Opacity
	// arrayOK: false
	// type: number
	// Sets the opacity of the trace.
	Opacity float64 `json:"opacity,omitempty"`

	// Selected
	// role: Object
	Selected *ScattergeoSelected `json:"selected,omitempty"`

	// Selectedpoints
	// arrayOK: false
	// type: any
	// Array containing integer indices of selected points. Has an effect only for traces that support selections. Note that an empty array means an empty selection where the `unselected` are turned on for all points, whereas, any other non-array values means no selection all where the `selected` and `unselected` styles have no effect.
	Selectedpoints interface{} `json:"selectedpoints,omitempty"`

	// Showlegend
	// arrayOK: false
	// type: boolean
	// Determines whether or not an item corresponding to this trace is shown in the legend.
	Showlegend Bool `json:"showlegend,omitempty"`

	// Stream
	// role: Object
	Stream *ScattergeoStream `json:"stream,omitempty"`

	// Text
	// arrayOK: true
	// type: string
	// Sets text elements associated with each (lon,lat) pair or item in `locations`. If a single string, the same string appears over all the data points. If an array of string, the items are mapped in order to the this trace's (lon,lat) or `locations` coordinates. If trace `hoverinfo` contains a *text* flag and *hovertext* is not set, these elements will be seen in the hover labels.
	Text String `json:"text,omitempty"`

	// Textfont
	// role: Object
	Textfont *ScattergeoTextfont `json:"textfont,omitempty"`

	// Textposition
	// default: middle center
	// type: enumerated
	// Sets the positions of the `text` elements with respects to the (x,y) coordinates.
	Textposition ScattergeoTextposition `json:"textposition,omitempty"`

	// Textpositionsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  textposition .
	Textpositionsrc String `json:"textpositionsrc,omitempty"`

	// Textsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  text .
	Textsrc String `json:"textsrc,omitempty"`

	// Texttemplate
	// arrayOK: true
	// type: string
	// Template string used for rendering the information text that appear on points. Note that this will override `textinfo`. Variables are inserted using %{variable}, for example "y: %{y}". Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example "Price: %{y:$.2f}". https://github.com/d3/d3-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 String `json:"texttemplate,omitempty"`

	// Texttemplatesrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  texttemplate .
	Texttemplatesrc String `json:"texttemplatesrc,omitempty"`

	// Transforms
	// It's an items array and what goes inside it's... messy... check the docs
	// I will be happy if you want to contribute by implementing this
	// just raise an issue before you start so we do not overlap
	Transforms interface{} `json:"transforms,omitempty"`

	// Uid
	// arrayOK: false
	// type: string
	// Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.
	Uid String `json:"uid,omitempty"`

	// Uirevision
	// arrayOK: false
	// type: any
	// Controls persistence of some user-driven changes to the trace: `constraintrange` in `parcoords` traces, as well as some `editable: true` modifications such as `name` and `colorbar.title`. Defaults to `layout.uirevision`. Note that other user-driven trace attribute changes are controlled by `layout` attributes: `trace.visible` is controlled by `layout.legend.uirevision`, `selectedpoints` is controlled by `layout.selectionrevision`, and `colorbar.(x|y)` (accessible with `config: {editable: true}`) is controlled by `layout.editrevision`. Trace changes are tracked by `uid`, which only falls back on trace index if no `uid` is provided. So if your app can add/remove traces before the end of the `data` array, such that the same trace has a different index, you can still preserve user-driven changes if you give each trace a `uid` that stays with it as it moves.
	Uirevision interface{} `json:"uirevision,omitempty"`

	// Unselected
	// role: Object
	Unselected *ScattergeoUnselected `json:"unselected,omitempty"`

	// Visible
	// default: %!s(bool=true)
	// type: enumerated
	// Determines whether or not this trace is visible. If *legendonly*, the trace is not drawn, but can appear as a legend item (provided that the legend itself is visible).
	Visible ScattergeoVisible `json:"visible,omitempty"`
}

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 (*Scattergeo) GetType

func (trace *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 (
	ScattergeoFillNone   ScattergeoFill = "none"
	ScattergeoFillToself ScattergeoFill = "toself"
)

type ScattergeoHoverinfo

type ScattergeoHoverinfo string

ScattergeoHoverinfo Determines which trace information appear on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired.

const (
	// Flags
	ScattergeoHoverinfoLon      ScattergeoHoverinfo = "lon"
	ScattergeoHoverinfoLat      ScattergeoHoverinfo = "lat"
	ScattergeoHoverinfoLocation ScattergeoHoverinfo = "location"
	ScattergeoHoverinfoText     ScattergeoHoverinfo = "text"
	ScattergeoHoverinfoName     ScattergeoHoverinfo = "name"

	// Extra
	ScattergeoHoverinfoAll  ScattergeoHoverinfo = "all"
	ScattergeoHoverinfoNone ScattergeoHoverinfo = "none"
	ScattergeoHoverinfoSkip ScattergeoHoverinfo = "skip"
)

type ScattergeoHoverlabel

type ScattergeoHoverlabel struct {

	// Align
	// default: auto
	// type: enumerated
	// Sets the horizontal alignment of the text content within hover label box. Has an effect only if the hover label text spans more two or more lines
	Align ScattergeoHoverlabelAlign `json:"align,omitempty"`

	// Alignsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  align .
	Alignsrc String `json:"alignsrc,omitempty"`

	// Bgcolor
	// arrayOK: true
	// type: color
	// Sets the background color of the hover labels for this trace
	Bgcolor Color `json:"bgcolor,omitempty"`

	// Bgcolorsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  bgcolor .
	Bgcolorsrc String `json:"bgcolorsrc,omitempty"`

	// Bordercolor
	// arrayOK: true
	// type: color
	// Sets the border color of the hover labels for this trace.
	Bordercolor Color `json:"bordercolor,omitempty"`

	// Bordercolorsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  bordercolor .
	Bordercolorsrc String `json:"bordercolorsrc,omitempty"`

	// Font
	// role: Object
	Font *ScattergeoHoverlabelFont `json:"font,omitempty"`

	// Namelength
	// arrayOK: true
	// type: integer
	// Sets the default length (in number of characters) of the trace name in the hover labels for all traces. -1 shows the whole name regardless of length. 0-3 shows the first 0-3 characters, and an integer >3 will show the whole name if it is less than that many characters, but if it is longer, will truncate to `namelength - 3` characters and add an ellipsis.
	Namelength int64 `json:"namelength,omitempty"`

	// Namelengthsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  namelength .
	Namelengthsrc String `json:"namelengthsrc,omitempty"`
}

ScattergeoHoverlabel

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 (
	ScattergeoHoverlabelAlignLeft  ScattergeoHoverlabelAlign = "left"
	ScattergeoHoverlabelAlignRight ScattergeoHoverlabelAlign = "right"
	ScattergeoHoverlabelAlignAuto  ScattergeoHoverlabelAlign = "auto"
)

type ScattergeoHoverlabelFont

type ScattergeoHoverlabelFont struct {

	// Color
	// arrayOK: true
	// type: color
	//
	Color Color `json:"color,omitempty"`

	// Colorsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  color .
	Colorsrc String `json:"colorsrc,omitempty"`

	// Family
	// arrayOK: true
	// type: string
	// HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.
	Family String `json:"family,omitempty"`

	// Familysrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  family .
	Familysrc String `json:"familysrc,omitempty"`

	// Size
	// arrayOK: true
	// type: number
	//
	Size float64 `json:"size,omitempty"`

	// Sizesrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  size .
	Sizesrc String `json:"sizesrc,omitempty"`
}

ScattergeoHoverlabelFont Sets the font used in hover labels.

type ScattergeoLine

type ScattergeoLine struct {

	// Color
	// arrayOK: false
	// type: color
	// Sets the line color.
	Color Color `json:"color,omitempty"`

	// Dash
	// arrayOK: false
	// type: string
	// Sets the dash style of lines. Set to a dash type string (*solid*, *dot*, *dash*, *longdash*, *dashdot*, or *longdashdot*) or a dash length list in px (eg *5px,10px,2px,2px*).
	Dash String `json:"dash,omitempty"`

	// Width
	// arrayOK: false
	// type: number
	// Sets the line width (in px).
	Width float64 `json:"width,omitempty"`
}

ScattergeoLine

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 (
	ScattergeoLocationmodeIso3         ScattergeoLocationmode = "ISO-3"
	ScattergeoLocationmodeUsaStates    ScattergeoLocationmode = "USA-states"
	ScattergeoLocationmodeCountryNames ScattergeoLocationmode = "country names"
	ScattergeoLocationmodeGeojsonId    ScattergeoLocationmode = "geojson-id"
)

type ScattergeoMarker

type ScattergeoMarker struct {

	// Autocolorscale
	// arrayOK: false
	// type: boolean
	// Determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by `marker.colorscale`. Has an effect only if in `marker.color`is set to a numerical array. In case `colorscale` is unspecified or `autocolorscale` is true, the default  palette will be chosen according to whether numbers in the `color` array are all positive, all negative or mixed.
	Autocolorscale Bool `json:"autocolorscale,omitempty"`

	// Cauto
	// arrayOK: false
	// type: boolean
	// Determines whether or not the color domain is computed with respect to the input data (here in `marker.color`) or the bounds set in `marker.cmin` and `marker.cmax`  Has an effect only if in `marker.color`is set to a numerical array. Defaults to `false` when `marker.cmin` and `marker.cmax` are set by the user.
	Cauto Bool `json:"cauto,omitempty"`

	// Cmax
	// arrayOK: false
	// type: number
	// Sets the upper bound of the color domain. Has an effect only if in `marker.color`is set to a numerical array. Value should have the same units as in `marker.color` and if set, `marker.cmin` must be set as well.
	Cmax float64 `json:"cmax,omitempty"`

	// Cmid
	// arrayOK: false
	// type: number
	// Sets the mid-point of the color domain by scaling `marker.cmin` and/or `marker.cmax` to be equidistant to this point. Has an effect only if in `marker.color`is set to a numerical array. Value should have the same units as in `marker.color`. Has no effect when `marker.cauto` is `false`.
	Cmid float64 `json:"cmid,omitempty"`

	// Cmin
	// arrayOK: false
	// type: number
	// Sets the lower bound of the color domain. Has an effect only if in `marker.color`is set to a numerical array. Value should have the same units as in `marker.color` and if set, `marker.cmax` must be set as well.
	Cmin float64 `json:"cmin,omitempty"`

	// Color
	// arrayOK: true
	// type: color
	// Sets themarkercolor. It accepts either a specific color or an array of numbers that are mapped to the colorscale relative to the max and min values of the array or relative to `marker.cmin` and `marker.cmax` if set.
	Color Color `json:"color,omitempty"`

	// Coloraxis
	// arrayOK: false
	// type: subplotid
	// Sets a reference to a shared color axis. References to these shared color axes are *coloraxis*, *coloraxis2*, *coloraxis3*, etc. Settings for these shared color axes are set in the layout, under `layout.coloraxis`, `layout.coloraxis2`, etc. Note that multiple color scales can be linked to the same color axis.
	Coloraxis String `json:"coloraxis,omitempty"`

	// Colorbar
	// role: Object
	Colorbar *ScattergeoMarkerColorbar `json:"colorbar,omitempty"`

	// Colorscale
	// default: %!s(<nil>)
	// type: colorscale
	// Sets the colorscale. Has an effect only if in `marker.color`is set to a numerical array. The colorscale must be an array containing arrays mapping a normalized value to an rgb, rgba, hex, hsl, hsv, or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, use`marker.cmin` and `marker.cmax`. Alternatively, `colorscale` may be a palette name string of the following list: Greys,YlGnBu,Greens,YlOrRd,Bluered,RdBu,Reds,Blues,Picnic,Rainbow,Portland,Jet,Hot,Blackbody,Earth,Electric,Viridis,Cividis.
	Colorscale ColorScale `json:"colorscale,omitempty"`

	// Colorsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  color .
	Colorsrc String `json:"colorsrc,omitempty"`

	// Gradient
	// role: Object
	Gradient *ScattergeoMarkerGradient `json:"gradient,omitempty"`

	// Line
	// role: Object
	Line *ScattergeoMarkerLine `json:"line,omitempty"`

	// Opacity
	// arrayOK: true
	// type: number
	// Sets the marker opacity.
	Opacity float64 `json:"opacity,omitempty"`

	// Opacitysrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  opacity .
	Opacitysrc String `json:"opacitysrc,omitempty"`

	// Reversescale
	// arrayOK: false
	// type: boolean
	// Reverses the color mapping if true. Has an effect only if in `marker.color`is set to a numerical array. If true, `marker.cmin` will correspond to the last color in the array and `marker.cmax` will correspond to the first color.
	Reversescale Bool `json:"reversescale,omitempty"`

	// Showscale
	// arrayOK: false
	// type: boolean
	// Determines whether or not a colorbar is displayed for this trace. Has an effect only if in `marker.color`is set to a numerical array.
	Showscale Bool `json:"showscale,omitempty"`

	// Size
	// arrayOK: true
	// type: number
	// Sets the marker size (in px).
	Size float64 `json:"size,omitempty"`

	// Sizemin
	// arrayOK: false
	// type: number
	// Has an effect only if `marker.size` is set to a numerical array. Sets the minimum size (in px) of the rendered marker points.
	Sizemin float64 `json:"sizemin,omitempty"`

	// Sizemode
	// default: diameter
	// type: enumerated
	// Has an effect only if `marker.size` is set to a numerical array. Sets the rule for which the data in `size` is converted to pixels.
	Sizemode ScattergeoMarkerSizemode `json:"sizemode,omitempty"`

	// Sizeref
	// arrayOK: false
	// type: number
	// Has an effect only if `marker.size` is set to a numerical array. Sets the scale factor used to determine the rendered size of marker points. Use with `sizemin` and `sizemode`.
	Sizeref float64 `json:"sizeref,omitempty"`

	// Sizesrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  size .
	Sizesrc String `json:"sizesrc,omitempty"`

	// Symbol
	// default: circle
	// type: enumerated
	// Sets the marker symbol type. Adding 100 is equivalent to appending *-open* to a symbol name. Adding 200 is equivalent to appending *-dot* to a symbol name. Adding 300 is equivalent to appending *-open-dot* or *dot-open* to a symbol name.
	Symbol ScattergeoMarkerSymbol `json:"symbol,omitempty"`

	// Symbolsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  symbol .
	Symbolsrc String `json:"symbolsrc,omitempty"`
}

ScattergeoMarker

type ScattergeoMarkerColorbar

type ScattergeoMarkerColorbar struct {

	// Bgcolor
	// arrayOK: false
	// type: color
	// Sets the color of padded area.
	Bgcolor Color `json:"bgcolor,omitempty"`

	// Bordercolor
	// arrayOK: false
	// type: color
	// Sets the axis line color.
	Bordercolor Color `json:"bordercolor,omitempty"`

	// Borderwidth
	// arrayOK: false
	// type: number
	// Sets the width (in px) or the border enclosing this color bar.
	Borderwidth float64 `json:"borderwidth,omitempty"`

	// Dtick
	// arrayOK: false
	// type: any
	// Sets the step in-between ticks on this axis. Use with `tick0`. Must be a positive number, or special strings available to *log* and *date* axes. If the axis `type` is *log*, then ticks are set every 10^(n*dtick) where n is the tick number. For example, to set a tick mark at 1, 10, 100, 1000, ... set dtick to 1. To set tick marks at 1, 100, 10000, ... set dtick to 2. To set tick marks at 1, 5, 25, 125, 625, 3125, ... set dtick to log_10(5), or 0.69897000433. *log* has several special values; *L<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
	// default: B
	// type: enumerated
	// Determines a formatting rule for the tick exponents. For example, consider the number 1,000,000,000. If *none*, it appears as 1,000,000,000. If *e*, 1e+9. If *E*, 1E+9. If *power*, 1x10^9 (with 9 in a super script). If *SI*, 1G. If *B*, 1B.
	Exponentformat ScattergeoMarkerColorbarExponentformat `json:"exponentformat,omitempty"`

	// Len
	// arrayOK: false
	// type: number
	// Sets the length of the color bar This measure excludes the padding of both ends. That is, the color bar length is this length minus the padding on both ends.
	Len float64 `json:"len,omitempty"`

	// Lenmode
	// default: fraction
	// type: enumerated
	// Determines whether this color bar's length (i.e. the measure in the color variation direction) is set in units of plot *fraction* or in *pixels. Use `len` to set the value.
	Lenmode ScattergeoMarkerColorbarLenmode `json:"lenmode,omitempty"`

	// Minexponent
	// arrayOK: false
	// type: number
	// Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*.
	Minexponent float64 `json:"minexponent,omitempty"`

	// Nticks
	// arrayOK: false
	// type: integer
	// Specifies the maximum number of ticks for the particular axis. The actual number of ticks will be chosen automatically to be less than or equal to `nticks`. Has an effect only if `tickmode` is set to *auto*.
	Nticks int64 `json:"nticks,omitempty"`

	// Outlinecolor
	// arrayOK: false
	// type: color
	// Sets the axis line color.
	Outlinecolor Color `json:"outlinecolor,omitempty"`

	// Outlinewidth
	// arrayOK: false
	// type: number
	// Sets the width (in px) of the axis line.
	Outlinewidth float64 `json:"outlinewidth,omitempty"`

	// Separatethousands
	// arrayOK: false
	// type: boolean
	// If "true", even 4-digit integers are separated
	Separatethousands Bool `json:"separatethousands,omitempty"`

	// Showexponent
	// default: all
	// type: enumerated
	// If *all*, all exponents are shown besides their significands. If *first*, only the exponent of the first tick is shown. If *last*, only the exponent of the last tick is shown. If *none*, no exponents appear.
	Showexponent ScattergeoMarkerColorbarShowexponent `json:"showexponent,omitempty"`

	// Showticklabels
	// arrayOK: false
	// type: boolean
	// Determines whether or not the tick labels are drawn.
	Showticklabels Bool `json:"showticklabels,omitempty"`

	// Showtickprefix
	// default: all
	// type: enumerated
	// If *all*, all tick labels are displayed with a prefix. If *first*, only the first tick is displayed with a prefix. If *last*, only the last tick is displayed with a suffix. If *none*, tick prefixes are hidden.
	Showtickprefix ScattergeoMarkerColorbarShowtickprefix `json:"showtickprefix,omitempty"`

	// Showticksuffix
	// default: all
	// type: enumerated
	// Same as `showtickprefix` but for tick suffixes.
	Showticksuffix ScattergeoMarkerColorbarShowticksuffix `json:"showticksuffix,omitempty"`

	// Thickness
	// arrayOK: false
	// type: number
	// Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.
	Thickness float64 `json:"thickness,omitempty"`

	// Thicknessmode
	// default: pixels
	// type: enumerated
	// Determines whether this color bar's thickness (i.e. the measure in the constant color direction) is set in units of plot *fraction* or in *pixels*. Use `thickness` to set the value.
	Thicknessmode ScattergeoMarkerColorbarThicknessmode `json:"thicknessmode,omitempty"`

	// Tick0
	// arrayOK: false
	// type: any
	// Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2) except when `dtick`=*L<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
	// arrayOK: false
	// type: angle
	// Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.
	Tickangle float64 `json:"tickangle,omitempty"`

	// Tickcolor
	// arrayOK: false
	// type: color
	// Sets the tick color.
	Tickcolor Color `json:"tickcolor,omitempty"`

	// Tickfont
	// role: Object
	Tickfont *ScattergeoMarkerColorbarTickfont `json:"tickfont,omitempty"`

	// Tickformat
	// arrayOK: false
	// type: string
	// Sets the tick label formatting rule using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-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
	// It's an items array and what goes inside it's... messy... check the docs
	// I will be happy if you want to contribute by implementing this
	// just raise an issue before you start so we do not overlap
	Tickformatstops interface{} `json:"tickformatstops,omitempty"`

	// Ticklabelposition
	// default: outside
	// type: enumerated
	// Determines where tick labels are drawn.
	Ticklabelposition ScattergeoMarkerColorbarTicklabelposition `json:"ticklabelposition,omitempty"`

	// Ticklen
	// arrayOK: false
	// type: number
	// Sets the tick length (in px).
	Ticklen float64 `json:"ticklen,omitempty"`

	// Tickmode
	// default: %!s(<nil>)
	// type: enumerated
	// Sets the tick mode for this axis. If *auto*, the number of ticks is set via `nticks`. If *linear*, the placement of the ticks is determined by a starting position `tick0` and a tick step `dtick` (*linear* is the default value if `tick0` and `dtick` are provided). If *array*, the placement of the ticks is set via `tickvals` and the tick text is `ticktext`. (*array* is the default value if `tickvals` is provided).
	Tickmode ScattergeoMarkerColorbarTickmode `json:"tickmode,omitempty"`

	// Tickprefix
	// arrayOK: false
	// type: string
	// Sets a tick label prefix.
	Tickprefix String `json:"tickprefix,omitempty"`

	// Ticks
	// default:
	// type: enumerated
	// Determines whether ticks are drawn or not. If **, this axis' ticks are not drawn. If *outside* (*inside*), this axis' are drawn outside (inside) the axis lines.
	Ticks ScattergeoMarkerColorbarTicks `json:"ticks,omitempty"`

	// Ticksuffix
	// arrayOK: false
	// type: string
	// Sets a tick label suffix.
	Ticksuffix String `json:"ticksuffix,omitempty"`

	// Ticktext
	// arrayOK: false
	// type: data_array
	// Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `tickvals`.
	Ticktext interface{} `json:"ticktext,omitempty"`

	// Ticktextsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  ticktext .
	Ticktextsrc String `json:"ticktextsrc,omitempty"`

	// Tickvals
	// arrayOK: false
	// type: data_array
	// Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.
	Tickvals interface{} `json:"tickvals,omitempty"`

	// Tickvalssrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  tickvals .
	Tickvalssrc String `json:"tickvalssrc,omitempty"`

	// Tickwidth
	// arrayOK: false
	// type: number
	// Sets the tick width (in px).
	Tickwidth float64 `json:"tickwidth,omitempty"`

	// Title
	// role: Object
	Title *ScattergeoMarkerColorbarTitle `json:"title,omitempty"`

	// X
	// arrayOK: false
	// type: number
	// Sets the x position of the color bar (in plot fraction).
	X float64 `json:"x,omitempty"`

	// Xanchor
	// default: left
	// type: enumerated
	// Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the color bar.
	Xanchor ScattergeoMarkerColorbarXanchor `json:"xanchor,omitempty"`

	// Xpad
	// arrayOK: false
	// type: number
	// Sets the amount of padding (in px) along the x direction.
	Xpad float64 `json:"xpad,omitempty"`

	// Y
	// arrayOK: false
	// type: number
	// Sets the y position of the color bar (in plot fraction).
	Y float64 `json:"y,omitempty"`

	// Yanchor
	// default: middle
	// type: enumerated
	// Sets this color bar's vertical position anchor This anchor binds the `y` position to the *top*, *middle* or *bottom* of the color bar.
	Yanchor ScattergeoMarkerColorbarYanchor `json:"yanchor,omitempty"`

	// Ypad
	// arrayOK: false
	// type: number
	// Sets the amount of padding (in px) along the y direction.
	Ypad float64 `json:"ypad,omitempty"`
}

ScattergeoMarkerColorbar

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 (
	ScattergeoMarkerColorbarExponentformatNone  ScattergeoMarkerColorbarExponentformat = "none"
	ScattergeoMarkerColorbarExponentformatE1    ScattergeoMarkerColorbarExponentformat = "e"
	ScattergeoMarkerColorbarExponentformatE2    ScattergeoMarkerColorbarExponentformat = "E"
	ScattergeoMarkerColorbarExponentformatPower ScattergeoMarkerColorbarExponentformat = "power"
	ScattergeoMarkerColorbarExponentformatSi    ScattergeoMarkerColorbarExponentformat = "SI"
	ScattergeoMarkerColorbarExponentformatB     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 (
	ScattergeoMarkerColorbarLenmodeFraction ScattergeoMarkerColorbarLenmode = "fraction"
	ScattergeoMarkerColorbarLenmodePixels   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 (
	ScattergeoMarkerColorbarShowexponentAll   ScattergeoMarkerColorbarShowexponent = "all"
	ScattergeoMarkerColorbarShowexponentFirst ScattergeoMarkerColorbarShowexponent = "first"
	ScattergeoMarkerColorbarShowexponentLast  ScattergeoMarkerColorbarShowexponent = "last"
	ScattergeoMarkerColorbarShowexponentNone  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 (
	ScattergeoMarkerColorbarShowtickprefixAll   ScattergeoMarkerColorbarShowtickprefix = "all"
	ScattergeoMarkerColorbarShowtickprefixFirst ScattergeoMarkerColorbarShowtickprefix = "first"
	ScattergeoMarkerColorbarShowtickprefixLast  ScattergeoMarkerColorbarShowtickprefix = "last"
	ScattergeoMarkerColorbarShowtickprefixNone  ScattergeoMarkerColorbarShowtickprefix = "none"
)

type ScattergeoMarkerColorbarShowticksuffix

type ScattergeoMarkerColorbarShowticksuffix string

ScattergeoMarkerColorbarShowticksuffix Same as `showtickprefix` but for tick suffixes.

const (
	ScattergeoMarkerColorbarShowticksuffixAll   ScattergeoMarkerColorbarShowticksuffix = "all"
	ScattergeoMarkerColorbarShowticksuffixFirst ScattergeoMarkerColorbarShowticksuffix = "first"
	ScattergeoMarkerColorbarShowticksuffixLast  ScattergeoMarkerColorbarShowticksuffix = "last"
	ScattergeoMarkerColorbarShowticksuffixNone  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 (
	ScattergeoMarkerColorbarThicknessmodeFraction ScattergeoMarkerColorbarThicknessmode = "fraction"
	ScattergeoMarkerColorbarThicknessmodePixels   ScattergeoMarkerColorbarThicknessmode = "pixels"
)

type ScattergeoMarkerColorbarTickfont

type ScattergeoMarkerColorbarTickfont struct {

	// Color
	// arrayOK: false
	// type: color
	//
	Color Color `json:"color,omitempty"`

	// Family
	// arrayOK: false
	// type: string
	// HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.
	Family String `json:"family,omitempty"`

	// Size
	// arrayOK: false
	// type: number
	//
	Size float64 `json:"size,omitempty"`
}

ScattergeoMarkerColorbarTickfont Sets the color bar's tick label font

type ScattergeoMarkerColorbarTicklabelposition added in v0.3.1

type ScattergeoMarkerColorbarTicklabelposition string

ScattergeoMarkerColorbarTicklabelposition Determines where tick labels are drawn.

const (
	ScattergeoMarkerColorbarTicklabelpositionOutside       ScattergeoMarkerColorbarTicklabelposition = "outside"
	ScattergeoMarkerColorbarTicklabelpositionInside        ScattergeoMarkerColorbarTicklabelposition = "inside"
	ScattergeoMarkerColorbarTicklabelpositionOutsideTop    ScattergeoMarkerColorbarTicklabelposition = "outside top"
	ScattergeoMarkerColorbarTicklabelpositionInsideTop     ScattergeoMarkerColorbarTicklabelposition = "inside top"
	ScattergeoMarkerColorbarTicklabelpositionOutsideBottom ScattergeoMarkerColorbarTicklabelposition = "outside bottom"
	ScattergeoMarkerColorbarTicklabelpositionInsideBottom  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 (
	ScattergeoMarkerColorbarTickmodeAuto   ScattergeoMarkerColorbarTickmode = "auto"
	ScattergeoMarkerColorbarTickmodeLinear ScattergeoMarkerColorbarTickmode = "linear"
	ScattergeoMarkerColorbarTickmodeArray  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 (
	ScattergeoMarkerColorbarTicksOutside ScattergeoMarkerColorbarTicks = "outside"
	ScattergeoMarkerColorbarTicksInside  ScattergeoMarkerColorbarTicks = "inside"
	ScattergeoMarkerColorbarTicksEmpty   ScattergeoMarkerColorbarTicks = ""
)

type ScattergeoMarkerColorbarTitle

type ScattergeoMarkerColorbarTitle struct {

	// Font
	// role: Object
	Font *ScattergeoMarkerColorbarTitleFont `json:"font,omitempty"`

	// Side
	// default: top
	// type: enumerated
	// Determines the location of color bar's title with respect to the color bar. Note that the title's location used to be set by the now deprecated `titleside` attribute.
	Side ScattergeoMarkerColorbarTitleSide `json:"side,omitempty"`

	// Text
	// arrayOK: false
	// type: string
	// Sets the title of the color bar. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.
	Text String `json:"text,omitempty"`
}

ScattergeoMarkerColorbarTitle

type ScattergeoMarkerColorbarTitleFont

type ScattergeoMarkerColorbarTitleFont struct {

	// Color
	// arrayOK: false
	// type: color
	//
	Color Color `json:"color,omitempty"`

	// Family
	// arrayOK: false
	// type: string
	// HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.
	Family String `json:"family,omitempty"`

	// Size
	// arrayOK: false
	// type: number
	//
	Size float64 `json:"size,omitempty"`
}

ScattergeoMarkerColorbarTitleFont Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.

type 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 (
	ScattergeoMarkerColorbarTitleSideRight  ScattergeoMarkerColorbarTitleSide = "right"
	ScattergeoMarkerColorbarTitleSideTop    ScattergeoMarkerColorbarTitleSide = "top"
	ScattergeoMarkerColorbarTitleSideBottom 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 (
	ScattergeoMarkerColorbarXanchorLeft   ScattergeoMarkerColorbarXanchor = "left"
	ScattergeoMarkerColorbarXanchorCenter ScattergeoMarkerColorbarXanchor = "center"
	ScattergeoMarkerColorbarXanchorRight  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 (
	ScattergeoMarkerColorbarYanchorTop    ScattergeoMarkerColorbarYanchor = "top"
	ScattergeoMarkerColorbarYanchorMiddle ScattergeoMarkerColorbarYanchor = "middle"
	ScattergeoMarkerColorbarYanchorBottom ScattergeoMarkerColorbarYanchor = "bottom"
)

type ScattergeoMarkerGradient

type ScattergeoMarkerGradient struct {

	// Color
	// arrayOK: true
	// type: color
	// Sets the final color of the gradient fill: the center color for radial, the right for horizontal, or the bottom for vertical.
	Color Color `json:"color,omitempty"`

	// Colorsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  color .
	Colorsrc String `json:"colorsrc,omitempty"`

	// Type
	// default: none
	// type: enumerated
	// Sets the type of gradient used to fill the markers
	Type ScattergeoMarkerGradientType `json:"type,omitempty"`

	// Typesrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  type .
	Typesrc String `json:"typesrc,omitempty"`
}

ScattergeoMarkerGradient

type ScattergeoMarkerGradientType

type ScattergeoMarkerGradientType string

ScattergeoMarkerGradientType Sets the type of gradient used to fill the markers

const (
	ScattergeoMarkerGradientTypeRadial     ScattergeoMarkerGradientType = "radial"
	ScattergeoMarkerGradientTypeHorizontal ScattergeoMarkerGradientType = "horizontal"
	ScattergeoMarkerGradientTypeVertical   ScattergeoMarkerGradientType = "vertical"
	ScattergeoMarkerGradientTypeNone       ScattergeoMarkerGradientType = "none"
)

type ScattergeoMarkerLine

type ScattergeoMarkerLine struct {

	// Autocolorscale
	// arrayOK: false
	// type: boolean
	// Determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by `marker.line.colorscale`. Has an effect only if in `marker.line.color`is set to a numerical array. In case `colorscale` is unspecified or `autocolorscale` is true, the default  palette will be chosen according to whether numbers in the `color` array are all positive, all negative or mixed.
	Autocolorscale Bool `json:"autocolorscale,omitempty"`

	// Cauto
	// arrayOK: false
	// type: boolean
	// Determines whether or not the color domain is computed with respect to the input data (here in `marker.line.color`) or the bounds set in `marker.line.cmin` and `marker.line.cmax`  Has an effect only if in `marker.line.color`is set to a numerical array. Defaults to `false` when `marker.line.cmin` and `marker.line.cmax` are set by the user.
	Cauto Bool `json:"cauto,omitempty"`

	// Cmax
	// arrayOK: false
	// type: number
	// Sets the upper bound of the color domain. Has an effect only if in `marker.line.color`is set to a numerical array. Value should have the same units as in `marker.line.color` and if set, `marker.line.cmin` must be set as well.
	Cmax float64 `json:"cmax,omitempty"`

	// Cmid
	// arrayOK: false
	// type: number
	// Sets the mid-point of the color domain by scaling `marker.line.cmin` and/or `marker.line.cmax` to be equidistant to this point. Has an effect only if in `marker.line.color`is set to a numerical array. Value should have the same units as in `marker.line.color`. Has no effect when `marker.line.cauto` is `false`.
	Cmid float64 `json:"cmid,omitempty"`

	// Cmin
	// arrayOK: false
	// type: number
	// Sets the lower bound of the color domain. Has an effect only if in `marker.line.color`is set to a numerical array. Value should have the same units as in `marker.line.color` and if set, `marker.line.cmax` must be set as well.
	Cmin float64 `json:"cmin,omitempty"`

	// Color
	// arrayOK: true
	// type: color
	// Sets 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 Color `json:"color,omitempty"`

	// Coloraxis
	// arrayOK: false
	// type: subplotid
	// Sets a reference to a shared color axis. References to these shared color axes are *coloraxis*, *coloraxis2*, *coloraxis3*, etc. Settings for these shared color axes are set in the layout, under `layout.coloraxis`, `layout.coloraxis2`, etc. Note that multiple color scales can be linked to the same color axis.
	Coloraxis String `json:"coloraxis,omitempty"`

	// Colorscale
	// default: %!s(<nil>)
	// type: colorscale
	// Sets the colorscale. Has an effect only if in `marker.line.color`is set to a numerical array. The colorscale must be an array containing arrays mapping a normalized value to an rgb, rgba, hex, hsl, hsv, or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, use`marker.line.cmin` and `marker.line.cmax`. Alternatively, `colorscale` may be a palette name string of the following list: Greys,YlGnBu,Greens,YlOrRd,Bluered,RdBu,Reds,Blues,Picnic,Rainbow,Portland,Jet,Hot,Blackbody,Earth,Electric,Viridis,Cividis.
	Colorscale ColorScale `json:"colorscale,omitempty"`

	// Colorsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  color .
	Colorsrc String `json:"colorsrc,omitempty"`

	// Reversescale
	// arrayOK: false
	// type: boolean
	// Reverses the color mapping if true. Has an effect only if in `marker.line.color`is set to a numerical array. If true, `marker.line.cmin` will correspond to the last color in the array and `marker.line.cmax` will correspond to the first color.
	Reversescale Bool `json:"reversescale,omitempty"`

	// Width
	// arrayOK: true
	// type: number
	// Sets the width (in px) of the lines bounding the marker points.
	Width float64 `json:"width,omitempty"`

	// Widthsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  width .
	Widthsrc String `json:"widthsrc,omitempty"`
}

ScattergeoMarkerLine

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 (
	ScattergeoMarkerSizemodeDiameter ScattergeoMarkerSizemode = "diameter"
	ScattergeoMarkerSizemodeArea     ScattergeoMarkerSizemode = "area"
)

type ScattergeoMarkerSymbol

type ScattergeoMarkerSymbol interface{}

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.

var (
	ScattergeoMarkerSymbolNumber0                 ScattergeoMarkerSymbol = 0
	ScattergeoMarkerSymbol0                       ScattergeoMarkerSymbol = "0"
	ScattergeoMarkerSymbolCircle                  ScattergeoMarkerSymbol = "circle"
	ScattergeoMarkerSymbolNumber100               ScattergeoMarkerSymbol = 100
	ScattergeoMarkerSymbol100                     ScattergeoMarkerSymbol = "100"
	ScattergeoMarkerSymbolCircleOpen              ScattergeoMarkerSymbol = "circle-open"
	ScattergeoMarkerSymbolNumber200               ScattergeoMarkerSymbol = 200
	ScattergeoMarkerSymbol200                     ScattergeoMarkerSymbol = "200"
	ScattergeoMarkerSymbolCircleDot               ScattergeoMarkerSymbol = "circle-dot"
	ScattergeoMarkerSymbolNumber300               ScattergeoMarkerSymbol = 300
	ScattergeoMarkerSymbol300                     ScattergeoMarkerSymbol = "300"
	ScattergeoMarkerSymbolCircleOpenDot           ScattergeoMarkerSymbol = "circle-open-dot"
	ScattergeoMarkerSymbolNumber1                 ScattergeoMarkerSymbol = 1
	ScattergeoMarkerSymbol1                       ScattergeoMarkerSymbol = "1"
	ScattergeoMarkerSymbolSquare                  ScattergeoMarkerSymbol = "square"
	ScattergeoMarkerSymbolNumber101               ScattergeoMarkerSymbol = 101
	ScattergeoMarkerSymbol101                     ScattergeoMarkerSymbol = "101"
	ScattergeoMarkerSymbolSquareOpen              ScattergeoMarkerSymbol = "square-open"
	ScattergeoMarkerSymbolNumber201               ScattergeoMarkerSymbol = 201
	ScattergeoMarkerSymbol201                     ScattergeoMarkerSymbol = "201"
	ScattergeoMarkerSymbolSquareDot               ScattergeoMarkerSymbol = "square-dot"
	ScattergeoMarkerSymbolNumber301               ScattergeoMarkerSymbol = 301
	ScattergeoMarkerSymbol301                     ScattergeoMarkerSymbol = "301"
	ScattergeoMarkerSymbolSquareOpenDot           ScattergeoMarkerSymbol = "square-open-dot"
	ScattergeoMarkerSymbolNumber2                 ScattergeoMarkerSymbol = 2
	ScattergeoMarkerSymbol2                       ScattergeoMarkerSymbol = "2"
	ScattergeoMarkerSymbolDiamond                 ScattergeoMarkerSymbol = "diamond"
	ScattergeoMarkerSymbolNumber102               ScattergeoMarkerSymbol = 102
	ScattergeoMarkerSymbol102                     ScattergeoMarkerSymbol = "102"
	ScattergeoMarkerSymbolDiamondOpen             ScattergeoMarkerSymbol = "diamond-open"
	ScattergeoMarkerSymbolNumber202               ScattergeoMarkerSymbol = 202
	ScattergeoMarkerSymbol202                     ScattergeoMarkerSymbol = "202"
	ScattergeoMarkerSymbolDiamondDot              ScattergeoMarkerSymbol = "diamond-dot"
	ScattergeoMarkerSymbolNumber302               ScattergeoMarkerSymbol = 302
	ScattergeoMarkerSymbol302                     ScattergeoMarkerSymbol = "302"
	ScattergeoMarkerSymbolDiamondOpenDot          ScattergeoMarkerSymbol = "diamond-open-dot"
	ScattergeoMarkerSymbolNumber3                 ScattergeoMarkerSymbol = 3
	ScattergeoMarkerSymbol3                       ScattergeoMarkerSymbol = "3"
	ScattergeoMarkerSymbolCross                   ScattergeoMarkerSymbol = "cross"
	ScattergeoMarkerSymbolNumber103               ScattergeoMarkerSymbol = 103
	ScattergeoMarkerSymbol103                     ScattergeoMarkerSymbol = "103"
	ScattergeoMarkerSymbolCrossOpen               ScattergeoMarkerSymbol = "cross-open"
	ScattergeoMarkerSymbolNumber203               ScattergeoMarkerSymbol = 203
	ScattergeoMarkerSymbol203                     ScattergeoMarkerSymbol = "203"
	ScattergeoMarkerSymbolCrossDot                ScattergeoMarkerSymbol = "cross-dot"
	ScattergeoMarkerSymbolNumber303               ScattergeoMarkerSymbol = 303
	ScattergeoMarkerSymbol303                     ScattergeoMarkerSymbol = "303"
	ScattergeoMarkerSymbolCrossOpenDot            ScattergeoMarkerSymbol = "cross-open-dot"
	ScattergeoMarkerSymbolNumber4                 ScattergeoMarkerSymbol = 4
	ScattergeoMarkerSymbol4                       ScattergeoMarkerSymbol = "4"
	ScattergeoMarkerSymbolX                       ScattergeoMarkerSymbol = "x"
	ScattergeoMarkerSymbolNumber104               ScattergeoMarkerSymbol = 104
	ScattergeoMarkerSymbol104                     ScattergeoMarkerSymbol = "104"
	ScattergeoMarkerSymbolXOpen                   ScattergeoMarkerSymbol = "x-open"
	ScattergeoMarkerSymbolNumber204               ScattergeoMarkerSymbol = 204
	ScattergeoMarkerSymbol204                     ScattergeoMarkerSymbol = "204"
	ScattergeoMarkerSymbolXDot                    ScattergeoMarkerSymbol = "x-dot"
	ScattergeoMarkerSymbolNumber304               ScattergeoMarkerSymbol = 304
	ScattergeoMarkerSymbol304                     ScattergeoMarkerSymbol = "304"
	ScattergeoMarkerSymbolXOpenDot                ScattergeoMarkerSymbol = "x-open-dot"
	ScattergeoMarkerSymbolNumber5                 ScattergeoMarkerSymbol = 5
	ScattergeoMarkerSymbol5                       ScattergeoMarkerSymbol = "5"
	ScattergeoMarkerSymbolTriangleUp              ScattergeoMarkerSymbol = "triangle-up"
	ScattergeoMarkerSymbolNumber105               ScattergeoMarkerSymbol = 105
	ScattergeoMarkerSymbol105                     ScattergeoMarkerSymbol = "105"
	ScattergeoMarkerSymbolTriangleUpOpen          ScattergeoMarkerSymbol = "triangle-up-open"
	ScattergeoMarkerSymbolNumber205               ScattergeoMarkerSymbol = 205
	ScattergeoMarkerSymbol205                     ScattergeoMarkerSymbol = "205"
	ScattergeoMarkerSymbolTriangleUpDot           ScattergeoMarkerSymbol = "triangle-up-dot"
	ScattergeoMarkerSymbolNumber305               ScattergeoMarkerSymbol = 305
	ScattergeoMarkerSymbol305                     ScattergeoMarkerSymbol = "305"
	ScattergeoMarkerSymbolTriangleUpOpenDot       ScattergeoMarkerSymbol = "triangle-up-open-dot"
	ScattergeoMarkerSymbolNumber6                 ScattergeoMarkerSymbol = 6
	ScattergeoMarkerSymbol6                       ScattergeoMarkerSymbol = "6"
	ScattergeoMarkerSymbolTriangleDown            ScattergeoMarkerSymbol = "triangle-down"
	ScattergeoMarkerSymbolNumber106               ScattergeoMarkerSymbol = 106
	ScattergeoMarkerSymbol106                     ScattergeoMarkerSymbol = "106"
	ScattergeoMarkerSymbolTriangleDownOpen        ScattergeoMarkerSymbol = "triangle-down-open"
	ScattergeoMarkerSymbolNumber206               ScattergeoMarkerSymbol = 206
	ScattergeoMarkerSymbol206                     ScattergeoMarkerSymbol = "206"
	ScattergeoMarkerSymbolTriangleDownDot         ScattergeoMarkerSymbol = "triangle-down-dot"
	ScattergeoMarkerSymbolNumber306               ScattergeoMarkerSymbol = 306
	ScattergeoMarkerSymbol306                     ScattergeoMarkerSymbol = "306"
	ScattergeoMarkerSymbolTriangleDownOpenDot     ScattergeoMarkerSymbol = "triangle-down-open-dot"
	ScattergeoMarkerSymbolNumber7                 ScattergeoMarkerSymbol = 7
	ScattergeoMarkerSymbol7                       ScattergeoMarkerSymbol = "7"
	ScattergeoMarkerSymbolTriangleLeft            ScattergeoMarkerSymbol = "triangle-left"
	ScattergeoMarkerSymbolNumber107               ScattergeoMarkerSymbol = 107
	ScattergeoMarkerSymbol107                     ScattergeoMarkerSymbol = "107"
	ScattergeoMarkerSymbolTriangleLeftOpen        ScattergeoMarkerSymbol = "triangle-left-open"
	ScattergeoMarkerSymbolNumber207               ScattergeoMarkerSymbol = 207
	ScattergeoMarkerSymbol207                     ScattergeoMarkerSymbol = "207"
	ScattergeoMarkerSymbolTriangleLeftDot         ScattergeoMarkerSymbol = "triangle-left-dot"
	ScattergeoMarkerSymbolNumber307               ScattergeoMarkerSymbol = 307
	ScattergeoMarkerSymbol307                     ScattergeoMarkerSymbol = "307"
	ScattergeoMarkerSymbolTriangleLeftOpenDot     ScattergeoMarkerSymbol = "triangle-left-open-dot"
	ScattergeoMarkerSymbolNumber8                 ScattergeoMarkerSymbol = 8
	ScattergeoMarkerSymbol8                       ScattergeoMarkerSymbol = "8"
	ScattergeoMarkerSymbolTriangleRight           ScattergeoMarkerSymbol = "triangle-right"
	ScattergeoMarkerSymbolNumber108               ScattergeoMarkerSymbol = 108
	ScattergeoMarkerSymbol108                     ScattergeoMarkerSymbol = "108"
	ScattergeoMarkerSymbolTriangleRightOpen       ScattergeoMarkerSymbol = "triangle-right-open"
	ScattergeoMarkerSymbolNumber208               ScattergeoMarkerSymbol = 208
	ScattergeoMarkerSymbol208                     ScattergeoMarkerSymbol = "208"
	ScattergeoMarkerSymbolTriangleRightDot        ScattergeoMarkerSymbol = "triangle-right-dot"
	ScattergeoMarkerSymbolNumber308               ScattergeoMarkerSymbol = 308
	ScattergeoMarkerSymbol308                     ScattergeoMarkerSymbol = "308"
	ScattergeoMarkerSymbolTriangleRightOpenDot    ScattergeoMarkerSymbol = "triangle-right-open-dot"
	ScattergeoMarkerSymbolNumber9                 ScattergeoMarkerSymbol = 9
	ScattergeoMarkerSymbol9                       ScattergeoMarkerSymbol = "9"
	ScattergeoMarkerSymbolTriangleNe              ScattergeoMarkerSymbol = "triangle-ne"
	ScattergeoMarkerSymbolNumber109               ScattergeoMarkerSymbol = 109
	ScattergeoMarkerSymbol109                     ScattergeoMarkerSymbol = "109"
	ScattergeoMarkerSymbolTriangleNeOpen          ScattergeoMarkerSymbol = "triangle-ne-open"
	ScattergeoMarkerSymbolNumber209               ScattergeoMarkerSymbol = 209
	ScattergeoMarkerSymbol209                     ScattergeoMarkerSymbol = "209"
	ScattergeoMarkerSymbolTriangleNeDot           ScattergeoMarkerSymbol = "triangle-ne-dot"
	ScattergeoMarkerSymbolNumber309               ScattergeoMarkerSymbol = 309
	ScattergeoMarkerSymbol309                     ScattergeoMarkerSymbol = "309"
	ScattergeoMarkerSymbolTriangleNeOpenDot       ScattergeoMarkerSymbol = "triangle-ne-open-dot"
	ScattergeoMarkerSymbolNumber10                ScattergeoMarkerSymbol = 10
	ScattergeoMarkerSymbol10                      ScattergeoMarkerSymbol = "10"
	ScattergeoMarkerSymbolTriangleSe              ScattergeoMarkerSymbol = "triangle-se"
	ScattergeoMarkerSymbolNumber110               ScattergeoMarkerSymbol = 110
	ScattergeoMarkerSymbol110                     ScattergeoMarkerSymbol = "110"
	ScattergeoMarkerSymbolTriangleSeOpen          ScattergeoMarkerSymbol = "triangle-se-open"
	ScattergeoMarkerSymbolNumber210               ScattergeoMarkerSymbol = 210
	ScattergeoMarkerSymbol210                     ScattergeoMarkerSymbol = "210"
	ScattergeoMarkerSymbolTriangleSeDot           ScattergeoMarkerSymbol = "triangle-se-dot"
	ScattergeoMarkerSymbolNumber310               ScattergeoMarkerSymbol = 310
	ScattergeoMarkerSymbol310                     ScattergeoMarkerSymbol = "310"
	ScattergeoMarkerSymbolTriangleSeOpenDot       ScattergeoMarkerSymbol = "triangle-se-open-dot"
	ScattergeoMarkerSymbolNumber11                ScattergeoMarkerSymbol = 11
	ScattergeoMarkerSymbol11                      ScattergeoMarkerSymbol = "11"
	ScattergeoMarkerSymbolTriangleSw              ScattergeoMarkerSymbol = "triangle-sw"
	ScattergeoMarkerSymbolNumber111               ScattergeoMarkerSymbol = 111
	ScattergeoMarkerSymbol111                     ScattergeoMarkerSymbol = "111"
	ScattergeoMarkerSymbolTriangleSwOpen          ScattergeoMarkerSymbol = "triangle-sw-open"
	ScattergeoMarkerSymbolNumber211               ScattergeoMarkerSymbol = 211
	ScattergeoMarkerSymbol211                     ScattergeoMarkerSymbol = "211"
	ScattergeoMarkerSymbolTriangleSwDot           ScattergeoMarkerSymbol = "triangle-sw-dot"
	ScattergeoMarkerSymbolNumber311               ScattergeoMarkerSymbol = 311
	ScattergeoMarkerSymbol311                     ScattergeoMarkerSymbol = "311"
	ScattergeoMarkerSymbolTriangleSwOpenDot       ScattergeoMarkerSymbol = "triangle-sw-open-dot"
	ScattergeoMarkerSymbolNumber12                ScattergeoMarkerSymbol = 12
	ScattergeoMarkerSymbol12                      ScattergeoMarkerSymbol = "12"
	ScattergeoMarkerSymbolTriangleNw              ScattergeoMarkerSymbol = "triangle-nw"
	ScattergeoMarkerSymbolNumber112               ScattergeoMarkerSymbol = 112
	ScattergeoMarkerSymbol112                     ScattergeoMarkerSymbol = "112"
	ScattergeoMarkerSymbolTriangleNwOpen          ScattergeoMarkerSymbol = "triangle-nw-open"
	ScattergeoMarkerSymbolNumber212               ScattergeoMarkerSymbol = 212
	ScattergeoMarkerSymbol212                     ScattergeoMarkerSymbol = "212"
	ScattergeoMarkerSymbolTriangleNwDot           ScattergeoMarkerSymbol = "triangle-nw-dot"
	ScattergeoMarkerSymbolNumber312               ScattergeoMarkerSymbol = 312
	ScattergeoMarkerSymbol312                     ScattergeoMarkerSymbol = "312"
	ScattergeoMarkerSymbolTriangleNwOpenDot       ScattergeoMarkerSymbol = "triangle-nw-open-dot"
	ScattergeoMarkerSymbolNumber13                ScattergeoMarkerSymbol = 13
	ScattergeoMarkerSymbol13                      ScattergeoMarkerSymbol = "13"
	ScattergeoMarkerSymbolPentagon                ScattergeoMarkerSymbol = "pentagon"
	ScattergeoMarkerSymbolNumber113               ScattergeoMarkerSymbol = 113
	ScattergeoMarkerSymbol113                     ScattergeoMarkerSymbol = "113"
	ScattergeoMarkerSymbolPentagonOpen            ScattergeoMarkerSymbol = "pentagon-open"
	ScattergeoMarkerSymbolNumber213               ScattergeoMarkerSymbol = 213
	ScattergeoMarkerSymbol213                     ScattergeoMarkerSymbol = "213"
	ScattergeoMarkerSymbolPentagonDot             ScattergeoMarkerSymbol = "pentagon-dot"
	ScattergeoMarkerSymbolNumber313               ScattergeoMarkerSymbol = 313
	ScattergeoMarkerSymbol313                     ScattergeoMarkerSymbol = "313"
	ScattergeoMarkerSymbolPentagonOpenDot         ScattergeoMarkerSymbol = "pentagon-open-dot"
	ScattergeoMarkerSymbolNumber14                ScattergeoMarkerSymbol = 14
	ScattergeoMarkerSymbol14                      ScattergeoMarkerSymbol = "14"
	ScattergeoMarkerSymbolHexagon                 ScattergeoMarkerSymbol = "hexagon"
	ScattergeoMarkerSymbolNumber114               ScattergeoMarkerSymbol = 114
	ScattergeoMarkerSymbol114                     ScattergeoMarkerSymbol = "114"
	ScattergeoMarkerSymbolHexagonOpen             ScattergeoMarkerSymbol = "hexagon-open"
	ScattergeoMarkerSymbolNumber214               ScattergeoMarkerSymbol = 214
	ScattergeoMarkerSymbol214                     ScattergeoMarkerSymbol = "214"
	ScattergeoMarkerSymbolHexagonDot              ScattergeoMarkerSymbol = "hexagon-dot"
	ScattergeoMarkerSymbolNumber314               ScattergeoMarkerSymbol = 314
	ScattergeoMarkerSymbol314                     ScattergeoMarkerSymbol = "314"
	ScattergeoMarkerSymbolHexagonOpenDot          ScattergeoMarkerSymbol = "hexagon-open-dot"
	ScattergeoMarkerSymbolNumber15                ScattergeoMarkerSymbol = 15
	ScattergeoMarkerSymbol15                      ScattergeoMarkerSymbol = "15"
	ScattergeoMarkerSymbolHexagon2                ScattergeoMarkerSymbol = "hexagon2"
	ScattergeoMarkerSymbolNumber115               ScattergeoMarkerSymbol = 115
	ScattergeoMarkerSymbol115                     ScattergeoMarkerSymbol = "115"
	ScattergeoMarkerSymbolHexagon2Open            ScattergeoMarkerSymbol = "hexagon2-open"
	ScattergeoMarkerSymbolNumber215               ScattergeoMarkerSymbol = 215
	ScattergeoMarkerSymbol215                     ScattergeoMarkerSymbol = "215"
	ScattergeoMarkerSymbolHexagon2Dot             ScattergeoMarkerSymbol = "hexagon2-dot"
	ScattergeoMarkerSymbolNumber315               ScattergeoMarkerSymbol = 315
	ScattergeoMarkerSymbol315                     ScattergeoMarkerSymbol = "315"
	ScattergeoMarkerSymbolHexagon2OpenDot         ScattergeoMarkerSymbol = "hexagon2-open-dot"
	ScattergeoMarkerSymbolNumber16                ScattergeoMarkerSymbol = 16
	ScattergeoMarkerSymbol16                      ScattergeoMarkerSymbol = "16"
	ScattergeoMarkerSymbolOctagon                 ScattergeoMarkerSymbol = "octagon"
	ScattergeoMarkerSymbolNumber116               ScattergeoMarkerSymbol = 116
	ScattergeoMarkerSymbol116                     ScattergeoMarkerSymbol = "116"
	ScattergeoMarkerSymbolOctagonOpen             ScattergeoMarkerSymbol = "octagon-open"
	ScattergeoMarkerSymbolNumber216               ScattergeoMarkerSymbol = 216
	ScattergeoMarkerSymbol216                     ScattergeoMarkerSymbol = "216"
	ScattergeoMarkerSymbolOctagonDot              ScattergeoMarkerSymbol = "octagon-dot"
	ScattergeoMarkerSymbolNumber316               ScattergeoMarkerSymbol = 316
	ScattergeoMarkerSymbol316                     ScattergeoMarkerSymbol = "316"
	ScattergeoMarkerSymbolOctagonOpenDot          ScattergeoMarkerSymbol = "octagon-open-dot"
	ScattergeoMarkerSymbolNumber17                ScattergeoMarkerSymbol = 17
	ScattergeoMarkerSymbol17                      ScattergeoMarkerSymbol = "17"
	ScattergeoMarkerSymbolStar                    ScattergeoMarkerSymbol = "star"
	ScattergeoMarkerSymbolNumber117               ScattergeoMarkerSymbol = 117
	ScattergeoMarkerSymbol117                     ScattergeoMarkerSymbol = "117"
	ScattergeoMarkerSymbolStarOpen                ScattergeoMarkerSymbol = "star-open"
	ScattergeoMarkerSymbolNumber217               ScattergeoMarkerSymbol = 217
	ScattergeoMarkerSymbol217                     ScattergeoMarkerSymbol = "217"
	ScattergeoMarkerSymbolStarDot                 ScattergeoMarkerSymbol = "star-dot"
	ScattergeoMarkerSymbolNumber317               ScattergeoMarkerSymbol = 317
	ScattergeoMarkerSymbol317                     ScattergeoMarkerSymbol = "317"
	ScattergeoMarkerSymbolStarOpenDot             ScattergeoMarkerSymbol = "star-open-dot"
	ScattergeoMarkerSymbolNumber18                ScattergeoMarkerSymbol = 18
	ScattergeoMarkerSymbol18                      ScattergeoMarkerSymbol = "18"
	ScattergeoMarkerSymbolHexagram                ScattergeoMarkerSymbol = "hexagram"
	ScattergeoMarkerSymbolNumber118               ScattergeoMarkerSymbol = 118
	ScattergeoMarkerSymbol118                     ScattergeoMarkerSymbol = "118"
	ScattergeoMarkerSymbolHexagramOpen            ScattergeoMarkerSymbol = "hexagram-open"
	ScattergeoMarkerSymbolNumber218               ScattergeoMarkerSymbol = 218
	ScattergeoMarkerSymbol218                     ScattergeoMarkerSymbol = "218"
	ScattergeoMarkerSymbolHexagramDot             ScattergeoMarkerSymbol = "hexagram-dot"
	ScattergeoMarkerSymbolNumber318               ScattergeoMarkerSymbol = 318
	ScattergeoMarkerSymbol318                     ScattergeoMarkerSymbol = "318"
	ScattergeoMarkerSymbolHexagramOpenDot         ScattergeoMarkerSymbol = "hexagram-open-dot"
	ScattergeoMarkerSymbolNumber19                ScattergeoMarkerSymbol = 19
	ScattergeoMarkerSymbol19                      ScattergeoMarkerSymbol = "19"
	ScattergeoMarkerSymbolStarTriangleUp          ScattergeoMarkerSymbol = "star-triangle-up"
	ScattergeoMarkerSymbolNumber119               ScattergeoMarkerSymbol = 119
	ScattergeoMarkerSymbol119                     ScattergeoMarkerSymbol = "119"
	ScattergeoMarkerSymbolStarTriangleUpOpen      ScattergeoMarkerSymbol = "star-triangle-up-open"
	ScattergeoMarkerSymbolNumber219               ScattergeoMarkerSymbol = 219
	ScattergeoMarkerSymbol219                     ScattergeoMarkerSymbol = "219"
	ScattergeoMarkerSymbolStarTriangleUpDot       ScattergeoMarkerSymbol = "star-triangle-up-dot"
	ScattergeoMarkerSymbolNumber319               ScattergeoMarkerSymbol = 319
	ScattergeoMarkerSymbol319                     ScattergeoMarkerSymbol = "319"
	ScattergeoMarkerSymbolStarTriangleUpOpenDot   ScattergeoMarkerSymbol = "star-triangle-up-open-dot"
	ScattergeoMarkerSymbolNumber20                ScattergeoMarkerSymbol = 20
	ScattergeoMarkerSymbol20                      ScattergeoMarkerSymbol = "20"
	ScattergeoMarkerSymbolStarTriangleDown        ScattergeoMarkerSymbol = "star-triangle-down"
	ScattergeoMarkerSymbolNumber120               ScattergeoMarkerSymbol = 120
	ScattergeoMarkerSymbol120                     ScattergeoMarkerSymbol = "120"
	ScattergeoMarkerSymbolStarTriangleDownOpen    ScattergeoMarkerSymbol = "star-triangle-down-open"
	ScattergeoMarkerSymbolNumber220               ScattergeoMarkerSymbol = 220
	ScattergeoMarkerSymbol220                     ScattergeoMarkerSymbol = "220"
	ScattergeoMarkerSymbolStarTriangleDownDot     ScattergeoMarkerSymbol = "star-triangle-down-dot"
	ScattergeoMarkerSymbolNumber320               ScattergeoMarkerSymbol = 320
	ScattergeoMarkerSymbol320                     ScattergeoMarkerSymbol = "320"
	ScattergeoMarkerSymbolStarTriangleDownOpenDot ScattergeoMarkerSymbol = "star-triangle-down-open-dot"
	ScattergeoMarkerSymbolNumber21                ScattergeoMarkerSymbol = 21
	ScattergeoMarkerSymbol21                      ScattergeoMarkerSymbol = "21"
	ScattergeoMarkerSymbolStarSquare              ScattergeoMarkerSymbol = "star-square"
	ScattergeoMarkerSymbolNumber121               ScattergeoMarkerSymbol = 121
	ScattergeoMarkerSymbol121                     ScattergeoMarkerSymbol = "121"
	ScattergeoMarkerSymbolStarSquareOpen          ScattergeoMarkerSymbol = "star-square-open"
	ScattergeoMarkerSymbolNumber221               ScattergeoMarkerSymbol = 221
	ScattergeoMarkerSymbol221                     ScattergeoMarkerSymbol = "221"
	ScattergeoMarkerSymbolStarSquareDot           ScattergeoMarkerSymbol = "star-square-dot"
	ScattergeoMarkerSymbolNumber321               ScattergeoMarkerSymbol = 321
	ScattergeoMarkerSymbol321                     ScattergeoMarkerSymbol = "321"
	ScattergeoMarkerSymbolStarSquareOpenDot       ScattergeoMarkerSymbol = "star-square-open-dot"
	ScattergeoMarkerSymbolNumber22                ScattergeoMarkerSymbol = 22
	ScattergeoMarkerSymbol22                      ScattergeoMarkerSymbol = "22"
	ScattergeoMarkerSymbolStarDiamond             ScattergeoMarkerSymbol = "star-diamond"
	ScattergeoMarkerSymbolNumber122               ScattergeoMarkerSymbol = 122
	ScattergeoMarkerSymbol122                     ScattergeoMarkerSymbol = "122"
	ScattergeoMarkerSymbolStarDiamondOpen         ScattergeoMarkerSymbol = "star-diamond-open"
	ScattergeoMarkerSymbolNumber222               ScattergeoMarkerSymbol = 222
	ScattergeoMarkerSymbol222                     ScattergeoMarkerSymbol = "222"
	ScattergeoMarkerSymbolStarDiamondDot          ScattergeoMarkerSymbol = "star-diamond-dot"
	ScattergeoMarkerSymbolNumber322               ScattergeoMarkerSymbol = 322
	ScattergeoMarkerSymbol322                     ScattergeoMarkerSymbol = "322"
	ScattergeoMarkerSymbolStarDiamondOpenDot      ScattergeoMarkerSymbol = "star-diamond-open-dot"
	ScattergeoMarkerSymbolNumber23                ScattergeoMarkerSymbol = 23
	ScattergeoMarkerSymbol23                      ScattergeoMarkerSymbol = "23"
	ScattergeoMarkerSymbolDiamondTall             ScattergeoMarkerSymbol = "diamond-tall"
	ScattergeoMarkerSymbolNumber123               ScattergeoMarkerSymbol = 123
	ScattergeoMarkerSymbol123                     ScattergeoMarkerSymbol = "123"
	ScattergeoMarkerSymbolDiamondTallOpen         ScattergeoMarkerSymbol = "diamond-tall-open"
	ScattergeoMarkerSymbolNumber223               ScattergeoMarkerSymbol = 223
	ScattergeoMarkerSymbol223                     ScattergeoMarkerSymbol = "223"
	ScattergeoMarkerSymbolDiamondTallDot          ScattergeoMarkerSymbol = "diamond-tall-dot"
	ScattergeoMarkerSymbolNumber323               ScattergeoMarkerSymbol = 323
	ScattergeoMarkerSymbol323                     ScattergeoMarkerSymbol = "323"
	ScattergeoMarkerSymbolDiamondTallOpenDot      ScattergeoMarkerSymbol = "diamond-tall-open-dot"
	ScattergeoMarkerSymbolNumber24                ScattergeoMarkerSymbol = 24
	ScattergeoMarkerSymbol24                      ScattergeoMarkerSymbol = "24"
	ScattergeoMarkerSymbolDiamondWide             ScattergeoMarkerSymbol = "diamond-wide"
	ScattergeoMarkerSymbolNumber124               ScattergeoMarkerSymbol = 124
	ScattergeoMarkerSymbol124                     ScattergeoMarkerSymbol = "124"
	ScattergeoMarkerSymbolDiamondWideOpen         ScattergeoMarkerSymbol = "diamond-wide-open"
	ScattergeoMarkerSymbolNumber224               ScattergeoMarkerSymbol = 224
	ScattergeoMarkerSymbol224                     ScattergeoMarkerSymbol = "224"
	ScattergeoMarkerSymbolDiamondWideDot          ScattergeoMarkerSymbol = "diamond-wide-dot"
	ScattergeoMarkerSymbolNumber324               ScattergeoMarkerSymbol = 324
	ScattergeoMarkerSymbol324                     ScattergeoMarkerSymbol = "324"
	ScattergeoMarkerSymbolDiamondWideOpenDot      ScattergeoMarkerSymbol = "diamond-wide-open-dot"
	ScattergeoMarkerSymbolNumber25                ScattergeoMarkerSymbol = 25
	ScattergeoMarkerSymbol25                      ScattergeoMarkerSymbol = "25"
	ScattergeoMarkerSymbolHourglass               ScattergeoMarkerSymbol = "hourglass"
	ScattergeoMarkerSymbolNumber125               ScattergeoMarkerSymbol = 125
	ScattergeoMarkerSymbol125                     ScattergeoMarkerSymbol = "125"
	ScattergeoMarkerSymbolHourglassOpen           ScattergeoMarkerSymbol = "hourglass-open"
	ScattergeoMarkerSymbolNumber26                ScattergeoMarkerSymbol = 26
	ScattergeoMarkerSymbol26                      ScattergeoMarkerSymbol = "26"
	ScattergeoMarkerSymbolBowtie                  ScattergeoMarkerSymbol = "bowtie"
	ScattergeoMarkerSymbolNumber126               ScattergeoMarkerSymbol = 126
	ScattergeoMarkerSymbol126                     ScattergeoMarkerSymbol = "126"
	ScattergeoMarkerSymbolBowtieOpen              ScattergeoMarkerSymbol = "bowtie-open"
	ScattergeoMarkerSymbolNumber27                ScattergeoMarkerSymbol = 27
	ScattergeoMarkerSymbol27                      ScattergeoMarkerSymbol = "27"
	ScattergeoMarkerSymbolCircleCross             ScattergeoMarkerSymbol = "circle-cross"
	ScattergeoMarkerSymbolNumber127               ScattergeoMarkerSymbol = 127
	ScattergeoMarkerSymbol127                     ScattergeoMarkerSymbol = "127"
	ScattergeoMarkerSymbolCircleCrossOpen         ScattergeoMarkerSymbol = "circle-cross-open"
	ScattergeoMarkerSymbolNumber28                ScattergeoMarkerSymbol = 28
	ScattergeoMarkerSymbol28                      ScattergeoMarkerSymbol = "28"
	ScattergeoMarkerSymbolCircleX                 ScattergeoMarkerSymbol = "circle-x"
	ScattergeoMarkerSymbolNumber128               ScattergeoMarkerSymbol = 128
	ScattergeoMarkerSymbol128                     ScattergeoMarkerSymbol = "128"
	ScattergeoMarkerSymbolCircleXOpen             ScattergeoMarkerSymbol = "circle-x-open"
	ScattergeoMarkerSymbolNumber29                ScattergeoMarkerSymbol = 29
	ScattergeoMarkerSymbol29                      ScattergeoMarkerSymbol = "29"
	ScattergeoMarkerSymbolSquareCross             ScattergeoMarkerSymbol = "square-cross"
	ScattergeoMarkerSymbolNumber129               ScattergeoMarkerSymbol = 129
	ScattergeoMarkerSymbol129                     ScattergeoMarkerSymbol = "129"
	ScattergeoMarkerSymbolSquareCrossOpen         ScattergeoMarkerSymbol = "square-cross-open"
	ScattergeoMarkerSymbolNumber30                ScattergeoMarkerSymbol = 30
	ScattergeoMarkerSymbol30                      ScattergeoMarkerSymbol = "30"
	ScattergeoMarkerSymbolSquareX                 ScattergeoMarkerSymbol = "square-x"
	ScattergeoMarkerSymbolNumber130               ScattergeoMarkerSymbol = 130
	ScattergeoMarkerSymbol130                     ScattergeoMarkerSymbol = "130"
	ScattergeoMarkerSymbolSquareXOpen             ScattergeoMarkerSymbol = "square-x-open"
	ScattergeoMarkerSymbolNumber31                ScattergeoMarkerSymbol = 31
	ScattergeoMarkerSymbol31                      ScattergeoMarkerSymbol = "31"
	ScattergeoMarkerSymbolDiamondCross            ScattergeoMarkerSymbol = "diamond-cross"
	ScattergeoMarkerSymbolNumber131               ScattergeoMarkerSymbol = 131
	ScattergeoMarkerSymbol131                     ScattergeoMarkerSymbol = "131"
	ScattergeoMarkerSymbolDiamondCrossOpen        ScattergeoMarkerSymbol = "diamond-cross-open"
	ScattergeoMarkerSymbolNumber32                ScattergeoMarkerSymbol = 32
	ScattergeoMarkerSymbol32                      ScattergeoMarkerSymbol = "32"
	ScattergeoMarkerSymbolDiamondX                ScattergeoMarkerSymbol = "diamond-x"
	ScattergeoMarkerSymbolNumber132               ScattergeoMarkerSymbol = 132
	ScattergeoMarkerSymbol132                     ScattergeoMarkerSymbol = "132"
	ScattergeoMarkerSymbolDiamondXOpen            ScattergeoMarkerSymbol = "diamond-x-open"
	ScattergeoMarkerSymbolNumber33                ScattergeoMarkerSymbol = 33
	ScattergeoMarkerSymbol33                      ScattergeoMarkerSymbol = "33"
	ScattergeoMarkerSymbolCrossThin               ScattergeoMarkerSymbol = "cross-thin"
	ScattergeoMarkerSymbolNumber133               ScattergeoMarkerSymbol = 133
	ScattergeoMarkerSymbol133                     ScattergeoMarkerSymbol = "133"
	ScattergeoMarkerSymbolCrossThinOpen           ScattergeoMarkerSymbol = "cross-thin-open"
	ScattergeoMarkerSymbolNumber34                ScattergeoMarkerSymbol = 34
	ScattergeoMarkerSymbol34                      ScattergeoMarkerSymbol = "34"
	ScattergeoMarkerSymbolXThin                   ScattergeoMarkerSymbol = "x-thin"
	ScattergeoMarkerSymbolNumber134               ScattergeoMarkerSymbol = 134
	ScattergeoMarkerSymbol134                     ScattergeoMarkerSymbol = "134"
	ScattergeoMarkerSymbolXThinOpen               ScattergeoMarkerSymbol = "x-thin-open"
	ScattergeoMarkerSymbolNumber35                ScattergeoMarkerSymbol = 35
	ScattergeoMarkerSymbol35                      ScattergeoMarkerSymbol = "35"
	ScattergeoMarkerSymbolAsterisk                ScattergeoMarkerSymbol = "asterisk"
	ScattergeoMarkerSymbolNumber135               ScattergeoMarkerSymbol = 135
	ScattergeoMarkerSymbol135                     ScattergeoMarkerSymbol = "135"
	ScattergeoMarkerSymbolAsteriskOpen            ScattergeoMarkerSymbol = "asterisk-open"
	ScattergeoMarkerSymbolNumber36                ScattergeoMarkerSymbol = 36
	ScattergeoMarkerSymbol36                      ScattergeoMarkerSymbol = "36"
	ScattergeoMarkerSymbolHash                    ScattergeoMarkerSymbol = "hash"
	ScattergeoMarkerSymbolNumber136               ScattergeoMarkerSymbol = 136
	ScattergeoMarkerSymbol136                     ScattergeoMarkerSymbol = "136"
	ScattergeoMarkerSymbolHashOpen                ScattergeoMarkerSymbol = "hash-open"
	ScattergeoMarkerSymbolNumber236               ScattergeoMarkerSymbol = 236
	ScattergeoMarkerSymbol236                     ScattergeoMarkerSymbol = "236"
	ScattergeoMarkerSymbolHashDot                 ScattergeoMarkerSymbol = "hash-dot"
	ScattergeoMarkerSymbolNumber336               ScattergeoMarkerSymbol = 336
	ScattergeoMarkerSymbol336                     ScattergeoMarkerSymbol = "336"
	ScattergeoMarkerSymbolHashOpenDot             ScattergeoMarkerSymbol = "hash-open-dot"
	ScattergeoMarkerSymbolNumber37                ScattergeoMarkerSymbol = 37
	ScattergeoMarkerSymbol37                      ScattergeoMarkerSymbol = "37"
	ScattergeoMarkerSymbolYUp                     ScattergeoMarkerSymbol = "y-up"
	ScattergeoMarkerSymbolNumber137               ScattergeoMarkerSymbol = 137
	ScattergeoMarkerSymbol137                     ScattergeoMarkerSymbol = "137"
	ScattergeoMarkerSymbolYUpOpen                 ScattergeoMarkerSymbol = "y-up-open"
	ScattergeoMarkerSymbolNumber38                ScattergeoMarkerSymbol = 38
	ScattergeoMarkerSymbol38                      ScattergeoMarkerSymbol = "38"
	ScattergeoMarkerSymbolYDown                   ScattergeoMarkerSymbol = "y-down"
	ScattergeoMarkerSymbolNumber138               ScattergeoMarkerSymbol = 138
	ScattergeoMarkerSymbol138                     ScattergeoMarkerSymbol = "138"
	ScattergeoMarkerSymbolYDownOpen               ScattergeoMarkerSymbol = "y-down-open"
	ScattergeoMarkerSymbolNumber39                ScattergeoMarkerSymbol = 39
	ScattergeoMarkerSymbol39                      ScattergeoMarkerSymbol = "39"
	ScattergeoMarkerSymbolYLeft                   ScattergeoMarkerSymbol = "y-left"
	ScattergeoMarkerSymbolNumber139               ScattergeoMarkerSymbol = 139
	ScattergeoMarkerSymbol139                     ScattergeoMarkerSymbol = "139"
	ScattergeoMarkerSymbolYLeftOpen               ScattergeoMarkerSymbol = "y-left-open"
	ScattergeoMarkerSymbolNumber40                ScattergeoMarkerSymbol = 40
	ScattergeoMarkerSymbol40                      ScattergeoMarkerSymbol = "40"
	ScattergeoMarkerSymbolYRight                  ScattergeoMarkerSymbol = "y-right"
	ScattergeoMarkerSymbolNumber140               ScattergeoMarkerSymbol = 140
	ScattergeoMarkerSymbol140                     ScattergeoMarkerSymbol = "140"
	ScattergeoMarkerSymbolYRightOpen              ScattergeoMarkerSymbol = "y-right-open"
	ScattergeoMarkerSymbolNumber41                ScattergeoMarkerSymbol = 41
	ScattergeoMarkerSymbol41                      ScattergeoMarkerSymbol = "41"
	ScattergeoMarkerSymbolLineEw                  ScattergeoMarkerSymbol = "line-ew"
	ScattergeoMarkerSymbolNumber141               ScattergeoMarkerSymbol = 141
	ScattergeoMarkerSymbol141                     ScattergeoMarkerSymbol = "141"
	ScattergeoMarkerSymbolLineEwOpen              ScattergeoMarkerSymbol = "line-ew-open"
	ScattergeoMarkerSymbolNumber42                ScattergeoMarkerSymbol = 42
	ScattergeoMarkerSymbol42                      ScattergeoMarkerSymbol = "42"
	ScattergeoMarkerSymbolLineNs                  ScattergeoMarkerSymbol = "line-ns"
	ScattergeoMarkerSymbolNumber142               ScattergeoMarkerSymbol = 142
	ScattergeoMarkerSymbol142                     ScattergeoMarkerSymbol = "142"
	ScattergeoMarkerSymbolLineNsOpen              ScattergeoMarkerSymbol = "line-ns-open"
	ScattergeoMarkerSymbolNumber43                ScattergeoMarkerSymbol = 43
	ScattergeoMarkerSymbol43                      ScattergeoMarkerSymbol = "43"
	ScattergeoMarkerSymbolLineNe                  ScattergeoMarkerSymbol = "line-ne"
	ScattergeoMarkerSymbolNumber143               ScattergeoMarkerSymbol = 143
	ScattergeoMarkerSymbol143                     ScattergeoMarkerSymbol = "143"
	ScattergeoMarkerSymbolLineNeOpen              ScattergeoMarkerSymbol = "line-ne-open"
	ScattergeoMarkerSymbolNumber44                ScattergeoMarkerSymbol = 44
	ScattergeoMarkerSymbol44                      ScattergeoMarkerSymbol = "44"
	ScattergeoMarkerSymbolLineNw                  ScattergeoMarkerSymbol = "line-nw"
	ScattergeoMarkerSymbolNumber144               ScattergeoMarkerSymbol = 144
	ScattergeoMarkerSymbol144                     ScattergeoMarkerSymbol = "144"
	ScattergeoMarkerSymbolLineNwOpen              ScattergeoMarkerSymbol = "line-nw-open"
	ScattergeoMarkerSymbolNumber45                ScattergeoMarkerSymbol = 45
	ScattergeoMarkerSymbol45                      ScattergeoMarkerSymbol = "45"
	ScattergeoMarkerSymbolArrowUp                 ScattergeoMarkerSymbol = "arrow-up"
	ScattergeoMarkerSymbolNumber145               ScattergeoMarkerSymbol = 145
	ScattergeoMarkerSymbol145                     ScattergeoMarkerSymbol = "145"
	ScattergeoMarkerSymbolArrowUpOpen             ScattergeoMarkerSymbol = "arrow-up-open"
	ScattergeoMarkerSymbolNumber46                ScattergeoMarkerSymbol = 46
	ScattergeoMarkerSymbol46                      ScattergeoMarkerSymbol = "46"
	ScattergeoMarkerSymbolArrowDown               ScattergeoMarkerSymbol = "arrow-down"
	ScattergeoMarkerSymbolNumber146               ScattergeoMarkerSymbol = 146
	ScattergeoMarkerSymbol146                     ScattergeoMarkerSymbol = "146"
	ScattergeoMarkerSymbolArrowDownOpen           ScattergeoMarkerSymbol = "arrow-down-open"
	ScattergeoMarkerSymbolNumber47                ScattergeoMarkerSymbol = 47
	ScattergeoMarkerSymbol47                      ScattergeoMarkerSymbol = "47"
	ScattergeoMarkerSymbolArrowLeft               ScattergeoMarkerSymbol = "arrow-left"
	ScattergeoMarkerSymbolNumber147               ScattergeoMarkerSymbol = 147
	ScattergeoMarkerSymbol147                     ScattergeoMarkerSymbol = "147"
	ScattergeoMarkerSymbolArrowLeftOpen           ScattergeoMarkerSymbol = "arrow-left-open"
	ScattergeoMarkerSymbolNumber48                ScattergeoMarkerSymbol = 48
	ScattergeoMarkerSymbol48                      ScattergeoMarkerSymbol = "48"
	ScattergeoMarkerSymbolArrowRight              ScattergeoMarkerSymbol = "arrow-right"
	ScattergeoMarkerSymbolNumber148               ScattergeoMarkerSymbol = 148
	ScattergeoMarkerSymbol148                     ScattergeoMarkerSymbol = "148"
	ScattergeoMarkerSymbolArrowRightOpen          ScattergeoMarkerSymbol = "arrow-right-open"
	ScattergeoMarkerSymbolNumber49                ScattergeoMarkerSymbol = 49
	ScattergeoMarkerSymbol49                      ScattergeoMarkerSymbol = "49"
	ScattergeoMarkerSymbolArrowBarUp              ScattergeoMarkerSymbol = "arrow-bar-up"
	ScattergeoMarkerSymbolNumber149               ScattergeoMarkerSymbol = 149
	ScattergeoMarkerSymbol149                     ScattergeoMarkerSymbol = "149"
	ScattergeoMarkerSymbolArrowBarUpOpen          ScattergeoMarkerSymbol = "arrow-bar-up-open"
	ScattergeoMarkerSymbolNumber50                ScattergeoMarkerSymbol = 50
	ScattergeoMarkerSymbol50                      ScattergeoMarkerSymbol = "50"
	ScattergeoMarkerSymbolArrowBarDown            ScattergeoMarkerSymbol = "arrow-bar-down"
	ScattergeoMarkerSymbolNumber150               ScattergeoMarkerSymbol = 150
	ScattergeoMarkerSymbol150                     ScattergeoMarkerSymbol = "150"
	ScattergeoMarkerSymbolArrowBarDownOpen        ScattergeoMarkerSymbol = "arrow-bar-down-open"
	ScattergeoMarkerSymbolNumber51                ScattergeoMarkerSymbol = 51
	ScattergeoMarkerSymbol51                      ScattergeoMarkerSymbol = "51"
	ScattergeoMarkerSymbolArrowBarLeft            ScattergeoMarkerSymbol = "arrow-bar-left"
	ScattergeoMarkerSymbolNumber151               ScattergeoMarkerSymbol = 151
	ScattergeoMarkerSymbol151                     ScattergeoMarkerSymbol = "151"
	ScattergeoMarkerSymbolArrowBarLeftOpen        ScattergeoMarkerSymbol = "arrow-bar-left-open"
	ScattergeoMarkerSymbolNumber52                ScattergeoMarkerSymbol = 52
	ScattergeoMarkerSymbol52                      ScattergeoMarkerSymbol = "52"
	ScattergeoMarkerSymbolArrowBarRight           ScattergeoMarkerSymbol = "arrow-bar-right"
	ScattergeoMarkerSymbolNumber152               ScattergeoMarkerSymbol = 152
	ScattergeoMarkerSymbol152                     ScattergeoMarkerSymbol = "152"
	ScattergeoMarkerSymbolArrowBarRightOpen       ScattergeoMarkerSymbol = "arrow-bar-right-open"
)

type ScattergeoMode

type ScattergeoMode string

ScattergeoMode Determines the drawing mode for this scatter trace. If the provided `mode` includes *text* then the `text` elements appear at the coordinates. Otherwise, the `text` elements appear on hover. If there are less than 20 points and the trace is not stacked then the default is *lines+markers*. Otherwise, *lines*.

const (
	// Flags
	ScattergeoModeLines   ScattergeoMode = "lines"
	ScattergeoModeMarkers ScattergeoMode = "markers"
	ScattergeoModeText    ScattergeoMode = "text"

	// Extra
	ScattergeoModeNone ScattergeoMode = "none"
)

type ScattergeoSelected

type ScattergeoSelected struct {

	// Marker
	// role: Object
	Marker *ScattergeoSelectedMarker `json:"marker,omitempty"`

	// Textfont
	// role: Object
	Textfont *ScattergeoSelectedTextfont `json:"textfont,omitempty"`
}

ScattergeoSelected

type ScattergeoSelectedMarker

type ScattergeoSelectedMarker struct {

	// Color
	// arrayOK: false
	// type: color
	// Sets the marker color of selected points.
	Color Color `json:"color,omitempty"`

	// Opacity
	// arrayOK: false
	// type: number
	// Sets the marker opacity of selected points.
	Opacity float64 `json:"opacity,omitempty"`

	// Size
	// arrayOK: false
	// type: number
	// Sets the marker size of selected points.
	Size float64 `json:"size,omitempty"`
}

ScattergeoSelectedMarker

type ScattergeoSelectedTextfont

type ScattergeoSelectedTextfont struct {

	// Color
	// arrayOK: false
	// type: color
	// Sets the text font color of selected points.
	Color Color `json:"color,omitempty"`
}

ScattergeoSelectedTextfont

type ScattergeoStream

type ScattergeoStream struct {

	// Maxpoints
	// arrayOK: false
	// type: number
	// Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot.
	Maxpoints float64 `json:"maxpoints,omitempty"`

	// Token
	// arrayOK: false
	// type: string
	// The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details.
	Token String `json:"token,omitempty"`
}

ScattergeoStream

type ScattergeoTextfont

type ScattergeoTextfont struct {

	// Color
	// arrayOK: true
	// type: color
	//
	Color Color `json:"color,omitempty"`

	// Colorsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  color .
	Colorsrc String `json:"colorsrc,omitempty"`

	// Family
	// arrayOK: true
	// type: string
	// HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.
	Family String `json:"family,omitempty"`

	// Familysrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  family .
	Familysrc String `json:"familysrc,omitempty"`

	// Size
	// arrayOK: true
	// type: number
	//
	Size float64 `json:"size,omitempty"`

	// Sizesrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  size .
	Sizesrc String `json:"sizesrc,omitempty"`
}

ScattergeoTextfont Sets the text font.

type ScattergeoTextposition

type ScattergeoTextposition string

ScattergeoTextposition Sets the positions of the `text` elements with respects to the (x,y) coordinates.

const (
	ScattergeoTextpositionTopLeft      ScattergeoTextposition = "top left"
	ScattergeoTextpositionTopCenter    ScattergeoTextposition = "top center"
	ScattergeoTextpositionTopRight     ScattergeoTextposition = "top right"
	ScattergeoTextpositionMiddleLeft   ScattergeoTextposition = "middle left"
	ScattergeoTextpositionMiddleCenter ScattergeoTextposition = "middle center"
	ScattergeoTextpositionMiddleRight  ScattergeoTextposition = "middle right"
	ScattergeoTextpositionBottomLeft   ScattergeoTextposition = "bottom left"
	ScattergeoTextpositionBottomCenter ScattergeoTextposition = "bottom center"
	ScattergeoTextpositionBottomRight  ScattergeoTextposition = "bottom right"
)

type ScattergeoUnselected

type ScattergeoUnselected struct {

	// Marker
	// role: Object
	Marker *ScattergeoUnselectedMarker `json:"marker,omitempty"`

	// Textfont
	// role: Object
	Textfont *ScattergeoUnselectedTextfont `json:"textfont,omitempty"`
}

ScattergeoUnselected

type ScattergeoUnselectedMarker

type ScattergeoUnselectedMarker struct {

	// Color
	// arrayOK: false
	// type: color
	// Sets the marker color of unselected points, applied only when a selection exists.
	Color Color `json:"color,omitempty"`

	// Opacity
	// arrayOK: false
	// type: number
	// Sets the marker opacity of unselected points, applied only when a selection exists.
	Opacity float64 `json:"opacity,omitempty"`

	// Size
	// arrayOK: false
	// type: number
	// Sets the marker size of unselected points, applied only when a selection exists.
	Size float64 `json:"size,omitempty"`
}

ScattergeoUnselectedMarker

type ScattergeoUnselectedTextfont

type ScattergeoUnselectedTextfont struct {

	// Color
	// arrayOK: false
	// type: color
	// Sets the text font color of unselected points, applied only when a selection exists.
	Color Color `json:"color,omitempty"`
}

ScattergeoUnselectedTextfont

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 (
	ScattergeoVisibleTrue       ScattergeoVisible = true
	ScattergeoVisibleFalse      ScattergeoVisible = false
	ScattergeoVisibleLegendonly ScattergeoVisible = "legendonly"
)

type Scattergl

type Scattergl struct {

	// Type
	// is the type of the plot
	Type TraceType `json:"type,omitempty"`

	// Connectgaps
	// arrayOK: false
	// type: boolean
	// Determines whether or not gaps (i.e. {nan} or missing values) in the provided data arrays are connected.
	Connectgaps Bool `json:"connectgaps,omitempty"`

	// Customdata
	// arrayOK: false
	// type: data_array
	// Assigns extra data each datum. This may be useful when listening to hover, click and selection events. Note that, *scatter* traces also appends customdata items in the markers DOM elements
	Customdata interface{} `json:"customdata,omitempty"`

	// Customdatasrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  customdata .
	Customdatasrc String `json:"customdatasrc,omitempty"`

	// Dx
	// arrayOK: false
	// type: number
	// Sets the x coordinate step. See `x0` for more info.
	Dx float64 `json:"dx,omitempty"`

	// Dy
	// arrayOK: false
	// type: number
	// Sets the y coordinate step. See `y0` for more info.
	Dy float64 `json:"dy,omitempty"`

	// ErrorX
	// role: Object
	ErrorX *ScatterglErrorX `json:"error_x,omitempty"`

	// ErrorY
	// role: Object
	ErrorY *ScatterglErrorY `json:"error_y,omitempty"`

	// Fill
	// default: none
	// type: enumerated
	// Sets the area to fill with a solid color. Defaults to *none* unless this trace is stacked, then it gets *tonexty* (*tonextx*) if `orientation` is *v* (*h*) Use with `fillcolor` if not *none*. *tozerox* and *tozeroy* fill to x=0 and y=0 respectively. *tonextx* and *tonexty* fill between the endpoints of this trace and the endpoints of the trace before it, connecting those endpoints with straight lines (to make a stacked area graph); if there is no trace before it, they behave like *tozerox* and *tozeroy*. *toself* connects the endpoints of the trace (or each segment of the trace if it has gaps) into a closed shape. *tonext* fills the space between two traces if one completely encloses the other (eg consecutive contour lines), and behaves like *toself* if there is no trace before it. *tonext* should not be used if one trace does not enclose the other. Traces in a `stackgroup` will only fill to (or be filled to) other traces in the same group. With multiple `stackgroup`s or some traces stacked and some not, if fill-linked traces are not already consecutive, the later ones will be pushed down in the drawing order.
	Fill ScatterglFill `json:"fill,omitempty"`

	// Fillcolor
	// arrayOK: false
	// type: color
	// Sets the fill color. Defaults to a half-transparent variant of the line color, marker color, or marker line color, whichever is available.
	Fillcolor Color `json:"fillcolor,omitempty"`

	// Hoverinfo
	// default: all
	// type: flaglist
	// Determines which trace information appear on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired.
	Hoverinfo ScatterglHoverinfo `json:"hoverinfo,omitempty"`

	// Hoverinfosrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  hoverinfo .
	Hoverinfosrc String `json:"hoverinfosrc,omitempty"`

	// Hoverlabel
	// role: Object
	Hoverlabel *ScatterglHoverlabel `json:"hoverlabel,omitempty"`

	// Hovertemplate
	// arrayOK: true
	// type: string
	// Template string used for rendering the information that appear on hover box. Note that this will override `hoverinfo`. Variables are inserted using %{variable}, for example "y: %{y}". 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 String `json:"hovertemplate,omitempty"`

	// Hovertemplatesrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  hovertemplate .
	Hovertemplatesrc String `json:"hovertemplatesrc,omitempty"`

	// Hovertext
	// arrayOK: true
	// type: string
	// Sets hover text elements associated with each (x,y) pair. If a single string, the same string appears over all the data points. If an array of string, the items are mapped in order to the this trace's (x,y) coordinates. To be seen, trace `hoverinfo` must contain a *text* flag.
	Hovertext String `json:"hovertext,omitempty"`

	// Hovertextsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  hovertext .
	Hovertextsrc String `json:"hovertextsrc,omitempty"`

	// Ids
	// arrayOK: false
	// type: data_array
	// Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type.
	Ids interface{} `json:"ids,omitempty"`

	// Idssrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  ids .
	Idssrc String `json:"idssrc,omitempty"`

	// Legendgroup
	// arrayOK: false
	// type: string
	// Sets the legend group for this trace. Traces part of the same legend group hide/show at the same time when toggling legend items.
	Legendgroup String `json:"legendgroup,omitempty"`

	// Line
	// role: Object
	Line *ScatterglLine `json:"line,omitempty"`

	// Marker
	// role: Object
	Marker *ScatterglMarker `json:"marker,omitempty"`

	// Meta
	// arrayOK: true
	// type: any
	// Assigns extra meta information associated with this trace that can be used in various text attributes. Attributes such as trace `name`, graph, axis and colorbar `title.text`, annotation `text` `rangeselector`, `updatemenues` and `sliders` `label` text all support `meta`. To access the trace `meta` values in an attribute in the same trace, simply use `%{meta[i]}` where `i` is the index or key of the `meta` item in question. To access trace `meta` in layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index.
	Meta interface{} `json:"meta,omitempty"`

	// Metasrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  meta .
	Metasrc String `json:"metasrc,omitempty"`

	// Mode
	// default: %!s(<nil>)
	// type: flaglist
	// Determines the drawing mode for this scatter trace.
	Mode ScatterglMode `json:"mode,omitempty"`

	// Name
	// arrayOK: false
	// type: string
	// Sets the trace name. The trace name appear as the legend item and on hover.
	Name String `json:"name,omitempty"`

	// Opacity
	// arrayOK: false
	// type: number
	// Sets the opacity of the trace.
	Opacity float64 `json:"opacity,omitempty"`

	// Selected
	// role: Object
	Selected *ScatterglSelected `json:"selected,omitempty"`

	// Selectedpoints
	// arrayOK: false
	// type: any
	// Array containing integer indices of selected points. Has an effect only for traces that support selections. Note that an empty array means an empty selection where the `unselected` are turned on for all points, whereas, any other non-array values means no selection all where the `selected` and `unselected` styles have no effect.
	Selectedpoints interface{} `json:"selectedpoints,omitempty"`

	// Showlegend
	// arrayOK: false
	// type: boolean
	// Determines whether or not an item corresponding to this trace is shown in the legend.
	Showlegend Bool `json:"showlegend,omitempty"`

	// Stream
	// role: Object
	Stream *ScatterglStream `json:"stream,omitempty"`

	// Text
	// arrayOK: true
	// type: string
	// Sets text elements associated with each (x,y) pair. If a single string, the same string appears over all the data points. If an array of string, the items are mapped in order to the this trace's (x,y) coordinates. If trace `hoverinfo` contains a *text* flag and *hovertext* is not set, these elements will be seen in the hover labels.
	Text String `json:"text,omitempty"`

	// Textfont
	// role: Object
	Textfont *ScatterglTextfont `json:"textfont,omitempty"`

	// Textposition
	// default: middle center
	// type: enumerated
	// Sets the positions of the `text` elements with respects to the (x,y) coordinates.
	Textposition ScatterglTextposition `json:"textposition,omitempty"`

	// Textpositionsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  textposition .
	Textpositionsrc String `json:"textpositionsrc,omitempty"`

	// Textsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  text .
	Textsrc String `json:"textsrc,omitempty"`

	// Texttemplate
	// arrayOK: true
	// type: string
	// Template string used for rendering the information text that appear on points. Note that this will override `textinfo`. Variables are inserted using %{variable}, for example "y: %{y}". Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example "Price: %{y:$.2f}". https://github.com/d3/d3-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 String `json:"texttemplate,omitempty"`

	// Texttemplatesrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  texttemplate .
	Texttemplatesrc String `json:"texttemplatesrc,omitempty"`

	// Transforms
	// It's an items array and what goes inside it's... messy... check the docs
	// I will be happy if you want to contribute by implementing this
	// just raise an issue before you start so we do not overlap
	Transforms interface{} `json:"transforms,omitempty"`

	// Uid
	// arrayOK: false
	// type: string
	// Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.
	Uid String `json:"uid,omitempty"`

	// Uirevision
	// arrayOK: false
	// type: any
	// Controls persistence of some user-driven changes to the trace: `constraintrange` in `parcoords` traces, as well as some `editable: true` modifications such as `name` and `colorbar.title`. Defaults to `layout.uirevision`. Note that other user-driven trace attribute changes are controlled by `layout` attributes: `trace.visible` is controlled by `layout.legend.uirevision`, `selectedpoints` is controlled by `layout.selectionrevision`, and `colorbar.(x|y)` (accessible with `config: {editable: true}`) is controlled by `layout.editrevision`. Trace changes are tracked by `uid`, which only falls back on trace index if no `uid` is provided. So if your app can add/remove traces before the end of the `data` array, such that the same trace has a different index, you can still preserve user-driven changes if you give each trace a `uid` that stays with it as it moves.
	Uirevision interface{} `json:"uirevision,omitempty"`

	// Unselected
	// role: Object
	Unselected *ScatterglUnselected `json:"unselected,omitempty"`

	// Visible
	// default: %!s(bool=true)
	// type: enumerated
	// Determines whether or not this trace is visible. If *legendonly*, the trace is not drawn, but can appear as a legend item (provided that the legend itself is visible).
	Visible ScatterglVisible `json:"visible,omitempty"`

	// X
	// arrayOK: false
	// type: data_array
	// Sets the x coordinates.
	X interface{} `json:"x,omitempty"`

	// X0
	// arrayOK: false
	// type: any
	// Alternate to `x`. Builds a linear space of x coordinates. Use with `dx` where `x0` is the starting coordinate and `dx` the step.
	X0 interface{} `json:"x0,omitempty"`

	// Xaxis
	// arrayOK: false
	// type: subplotid
	// Sets a reference between this trace's x coordinates and a 2D cartesian x axis. If *x* (the default value), the x coordinates refer to `layout.xaxis`. If *x2*, the x coordinates refer to `layout.xaxis2`, and so on.
	Xaxis String `json:"xaxis,omitempty"`

	// Xcalendar
	// default: gregorian
	// type: enumerated
	// Sets the calendar system to use with `x` date data.
	Xcalendar ScatterglXcalendar `json:"xcalendar,omitempty"`

	// Xperiod
	// arrayOK: false
	// type: 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
	// arrayOK: false
	// type: any
	// Only relevant when the axis `type` is *date*. Sets the base for period positioning in milliseconds or date string on the x0 axis. When `x0period` is round number of weeks, the `x0period0` by default would be on a Sunday i.e. 2000-01-02, otherwise it would be at 2000-01-01.
	Xperiod0 interface{} `json:"xperiod0,omitempty"`

	// Xperiodalignment
	// default: middle
	// type: enumerated
	// Only relevant when the axis `type` is *date*. Sets the alignment of data points on the x axis.
	Xperiodalignment ScatterglXperiodalignment `json:"xperiodalignment,omitempty"`

	// Xsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  x .
	Xsrc String `json:"xsrc,omitempty"`

	// Y
	// arrayOK: false
	// type: data_array
	// Sets the y coordinates.
	Y interface{} `json:"y,omitempty"`

	// Y0
	// arrayOK: false
	// type: any
	// Alternate to `y`. Builds a linear space of y coordinates. Use with `dy` where `y0` is the starting coordinate and `dy` the step.
	Y0 interface{} `json:"y0,omitempty"`

	// Yaxis
	// arrayOK: false
	// type: subplotid
	// Sets a reference between this trace's y coordinates and a 2D cartesian y axis. If *y* (the default value), the y coordinates refer to `layout.yaxis`. If *y2*, the y coordinates refer to `layout.yaxis2`, and so on.
	Yaxis String `json:"yaxis,omitempty"`

	// Ycalendar
	// default: gregorian
	// type: enumerated
	// Sets the calendar system to use with `y` date data.
	Ycalendar ScatterglYcalendar `json:"ycalendar,omitempty"`

	// Yperiod
	// arrayOK: false
	// type: 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
	// arrayOK: false
	// type: any
	// Only relevant when the axis `type` is *date*. Sets the base for period positioning in milliseconds or date string on the y0 axis. When `y0period` is round number of weeks, the `y0period0` by default would be on a Sunday i.e. 2000-01-02, otherwise it would be at 2000-01-01.
	Yperiod0 interface{} `json:"yperiod0,omitempty"`

	// Yperiodalignment
	// default: middle
	// type: enumerated
	// Only relevant when the axis `type` is *date*. Sets the alignment of data points on the y axis.
	Yperiodalignment ScatterglYperiodalignment `json:"yperiodalignment,omitempty"`

	// Ysrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  y .
	Ysrc String `json:"ysrc,omitempty"`
}

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 (*Scattergl) GetType

func (trace *Scattergl) GetType() TraceType

type ScatterglErrorX

type ScatterglErrorX struct {

	// Array
	// arrayOK: false
	// type: data_array
	// Sets the data corresponding the length of each error bar. Values are plotted relative to the underlying data.
	Array interface{} `json:"array,omitempty"`

	// Arrayminus
	// arrayOK: false
	// type: data_array
	// Sets the data corresponding the length of each error bar in the bottom (left) direction for vertical (horizontal) bars Values are plotted relative to the underlying data.
	Arrayminus interface{} `json:"arrayminus,omitempty"`

	// Arrayminussrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  arrayminus .
	Arrayminussrc String `json:"arrayminussrc,omitempty"`

	// Arraysrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  array .
	Arraysrc String `json:"arraysrc,omitempty"`

	// Color
	// arrayOK: false
	// type: color
	// Sets the stoke color of the error bars.
	Color Color `json:"color,omitempty"`

	// CopyYstyle
	// arrayOK: false
	// type: boolean
	//
	CopyYstyle Bool `json:"copy_ystyle,omitempty"`

	// Symmetric
	// arrayOK: false
	// type: boolean
	// Determines whether or not the error bars have the same length in both direction (top/bottom for vertical bars, left/right for horizontal bars.
	Symmetric Bool `json:"symmetric,omitempty"`

	// Thickness
	// arrayOK: false
	// type: number
	// Sets the thickness (in px) of the error bars.
	Thickness float64 `json:"thickness,omitempty"`

	// Traceref
	// arrayOK: false
	// type: integer
	//
	Traceref int64 `json:"traceref,omitempty"`

	// Tracerefminus
	// arrayOK: false
	// type: integer
	//
	Tracerefminus int64 `json:"tracerefminus,omitempty"`

	// Type
	// default: %!s(<nil>)
	// type: enumerated
	// Determines the rule used to generate the error bars. If *constant`, the bar lengths are of a constant value. Set this constant in `value`. If *percent*, the bar lengths correspond to a percentage of underlying data. Set this percentage in `value`. If *sqrt*, the bar lengths correspond to the square of the underlying data. If *data*, the bar lengths are set with data set `array`.
	Type ScatterglErrorXType `json:"type,omitempty"`

	// Value
	// arrayOK: false
	// type: number
	// Sets the value of either the percentage (if `type` is set to *percent*) or the constant (if `type` is set to *constant*) corresponding to the lengths of the error bars.
	Value float64 `json:"value,omitempty"`

	// Valueminus
	// arrayOK: false
	// type: number
	// Sets the value of either the percentage (if `type` is set to *percent*) or the constant (if `type` is set to *constant*) corresponding to the lengths of the error bars in the bottom (left) direction for vertical (horizontal) bars
	Valueminus float64 `json:"valueminus,omitempty"`

	// Visible
	// arrayOK: false
	// type: boolean
	// Determines whether or not this set of error bars is visible.
	Visible Bool `json:"visible,omitempty"`

	// Width
	// arrayOK: false
	// type: number
	// Sets the width (in px) of the cross-bar at both ends of the error bars.
	Width float64 `json:"width,omitempty"`
}

ScatterglErrorX

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 (
	ScatterglErrorXTypePercent  ScatterglErrorXType = "percent"
	ScatterglErrorXTypeConstant ScatterglErrorXType = "constant"
	ScatterglErrorXTypeSqrt     ScatterglErrorXType = "sqrt"
	ScatterglErrorXTypeData     ScatterglErrorXType = "data"
)

type ScatterglErrorY

type ScatterglErrorY struct {

	// Array
	// arrayOK: false
	// type: data_array
	// Sets the data corresponding the length of each error bar. Values are plotted relative to the underlying data.
	Array interface{} `json:"array,omitempty"`

	// Arrayminus
	// arrayOK: false
	// type: data_array
	// Sets the data corresponding the length of each error bar in the bottom (left) direction for vertical (horizontal) bars Values are plotted relative to the underlying data.
	Arrayminus interface{} `json:"arrayminus,omitempty"`

	// Arrayminussrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  arrayminus .
	Arrayminussrc String `json:"arrayminussrc,omitempty"`

	// Arraysrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  array .
	Arraysrc String `json:"arraysrc,omitempty"`

	// Color
	// arrayOK: false
	// type: color
	// Sets the stoke color of the error bars.
	Color Color `json:"color,omitempty"`

	// Symmetric
	// arrayOK: false
	// type: boolean
	// Determines whether or not the error bars have the same length in both direction (top/bottom for vertical bars, left/right for horizontal bars.
	Symmetric Bool `json:"symmetric,omitempty"`

	// Thickness
	// arrayOK: false
	// type: number
	// Sets the thickness (in px) of the error bars.
	Thickness float64 `json:"thickness,omitempty"`

	// Traceref
	// arrayOK: false
	// type: integer
	//
	Traceref int64 `json:"traceref,omitempty"`

	// Tracerefminus
	// arrayOK: false
	// type: integer
	//
	Tracerefminus int64 `json:"tracerefminus,omitempty"`

	// Type
	// default: %!s(<nil>)
	// type: enumerated
	// Determines the rule used to generate the error bars. If *constant`, the bar lengths are of a constant value. Set this constant in `value`. If *percent*, the bar lengths correspond to a percentage of underlying data. Set this percentage in `value`. If *sqrt*, the bar lengths correspond to the square of the underlying data. If *data*, the bar lengths are set with data set `array`.
	Type ScatterglErrorYType `json:"type,omitempty"`

	// Value
	// arrayOK: false
	// type: number
	// Sets the value of either the percentage (if `type` is set to *percent*) or the constant (if `type` is set to *constant*) corresponding to the lengths of the error bars.
	Value float64 `json:"value,omitempty"`

	// Valueminus
	// arrayOK: false
	// type: number
	// Sets the value of either the percentage (if `type` is set to *percent*) or the constant (if `type` is set to *constant*) corresponding to the lengths of the error bars in the bottom (left) direction for vertical (horizontal) bars
	Valueminus float64 `json:"valueminus,omitempty"`

	// Visible
	// arrayOK: false
	// type: boolean
	// Determines whether or not this set of error bars is visible.
	Visible Bool `json:"visible,omitempty"`

	// Width
	// arrayOK: false
	// type: number
	// Sets the width (in px) of the cross-bar at both ends of the error bars.
	Width float64 `json:"width,omitempty"`
}

ScatterglErrorY

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 (
	ScatterglErrorYTypePercent  ScatterglErrorYType = "percent"
	ScatterglErrorYTypeConstant ScatterglErrorYType = "constant"
	ScatterglErrorYTypeSqrt     ScatterglErrorYType = "sqrt"
	ScatterglErrorYTypeData     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 (
	ScatterglFillNone    ScatterglFill = "none"
	ScatterglFillTozeroy ScatterglFill = "tozeroy"
	ScatterglFillTozerox ScatterglFill = "tozerox"
	ScatterglFillTonexty ScatterglFill = "tonexty"
	ScatterglFillTonextx ScatterglFill = "tonextx"
	ScatterglFillToself  ScatterglFill = "toself"
	ScatterglFillTonext  ScatterglFill = "tonext"
)

type ScatterglHoverinfo

type ScatterglHoverinfo string

ScatterglHoverinfo Determines which trace information appear on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired.

const (
	// Flags
	ScatterglHoverinfoX    ScatterglHoverinfo = "x"
	ScatterglHoverinfoY    ScatterglHoverinfo = "y"
	ScatterglHoverinfoZ    ScatterglHoverinfo = "z"
	ScatterglHoverinfoText ScatterglHoverinfo = "text"
	ScatterglHoverinfoName ScatterglHoverinfo = "name"

	// Extra
	ScatterglHoverinfoAll  ScatterglHoverinfo = "all"
	ScatterglHoverinfoNone ScatterglHoverinfo = "none"
	ScatterglHoverinfoSkip ScatterglHoverinfo = "skip"
)

type ScatterglHoverlabel

type ScatterglHoverlabel struct {

	// Align
	// default: auto
	// type: enumerated
	// Sets the horizontal alignment of the text content within hover label box. Has an effect only if the hover label text spans more two or more lines
	Align ScatterglHoverlabelAlign `json:"align,omitempty"`

	// Alignsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  align .
	Alignsrc String `json:"alignsrc,omitempty"`

	// Bgcolor
	// arrayOK: true
	// type: color
	// Sets the background color of the hover labels for this trace
	Bgcolor Color `json:"bgcolor,omitempty"`

	// Bgcolorsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  bgcolor .
	Bgcolorsrc String `json:"bgcolorsrc,omitempty"`

	// Bordercolor
	// arrayOK: true
	// type: color
	// Sets the border color of the hover labels for this trace.
	Bordercolor Color `json:"bordercolor,omitempty"`

	// Bordercolorsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  bordercolor .
	Bordercolorsrc String `json:"bordercolorsrc,omitempty"`

	// Font
	// role: Object
	Font *ScatterglHoverlabelFont `json:"font,omitempty"`

	// Namelength
	// arrayOK: true
	// type: integer
	// Sets the default length (in number of characters) of the trace name in the hover labels for all traces. -1 shows the whole name regardless of length. 0-3 shows the first 0-3 characters, and an integer >3 will show the whole name if it is less than that many characters, but if it is longer, will truncate to `namelength - 3` characters and add an ellipsis.
	Namelength int64 `json:"namelength,omitempty"`

	// Namelengthsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  namelength .
	Namelengthsrc String `json:"namelengthsrc,omitempty"`
}

ScatterglHoverlabel

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 (
	ScatterglHoverlabelAlignLeft  ScatterglHoverlabelAlign = "left"
	ScatterglHoverlabelAlignRight ScatterglHoverlabelAlign = "right"
	ScatterglHoverlabelAlignAuto  ScatterglHoverlabelAlign = "auto"
)

type ScatterglHoverlabelFont

type ScatterglHoverlabelFont struct {

	// Color
	// arrayOK: true
	// type: color
	//
	Color Color `json:"color,omitempty"`

	// Colorsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  color .
	Colorsrc String `json:"colorsrc,omitempty"`

	// Family
	// arrayOK: true
	// type: string
	// HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.
	Family String `json:"family,omitempty"`

	// Familysrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  family .
	Familysrc String `json:"familysrc,omitempty"`

	// Size
	// arrayOK: true
	// type: number
	//
	Size float64 `json:"size,omitempty"`

	// Sizesrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  size .
	Sizesrc String `json:"sizesrc,omitempty"`
}

ScatterglHoverlabelFont Sets the font used in hover labels.

type ScatterglLine

type ScatterglLine struct {

	// Color
	// arrayOK: false
	// type: color
	// Sets the line color.
	Color Color `json:"color,omitempty"`

	// Dash
	// default: solid
	// type: enumerated
	// Sets the style of the lines.
	Dash ScatterglLineDash `json:"dash,omitempty"`

	// Shape
	// default: linear
	// type: enumerated
	// Determines the line shape. The values correspond to step-wise line shapes.
	Shape ScatterglLineShape `json:"shape,omitempty"`

	// Width
	// arrayOK: false
	// type: number
	// Sets the line width (in px).
	Width float64 `json:"width,omitempty"`
}

ScatterglLine

type ScatterglLineDash

type ScatterglLineDash string

ScatterglLineDash Sets the style of the lines.

const (
	ScatterglLineDashSolid       ScatterglLineDash = "solid"
	ScatterglLineDashDot         ScatterglLineDash = "dot"
	ScatterglLineDashDash        ScatterglLineDash = "dash"
	ScatterglLineDashLongdash    ScatterglLineDash = "longdash"
	ScatterglLineDashDashdot     ScatterglLineDash = "dashdot"
	ScatterglLineDashLongdashdot ScatterglLineDash = "longdashdot"
)

type ScatterglLineShape

type ScatterglLineShape string

ScatterglLineShape Determines the line shape. The values correspond to step-wise line shapes.

const (
	ScatterglLineShapeLinear ScatterglLineShape = "linear"
	ScatterglLineShapeHv     ScatterglLineShape = "hv"
	ScatterglLineShapeVh     ScatterglLineShape = "vh"
	ScatterglLineShapeHvh    ScatterglLineShape = "hvh"
	ScatterglLineShapeVhv    ScatterglLineShape = "vhv"
)

type ScatterglMarker

type ScatterglMarker struct {

	// Autocolorscale
	// arrayOK: false
	// type: boolean
	// Determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by `marker.colorscale`. Has an effect only if in `marker.color`is set to a numerical array. In case `colorscale` is unspecified or `autocolorscale` is true, the default  palette will be chosen according to whether numbers in the `color` array are all positive, all negative or mixed.
	Autocolorscale Bool `json:"autocolorscale,omitempty"`

	// Cauto
	// arrayOK: false
	// type: boolean
	// Determines whether or not the color domain is computed with respect to the input data (here in `marker.color`) or the bounds set in `marker.cmin` and `marker.cmax`  Has an effect only if in `marker.color`is set to a numerical array. Defaults to `false` when `marker.cmin` and `marker.cmax` are set by the user.
	Cauto Bool `json:"cauto,omitempty"`

	// Cmax
	// arrayOK: false
	// type: number
	// Sets the upper bound of the color domain. Has an effect only if in `marker.color`is set to a numerical array. Value should have the same units as in `marker.color` and if set, `marker.cmin` must be set as well.
	Cmax float64 `json:"cmax,omitempty"`

	// Cmid
	// arrayOK: false
	// type: number
	// Sets the mid-point of the color domain by scaling `marker.cmin` and/or `marker.cmax` to be equidistant to this point. Has an effect only if in `marker.color`is set to a numerical array. Value should have the same units as in `marker.color`. Has no effect when `marker.cauto` is `false`.
	Cmid float64 `json:"cmid,omitempty"`

	// Cmin
	// arrayOK: false
	// type: number
	// Sets the lower bound of the color domain. Has an effect only if in `marker.color`is set to a numerical array. Value should have the same units as in `marker.color` and if set, `marker.cmax` must be set as well.
	Cmin float64 `json:"cmin,omitempty"`

	// Color
	// arrayOK: true
	// type: color
	// Sets themarkercolor. It accepts either a specific color or an array of numbers that are mapped to the colorscale relative to the max and min values of the array or relative to `marker.cmin` and `marker.cmax` if set.
	Color Color `json:"color,omitempty"`

	// Coloraxis
	// arrayOK: false
	// type: subplotid
	// Sets a reference to a shared color axis. References to these shared color axes are *coloraxis*, *coloraxis2*, *coloraxis3*, etc. Settings for these shared color axes are set in the layout, under `layout.coloraxis`, `layout.coloraxis2`, etc. Note that multiple color scales can be linked to the same color axis.
	Coloraxis String `json:"coloraxis,omitempty"`

	// Colorbar
	// role: Object
	Colorbar *ScatterglMarkerColorbar `json:"colorbar,omitempty"`

	// Colorscale
	// default: %!s(<nil>)
	// type: colorscale
	// Sets the colorscale. Has an effect only if in `marker.color`is set to a numerical array. The colorscale must be an array containing arrays mapping a normalized value to an rgb, rgba, hex, hsl, hsv, or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, use`marker.cmin` and `marker.cmax`. Alternatively, `colorscale` may be a palette name string of the following list: Greys,YlGnBu,Greens,YlOrRd,Bluered,RdBu,Reds,Blues,Picnic,Rainbow,Portland,Jet,Hot,Blackbody,Earth,Electric,Viridis,Cividis.
	Colorscale ColorScale `json:"colorscale,omitempty"`

	// Colorsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  color .
	Colorsrc String `json:"colorsrc,omitempty"`

	// Line
	// role: Object
	Line *ScatterglMarkerLine `json:"line,omitempty"`

	// Opacity
	// arrayOK: true
	// type: number
	// Sets the marker opacity.
	Opacity float64 `json:"opacity,omitempty"`

	// Opacitysrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  opacity .
	Opacitysrc String `json:"opacitysrc,omitempty"`

	// Reversescale
	// arrayOK: false
	// type: boolean
	// Reverses the color mapping if true. Has an effect only if in `marker.color`is set to a numerical array. If true, `marker.cmin` will correspond to the last color in the array and `marker.cmax` will correspond to the first color.
	Reversescale Bool `json:"reversescale,omitempty"`

	// Showscale
	// arrayOK: false
	// type: boolean
	// Determines whether or not a colorbar is displayed for this trace. Has an effect only if in `marker.color`is set to a numerical array.
	Showscale Bool `json:"showscale,omitempty"`

	// Size
	// arrayOK: true
	// type: number
	// Sets the marker size (in px).
	Size float64 `json:"size,omitempty"`

	// Sizemin
	// arrayOK: false
	// type: number
	// Has an effect only if `marker.size` is set to a numerical array. Sets the minimum size (in px) of the rendered marker points.
	Sizemin float64 `json:"sizemin,omitempty"`

	// Sizemode
	// default: diameter
	// type: enumerated
	// Has an effect only if `marker.size` is set to a numerical array. Sets the rule for which the data in `size` is converted to pixels.
	Sizemode ScatterglMarkerSizemode `json:"sizemode,omitempty"`

	// Sizeref
	// arrayOK: false
	// type: number
	// Has an effect only if `marker.size` is set to a numerical array. Sets the scale factor used to determine the rendered size of marker points. Use with `sizemin` and `sizemode`.
	Sizeref float64 `json:"sizeref,omitempty"`

	// Sizesrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  size .
	Sizesrc String `json:"sizesrc,omitempty"`

	// Symbol
	// default: circle
	// type: enumerated
	// Sets the marker symbol type. Adding 100 is equivalent to appending *-open* to a symbol name. Adding 200 is equivalent to appending *-dot* to a symbol name. Adding 300 is equivalent to appending *-open-dot* or *dot-open* to a symbol name.
	Symbol ScatterglMarkerSymbol `json:"symbol,omitempty"`

	// Symbolsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  symbol .
	Symbolsrc String `json:"symbolsrc,omitempty"`
}

ScatterglMarker

type ScatterglMarkerColorbar

type ScatterglMarkerColorbar struct {

	// Bgcolor
	// arrayOK: false
	// type: color
	// Sets the color of padded area.
	Bgcolor Color `json:"bgcolor,omitempty"`

	// Bordercolor
	// arrayOK: false
	// type: color
	// Sets the axis line color.
	Bordercolor Color `json:"bordercolor,omitempty"`

	// Borderwidth
	// arrayOK: false
	// type: number
	// Sets the width (in px) or the border enclosing this color bar.
	Borderwidth float64 `json:"borderwidth,omitempty"`

	// Dtick
	// arrayOK: false
	// type: any
	// Sets the step in-between ticks on this axis. Use with `tick0`. Must be a positive number, or special strings available to *log* and *date* axes. If the axis `type` is *log*, then ticks are set every 10^(n*dtick) where n is the tick number. For example, to set a tick mark at 1, 10, 100, 1000, ... set dtick to 1. To set tick marks at 1, 100, 10000, ... set dtick to 2. To set tick marks at 1, 5, 25, 125, 625, 3125, ... set dtick to log_10(5), or 0.69897000433. *log* has several special values; *L<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
	// default: B
	// type: enumerated
	// Determines a formatting rule for the tick exponents. For example, consider the number 1,000,000,000. If *none*, it appears as 1,000,000,000. If *e*, 1e+9. If *E*, 1E+9. If *power*, 1x10^9 (with 9 in a super script). If *SI*, 1G. If *B*, 1B.
	Exponentformat ScatterglMarkerColorbarExponentformat `json:"exponentformat,omitempty"`

	// Len
	// arrayOK: false
	// type: number
	// Sets the length of the color bar This measure excludes the padding of both ends. That is, the color bar length is this length minus the padding on both ends.
	Len float64 `json:"len,omitempty"`

	// Lenmode
	// default: fraction
	// type: enumerated
	// Determines whether this color bar's length (i.e. the measure in the color variation direction) is set in units of plot *fraction* or in *pixels. Use `len` to set the value.
	Lenmode ScatterglMarkerColorbarLenmode `json:"lenmode,omitempty"`

	// Minexponent
	// arrayOK: false
	// type: number
	// Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*.
	Minexponent float64 `json:"minexponent,omitempty"`

	// Nticks
	// arrayOK: false
	// type: integer
	// Specifies the maximum number of ticks for the particular axis. The actual number of ticks will be chosen automatically to be less than or equal to `nticks`. Has an effect only if `tickmode` is set to *auto*.
	Nticks int64 `json:"nticks,omitempty"`

	// Outlinecolor
	// arrayOK: false
	// type: color
	// Sets the axis line color.
	Outlinecolor Color `json:"outlinecolor,omitempty"`

	// Outlinewidth
	// arrayOK: false
	// type: number
	// Sets the width (in px) of the axis line.
	Outlinewidth float64 `json:"outlinewidth,omitempty"`

	// Separatethousands
	// arrayOK: false
	// type: boolean
	// If "true", even 4-digit integers are separated
	Separatethousands Bool `json:"separatethousands,omitempty"`

	// Showexponent
	// default: all
	// type: enumerated
	// If *all*, all exponents are shown besides their significands. If *first*, only the exponent of the first tick is shown. If *last*, only the exponent of the last tick is shown. If *none*, no exponents appear.
	Showexponent ScatterglMarkerColorbarShowexponent `json:"showexponent,omitempty"`

	// Showticklabels
	// arrayOK: false
	// type: boolean
	// Determines whether or not the tick labels are drawn.
	Showticklabels Bool `json:"showticklabels,omitempty"`

	// Showtickprefix
	// default: all
	// type: enumerated
	// If *all*, all tick labels are displayed with a prefix. If *first*, only the first tick is displayed with a prefix. If *last*, only the last tick is displayed with a suffix. If *none*, tick prefixes are hidden.
	Showtickprefix ScatterglMarkerColorbarShowtickprefix `json:"showtickprefix,omitempty"`

	// Showticksuffix
	// default: all
	// type: enumerated
	// Same as `showtickprefix` but for tick suffixes.
	Showticksuffix ScatterglMarkerColorbarShowticksuffix `json:"showticksuffix,omitempty"`

	// Thickness
	// arrayOK: false
	// type: number
	// Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.
	Thickness float64 `json:"thickness,omitempty"`

	// Thicknessmode
	// default: pixels
	// type: enumerated
	// Determines whether this color bar's thickness (i.e. the measure in the constant color direction) is set in units of plot *fraction* or in *pixels*. Use `thickness` to set the value.
	Thicknessmode ScatterglMarkerColorbarThicknessmode `json:"thicknessmode,omitempty"`

	// Tick0
	// arrayOK: false
	// type: any
	// Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2) except when `dtick`=*L<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
	// arrayOK: false
	// type: angle
	// Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.
	Tickangle float64 `json:"tickangle,omitempty"`

	// Tickcolor
	// arrayOK: false
	// type: color
	// Sets the tick color.
	Tickcolor Color `json:"tickcolor,omitempty"`

	// Tickfont
	// role: Object
	Tickfont *ScatterglMarkerColorbarTickfont `json:"tickfont,omitempty"`

	// Tickformat
	// arrayOK: false
	// type: string
	// Sets the tick label formatting rule using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-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
	// It's an items array and what goes inside it's... messy... check the docs
	// I will be happy if you want to contribute by implementing this
	// just raise an issue before you start so we do not overlap
	Tickformatstops interface{} `json:"tickformatstops,omitempty"`

	// Ticklabelposition
	// default: outside
	// type: enumerated
	// Determines where tick labels are drawn.
	Ticklabelposition ScatterglMarkerColorbarTicklabelposition `json:"ticklabelposition,omitempty"`

	// Ticklen
	// arrayOK: false
	// type: number
	// Sets the tick length (in px).
	Ticklen float64 `json:"ticklen,omitempty"`

	// Tickmode
	// default: %!s(<nil>)
	// type: enumerated
	// Sets the tick mode for this axis. If *auto*, the number of ticks is set via `nticks`. If *linear*, the placement of the ticks is determined by a starting position `tick0` and a tick step `dtick` (*linear* is the default value if `tick0` and `dtick` are provided). If *array*, the placement of the ticks is set via `tickvals` and the tick text is `ticktext`. (*array* is the default value if `tickvals` is provided).
	Tickmode ScatterglMarkerColorbarTickmode `json:"tickmode,omitempty"`

	// Tickprefix
	// arrayOK: false
	// type: string
	// Sets a tick label prefix.
	Tickprefix String `json:"tickprefix,omitempty"`

	// Ticks
	// default:
	// type: enumerated
	// Determines whether ticks are drawn or not. If **, this axis' ticks are not drawn. If *outside* (*inside*), this axis' are drawn outside (inside) the axis lines.
	Ticks ScatterglMarkerColorbarTicks `json:"ticks,omitempty"`

	// Ticksuffix
	// arrayOK: false
	// type: string
	// Sets a tick label suffix.
	Ticksuffix String `json:"ticksuffix,omitempty"`

	// Ticktext
	// arrayOK: false
	// type: data_array
	// Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `tickvals`.
	Ticktext interface{} `json:"ticktext,omitempty"`

	// Ticktextsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  ticktext .
	Ticktextsrc String `json:"ticktextsrc,omitempty"`

	// Tickvals
	// arrayOK: false
	// type: data_array
	// Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.
	Tickvals interface{} `json:"tickvals,omitempty"`

	// Tickvalssrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  tickvals .
	Tickvalssrc String `json:"tickvalssrc,omitempty"`

	// Tickwidth
	// arrayOK: false
	// type: number
	// Sets the tick width (in px).
	Tickwidth float64 `json:"tickwidth,omitempty"`

	// Title
	// role: Object
	Title *ScatterglMarkerColorbarTitle `json:"title,omitempty"`

	// X
	// arrayOK: false
	// type: number
	// Sets the x position of the color bar (in plot fraction).
	X float64 `json:"x,omitempty"`

	// Xanchor
	// default: left
	// type: enumerated
	// Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the color bar.
	Xanchor ScatterglMarkerColorbarXanchor `json:"xanchor,omitempty"`

	// Xpad
	// arrayOK: false
	// type: number
	// Sets the amount of padding (in px) along the x direction.
	Xpad float64 `json:"xpad,omitempty"`

	// Y
	// arrayOK: false
	// type: number
	// Sets the y position of the color bar (in plot fraction).
	Y float64 `json:"y,omitempty"`

	// Yanchor
	// default: middle
	// type: enumerated
	// Sets this color bar's vertical position anchor This anchor binds the `y` position to the *top*, *middle* or *bottom* of the color bar.
	Yanchor ScatterglMarkerColorbarYanchor `json:"yanchor,omitempty"`

	// Ypad
	// arrayOK: false
	// type: number
	// Sets the amount of padding (in px) along the y direction.
	Ypad float64 `json:"ypad,omitempty"`
}

ScatterglMarkerColorbar

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 (
	ScatterglMarkerColorbarExponentformatNone  ScatterglMarkerColorbarExponentformat = "none"
	ScatterglMarkerColorbarExponentformatE1    ScatterglMarkerColorbarExponentformat = "e"
	ScatterglMarkerColorbarExponentformatE2    ScatterglMarkerColorbarExponentformat = "E"
	ScatterglMarkerColorbarExponentformatPower ScatterglMarkerColorbarExponentformat = "power"
	ScatterglMarkerColorbarExponentformatSi    ScatterglMarkerColorbarExponentformat = "SI"
	ScatterglMarkerColorbarExponentformatB     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 (
	ScatterglMarkerColorbarLenmodeFraction ScatterglMarkerColorbarLenmode = "fraction"
	ScatterglMarkerColorbarLenmodePixels   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 (
	ScatterglMarkerColorbarShowexponentAll   ScatterglMarkerColorbarShowexponent = "all"
	ScatterglMarkerColorbarShowexponentFirst ScatterglMarkerColorbarShowexponent = "first"
	ScatterglMarkerColorbarShowexponentLast  ScatterglMarkerColorbarShowexponent = "last"
	ScatterglMarkerColorbarShowexponentNone  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 (
	ScatterglMarkerColorbarShowtickprefixAll   ScatterglMarkerColorbarShowtickprefix = "all"
	ScatterglMarkerColorbarShowtickprefixFirst ScatterglMarkerColorbarShowtickprefix = "first"
	ScatterglMarkerColorbarShowtickprefixLast  ScatterglMarkerColorbarShowtickprefix = "last"
	ScatterglMarkerColorbarShowtickprefixNone  ScatterglMarkerColorbarShowtickprefix = "none"
)

type ScatterglMarkerColorbarShowticksuffix

type ScatterglMarkerColorbarShowticksuffix string

ScatterglMarkerColorbarShowticksuffix Same as `showtickprefix` but for tick suffixes.

const (
	ScatterglMarkerColorbarShowticksuffixAll   ScatterglMarkerColorbarShowticksuffix = "all"
	ScatterglMarkerColorbarShowticksuffixFirst ScatterglMarkerColorbarShowticksuffix = "first"
	ScatterglMarkerColorbarShowticksuffixLast  ScatterglMarkerColorbarShowticksuffix = "last"
	ScatterglMarkerColorbarShowticksuffixNone  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 (
	ScatterglMarkerColorbarThicknessmodeFraction ScatterglMarkerColorbarThicknessmode = "fraction"
	ScatterglMarkerColorbarThicknessmodePixels   ScatterglMarkerColorbarThicknessmode = "pixels"
)

type ScatterglMarkerColorbarTickfont

type ScatterglMarkerColorbarTickfont struct {

	// Color
	// arrayOK: false
	// type: color
	//
	Color Color `json:"color,omitempty"`

	// Family
	// arrayOK: false
	// type: string
	// HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.
	Family String `json:"family,omitempty"`

	// Size
	// arrayOK: false
	// type: number
	//
	Size float64 `json:"size,omitempty"`
}

ScatterglMarkerColorbarTickfont Sets the color bar's tick label font

type ScatterglMarkerColorbarTicklabelposition added in v0.3.1

type ScatterglMarkerColorbarTicklabelposition string

ScatterglMarkerColorbarTicklabelposition Determines where tick labels are drawn.

const (
	ScatterglMarkerColorbarTicklabelpositionOutside       ScatterglMarkerColorbarTicklabelposition = "outside"
	ScatterglMarkerColorbarTicklabelpositionInside        ScatterglMarkerColorbarTicklabelposition = "inside"
	ScatterglMarkerColorbarTicklabelpositionOutsideTop    ScatterglMarkerColorbarTicklabelposition = "outside top"
	ScatterglMarkerColorbarTicklabelpositionInsideTop     ScatterglMarkerColorbarTicklabelposition = "inside top"
	ScatterglMarkerColorbarTicklabelpositionOutsideBottom ScatterglMarkerColorbarTicklabelposition = "outside bottom"
	ScatterglMarkerColorbarTicklabelpositionInsideBottom  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 (
	ScatterglMarkerColorbarTickmodeAuto   ScatterglMarkerColorbarTickmode = "auto"
	ScatterglMarkerColorbarTickmodeLinear ScatterglMarkerColorbarTickmode = "linear"
	ScatterglMarkerColorbarTickmodeArray  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 (
	ScatterglMarkerColorbarTicksOutside ScatterglMarkerColorbarTicks = "outside"
	ScatterglMarkerColorbarTicksInside  ScatterglMarkerColorbarTicks = "inside"
	ScatterglMarkerColorbarTicksEmpty   ScatterglMarkerColorbarTicks = ""
)

type ScatterglMarkerColorbarTitle

type ScatterglMarkerColorbarTitle struct {

	// Font
	// role: Object
	Font *ScatterglMarkerColorbarTitleFont `json:"font,omitempty"`

	// Side
	// default: top
	// type: enumerated
	// Determines the location of color bar's title with respect to the color bar. Note that the title's location used to be set by the now deprecated `titleside` attribute.
	Side ScatterglMarkerColorbarTitleSide `json:"side,omitempty"`

	// Text
	// arrayOK: false
	// type: string
	// Sets the title of the color bar. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.
	Text String `json:"text,omitempty"`
}

ScatterglMarkerColorbarTitle

type ScatterglMarkerColorbarTitleFont

type ScatterglMarkerColorbarTitleFont struct {

	// Color
	// arrayOK: false
	// type: color
	//
	Color Color `json:"color,omitempty"`

	// Family
	// arrayOK: false
	// type: string
	// HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.
	Family String `json:"family,omitempty"`

	// Size
	// arrayOK: false
	// type: number
	//
	Size float64 `json:"size,omitempty"`
}

ScatterglMarkerColorbarTitleFont Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.

type 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 (
	ScatterglMarkerColorbarTitleSideRight  ScatterglMarkerColorbarTitleSide = "right"
	ScatterglMarkerColorbarTitleSideTop    ScatterglMarkerColorbarTitleSide = "top"
	ScatterglMarkerColorbarTitleSideBottom 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 (
	ScatterglMarkerColorbarXanchorLeft   ScatterglMarkerColorbarXanchor = "left"
	ScatterglMarkerColorbarXanchorCenter ScatterglMarkerColorbarXanchor = "center"
	ScatterglMarkerColorbarXanchorRight  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 (
	ScatterglMarkerColorbarYanchorTop    ScatterglMarkerColorbarYanchor = "top"
	ScatterglMarkerColorbarYanchorMiddle ScatterglMarkerColorbarYanchor = "middle"
	ScatterglMarkerColorbarYanchorBottom ScatterglMarkerColorbarYanchor = "bottom"
)

type ScatterglMarkerLine

type ScatterglMarkerLine struct {

	// Autocolorscale
	// arrayOK: false
	// type: boolean
	// Determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by `marker.line.colorscale`. Has an effect only if in `marker.line.color`is set to a numerical array. In case `colorscale` is unspecified or `autocolorscale` is true, the default  palette will be chosen according to whether numbers in the `color` array are all positive, all negative or mixed.
	Autocolorscale Bool `json:"autocolorscale,omitempty"`

	// Cauto
	// arrayOK: false
	// type: boolean
	// Determines whether or not the color domain is computed with respect to the input data (here in `marker.line.color`) or the bounds set in `marker.line.cmin` and `marker.line.cmax`  Has an effect only if in `marker.line.color`is set to a numerical array. Defaults to `false` when `marker.line.cmin` and `marker.line.cmax` are set by the user.
	Cauto Bool `json:"cauto,omitempty"`

	// Cmax
	// arrayOK: false
	// type: number
	// Sets the upper bound of the color domain. Has an effect only if in `marker.line.color`is set to a numerical array. Value should have the same units as in `marker.line.color` and if set, `marker.line.cmin` must be set as well.
	Cmax float64 `json:"cmax,omitempty"`

	// Cmid
	// arrayOK: false
	// type: number
	// Sets the mid-point of the color domain by scaling `marker.line.cmin` and/or `marker.line.cmax` to be equidistant to this point. Has an effect only if in `marker.line.color`is set to a numerical array. Value should have the same units as in `marker.line.color`. Has no effect when `marker.line.cauto` is `false`.
	Cmid float64 `json:"cmid,omitempty"`

	// Cmin
	// arrayOK: false
	// type: number
	// Sets the lower bound of the color domain. Has an effect only if in `marker.line.color`is set to a numerical array. Value should have the same units as in `marker.line.color` and if set, `marker.line.cmax` must be set as well.
	Cmin float64 `json:"cmin,omitempty"`

	// Color
	// arrayOK: true
	// type: color
	// Sets 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 Color `json:"color,omitempty"`

	// Coloraxis
	// arrayOK: false
	// type: subplotid
	// Sets a reference to a shared color axis. References to these shared color axes are *coloraxis*, *coloraxis2*, *coloraxis3*, etc. Settings for these shared color axes are set in the layout, under `layout.coloraxis`, `layout.coloraxis2`, etc. Note that multiple color scales can be linked to the same color axis.
	Coloraxis String `json:"coloraxis,omitempty"`

	// Colorscale
	// default: %!s(<nil>)
	// type: colorscale
	// Sets the colorscale. Has an effect only if in `marker.line.color`is set to a numerical array. The colorscale must be an array containing arrays mapping a normalized value to an rgb, rgba, hex, hsl, hsv, or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, use`marker.line.cmin` and `marker.line.cmax`. Alternatively, `colorscale` may be a palette name string of the following list: Greys,YlGnBu,Greens,YlOrRd,Bluered,RdBu,Reds,Blues,Picnic,Rainbow,Portland,Jet,Hot,Blackbody,Earth,Electric,Viridis,Cividis.
	Colorscale ColorScale `json:"colorscale,omitempty"`

	// Colorsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  color .
	Colorsrc String `json:"colorsrc,omitempty"`

	// Reversescale
	// arrayOK: false
	// type: boolean
	// Reverses the color mapping if true. Has an effect only if in `marker.line.color`is set to a numerical array. If true, `marker.line.cmin` will correspond to the last color in the array and `marker.line.cmax` will correspond to the first color.
	Reversescale Bool `json:"reversescale,omitempty"`

	// Width
	// arrayOK: true
	// type: number
	// Sets the width (in px) of the lines bounding the marker points.
	Width float64 `json:"width,omitempty"`

	// Widthsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  width .
	Widthsrc String `json:"widthsrc,omitempty"`
}

ScatterglMarkerLine

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 (
	ScatterglMarkerSizemodeDiameter ScatterglMarkerSizemode = "diameter"
	ScatterglMarkerSizemodeArea     ScatterglMarkerSizemode = "area"
)

type ScatterglMarkerSymbol

type ScatterglMarkerSymbol interface{}

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.

var (
	ScatterglMarkerSymbolNumber0                 ScatterglMarkerSymbol = 0
	ScatterglMarkerSymbol0                       ScatterglMarkerSymbol = "0"
	ScatterglMarkerSymbolCircle                  ScatterglMarkerSymbol = "circle"
	ScatterglMarkerSymbolNumber100               ScatterglMarkerSymbol = 100
	ScatterglMarkerSymbol100                     ScatterglMarkerSymbol = "100"
	ScatterglMarkerSymbolCircleOpen              ScatterglMarkerSymbol = "circle-open"
	ScatterglMarkerSymbolNumber200               ScatterglMarkerSymbol = 200
	ScatterglMarkerSymbol200                     ScatterglMarkerSymbol = "200"
	ScatterglMarkerSymbolCircleDot               ScatterglMarkerSymbol = "circle-dot"
	ScatterglMarkerSymbolNumber300               ScatterglMarkerSymbol = 300
	ScatterglMarkerSymbol300                     ScatterglMarkerSymbol = "300"
	ScatterglMarkerSymbolCircleOpenDot           ScatterglMarkerSymbol = "circle-open-dot"
	ScatterglMarkerSymbolNumber1                 ScatterglMarkerSymbol = 1
	ScatterglMarkerSymbol1                       ScatterglMarkerSymbol = "1"
	ScatterglMarkerSymbolSquare                  ScatterglMarkerSymbol = "square"
	ScatterglMarkerSymbolNumber101               ScatterglMarkerSymbol = 101
	ScatterglMarkerSymbol101                     ScatterglMarkerSymbol = "101"
	ScatterglMarkerSymbolSquareOpen              ScatterglMarkerSymbol = "square-open"
	ScatterglMarkerSymbolNumber201               ScatterglMarkerSymbol = 201
	ScatterglMarkerSymbol201                     ScatterglMarkerSymbol = "201"
	ScatterglMarkerSymbolSquareDot               ScatterglMarkerSymbol = "square-dot"
	ScatterglMarkerSymbolNumber301               ScatterglMarkerSymbol = 301
	ScatterglMarkerSymbol301                     ScatterglMarkerSymbol = "301"
	ScatterglMarkerSymbolSquareOpenDot           ScatterglMarkerSymbol = "square-open-dot"
	ScatterglMarkerSymbolNumber2                 ScatterglMarkerSymbol = 2
	ScatterglMarkerSymbol2                       ScatterglMarkerSymbol = "2"
	ScatterglMarkerSymbolDiamond                 ScatterglMarkerSymbol = "diamond"
	ScatterglMarkerSymbolNumber102               ScatterglMarkerSymbol = 102
	ScatterglMarkerSymbol102                     ScatterglMarkerSymbol = "102"
	ScatterglMarkerSymbolDiamondOpen             ScatterglMarkerSymbol = "diamond-open"
	ScatterglMarkerSymbolNumber202               ScatterglMarkerSymbol = 202
	ScatterglMarkerSymbol202                     ScatterglMarkerSymbol = "202"
	ScatterglMarkerSymbolDiamondDot              ScatterglMarkerSymbol = "diamond-dot"
	ScatterglMarkerSymbolNumber302               ScatterglMarkerSymbol = 302
	ScatterglMarkerSymbol302                     ScatterglMarkerSymbol = "302"
	ScatterglMarkerSymbolDiamondOpenDot          ScatterglMarkerSymbol = "diamond-open-dot"
	ScatterglMarkerSymbolNumber3                 ScatterglMarkerSymbol = 3
	ScatterglMarkerSymbol3                       ScatterglMarkerSymbol = "3"
	ScatterglMarkerSymbolCross                   ScatterglMarkerSymbol = "cross"
	ScatterglMarkerSymbolNumber103               ScatterglMarkerSymbol = 103
	ScatterglMarkerSymbol103                     ScatterglMarkerSymbol = "103"
	ScatterglMarkerSymbolCrossOpen               ScatterglMarkerSymbol = "cross-open"
	ScatterglMarkerSymbolNumber203               ScatterglMarkerSymbol = 203
	ScatterglMarkerSymbol203                     ScatterglMarkerSymbol = "203"
	ScatterglMarkerSymbolCrossDot                ScatterglMarkerSymbol = "cross-dot"
	ScatterglMarkerSymbolNumber303               ScatterglMarkerSymbol = 303
	ScatterglMarkerSymbol303                     ScatterglMarkerSymbol = "303"
	ScatterglMarkerSymbolCrossOpenDot            ScatterglMarkerSymbol = "cross-open-dot"
	ScatterglMarkerSymbolNumber4                 ScatterglMarkerSymbol = 4
	ScatterglMarkerSymbol4                       ScatterglMarkerSymbol = "4"
	ScatterglMarkerSymbolX                       ScatterglMarkerSymbol = "x"
	ScatterglMarkerSymbolNumber104               ScatterglMarkerSymbol = 104
	ScatterglMarkerSymbol104                     ScatterglMarkerSymbol = "104"
	ScatterglMarkerSymbolXOpen                   ScatterglMarkerSymbol = "x-open"
	ScatterglMarkerSymbolNumber204               ScatterglMarkerSymbol = 204
	ScatterglMarkerSymbol204                     ScatterglMarkerSymbol = "204"
	ScatterglMarkerSymbolXDot                    ScatterglMarkerSymbol = "x-dot"
	ScatterglMarkerSymbolNumber304               ScatterglMarkerSymbol = 304
	ScatterglMarkerSymbol304                     ScatterglMarkerSymbol = "304"
	ScatterglMarkerSymbolXOpenDot                ScatterglMarkerSymbol = "x-open-dot"
	ScatterglMarkerSymbolNumber5                 ScatterglMarkerSymbol = 5
	ScatterglMarkerSymbol5                       ScatterglMarkerSymbol = "5"
	ScatterglMarkerSymbolTriangleUp              ScatterglMarkerSymbol = "triangle-up"
	ScatterglMarkerSymbolNumber105               ScatterglMarkerSymbol = 105
	ScatterglMarkerSymbol105                     ScatterglMarkerSymbol = "105"
	ScatterglMarkerSymbolTriangleUpOpen          ScatterglMarkerSymbol = "triangle-up-open"
	ScatterglMarkerSymbolNumber205               ScatterglMarkerSymbol = 205
	ScatterglMarkerSymbol205                     ScatterglMarkerSymbol = "205"
	ScatterglMarkerSymbolTriangleUpDot           ScatterglMarkerSymbol = "triangle-up-dot"
	ScatterglMarkerSymbolNumber305               ScatterglMarkerSymbol = 305
	ScatterglMarkerSymbol305                     ScatterglMarkerSymbol = "305"
	ScatterglMarkerSymbolTriangleUpOpenDot       ScatterglMarkerSymbol = "triangle-up-open-dot"
	ScatterglMarkerSymbolNumber6                 ScatterglMarkerSymbol = 6
	ScatterglMarkerSymbol6                       ScatterglMarkerSymbol = "6"
	ScatterglMarkerSymbolTriangleDown            ScatterglMarkerSymbol = "triangle-down"
	ScatterglMarkerSymbolNumber106               ScatterglMarkerSymbol = 106
	ScatterglMarkerSymbol106                     ScatterglMarkerSymbol = "106"
	ScatterglMarkerSymbolTriangleDownOpen        ScatterglMarkerSymbol = "triangle-down-open"
	ScatterglMarkerSymbolNumber206               ScatterglMarkerSymbol = 206
	ScatterglMarkerSymbol206                     ScatterglMarkerSymbol = "206"
	ScatterglMarkerSymbolTriangleDownDot         ScatterglMarkerSymbol = "triangle-down-dot"
	ScatterglMarkerSymbolNumber306               ScatterglMarkerSymbol = 306
	ScatterglMarkerSymbol306                     ScatterglMarkerSymbol = "306"
	ScatterglMarkerSymbolTriangleDownOpenDot     ScatterglMarkerSymbol = "triangle-down-open-dot"
	ScatterglMarkerSymbolNumber7                 ScatterglMarkerSymbol = 7
	ScatterglMarkerSymbol7                       ScatterglMarkerSymbol = "7"
	ScatterglMarkerSymbolTriangleLeft            ScatterglMarkerSymbol = "triangle-left"
	ScatterglMarkerSymbolNumber107               ScatterglMarkerSymbol = 107
	ScatterglMarkerSymbol107                     ScatterglMarkerSymbol = "107"
	ScatterglMarkerSymbolTriangleLeftOpen        ScatterglMarkerSymbol = "triangle-left-open"
	ScatterglMarkerSymbolNumber207               ScatterglMarkerSymbol = 207
	ScatterglMarkerSymbol207                     ScatterglMarkerSymbol = "207"
	ScatterglMarkerSymbolTriangleLeftDot         ScatterglMarkerSymbol = "triangle-left-dot"
	ScatterglMarkerSymbolNumber307               ScatterglMarkerSymbol = 307
	ScatterglMarkerSymbol307                     ScatterglMarkerSymbol = "307"
	ScatterglMarkerSymbolTriangleLeftOpenDot     ScatterglMarkerSymbol = "triangle-left-open-dot"
	ScatterglMarkerSymbolNumber8                 ScatterglMarkerSymbol = 8
	ScatterglMarkerSymbol8                       ScatterglMarkerSymbol = "8"
	ScatterglMarkerSymbolTriangleRight           ScatterglMarkerSymbol = "triangle-right"
	ScatterglMarkerSymbolNumber108               ScatterglMarkerSymbol = 108
	ScatterglMarkerSymbol108                     ScatterglMarkerSymbol = "108"
	ScatterglMarkerSymbolTriangleRightOpen       ScatterglMarkerSymbol = "triangle-right-open"
	ScatterglMarkerSymbolNumber208               ScatterglMarkerSymbol = 208
	ScatterglMarkerSymbol208                     ScatterglMarkerSymbol = "208"
	ScatterglMarkerSymbolTriangleRightDot        ScatterglMarkerSymbol = "triangle-right-dot"
	ScatterglMarkerSymbolNumber308               ScatterglMarkerSymbol = 308
	ScatterglMarkerSymbol308                     ScatterglMarkerSymbol = "308"
	ScatterglMarkerSymbolTriangleRightOpenDot    ScatterglMarkerSymbol = "triangle-right-open-dot"
	ScatterglMarkerSymbolNumber9                 ScatterglMarkerSymbol = 9
	ScatterglMarkerSymbol9                       ScatterglMarkerSymbol = "9"
	ScatterglMarkerSymbolTriangleNe              ScatterglMarkerSymbol = "triangle-ne"
	ScatterglMarkerSymbolNumber109               ScatterglMarkerSymbol = 109
	ScatterglMarkerSymbol109                     ScatterglMarkerSymbol = "109"
	ScatterglMarkerSymbolTriangleNeOpen          ScatterglMarkerSymbol = "triangle-ne-open"
	ScatterglMarkerSymbolNumber209               ScatterglMarkerSymbol = 209
	ScatterglMarkerSymbol209                     ScatterglMarkerSymbol = "209"
	ScatterglMarkerSymbolTriangleNeDot           ScatterglMarkerSymbol = "triangle-ne-dot"
	ScatterglMarkerSymbolNumber309               ScatterglMarkerSymbol = 309
	ScatterglMarkerSymbol309                     ScatterglMarkerSymbol = "309"
	ScatterglMarkerSymbolTriangleNeOpenDot       ScatterglMarkerSymbol = "triangle-ne-open-dot"
	ScatterglMarkerSymbolNumber10                ScatterglMarkerSymbol = 10
	ScatterglMarkerSymbol10                      ScatterglMarkerSymbol = "10"
	ScatterglMarkerSymbolTriangleSe              ScatterglMarkerSymbol = "triangle-se"
	ScatterglMarkerSymbolNumber110               ScatterglMarkerSymbol = 110
	ScatterglMarkerSymbol110                     ScatterglMarkerSymbol = "110"
	ScatterglMarkerSymbolTriangleSeOpen          ScatterglMarkerSymbol = "triangle-se-open"
	ScatterglMarkerSymbolNumber210               ScatterglMarkerSymbol = 210
	ScatterglMarkerSymbol210                     ScatterglMarkerSymbol = "210"
	ScatterglMarkerSymbolTriangleSeDot           ScatterglMarkerSymbol = "triangle-se-dot"
	ScatterglMarkerSymbolNumber310               ScatterglMarkerSymbol = 310
	ScatterglMarkerSymbol310                     ScatterglMarkerSymbol = "310"
	ScatterglMarkerSymbolTriangleSeOpenDot       ScatterglMarkerSymbol = "triangle-se-open-dot"
	ScatterglMarkerSymbolNumber11                ScatterglMarkerSymbol = 11
	ScatterglMarkerSymbol11                      ScatterglMarkerSymbol = "11"
	ScatterglMarkerSymbolTriangleSw              ScatterglMarkerSymbol = "triangle-sw"
	ScatterglMarkerSymbolNumber111               ScatterglMarkerSymbol = 111
	ScatterglMarkerSymbol111                     ScatterglMarkerSymbol = "111"
	ScatterglMarkerSymbolTriangleSwOpen          ScatterglMarkerSymbol = "triangle-sw-open"
	ScatterglMarkerSymbolNumber211               ScatterglMarkerSymbol = 211
	ScatterglMarkerSymbol211                     ScatterglMarkerSymbol = "211"
	ScatterglMarkerSymbolTriangleSwDot           ScatterglMarkerSymbol = "triangle-sw-dot"
	ScatterglMarkerSymbolNumber311               ScatterglMarkerSymbol = 311
	ScatterglMarkerSymbol311                     ScatterglMarkerSymbol = "311"
	ScatterglMarkerSymbolTriangleSwOpenDot       ScatterglMarkerSymbol = "triangle-sw-open-dot"
	ScatterglMarkerSymbolNumber12                ScatterglMarkerSymbol = 12
	ScatterglMarkerSymbol12                      ScatterglMarkerSymbol = "12"
	ScatterglMarkerSymbolTriangleNw              ScatterglMarkerSymbol = "triangle-nw"
	ScatterglMarkerSymbolNumber112               ScatterglMarkerSymbol = 112
	ScatterglMarkerSymbol112                     ScatterglMarkerSymbol = "112"
	ScatterglMarkerSymbolTriangleNwOpen          ScatterglMarkerSymbol = "triangle-nw-open"
	ScatterglMarkerSymbolNumber212               ScatterglMarkerSymbol = 212
	ScatterglMarkerSymbol212                     ScatterglMarkerSymbol = "212"
	ScatterglMarkerSymbolTriangleNwDot           ScatterglMarkerSymbol = "triangle-nw-dot"
	ScatterglMarkerSymbolNumber312               ScatterglMarkerSymbol = 312
	ScatterglMarkerSymbol312                     ScatterglMarkerSymbol = "312"
	ScatterglMarkerSymbolTriangleNwOpenDot       ScatterglMarkerSymbol = "triangle-nw-open-dot"
	ScatterglMarkerSymbolNumber13                ScatterglMarkerSymbol = 13
	ScatterglMarkerSymbol13                      ScatterglMarkerSymbol = "13"
	ScatterglMarkerSymbolPentagon                ScatterglMarkerSymbol = "pentagon"
	ScatterglMarkerSymbolNumber113               ScatterglMarkerSymbol = 113
	ScatterglMarkerSymbol113                     ScatterglMarkerSymbol = "113"
	ScatterglMarkerSymbolPentagonOpen            ScatterglMarkerSymbol = "pentagon-open"
	ScatterglMarkerSymbolNumber213               ScatterglMarkerSymbol = 213
	ScatterglMarkerSymbol213                     ScatterglMarkerSymbol = "213"
	ScatterglMarkerSymbolPentagonDot             ScatterglMarkerSymbol = "pentagon-dot"
	ScatterglMarkerSymbolNumber313               ScatterglMarkerSymbol = 313
	ScatterglMarkerSymbol313                     ScatterglMarkerSymbol = "313"
	ScatterglMarkerSymbolPentagonOpenDot         ScatterglMarkerSymbol = "pentagon-open-dot"
	ScatterglMarkerSymbolNumber14                ScatterglMarkerSymbol = 14
	ScatterglMarkerSymbol14                      ScatterglMarkerSymbol = "14"
	ScatterglMarkerSymbolHexagon                 ScatterglMarkerSymbol = "hexagon"
	ScatterglMarkerSymbolNumber114               ScatterglMarkerSymbol = 114
	ScatterglMarkerSymbol114                     ScatterglMarkerSymbol = "114"
	ScatterglMarkerSymbolHexagonOpen             ScatterglMarkerSymbol = "hexagon-open"
	ScatterglMarkerSymbolNumber214               ScatterglMarkerSymbol = 214
	ScatterglMarkerSymbol214                     ScatterglMarkerSymbol = "214"
	ScatterglMarkerSymbolHexagonDot              ScatterglMarkerSymbol = "hexagon-dot"
	ScatterglMarkerSymbolNumber314               ScatterglMarkerSymbol = 314
	ScatterglMarkerSymbol314                     ScatterglMarkerSymbol = "314"
	ScatterglMarkerSymbolHexagonOpenDot          ScatterglMarkerSymbol = "hexagon-open-dot"
	ScatterglMarkerSymbolNumber15                ScatterglMarkerSymbol = 15
	ScatterglMarkerSymbol15                      ScatterglMarkerSymbol = "15"
	ScatterglMarkerSymbolHexagon2                ScatterglMarkerSymbol = "hexagon2"
	ScatterglMarkerSymbolNumber115               ScatterglMarkerSymbol = 115
	ScatterglMarkerSymbol115                     ScatterglMarkerSymbol = "115"
	ScatterglMarkerSymbolHexagon2Open            ScatterglMarkerSymbol = "hexagon2-open"
	ScatterglMarkerSymbolNumber215               ScatterglMarkerSymbol = 215
	ScatterglMarkerSymbol215                     ScatterglMarkerSymbol = "215"
	ScatterglMarkerSymbolHexagon2Dot             ScatterglMarkerSymbol = "hexagon2-dot"
	ScatterglMarkerSymbolNumber315               ScatterglMarkerSymbol = 315
	ScatterglMarkerSymbol315                     ScatterglMarkerSymbol = "315"
	ScatterglMarkerSymbolHexagon2OpenDot         ScatterglMarkerSymbol = "hexagon2-open-dot"
	ScatterglMarkerSymbolNumber16                ScatterglMarkerSymbol = 16
	ScatterglMarkerSymbol16                      ScatterglMarkerSymbol = "16"
	ScatterglMarkerSymbolOctagon                 ScatterglMarkerSymbol = "octagon"
	ScatterglMarkerSymbolNumber116               ScatterglMarkerSymbol = 116
	ScatterglMarkerSymbol116                     ScatterglMarkerSymbol = "116"
	ScatterglMarkerSymbolOctagonOpen             ScatterglMarkerSymbol = "octagon-open"
	ScatterglMarkerSymbolNumber216               ScatterglMarkerSymbol = 216
	ScatterglMarkerSymbol216                     ScatterglMarkerSymbol = "216"
	ScatterglMarkerSymbolOctagonDot              ScatterglMarkerSymbol = "octagon-dot"
	ScatterglMarkerSymbolNumber316               ScatterglMarkerSymbol = 316
	ScatterglMarkerSymbol316                     ScatterglMarkerSymbol = "316"
	ScatterglMarkerSymbolOctagonOpenDot          ScatterglMarkerSymbol = "octagon-open-dot"
	ScatterglMarkerSymbolNumber17                ScatterglMarkerSymbol = 17
	ScatterglMarkerSymbol17                      ScatterglMarkerSymbol = "17"
	ScatterglMarkerSymbolStar                    ScatterglMarkerSymbol = "star"
	ScatterglMarkerSymbolNumber117               ScatterglMarkerSymbol = 117
	ScatterglMarkerSymbol117                     ScatterglMarkerSymbol = "117"
	ScatterglMarkerSymbolStarOpen                ScatterglMarkerSymbol = "star-open"
	ScatterglMarkerSymbolNumber217               ScatterglMarkerSymbol = 217
	ScatterglMarkerSymbol217                     ScatterglMarkerSymbol = "217"
	ScatterglMarkerSymbolStarDot                 ScatterglMarkerSymbol = "star-dot"
	ScatterglMarkerSymbolNumber317               ScatterglMarkerSymbol = 317
	ScatterglMarkerSymbol317                     ScatterglMarkerSymbol = "317"
	ScatterglMarkerSymbolStarOpenDot             ScatterglMarkerSymbol = "star-open-dot"
	ScatterglMarkerSymbolNumber18                ScatterglMarkerSymbol = 18
	ScatterglMarkerSymbol18                      ScatterglMarkerSymbol = "18"
	ScatterglMarkerSymbolHexagram                ScatterglMarkerSymbol = "hexagram"
	ScatterglMarkerSymbolNumber118               ScatterglMarkerSymbol = 118
	ScatterglMarkerSymbol118                     ScatterglMarkerSymbol = "118"
	ScatterglMarkerSymbolHexagramOpen            ScatterglMarkerSymbol = "hexagram-open"
	ScatterglMarkerSymbolNumber218               ScatterglMarkerSymbol = 218
	ScatterglMarkerSymbol218                     ScatterglMarkerSymbol = "218"
	ScatterglMarkerSymbolHexagramDot             ScatterglMarkerSymbol = "hexagram-dot"
	ScatterglMarkerSymbolNumber318               ScatterglMarkerSymbol = 318
	ScatterglMarkerSymbol318                     ScatterglMarkerSymbol = "318"
	ScatterglMarkerSymbolHexagramOpenDot         ScatterglMarkerSymbol = "hexagram-open-dot"
	ScatterglMarkerSymbolNumber19                ScatterglMarkerSymbol = 19
	ScatterglMarkerSymbol19                      ScatterglMarkerSymbol = "19"
	ScatterglMarkerSymbolStarTriangleUp          ScatterglMarkerSymbol = "star-triangle-up"
	ScatterglMarkerSymbolNumber119               ScatterglMarkerSymbol = 119
	ScatterglMarkerSymbol119                     ScatterglMarkerSymbol = "119"
	ScatterglMarkerSymbolStarTriangleUpOpen      ScatterglMarkerSymbol = "star-triangle-up-open"
	ScatterglMarkerSymbolNumber219               ScatterglMarkerSymbol = 219
	ScatterglMarkerSymbol219                     ScatterglMarkerSymbol = "219"
	ScatterglMarkerSymbolStarTriangleUpDot       ScatterglMarkerSymbol = "star-triangle-up-dot"
	ScatterglMarkerSymbolNumber319               ScatterglMarkerSymbol = 319
	ScatterglMarkerSymbol319                     ScatterglMarkerSymbol = "319"
	ScatterglMarkerSymbolStarTriangleUpOpenDot   ScatterglMarkerSymbol = "star-triangle-up-open-dot"
	ScatterglMarkerSymbolNumber20                ScatterglMarkerSymbol = 20
	ScatterglMarkerSymbol20                      ScatterglMarkerSymbol = "20"
	ScatterglMarkerSymbolStarTriangleDown        ScatterglMarkerSymbol = "star-triangle-down"
	ScatterglMarkerSymbolNumber120               ScatterglMarkerSymbol = 120
	ScatterglMarkerSymbol120                     ScatterglMarkerSymbol = "120"
	ScatterglMarkerSymbolStarTriangleDownOpen    ScatterglMarkerSymbol = "star-triangle-down-open"
	ScatterglMarkerSymbolNumber220               ScatterglMarkerSymbol = 220
	ScatterglMarkerSymbol220                     ScatterglMarkerSymbol = "220"
	ScatterglMarkerSymbolStarTriangleDownDot     ScatterglMarkerSymbol = "star-triangle-down-dot"
	ScatterglMarkerSymbolNumber320               ScatterglMarkerSymbol = 320
	ScatterglMarkerSymbol320                     ScatterglMarkerSymbol = "320"
	ScatterglMarkerSymbolStarTriangleDownOpenDot ScatterglMarkerSymbol = "star-triangle-down-open-dot"
	ScatterglMarkerSymbolNumber21                ScatterglMarkerSymbol = 21
	ScatterglMarkerSymbol21                      ScatterglMarkerSymbol = "21"
	ScatterglMarkerSymbolStarSquare              ScatterglMarkerSymbol = "star-square"
	ScatterglMarkerSymbolNumber121               ScatterglMarkerSymbol = 121
	ScatterglMarkerSymbol121                     ScatterglMarkerSymbol = "121"
	ScatterglMarkerSymbolStarSquareOpen          ScatterglMarkerSymbol = "star-square-open"
	ScatterglMarkerSymbolNumber221               ScatterglMarkerSymbol = 221
	ScatterglMarkerSymbol221                     ScatterglMarkerSymbol = "221"
	ScatterglMarkerSymbolStarSquareDot           ScatterglMarkerSymbol = "star-square-dot"
	ScatterglMarkerSymbolNumber321               ScatterglMarkerSymbol = 321
	ScatterglMarkerSymbol321                     ScatterglMarkerSymbol = "321"
	ScatterglMarkerSymbolStarSquareOpenDot       ScatterglMarkerSymbol = "star-square-open-dot"
	ScatterglMarkerSymbolNumber22                ScatterglMarkerSymbol = 22
	ScatterglMarkerSymbol22                      ScatterglMarkerSymbol = "22"
	ScatterglMarkerSymbolStarDiamond             ScatterglMarkerSymbol = "star-diamond"
	ScatterglMarkerSymbolNumber122               ScatterglMarkerSymbol = 122
	ScatterglMarkerSymbol122                     ScatterglMarkerSymbol = "122"
	ScatterglMarkerSymbolStarDiamondOpen         ScatterglMarkerSymbol = "star-diamond-open"
	ScatterglMarkerSymbolNumber222               ScatterglMarkerSymbol = 222
	ScatterglMarkerSymbol222                     ScatterglMarkerSymbol = "222"
	ScatterglMarkerSymbolStarDiamondDot          ScatterglMarkerSymbol = "star-diamond-dot"
	ScatterglMarkerSymbolNumber322               ScatterglMarkerSymbol = 322
	ScatterglMarkerSymbol322                     ScatterglMarkerSymbol = "322"
	ScatterglMarkerSymbolStarDiamondOpenDot      ScatterglMarkerSymbol = "star-diamond-open-dot"
	ScatterglMarkerSymbolNumber23                ScatterglMarkerSymbol = 23
	ScatterglMarkerSymbol23                      ScatterglMarkerSymbol = "23"
	ScatterglMarkerSymbolDiamondTall             ScatterglMarkerSymbol = "diamond-tall"
	ScatterglMarkerSymbolNumber123               ScatterglMarkerSymbol = 123
	ScatterglMarkerSymbol123                     ScatterglMarkerSymbol = "123"
	ScatterglMarkerSymbolDiamondTallOpen         ScatterglMarkerSymbol = "diamond-tall-open"
	ScatterglMarkerSymbolNumber223               ScatterglMarkerSymbol = 223
	ScatterglMarkerSymbol223                     ScatterglMarkerSymbol = "223"
	ScatterglMarkerSymbolDiamondTallDot          ScatterglMarkerSymbol = "diamond-tall-dot"
	ScatterglMarkerSymbolNumber323               ScatterglMarkerSymbol = 323
	ScatterglMarkerSymbol323                     ScatterglMarkerSymbol = "323"
	ScatterglMarkerSymbolDiamondTallOpenDot      ScatterglMarkerSymbol = "diamond-tall-open-dot"
	ScatterglMarkerSymbolNumber24                ScatterglMarkerSymbol = 24
	ScatterglMarkerSymbol24                      ScatterglMarkerSymbol = "24"
	ScatterglMarkerSymbolDiamondWide             ScatterglMarkerSymbol = "diamond-wide"
	ScatterglMarkerSymbolNumber124               ScatterglMarkerSymbol = 124
	ScatterglMarkerSymbol124                     ScatterglMarkerSymbol = "124"
	ScatterglMarkerSymbolDiamondWideOpen         ScatterglMarkerSymbol = "diamond-wide-open"
	ScatterglMarkerSymbolNumber224               ScatterglMarkerSymbol = 224
	ScatterglMarkerSymbol224                     ScatterglMarkerSymbol = "224"
	ScatterglMarkerSymbolDiamondWideDot          ScatterglMarkerSymbol = "diamond-wide-dot"
	ScatterglMarkerSymbolNumber324               ScatterglMarkerSymbol = 324
	ScatterglMarkerSymbol324                     ScatterglMarkerSymbol = "324"
	ScatterglMarkerSymbolDiamondWideOpenDot      ScatterglMarkerSymbol = "diamond-wide-open-dot"
	ScatterglMarkerSymbolNumber25                ScatterglMarkerSymbol = 25
	ScatterglMarkerSymbol25                      ScatterglMarkerSymbol = "25"
	ScatterglMarkerSymbolHourglass               ScatterglMarkerSymbol = "hourglass"
	ScatterglMarkerSymbolNumber125               ScatterglMarkerSymbol = 125
	ScatterglMarkerSymbol125                     ScatterglMarkerSymbol = "125"
	ScatterglMarkerSymbolHourglassOpen           ScatterglMarkerSymbol = "hourglass-open"
	ScatterglMarkerSymbolNumber26                ScatterglMarkerSymbol = 26
	ScatterglMarkerSymbol26                      ScatterglMarkerSymbol = "26"
	ScatterglMarkerSymbolBowtie                  ScatterglMarkerSymbol = "bowtie"
	ScatterglMarkerSymbolNumber126               ScatterglMarkerSymbol = 126
	ScatterglMarkerSymbol126                     ScatterglMarkerSymbol = "126"
	ScatterglMarkerSymbolBowtieOpen              ScatterglMarkerSymbol = "bowtie-open"
	ScatterglMarkerSymbolNumber27                ScatterglMarkerSymbol = 27
	ScatterglMarkerSymbol27                      ScatterglMarkerSymbol = "27"
	ScatterglMarkerSymbolCircleCross             ScatterglMarkerSymbol = "circle-cross"
	ScatterglMarkerSymbolNumber127               ScatterglMarkerSymbol = 127
	ScatterglMarkerSymbol127                     ScatterglMarkerSymbol = "127"
	ScatterglMarkerSymbolCircleCrossOpen         ScatterglMarkerSymbol = "circle-cross-open"
	ScatterglMarkerSymbolNumber28                ScatterglMarkerSymbol = 28
	ScatterglMarkerSymbol28                      ScatterglMarkerSymbol = "28"
	ScatterglMarkerSymbolCircleX                 ScatterglMarkerSymbol = "circle-x"
	ScatterglMarkerSymbolNumber128               ScatterglMarkerSymbol = 128
	ScatterglMarkerSymbol128                     ScatterglMarkerSymbol = "128"
	ScatterglMarkerSymbolCircleXOpen             ScatterglMarkerSymbol = "circle-x-open"
	ScatterglMarkerSymbolNumber29                ScatterglMarkerSymbol = 29
	ScatterglMarkerSymbol29                      ScatterglMarkerSymbol = "29"
	ScatterglMarkerSymbolSquareCross             ScatterglMarkerSymbol = "square-cross"
	ScatterglMarkerSymbolNumber129               ScatterglMarkerSymbol = 129
	ScatterglMarkerSymbol129                     ScatterglMarkerSymbol = "129"
	ScatterglMarkerSymbolSquareCrossOpen         ScatterglMarkerSymbol = "square-cross-open"
	ScatterglMarkerSymbolNumber30                ScatterglMarkerSymbol = 30
	ScatterglMarkerSymbol30                      ScatterglMarkerSymbol = "30"
	ScatterglMarkerSymbolSquareX                 ScatterglMarkerSymbol = "square-x"
	ScatterglMarkerSymbolNumber130               ScatterglMarkerSymbol = 130
	ScatterglMarkerSymbol130                     ScatterglMarkerSymbol = "130"
	ScatterglMarkerSymbolSquareXOpen             ScatterglMarkerSymbol = "square-x-open"
	ScatterglMarkerSymbolNumber31                ScatterglMarkerSymbol = 31
	ScatterglMarkerSymbol31                      ScatterglMarkerSymbol = "31"
	ScatterglMarkerSymbolDiamondCross            ScatterglMarkerSymbol = "diamond-cross"
	ScatterglMarkerSymbolNumber131               ScatterglMarkerSymbol = 131
	ScatterglMarkerSymbol131                     ScatterglMarkerSymbol = "131"
	ScatterglMarkerSymbolDiamondCrossOpen        ScatterglMarkerSymbol = "diamond-cross-open"
	ScatterglMarkerSymbolNumber32                ScatterglMarkerSymbol = 32
	ScatterglMarkerSymbol32                      ScatterglMarkerSymbol = "32"
	ScatterglMarkerSymbolDiamondX                ScatterglMarkerSymbol = "diamond-x"
	ScatterglMarkerSymbolNumber132               ScatterglMarkerSymbol = 132
	ScatterglMarkerSymbol132                     ScatterglMarkerSymbol = "132"
	ScatterglMarkerSymbolDiamondXOpen            ScatterglMarkerSymbol = "diamond-x-open"
	ScatterglMarkerSymbolNumber33                ScatterglMarkerSymbol = 33
	ScatterglMarkerSymbol33                      ScatterglMarkerSymbol = "33"
	ScatterglMarkerSymbolCrossThin               ScatterglMarkerSymbol = "cross-thin"
	ScatterglMarkerSymbolNumber133               ScatterglMarkerSymbol = 133
	ScatterglMarkerSymbol133                     ScatterglMarkerSymbol = "133"
	ScatterglMarkerSymbolCrossThinOpen           ScatterglMarkerSymbol = "cross-thin-open"
	ScatterglMarkerSymbolNumber34                ScatterglMarkerSymbol = 34
	ScatterglMarkerSymbol34                      ScatterglMarkerSymbol = "34"
	ScatterglMarkerSymbolXThin                   ScatterglMarkerSymbol = "x-thin"
	ScatterglMarkerSymbolNumber134               ScatterglMarkerSymbol = 134
	ScatterglMarkerSymbol134                     ScatterglMarkerSymbol = "134"
	ScatterglMarkerSymbolXThinOpen               ScatterglMarkerSymbol = "x-thin-open"
	ScatterglMarkerSymbolNumber35                ScatterglMarkerSymbol = 35
	ScatterglMarkerSymbol35                      ScatterglMarkerSymbol = "35"
	ScatterglMarkerSymbolAsterisk                ScatterglMarkerSymbol = "asterisk"
	ScatterglMarkerSymbolNumber135               ScatterglMarkerSymbol = 135
	ScatterglMarkerSymbol135                     ScatterglMarkerSymbol = "135"
	ScatterglMarkerSymbolAsteriskOpen            ScatterglMarkerSymbol = "asterisk-open"
	ScatterglMarkerSymbolNumber36                ScatterglMarkerSymbol = 36
	ScatterglMarkerSymbol36                      ScatterglMarkerSymbol = "36"
	ScatterglMarkerSymbolHash                    ScatterglMarkerSymbol = "hash"
	ScatterglMarkerSymbolNumber136               ScatterglMarkerSymbol = 136
	ScatterglMarkerSymbol136                     ScatterglMarkerSymbol = "136"
	ScatterglMarkerSymbolHashOpen                ScatterglMarkerSymbol = "hash-open"
	ScatterglMarkerSymbolNumber236               ScatterglMarkerSymbol = 236
	ScatterglMarkerSymbol236                     ScatterglMarkerSymbol = "236"
	ScatterglMarkerSymbolHashDot                 ScatterglMarkerSymbol = "hash-dot"
	ScatterglMarkerSymbolNumber336               ScatterglMarkerSymbol = 336
	ScatterglMarkerSymbol336                     ScatterglMarkerSymbol = "336"
	ScatterglMarkerSymbolHashOpenDot             ScatterglMarkerSymbol = "hash-open-dot"
	ScatterglMarkerSymbolNumber37                ScatterglMarkerSymbol = 37
	ScatterglMarkerSymbol37                      ScatterglMarkerSymbol = "37"
	ScatterglMarkerSymbolYUp                     ScatterglMarkerSymbol = "y-up"
	ScatterglMarkerSymbolNumber137               ScatterglMarkerSymbol = 137
	ScatterglMarkerSymbol137                     ScatterglMarkerSymbol = "137"
	ScatterglMarkerSymbolYUpOpen                 ScatterglMarkerSymbol = "y-up-open"
	ScatterglMarkerSymbolNumber38                ScatterglMarkerSymbol = 38
	ScatterglMarkerSymbol38                      ScatterglMarkerSymbol = "38"
	ScatterglMarkerSymbolYDown                   ScatterglMarkerSymbol = "y-down"
	ScatterglMarkerSymbolNumber138               ScatterglMarkerSymbol = 138
	ScatterglMarkerSymbol138                     ScatterglMarkerSymbol = "138"
	ScatterglMarkerSymbolYDownOpen               ScatterglMarkerSymbol = "y-down-open"
	ScatterglMarkerSymbolNumber39                ScatterglMarkerSymbol = 39
	ScatterglMarkerSymbol39                      ScatterglMarkerSymbol = "39"
	ScatterglMarkerSymbolYLeft                   ScatterglMarkerSymbol = "y-left"
	ScatterglMarkerSymbolNumber139               ScatterglMarkerSymbol = 139
	ScatterglMarkerSymbol139                     ScatterglMarkerSymbol = "139"
	ScatterglMarkerSymbolYLeftOpen               ScatterglMarkerSymbol = "y-left-open"
	ScatterglMarkerSymbolNumber40                ScatterglMarkerSymbol = 40
	ScatterglMarkerSymbol40                      ScatterglMarkerSymbol = "40"
	ScatterglMarkerSymbolYRight                  ScatterglMarkerSymbol = "y-right"
	ScatterglMarkerSymbolNumber140               ScatterglMarkerSymbol = 140
	ScatterglMarkerSymbol140                     ScatterglMarkerSymbol = "140"
	ScatterglMarkerSymbolYRightOpen              ScatterglMarkerSymbol = "y-right-open"
	ScatterglMarkerSymbolNumber41                ScatterglMarkerSymbol = 41
	ScatterglMarkerSymbol41                      ScatterglMarkerSymbol = "41"
	ScatterglMarkerSymbolLineEw                  ScatterglMarkerSymbol = "line-ew"
	ScatterglMarkerSymbolNumber141               ScatterglMarkerSymbol = 141
	ScatterglMarkerSymbol141                     ScatterglMarkerSymbol = "141"
	ScatterglMarkerSymbolLineEwOpen              ScatterglMarkerSymbol = "line-ew-open"
	ScatterglMarkerSymbolNumber42                ScatterglMarkerSymbol = 42
	ScatterglMarkerSymbol42                      ScatterglMarkerSymbol = "42"
	ScatterglMarkerSymbolLineNs                  ScatterglMarkerSymbol = "line-ns"
	ScatterglMarkerSymbolNumber142               ScatterglMarkerSymbol = 142
	ScatterglMarkerSymbol142                     ScatterglMarkerSymbol = "142"
	ScatterglMarkerSymbolLineNsOpen              ScatterglMarkerSymbol = "line-ns-open"
	ScatterglMarkerSymbolNumber43                ScatterglMarkerSymbol = 43
	ScatterglMarkerSymbol43                      ScatterglMarkerSymbol = "43"
	ScatterglMarkerSymbolLineNe                  ScatterglMarkerSymbol = "line-ne"
	ScatterglMarkerSymbolNumber143               ScatterglMarkerSymbol = 143
	ScatterglMarkerSymbol143                     ScatterglMarkerSymbol = "143"
	ScatterglMarkerSymbolLineNeOpen              ScatterglMarkerSymbol = "line-ne-open"
	ScatterglMarkerSymbolNumber44                ScatterglMarkerSymbol = 44
	ScatterglMarkerSymbol44                      ScatterglMarkerSymbol = "44"
	ScatterglMarkerSymbolLineNw                  ScatterglMarkerSymbol = "line-nw"
	ScatterglMarkerSymbolNumber144               ScatterglMarkerSymbol = 144
	ScatterglMarkerSymbol144                     ScatterglMarkerSymbol = "144"
	ScatterglMarkerSymbolLineNwOpen              ScatterglMarkerSymbol = "line-nw-open"
	ScatterglMarkerSymbolNumber45                ScatterglMarkerSymbol = 45
	ScatterglMarkerSymbol45                      ScatterglMarkerSymbol = "45"
	ScatterglMarkerSymbolArrowUp                 ScatterglMarkerSymbol = "arrow-up"
	ScatterglMarkerSymbolNumber145               ScatterglMarkerSymbol = 145
	ScatterglMarkerSymbol145                     ScatterglMarkerSymbol = "145"
	ScatterglMarkerSymbolArrowUpOpen             ScatterglMarkerSymbol = "arrow-up-open"
	ScatterglMarkerSymbolNumber46                ScatterglMarkerSymbol = 46
	ScatterglMarkerSymbol46                      ScatterglMarkerSymbol = "46"
	ScatterglMarkerSymbolArrowDown               ScatterglMarkerSymbol = "arrow-down"
	ScatterglMarkerSymbolNumber146               ScatterglMarkerSymbol = 146
	ScatterglMarkerSymbol146                     ScatterglMarkerSymbol = "146"
	ScatterglMarkerSymbolArrowDownOpen           ScatterglMarkerSymbol = "arrow-down-open"
	ScatterglMarkerSymbolNumber47                ScatterglMarkerSymbol = 47
	ScatterglMarkerSymbol47                      ScatterglMarkerSymbol = "47"
	ScatterglMarkerSymbolArrowLeft               ScatterglMarkerSymbol = "arrow-left"
	ScatterglMarkerSymbolNumber147               ScatterglMarkerSymbol = 147
	ScatterglMarkerSymbol147                     ScatterglMarkerSymbol = "147"
	ScatterglMarkerSymbolArrowLeftOpen           ScatterglMarkerSymbol = "arrow-left-open"
	ScatterglMarkerSymbolNumber48                ScatterglMarkerSymbol = 48
	ScatterglMarkerSymbol48                      ScatterglMarkerSymbol = "48"
	ScatterglMarkerSymbolArrowRight              ScatterglMarkerSymbol = "arrow-right"
	ScatterglMarkerSymbolNumber148               ScatterglMarkerSymbol = 148
	ScatterglMarkerSymbol148                     ScatterglMarkerSymbol = "148"
	ScatterglMarkerSymbolArrowRightOpen          ScatterglMarkerSymbol = "arrow-right-open"
	ScatterglMarkerSymbolNumber49                ScatterglMarkerSymbol = 49
	ScatterglMarkerSymbol49                      ScatterglMarkerSymbol = "49"
	ScatterglMarkerSymbolArrowBarUp              ScatterglMarkerSymbol = "arrow-bar-up"
	ScatterglMarkerSymbolNumber149               ScatterglMarkerSymbol = 149
	ScatterglMarkerSymbol149                     ScatterglMarkerSymbol = "149"
	ScatterglMarkerSymbolArrowBarUpOpen          ScatterglMarkerSymbol = "arrow-bar-up-open"
	ScatterglMarkerSymbolNumber50                ScatterglMarkerSymbol = 50
	ScatterglMarkerSymbol50                      ScatterglMarkerSymbol = "50"
	ScatterglMarkerSymbolArrowBarDown            ScatterglMarkerSymbol = "arrow-bar-down"
	ScatterglMarkerSymbolNumber150               ScatterglMarkerSymbol = 150
	ScatterglMarkerSymbol150                     ScatterglMarkerSymbol = "150"
	ScatterglMarkerSymbolArrowBarDownOpen        ScatterglMarkerSymbol = "arrow-bar-down-open"
	ScatterglMarkerSymbolNumber51                ScatterglMarkerSymbol = 51
	ScatterglMarkerSymbol51                      ScatterglMarkerSymbol = "51"
	ScatterglMarkerSymbolArrowBarLeft            ScatterglMarkerSymbol = "arrow-bar-left"
	ScatterglMarkerSymbolNumber151               ScatterglMarkerSymbol = 151
	ScatterglMarkerSymbol151                     ScatterglMarkerSymbol = "151"
	ScatterglMarkerSymbolArrowBarLeftOpen        ScatterglMarkerSymbol = "arrow-bar-left-open"
	ScatterglMarkerSymbolNumber52                ScatterglMarkerSymbol = 52
	ScatterglMarkerSymbol52                      ScatterglMarkerSymbol = "52"
	ScatterglMarkerSymbolArrowBarRight           ScatterglMarkerSymbol = "arrow-bar-right"
	ScatterglMarkerSymbolNumber152               ScatterglMarkerSymbol = 152
	ScatterglMarkerSymbol152                     ScatterglMarkerSymbol = "152"
	ScatterglMarkerSymbolArrowBarRightOpen       ScatterglMarkerSymbol = "arrow-bar-right-open"
)

type ScatterglMode

type ScatterglMode string

ScatterglMode Determines the drawing mode for this scatter trace.

const (
	// Flags
	ScatterglModeLines   ScatterglMode = "lines"
	ScatterglModeMarkers ScatterglMode = "markers"
	ScatterglModeText    ScatterglMode = "text"

	// Extra
	ScatterglModeNone ScatterglMode = "none"
)

type ScatterglSelected

type ScatterglSelected struct {

	// Marker
	// role: Object
	Marker *ScatterglSelectedMarker `json:"marker,omitempty"`

	// Textfont
	// role: Object
	Textfont *ScatterglSelectedTextfont `json:"textfont,omitempty"`
}

ScatterglSelected

type ScatterglSelectedMarker

type ScatterglSelectedMarker struct {

	// Color
	// arrayOK: false
	// type: color
	// Sets the marker color of selected points.
	Color Color `json:"color,omitempty"`

	// Opacity
	// arrayOK: false
	// type: number
	// Sets the marker opacity of selected points.
	Opacity float64 `json:"opacity,omitempty"`

	// Size
	// arrayOK: false
	// type: number
	// Sets the marker size of selected points.
	Size float64 `json:"size,omitempty"`
}

ScatterglSelectedMarker

type ScatterglSelectedTextfont

type ScatterglSelectedTextfont struct {

	// Color
	// arrayOK: false
	// type: color
	// Sets the text font color of selected points.
	Color Color `json:"color,omitempty"`
}

ScatterglSelectedTextfont

type ScatterglStream

type ScatterglStream struct {

	// Maxpoints
	// arrayOK: false
	// type: number
	// Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot.
	Maxpoints float64 `json:"maxpoints,omitempty"`

	// Token
	// arrayOK: false
	// type: string
	// The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details.
	Token String `json:"token,omitempty"`
}

ScatterglStream

type ScatterglTextfont

type ScatterglTextfont struct {

	// Color
	// arrayOK: true
	// type: color
	//
	Color Color `json:"color,omitempty"`

	// Colorsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  color .
	Colorsrc String `json:"colorsrc,omitempty"`

	// Family
	// arrayOK: true
	// type: string
	// HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.
	Family String `json:"family,omitempty"`

	// Familysrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  family .
	Familysrc String `json:"familysrc,omitempty"`

	// Size
	// arrayOK: true
	// type: number
	//
	Size float64 `json:"size,omitempty"`

	// Sizesrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  size .
	Sizesrc String `json:"sizesrc,omitempty"`
}

ScatterglTextfont Sets the text font.

type ScatterglTextposition

type ScatterglTextposition string

ScatterglTextposition Sets the positions of the `text` elements with respects to the (x,y) coordinates.

const (
	ScatterglTextpositionTopLeft      ScatterglTextposition = "top left"
	ScatterglTextpositionTopCenter    ScatterglTextposition = "top center"
	ScatterglTextpositionTopRight     ScatterglTextposition = "top right"
	ScatterglTextpositionMiddleLeft   ScatterglTextposition = "middle left"
	ScatterglTextpositionMiddleCenter ScatterglTextposition = "middle center"
	ScatterglTextpositionMiddleRight  ScatterglTextposition = "middle right"
	ScatterglTextpositionBottomLeft   ScatterglTextposition = "bottom left"
	ScatterglTextpositionBottomCenter ScatterglTextposition = "bottom center"
	ScatterglTextpositionBottomRight  ScatterglTextposition = "bottom right"
)

type ScatterglUnselected

type ScatterglUnselected struct {

	// Marker
	// role: Object
	Marker *ScatterglUnselectedMarker `json:"marker,omitempty"`

	// Textfont
	// role: Object
	Textfont *ScatterglUnselectedTextfont `json:"textfont,omitempty"`
}

ScatterglUnselected

type ScatterglUnselectedMarker

type ScatterglUnselectedMarker struct {

	// Color
	// arrayOK: false
	// type: color
	// Sets the marker color of unselected points, applied only when a selection exists.
	Color Color `json:"color,omitempty"`

	// Opacity
	// arrayOK: false
	// type: number
	// Sets the marker opacity of unselected points, applied only when a selection exists.
	Opacity float64 `json:"opacity,omitempty"`

	// Size
	// arrayOK: false
	// type: number
	// Sets the marker size of unselected points, applied only when a selection exists.
	Size float64 `json:"size,omitempty"`
}

ScatterglUnselectedMarker

type ScatterglUnselectedTextfont

type ScatterglUnselectedTextfont struct {

	// Color
	// arrayOK: false
	// type: color
	// Sets the text font color of unselected points, applied only when a selection exists.
	Color Color `json:"color,omitempty"`
}

ScatterglUnselectedTextfont

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 (
	ScatterglVisibleTrue       ScatterglVisible = true
	ScatterglVisibleFalse      ScatterglVisible = false
	ScatterglVisibleLegendonly ScatterglVisible = "legendonly"
)

type ScatterglXcalendar

type ScatterglXcalendar string

ScatterglXcalendar Sets the calendar system to use with `x` date data.

const (
	ScatterglXcalendarGregorian  ScatterglXcalendar = "gregorian"
	ScatterglXcalendarChinese    ScatterglXcalendar = "chinese"
	ScatterglXcalendarCoptic     ScatterglXcalendar = "coptic"
	ScatterglXcalendarDiscworld  ScatterglXcalendar = "discworld"
	ScatterglXcalendarEthiopian  ScatterglXcalendar = "ethiopian"
	ScatterglXcalendarHebrew     ScatterglXcalendar = "hebrew"
	ScatterglXcalendarIslamic    ScatterglXcalendar = "islamic"
	ScatterglXcalendarJulian     ScatterglXcalendar = "julian"
	ScatterglXcalendarMayan      ScatterglXcalendar = "mayan"
	ScatterglXcalendarNanakshahi ScatterglXcalendar = "nanakshahi"
	ScatterglXcalendarNepali     ScatterglXcalendar = "nepali"
	ScatterglXcalendarPersian    ScatterglXcalendar = "persian"
	ScatterglXcalendarJalali     ScatterglXcalendar = "jalali"
	ScatterglXcalendarTaiwan     ScatterglXcalendar = "taiwan"
	ScatterglXcalendarThai       ScatterglXcalendar = "thai"
	ScatterglXcalendarUmmalqura  ScatterglXcalendar = "ummalqura"
)

type ScatterglXperiodalignment added in v0.3.1

type ScatterglXperiodalignment string

ScatterglXperiodalignment Only relevant when the axis `type` is *date*. Sets the alignment of data points on the x axis.

const (
	ScatterglXperiodalignmentStart  ScatterglXperiodalignment = "start"
	ScatterglXperiodalignmentMiddle ScatterglXperiodalignment = "middle"
	ScatterglXperiodalignmentEnd    ScatterglXperiodalignment = "end"
)

type ScatterglYcalendar

type ScatterglYcalendar string

ScatterglYcalendar Sets the calendar system to use with `y` date data.

const (
	ScatterglYcalendarGregorian  ScatterglYcalendar = "gregorian"
	ScatterglYcalendarChinese    ScatterglYcalendar = "chinese"
	ScatterglYcalendarCoptic     ScatterglYcalendar = "coptic"
	ScatterglYcalendarDiscworld  ScatterglYcalendar = "discworld"
	ScatterglYcalendarEthiopian  ScatterglYcalendar = "ethiopian"
	ScatterglYcalendarHebrew     ScatterglYcalendar = "hebrew"
	ScatterglYcalendarIslamic    ScatterglYcalendar = "islamic"
	ScatterglYcalendarJulian     ScatterglYcalendar = "julian"
	ScatterglYcalendarMayan      ScatterglYcalendar = "mayan"
	ScatterglYcalendarNanakshahi ScatterglYcalendar = "nanakshahi"
	ScatterglYcalendarNepali     ScatterglYcalendar = "nepali"
	ScatterglYcalendarPersian    ScatterglYcalendar = "persian"
	ScatterglYcalendarJalali     ScatterglYcalendar = "jalali"
	ScatterglYcalendarTaiwan     ScatterglYcalendar = "taiwan"
	ScatterglYcalendarThai       ScatterglYcalendar = "thai"
	ScatterglYcalendarUmmalqura  ScatterglYcalendar = "ummalqura"
)

type ScatterglYperiodalignment added in v0.3.1

type ScatterglYperiodalignment string

ScatterglYperiodalignment Only relevant when the axis `type` is *date*. Sets the alignment of data points on the y axis.

const (
	ScatterglYperiodalignmentStart  ScatterglYperiodalignment = "start"
	ScatterglYperiodalignmentMiddle ScatterglYperiodalignment = "middle"
	ScatterglYperiodalignmentEnd    ScatterglYperiodalignment = "end"
)

type Scattermapbox

type Scattermapbox struct {

	// Type
	// is the type of the plot
	Type TraceType `json:"type,omitempty"`

	// Below
	// arrayOK: false
	// type: string
	// Determines if this scattermapbox trace's layers are to be inserted before the layer with the specified ID. By default, scattermapbox layers are inserted above all the base layers. To place the scattermapbox layers above every other layer, set `below` to *”*.
	Below String `json:"below,omitempty"`

	// Connectgaps
	// arrayOK: false
	// type: boolean
	// Determines whether or not gaps (i.e. {nan} or missing values) in the provided data arrays are connected.
	Connectgaps Bool `json:"connectgaps,omitempty"`

	// Customdata
	// arrayOK: false
	// type: data_array
	// Assigns extra data each datum. This may be useful when listening to hover, click and selection events. Note that, *scatter* traces also appends customdata items in the markers DOM elements
	Customdata interface{} `json:"customdata,omitempty"`

	// Customdatasrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  customdata .
	Customdatasrc String `json:"customdatasrc,omitempty"`

	// Fill
	// default: none
	// type: enumerated
	// Sets the area to fill with a solid color. Use with `fillcolor` if not *none*. *toself* connects the endpoints of the trace (or each segment of the trace if it has gaps) into a closed shape.
	Fill ScattermapboxFill `json:"fill,omitempty"`

	// Fillcolor
	// arrayOK: false
	// type: color
	// Sets the fill color. Defaults to a half-transparent variant of the line color, marker color, or marker line color, whichever is available.
	Fillcolor Color `json:"fillcolor,omitempty"`

	// Hoverinfo
	// default: all
	// type: flaglist
	// Determines which trace information appear on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired.
	Hoverinfo ScattermapboxHoverinfo `json:"hoverinfo,omitempty"`

	// Hoverinfosrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  hoverinfo .
	Hoverinfosrc String `json:"hoverinfosrc,omitempty"`

	// Hoverlabel
	// role: Object
	Hoverlabel *ScattermapboxHoverlabel `json:"hoverlabel,omitempty"`

	// Hovertemplate
	// arrayOK: true
	// type: string
	// Template string used for rendering the information that appear on hover box. Note that this will override `hoverinfo`. Variables are inserted using %{variable}, for example "y: %{y}". 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 String `json:"hovertemplate,omitempty"`

	// Hovertemplatesrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  hovertemplate .
	Hovertemplatesrc String `json:"hovertemplatesrc,omitempty"`

	// Hovertext
	// arrayOK: true
	// type: string
	// Sets hover text elements associated with each (lon,lat) pair If a single string, the same string appears over all the data points. If an array of string, the items are mapped in order to the this trace's (lon,lat) coordinates. To be seen, trace `hoverinfo` must contain a *text* flag.
	Hovertext String `json:"hovertext,omitempty"`

	// Hovertextsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  hovertext .
	Hovertextsrc String `json:"hovertextsrc,omitempty"`

	// Ids
	// arrayOK: false
	// type: data_array
	// Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type.
	Ids interface{} `json:"ids,omitempty"`

	// Idssrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  ids .
	Idssrc String `json:"idssrc,omitempty"`

	// Lat
	// arrayOK: false
	// type: data_array
	// Sets the latitude coordinates (in degrees North).
	Lat interface{} `json:"lat,omitempty"`

	// Latsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  lat .
	Latsrc String `json:"latsrc,omitempty"`

	// Legendgroup
	// arrayOK: false
	// type: string
	// Sets the legend group for this trace. Traces part of the same legend group hide/show at the same time when toggling legend items.
	Legendgroup String `json:"legendgroup,omitempty"`

	// Line
	// role: Object
	Line *ScattermapboxLine `json:"line,omitempty"`

	// Lon
	// arrayOK: false
	// type: data_array
	// Sets the longitude coordinates (in degrees East).
	Lon interface{} `json:"lon,omitempty"`

	// Lonsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  lon .
	Lonsrc String `json:"lonsrc,omitempty"`

	// Marker
	// role: Object
	Marker *ScattermapboxMarker `json:"marker,omitempty"`

	// Meta
	// arrayOK: true
	// type: any
	// Assigns extra meta information associated with this trace that can be used in various text attributes. Attributes such as trace `name`, graph, axis and colorbar `title.text`, annotation `text` `rangeselector`, `updatemenues` and `sliders` `label` text all support `meta`. To access the trace `meta` values in an attribute in the same trace, simply use `%{meta[i]}` where `i` is the index or key of the `meta` item in question. To access trace `meta` in layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index.
	Meta interface{} `json:"meta,omitempty"`

	// Metasrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  meta .
	Metasrc String `json:"metasrc,omitempty"`

	// Mode
	// default: markers
	// type: flaglist
	// Determines the drawing mode for this scatter trace. If the provided `mode` includes *text* then the `text` elements appear at the coordinates. Otherwise, the `text` elements appear on hover.
	Mode ScattermapboxMode `json:"mode,omitempty"`

	// Name
	// arrayOK: false
	// type: string
	// Sets the trace name. The trace name appear as the legend item and on hover.
	Name String `json:"name,omitempty"`

	// Opacity
	// arrayOK: false
	// type: number
	// Sets the opacity of the trace.
	Opacity float64 `json:"opacity,omitempty"`

	// Selected
	// role: Object
	Selected *ScattermapboxSelected `json:"selected,omitempty"`

	// Selectedpoints
	// arrayOK: false
	// type: any
	// Array containing integer indices of selected points. Has an effect only for traces that support selections. Note that an empty array means an empty selection where the `unselected` are turned on for all points, whereas, any other non-array values means no selection all where the `selected` and `unselected` styles have no effect.
	Selectedpoints interface{} `json:"selectedpoints,omitempty"`

	// Showlegend
	// arrayOK: false
	// type: boolean
	// Determines whether or not an item corresponding to this trace is shown in the legend.
	Showlegend Bool `json:"showlegend,omitempty"`

	// Stream
	// role: Object
	Stream *ScattermapboxStream `json:"stream,omitempty"`

	// Subplot
	// arrayOK: false
	// type: subplotid
	// Sets a reference between this trace's data coordinates and a mapbox subplot. If *mapbox* (the default value), the data refer to `layout.mapbox`. If *mapbox2*, the data refer to `layout.mapbox2`, and so on.
	Subplot String `json:"subplot,omitempty"`

	// Text
	// arrayOK: true
	// type: string
	// Sets text elements associated with each (lon,lat) pair If a single string, the same string appears over all the data points. If an array of string, the items are mapped in order to the this trace's (lon,lat) coordinates. If trace `hoverinfo` contains a *text* flag and *hovertext* is not set, these elements will be seen in the hover labels.
	Text String `json:"text,omitempty"`

	// Textfont
	// role: Object
	Textfont *ScattermapboxTextfont `json:"textfont,omitempty"`

	// Textposition
	// default: middle center
	// type: enumerated
	// Sets the positions of the `text` elements with respects to the (x,y) coordinates.
	Textposition ScattermapboxTextposition `json:"textposition,omitempty"`

	// Textsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  text .
	Textsrc String `json:"textsrc,omitempty"`

	// Texttemplate
	// arrayOK: true
	// type: string
	// Template string used for rendering the information text that appear on points. Note that this will override `textinfo`. Variables are inserted using %{variable}, for example "y: %{y}". Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example "Price: %{y:$.2f}". https://github.com/d3/d3-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 String `json:"texttemplate,omitempty"`

	// Texttemplatesrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  texttemplate .
	Texttemplatesrc String `json:"texttemplatesrc,omitempty"`

	// Transforms
	// It's an items array and what goes inside it's... messy... check the docs
	// I will be happy if you want to contribute by implementing this
	// just raise an issue before you start so we do not overlap
	Transforms interface{} `json:"transforms,omitempty"`

	// Uid
	// arrayOK: false
	// type: string
	// Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.
	Uid String `json:"uid,omitempty"`

	// Uirevision
	// arrayOK: false
	// type: any
	// Controls persistence of some user-driven changes to the trace: `constraintrange` in `parcoords` traces, as well as some `editable: true` modifications such as `name` and `colorbar.title`. Defaults to `layout.uirevision`. Note that other user-driven trace attribute changes are controlled by `layout` attributes: `trace.visible` is controlled by `layout.legend.uirevision`, `selectedpoints` is controlled by `layout.selectionrevision`, and `colorbar.(x|y)` (accessible with `config: {editable: true}`) is controlled by `layout.editrevision`. Trace changes are tracked by `uid`, which only falls back on trace index if no `uid` is provided. So if your app can add/remove traces before the end of the `data` array, such that the same trace has a different index, you can still preserve user-driven changes if you give each trace a `uid` that stays with it as it moves.
	Uirevision interface{} `json:"uirevision,omitempty"`

	// Unselected
	// role: Object
	Unselected *ScattermapboxUnselected `json:"unselected,omitempty"`

	// Visible
	// default: %!s(bool=true)
	// type: enumerated
	// Determines whether or not this trace is visible. If *legendonly*, the trace is not drawn, but can appear as a legend item (provided that the legend itself is visible).
	Visible ScattermapboxVisible `json:"visible,omitempty"`
}

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 (*Scattermapbox) GetType

func (trace *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 (
	ScattermapboxFillNone   ScattermapboxFill = "none"
	ScattermapboxFillToself ScattermapboxFill = "toself"
)

type ScattermapboxHoverinfo

type ScattermapboxHoverinfo string

ScattermapboxHoverinfo Determines which trace information appear on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired.

const (
	// Flags
	ScattermapboxHoverinfoLon  ScattermapboxHoverinfo = "lon"
	ScattermapboxHoverinfoLat  ScattermapboxHoverinfo = "lat"
	ScattermapboxHoverinfoText ScattermapboxHoverinfo = "text"
	ScattermapboxHoverinfoName ScattermapboxHoverinfo = "name"

	// Extra
	ScattermapboxHoverinfoAll  ScattermapboxHoverinfo = "all"
	ScattermapboxHoverinfoNone ScattermapboxHoverinfo = "none"
	ScattermapboxHoverinfoSkip ScattermapboxHoverinfo = "skip"
)

type ScattermapboxHoverlabel

type ScattermapboxHoverlabel struct {

	// Align
	// default: auto
	// type: enumerated
	// Sets the horizontal alignment of the text content within hover label box. Has an effect only if the hover label text spans more two or more lines
	Align ScattermapboxHoverlabelAlign `json:"align,omitempty"`

	// Alignsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  align .
	Alignsrc String `json:"alignsrc,omitempty"`

	// Bgcolor
	// arrayOK: true
	// type: color
	// Sets the background color of the hover labels for this trace
	Bgcolor Color `json:"bgcolor,omitempty"`

	// Bgcolorsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  bgcolor .
	Bgcolorsrc String `json:"bgcolorsrc,omitempty"`

	// Bordercolor
	// arrayOK: true
	// type: color
	// Sets the border color of the hover labels for this trace.
	Bordercolor Color `json:"bordercolor,omitempty"`

	// Bordercolorsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  bordercolor .
	Bordercolorsrc String `json:"bordercolorsrc,omitempty"`

	// Font
	// role: Object
	Font *ScattermapboxHoverlabelFont `json:"font,omitempty"`

	// Namelength
	// arrayOK: true
	// type: integer
	// Sets the default length (in number of characters) of the trace name in the hover labels for all traces. -1 shows the whole name regardless of length. 0-3 shows the first 0-3 characters, and an integer >3 will show the whole name if it is less than that many characters, but if it is longer, will truncate to `namelength - 3` characters and add an ellipsis.
	Namelength int64 `json:"namelength,omitempty"`

	// Namelengthsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  namelength .
	Namelengthsrc String `json:"namelengthsrc,omitempty"`
}

ScattermapboxHoverlabel

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 (
	ScattermapboxHoverlabelAlignLeft  ScattermapboxHoverlabelAlign = "left"
	ScattermapboxHoverlabelAlignRight ScattermapboxHoverlabelAlign = "right"
	ScattermapboxHoverlabelAlignAuto  ScattermapboxHoverlabelAlign = "auto"
)

type ScattermapboxHoverlabelFont

type ScattermapboxHoverlabelFont struct {

	// Color
	// arrayOK: true
	// type: color
	//
	Color Color `json:"color,omitempty"`

	// Colorsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  color .
	Colorsrc String `json:"colorsrc,omitempty"`

	// Family
	// arrayOK: true
	// type: string
	// HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.
	Family String `json:"family,omitempty"`

	// Familysrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  family .
	Familysrc String `json:"familysrc,omitempty"`

	// Size
	// arrayOK: true
	// type: number
	//
	Size float64 `json:"size,omitempty"`

	// Sizesrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  size .
	Sizesrc String `json:"sizesrc,omitempty"`
}

ScattermapboxHoverlabelFont Sets the font used in hover labels.

type ScattermapboxLine

type ScattermapboxLine struct {

	// Color
	// arrayOK: false
	// type: color
	// Sets the line color.
	Color Color `json:"color,omitempty"`

	// Width
	// arrayOK: false
	// type: number
	// Sets the line width (in px).
	Width float64 `json:"width,omitempty"`
}

ScattermapboxLine

type ScattermapboxMarker

type ScattermapboxMarker struct {

	// Allowoverlap
	// arrayOK: false
	// type: boolean
	// Flag to draw all symbols, even if they overlap.
	Allowoverlap Bool `json:"allowoverlap,omitempty"`

	// Angle
	// arrayOK: true
	// type: number
	// Sets the marker orientation from true North, in degrees clockwise. When using the *auto* default, no rotation would be applied in perspective views which is different from using a zero angle.
	Angle float64 `json:"angle,omitempty"`

	// Anglesrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  angle .
	Anglesrc String `json:"anglesrc,omitempty"`

	// Autocolorscale
	// arrayOK: false
	// type: boolean
	// Determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by `marker.colorscale`. Has an effect only if in `marker.color`is set to a numerical array. In case `colorscale` is unspecified or `autocolorscale` is true, the default  palette will be chosen according to whether numbers in the `color` array are all positive, all negative or mixed.
	Autocolorscale Bool `json:"autocolorscale,omitempty"`

	// Cauto
	// arrayOK: false
	// type: boolean
	// Determines whether or not the color domain is computed with respect to the input data (here in `marker.color`) or the bounds set in `marker.cmin` and `marker.cmax`  Has an effect only if in `marker.color`is set to a numerical array. Defaults to `false` when `marker.cmin` and `marker.cmax` are set by the user.
	Cauto Bool `json:"cauto,omitempty"`

	// Cmax
	// arrayOK: false
	// type: number
	// Sets the upper bound of the color domain. Has an effect only if in `marker.color`is set to a numerical array. Value should have the same units as in `marker.color` and if set, `marker.cmin` must be set as well.
	Cmax float64 `json:"cmax,omitempty"`

	// Cmid
	// arrayOK: false
	// type: number
	// Sets the mid-point of the color domain by scaling `marker.cmin` and/or `marker.cmax` to be equidistant to this point. Has an effect only if in `marker.color`is set to a numerical array. Value should have the same units as in `marker.color`. Has no effect when `marker.cauto` is `false`.
	Cmid float64 `json:"cmid,omitempty"`

	// Cmin
	// arrayOK: false
	// type: number
	// Sets the lower bound of the color domain. Has an effect only if in `marker.color`is set to a numerical array. Value should have the same units as in `marker.color` and if set, `marker.cmax` must be set as well.
	Cmin float64 `json:"cmin,omitempty"`

	// Color
	// arrayOK: true
	// type: color
	// Sets themarkercolor. It accepts either a specific color or an array of numbers that are mapped to the colorscale relative to the max and min values of the array or relative to `marker.cmin` and `marker.cmax` if set.
	Color Color `json:"color,omitempty"`

	// Coloraxis
	// arrayOK: false
	// type: subplotid
	// Sets a reference to a shared color axis. References to these shared color axes are *coloraxis*, *coloraxis2*, *coloraxis3*, etc. Settings for these shared color axes are set in the layout, under `layout.coloraxis`, `layout.coloraxis2`, etc. Note that multiple color scales can be linked to the same color axis.
	Coloraxis String `json:"coloraxis,omitempty"`

	// Colorbar
	// role: Object
	Colorbar *ScattermapboxMarkerColorbar `json:"colorbar,omitempty"`

	// Colorscale
	// default: %!s(<nil>)
	// type: colorscale
	// Sets the colorscale. Has an effect only if in `marker.color`is set to a numerical array. The colorscale must be an array containing arrays mapping a normalized value to an rgb, rgba, hex, hsl, hsv, or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, use`marker.cmin` and `marker.cmax`. Alternatively, `colorscale` may be a palette name string of the following list: Greys,YlGnBu,Greens,YlOrRd,Bluered,RdBu,Reds,Blues,Picnic,Rainbow,Portland,Jet,Hot,Blackbody,Earth,Electric,Viridis,Cividis.
	Colorscale ColorScale `json:"colorscale,omitempty"`

	// Colorsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  color .
	Colorsrc String `json:"colorsrc,omitempty"`

	// Opacity
	// arrayOK: true
	// type: number
	// Sets the marker opacity.
	Opacity float64 `json:"opacity,omitempty"`

	// Opacitysrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  opacity .
	Opacitysrc String `json:"opacitysrc,omitempty"`

	// Reversescale
	// arrayOK: false
	// type: boolean
	// Reverses the color mapping if true. Has an effect only if in `marker.color`is set to a numerical array. If true, `marker.cmin` will correspond to the last color in the array and `marker.cmax` will correspond to the first color.
	Reversescale Bool `json:"reversescale,omitempty"`

	// Showscale
	// arrayOK: false
	// type: boolean
	// Determines whether or not a colorbar is displayed for this trace. Has an effect only if in `marker.color`is set to a numerical array.
	Showscale Bool `json:"showscale,omitempty"`

	// Size
	// arrayOK: true
	// type: number
	// Sets the marker size (in px).
	Size float64 `json:"size,omitempty"`

	// Sizemin
	// arrayOK: false
	// type: number
	// Has an effect only if `marker.size` is set to a numerical array. Sets the minimum size (in px) of the rendered marker points.
	Sizemin float64 `json:"sizemin,omitempty"`

	// Sizemode
	// default: diameter
	// type: enumerated
	// Has an effect only if `marker.size` is set to a numerical array. Sets the rule for which the data in `size` is converted to pixels.
	Sizemode ScattermapboxMarkerSizemode `json:"sizemode,omitempty"`

	// Sizeref
	// arrayOK: false
	// type: number
	// Has an effect only if `marker.size` is set to a numerical array. Sets the scale factor used to determine the rendered size of marker points. Use with `sizemin` and `sizemode`.
	Sizeref float64 `json:"sizeref,omitempty"`

	// Sizesrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  size .
	Sizesrc String `json:"sizesrc,omitempty"`

	// Symbol
	// arrayOK: true
	// type: string
	// Sets the marker symbol. Full list: https://www.mapbox.com/maki-icons/ Note that the array `marker.color` and `marker.size` are only available for *circle* symbols.
	Symbol String `json:"symbol,omitempty"`

	// Symbolsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  symbol .
	Symbolsrc String `json:"symbolsrc,omitempty"`
}

ScattermapboxMarker

type ScattermapboxMarkerColorbar

type ScattermapboxMarkerColorbar struct {

	// Bgcolor
	// arrayOK: false
	// type: color
	// Sets the color of padded area.
	Bgcolor Color `json:"bgcolor,omitempty"`

	// Bordercolor
	// arrayOK: false
	// type: color
	// Sets the axis line color.
	Bordercolor Color `json:"bordercolor,omitempty"`

	// Borderwidth
	// arrayOK: false
	// type: number
	// Sets the width (in px) or the border enclosing this color bar.
	Borderwidth float64 `json:"borderwidth,omitempty"`

	// Dtick
	// arrayOK: false
	// type: any
	// Sets the step in-between ticks on this axis. Use with `tick0`. Must be a positive number, or special strings available to *log* and *date* axes. If the axis `type` is *log*, then ticks are set every 10^(n*dtick) where n is the tick number. For example, to set a tick mark at 1, 10, 100, 1000, ... set dtick to 1. To set tick marks at 1, 100, 10000, ... set dtick to 2. To set tick marks at 1, 5, 25, 125, 625, 3125, ... set dtick to log_10(5), or 0.69897000433. *log* has several special values; *L<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
	// default: B
	// type: enumerated
	// Determines a formatting rule for the tick exponents. For example, consider the number 1,000,000,000. If *none*, it appears as 1,000,000,000. If *e*, 1e+9. If *E*, 1E+9. If *power*, 1x10^9 (with 9 in a super script). If *SI*, 1G. If *B*, 1B.
	Exponentformat ScattermapboxMarkerColorbarExponentformat `json:"exponentformat,omitempty"`

	// Len
	// arrayOK: false
	// type: number
	// Sets the length of the color bar This measure excludes the padding of both ends. That is, the color bar length is this length minus the padding on both ends.
	Len float64 `json:"len,omitempty"`

	// Lenmode
	// default: fraction
	// type: enumerated
	// Determines whether this color bar's length (i.e. the measure in the color variation direction) is set in units of plot *fraction* or in *pixels. Use `len` to set the value.
	Lenmode ScattermapboxMarkerColorbarLenmode `json:"lenmode,omitempty"`

	// Minexponent
	// arrayOK: false
	// type: number
	// Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*.
	Minexponent float64 `json:"minexponent,omitempty"`

	// Nticks
	// arrayOK: false
	// type: integer
	// Specifies the maximum number of ticks for the particular axis. The actual number of ticks will be chosen automatically to be less than or equal to `nticks`. Has an effect only if `tickmode` is set to *auto*.
	Nticks int64 `json:"nticks,omitempty"`

	// Outlinecolor
	// arrayOK: false
	// type: color
	// Sets the axis line color.
	Outlinecolor Color `json:"outlinecolor,omitempty"`

	// Outlinewidth
	// arrayOK: false
	// type: number
	// Sets the width (in px) of the axis line.
	Outlinewidth float64 `json:"outlinewidth,omitempty"`

	// Separatethousands
	// arrayOK: false
	// type: boolean
	// If "true", even 4-digit integers are separated
	Separatethousands Bool `json:"separatethousands,omitempty"`

	// Showexponent
	// default: all
	// type: enumerated
	// If *all*, all exponents are shown besides their significands. If *first*, only the exponent of the first tick is shown. If *last*, only the exponent of the last tick is shown. If *none*, no exponents appear.
	Showexponent ScattermapboxMarkerColorbarShowexponent `json:"showexponent,omitempty"`

	// Showticklabels
	// arrayOK: false
	// type: boolean
	// Determines whether or not the tick labels are drawn.
	Showticklabels Bool `json:"showticklabels,omitempty"`

	// Showtickprefix
	// default: all
	// type: enumerated
	// If *all*, all tick labels are displayed with a prefix. If *first*, only the first tick is displayed with a prefix. If *last*, only the last tick is displayed with a suffix. If *none*, tick prefixes are hidden.
	Showtickprefix ScattermapboxMarkerColorbarShowtickprefix `json:"showtickprefix,omitempty"`

	// Showticksuffix
	// default: all
	// type: enumerated
	// Same as `showtickprefix` but for tick suffixes.
	Showticksuffix ScattermapboxMarkerColorbarShowticksuffix `json:"showticksuffix,omitempty"`

	// Thickness
	// arrayOK: false
	// type: number
	// Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.
	Thickness float64 `json:"thickness,omitempty"`

	// Thicknessmode
	// default: pixels
	// type: enumerated
	// Determines whether this color bar's thickness (i.e. the measure in the constant color direction) is set in units of plot *fraction* or in *pixels*. Use `thickness` to set the value.
	Thicknessmode ScattermapboxMarkerColorbarThicknessmode `json:"thicknessmode,omitempty"`

	// Tick0
	// arrayOK: false
	// type: any
	// Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2) except when `dtick`=*L<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
	// arrayOK: false
	// type: angle
	// Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.
	Tickangle float64 `json:"tickangle,omitempty"`

	// Tickcolor
	// arrayOK: false
	// type: color
	// Sets the tick color.
	Tickcolor Color `json:"tickcolor,omitempty"`

	// Tickfont
	// role: Object
	Tickfont *ScattermapboxMarkerColorbarTickfont `json:"tickfont,omitempty"`

	// Tickformat
	// arrayOK: false
	// type: string
	// Sets the tick label formatting rule using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-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
	// It's an items array and what goes inside it's... messy... check the docs
	// I will be happy if you want to contribute by implementing this
	// just raise an issue before you start so we do not overlap
	Tickformatstops interface{} `json:"tickformatstops,omitempty"`

	// Ticklabelposition
	// default: outside
	// type: enumerated
	// Determines where tick labels are drawn.
	Ticklabelposition ScattermapboxMarkerColorbarTicklabelposition `json:"ticklabelposition,omitempty"`

	// Ticklen
	// arrayOK: false
	// type: number
	// Sets the tick length (in px).
	Ticklen float64 `json:"ticklen,omitempty"`

	// Tickmode
	// default: %!s(<nil>)
	// type: enumerated
	// Sets the tick mode for this axis. If *auto*, the number of ticks is set via `nticks`. If *linear*, the placement of the ticks is determined by a starting position `tick0` and a tick step `dtick` (*linear* is the default value if `tick0` and `dtick` are provided). If *array*, the placement of the ticks is set via `tickvals` and the tick text is `ticktext`. (*array* is the default value if `tickvals` is provided).
	Tickmode ScattermapboxMarkerColorbarTickmode `json:"tickmode,omitempty"`

	// Tickprefix
	// arrayOK: false
	// type: string
	// Sets a tick label prefix.
	Tickprefix String `json:"tickprefix,omitempty"`

	// Ticks
	// default:
	// type: enumerated
	// Determines whether ticks are drawn or not. If **, this axis' ticks are not drawn. If *outside* (*inside*), this axis' are drawn outside (inside) the axis lines.
	Ticks ScattermapboxMarkerColorbarTicks `json:"ticks,omitempty"`

	// Ticksuffix
	// arrayOK: false
	// type: string
	// Sets a tick label suffix.
	Ticksuffix String `json:"ticksuffix,omitempty"`

	// Ticktext
	// arrayOK: false
	// type: data_array
	// Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `tickvals`.
	Ticktext interface{} `json:"ticktext,omitempty"`

	// Ticktextsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  ticktext .
	Ticktextsrc String `json:"ticktextsrc,omitempty"`

	// Tickvals
	// arrayOK: false
	// type: data_array
	// Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.
	Tickvals interface{} `json:"tickvals,omitempty"`

	// Tickvalssrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  tickvals .
	Tickvalssrc String `json:"tickvalssrc,omitempty"`

	// Tickwidth
	// arrayOK: false
	// type: number
	// Sets the tick width (in px).
	Tickwidth float64 `json:"tickwidth,omitempty"`

	// Title
	// role: Object
	Title *ScattermapboxMarkerColorbarTitle `json:"title,omitempty"`

	// X
	// arrayOK: false
	// type: number
	// Sets the x position of the color bar (in plot fraction).
	X float64 `json:"x,omitempty"`

	// Xanchor
	// default: left
	// type: enumerated
	// Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the color bar.
	Xanchor ScattermapboxMarkerColorbarXanchor `json:"xanchor,omitempty"`

	// Xpad
	// arrayOK: false
	// type: number
	// Sets the amount of padding (in px) along the x direction.
	Xpad float64 `json:"xpad,omitempty"`

	// Y
	// arrayOK: false
	// type: number
	// Sets the y position of the color bar (in plot fraction).
	Y float64 `json:"y,omitempty"`

	// Yanchor
	// default: middle
	// type: enumerated
	// Sets this color bar's vertical position anchor This anchor binds the `y` position to the *top*, *middle* or *bottom* of the color bar.
	Yanchor ScattermapboxMarkerColorbarYanchor `json:"yanchor,omitempty"`

	// Ypad
	// arrayOK: false
	// type: number
	// Sets the amount of padding (in px) along the y direction.
	Ypad float64 `json:"ypad,omitempty"`
}

ScattermapboxMarkerColorbar

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 (
	ScattermapboxMarkerColorbarExponentformatNone  ScattermapboxMarkerColorbarExponentformat = "none"
	ScattermapboxMarkerColorbarExponentformatE1    ScattermapboxMarkerColorbarExponentformat = "e"
	ScattermapboxMarkerColorbarExponentformatE2    ScattermapboxMarkerColorbarExponentformat = "E"
	ScattermapboxMarkerColorbarExponentformatPower ScattermapboxMarkerColorbarExponentformat = "power"
	ScattermapboxMarkerColorbarExponentformatSi    ScattermapboxMarkerColorbarExponentformat = "SI"
	ScattermapboxMarkerColorbarExponentformatB     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 (
	ScattermapboxMarkerColorbarLenmodeFraction ScattermapboxMarkerColorbarLenmode = "fraction"
	ScattermapboxMarkerColorbarLenmodePixels   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 (
	ScattermapboxMarkerColorbarShowexponentAll   ScattermapboxMarkerColorbarShowexponent = "all"
	ScattermapboxMarkerColorbarShowexponentFirst ScattermapboxMarkerColorbarShowexponent = "first"
	ScattermapboxMarkerColorbarShowexponentLast  ScattermapboxMarkerColorbarShowexponent = "last"
	ScattermapboxMarkerColorbarShowexponentNone  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 (
	ScattermapboxMarkerColorbarShowtickprefixAll   ScattermapboxMarkerColorbarShowtickprefix = "all"
	ScattermapboxMarkerColorbarShowtickprefixFirst ScattermapboxMarkerColorbarShowtickprefix = "first"
	ScattermapboxMarkerColorbarShowtickprefixLast  ScattermapboxMarkerColorbarShowtickprefix = "last"
	ScattermapboxMarkerColorbarShowtickprefixNone  ScattermapboxMarkerColorbarShowtickprefix = "none"
)

type ScattermapboxMarkerColorbarShowticksuffix

type ScattermapboxMarkerColorbarShowticksuffix string

ScattermapboxMarkerColorbarShowticksuffix Same as `showtickprefix` but for tick suffixes.

const (
	ScattermapboxMarkerColorbarShowticksuffixAll   ScattermapboxMarkerColorbarShowticksuffix = "all"
	ScattermapboxMarkerColorbarShowticksuffixFirst ScattermapboxMarkerColorbarShowticksuffix = "first"
	ScattermapboxMarkerColorbarShowticksuffixLast  ScattermapboxMarkerColorbarShowticksuffix = "last"
	ScattermapboxMarkerColorbarShowticksuffixNone  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 (
	ScattermapboxMarkerColorbarThicknessmodeFraction ScattermapboxMarkerColorbarThicknessmode = "fraction"
	ScattermapboxMarkerColorbarThicknessmodePixels   ScattermapboxMarkerColorbarThicknessmode = "pixels"
)

type ScattermapboxMarkerColorbarTickfont

type ScattermapboxMarkerColorbarTickfont struct {

	// Color
	// arrayOK: false
	// type: color
	//
	Color Color `json:"color,omitempty"`

	// Family
	// arrayOK: false
	// type: string
	// HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.
	Family String `json:"family,omitempty"`

	// Size
	// arrayOK: false
	// type: number
	//
	Size float64 `json:"size,omitempty"`
}

ScattermapboxMarkerColorbarTickfont Sets the color bar's tick label font

type ScattermapboxMarkerColorbarTicklabelposition added in v0.3.1

type ScattermapboxMarkerColorbarTicklabelposition string

ScattermapboxMarkerColorbarTicklabelposition Determines where tick labels are drawn.

const (
	ScattermapboxMarkerColorbarTicklabelpositionOutside       ScattermapboxMarkerColorbarTicklabelposition = "outside"
	ScattermapboxMarkerColorbarTicklabelpositionInside        ScattermapboxMarkerColorbarTicklabelposition = "inside"
	ScattermapboxMarkerColorbarTicklabelpositionOutsideTop    ScattermapboxMarkerColorbarTicklabelposition = "outside top"
	ScattermapboxMarkerColorbarTicklabelpositionInsideTop     ScattermapboxMarkerColorbarTicklabelposition = "inside top"
	ScattermapboxMarkerColorbarTicklabelpositionOutsideBottom ScattermapboxMarkerColorbarTicklabelposition = "outside bottom"
	ScattermapboxMarkerColorbarTicklabelpositionInsideBottom  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 (
	ScattermapboxMarkerColorbarTickmodeAuto   ScattermapboxMarkerColorbarTickmode = "auto"
	ScattermapboxMarkerColorbarTickmodeLinear ScattermapboxMarkerColorbarTickmode = "linear"
	ScattermapboxMarkerColorbarTickmodeArray  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 (
	ScattermapboxMarkerColorbarTicksOutside ScattermapboxMarkerColorbarTicks = "outside"
	ScattermapboxMarkerColorbarTicksInside  ScattermapboxMarkerColorbarTicks = "inside"
	ScattermapboxMarkerColorbarTicksEmpty   ScattermapboxMarkerColorbarTicks = ""
)

type ScattermapboxMarkerColorbarTitle

type ScattermapboxMarkerColorbarTitle struct {

	// Font
	// role: Object
	Font *ScattermapboxMarkerColorbarTitleFont `json:"font,omitempty"`

	// Side
	// default: top
	// type: enumerated
	// Determines the location of color bar's title with respect to the color bar. Note that the title's location used to be set by the now deprecated `titleside` attribute.
	Side ScattermapboxMarkerColorbarTitleSide `json:"side,omitempty"`

	// Text
	// arrayOK: false
	// type: string
	// Sets the title of the color bar. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.
	Text String `json:"text,omitempty"`
}

ScattermapboxMarkerColorbarTitle

type ScattermapboxMarkerColorbarTitleFont

type ScattermapboxMarkerColorbarTitleFont struct {

	// Color
	// arrayOK: false
	// type: color
	//
	Color Color `json:"color,omitempty"`

	// Family
	// arrayOK: false
	// type: string
	// HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.
	Family String `json:"family,omitempty"`

	// Size
	// arrayOK: false
	// type: number
	//
	Size float64 `json:"size,omitempty"`
}

ScattermapboxMarkerColorbarTitleFont Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.

type 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 (
	ScattermapboxMarkerColorbarTitleSideRight  ScattermapboxMarkerColorbarTitleSide = "right"
	ScattermapboxMarkerColorbarTitleSideTop    ScattermapboxMarkerColorbarTitleSide = "top"
	ScattermapboxMarkerColorbarTitleSideBottom 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 (
	ScattermapboxMarkerColorbarXanchorLeft   ScattermapboxMarkerColorbarXanchor = "left"
	ScattermapboxMarkerColorbarXanchorCenter ScattermapboxMarkerColorbarXanchor = "center"
	ScattermapboxMarkerColorbarXanchorRight  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 (
	ScattermapboxMarkerColorbarYanchorTop    ScattermapboxMarkerColorbarYanchor = "top"
	ScattermapboxMarkerColorbarYanchorMiddle ScattermapboxMarkerColorbarYanchor = "middle"
	ScattermapboxMarkerColorbarYanchorBottom 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 (
	ScattermapboxMarkerSizemodeDiameter ScattermapboxMarkerSizemode = "diameter"
	ScattermapboxMarkerSizemodeArea     ScattermapboxMarkerSizemode = "area"
)

type ScattermapboxMode

type ScattermapboxMode string

ScattermapboxMode Determines the drawing mode for this scatter trace. If the provided `mode` includes *text* then the `text` elements appear at the coordinates. Otherwise, the `text` elements appear on hover.

const (
	// Flags
	ScattermapboxModeLines   ScattermapboxMode = "lines"
	ScattermapboxModeMarkers ScattermapboxMode = "markers"
	ScattermapboxModeText    ScattermapboxMode = "text"

	// Extra
	ScattermapboxModeNone ScattermapboxMode = "none"
)

type ScattermapboxSelected

type ScattermapboxSelected struct {

	// Marker
	// role: Object
	Marker *ScattermapboxSelectedMarker `json:"marker,omitempty"`
}

ScattermapboxSelected

type ScattermapboxSelectedMarker

type ScattermapboxSelectedMarker struct {

	// Color
	// arrayOK: false
	// type: color
	// Sets the marker color of selected points.
	Color Color `json:"color,omitempty"`

	// Opacity
	// arrayOK: false
	// type: number
	// Sets the marker opacity of selected points.
	Opacity float64 `json:"opacity,omitempty"`

	// Size
	// arrayOK: false
	// type: number
	// Sets the marker size of selected points.
	Size float64 `json:"size,omitempty"`
}

ScattermapboxSelectedMarker

type ScattermapboxStream

type ScattermapboxStream struct {

	// Maxpoints
	// arrayOK: false
	// type: number
	// Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot.
	Maxpoints float64 `json:"maxpoints,omitempty"`

	// Token
	// arrayOK: false
	// type: string
	// The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details.
	Token String `json:"token,omitempty"`
}

ScattermapboxStream

type ScattermapboxTextfont

type ScattermapboxTextfont struct {

	// Color
	// arrayOK: false
	// type: color
	//
	Color Color `json:"color,omitempty"`

	// Family
	// arrayOK: false
	// type: string
	// HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.
	Family String `json:"family,omitempty"`

	// Size
	// arrayOK: false
	// type: number
	//
	Size float64 `json:"size,omitempty"`
}

ScattermapboxTextfont Sets the icon text font (color=mapbox.layer.paint.text-color, size=mapbox.layer.layout.text-size). Has an effect only when `type` is set to *symbol*.

type ScattermapboxTextposition

type ScattermapboxTextposition string

ScattermapboxTextposition Sets the positions of the `text` elements with respects to the (x,y) coordinates.

const (
	ScattermapboxTextpositionTopLeft      ScattermapboxTextposition = "top left"
	ScattermapboxTextpositionTopCenter    ScattermapboxTextposition = "top center"
	ScattermapboxTextpositionTopRight     ScattermapboxTextposition = "top right"
	ScattermapboxTextpositionMiddleLeft   ScattermapboxTextposition = "middle left"
	ScattermapboxTextpositionMiddleCenter ScattermapboxTextposition = "middle center"
	ScattermapboxTextpositionMiddleRight  ScattermapboxTextposition = "middle right"
	ScattermapboxTextpositionBottomLeft   ScattermapboxTextposition = "bottom left"
	ScattermapboxTextpositionBottomCenter ScattermapboxTextposition = "bottom center"
	ScattermapboxTextpositionBottomRight  ScattermapboxTextposition = "bottom right"
)

type ScattermapboxUnselected

type ScattermapboxUnselected struct {

	// Marker
	// role: Object
	Marker *ScattermapboxUnselectedMarker `json:"marker,omitempty"`
}

ScattermapboxUnselected

type ScattermapboxUnselectedMarker

type ScattermapboxUnselectedMarker struct {

	// Color
	// arrayOK: false
	// type: color
	// Sets the marker color of unselected points, applied only when a selection exists.
	Color Color `json:"color,omitempty"`

	// Opacity
	// arrayOK: false
	// type: number
	// Sets the marker opacity of unselected points, applied only when a selection exists.
	Opacity float64 `json:"opacity,omitempty"`

	// Size
	// arrayOK: false
	// type: number
	// Sets the marker size of unselected points, applied only when a selection exists.
	Size float64 `json:"size,omitempty"`
}

ScattermapboxUnselectedMarker

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 (
	ScattermapboxVisibleTrue       ScattermapboxVisible = true
	ScattermapboxVisibleFalse      ScattermapboxVisible = false
	ScattermapboxVisibleLegendonly ScattermapboxVisible = "legendonly"
)

type Scatterpolar

type Scatterpolar struct {

	// Type
	// is the type of the plot
	Type TraceType `json:"type,omitempty"`

	// Cliponaxis
	// arrayOK: false
	// type: boolean
	// Determines whether or not markers and text nodes are clipped about the subplot axes. To show markers and text nodes above axis lines and tick labels, make sure to set `xaxis.layer` and `yaxis.layer` to *below traces*.
	Cliponaxis Bool `json:"cliponaxis,omitempty"`

	// Connectgaps
	// arrayOK: false
	// type: boolean
	// Determines whether or not gaps (i.e. {nan} or missing values) in the provided data arrays are connected.
	Connectgaps Bool `json:"connectgaps,omitempty"`

	// Customdata
	// arrayOK: false
	// type: data_array
	// Assigns extra data each datum. This may be useful when listening to hover, click and selection events. Note that, *scatter* traces also appends customdata items in the markers DOM elements
	Customdata interface{} `json:"customdata,omitempty"`

	// Customdatasrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  customdata .
	Customdatasrc String `json:"customdatasrc,omitempty"`

	// Dr
	// arrayOK: false
	// type: number
	// Sets the r coordinate step.
	Dr float64 `json:"dr,omitempty"`

	// Dtheta
	// arrayOK: false
	// type: number
	// Sets the theta coordinate step. By default, the `dtheta` step equals the subplot's period divided by the length of the `r` coordinates.
	Dtheta float64 `json:"dtheta,omitempty"`

	// Fill
	// default: none
	// type: enumerated
	// Sets the area to fill with a solid color. Use with `fillcolor` if not *none*. scatterpolar has a subset of the options available to scatter. *toself* connects the endpoints of the trace (or each segment of the trace if it has gaps) into a closed shape. *tonext* fills the space between two traces if one completely encloses the other (eg consecutive contour lines), and behaves like *toself* if there is no trace before it. *tonext* should not be used if one trace does not enclose the other.
	Fill ScatterpolarFill `json:"fill,omitempty"`

	// Fillcolor
	// arrayOK: false
	// type: color
	// Sets the fill color. Defaults to a half-transparent variant of the line color, marker color, or marker line color, whichever is available.
	Fillcolor Color `json:"fillcolor,omitempty"`

	// Hoverinfo
	// default: all
	// type: flaglist
	// Determines which trace information appear on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired.
	Hoverinfo ScatterpolarHoverinfo `json:"hoverinfo,omitempty"`

	// Hoverinfosrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  hoverinfo .
	Hoverinfosrc String `json:"hoverinfosrc,omitempty"`

	// Hoverlabel
	// role: Object
	Hoverlabel *ScatterpolarHoverlabel `json:"hoverlabel,omitempty"`

	// Hoveron
	// default: %!s(<nil>)
	// type: flaglist
	// Do the hover effects highlight individual points (markers or line points) or do they highlight filled regions? If the fill is *toself* or *tonext* and there are no markers or text, then the default is *fills*, otherwise it is *points*.
	Hoveron ScatterpolarHoveron `json:"hoveron,omitempty"`

	// Hovertemplate
	// arrayOK: true
	// type: string
	// Template string used for rendering the information that appear on hover box. Note that this will override `hoverinfo`. Variables are inserted using %{variable}, for example "y: %{y}". 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 String `json:"hovertemplate,omitempty"`

	// Hovertemplatesrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  hovertemplate .
	Hovertemplatesrc String `json:"hovertemplatesrc,omitempty"`

	// Hovertext
	// arrayOK: true
	// type: string
	// Sets hover text elements associated with each (x,y) pair. If a single string, the same string appears over all the data points. If an array of string, the items are mapped in order to the this trace's (x,y) coordinates. To be seen, trace `hoverinfo` must contain a *text* flag.
	Hovertext String `json:"hovertext,omitempty"`

	// Hovertextsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  hovertext .
	Hovertextsrc String `json:"hovertextsrc,omitempty"`

	// Ids
	// arrayOK: false
	// type: data_array
	// Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type.
	Ids interface{} `json:"ids,omitempty"`

	// Idssrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  ids .
	Idssrc String `json:"idssrc,omitempty"`

	// Legendgroup
	// arrayOK: false
	// type: string
	// Sets the legend group for this trace. Traces part of the same legend group hide/show at the same time when toggling legend items.
	Legendgroup String `json:"legendgroup,omitempty"`

	// Line
	// role: Object
	Line *ScatterpolarLine `json:"line,omitempty"`

	// Marker
	// role: Object
	Marker *ScatterpolarMarker `json:"marker,omitempty"`

	// Meta
	// arrayOK: true
	// type: any
	// Assigns extra meta information associated with this trace that can be used in various text attributes. Attributes such as trace `name`, graph, axis and colorbar `title.text`, annotation `text` `rangeselector`, `updatemenues` and `sliders` `label` text all support `meta`. To access the trace `meta` values in an attribute in the same trace, simply use `%{meta[i]}` where `i` is the index or key of the `meta` item in question. To access trace `meta` in layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index.
	Meta interface{} `json:"meta,omitempty"`

	// Metasrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  meta .
	Metasrc String `json:"metasrc,omitempty"`

	// Mode
	// default: %!s(<nil>)
	// type: flaglist
	// Determines the drawing mode for this scatter trace. If the provided `mode` includes *text* then the `text` elements appear at the coordinates. Otherwise, the `text` elements appear on hover. If there are less than 20 points and the trace is not stacked then the default is *lines+markers*. Otherwise, *lines*.
	Mode ScatterpolarMode `json:"mode,omitempty"`

	// Name
	// arrayOK: false
	// type: string
	// Sets the trace name. The trace name appear as the legend item and on hover.
	Name String `json:"name,omitempty"`

	// Opacity
	// arrayOK: false
	// type: number
	// Sets the opacity of the trace.
	Opacity float64 `json:"opacity,omitempty"`

	// R
	// arrayOK: false
	// type: data_array
	// Sets the radial coordinates
	R interface{} `json:"r,omitempty"`

	// R0
	// arrayOK: false
	// type: any
	// Alternate to `r`. Builds a linear space of r coordinates. Use with `dr` where `r0` is the starting coordinate and `dr` the step.
	R0 interface{} `json:"r0,omitempty"`

	// Rsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  r .
	Rsrc String `json:"rsrc,omitempty"`

	// Selected
	// role: Object
	Selected *ScatterpolarSelected `json:"selected,omitempty"`

	// Selectedpoints
	// arrayOK: false
	// type: any
	// Array containing integer indices of selected points. Has an effect only for traces that support selections. Note that an empty array means an empty selection where the `unselected` are turned on for all points, whereas, any other non-array values means no selection all where the `selected` and `unselected` styles have no effect.
	Selectedpoints interface{} `json:"selectedpoints,omitempty"`

	// Showlegend
	// arrayOK: false
	// type: boolean
	// Determines whether or not an item corresponding to this trace is shown in the legend.
	Showlegend Bool `json:"showlegend,omitempty"`

	// Stream
	// role: Object
	Stream *ScatterpolarStream `json:"stream,omitempty"`

	// Subplot
	// arrayOK: false
	// type: subplotid
	// Sets a reference between this trace's data coordinates and a polar subplot. If *polar* (the default value), the data refer to `layout.polar`. If *polar2*, the data refer to `layout.polar2`, and so on.
	Subplot String `json:"subplot,omitempty"`

	// Text
	// arrayOK: true
	// type: string
	// Sets text elements associated with each (x,y) pair. If a single string, the same string appears over all the data points. If an array of string, the items are mapped in order to the this trace's (x,y) coordinates. If trace `hoverinfo` contains a *text* flag and *hovertext* is not set, these elements will be seen in the hover labels.
	Text String `json:"text,omitempty"`

	// Textfont
	// role: Object
	Textfont *ScatterpolarTextfont `json:"textfont,omitempty"`

	// Textposition
	// default: middle center
	// type: enumerated
	// Sets the positions of the `text` elements with respects to the (x,y) coordinates.
	Textposition ScatterpolarTextposition `json:"textposition,omitempty"`

	// Textpositionsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  textposition .
	Textpositionsrc String `json:"textpositionsrc,omitempty"`

	// Textsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  text .
	Textsrc String `json:"textsrc,omitempty"`

	// Texttemplate
	// arrayOK: true
	// type: string
	// Template string used for rendering the information text that appear on points. Note that this will override `textinfo`. Variables are inserted using %{variable}, for example "y: %{y}". Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example "Price: %{y:$.2f}". https://github.com/d3/d3-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 String `json:"texttemplate,omitempty"`

	// Texttemplatesrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  texttemplate .
	Texttemplatesrc String `json:"texttemplatesrc,omitempty"`

	// Theta
	// arrayOK: false
	// type: data_array
	// Sets the angular coordinates
	Theta interface{} `json:"theta,omitempty"`

	// Theta0
	// arrayOK: false
	// type: any
	// Alternate to `theta`. Builds a linear space of theta coordinates. Use with `dtheta` where `theta0` is the starting coordinate and `dtheta` the step.
	Theta0 interface{} `json:"theta0,omitempty"`

	// Thetasrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  theta .
	Thetasrc String `json:"thetasrc,omitempty"`

	// Thetaunit
	// default: degrees
	// type: enumerated
	// Sets the unit of input *theta* values. Has an effect only when on *linear* angular axes.
	Thetaunit ScatterpolarThetaunit `json:"thetaunit,omitempty"`

	// Transforms
	// It's an items array and what goes inside it's... messy... check the docs
	// I will be happy if you want to contribute by implementing this
	// just raise an issue before you start so we do not overlap
	Transforms interface{} `json:"transforms,omitempty"`

	// Uid
	// arrayOK: false
	// type: string
	// Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.
	Uid String `json:"uid,omitempty"`

	// Uirevision
	// arrayOK: false
	// type: any
	// Controls persistence of some user-driven changes to the trace: `constraintrange` in `parcoords` traces, as well as some `editable: true` modifications such as `name` and `colorbar.title`. Defaults to `layout.uirevision`. Note that other user-driven trace attribute changes are controlled by `layout` attributes: `trace.visible` is controlled by `layout.legend.uirevision`, `selectedpoints` is controlled by `layout.selectionrevision`, and `colorbar.(x|y)` (accessible with `config: {editable: true}`) is controlled by `layout.editrevision`. Trace changes are tracked by `uid`, which only falls back on trace index if no `uid` is provided. So if your app can add/remove traces before the end of the `data` array, such that the same trace has a different index, you can still preserve user-driven changes if you give each trace a `uid` that stays with it as it moves.
	Uirevision interface{} `json:"uirevision,omitempty"`

	// Unselected
	// role: Object
	Unselected *ScatterpolarUnselected `json:"unselected,omitempty"`

	// Visible
	// default: %!s(bool=true)
	// type: enumerated
	// Determines whether or not this trace is visible. If *legendonly*, the trace is not drawn, but can appear as a legend item (provided that the legend itself is visible).
	Visible ScatterpolarVisible `json:"visible,omitempty"`
}

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 (*Scatterpolar) GetType

func (trace *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 (
	ScatterpolarFillNone   ScatterpolarFill = "none"
	ScatterpolarFillToself ScatterpolarFill = "toself"
	ScatterpolarFillTonext ScatterpolarFill = "tonext"
)

type ScatterpolarHoverinfo

type ScatterpolarHoverinfo string

ScatterpolarHoverinfo Determines which trace information appear on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired.

const (
	// Flags
	ScatterpolarHoverinfoR     ScatterpolarHoverinfo = "r"
	ScatterpolarHoverinfoTheta ScatterpolarHoverinfo = "theta"
	ScatterpolarHoverinfoText  ScatterpolarHoverinfo = "text"
	ScatterpolarHoverinfoName  ScatterpolarHoverinfo = "name"

	// Extra
	ScatterpolarHoverinfoAll  ScatterpolarHoverinfo = "all"
	ScatterpolarHoverinfoNone ScatterpolarHoverinfo = "none"
	ScatterpolarHoverinfoSkip ScatterpolarHoverinfo = "skip"
)

type ScatterpolarHoverlabel

type ScatterpolarHoverlabel struct {

	// Align
	// default: auto
	// type: enumerated
	// Sets the horizontal alignment of the text content within hover label box. Has an effect only if the hover label text spans more two or more lines
	Align ScatterpolarHoverlabelAlign `json:"align,omitempty"`

	// Alignsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  align .
	Alignsrc String `json:"alignsrc,omitempty"`

	// Bgcolor
	// arrayOK: true
	// type: color
	// Sets the background color of the hover labels for this trace
	Bgcolor Color `json:"bgcolor,omitempty"`

	// Bgcolorsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  bgcolor .
	Bgcolorsrc String `json:"bgcolorsrc,omitempty"`

	// Bordercolor
	// arrayOK: true
	// type: color
	// Sets the border color of the hover labels for this trace.
	Bordercolor Color `json:"bordercolor,omitempty"`

	// Bordercolorsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  bordercolor .
	Bordercolorsrc String `json:"bordercolorsrc,omitempty"`

	// Font
	// role: Object
	Font *ScatterpolarHoverlabelFont `json:"font,omitempty"`

	// Namelength
	// arrayOK: true
	// type: integer
	// Sets the default length (in number of characters) of the trace name in the hover labels for all traces. -1 shows the whole name regardless of length. 0-3 shows the first 0-3 characters, and an integer >3 will show the whole name if it is less than that many characters, but if it is longer, will truncate to `namelength - 3` characters and add an ellipsis.
	Namelength int64 `json:"namelength,omitempty"`

	// Namelengthsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  namelength .
	Namelengthsrc String `json:"namelengthsrc,omitempty"`
}

ScatterpolarHoverlabel

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 (
	ScatterpolarHoverlabelAlignLeft  ScatterpolarHoverlabelAlign = "left"
	ScatterpolarHoverlabelAlignRight ScatterpolarHoverlabelAlign = "right"
	ScatterpolarHoverlabelAlignAuto  ScatterpolarHoverlabelAlign = "auto"
)

type ScatterpolarHoverlabelFont

type ScatterpolarHoverlabelFont struct {

	// Color
	// arrayOK: true
	// type: color
	//
	Color Color `json:"color,omitempty"`

	// Colorsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  color .
	Colorsrc String `json:"colorsrc,omitempty"`

	// Family
	// arrayOK: true
	// type: string
	// HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.
	Family String `json:"family,omitempty"`

	// Familysrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  family .
	Familysrc String `json:"familysrc,omitempty"`

	// Size
	// arrayOK: true
	// type: number
	//
	Size float64 `json:"size,omitempty"`

	// Sizesrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  size .
	Sizesrc String `json:"sizesrc,omitempty"`
}

ScatterpolarHoverlabelFont Sets the font used in hover labels.

type ScatterpolarHoveron

type ScatterpolarHoveron string

ScatterpolarHoveron Do the hover effects highlight individual points (markers or line points) or do they highlight filled regions? If the fill is *toself* or *tonext* and there are no markers or text, then the default is *fills*, otherwise it is *points*.

const (
	// Flags
	ScatterpolarHoveronPoints ScatterpolarHoveron = "points"
	ScatterpolarHoveronFills  ScatterpolarHoveron = "fills"
)

type ScatterpolarLine

type ScatterpolarLine struct {

	// Color
	// arrayOK: false
	// type: color
	// Sets the line color.
	Color Color `json:"color,omitempty"`

	// Dash
	// arrayOK: false
	// type: string
	// Sets the dash style of lines. Set to a dash type string (*solid*, *dot*, *dash*, *longdash*, *dashdot*, or *longdashdot*) or a dash length list in px (eg *5px,10px,2px,2px*).
	Dash String `json:"dash,omitempty"`

	// Shape
	// default: linear
	// type: enumerated
	// Determines the line shape. With *spline* the lines are drawn using spline interpolation. The other available values correspond to step-wise line shapes.
	Shape ScatterpolarLineShape `json:"shape,omitempty"`

	// Smoothing
	// arrayOK: false
	// type: number
	// Has an effect only if `shape` is set to *spline* Sets the amount of smoothing. *0* corresponds to no smoothing (equivalent to a *linear* shape).
	Smoothing float64 `json:"smoothing,omitempty"`

	// Width
	// arrayOK: false
	// type: number
	// Sets the line width (in px).
	Width float64 `json:"width,omitempty"`
}

ScatterpolarLine

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 (
	ScatterpolarLineShapeLinear ScatterpolarLineShape = "linear"
	ScatterpolarLineShapeSpline ScatterpolarLineShape = "spline"
)

type ScatterpolarMarker

type ScatterpolarMarker struct {

	// Autocolorscale
	// arrayOK: false
	// type: boolean
	// Determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by `marker.colorscale`. Has an effect only if in `marker.color`is set to a numerical array. In case `colorscale` is unspecified or `autocolorscale` is true, the default  palette will be chosen according to whether numbers in the `color` array are all positive, all negative or mixed.
	Autocolorscale Bool `json:"autocolorscale,omitempty"`

	// Cauto
	// arrayOK: false
	// type: boolean
	// Determines whether or not the color domain is computed with respect to the input data (here in `marker.color`) or the bounds set in `marker.cmin` and `marker.cmax`  Has an effect only if in `marker.color`is set to a numerical array. Defaults to `false` when `marker.cmin` and `marker.cmax` are set by the user.
	Cauto Bool `json:"cauto,omitempty"`

	// Cmax
	// arrayOK: false
	// type: number
	// Sets the upper bound of the color domain. Has an effect only if in `marker.color`is set to a numerical array. Value should have the same units as in `marker.color` and if set, `marker.cmin` must be set as well.
	Cmax float64 `json:"cmax,omitempty"`

	// Cmid
	// arrayOK: false
	// type: number
	// Sets the mid-point of the color domain by scaling `marker.cmin` and/or `marker.cmax` to be equidistant to this point. Has an effect only if in `marker.color`is set to a numerical array. Value should have the same units as in `marker.color`. Has no effect when `marker.cauto` is `false`.
	Cmid float64 `json:"cmid,omitempty"`

	// Cmin
	// arrayOK: false
	// type: number
	// Sets the lower bound of the color domain. Has an effect only if in `marker.color`is set to a numerical array. Value should have the same units as in `marker.color` and if set, `marker.cmax` must be set as well.
	Cmin float64 `json:"cmin,omitempty"`

	// Color
	// arrayOK: true
	// type: color
	// Sets themarkercolor. It accepts either a specific color or an array of numbers that are mapped to the colorscale relative to the max and min values of the array or relative to `marker.cmin` and `marker.cmax` if set.
	Color Color `json:"color,omitempty"`

	// Coloraxis
	// arrayOK: false
	// type: subplotid
	// Sets a reference to a shared color axis. References to these shared color axes are *coloraxis*, *coloraxis2*, *coloraxis3*, etc. Settings for these shared color axes are set in the layout, under `layout.coloraxis`, `layout.coloraxis2`, etc. Note that multiple color scales can be linked to the same color axis.
	Coloraxis String `json:"coloraxis,omitempty"`

	// Colorbar
	// role: Object
	Colorbar *ScatterpolarMarkerColorbar `json:"colorbar,omitempty"`

	// Colorscale
	// default: %!s(<nil>)
	// type: colorscale
	// Sets the colorscale. Has an effect only if in `marker.color`is set to a numerical array. The colorscale must be an array containing arrays mapping a normalized value to an rgb, rgba, hex, hsl, hsv, or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, use`marker.cmin` and `marker.cmax`. Alternatively, `colorscale` may be a palette name string of the following list: Greys,YlGnBu,Greens,YlOrRd,Bluered,RdBu,Reds,Blues,Picnic,Rainbow,Portland,Jet,Hot,Blackbody,Earth,Electric,Viridis,Cividis.
	Colorscale ColorScale `json:"colorscale,omitempty"`

	// Colorsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  color .
	Colorsrc String `json:"colorsrc,omitempty"`

	// Gradient
	// role: Object
	Gradient *ScatterpolarMarkerGradient `json:"gradient,omitempty"`

	// Line
	// role: Object
	Line *ScatterpolarMarkerLine `json:"line,omitempty"`

	// Maxdisplayed
	// arrayOK: false
	// type: number
	// Sets a maximum number of points to be drawn on the graph. *0* corresponds to no limit.
	Maxdisplayed float64 `json:"maxdisplayed,omitempty"`

	// Opacity
	// arrayOK: true
	// type: number
	// Sets the marker opacity.
	Opacity float64 `json:"opacity,omitempty"`

	// Opacitysrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  opacity .
	Opacitysrc String `json:"opacitysrc,omitempty"`

	// Reversescale
	// arrayOK: false
	// type: boolean
	// Reverses the color mapping if true. Has an effect only if in `marker.color`is set to a numerical array. If true, `marker.cmin` will correspond to the last color in the array and `marker.cmax` will correspond to the first color.
	Reversescale Bool `json:"reversescale,omitempty"`

	// Showscale
	// arrayOK: false
	// type: boolean
	// Determines whether or not a colorbar is displayed for this trace. Has an effect only if in `marker.color`is set to a numerical array.
	Showscale Bool `json:"showscale,omitempty"`

	// Size
	// arrayOK: true
	// type: number
	// Sets the marker size (in px).
	Size float64 `json:"size,omitempty"`

	// Sizemin
	// arrayOK: false
	// type: number
	// Has an effect only if `marker.size` is set to a numerical array. Sets the minimum size (in px) of the rendered marker points.
	Sizemin float64 `json:"sizemin,omitempty"`

	// Sizemode
	// default: diameter
	// type: enumerated
	// Has an effect only if `marker.size` is set to a numerical array. Sets the rule for which the data in `size` is converted to pixels.
	Sizemode ScatterpolarMarkerSizemode `json:"sizemode,omitempty"`

	// Sizeref
	// arrayOK: false
	// type: number
	// Has an effect only if `marker.size` is set to a numerical array. Sets the scale factor used to determine the rendered size of marker points. Use with `sizemin` and `sizemode`.
	Sizeref float64 `json:"sizeref,omitempty"`

	// Sizesrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  size .
	Sizesrc String `json:"sizesrc,omitempty"`

	// Symbol
	// default: circle
	// type: enumerated
	// Sets the marker symbol type. Adding 100 is equivalent to appending *-open* to a symbol name. Adding 200 is equivalent to appending *-dot* to a symbol name. Adding 300 is equivalent to appending *-open-dot* or *dot-open* to a symbol name.
	Symbol ScatterpolarMarkerSymbol `json:"symbol,omitempty"`

	// Symbolsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  symbol .
	Symbolsrc String `json:"symbolsrc,omitempty"`
}

ScatterpolarMarker

type ScatterpolarMarkerColorbar

type ScatterpolarMarkerColorbar struct {

	// Bgcolor
	// arrayOK: false
	// type: color
	// Sets the color of padded area.
	Bgcolor Color `json:"bgcolor,omitempty"`

	// Bordercolor
	// arrayOK: false
	// type: color
	// Sets the axis line color.
	Bordercolor Color `json:"bordercolor,omitempty"`

	// Borderwidth
	// arrayOK: false
	// type: number
	// Sets the width (in px) or the border enclosing this color bar.
	Borderwidth float64 `json:"borderwidth,omitempty"`

	// Dtick
	// arrayOK: false
	// type: any
	// Sets the step in-between ticks on this axis. Use with `tick0`. Must be a positive number, or special strings available to *log* and *date* axes. If the axis `type` is *log*, then ticks are set every 10^(n*dtick) where n is the tick number. For example, to set a tick mark at 1, 10, 100, 1000, ... set dtick to 1. To set tick marks at 1, 100, 10000, ... set dtick to 2. To set tick marks at 1, 5, 25, 125, 625, 3125, ... set dtick to log_10(5), or 0.69897000433. *log* has several special values; *L<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
	// default: B
	// type: enumerated
	// Determines a formatting rule for the tick exponents. For example, consider the number 1,000,000,000. If *none*, it appears as 1,000,000,000. If *e*, 1e+9. If *E*, 1E+9. If *power*, 1x10^9 (with 9 in a super script). If *SI*, 1G. If *B*, 1B.
	Exponentformat ScatterpolarMarkerColorbarExponentformat `json:"exponentformat,omitempty"`

	// Len
	// arrayOK: false
	// type: number
	// Sets the length of the color bar This measure excludes the padding of both ends. That is, the color bar length is this length minus the padding on both ends.
	Len float64 `json:"len,omitempty"`

	// Lenmode
	// default: fraction
	// type: enumerated
	// Determines whether this color bar's length (i.e. the measure in the color variation direction) is set in units of plot *fraction* or in *pixels. Use `len` to set the value.
	Lenmode ScatterpolarMarkerColorbarLenmode `json:"lenmode,omitempty"`

	// Minexponent
	// arrayOK: false
	// type: number
	// Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*.
	Minexponent float64 `json:"minexponent,omitempty"`

	// Nticks
	// arrayOK: false
	// type: integer
	// Specifies the maximum number of ticks for the particular axis. The actual number of ticks will be chosen automatically to be less than or equal to `nticks`. Has an effect only if `tickmode` is set to *auto*.
	Nticks int64 `json:"nticks,omitempty"`

	// Outlinecolor
	// arrayOK: false
	// type: color
	// Sets the axis line color.
	Outlinecolor Color `json:"outlinecolor,omitempty"`

	// Outlinewidth
	// arrayOK: false
	// type: number
	// Sets the width (in px) of the axis line.
	Outlinewidth float64 `json:"outlinewidth,omitempty"`

	// Separatethousands
	// arrayOK: false
	// type: boolean
	// If "true", even 4-digit integers are separated
	Separatethousands Bool `json:"separatethousands,omitempty"`

	// Showexponent
	// default: all
	// type: enumerated
	// If *all*, all exponents are shown besides their significands. If *first*, only the exponent of the first tick is shown. If *last*, only the exponent of the last tick is shown. If *none*, no exponents appear.
	Showexponent ScatterpolarMarkerColorbarShowexponent `json:"showexponent,omitempty"`

	// Showticklabels
	// arrayOK: false
	// type: boolean
	// Determines whether or not the tick labels are drawn.
	Showticklabels Bool `json:"showticklabels,omitempty"`

	// Showtickprefix
	// default: all
	// type: enumerated
	// If *all*, all tick labels are displayed with a prefix. If *first*, only the first tick is displayed with a prefix. If *last*, only the last tick is displayed with a suffix. If *none*, tick prefixes are hidden.
	Showtickprefix ScatterpolarMarkerColorbarShowtickprefix `json:"showtickprefix,omitempty"`

	// Showticksuffix
	// default: all
	// type: enumerated
	// Same as `showtickprefix` but for tick suffixes.
	Showticksuffix ScatterpolarMarkerColorbarShowticksuffix `json:"showticksuffix,omitempty"`

	// Thickness
	// arrayOK: false
	// type: number
	// Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.
	Thickness float64 `json:"thickness,omitempty"`

	// Thicknessmode
	// default: pixels
	// type: enumerated
	// Determines whether this color bar's thickness (i.e. the measure in the constant color direction) is set in units of plot *fraction* or in *pixels*. Use `thickness` to set the value.
	Thicknessmode ScatterpolarMarkerColorbarThicknessmode `json:"thicknessmode,omitempty"`

	// Tick0
	// arrayOK: false
	// type: any
	// Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2) except when `dtick`=*L<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
	// arrayOK: false
	// type: angle
	// Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.
	Tickangle float64 `json:"tickangle,omitempty"`

	// Tickcolor
	// arrayOK: false
	// type: color
	// Sets the tick color.
	Tickcolor Color `json:"tickcolor,omitempty"`

	// Tickfont
	// role: Object
	Tickfont *ScatterpolarMarkerColorbarTickfont `json:"tickfont,omitempty"`

	// Tickformat
	// arrayOK: false
	// type: string
	// Sets the tick label formatting rule using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-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
	// It's an items array and what goes inside it's... messy... check the docs
	// I will be happy if you want to contribute by implementing this
	// just raise an issue before you start so we do not overlap
	Tickformatstops interface{} `json:"tickformatstops,omitempty"`

	// Ticklabelposition
	// default: outside
	// type: enumerated
	// Determines where tick labels are drawn.
	Ticklabelposition ScatterpolarMarkerColorbarTicklabelposition `json:"ticklabelposition,omitempty"`

	// Ticklen
	// arrayOK: false
	// type: number
	// Sets the tick length (in px).
	Ticklen float64 `json:"ticklen,omitempty"`

	// Tickmode
	// default: %!s(<nil>)
	// type: enumerated
	// Sets the tick mode for this axis. If *auto*, the number of ticks is set via `nticks`. If *linear*, the placement of the ticks is determined by a starting position `tick0` and a tick step `dtick` (*linear* is the default value if `tick0` and `dtick` are provided). If *array*, the placement of the ticks is set via `tickvals` and the tick text is `ticktext`. (*array* is the default value if `tickvals` is provided).
	Tickmode ScatterpolarMarkerColorbarTickmode `json:"tickmode,omitempty"`

	// Tickprefix
	// arrayOK: false
	// type: string
	// Sets a tick label prefix.
	Tickprefix String `json:"tickprefix,omitempty"`

	// Ticks
	// default:
	// type: enumerated
	// Determines whether ticks are drawn or not. If **, this axis' ticks are not drawn. If *outside* (*inside*), this axis' are drawn outside (inside) the axis lines.
	Ticks ScatterpolarMarkerColorbarTicks `json:"ticks,omitempty"`

	// Ticksuffix
	// arrayOK: false
	// type: string
	// Sets a tick label suffix.
	Ticksuffix String `json:"ticksuffix,omitempty"`

	// Ticktext
	// arrayOK: false
	// type: data_array
	// Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `tickvals`.
	Ticktext interface{} `json:"ticktext,omitempty"`

	// Ticktextsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  ticktext .
	Ticktextsrc String `json:"ticktextsrc,omitempty"`

	// Tickvals
	// arrayOK: false
	// type: data_array
	// Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.
	Tickvals interface{} `json:"tickvals,omitempty"`

	// Tickvalssrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  tickvals .
	Tickvalssrc String `json:"tickvalssrc,omitempty"`

	// Tickwidth
	// arrayOK: false
	// type: number
	// Sets the tick width (in px).
	Tickwidth float64 `json:"tickwidth,omitempty"`

	// Title
	// role: Object
	Title *ScatterpolarMarkerColorbarTitle `json:"title,omitempty"`

	// X
	// arrayOK: false
	// type: number
	// Sets the x position of the color bar (in plot fraction).
	X float64 `json:"x,omitempty"`

	// Xanchor
	// default: left
	// type: enumerated
	// Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the color bar.
	Xanchor ScatterpolarMarkerColorbarXanchor `json:"xanchor,omitempty"`

	// Xpad
	// arrayOK: false
	// type: number
	// Sets the amount of padding (in px) along the x direction.
	Xpad float64 `json:"xpad,omitempty"`

	// Y
	// arrayOK: false
	// type: number
	// Sets the y position of the color bar (in plot fraction).
	Y float64 `json:"y,omitempty"`

	// Yanchor
	// default: middle
	// type: enumerated
	// Sets this color bar's vertical position anchor This anchor binds the `y` position to the *top*, *middle* or *bottom* of the color bar.
	Yanchor ScatterpolarMarkerColorbarYanchor `json:"yanchor,omitempty"`

	// Ypad
	// arrayOK: false
	// type: number
	// Sets the amount of padding (in px) along the y direction.
	Ypad float64 `json:"ypad,omitempty"`
}

ScatterpolarMarkerColorbar

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 (
	ScatterpolarMarkerColorbarExponentformatNone  ScatterpolarMarkerColorbarExponentformat = "none"
	ScatterpolarMarkerColorbarExponentformatE1    ScatterpolarMarkerColorbarExponentformat = "e"
	ScatterpolarMarkerColorbarExponentformatE2    ScatterpolarMarkerColorbarExponentformat = "E"
	ScatterpolarMarkerColorbarExponentformatPower ScatterpolarMarkerColorbarExponentformat = "power"
	ScatterpolarMarkerColorbarExponentformatSi    ScatterpolarMarkerColorbarExponentformat = "SI"
	ScatterpolarMarkerColorbarExponentformatB     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 (
	ScatterpolarMarkerColorbarLenmodeFraction ScatterpolarMarkerColorbarLenmode = "fraction"
	ScatterpolarMarkerColorbarLenmodePixels   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 (
	ScatterpolarMarkerColorbarShowexponentAll   ScatterpolarMarkerColorbarShowexponent = "all"
	ScatterpolarMarkerColorbarShowexponentFirst ScatterpolarMarkerColorbarShowexponent = "first"
	ScatterpolarMarkerColorbarShowexponentLast  ScatterpolarMarkerColorbarShowexponent = "last"
	ScatterpolarMarkerColorbarShowexponentNone  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 (
	ScatterpolarMarkerColorbarShowtickprefixAll   ScatterpolarMarkerColorbarShowtickprefix = "all"
	ScatterpolarMarkerColorbarShowtickprefixFirst ScatterpolarMarkerColorbarShowtickprefix = "first"
	ScatterpolarMarkerColorbarShowtickprefixLast  ScatterpolarMarkerColorbarShowtickprefix = "last"
	ScatterpolarMarkerColorbarShowtickprefixNone  ScatterpolarMarkerColorbarShowtickprefix = "none"
)

type ScatterpolarMarkerColorbarShowticksuffix

type ScatterpolarMarkerColorbarShowticksuffix string

ScatterpolarMarkerColorbarShowticksuffix Same as `showtickprefix` but for tick suffixes.

const (
	ScatterpolarMarkerColorbarShowticksuffixAll   ScatterpolarMarkerColorbarShowticksuffix = "all"
	ScatterpolarMarkerColorbarShowticksuffixFirst ScatterpolarMarkerColorbarShowticksuffix = "first"
	ScatterpolarMarkerColorbarShowticksuffixLast  ScatterpolarMarkerColorbarShowticksuffix = "last"
	ScatterpolarMarkerColorbarShowticksuffixNone  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 (
	ScatterpolarMarkerColorbarThicknessmodeFraction ScatterpolarMarkerColorbarThicknessmode = "fraction"
	ScatterpolarMarkerColorbarThicknessmodePixels   ScatterpolarMarkerColorbarThicknessmode = "pixels"
)

type ScatterpolarMarkerColorbarTickfont

type ScatterpolarMarkerColorbarTickfont struct {

	// Color
	// arrayOK: false
	// type: color
	//
	Color Color `json:"color,omitempty"`

	// Family
	// arrayOK: false
	// type: string
	// HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.
	Family String `json:"family,omitempty"`

	// Size
	// arrayOK: false
	// type: number
	//
	Size float64 `json:"size,omitempty"`
}

ScatterpolarMarkerColorbarTickfont Sets the color bar's tick label font

type ScatterpolarMarkerColorbarTicklabelposition added in v0.3.1

type ScatterpolarMarkerColorbarTicklabelposition string

ScatterpolarMarkerColorbarTicklabelposition Determines where tick labels are drawn.

const (
	ScatterpolarMarkerColorbarTicklabelpositionOutside       ScatterpolarMarkerColorbarTicklabelposition = "outside"
	ScatterpolarMarkerColorbarTicklabelpositionInside        ScatterpolarMarkerColorbarTicklabelposition = "inside"
	ScatterpolarMarkerColorbarTicklabelpositionOutsideTop    ScatterpolarMarkerColorbarTicklabelposition = "outside top"
	ScatterpolarMarkerColorbarTicklabelpositionInsideTop     ScatterpolarMarkerColorbarTicklabelposition = "inside top"
	ScatterpolarMarkerColorbarTicklabelpositionOutsideBottom ScatterpolarMarkerColorbarTicklabelposition = "outside bottom"
	ScatterpolarMarkerColorbarTicklabelpositionInsideBottom  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 (
	ScatterpolarMarkerColorbarTickmodeAuto   ScatterpolarMarkerColorbarTickmode = "auto"
	ScatterpolarMarkerColorbarTickmodeLinear ScatterpolarMarkerColorbarTickmode = "linear"
	ScatterpolarMarkerColorbarTickmodeArray  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 (
	ScatterpolarMarkerColorbarTicksOutside ScatterpolarMarkerColorbarTicks = "outside"
	ScatterpolarMarkerColorbarTicksInside  ScatterpolarMarkerColorbarTicks = "inside"
	ScatterpolarMarkerColorbarTicksEmpty   ScatterpolarMarkerColorbarTicks = ""
)

type ScatterpolarMarkerColorbarTitle

type ScatterpolarMarkerColorbarTitle struct {

	// Font
	// role: Object
	Font *ScatterpolarMarkerColorbarTitleFont `json:"font,omitempty"`

	// Side
	// default: top
	// type: enumerated
	// Determines the location of color bar's title with respect to the color bar. Note that the title's location used to be set by the now deprecated `titleside` attribute.
	Side ScatterpolarMarkerColorbarTitleSide `json:"side,omitempty"`

	// Text
	// arrayOK: false
	// type: string
	// Sets the title of the color bar. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.
	Text String `json:"text,omitempty"`
}

ScatterpolarMarkerColorbarTitle

type ScatterpolarMarkerColorbarTitleFont

type ScatterpolarMarkerColorbarTitleFont struct {

	// Color
	// arrayOK: false
	// type: color
	//
	Color Color `json:"color,omitempty"`

	// Family
	// arrayOK: false
	// type: string
	// HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.
	Family String `json:"family,omitempty"`

	// Size
	// arrayOK: false
	// type: number
	//
	Size float64 `json:"size,omitempty"`
}

ScatterpolarMarkerColorbarTitleFont Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.

type 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 (
	ScatterpolarMarkerColorbarTitleSideRight  ScatterpolarMarkerColorbarTitleSide = "right"
	ScatterpolarMarkerColorbarTitleSideTop    ScatterpolarMarkerColorbarTitleSide = "top"
	ScatterpolarMarkerColorbarTitleSideBottom 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 (
	ScatterpolarMarkerColorbarXanchorLeft   ScatterpolarMarkerColorbarXanchor = "left"
	ScatterpolarMarkerColorbarXanchorCenter ScatterpolarMarkerColorbarXanchor = "center"
	ScatterpolarMarkerColorbarXanchorRight  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 (
	ScatterpolarMarkerColorbarYanchorTop    ScatterpolarMarkerColorbarYanchor = "top"
	ScatterpolarMarkerColorbarYanchorMiddle ScatterpolarMarkerColorbarYanchor = "middle"
	ScatterpolarMarkerColorbarYanchorBottom ScatterpolarMarkerColorbarYanchor = "bottom"
)

type ScatterpolarMarkerGradient

type ScatterpolarMarkerGradient struct {

	// Color
	// arrayOK: true
	// type: color
	// Sets the final color of the gradient fill: the center color for radial, the right for horizontal, or the bottom for vertical.
	Color Color `json:"color,omitempty"`

	// Colorsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  color .
	Colorsrc String `json:"colorsrc,omitempty"`

	// Type
	// default: none
	// type: enumerated
	// Sets the type of gradient used to fill the markers
	Type ScatterpolarMarkerGradientType `json:"type,omitempty"`

	// Typesrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  type .
	Typesrc String `json:"typesrc,omitempty"`
}

ScatterpolarMarkerGradient

type ScatterpolarMarkerGradientType

type ScatterpolarMarkerGradientType string

ScatterpolarMarkerGradientType Sets the type of gradient used to fill the markers

const (
	ScatterpolarMarkerGradientTypeRadial     ScatterpolarMarkerGradientType = "radial"
	ScatterpolarMarkerGradientTypeHorizontal ScatterpolarMarkerGradientType = "horizontal"
	ScatterpolarMarkerGradientTypeVertical   ScatterpolarMarkerGradientType = "vertical"
	ScatterpolarMarkerGradientTypeNone       ScatterpolarMarkerGradientType = "none"
)

type ScatterpolarMarkerLine

type ScatterpolarMarkerLine struct {

	// Autocolorscale
	// arrayOK: false
	// type: boolean
	// Determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by `marker.line.colorscale`. Has an effect only if in `marker.line.color`is set to a numerical array. In case `colorscale` is unspecified or `autocolorscale` is true, the default  palette will be chosen according to whether numbers in the `color` array are all positive, all negative or mixed.
	Autocolorscale Bool `json:"autocolorscale,omitempty"`

	// Cauto
	// arrayOK: false
	// type: boolean
	// Determines whether or not the color domain is computed with respect to the input data (here in `marker.line.color`) or the bounds set in `marker.line.cmin` and `marker.line.cmax`  Has an effect only if in `marker.line.color`is set to a numerical array. Defaults to `false` when `marker.line.cmin` and `marker.line.cmax` are set by the user.
	Cauto Bool `json:"cauto,omitempty"`

	// Cmax
	// arrayOK: false
	// type: number
	// Sets the upper bound of the color domain. Has an effect only if in `marker.line.color`is set to a numerical array. Value should have the same units as in `marker.line.color` and if set, `marker.line.cmin` must be set as well.
	Cmax float64 `json:"cmax,omitempty"`

	// Cmid
	// arrayOK: false
	// type: number
	// Sets the mid-point of the color domain by scaling `marker.line.cmin` and/or `marker.line.cmax` to be equidistant to this point. Has an effect only if in `marker.line.color`is set to a numerical array. Value should have the same units as in `marker.line.color`. Has no effect when `marker.line.cauto` is `false`.
	Cmid float64 `json:"cmid,omitempty"`

	// Cmin
	// arrayOK: false
	// type: number
	// Sets the lower bound of the color domain. Has an effect only if in `marker.line.color`is set to a numerical array. Value should have the same units as in `marker.line.color` and if set, `marker.line.cmax` must be set as well.
	Cmin float64 `json:"cmin,omitempty"`

	// Color
	// arrayOK: true
	// type: color
	// Sets 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 Color `json:"color,omitempty"`

	// Coloraxis
	// arrayOK: false
	// type: subplotid
	// Sets a reference to a shared color axis. References to these shared color axes are *coloraxis*, *coloraxis2*, *coloraxis3*, etc. Settings for these shared color axes are set in the layout, under `layout.coloraxis`, `layout.coloraxis2`, etc. Note that multiple color scales can be linked to the same color axis.
	Coloraxis String `json:"coloraxis,omitempty"`

	// Colorscale
	// default: %!s(<nil>)
	// type: colorscale
	// Sets the colorscale. Has an effect only if in `marker.line.color`is set to a numerical array. The colorscale must be an array containing arrays mapping a normalized value to an rgb, rgba, hex, hsl, hsv, or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, use`marker.line.cmin` and `marker.line.cmax`. Alternatively, `colorscale` may be a palette name string of the following list: Greys,YlGnBu,Greens,YlOrRd,Bluered,RdBu,Reds,Blues,Picnic,Rainbow,Portland,Jet,Hot,Blackbody,Earth,Electric,Viridis,Cividis.
	Colorscale ColorScale `json:"colorscale,omitempty"`

	// Colorsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  color .
	Colorsrc String `json:"colorsrc,omitempty"`

	// Reversescale
	// arrayOK: false
	// type: boolean
	// Reverses the color mapping if true. Has an effect only if in `marker.line.color`is set to a numerical array. If true, `marker.line.cmin` will correspond to the last color in the array and `marker.line.cmax` will correspond to the first color.
	Reversescale Bool `json:"reversescale,omitempty"`

	// Width
	// arrayOK: true
	// type: number
	// Sets the width (in px) of the lines bounding the marker points.
	Width float64 `json:"width,omitempty"`

	// Widthsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  width .
	Widthsrc String `json:"widthsrc,omitempty"`
}

ScatterpolarMarkerLine

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 (
	ScatterpolarMarkerSizemodeDiameter ScatterpolarMarkerSizemode = "diameter"
	ScatterpolarMarkerSizemodeArea     ScatterpolarMarkerSizemode = "area"
)

type ScatterpolarMarkerSymbol

type ScatterpolarMarkerSymbol interface{}

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.

var (
	ScatterpolarMarkerSymbolNumber0                 ScatterpolarMarkerSymbol = 0
	ScatterpolarMarkerSymbol0                       ScatterpolarMarkerSymbol = "0"
	ScatterpolarMarkerSymbolCircle                  ScatterpolarMarkerSymbol = "circle"
	ScatterpolarMarkerSymbolNumber100               ScatterpolarMarkerSymbol = 100
	ScatterpolarMarkerSymbol100                     ScatterpolarMarkerSymbol = "100"
	ScatterpolarMarkerSymbolCircleOpen              ScatterpolarMarkerSymbol = "circle-open"
	ScatterpolarMarkerSymbolNumber200               ScatterpolarMarkerSymbol = 200
	ScatterpolarMarkerSymbol200                     ScatterpolarMarkerSymbol = "200"
	ScatterpolarMarkerSymbolCircleDot               ScatterpolarMarkerSymbol = "circle-dot"
	ScatterpolarMarkerSymbolNumber300               ScatterpolarMarkerSymbol = 300
	ScatterpolarMarkerSymbol300                     ScatterpolarMarkerSymbol = "300"
	ScatterpolarMarkerSymbolCircleOpenDot           ScatterpolarMarkerSymbol = "circle-open-dot"
	ScatterpolarMarkerSymbolNumber1                 ScatterpolarMarkerSymbol = 1
	ScatterpolarMarkerSymbol1                       ScatterpolarMarkerSymbol = "1"
	ScatterpolarMarkerSymbolSquare                  ScatterpolarMarkerSymbol = "square"
	ScatterpolarMarkerSymbolNumber101               ScatterpolarMarkerSymbol = 101
	ScatterpolarMarkerSymbol101                     ScatterpolarMarkerSymbol = "101"
	ScatterpolarMarkerSymbolSquareOpen              ScatterpolarMarkerSymbol = "square-open"
	ScatterpolarMarkerSymbolNumber201               ScatterpolarMarkerSymbol = 201
	ScatterpolarMarkerSymbol201                     ScatterpolarMarkerSymbol = "201"
	ScatterpolarMarkerSymbolSquareDot               ScatterpolarMarkerSymbol = "square-dot"
	ScatterpolarMarkerSymbolNumber301               ScatterpolarMarkerSymbol = 301
	ScatterpolarMarkerSymbol301                     ScatterpolarMarkerSymbol = "301"
	ScatterpolarMarkerSymbolSquareOpenDot           ScatterpolarMarkerSymbol = "square-open-dot"
	ScatterpolarMarkerSymbolNumber2                 ScatterpolarMarkerSymbol = 2
	ScatterpolarMarkerSymbol2                       ScatterpolarMarkerSymbol = "2"
	ScatterpolarMarkerSymbolDiamond                 ScatterpolarMarkerSymbol = "diamond"
	ScatterpolarMarkerSymbolNumber102               ScatterpolarMarkerSymbol = 102
	ScatterpolarMarkerSymbol102                     ScatterpolarMarkerSymbol = "102"
	ScatterpolarMarkerSymbolDiamondOpen             ScatterpolarMarkerSymbol = "diamond-open"
	ScatterpolarMarkerSymbolNumber202               ScatterpolarMarkerSymbol = 202
	ScatterpolarMarkerSymbol202                     ScatterpolarMarkerSymbol = "202"
	ScatterpolarMarkerSymbolDiamondDot              ScatterpolarMarkerSymbol = "diamond-dot"
	ScatterpolarMarkerSymbolNumber302               ScatterpolarMarkerSymbol = 302
	ScatterpolarMarkerSymbol302                     ScatterpolarMarkerSymbol = "302"
	ScatterpolarMarkerSymbolDiamondOpenDot          ScatterpolarMarkerSymbol = "diamond-open-dot"
	ScatterpolarMarkerSymbolNumber3                 ScatterpolarMarkerSymbol = 3
	ScatterpolarMarkerSymbol3                       ScatterpolarMarkerSymbol = "3"
	ScatterpolarMarkerSymbolCross                   ScatterpolarMarkerSymbol = "cross"
	ScatterpolarMarkerSymbolNumber103               ScatterpolarMarkerSymbol = 103
	ScatterpolarMarkerSymbol103                     ScatterpolarMarkerSymbol = "103"
	ScatterpolarMarkerSymbolCrossOpen               ScatterpolarMarkerSymbol = "cross-open"
	ScatterpolarMarkerSymbolNumber203               ScatterpolarMarkerSymbol = 203
	ScatterpolarMarkerSymbol203                     ScatterpolarMarkerSymbol = "203"
	ScatterpolarMarkerSymbolCrossDot                ScatterpolarMarkerSymbol = "cross-dot"
	ScatterpolarMarkerSymbolNumber303               ScatterpolarMarkerSymbol = 303
	ScatterpolarMarkerSymbol303                     ScatterpolarMarkerSymbol = "303"
	ScatterpolarMarkerSymbolCrossOpenDot            ScatterpolarMarkerSymbol = "cross-open-dot"
	ScatterpolarMarkerSymbolNumber4                 ScatterpolarMarkerSymbol = 4
	ScatterpolarMarkerSymbol4                       ScatterpolarMarkerSymbol = "4"
	ScatterpolarMarkerSymbolX                       ScatterpolarMarkerSymbol = "x"
	ScatterpolarMarkerSymbolNumber104               ScatterpolarMarkerSymbol = 104
	ScatterpolarMarkerSymbol104                     ScatterpolarMarkerSymbol = "104"
	ScatterpolarMarkerSymbolXOpen                   ScatterpolarMarkerSymbol = "x-open"
	ScatterpolarMarkerSymbolNumber204               ScatterpolarMarkerSymbol = 204
	ScatterpolarMarkerSymbol204                     ScatterpolarMarkerSymbol = "204"
	ScatterpolarMarkerSymbolXDot                    ScatterpolarMarkerSymbol = "x-dot"
	ScatterpolarMarkerSymbolNumber304               ScatterpolarMarkerSymbol = 304
	ScatterpolarMarkerSymbol304                     ScatterpolarMarkerSymbol = "304"
	ScatterpolarMarkerSymbolXOpenDot                ScatterpolarMarkerSymbol = "x-open-dot"
	ScatterpolarMarkerSymbolNumber5                 ScatterpolarMarkerSymbol = 5
	ScatterpolarMarkerSymbol5                       ScatterpolarMarkerSymbol = "5"
	ScatterpolarMarkerSymbolTriangleUp              ScatterpolarMarkerSymbol = "triangle-up"
	ScatterpolarMarkerSymbolNumber105               ScatterpolarMarkerSymbol = 105
	ScatterpolarMarkerSymbol105                     ScatterpolarMarkerSymbol = "105"
	ScatterpolarMarkerSymbolTriangleUpOpen          ScatterpolarMarkerSymbol = "triangle-up-open"
	ScatterpolarMarkerSymbolNumber205               ScatterpolarMarkerSymbol = 205
	ScatterpolarMarkerSymbol205                     ScatterpolarMarkerSymbol = "205"
	ScatterpolarMarkerSymbolTriangleUpDot           ScatterpolarMarkerSymbol = "triangle-up-dot"
	ScatterpolarMarkerSymbolNumber305               ScatterpolarMarkerSymbol = 305
	ScatterpolarMarkerSymbol305                     ScatterpolarMarkerSymbol = "305"
	ScatterpolarMarkerSymbolTriangleUpOpenDot       ScatterpolarMarkerSymbol = "triangle-up-open-dot"
	ScatterpolarMarkerSymbolNumber6                 ScatterpolarMarkerSymbol = 6
	ScatterpolarMarkerSymbol6                       ScatterpolarMarkerSymbol = "6"
	ScatterpolarMarkerSymbolTriangleDown            ScatterpolarMarkerSymbol = "triangle-down"
	ScatterpolarMarkerSymbolNumber106               ScatterpolarMarkerSymbol = 106
	ScatterpolarMarkerSymbol106                     ScatterpolarMarkerSymbol = "106"
	ScatterpolarMarkerSymbolTriangleDownOpen        ScatterpolarMarkerSymbol = "triangle-down-open"
	ScatterpolarMarkerSymbolNumber206               ScatterpolarMarkerSymbol = 206
	ScatterpolarMarkerSymbol206                     ScatterpolarMarkerSymbol = "206"
	ScatterpolarMarkerSymbolTriangleDownDot         ScatterpolarMarkerSymbol = "triangle-down-dot"
	ScatterpolarMarkerSymbolNumber306               ScatterpolarMarkerSymbol = 306
	ScatterpolarMarkerSymbol306                     ScatterpolarMarkerSymbol = "306"
	ScatterpolarMarkerSymbolTriangleDownOpenDot     ScatterpolarMarkerSymbol = "triangle-down-open-dot"
	ScatterpolarMarkerSymbolNumber7                 ScatterpolarMarkerSymbol = 7
	ScatterpolarMarkerSymbol7                       ScatterpolarMarkerSymbol = "7"
	ScatterpolarMarkerSymbolTriangleLeft            ScatterpolarMarkerSymbol = "triangle-left"
	ScatterpolarMarkerSymbolNumber107               ScatterpolarMarkerSymbol = 107
	ScatterpolarMarkerSymbol107                     ScatterpolarMarkerSymbol = "107"
	ScatterpolarMarkerSymbolTriangleLeftOpen        ScatterpolarMarkerSymbol = "triangle-left-open"
	ScatterpolarMarkerSymbolNumber207               ScatterpolarMarkerSymbol = 207
	ScatterpolarMarkerSymbol207                     ScatterpolarMarkerSymbol = "207"
	ScatterpolarMarkerSymbolTriangleLeftDot         ScatterpolarMarkerSymbol = "triangle-left-dot"
	ScatterpolarMarkerSymbolNumber307               ScatterpolarMarkerSymbol = 307
	ScatterpolarMarkerSymbol307                     ScatterpolarMarkerSymbol = "307"
	ScatterpolarMarkerSymbolTriangleLeftOpenDot     ScatterpolarMarkerSymbol = "triangle-left-open-dot"
	ScatterpolarMarkerSymbolNumber8                 ScatterpolarMarkerSymbol = 8
	ScatterpolarMarkerSymbol8                       ScatterpolarMarkerSymbol = "8"
	ScatterpolarMarkerSymbolTriangleRight           ScatterpolarMarkerSymbol = "triangle-right"
	ScatterpolarMarkerSymbolNumber108               ScatterpolarMarkerSymbol = 108
	ScatterpolarMarkerSymbol108                     ScatterpolarMarkerSymbol = "108"
	ScatterpolarMarkerSymbolTriangleRightOpen       ScatterpolarMarkerSymbol = "triangle-right-open"
	ScatterpolarMarkerSymbolNumber208               ScatterpolarMarkerSymbol = 208
	ScatterpolarMarkerSymbol208                     ScatterpolarMarkerSymbol = "208"
	ScatterpolarMarkerSymbolTriangleRightDot        ScatterpolarMarkerSymbol = "triangle-right-dot"
	ScatterpolarMarkerSymbolNumber308               ScatterpolarMarkerSymbol = 308
	ScatterpolarMarkerSymbol308                     ScatterpolarMarkerSymbol = "308"
	ScatterpolarMarkerSymbolTriangleRightOpenDot    ScatterpolarMarkerSymbol = "triangle-right-open-dot"
	ScatterpolarMarkerSymbolNumber9                 ScatterpolarMarkerSymbol = 9
	ScatterpolarMarkerSymbol9                       ScatterpolarMarkerSymbol = "9"
	ScatterpolarMarkerSymbolTriangleNe              ScatterpolarMarkerSymbol = "triangle-ne"
	ScatterpolarMarkerSymbolNumber109               ScatterpolarMarkerSymbol = 109
	ScatterpolarMarkerSymbol109                     ScatterpolarMarkerSymbol = "109"
	ScatterpolarMarkerSymbolTriangleNeOpen          ScatterpolarMarkerSymbol = "triangle-ne-open"
	ScatterpolarMarkerSymbolNumber209               ScatterpolarMarkerSymbol = 209
	ScatterpolarMarkerSymbol209                     ScatterpolarMarkerSymbol = "209"
	ScatterpolarMarkerSymbolTriangleNeDot           ScatterpolarMarkerSymbol = "triangle-ne-dot"
	ScatterpolarMarkerSymbolNumber309               ScatterpolarMarkerSymbol = 309
	ScatterpolarMarkerSymbol309                     ScatterpolarMarkerSymbol = "309"
	ScatterpolarMarkerSymbolTriangleNeOpenDot       ScatterpolarMarkerSymbol = "triangle-ne-open-dot"
	ScatterpolarMarkerSymbolNumber10                ScatterpolarMarkerSymbol = 10
	ScatterpolarMarkerSymbol10                      ScatterpolarMarkerSymbol = "10"
	ScatterpolarMarkerSymbolTriangleSe              ScatterpolarMarkerSymbol = "triangle-se"
	ScatterpolarMarkerSymbolNumber110               ScatterpolarMarkerSymbol = 110
	ScatterpolarMarkerSymbol110                     ScatterpolarMarkerSymbol = "110"
	ScatterpolarMarkerSymbolTriangleSeOpen          ScatterpolarMarkerSymbol = "triangle-se-open"
	ScatterpolarMarkerSymbolNumber210               ScatterpolarMarkerSymbol = 210
	ScatterpolarMarkerSymbol210                     ScatterpolarMarkerSymbol = "210"
	ScatterpolarMarkerSymbolTriangleSeDot           ScatterpolarMarkerSymbol = "triangle-se-dot"
	ScatterpolarMarkerSymbolNumber310               ScatterpolarMarkerSymbol = 310
	ScatterpolarMarkerSymbol310                     ScatterpolarMarkerSymbol = "310"
	ScatterpolarMarkerSymbolTriangleSeOpenDot       ScatterpolarMarkerSymbol = "triangle-se-open-dot"
	ScatterpolarMarkerSymbolNumber11                ScatterpolarMarkerSymbol = 11
	ScatterpolarMarkerSymbol11                      ScatterpolarMarkerSymbol = "11"
	ScatterpolarMarkerSymbolTriangleSw              ScatterpolarMarkerSymbol = "triangle-sw"
	ScatterpolarMarkerSymbolNumber111               ScatterpolarMarkerSymbol = 111
	ScatterpolarMarkerSymbol111                     ScatterpolarMarkerSymbol = "111"
	ScatterpolarMarkerSymbolTriangleSwOpen          ScatterpolarMarkerSymbol = "triangle-sw-open"
	ScatterpolarMarkerSymbolNumber211               ScatterpolarMarkerSymbol = 211
	ScatterpolarMarkerSymbol211                     ScatterpolarMarkerSymbol = "211"
	ScatterpolarMarkerSymbolTriangleSwDot           ScatterpolarMarkerSymbol = "triangle-sw-dot"
	ScatterpolarMarkerSymbolNumber311               ScatterpolarMarkerSymbol = 311
	ScatterpolarMarkerSymbol311                     ScatterpolarMarkerSymbol = "311"
	ScatterpolarMarkerSymbolTriangleSwOpenDot       ScatterpolarMarkerSymbol = "triangle-sw-open-dot"
	ScatterpolarMarkerSymbolNumber12                ScatterpolarMarkerSymbol = 12
	ScatterpolarMarkerSymbol12                      ScatterpolarMarkerSymbol = "12"
	ScatterpolarMarkerSymbolTriangleNw              ScatterpolarMarkerSymbol = "triangle-nw"
	ScatterpolarMarkerSymbolNumber112               ScatterpolarMarkerSymbol = 112
	ScatterpolarMarkerSymbol112                     ScatterpolarMarkerSymbol = "112"
	ScatterpolarMarkerSymbolTriangleNwOpen          ScatterpolarMarkerSymbol = "triangle-nw-open"
	ScatterpolarMarkerSymbolNumber212               ScatterpolarMarkerSymbol = 212
	ScatterpolarMarkerSymbol212                     ScatterpolarMarkerSymbol = "212"
	ScatterpolarMarkerSymbolTriangleNwDot           ScatterpolarMarkerSymbol = "triangle-nw-dot"
	ScatterpolarMarkerSymbolNumber312               ScatterpolarMarkerSymbol = 312
	ScatterpolarMarkerSymbol312                     ScatterpolarMarkerSymbol = "312"
	ScatterpolarMarkerSymbolTriangleNwOpenDot       ScatterpolarMarkerSymbol = "triangle-nw-open-dot"
	ScatterpolarMarkerSymbolNumber13                ScatterpolarMarkerSymbol = 13
	ScatterpolarMarkerSymbol13                      ScatterpolarMarkerSymbol = "13"
	ScatterpolarMarkerSymbolPentagon                ScatterpolarMarkerSymbol = "pentagon"
	ScatterpolarMarkerSymbolNumber113               ScatterpolarMarkerSymbol = 113
	ScatterpolarMarkerSymbol113                     ScatterpolarMarkerSymbol = "113"
	ScatterpolarMarkerSymbolPentagonOpen            ScatterpolarMarkerSymbol = "pentagon-open"
	ScatterpolarMarkerSymbolNumber213               ScatterpolarMarkerSymbol = 213
	ScatterpolarMarkerSymbol213                     ScatterpolarMarkerSymbol = "213"
	ScatterpolarMarkerSymbolPentagonDot             ScatterpolarMarkerSymbol = "pentagon-dot"
	ScatterpolarMarkerSymbolNumber313               ScatterpolarMarkerSymbol = 313
	ScatterpolarMarkerSymbol313                     ScatterpolarMarkerSymbol = "313"
	ScatterpolarMarkerSymbolPentagonOpenDot         ScatterpolarMarkerSymbol = "pentagon-open-dot"
	ScatterpolarMarkerSymbolNumber14                ScatterpolarMarkerSymbol = 14
	ScatterpolarMarkerSymbol14                      ScatterpolarMarkerSymbol = "14"
	ScatterpolarMarkerSymbolHexagon                 ScatterpolarMarkerSymbol = "hexagon"
	ScatterpolarMarkerSymbolNumber114               ScatterpolarMarkerSymbol = 114
	ScatterpolarMarkerSymbol114                     ScatterpolarMarkerSymbol = "114"
	ScatterpolarMarkerSymbolHexagonOpen             ScatterpolarMarkerSymbol = "hexagon-open"
	ScatterpolarMarkerSymbolNumber214               ScatterpolarMarkerSymbol = 214
	ScatterpolarMarkerSymbol214                     ScatterpolarMarkerSymbol = "214"
	ScatterpolarMarkerSymbolHexagonDot              ScatterpolarMarkerSymbol = "hexagon-dot"
	ScatterpolarMarkerSymbolNumber314               ScatterpolarMarkerSymbol = 314
	ScatterpolarMarkerSymbol314                     ScatterpolarMarkerSymbol = "314"
	ScatterpolarMarkerSymbolHexagonOpenDot          ScatterpolarMarkerSymbol = "hexagon-open-dot"
	ScatterpolarMarkerSymbolNumber15                ScatterpolarMarkerSymbol = 15
	ScatterpolarMarkerSymbol15                      ScatterpolarMarkerSymbol = "15"
	ScatterpolarMarkerSymbolHexagon2                ScatterpolarMarkerSymbol = "hexagon2"
	ScatterpolarMarkerSymbolNumber115               ScatterpolarMarkerSymbol = 115
	ScatterpolarMarkerSymbol115                     ScatterpolarMarkerSymbol = "115"
	ScatterpolarMarkerSymbolHexagon2Open            ScatterpolarMarkerSymbol = "hexagon2-open"
	ScatterpolarMarkerSymbolNumber215               ScatterpolarMarkerSymbol = 215
	ScatterpolarMarkerSymbol215                     ScatterpolarMarkerSymbol = "215"
	ScatterpolarMarkerSymbolHexagon2Dot             ScatterpolarMarkerSymbol = "hexagon2-dot"
	ScatterpolarMarkerSymbolNumber315               ScatterpolarMarkerSymbol = 315
	ScatterpolarMarkerSymbol315                     ScatterpolarMarkerSymbol = "315"
	ScatterpolarMarkerSymbolHexagon2OpenDot         ScatterpolarMarkerSymbol = "hexagon2-open-dot"
	ScatterpolarMarkerSymbolNumber16                ScatterpolarMarkerSymbol = 16
	ScatterpolarMarkerSymbol16                      ScatterpolarMarkerSymbol = "16"
	ScatterpolarMarkerSymbolOctagon                 ScatterpolarMarkerSymbol = "octagon"
	ScatterpolarMarkerSymbolNumber116               ScatterpolarMarkerSymbol = 116
	ScatterpolarMarkerSymbol116                     ScatterpolarMarkerSymbol = "116"
	ScatterpolarMarkerSymbolOctagonOpen             ScatterpolarMarkerSymbol = "octagon-open"
	ScatterpolarMarkerSymbolNumber216               ScatterpolarMarkerSymbol = 216
	ScatterpolarMarkerSymbol216                     ScatterpolarMarkerSymbol = "216"
	ScatterpolarMarkerSymbolOctagonDot              ScatterpolarMarkerSymbol = "octagon-dot"
	ScatterpolarMarkerSymbolNumber316               ScatterpolarMarkerSymbol = 316
	ScatterpolarMarkerSymbol316                     ScatterpolarMarkerSymbol = "316"
	ScatterpolarMarkerSymbolOctagonOpenDot          ScatterpolarMarkerSymbol = "octagon-open-dot"
	ScatterpolarMarkerSymbolNumber17                ScatterpolarMarkerSymbol = 17
	ScatterpolarMarkerSymbol17                      ScatterpolarMarkerSymbol = "17"
	ScatterpolarMarkerSymbolStar                    ScatterpolarMarkerSymbol = "star"
	ScatterpolarMarkerSymbolNumber117               ScatterpolarMarkerSymbol = 117
	ScatterpolarMarkerSymbol117                     ScatterpolarMarkerSymbol = "117"
	ScatterpolarMarkerSymbolStarOpen                ScatterpolarMarkerSymbol = "star-open"
	ScatterpolarMarkerSymbolNumber217               ScatterpolarMarkerSymbol = 217
	ScatterpolarMarkerSymbol217                     ScatterpolarMarkerSymbol = "217"
	ScatterpolarMarkerSymbolStarDot                 ScatterpolarMarkerSymbol = "star-dot"
	ScatterpolarMarkerSymbolNumber317               ScatterpolarMarkerSymbol = 317
	ScatterpolarMarkerSymbol317                     ScatterpolarMarkerSymbol = "317"
	ScatterpolarMarkerSymbolStarOpenDot             ScatterpolarMarkerSymbol = "star-open-dot"
	ScatterpolarMarkerSymbolNumber18                ScatterpolarMarkerSymbol = 18
	ScatterpolarMarkerSymbol18                      ScatterpolarMarkerSymbol = "18"
	ScatterpolarMarkerSymbolHexagram                ScatterpolarMarkerSymbol = "hexagram"
	ScatterpolarMarkerSymbolNumber118               ScatterpolarMarkerSymbol = 118
	ScatterpolarMarkerSymbol118                     ScatterpolarMarkerSymbol = "118"
	ScatterpolarMarkerSymbolHexagramOpen            ScatterpolarMarkerSymbol = "hexagram-open"
	ScatterpolarMarkerSymbolNumber218               ScatterpolarMarkerSymbol = 218
	ScatterpolarMarkerSymbol218                     ScatterpolarMarkerSymbol = "218"
	ScatterpolarMarkerSymbolHexagramDot             ScatterpolarMarkerSymbol = "hexagram-dot"
	ScatterpolarMarkerSymbolNumber318               ScatterpolarMarkerSymbol = 318
	ScatterpolarMarkerSymbol318                     ScatterpolarMarkerSymbol = "318"
	ScatterpolarMarkerSymbolHexagramOpenDot         ScatterpolarMarkerSymbol = "hexagram-open-dot"
	ScatterpolarMarkerSymbolNumber19                ScatterpolarMarkerSymbol = 19
	ScatterpolarMarkerSymbol19                      ScatterpolarMarkerSymbol = "19"
	ScatterpolarMarkerSymbolStarTriangleUp          ScatterpolarMarkerSymbol = "star-triangle-up"
	ScatterpolarMarkerSymbolNumber119               ScatterpolarMarkerSymbol = 119
	ScatterpolarMarkerSymbol119                     ScatterpolarMarkerSymbol = "119"
	ScatterpolarMarkerSymbolStarTriangleUpOpen      ScatterpolarMarkerSymbol = "star-triangle-up-open"
	ScatterpolarMarkerSymbolNumber219               ScatterpolarMarkerSymbol = 219
	ScatterpolarMarkerSymbol219                     ScatterpolarMarkerSymbol = "219"
	ScatterpolarMarkerSymbolStarTriangleUpDot       ScatterpolarMarkerSymbol = "star-triangle-up-dot"
	ScatterpolarMarkerSymbolNumber319               ScatterpolarMarkerSymbol = 319
	ScatterpolarMarkerSymbol319                     ScatterpolarMarkerSymbol = "319"
	ScatterpolarMarkerSymbolStarTriangleUpOpenDot   ScatterpolarMarkerSymbol = "star-triangle-up-open-dot"
	ScatterpolarMarkerSymbolNumber20                ScatterpolarMarkerSymbol = 20
	ScatterpolarMarkerSymbol20                      ScatterpolarMarkerSymbol = "20"
	ScatterpolarMarkerSymbolStarTriangleDown        ScatterpolarMarkerSymbol = "star-triangle-down"
	ScatterpolarMarkerSymbolNumber120               ScatterpolarMarkerSymbol = 120
	ScatterpolarMarkerSymbol120                     ScatterpolarMarkerSymbol = "120"
	ScatterpolarMarkerSymbolStarTriangleDownOpen    ScatterpolarMarkerSymbol = "star-triangle-down-open"
	ScatterpolarMarkerSymbolNumber220               ScatterpolarMarkerSymbol = 220
	ScatterpolarMarkerSymbol220                     ScatterpolarMarkerSymbol = "220"
	ScatterpolarMarkerSymbolStarTriangleDownDot     ScatterpolarMarkerSymbol = "star-triangle-down-dot"
	ScatterpolarMarkerSymbolNumber320               ScatterpolarMarkerSymbol = 320
	ScatterpolarMarkerSymbol320                     ScatterpolarMarkerSymbol = "320"
	ScatterpolarMarkerSymbolStarTriangleDownOpenDot ScatterpolarMarkerSymbol = "star-triangle-down-open-dot"
	ScatterpolarMarkerSymbolNumber21                ScatterpolarMarkerSymbol = 21
	ScatterpolarMarkerSymbol21                      ScatterpolarMarkerSymbol = "21"
	ScatterpolarMarkerSymbolStarSquare              ScatterpolarMarkerSymbol = "star-square"
	ScatterpolarMarkerSymbolNumber121               ScatterpolarMarkerSymbol = 121
	ScatterpolarMarkerSymbol121                     ScatterpolarMarkerSymbol = "121"
	ScatterpolarMarkerSymbolStarSquareOpen          ScatterpolarMarkerSymbol = "star-square-open"
	ScatterpolarMarkerSymbolNumber221               ScatterpolarMarkerSymbol = 221
	ScatterpolarMarkerSymbol221                     ScatterpolarMarkerSymbol = "221"
	ScatterpolarMarkerSymbolStarSquareDot           ScatterpolarMarkerSymbol = "star-square-dot"
	ScatterpolarMarkerSymbolNumber321               ScatterpolarMarkerSymbol = 321
	ScatterpolarMarkerSymbol321                     ScatterpolarMarkerSymbol = "321"
	ScatterpolarMarkerSymbolStarSquareOpenDot       ScatterpolarMarkerSymbol = "star-square-open-dot"
	ScatterpolarMarkerSymbolNumber22                ScatterpolarMarkerSymbol = 22
	ScatterpolarMarkerSymbol22                      ScatterpolarMarkerSymbol = "22"
	ScatterpolarMarkerSymbolStarDiamond             ScatterpolarMarkerSymbol = "star-diamond"
	ScatterpolarMarkerSymbolNumber122               ScatterpolarMarkerSymbol = 122
	ScatterpolarMarkerSymbol122                     ScatterpolarMarkerSymbol = "122"
	ScatterpolarMarkerSymbolStarDiamondOpen         ScatterpolarMarkerSymbol = "star-diamond-open"
	ScatterpolarMarkerSymbolNumber222               ScatterpolarMarkerSymbol = 222
	ScatterpolarMarkerSymbol222                     ScatterpolarMarkerSymbol = "222"
	ScatterpolarMarkerSymbolStarDiamondDot          ScatterpolarMarkerSymbol = "star-diamond-dot"
	ScatterpolarMarkerSymbolNumber322               ScatterpolarMarkerSymbol = 322
	ScatterpolarMarkerSymbol322                     ScatterpolarMarkerSymbol = "322"
	ScatterpolarMarkerSymbolStarDiamondOpenDot      ScatterpolarMarkerSymbol = "star-diamond-open-dot"
	ScatterpolarMarkerSymbolNumber23                ScatterpolarMarkerSymbol = 23
	ScatterpolarMarkerSymbol23                      ScatterpolarMarkerSymbol = "23"
	ScatterpolarMarkerSymbolDiamondTall             ScatterpolarMarkerSymbol = "diamond-tall"
	ScatterpolarMarkerSymbolNumber123               ScatterpolarMarkerSymbol = 123
	ScatterpolarMarkerSymbol123                     ScatterpolarMarkerSymbol = "123"
	ScatterpolarMarkerSymbolDiamondTallOpen         ScatterpolarMarkerSymbol = "diamond-tall-open"
	ScatterpolarMarkerSymbolNumber223               ScatterpolarMarkerSymbol = 223
	ScatterpolarMarkerSymbol223                     ScatterpolarMarkerSymbol = "223"
	ScatterpolarMarkerSymbolDiamondTallDot          ScatterpolarMarkerSymbol = "diamond-tall-dot"
	ScatterpolarMarkerSymbolNumber323               ScatterpolarMarkerSymbol = 323
	ScatterpolarMarkerSymbol323                     ScatterpolarMarkerSymbol = "323"
	ScatterpolarMarkerSymbolDiamondTallOpenDot      ScatterpolarMarkerSymbol = "diamond-tall-open-dot"
	ScatterpolarMarkerSymbolNumber24                ScatterpolarMarkerSymbol = 24
	ScatterpolarMarkerSymbol24                      ScatterpolarMarkerSymbol = "24"
	ScatterpolarMarkerSymbolDiamondWide             ScatterpolarMarkerSymbol = "diamond-wide"
	ScatterpolarMarkerSymbolNumber124               ScatterpolarMarkerSymbol = 124
	ScatterpolarMarkerSymbol124                     ScatterpolarMarkerSymbol = "124"
	ScatterpolarMarkerSymbolDiamondWideOpen         ScatterpolarMarkerSymbol = "diamond-wide-open"
	ScatterpolarMarkerSymbolNumber224               ScatterpolarMarkerSymbol = 224
	ScatterpolarMarkerSymbol224                     ScatterpolarMarkerSymbol = "224"
	ScatterpolarMarkerSymbolDiamondWideDot          ScatterpolarMarkerSymbol = "diamond-wide-dot"
	ScatterpolarMarkerSymbolNumber324               ScatterpolarMarkerSymbol = 324
	ScatterpolarMarkerSymbol324                     ScatterpolarMarkerSymbol = "324"
	ScatterpolarMarkerSymbolDiamondWideOpenDot      ScatterpolarMarkerSymbol = "diamond-wide-open-dot"
	ScatterpolarMarkerSymbolNumber25                ScatterpolarMarkerSymbol = 25
	ScatterpolarMarkerSymbol25                      ScatterpolarMarkerSymbol = "25"
	ScatterpolarMarkerSymbolHourglass               ScatterpolarMarkerSymbol = "hourglass"
	ScatterpolarMarkerSymbolNumber125               ScatterpolarMarkerSymbol = 125
	ScatterpolarMarkerSymbol125                     ScatterpolarMarkerSymbol = "125"
	ScatterpolarMarkerSymbolHourglassOpen           ScatterpolarMarkerSymbol = "hourglass-open"
	ScatterpolarMarkerSymbolNumber26                ScatterpolarMarkerSymbol = 26
	ScatterpolarMarkerSymbol26                      ScatterpolarMarkerSymbol = "26"
	ScatterpolarMarkerSymbolBowtie                  ScatterpolarMarkerSymbol = "bowtie"
	ScatterpolarMarkerSymbolNumber126               ScatterpolarMarkerSymbol = 126
	ScatterpolarMarkerSymbol126                     ScatterpolarMarkerSymbol = "126"
	ScatterpolarMarkerSymbolBowtieOpen              ScatterpolarMarkerSymbol = "bowtie-open"
	ScatterpolarMarkerSymbolNumber27                ScatterpolarMarkerSymbol = 27
	ScatterpolarMarkerSymbol27                      ScatterpolarMarkerSymbol = "27"
	ScatterpolarMarkerSymbolCircleCross             ScatterpolarMarkerSymbol = "circle-cross"
	ScatterpolarMarkerSymbolNumber127               ScatterpolarMarkerSymbol = 127
	ScatterpolarMarkerSymbol127                     ScatterpolarMarkerSymbol = "127"
	ScatterpolarMarkerSymbolCircleCrossOpen         ScatterpolarMarkerSymbol = "circle-cross-open"
	ScatterpolarMarkerSymbolNumber28                ScatterpolarMarkerSymbol = 28
	ScatterpolarMarkerSymbol28                      ScatterpolarMarkerSymbol = "28"
	ScatterpolarMarkerSymbolCircleX                 ScatterpolarMarkerSymbol = "circle-x"
	ScatterpolarMarkerSymbolNumber128               ScatterpolarMarkerSymbol = 128
	ScatterpolarMarkerSymbol128                     ScatterpolarMarkerSymbol = "128"
	ScatterpolarMarkerSymbolCircleXOpen             ScatterpolarMarkerSymbol = "circle-x-open"
	ScatterpolarMarkerSymbolNumber29                ScatterpolarMarkerSymbol = 29
	ScatterpolarMarkerSymbol29                      ScatterpolarMarkerSymbol = "29"
	ScatterpolarMarkerSymbolSquareCross             ScatterpolarMarkerSymbol = "square-cross"
	ScatterpolarMarkerSymbolNumber129               ScatterpolarMarkerSymbol = 129
	ScatterpolarMarkerSymbol129                     ScatterpolarMarkerSymbol = "129"
	ScatterpolarMarkerSymbolSquareCrossOpen         ScatterpolarMarkerSymbol = "square-cross-open"
	ScatterpolarMarkerSymbolNumber30                ScatterpolarMarkerSymbol = 30
	ScatterpolarMarkerSymbol30                      ScatterpolarMarkerSymbol = "30"
	ScatterpolarMarkerSymbolSquareX                 ScatterpolarMarkerSymbol = "square-x"
	ScatterpolarMarkerSymbolNumber130               ScatterpolarMarkerSymbol = 130
	ScatterpolarMarkerSymbol130                     ScatterpolarMarkerSymbol = "130"
	ScatterpolarMarkerSymbolSquareXOpen             ScatterpolarMarkerSymbol = "square-x-open"
	ScatterpolarMarkerSymbolNumber31                ScatterpolarMarkerSymbol = 31
	ScatterpolarMarkerSymbol31                      ScatterpolarMarkerSymbol = "31"
	ScatterpolarMarkerSymbolDiamondCross            ScatterpolarMarkerSymbol = "diamond-cross"
	ScatterpolarMarkerSymbolNumber131               ScatterpolarMarkerSymbol = 131
	ScatterpolarMarkerSymbol131                     ScatterpolarMarkerSymbol = "131"
	ScatterpolarMarkerSymbolDiamondCrossOpen        ScatterpolarMarkerSymbol = "diamond-cross-open"
	ScatterpolarMarkerSymbolNumber32                ScatterpolarMarkerSymbol = 32
	ScatterpolarMarkerSymbol32                      ScatterpolarMarkerSymbol = "32"
	ScatterpolarMarkerSymbolDiamondX                ScatterpolarMarkerSymbol = "diamond-x"
	ScatterpolarMarkerSymbolNumber132               ScatterpolarMarkerSymbol = 132
	ScatterpolarMarkerSymbol132                     ScatterpolarMarkerSymbol = "132"
	ScatterpolarMarkerSymbolDiamondXOpen            ScatterpolarMarkerSymbol = "diamond-x-open"
	ScatterpolarMarkerSymbolNumber33                ScatterpolarMarkerSymbol = 33
	ScatterpolarMarkerSymbol33                      ScatterpolarMarkerSymbol = "33"
	ScatterpolarMarkerSymbolCrossThin               ScatterpolarMarkerSymbol = "cross-thin"
	ScatterpolarMarkerSymbolNumber133               ScatterpolarMarkerSymbol = 133
	ScatterpolarMarkerSymbol133                     ScatterpolarMarkerSymbol = "133"
	ScatterpolarMarkerSymbolCrossThinOpen           ScatterpolarMarkerSymbol = "cross-thin-open"
	ScatterpolarMarkerSymbolNumber34                ScatterpolarMarkerSymbol = 34
	ScatterpolarMarkerSymbol34                      ScatterpolarMarkerSymbol = "34"
	ScatterpolarMarkerSymbolXThin                   ScatterpolarMarkerSymbol = "x-thin"
	ScatterpolarMarkerSymbolNumber134               ScatterpolarMarkerSymbol = 134
	ScatterpolarMarkerSymbol134                     ScatterpolarMarkerSymbol = "134"
	ScatterpolarMarkerSymbolXThinOpen               ScatterpolarMarkerSymbol = "x-thin-open"
	ScatterpolarMarkerSymbolNumber35                ScatterpolarMarkerSymbol = 35
	ScatterpolarMarkerSymbol35                      ScatterpolarMarkerSymbol = "35"
	ScatterpolarMarkerSymbolAsterisk                ScatterpolarMarkerSymbol = "asterisk"
	ScatterpolarMarkerSymbolNumber135               ScatterpolarMarkerSymbol = 135
	ScatterpolarMarkerSymbol135                     ScatterpolarMarkerSymbol = "135"
	ScatterpolarMarkerSymbolAsteriskOpen            ScatterpolarMarkerSymbol = "asterisk-open"
	ScatterpolarMarkerSymbolNumber36                ScatterpolarMarkerSymbol = 36
	ScatterpolarMarkerSymbol36                      ScatterpolarMarkerSymbol = "36"
	ScatterpolarMarkerSymbolHash                    ScatterpolarMarkerSymbol = "hash"
	ScatterpolarMarkerSymbolNumber136               ScatterpolarMarkerSymbol = 136
	ScatterpolarMarkerSymbol136                     ScatterpolarMarkerSymbol = "136"
	ScatterpolarMarkerSymbolHashOpen                ScatterpolarMarkerSymbol = "hash-open"
	ScatterpolarMarkerSymbolNumber236               ScatterpolarMarkerSymbol = 236
	ScatterpolarMarkerSymbol236                     ScatterpolarMarkerSymbol = "236"
	ScatterpolarMarkerSymbolHashDot                 ScatterpolarMarkerSymbol = "hash-dot"
	ScatterpolarMarkerSymbolNumber336               ScatterpolarMarkerSymbol = 336
	ScatterpolarMarkerSymbol336                     ScatterpolarMarkerSymbol = "336"
	ScatterpolarMarkerSymbolHashOpenDot             ScatterpolarMarkerSymbol = "hash-open-dot"
	ScatterpolarMarkerSymbolNumber37                ScatterpolarMarkerSymbol = 37
	ScatterpolarMarkerSymbol37                      ScatterpolarMarkerSymbol = "37"
	ScatterpolarMarkerSymbolYUp                     ScatterpolarMarkerSymbol = "y-up"
	ScatterpolarMarkerSymbolNumber137               ScatterpolarMarkerSymbol = 137
	ScatterpolarMarkerSymbol137                     ScatterpolarMarkerSymbol = "137"
	ScatterpolarMarkerSymbolYUpOpen                 ScatterpolarMarkerSymbol = "y-up-open"
	ScatterpolarMarkerSymbolNumber38                ScatterpolarMarkerSymbol = 38
	ScatterpolarMarkerSymbol38                      ScatterpolarMarkerSymbol = "38"
	ScatterpolarMarkerSymbolYDown                   ScatterpolarMarkerSymbol = "y-down"
	ScatterpolarMarkerSymbolNumber138               ScatterpolarMarkerSymbol = 138
	ScatterpolarMarkerSymbol138                     ScatterpolarMarkerSymbol = "138"
	ScatterpolarMarkerSymbolYDownOpen               ScatterpolarMarkerSymbol = "y-down-open"
	ScatterpolarMarkerSymbolNumber39                ScatterpolarMarkerSymbol = 39
	ScatterpolarMarkerSymbol39                      ScatterpolarMarkerSymbol = "39"
	ScatterpolarMarkerSymbolYLeft                   ScatterpolarMarkerSymbol = "y-left"
	ScatterpolarMarkerSymbolNumber139               ScatterpolarMarkerSymbol = 139
	ScatterpolarMarkerSymbol139                     ScatterpolarMarkerSymbol = "139"
	ScatterpolarMarkerSymbolYLeftOpen               ScatterpolarMarkerSymbol = "y-left-open"
	ScatterpolarMarkerSymbolNumber40                ScatterpolarMarkerSymbol = 40
	ScatterpolarMarkerSymbol40                      ScatterpolarMarkerSymbol = "40"
	ScatterpolarMarkerSymbolYRight                  ScatterpolarMarkerSymbol = "y-right"
	ScatterpolarMarkerSymbolNumber140               ScatterpolarMarkerSymbol = 140
	ScatterpolarMarkerSymbol140                     ScatterpolarMarkerSymbol = "140"
	ScatterpolarMarkerSymbolYRightOpen              ScatterpolarMarkerSymbol = "y-right-open"
	ScatterpolarMarkerSymbolNumber41                ScatterpolarMarkerSymbol = 41
	ScatterpolarMarkerSymbol41                      ScatterpolarMarkerSymbol = "41"
	ScatterpolarMarkerSymbolLineEw                  ScatterpolarMarkerSymbol = "line-ew"
	ScatterpolarMarkerSymbolNumber141               ScatterpolarMarkerSymbol = 141
	ScatterpolarMarkerSymbol141                     ScatterpolarMarkerSymbol = "141"
	ScatterpolarMarkerSymbolLineEwOpen              ScatterpolarMarkerSymbol = "line-ew-open"
	ScatterpolarMarkerSymbolNumber42                ScatterpolarMarkerSymbol = 42
	ScatterpolarMarkerSymbol42                      ScatterpolarMarkerSymbol = "42"
	ScatterpolarMarkerSymbolLineNs                  ScatterpolarMarkerSymbol = "line-ns"
	ScatterpolarMarkerSymbolNumber142               ScatterpolarMarkerSymbol = 142
	ScatterpolarMarkerSymbol142                     ScatterpolarMarkerSymbol = "142"
	ScatterpolarMarkerSymbolLineNsOpen              ScatterpolarMarkerSymbol = "line-ns-open"
	ScatterpolarMarkerSymbolNumber43                ScatterpolarMarkerSymbol = 43
	ScatterpolarMarkerSymbol43                      ScatterpolarMarkerSymbol = "43"
	ScatterpolarMarkerSymbolLineNe                  ScatterpolarMarkerSymbol = "line-ne"
	ScatterpolarMarkerSymbolNumber143               ScatterpolarMarkerSymbol = 143
	ScatterpolarMarkerSymbol143                     ScatterpolarMarkerSymbol = "143"
	ScatterpolarMarkerSymbolLineNeOpen              ScatterpolarMarkerSymbol = "line-ne-open"
	ScatterpolarMarkerSymbolNumber44                ScatterpolarMarkerSymbol = 44
	ScatterpolarMarkerSymbol44                      ScatterpolarMarkerSymbol = "44"
	ScatterpolarMarkerSymbolLineNw                  ScatterpolarMarkerSymbol = "line-nw"
	ScatterpolarMarkerSymbolNumber144               ScatterpolarMarkerSymbol = 144
	ScatterpolarMarkerSymbol144                     ScatterpolarMarkerSymbol = "144"
	ScatterpolarMarkerSymbolLineNwOpen              ScatterpolarMarkerSymbol = "line-nw-open"
	ScatterpolarMarkerSymbolNumber45                ScatterpolarMarkerSymbol = 45
	ScatterpolarMarkerSymbol45                      ScatterpolarMarkerSymbol = "45"
	ScatterpolarMarkerSymbolArrowUp                 ScatterpolarMarkerSymbol = "arrow-up"
	ScatterpolarMarkerSymbolNumber145               ScatterpolarMarkerSymbol = 145
	ScatterpolarMarkerSymbol145                     ScatterpolarMarkerSymbol = "145"
	ScatterpolarMarkerSymbolArrowUpOpen             ScatterpolarMarkerSymbol = "arrow-up-open"
	ScatterpolarMarkerSymbolNumber46                ScatterpolarMarkerSymbol = 46
	ScatterpolarMarkerSymbol46                      ScatterpolarMarkerSymbol = "46"
	ScatterpolarMarkerSymbolArrowDown               ScatterpolarMarkerSymbol = "arrow-down"
	ScatterpolarMarkerSymbolNumber146               ScatterpolarMarkerSymbol = 146
	ScatterpolarMarkerSymbol146                     ScatterpolarMarkerSymbol = "146"
	ScatterpolarMarkerSymbolArrowDownOpen           ScatterpolarMarkerSymbol = "arrow-down-open"
	ScatterpolarMarkerSymbolNumber47                ScatterpolarMarkerSymbol = 47
	ScatterpolarMarkerSymbol47                      ScatterpolarMarkerSymbol = "47"
	ScatterpolarMarkerSymbolArrowLeft               ScatterpolarMarkerSymbol = "arrow-left"
	ScatterpolarMarkerSymbolNumber147               ScatterpolarMarkerSymbol = 147
	ScatterpolarMarkerSymbol147                     ScatterpolarMarkerSymbol = "147"
	ScatterpolarMarkerSymbolArrowLeftOpen           ScatterpolarMarkerSymbol = "arrow-left-open"
	ScatterpolarMarkerSymbolNumber48                ScatterpolarMarkerSymbol = 48
	ScatterpolarMarkerSymbol48                      ScatterpolarMarkerSymbol = "48"
	ScatterpolarMarkerSymbolArrowRight              ScatterpolarMarkerSymbol = "arrow-right"
	ScatterpolarMarkerSymbolNumber148               ScatterpolarMarkerSymbol = 148
	ScatterpolarMarkerSymbol148                     ScatterpolarMarkerSymbol = "148"
	ScatterpolarMarkerSymbolArrowRightOpen          ScatterpolarMarkerSymbol = "arrow-right-open"
	ScatterpolarMarkerSymbolNumber49                ScatterpolarMarkerSymbol = 49
	ScatterpolarMarkerSymbol49                      ScatterpolarMarkerSymbol = "49"
	ScatterpolarMarkerSymbolArrowBarUp              ScatterpolarMarkerSymbol = "arrow-bar-up"
	ScatterpolarMarkerSymbolNumber149               ScatterpolarMarkerSymbol = 149
	ScatterpolarMarkerSymbol149                     ScatterpolarMarkerSymbol = "149"
	ScatterpolarMarkerSymbolArrowBarUpOpen          ScatterpolarMarkerSymbol = "arrow-bar-up-open"
	ScatterpolarMarkerSymbolNumber50                ScatterpolarMarkerSymbol = 50
	ScatterpolarMarkerSymbol50                      ScatterpolarMarkerSymbol = "50"
	ScatterpolarMarkerSymbolArrowBarDown            ScatterpolarMarkerSymbol = "arrow-bar-down"
	ScatterpolarMarkerSymbolNumber150               ScatterpolarMarkerSymbol = 150
	ScatterpolarMarkerSymbol150                     ScatterpolarMarkerSymbol = "150"
	ScatterpolarMarkerSymbolArrowBarDownOpen        ScatterpolarMarkerSymbol = "arrow-bar-down-open"
	ScatterpolarMarkerSymbolNumber51                ScatterpolarMarkerSymbol = 51
	ScatterpolarMarkerSymbol51                      ScatterpolarMarkerSymbol = "51"
	ScatterpolarMarkerSymbolArrowBarLeft            ScatterpolarMarkerSymbol = "arrow-bar-left"
	ScatterpolarMarkerSymbolNumber151               ScatterpolarMarkerSymbol = 151
	ScatterpolarMarkerSymbol151                     ScatterpolarMarkerSymbol = "151"
	ScatterpolarMarkerSymbolArrowBarLeftOpen        ScatterpolarMarkerSymbol = "arrow-bar-left-open"
	ScatterpolarMarkerSymbolNumber52                ScatterpolarMarkerSymbol = 52
	ScatterpolarMarkerSymbol52                      ScatterpolarMarkerSymbol = "52"
	ScatterpolarMarkerSymbolArrowBarRight           ScatterpolarMarkerSymbol = "arrow-bar-right"
	ScatterpolarMarkerSymbolNumber152               ScatterpolarMarkerSymbol = 152
	ScatterpolarMarkerSymbol152                     ScatterpolarMarkerSymbol = "152"
	ScatterpolarMarkerSymbolArrowBarRightOpen       ScatterpolarMarkerSymbol = "arrow-bar-right-open"
)

type ScatterpolarMode

type ScatterpolarMode string

ScatterpolarMode Determines the drawing mode for this scatter trace. If the provided `mode` includes *text* then the `text` elements appear at the coordinates. Otherwise, the `text` elements appear on hover. If there are less than 20 points and the trace is not stacked then the default is *lines+markers*. Otherwise, *lines*.

const (
	// Flags
	ScatterpolarModeLines   ScatterpolarMode = "lines"
	ScatterpolarModeMarkers ScatterpolarMode = "markers"
	ScatterpolarModeText    ScatterpolarMode = "text"

	// Extra
	ScatterpolarModeNone ScatterpolarMode = "none"
)

type ScatterpolarSelected

type ScatterpolarSelected struct {

	// Marker
	// role: Object
	Marker *ScatterpolarSelectedMarker `json:"marker,omitempty"`

	// Textfont
	// role: Object
	Textfont *ScatterpolarSelectedTextfont `json:"textfont,omitempty"`
}

ScatterpolarSelected

type ScatterpolarSelectedMarker

type ScatterpolarSelectedMarker struct {

	// Color
	// arrayOK: false
	// type: color
	// Sets the marker color of selected points.
	Color Color `json:"color,omitempty"`

	// Opacity
	// arrayOK: false
	// type: number
	// Sets the marker opacity of selected points.
	Opacity float64 `json:"opacity,omitempty"`

	// Size
	// arrayOK: false
	// type: number
	// Sets the marker size of selected points.
	Size float64 `json:"size,omitempty"`
}

ScatterpolarSelectedMarker

type ScatterpolarSelectedTextfont

type ScatterpolarSelectedTextfont struct {

	// Color
	// arrayOK: false
	// type: color
	// Sets the text font color of selected points.
	Color Color `json:"color,omitempty"`
}

ScatterpolarSelectedTextfont

type ScatterpolarStream

type ScatterpolarStream struct {

	// Maxpoints
	// arrayOK: false
	// type: number
	// Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot.
	Maxpoints float64 `json:"maxpoints,omitempty"`

	// Token
	// arrayOK: false
	// type: string
	// The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details.
	Token String `json:"token,omitempty"`
}

ScatterpolarStream

type ScatterpolarTextfont

type ScatterpolarTextfont struct {

	// Color
	// arrayOK: true
	// type: color
	//
	Color Color `json:"color,omitempty"`

	// Colorsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  color .
	Colorsrc String `json:"colorsrc,omitempty"`

	// Family
	// arrayOK: true
	// type: string
	// HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.
	Family String `json:"family,omitempty"`

	// Familysrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  family .
	Familysrc String `json:"familysrc,omitempty"`

	// Size
	// arrayOK: true
	// type: number
	//
	Size float64 `json:"size,omitempty"`

	// Sizesrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  size .
	Sizesrc String `json:"sizesrc,omitempty"`
}

ScatterpolarTextfont Sets the text font.

type ScatterpolarTextposition

type ScatterpolarTextposition string

ScatterpolarTextposition Sets the positions of the `text` elements with respects to the (x,y) coordinates.

const (
	ScatterpolarTextpositionTopLeft      ScatterpolarTextposition = "top left"
	ScatterpolarTextpositionTopCenter    ScatterpolarTextposition = "top center"
	ScatterpolarTextpositionTopRight     ScatterpolarTextposition = "top right"
	ScatterpolarTextpositionMiddleLeft   ScatterpolarTextposition = "middle left"
	ScatterpolarTextpositionMiddleCenter ScatterpolarTextposition = "middle center"
	ScatterpolarTextpositionMiddleRight  ScatterpolarTextposition = "middle right"
	ScatterpolarTextpositionBottomLeft   ScatterpolarTextposition = "bottom left"
	ScatterpolarTextpositionBottomCenter ScatterpolarTextposition = "bottom center"
	ScatterpolarTextpositionBottomRight  ScatterpolarTextposition = "bottom right"
)

type ScatterpolarThetaunit

type ScatterpolarThetaunit string

ScatterpolarThetaunit Sets the unit of input *theta* values. Has an effect only when on *linear* angular axes.

const (
	ScatterpolarThetaunitRadians  ScatterpolarThetaunit = "radians"
	ScatterpolarThetaunitDegrees  ScatterpolarThetaunit = "degrees"
	ScatterpolarThetaunitGradians ScatterpolarThetaunit = "gradians"
)

type ScatterpolarUnselected

type ScatterpolarUnselected struct {

	// Marker
	// role: Object
	Marker *ScatterpolarUnselectedMarker `json:"marker,omitempty"`

	// Textfont
	// role: Object
	Textfont *ScatterpolarUnselectedTextfont `json:"textfont,omitempty"`
}

ScatterpolarUnselected

type ScatterpolarUnselectedMarker

type ScatterpolarUnselectedMarker struct {

	// Color
	// arrayOK: false
	// type: color
	// Sets the marker color of unselected points, applied only when a selection exists.
	Color Color `json:"color,omitempty"`

	// Opacity
	// arrayOK: false
	// type: number
	// Sets the marker opacity of unselected points, applied only when a selection exists.
	Opacity float64 `json:"opacity,omitempty"`

	// Size
	// arrayOK: false
	// type: number
	// Sets the marker size of unselected points, applied only when a selection exists.
	Size float64 `json:"size,omitempty"`
}

ScatterpolarUnselectedMarker

type ScatterpolarUnselectedTextfont

type ScatterpolarUnselectedTextfont struct {

	// Color
	// arrayOK: false
	// type: color
	// Sets the text font color of unselected points, applied only when a selection exists.
	Color Color `json:"color,omitempty"`
}

ScatterpolarUnselectedTextfont

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 (
	ScatterpolarVisibleTrue       ScatterpolarVisible = true
	ScatterpolarVisibleFalse      ScatterpolarVisible = false
	ScatterpolarVisibleLegendonly ScatterpolarVisible = "legendonly"
)

type Scatterpolargl

type Scatterpolargl struct {

	// Type
	// is the type of the plot
	Type TraceType `json:"type,omitempty"`

	// Connectgaps
	// arrayOK: false
	// type: boolean
	// Determines whether or not gaps (i.e. {nan} or missing values) in the provided data arrays are connected.
	Connectgaps Bool `json:"connectgaps,omitempty"`

	// Customdata
	// arrayOK: false
	// type: data_array
	// Assigns extra data each datum. This may be useful when listening to hover, click and selection events. Note that, *scatter* traces also appends customdata items in the markers DOM elements
	Customdata interface{} `json:"customdata,omitempty"`

	// Customdatasrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  customdata .
	Customdatasrc String `json:"customdatasrc,omitempty"`

	// Dr
	// arrayOK: false
	// type: number
	// Sets the r coordinate step.
	Dr float64 `json:"dr,omitempty"`

	// Dtheta
	// arrayOK: false
	// type: number
	// Sets the theta coordinate step. By default, the `dtheta` step equals the subplot's period divided by the length of the `r` coordinates.
	Dtheta float64 `json:"dtheta,omitempty"`

	// Fill
	// default: none
	// type: enumerated
	// Sets the area to fill with a solid color. Defaults to *none* unless this trace is stacked, then it gets *tonexty* (*tonextx*) if `orientation` is *v* (*h*) Use with `fillcolor` if not *none*. *tozerox* and *tozeroy* fill to x=0 and y=0 respectively. *tonextx* and *tonexty* fill between the endpoints of this trace and the endpoints of the trace before it, connecting those endpoints with straight lines (to make a stacked area graph); if there is no trace before it, they behave like *tozerox* and *tozeroy*. *toself* connects the endpoints of the trace (or each segment of the trace if it has gaps) into a closed shape. *tonext* fills the space between two traces if one completely encloses the other (eg consecutive contour lines), and behaves like *toself* if there is no trace before it. *tonext* should not be used if one trace does not enclose the other. Traces in a `stackgroup` will only fill to (or be filled to) other traces in the same group. With multiple `stackgroup`s or some traces stacked and some not, if fill-linked traces are not already consecutive, the later ones will be pushed down in the drawing order.
	Fill ScatterpolarglFill `json:"fill,omitempty"`

	// Fillcolor
	// arrayOK: false
	// type: color
	// Sets the fill color. Defaults to a half-transparent variant of the line color, marker color, or marker line color, whichever is available.
	Fillcolor Color `json:"fillcolor,omitempty"`

	// Hoverinfo
	// default: all
	// type: flaglist
	// Determines which trace information appear on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired.
	Hoverinfo ScatterpolarglHoverinfo `json:"hoverinfo,omitempty"`

	// Hoverinfosrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  hoverinfo .
	Hoverinfosrc String `json:"hoverinfosrc,omitempty"`

	// Hoverlabel
	// role: Object
	Hoverlabel *ScatterpolarglHoverlabel `json:"hoverlabel,omitempty"`

	// Hovertemplate
	// arrayOK: true
	// type: string
	// Template string used for rendering the information that appear on hover box. Note that this will override `hoverinfo`. Variables are inserted using %{variable}, for example "y: %{y}". 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 String `json:"hovertemplate,omitempty"`

	// Hovertemplatesrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  hovertemplate .
	Hovertemplatesrc String `json:"hovertemplatesrc,omitempty"`

	// Hovertext
	// arrayOK: true
	// type: string
	// Sets hover text elements associated with each (x,y) pair. If a single string, the same string appears over all the data points. If an array of string, the items are mapped in order to the this trace's (x,y) coordinates. To be seen, trace `hoverinfo` must contain a *text* flag.
	Hovertext String `json:"hovertext,omitempty"`

	// Hovertextsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  hovertext .
	Hovertextsrc String `json:"hovertextsrc,omitempty"`

	// Ids
	// arrayOK: false
	// type: data_array
	// Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type.
	Ids interface{} `json:"ids,omitempty"`

	// Idssrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  ids .
	Idssrc String `json:"idssrc,omitempty"`

	// Legendgroup
	// arrayOK: false
	// type: string
	// Sets the legend group for this trace. Traces part of the same legend group hide/show at the same time when toggling legend items.
	Legendgroup String `json:"legendgroup,omitempty"`

	// Line
	// role: Object
	Line *ScatterpolarglLine `json:"line,omitempty"`

	// Marker
	// role: Object
	Marker *ScatterpolarglMarker `json:"marker,omitempty"`

	// Meta
	// arrayOK: true
	// type: any
	// Assigns extra meta information associated with this trace that can be used in various text attributes. Attributes such as trace `name`, graph, axis and colorbar `title.text`, annotation `text` `rangeselector`, `updatemenues` and `sliders` `label` text all support `meta`. To access the trace `meta` values in an attribute in the same trace, simply use `%{meta[i]}` where `i` is the index or key of the `meta` item in question. To access trace `meta` in layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index.
	Meta interface{} `json:"meta,omitempty"`

	// Metasrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  meta .
	Metasrc String `json:"metasrc,omitempty"`

	// Mode
	// default: %!s(<nil>)
	// type: flaglist
	// Determines the drawing mode for this scatter trace. If the provided `mode` includes *text* then the `text` elements appear at the coordinates. Otherwise, the `text` elements appear on hover. If there are less than 20 points and the trace is not stacked then the default is *lines+markers*. Otherwise, *lines*.
	Mode ScatterpolarglMode `json:"mode,omitempty"`

	// Name
	// arrayOK: false
	// type: string
	// Sets the trace name. The trace name appear as the legend item and on hover.
	Name String `json:"name,omitempty"`

	// Opacity
	// arrayOK: false
	// type: number
	// Sets the opacity of the trace.
	Opacity float64 `json:"opacity,omitempty"`

	// R
	// arrayOK: false
	// type: data_array
	// Sets the radial coordinates
	R interface{} `json:"r,omitempty"`

	// R0
	// arrayOK: false
	// type: any
	// Alternate to `r`. Builds a linear space of r coordinates. Use with `dr` where `r0` is the starting coordinate and `dr` the step.
	R0 interface{} `json:"r0,omitempty"`

	// Rsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  r .
	Rsrc String `json:"rsrc,omitempty"`

	// Selected
	// role: Object
	Selected *ScatterpolarglSelected `json:"selected,omitempty"`

	// Selectedpoints
	// arrayOK: false
	// type: any
	// Array containing integer indices of selected points. Has an effect only for traces that support selections. Note that an empty array means an empty selection where the `unselected` are turned on for all points, whereas, any other non-array values means no selection all where the `selected` and `unselected` styles have no effect.
	Selectedpoints interface{} `json:"selectedpoints,omitempty"`

	// Showlegend
	// arrayOK: false
	// type: boolean
	// Determines whether or not an item corresponding to this trace is shown in the legend.
	Showlegend Bool `json:"showlegend,omitempty"`

	// Stream
	// role: Object
	Stream *ScatterpolarglStream `json:"stream,omitempty"`

	// Subplot
	// arrayOK: false
	// type: subplotid
	// Sets a reference between this trace's data coordinates and a polar subplot. If *polar* (the default value), the data refer to `layout.polar`. If *polar2*, the data refer to `layout.polar2`, and so on.
	Subplot String `json:"subplot,omitempty"`

	// Text
	// arrayOK: true
	// type: string
	// Sets text elements associated with each (x,y) pair. If a single string, the same string appears over all the data points. If an array of string, the items are mapped in order to the this trace's (x,y) coordinates. If trace `hoverinfo` contains a *text* flag and *hovertext* is not set, these elements will be seen in the hover labels.
	Text String `json:"text,omitempty"`

	// Textfont
	// role: Object
	Textfont *ScatterpolarglTextfont `json:"textfont,omitempty"`

	// Textposition
	// default: middle center
	// type: enumerated
	// Sets the positions of the `text` elements with respects to the (x,y) coordinates.
	Textposition ScatterpolarglTextposition `json:"textposition,omitempty"`

	// Textpositionsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  textposition .
	Textpositionsrc String `json:"textpositionsrc,omitempty"`

	// Textsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  text .
	Textsrc String `json:"textsrc,omitempty"`

	// Texttemplate
	// arrayOK: true
	// type: string
	// Template string used for rendering the information text that appear on points. Note that this will override `textinfo`. Variables are inserted using %{variable}, for example "y: %{y}". Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example "Price: %{y:$.2f}". https://github.com/d3/d3-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 String `json:"texttemplate,omitempty"`

	// Texttemplatesrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  texttemplate .
	Texttemplatesrc String `json:"texttemplatesrc,omitempty"`

	// Theta
	// arrayOK: false
	// type: data_array
	// Sets the angular coordinates
	Theta interface{} `json:"theta,omitempty"`

	// Theta0
	// arrayOK: false
	// type: any
	// Alternate to `theta`. Builds a linear space of theta coordinates. Use with `dtheta` where `theta0` is the starting coordinate and `dtheta` the step.
	Theta0 interface{} `json:"theta0,omitempty"`

	// Thetasrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  theta .
	Thetasrc String `json:"thetasrc,omitempty"`

	// Thetaunit
	// default: degrees
	// type: enumerated
	// Sets the unit of input *theta* values. Has an effect only when on *linear* angular axes.
	Thetaunit ScatterpolarglThetaunit `json:"thetaunit,omitempty"`

	// Transforms
	// It's an items array and what goes inside it's... messy... check the docs
	// I will be happy if you want to contribute by implementing this
	// just raise an issue before you start so we do not overlap
	Transforms interface{} `json:"transforms,omitempty"`

	// Uid
	// arrayOK: false
	// type: string
	// Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.
	Uid String `json:"uid,omitempty"`

	// Uirevision
	// arrayOK: false
	// type: any
	// Controls persistence of some user-driven changes to the trace: `constraintrange` in `parcoords` traces, as well as some `editable: true` modifications such as `name` and `colorbar.title`. Defaults to `layout.uirevision`. Note that other user-driven trace attribute changes are controlled by `layout` attributes: `trace.visible` is controlled by `layout.legend.uirevision`, `selectedpoints` is controlled by `layout.selectionrevision`, and `colorbar.(x|y)` (accessible with `config: {editable: true}`) is controlled by `layout.editrevision`. Trace changes are tracked by `uid`, which only falls back on trace index if no `uid` is provided. So if your app can add/remove traces before the end of the `data` array, such that the same trace has a different index, you can still preserve user-driven changes if you give each trace a `uid` that stays with it as it moves.
	Uirevision interface{} `json:"uirevision,omitempty"`

	// Unselected
	// role: Object
	Unselected *ScatterpolarglUnselected `json:"unselected,omitempty"`

	// Visible
	// default: %!s(bool=true)
	// type: enumerated
	// Determines whether or not this trace is visible. If *legendonly*, the trace is not drawn, but can appear as a legend item (provided that the legend itself is visible).
	Visible ScatterpolarglVisible `json:"visible,omitempty"`
}

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 (*Scatterpolargl) GetType

func (trace *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 (
	ScatterpolarglFillNone    ScatterpolarglFill = "none"
	ScatterpolarglFillTozeroy ScatterpolarglFill = "tozeroy"
	ScatterpolarglFillTozerox ScatterpolarglFill = "tozerox"
	ScatterpolarglFillTonexty ScatterpolarglFill = "tonexty"
	ScatterpolarglFillTonextx ScatterpolarglFill = "tonextx"
	ScatterpolarglFillToself  ScatterpolarglFill = "toself"
	ScatterpolarglFillTonext  ScatterpolarglFill = "tonext"
)

type ScatterpolarglHoverinfo

type ScatterpolarglHoverinfo string

ScatterpolarglHoverinfo Determines which trace information appear on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired.

const (
	// Flags
	ScatterpolarglHoverinfoR     ScatterpolarglHoverinfo = "r"
	ScatterpolarglHoverinfoTheta ScatterpolarglHoverinfo = "theta"
	ScatterpolarglHoverinfoText  ScatterpolarglHoverinfo = "text"
	ScatterpolarglHoverinfoName  ScatterpolarglHoverinfo = "name"

	// Extra
	ScatterpolarglHoverinfoAll  ScatterpolarglHoverinfo = "all"
	ScatterpolarglHoverinfoNone ScatterpolarglHoverinfo = "none"
	ScatterpolarglHoverinfoSkip ScatterpolarglHoverinfo = "skip"
)

type ScatterpolarglHoverlabel

type ScatterpolarglHoverlabel struct {

	// Align
	// default: auto
	// type: enumerated
	// Sets the horizontal alignment of the text content within hover label box. Has an effect only if the hover label text spans more two or more lines
	Align ScatterpolarglHoverlabelAlign `json:"align,omitempty"`

	// Alignsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  align .
	Alignsrc String `json:"alignsrc,omitempty"`

	// Bgcolor
	// arrayOK: true
	// type: color
	// Sets the background color of the hover labels for this trace
	Bgcolor Color `json:"bgcolor,omitempty"`

	// Bgcolorsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  bgcolor .
	Bgcolorsrc String `json:"bgcolorsrc,omitempty"`

	// Bordercolor
	// arrayOK: true
	// type: color
	// Sets the border color of the hover labels for this trace.
	Bordercolor Color `json:"bordercolor,omitempty"`

	// Bordercolorsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  bordercolor .
	Bordercolorsrc String `json:"bordercolorsrc,omitempty"`

	// Font
	// role: Object
	Font *ScatterpolarglHoverlabelFont `json:"font,omitempty"`

	// Namelength
	// arrayOK: true
	// type: integer
	// Sets the default length (in number of characters) of the trace name in the hover labels for all traces. -1 shows the whole name regardless of length. 0-3 shows the first 0-3 characters, and an integer >3 will show the whole name if it is less than that many characters, but if it is longer, will truncate to `namelength - 3` characters and add an ellipsis.
	Namelength int64 `json:"namelength,omitempty"`

	// Namelengthsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  namelength .
	Namelengthsrc String `json:"namelengthsrc,omitempty"`
}

ScatterpolarglHoverlabel

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 (
	ScatterpolarglHoverlabelAlignLeft  ScatterpolarglHoverlabelAlign = "left"
	ScatterpolarglHoverlabelAlignRight ScatterpolarglHoverlabelAlign = "right"
	ScatterpolarglHoverlabelAlignAuto  ScatterpolarglHoverlabelAlign = "auto"
)

type ScatterpolarglHoverlabelFont

type ScatterpolarglHoverlabelFont struct {

	// Color
	// arrayOK: true
	// type: color
	//
	Color Color `json:"color,omitempty"`

	// Colorsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  color .
	Colorsrc String `json:"colorsrc,omitempty"`

	// Family
	// arrayOK: true
	// type: string
	// HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.
	Family String `json:"family,omitempty"`

	// Familysrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  family .
	Familysrc String `json:"familysrc,omitempty"`

	// Size
	// arrayOK: true
	// type: number
	//
	Size float64 `json:"size,omitempty"`

	// Sizesrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  size .
	Sizesrc String `json:"sizesrc,omitempty"`
}

ScatterpolarglHoverlabelFont Sets the font used in hover labels.

type ScatterpolarglLine

type ScatterpolarglLine struct {

	// Color
	// arrayOK: false
	// type: color
	// Sets the line color.
	Color Color `json:"color,omitempty"`

	// Dash
	// default: solid
	// type: enumerated
	// Sets the style of the lines.
	Dash ScatterpolarglLineDash `json:"dash,omitempty"`

	// Shape
	// default: linear
	// type: enumerated
	// Determines the line shape. The values correspond to step-wise line shapes.
	Shape ScatterpolarglLineShape `json:"shape,omitempty"`

	// Width
	// arrayOK: false
	// type: number
	// Sets the line width (in px).
	Width float64 `json:"width,omitempty"`
}

ScatterpolarglLine

type ScatterpolarglLineDash

type ScatterpolarglLineDash string

ScatterpolarglLineDash Sets the style of the lines.

const (
	ScatterpolarglLineDashSolid       ScatterpolarglLineDash = "solid"
	ScatterpolarglLineDashDot         ScatterpolarglLineDash = "dot"
	ScatterpolarglLineDashDash        ScatterpolarglLineDash = "dash"
	ScatterpolarglLineDashLongdash    ScatterpolarglLineDash = "longdash"
	ScatterpolarglLineDashDashdot     ScatterpolarglLineDash = "dashdot"
	ScatterpolarglLineDashLongdashdot ScatterpolarglLineDash = "longdashdot"
)

type ScatterpolarglLineShape

type ScatterpolarglLineShape string

ScatterpolarglLineShape Determines the line shape. The values correspond to step-wise line shapes.

const (
	ScatterpolarglLineShapeLinear ScatterpolarglLineShape = "linear"
	ScatterpolarglLineShapeHv     ScatterpolarglLineShape = "hv"
	ScatterpolarglLineShapeVh     ScatterpolarglLineShape = "vh"
	ScatterpolarglLineShapeHvh    ScatterpolarglLineShape = "hvh"
	ScatterpolarglLineShapeVhv    ScatterpolarglLineShape = "vhv"
)

type ScatterpolarglMarker

type ScatterpolarglMarker struct {

	// Autocolorscale
	// arrayOK: false
	// type: boolean
	// Determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by `marker.colorscale`. Has an effect only if in `marker.color`is set to a numerical array. In case `colorscale` is unspecified or `autocolorscale` is true, the default  palette will be chosen according to whether numbers in the `color` array are all positive, all negative or mixed.
	Autocolorscale Bool `json:"autocolorscale,omitempty"`

	// Cauto
	// arrayOK: false
	// type: boolean
	// Determines whether or not the color domain is computed with respect to the input data (here in `marker.color`) or the bounds set in `marker.cmin` and `marker.cmax`  Has an effect only if in `marker.color`is set to a numerical array. Defaults to `false` when `marker.cmin` and `marker.cmax` are set by the user.
	Cauto Bool `json:"cauto,omitempty"`

	// Cmax
	// arrayOK: false
	// type: number
	// Sets the upper bound of the color domain. Has an effect only if in `marker.color`is set to a numerical array. Value should have the same units as in `marker.color` and if set, `marker.cmin` must be set as well.
	Cmax float64 `json:"cmax,omitempty"`

	// Cmid
	// arrayOK: false
	// type: number
	// Sets the mid-point of the color domain by scaling `marker.cmin` and/or `marker.cmax` to be equidistant to this point. Has an effect only if in `marker.color`is set to a numerical array. Value should have the same units as in `marker.color`. Has no effect when `marker.cauto` is `false`.
	Cmid float64 `json:"cmid,omitempty"`

	// Cmin
	// arrayOK: false
	// type: number
	// Sets the lower bound of the color domain. Has an effect only if in `marker.color`is set to a numerical array. Value should have the same units as in `marker.color` and if set, `marker.cmax` must be set as well.
	Cmin float64 `json:"cmin,omitempty"`

	// Color
	// arrayOK: true
	// type: color
	// Sets themarkercolor. It accepts either a specific color or an array of numbers that are mapped to the colorscale relative to the max and min values of the array or relative to `marker.cmin` and `marker.cmax` if set.
	Color Color `json:"color,omitempty"`

	// Coloraxis
	// arrayOK: false
	// type: subplotid
	// Sets a reference to a shared color axis. References to these shared color axes are *coloraxis*, *coloraxis2*, *coloraxis3*, etc. Settings for these shared color axes are set in the layout, under `layout.coloraxis`, `layout.coloraxis2`, etc. Note that multiple color scales can be linked to the same color axis.
	Coloraxis String `json:"coloraxis,omitempty"`

	// Colorbar
	// role: Object
	Colorbar *ScatterpolarglMarkerColorbar `json:"colorbar,omitempty"`

	// Colorscale
	// default: %!s(<nil>)
	// type: colorscale
	// Sets the colorscale. Has an effect only if in `marker.color`is set to a numerical array. The colorscale must be an array containing arrays mapping a normalized value to an rgb, rgba, hex, hsl, hsv, or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, use`marker.cmin` and `marker.cmax`. Alternatively, `colorscale` may be a palette name string of the following list: Greys,YlGnBu,Greens,YlOrRd,Bluered,RdBu,Reds,Blues,Picnic,Rainbow,Portland,Jet,Hot,Blackbody,Earth,Electric,Viridis,Cividis.
	Colorscale ColorScale `json:"colorscale,omitempty"`

	// Colorsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  color .
	Colorsrc String `json:"colorsrc,omitempty"`

	// Line
	// role: Object
	Line *ScatterpolarglMarkerLine `json:"line,omitempty"`

	// Opacity
	// arrayOK: true
	// type: number
	// Sets the marker opacity.
	Opacity float64 `json:"opacity,omitempty"`

	// Opacitysrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  opacity .
	Opacitysrc String `json:"opacitysrc,omitempty"`

	// Reversescale
	// arrayOK: false
	// type: boolean
	// Reverses the color mapping if true. Has an effect only if in `marker.color`is set to a numerical array. If true, `marker.cmin` will correspond to the last color in the array and `marker.cmax` will correspond to the first color.
	Reversescale Bool `json:"reversescale,omitempty"`

	// Showscale
	// arrayOK: false
	// type: boolean
	// Determines whether or not a colorbar is displayed for this trace. Has an effect only if in `marker.color`is set to a numerical array.
	Showscale Bool `json:"showscale,omitempty"`

	// Size
	// arrayOK: true
	// type: number
	// Sets the marker size (in px).
	Size float64 `json:"size,omitempty"`

	// Sizemin
	// arrayOK: false
	// type: number
	// Has an effect only if `marker.size` is set to a numerical array. Sets the minimum size (in px) of the rendered marker points.
	Sizemin float64 `json:"sizemin,omitempty"`

	// Sizemode
	// default: diameter
	// type: enumerated
	// Has an effect only if `marker.size` is set to a numerical array. Sets the rule for which the data in `size` is converted to pixels.
	Sizemode ScatterpolarglMarkerSizemode `json:"sizemode,omitempty"`

	// Sizeref
	// arrayOK: false
	// type: number
	// Has an effect only if `marker.size` is set to a numerical array. Sets the scale factor used to determine the rendered size of marker points. Use with `sizemin` and `sizemode`.
	Sizeref float64 `json:"sizeref,omitempty"`

	// Sizesrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  size .
	Sizesrc String `json:"sizesrc,omitempty"`

	// Symbol
	// default: circle
	// type: enumerated
	// Sets the marker symbol type. Adding 100 is equivalent to appending *-open* to a symbol name. Adding 200 is equivalent to appending *-dot* to a symbol name. Adding 300 is equivalent to appending *-open-dot* or *dot-open* to a symbol name.
	Symbol ScatterpolarglMarkerSymbol `json:"symbol,omitempty"`

	// Symbolsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  symbol .
	Symbolsrc String `json:"symbolsrc,omitempty"`
}

ScatterpolarglMarker

type ScatterpolarglMarkerColorbar

type ScatterpolarglMarkerColorbar struct {

	// Bgcolor
	// arrayOK: false
	// type: color
	// Sets the color of padded area.
	Bgcolor Color `json:"bgcolor,omitempty"`

	// Bordercolor
	// arrayOK: false
	// type: color
	// Sets the axis line color.
	Bordercolor Color `json:"bordercolor,omitempty"`

	// Borderwidth
	// arrayOK: false
	// type: number
	// Sets the width (in px) or the border enclosing this color bar.
	Borderwidth float64 `json:"borderwidth,omitempty"`

	// Dtick
	// arrayOK: false
	// type: any
	// Sets the step in-between ticks on this axis. Use with `tick0`. Must be a positive number, or special strings available to *log* and *date* axes. If the axis `type` is *log*, then ticks are set every 10^(n*dtick) where n is the tick number. For example, to set a tick mark at 1, 10, 100, 1000, ... set dtick to 1. To set tick marks at 1, 100, 10000, ... set dtick to 2. To set tick marks at 1, 5, 25, 125, 625, 3125, ... set dtick to log_10(5), or 0.69897000433. *log* has several special values; *L<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
	// default: B
	// type: enumerated
	// Determines a formatting rule for the tick exponents. For example, consider the number 1,000,000,000. If *none*, it appears as 1,000,000,000. If *e*, 1e+9. If *E*, 1E+9. If *power*, 1x10^9 (with 9 in a super script). If *SI*, 1G. If *B*, 1B.
	Exponentformat ScatterpolarglMarkerColorbarExponentformat `json:"exponentformat,omitempty"`

	// Len
	// arrayOK: false
	// type: number
	// Sets the length of the color bar This measure excludes the padding of both ends. That is, the color bar length is this length minus the padding on both ends.
	Len float64 `json:"len,omitempty"`

	// Lenmode
	// default: fraction
	// type: enumerated
	// Determines whether this color bar's length (i.e. the measure in the color variation direction) is set in units of plot *fraction* or in *pixels. Use `len` to set the value.
	Lenmode ScatterpolarglMarkerColorbarLenmode `json:"lenmode,omitempty"`

	// Minexponent
	// arrayOK: false
	// type: number
	// Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*.
	Minexponent float64 `json:"minexponent,omitempty"`

	// Nticks
	// arrayOK: false
	// type: integer
	// Specifies the maximum number of ticks for the particular axis. The actual number of ticks will be chosen automatically to be less than or equal to `nticks`. Has an effect only if `tickmode` is set to *auto*.
	Nticks int64 `json:"nticks,omitempty"`

	// Outlinecolor
	// arrayOK: false
	// type: color
	// Sets the axis line color.
	Outlinecolor Color `json:"outlinecolor,omitempty"`

	// Outlinewidth
	// arrayOK: false
	// type: number
	// Sets the width (in px) of the axis line.
	Outlinewidth float64 `json:"outlinewidth,omitempty"`

	// Separatethousands
	// arrayOK: false
	// type: boolean
	// If "true", even 4-digit integers are separated
	Separatethousands Bool `json:"separatethousands,omitempty"`

	// Showexponent
	// default: all
	// type: enumerated
	// If *all*, all exponents are shown besides their significands. If *first*, only the exponent of the first tick is shown. If *last*, only the exponent of the last tick is shown. If *none*, no exponents appear.
	Showexponent ScatterpolarglMarkerColorbarShowexponent `json:"showexponent,omitempty"`

	// Showticklabels
	// arrayOK: false
	// type: boolean
	// Determines whether or not the tick labels are drawn.
	Showticklabels Bool `json:"showticklabels,omitempty"`

	// Showtickprefix
	// default: all
	// type: enumerated
	// If *all*, all tick labels are displayed with a prefix. If *first*, only the first tick is displayed with a prefix. If *last*, only the last tick is displayed with a suffix. If *none*, tick prefixes are hidden.
	Showtickprefix ScatterpolarglMarkerColorbarShowtickprefix `json:"showtickprefix,omitempty"`

	// Showticksuffix
	// default: all
	// type: enumerated
	// Same as `showtickprefix` but for tick suffixes.
	Showticksuffix ScatterpolarglMarkerColorbarShowticksuffix `json:"showticksuffix,omitempty"`

	// Thickness
	// arrayOK: false
	// type: number
	// Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.
	Thickness float64 `json:"thickness,omitempty"`

	// Thicknessmode
	// default: pixels
	// type: enumerated
	// Determines whether this color bar's thickness (i.e. the measure in the constant color direction) is set in units of plot *fraction* or in *pixels*. Use `thickness` to set the value.
	Thicknessmode ScatterpolarglMarkerColorbarThicknessmode `json:"thicknessmode,omitempty"`

	// Tick0
	// arrayOK: false
	// type: any
	// Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2) except when `dtick`=*L<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
	// arrayOK: false
	// type: angle
	// Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.
	Tickangle float64 `json:"tickangle,omitempty"`

	// Tickcolor
	// arrayOK: false
	// type: color
	// Sets the tick color.
	Tickcolor Color `json:"tickcolor,omitempty"`

	// Tickfont
	// role: Object
	Tickfont *ScatterpolarglMarkerColorbarTickfont `json:"tickfont,omitempty"`

	// Tickformat
	// arrayOK: false
	// type: string
	// Sets the tick label formatting rule using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-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
	// It's an items array and what goes inside it's... messy... check the docs
	// I will be happy if you want to contribute by implementing this
	// just raise an issue before you start so we do not overlap
	Tickformatstops interface{} `json:"tickformatstops,omitempty"`

	// Ticklabelposition
	// default: outside
	// type: enumerated
	// Determines where tick labels are drawn.
	Ticklabelposition ScatterpolarglMarkerColorbarTicklabelposition `json:"ticklabelposition,omitempty"`

	// Ticklen
	// arrayOK: false
	// type: number
	// Sets the tick length (in px).
	Ticklen float64 `json:"ticklen,omitempty"`

	// Tickmode
	// default: %!s(<nil>)
	// type: enumerated
	// Sets the tick mode for this axis. If *auto*, the number of ticks is set via `nticks`. If *linear*, the placement of the ticks is determined by a starting position `tick0` and a tick step `dtick` (*linear* is the default value if `tick0` and `dtick` are provided). If *array*, the placement of the ticks is set via `tickvals` and the tick text is `ticktext`. (*array* is the default value if `tickvals` is provided).
	Tickmode ScatterpolarglMarkerColorbarTickmode `json:"tickmode,omitempty"`

	// Tickprefix
	// arrayOK: false
	// type: string
	// Sets a tick label prefix.
	Tickprefix String `json:"tickprefix,omitempty"`

	// Ticks
	// default:
	// type: enumerated
	// Determines whether ticks are drawn or not. If **, this axis' ticks are not drawn. If *outside* (*inside*), this axis' are drawn outside (inside) the axis lines.
	Ticks ScatterpolarglMarkerColorbarTicks `json:"ticks,omitempty"`

	// Ticksuffix
	// arrayOK: false
	// type: string
	// Sets a tick label suffix.
	Ticksuffix String `json:"ticksuffix,omitempty"`

	// Ticktext
	// arrayOK: false
	// type: data_array
	// Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `tickvals`.
	Ticktext interface{} `json:"ticktext,omitempty"`

	// Ticktextsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  ticktext .
	Ticktextsrc String `json:"ticktextsrc,omitempty"`

	// Tickvals
	// arrayOK: false
	// type: data_array
	// Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.
	Tickvals interface{} `json:"tickvals,omitempty"`

	// Tickvalssrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  tickvals .
	Tickvalssrc String `json:"tickvalssrc,omitempty"`

	// Tickwidth
	// arrayOK: false
	// type: number
	// Sets the tick width (in px).
	Tickwidth float64 `json:"tickwidth,omitempty"`

	// Title
	// role: Object
	Title *ScatterpolarglMarkerColorbarTitle `json:"title,omitempty"`

	// X
	// arrayOK: false
	// type: number
	// Sets the x position of the color bar (in plot fraction).
	X float64 `json:"x,omitempty"`

	// Xanchor
	// default: left
	// type: enumerated
	// Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the color bar.
	Xanchor ScatterpolarglMarkerColorbarXanchor `json:"xanchor,omitempty"`

	// Xpad
	// arrayOK: false
	// type: number
	// Sets the amount of padding (in px) along the x direction.
	Xpad float64 `json:"xpad,omitempty"`

	// Y
	// arrayOK: false
	// type: number
	// Sets the y position of the color bar (in plot fraction).
	Y float64 `json:"y,omitempty"`

	// Yanchor
	// default: middle
	// type: enumerated
	// Sets this color bar's vertical position anchor This anchor binds the `y` position to the *top*, *middle* or *bottom* of the color bar.
	Yanchor ScatterpolarglMarkerColorbarYanchor `json:"yanchor,omitempty"`

	// Ypad
	// arrayOK: false
	// type: number
	// Sets the amount of padding (in px) along the y direction.
	Ypad float64 `json:"ypad,omitempty"`
}

ScatterpolarglMarkerColorbar

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 (
	ScatterpolarglMarkerColorbarExponentformatNone  ScatterpolarglMarkerColorbarExponentformat = "none"
	ScatterpolarglMarkerColorbarExponentformatE1    ScatterpolarglMarkerColorbarExponentformat = "e"
	ScatterpolarglMarkerColorbarExponentformatE2    ScatterpolarglMarkerColorbarExponentformat = "E"
	ScatterpolarglMarkerColorbarExponentformatPower ScatterpolarglMarkerColorbarExponentformat = "power"
	ScatterpolarglMarkerColorbarExponentformatSi    ScatterpolarglMarkerColorbarExponentformat = "SI"
	ScatterpolarglMarkerColorbarExponentformatB     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 (
	ScatterpolarglMarkerColorbarLenmodeFraction ScatterpolarglMarkerColorbarLenmode = "fraction"
	ScatterpolarglMarkerColorbarLenmodePixels   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 (
	ScatterpolarglMarkerColorbarShowexponentAll   ScatterpolarglMarkerColorbarShowexponent = "all"
	ScatterpolarglMarkerColorbarShowexponentFirst ScatterpolarglMarkerColorbarShowexponent = "first"
	ScatterpolarglMarkerColorbarShowexponentLast  ScatterpolarglMarkerColorbarShowexponent = "last"
	ScatterpolarglMarkerColorbarShowexponentNone  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 (
	ScatterpolarglMarkerColorbarShowtickprefixAll   ScatterpolarglMarkerColorbarShowtickprefix = "all"
	ScatterpolarglMarkerColorbarShowtickprefixFirst ScatterpolarglMarkerColorbarShowtickprefix = "first"
	ScatterpolarglMarkerColorbarShowtickprefixLast  ScatterpolarglMarkerColorbarShowtickprefix = "last"
	ScatterpolarglMarkerColorbarShowtickprefixNone  ScatterpolarglMarkerColorbarShowtickprefix = "none"
)

type ScatterpolarglMarkerColorbarShowticksuffix

type ScatterpolarglMarkerColorbarShowticksuffix string

ScatterpolarglMarkerColorbarShowticksuffix Same as `showtickprefix` but for tick suffixes.

const (
	ScatterpolarglMarkerColorbarShowticksuffixAll   ScatterpolarglMarkerColorbarShowticksuffix = "all"
	ScatterpolarglMarkerColorbarShowticksuffixFirst ScatterpolarglMarkerColorbarShowticksuffix = "first"
	ScatterpolarglMarkerColorbarShowticksuffixLast  ScatterpolarglMarkerColorbarShowticksuffix = "last"
	ScatterpolarglMarkerColorbarShowticksuffixNone  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 (
	ScatterpolarglMarkerColorbarThicknessmodeFraction ScatterpolarglMarkerColorbarThicknessmode = "fraction"
	ScatterpolarglMarkerColorbarThicknessmodePixels   ScatterpolarglMarkerColorbarThicknessmode = "pixels"
)

type ScatterpolarglMarkerColorbarTickfont

type ScatterpolarglMarkerColorbarTickfont struct {

	// Color
	// arrayOK: false
	// type: color
	//
	Color Color `json:"color,omitempty"`

	// Family
	// arrayOK: false
	// type: string
	// HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.
	Family String `json:"family,omitempty"`

	// Size
	// arrayOK: false
	// type: number
	//
	Size float64 `json:"size,omitempty"`
}

ScatterpolarglMarkerColorbarTickfont Sets the color bar's tick label font

type ScatterpolarglMarkerColorbarTicklabelposition added in v0.3.1

type ScatterpolarglMarkerColorbarTicklabelposition string

ScatterpolarglMarkerColorbarTicklabelposition Determines where tick labels are drawn.

const (
	ScatterpolarglMarkerColorbarTicklabelpositionOutside       ScatterpolarglMarkerColorbarTicklabelposition = "outside"
	ScatterpolarglMarkerColorbarTicklabelpositionInside        ScatterpolarglMarkerColorbarTicklabelposition = "inside"
	ScatterpolarglMarkerColorbarTicklabelpositionOutsideTop    ScatterpolarglMarkerColorbarTicklabelposition = "outside top"
	ScatterpolarglMarkerColorbarTicklabelpositionInsideTop     ScatterpolarglMarkerColorbarTicklabelposition = "inside top"
	ScatterpolarglMarkerColorbarTicklabelpositionOutsideBottom ScatterpolarglMarkerColorbarTicklabelposition = "outside bottom"
	ScatterpolarglMarkerColorbarTicklabelpositionInsideBottom  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 (
	ScatterpolarglMarkerColorbarTickmodeAuto   ScatterpolarglMarkerColorbarTickmode = "auto"
	ScatterpolarglMarkerColorbarTickmodeLinear ScatterpolarglMarkerColorbarTickmode = "linear"
	ScatterpolarglMarkerColorbarTickmodeArray  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 (
	ScatterpolarglMarkerColorbarTicksOutside ScatterpolarglMarkerColorbarTicks = "outside"
	ScatterpolarglMarkerColorbarTicksInside  ScatterpolarglMarkerColorbarTicks = "inside"
	ScatterpolarglMarkerColorbarTicksEmpty   ScatterpolarglMarkerColorbarTicks = ""
)

type ScatterpolarglMarkerColorbarTitle

type ScatterpolarglMarkerColorbarTitle struct {

	// Font
	// role: Object
	Font *ScatterpolarglMarkerColorbarTitleFont `json:"font,omitempty"`

	// Side
	// default: top
	// type: enumerated
	// Determines the location of color bar's title with respect to the color bar. Note that the title's location used to be set by the now deprecated `titleside` attribute.
	Side ScatterpolarglMarkerColorbarTitleSide `json:"side,omitempty"`

	// Text
	// arrayOK: false
	// type: string
	// Sets the title of the color bar. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.
	Text String `json:"text,omitempty"`
}

ScatterpolarglMarkerColorbarTitle

type ScatterpolarglMarkerColorbarTitleFont

type ScatterpolarglMarkerColorbarTitleFont struct {

	// Color
	// arrayOK: false
	// type: color
	//
	Color Color `json:"color,omitempty"`

	// Family
	// arrayOK: false
	// type: string
	// HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.
	Family String `json:"family,omitempty"`

	// Size
	// arrayOK: false
	// type: number
	//
	Size float64 `json:"size,omitempty"`
}

ScatterpolarglMarkerColorbarTitleFont Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.

type 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 (
	ScatterpolarglMarkerColorbarTitleSideRight  ScatterpolarglMarkerColorbarTitleSide = "right"
	ScatterpolarglMarkerColorbarTitleSideTop    ScatterpolarglMarkerColorbarTitleSide = "top"
	ScatterpolarglMarkerColorbarTitleSideBottom 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 (
	ScatterpolarglMarkerColorbarXanchorLeft   ScatterpolarglMarkerColorbarXanchor = "left"
	ScatterpolarglMarkerColorbarXanchorCenter ScatterpolarglMarkerColorbarXanchor = "center"
	ScatterpolarglMarkerColorbarXanchorRight  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 (
	ScatterpolarglMarkerColorbarYanchorTop    ScatterpolarglMarkerColorbarYanchor = "top"
	ScatterpolarglMarkerColorbarYanchorMiddle ScatterpolarglMarkerColorbarYanchor = "middle"
	ScatterpolarglMarkerColorbarYanchorBottom ScatterpolarglMarkerColorbarYanchor = "bottom"
)

type ScatterpolarglMarkerLine

type ScatterpolarglMarkerLine struct {

	// Autocolorscale
	// arrayOK: false
	// type: boolean
	// Determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by `marker.line.colorscale`. Has an effect only if in `marker.line.color`is set to a numerical array. In case `colorscale` is unspecified or `autocolorscale` is true, the default  palette will be chosen according to whether numbers in the `color` array are all positive, all negative or mixed.
	Autocolorscale Bool `json:"autocolorscale,omitempty"`

	// Cauto
	// arrayOK: false
	// type: boolean
	// Determines whether or not the color domain is computed with respect to the input data (here in `marker.line.color`) or the bounds set in `marker.line.cmin` and `marker.line.cmax`  Has an effect only if in `marker.line.color`is set to a numerical array. Defaults to `false` when `marker.line.cmin` and `marker.line.cmax` are set by the user.
	Cauto Bool `json:"cauto,omitempty"`

	// Cmax
	// arrayOK: false
	// type: number
	// Sets the upper bound of the color domain. Has an effect only if in `marker.line.color`is set to a numerical array. Value should have the same units as in `marker.line.color` and if set, `marker.line.cmin` must be set as well.
	Cmax float64 `json:"cmax,omitempty"`

	// Cmid
	// arrayOK: false
	// type: number
	// Sets the mid-point of the color domain by scaling `marker.line.cmin` and/or `marker.line.cmax` to be equidistant to this point. Has an effect only if in `marker.line.color`is set to a numerical array. Value should have the same units as in `marker.line.color`. Has no effect when `marker.line.cauto` is `false`.
	Cmid float64 `json:"cmid,omitempty"`

	// Cmin
	// arrayOK: false
	// type: number
	// Sets the lower bound of the color domain. Has an effect only if in `marker.line.color`is set to a numerical array. Value should have the same units as in `marker.line.color` and if set, `marker.line.cmax` must be set as well.
	Cmin float64 `json:"cmin,omitempty"`

	// Color
	// arrayOK: true
	// type: color
	// Sets 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 Color `json:"color,omitempty"`

	// Coloraxis
	// arrayOK: false
	// type: subplotid
	// Sets a reference to a shared color axis. References to these shared color axes are *coloraxis*, *coloraxis2*, *coloraxis3*, etc. Settings for these shared color axes are set in the layout, under `layout.coloraxis`, `layout.coloraxis2`, etc. Note that multiple color scales can be linked to the same color axis.
	Coloraxis String `json:"coloraxis,omitempty"`

	// Colorscale
	// default: %!s(<nil>)
	// type: colorscale
	// Sets the colorscale. Has an effect only if in `marker.line.color`is set to a numerical array. The colorscale must be an array containing arrays mapping a normalized value to an rgb, rgba, hex, hsl, hsv, or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, use`marker.line.cmin` and `marker.line.cmax`. Alternatively, `colorscale` may be a palette name string of the following list: Greys,YlGnBu,Greens,YlOrRd,Bluered,RdBu,Reds,Blues,Picnic,Rainbow,Portland,Jet,Hot,Blackbody,Earth,Electric,Viridis,Cividis.
	Colorscale ColorScale `json:"colorscale,omitempty"`

	// Colorsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  color .
	Colorsrc String `json:"colorsrc,omitempty"`

	// Reversescale
	// arrayOK: false
	// type: boolean
	// Reverses the color mapping if true. Has an effect only if in `marker.line.color`is set to a numerical array. If true, `marker.line.cmin` will correspond to the last color in the array and `marker.line.cmax` will correspond to the first color.
	Reversescale Bool `json:"reversescale,omitempty"`

	// Width
	// arrayOK: true
	// type: number
	// Sets the width (in px) of the lines bounding the marker points.
	Width float64 `json:"width,omitempty"`

	// Widthsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  width .
	Widthsrc String `json:"widthsrc,omitempty"`
}

ScatterpolarglMarkerLine

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 (
	ScatterpolarglMarkerSizemodeDiameter ScatterpolarglMarkerSizemode = "diameter"
	ScatterpolarglMarkerSizemodeArea     ScatterpolarglMarkerSizemode = "area"
)

type ScatterpolarglMarkerSymbol

type ScatterpolarglMarkerSymbol interface{}

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.

var (
	ScatterpolarglMarkerSymbolNumber0                 ScatterpolarglMarkerSymbol = 0
	ScatterpolarglMarkerSymbol0                       ScatterpolarglMarkerSymbol = "0"
	ScatterpolarglMarkerSymbolCircle                  ScatterpolarglMarkerSymbol = "circle"
	ScatterpolarglMarkerSymbolNumber100               ScatterpolarglMarkerSymbol = 100
	ScatterpolarglMarkerSymbol100                     ScatterpolarglMarkerSymbol = "100"
	ScatterpolarglMarkerSymbolCircleOpen              ScatterpolarglMarkerSymbol = "circle-open"
	ScatterpolarglMarkerSymbolNumber200               ScatterpolarglMarkerSymbol = 200
	ScatterpolarglMarkerSymbol200                     ScatterpolarglMarkerSymbol = "200"
	ScatterpolarglMarkerSymbolCircleDot               ScatterpolarglMarkerSymbol = "circle-dot"
	ScatterpolarglMarkerSymbolNumber300               ScatterpolarglMarkerSymbol = 300
	ScatterpolarglMarkerSymbol300                     ScatterpolarglMarkerSymbol = "300"
	ScatterpolarglMarkerSymbolCircleOpenDot           ScatterpolarglMarkerSymbol = "circle-open-dot"
	ScatterpolarglMarkerSymbolNumber1                 ScatterpolarglMarkerSymbol = 1
	ScatterpolarglMarkerSymbol1                       ScatterpolarglMarkerSymbol = "1"
	ScatterpolarglMarkerSymbolSquare                  ScatterpolarglMarkerSymbol = "square"
	ScatterpolarglMarkerSymbolNumber101               ScatterpolarglMarkerSymbol = 101
	ScatterpolarglMarkerSymbol101                     ScatterpolarglMarkerSymbol = "101"
	ScatterpolarglMarkerSymbolSquareOpen              ScatterpolarglMarkerSymbol = "square-open"
	ScatterpolarglMarkerSymbolNumber201               ScatterpolarglMarkerSymbol = 201
	ScatterpolarglMarkerSymbol201                     ScatterpolarglMarkerSymbol = "201"
	ScatterpolarglMarkerSymbolSquareDot               ScatterpolarglMarkerSymbol = "square-dot"
	ScatterpolarglMarkerSymbolNumber301               ScatterpolarglMarkerSymbol = 301
	ScatterpolarglMarkerSymbol301                     ScatterpolarglMarkerSymbol = "301"
	ScatterpolarglMarkerSymbolSquareOpenDot           ScatterpolarglMarkerSymbol = "square-open-dot"
	ScatterpolarglMarkerSymbolNumber2                 ScatterpolarglMarkerSymbol = 2
	ScatterpolarglMarkerSymbol2                       ScatterpolarglMarkerSymbol = "2"
	ScatterpolarglMarkerSymbolDiamond                 ScatterpolarglMarkerSymbol = "diamond"
	ScatterpolarglMarkerSymbolNumber102               ScatterpolarglMarkerSymbol = 102
	ScatterpolarglMarkerSymbol102                     ScatterpolarglMarkerSymbol = "102"
	ScatterpolarglMarkerSymbolDiamondOpen             ScatterpolarglMarkerSymbol = "diamond-open"
	ScatterpolarglMarkerSymbolNumber202               ScatterpolarglMarkerSymbol = 202
	ScatterpolarglMarkerSymbol202                     ScatterpolarglMarkerSymbol = "202"
	ScatterpolarglMarkerSymbolDiamondDot              ScatterpolarglMarkerSymbol = "diamond-dot"
	ScatterpolarglMarkerSymbolNumber302               ScatterpolarglMarkerSymbol = 302
	ScatterpolarglMarkerSymbol302                     ScatterpolarglMarkerSymbol = "302"
	ScatterpolarglMarkerSymbolDiamondOpenDot          ScatterpolarglMarkerSymbol = "diamond-open-dot"
	ScatterpolarglMarkerSymbolNumber3                 ScatterpolarglMarkerSymbol = 3
	ScatterpolarglMarkerSymbol3                       ScatterpolarglMarkerSymbol = "3"
	ScatterpolarglMarkerSymbolCross                   ScatterpolarglMarkerSymbol = "cross"
	ScatterpolarglMarkerSymbolNumber103               ScatterpolarglMarkerSymbol = 103
	ScatterpolarglMarkerSymbol103                     ScatterpolarglMarkerSymbol = "103"
	ScatterpolarglMarkerSymbolCrossOpen               ScatterpolarglMarkerSymbol = "cross-open"
	ScatterpolarglMarkerSymbolNumber203               ScatterpolarglMarkerSymbol = 203
	ScatterpolarglMarkerSymbol203                     ScatterpolarglMarkerSymbol = "203"
	ScatterpolarglMarkerSymbolCrossDot                ScatterpolarglMarkerSymbol = "cross-dot"
	ScatterpolarglMarkerSymbolNumber303               ScatterpolarglMarkerSymbol = 303
	ScatterpolarglMarkerSymbol303                     ScatterpolarglMarkerSymbol = "303"
	ScatterpolarglMarkerSymbolCrossOpenDot            ScatterpolarglMarkerSymbol = "cross-open-dot"
	ScatterpolarglMarkerSymbolNumber4                 ScatterpolarglMarkerSymbol = 4
	ScatterpolarglMarkerSymbol4                       ScatterpolarglMarkerSymbol = "4"
	ScatterpolarglMarkerSymbolX                       ScatterpolarglMarkerSymbol = "x"
	ScatterpolarglMarkerSymbolNumber104               ScatterpolarglMarkerSymbol = 104
	ScatterpolarglMarkerSymbol104                     ScatterpolarglMarkerSymbol = "104"
	ScatterpolarglMarkerSymbolXOpen                   ScatterpolarglMarkerSymbol = "x-open"
	ScatterpolarglMarkerSymbolNumber204               ScatterpolarglMarkerSymbol = 204
	ScatterpolarglMarkerSymbol204                     ScatterpolarglMarkerSymbol = "204"
	ScatterpolarglMarkerSymbolXDot                    ScatterpolarglMarkerSymbol = "x-dot"
	ScatterpolarglMarkerSymbolNumber304               ScatterpolarglMarkerSymbol = 304
	ScatterpolarglMarkerSymbol304                     ScatterpolarglMarkerSymbol = "304"
	ScatterpolarglMarkerSymbolXOpenDot                ScatterpolarglMarkerSymbol = "x-open-dot"
	ScatterpolarglMarkerSymbolNumber5                 ScatterpolarglMarkerSymbol = 5
	ScatterpolarglMarkerSymbol5                       ScatterpolarglMarkerSymbol = "5"
	ScatterpolarglMarkerSymbolTriangleUp              ScatterpolarglMarkerSymbol = "triangle-up"
	ScatterpolarglMarkerSymbolNumber105               ScatterpolarglMarkerSymbol = 105
	ScatterpolarglMarkerSymbol105                     ScatterpolarglMarkerSymbol = "105"
	ScatterpolarglMarkerSymbolTriangleUpOpen          ScatterpolarglMarkerSymbol = "triangle-up-open"
	ScatterpolarglMarkerSymbolNumber205               ScatterpolarglMarkerSymbol = 205
	ScatterpolarglMarkerSymbol205                     ScatterpolarglMarkerSymbol = "205"
	ScatterpolarglMarkerSymbolTriangleUpDot           ScatterpolarglMarkerSymbol = "triangle-up-dot"
	ScatterpolarglMarkerSymbolNumber305               ScatterpolarglMarkerSymbol = 305
	ScatterpolarglMarkerSymbol305                     ScatterpolarglMarkerSymbol = "305"
	ScatterpolarglMarkerSymbolTriangleUpOpenDot       ScatterpolarglMarkerSymbol = "triangle-up-open-dot"
	ScatterpolarglMarkerSymbolNumber6                 ScatterpolarglMarkerSymbol = 6
	ScatterpolarglMarkerSymbol6                       ScatterpolarglMarkerSymbol = "6"
	ScatterpolarglMarkerSymbolTriangleDown            ScatterpolarglMarkerSymbol = "triangle-down"
	ScatterpolarglMarkerSymbolNumber106               ScatterpolarglMarkerSymbol = 106
	ScatterpolarglMarkerSymbol106                     ScatterpolarglMarkerSymbol = "106"
	ScatterpolarglMarkerSymbolTriangleDownOpen        ScatterpolarglMarkerSymbol = "triangle-down-open"
	ScatterpolarglMarkerSymbolNumber206               ScatterpolarglMarkerSymbol = 206
	ScatterpolarglMarkerSymbol206                     ScatterpolarglMarkerSymbol = "206"
	ScatterpolarglMarkerSymbolTriangleDownDot         ScatterpolarglMarkerSymbol = "triangle-down-dot"
	ScatterpolarglMarkerSymbolNumber306               ScatterpolarglMarkerSymbol = 306
	ScatterpolarglMarkerSymbol306                     ScatterpolarglMarkerSymbol = "306"
	ScatterpolarglMarkerSymbolTriangleDownOpenDot     ScatterpolarglMarkerSymbol = "triangle-down-open-dot"
	ScatterpolarglMarkerSymbolNumber7                 ScatterpolarglMarkerSymbol = 7
	ScatterpolarglMarkerSymbol7                       ScatterpolarglMarkerSymbol = "7"
	ScatterpolarglMarkerSymbolTriangleLeft            ScatterpolarglMarkerSymbol = "triangle-left"
	ScatterpolarglMarkerSymbolNumber107               ScatterpolarglMarkerSymbol = 107
	ScatterpolarglMarkerSymbol107                     ScatterpolarglMarkerSymbol = "107"
	ScatterpolarglMarkerSymbolTriangleLeftOpen        ScatterpolarglMarkerSymbol = "triangle-left-open"
	ScatterpolarglMarkerSymbolNumber207               ScatterpolarglMarkerSymbol = 207
	ScatterpolarglMarkerSymbol207                     ScatterpolarglMarkerSymbol = "207"
	ScatterpolarglMarkerSymbolTriangleLeftDot         ScatterpolarglMarkerSymbol = "triangle-left-dot"
	ScatterpolarglMarkerSymbolNumber307               ScatterpolarglMarkerSymbol = 307
	ScatterpolarglMarkerSymbol307                     ScatterpolarglMarkerSymbol = "307"
	ScatterpolarglMarkerSymbolTriangleLeftOpenDot     ScatterpolarglMarkerSymbol = "triangle-left-open-dot"
	ScatterpolarglMarkerSymbolNumber8                 ScatterpolarglMarkerSymbol = 8
	ScatterpolarglMarkerSymbol8                       ScatterpolarglMarkerSymbol = "8"
	ScatterpolarglMarkerSymbolTriangleRight           ScatterpolarglMarkerSymbol = "triangle-right"
	ScatterpolarglMarkerSymbolNumber108               ScatterpolarglMarkerSymbol = 108
	ScatterpolarglMarkerSymbol108                     ScatterpolarglMarkerSymbol = "108"
	ScatterpolarglMarkerSymbolTriangleRightOpen       ScatterpolarglMarkerSymbol = "triangle-right-open"
	ScatterpolarglMarkerSymbolNumber208               ScatterpolarglMarkerSymbol = 208
	ScatterpolarglMarkerSymbol208                     ScatterpolarglMarkerSymbol = "208"
	ScatterpolarglMarkerSymbolTriangleRightDot        ScatterpolarglMarkerSymbol = "triangle-right-dot"
	ScatterpolarglMarkerSymbolNumber308               ScatterpolarglMarkerSymbol = 308
	ScatterpolarglMarkerSymbol308                     ScatterpolarglMarkerSymbol = "308"
	ScatterpolarglMarkerSymbolTriangleRightOpenDot    ScatterpolarglMarkerSymbol = "triangle-right-open-dot"
	ScatterpolarglMarkerSymbolNumber9                 ScatterpolarglMarkerSymbol = 9
	ScatterpolarglMarkerSymbol9                       ScatterpolarglMarkerSymbol = "9"
	ScatterpolarglMarkerSymbolTriangleNe              ScatterpolarglMarkerSymbol = "triangle-ne"
	ScatterpolarglMarkerSymbolNumber109               ScatterpolarglMarkerSymbol = 109
	ScatterpolarglMarkerSymbol109                     ScatterpolarglMarkerSymbol = "109"
	ScatterpolarglMarkerSymbolTriangleNeOpen          ScatterpolarglMarkerSymbol = "triangle-ne-open"
	ScatterpolarglMarkerSymbolNumber209               ScatterpolarglMarkerSymbol = 209
	ScatterpolarglMarkerSymbol209                     ScatterpolarglMarkerSymbol = "209"
	ScatterpolarglMarkerSymbolTriangleNeDot           ScatterpolarglMarkerSymbol = "triangle-ne-dot"
	ScatterpolarglMarkerSymbolNumber309               ScatterpolarglMarkerSymbol = 309
	ScatterpolarglMarkerSymbol309                     ScatterpolarglMarkerSymbol = "309"
	ScatterpolarglMarkerSymbolTriangleNeOpenDot       ScatterpolarglMarkerSymbol = "triangle-ne-open-dot"
	ScatterpolarglMarkerSymbolNumber10                ScatterpolarglMarkerSymbol = 10
	ScatterpolarglMarkerSymbol10                      ScatterpolarglMarkerSymbol = "10"
	ScatterpolarglMarkerSymbolTriangleSe              ScatterpolarglMarkerSymbol = "triangle-se"
	ScatterpolarglMarkerSymbolNumber110               ScatterpolarglMarkerSymbol = 110
	ScatterpolarglMarkerSymbol110                     ScatterpolarglMarkerSymbol = "110"
	ScatterpolarglMarkerSymbolTriangleSeOpen          ScatterpolarglMarkerSymbol = "triangle-se-open"
	ScatterpolarglMarkerSymbolNumber210               ScatterpolarglMarkerSymbol = 210
	ScatterpolarglMarkerSymbol210                     ScatterpolarglMarkerSymbol = "210"
	ScatterpolarglMarkerSymbolTriangleSeDot           ScatterpolarglMarkerSymbol = "triangle-se-dot"
	ScatterpolarglMarkerSymbolNumber310               ScatterpolarglMarkerSymbol = 310
	ScatterpolarglMarkerSymbol310                     ScatterpolarglMarkerSymbol = "310"
	ScatterpolarglMarkerSymbolTriangleSeOpenDot       ScatterpolarglMarkerSymbol = "triangle-se-open-dot"
	ScatterpolarglMarkerSymbolNumber11                ScatterpolarglMarkerSymbol = 11
	ScatterpolarglMarkerSymbol11                      ScatterpolarglMarkerSymbol = "11"
	ScatterpolarglMarkerSymbolTriangleSw              ScatterpolarglMarkerSymbol = "triangle-sw"
	ScatterpolarglMarkerSymbolNumber111               ScatterpolarglMarkerSymbol = 111
	ScatterpolarglMarkerSymbol111                     ScatterpolarglMarkerSymbol = "111"
	ScatterpolarglMarkerSymbolTriangleSwOpen          ScatterpolarglMarkerSymbol = "triangle-sw-open"
	ScatterpolarglMarkerSymbolNumber211               ScatterpolarglMarkerSymbol = 211
	ScatterpolarglMarkerSymbol211                     ScatterpolarglMarkerSymbol = "211"
	ScatterpolarglMarkerSymbolTriangleSwDot           ScatterpolarglMarkerSymbol = "triangle-sw-dot"
	ScatterpolarglMarkerSymbolNumber311               ScatterpolarglMarkerSymbol = 311
	ScatterpolarglMarkerSymbol311                     ScatterpolarglMarkerSymbol = "311"
	ScatterpolarglMarkerSymbolTriangleSwOpenDot       ScatterpolarglMarkerSymbol = "triangle-sw-open-dot"
	ScatterpolarglMarkerSymbolNumber12                ScatterpolarglMarkerSymbol = 12
	ScatterpolarglMarkerSymbol12                      ScatterpolarglMarkerSymbol = "12"
	ScatterpolarglMarkerSymbolTriangleNw              ScatterpolarglMarkerSymbol = "triangle-nw"
	ScatterpolarglMarkerSymbolNumber112               ScatterpolarglMarkerSymbol = 112
	ScatterpolarglMarkerSymbol112                     ScatterpolarglMarkerSymbol = "112"
	ScatterpolarglMarkerSymbolTriangleNwOpen          ScatterpolarglMarkerSymbol = "triangle-nw-open"
	ScatterpolarglMarkerSymbolNumber212               ScatterpolarglMarkerSymbol = 212
	ScatterpolarglMarkerSymbol212                     ScatterpolarglMarkerSymbol = "212"
	ScatterpolarglMarkerSymbolTriangleNwDot           ScatterpolarglMarkerSymbol = "triangle-nw-dot"
	ScatterpolarglMarkerSymbolNumber312               ScatterpolarglMarkerSymbol = 312
	ScatterpolarglMarkerSymbol312                     ScatterpolarglMarkerSymbol = "312"
	ScatterpolarglMarkerSymbolTriangleNwOpenDot       ScatterpolarglMarkerSymbol = "triangle-nw-open-dot"
	ScatterpolarglMarkerSymbolNumber13                ScatterpolarglMarkerSymbol = 13
	ScatterpolarglMarkerSymbol13                      ScatterpolarglMarkerSymbol = "13"
	ScatterpolarglMarkerSymbolPentagon                ScatterpolarglMarkerSymbol = "pentagon"
	ScatterpolarglMarkerSymbolNumber113               ScatterpolarglMarkerSymbol = 113
	ScatterpolarglMarkerSymbol113                     ScatterpolarglMarkerSymbol = "113"
	ScatterpolarglMarkerSymbolPentagonOpen            ScatterpolarglMarkerSymbol = "pentagon-open"
	ScatterpolarglMarkerSymbolNumber213               ScatterpolarglMarkerSymbol = 213
	ScatterpolarglMarkerSymbol213                     ScatterpolarglMarkerSymbol = "213"
	ScatterpolarglMarkerSymbolPentagonDot             ScatterpolarglMarkerSymbol = "pentagon-dot"
	ScatterpolarglMarkerSymbolNumber313               ScatterpolarglMarkerSymbol = 313
	ScatterpolarglMarkerSymbol313                     ScatterpolarglMarkerSymbol = "313"
	ScatterpolarglMarkerSymbolPentagonOpenDot         ScatterpolarglMarkerSymbol = "pentagon-open-dot"
	ScatterpolarglMarkerSymbolNumber14                ScatterpolarglMarkerSymbol = 14
	ScatterpolarglMarkerSymbol14                      ScatterpolarglMarkerSymbol = "14"
	ScatterpolarglMarkerSymbolHexagon                 ScatterpolarglMarkerSymbol = "hexagon"
	ScatterpolarglMarkerSymbolNumber114               ScatterpolarglMarkerSymbol = 114
	ScatterpolarglMarkerSymbol114                     ScatterpolarglMarkerSymbol = "114"
	ScatterpolarglMarkerSymbolHexagonOpen             ScatterpolarglMarkerSymbol = "hexagon-open"
	ScatterpolarglMarkerSymbolNumber214               ScatterpolarglMarkerSymbol = 214
	ScatterpolarglMarkerSymbol214                     ScatterpolarglMarkerSymbol = "214"
	ScatterpolarglMarkerSymbolHexagonDot              ScatterpolarglMarkerSymbol = "hexagon-dot"
	ScatterpolarglMarkerSymbolNumber314               ScatterpolarglMarkerSymbol = 314
	ScatterpolarglMarkerSymbol314                     ScatterpolarglMarkerSymbol = "314"
	ScatterpolarglMarkerSymbolHexagonOpenDot          ScatterpolarglMarkerSymbol = "hexagon-open-dot"
	ScatterpolarglMarkerSymbolNumber15                ScatterpolarglMarkerSymbol = 15
	ScatterpolarglMarkerSymbol15                      ScatterpolarglMarkerSymbol = "15"
	ScatterpolarglMarkerSymbolHexagon2                ScatterpolarglMarkerSymbol = "hexagon2"
	ScatterpolarglMarkerSymbolNumber115               ScatterpolarglMarkerSymbol = 115
	ScatterpolarglMarkerSymbol115                     ScatterpolarglMarkerSymbol = "115"
	ScatterpolarglMarkerSymbolHexagon2Open            ScatterpolarglMarkerSymbol = "hexagon2-open"
	ScatterpolarglMarkerSymbolNumber215               ScatterpolarglMarkerSymbol = 215
	ScatterpolarglMarkerSymbol215                     ScatterpolarglMarkerSymbol = "215"
	ScatterpolarglMarkerSymbolHexagon2Dot             ScatterpolarglMarkerSymbol = "hexagon2-dot"
	ScatterpolarglMarkerSymbolNumber315               ScatterpolarglMarkerSymbol = 315
	ScatterpolarglMarkerSymbol315                     ScatterpolarglMarkerSymbol = "315"
	ScatterpolarglMarkerSymbolHexagon2OpenDot         ScatterpolarglMarkerSymbol = "hexagon2-open-dot"
	ScatterpolarglMarkerSymbolNumber16                ScatterpolarglMarkerSymbol = 16
	ScatterpolarglMarkerSymbol16                      ScatterpolarglMarkerSymbol = "16"
	ScatterpolarglMarkerSymbolOctagon                 ScatterpolarglMarkerSymbol = "octagon"
	ScatterpolarglMarkerSymbolNumber116               ScatterpolarglMarkerSymbol = 116
	ScatterpolarglMarkerSymbol116                     ScatterpolarglMarkerSymbol = "116"
	ScatterpolarglMarkerSymbolOctagonOpen             ScatterpolarglMarkerSymbol = "octagon-open"
	ScatterpolarglMarkerSymbolNumber216               ScatterpolarglMarkerSymbol = 216
	ScatterpolarglMarkerSymbol216                     ScatterpolarglMarkerSymbol = "216"
	ScatterpolarglMarkerSymbolOctagonDot              ScatterpolarglMarkerSymbol = "octagon-dot"
	ScatterpolarglMarkerSymbolNumber316               ScatterpolarglMarkerSymbol = 316
	ScatterpolarglMarkerSymbol316                     ScatterpolarglMarkerSymbol = "316"
	ScatterpolarglMarkerSymbolOctagonOpenDot          ScatterpolarglMarkerSymbol = "octagon-open-dot"
	ScatterpolarglMarkerSymbolNumber17                ScatterpolarglMarkerSymbol = 17
	ScatterpolarglMarkerSymbol17                      ScatterpolarglMarkerSymbol = "17"
	ScatterpolarglMarkerSymbolStar                    ScatterpolarglMarkerSymbol = "star"
	ScatterpolarglMarkerSymbolNumber117               ScatterpolarglMarkerSymbol = 117
	ScatterpolarglMarkerSymbol117                     ScatterpolarglMarkerSymbol = "117"
	ScatterpolarglMarkerSymbolStarOpen                ScatterpolarglMarkerSymbol = "star-open"
	ScatterpolarglMarkerSymbolNumber217               ScatterpolarglMarkerSymbol = 217
	ScatterpolarglMarkerSymbol217                     ScatterpolarglMarkerSymbol = "217"
	ScatterpolarglMarkerSymbolStarDot                 ScatterpolarglMarkerSymbol = "star-dot"
	ScatterpolarglMarkerSymbolNumber317               ScatterpolarglMarkerSymbol = 317
	ScatterpolarglMarkerSymbol317                     ScatterpolarglMarkerSymbol = "317"
	ScatterpolarglMarkerSymbolStarOpenDot             ScatterpolarglMarkerSymbol = "star-open-dot"
	ScatterpolarglMarkerSymbolNumber18                ScatterpolarglMarkerSymbol = 18
	ScatterpolarglMarkerSymbol18                      ScatterpolarglMarkerSymbol = "18"
	ScatterpolarglMarkerSymbolHexagram                ScatterpolarglMarkerSymbol = "hexagram"
	ScatterpolarglMarkerSymbolNumber118               ScatterpolarglMarkerSymbol = 118
	ScatterpolarglMarkerSymbol118                     ScatterpolarglMarkerSymbol = "118"
	ScatterpolarglMarkerSymbolHexagramOpen            ScatterpolarglMarkerSymbol = "hexagram-open"
	ScatterpolarglMarkerSymbolNumber218               ScatterpolarglMarkerSymbol = 218
	ScatterpolarglMarkerSymbol218                     ScatterpolarglMarkerSymbol = "218"
	ScatterpolarglMarkerSymbolHexagramDot             ScatterpolarglMarkerSymbol = "hexagram-dot"
	ScatterpolarglMarkerSymbolNumber318               ScatterpolarglMarkerSymbol = 318
	ScatterpolarglMarkerSymbol318                     ScatterpolarglMarkerSymbol = "318"
	ScatterpolarglMarkerSymbolHexagramOpenDot         ScatterpolarglMarkerSymbol = "hexagram-open-dot"
	ScatterpolarglMarkerSymbolNumber19                ScatterpolarglMarkerSymbol = 19
	ScatterpolarglMarkerSymbol19                      ScatterpolarglMarkerSymbol = "19"
	ScatterpolarglMarkerSymbolStarTriangleUp          ScatterpolarglMarkerSymbol = "star-triangle-up"
	ScatterpolarglMarkerSymbolNumber119               ScatterpolarglMarkerSymbol = 119
	ScatterpolarglMarkerSymbol119                     ScatterpolarglMarkerSymbol = "119"
	ScatterpolarglMarkerSymbolStarTriangleUpOpen      ScatterpolarglMarkerSymbol = "star-triangle-up-open"
	ScatterpolarglMarkerSymbolNumber219               ScatterpolarglMarkerSymbol = 219
	ScatterpolarglMarkerSymbol219                     ScatterpolarglMarkerSymbol = "219"
	ScatterpolarglMarkerSymbolStarTriangleUpDot       ScatterpolarglMarkerSymbol = "star-triangle-up-dot"
	ScatterpolarglMarkerSymbolNumber319               ScatterpolarglMarkerSymbol = 319
	ScatterpolarglMarkerSymbol319                     ScatterpolarglMarkerSymbol = "319"
	ScatterpolarglMarkerSymbolStarTriangleUpOpenDot   ScatterpolarglMarkerSymbol = "star-triangle-up-open-dot"
	ScatterpolarglMarkerSymbolNumber20                ScatterpolarglMarkerSymbol = 20
	ScatterpolarglMarkerSymbol20                      ScatterpolarglMarkerSymbol = "20"
	ScatterpolarglMarkerSymbolStarTriangleDown        ScatterpolarglMarkerSymbol = "star-triangle-down"
	ScatterpolarglMarkerSymbolNumber120               ScatterpolarglMarkerSymbol = 120
	ScatterpolarglMarkerSymbol120                     ScatterpolarglMarkerSymbol = "120"
	ScatterpolarglMarkerSymbolStarTriangleDownOpen    ScatterpolarglMarkerSymbol = "star-triangle-down-open"
	ScatterpolarglMarkerSymbolNumber220               ScatterpolarglMarkerSymbol = 220
	ScatterpolarglMarkerSymbol220                     ScatterpolarglMarkerSymbol = "220"
	ScatterpolarglMarkerSymbolStarTriangleDownDot     ScatterpolarglMarkerSymbol = "star-triangle-down-dot"
	ScatterpolarglMarkerSymbolNumber320               ScatterpolarglMarkerSymbol = 320
	ScatterpolarglMarkerSymbol320                     ScatterpolarglMarkerSymbol = "320"
	ScatterpolarglMarkerSymbolStarTriangleDownOpenDot ScatterpolarglMarkerSymbol = "star-triangle-down-open-dot"
	ScatterpolarglMarkerSymbolNumber21                ScatterpolarglMarkerSymbol = 21
	ScatterpolarglMarkerSymbol21                      ScatterpolarglMarkerSymbol = "21"
	ScatterpolarglMarkerSymbolStarSquare              ScatterpolarglMarkerSymbol = "star-square"
	ScatterpolarglMarkerSymbolNumber121               ScatterpolarglMarkerSymbol = 121
	ScatterpolarglMarkerSymbol121                     ScatterpolarglMarkerSymbol = "121"
	ScatterpolarglMarkerSymbolStarSquareOpen          ScatterpolarglMarkerSymbol = "star-square-open"
	ScatterpolarglMarkerSymbolNumber221               ScatterpolarglMarkerSymbol = 221
	ScatterpolarglMarkerSymbol221                     ScatterpolarglMarkerSymbol = "221"
	ScatterpolarglMarkerSymbolStarSquareDot           ScatterpolarglMarkerSymbol = "star-square-dot"
	ScatterpolarglMarkerSymbolNumber321               ScatterpolarglMarkerSymbol = 321
	ScatterpolarglMarkerSymbol321                     ScatterpolarglMarkerSymbol = "321"
	ScatterpolarglMarkerSymbolStarSquareOpenDot       ScatterpolarglMarkerSymbol = "star-square-open-dot"
	ScatterpolarglMarkerSymbolNumber22                ScatterpolarglMarkerSymbol = 22
	ScatterpolarglMarkerSymbol22                      ScatterpolarglMarkerSymbol = "22"
	ScatterpolarglMarkerSymbolStarDiamond             ScatterpolarglMarkerSymbol = "star-diamond"
	ScatterpolarglMarkerSymbolNumber122               ScatterpolarglMarkerSymbol = 122
	ScatterpolarglMarkerSymbol122                     ScatterpolarglMarkerSymbol = "122"
	ScatterpolarglMarkerSymbolStarDiamondOpen         ScatterpolarglMarkerSymbol = "star-diamond-open"
	ScatterpolarglMarkerSymbolNumber222               ScatterpolarglMarkerSymbol = 222
	ScatterpolarglMarkerSymbol222                     ScatterpolarglMarkerSymbol = "222"
	ScatterpolarglMarkerSymbolStarDiamondDot          ScatterpolarglMarkerSymbol = "star-diamond-dot"
	ScatterpolarglMarkerSymbolNumber322               ScatterpolarglMarkerSymbol = 322
	ScatterpolarglMarkerSymbol322                     ScatterpolarglMarkerSymbol = "322"
	ScatterpolarglMarkerSymbolStarDiamondOpenDot      ScatterpolarglMarkerSymbol = "star-diamond-open-dot"
	ScatterpolarglMarkerSymbolNumber23                ScatterpolarglMarkerSymbol = 23
	ScatterpolarglMarkerSymbol23                      ScatterpolarglMarkerSymbol = "23"
	ScatterpolarglMarkerSymbolDiamondTall             ScatterpolarglMarkerSymbol = "diamond-tall"
	ScatterpolarglMarkerSymbolNumber123               ScatterpolarglMarkerSymbol = 123
	ScatterpolarglMarkerSymbol123                     ScatterpolarglMarkerSymbol = "123"
	ScatterpolarglMarkerSymbolDiamondTallOpen         ScatterpolarglMarkerSymbol = "diamond-tall-open"
	ScatterpolarglMarkerSymbolNumber223               ScatterpolarglMarkerSymbol = 223
	ScatterpolarglMarkerSymbol223                     ScatterpolarglMarkerSymbol = "223"
	ScatterpolarglMarkerSymbolDiamondTallDot          ScatterpolarglMarkerSymbol = "diamond-tall-dot"
	ScatterpolarglMarkerSymbolNumber323               ScatterpolarglMarkerSymbol = 323
	ScatterpolarglMarkerSymbol323                     ScatterpolarglMarkerSymbol = "323"
	ScatterpolarglMarkerSymbolDiamondTallOpenDot      ScatterpolarglMarkerSymbol = "diamond-tall-open-dot"
	ScatterpolarglMarkerSymbolNumber24                ScatterpolarglMarkerSymbol = 24
	ScatterpolarglMarkerSymbol24                      ScatterpolarglMarkerSymbol = "24"
	ScatterpolarglMarkerSymbolDiamondWide             ScatterpolarglMarkerSymbol = "diamond-wide"
	ScatterpolarglMarkerSymbolNumber124               ScatterpolarglMarkerSymbol = 124
	ScatterpolarglMarkerSymbol124                     ScatterpolarglMarkerSymbol = "124"
	ScatterpolarglMarkerSymbolDiamondWideOpen         ScatterpolarglMarkerSymbol = "diamond-wide-open"
	ScatterpolarglMarkerSymbolNumber224               ScatterpolarglMarkerSymbol = 224
	ScatterpolarglMarkerSymbol224                     ScatterpolarglMarkerSymbol = "224"
	ScatterpolarglMarkerSymbolDiamondWideDot          ScatterpolarglMarkerSymbol = "diamond-wide-dot"
	ScatterpolarglMarkerSymbolNumber324               ScatterpolarglMarkerSymbol = 324
	ScatterpolarglMarkerSymbol324                     ScatterpolarglMarkerSymbol = "324"
	ScatterpolarglMarkerSymbolDiamondWideOpenDot      ScatterpolarglMarkerSymbol = "diamond-wide-open-dot"
	ScatterpolarglMarkerSymbolNumber25                ScatterpolarglMarkerSymbol = 25
	ScatterpolarglMarkerSymbol25                      ScatterpolarglMarkerSymbol = "25"
	ScatterpolarglMarkerSymbolHourglass               ScatterpolarglMarkerSymbol = "hourglass"
	ScatterpolarglMarkerSymbolNumber125               ScatterpolarglMarkerSymbol = 125
	ScatterpolarglMarkerSymbol125                     ScatterpolarglMarkerSymbol = "125"
	ScatterpolarglMarkerSymbolHourglassOpen           ScatterpolarglMarkerSymbol = "hourglass-open"
	ScatterpolarglMarkerSymbolNumber26                ScatterpolarglMarkerSymbol = 26
	ScatterpolarglMarkerSymbol26                      ScatterpolarglMarkerSymbol = "26"
	ScatterpolarglMarkerSymbolBowtie                  ScatterpolarglMarkerSymbol = "bowtie"
	ScatterpolarglMarkerSymbolNumber126               ScatterpolarglMarkerSymbol = 126
	ScatterpolarglMarkerSymbol126                     ScatterpolarglMarkerSymbol = "126"
	ScatterpolarglMarkerSymbolBowtieOpen              ScatterpolarglMarkerSymbol = "bowtie-open"
	ScatterpolarglMarkerSymbolNumber27                ScatterpolarglMarkerSymbol = 27
	ScatterpolarglMarkerSymbol27                      ScatterpolarglMarkerSymbol = "27"
	ScatterpolarglMarkerSymbolCircleCross             ScatterpolarglMarkerSymbol = "circle-cross"
	ScatterpolarglMarkerSymbolNumber127               ScatterpolarglMarkerSymbol = 127
	ScatterpolarglMarkerSymbol127                     ScatterpolarglMarkerSymbol = "127"
	ScatterpolarglMarkerSymbolCircleCrossOpen         ScatterpolarglMarkerSymbol = "circle-cross-open"
	ScatterpolarglMarkerSymbolNumber28                ScatterpolarglMarkerSymbol = 28
	ScatterpolarglMarkerSymbol28                      ScatterpolarglMarkerSymbol = "28"
	ScatterpolarglMarkerSymbolCircleX                 ScatterpolarglMarkerSymbol = "circle-x"
	ScatterpolarglMarkerSymbolNumber128               ScatterpolarglMarkerSymbol = 128
	ScatterpolarglMarkerSymbol128                     ScatterpolarglMarkerSymbol = "128"
	ScatterpolarglMarkerSymbolCircleXOpen             ScatterpolarglMarkerSymbol = "circle-x-open"
	ScatterpolarglMarkerSymbolNumber29                ScatterpolarglMarkerSymbol = 29
	ScatterpolarglMarkerSymbol29                      ScatterpolarglMarkerSymbol = "29"
	ScatterpolarglMarkerSymbolSquareCross             ScatterpolarglMarkerSymbol = "square-cross"
	ScatterpolarglMarkerSymbolNumber129               ScatterpolarglMarkerSymbol = 129
	ScatterpolarglMarkerSymbol129                     ScatterpolarglMarkerSymbol = "129"
	ScatterpolarglMarkerSymbolSquareCrossOpen         ScatterpolarglMarkerSymbol = "square-cross-open"
	ScatterpolarglMarkerSymbolNumber30                ScatterpolarglMarkerSymbol = 30
	ScatterpolarglMarkerSymbol30                      ScatterpolarglMarkerSymbol = "30"
	ScatterpolarglMarkerSymbolSquareX                 ScatterpolarglMarkerSymbol = "square-x"
	ScatterpolarglMarkerSymbolNumber130               ScatterpolarglMarkerSymbol = 130
	ScatterpolarglMarkerSymbol130                     ScatterpolarglMarkerSymbol = "130"
	ScatterpolarglMarkerSymbolSquareXOpen             ScatterpolarglMarkerSymbol = "square-x-open"
	ScatterpolarglMarkerSymbolNumber31                ScatterpolarglMarkerSymbol = 31
	ScatterpolarglMarkerSymbol31                      ScatterpolarglMarkerSymbol = "31"
	ScatterpolarglMarkerSymbolDiamondCross            ScatterpolarglMarkerSymbol = "diamond-cross"
	ScatterpolarglMarkerSymbolNumber131               ScatterpolarglMarkerSymbol = 131
	ScatterpolarglMarkerSymbol131                     ScatterpolarglMarkerSymbol = "131"
	ScatterpolarglMarkerSymbolDiamondCrossOpen        ScatterpolarglMarkerSymbol = "diamond-cross-open"
	ScatterpolarglMarkerSymbolNumber32                ScatterpolarglMarkerSymbol = 32
	ScatterpolarglMarkerSymbol32                      ScatterpolarglMarkerSymbol = "32"
	ScatterpolarglMarkerSymbolDiamondX                ScatterpolarglMarkerSymbol = "diamond-x"
	ScatterpolarglMarkerSymbolNumber132               ScatterpolarglMarkerSymbol = 132
	ScatterpolarglMarkerSymbol132                     ScatterpolarglMarkerSymbol = "132"
	ScatterpolarglMarkerSymbolDiamondXOpen            ScatterpolarglMarkerSymbol = "diamond-x-open"
	ScatterpolarglMarkerSymbolNumber33                ScatterpolarglMarkerSymbol = 33
	ScatterpolarglMarkerSymbol33                      ScatterpolarglMarkerSymbol = "33"
	ScatterpolarglMarkerSymbolCrossThin               ScatterpolarglMarkerSymbol = "cross-thin"
	ScatterpolarglMarkerSymbolNumber133               ScatterpolarglMarkerSymbol = 133
	ScatterpolarglMarkerSymbol133                     ScatterpolarglMarkerSymbol = "133"
	ScatterpolarglMarkerSymbolCrossThinOpen           ScatterpolarglMarkerSymbol = "cross-thin-open"
	ScatterpolarglMarkerSymbolNumber34                ScatterpolarglMarkerSymbol = 34
	ScatterpolarglMarkerSymbol34                      ScatterpolarglMarkerSymbol = "34"
	ScatterpolarglMarkerSymbolXThin                   ScatterpolarglMarkerSymbol = "x-thin"
	ScatterpolarglMarkerSymbolNumber134               ScatterpolarglMarkerSymbol = 134
	ScatterpolarglMarkerSymbol134                     ScatterpolarglMarkerSymbol = "134"
	ScatterpolarglMarkerSymbolXThinOpen               ScatterpolarglMarkerSymbol = "x-thin-open"
	ScatterpolarglMarkerSymbolNumber35                ScatterpolarglMarkerSymbol = 35
	ScatterpolarglMarkerSymbol35                      ScatterpolarglMarkerSymbol = "35"
	ScatterpolarglMarkerSymbolAsterisk                ScatterpolarglMarkerSymbol = "asterisk"
	ScatterpolarglMarkerSymbolNumber135               ScatterpolarglMarkerSymbol = 135
	ScatterpolarglMarkerSymbol135                     ScatterpolarglMarkerSymbol = "135"
	ScatterpolarglMarkerSymbolAsteriskOpen            ScatterpolarglMarkerSymbol = "asterisk-open"
	ScatterpolarglMarkerSymbolNumber36                ScatterpolarglMarkerSymbol = 36
	ScatterpolarglMarkerSymbol36                      ScatterpolarglMarkerSymbol = "36"
	ScatterpolarglMarkerSymbolHash                    ScatterpolarglMarkerSymbol = "hash"
	ScatterpolarglMarkerSymbolNumber136               ScatterpolarglMarkerSymbol = 136
	ScatterpolarglMarkerSymbol136                     ScatterpolarglMarkerSymbol = "136"
	ScatterpolarglMarkerSymbolHashOpen                ScatterpolarglMarkerSymbol = "hash-open"
	ScatterpolarglMarkerSymbolNumber236               ScatterpolarglMarkerSymbol = 236
	ScatterpolarglMarkerSymbol236                     ScatterpolarglMarkerSymbol = "236"
	ScatterpolarglMarkerSymbolHashDot                 ScatterpolarglMarkerSymbol = "hash-dot"
	ScatterpolarglMarkerSymbolNumber336               ScatterpolarglMarkerSymbol = 336
	ScatterpolarglMarkerSymbol336                     ScatterpolarglMarkerSymbol = "336"
	ScatterpolarglMarkerSymbolHashOpenDot             ScatterpolarglMarkerSymbol = "hash-open-dot"
	ScatterpolarglMarkerSymbolNumber37                ScatterpolarglMarkerSymbol = 37
	ScatterpolarglMarkerSymbol37                      ScatterpolarglMarkerSymbol = "37"
	ScatterpolarglMarkerSymbolYUp                     ScatterpolarglMarkerSymbol = "y-up"
	ScatterpolarglMarkerSymbolNumber137               ScatterpolarglMarkerSymbol = 137
	ScatterpolarglMarkerSymbol137                     ScatterpolarglMarkerSymbol = "137"
	ScatterpolarglMarkerSymbolYUpOpen                 ScatterpolarglMarkerSymbol = "y-up-open"
	ScatterpolarglMarkerSymbolNumber38                ScatterpolarglMarkerSymbol = 38
	ScatterpolarglMarkerSymbol38                      ScatterpolarglMarkerSymbol = "38"
	ScatterpolarglMarkerSymbolYDown                   ScatterpolarglMarkerSymbol = "y-down"
	ScatterpolarglMarkerSymbolNumber138               ScatterpolarglMarkerSymbol = 138
	ScatterpolarglMarkerSymbol138                     ScatterpolarglMarkerSymbol = "138"
	ScatterpolarglMarkerSymbolYDownOpen               ScatterpolarglMarkerSymbol = "y-down-open"
	ScatterpolarglMarkerSymbolNumber39                ScatterpolarglMarkerSymbol = 39
	ScatterpolarglMarkerSymbol39                      ScatterpolarglMarkerSymbol = "39"
	ScatterpolarglMarkerSymbolYLeft                   ScatterpolarglMarkerSymbol = "y-left"
	ScatterpolarglMarkerSymbolNumber139               ScatterpolarglMarkerSymbol = 139
	ScatterpolarglMarkerSymbol139                     ScatterpolarglMarkerSymbol = "139"
	ScatterpolarglMarkerSymbolYLeftOpen               ScatterpolarglMarkerSymbol = "y-left-open"
	ScatterpolarglMarkerSymbolNumber40                ScatterpolarglMarkerSymbol = 40
	ScatterpolarglMarkerSymbol40                      ScatterpolarglMarkerSymbol = "40"
	ScatterpolarglMarkerSymbolYRight                  ScatterpolarglMarkerSymbol = "y-right"
	ScatterpolarglMarkerSymbolNumber140               ScatterpolarglMarkerSymbol = 140
	ScatterpolarglMarkerSymbol140                     ScatterpolarglMarkerSymbol = "140"
	ScatterpolarglMarkerSymbolYRightOpen              ScatterpolarglMarkerSymbol = "y-right-open"
	ScatterpolarglMarkerSymbolNumber41                ScatterpolarglMarkerSymbol = 41
	ScatterpolarglMarkerSymbol41                      ScatterpolarglMarkerSymbol = "41"
	ScatterpolarglMarkerSymbolLineEw                  ScatterpolarglMarkerSymbol = "line-ew"
	ScatterpolarglMarkerSymbolNumber141               ScatterpolarglMarkerSymbol = 141
	ScatterpolarglMarkerSymbol141                     ScatterpolarglMarkerSymbol = "141"
	ScatterpolarglMarkerSymbolLineEwOpen              ScatterpolarglMarkerSymbol = "line-ew-open"
	ScatterpolarglMarkerSymbolNumber42                ScatterpolarglMarkerSymbol = 42
	ScatterpolarglMarkerSymbol42                      ScatterpolarglMarkerSymbol = "42"
	ScatterpolarglMarkerSymbolLineNs                  ScatterpolarglMarkerSymbol = "line-ns"
	ScatterpolarglMarkerSymbolNumber142               ScatterpolarglMarkerSymbol = 142
	ScatterpolarglMarkerSymbol142                     ScatterpolarglMarkerSymbol = "142"
	ScatterpolarglMarkerSymbolLineNsOpen              ScatterpolarglMarkerSymbol = "line-ns-open"
	ScatterpolarglMarkerSymbolNumber43                ScatterpolarglMarkerSymbol = 43
	ScatterpolarglMarkerSymbol43                      ScatterpolarglMarkerSymbol = "43"
	ScatterpolarglMarkerSymbolLineNe                  ScatterpolarglMarkerSymbol = "line-ne"
	ScatterpolarglMarkerSymbolNumber143               ScatterpolarglMarkerSymbol = 143
	ScatterpolarglMarkerSymbol143                     ScatterpolarglMarkerSymbol = "143"
	ScatterpolarglMarkerSymbolLineNeOpen              ScatterpolarglMarkerSymbol = "line-ne-open"
	ScatterpolarglMarkerSymbolNumber44                ScatterpolarglMarkerSymbol = 44
	ScatterpolarglMarkerSymbol44                      ScatterpolarglMarkerSymbol = "44"
	ScatterpolarglMarkerSymbolLineNw                  ScatterpolarglMarkerSymbol = "line-nw"
	ScatterpolarglMarkerSymbolNumber144               ScatterpolarglMarkerSymbol = 144
	ScatterpolarglMarkerSymbol144                     ScatterpolarglMarkerSymbol = "144"
	ScatterpolarglMarkerSymbolLineNwOpen              ScatterpolarglMarkerSymbol = "line-nw-open"
	ScatterpolarglMarkerSymbolNumber45                ScatterpolarglMarkerSymbol = 45
	ScatterpolarglMarkerSymbol45                      ScatterpolarglMarkerSymbol = "45"
	ScatterpolarglMarkerSymbolArrowUp                 ScatterpolarglMarkerSymbol = "arrow-up"
	ScatterpolarglMarkerSymbolNumber145               ScatterpolarglMarkerSymbol = 145
	ScatterpolarglMarkerSymbol145                     ScatterpolarglMarkerSymbol = "145"
	ScatterpolarglMarkerSymbolArrowUpOpen             ScatterpolarglMarkerSymbol = "arrow-up-open"
	ScatterpolarglMarkerSymbolNumber46                ScatterpolarglMarkerSymbol = 46
	ScatterpolarglMarkerSymbol46                      ScatterpolarglMarkerSymbol = "46"
	ScatterpolarglMarkerSymbolArrowDown               ScatterpolarglMarkerSymbol = "arrow-down"
	ScatterpolarglMarkerSymbolNumber146               ScatterpolarglMarkerSymbol = 146
	ScatterpolarglMarkerSymbol146                     ScatterpolarglMarkerSymbol = "146"
	ScatterpolarglMarkerSymbolArrowDownOpen           ScatterpolarglMarkerSymbol = "arrow-down-open"
	ScatterpolarglMarkerSymbolNumber47                ScatterpolarglMarkerSymbol = 47
	ScatterpolarglMarkerSymbol47                      ScatterpolarglMarkerSymbol = "47"
	ScatterpolarglMarkerSymbolArrowLeft               ScatterpolarglMarkerSymbol = "arrow-left"
	ScatterpolarglMarkerSymbolNumber147               ScatterpolarglMarkerSymbol = 147
	ScatterpolarglMarkerSymbol147                     ScatterpolarglMarkerSymbol = "147"
	ScatterpolarglMarkerSymbolArrowLeftOpen           ScatterpolarglMarkerSymbol = "arrow-left-open"
	ScatterpolarglMarkerSymbolNumber48                ScatterpolarglMarkerSymbol = 48
	ScatterpolarglMarkerSymbol48                      ScatterpolarglMarkerSymbol = "48"
	ScatterpolarglMarkerSymbolArrowRight              ScatterpolarglMarkerSymbol = "arrow-right"
	ScatterpolarglMarkerSymbolNumber148               ScatterpolarglMarkerSymbol = 148
	ScatterpolarglMarkerSymbol148                     ScatterpolarglMarkerSymbol = "148"
	ScatterpolarglMarkerSymbolArrowRightOpen          ScatterpolarglMarkerSymbol = "arrow-right-open"
	ScatterpolarglMarkerSymbolNumber49                ScatterpolarglMarkerSymbol = 49
	ScatterpolarglMarkerSymbol49                      ScatterpolarglMarkerSymbol = "49"
	ScatterpolarglMarkerSymbolArrowBarUp              ScatterpolarglMarkerSymbol = "arrow-bar-up"
	ScatterpolarglMarkerSymbolNumber149               ScatterpolarglMarkerSymbol = 149
	ScatterpolarglMarkerSymbol149                     ScatterpolarglMarkerSymbol = "149"
	ScatterpolarglMarkerSymbolArrowBarUpOpen          ScatterpolarglMarkerSymbol = "arrow-bar-up-open"
	ScatterpolarglMarkerSymbolNumber50                ScatterpolarglMarkerSymbol = 50
	ScatterpolarglMarkerSymbol50                      ScatterpolarglMarkerSymbol = "50"
	ScatterpolarglMarkerSymbolArrowBarDown            ScatterpolarglMarkerSymbol = "arrow-bar-down"
	ScatterpolarglMarkerSymbolNumber150               ScatterpolarglMarkerSymbol = 150
	ScatterpolarglMarkerSymbol150                     ScatterpolarglMarkerSymbol = "150"
	ScatterpolarglMarkerSymbolArrowBarDownOpen        ScatterpolarglMarkerSymbol = "arrow-bar-down-open"
	ScatterpolarglMarkerSymbolNumber51                ScatterpolarglMarkerSymbol = 51
	ScatterpolarglMarkerSymbol51                      ScatterpolarglMarkerSymbol = "51"
	ScatterpolarglMarkerSymbolArrowBarLeft            ScatterpolarglMarkerSymbol = "arrow-bar-left"
	ScatterpolarglMarkerSymbolNumber151               ScatterpolarglMarkerSymbol = 151
	ScatterpolarglMarkerSymbol151                     ScatterpolarglMarkerSymbol = "151"
	ScatterpolarglMarkerSymbolArrowBarLeftOpen        ScatterpolarglMarkerSymbol = "arrow-bar-left-open"
	ScatterpolarglMarkerSymbolNumber52                ScatterpolarglMarkerSymbol = 52
	ScatterpolarglMarkerSymbol52                      ScatterpolarglMarkerSymbol = "52"
	ScatterpolarglMarkerSymbolArrowBarRight           ScatterpolarglMarkerSymbol = "arrow-bar-right"
	ScatterpolarglMarkerSymbolNumber152               ScatterpolarglMarkerSymbol = 152
	ScatterpolarglMarkerSymbol152                     ScatterpolarglMarkerSymbol = "152"
	ScatterpolarglMarkerSymbolArrowBarRightOpen       ScatterpolarglMarkerSymbol = "arrow-bar-right-open"
)

type ScatterpolarglMode

type ScatterpolarglMode string

ScatterpolarglMode Determines the drawing mode for this scatter trace. If the provided `mode` includes *text* then the `text` elements appear at the coordinates. Otherwise, the `text` elements appear on hover. If there are less than 20 points and the trace is not stacked then the default is *lines+markers*. Otherwise, *lines*.

const (
	// Flags
	ScatterpolarglModeLines   ScatterpolarglMode = "lines"
	ScatterpolarglModeMarkers ScatterpolarglMode = "markers"
	ScatterpolarglModeText    ScatterpolarglMode = "text"

	// Extra
	ScatterpolarglModeNone ScatterpolarglMode = "none"
)

type ScatterpolarglSelected

type ScatterpolarglSelected struct {

	// Marker
	// role: Object
	Marker *ScatterpolarglSelectedMarker `json:"marker,omitempty"`

	// Textfont
	// role: Object
	Textfont *ScatterpolarglSelectedTextfont `json:"textfont,omitempty"`
}

ScatterpolarglSelected

type ScatterpolarglSelectedMarker

type ScatterpolarglSelectedMarker struct {

	// Color
	// arrayOK: false
	// type: color
	// Sets the marker color of selected points.
	Color Color `json:"color,omitempty"`

	// Opacity
	// arrayOK: false
	// type: number
	// Sets the marker opacity of selected points.
	Opacity float64 `json:"opacity,omitempty"`

	// Size
	// arrayOK: false
	// type: number
	// Sets the marker size of selected points.
	Size float64 `json:"size,omitempty"`
}

ScatterpolarglSelectedMarker

type ScatterpolarglSelectedTextfont

type ScatterpolarglSelectedTextfont struct {

	// Color
	// arrayOK: false
	// type: color
	// Sets the text font color of selected points.
	Color Color `json:"color,omitempty"`
}

ScatterpolarglSelectedTextfont

type ScatterpolarglStream

type ScatterpolarglStream struct {

	// Maxpoints
	// arrayOK: false
	// type: number
	// Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot.
	Maxpoints float64 `json:"maxpoints,omitempty"`

	// Token
	// arrayOK: false
	// type: string
	// The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details.
	Token String `json:"token,omitempty"`
}

ScatterpolarglStream

type ScatterpolarglTextfont

type ScatterpolarglTextfont struct {

	// Color
	// arrayOK: true
	// type: color
	//
	Color Color `json:"color,omitempty"`

	// Colorsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  color .
	Colorsrc String `json:"colorsrc,omitempty"`

	// Family
	// arrayOK: true
	// type: string
	// HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.
	Family String `json:"family,omitempty"`

	// Familysrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  family .
	Familysrc String `json:"familysrc,omitempty"`

	// Size
	// arrayOK: true
	// type: number
	//
	Size float64 `json:"size,omitempty"`

	// Sizesrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  size .
	Sizesrc String `json:"sizesrc,omitempty"`
}

ScatterpolarglTextfont Sets the text font.

type ScatterpolarglTextposition

type ScatterpolarglTextposition string

ScatterpolarglTextposition Sets the positions of the `text` elements with respects to the (x,y) coordinates.

const (
	ScatterpolarglTextpositionTopLeft      ScatterpolarglTextposition = "top left"
	ScatterpolarglTextpositionTopCenter    ScatterpolarglTextposition = "top center"
	ScatterpolarglTextpositionTopRight     ScatterpolarglTextposition = "top right"
	ScatterpolarglTextpositionMiddleLeft   ScatterpolarglTextposition = "middle left"
	ScatterpolarglTextpositionMiddleCenter ScatterpolarglTextposition = "middle center"
	ScatterpolarglTextpositionMiddleRight  ScatterpolarglTextposition = "middle right"
	ScatterpolarglTextpositionBottomLeft   ScatterpolarglTextposition = "bottom left"
	ScatterpolarglTextpositionBottomCenter ScatterpolarglTextposition = "bottom center"
	ScatterpolarglTextpositionBottomRight  ScatterpolarglTextposition = "bottom right"
)

type ScatterpolarglThetaunit

type ScatterpolarglThetaunit string

ScatterpolarglThetaunit Sets the unit of input *theta* values. Has an effect only when on *linear* angular axes.

const (
	ScatterpolarglThetaunitRadians  ScatterpolarglThetaunit = "radians"
	ScatterpolarglThetaunitDegrees  ScatterpolarglThetaunit = "degrees"
	ScatterpolarglThetaunitGradians ScatterpolarglThetaunit = "gradians"
)

type ScatterpolarglUnselected

type ScatterpolarglUnselected struct {

	// Marker
	// role: Object
	Marker *ScatterpolarglUnselectedMarker `json:"marker,omitempty"`

	// Textfont
	// role: Object
	Textfont *ScatterpolarglUnselectedTextfont `json:"textfont,omitempty"`
}

ScatterpolarglUnselected

type ScatterpolarglUnselectedMarker

type ScatterpolarglUnselectedMarker struct {

	// Color
	// arrayOK: false
	// type: color
	// Sets the marker color of unselected points, applied only when a selection exists.
	Color Color `json:"color,omitempty"`

	// Opacity
	// arrayOK: false
	// type: number
	// Sets the marker opacity of unselected points, applied only when a selection exists.
	Opacity float64 `json:"opacity,omitempty"`

	// Size
	// arrayOK: false
	// type: number
	// Sets the marker size of unselected points, applied only when a selection exists.
	Size float64 `json:"size,omitempty"`
}

ScatterpolarglUnselectedMarker

type ScatterpolarglUnselectedTextfont

type ScatterpolarglUnselectedTextfont struct {

	// Color
	// arrayOK: false
	// type: color
	// Sets the text font color of unselected points, applied only when a selection exists.
	Color Color `json:"color,omitempty"`
}

ScatterpolarglUnselectedTextfont

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 (
	ScatterpolarglVisibleTrue       ScatterpolarglVisible = true
	ScatterpolarglVisibleFalse      ScatterpolarglVisible = false
	ScatterpolarglVisibleLegendonly ScatterpolarglVisible = "legendonly"
)

type Scatterternary

type Scatterternary struct {

	// Type
	// is the type of the plot
	Type TraceType `json:"type,omitempty"`

	// A
	// arrayOK: false
	// type: data_array
	// Sets the quantity of component `a` in each data point. If `a`, `b`, and `c` are all provided, they need not be normalized, only the relative values matter. If only two arrays are provided they must be normalized to match `ternary<i>.sum`.
	A interface{} `json:"a,omitempty"`

	// Asrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  a .
	Asrc String `json:"asrc,omitempty"`

	// B
	// arrayOK: false
	// type: data_array
	// Sets the quantity of component `a` in each data point. If `a`, `b`, and `c` are all provided, they need not be normalized, only the relative values matter. If only two arrays are provided they must be normalized to match `ternary<i>.sum`.
	B interface{} `json:"b,omitempty"`

	// Bsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  b .
	Bsrc String `json:"bsrc,omitempty"`

	// C
	// arrayOK: false
	// type: data_array
	// Sets the quantity of component `a` in each data point. If `a`, `b`, and `c` are all provided, they need not be normalized, only the relative values matter. If only two arrays are provided they must be normalized to match `ternary<i>.sum`.
	C interface{} `json:"c,omitempty"`

	// Cliponaxis
	// arrayOK: false
	// type: boolean
	// Determines whether or not markers and text nodes are clipped about the subplot axes. To show markers and text nodes above axis lines and tick labels, make sure to set `xaxis.layer` and `yaxis.layer` to *below traces*.
	Cliponaxis Bool `json:"cliponaxis,omitempty"`

	// Connectgaps
	// arrayOK: false
	// type: boolean
	// Determines whether or not gaps (i.e. {nan} or missing values) in the provided data arrays are connected.
	Connectgaps Bool `json:"connectgaps,omitempty"`

	// Csrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  c .
	Csrc String `json:"csrc,omitempty"`

	// Customdata
	// arrayOK: false
	// type: data_array
	// Assigns extra data each datum. This may be useful when listening to hover, click and selection events. Note that, *scatter* traces also appends customdata items in the markers DOM elements
	Customdata interface{} `json:"customdata,omitempty"`

	// Customdatasrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  customdata .
	Customdatasrc String `json:"customdatasrc,omitempty"`

	// Fill
	// default: none
	// type: enumerated
	// Sets the area to fill with a solid color. Use with `fillcolor` if not *none*. scatterternary has a subset of the options available to scatter. *toself* connects the endpoints of the trace (or each segment of the trace if it has gaps) into a closed shape. *tonext* fills the space between two traces if one completely encloses the other (eg consecutive contour lines), and behaves like *toself* if there is no trace before it. *tonext* should not be used if one trace does not enclose the other.
	Fill ScatterternaryFill `json:"fill,omitempty"`

	// Fillcolor
	// arrayOK: false
	// type: color
	// Sets the fill color. Defaults to a half-transparent variant of the line color, marker color, or marker line color, whichever is available.
	Fillcolor Color `json:"fillcolor,omitempty"`

	// Hoverinfo
	// default: all
	// type: flaglist
	// Determines which trace information appear on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired.
	Hoverinfo ScatterternaryHoverinfo `json:"hoverinfo,omitempty"`

	// Hoverinfosrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  hoverinfo .
	Hoverinfosrc String `json:"hoverinfosrc,omitempty"`

	// Hoverlabel
	// role: Object
	Hoverlabel *ScatterternaryHoverlabel `json:"hoverlabel,omitempty"`

	// Hoveron
	// default: %!s(<nil>)
	// type: flaglist
	// Do the hover effects highlight individual points (markers or line points) or do they highlight filled regions? If the fill is *toself* or *tonext* and there are no markers or text, then the default is *fills*, otherwise it is *points*.
	Hoveron ScatterternaryHoveron `json:"hoveron,omitempty"`

	// Hovertemplate
	// arrayOK: true
	// type: string
	// Template string used for rendering the information that appear on hover box. Note that this will override `hoverinfo`. Variables are inserted using %{variable}, for example "y: %{y}". 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 String `json:"hovertemplate,omitempty"`

	// Hovertemplatesrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  hovertemplate .
	Hovertemplatesrc String `json:"hovertemplatesrc,omitempty"`

	// Hovertext
	// arrayOK: true
	// type: string
	// Sets hover text elements associated with each (a,b,c) point. If a single string, the same string appears over all the data points. If an array of strings, the items are mapped in order to the the data points in (a,b,c). To be seen, trace `hoverinfo` must contain a *text* flag.
	Hovertext String `json:"hovertext,omitempty"`

	// Hovertextsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  hovertext .
	Hovertextsrc String `json:"hovertextsrc,omitempty"`

	// Ids
	// arrayOK: false
	// type: data_array
	// Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type.
	Ids interface{} `json:"ids,omitempty"`

	// Idssrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  ids .
	Idssrc String `json:"idssrc,omitempty"`

	// Legendgroup
	// arrayOK: false
	// type: string
	// Sets the legend group for this trace. Traces part of the same legend group hide/show at the same time when toggling legend items.
	Legendgroup String `json:"legendgroup,omitempty"`

	// Line
	// role: Object
	Line *ScatterternaryLine `json:"line,omitempty"`

	// Marker
	// role: Object
	Marker *ScatterternaryMarker `json:"marker,omitempty"`

	// Meta
	// arrayOK: true
	// type: any
	// Assigns extra meta information associated with this trace that can be used in various text attributes. Attributes such as trace `name`, graph, axis and colorbar `title.text`, annotation `text` `rangeselector`, `updatemenues` and `sliders` `label` text all support `meta`. To access the trace `meta` values in an attribute in the same trace, simply use `%{meta[i]}` where `i` is the index or key of the `meta` item in question. To access trace `meta` in layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index.
	Meta interface{} `json:"meta,omitempty"`

	// Metasrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  meta .
	Metasrc String `json:"metasrc,omitempty"`

	// Mode
	// default: markers
	// type: flaglist
	// Determines the drawing mode for this scatter trace. If the provided `mode` includes *text* then the `text` elements appear at the coordinates. Otherwise, the `text` elements appear on hover. If there are less than 20 points and the trace is not stacked then the default is *lines+markers*. Otherwise, *lines*.
	Mode ScatterternaryMode `json:"mode,omitempty"`

	// Name
	// arrayOK: false
	// type: string
	// Sets the trace name. The trace name appear as the legend item and on hover.
	Name String `json:"name,omitempty"`

	// Opacity
	// arrayOK: false
	// type: number
	// Sets the opacity of the trace.
	Opacity float64 `json:"opacity,omitempty"`

	// Selected
	// role: Object
	Selected *ScatterternarySelected `json:"selected,omitempty"`

	// Selectedpoints
	// arrayOK: false
	// type: any
	// Array containing integer indices of selected points. Has an effect only for traces that support selections. Note that an empty array means an empty selection where the `unselected` are turned on for all points, whereas, any other non-array values means no selection all where the `selected` and `unselected` styles have no effect.
	Selectedpoints interface{} `json:"selectedpoints,omitempty"`

	// Showlegend
	// arrayOK: false
	// type: boolean
	// Determines whether or not an item corresponding to this trace is shown in the legend.
	Showlegend Bool `json:"showlegend,omitempty"`

	// Stream
	// role: Object
	Stream *ScatterternaryStream `json:"stream,omitempty"`

	// Subplot
	// arrayOK: false
	// type: subplotid
	// Sets a reference between this trace's data coordinates and a ternary subplot. If *ternary* (the default value), the data refer to `layout.ternary`. If *ternary2*, the data refer to `layout.ternary2`, and so on.
	Subplot String `json:"subplot,omitempty"`

	// Sum
	// arrayOK: false
	// type: number
	// The number each triplet should sum to, if only two of `a`, `b`, and `c` are provided. This overrides `ternary<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
	// arrayOK: true
	// type: string
	// Sets text elements associated with each (a,b,c) point. If a single string, the same string appears over all the data points. If an array of strings, the items are mapped in order to the the data points in (a,b,c). If trace `hoverinfo` contains a *text* flag and *hovertext* is not set, these elements will be seen in the hover labels.
	Text String `json:"text,omitempty"`

	// Textfont
	// role: Object
	Textfont *ScatterternaryTextfont `json:"textfont,omitempty"`

	// Textposition
	// default: middle center
	// type: enumerated
	// Sets the positions of the `text` elements with respects to the (x,y) coordinates.
	Textposition ScatterternaryTextposition `json:"textposition,omitempty"`

	// Textpositionsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  textposition .
	Textpositionsrc String `json:"textpositionsrc,omitempty"`

	// Textsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  text .
	Textsrc String `json:"textsrc,omitempty"`

	// Texttemplate
	// arrayOK: true
	// type: string
	// Template string used for rendering the information text that appear on points. Note that this will override `textinfo`. Variables are inserted using %{variable}, for example "y: %{y}". Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example "Price: %{y:$.2f}". https://github.com/d3/d3-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 String `json:"texttemplate,omitempty"`

	// Texttemplatesrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  texttemplate .
	Texttemplatesrc String `json:"texttemplatesrc,omitempty"`

	// Transforms
	// It's an items array and what goes inside it's... messy... check the docs
	// I will be happy if you want to contribute by implementing this
	// just raise an issue before you start so we do not overlap
	Transforms interface{} `json:"transforms,omitempty"`

	// Uid
	// arrayOK: false
	// type: string
	// Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.
	Uid String `json:"uid,omitempty"`

	// Uirevision
	// arrayOK: false
	// type: any
	// Controls persistence of some user-driven changes to the trace: `constraintrange` in `parcoords` traces, as well as some `editable: true` modifications such as `name` and `colorbar.title`. Defaults to `layout.uirevision`. Note that other user-driven trace attribute changes are controlled by `layout` attributes: `trace.visible` is controlled by `layout.legend.uirevision`, `selectedpoints` is controlled by `layout.selectionrevision`, and `colorbar.(x|y)` (accessible with `config: {editable: true}`) is controlled by `layout.editrevision`. Trace changes are tracked by `uid`, which only falls back on trace index if no `uid` is provided. So if your app can add/remove traces before the end of the `data` array, such that the same trace has a different index, you can still preserve user-driven changes if you give each trace a `uid` that stays with it as it moves.
	Uirevision interface{} `json:"uirevision,omitempty"`

	// Unselected
	// role: Object
	Unselected *ScatterternaryUnselected `json:"unselected,omitempty"`

	// Visible
	// default: %!s(bool=true)
	// type: enumerated
	// Determines whether or not this trace is visible. If *legendonly*, the trace is not drawn, but can appear as a legend item (provided that the legend itself is visible).
	Visible ScatterternaryVisible `json:"visible,omitempty"`
}

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 (*Scatterternary) GetType

func (trace *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 (
	ScatterternaryFillNone   ScatterternaryFill = "none"
	ScatterternaryFillToself ScatterternaryFill = "toself"
	ScatterternaryFillTonext ScatterternaryFill = "tonext"
)

type ScatterternaryHoverinfo

type ScatterternaryHoverinfo string

ScatterternaryHoverinfo Determines which trace information appear on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired.

const (
	// Flags
	ScatterternaryHoverinfoA    ScatterternaryHoverinfo = "a"
	ScatterternaryHoverinfoB    ScatterternaryHoverinfo = "b"
	ScatterternaryHoverinfoC    ScatterternaryHoverinfo = "c"
	ScatterternaryHoverinfoText ScatterternaryHoverinfo = "text"
	ScatterternaryHoverinfoName ScatterternaryHoverinfo = "name"

	// Extra
	ScatterternaryHoverinfoAll  ScatterternaryHoverinfo = "all"
	ScatterternaryHoverinfoNone ScatterternaryHoverinfo = "none"
	ScatterternaryHoverinfoSkip ScatterternaryHoverinfo = "skip"
)

type ScatterternaryHoverlabel

type ScatterternaryHoverlabel struct {

	// Align
	// default: auto
	// type: enumerated
	// Sets the horizontal alignment of the text content within hover label box. Has an effect only if the hover label text spans more two or more lines
	Align ScatterternaryHoverlabelAlign `json:"align,omitempty"`

	// Alignsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  align .
	Alignsrc String `json:"alignsrc,omitempty"`

	// Bgcolor
	// arrayOK: true
	// type: color
	// Sets the background color of the hover labels for this trace
	Bgcolor Color `json:"bgcolor,omitempty"`

	// Bgcolorsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  bgcolor .
	Bgcolorsrc String `json:"bgcolorsrc,omitempty"`

	// Bordercolor
	// arrayOK: true
	// type: color
	// Sets the border color of the hover labels for this trace.
	Bordercolor Color `json:"bordercolor,omitempty"`

	// Bordercolorsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  bordercolor .
	Bordercolorsrc String `json:"bordercolorsrc,omitempty"`

	// Font
	// role: Object
	Font *ScatterternaryHoverlabelFont `json:"font,omitempty"`

	// Namelength
	// arrayOK: true
	// type: integer
	// Sets the default length (in number of characters) of the trace name in the hover labels for all traces. -1 shows the whole name regardless of length. 0-3 shows the first 0-3 characters, and an integer >3 will show the whole name if it is less than that many characters, but if it is longer, will truncate to `namelength - 3` characters and add an ellipsis.
	Namelength int64 `json:"namelength,omitempty"`

	// Namelengthsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  namelength .
	Namelengthsrc String `json:"namelengthsrc,omitempty"`
}

ScatterternaryHoverlabel

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 (
	ScatterternaryHoverlabelAlignLeft  ScatterternaryHoverlabelAlign = "left"
	ScatterternaryHoverlabelAlignRight ScatterternaryHoverlabelAlign = "right"
	ScatterternaryHoverlabelAlignAuto  ScatterternaryHoverlabelAlign = "auto"
)

type ScatterternaryHoverlabelFont

type ScatterternaryHoverlabelFont struct {

	// Color
	// arrayOK: true
	// type: color
	//
	Color Color `json:"color,omitempty"`

	// Colorsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  color .
	Colorsrc String `json:"colorsrc,omitempty"`

	// Family
	// arrayOK: true
	// type: string
	// HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.
	Family String `json:"family,omitempty"`

	// Familysrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  family .
	Familysrc String `json:"familysrc,omitempty"`

	// Size
	// arrayOK: true
	// type: number
	//
	Size float64 `json:"size,omitempty"`

	// Sizesrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  size .
	Sizesrc String `json:"sizesrc,omitempty"`
}

ScatterternaryHoverlabelFont Sets the font used in hover labels.

type ScatterternaryHoveron

type ScatterternaryHoveron string

ScatterternaryHoveron Do the hover effects highlight individual points (markers or line points) or do they highlight filled regions? If the fill is *toself* or *tonext* and there are no markers or text, then the default is *fills*, otherwise it is *points*.

const (
	// Flags
	ScatterternaryHoveronPoints ScatterternaryHoveron = "points"
	ScatterternaryHoveronFills  ScatterternaryHoveron = "fills"
)

type ScatterternaryLine

type ScatterternaryLine struct {

	// Color
	// arrayOK: false
	// type: color
	// Sets the line color.
	Color Color `json:"color,omitempty"`

	// Dash
	// arrayOK: false
	// type: string
	// Sets the dash style of lines. Set to a dash type string (*solid*, *dot*, *dash*, *longdash*, *dashdot*, or *longdashdot*) or a dash length list in px (eg *5px,10px,2px,2px*).
	Dash String `json:"dash,omitempty"`

	// Shape
	// default: linear
	// type: enumerated
	// Determines the line shape. With *spline* the lines are drawn using spline interpolation. The other available values correspond to step-wise line shapes.
	Shape ScatterternaryLineShape `json:"shape,omitempty"`

	// Smoothing
	// arrayOK: false
	// type: number
	// Has an effect only if `shape` is set to *spline* Sets the amount of smoothing. *0* corresponds to no smoothing (equivalent to a *linear* shape).
	Smoothing float64 `json:"smoothing,omitempty"`

	// Width
	// arrayOK: false
	// type: number
	// Sets the line width (in px).
	Width float64 `json:"width,omitempty"`
}

ScatterternaryLine

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 (
	ScatterternaryLineShapeLinear ScatterternaryLineShape = "linear"
	ScatterternaryLineShapeSpline ScatterternaryLineShape = "spline"
)

type ScatterternaryMarker

type ScatterternaryMarker struct {

	// Autocolorscale
	// arrayOK: false
	// type: boolean
	// Determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by `marker.colorscale`. Has an effect only if in `marker.color`is set to a numerical array. In case `colorscale` is unspecified or `autocolorscale` is true, the default  palette will be chosen according to whether numbers in the `color` array are all positive, all negative or mixed.
	Autocolorscale Bool `json:"autocolorscale,omitempty"`

	// Cauto
	// arrayOK: false
	// type: boolean
	// Determines whether or not the color domain is computed with respect to the input data (here in `marker.color`) or the bounds set in `marker.cmin` and `marker.cmax`  Has an effect only if in `marker.color`is set to a numerical array. Defaults to `false` when `marker.cmin` and `marker.cmax` are set by the user.
	Cauto Bool `json:"cauto,omitempty"`

	// Cmax
	// arrayOK: false
	// type: number
	// Sets the upper bound of the color domain. Has an effect only if in `marker.color`is set to a numerical array. Value should have the same units as in `marker.color` and if set, `marker.cmin` must be set as well.
	Cmax float64 `json:"cmax,omitempty"`

	// Cmid
	// arrayOK: false
	// type: number
	// Sets the mid-point of the color domain by scaling `marker.cmin` and/or `marker.cmax` to be equidistant to this point. Has an effect only if in `marker.color`is set to a numerical array. Value should have the same units as in `marker.color`. Has no effect when `marker.cauto` is `false`.
	Cmid float64 `json:"cmid,omitempty"`

	// Cmin
	// arrayOK: false
	// type: number
	// Sets the lower bound of the color domain. Has an effect only if in `marker.color`is set to a numerical array. Value should have the same units as in `marker.color` and if set, `marker.cmax` must be set as well.
	Cmin float64 `json:"cmin,omitempty"`

	// Color
	// arrayOK: true
	// type: color
	// Sets themarkercolor. It accepts either a specific color or an array of numbers that are mapped to the colorscale relative to the max and min values of the array or relative to `marker.cmin` and `marker.cmax` if set.
	Color Color `json:"color,omitempty"`

	// Coloraxis
	// arrayOK: false
	// type: subplotid
	// Sets a reference to a shared color axis. References to these shared color axes are *coloraxis*, *coloraxis2*, *coloraxis3*, etc. Settings for these shared color axes are set in the layout, under `layout.coloraxis`, `layout.coloraxis2`, etc. Note that multiple color scales can be linked to the same color axis.
	Coloraxis String `json:"coloraxis,omitempty"`

	// Colorbar
	// role: Object
	Colorbar *ScatterternaryMarkerColorbar `json:"colorbar,omitempty"`

	// Colorscale
	// default: %!s(<nil>)
	// type: colorscale
	// Sets the colorscale. Has an effect only if in `marker.color`is set to a numerical array. The colorscale must be an array containing arrays mapping a normalized value to an rgb, rgba, hex, hsl, hsv, or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, use`marker.cmin` and `marker.cmax`. Alternatively, `colorscale` may be a palette name string of the following list: Greys,YlGnBu,Greens,YlOrRd,Bluered,RdBu,Reds,Blues,Picnic,Rainbow,Portland,Jet,Hot,Blackbody,Earth,Electric,Viridis,Cividis.
	Colorscale ColorScale `json:"colorscale,omitempty"`

	// Colorsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  color .
	Colorsrc String `json:"colorsrc,omitempty"`

	// Gradient
	// role: Object
	Gradient *ScatterternaryMarkerGradient `json:"gradient,omitempty"`

	// Line
	// role: Object
	Line *ScatterternaryMarkerLine `json:"line,omitempty"`

	// Maxdisplayed
	// arrayOK: false
	// type: number
	// Sets a maximum number of points to be drawn on the graph. *0* corresponds to no limit.
	Maxdisplayed float64 `json:"maxdisplayed,omitempty"`

	// Opacity
	// arrayOK: true
	// type: number
	// Sets the marker opacity.
	Opacity float64 `json:"opacity,omitempty"`

	// Opacitysrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  opacity .
	Opacitysrc String `json:"opacitysrc,omitempty"`

	// Reversescale
	// arrayOK: false
	// type: boolean
	// Reverses the color mapping if true. Has an effect only if in `marker.color`is set to a numerical array. If true, `marker.cmin` will correspond to the last color in the array and `marker.cmax` will correspond to the first color.
	Reversescale Bool `json:"reversescale,omitempty"`

	// Showscale
	// arrayOK: false
	// type: boolean
	// Determines whether or not a colorbar is displayed for this trace. Has an effect only if in `marker.color`is set to a numerical array.
	Showscale Bool `json:"showscale,omitempty"`

	// Size
	// arrayOK: true
	// type: number
	// Sets the marker size (in px).
	Size float64 `json:"size,omitempty"`

	// Sizemin
	// arrayOK: false
	// type: number
	// Has an effect only if `marker.size` is set to a numerical array. Sets the minimum size (in px) of the rendered marker points.
	Sizemin float64 `json:"sizemin,omitempty"`

	// Sizemode
	// default: diameter
	// type: enumerated
	// Has an effect only if `marker.size` is set to a numerical array. Sets the rule for which the data in `size` is converted to pixels.
	Sizemode ScatterternaryMarkerSizemode `json:"sizemode,omitempty"`

	// Sizeref
	// arrayOK: false
	// type: number
	// Has an effect only if `marker.size` is set to a numerical array. Sets the scale factor used to determine the rendered size of marker points. Use with `sizemin` and `sizemode`.
	Sizeref float64 `json:"sizeref,omitempty"`

	// Sizesrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  size .
	Sizesrc String `json:"sizesrc,omitempty"`

	// Symbol
	// default: circle
	// type: enumerated
	// Sets the marker symbol type. Adding 100 is equivalent to appending *-open* to a symbol name. Adding 200 is equivalent to appending *-dot* to a symbol name. Adding 300 is equivalent to appending *-open-dot* or *dot-open* to a symbol name.
	Symbol ScatterternaryMarkerSymbol `json:"symbol,omitempty"`

	// Symbolsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  symbol .
	Symbolsrc String `json:"symbolsrc,omitempty"`
}

ScatterternaryMarker

type ScatterternaryMarkerColorbar

type ScatterternaryMarkerColorbar struct {

	// Bgcolor
	// arrayOK: false
	// type: color
	// Sets the color of padded area.
	Bgcolor Color `json:"bgcolor,omitempty"`

	// Bordercolor
	// arrayOK: false
	// type: color
	// Sets the axis line color.
	Bordercolor Color `json:"bordercolor,omitempty"`

	// Borderwidth
	// arrayOK: false
	// type: number
	// Sets the width (in px) or the border enclosing this color bar.
	Borderwidth float64 `json:"borderwidth,omitempty"`

	// Dtick
	// arrayOK: false
	// type: any
	// Sets the step in-between ticks on this axis. Use with `tick0`. Must be a positive number, or special strings available to *log* and *date* axes. If the axis `type` is *log*, then ticks are set every 10^(n*dtick) where n is the tick number. For example, to set a tick mark at 1, 10, 100, 1000, ... set dtick to 1. To set tick marks at 1, 100, 10000, ... set dtick to 2. To set tick marks at 1, 5, 25, 125, 625, 3125, ... set dtick to log_10(5), or 0.69897000433. *log* has several special values; *L<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
	// default: B
	// type: enumerated
	// Determines a formatting rule for the tick exponents. For example, consider the number 1,000,000,000. If *none*, it appears as 1,000,000,000. If *e*, 1e+9. If *E*, 1E+9. If *power*, 1x10^9 (with 9 in a super script). If *SI*, 1G. If *B*, 1B.
	Exponentformat ScatterternaryMarkerColorbarExponentformat `json:"exponentformat,omitempty"`

	// Len
	// arrayOK: false
	// type: number
	// Sets the length of the color bar This measure excludes the padding of both ends. That is, the color bar length is this length minus the padding on both ends.
	Len float64 `json:"len,omitempty"`

	// Lenmode
	// default: fraction
	// type: enumerated
	// Determines whether this color bar's length (i.e. the measure in the color variation direction) is set in units of plot *fraction* or in *pixels. Use `len` to set the value.
	Lenmode ScatterternaryMarkerColorbarLenmode `json:"lenmode,omitempty"`

	// Minexponent
	// arrayOK: false
	// type: number
	// Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*.
	Minexponent float64 `json:"minexponent,omitempty"`

	// Nticks
	// arrayOK: false
	// type: integer
	// Specifies the maximum number of ticks for the particular axis. The actual number of ticks will be chosen automatically to be less than or equal to `nticks`. Has an effect only if `tickmode` is set to *auto*.
	Nticks int64 `json:"nticks,omitempty"`

	// Outlinecolor
	// arrayOK: false
	// type: color
	// Sets the axis line color.
	Outlinecolor Color `json:"outlinecolor,omitempty"`

	// Outlinewidth
	// arrayOK: false
	// type: number
	// Sets the width (in px) of the axis line.
	Outlinewidth float64 `json:"outlinewidth,omitempty"`

	// Separatethousands
	// arrayOK: false
	// type: boolean
	// If "true", even 4-digit integers are separated
	Separatethousands Bool `json:"separatethousands,omitempty"`

	// Showexponent
	// default: all
	// type: enumerated
	// If *all*, all exponents are shown besides their significands. If *first*, only the exponent of the first tick is shown. If *last*, only the exponent of the last tick is shown. If *none*, no exponents appear.
	Showexponent ScatterternaryMarkerColorbarShowexponent `json:"showexponent,omitempty"`

	// Showticklabels
	// arrayOK: false
	// type: boolean
	// Determines whether or not the tick labels are drawn.
	Showticklabels Bool `json:"showticklabels,omitempty"`

	// Showtickprefix
	// default: all
	// type: enumerated
	// If *all*, all tick labels are displayed with a prefix. If *first*, only the first tick is displayed with a prefix. If *last*, only the last tick is displayed with a suffix. If *none*, tick prefixes are hidden.
	Showtickprefix ScatterternaryMarkerColorbarShowtickprefix `json:"showtickprefix,omitempty"`

	// Showticksuffix
	// default: all
	// type: enumerated
	// Same as `showtickprefix` but for tick suffixes.
	Showticksuffix ScatterternaryMarkerColorbarShowticksuffix `json:"showticksuffix,omitempty"`

	// Thickness
	// arrayOK: false
	// type: number
	// Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.
	Thickness float64 `json:"thickness,omitempty"`

	// Thicknessmode
	// default: pixels
	// type: enumerated
	// Determines whether this color bar's thickness (i.e. the measure in the constant color direction) is set in units of plot *fraction* or in *pixels*. Use `thickness` to set the value.
	Thicknessmode ScatterternaryMarkerColorbarThicknessmode `json:"thicknessmode,omitempty"`

	// Tick0
	// arrayOK: false
	// type: any
	// Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2) except when `dtick`=*L<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
	// arrayOK: false
	// type: angle
	// Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.
	Tickangle float64 `json:"tickangle,omitempty"`

	// Tickcolor
	// arrayOK: false
	// type: color
	// Sets the tick color.
	Tickcolor Color `json:"tickcolor,omitempty"`

	// Tickfont
	// role: Object
	Tickfont *ScatterternaryMarkerColorbarTickfont `json:"tickfont,omitempty"`

	// Tickformat
	// arrayOK: false
	// type: string
	// Sets the tick label formatting rule using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-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
	// It's an items array and what goes inside it's... messy... check the docs
	// I will be happy if you want to contribute by implementing this
	// just raise an issue before you start so we do not overlap
	Tickformatstops interface{} `json:"tickformatstops,omitempty"`

	// Ticklabelposition
	// default: outside
	// type: enumerated
	// Determines where tick labels are drawn.
	Ticklabelposition ScatterternaryMarkerColorbarTicklabelposition `json:"ticklabelposition,omitempty"`

	// Ticklen
	// arrayOK: false
	// type: number
	// Sets the tick length (in px).
	Ticklen float64 `json:"ticklen,omitempty"`

	// Tickmode
	// default: %!s(<nil>)
	// type: enumerated
	// Sets the tick mode for this axis. If *auto*, the number of ticks is set via `nticks`. If *linear*, the placement of the ticks is determined by a starting position `tick0` and a tick step `dtick` (*linear* is the default value if `tick0` and `dtick` are provided). If *array*, the placement of the ticks is set via `tickvals` and the tick text is `ticktext`. (*array* is the default value if `tickvals` is provided).
	Tickmode ScatterternaryMarkerColorbarTickmode `json:"tickmode,omitempty"`

	// Tickprefix
	// arrayOK: false
	// type: string
	// Sets a tick label prefix.
	Tickprefix String `json:"tickprefix,omitempty"`

	// Ticks
	// default:
	// type: enumerated
	// Determines whether ticks are drawn or not. If **, this axis' ticks are not drawn. If *outside* (*inside*), this axis' are drawn outside (inside) the axis lines.
	Ticks ScatterternaryMarkerColorbarTicks `json:"ticks,omitempty"`

	// Ticksuffix
	// arrayOK: false
	// type: string
	// Sets a tick label suffix.
	Ticksuffix String `json:"ticksuffix,omitempty"`

	// Ticktext
	// arrayOK: false
	// type: data_array
	// Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `tickvals`.
	Ticktext interface{} `json:"ticktext,omitempty"`

	// Ticktextsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  ticktext .
	Ticktextsrc String `json:"ticktextsrc,omitempty"`

	// Tickvals
	// arrayOK: false
	// type: data_array
	// Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.
	Tickvals interface{} `json:"tickvals,omitempty"`

	// Tickvalssrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  tickvals .
	Tickvalssrc String `json:"tickvalssrc,omitempty"`

	// Tickwidth
	// arrayOK: false
	// type: number
	// Sets the tick width (in px).
	Tickwidth float64 `json:"tickwidth,omitempty"`

	// Title
	// role: Object
	Title *ScatterternaryMarkerColorbarTitle `json:"title,omitempty"`

	// X
	// arrayOK: false
	// type: number
	// Sets the x position of the color bar (in plot fraction).
	X float64 `json:"x,omitempty"`

	// Xanchor
	// default: left
	// type: enumerated
	// Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the color bar.
	Xanchor ScatterternaryMarkerColorbarXanchor `json:"xanchor,omitempty"`

	// Xpad
	// arrayOK: false
	// type: number
	// Sets the amount of padding (in px) along the x direction.
	Xpad float64 `json:"xpad,omitempty"`

	// Y
	// arrayOK: false
	// type: number
	// Sets the y position of the color bar (in plot fraction).
	Y float64 `json:"y,omitempty"`

	// Yanchor
	// default: middle
	// type: enumerated
	// Sets this color bar's vertical position anchor This anchor binds the `y` position to the *top*, *middle* or *bottom* of the color bar.
	Yanchor ScatterternaryMarkerColorbarYanchor `json:"yanchor,omitempty"`

	// Ypad
	// arrayOK: false
	// type: number
	// Sets the amount of padding (in px) along the y direction.
	Ypad float64 `json:"ypad,omitempty"`
}

ScatterternaryMarkerColorbar

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 (
	ScatterternaryMarkerColorbarExponentformatNone  ScatterternaryMarkerColorbarExponentformat = "none"
	ScatterternaryMarkerColorbarExponentformatE1    ScatterternaryMarkerColorbarExponentformat = "e"
	ScatterternaryMarkerColorbarExponentformatE2    ScatterternaryMarkerColorbarExponentformat = "E"
	ScatterternaryMarkerColorbarExponentformatPower ScatterternaryMarkerColorbarExponentformat = "power"
	ScatterternaryMarkerColorbarExponentformatSi    ScatterternaryMarkerColorbarExponentformat = "SI"
	ScatterternaryMarkerColorbarExponentformatB     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 (
	ScatterternaryMarkerColorbarLenmodeFraction ScatterternaryMarkerColorbarLenmode = "fraction"
	ScatterternaryMarkerColorbarLenmodePixels   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 (
	ScatterternaryMarkerColorbarShowexponentAll   ScatterternaryMarkerColorbarShowexponent = "all"
	ScatterternaryMarkerColorbarShowexponentFirst ScatterternaryMarkerColorbarShowexponent = "first"
	ScatterternaryMarkerColorbarShowexponentLast  ScatterternaryMarkerColorbarShowexponent = "last"
	ScatterternaryMarkerColorbarShowexponentNone  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 (
	ScatterternaryMarkerColorbarShowtickprefixAll   ScatterternaryMarkerColorbarShowtickprefix = "all"
	ScatterternaryMarkerColorbarShowtickprefixFirst ScatterternaryMarkerColorbarShowtickprefix = "first"
	ScatterternaryMarkerColorbarShowtickprefixLast  ScatterternaryMarkerColorbarShowtickprefix = "last"
	ScatterternaryMarkerColorbarShowtickprefixNone  ScatterternaryMarkerColorbarShowtickprefix = "none"
)

type ScatterternaryMarkerColorbarShowticksuffix

type ScatterternaryMarkerColorbarShowticksuffix string

ScatterternaryMarkerColorbarShowticksuffix Same as `showtickprefix` but for tick suffixes.

const (
	ScatterternaryMarkerColorbarShowticksuffixAll   ScatterternaryMarkerColorbarShowticksuffix = "all"
	ScatterternaryMarkerColorbarShowticksuffixFirst ScatterternaryMarkerColorbarShowticksuffix = "first"
	ScatterternaryMarkerColorbarShowticksuffixLast  ScatterternaryMarkerColorbarShowticksuffix = "last"
	ScatterternaryMarkerColorbarShowticksuffixNone  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 (
	ScatterternaryMarkerColorbarThicknessmodeFraction ScatterternaryMarkerColorbarThicknessmode = "fraction"
	ScatterternaryMarkerColorbarThicknessmodePixels   ScatterternaryMarkerColorbarThicknessmode = "pixels"
)

type ScatterternaryMarkerColorbarTickfont

type ScatterternaryMarkerColorbarTickfont struct {

	// Color
	// arrayOK: false
	// type: color
	//
	Color Color `json:"color,omitempty"`

	// Family
	// arrayOK: false
	// type: string
	// HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.
	Family String `json:"family,omitempty"`

	// Size
	// arrayOK: false
	// type: number
	//
	Size float64 `json:"size,omitempty"`
}

ScatterternaryMarkerColorbarTickfont Sets the color bar's tick label font

type ScatterternaryMarkerColorbarTicklabelposition added in v0.3.1

type ScatterternaryMarkerColorbarTicklabelposition string

ScatterternaryMarkerColorbarTicklabelposition Determines where tick labels are drawn.

const (
	ScatterternaryMarkerColorbarTicklabelpositionOutside       ScatterternaryMarkerColorbarTicklabelposition = "outside"
	ScatterternaryMarkerColorbarTicklabelpositionInside        ScatterternaryMarkerColorbarTicklabelposition = "inside"
	ScatterternaryMarkerColorbarTicklabelpositionOutsideTop    ScatterternaryMarkerColorbarTicklabelposition = "outside top"
	ScatterternaryMarkerColorbarTicklabelpositionInsideTop     ScatterternaryMarkerColorbarTicklabelposition = "inside top"
	ScatterternaryMarkerColorbarTicklabelpositionOutsideBottom ScatterternaryMarkerColorbarTicklabelposition = "outside bottom"
	ScatterternaryMarkerColorbarTicklabelpositionInsideBottom  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 (
	ScatterternaryMarkerColorbarTickmodeAuto   ScatterternaryMarkerColorbarTickmode = "auto"
	ScatterternaryMarkerColorbarTickmodeLinear ScatterternaryMarkerColorbarTickmode = "linear"
	ScatterternaryMarkerColorbarTickmodeArray  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 (
	ScatterternaryMarkerColorbarTicksOutside ScatterternaryMarkerColorbarTicks = "outside"
	ScatterternaryMarkerColorbarTicksInside  ScatterternaryMarkerColorbarTicks = "inside"
	ScatterternaryMarkerColorbarTicksEmpty   ScatterternaryMarkerColorbarTicks = ""
)

type ScatterternaryMarkerColorbarTitle

type ScatterternaryMarkerColorbarTitle struct {

	// Font
	// role: Object
	Font *ScatterternaryMarkerColorbarTitleFont `json:"font,omitempty"`

	// Side
	// default: top
	// type: enumerated
	// Determines the location of color bar's title with respect to the color bar. Note that the title's location used to be set by the now deprecated `titleside` attribute.
	Side ScatterternaryMarkerColorbarTitleSide `json:"side,omitempty"`

	// Text
	// arrayOK: false
	// type: string
	// Sets the title of the color bar. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.
	Text String `json:"text,omitempty"`
}

ScatterternaryMarkerColorbarTitle

type ScatterternaryMarkerColorbarTitleFont

type ScatterternaryMarkerColorbarTitleFont struct {

	// Color
	// arrayOK: false
	// type: color
	//
	Color Color `json:"color,omitempty"`

	// Family
	// arrayOK: false
	// type: string
	// HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.
	Family String `json:"family,omitempty"`

	// Size
	// arrayOK: false
	// type: number
	//
	Size float64 `json:"size,omitempty"`
}

ScatterternaryMarkerColorbarTitleFont Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.

type 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 (
	ScatterternaryMarkerColorbarTitleSideRight  ScatterternaryMarkerColorbarTitleSide = "right"
	ScatterternaryMarkerColorbarTitleSideTop    ScatterternaryMarkerColorbarTitleSide = "top"
	ScatterternaryMarkerColorbarTitleSideBottom 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 (
	ScatterternaryMarkerColorbarXanchorLeft   ScatterternaryMarkerColorbarXanchor = "left"
	ScatterternaryMarkerColorbarXanchorCenter ScatterternaryMarkerColorbarXanchor = "center"
	ScatterternaryMarkerColorbarXanchorRight  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 (
	ScatterternaryMarkerColorbarYanchorTop    ScatterternaryMarkerColorbarYanchor = "top"
	ScatterternaryMarkerColorbarYanchorMiddle ScatterternaryMarkerColorbarYanchor = "middle"
	ScatterternaryMarkerColorbarYanchorBottom ScatterternaryMarkerColorbarYanchor = "bottom"
)

type ScatterternaryMarkerGradient

type ScatterternaryMarkerGradient struct {

	// Color
	// arrayOK: true
	// type: color
	// Sets the final color of the gradient fill: the center color for radial, the right for horizontal, or the bottom for vertical.
	Color Color `json:"color,omitempty"`

	// Colorsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  color .
	Colorsrc String `json:"colorsrc,omitempty"`

	// Type
	// default: none
	// type: enumerated
	// Sets the type of gradient used to fill the markers
	Type ScatterternaryMarkerGradientType `json:"type,omitempty"`

	// Typesrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  type .
	Typesrc String `json:"typesrc,omitempty"`
}

ScatterternaryMarkerGradient

type ScatterternaryMarkerGradientType

type ScatterternaryMarkerGradientType string

ScatterternaryMarkerGradientType Sets the type of gradient used to fill the markers

const (
	ScatterternaryMarkerGradientTypeRadial     ScatterternaryMarkerGradientType = "radial"
	ScatterternaryMarkerGradientTypeHorizontal ScatterternaryMarkerGradientType = "horizontal"
	ScatterternaryMarkerGradientTypeVertical   ScatterternaryMarkerGradientType = "vertical"
	ScatterternaryMarkerGradientTypeNone       ScatterternaryMarkerGradientType = "none"
)

type ScatterternaryMarkerLine

type ScatterternaryMarkerLine struct {

	// Autocolorscale
	// arrayOK: false
	// type: boolean
	// Determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by `marker.line.colorscale`. Has an effect only if in `marker.line.color`is set to a numerical array. In case `colorscale` is unspecified or `autocolorscale` is true, the default  palette will be chosen according to whether numbers in the `color` array are all positive, all negative or mixed.
	Autocolorscale Bool `json:"autocolorscale,omitempty"`

	// Cauto
	// arrayOK: false
	// type: boolean
	// Determines whether or not the color domain is computed with respect to the input data (here in `marker.line.color`) or the bounds set in `marker.line.cmin` and `marker.line.cmax`  Has an effect only if in `marker.line.color`is set to a numerical array. Defaults to `false` when `marker.line.cmin` and `marker.line.cmax` are set by the user.
	Cauto Bool `json:"cauto,omitempty"`

	// Cmax
	// arrayOK: false
	// type: number
	// Sets the upper bound of the color domain. Has an effect only if in `marker.line.color`is set to a numerical array. Value should have the same units as in `marker.line.color` and if set, `marker.line.cmin` must be set as well.
	Cmax float64 `json:"cmax,omitempty"`

	// Cmid
	// arrayOK: false
	// type: number
	// Sets the mid-point of the color domain by scaling `marker.line.cmin` and/or `marker.line.cmax` to be equidistant to this point. Has an effect only if in `marker.line.color`is set to a numerical array. Value should have the same units as in `marker.line.color`. Has no effect when `marker.line.cauto` is `false`.
	Cmid float64 `json:"cmid,omitempty"`

	// Cmin
	// arrayOK: false
	// type: number
	// Sets the lower bound of the color domain. Has an effect only if in `marker.line.color`is set to a numerical array. Value should have the same units as in `marker.line.color` and if set, `marker.line.cmax` must be set as well.
	Cmin float64 `json:"cmin,omitempty"`

	// Color
	// arrayOK: true
	// type: color
	// Sets 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 Color `json:"color,omitempty"`

	// Coloraxis
	// arrayOK: false
	// type: subplotid
	// Sets a reference to a shared color axis. References to these shared color axes are *coloraxis*, *coloraxis2*, *coloraxis3*, etc. Settings for these shared color axes are set in the layout, under `layout.coloraxis`, `layout.coloraxis2`, etc. Note that multiple color scales can be linked to the same color axis.
	Coloraxis String `json:"coloraxis,omitempty"`

	// Colorscale
	// default: %!s(<nil>)
	// type: colorscale
	// Sets the colorscale. Has an effect only if in `marker.line.color`is set to a numerical array. The colorscale must be an array containing arrays mapping a normalized value to an rgb, rgba, hex, hsl, hsv, or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, use`marker.line.cmin` and `marker.line.cmax`. Alternatively, `colorscale` may be a palette name string of the following list: Greys,YlGnBu,Greens,YlOrRd,Bluered,RdBu,Reds,Blues,Picnic,Rainbow,Portland,Jet,Hot,Blackbody,Earth,Electric,Viridis,Cividis.
	Colorscale ColorScale `json:"colorscale,omitempty"`

	// Colorsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  color .
	Colorsrc String `json:"colorsrc,omitempty"`

	// Reversescale
	// arrayOK: false
	// type: boolean
	// Reverses the color mapping if true. Has an effect only if in `marker.line.color`is set to a numerical array. If true, `marker.line.cmin` will correspond to the last color in the array and `marker.line.cmax` will correspond to the first color.
	Reversescale Bool `json:"reversescale,omitempty"`

	// Width
	// arrayOK: true
	// type: number
	// Sets the width (in px) of the lines bounding the marker points.
	Width float64 `json:"width,omitempty"`

	// Widthsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  width .
	Widthsrc String `json:"widthsrc,omitempty"`
}

ScatterternaryMarkerLine

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 (
	ScatterternaryMarkerSizemodeDiameter ScatterternaryMarkerSizemode = "diameter"
	ScatterternaryMarkerSizemodeArea     ScatterternaryMarkerSizemode = "area"
)

type ScatterternaryMarkerSymbol

type ScatterternaryMarkerSymbol interface{}

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.

var (
	ScatterternaryMarkerSymbolNumber0                 ScatterternaryMarkerSymbol = 0
	ScatterternaryMarkerSymbol0                       ScatterternaryMarkerSymbol = "0"
	ScatterternaryMarkerSymbolCircle                  ScatterternaryMarkerSymbol = "circle"
	ScatterternaryMarkerSymbolNumber100               ScatterternaryMarkerSymbol = 100
	ScatterternaryMarkerSymbol100                     ScatterternaryMarkerSymbol = "100"
	ScatterternaryMarkerSymbolCircleOpen              ScatterternaryMarkerSymbol = "circle-open"
	ScatterternaryMarkerSymbolNumber200               ScatterternaryMarkerSymbol = 200
	ScatterternaryMarkerSymbol200                     ScatterternaryMarkerSymbol = "200"
	ScatterternaryMarkerSymbolCircleDot               ScatterternaryMarkerSymbol = "circle-dot"
	ScatterternaryMarkerSymbolNumber300               ScatterternaryMarkerSymbol = 300
	ScatterternaryMarkerSymbol300                     ScatterternaryMarkerSymbol = "300"
	ScatterternaryMarkerSymbolCircleOpenDot           ScatterternaryMarkerSymbol = "circle-open-dot"
	ScatterternaryMarkerSymbolNumber1                 ScatterternaryMarkerSymbol = 1
	ScatterternaryMarkerSymbol1                       ScatterternaryMarkerSymbol = "1"
	ScatterternaryMarkerSymbolSquare                  ScatterternaryMarkerSymbol = "square"
	ScatterternaryMarkerSymbolNumber101               ScatterternaryMarkerSymbol = 101
	ScatterternaryMarkerSymbol101                     ScatterternaryMarkerSymbol = "101"
	ScatterternaryMarkerSymbolSquareOpen              ScatterternaryMarkerSymbol = "square-open"
	ScatterternaryMarkerSymbolNumber201               ScatterternaryMarkerSymbol = 201
	ScatterternaryMarkerSymbol201                     ScatterternaryMarkerSymbol = "201"
	ScatterternaryMarkerSymbolSquareDot               ScatterternaryMarkerSymbol = "square-dot"
	ScatterternaryMarkerSymbolNumber301               ScatterternaryMarkerSymbol = 301
	ScatterternaryMarkerSymbol301                     ScatterternaryMarkerSymbol = "301"
	ScatterternaryMarkerSymbolSquareOpenDot           ScatterternaryMarkerSymbol = "square-open-dot"
	ScatterternaryMarkerSymbolNumber2                 ScatterternaryMarkerSymbol = 2
	ScatterternaryMarkerSymbol2                       ScatterternaryMarkerSymbol = "2"
	ScatterternaryMarkerSymbolDiamond                 ScatterternaryMarkerSymbol = "diamond"
	ScatterternaryMarkerSymbolNumber102               ScatterternaryMarkerSymbol = 102
	ScatterternaryMarkerSymbol102                     ScatterternaryMarkerSymbol = "102"
	ScatterternaryMarkerSymbolDiamondOpen             ScatterternaryMarkerSymbol = "diamond-open"
	ScatterternaryMarkerSymbolNumber202               ScatterternaryMarkerSymbol = 202
	ScatterternaryMarkerSymbol202                     ScatterternaryMarkerSymbol = "202"
	ScatterternaryMarkerSymbolDiamondDot              ScatterternaryMarkerSymbol = "diamond-dot"
	ScatterternaryMarkerSymbolNumber302               ScatterternaryMarkerSymbol = 302
	ScatterternaryMarkerSymbol302                     ScatterternaryMarkerSymbol = "302"
	ScatterternaryMarkerSymbolDiamondOpenDot          ScatterternaryMarkerSymbol = "diamond-open-dot"
	ScatterternaryMarkerSymbolNumber3                 ScatterternaryMarkerSymbol = 3
	ScatterternaryMarkerSymbol3                       ScatterternaryMarkerSymbol = "3"
	ScatterternaryMarkerSymbolCross                   ScatterternaryMarkerSymbol = "cross"
	ScatterternaryMarkerSymbolNumber103               ScatterternaryMarkerSymbol = 103
	ScatterternaryMarkerSymbol103                     ScatterternaryMarkerSymbol = "103"
	ScatterternaryMarkerSymbolCrossOpen               ScatterternaryMarkerSymbol = "cross-open"
	ScatterternaryMarkerSymbolNumber203               ScatterternaryMarkerSymbol = 203
	ScatterternaryMarkerSymbol203                     ScatterternaryMarkerSymbol = "203"
	ScatterternaryMarkerSymbolCrossDot                ScatterternaryMarkerSymbol = "cross-dot"
	ScatterternaryMarkerSymbolNumber303               ScatterternaryMarkerSymbol = 303
	ScatterternaryMarkerSymbol303                     ScatterternaryMarkerSymbol = "303"
	ScatterternaryMarkerSymbolCrossOpenDot            ScatterternaryMarkerSymbol = "cross-open-dot"
	ScatterternaryMarkerSymbolNumber4                 ScatterternaryMarkerSymbol = 4
	ScatterternaryMarkerSymbol4                       ScatterternaryMarkerSymbol = "4"
	ScatterternaryMarkerSymbolX                       ScatterternaryMarkerSymbol = "x"
	ScatterternaryMarkerSymbolNumber104               ScatterternaryMarkerSymbol = 104
	ScatterternaryMarkerSymbol104                     ScatterternaryMarkerSymbol = "104"
	ScatterternaryMarkerSymbolXOpen                   ScatterternaryMarkerSymbol = "x-open"
	ScatterternaryMarkerSymbolNumber204               ScatterternaryMarkerSymbol = 204
	ScatterternaryMarkerSymbol204                     ScatterternaryMarkerSymbol = "204"
	ScatterternaryMarkerSymbolXDot                    ScatterternaryMarkerSymbol = "x-dot"
	ScatterternaryMarkerSymbolNumber304               ScatterternaryMarkerSymbol = 304
	ScatterternaryMarkerSymbol304                     ScatterternaryMarkerSymbol = "304"
	ScatterternaryMarkerSymbolXOpenDot                ScatterternaryMarkerSymbol = "x-open-dot"
	ScatterternaryMarkerSymbolNumber5                 ScatterternaryMarkerSymbol = 5
	ScatterternaryMarkerSymbol5                       ScatterternaryMarkerSymbol = "5"
	ScatterternaryMarkerSymbolTriangleUp              ScatterternaryMarkerSymbol = "triangle-up"
	ScatterternaryMarkerSymbolNumber105               ScatterternaryMarkerSymbol = 105
	ScatterternaryMarkerSymbol105                     ScatterternaryMarkerSymbol = "105"
	ScatterternaryMarkerSymbolTriangleUpOpen          ScatterternaryMarkerSymbol = "triangle-up-open"
	ScatterternaryMarkerSymbolNumber205               ScatterternaryMarkerSymbol = 205
	ScatterternaryMarkerSymbol205                     ScatterternaryMarkerSymbol = "205"
	ScatterternaryMarkerSymbolTriangleUpDot           ScatterternaryMarkerSymbol = "triangle-up-dot"
	ScatterternaryMarkerSymbolNumber305               ScatterternaryMarkerSymbol = 305
	ScatterternaryMarkerSymbol305                     ScatterternaryMarkerSymbol = "305"
	ScatterternaryMarkerSymbolTriangleUpOpenDot       ScatterternaryMarkerSymbol = "triangle-up-open-dot"
	ScatterternaryMarkerSymbolNumber6                 ScatterternaryMarkerSymbol = 6
	ScatterternaryMarkerSymbol6                       ScatterternaryMarkerSymbol = "6"
	ScatterternaryMarkerSymbolTriangleDown            ScatterternaryMarkerSymbol = "triangle-down"
	ScatterternaryMarkerSymbolNumber106               ScatterternaryMarkerSymbol = 106
	ScatterternaryMarkerSymbol106                     ScatterternaryMarkerSymbol = "106"
	ScatterternaryMarkerSymbolTriangleDownOpen        ScatterternaryMarkerSymbol = "triangle-down-open"
	ScatterternaryMarkerSymbolNumber206               ScatterternaryMarkerSymbol = 206
	ScatterternaryMarkerSymbol206                     ScatterternaryMarkerSymbol = "206"
	ScatterternaryMarkerSymbolTriangleDownDot         ScatterternaryMarkerSymbol = "triangle-down-dot"
	ScatterternaryMarkerSymbolNumber306               ScatterternaryMarkerSymbol = 306
	ScatterternaryMarkerSymbol306                     ScatterternaryMarkerSymbol = "306"
	ScatterternaryMarkerSymbolTriangleDownOpenDot     ScatterternaryMarkerSymbol = "triangle-down-open-dot"
	ScatterternaryMarkerSymbolNumber7                 ScatterternaryMarkerSymbol = 7
	ScatterternaryMarkerSymbol7                       ScatterternaryMarkerSymbol = "7"
	ScatterternaryMarkerSymbolTriangleLeft            ScatterternaryMarkerSymbol = "triangle-left"
	ScatterternaryMarkerSymbolNumber107               ScatterternaryMarkerSymbol = 107
	ScatterternaryMarkerSymbol107                     ScatterternaryMarkerSymbol = "107"
	ScatterternaryMarkerSymbolTriangleLeftOpen        ScatterternaryMarkerSymbol = "triangle-left-open"
	ScatterternaryMarkerSymbolNumber207               ScatterternaryMarkerSymbol = 207
	ScatterternaryMarkerSymbol207                     ScatterternaryMarkerSymbol = "207"
	ScatterternaryMarkerSymbolTriangleLeftDot         ScatterternaryMarkerSymbol = "triangle-left-dot"
	ScatterternaryMarkerSymbolNumber307               ScatterternaryMarkerSymbol = 307
	ScatterternaryMarkerSymbol307                     ScatterternaryMarkerSymbol = "307"
	ScatterternaryMarkerSymbolTriangleLeftOpenDot     ScatterternaryMarkerSymbol = "triangle-left-open-dot"
	ScatterternaryMarkerSymbolNumber8                 ScatterternaryMarkerSymbol = 8
	ScatterternaryMarkerSymbol8                       ScatterternaryMarkerSymbol = "8"
	ScatterternaryMarkerSymbolTriangleRight           ScatterternaryMarkerSymbol = "triangle-right"
	ScatterternaryMarkerSymbolNumber108               ScatterternaryMarkerSymbol = 108
	ScatterternaryMarkerSymbol108                     ScatterternaryMarkerSymbol = "108"
	ScatterternaryMarkerSymbolTriangleRightOpen       ScatterternaryMarkerSymbol = "triangle-right-open"
	ScatterternaryMarkerSymbolNumber208               ScatterternaryMarkerSymbol = 208
	ScatterternaryMarkerSymbol208                     ScatterternaryMarkerSymbol = "208"
	ScatterternaryMarkerSymbolTriangleRightDot        ScatterternaryMarkerSymbol = "triangle-right-dot"
	ScatterternaryMarkerSymbolNumber308               ScatterternaryMarkerSymbol = 308
	ScatterternaryMarkerSymbol308                     ScatterternaryMarkerSymbol = "308"
	ScatterternaryMarkerSymbolTriangleRightOpenDot    ScatterternaryMarkerSymbol = "triangle-right-open-dot"
	ScatterternaryMarkerSymbolNumber9                 ScatterternaryMarkerSymbol = 9
	ScatterternaryMarkerSymbol9                       ScatterternaryMarkerSymbol = "9"
	ScatterternaryMarkerSymbolTriangleNe              ScatterternaryMarkerSymbol = "triangle-ne"
	ScatterternaryMarkerSymbolNumber109               ScatterternaryMarkerSymbol = 109
	ScatterternaryMarkerSymbol109                     ScatterternaryMarkerSymbol = "109"
	ScatterternaryMarkerSymbolTriangleNeOpen          ScatterternaryMarkerSymbol = "triangle-ne-open"
	ScatterternaryMarkerSymbolNumber209               ScatterternaryMarkerSymbol = 209
	ScatterternaryMarkerSymbol209                     ScatterternaryMarkerSymbol = "209"
	ScatterternaryMarkerSymbolTriangleNeDot           ScatterternaryMarkerSymbol = "triangle-ne-dot"
	ScatterternaryMarkerSymbolNumber309               ScatterternaryMarkerSymbol = 309
	ScatterternaryMarkerSymbol309                     ScatterternaryMarkerSymbol = "309"
	ScatterternaryMarkerSymbolTriangleNeOpenDot       ScatterternaryMarkerSymbol = "triangle-ne-open-dot"
	ScatterternaryMarkerSymbolNumber10                ScatterternaryMarkerSymbol = 10
	ScatterternaryMarkerSymbol10                      ScatterternaryMarkerSymbol = "10"
	ScatterternaryMarkerSymbolTriangleSe              ScatterternaryMarkerSymbol = "triangle-se"
	ScatterternaryMarkerSymbolNumber110               ScatterternaryMarkerSymbol = 110
	ScatterternaryMarkerSymbol110                     ScatterternaryMarkerSymbol = "110"
	ScatterternaryMarkerSymbolTriangleSeOpen          ScatterternaryMarkerSymbol = "triangle-se-open"
	ScatterternaryMarkerSymbolNumber210               ScatterternaryMarkerSymbol = 210
	ScatterternaryMarkerSymbol210                     ScatterternaryMarkerSymbol = "210"
	ScatterternaryMarkerSymbolTriangleSeDot           ScatterternaryMarkerSymbol = "triangle-se-dot"
	ScatterternaryMarkerSymbolNumber310               ScatterternaryMarkerSymbol = 310
	ScatterternaryMarkerSymbol310                     ScatterternaryMarkerSymbol = "310"
	ScatterternaryMarkerSymbolTriangleSeOpenDot       ScatterternaryMarkerSymbol = "triangle-se-open-dot"
	ScatterternaryMarkerSymbolNumber11                ScatterternaryMarkerSymbol = 11
	ScatterternaryMarkerSymbol11                      ScatterternaryMarkerSymbol = "11"
	ScatterternaryMarkerSymbolTriangleSw              ScatterternaryMarkerSymbol = "triangle-sw"
	ScatterternaryMarkerSymbolNumber111               ScatterternaryMarkerSymbol = 111
	ScatterternaryMarkerSymbol111                     ScatterternaryMarkerSymbol = "111"
	ScatterternaryMarkerSymbolTriangleSwOpen          ScatterternaryMarkerSymbol = "triangle-sw-open"
	ScatterternaryMarkerSymbolNumber211               ScatterternaryMarkerSymbol = 211
	ScatterternaryMarkerSymbol211                     ScatterternaryMarkerSymbol = "211"
	ScatterternaryMarkerSymbolTriangleSwDot           ScatterternaryMarkerSymbol = "triangle-sw-dot"
	ScatterternaryMarkerSymbolNumber311               ScatterternaryMarkerSymbol = 311
	ScatterternaryMarkerSymbol311                     ScatterternaryMarkerSymbol = "311"
	ScatterternaryMarkerSymbolTriangleSwOpenDot       ScatterternaryMarkerSymbol = "triangle-sw-open-dot"
	ScatterternaryMarkerSymbolNumber12                ScatterternaryMarkerSymbol = 12
	ScatterternaryMarkerSymbol12                      ScatterternaryMarkerSymbol = "12"
	ScatterternaryMarkerSymbolTriangleNw              ScatterternaryMarkerSymbol = "triangle-nw"
	ScatterternaryMarkerSymbolNumber112               ScatterternaryMarkerSymbol = 112
	ScatterternaryMarkerSymbol112                     ScatterternaryMarkerSymbol = "112"
	ScatterternaryMarkerSymbolTriangleNwOpen          ScatterternaryMarkerSymbol = "triangle-nw-open"
	ScatterternaryMarkerSymbolNumber212               ScatterternaryMarkerSymbol = 212
	ScatterternaryMarkerSymbol212                     ScatterternaryMarkerSymbol = "212"
	ScatterternaryMarkerSymbolTriangleNwDot           ScatterternaryMarkerSymbol = "triangle-nw-dot"
	ScatterternaryMarkerSymbolNumber312               ScatterternaryMarkerSymbol = 312
	ScatterternaryMarkerSymbol312                     ScatterternaryMarkerSymbol = "312"
	ScatterternaryMarkerSymbolTriangleNwOpenDot       ScatterternaryMarkerSymbol = "triangle-nw-open-dot"
	ScatterternaryMarkerSymbolNumber13                ScatterternaryMarkerSymbol = 13
	ScatterternaryMarkerSymbol13                      ScatterternaryMarkerSymbol = "13"
	ScatterternaryMarkerSymbolPentagon                ScatterternaryMarkerSymbol = "pentagon"
	ScatterternaryMarkerSymbolNumber113               ScatterternaryMarkerSymbol = 113
	ScatterternaryMarkerSymbol113                     ScatterternaryMarkerSymbol = "113"
	ScatterternaryMarkerSymbolPentagonOpen            ScatterternaryMarkerSymbol = "pentagon-open"
	ScatterternaryMarkerSymbolNumber213               ScatterternaryMarkerSymbol = 213
	ScatterternaryMarkerSymbol213                     ScatterternaryMarkerSymbol = "213"
	ScatterternaryMarkerSymbolPentagonDot             ScatterternaryMarkerSymbol = "pentagon-dot"
	ScatterternaryMarkerSymbolNumber313               ScatterternaryMarkerSymbol = 313
	ScatterternaryMarkerSymbol313                     ScatterternaryMarkerSymbol = "313"
	ScatterternaryMarkerSymbolPentagonOpenDot         ScatterternaryMarkerSymbol = "pentagon-open-dot"
	ScatterternaryMarkerSymbolNumber14                ScatterternaryMarkerSymbol = 14
	ScatterternaryMarkerSymbol14                      ScatterternaryMarkerSymbol = "14"
	ScatterternaryMarkerSymbolHexagon                 ScatterternaryMarkerSymbol = "hexagon"
	ScatterternaryMarkerSymbolNumber114               ScatterternaryMarkerSymbol = 114
	ScatterternaryMarkerSymbol114                     ScatterternaryMarkerSymbol = "114"
	ScatterternaryMarkerSymbolHexagonOpen             ScatterternaryMarkerSymbol = "hexagon-open"
	ScatterternaryMarkerSymbolNumber214               ScatterternaryMarkerSymbol = 214
	ScatterternaryMarkerSymbol214                     ScatterternaryMarkerSymbol = "214"
	ScatterternaryMarkerSymbolHexagonDot              ScatterternaryMarkerSymbol = "hexagon-dot"
	ScatterternaryMarkerSymbolNumber314               ScatterternaryMarkerSymbol = 314
	ScatterternaryMarkerSymbol314                     ScatterternaryMarkerSymbol = "314"
	ScatterternaryMarkerSymbolHexagonOpenDot          ScatterternaryMarkerSymbol = "hexagon-open-dot"
	ScatterternaryMarkerSymbolNumber15                ScatterternaryMarkerSymbol = 15
	ScatterternaryMarkerSymbol15                      ScatterternaryMarkerSymbol = "15"
	ScatterternaryMarkerSymbolHexagon2                ScatterternaryMarkerSymbol = "hexagon2"
	ScatterternaryMarkerSymbolNumber115               ScatterternaryMarkerSymbol = 115
	ScatterternaryMarkerSymbol115                     ScatterternaryMarkerSymbol = "115"
	ScatterternaryMarkerSymbolHexagon2Open            ScatterternaryMarkerSymbol = "hexagon2-open"
	ScatterternaryMarkerSymbolNumber215               ScatterternaryMarkerSymbol = 215
	ScatterternaryMarkerSymbol215                     ScatterternaryMarkerSymbol = "215"
	ScatterternaryMarkerSymbolHexagon2Dot             ScatterternaryMarkerSymbol = "hexagon2-dot"
	ScatterternaryMarkerSymbolNumber315               ScatterternaryMarkerSymbol = 315
	ScatterternaryMarkerSymbol315                     ScatterternaryMarkerSymbol = "315"
	ScatterternaryMarkerSymbolHexagon2OpenDot         ScatterternaryMarkerSymbol = "hexagon2-open-dot"
	ScatterternaryMarkerSymbolNumber16                ScatterternaryMarkerSymbol = 16
	ScatterternaryMarkerSymbol16                      ScatterternaryMarkerSymbol = "16"
	ScatterternaryMarkerSymbolOctagon                 ScatterternaryMarkerSymbol = "octagon"
	ScatterternaryMarkerSymbolNumber116               ScatterternaryMarkerSymbol = 116
	ScatterternaryMarkerSymbol116                     ScatterternaryMarkerSymbol = "116"
	ScatterternaryMarkerSymbolOctagonOpen             ScatterternaryMarkerSymbol = "octagon-open"
	ScatterternaryMarkerSymbolNumber216               ScatterternaryMarkerSymbol = 216
	ScatterternaryMarkerSymbol216                     ScatterternaryMarkerSymbol = "216"
	ScatterternaryMarkerSymbolOctagonDot              ScatterternaryMarkerSymbol = "octagon-dot"
	ScatterternaryMarkerSymbolNumber316               ScatterternaryMarkerSymbol = 316
	ScatterternaryMarkerSymbol316                     ScatterternaryMarkerSymbol = "316"
	ScatterternaryMarkerSymbolOctagonOpenDot          ScatterternaryMarkerSymbol = "octagon-open-dot"
	ScatterternaryMarkerSymbolNumber17                ScatterternaryMarkerSymbol = 17
	ScatterternaryMarkerSymbol17                      ScatterternaryMarkerSymbol = "17"
	ScatterternaryMarkerSymbolStar                    ScatterternaryMarkerSymbol = "star"
	ScatterternaryMarkerSymbolNumber117               ScatterternaryMarkerSymbol = 117
	ScatterternaryMarkerSymbol117                     ScatterternaryMarkerSymbol = "117"
	ScatterternaryMarkerSymbolStarOpen                ScatterternaryMarkerSymbol = "star-open"
	ScatterternaryMarkerSymbolNumber217               ScatterternaryMarkerSymbol = 217
	ScatterternaryMarkerSymbol217                     ScatterternaryMarkerSymbol = "217"
	ScatterternaryMarkerSymbolStarDot                 ScatterternaryMarkerSymbol = "star-dot"
	ScatterternaryMarkerSymbolNumber317               ScatterternaryMarkerSymbol = 317
	ScatterternaryMarkerSymbol317                     ScatterternaryMarkerSymbol = "317"
	ScatterternaryMarkerSymbolStarOpenDot             ScatterternaryMarkerSymbol = "star-open-dot"
	ScatterternaryMarkerSymbolNumber18                ScatterternaryMarkerSymbol = 18
	ScatterternaryMarkerSymbol18                      ScatterternaryMarkerSymbol = "18"
	ScatterternaryMarkerSymbolHexagram                ScatterternaryMarkerSymbol = "hexagram"
	ScatterternaryMarkerSymbolNumber118               ScatterternaryMarkerSymbol = 118
	ScatterternaryMarkerSymbol118                     ScatterternaryMarkerSymbol = "118"
	ScatterternaryMarkerSymbolHexagramOpen            ScatterternaryMarkerSymbol = "hexagram-open"
	ScatterternaryMarkerSymbolNumber218               ScatterternaryMarkerSymbol = 218
	ScatterternaryMarkerSymbol218                     ScatterternaryMarkerSymbol = "218"
	ScatterternaryMarkerSymbolHexagramDot             ScatterternaryMarkerSymbol = "hexagram-dot"
	ScatterternaryMarkerSymbolNumber318               ScatterternaryMarkerSymbol = 318
	ScatterternaryMarkerSymbol318                     ScatterternaryMarkerSymbol = "318"
	ScatterternaryMarkerSymbolHexagramOpenDot         ScatterternaryMarkerSymbol = "hexagram-open-dot"
	ScatterternaryMarkerSymbolNumber19                ScatterternaryMarkerSymbol = 19
	ScatterternaryMarkerSymbol19                      ScatterternaryMarkerSymbol = "19"
	ScatterternaryMarkerSymbolStarTriangleUp          ScatterternaryMarkerSymbol = "star-triangle-up"
	ScatterternaryMarkerSymbolNumber119               ScatterternaryMarkerSymbol = 119
	ScatterternaryMarkerSymbol119                     ScatterternaryMarkerSymbol = "119"
	ScatterternaryMarkerSymbolStarTriangleUpOpen      ScatterternaryMarkerSymbol = "star-triangle-up-open"
	ScatterternaryMarkerSymbolNumber219               ScatterternaryMarkerSymbol = 219
	ScatterternaryMarkerSymbol219                     ScatterternaryMarkerSymbol = "219"
	ScatterternaryMarkerSymbolStarTriangleUpDot       ScatterternaryMarkerSymbol = "star-triangle-up-dot"
	ScatterternaryMarkerSymbolNumber319               ScatterternaryMarkerSymbol = 319
	ScatterternaryMarkerSymbol319                     ScatterternaryMarkerSymbol = "319"
	ScatterternaryMarkerSymbolStarTriangleUpOpenDot   ScatterternaryMarkerSymbol = "star-triangle-up-open-dot"
	ScatterternaryMarkerSymbolNumber20                ScatterternaryMarkerSymbol = 20
	ScatterternaryMarkerSymbol20                      ScatterternaryMarkerSymbol = "20"
	ScatterternaryMarkerSymbolStarTriangleDown        ScatterternaryMarkerSymbol = "star-triangle-down"
	ScatterternaryMarkerSymbolNumber120               ScatterternaryMarkerSymbol = 120
	ScatterternaryMarkerSymbol120                     ScatterternaryMarkerSymbol = "120"
	ScatterternaryMarkerSymbolStarTriangleDownOpen    ScatterternaryMarkerSymbol = "star-triangle-down-open"
	ScatterternaryMarkerSymbolNumber220               ScatterternaryMarkerSymbol = 220
	ScatterternaryMarkerSymbol220                     ScatterternaryMarkerSymbol = "220"
	ScatterternaryMarkerSymbolStarTriangleDownDot     ScatterternaryMarkerSymbol = "star-triangle-down-dot"
	ScatterternaryMarkerSymbolNumber320               ScatterternaryMarkerSymbol = 320
	ScatterternaryMarkerSymbol320                     ScatterternaryMarkerSymbol = "320"
	ScatterternaryMarkerSymbolStarTriangleDownOpenDot ScatterternaryMarkerSymbol = "star-triangle-down-open-dot"
	ScatterternaryMarkerSymbolNumber21                ScatterternaryMarkerSymbol = 21
	ScatterternaryMarkerSymbol21                      ScatterternaryMarkerSymbol = "21"
	ScatterternaryMarkerSymbolStarSquare              ScatterternaryMarkerSymbol = "star-square"
	ScatterternaryMarkerSymbolNumber121               ScatterternaryMarkerSymbol = 121
	ScatterternaryMarkerSymbol121                     ScatterternaryMarkerSymbol = "121"
	ScatterternaryMarkerSymbolStarSquareOpen          ScatterternaryMarkerSymbol = "star-square-open"
	ScatterternaryMarkerSymbolNumber221               ScatterternaryMarkerSymbol = 221
	ScatterternaryMarkerSymbol221                     ScatterternaryMarkerSymbol = "221"
	ScatterternaryMarkerSymbolStarSquareDot           ScatterternaryMarkerSymbol = "star-square-dot"
	ScatterternaryMarkerSymbolNumber321               ScatterternaryMarkerSymbol = 321
	ScatterternaryMarkerSymbol321                     ScatterternaryMarkerSymbol = "321"
	ScatterternaryMarkerSymbolStarSquareOpenDot       ScatterternaryMarkerSymbol = "star-square-open-dot"
	ScatterternaryMarkerSymbolNumber22                ScatterternaryMarkerSymbol = 22
	ScatterternaryMarkerSymbol22                      ScatterternaryMarkerSymbol = "22"
	ScatterternaryMarkerSymbolStarDiamond             ScatterternaryMarkerSymbol = "star-diamond"
	ScatterternaryMarkerSymbolNumber122               ScatterternaryMarkerSymbol = 122
	ScatterternaryMarkerSymbol122                     ScatterternaryMarkerSymbol = "122"
	ScatterternaryMarkerSymbolStarDiamondOpen         ScatterternaryMarkerSymbol = "star-diamond-open"
	ScatterternaryMarkerSymbolNumber222               ScatterternaryMarkerSymbol = 222
	ScatterternaryMarkerSymbol222                     ScatterternaryMarkerSymbol = "222"
	ScatterternaryMarkerSymbolStarDiamondDot          ScatterternaryMarkerSymbol = "star-diamond-dot"
	ScatterternaryMarkerSymbolNumber322               ScatterternaryMarkerSymbol = 322
	ScatterternaryMarkerSymbol322                     ScatterternaryMarkerSymbol = "322"
	ScatterternaryMarkerSymbolStarDiamondOpenDot      ScatterternaryMarkerSymbol = "star-diamond-open-dot"
	ScatterternaryMarkerSymbolNumber23                ScatterternaryMarkerSymbol = 23
	ScatterternaryMarkerSymbol23                      ScatterternaryMarkerSymbol = "23"
	ScatterternaryMarkerSymbolDiamondTall             ScatterternaryMarkerSymbol = "diamond-tall"
	ScatterternaryMarkerSymbolNumber123               ScatterternaryMarkerSymbol = 123
	ScatterternaryMarkerSymbol123                     ScatterternaryMarkerSymbol = "123"
	ScatterternaryMarkerSymbolDiamondTallOpen         ScatterternaryMarkerSymbol = "diamond-tall-open"
	ScatterternaryMarkerSymbolNumber223               ScatterternaryMarkerSymbol = 223
	ScatterternaryMarkerSymbol223                     ScatterternaryMarkerSymbol = "223"
	ScatterternaryMarkerSymbolDiamondTallDot          ScatterternaryMarkerSymbol = "diamond-tall-dot"
	ScatterternaryMarkerSymbolNumber323               ScatterternaryMarkerSymbol = 323
	ScatterternaryMarkerSymbol323                     ScatterternaryMarkerSymbol = "323"
	ScatterternaryMarkerSymbolDiamondTallOpenDot      ScatterternaryMarkerSymbol = "diamond-tall-open-dot"
	ScatterternaryMarkerSymbolNumber24                ScatterternaryMarkerSymbol = 24
	ScatterternaryMarkerSymbol24                      ScatterternaryMarkerSymbol = "24"
	ScatterternaryMarkerSymbolDiamondWide             ScatterternaryMarkerSymbol = "diamond-wide"
	ScatterternaryMarkerSymbolNumber124               ScatterternaryMarkerSymbol = 124
	ScatterternaryMarkerSymbol124                     ScatterternaryMarkerSymbol = "124"
	ScatterternaryMarkerSymbolDiamondWideOpen         ScatterternaryMarkerSymbol = "diamond-wide-open"
	ScatterternaryMarkerSymbolNumber224               ScatterternaryMarkerSymbol = 224
	ScatterternaryMarkerSymbol224                     ScatterternaryMarkerSymbol = "224"
	ScatterternaryMarkerSymbolDiamondWideDot          ScatterternaryMarkerSymbol = "diamond-wide-dot"
	ScatterternaryMarkerSymbolNumber324               ScatterternaryMarkerSymbol = 324
	ScatterternaryMarkerSymbol324                     ScatterternaryMarkerSymbol = "324"
	ScatterternaryMarkerSymbolDiamondWideOpenDot      ScatterternaryMarkerSymbol = "diamond-wide-open-dot"
	ScatterternaryMarkerSymbolNumber25                ScatterternaryMarkerSymbol = 25
	ScatterternaryMarkerSymbol25                      ScatterternaryMarkerSymbol = "25"
	ScatterternaryMarkerSymbolHourglass               ScatterternaryMarkerSymbol = "hourglass"
	ScatterternaryMarkerSymbolNumber125               ScatterternaryMarkerSymbol = 125
	ScatterternaryMarkerSymbol125                     ScatterternaryMarkerSymbol = "125"
	ScatterternaryMarkerSymbolHourglassOpen           ScatterternaryMarkerSymbol = "hourglass-open"
	ScatterternaryMarkerSymbolNumber26                ScatterternaryMarkerSymbol = 26
	ScatterternaryMarkerSymbol26                      ScatterternaryMarkerSymbol = "26"
	ScatterternaryMarkerSymbolBowtie                  ScatterternaryMarkerSymbol = "bowtie"
	ScatterternaryMarkerSymbolNumber126               ScatterternaryMarkerSymbol = 126
	ScatterternaryMarkerSymbol126                     ScatterternaryMarkerSymbol = "126"
	ScatterternaryMarkerSymbolBowtieOpen              ScatterternaryMarkerSymbol = "bowtie-open"
	ScatterternaryMarkerSymbolNumber27                ScatterternaryMarkerSymbol = 27
	ScatterternaryMarkerSymbol27                      ScatterternaryMarkerSymbol = "27"
	ScatterternaryMarkerSymbolCircleCross             ScatterternaryMarkerSymbol = "circle-cross"
	ScatterternaryMarkerSymbolNumber127               ScatterternaryMarkerSymbol = 127
	ScatterternaryMarkerSymbol127                     ScatterternaryMarkerSymbol = "127"
	ScatterternaryMarkerSymbolCircleCrossOpen         ScatterternaryMarkerSymbol = "circle-cross-open"
	ScatterternaryMarkerSymbolNumber28                ScatterternaryMarkerSymbol = 28
	ScatterternaryMarkerSymbol28                      ScatterternaryMarkerSymbol = "28"
	ScatterternaryMarkerSymbolCircleX                 ScatterternaryMarkerSymbol = "circle-x"
	ScatterternaryMarkerSymbolNumber128               ScatterternaryMarkerSymbol = 128
	ScatterternaryMarkerSymbol128                     ScatterternaryMarkerSymbol = "128"
	ScatterternaryMarkerSymbolCircleXOpen             ScatterternaryMarkerSymbol = "circle-x-open"
	ScatterternaryMarkerSymbolNumber29                ScatterternaryMarkerSymbol = 29
	ScatterternaryMarkerSymbol29                      ScatterternaryMarkerSymbol = "29"
	ScatterternaryMarkerSymbolSquareCross             ScatterternaryMarkerSymbol = "square-cross"
	ScatterternaryMarkerSymbolNumber129               ScatterternaryMarkerSymbol = 129
	ScatterternaryMarkerSymbol129                     ScatterternaryMarkerSymbol = "129"
	ScatterternaryMarkerSymbolSquareCrossOpen         ScatterternaryMarkerSymbol = "square-cross-open"
	ScatterternaryMarkerSymbolNumber30                ScatterternaryMarkerSymbol = 30
	ScatterternaryMarkerSymbol30                      ScatterternaryMarkerSymbol = "30"
	ScatterternaryMarkerSymbolSquareX                 ScatterternaryMarkerSymbol = "square-x"
	ScatterternaryMarkerSymbolNumber130               ScatterternaryMarkerSymbol = 130
	ScatterternaryMarkerSymbol130                     ScatterternaryMarkerSymbol = "130"
	ScatterternaryMarkerSymbolSquareXOpen             ScatterternaryMarkerSymbol = "square-x-open"
	ScatterternaryMarkerSymbolNumber31                ScatterternaryMarkerSymbol = 31
	ScatterternaryMarkerSymbol31                      ScatterternaryMarkerSymbol = "31"
	ScatterternaryMarkerSymbolDiamondCross            ScatterternaryMarkerSymbol = "diamond-cross"
	ScatterternaryMarkerSymbolNumber131               ScatterternaryMarkerSymbol = 131
	ScatterternaryMarkerSymbol131                     ScatterternaryMarkerSymbol = "131"
	ScatterternaryMarkerSymbolDiamondCrossOpen        ScatterternaryMarkerSymbol = "diamond-cross-open"
	ScatterternaryMarkerSymbolNumber32                ScatterternaryMarkerSymbol = 32
	ScatterternaryMarkerSymbol32                      ScatterternaryMarkerSymbol = "32"
	ScatterternaryMarkerSymbolDiamondX                ScatterternaryMarkerSymbol = "diamond-x"
	ScatterternaryMarkerSymbolNumber132               ScatterternaryMarkerSymbol = 132
	ScatterternaryMarkerSymbol132                     ScatterternaryMarkerSymbol = "132"
	ScatterternaryMarkerSymbolDiamondXOpen            ScatterternaryMarkerSymbol = "diamond-x-open"
	ScatterternaryMarkerSymbolNumber33                ScatterternaryMarkerSymbol = 33
	ScatterternaryMarkerSymbol33                      ScatterternaryMarkerSymbol = "33"
	ScatterternaryMarkerSymbolCrossThin               ScatterternaryMarkerSymbol = "cross-thin"
	ScatterternaryMarkerSymbolNumber133               ScatterternaryMarkerSymbol = 133
	ScatterternaryMarkerSymbol133                     ScatterternaryMarkerSymbol = "133"
	ScatterternaryMarkerSymbolCrossThinOpen           ScatterternaryMarkerSymbol = "cross-thin-open"
	ScatterternaryMarkerSymbolNumber34                ScatterternaryMarkerSymbol = 34
	ScatterternaryMarkerSymbol34                      ScatterternaryMarkerSymbol = "34"
	ScatterternaryMarkerSymbolXThin                   ScatterternaryMarkerSymbol = "x-thin"
	ScatterternaryMarkerSymbolNumber134               ScatterternaryMarkerSymbol = 134
	ScatterternaryMarkerSymbol134                     ScatterternaryMarkerSymbol = "134"
	ScatterternaryMarkerSymbolXThinOpen               ScatterternaryMarkerSymbol = "x-thin-open"
	ScatterternaryMarkerSymbolNumber35                ScatterternaryMarkerSymbol = 35
	ScatterternaryMarkerSymbol35                      ScatterternaryMarkerSymbol = "35"
	ScatterternaryMarkerSymbolAsterisk                ScatterternaryMarkerSymbol = "asterisk"
	ScatterternaryMarkerSymbolNumber135               ScatterternaryMarkerSymbol = 135
	ScatterternaryMarkerSymbol135                     ScatterternaryMarkerSymbol = "135"
	ScatterternaryMarkerSymbolAsteriskOpen            ScatterternaryMarkerSymbol = "asterisk-open"
	ScatterternaryMarkerSymbolNumber36                ScatterternaryMarkerSymbol = 36
	ScatterternaryMarkerSymbol36                      ScatterternaryMarkerSymbol = "36"
	ScatterternaryMarkerSymbolHash                    ScatterternaryMarkerSymbol = "hash"
	ScatterternaryMarkerSymbolNumber136               ScatterternaryMarkerSymbol = 136
	ScatterternaryMarkerSymbol136                     ScatterternaryMarkerSymbol = "136"
	ScatterternaryMarkerSymbolHashOpen                ScatterternaryMarkerSymbol = "hash-open"
	ScatterternaryMarkerSymbolNumber236               ScatterternaryMarkerSymbol = 236
	ScatterternaryMarkerSymbol236                     ScatterternaryMarkerSymbol = "236"
	ScatterternaryMarkerSymbolHashDot                 ScatterternaryMarkerSymbol = "hash-dot"
	ScatterternaryMarkerSymbolNumber336               ScatterternaryMarkerSymbol = 336
	ScatterternaryMarkerSymbol336                     ScatterternaryMarkerSymbol = "336"
	ScatterternaryMarkerSymbolHashOpenDot             ScatterternaryMarkerSymbol = "hash-open-dot"
	ScatterternaryMarkerSymbolNumber37                ScatterternaryMarkerSymbol = 37
	ScatterternaryMarkerSymbol37                      ScatterternaryMarkerSymbol = "37"
	ScatterternaryMarkerSymbolYUp                     ScatterternaryMarkerSymbol = "y-up"
	ScatterternaryMarkerSymbolNumber137               ScatterternaryMarkerSymbol = 137
	ScatterternaryMarkerSymbol137                     ScatterternaryMarkerSymbol = "137"
	ScatterternaryMarkerSymbolYUpOpen                 ScatterternaryMarkerSymbol = "y-up-open"
	ScatterternaryMarkerSymbolNumber38                ScatterternaryMarkerSymbol = 38
	ScatterternaryMarkerSymbol38                      ScatterternaryMarkerSymbol = "38"
	ScatterternaryMarkerSymbolYDown                   ScatterternaryMarkerSymbol = "y-down"
	ScatterternaryMarkerSymbolNumber138               ScatterternaryMarkerSymbol = 138
	ScatterternaryMarkerSymbol138                     ScatterternaryMarkerSymbol = "138"
	ScatterternaryMarkerSymbolYDownOpen               ScatterternaryMarkerSymbol = "y-down-open"
	ScatterternaryMarkerSymbolNumber39                ScatterternaryMarkerSymbol = 39
	ScatterternaryMarkerSymbol39                      ScatterternaryMarkerSymbol = "39"
	ScatterternaryMarkerSymbolYLeft                   ScatterternaryMarkerSymbol = "y-left"
	ScatterternaryMarkerSymbolNumber139               ScatterternaryMarkerSymbol = 139
	ScatterternaryMarkerSymbol139                     ScatterternaryMarkerSymbol = "139"
	ScatterternaryMarkerSymbolYLeftOpen               ScatterternaryMarkerSymbol = "y-left-open"
	ScatterternaryMarkerSymbolNumber40                ScatterternaryMarkerSymbol = 40
	ScatterternaryMarkerSymbol40                      ScatterternaryMarkerSymbol = "40"
	ScatterternaryMarkerSymbolYRight                  ScatterternaryMarkerSymbol = "y-right"
	ScatterternaryMarkerSymbolNumber140               ScatterternaryMarkerSymbol = 140
	ScatterternaryMarkerSymbol140                     ScatterternaryMarkerSymbol = "140"
	ScatterternaryMarkerSymbolYRightOpen              ScatterternaryMarkerSymbol = "y-right-open"
	ScatterternaryMarkerSymbolNumber41                ScatterternaryMarkerSymbol = 41
	ScatterternaryMarkerSymbol41                      ScatterternaryMarkerSymbol = "41"
	ScatterternaryMarkerSymbolLineEw                  ScatterternaryMarkerSymbol = "line-ew"
	ScatterternaryMarkerSymbolNumber141               ScatterternaryMarkerSymbol = 141
	ScatterternaryMarkerSymbol141                     ScatterternaryMarkerSymbol = "141"
	ScatterternaryMarkerSymbolLineEwOpen              ScatterternaryMarkerSymbol = "line-ew-open"
	ScatterternaryMarkerSymbolNumber42                ScatterternaryMarkerSymbol = 42
	ScatterternaryMarkerSymbol42                      ScatterternaryMarkerSymbol = "42"
	ScatterternaryMarkerSymbolLineNs                  ScatterternaryMarkerSymbol = "line-ns"
	ScatterternaryMarkerSymbolNumber142               ScatterternaryMarkerSymbol = 142
	ScatterternaryMarkerSymbol142                     ScatterternaryMarkerSymbol = "142"
	ScatterternaryMarkerSymbolLineNsOpen              ScatterternaryMarkerSymbol = "line-ns-open"
	ScatterternaryMarkerSymbolNumber43                ScatterternaryMarkerSymbol = 43
	ScatterternaryMarkerSymbol43                      ScatterternaryMarkerSymbol = "43"
	ScatterternaryMarkerSymbolLineNe                  ScatterternaryMarkerSymbol = "line-ne"
	ScatterternaryMarkerSymbolNumber143               ScatterternaryMarkerSymbol = 143
	ScatterternaryMarkerSymbol143                     ScatterternaryMarkerSymbol = "143"
	ScatterternaryMarkerSymbolLineNeOpen              ScatterternaryMarkerSymbol = "line-ne-open"
	ScatterternaryMarkerSymbolNumber44                ScatterternaryMarkerSymbol = 44
	ScatterternaryMarkerSymbol44                      ScatterternaryMarkerSymbol = "44"
	ScatterternaryMarkerSymbolLineNw                  ScatterternaryMarkerSymbol = "line-nw"
	ScatterternaryMarkerSymbolNumber144               ScatterternaryMarkerSymbol = 144
	ScatterternaryMarkerSymbol144                     ScatterternaryMarkerSymbol = "144"
	ScatterternaryMarkerSymbolLineNwOpen              ScatterternaryMarkerSymbol = "line-nw-open"
	ScatterternaryMarkerSymbolNumber45                ScatterternaryMarkerSymbol = 45
	ScatterternaryMarkerSymbol45                      ScatterternaryMarkerSymbol = "45"
	ScatterternaryMarkerSymbolArrowUp                 ScatterternaryMarkerSymbol = "arrow-up"
	ScatterternaryMarkerSymbolNumber145               ScatterternaryMarkerSymbol = 145
	ScatterternaryMarkerSymbol145                     ScatterternaryMarkerSymbol = "145"
	ScatterternaryMarkerSymbolArrowUpOpen             ScatterternaryMarkerSymbol = "arrow-up-open"
	ScatterternaryMarkerSymbolNumber46                ScatterternaryMarkerSymbol = 46
	ScatterternaryMarkerSymbol46                      ScatterternaryMarkerSymbol = "46"
	ScatterternaryMarkerSymbolArrowDown               ScatterternaryMarkerSymbol = "arrow-down"
	ScatterternaryMarkerSymbolNumber146               ScatterternaryMarkerSymbol = 146
	ScatterternaryMarkerSymbol146                     ScatterternaryMarkerSymbol = "146"
	ScatterternaryMarkerSymbolArrowDownOpen           ScatterternaryMarkerSymbol = "arrow-down-open"
	ScatterternaryMarkerSymbolNumber47                ScatterternaryMarkerSymbol = 47
	ScatterternaryMarkerSymbol47                      ScatterternaryMarkerSymbol = "47"
	ScatterternaryMarkerSymbolArrowLeft               ScatterternaryMarkerSymbol = "arrow-left"
	ScatterternaryMarkerSymbolNumber147               ScatterternaryMarkerSymbol = 147
	ScatterternaryMarkerSymbol147                     ScatterternaryMarkerSymbol = "147"
	ScatterternaryMarkerSymbolArrowLeftOpen           ScatterternaryMarkerSymbol = "arrow-left-open"
	ScatterternaryMarkerSymbolNumber48                ScatterternaryMarkerSymbol = 48
	ScatterternaryMarkerSymbol48                      ScatterternaryMarkerSymbol = "48"
	ScatterternaryMarkerSymbolArrowRight              ScatterternaryMarkerSymbol = "arrow-right"
	ScatterternaryMarkerSymbolNumber148               ScatterternaryMarkerSymbol = 148
	ScatterternaryMarkerSymbol148                     ScatterternaryMarkerSymbol = "148"
	ScatterternaryMarkerSymbolArrowRightOpen          ScatterternaryMarkerSymbol = "arrow-right-open"
	ScatterternaryMarkerSymbolNumber49                ScatterternaryMarkerSymbol = 49
	ScatterternaryMarkerSymbol49                      ScatterternaryMarkerSymbol = "49"
	ScatterternaryMarkerSymbolArrowBarUp              ScatterternaryMarkerSymbol = "arrow-bar-up"
	ScatterternaryMarkerSymbolNumber149               ScatterternaryMarkerSymbol = 149
	ScatterternaryMarkerSymbol149                     ScatterternaryMarkerSymbol = "149"
	ScatterternaryMarkerSymbolArrowBarUpOpen          ScatterternaryMarkerSymbol = "arrow-bar-up-open"
	ScatterternaryMarkerSymbolNumber50                ScatterternaryMarkerSymbol = 50
	ScatterternaryMarkerSymbol50                      ScatterternaryMarkerSymbol = "50"
	ScatterternaryMarkerSymbolArrowBarDown            ScatterternaryMarkerSymbol = "arrow-bar-down"
	ScatterternaryMarkerSymbolNumber150               ScatterternaryMarkerSymbol = 150
	ScatterternaryMarkerSymbol150                     ScatterternaryMarkerSymbol = "150"
	ScatterternaryMarkerSymbolArrowBarDownOpen        ScatterternaryMarkerSymbol = "arrow-bar-down-open"
	ScatterternaryMarkerSymbolNumber51                ScatterternaryMarkerSymbol = 51
	ScatterternaryMarkerSymbol51                      ScatterternaryMarkerSymbol = "51"
	ScatterternaryMarkerSymbolArrowBarLeft            ScatterternaryMarkerSymbol = "arrow-bar-left"
	ScatterternaryMarkerSymbolNumber151               ScatterternaryMarkerSymbol = 151
	ScatterternaryMarkerSymbol151                     ScatterternaryMarkerSymbol = "151"
	ScatterternaryMarkerSymbolArrowBarLeftOpen        ScatterternaryMarkerSymbol = "arrow-bar-left-open"
	ScatterternaryMarkerSymbolNumber52                ScatterternaryMarkerSymbol = 52
	ScatterternaryMarkerSymbol52                      ScatterternaryMarkerSymbol = "52"
	ScatterternaryMarkerSymbolArrowBarRight           ScatterternaryMarkerSymbol = "arrow-bar-right"
	ScatterternaryMarkerSymbolNumber152               ScatterternaryMarkerSymbol = 152
	ScatterternaryMarkerSymbol152                     ScatterternaryMarkerSymbol = "152"
	ScatterternaryMarkerSymbolArrowBarRightOpen       ScatterternaryMarkerSymbol = "arrow-bar-right-open"
)

type ScatterternaryMode

type ScatterternaryMode string

ScatterternaryMode Determines the drawing mode for this scatter trace. If the provided `mode` includes *text* then the `text` elements appear at the coordinates. Otherwise, the `text` elements appear on hover. If there are less than 20 points and the trace is not stacked then the default is *lines+markers*. Otherwise, *lines*.

const (
	// Flags
	ScatterternaryModeLines   ScatterternaryMode = "lines"
	ScatterternaryModeMarkers ScatterternaryMode = "markers"
	ScatterternaryModeText    ScatterternaryMode = "text"

	// Extra
	ScatterternaryModeNone ScatterternaryMode = "none"
)

type ScatterternarySelected

type ScatterternarySelected struct {

	// Marker
	// role: Object
	Marker *ScatterternarySelectedMarker `json:"marker,omitempty"`

	// Textfont
	// role: Object
	Textfont *ScatterternarySelectedTextfont `json:"textfont,omitempty"`
}

ScatterternarySelected

type ScatterternarySelectedMarker

type ScatterternarySelectedMarker struct {

	// Color
	// arrayOK: false
	// type: color
	// Sets the marker color of selected points.
	Color Color `json:"color,omitempty"`

	// Opacity
	// arrayOK: false
	// type: number
	// Sets the marker opacity of selected points.
	Opacity float64 `json:"opacity,omitempty"`

	// Size
	// arrayOK: false
	// type: number
	// Sets the marker size of selected points.
	Size float64 `json:"size,omitempty"`
}

ScatterternarySelectedMarker

type ScatterternarySelectedTextfont

type ScatterternarySelectedTextfont struct {

	// Color
	// arrayOK: false
	// type: color
	// Sets the text font color of selected points.
	Color Color `json:"color,omitempty"`
}

ScatterternarySelectedTextfont

type ScatterternaryStream

type ScatterternaryStream struct {

	// Maxpoints
	// arrayOK: false
	// type: number
	// Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot.
	Maxpoints float64 `json:"maxpoints,omitempty"`

	// Token
	// arrayOK: false
	// type: string
	// The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details.
	Token String `json:"token,omitempty"`
}

ScatterternaryStream

type ScatterternaryTextfont

type ScatterternaryTextfont struct {

	// Color
	// arrayOK: true
	// type: color
	//
	Color Color `json:"color,omitempty"`

	// Colorsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  color .
	Colorsrc String `json:"colorsrc,omitempty"`

	// Family
	// arrayOK: true
	// type: string
	// HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.
	Family String `json:"family,omitempty"`

	// Familysrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  family .
	Familysrc String `json:"familysrc,omitempty"`

	// Size
	// arrayOK: true
	// type: number
	//
	Size float64 `json:"size,omitempty"`

	// Sizesrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  size .
	Sizesrc String `json:"sizesrc,omitempty"`
}

ScatterternaryTextfont Sets the text font.

type ScatterternaryTextposition

type ScatterternaryTextposition string

ScatterternaryTextposition Sets the positions of the `text` elements with respects to the (x,y) coordinates.

const (
	ScatterternaryTextpositionTopLeft      ScatterternaryTextposition = "top left"
	ScatterternaryTextpositionTopCenter    ScatterternaryTextposition = "top center"
	ScatterternaryTextpositionTopRight     ScatterternaryTextposition = "top right"
	ScatterternaryTextpositionMiddleLeft   ScatterternaryTextposition = "middle left"
	ScatterternaryTextpositionMiddleCenter ScatterternaryTextposition = "middle center"
	ScatterternaryTextpositionMiddleRight  ScatterternaryTextposition = "middle right"
	ScatterternaryTextpositionBottomLeft   ScatterternaryTextposition = "bottom left"
	ScatterternaryTextpositionBottomCenter ScatterternaryTextposition = "bottom center"
	ScatterternaryTextpositionBottomRight  ScatterternaryTextposition = "bottom right"
)

type ScatterternaryUnselected

type ScatterternaryUnselected struct {

	// Marker
	// role: Object
	Marker *ScatterternaryUnselectedMarker `json:"marker,omitempty"`

	// Textfont
	// role: Object
	Textfont *ScatterternaryUnselectedTextfont `json:"textfont,omitempty"`
}

ScatterternaryUnselected

type ScatterternaryUnselectedMarker

type ScatterternaryUnselectedMarker struct {

	// Color
	// arrayOK: false
	// type: color
	// Sets the marker color of unselected points, applied only when a selection exists.
	Color Color `json:"color,omitempty"`

	// Opacity
	// arrayOK: false
	// type: number
	// Sets the marker opacity of unselected points, applied only when a selection exists.
	Opacity float64 `json:"opacity,omitempty"`

	// Size
	// arrayOK: false
	// type: number
	// Sets the marker size of unselected points, applied only when a selection exists.
	Size float64 `json:"size,omitempty"`
}

ScatterternaryUnselectedMarker

type ScatterternaryUnselectedTextfont

type ScatterternaryUnselectedTextfont struct {

	// Color
	// arrayOK: false
	// type: color
	// Sets the text font color of unselected points, applied only when a selection exists.
	Color Color `json:"color,omitempty"`
}

ScatterternaryUnselectedTextfont

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 (
	ScatterternaryVisibleTrue       ScatterternaryVisible = true
	ScatterternaryVisibleFalse      ScatterternaryVisible = false
	ScatterternaryVisibleLegendonly ScatterternaryVisible = "legendonly"
)

type Splom

type Splom struct {

	// Type
	// is the type of the plot
	Type TraceType `json:"type,omitempty"`

	// Customdata
	// arrayOK: false
	// type: data_array
	// Assigns extra data each datum. This may be useful when listening to hover, click and selection events. Note that, *scatter* traces also appends customdata items in the markers DOM elements
	Customdata interface{} `json:"customdata,omitempty"`

	// Customdatasrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  customdata .
	Customdatasrc String `json:"customdatasrc,omitempty"`

	// Diagonal
	// role: Object
	Diagonal *SplomDiagonal `json:"diagonal,omitempty"`

	// Dimensions
	// It's an items array and what goes inside it's... messy... check the docs
	// I will be happy if you want to contribute by implementing this
	// just raise an issue before you start so we do not overlap
	Dimensions interface{} `json:"dimensions,omitempty"`

	// Hoverinfo
	// default: all
	// type: flaglist
	// Determines which trace information appear on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired.
	Hoverinfo SplomHoverinfo `json:"hoverinfo,omitempty"`

	// Hoverinfosrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  hoverinfo .
	Hoverinfosrc String `json:"hoverinfosrc,omitempty"`

	// Hoverlabel
	// role: Object
	Hoverlabel *SplomHoverlabel `json:"hoverlabel,omitempty"`

	// Hovertemplate
	// arrayOK: true
	// type: string
	// Template string used for rendering the information that appear on hover box. Note that this will override `hoverinfo`. Variables are inserted using %{variable}, for example "y: %{y}". 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 String `json:"hovertemplate,omitempty"`

	// Hovertemplatesrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  hovertemplate .
	Hovertemplatesrc String `json:"hovertemplatesrc,omitempty"`

	// Hovertext
	// arrayOK: true
	// type: string
	// Same as `text`.
	Hovertext String `json:"hovertext,omitempty"`

	// Hovertextsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  hovertext .
	Hovertextsrc String `json:"hovertextsrc,omitempty"`

	// Ids
	// arrayOK: false
	// type: data_array
	// Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type.
	Ids interface{} `json:"ids,omitempty"`

	// Idssrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  ids .
	Idssrc String `json:"idssrc,omitempty"`

	// Legendgroup
	// arrayOK: false
	// type: string
	// Sets the legend group for this trace. Traces part of the same legend group hide/show at the same time when toggling legend items.
	Legendgroup String `json:"legendgroup,omitempty"`

	// Marker
	// role: Object
	Marker *SplomMarker `json:"marker,omitempty"`

	// Meta
	// arrayOK: true
	// type: any
	// Assigns extra meta information associated with this trace that can be used in various text attributes. Attributes such as trace `name`, graph, axis and colorbar `title.text`, annotation `text` `rangeselector`, `updatemenues` and `sliders` `label` text all support `meta`. To access the trace `meta` values in an attribute in the same trace, simply use `%{meta[i]}` where `i` is the index or key of the `meta` item in question. To access trace `meta` in layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index.
	Meta interface{} `json:"meta,omitempty"`

	// Metasrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  meta .
	Metasrc String `json:"metasrc,omitempty"`

	// Name
	// arrayOK: false
	// type: string
	// Sets the trace name. The trace name appear as the legend item and on hover.
	Name String `json:"name,omitempty"`

	// Opacity
	// arrayOK: false
	// type: number
	// Sets the opacity of the trace.
	Opacity float64 `json:"opacity,omitempty"`

	// Selected
	// role: Object
	Selected *SplomSelected `json:"selected,omitempty"`

	// Selectedpoints
	// arrayOK: false
	// type: any
	// Array containing integer indices of selected points. Has an effect only for traces that support selections. Note that an empty array means an empty selection where the `unselected` are turned on for all points, whereas, any other non-array values means no selection all where the `selected` and `unselected` styles have no effect.
	Selectedpoints interface{} `json:"selectedpoints,omitempty"`

	// Showlegend
	// arrayOK: false
	// type: boolean
	// Determines whether or not an item corresponding to this trace is shown in the legend.
	Showlegend Bool `json:"showlegend,omitempty"`

	// Showlowerhalf
	// arrayOK: false
	// type: boolean
	// Determines whether or not subplots on the lower half from the diagonal are displayed.
	Showlowerhalf Bool `json:"showlowerhalf,omitempty"`

	// Showupperhalf
	// arrayOK: false
	// type: boolean
	// Determines whether or not subplots on the upper half from the diagonal are displayed.
	Showupperhalf Bool `json:"showupperhalf,omitempty"`

	// Stream
	// role: Object
	Stream *SplomStream `json:"stream,omitempty"`

	// Text
	// arrayOK: true
	// type: string
	// Sets text elements associated with each (x,y) pair to appear on hover. If a single string, the same string appears over all the data points. If an array of string, the items are mapped in order to the this trace's (x,y) coordinates.
	Text String `json:"text,omitempty"`

	// Textsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  text .
	Textsrc String `json:"textsrc,omitempty"`

	// Transforms
	// It's an items array and what goes inside it's... messy... check the docs
	// I will be happy if you want to contribute by implementing this
	// just raise an issue before you start so we do not overlap
	Transforms interface{} `json:"transforms,omitempty"`

	// Uid
	// arrayOK: false
	// type: string
	// Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.
	Uid String `json:"uid,omitempty"`

	// Uirevision
	// arrayOK: false
	// type: any
	// Controls persistence of some user-driven changes to the trace: `constraintrange` in `parcoords` traces, as well as some `editable: true` modifications such as `name` and `colorbar.title`. Defaults to `layout.uirevision`. Note that other user-driven trace attribute changes are controlled by `layout` attributes: `trace.visible` is controlled by `layout.legend.uirevision`, `selectedpoints` is controlled by `layout.selectionrevision`, and `colorbar.(x|y)` (accessible with `config: {editable: true}`) is controlled by `layout.editrevision`. Trace changes are tracked by `uid`, which only falls back on trace index if no `uid` is provided. So if your app can add/remove traces before the end of the `data` array, such that the same trace has a different index, you can still preserve user-driven changes if you give each trace a `uid` that stays with it as it moves.
	Uirevision interface{} `json:"uirevision,omitempty"`

	// Unselected
	// role: Object
	Unselected *SplomUnselected `json:"unselected,omitempty"`

	// Visible
	// default: %!s(bool=true)
	// type: enumerated
	// Determines whether or not this trace is visible. If *legendonly*, the trace is not drawn, but can appear as a legend item (provided that the legend itself is visible).
	Visible SplomVisible `json:"visible,omitempty"`

	// Xaxes
	// arrayOK: false
	// type: info_array
	// Sets the list of x axes corresponding to dimensions of this splom trace. By default, a splom will match the first N xaxes where N is the number of input dimensions. Note that, in case where `diagonal.visible` is false and `showupperhalf` or `showlowerhalf` is false, this splom trace will generate one less x-axis and one less y-axis.
	Xaxes interface{} `json:"xaxes,omitempty"`

	// Yaxes
	// arrayOK: false
	// type: info_array
	// Sets the list of y axes corresponding to dimensions of this splom trace. By default, a splom will match the first N yaxes where N is the number of input dimensions. Note that, in case where `diagonal.visible` is false and `showupperhalf` or `showlowerhalf` is false, this splom trace will generate one less x-axis and one less y-axis.
	Yaxes interface{} `json:"yaxes,omitempty"`
}

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 (*Splom) GetType

func (trace *Splom) GetType() TraceType

type SplomDiagonal

type SplomDiagonal struct {

	// Visible
	// arrayOK: false
	// type: boolean
	// Determines whether or not subplots on the diagonal are displayed.
	Visible Bool `json:"visible,omitempty"`
}

SplomDiagonal

type SplomHoverinfo

type SplomHoverinfo string

SplomHoverinfo Determines which trace information appear on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired.

const (
	// Flags
	SplomHoverinfoX    SplomHoverinfo = "x"
	SplomHoverinfoY    SplomHoverinfo = "y"
	SplomHoverinfoZ    SplomHoverinfo = "z"
	SplomHoverinfoText SplomHoverinfo = "text"
	SplomHoverinfoName SplomHoverinfo = "name"

	// Extra
	SplomHoverinfoAll  SplomHoverinfo = "all"
	SplomHoverinfoNone SplomHoverinfo = "none"
	SplomHoverinfoSkip SplomHoverinfo = "skip"
)

type SplomHoverlabel

type SplomHoverlabel struct {

	// Align
	// default: auto
	// type: enumerated
	// Sets the horizontal alignment of the text content within hover label box. Has an effect only if the hover label text spans more two or more lines
	Align SplomHoverlabelAlign `json:"align,omitempty"`

	// Alignsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  align .
	Alignsrc String `json:"alignsrc,omitempty"`

	// Bgcolor
	// arrayOK: true
	// type: color
	// Sets the background color of the hover labels for this trace
	Bgcolor Color `json:"bgcolor,omitempty"`

	// Bgcolorsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  bgcolor .
	Bgcolorsrc String `json:"bgcolorsrc,omitempty"`

	// Bordercolor
	// arrayOK: true
	// type: color
	// Sets the border color of the hover labels for this trace.
	Bordercolor Color `json:"bordercolor,omitempty"`

	// Bordercolorsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  bordercolor .
	Bordercolorsrc String `json:"bordercolorsrc,omitempty"`

	// Font
	// role: Object
	Font *SplomHoverlabelFont `json:"font,omitempty"`

	// Namelength
	// arrayOK: true
	// type: integer
	// Sets the default length (in number of characters) of the trace name in the hover labels for all traces. -1 shows the whole name regardless of length. 0-3 shows the first 0-3 characters, and an integer >3 will show the whole name if it is less than that many characters, but if it is longer, will truncate to `namelength - 3` characters and add an ellipsis.
	Namelength int64 `json:"namelength,omitempty"`

	// Namelengthsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  namelength .
	Namelengthsrc String `json:"namelengthsrc,omitempty"`
}

SplomHoverlabel

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 (
	SplomHoverlabelAlignLeft  SplomHoverlabelAlign = "left"
	SplomHoverlabelAlignRight SplomHoverlabelAlign = "right"
	SplomHoverlabelAlignAuto  SplomHoverlabelAlign = "auto"
)

type SplomHoverlabelFont

type SplomHoverlabelFont struct {

	// Color
	// arrayOK: true
	// type: color
	//
	Color Color `json:"color,omitempty"`

	// Colorsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  color .
	Colorsrc String `json:"colorsrc,omitempty"`

	// Family
	// arrayOK: true
	// type: string
	// HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.
	Family String `json:"family,omitempty"`

	// Familysrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  family .
	Familysrc String `json:"familysrc,omitempty"`

	// Size
	// arrayOK: true
	// type: number
	//
	Size float64 `json:"size,omitempty"`

	// Sizesrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  size .
	Sizesrc String `json:"sizesrc,omitempty"`
}

SplomHoverlabelFont Sets the font used in hover labels.

type SplomMarker

type SplomMarker struct {

	// Autocolorscale
	// arrayOK: false
	// type: boolean
	// Determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by `marker.colorscale`. Has an effect only if in `marker.color`is set to a numerical array. In case `colorscale` is unspecified or `autocolorscale` is true, the default  palette will be chosen according to whether numbers in the `color` array are all positive, all negative or mixed.
	Autocolorscale Bool `json:"autocolorscale,omitempty"`

	// Cauto
	// arrayOK: false
	// type: boolean
	// Determines whether or not the color domain is computed with respect to the input data (here in `marker.color`) or the bounds set in `marker.cmin` and `marker.cmax`  Has an effect only if in `marker.color`is set to a numerical array. Defaults to `false` when `marker.cmin` and `marker.cmax` are set by the user.
	Cauto Bool `json:"cauto,omitempty"`

	// Cmax
	// arrayOK: false
	// type: number
	// Sets the upper bound of the color domain. Has an effect only if in `marker.color`is set to a numerical array. Value should have the same units as in `marker.color` and if set, `marker.cmin` must be set as well.
	Cmax float64 `json:"cmax,omitempty"`

	// Cmid
	// arrayOK: false
	// type: number
	// Sets the mid-point of the color domain by scaling `marker.cmin` and/or `marker.cmax` to be equidistant to this point. Has an effect only if in `marker.color`is set to a numerical array. Value should have the same units as in `marker.color`. Has no effect when `marker.cauto` is `false`.
	Cmid float64 `json:"cmid,omitempty"`

	// Cmin
	// arrayOK: false
	// type: number
	// Sets the lower bound of the color domain. Has an effect only if in `marker.color`is set to a numerical array. Value should have the same units as in `marker.color` and if set, `marker.cmax` must be set as well.
	Cmin float64 `json:"cmin,omitempty"`

	// Color
	// arrayOK: true
	// type: color
	// Sets themarkercolor. It accepts either a specific color or an array of numbers that are mapped to the colorscale relative to the max and min values of the array or relative to `marker.cmin` and `marker.cmax` if set.
	Color Color `json:"color,omitempty"`

	// Coloraxis
	// arrayOK: false
	// type: subplotid
	// Sets a reference to a shared color axis. References to these shared color axes are *coloraxis*, *coloraxis2*, *coloraxis3*, etc. Settings for these shared color axes are set in the layout, under `layout.coloraxis`, `layout.coloraxis2`, etc. Note that multiple color scales can be linked to the same color axis.
	Coloraxis String `json:"coloraxis,omitempty"`

	// Colorbar
	// role: Object
	Colorbar *SplomMarkerColorbar `json:"colorbar,omitempty"`

	// Colorscale
	// default: %!s(<nil>)
	// type: colorscale
	// Sets the colorscale. Has an effect only if in `marker.color`is set to a numerical array. The colorscale must be an array containing arrays mapping a normalized value to an rgb, rgba, hex, hsl, hsv, or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, use`marker.cmin` and `marker.cmax`. Alternatively, `colorscale` may be a palette name string of the following list: Greys,YlGnBu,Greens,YlOrRd,Bluered,RdBu,Reds,Blues,Picnic,Rainbow,Portland,Jet,Hot,Blackbody,Earth,Electric,Viridis,Cividis.
	Colorscale ColorScale `json:"colorscale,omitempty"`

	// Colorsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  color .
	Colorsrc String `json:"colorsrc,omitempty"`

	// Line
	// role: Object
	Line *SplomMarkerLine `json:"line,omitempty"`

	// Opacity
	// arrayOK: true
	// type: number
	// Sets the marker opacity.
	Opacity float64 `json:"opacity,omitempty"`

	// Opacitysrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  opacity .
	Opacitysrc String `json:"opacitysrc,omitempty"`

	// Reversescale
	// arrayOK: false
	// type: boolean
	// Reverses the color mapping if true. Has an effect only if in `marker.color`is set to a numerical array. If true, `marker.cmin` will correspond to the last color in the array and `marker.cmax` will correspond to the first color.
	Reversescale Bool `json:"reversescale,omitempty"`

	// Showscale
	// arrayOK: false
	// type: boolean
	// Determines whether or not a colorbar is displayed for this trace. Has an effect only if in `marker.color`is set to a numerical array.
	Showscale Bool `json:"showscale,omitempty"`

	// Size
	// arrayOK: true
	// type: number
	// Sets the marker size (in px).
	Size float64 `json:"size,omitempty"`

	// Sizemin
	// arrayOK: false
	// type: number
	// Has an effect only if `marker.size` is set to a numerical array. Sets the minimum size (in px) of the rendered marker points.
	Sizemin float64 `json:"sizemin,omitempty"`

	// Sizemode
	// default: diameter
	// type: enumerated
	// Has an effect only if `marker.size` is set to a numerical array. Sets the rule for which the data in `size` is converted to pixels.
	Sizemode SplomMarkerSizemode `json:"sizemode,omitempty"`

	// Sizeref
	// arrayOK: false
	// type: number
	// Has an effect only if `marker.size` is set to a numerical array. Sets the scale factor used to determine the rendered size of marker points. Use with `sizemin` and `sizemode`.
	Sizeref float64 `json:"sizeref,omitempty"`

	// Sizesrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  size .
	Sizesrc String `json:"sizesrc,omitempty"`

	// Symbol
	// default: circle
	// type: enumerated
	// Sets the marker symbol type. Adding 100 is equivalent to appending *-open* to a symbol name. Adding 200 is equivalent to appending *-dot* to a symbol name. Adding 300 is equivalent to appending *-open-dot* or *dot-open* to a symbol name.
	Symbol SplomMarkerSymbol `json:"symbol,omitempty"`

	// Symbolsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  symbol .
	Symbolsrc String `json:"symbolsrc,omitempty"`
}

SplomMarker

type SplomMarkerColorbar

type SplomMarkerColorbar struct {

	// Bgcolor
	// arrayOK: false
	// type: color
	// Sets the color of padded area.
	Bgcolor Color `json:"bgcolor,omitempty"`

	// Bordercolor
	// arrayOK: false
	// type: color
	// Sets the axis line color.
	Bordercolor Color `json:"bordercolor,omitempty"`

	// Borderwidth
	// arrayOK: false
	// type: number
	// Sets the width (in px) or the border enclosing this color bar.
	Borderwidth float64 `json:"borderwidth,omitempty"`

	// Dtick
	// arrayOK: false
	// type: any
	// Sets the step in-between ticks on this axis. Use with `tick0`. Must be a positive number, or special strings available to *log* and *date* axes. If the axis `type` is *log*, then ticks are set every 10^(n*dtick) where n is the tick number. For example, to set a tick mark at 1, 10, 100, 1000, ... set dtick to 1. To set tick marks at 1, 100, 10000, ... set dtick to 2. To set tick marks at 1, 5, 25, 125, 625, 3125, ... set dtick to log_10(5), or 0.69897000433. *log* has several special values; *L<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
	// default: B
	// type: enumerated
	// Determines a formatting rule for the tick exponents. For example, consider the number 1,000,000,000. If *none*, it appears as 1,000,000,000. If *e*, 1e+9. If *E*, 1E+9. If *power*, 1x10^9 (with 9 in a super script). If *SI*, 1G. If *B*, 1B.
	Exponentformat SplomMarkerColorbarExponentformat `json:"exponentformat,omitempty"`

	// Len
	// arrayOK: false
	// type: number
	// Sets the length of the color bar This measure excludes the padding of both ends. That is, the color bar length is this length minus the padding on both ends.
	Len float64 `json:"len,omitempty"`

	// Lenmode
	// default: fraction
	// type: enumerated
	// Determines whether this color bar's length (i.e. the measure in the color variation direction) is set in units of plot *fraction* or in *pixels. Use `len` to set the value.
	Lenmode SplomMarkerColorbarLenmode `json:"lenmode,omitempty"`

	// Minexponent
	// arrayOK: false
	// type: number
	// Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*.
	Minexponent float64 `json:"minexponent,omitempty"`

	// Nticks
	// arrayOK: false
	// type: integer
	// Specifies the maximum number of ticks for the particular axis. The actual number of ticks will be chosen automatically to be less than or equal to `nticks`. Has an effect only if `tickmode` is set to *auto*.
	Nticks int64 `json:"nticks,omitempty"`

	// Outlinecolor
	// arrayOK: false
	// type: color
	// Sets the axis line color.
	Outlinecolor Color `json:"outlinecolor,omitempty"`

	// Outlinewidth
	// arrayOK: false
	// type: number
	// Sets the width (in px) of the axis line.
	Outlinewidth float64 `json:"outlinewidth,omitempty"`

	// Separatethousands
	// arrayOK: false
	// type: boolean
	// If "true", even 4-digit integers are separated
	Separatethousands Bool `json:"separatethousands,omitempty"`

	// Showexponent
	// default: all
	// type: enumerated
	// If *all*, all exponents are shown besides their significands. If *first*, only the exponent of the first tick is shown. If *last*, only the exponent of the last tick is shown. If *none*, no exponents appear.
	Showexponent SplomMarkerColorbarShowexponent `json:"showexponent,omitempty"`

	// Showticklabels
	// arrayOK: false
	// type: boolean
	// Determines whether or not the tick labels are drawn.
	Showticklabels Bool `json:"showticklabels,omitempty"`

	// Showtickprefix
	// default: all
	// type: enumerated
	// If *all*, all tick labels are displayed with a prefix. If *first*, only the first tick is displayed with a prefix. If *last*, only the last tick is displayed with a suffix. If *none*, tick prefixes are hidden.
	Showtickprefix SplomMarkerColorbarShowtickprefix `json:"showtickprefix,omitempty"`

	// Showticksuffix
	// default: all
	// type: enumerated
	// Same as `showtickprefix` but for tick suffixes.
	Showticksuffix SplomMarkerColorbarShowticksuffix `json:"showticksuffix,omitempty"`

	// Thickness
	// arrayOK: false
	// type: number
	// Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.
	Thickness float64 `json:"thickness,omitempty"`

	// Thicknessmode
	// default: pixels
	// type: enumerated
	// Determines whether this color bar's thickness (i.e. the measure in the constant color direction) is set in units of plot *fraction* or in *pixels*. Use `thickness` to set the value.
	Thicknessmode SplomMarkerColorbarThicknessmode `json:"thicknessmode,omitempty"`

	// Tick0
	// arrayOK: false
	// type: any
	// Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2) except when `dtick`=*L<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
	// arrayOK: false
	// type: angle
	// Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.
	Tickangle float64 `json:"tickangle,omitempty"`

	// Tickcolor
	// arrayOK: false
	// type: color
	// Sets the tick color.
	Tickcolor Color `json:"tickcolor,omitempty"`

	// Tickfont
	// role: Object
	Tickfont *SplomMarkerColorbarTickfont `json:"tickfont,omitempty"`

	// Tickformat
	// arrayOK: false
	// type: string
	// Sets the tick label formatting rule using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-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
	// It's an items array and what goes inside it's... messy... check the docs
	// I will be happy if you want to contribute by implementing this
	// just raise an issue before you start so we do not overlap
	Tickformatstops interface{} `json:"tickformatstops,omitempty"`

	// Ticklabelposition
	// default: outside
	// type: enumerated
	// Determines where tick labels are drawn.
	Ticklabelposition SplomMarkerColorbarTicklabelposition `json:"ticklabelposition,omitempty"`

	// Ticklen
	// arrayOK: false
	// type: number
	// Sets the tick length (in px).
	Ticklen float64 `json:"ticklen,omitempty"`

	// Tickmode
	// default: %!s(<nil>)
	// type: enumerated
	// Sets the tick mode for this axis. If *auto*, the number of ticks is set via `nticks`. If *linear*, the placement of the ticks is determined by a starting position `tick0` and a tick step `dtick` (*linear* is the default value if `tick0` and `dtick` are provided). If *array*, the placement of the ticks is set via `tickvals` and the tick text is `ticktext`. (*array* is the default value if `tickvals` is provided).
	Tickmode SplomMarkerColorbarTickmode `json:"tickmode,omitempty"`

	// Tickprefix
	// arrayOK: false
	// type: string
	// Sets a tick label prefix.
	Tickprefix String `json:"tickprefix,omitempty"`

	// Ticks
	// default:
	// type: enumerated
	// Determines whether ticks are drawn or not. If **, this axis' ticks are not drawn. If *outside* (*inside*), this axis' are drawn outside (inside) the axis lines.
	Ticks SplomMarkerColorbarTicks `json:"ticks,omitempty"`

	// Ticksuffix
	// arrayOK: false
	// type: string
	// Sets a tick label suffix.
	Ticksuffix String `json:"ticksuffix,omitempty"`

	// Ticktext
	// arrayOK: false
	// type: data_array
	// Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `tickvals`.
	Ticktext interface{} `json:"ticktext,omitempty"`

	// Ticktextsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  ticktext .
	Ticktextsrc String `json:"ticktextsrc,omitempty"`

	// Tickvals
	// arrayOK: false
	// type: data_array
	// Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.
	Tickvals interface{} `json:"tickvals,omitempty"`

	// Tickvalssrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  tickvals .
	Tickvalssrc String `json:"tickvalssrc,omitempty"`

	// Tickwidth
	// arrayOK: false
	// type: number
	// Sets the tick width (in px).
	Tickwidth float64 `json:"tickwidth,omitempty"`

	// Title
	// role: Object
	Title *SplomMarkerColorbarTitle `json:"title,omitempty"`

	// X
	// arrayOK: false
	// type: number
	// Sets the x position of the color bar (in plot fraction).
	X float64 `json:"x,omitempty"`

	// Xanchor
	// default: left
	// type: enumerated
	// Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the color bar.
	Xanchor SplomMarkerColorbarXanchor `json:"xanchor,omitempty"`

	// Xpad
	// arrayOK: false
	// type: number
	// Sets the amount of padding (in px) along the x direction.
	Xpad float64 `json:"xpad,omitempty"`

	// Y
	// arrayOK: false
	// type: number
	// Sets the y position of the color bar (in plot fraction).
	Y float64 `json:"y,omitempty"`

	// Yanchor
	// default: middle
	// type: enumerated
	// Sets this color bar's vertical position anchor This anchor binds the `y` position to the *top*, *middle* or *bottom* of the color bar.
	Yanchor SplomMarkerColorbarYanchor `json:"yanchor,omitempty"`

	// Ypad
	// arrayOK: false
	// type: number
	// Sets the amount of padding (in px) along the y direction.
	Ypad float64 `json:"ypad,omitempty"`
}

SplomMarkerColorbar

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 (
	SplomMarkerColorbarExponentformatNone  SplomMarkerColorbarExponentformat = "none"
	SplomMarkerColorbarExponentformatE1    SplomMarkerColorbarExponentformat = "e"
	SplomMarkerColorbarExponentformatE2    SplomMarkerColorbarExponentformat = "E"
	SplomMarkerColorbarExponentformatPower SplomMarkerColorbarExponentformat = "power"
	SplomMarkerColorbarExponentformatSi    SplomMarkerColorbarExponentformat = "SI"
	SplomMarkerColorbarExponentformatB     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 (
	SplomMarkerColorbarLenmodeFraction SplomMarkerColorbarLenmode = "fraction"
	SplomMarkerColorbarLenmodePixels   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 (
	SplomMarkerColorbarShowexponentAll   SplomMarkerColorbarShowexponent = "all"
	SplomMarkerColorbarShowexponentFirst SplomMarkerColorbarShowexponent = "first"
	SplomMarkerColorbarShowexponentLast  SplomMarkerColorbarShowexponent = "last"
	SplomMarkerColorbarShowexponentNone  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 (
	SplomMarkerColorbarShowtickprefixAll   SplomMarkerColorbarShowtickprefix = "all"
	SplomMarkerColorbarShowtickprefixFirst SplomMarkerColorbarShowtickprefix = "first"
	SplomMarkerColorbarShowtickprefixLast  SplomMarkerColorbarShowtickprefix = "last"
	SplomMarkerColorbarShowtickprefixNone  SplomMarkerColorbarShowtickprefix = "none"
)

type SplomMarkerColorbarShowticksuffix

type SplomMarkerColorbarShowticksuffix string

SplomMarkerColorbarShowticksuffix Same as `showtickprefix` but for tick suffixes.

const (
	SplomMarkerColorbarShowticksuffixAll   SplomMarkerColorbarShowticksuffix = "all"
	SplomMarkerColorbarShowticksuffixFirst SplomMarkerColorbarShowticksuffix = "first"
	SplomMarkerColorbarShowticksuffixLast  SplomMarkerColorbarShowticksuffix = "last"
	SplomMarkerColorbarShowticksuffixNone  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 (
	SplomMarkerColorbarThicknessmodeFraction SplomMarkerColorbarThicknessmode = "fraction"
	SplomMarkerColorbarThicknessmodePixels   SplomMarkerColorbarThicknessmode = "pixels"
)

type SplomMarkerColorbarTickfont

type SplomMarkerColorbarTickfont struct {

	// Color
	// arrayOK: false
	// type: color
	//
	Color Color `json:"color,omitempty"`

	// Family
	// arrayOK: false
	// type: string
	// HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.
	Family String `json:"family,omitempty"`

	// Size
	// arrayOK: false
	// type: number
	//
	Size float64 `json:"size,omitempty"`
}

SplomMarkerColorbarTickfont Sets the color bar's tick label font

type SplomMarkerColorbarTicklabelposition added in v0.3.1

type SplomMarkerColorbarTicklabelposition string

SplomMarkerColorbarTicklabelposition Determines where tick labels are drawn.

const (
	SplomMarkerColorbarTicklabelpositionOutside       SplomMarkerColorbarTicklabelposition = "outside"
	SplomMarkerColorbarTicklabelpositionInside        SplomMarkerColorbarTicklabelposition = "inside"
	SplomMarkerColorbarTicklabelpositionOutsideTop    SplomMarkerColorbarTicklabelposition = "outside top"
	SplomMarkerColorbarTicklabelpositionInsideTop     SplomMarkerColorbarTicklabelposition = "inside top"
	SplomMarkerColorbarTicklabelpositionOutsideBottom SplomMarkerColorbarTicklabelposition = "outside bottom"
	SplomMarkerColorbarTicklabelpositionInsideBottom  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 (
	SplomMarkerColorbarTickmodeAuto   SplomMarkerColorbarTickmode = "auto"
	SplomMarkerColorbarTickmodeLinear SplomMarkerColorbarTickmode = "linear"
	SplomMarkerColorbarTickmodeArray  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 (
	SplomMarkerColorbarTicksOutside SplomMarkerColorbarTicks = "outside"
	SplomMarkerColorbarTicksInside  SplomMarkerColorbarTicks = "inside"
	SplomMarkerColorbarTicksEmpty   SplomMarkerColorbarTicks = ""
)

type SplomMarkerColorbarTitle

type SplomMarkerColorbarTitle struct {

	// Font
	// role: Object
	Font *SplomMarkerColorbarTitleFont `json:"font,omitempty"`

	// Side
	// default: top
	// type: enumerated
	// Determines the location of color bar's title with respect to the color bar. Note that the title's location used to be set by the now deprecated `titleside` attribute.
	Side SplomMarkerColorbarTitleSide `json:"side,omitempty"`

	// Text
	// arrayOK: false
	// type: string
	// Sets the title of the color bar. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.
	Text String `json:"text,omitempty"`
}

SplomMarkerColorbarTitle

type SplomMarkerColorbarTitleFont

type SplomMarkerColorbarTitleFont struct {

	// Color
	// arrayOK: false
	// type: color
	//
	Color Color `json:"color,omitempty"`

	// Family
	// arrayOK: false
	// type: string
	// HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.
	Family String `json:"family,omitempty"`

	// Size
	// arrayOK: false
	// type: number
	//
	Size float64 `json:"size,omitempty"`
}

SplomMarkerColorbarTitleFont Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.

type 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 (
	SplomMarkerColorbarTitleSideRight  SplomMarkerColorbarTitleSide = "right"
	SplomMarkerColorbarTitleSideTop    SplomMarkerColorbarTitleSide = "top"
	SplomMarkerColorbarTitleSideBottom 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 (
	SplomMarkerColorbarXanchorLeft   SplomMarkerColorbarXanchor = "left"
	SplomMarkerColorbarXanchorCenter SplomMarkerColorbarXanchor = "center"
	SplomMarkerColorbarXanchorRight  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 (
	SplomMarkerColorbarYanchorTop    SplomMarkerColorbarYanchor = "top"
	SplomMarkerColorbarYanchorMiddle SplomMarkerColorbarYanchor = "middle"
	SplomMarkerColorbarYanchorBottom SplomMarkerColorbarYanchor = "bottom"
)

type SplomMarkerLine

type SplomMarkerLine struct {

	// Autocolorscale
	// arrayOK: false
	// type: boolean
	// Determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by `marker.line.colorscale`. Has an effect only if in `marker.line.color`is set to a numerical array. In case `colorscale` is unspecified or `autocolorscale` is true, the default  palette will be chosen according to whether numbers in the `color` array are all positive, all negative or mixed.
	Autocolorscale Bool `json:"autocolorscale,omitempty"`

	// Cauto
	// arrayOK: false
	// type: boolean
	// Determines whether or not the color domain is computed with respect to the input data (here in `marker.line.color`) or the bounds set in `marker.line.cmin` and `marker.line.cmax`  Has an effect only if in `marker.line.color`is set to a numerical array. Defaults to `false` when `marker.line.cmin` and `marker.line.cmax` are set by the user.
	Cauto Bool `json:"cauto,omitempty"`

	// Cmax
	// arrayOK: false
	// type: number
	// Sets the upper bound of the color domain. Has an effect only if in `marker.line.color`is set to a numerical array. Value should have the same units as in `marker.line.color` and if set, `marker.line.cmin` must be set as well.
	Cmax float64 `json:"cmax,omitempty"`

	// Cmid
	// arrayOK: false
	// type: number
	// Sets the mid-point of the color domain by scaling `marker.line.cmin` and/or `marker.line.cmax` to be equidistant to this point. Has an effect only if in `marker.line.color`is set to a numerical array. Value should have the same units as in `marker.line.color`. Has no effect when `marker.line.cauto` is `false`.
	Cmid float64 `json:"cmid,omitempty"`

	// Cmin
	// arrayOK: false
	// type: number
	// Sets the lower bound of the color domain. Has an effect only if in `marker.line.color`is set to a numerical array. Value should have the same units as in `marker.line.color` and if set, `marker.line.cmax` must be set as well.
	Cmin float64 `json:"cmin,omitempty"`

	// Color
	// arrayOK: true
	// type: color
	// Sets 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 Color `json:"color,omitempty"`

	// Coloraxis
	// arrayOK: false
	// type: subplotid
	// Sets a reference to a shared color axis. References to these shared color axes are *coloraxis*, *coloraxis2*, *coloraxis3*, etc. Settings for these shared color axes are set in the layout, under `layout.coloraxis`, `layout.coloraxis2`, etc. Note that multiple color scales can be linked to the same color axis.
	Coloraxis String `json:"coloraxis,omitempty"`

	// Colorscale
	// default: %!s(<nil>)
	// type: colorscale
	// Sets the colorscale. Has an effect only if in `marker.line.color`is set to a numerical array. The colorscale must be an array containing arrays mapping a normalized value to an rgb, rgba, hex, hsl, hsv, or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, use`marker.line.cmin` and `marker.line.cmax`. Alternatively, `colorscale` may be a palette name string of the following list: Greys,YlGnBu,Greens,YlOrRd,Bluered,RdBu,Reds,Blues,Picnic,Rainbow,Portland,Jet,Hot,Blackbody,Earth,Electric,Viridis,Cividis.
	Colorscale ColorScale `json:"colorscale,omitempty"`

	// Colorsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  color .
	Colorsrc String `json:"colorsrc,omitempty"`

	// Reversescale
	// arrayOK: false
	// type: boolean
	// Reverses the color mapping if true. Has an effect only if in `marker.line.color`is set to a numerical array. If true, `marker.line.cmin` will correspond to the last color in the array and `marker.line.cmax` will correspond to the first color.
	Reversescale Bool `json:"reversescale,omitempty"`

	// Width
	// arrayOK: true
	// type: number
	// Sets the width (in px) of the lines bounding the marker points.
	Width float64 `json:"width,omitempty"`

	// Widthsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  width .
	Widthsrc String `json:"widthsrc,omitempty"`
}

SplomMarkerLine

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 (
	SplomMarkerSizemodeDiameter SplomMarkerSizemode = "diameter"
	SplomMarkerSizemodeArea     SplomMarkerSizemode = "area"
)

type SplomMarkerSymbol

type SplomMarkerSymbol interface{}

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.

var (
	SplomMarkerSymbolNumber0                 SplomMarkerSymbol = 0
	SplomMarkerSymbol0                       SplomMarkerSymbol = "0"
	SplomMarkerSymbolCircle                  SplomMarkerSymbol = "circle"
	SplomMarkerSymbolNumber100               SplomMarkerSymbol = 100
	SplomMarkerSymbol100                     SplomMarkerSymbol = "100"
	SplomMarkerSymbolCircleOpen              SplomMarkerSymbol = "circle-open"
	SplomMarkerSymbolNumber200               SplomMarkerSymbol = 200
	SplomMarkerSymbol200                     SplomMarkerSymbol = "200"
	SplomMarkerSymbolCircleDot               SplomMarkerSymbol = "circle-dot"
	SplomMarkerSymbolNumber300               SplomMarkerSymbol = 300
	SplomMarkerSymbol300                     SplomMarkerSymbol = "300"
	SplomMarkerSymbolCircleOpenDot           SplomMarkerSymbol = "circle-open-dot"
	SplomMarkerSymbolNumber1                 SplomMarkerSymbol = 1
	SplomMarkerSymbol1                       SplomMarkerSymbol = "1"
	SplomMarkerSymbolSquare                  SplomMarkerSymbol = "square"
	SplomMarkerSymbolNumber101               SplomMarkerSymbol = 101
	SplomMarkerSymbol101                     SplomMarkerSymbol = "101"
	SplomMarkerSymbolSquareOpen              SplomMarkerSymbol = "square-open"
	SplomMarkerSymbolNumber201               SplomMarkerSymbol = 201
	SplomMarkerSymbol201                     SplomMarkerSymbol = "201"
	SplomMarkerSymbolSquareDot               SplomMarkerSymbol = "square-dot"
	SplomMarkerSymbolNumber301               SplomMarkerSymbol = 301
	SplomMarkerSymbol301                     SplomMarkerSymbol = "301"
	SplomMarkerSymbolSquareOpenDot           SplomMarkerSymbol = "square-open-dot"
	SplomMarkerSymbolNumber2                 SplomMarkerSymbol = 2
	SplomMarkerSymbol2                       SplomMarkerSymbol = "2"
	SplomMarkerSymbolDiamond                 SplomMarkerSymbol = "diamond"
	SplomMarkerSymbolNumber102               SplomMarkerSymbol = 102
	SplomMarkerSymbol102                     SplomMarkerSymbol = "102"
	SplomMarkerSymbolDiamondOpen             SplomMarkerSymbol = "diamond-open"
	SplomMarkerSymbolNumber202               SplomMarkerSymbol = 202
	SplomMarkerSymbol202                     SplomMarkerSymbol = "202"
	SplomMarkerSymbolDiamondDot              SplomMarkerSymbol = "diamond-dot"
	SplomMarkerSymbolNumber302               SplomMarkerSymbol = 302
	SplomMarkerSymbol302                     SplomMarkerSymbol = "302"
	SplomMarkerSymbolDiamondOpenDot          SplomMarkerSymbol = "diamond-open-dot"
	SplomMarkerSymbolNumber3                 SplomMarkerSymbol = 3
	SplomMarkerSymbol3                       SplomMarkerSymbol = "3"
	SplomMarkerSymbolCross                   SplomMarkerSymbol = "cross"
	SplomMarkerSymbolNumber103               SplomMarkerSymbol = 103
	SplomMarkerSymbol103                     SplomMarkerSymbol = "103"
	SplomMarkerSymbolCrossOpen               SplomMarkerSymbol = "cross-open"
	SplomMarkerSymbolNumber203               SplomMarkerSymbol = 203
	SplomMarkerSymbol203                     SplomMarkerSymbol = "203"
	SplomMarkerSymbolCrossDot                SplomMarkerSymbol = "cross-dot"
	SplomMarkerSymbolNumber303               SplomMarkerSymbol = 303
	SplomMarkerSymbol303                     SplomMarkerSymbol = "303"
	SplomMarkerSymbolCrossOpenDot            SplomMarkerSymbol = "cross-open-dot"
	SplomMarkerSymbolNumber4                 SplomMarkerSymbol = 4
	SplomMarkerSymbol4                       SplomMarkerSymbol = "4"
	SplomMarkerSymbolX                       SplomMarkerSymbol = "x"
	SplomMarkerSymbolNumber104               SplomMarkerSymbol = 104
	SplomMarkerSymbol104                     SplomMarkerSymbol = "104"
	SplomMarkerSymbolXOpen                   SplomMarkerSymbol = "x-open"
	SplomMarkerSymbolNumber204               SplomMarkerSymbol = 204
	SplomMarkerSymbol204                     SplomMarkerSymbol = "204"
	SplomMarkerSymbolXDot                    SplomMarkerSymbol = "x-dot"
	SplomMarkerSymbolNumber304               SplomMarkerSymbol = 304
	SplomMarkerSymbol304                     SplomMarkerSymbol = "304"
	SplomMarkerSymbolXOpenDot                SplomMarkerSymbol = "x-open-dot"
	SplomMarkerSymbolNumber5                 SplomMarkerSymbol = 5
	SplomMarkerSymbol5                       SplomMarkerSymbol = "5"
	SplomMarkerSymbolTriangleUp              SplomMarkerSymbol = "triangle-up"
	SplomMarkerSymbolNumber105               SplomMarkerSymbol = 105
	SplomMarkerSymbol105                     SplomMarkerSymbol = "105"
	SplomMarkerSymbolTriangleUpOpen          SplomMarkerSymbol = "triangle-up-open"
	SplomMarkerSymbolNumber205               SplomMarkerSymbol = 205
	SplomMarkerSymbol205                     SplomMarkerSymbol = "205"
	SplomMarkerSymbolTriangleUpDot           SplomMarkerSymbol = "triangle-up-dot"
	SplomMarkerSymbolNumber305               SplomMarkerSymbol = 305
	SplomMarkerSymbol305                     SplomMarkerSymbol = "305"
	SplomMarkerSymbolTriangleUpOpenDot       SplomMarkerSymbol = "triangle-up-open-dot"
	SplomMarkerSymbolNumber6                 SplomMarkerSymbol = 6
	SplomMarkerSymbol6                       SplomMarkerSymbol = "6"
	SplomMarkerSymbolTriangleDown            SplomMarkerSymbol = "triangle-down"
	SplomMarkerSymbolNumber106               SplomMarkerSymbol = 106
	SplomMarkerSymbol106                     SplomMarkerSymbol = "106"
	SplomMarkerSymbolTriangleDownOpen        SplomMarkerSymbol = "triangle-down-open"
	SplomMarkerSymbolNumber206               SplomMarkerSymbol = 206
	SplomMarkerSymbol206                     SplomMarkerSymbol = "206"
	SplomMarkerSymbolTriangleDownDot         SplomMarkerSymbol = "triangle-down-dot"
	SplomMarkerSymbolNumber306               SplomMarkerSymbol = 306
	SplomMarkerSymbol306                     SplomMarkerSymbol = "306"
	SplomMarkerSymbolTriangleDownOpenDot     SplomMarkerSymbol = "triangle-down-open-dot"
	SplomMarkerSymbolNumber7                 SplomMarkerSymbol = 7
	SplomMarkerSymbol7                       SplomMarkerSymbol = "7"
	SplomMarkerSymbolTriangleLeft            SplomMarkerSymbol = "triangle-left"
	SplomMarkerSymbolNumber107               SplomMarkerSymbol = 107
	SplomMarkerSymbol107                     SplomMarkerSymbol = "107"
	SplomMarkerSymbolTriangleLeftOpen        SplomMarkerSymbol = "triangle-left-open"
	SplomMarkerSymbolNumber207               SplomMarkerSymbol = 207
	SplomMarkerSymbol207                     SplomMarkerSymbol = "207"
	SplomMarkerSymbolTriangleLeftDot         SplomMarkerSymbol = "triangle-left-dot"
	SplomMarkerSymbolNumber307               SplomMarkerSymbol = 307
	SplomMarkerSymbol307                     SplomMarkerSymbol = "307"
	SplomMarkerSymbolTriangleLeftOpenDot     SplomMarkerSymbol = "triangle-left-open-dot"
	SplomMarkerSymbolNumber8                 SplomMarkerSymbol = 8
	SplomMarkerSymbol8                       SplomMarkerSymbol = "8"
	SplomMarkerSymbolTriangleRight           SplomMarkerSymbol = "triangle-right"
	SplomMarkerSymbolNumber108               SplomMarkerSymbol = 108
	SplomMarkerSymbol108                     SplomMarkerSymbol = "108"
	SplomMarkerSymbolTriangleRightOpen       SplomMarkerSymbol = "triangle-right-open"
	SplomMarkerSymbolNumber208               SplomMarkerSymbol = 208
	SplomMarkerSymbol208                     SplomMarkerSymbol = "208"
	SplomMarkerSymbolTriangleRightDot        SplomMarkerSymbol = "triangle-right-dot"
	SplomMarkerSymbolNumber308               SplomMarkerSymbol = 308
	SplomMarkerSymbol308                     SplomMarkerSymbol = "308"
	SplomMarkerSymbolTriangleRightOpenDot    SplomMarkerSymbol = "triangle-right-open-dot"
	SplomMarkerSymbolNumber9                 SplomMarkerSymbol = 9
	SplomMarkerSymbol9                       SplomMarkerSymbol = "9"
	SplomMarkerSymbolTriangleNe              SplomMarkerSymbol = "triangle-ne"
	SplomMarkerSymbolNumber109               SplomMarkerSymbol = 109
	SplomMarkerSymbol109                     SplomMarkerSymbol = "109"
	SplomMarkerSymbolTriangleNeOpen          SplomMarkerSymbol = "triangle-ne-open"
	SplomMarkerSymbolNumber209               SplomMarkerSymbol = 209
	SplomMarkerSymbol209                     SplomMarkerSymbol = "209"
	SplomMarkerSymbolTriangleNeDot           SplomMarkerSymbol = "triangle-ne-dot"
	SplomMarkerSymbolNumber309               SplomMarkerSymbol = 309
	SplomMarkerSymbol309                     SplomMarkerSymbol = "309"
	SplomMarkerSymbolTriangleNeOpenDot       SplomMarkerSymbol = "triangle-ne-open-dot"
	SplomMarkerSymbolNumber10                SplomMarkerSymbol = 10
	SplomMarkerSymbol10                      SplomMarkerSymbol = "10"
	SplomMarkerSymbolTriangleSe              SplomMarkerSymbol = "triangle-se"
	SplomMarkerSymbolNumber110               SplomMarkerSymbol = 110
	SplomMarkerSymbol110                     SplomMarkerSymbol = "110"
	SplomMarkerSymbolTriangleSeOpen          SplomMarkerSymbol = "triangle-se-open"
	SplomMarkerSymbolNumber210               SplomMarkerSymbol = 210
	SplomMarkerSymbol210                     SplomMarkerSymbol = "210"
	SplomMarkerSymbolTriangleSeDot           SplomMarkerSymbol = "triangle-se-dot"
	SplomMarkerSymbolNumber310               SplomMarkerSymbol = 310
	SplomMarkerSymbol310                     SplomMarkerSymbol = "310"
	SplomMarkerSymbolTriangleSeOpenDot       SplomMarkerSymbol = "triangle-se-open-dot"
	SplomMarkerSymbolNumber11                SplomMarkerSymbol = 11
	SplomMarkerSymbol11                      SplomMarkerSymbol = "11"
	SplomMarkerSymbolTriangleSw              SplomMarkerSymbol = "triangle-sw"
	SplomMarkerSymbolNumber111               SplomMarkerSymbol = 111
	SplomMarkerSymbol111                     SplomMarkerSymbol = "111"
	SplomMarkerSymbolTriangleSwOpen          SplomMarkerSymbol = "triangle-sw-open"
	SplomMarkerSymbolNumber211               SplomMarkerSymbol = 211
	SplomMarkerSymbol211                     SplomMarkerSymbol = "211"
	SplomMarkerSymbolTriangleSwDot           SplomMarkerSymbol = "triangle-sw-dot"
	SplomMarkerSymbolNumber311               SplomMarkerSymbol = 311
	SplomMarkerSymbol311                     SplomMarkerSymbol = "311"
	SplomMarkerSymbolTriangleSwOpenDot       SplomMarkerSymbol = "triangle-sw-open-dot"
	SplomMarkerSymbolNumber12                SplomMarkerSymbol = 12
	SplomMarkerSymbol12                      SplomMarkerSymbol = "12"
	SplomMarkerSymbolTriangleNw              SplomMarkerSymbol = "triangle-nw"
	SplomMarkerSymbolNumber112               SplomMarkerSymbol = 112
	SplomMarkerSymbol112                     SplomMarkerSymbol = "112"
	SplomMarkerSymbolTriangleNwOpen          SplomMarkerSymbol = "triangle-nw-open"
	SplomMarkerSymbolNumber212               SplomMarkerSymbol = 212
	SplomMarkerSymbol212                     SplomMarkerSymbol = "212"
	SplomMarkerSymbolTriangleNwDot           SplomMarkerSymbol = "triangle-nw-dot"
	SplomMarkerSymbolNumber312               SplomMarkerSymbol = 312
	SplomMarkerSymbol312                     SplomMarkerSymbol = "312"
	SplomMarkerSymbolTriangleNwOpenDot       SplomMarkerSymbol = "triangle-nw-open-dot"
	SplomMarkerSymbolNumber13                SplomMarkerSymbol = 13
	SplomMarkerSymbol13                      SplomMarkerSymbol = "13"
	SplomMarkerSymbolPentagon                SplomMarkerSymbol = "pentagon"
	SplomMarkerSymbolNumber113               SplomMarkerSymbol = 113
	SplomMarkerSymbol113                     SplomMarkerSymbol = "113"
	SplomMarkerSymbolPentagonOpen            SplomMarkerSymbol = "pentagon-open"
	SplomMarkerSymbolNumber213               SplomMarkerSymbol = 213
	SplomMarkerSymbol213                     SplomMarkerSymbol = "213"
	SplomMarkerSymbolPentagonDot             SplomMarkerSymbol = "pentagon-dot"
	SplomMarkerSymbolNumber313               SplomMarkerSymbol = 313
	SplomMarkerSymbol313                     SplomMarkerSymbol = "313"
	SplomMarkerSymbolPentagonOpenDot         SplomMarkerSymbol = "pentagon-open-dot"
	SplomMarkerSymbolNumber14                SplomMarkerSymbol = 14
	SplomMarkerSymbol14                      SplomMarkerSymbol = "14"
	SplomMarkerSymbolHexagon                 SplomMarkerSymbol = "hexagon"
	SplomMarkerSymbolNumber114               SplomMarkerSymbol = 114
	SplomMarkerSymbol114                     SplomMarkerSymbol = "114"
	SplomMarkerSymbolHexagonOpen             SplomMarkerSymbol = "hexagon-open"
	SplomMarkerSymbolNumber214               SplomMarkerSymbol = 214
	SplomMarkerSymbol214                     SplomMarkerSymbol = "214"
	SplomMarkerSymbolHexagonDot              SplomMarkerSymbol = "hexagon-dot"
	SplomMarkerSymbolNumber314               SplomMarkerSymbol = 314
	SplomMarkerSymbol314                     SplomMarkerSymbol = "314"
	SplomMarkerSymbolHexagonOpenDot          SplomMarkerSymbol = "hexagon-open-dot"
	SplomMarkerSymbolNumber15                SplomMarkerSymbol = 15
	SplomMarkerSymbol15                      SplomMarkerSymbol = "15"
	SplomMarkerSymbolHexagon2                SplomMarkerSymbol = "hexagon2"
	SplomMarkerSymbolNumber115               SplomMarkerSymbol = 115
	SplomMarkerSymbol115                     SplomMarkerSymbol = "115"
	SplomMarkerSymbolHexagon2Open            SplomMarkerSymbol = "hexagon2-open"
	SplomMarkerSymbolNumber215               SplomMarkerSymbol = 215
	SplomMarkerSymbol215                     SplomMarkerSymbol = "215"
	SplomMarkerSymbolHexagon2Dot             SplomMarkerSymbol = "hexagon2-dot"
	SplomMarkerSymbolNumber315               SplomMarkerSymbol = 315
	SplomMarkerSymbol315                     SplomMarkerSymbol = "315"
	SplomMarkerSymbolHexagon2OpenDot         SplomMarkerSymbol = "hexagon2-open-dot"
	SplomMarkerSymbolNumber16                SplomMarkerSymbol = 16
	SplomMarkerSymbol16                      SplomMarkerSymbol = "16"
	SplomMarkerSymbolOctagon                 SplomMarkerSymbol = "octagon"
	SplomMarkerSymbolNumber116               SplomMarkerSymbol = 116
	SplomMarkerSymbol116                     SplomMarkerSymbol = "116"
	SplomMarkerSymbolOctagonOpen             SplomMarkerSymbol = "octagon-open"
	SplomMarkerSymbolNumber216               SplomMarkerSymbol = 216
	SplomMarkerSymbol216                     SplomMarkerSymbol = "216"
	SplomMarkerSymbolOctagonDot              SplomMarkerSymbol = "octagon-dot"
	SplomMarkerSymbolNumber316               SplomMarkerSymbol = 316
	SplomMarkerSymbol316                     SplomMarkerSymbol = "316"
	SplomMarkerSymbolOctagonOpenDot          SplomMarkerSymbol = "octagon-open-dot"
	SplomMarkerSymbolNumber17                SplomMarkerSymbol = 17
	SplomMarkerSymbol17                      SplomMarkerSymbol = "17"
	SplomMarkerSymbolStar                    SplomMarkerSymbol = "star"
	SplomMarkerSymbolNumber117               SplomMarkerSymbol = 117
	SplomMarkerSymbol117                     SplomMarkerSymbol = "117"
	SplomMarkerSymbolStarOpen                SplomMarkerSymbol = "star-open"
	SplomMarkerSymbolNumber217               SplomMarkerSymbol = 217
	SplomMarkerSymbol217                     SplomMarkerSymbol = "217"
	SplomMarkerSymbolStarDot                 SplomMarkerSymbol = "star-dot"
	SplomMarkerSymbolNumber317               SplomMarkerSymbol = 317
	SplomMarkerSymbol317                     SplomMarkerSymbol = "317"
	SplomMarkerSymbolStarOpenDot             SplomMarkerSymbol = "star-open-dot"
	SplomMarkerSymbolNumber18                SplomMarkerSymbol = 18
	SplomMarkerSymbol18                      SplomMarkerSymbol = "18"
	SplomMarkerSymbolHexagram                SplomMarkerSymbol = "hexagram"
	SplomMarkerSymbolNumber118               SplomMarkerSymbol = 118
	SplomMarkerSymbol118                     SplomMarkerSymbol = "118"
	SplomMarkerSymbolHexagramOpen            SplomMarkerSymbol = "hexagram-open"
	SplomMarkerSymbolNumber218               SplomMarkerSymbol = 218
	SplomMarkerSymbol218                     SplomMarkerSymbol = "218"
	SplomMarkerSymbolHexagramDot             SplomMarkerSymbol = "hexagram-dot"
	SplomMarkerSymbolNumber318               SplomMarkerSymbol = 318
	SplomMarkerSymbol318                     SplomMarkerSymbol = "318"
	SplomMarkerSymbolHexagramOpenDot         SplomMarkerSymbol = "hexagram-open-dot"
	SplomMarkerSymbolNumber19                SplomMarkerSymbol = 19
	SplomMarkerSymbol19                      SplomMarkerSymbol = "19"
	SplomMarkerSymbolStarTriangleUp          SplomMarkerSymbol = "star-triangle-up"
	SplomMarkerSymbolNumber119               SplomMarkerSymbol = 119
	SplomMarkerSymbol119                     SplomMarkerSymbol = "119"
	SplomMarkerSymbolStarTriangleUpOpen      SplomMarkerSymbol = "star-triangle-up-open"
	SplomMarkerSymbolNumber219               SplomMarkerSymbol = 219
	SplomMarkerSymbol219                     SplomMarkerSymbol = "219"
	SplomMarkerSymbolStarTriangleUpDot       SplomMarkerSymbol = "star-triangle-up-dot"
	SplomMarkerSymbolNumber319               SplomMarkerSymbol = 319
	SplomMarkerSymbol319                     SplomMarkerSymbol = "319"
	SplomMarkerSymbolStarTriangleUpOpenDot   SplomMarkerSymbol = "star-triangle-up-open-dot"
	SplomMarkerSymbolNumber20                SplomMarkerSymbol = 20
	SplomMarkerSymbol20                      SplomMarkerSymbol = "20"
	SplomMarkerSymbolStarTriangleDown        SplomMarkerSymbol = "star-triangle-down"
	SplomMarkerSymbolNumber120               SplomMarkerSymbol = 120
	SplomMarkerSymbol120                     SplomMarkerSymbol = "120"
	SplomMarkerSymbolStarTriangleDownOpen    SplomMarkerSymbol = "star-triangle-down-open"
	SplomMarkerSymbolNumber220               SplomMarkerSymbol = 220
	SplomMarkerSymbol220                     SplomMarkerSymbol = "220"
	SplomMarkerSymbolStarTriangleDownDot     SplomMarkerSymbol = "star-triangle-down-dot"
	SplomMarkerSymbolNumber320               SplomMarkerSymbol = 320
	SplomMarkerSymbol320                     SplomMarkerSymbol = "320"
	SplomMarkerSymbolStarTriangleDownOpenDot SplomMarkerSymbol = "star-triangle-down-open-dot"
	SplomMarkerSymbolNumber21                SplomMarkerSymbol = 21
	SplomMarkerSymbol21                      SplomMarkerSymbol = "21"
	SplomMarkerSymbolStarSquare              SplomMarkerSymbol = "star-square"
	SplomMarkerSymbolNumber121               SplomMarkerSymbol = 121
	SplomMarkerSymbol121                     SplomMarkerSymbol = "121"
	SplomMarkerSymbolStarSquareOpen          SplomMarkerSymbol = "star-square-open"
	SplomMarkerSymbolNumber221               SplomMarkerSymbol = 221
	SplomMarkerSymbol221                     SplomMarkerSymbol = "221"
	SplomMarkerSymbolStarSquareDot           SplomMarkerSymbol = "star-square-dot"
	SplomMarkerSymbolNumber321               SplomMarkerSymbol = 321
	SplomMarkerSymbol321                     SplomMarkerSymbol = "321"
	SplomMarkerSymbolStarSquareOpenDot       SplomMarkerSymbol = "star-square-open-dot"
	SplomMarkerSymbolNumber22                SplomMarkerSymbol = 22
	SplomMarkerSymbol22                      SplomMarkerSymbol = "22"
	SplomMarkerSymbolStarDiamond             SplomMarkerSymbol = "star-diamond"
	SplomMarkerSymbolNumber122               SplomMarkerSymbol = 122
	SplomMarkerSymbol122                     SplomMarkerSymbol = "122"
	SplomMarkerSymbolStarDiamondOpen         SplomMarkerSymbol = "star-diamond-open"
	SplomMarkerSymbolNumber222               SplomMarkerSymbol = 222
	SplomMarkerSymbol222                     SplomMarkerSymbol = "222"
	SplomMarkerSymbolStarDiamondDot          SplomMarkerSymbol = "star-diamond-dot"
	SplomMarkerSymbolNumber322               SplomMarkerSymbol = 322
	SplomMarkerSymbol322                     SplomMarkerSymbol = "322"
	SplomMarkerSymbolStarDiamondOpenDot      SplomMarkerSymbol = "star-diamond-open-dot"
	SplomMarkerSymbolNumber23                SplomMarkerSymbol = 23
	SplomMarkerSymbol23                      SplomMarkerSymbol = "23"
	SplomMarkerSymbolDiamondTall             SplomMarkerSymbol = "diamond-tall"
	SplomMarkerSymbolNumber123               SplomMarkerSymbol = 123
	SplomMarkerSymbol123                     SplomMarkerSymbol = "123"
	SplomMarkerSymbolDiamondTallOpen         SplomMarkerSymbol = "diamond-tall-open"
	SplomMarkerSymbolNumber223               SplomMarkerSymbol = 223
	SplomMarkerSymbol223                     SplomMarkerSymbol = "223"
	SplomMarkerSymbolDiamondTallDot          SplomMarkerSymbol = "diamond-tall-dot"
	SplomMarkerSymbolNumber323               SplomMarkerSymbol = 323
	SplomMarkerSymbol323                     SplomMarkerSymbol = "323"
	SplomMarkerSymbolDiamondTallOpenDot      SplomMarkerSymbol = "diamond-tall-open-dot"
	SplomMarkerSymbolNumber24                SplomMarkerSymbol = 24
	SplomMarkerSymbol24                      SplomMarkerSymbol = "24"
	SplomMarkerSymbolDiamondWide             SplomMarkerSymbol = "diamond-wide"
	SplomMarkerSymbolNumber124               SplomMarkerSymbol = 124
	SplomMarkerSymbol124                     SplomMarkerSymbol = "124"
	SplomMarkerSymbolDiamondWideOpen         SplomMarkerSymbol = "diamond-wide-open"
	SplomMarkerSymbolNumber224               SplomMarkerSymbol = 224
	SplomMarkerSymbol224                     SplomMarkerSymbol = "224"
	SplomMarkerSymbolDiamondWideDot          SplomMarkerSymbol = "diamond-wide-dot"
	SplomMarkerSymbolNumber324               SplomMarkerSymbol = 324
	SplomMarkerSymbol324                     SplomMarkerSymbol = "324"
	SplomMarkerSymbolDiamondWideOpenDot      SplomMarkerSymbol = "diamond-wide-open-dot"
	SplomMarkerSymbolNumber25                SplomMarkerSymbol = 25
	SplomMarkerSymbol25                      SplomMarkerSymbol = "25"
	SplomMarkerSymbolHourglass               SplomMarkerSymbol = "hourglass"
	SplomMarkerSymbolNumber125               SplomMarkerSymbol = 125
	SplomMarkerSymbol125                     SplomMarkerSymbol = "125"
	SplomMarkerSymbolHourglassOpen           SplomMarkerSymbol = "hourglass-open"
	SplomMarkerSymbolNumber26                SplomMarkerSymbol = 26
	SplomMarkerSymbol26                      SplomMarkerSymbol = "26"
	SplomMarkerSymbolBowtie                  SplomMarkerSymbol = "bowtie"
	SplomMarkerSymbolNumber126               SplomMarkerSymbol = 126
	SplomMarkerSymbol126                     SplomMarkerSymbol = "126"
	SplomMarkerSymbolBowtieOpen              SplomMarkerSymbol = "bowtie-open"
	SplomMarkerSymbolNumber27                SplomMarkerSymbol = 27
	SplomMarkerSymbol27                      SplomMarkerSymbol = "27"
	SplomMarkerSymbolCircleCross             SplomMarkerSymbol = "circle-cross"
	SplomMarkerSymbolNumber127               SplomMarkerSymbol = 127
	SplomMarkerSymbol127                     SplomMarkerSymbol = "127"
	SplomMarkerSymbolCircleCrossOpen         SplomMarkerSymbol = "circle-cross-open"
	SplomMarkerSymbolNumber28                SplomMarkerSymbol = 28
	SplomMarkerSymbol28                      SplomMarkerSymbol = "28"
	SplomMarkerSymbolCircleX                 SplomMarkerSymbol = "circle-x"
	SplomMarkerSymbolNumber128               SplomMarkerSymbol = 128
	SplomMarkerSymbol128                     SplomMarkerSymbol = "128"
	SplomMarkerSymbolCircleXOpen             SplomMarkerSymbol = "circle-x-open"
	SplomMarkerSymbolNumber29                SplomMarkerSymbol = 29
	SplomMarkerSymbol29                      SplomMarkerSymbol = "29"
	SplomMarkerSymbolSquareCross             SplomMarkerSymbol = "square-cross"
	SplomMarkerSymbolNumber129               SplomMarkerSymbol = 129
	SplomMarkerSymbol129                     SplomMarkerSymbol = "129"
	SplomMarkerSymbolSquareCrossOpen         SplomMarkerSymbol = "square-cross-open"
	SplomMarkerSymbolNumber30                SplomMarkerSymbol = 30
	SplomMarkerSymbol30                      SplomMarkerSymbol = "30"
	SplomMarkerSymbolSquareX                 SplomMarkerSymbol = "square-x"
	SplomMarkerSymbolNumber130               SplomMarkerSymbol = 130
	SplomMarkerSymbol130                     SplomMarkerSymbol = "130"
	SplomMarkerSymbolSquareXOpen             SplomMarkerSymbol = "square-x-open"
	SplomMarkerSymbolNumber31                SplomMarkerSymbol = 31
	SplomMarkerSymbol31                      SplomMarkerSymbol = "31"
	SplomMarkerSymbolDiamondCross            SplomMarkerSymbol = "diamond-cross"
	SplomMarkerSymbolNumber131               SplomMarkerSymbol = 131
	SplomMarkerSymbol131                     SplomMarkerSymbol = "131"
	SplomMarkerSymbolDiamondCrossOpen        SplomMarkerSymbol = "diamond-cross-open"
	SplomMarkerSymbolNumber32                SplomMarkerSymbol = 32
	SplomMarkerSymbol32                      SplomMarkerSymbol = "32"
	SplomMarkerSymbolDiamondX                SplomMarkerSymbol = "diamond-x"
	SplomMarkerSymbolNumber132               SplomMarkerSymbol = 132
	SplomMarkerSymbol132                     SplomMarkerSymbol = "132"
	SplomMarkerSymbolDiamondXOpen            SplomMarkerSymbol = "diamond-x-open"
	SplomMarkerSymbolNumber33                SplomMarkerSymbol = 33
	SplomMarkerSymbol33                      SplomMarkerSymbol = "33"
	SplomMarkerSymbolCrossThin               SplomMarkerSymbol = "cross-thin"
	SplomMarkerSymbolNumber133               SplomMarkerSymbol = 133
	SplomMarkerSymbol133                     SplomMarkerSymbol = "133"
	SplomMarkerSymbolCrossThinOpen           SplomMarkerSymbol = "cross-thin-open"
	SplomMarkerSymbolNumber34                SplomMarkerSymbol = 34
	SplomMarkerSymbol34                      SplomMarkerSymbol = "34"
	SplomMarkerSymbolXThin                   SplomMarkerSymbol = "x-thin"
	SplomMarkerSymbolNumber134               SplomMarkerSymbol = 134
	SplomMarkerSymbol134                     SplomMarkerSymbol = "134"
	SplomMarkerSymbolXThinOpen               SplomMarkerSymbol = "x-thin-open"
	SplomMarkerSymbolNumber35                SplomMarkerSymbol = 35
	SplomMarkerSymbol35                      SplomMarkerSymbol = "35"
	SplomMarkerSymbolAsterisk                SplomMarkerSymbol = "asterisk"
	SplomMarkerSymbolNumber135               SplomMarkerSymbol = 135
	SplomMarkerSymbol135                     SplomMarkerSymbol = "135"
	SplomMarkerSymbolAsteriskOpen            SplomMarkerSymbol = "asterisk-open"
	SplomMarkerSymbolNumber36                SplomMarkerSymbol = 36
	SplomMarkerSymbol36                      SplomMarkerSymbol = "36"
	SplomMarkerSymbolHash                    SplomMarkerSymbol = "hash"
	SplomMarkerSymbolNumber136               SplomMarkerSymbol = 136
	SplomMarkerSymbol136                     SplomMarkerSymbol = "136"
	SplomMarkerSymbolHashOpen                SplomMarkerSymbol = "hash-open"
	SplomMarkerSymbolNumber236               SplomMarkerSymbol = 236
	SplomMarkerSymbol236                     SplomMarkerSymbol = "236"
	SplomMarkerSymbolHashDot                 SplomMarkerSymbol = "hash-dot"
	SplomMarkerSymbolNumber336               SplomMarkerSymbol = 336
	SplomMarkerSymbol336                     SplomMarkerSymbol = "336"
	SplomMarkerSymbolHashOpenDot             SplomMarkerSymbol = "hash-open-dot"
	SplomMarkerSymbolNumber37                SplomMarkerSymbol = 37
	SplomMarkerSymbol37                      SplomMarkerSymbol = "37"
	SplomMarkerSymbolYUp                     SplomMarkerSymbol = "y-up"
	SplomMarkerSymbolNumber137               SplomMarkerSymbol = 137
	SplomMarkerSymbol137                     SplomMarkerSymbol = "137"
	SplomMarkerSymbolYUpOpen                 SplomMarkerSymbol = "y-up-open"
	SplomMarkerSymbolNumber38                SplomMarkerSymbol = 38
	SplomMarkerSymbol38                      SplomMarkerSymbol = "38"
	SplomMarkerSymbolYDown                   SplomMarkerSymbol = "y-down"
	SplomMarkerSymbolNumber138               SplomMarkerSymbol = 138
	SplomMarkerSymbol138                     SplomMarkerSymbol = "138"
	SplomMarkerSymbolYDownOpen               SplomMarkerSymbol = "y-down-open"
	SplomMarkerSymbolNumber39                SplomMarkerSymbol = 39
	SplomMarkerSymbol39                      SplomMarkerSymbol = "39"
	SplomMarkerSymbolYLeft                   SplomMarkerSymbol = "y-left"
	SplomMarkerSymbolNumber139               SplomMarkerSymbol = 139
	SplomMarkerSymbol139                     SplomMarkerSymbol = "139"
	SplomMarkerSymbolYLeftOpen               SplomMarkerSymbol = "y-left-open"
	SplomMarkerSymbolNumber40                SplomMarkerSymbol = 40
	SplomMarkerSymbol40                      SplomMarkerSymbol = "40"
	SplomMarkerSymbolYRight                  SplomMarkerSymbol = "y-right"
	SplomMarkerSymbolNumber140               SplomMarkerSymbol = 140
	SplomMarkerSymbol140                     SplomMarkerSymbol = "140"
	SplomMarkerSymbolYRightOpen              SplomMarkerSymbol = "y-right-open"
	SplomMarkerSymbolNumber41                SplomMarkerSymbol = 41
	SplomMarkerSymbol41                      SplomMarkerSymbol = "41"
	SplomMarkerSymbolLineEw                  SplomMarkerSymbol = "line-ew"
	SplomMarkerSymbolNumber141               SplomMarkerSymbol = 141
	SplomMarkerSymbol141                     SplomMarkerSymbol = "141"
	SplomMarkerSymbolLineEwOpen              SplomMarkerSymbol = "line-ew-open"
	SplomMarkerSymbolNumber42                SplomMarkerSymbol = 42
	SplomMarkerSymbol42                      SplomMarkerSymbol = "42"
	SplomMarkerSymbolLineNs                  SplomMarkerSymbol = "line-ns"
	SplomMarkerSymbolNumber142               SplomMarkerSymbol = 142
	SplomMarkerSymbol142                     SplomMarkerSymbol = "142"
	SplomMarkerSymbolLineNsOpen              SplomMarkerSymbol = "line-ns-open"
	SplomMarkerSymbolNumber43                SplomMarkerSymbol = 43
	SplomMarkerSymbol43                      SplomMarkerSymbol = "43"
	SplomMarkerSymbolLineNe                  SplomMarkerSymbol = "line-ne"
	SplomMarkerSymbolNumber143               SplomMarkerSymbol = 143
	SplomMarkerSymbol143                     SplomMarkerSymbol = "143"
	SplomMarkerSymbolLineNeOpen              SplomMarkerSymbol = "line-ne-open"
	SplomMarkerSymbolNumber44                SplomMarkerSymbol = 44
	SplomMarkerSymbol44                      SplomMarkerSymbol = "44"
	SplomMarkerSymbolLineNw                  SplomMarkerSymbol = "line-nw"
	SplomMarkerSymbolNumber144               SplomMarkerSymbol = 144
	SplomMarkerSymbol144                     SplomMarkerSymbol = "144"
	SplomMarkerSymbolLineNwOpen              SplomMarkerSymbol = "line-nw-open"
	SplomMarkerSymbolNumber45                SplomMarkerSymbol = 45
	SplomMarkerSymbol45                      SplomMarkerSymbol = "45"
	SplomMarkerSymbolArrowUp                 SplomMarkerSymbol = "arrow-up"
	SplomMarkerSymbolNumber145               SplomMarkerSymbol = 145
	SplomMarkerSymbol145                     SplomMarkerSymbol = "145"
	SplomMarkerSymbolArrowUpOpen             SplomMarkerSymbol = "arrow-up-open"
	SplomMarkerSymbolNumber46                SplomMarkerSymbol = 46
	SplomMarkerSymbol46                      SplomMarkerSymbol = "46"
	SplomMarkerSymbolArrowDown               SplomMarkerSymbol = "arrow-down"
	SplomMarkerSymbolNumber146               SplomMarkerSymbol = 146
	SplomMarkerSymbol146                     SplomMarkerSymbol = "146"
	SplomMarkerSymbolArrowDownOpen           SplomMarkerSymbol = "arrow-down-open"
	SplomMarkerSymbolNumber47                SplomMarkerSymbol = 47
	SplomMarkerSymbol47                      SplomMarkerSymbol = "47"
	SplomMarkerSymbolArrowLeft               SplomMarkerSymbol = "arrow-left"
	SplomMarkerSymbolNumber147               SplomMarkerSymbol = 147
	SplomMarkerSymbol147                     SplomMarkerSymbol = "147"
	SplomMarkerSymbolArrowLeftOpen           SplomMarkerSymbol = "arrow-left-open"
	SplomMarkerSymbolNumber48                SplomMarkerSymbol = 48
	SplomMarkerSymbol48                      SplomMarkerSymbol = "48"
	SplomMarkerSymbolArrowRight              SplomMarkerSymbol = "arrow-right"
	SplomMarkerSymbolNumber148               SplomMarkerSymbol = 148
	SplomMarkerSymbol148                     SplomMarkerSymbol = "148"
	SplomMarkerSymbolArrowRightOpen          SplomMarkerSymbol = "arrow-right-open"
	SplomMarkerSymbolNumber49                SplomMarkerSymbol = 49
	SplomMarkerSymbol49                      SplomMarkerSymbol = "49"
	SplomMarkerSymbolArrowBarUp              SplomMarkerSymbol = "arrow-bar-up"
	SplomMarkerSymbolNumber149               SplomMarkerSymbol = 149
	SplomMarkerSymbol149                     SplomMarkerSymbol = "149"
	SplomMarkerSymbolArrowBarUpOpen          SplomMarkerSymbol = "arrow-bar-up-open"
	SplomMarkerSymbolNumber50                SplomMarkerSymbol = 50
	SplomMarkerSymbol50                      SplomMarkerSymbol = "50"
	SplomMarkerSymbolArrowBarDown            SplomMarkerSymbol = "arrow-bar-down"
	SplomMarkerSymbolNumber150               SplomMarkerSymbol = 150
	SplomMarkerSymbol150                     SplomMarkerSymbol = "150"
	SplomMarkerSymbolArrowBarDownOpen        SplomMarkerSymbol = "arrow-bar-down-open"
	SplomMarkerSymbolNumber51                SplomMarkerSymbol = 51
	SplomMarkerSymbol51                      SplomMarkerSymbol = "51"
	SplomMarkerSymbolArrowBarLeft            SplomMarkerSymbol = "arrow-bar-left"
	SplomMarkerSymbolNumber151               SplomMarkerSymbol = 151
	SplomMarkerSymbol151                     SplomMarkerSymbol = "151"
	SplomMarkerSymbolArrowBarLeftOpen        SplomMarkerSymbol = "arrow-bar-left-open"
	SplomMarkerSymbolNumber52                SplomMarkerSymbol = 52
	SplomMarkerSymbol52                      SplomMarkerSymbol = "52"
	SplomMarkerSymbolArrowBarRight           SplomMarkerSymbol = "arrow-bar-right"
	SplomMarkerSymbolNumber152               SplomMarkerSymbol = 152
	SplomMarkerSymbol152                     SplomMarkerSymbol = "152"
	SplomMarkerSymbolArrowBarRightOpen       SplomMarkerSymbol = "arrow-bar-right-open"
)

type SplomSelected

type SplomSelected struct {

	// Marker
	// role: Object
	Marker *SplomSelectedMarker `json:"marker,omitempty"`
}

SplomSelected

type SplomSelectedMarker

type SplomSelectedMarker struct {

	// Color
	// arrayOK: false
	// type: color
	// Sets the marker color of selected points.
	Color Color `json:"color,omitempty"`

	// Opacity
	// arrayOK: false
	// type: number
	// Sets the marker opacity of selected points.
	Opacity float64 `json:"opacity,omitempty"`

	// Size
	// arrayOK: false
	// type: number
	// Sets the marker size of selected points.
	Size float64 `json:"size,omitempty"`
}

SplomSelectedMarker

type SplomStream

type SplomStream struct {

	// Maxpoints
	// arrayOK: false
	// type: number
	// Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot.
	Maxpoints float64 `json:"maxpoints,omitempty"`

	// Token
	// arrayOK: false
	// type: string
	// The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details.
	Token String `json:"token,omitempty"`
}

SplomStream

type SplomUnselected

type SplomUnselected struct {

	// Marker
	// role: Object
	Marker *SplomUnselectedMarker `json:"marker,omitempty"`
}

SplomUnselected

type SplomUnselectedMarker

type SplomUnselectedMarker struct {

	// Color
	// arrayOK: false
	// type: color
	// Sets the marker color of unselected points, applied only when a selection exists.
	Color Color `json:"color,omitempty"`

	// Opacity
	// arrayOK: false
	// type: number
	// Sets the marker opacity of unselected points, applied only when a selection exists.
	Opacity float64 `json:"opacity,omitempty"`

	// Size
	// arrayOK: false
	// type: number
	// Sets the marker size of unselected points, applied only when a selection exists.
	Size float64 `json:"size,omitempty"`
}

SplomUnselectedMarker

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 (
	SplomVisibleTrue       SplomVisible = true
	SplomVisibleFalse      SplomVisible = false
	SplomVisibleLegendonly SplomVisible = "legendonly"
)

type Streamtube

type Streamtube struct {

	// Type
	// is the type of the plot
	Type TraceType `json:"type,omitempty"`

	// Autocolorscale
	// arrayOK: false
	// type: boolean
	// Determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by `colorscale`. In case `colorscale` is unspecified or `autocolorscale` is true, the default  palette will be chosen according to whether numbers in the `color` array are all positive, all negative or mixed.
	Autocolorscale Bool `json:"autocolorscale,omitempty"`

	// Cauto
	// arrayOK: false
	// type: boolean
	// Determines whether or not the color domain is computed with respect to the input data (here u/v/w norm) or the bounds set in `cmin` and `cmax`  Defaults to `false` when `cmin` and `cmax` are set by the user.
	Cauto Bool `json:"cauto,omitempty"`

	// Cmax
	// arrayOK: false
	// type: number
	// Sets the upper bound of the color domain. Value should have the same units as u/v/w norm and if set, `cmin` must be set as well.
	Cmax float64 `json:"cmax,omitempty"`

	// Cmid
	// arrayOK: false
	// type: number
	// Sets the mid-point of the color domain by scaling `cmin` and/or `cmax` to be equidistant to this point. Value should have the same units as u/v/w norm. Has no effect when `cauto` is `false`.
	Cmid float64 `json:"cmid,omitempty"`

	// Cmin
	// arrayOK: false
	// type: number
	// Sets the lower bound of the color domain. Value should have the same units as u/v/w norm and if set, `cmax` must be set as well.
	Cmin float64 `json:"cmin,omitempty"`

	// Coloraxis
	// arrayOK: false
	// type: subplotid
	// Sets a reference to a shared color axis. References to these shared color axes are *coloraxis*, *coloraxis2*, *coloraxis3*, etc. Settings for these shared color axes are set in the layout, under `layout.coloraxis`, `layout.coloraxis2`, etc. Note that multiple color scales can be linked to the same color axis.
	Coloraxis String `json:"coloraxis,omitempty"`

	// Colorbar
	// role: Object
	Colorbar *StreamtubeColorbar `json:"colorbar,omitempty"`

	// Colorscale
	// default: %!s(<nil>)
	// type: colorscale
	// Sets the colorscale. The colorscale must be an array containing arrays mapping a normalized value to an rgb, rgba, hex, hsl, hsv, or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, use`cmin` and `cmax`. Alternatively, `colorscale` may be a palette name string of the following list: Greys,YlGnBu,Greens,YlOrRd,Bluered,RdBu,Reds,Blues,Picnic,Rainbow,Portland,Jet,Hot,Blackbody,Earth,Electric,Viridis,Cividis.
	Colorscale ColorScale `json:"colorscale,omitempty"`

	// Customdata
	// arrayOK: false
	// type: data_array
	// Assigns extra data each datum. This may be useful when listening to hover, click and selection events. Note that, *scatter* traces also appends customdata items in the markers DOM elements
	Customdata interface{} `json:"customdata,omitempty"`

	// Customdatasrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  customdata .
	Customdatasrc String `json:"customdatasrc,omitempty"`

	// Hoverinfo
	// default: x+y+z+norm+text+name
	// type: flaglist
	// Determines which trace information appear on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired.
	Hoverinfo StreamtubeHoverinfo `json:"hoverinfo,omitempty"`

	// Hoverinfosrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  hoverinfo .
	Hoverinfosrc String `json:"hoverinfosrc,omitempty"`

	// Hoverlabel
	// role: Object
	Hoverlabel *StreamtubeHoverlabel `json:"hoverlabel,omitempty"`

	// Hovertemplate
	// arrayOK: true
	// type: string
	// Template string used for rendering the information that appear on hover box. Note that this will override `hoverinfo`. Variables are inserted using %{variable}, for example "y: %{y}". 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 String `json:"hovertemplate,omitempty"`

	// Hovertemplatesrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  hovertemplate .
	Hovertemplatesrc String `json:"hovertemplatesrc,omitempty"`

	// Hovertext
	// arrayOK: false
	// type: string
	// Same as `text`.
	Hovertext String `json:"hovertext,omitempty"`

	// Ids
	// arrayOK: false
	// type: data_array
	// Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type.
	Ids interface{} `json:"ids,omitempty"`

	// Idssrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  ids .
	Idssrc String `json:"idssrc,omitempty"`

	// Legendgroup
	// arrayOK: false
	// type: string
	// Sets the legend group for this trace. Traces part of the same legend group hide/show at the same time when toggling legend items.
	Legendgroup String `json:"legendgroup,omitempty"`

	// Lighting
	// role: Object
	Lighting *StreamtubeLighting `json:"lighting,omitempty"`

	// Lightposition
	// role: Object
	Lightposition *StreamtubeLightposition `json:"lightposition,omitempty"`

	// Maxdisplayed
	// arrayOK: false
	// type: integer
	// The maximum number of displayed segments in a streamtube.
	Maxdisplayed int64 `json:"maxdisplayed,omitempty"`

	// Meta
	// arrayOK: true
	// type: any
	// Assigns extra meta information associated with this trace that can be used in various text attributes. Attributes such as trace `name`, graph, axis and colorbar `title.text`, annotation `text` `rangeselector`, `updatemenues` and `sliders` `label` text all support `meta`. To access the trace `meta` values in an attribute in the same trace, simply use `%{meta[i]}` where `i` is the index or key of the `meta` item in question. To access trace `meta` in layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index.
	Meta interface{} `json:"meta,omitempty"`

	// Metasrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  meta .
	Metasrc String `json:"metasrc,omitempty"`

	// Name
	// arrayOK: false
	// type: string
	// Sets the trace name. The trace name appear as the legend item and on hover.
	Name String `json:"name,omitempty"`

	// Opacity
	// arrayOK: false
	// type: number
	// Sets the opacity of the surface. Please note that in the case of using high `opacity` values for example a value greater than or equal to 0.5 on two surfaces (and 0.25 with four surfaces), an overlay of multiple transparent surfaces may not perfectly be sorted in depth by the webgl API. This behavior may be improved in the near future and is subject to change.
	Opacity float64 `json:"opacity,omitempty"`

	// Reversescale
	// arrayOK: false
	// type: boolean
	// Reverses the color mapping if true. If true, `cmin` will correspond to the last color in the array and `cmax` will correspond to the first color.
	Reversescale Bool `json:"reversescale,omitempty"`

	// Scene
	// arrayOK: false
	// type: subplotid
	// Sets a reference between this trace's 3D coordinate system and a 3D scene. If *scene* (the default value), the (x,y,z) coordinates refer to `layout.scene`. If *scene2*, the (x,y,z) coordinates refer to `layout.scene2`, and so on.
	Scene String `json:"scene,omitempty"`

	// Showlegend
	// arrayOK: false
	// type: boolean
	// Determines whether or not an item corresponding to this trace is shown in the legend.
	Showlegend Bool `json:"showlegend,omitempty"`

	// Showscale
	// arrayOK: false
	// type: boolean
	// Determines whether or not a colorbar is displayed for this trace.
	Showscale Bool `json:"showscale,omitempty"`

	// Sizeref
	// arrayOK: false
	// type: number
	// The scaling factor for the streamtubes. The default is 1, which avoids two max divergence tubes from touching at adjacent starting positions.
	Sizeref float64 `json:"sizeref,omitempty"`

	// Starts
	// role: Object
	Starts *StreamtubeStarts `json:"starts,omitempty"`

	// Stream
	// role: Object
	Stream *StreamtubeStream `json:"stream,omitempty"`

	// Text
	// arrayOK: false
	// type: string
	// Sets a text element associated with this trace. If trace `hoverinfo` contains a *text* flag, this text element will be seen in all hover labels. Note that streamtube traces do not support array `text` values.
	Text String `json:"text,omitempty"`

	// U
	// arrayOK: false
	// type: data_array
	// Sets the x components of the vector field.
	U interface{} `json:"u,omitempty"`

	// Uid
	// arrayOK: false
	// type: string
	// Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.
	Uid String `json:"uid,omitempty"`

	// Uirevision
	// arrayOK: false
	// type: any
	// Controls persistence of some user-driven changes to the trace: `constraintrange` in `parcoords` traces, as well as some `editable: true` modifications such as `name` and `colorbar.title`. Defaults to `layout.uirevision`. Note that other user-driven trace attribute changes are controlled by `layout` attributes: `trace.visible` is controlled by `layout.legend.uirevision`, `selectedpoints` is controlled by `layout.selectionrevision`, and `colorbar.(x|y)` (accessible with `config: {editable: true}`) is controlled by `layout.editrevision`. Trace changes are tracked by `uid`, which only falls back on trace index if no `uid` is provided. So if your app can add/remove traces before the end of the `data` array, such that the same trace has a different index, you can still preserve user-driven changes if you give each trace a `uid` that stays with it as it moves.
	Uirevision interface{} `json:"uirevision,omitempty"`

	// Usrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  u .
	Usrc String `json:"usrc,omitempty"`

	// V
	// arrayOK: false
	// type: data_array
	// Sets the y components of the vector field.
	V interface{} `json:"v,omitempty"`

	// Visible
	// default: %!s(bool=true)
	// type: enumerated
	// Determines whether or not this trace is visible. If *legendonly*, the trace is not drawn, but can appear as a legend item (provided that the legend itself is visible).
	Visible StreamtubeVisible `json:"visible,omitempty"`

	// Vsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  v .
	Vsrc String `json:"vsrc,omitempty"`

	// W
	// arrayOK: false
	// type: data_array
	// Sets the z components of the vector field.
	W interface{} `json:"w,omitempty"`

	// Wsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  w .
	Wsrc String `json:"wsrc,omitempty"`

	// X
	// arrayOK: false
	// type: data_array
	// Sets the x coordinates of the vector field.
	X interface{} `json:"x,omitempty"`

	// Xsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  x .
	Xsrc String `json:"xsrc,omitempty"`

	// Y
	// arrayOK: false
	// type: data_array
	// Sets the y coordinates of the vector field.
	Y interface{} `json:"y,omitempty"`

	// Ysrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  y .
	Ysrc String `json:"ysrc,omitempty"`

	// Z
	// arrayOK: false
	// type: data_array
	// Sets the z coordinates of the vector field.
	Z interface{} `json:"z,omitempty"`

	// Zsrc
	// arrayOK: false
	// type: 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 (*Streamtube) GetType

func (trace *Streamtube) GetType() TraceType

type StreamtubeColorbar

type StreamtubeColorbar struct {

	// Bgcolor
	// arrayOK: false
	// type: color
	// Sets the color of padded area.
	Bgcolor Color `json:"bgcolor,omitempty"`

	// Bordercolor
	// arrayOK: false
	// type: color
	// Sets the axis line color.
	Bordercolor Color `json:"bordercolor,omitempty"`

	// Borderwidth
	// arrayOK: false
	// type: number
	// Sets the width (in px) or the border enclosing this color bar.
	Borderwidth float64 `json:"borderwidth,omitempty"`

	// Dtick
	// arrayOK: false
	// type: any
	// Sets the step in-between ticks on this axis. Use with `tick0`. Must be a positive number, or special strings available to *log* and *date* axes. If the axis `type` is *log*, then ticks are set every 10^(n*dtick) where n is the tick number. For example, to set a tick mark at 1, 10, 100, 1000, ... set dtick to 1. To set tick marks at 1, 100, 10000, ... set dtick to 2. To set tick marks at 1, 5, 25, 125, 625, 3125, ... set dtick to log_10(5), or 0.69897000433. *log* has several special values; *L<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
	// default: B
	// type: enumerated
	// Determines a formatting rule for the tick exponents. For example, consider the number 1,000,000,000. If *none*, it appears as 1,000,000,000. If *e*, 1e+9. If *E*, 1E+9. If *power*, 1x10^9 (with 9 in a super script). If *SI*, 1G. If *B*, 1B.
	Exponentformat StreamtubeColorbarExponentformat `json:"exponentformat,omitempty"`

	// Len
	// arrayOK: false
	// type: number
	// Sets the length of the color bar This measure excludes the padding of both ends. That is, the color bar length is this length minus the padding on both ends.
	Len float64 `json:"len,omitempty"`

	// Lenmode
	// default: fraction
	// type: enumerated
	// Determines whether this color bar's length (i.e. the measure in the color variation direction) is set in units of plot *fraction* or in *pixels. Use `len` to set the value.
	Lenmode StreamtubeColorbarLenmode `json:"lenmode,omitempty"`

	// Minexponent
	// arrayOK: false
	// type: number
	// Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*.
	Minexponent float64 `json:"minexponent,omitempty"`

	// Nticks
	// arrayOK: false
	// type: integer
	// Specifies the maximum number of ticks for the particular axis. The actual number of ticks will be chosen automatically to be less than or equal to `nticks`. Has an effect only if `tickmode` is set to *auto*.
	Nticks int64 `json:"nticks,omitempty"`

	// Outlinecolor
	// arrayOK: false
	// type: color
	// Sets the axis line color.
	Outlinecolor Color `json:"outlinecolor,omitempty"`

	// Outlinewidth
	// arrayOK: false
	// type: number
	// Sets the width (in px) of the axis line.
	Outlinewidth float64 `json:"outlinewidth,omitempty"`

	// Separatethousands
	// arrayOK: false
	// type: boolean
	// If "true", even 4-digit integers are separated
	Separatethousands Bool `json:"separatethousands,omitempty"`

	// Showexponent
	// default: all
	// type: enumerated
	// If *all*, all exponents are shown besides their significands. If *first*, only the exponent of the first tick is shown. If *last*, only the exponent of the last tick is shown. If *none*, no exponents appear.
	Showexponent StreamtubeColorbarShowexponent `json:"showexponent,omitempty"`

	// Showticklabels
	// arrayOK: false
	// type: boolean
	// Determines whether or not the tick labels are drawn.
	Showticklabels Bool `json:"showticklabels,omitempty"`

	// Showtickprefix
	// default: all
	// type: enumerated
	// If *all*, all tick labels are displayed with a prefix. If *first*, only the first tick is displayed with a prefix. If *last*, only the last tick is displayed with a suffix. If *none*, tick prefixes are hidden.
	Showtickprefix StreamtubeColorbarShowtickprefix `json:"showtickprefix,omitempty"`

	// Showticksuffix
	// default: all
	// type: enumerated
	// Same as `showtickprefix` but for tick suffixes.
	Showticksuffix StreamtubeColorbarShowticksuffix `json:"showticksuffix,omitempty"`

	// Thickness
	// arrayOK: false
	// type: number
	// Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.
	Thickness float64 `json:"thickness,omitempty"`

	// Thicknessmode
	// default: pixels
	// type: enumerated
	// Determines whether this color bar's thickness (i.e. the measure in the constant color direction) is set in units of plot *fraction* or in *pixels*. Use `thickness` to set the value.
	Thicknessmode StreamtubeColorbarThicknessmode `json:"thicknessmode,omitempty"`

	// Tick0
	// arrayOK: false
	// type: any
	// Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2) except when `dtick`=*L<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
	// arrayOK: false
	// type: angle
	// Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.
	Tickangle float64 `json:"tickangle,omitempty"`

	// Tickcolor
	// arrayOK: false
	// type: color
	// Sets the tick color.
	Tickcolor Color `json:"tickcolor,omitempty"`

	// Tickfont
	// role: Object
	Tickfont *StreamtubeColorbarTickfont `json:"tickfont,omitempty"`

	// Tickformat
	// arrayOK: false
	// type: string
	// Sets the tick label formatting rule using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-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
	// It's an items array and what goes inside it's... messy... check the docs
	// I will be happy if you want to contribute by implementing this
	// just raise an issue before you start so we do not overlap
	Tickformatstops interface{} `json:"tickformatstops,omitempty"`

	// Ticklabelposition
	// default: outside
	// type: enumerated
	// Determines where tick labels are drawn.
	Ticklabelposition StreamtubeColorbarTicklabelposition `json:"ticklabelposition,omitempty"`

	// Ticklen
	// arrayOK: false
	// type: number
	// Sets the tick length (in px).
	Ticklen float64 `json:"ticklen,omitempty"`

	// Tickmode
	// default: %!s(<nil>)
	// type: enumerated
	// Sets the tick mode for this axis. If *auto*, the number of ticks is set via `nticks`. If *linear*, the placement of the ticks is determined by a starting position `tick0` and a tick step `dtick` (*linear* is the default value if `tick0` and `dtick` are provided). If *array*, the placement of the ticks is set via `tickvals` and the tick text is `ticktext`. (*array* is the default value if `tickvals` is provided).
	Tickmode StreamtubeColorbarTickmode `json:"tickmode,omitempty"`

	// Tickprefix
	// arrayOK: false
	// type: string
	// Sets a tick label prefix.
	Tickprefix String `json:"tickprefix,omitempty"`

	// Ticks
	// default:
	// type: enumerated
	// Determines whether ticks are drawn or not. If **, this axis' ticks are not drawn. If *outside* (*inside*), this axis' are drawn outside (inside) the axis lines.
	Ticks StreamtubeColorbarTicks `json:"ticks,omitempty"`

	// Ticksuffix
	// arrayOK: false
	// type: string
	// Sets a tick label suffix.
	Ticksuffix String `json:"ticksuffix,omitempty"`

	// Ticktext
	// arrayOK: false
	// type: data_array
	// Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `tickvals`.
	Ticktext interface{} `json:"ticktext,omitempty"`

	// Ticktextsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  ticktext .
	Ticktextsrc String `json:"ticktextsrc,omitempty"`

	// Tickvals
	// arrayOK: false
	// type: data_array
	// Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.
	Tickvals interface{} `json:"tickvals,omitempty"`

	// Tickvalssrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  tickvals .
	Tickvalssrc String `json:"tickvalssrc,omitempty"`

	// Tickwidth
	// arrayOK: false
	// type: number
	// Sets the tick width (in px).
	Tickwidth float64 `json:"tickwidth,omitempty"`

	// Title
	// role: Object
	Title *StreamtubeColorbarTitle `json:"title,omitempty"`

	// X
	// arrayOK: false
	// type: number
	// Sets the x position of the color bar (in plot fraction).
	X float64 `json:"x,omitempty"`

	// Xanchor
	// default: left
	// type: enumerated
	// Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the color bar.
	Xanchor StreamtubeColorbarXanchor `json:"xanchor,omitempty"`

	// Xpad
	// arrayOK: false
	// type: number
	// Sets the amount of padding (in px) along the x direction.
	Xpad float64 `json:"xpad,omitempty"`

	// Y
	// arrayOK: false
	// type: number
	// Sets the y position of the color bar (in plot fraction).
	Y float64 `json:"y,omitempty"`

	// Yanchor
	// default: middle
	// type: enumerated
	// Sets this color bar's vertical position anchor This anchor binds the `y` position to the *top*, *middle* or *bottom* of the color bar.
	Yanchor StreamtubeColorbarYanchor `json:"yanchor,omitempty"`

	// Ypad
	// arrayOK: false
	// type: number
	// Sets the amount of padding (in px) along the y direction.
	Ypad float64 `json:"ypad,omitempty"`
}

StreamtubeColorbar

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 (
	StreamtubeColorbarExponentformatNone  StreamtubeColorbarExponentformat = "none"
	StreamtubeColorbarExponentformatE1    StreamtubeColorbarExponentformat = "e"
	StreamtubeColorbarExponentformatE2    StreamtubeColorbarExponentformat = "E"
	StreamtubeColorbarExponentformatPower StreamtubeColorbarExponentformat = "power"
	StreamtubeColorbarExponentformatSi    StreamtubeColorbarExponentformat = "SI"
	StreamtubeColorbarExponentformatB     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 (
	StreamtubeColorbarLenmodeFraction StreamtubeColorbarLenmode = "fraction"
	StreamtubeColorbarLenmodePixels   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 (
	StreamtubeColorbarShowexponentAll   StreamtubeColorbarShowexponent = "all"
	StreamtubeColorbarShowexponentFirst StreamtubeColorbarShowexponent = "first"
	StreamtubeColorbarShowexponentLast  StreamtubeColorbarShowexponent = "last"
	StreamtubeColorbarShowexponentNone  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 (
	StreamtubeColorbarShowtickprefixAll   StreamtubeColorbarShowtickprefix = "all"
	StreamtubeColorbarShowtickprefixFirst StreamtubeColorbarShowtickprefix = "first"
	StreamtubeColorbarShowtickprefixLast  StreamtubeColorbarShowtickprefix = "last"
	StreamtubeColorbarShowtickprefixNone  StreamtubeColorbarShowtickprefix = "none"
)

type StreamtubeColorbarShowticksuffix

type StreamtubeColorbarShowticksuffix string

StreamtubeColorbarShowticksuffix Same as `showtickprefix` but for tick suffixes.

const (
	StreamtubeColorbarShowticksuffixAll   StreamtubeColorbarShowticksuffix = "all"
	StreamtubeColorbarShowticksuffixFirst StreamtubeColorbarShowticksuffix = "first"
	StreamtubeColorbarShowticksuffixLast  StreamtubeColorbarShowticksuffix = "last"
	StreamtubeColorbarShowticksuffixNone  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 (
	StreamtubeColorbarThicknessmodeFraction StreamtubeColorbarThicknessmode = "fraction"
	StreamtubeColorbarThicknessmodePixels   StreamtubeColorbarThicknessmode = "pixels"
)

type StreamtubeColorbarTickfont

type StreamtubeColorbarTickfont struct {

	// Color
	// arrayOK: false
	// type: color
	//
	Color Color `json:"color,omitempty"`

	// Family
	// arrayOK: false
	// type: string
	// HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.
	Family String `json:"family,omitempty"`

	// Size
	// arrayOK: false
	// type: number
	//
	Size float64 `json:"size,omitempty"`
}

StreamtubeColorbarTickfont Sets the color bar's tick label font

type StreamtubeColorbarTicklabelposition added in v0.3.1

type StreamtubeColorbarTicklabelposition string

StreamtubeColorbarTicklabelposition Determines where tick labels are drawn.

const (
	StreamtubeColorbarTicklabelpositionOutside       StreamtubeColorbarTicklabelposition = "outside"
	StreamtubeColorbarTicklabelpositionInside        StreamtubeColorbarTicklabelposition = "inside"
	StreamtubeColorbarTicklabelpositionOutsideTop    StreamtubeColorbarTicklabelposition = "outside top"
	StreamtubeColorbarTicklabelpositionInsideTop     StreamtubeColorbarTicklabelposition = "inside top"
	StreamtubeColorbarTicklabelpositionOutsideBottom StreamtubeColorbarTicklabelposition = "outside bottom"
	StreamtubeColorbarTicklabelpositionInsideBottom  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 (
	StreamtubeColorbarTickmodeAuto   StreamtubeColorbarTickmode = "auto"
	StreamtubeColorbarTickmodeLinear StreamtubeColorbarTickmode = "linear"
	StreamtubeColorbarTickmodeArray  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 (
	StreamtubeColorbarTicksOutside StreamtubeColorbarTicks = "outside"
	StreamtubeColorbarTicksInside  StreamtubeColorbarTicks = "inside"
	StreamtubeColorbarTicksEmpty   StreamtubeColorbarTicks = ""
)

type StreamtubeColorbarTitle

type StreamtubeColorbarTitle struct {

	// Font
	// role: Object
	Font *StreamtubeColorbarTitleFont `json:"font,omitempty"`

	// Side
	// default: top
	// type: enumerated
	// Determines the location of color bar's title with respect to the color bar. Note that the title's location used to be set by the now deprecated `titleside` attribute.
	Side StreamtubeColorbarTitleSide `json:"side,omitempty"`

	// Text
	// arrayOK: false
	// type: string
	// Sets the title of the color bar. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.
	Text String `json:"text,omitempty"`
}

StreamtubeColorbarTitle

type StreamtubeColorbarTitleFont

type StreamtubeColorbarTitleFont struct {

	// Color
	// arrayOK: false
	// type: color
	//
	Color Color `json:"color,omitempty"`

	// Family
	// arrayOK: false
	// type: string
	// HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.
	Family String `json:"family,omitempty"`

	// Size
	// arrayOK: false
	// type: number
	//
	Size float64 `json:"size,omitempty"`
}

StreamtubeColorbarTitleFont Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.

type 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 (
	StreamtubeColorbarTitleSideRight  StreamtubeColorbarTitleSide = "right"
	StreamtubeColorbarTitleSideTop    StreamtubeColorbarTitleSide = "top"
	StreamtubeColorbarTitleSideBottom 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 (
	StreamtubeColorbarXanchorLeft   StreamtubeColorbarXanchor = "left"
	StreamtubeColorbarXanchorCenter StreamtubeColorbarXanchor = "center"
	StreamtubeColorbarXanchorRight  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 (
	StreamtubeColorbarYanchorTop    StreamtubeColorbarYanchor = "top"
	StreamtubeColorbarYanchorMiddle StreamtubeColorbarYanchor = "middle"
	StreamtubeColorbarYanchorBottom StreamtubeColorbarYanchor = "bottom"
)

type StreamtubeHoverinfo

type StreamtubeHoverinfo string

StreamtubeHoverinfo Determines which trace information appear on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired.

const (
	// Flags
	StreamtubeHoverinfoX          StreamtubeHoverinfo = "x"
	StreamtubeHoverinfoY          StreamtubeHoverinfo = "y"
	StreamtubeHoverinfoZ          StreamtubeHoverinfo = "z"
	StreamtubeHoverinfoU          StreamtubeHoverinfo = "u"
	StreamtubeHoverinfoV          StreamtubeHoverinfo = "v"
	StreamtubeHoverinfoW          StreamtubeHoverinfo = "w"
	StreamtubeHoverinfoNorm       StreamtubeHoverinfo = "norm"
	StreamtubeHoverinfoDivergence StreamtubeHoverinfo = "divergence"
	StreamtubeHoverinfoText       StreamtubeHoverinfo = "text"
	StreamtubeHoverinfoName       StreamtubeHoverinfo = "name"

	// Extra
	StreamtubeHoverinfoAll  StreamtubeHoverinfo = "all"
	StreamtubeHoverinfoNone StreamtubeHoverinfo = "none"
	StreamtubeHoverinfoSkip StreamtubeHoverinfo = "skip"
)

type StreamtubeHoverlabel

type StreamtubeHoverlabel struct {

	// Align
	// default: auto
	// type: enumerated
	// Sets the horizontal alignment of the text content within hover label box. Has an effect only if the hover label text spans more two or more lines
	Align StreamtubeHoverlabelAlign `json:"align,omitempty"`

	// Alignsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  align .
	Alignsrc String `json:"alignsrc,omitempty"`

	// Bgcolor
	// arrayOK: true
	// type: color
	// Sets the background color of the hover labels for this trace
	Bgcolor Color `json:"bgcolor,omitempty"`

	// Bgcolorsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  bgcolor .
	Bgcolorsrc String `json:"bgcolorsrc,omitempty"`

	// Bordercolor
	// arrayOK: true
	// type: color
	// Sets the border color of the hover labels for this trace.
	Bordercolor Color `json:"bordercolor,omitempty"`

	// Bordercolorsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  bordercolor .
	Bordercolorsrc String `json:"bordercolorsrc,omitempty"`

	// Font
	// role: Object
	Font *StreamtubeHoverlabelFont `json:"font,omitempty"`

	// Namelength
	// arrayOK: true
	// type: integer
	// Sets the default length (in number of characters) of the trace name in the hover labels for all traces. -1 shows the whole name regardless of length. 0-3 shows the first 0-3 characters, and an integer >3 will show the whole name if it is less than that many characters, but if it is longer, will truncate to `namelength - 3` characters and add an ellipsis.
	Namelength int64 `json:"namelength,omitempty"`

	// Namelengthsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  namelength .
	Namelengthsrc String `json:"namelengthsrc,omitempty"`
}

StreamtubeHoverlabel

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 (
	StreamtubeHoverlabelAlignLeft  StreamtubeHoverlabelAlign = "left"
	StreamtubeHoverlabelAlignRight StreamtubeHoverlabelAlign = "right"
	StreamtubeHoverlabelAlignAuto  StreamtubeHoverlabelAlign = "auto"
)

type StreamtubeHoverlabelFont

type StreamtubeHoverlabelFont struct {

	// Color
	// arrayOK: true
	// type: color
	//
	Color Color `json:"color,omitempty"`

	// Colorsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  color .
	Colorsrc String `json:"colorsrc,omitempty"`

	// Family
	// arrayOK: true
	// type: string
	// HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.
	Family String `json:"family,omitempty"`

	// Familysrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  family .
	Familysrc String `json:"familysrc,omitempty"`

	// Size
	// arrayOK: true
	// type: number
	//
	Size float64 `json:"size,omitempty"`

	// Sizesrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  size .
	Sizesrc String `json:"sizesrc,omitempty"`
}

StreamtubeHoverlabelFont Sets the font used in hover labels.

type StreamtubeLighting

type StreamtubeLighting struct {

	// Ambient
	// arrayOK: false
	// type: number
	// Ambient light increases overall color visibility but can wash out the image.
	Ambient float64 `json:"ambient,omitempty"`

	// Diffuse
	// arrayOK: false
	// type: number
	// Represents the extent that incident rays are reflected in a range of angles.
	Diffuse float64 `json:"diffuse,omitempty"`

	// Facenormalsepsilon
	// arrayOK: false
	// type: number
	// Epsilon for face normals calculation avoids math issues arising from degenerate geometry.
	Facenormalsepsilon float64 `json:"facenormalsepsilon,omitempty"`

	// Fresnel
	// arrayOK: false
	// type: number
	// Represents the reflectance as a dependency of the viewing angle; e.g. paper is reflective when viewing it from the edge of the paper (almost 90 degrees), causing shine.
	Fresnel float64 `json:"fresnel,omitempty"`

	// Roughness
	// arrayOK: false
	// type: number
	// Alters specular reflection; the rougher the surface, the wider and less contrasty the shine.
	Roughness float64 `json:"roughness,omitempty"`

	// Specular
	// arrayOK: false
	// type: number
	// Represents the level that incident rays are reflected in a single direction, causing shine.
	Specular float64 `json:"specular,omitempty"`

	// Vertexnormalsepsilon
	// arrayOK: false
	// type: number
	// Epsilon for vertex normals calculation avoids math issues arising from degenerate geometry.
	Vertexnormalsepsilon float64 `json:"vertexnormalsepsilon,omitempty"`
}

StreamtubeLighting

type StreamtubeLightposition

type StreamtubeLightposition struct {

	// X
	// arrayOK: false
	// type: number
	// Numeric vector, representing the X coordinate for each vertex.
	X float64 `json:"x,omitempty"`

	// Y
	// arrayOK: false
	// type: number
	// Numeric vector, representing the Y coordinate for each vertex.
	Y float64 `json:"y,omitempty"`

	// Z
	// arrayOK: false
	// type: number
	// Numeric vector, representing the Z coordinate for each vertex.
	Z float64 `json:"z,omitempty"`
}

StreamtubeLightposition

type StreamtubeStarts

type StreamtubeStarts struct {

	// X
	// arrayOK: false
	// type: data_array
	// Sets the x components of the starting position of the streamtubes
	X interface{} `json:"x,omitempty"`

	// Xsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  x .
	Xsrc String `json:"xsrc,omitempty"`

	// Y
	// arrayOK: false
	// type: data_array
	// Sets the y components of the starting position of the streamtubes
	Y interface{} `json:"y,omitempty"`

	// Ysrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  y .
	Ysrc String `json:"ysrc,omitempty"`

	// Z
	// arrayOK: false
	// type: data_array
	// Sets the z components of the starting position of the streamtubes
	Z interface{} `json:"z,omitempty"`

	// Zsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  z .
	Zsrc String `json:"zsrc,omitempty"`
}

StreamtubeStarts

type StreamtubeStream

type StreamtubeStream struct {

	// Maxpoints
	// arrayOK: false
	// type: number
	// Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot.
	Maxpoints float64 `json:"maxpoints,omitempty"`

	// Token
	// arrayOK: false
	// type: string
	// The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details.
	Token String `json:"token,omitempty"`
}

StreamtubeStream

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 (
	StreamtubeVisibleTrue       StreamtubeVisible = true
	StreamtubeVisibleFalse      StreamtubeVisible = false
	StreamtubeVisibleLegendonly StreamtubeVisible = "legendonly"
)

type String

type String interface{}

String is a string value, can be a []string if arrayOK is true. numeric values are converted to string by plotly, so []<number> can work

type Sunburst

type Sunburst struct {

	// Type
	// is the type of the plot
	Type TraceType `json:"type,omitempty"`

	// Branchvalues
	// default: remainder
	// type: enumerated
	// Determines how the items in `values` are summed. When set to *total*, items in `values` are taken to be value of all its descendants. When set to *remainder*, items in `values` corresponding to the root and the branches sectors are taken to be the extra part not part of the sum of the values at their leaves.
	Branchvalues SunburstBranchvalues `json:"branchvalues,omitempty"`

	// Count
	// default: leaves
	// type: flaglist
	// Determines default for `values` when it is not provided, by inferring a 1 for each of the *leaves* and/or *branches*, otherwise 0.
	Count SunburstCount `json:"count,omitempty"`

	// Customdata
	// arrayOK: false
	// type: data_array
	// Assigns extra data each datum. This may be useful when listening to hover, click and selection events. Note that, *scatter* traces also appends customdata items in the markers DOM elements
	Customdata interface{} `json:"customdata,omitempty"`

	// Customdatasrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  customdata .
	Customdatasrc String `json:"customdatasrc,omitempty"`

	// Domain
	// role: Object
	Domain *SunburstDomain `json:"domain,omitempty"`

	// Hoverinfo
	// default: label+text+value+name
	// type: flaglist
	// Determines which trace information appear on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired.
	Hoverinfo SunburstHoverinfo `json:"hoverinfo,omitempty"`

	// Hoverinfosrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  hoverinfo .
	Hoverinfosrc String `json:"hoverinfosrc,omitempty"`

	// Hoverlabel
	// role: Object
	Hoverlabel *SunburstHoverlabel `json:"hoverlabel,omitempty"`

	// Hovertemplate
	// arrayOK: true
	// type: string
	// Template string used for rendering the information that appear on hover box. Note that this will override `hoverinfo`. Variables are inserted using %{variable}, for example "y: %{y}". 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 String `json:"hovertemplate,omitempty"`

	// Hovertemplatesrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  hovertemplate .
	Hovertemplatesrc String `json:"hovertemplatesrc,omitempty"`

	// Hovertext
	// arrayOK: true
	// type: string
	// Sets hover text elements associated with each sector. If a single string, the same string appears for all data points. If an array of string, the items are mapped in order of this trace's sectors. To be seen, trace `hoverinfo` must contain a *text* flag.
	Hovertext String `json:"hovertext,omitempty"`

	// Hovertextsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  hovertext .
	Hovertextsrc String `json:"hovertextsrc,omitempty"`

	// Ids
	// arrayOK: false
	// type: data_array
	// Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type.
	Ids interface{} `json:"ids,omitempty"`

	// Idssrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  ids .
	Idssrc String `json:"idssrc,omitempty"`

	// Insidetextfont
	// role: Object
	Insidetextfont *SunburstInsidetextfont `json:"insidetextfont,omitempty"`

	// Insidetextorientation
	// default: auto
	// type: enumerated
	// Controls the orientation of the text inside chart sectors. When set to *auto*, text may be oriented in any direction in order to be as big as possible in the middle of a sector. The *horizontal* option orients text to be parallel with the bottom of the chart, and may make text smaller in order to achieve that goal. The *radial* option orients text along the radius of the sector. The *tangential* option orients text perpendicular to the radius of the sector.
	Insidetextorientation SunburstInsidetextorientation `json:"insidetextorientation,omitempty"`

	// Labels
	// arrayOK: false
	// type: data_array
	// Sets the labels of each of the sectors.
	Labels interface{} `json:"labels,omitempty"`

	// Labelssrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  labels .
	Labelssrc String `json:"labelssrc,omitempty"`

	// Leaf
	// role: Object
	Leaf *SunburstLeaf `json:"leaf,omitempty"`

	// Level
	// arrayOK: false
	// type: any
	// Sets the level from which this trace hierarchy is rendered. Set `level` to `”` to start from the root node in the hierarchy. Must be an "id" if `ids` is filled in, otherwise plotly attempts to find a matching item in `labels`.
	Level interface{} `json:"level,omitempty"`

	// Marker
	// role: Object
	Marker *SunburstMarker `json:"marker,omitempty"`

	// Maxdepth
	// arrayOK: false
	// type: integer
	// Sets the number of rendered sectors from any given `level`. Set `maxdepth` to *-1* to render all the levels in the hierarchy.
	Maxdepth int64 `json:"maxdepth,omitempty"`

	// Meta
	// arrayOK: true
	// type: any
	// Assigns extra meta information associated with this trace that can be used in various text attributes. Attributes such as trace `name`, graph, axis and colorbar `title.text`, annotation `text` `rangeselector`, `updatemenues` and `sliders` `label` text all support `meta`. To access the trace `meta` values in an attribute in the same trace, simply use `%{meta[i]}` where `i` is the index or key of the `meta` item in question. To access trace `meta` in layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index.
	Meta interface{} `json:"meta,omitempty"`

	// Metasrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  meta .
	Metasrc String `json:"metasrc,omitempty"`

	// Name
	// arrayOK: false
	// type: string
	// Sets the trace name. The trace name appear as the legend item and on hover.
	Name String `json:"name,omitempty"`

	// Opacity
	// arrayOK: false
	// type: number
	// Sets the opacity of the trace.
	Opacity float64 `json:"opacity,omitempty"`

	// Outsidetextfont
	// role: Object
	Outsidetextfont *SunburstOutsidetextfont `json:"outsidetextfont,omitempty"`

	// Parents
	// arrayOK: false
	// type: data_array
	// Sets the parent sectors for each of the sectors. Empty string items ” are understood to reference the root node in the hierarchy. If `ids` is filled, `parents` items are understood to be "ids" themselves. When `ids` is not set, plotly attempts to find matching items in `labels`, but beware they must be unique.
	Parents interface{} `json:"parents,omitempty"`

	// Parentssrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  parents .
	Parentssrc String `json:"parentssrc,omitempty"`

	// Root
	// role: Object
	Root *SunburstRoot `json:"root,omitempty"`

	// Rotation
	// arrayOK: false
	// type: angle
	// Rotates the whole diagram counterclockwise by some angle. By default the first slice starts at 3 o'clock.
	Rotation float64 `json:"rotation,omitempty"`

	// Sort
	// arrayOK: false
	// type: boolean
	// Determines whether or not the sectors are reordered from largest to smallest.
	Sort Bool `json:"sort,omitempty"`

	// Stream
	// role: Object
	Stream *SunburstStream `json:"stream,omitempty"`

	// Text
	// arrayOK: false
	// type: data_array
	// Sets text elements associated with each sector. If trace `textinfo` contains a *text* flag, these elements will be seen on the chart. If trace `hoverinfo` contains a *text* flag and *hovertext* is not set, these elements will be seen in the hover labels.
	Text interface{} `json:"text,omitempty"`

	// Textfont
	// role: Object
	Textfont *SunburstTextfont `json:"textfont,omitempty"`

	// Textinfo
	// default: %!s(<nil>)
	// type: flaglist
	// Determines which trace information appear on the graph.
	Textinfo SunburstTextinfo `json:"textinfo,omitempty"`

	// Textsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  text .
	Textsrc String `json:"textsrc,omitempty"`

	// Texttemplate
	// arrayOK: true
	// type: string
	// Template string used for rendering the information text that appear on points. Note that this will override `textinfo`. Variables are inserted using %{variable}, for example "y: %{y}". Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example "Price: %{y:$.2f}". https://github.com/d3/d3-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 String `json:"texttemplate,omitempty"`

	// Texttemplatesrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  texttemplate .
	Texttemplatesrc String `json:"texttemplatesrc,omitempty"`

	// Transforms
	// It's an items array and what goes inside it's... messy... check the docs
	// I will be happy if you want to contribute by implementing this
	// just raise an issue before you start so we do not overlap
	Transforms interface{} `json:"transforms,omitempty"`

	// Uid
	// arrayOK: false
	// type: string
	// Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.
	Uid String `json:"uid,omitempty"`

	// Uirevision
	// arrayOK: false
	// type: any
	// Controls persistence of some user-driven changes to the trace: `constraintrange` in `parcoords` traces, as well as some `editable: true` modifications such as `name` and `colorbar.title`. Defaults to `layout.uirevision`. Note that other user-driven trace attribute changes are controlled by `layout` attributes: `trace.visible` is controlled by `layout.legend.uirevision`, `selectedpoints` is controlled by `layout.selectionrevision`, and `colorbar.(x|y)` (accessible with `config: {editable: true}`) is controlled by `layout.editrevision`. Trace changes are tracked by `uid`, which only falls back on trace index if no `uid` is provided. So if your app can add/remove traces before the end of the `data` array, such that the same trace has a different index, you can still preserve user-driven changes if you give each trace a `uid` that stays with it as it moves.
	Uirevision interface{} `json:"uirevision,omitempty"`

	// Values
	// arrayOK: false
	// type: data_array
	// Sets the values associated with each of the sectors. Use with `branchvalues` to determine how the values are summed.
	Values interface{} `json:"values,omitempty"`

	// Valuessrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  values .
	Valuessrc String `json:"valuessrc,omitempty"`

	// Visible
	// default: %!s(bool=true)
	// type: enumerated
	// Determines whether or not this trace is visible. If *legendonly*, the trace is not drawn, but can appear as a legend item (provided that the legend itself is visible).
	Visible SunburstVisible `json:"visible,omitempty"`
}

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 (*Sunburst) GetType

func (trace *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 (
	SunburstBranchvaluesRemainder SunburstBranchvalues = "remainder"
	SunburstBranchvaluesTotal     SunburstBranchvalues = "total"
)

type SunburstCount

type SunburstCount string

SunburstCount Determines default for `values` when it is not provided, by inferring a 1 for each of the *leaves* and/or *branches*, otherwise 0.

const (
	// Flags
	SunburstCountBranches SunburstCount = "branches"
	SunburstCountLeaves   SunburstCount = "leaves"
)

type SunburstDomain

type SunburstDomain struct {

	// Column
	// arrayOK: false
	// type: integer
	// If there is a layout grid, use the domain for this column in the grid for this sunburst trace .
	Column int64 `json:"column,omitempty"`

	// Row
	// arrayOK: false
	// type: integer
	// If there is a layout grid, use the domain for this row in the grid for this sunburst trace .
	Row int64 `json:"row,omitempty"`

	// X
	// arrayOK: false
	// type: info_array
	// Sets the horizontal domain of this sunburst trace (in plot fraction).
	X interface{} `json:"x,omitempty"`

	// Y
	// arrayOK: false
	// type: info_array
	// Sets the vertical domain of this sunburst trace (in plot fraction).
	Y interface{} `json:"y,omitempty"`
}

SunburstDomain

type SunburstHoverinfo

type SunburstHoverinfo string

SunburstHoverinfo Determines which trace information appear on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired.

const (
	// Flags
	SunburstHoverinfoLabel         SunburstHoverinfo = "label"
	SunburstHoverinfoText          SunburstHoverinfo = "text"
	SunburstHoverinfoValue         SunburstHoverinfo = "value"
	SunburstHoverinfoName          SunburstHoverinfo = "name"
	SunburstHoverinfoCurrentPath   SunburstHoverinfo = "current path"
	SunburstHoverinfoPercentRoot   SunburstHoverinfo = "percent root"
	SunburstHoverinfoPercentEntry  SunburstHoverinfo = "percent entry"
	SunburstHoverinfoPercentParent SunburstHoverinfo = "percent parent"

	// Extra
	SunburstHoverinfoAll  SunburstHoverinfo = "all"
	SunburstHoverinfoNone SunburstHoverinfo = "none"
	SunburstHoverinfoSkip SunburstHoverinfo = "skip"
)

type SunburstHoverlabel

type SunburstHoverlabel struct {

	// Align
	// default: auto
	// type: enumerated
	// Sets the horizontal alignment of the text content within hover label box. Has an effect only if the hover label text spans more two or more lines
	Align SunburstHoverlabelAlign `json:"align,omitempty"`

	// Alignsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  align .
	Alignsrc String `json:"alignsrc,omitempty"`

	// Bgcolor
	// arrayOK: true
	// type: color
	// Sets the background color of the hover labels for this trace
	Bgcolor Color `json:"bgcolor,omitempty"`

	// Bgcolorsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  bgcolor .
	Bgcolorsrc String `json:"bgcolorsrc,omitempty"`

	// Bordercolor
	// arrayOK: true
	// type: color
	// Sets the border color of the hover labels for this trace.
	Bordercolor Color `json:"bordercolor,omitempty"`

	// Bordercolorsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  bordercolor .
	Bordercolorsrc String `json:"bordercolorsrc,omitempty"`

	// Font
	// role: Object
	Font *SunburstHoverlabelFont `json:"font,omitempty"`

	// Namelength
	// arrayOK: true
	// type: integer
	// Sets the default length (in number of characters) of the trace name in the hover labels for all traces. -1 shows the whole name regardless of length. 0-3 shows the first 0-3 characters, and an integer >3 will show the whole name if it is less than that many characters, but if it is longer, will truncate to `namelength - 3` characters and add an ellipsis.
	Namelength int64 `json:"namelength,omitempty"`

	// Namelengthsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  namelength .
	Namelengthsrc String `json:"namelengthsrc,omitempty"`
}

SunburstHoverlabel

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 (
	SunburstHoverlabelAlignLeft  SunburstHoverlabelAlign = "left"
	SunburstHoverlabelAlignRight SunburstHoverlabelAlign = "right"
	SunburstHoverlabelAlignAuto  SunburstHoverlabelAlign = "auto"
)

type SunburstHoverlabelFont

type SunburstHoverlabelFont struct {

	// Color
	// arrayOK: true
	// type: color
	//
	Color Color `json:"color,omitempty"`

	// Colorsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  color .
	Colorsrc String `json:"colorsrc,omitempty"`

	// Family
	// arrayOK: true
	// type: string
	// HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.
	Family String `json:"family,omitempty"`

	// Familysrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  family .
	Familysrc String `json:"familysrc,omitempty"`

	// Size
	// arrayOK: true
	// type: number
	//
	Size float64 `json:"size,omitempty"`

	// Sizesrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  size .
	Sizesrc String `json:"sizesrc,omitempty"`
}

SunburstHoverlabelFont Sets the font used in hover labels.

type SunburstInsidetextfont

type SunburstInsidetextfont struct {

	// Color
	// arrayOK: true
	// type: color
	//
	Color Color `json:"color,omitempty"`

	// Colorsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  color .
	Colorsrc String `json:"colorsrc,omitempty"`

	// Family
	// arrayOK: true
	// type: string
	// HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.
	Family String `json:"family,omitempty"`

	// Familysrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  family .
	Familysrc String `json:"familysrc,omitempty"`

	// Size
	// arrayOK: true
	// type: number
	//
	Size float64 `json:"size,omitempty"`

	// Sizesrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  size .
	Sizesrc String `json:"sizesrc,omitempty"`
}

SunburstInsidetextfont Sets the font used for `textinfo` lying inside the sector.

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 (
	SunburstInsidetextorientationHorizontal SunburstInsidetextorientation = "horizontal"
	SunburstInsidetextorientationRadial     SunburstInsidetextorientation = "radial"
	SunburstInsidetextorientationTangential SunburstInsidetextorientation = "tangential"
	SunburstInsidetextorientationAuto       SunburstInsidetextorientation = "auto"
)

type SunburstLeaf

type SunburstLeaf struct {

	// Opacity
	// arrayOK: false
	// type: number
	// Sets the opacity of the leaves. With colorscale it is defaulted to 1; otherwise it is defaulted to 0.7
	Opacity float64 `json:"opacity,omitempty"`
}

SunburstLeaf

type SunburstMarker

type SunburstMarker struct {

	// Autocolorscale
	// arrayOK: false
	// type: boolean
	// Determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by `marker.colorscale`. Has an effect only if 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
	// arrayOK: false
	// type: boolean
	// Determines whether or not the color domain is computed with respect to the input data (here colors) or the bounds set in `marker.cmin` and `marker.cmax`  Has an effect only if colorsis set to a numerical array. Defaults to `false` when `marker.cmin` and `marker.cmax` are set by the user.
	Cauto Bool `json:"cauto,omitempty"`

	// Cmax
	// arrayOK: false
	// type: number
	// Sets the upper bound of the color domain. Has an effect only if colorsis set to a numerical array. Value should have the same units as colors and if set, `marker.cmin` must be set as well.
	Cmax float64 `json:"cmax,omitempty"`

	// Cmid
	// arrayOK: false
	// type: number
	// Sets the mid-point of the color domain by scaling `marker.cmin` and/or `marker.cmax` to be equidistant to this point. Has an effect only if colorsis set to a numerical array. Value should have the same units as colors. Has no effect when `marker.cauto` is `false`.
	Cmid float64 `json:"cmid,omitempty"`

	// Cmin
	// arrayOK: false
	// type: number
	// Sets the lower bound of the color domain. Has an effect only if colorsis set to a numerical array. Value should have the same units as colors and if set, `marker.cmax` must be set as well.
	Cmin float64 `json:"cmin,omitempty"`

	// Coloraxis
	// arrayOK: false
	// type: subplotid
	// Sets a reference to a shared color axis. References to these shared color axes are *coloraxis*, *coloraxis2*, *coloraxis3*, etc. Settings for these shared color axes are set in the layout, under `layout.coloraxis`, `layout.coloraxis2`, etc. Note that multiple color scales can be linked to the same color axis.
	Coloraxis String `json:"coloraxis,omitempty"`

	// Colorbar
	// role: Object
	Colorbar *SunburstMarkerColorbar `json:"colorbar,omitempty"`

	// Colors
	// arrayOK: false
	// type: data_array
	// Sets the color of each sector of this trace. If not specified, the default trace color set is used to pick the sector colors.
	Colors interface{} `json:"colors,omitempty"`

	// Colorscale
	// default: %!s(<nil>)
	// type: colorscale
	// Sets the colorscale. Has an effect only if colorsis set to a numerical array. The colorscale must be an array containing arrays mapping a normalized value to an rgb, rgba, hex, hsl, hsv, or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, use`marker.cmin` and `marker.cmax`. Alternatively, `colorscale` may be a palette name string of the following list: Greys,YlGnBu,Greens,YlOrRd,Bluered,RdBu,Reds,Blues,Picnic,Rainbow,Portland,Jet,Hot,Blackbody,Earth,Electric,Viridis,Cividis.
	Colorscale ColorScale `json:"colorscale,omitempty"`

	// Colorssrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  colors .
	Colorssrc String `json:"colorssrc,omitempty"`

	// Line
	// role: Object
	Line *SunburstMarkerLine `json:"line,omitempty"`

	// Reversescale
	// arrayOK: false
	// type: boolean
	// Reverses the color mapping if true. Has an effect only if colorsis set to a numerical array. If true, `marker.cmin` will correspond to the last color in the array and `marker.cmax` will correspond to the first color.
	Reversescale Bool `json:"reversescale,omitempty"`

	// Showscale
	// arrayOK: false
	// type: boolean
	// Determines whether or not a colorbar is displayed for this trace. Has an effect only if colorsis set to a numerical array.
	Showscale Bool `json:"showscale,omitempty"`
}

SunburstMarker

type SunburstMarkerColorbar

type SunburstMarkerColorbar struct {

	// Bgcolor
	// arrayOK: false
	// type: color
	// Sets the color of padded area.
	Bgcolor Color `json:"bgcolor,omitempty"`

	// Bordercolor
	// arrayOK: false
	// type: color
	// Sets the axis line color.
	Bordercolor Color `json:"bordercolor,omitempty"`

	// Borderwidth
	// arrayOK: false
	// type: number
	// Sets the width (in px) or the border enclosing this color bar.
	Borderwidth float64 `json:"borderwidth,omitempty"`

	// Dtick
	// arrayOK: false
	// type: any
	// Sets the step in-between ticks on this axis. Use with `tick0`. Must be a positive number, or special strings available to *log* and *date* axes. If the axis `type` is *log*, then ticks are set every 10^(n*dtick) where n is the tick number. For example, to set a tick mark at 1, 10, 100, 1000, ... set dtick to 1. To set tick marks at 1, 100, 10000, ... set dtick to 2. To set tick marks at 1, 5, 25, 125, 625, 3125, ... set dtick to log_10(5), or 0.69897000433. *log* has several special values; *L<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
	// default: B
	// type: enumerated
	// Determines a formatting rule for the tick exponents. For example, consider the number 1,000,000,000. If *none*, it appears as 1,000,000,000. If *e*, 1e+9. If *E*, 1E+9. If *power*, 1x10^9 (with 9 in a super script). If *SI*, 1G. If *B*, 1B.
	Exponentformat SunburstMarkerColorbarExponentformat `json:"exponentformat,omitempty"`

	// Len
	// arrayOK: false
	// type: number
	// Sets the length of the color bar This measure excludes the padding of both ends. That is, the color bar length is this length minus the padding on both ends.
	Len float64 `json:"len,omitempty"`

	// Lenmode
	// default: fraction
	// type: enumerated
	// Determines whether this color bar's length (i.e. the measure in the color variation direction) is set in units of plot *fraction* or in *pixels. Use `len` to set the value.
	Lenmode SunburstMarkerColorbarLenmode `json:"lenmode,omitempty"`

	// Minexponent
	// arrayOK: false
	// type: number
	// Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*.
	Minexponent float64 `json:"minexponent,omitempty"`

	// Nticks
	// arrayOK: false
	// type: integer
	// Specifies the maximum number of ticks for the particular axis. The actual number of ticks will be chosen automatically to be less than or equal to `nticks`. Has an effect only if `tickmode` is set to *auto*.
	Nticks int64 `json:"nticks,omitempty"`

	// Outlinecolor
	// arrayOK: false
	// type: color
	// Sets the axis line color.
	Outlinecolor Color `json:"outlinecolor,omitempty"`

	// Outlinewidth
	// arrayOK: false
	// type: number
	// Sets the width (in px) of the axis line.
	Outlinewidth float64 `json:"outlinewidth,omitempty"`

	// Separatethousands
	// arrayOK: false
	// type: boolean
	// If "true", even 4-digit integers are separated
	Separatethousands Bool `json:"separatethousands,omitempty"`

	// Showexponent
	// default: all
	// type: enumerated
	// If *all*, all exponents are shown besides their significands. If *first*, only the exponent of the first tick is shown. If *last*, only the exponent of the last tick is shown. If *none*, no exponents appear.
	Showexponent SunburstMarkerColorbarShowexponent `json:"showexponent,omitempty"`

	// Showticklabels
	// arrayOK: false
	// type: boolean
	// Determines whether or not the tick labels are drawn.
	Showticklabels Bool `json:"showticklabels,omitempty"`

	// Showtickprefix
	// default: all
	// type: enumerated
	// If *all*, all tick labels are displayed with a prefix. If *first*, only the first tick is displayed with a prefix. If *last*, only the last tick is displayed with a suffix. If *none*, tick prefixes are hidden.
	Showtickprefix SunburstMarkerColorbarShowtickprefix `json:"showtickprefix,omitempty"`

	// Showticksuffix
	// default: all
	// type: enumerated
	// Same as `showtickprefix` but for tick suffixes.
	Showticksuffix SunburstMarkerColorbarShowticksuffix `json:"showticksuffix,omitempty"`

	// Thickness
	// arrayOK: false
	// type: number
	// Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.
	Thickness float64 `json:"thickness,omitempty"`

	// Thicknessmode
	// default: pixels
	// type: enumerated
	// Determines whether this color bar's thickness (i.e. the measure in the constant color direction) is set in units of plot *fraction* or in *pixels*. Use `thickness` to set the value.
	Thicknessmode SunburstMarkerColorbarThicknessmode `json:"thicknessmode,omitempty"`

	// Tick0
	// arrayOK: false
	// type: any
	// Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2) except when `dtick`=*L<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
	// arrayOK: false
	// type: angle
	// Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.
	Tickangle float64 `json:"tickangle,omitempty"`

	// Tickcolor
	// arrayOK: false
	// type: color
	// Sets the tick color.
	Tickcolor Color `json:"tickcolor,omitempty"`

	// Tickfont
	// role: Object
	Tickfont *SunburstMarkerColorbarTickfont `json:"tickfont,omitempty"`

	// Tickformat
	// arrayOK: false
	// type: string
	// Sets the tick label formatting rule using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-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
	// It's an items array and what goes inside it's... messy... check the docs
	// I will be happy if you want to contribute by implementing this
	// just raise an issue before you start so we do not overlap
	Tickformatstops interface{} `json:"tickformatstops,omitempty"`

	// Ticklabelposition
	// default: outside
	// type: enumerated
	// Determines where tick labels are drawn.
	Ticklabelposition SunburstMarkerColorbarTicklabelposition `json:"ticklabelposition,omitempty"`

	// Ticklen
	// arrayOK: false
	// type: number
	// Sets the tick length (in px).
	Ticklen float64 `json:"ticklen,omitempty"`

	// Tickmode
	// default: %!s(<nil>)
	// type: enumerated
	// Sets the tick mode for this axis. If *auto*, the number of ticks is set via `nticks`. If *linear*, the placement of the ticks is determined by a starting position `tick0` and a tick step `dtick` (*linear* is the default value if `tick0` and `dtick` are provided). If *array*, the placement of the ticks is set via `tickvals` and the tick text is `ticktext`. (*array* is the default value if `tickvals` is provided).
	Tickmode SunburstMarkerColorbarTickmode `json:"tickmode,omitempty"`

	// Tickprefix
	// arrayOK: false
	// type: string
	// Sets a tick label prefix.
	Tickprefix String `json:"tickprefix,omitempty"`

	// Ticks
	// default:
	// type: enumerated
	// Determines whether ticks are drawn or not. If **, this axis' ticks are not drawn. If *outside* (*inside*), this axis' are drawn outside (inside) the axis lines.
	Ticks SunburstMarkerColorbarTicks `json:"ticks,omitempty"`

	// Ticksuffix
	// arrayOK: false
	// type: string
	// Sets a tick label suffix.
	Ticksuffix String `json:"ticksuffix,omitempty"`

	// Ticktext
	// arrayOK: false
	// type: data_array
	// Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `tickvals`.
	Ticktext interface{} `json:"ticktext,omitempty"`

	// Ticktextsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  ticktext .
	Ticktextsrc String `json:"ticktextsrc,omitempty"`

	// Tickvals
	// arrayOK: false
	// type: data_array
	// Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.
	Tickvals interface{} `json:"tickvals,omitempty"`

	// Tickvalssrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  tickvals .
	Tickvalssrc String `json:"tickvalssrc,omitempty"`

	// Tickwidth
	// arrayOK: false
	// type: number
	// Sets the tick width (in px).
	Tickwidth float64 `json:"tickwidth,omitempty"`

	// Title
	// role: Object
	Title *SunburstMarkerColorbarTitle `json:"title,omitempty"`

	// X
	// arrayOK: false
	// type: number
	// Sets the x position of the color bar (in plot fraction).
	X float64 `json:"x,omitempty"`

	// Xanchor
	// default: left
	// type: enumerated
	// Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the color bar.
	Xanchor SunburstMarkerColorbarXanchor `json:"xanchor,omitempty"`

	// Xpad
	// arrayOK: false
	// type: number
	// Sets the amount of padding (in px) along the x direction.
	Xpad float64 `json:"xpad,omitempty"`

	// Y
	// arrayOK: false
	// type: number
	// Sets the y position of the color bar (in plot fraction).
	Y float64 `json:"y,omitempty"`

	// Yanchor
	// default: middle
	// type: enumerated
	// Sets this color bar's vertical position anchor This anchor binds the `y` position to the *top*, *middle* or *bottom* of the color bar.
	Yanchor SunburstMarkerColorbarYanchor `json:"yanchor,omitempty"`

	// Ypad
	// arrayOK: false
	// type: number
	// Sets the amount of padding (in px) along the y direction.
	Ypad float64 `json:"ypad,omitempty"`
}

SunburstMarkerColorbar

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 (
	SunburstMarkerColorbarExponentformatNone  SunburstMarkerColorbarExponentformat = "none"
	SunburstMarkerColorbarExponentformatE1    SunburstMarkerColorbarExponentformat = "e"
	SunburstMarkerColorbarExponentformatE2    SunburstMarkerColorbarExponentformat = "E"
	SunburstMarkerColorbarExponentformatPower SunburstMarkerColorbarExponentformat = "power"
	SunburstMarkerColorbarExponentformatSi    SunburstMarkerColorbarExponentformat = "SI"
	SunburstMarkerColorbarExponentformatB     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 (
	SunburstMarkerColorbarLenmodeFraction SunburstMarkerColorbarLenmode = "fraction"
	SunburstMarkerColorbarLenmodePixels   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 (
	SunburstMarkerColorbarShowexponentAll   SunburstMarkerColorbarShowexponent = "all"
	SunburstMarkerColorbarShowexponentFirst SunburstMarkerColorbarShowexponent = "first"
	SunburstMarkerColorbarShowexponentLast  SunburstMarkerColorbarShowexponent = "last"
	SunburstMarkerColorbarShowexponentNone  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 (
	SunburstMarkerColorbarShowtickprefixAll   SunburstMarkerColorbarShowtickprefix = "all"
	SunburstMarkerColorbarShowtickprefixFirst SunburstMarkerColorbarShowtickprefix = "first"
	SunburstMarkerColorbarShowtickprefixLast  SunburstMarkerColorbarShowtickprefix = "last"
	SunburstMarkerColorbarShowtickprefixNone  SunburstMarkerColorbarShowtickprefix = "none"
)

type SunburstMarkerColorbarShowticksuffix

type SunburstMarkerColorbarShowticksuffix string

SunburstMarkerColorbarShowticksuffix Same as `showtickprefix` but for tick suffixes.

const (
	SunburstMarkerColorbarShowticksuffixAll   SunburstMarkerColorbarShowticksuffix = "all"
	SunburstMarkerColorbarShowticksuffixFirst SunburstMarkerColorbarShowticksuffix = "first"
	SunburstMarkerColorbarShowticksuffixLast  SunburstMarkerColorbarShowticksuffix = "last"
	SunburstMarkerColorbarShowticksuffixNone  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 (
	SunburstMarkerColorbarThicknessmodeFraction SunburstMarkerColorbarThicknessmode = "fraction"
	SunburstMarkerColorbarThicknessmodePixels   SunburstMarkerColorbarThicknessmode = "pixels"
)

type SunburstMarkerColorbarTickfont

type SunburstMarkerColorbarTickfont struct {

	// Color
	// arrayOK: false
	// type: color
	//
	Color Color `json:"color,omitempty"`

	// Family
	// arrayOK: false
	// type: string
	// HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.
	Family String `json:"family,omitempty"`

	// Size
	// arrayOK: false
	// type: number
	//
	Size float64 `json:"size,omitempty"`
}

SunburstMarkerColorbarTickfont Sets the color bar's tick label font

type SunburstMarkerColorbarTicklabelposition added in v0.3.1

type SunburstMarkerColorbarTicklabelposition string

SunburstMarkerColorbarTicklabelposition Determines where tick labels are drawn.

const (
	SunburstMarkerColorbarTicklabelpositionOutside       SunburstMarkerColorbarTicklabelposition = "outside"
	SunburstMarkerColorbarTicklabelpositionInside        SunburstMarkerColorbarTicklabelposition = "inside"
	SunburstMarkerColorbarTicklabelpositionOutsideTop    SunburstMarkerColorbarTicklabelposition = "outside top"
	SunburstMarkerColorbarTicklabelpositionInsideTop     SunburstMarkerColorbarTicklabelposition = "inside top"
	SunburstMarkerColorbarTicklabelpositionOutsideBottom SunburstMarkerColorbarTicklabelposition = "outside bottom"
	SunburstMarkerColorbarTicklabelpositionInsideBottom  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 (
	SunburstMarkerColorbarTickmodeAuto   SunburstMarkerColorbarTickmode = "auto"
	SunburstMarkerColorbarTickmodeLinear SunburstMarkerColorbarTickmode = "linear"
	SunburstMarkerColorbarTickmodeArray  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 (
	SunburstMarkerColorbarTicksOutside SunburstMarkerColorbarTicks = "outside"
	SunburstMarkerColorbarTicksInside  SunburstMarkerColorbarTicks = "inside"
	SunburstMarkerColorbarTicksEmpty   SunburstMarkerColorbarTicks = ""
)

type SunburstMarkerColorbarTitle

type SunburstMarkerColorbarTitle struct {

	// Font
	// role: Object
	Font *SunburstMarkerColorbarTitleFont `json:"font,omitempty"`

	// Side
	// default: top
	// type: enumerated
	// Determines the location of color bar's title with respect to the color bar. Note that the title's location used to be set by the now deprecated `titleside` attribute.
	Side SunburstMarkerColorbarTitleSide `json:"side,omitempty"`

	// Text
	// arrayOK: false
	// type: string
	// Sets the title of the color bar. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.
	Text String `json:"text,omitempty"`
}

SunburstMarkerColorbarTitle

type SunburstMarkerColorbarTitleFont

type SunburstMarkerColorbarTitleFont struct {

	// Color
	// arrayOK: false
	// type: color
	//
	Color Color `json:"color,omitempty"`

	// Family
	// arrayOK: false
	// type: string
	// HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.
	Family String `json:"family,omitempty"`

	// Size
	// arrayOK: false
	// type: number
	//
	Size float64 `json:"size,omitempty"`
}

SunburstMarkerColorbarTitleFont Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.

type 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 (
	SunburstMarkerColorbarTitleSideRight  SunburstMarkerColorbarTitleSide = "right"
	SunburstMarkerColorbarTitleSideTop    SunburstMarkerColorbarTitleSide = "top"
	SunburstMarkerColorbarTitleSideBottom 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 (
	SunburstMarkerColorbarXanchorLeft   SunburstMarkerColorbarXanchor = "left"
	SunburstMarkerColorbarXanchorCenter SunburstMarkerColorbarXanchor = "center"
	SunburstMarkerColorbarXanchorRight  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 (
	SunburstMarkerColorbarYanchorTop    SunburstMarkerColorbarYanchor = "top"
	SunburstMarkerColorbarYanchorMiddle SunburstMarkerColorbarYanchor = "middle"
	SunburstMarkerColorbarYanchorBottom SunburstMarkerColorbarYanchor = "bottom"
)

type SunburstMarkerLine

type SunburstMarkerLine struct {

	// Color
	// arrayOK: true
	// type: color
	// Sets the color of the line enclosing each sector. Defaults to the `paper_bgcolor` value.
	Color Color `json:"color,omitempty"`

	// Colorsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  color .
	Colorsrc String `json:"colorsrc,omitempty"`

	// Width
	// arrayOK: true
	// type: number
	// Sets the width (in px) of the line enclosing each sector.
	Width float64 `json:"width,omitempty"`

	// Widthsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  width .
	Widthsrc String `json:"widthsrc,omitempty"`
}

SunburstMarkerLine

type SunburstOutsidetextfont

type SunburstOutsidetextfont struct {

	// Color
	// arrayOK: true
	// type: color
	//
	Color Color `json:"color,omitempty"`

	// Colorsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  color .
	Colorsrc String `json:"colorsrc,omitempty"`

	// Family
	// arrayOK: true
	// type: string
	// HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.
	Family String `json:"family,omitempty"`

	// Familysrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  family .
	Familysrc String `json:"familysrc,omitempty"`

	// Size
	// arrayOK: true
	// type: number
	//
	Size float64 `json:"size,omitempty"`

	// Sizesrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  size .
	Sizesrc String `json:"sizesrc,omitempty"`
}

SunburstOutsidetextfont Sets the font used for `textinfo` lying outside the sector. This option refers to the root of the hierarchy presented at the center of a sunburst graph. Please note that if a hierarchy has multiple root nodes, this option won't have any effect and `insidetextfont` would be used.

type SunburstRoot added in v0.3.1

type SunburstRoot struct {

	// Color
	// arrayOK: false
	// type: color
	// sets the color of the root node for a sunburst or a treemap trace. this has no effect when a colorscale is used to set the markers.
	Color Color `json:"color,omitempty"`
}

SunburstRoot

type SunburstStream

type SunburstStream struct {

	// Maxpoints
	// arrayOK: false
	// type: number
	// Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot.
	Maxpoints float64 `json:"maxpoints,omitempty"`

	// Token
	// arrayOK: false
	// type: string
	// The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details.
	Token String `json:"token,omitempty"`
}

SunburstStream

type SunburstTextfont

type SunburstTextfont struct {

	// Color
	// arrayOK: true
	// type: color
	//
	Color Color `json:"color,omitempty"`

	// Colorsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  color .
	Colorsrc String `json:"colorsrc,omitempty"`

	// Family
	// arrayOK: true
	// type: string
	// HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.
	Family String `json:"family,omitempty"`

	// Familysrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  family .
	Familysrc String `json:"familysrc,omitempty"`

	// Size
	// arrayOK: true
	// type: number
	//
	Size float64 `json:"size,omitempty"`

	// Sizesrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  size .
	Sizesrc String `json:"sizesrc,omitempty"`
}

SunburstTextfont Sets the font used for `textinfo`.

type SunburstTextinfo

type SunburstTextinfo string

SunburstTextinfo Determines which trace information appear on the graph.

const (
	// Flags
	SunburstTextinfoLabel         SunburstTextinfo = "label"
	SunburstTextinfoText          SunburstTextinfo = "text"
	SunburstTextinfoValue         SunburstTextinfo = "value"
	SunburstTextinfoCurrentPath   SunburstTextinfo = "current path"
	SunburstTextinfoPercentRoot   SunburstTextinfo = "percent root"
	SunburstTextinfoPercentEntry  SunburstTextinfo = "percent entry"
	SunburstTextinfoPercentParent SunburstTextinfo = "percent parent"

	// Extra
	SunburstTextinfoNone SunburstTextinfo = "none"
)

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 (
	SunburstVisibleTrue       SunburstVisible = true
	SunburstVisibleFalse      SunburstVisible = false
	SunburstVisibleLegendonly SunburstVisible = "legendonly"
)

type Surface

type Surface struct {

	// Type
	// is the type of the plot
	Type TraceType `json:"type,omitempty"`

	// Autocolorscale
	// arrayOK: false
	// type: boolean
	// Determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by `colorscale`. In case `colorscale` is unspecified or `autocolorscale` is true, the default  palette will be chosen according to whether numbers in the `color` array are all positive, all negative or mixed.
	Autocolorscale Bool `json:"autocolorscale,omitempty"`

	// Cauto
	// arrayOK: false
	// type: boolean
	// Determines whether or not the color domain is computed with respect to the input data (here z or surfacecolor) or the bounds set in `cmin` and `cmax`  Defaults to `false` when `cmin` and `cmax` are set by the user.
	Cauto Bool `json:"cauto,omitempty"`

	// Cmax
	// arrayOK: false
	// type: number
	// Sets the upper bound of the color domain. Value should have the same units as z or surfacecolor and if set, `cmin` must be set as well.
	Cmax float64 `json:"cmax,omitempty"`

	// Cmid
	// arrayOK: false
	// type: number
	// Sets the mid-point of the color domain by scaling `cmin` and/or `cmax` to be equidistant to this point. Value should have the same units as z or surfacecolor. Has no effect when `cauto` is `false`.
	Cmid float64 `json:"cmid,omitempty"`

	// Cmin
	// arrayOK: false
	// type: number
	// Sets the lower bound of the color domain. Value should have the same units as z or surfacecolor and if set, `cmax` must be set as well.
	Cmin float64 `json:"cmin,omitempty"`

	// Coloraxis
	// arrayOK: false
	// type: subplotid
	// Sets a reference to a shared color axis. References to these shared color axes are *coloraxis*, *coloraxis2*, *coloraxis3*, etc. Settings for these shared color axes are set in the layout, under `layout.coloraxis`, `layout.coloraxis2`, etc. Note that multiple color scales can be linked to the same color axis.
	Coloraxis String `json:"coloraxis,omitempty"`

	// Colorbar
	// role: Object
	Colorbar *SurfaceColorbar `json:"colorbar,omitempty"`

	// Colorscale
	// default: %!s(<nil>)
	// type: colorscale
	// Sets the colorscale. The colorscale must be an array containing arrays mapping a normalized value to an rgb, rgba, hex, hsl, hsv, or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, use`cmin` and `cmax`. Alternatively, `colorscale` may be a palette name string of the following list: Greys,YlGnBu,Greens,YlOrRd,Bluered,RdBu,Reds,Blues,Picnic,Rainbow,Portland,Jet,Hot,Blackbody,Earth,Electric,Viridis,Cividis.
	Colorscale ColorScale `json:"colorscale,omitempty"`

	// Connectgaps
	// arrayOK: false
	// type: boolean
	// Determines whether or not gaps (i.e. {nan} or missing values) in the `z` data are filled in.
	Connectgaps Bool `json:"connectgaps,omitempty"`

	// Contours
	// role: Object
	Contours *SurfaceContours `json:"contours,omitempty"`

	// Customdata
	// arrayOK: false
	// type: data_array
	// Assigns extra data each datum. This may be useful when listening to hover, click and selection events. Note that, *scatter* traces also appends customdata items in the markers DOM elements
	Customdata interface{} `json:"customdata,omitempty"`

	// Customdatasrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  customdata .
	Customdatasrc String `json:"customdatasrc,omitempty"`

	// Hidesurface
	// arrayOK: false
	// type: boolean
	// Determines whether or not a surface is drawn. For example, set `hidesurface` to *false* `contours.x.show` to *true* and `contours.y.show` to *true* to draw a wire frame plot.
	Hidesurface Bool `json:"hidesurface,omitempty"`

	// Hoverinfo
	// default: all
	// type: flaglist
	// Determines which trace information appear on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired.
	Hoverinfo SurfaceHoverinfo `json:"hoverinfo,omitempty"`

	// Hoverinfosrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  hoverinfo .
	Hoverinfosrc String `json:"hoverinfosrc,omitempty"`

	// Hoverlabel
	// role: Object
	Hoverlabel *SurfaceHoverlabel `json:"hoverlabel,omitempty"`

	// Hovertemplate
	// arrayOK: true
	// type: string
	// Template string used for rendering the information that appear on hover box. Note that this will override `hoverinfo`. Variables are inserted using %{variable}, for example "y: %{y}". 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 String `json:"hovertemplate,omitempty"`

	// Hovertemplatesrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  hovertemplate .
	Hovertemplatesrc String `json:"hovertemplatesrc,omitempty"`

	// Hovertext
	// arrayOK: true
	// type: string
	// Same as `text`.
	Hovertext String `json:"hovertext,omitempty"`

	// Hovertextsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  hovertext .
	Hovertextsrc String `json:"hovertextsrc,omitempty"`

	// Ids
	// arrayOK: false
	// type: data_array
	// Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type.
	Ids interface{} `json:"ids,omitempty"`

	// Idssrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  ids .
	Idssrc String `json:"idssrc,omitempty"`

	// Legendgroup
	// arrayOK: false
	// type: string
	// Sets the legend group for this trace. Traces part of the same legend group hide/show at the same time when toggling legend items.
	Legendgroup String `json:"legendgroup,omitempty"`

	// Lighting
	// role: Object
	Lighting *SurfaceLighting `json:"lighting,omitempty"`

	// Lightposition
	// role: Object
	Lightposition *SurfaceLightposition `json:"lightposition,omitempty"`

	// Meta
	// arrayOK: true
	// type: any
	// Assigns extra meta information associated with this trace that can be used in various text attributes. Attributes such as trace `name`, graph, axis and colorbar `title.text`, annotation `text` `rangeselector`, `updatemenues` and `sliders` `label` text all support `meta`. To access the trace `meta` values in an attribute in the same trace, simply use `%{meta[i]}` where `i` is the index or key of the `meta` item in question. To access trace `meta` in layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index.
	Meta interface{} `json:"meta,omitempty"`

	// Metasrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  meta .
	Metasrc String `json:"metasrc,omitempty"`

	// Name
	// arrayOK: false
	// type: string
	// Sets the trace name. The trace name appear as the legend item and on hover.
	Name String `json:"name,omitempty"`

	// Opacity
	// arrayOK: false
	// type: number
	// Sets the opacity of the surface. Please note that in the case of using high `opacity` values for example a value greater than or equal to 0.5 on two surfaces (and 0.25 with four surfaces), an overlay of multiple transparent surfaces may not perfectly be sorted in depth by the webgl API. This behavior may be improved in the near future and is subject to change.
	Opacity float64 `json:"opacity,omitempty"`

	// Opacityscale
	// arrayOK: false
	// type: any
	// Sets the opacityscale. The opacityscale must be an array containing arrays mapping a normalized value to an opacity value. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 1], [0.5, 0.2], [1, 1]]` means that higher/lower values would have higher opacity values and those in the middle would be more transparent Alternatively, `opacityscale` may be a palette name string of the following list: 'min', 'max', 'extremes' and 'uniform'. The default is 'uniform'.
	Opacityscale interface{} `json:"opacityscale,omitempty"`

	// Reversescale
	// arrayOK: false
	// type: boolean
	// Reverses the color mapping if true. If true, `cmin` will correspond to the last color in the array and `cmax` will correspond to the first color.
	Reversescale Bool `json:"reversescale,omitempty"`

	// Scene
	// arrayOK: false
	// type: subplotid
	// Sets a reference between this trace's 3D coordinate system and a 3D scene. If *scene* (the default value), the (x,y,z) coordinates refer to `layout.scene`. If *scene2*, the (x,y,z) coordinates refer to `layout.scene2`, and so on.
	Scene String `json:"scene,omitempty"`

	// Showlegend
	// arrayOK: false
	// type: boolean
	// Determines whether or not an item corresponding to this trace is shown in the legend.
	Showlegend Bool `json:"showlegend,omitempty"`

	// Showscale
	// arrayOK: false
	// type: boolean
	// Determines whether or not a colorbar is displayed for this trace.
	Showscale Bool `json:"showscale,omitempty"`

	// Stream
	// role: Object
	Stream *SurfaceStream `json:"stream,omitempty"`

	// Surfacecolor
	// arrayOK: false
	// type: data_array
	// Sets the surface color values, used for setting a color scale independent of `z`.
	Surfacecolor interface{} `json:"surfacecolor,omitempty"`

	// Surfacecolorsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  surfacecolor .
	Surfacecolorsrc String `json:"surfacecolorsrc,omitempty"`

	// Text
	// arrayOK: true
	// type: string
	// Sets the text elements associated with each z value. If trace `hoverinfo` contains a *text* flag and *hovertext* is not set, these elements will be seen in the hover labels.
	Text String `json:"text,omitempty"`

	// Textsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  text .
	Textsrc String `json:"textsrc,omitempty"`

	// Uid
	// arrayOK: false
	// type: string
	// Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.
	Uid String `json:"uid,omitempty"`

	// Uirevision
	// arrayOK: false
	// type: any
	// Controls persistence of some user-driven changes to the trace: `constraintrange` in `parcoords` traces, as well as some `editable: true` modifications such as `name` and `colorbar.title`. Defaults to `layout.uirevision`. Note that other user-driven trace attribute changes are controlled by `layout` attributes: `trace.visible` is controlled by `layout.legend.uirevision`, `selectedpoints` is controlled by `layout.selectionrevision`, and `colorbar.(x|y)` (accessible with `config: {editable: true}`) is controlled by `layout.editrevision`. Trace changes are tracked by `uid`, which only falls back on trace index if no `uid` is provided. So if your app can add/remove traces before the end of the `data` array, such that the same trace has a different index, you can still preserve user-driven changes if you give each trace a `uid` that stays with it as it moves.
	Uirevision interface{} `json:"uirevision,omitempty"`

	// Visible
	// default: %!s(bool=true)
	// type: enumerated
	// Determines whether or not this trace is visible. If *legendonly*, the trace is not drawn, but can appear as a legend item (provided that the legend itself is visible).
	Visible SurfaceVisible `json:"visible,omitempty"`

	// X
	// arrayOK: false
	// type: data_array
	// Sets the x coordinates.
	X interface{} `json:"x,omitempty"`

	// Xcalendar
	// default: gregorian
	// type: enumerated
	// Sets the calendar system to use with `x` date data.
	Xcalendar SurfaceXcalendar `json:"xcalendar,omitempty"`

	// Xsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  x .
	Xsrc String `json:"xsrc,omitempty"`

	// Y
	// arrayOK: false
	// type: data_array
	// Sets the y coordinates.
	Y interface{} `json:"y,omitempty"`

	// Ycalendar
	// default: gregorian
	// type: enumerated
	// Sets the calendar system to use with `y` date data.
	Ycalendar SurfaceYcalendar `json:"ycalendar,omitempty"`

	// Ysrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  y .
	Ysrc String `json:"ysrc,omitempty"`

	// Z
	// arrayOK: false
	// type: data_array
	// Sets the z coordinates.
	Z interface{} `json:"z,omitempty"`

	// Zcalendar
	// default: gregorian
	// type: enumerated
	// Sets the calendar system to use with `z` date data.
	Zcalendar SurfaceZcalendar `json:"zcalendar,omitempty"`

	// Zsrc
	// arrayOK: false
	// type: 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 (*Surface) GetType

func (trace *Surface) GetType() TraceType

type SurfaceColorbar

type SurfaceColorbar struct {

	// Bgcolor
	// arrayOK: false
	// type: color
	// Sets the color of padded area.
	Bgcolor Color `json:"bgcolor,omitempty"`

	// Bordercolor
	// arrayOK: false
	// type: color
	// Sets the axis line color.
	Bordercolor Color `json:"bordercolor,omitempty"`

	// Borderwidth
	// arrayOK: false
	// type: number
	// Sets the width (in px) or the border enclosing this color bar.
	Borderwidth float64 `json:"borderwidth,omitempty"`

	// Dtick
	// arrayOK: false
	// type: any
	// Sets the step in-between ticks on this axis. Use with `tick0`. Must be a positive number, or special strings available to *log* and *date* axes. If the axis `type` is *log*, then ticks are set every 10^(n*dtick) where n is the tick number. For example, to set a tick mark at 1, 10, 100, 1000, ... set dtick to 1. To set tick marks at 1, 100, 10000, ... set dtick to 2. To set tick marks at 1, 5, 25, 125, 625, 3125, ... set dtick to log_10(5), or 0.69897000433. *log* has several special values; *L<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
	// default: B
	// type: enumerated
	// Determines a formatting rule for the tick exponents. For example, consider the number 1,000,000,000. If *none*, it appears as 1,000,000,000. If *e*, 1e+9. If *E*, 1E+9. If *power*, 1x10^9 (with 9 in a super script). If *SI*, 1G. If *B*, 1B.
	Exponentformat SurfaceColorbarExponentformat `json:"exponentformat,omitempty"`

	// Len
	// arrayOK: false
	// type: number
	// Sets the length of the color bar This measure excludes the padding of both ends. That is, the color bar length is this length minus the padding on both ends.
	Len float64 `json:"len,omitempty"`

	// Lenmode
	// default: fraction
	// type: enumerated
	// Determines whether this color bar's length (i.e. the measure in the color variation direction) is set in units of plot *fraction* or in *pixels. Use `len` to set the value.
	Lenmode SurfaceColorbarLenmode `json:"lenmode,omitempty"`

	// Minexponent
	// arrayOK: false
	// type: number
	// Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*.
	Minexponent float64 `json:"minexponent,omitempty"`

	// Nticks
	// arrayOK: false
	// type: integer
	// Specifies the maximum number of ticks for the particular axis. The actual number of ticks will be chosen automatically to be less than or equal to `nticks`. Has an effect only if `tickmode` is set to *auto*.
	Nticks int64 `json:"nticks,omitempty"`

	// Outlinecolor
	// arrayOK: false
	// type: color
	// Sets the axis line color.
	Outlinecolor Color `json:"outlinecolor,omitempty"`

	// Outlinewidth
	// arrayOK: false
	// type: number
	// Sets the width (in px) of the axis line.
	Outlinewidth float64 `json:"outlinewidth,omitempty"`

	// Separatethousands
	// arrayOK: false
	// type: boolean
	// If "true", even 4-digit integers are separated
	Separatethousands Bool `json:"separatethousands,omitempty"`

	// Showexponent
	// default: all
	// type: enumerated
	// If *all*, all exponents are shown besides their significands. If *first*, only the exponent of the first tick is shown. If *last*, only the exponent of the last tick is shown. If *none*, no exponents appear.
	Showexponent SurfaceColorbarShowexponent `json:"showexponent,omitempty"`

	// Showticklabels
	// arrayOK: false
	// type: boolean
	// Determines whether or not the tick labels are drawn.
	Showticklabels Bool `json:"showticklabels,omitempty"`

	// Showtickprefix
	// default: all
	// type: enumerated
	// If *all*, all tick labels are displayed with a prefix. If *first*, only the first tick is displayed with a prefix. If *last*, only the last tick is displayed with a suffix. If *none*, tick prefixes are hidden.
	Showtickprefix SurfaceColorbarShowtickprefix `json:"showtickprefix,omitempty"`

	// Showticksuffix
	// default: all
	// type: enumerated
	// Same as `showtickprefix` but for tick suffixes.
	Showticksuffix SurfaceColorbarShowticksuffix `json:"showticksuffix,omitempty"`

	// Thickness
	// arrayOK: false
	// type: number
	// Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.
	Thickness float64 `json:"thickness,omitempty"`

	// Thicknessmode
	// default: pixels
	// type: enumerated
	// Determines whether this color bar's thickness (i.e. the measure in the constant color direction) is set in units of plot *fraction* or in *pixels*. Use `thickness` to set the value.
	Thicknessmode SurfaceColorbarThicknessmode `json:"thicknessmode,omitempty"`

	// Tick0
	// arrayOK: false
	// type: any
	// Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2) except when `dtick`=*L<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
	// arrayOK: false
	// type: angle
	// Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.
	Tickangle float64 `json:"tickangle,omitempty"`

	// Tickcolor
	// arrayOK: false
	// type: color
	// Sets the tick color.
	Tickcolor Color `json:"tickcolor,omitempty"`

	// Tickfont
	// role: Object
	Tickfont *SurfaceColorbarTickfont `json:"tickfont,omitempty"`

	// Tickformat
	// arrayOK: false
	// type: string
	// Sets the tick label formatting rule using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-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
	// It's an items array and what goes inside it's... messy... check the docs
	// I will be happy if you want to contribute by implementing this
	// just raise an issue before you start so we do not overlap
	Tickformatstops interface{} `json:"tickformatstops,omitempty"`

	// Ticklabelposition
	// default: outside
	// type: enumerated
	// Determines where tick labels are drawn.
	Ticklabelposition SurfaceColorbarTicklabelposition `json:"ticklabelposition,omitempty"`

	// Ticklen
	// arrayOK: false
	// type: number
	// Sets the tick length (in px).
	Ticklen float64 `json:"ticklen,omitempty"`

	// Tickmode
	// default: %!s(<nil>)
	// type: enumerated
	// Sets the tick mode for this axis. If *auto*, the number of ticks is set via `nticks`. If *linear*, the placement of the ticks is determined by a starting position `tick0` and a tick step `dtick` (*linear* is the default value if `tick0` and `dtick` are provided). If *array*, the placement of the ticks is set via `tickvals` and the tick text is `ticktext`. (*array* is the default value if `tickvals` is provided).
	Tickmode SurfaceColorbarTickmode `json:"tickmode,omitempty"`

	// Tickprefix
	// arrayOK: false
	// type: string
	// Sets a tick label prefix.
	Tickprefix String `json:"tickprefix,omitempty"`

	// Ticks
	// default:
	// type: enumerated
	// Determines whether ticks are drawn or not. If **, this axis' ticks are not drawn. If *outside* (*inside*), this axis' are drawn outside (inside) the axis lines.
	Ticks SurfaceColorbarTicks `json:"ticks,omitempty"`

	// Ticksuffix
	// arrayOK: false
	// type: string
	// Sets a tick label suffix.
	Ticksuffix String `json:"ticksuffix,omitempty"`

	// Ticktext
	// arrayOK: false
	// type: data_array
	// Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `tickvals`.
	Ticktext interface{} `json:"ticktext,omitempty"`

	// Ticktextsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  ticktext .
	Ticktextsrc String `json:"ticktextsrc,omitempty"`

	// Tickvals
	// arrayOK: false
	// type: data_array
	// Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.
	Tickvals interface{} `json:"tickvals,omitempty"`

	// Tickvalssrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  tickvals .
	Tickvalssrc String `json:"tickvalssrc,omitempty"`

	// Tickwidth
	// arrayOK: false
	// type: number
	// Sets the tick width (in px).
	Tickwidth float64 `json:"tickwidth,omitempty"`

	// Title
	// role: Object
	Title *SurfaceColorbarTitle `json:"title,omitempty"`

	// X
	// arrayOK: false
	// type: number
	// Sets the x position of the color bar (in plot fraction).
	X float64 `json:"x,omitempty"`

	// Xanchor
	// default: left
	// type: enumerated
	// Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the color bar.
	Xanchor SurfaceColorbarXanchor `json:"xanchor,omitempty"`

	// Xpad
	// arrayOK: false
	// type: number
	// Sets the amount of padding (in px) along the x direction.
	Xpad float64 `json:"xpad,omitempty"`

	// Y
	// arrayOK: false
	// type: number
	// Sets the y position of the color bar (in plot fraction).
	Y float64 `json:"y,omitempty"`

	// Yanchor
	// default: middle
	// type: enumerated
	// Sets this color bar's vertical position anchor This anchor binds the `y` position to the *top*, *middle* or *bottom* of the color bar.
	Yanchor SurfaceColorbarYanchor `json:"yanchor,omitempty"`

	// Ypad
	// arrayOK: false
	// type: number
	// Sets the amount of padding (in px) along the y direction.
	Ypad float64 `json:"ypad,omitempty"`
}

SurfaceColorbar

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 (
	SurfaceColorbarExponentformatNone  SurfaceColorbarExponentformat = "none"
	SurfaceColorbarExponentformatE1    SurfaceColorbarExponentformat = "e"
	SurfaceColorbarExponentformatE2    SurfaceColorbarExponentformat = "E"
	SurfaceColorbarExponentformatPower SurfaceColorbarExponentformat = "power"
	SurfaceColorbarExponentformatSi    SurfaceColorbarExponentformat = "SI"
	SurfaceColorbarExponentformatB     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 (
	SurfaceColorbarLenmodeFraction SurfaceColorbarLenmode = "fraction"
	SurfaceColorbarLenmodePixels   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 (
	SurfaceColorbarShowexponentAll   SurfaceColorbarShowexponent = "all"
	SurfaceColorbarShowexponentFirst SurfaceColorbarShowexponent = "first"
	SurfaceColorbarShowexponentLast  SurfaceColorbarShowexponent = "last"
	SurfaceColorbarShowexponentNone  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 (
	SurfaceColorbarShowtickprefixAll   SurfaceColorbarShowtickprefix = "all"
	SurfaceColorbarShowtickprefixFirst SurfaceColorbarShowtickprefix = "first"
	SurfaceColorbarShowtickprefixLast  SurfaceColorbarShowtickprefix = "last"
	SurfaceColorbarShowtickprefixNone  SurfaceColorbarShowtickprefix = "none"
)

type SurfaceColorbarShowticksuffix

type SurfaceColorbarShowticksuffix string

SurfaceColorbarShowticksuffix Same as `showtickprefix` but for tick suffixes.

const (
	SurfaceColorbarShowticksuffixAll   SurfaceColorbarShowticksuffix = "all"
	SurfaceColorbarShowticksuffixFirst SurfaceColorbarShowticksuffix = "first"
	SurfaceColorbarShowticksuffixLast  SurfaceColorbarShowticksuffix = "last"
	SurfaceColorbarShowticksuffixNone  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 (
	SurfaceColorbarThicknessmodeFraction SurfaceColorbarThicknessmode = "fraction"
	SurfaceColorbarThicknessmodePixels   SurfaceColorbarThicknessmode = "pixels"
)

type SurfaceColorbarTickfont

type SurfaceColorbarTickfont struct {

	// Color
	// arrayOK: false
	// type: color
	//
	Color Color `json:"color,omitempty"`

	// Family
	// arrayOK: false
	// type: string
	// HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.
	Family String `json:"family,omitempty"`

	// Size
	// arrayOK: false
	// type: number
	//
	Size float64 `json:"size,omitempty"`
}

SurfaceColorbarTickfont Sets the color bar's tick label font

type SurfaceColorbarTicklabelposition added in v0.3.1

type SurfaceColorbarTicklabelposition string

SurfaceColorbarTicklabelposition Determines where tick labels are drawn.

const (
	SurfaceColorbarTicklabelpositionOutside       SurfaceColorbarTicklabelposition = "outside"
	SurfaceColorbarTicklabelpositionInside        SurfaceColorbarTicklabelposition = "inside"
	SurfaceColorbarTicklabelpositionOutsideTop    SurfaceColorbarTicklabelposition = "outside top"
	SurfaceColorbarTicklabelpositionInsideTop     SurfaceColorbarTicklabelposition = "inside top"
	SurfaceColorbarTicklabelpositionOutsideBottom SurfaceColorbarTicklabelposition = "outside bottom"
	SurfaceColorbarTicklabelpositionInsideBottom  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 (
	SurfaceColorbarTickmodeAuto   SurfaceColorbarTickmode = "auto"
	SurfaceColorbarTickmodeLinear SurfaceColorbarTickmode = "linear"
	SurfaceColorbarTickmodeArray  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 (
	SurfaceColorbarTicksOutside SurfaceColorbarTicks = "outside"
	SurfaceColorbarTicksInside  SurfaceColorbarTicks = "inside"
	SurfaceColorbarTicksEmpty   SurfaceColorbarTicks = ""
)

type SurfaceColorbarTitle

type SurfaceColorbarTitle struct {

	// Font
	// role: Object
	Font *SurfaceColorbarTitleFont `json:"font,omitempty"`

	// Side
	// default: top
	// type: enumerated
	// Determines the location of color bar's title with respect to the color bar. Note that the title's location used to be set by the now deprecated `titleside` attribute.
	Side SurfaceColorbarTitleSide `json:"side,omitempty"`

	// Text
	// arrayOK: false
	// type: string
	// Sets the title of the color bar. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.
	Text String `json:"text,omitempty"`
}

SurfaceColorbarTitle

type SurfaceColorbarTitleFont

type SurfaceColorbarTitleFont struct {

	// Color
	// arrayOK: false
	// type: color
	//
	Color Color `json:"color,omitempty"`

	// Family
	// arrayOK: false
	// type: string
	// HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.
	Family String `json:"family,omitempty"`

	// Size
	// arrayOK: false
	// type: number
	//
	Size float64 `json:"size,omitempty"`
}

SurfaceColorbarTitleFont Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.

type 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 (
	SurfaceColorbarTitleSideRight  SurfaceColorbarTitleSide = "right"
	SurfaceColorbarTitleSideTop    SurfaceColorbarTitleSide = "top"
	SurfaceColorbarTitleSideBottom 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 (
	SurfaceColorbarXanchorLeft   SurfaceColorbarXanchor = "left"
	SurfaceColorbarXanchorCenter SurfaceColorbarXanchor = "center"
	SurfaceColorbarXanchorRight  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 (
	SurfaceColorbarYanchorTop    SurfaceColorbarYanchor = "top"
	SurfaceColorbarYanchorMiddle SurfaceColorbarYanchor = "middle"
	SurfaceColorbarYanchorBottom SurfaceColorbarYanchor = "bottom"
)

type SurfaceContours

type SurfaceContours struct {

	// X
	// role: Object
	X *SurfaceContoursX `json:"x,omitempty"`

	// Y
	// role: Object
	Y *SurfaceContoursY `json:"y,omitempty"`

	// Z
	// role: Object
	Z *SurfaceContoursZ `json:"z,omitempty"`
}

SurfaceContours

type SurfaceContoursX

type SurfaceContoursX struct {

	// Color
	// arrayOK: false
	// type: color
	// Sets the color of the contour lines.
	Color Color `json:"color,omitempty"`

	// End
	// arrayOK: false
	// type: number
	// Sets the end contour level value. Must be more than `contours.start`
	End float64 `json:"end,omitempty"`

	// Highlight
	// arrayOK: false
	// type: boolean
	// Determines whether or not contour lines about the x dimension are highlighted on hover.
	Highlight Bool `json:"highlight,omitempty"`

	// Highlightcolor
	// arrayOK: false
	// type: color
	// Sets the color of the highlighted contour lines.
	Highlightcolor Color `json:"highlightcolor,omitempty"`

	// Highlightwidth
	// arrayOK: false
	// type: number
	// Sets the width of the highlighted contour lines.
	Highlightwidth float64 `json:"highlightwidth,omitempty"`

	// Project
	// role: Object
	Project *SurfaceContoursXProject `json:"project,omitempty"`

	// Show
	// arrayOK: false
	// type: boolean
	// Determines whether or not contour lines about the x dimension are drawn.
	Show Bool `json:"show,omitempty"`

	// Size
	// arrayOK: false
	// type: number
	// Sets the step between each contour level. Must be positive.
	Size float64 `json:"size,omitempty"`

	// Start
	// arrayOK: false
	// type: number
	// Sets the starting contour level value. Must be less than `contours.end`
	Start float64 `json:"start,omitempty"`

	// Usecolormap
	// arrayOK: false
	// type: boolean
	// An alternate to *color*. Determines whether or not the contour lines are colored using the trace *colorscale*.
	Usecolormap Bool `json:"usecolormap,omitempty"`

	// Width
	// arrayOK: false
	// type: number
	// Sets the width of the contour lines.
	Width float64 `json:"width,omitempty"`
}

SurfaceContoursX

type SurfaceContoursXProject

type SurfaceContoursXProject struct {

	// X
	// arrayOK: false
	// type: boolean
	// Determines whether or not these contour lines are projected on the x plane. If `highlight` is set to *true* (the default), the projected lines are shown on hover. If `show` is set to *true*, the projected lines are shown in permanence.
	X Bool `json:"x,omitempty"`

	// Y
	// arrayOK: false
	// type: boolean
	// Determines whether or not these contour lines are projected on the y plane. If `highlight` is set to *true* (the default), the projected lines are shown on hover. If `show` is set to *true*, the projected lines are shown in permanence.
	Y Bool `json:"y,omitempty"`

	// Z
	// arrayOK: false
	// type: boolean
	// Determines whether or not these contour lines are projected on the z plane. If `highlight` is set to *true* (the default), the projected lines are shown on hover. If `show` is set to *true*, the projected lines are shown in permanence.
	Z Bool `json:"z,omitempty"`
}

SurfaceContoursXProject

type SurfaceContoursY

type SurfaceContoursY struct {

	// Color
	// arrayOK: false
	// type: color
	// Sets the color of the contour lines.
	Color Color `json:"color,omitempty"`

	// End
	// arrayOK: false
	// type: number
	// Sets the end contour level value. Must be more than `contours.start`
	End float64 `json:"end,omitempty"`

	// Highlight
	// arrayOK: false
	// type: boolean
	// Determines whether or not contour lines about the y dimension are highlighted on hover.
	Highlight Bool `json:"highlight,omitempty"`

	// Highlightcolor
	// arrayOK: false
	// type: color
	// Sets the color of the highlighted contour lines.
	Highlightcolor Color `json:"highlightcolor,omitempty"`

	// Highlightwidth
	// arrayOK: false
	// type: number
	// Sets the width of the highlighted contour lines.
	Highlightwidth float64 `json:"highlightwidth,omitempty"`

	// Project
	// role: Object
	Project *SurfaceContoursYProject `json:"project,omitempty"`

	// Show
	// arrayOK: false
	// type: boolean
	// Determines whether or not contour lines about the y dimension are drawn.
	Show Bool `json:"show,omitempty"`

	// Size
	// arrayOK: false
	// type: number
	// Sets the step between each contour level. Must be positive.
	Size float64 `json:"size,omitempty"`

	// Start
	// arrayOK: false
	// type: number
	// Sets the starting contour level value. Must be less than `contours.end`
	Start float64 `json:"start,omitempty"`

	// Usecolormap
	// arrayOK: false
	// type: boolean
	// An alternate to *color*. Determines whether or not the contour lines are colored using the trace *colorscale*.
	Usecolormap Bool `json:"usecolormap,omitempty"`

	// Width
	// arrayOK: false
	// type: number
	// Sets the width of the contour lines.
	Width float64 `json:"width,omitempty"`
}

SurfaceContoursY

type SurfaceContoursYProject

type SurfaceContoursYProject struct {

	// X
	// arrayOK: false
	// type: boolean
	// Determines whether or not these contour lines are projected on the x plane. If `highlight` is set to *true* (the default), the projected lines are shown on hover. If `show` is set to *true*, the projected lines are shown in permanence.
	X Bool `json:"x,omitempty"`

	// Y
	// arrayOK: false
	// type: boolean
	// Determines whether or not these contour lines are projected on the y plane. If `highlight` is set to *true* (the default), the projected lines are shown on hover. If `show` is set to *true*, the projected lines are shown in permanence.
	Y Bool `json:"y,omitempty"`

	// Z
	// arrayOK: false
	// type: boolean
	// Determines whether or not these contour lines are projected on the z plane. If `highlight` is set to *true* (the default), the projected lines are shown on hover. If `show` is set to *true*, the projected lines are shown in permanence.
	Z Bool `json:"z,omitempty"`
}

SurfaceContoursYProject

type SurfaceContoursZ

type SurfaceContoursZ struct {

	// Color
	// arrayOK: false
	// type: color
	// Sets the color of the contour lines.
	Color Color `json:"color,omitempty"`

	// End
	// arrayOK: false
	// type: number
	// Sets the end contour level value. Must be more than `contours.start`
	End float64 `json:"end,omitempty"`

	// Highlight
	// arrayOK: false
	// type: boolean
	// Determines whether or not contour lines about the z dimension are highlighted on hover.
	Highlight Bool `json:"highlight,omitempty"`

	// Highlightcolor
	// arrayOK: false
	// type: color
	// Sets the color of the highlighted contour lines.
	Highlightcolor Color `json:"highlightcolor,omitempty"`

	// Highlightwidth
	// arrayOK: false
	// type: number
	// Sets the width of the highlighted contour lines.
	Highlightwidth float64 `json:"highlightwidth,omitempty"`

	// Project
	// role: Object
	Project *SurfaceContoursZProject `json:"project,omitempty"`

	// Show
	// arrayOK: false
	// type: boolean
	// Determines whether or not contour lines about the z dimension are drawn.
	Show Bool `json:"show,omitempty"`

	// Size
	// arrayOK: false
	// type: number
	// Sets the step between each contour level. Must be positive.
	Size float64 `json:"size,omitempty"`

	// Start
	// arrayOK: false
	// type: number
	// Sets the starting contour level value. Must be less than `contours.end`
	Start float64 `json:"start,omitempty"`

	// Usecolormap
	// arrayOK: false
	// type: boolean
	// An alternate to *color*. Determines whether or not the contour lines are colored using the trace *colorscale*.
	Usecolormap Bool `json:"usecolormap,omitempty"`

	// Width
	// arrayOK: false
	// type: number
	// Sets the width of the contour lines.
	Width float64 `json:"width,omitempty"`
}

SurfaceContoursZ

type SurfaceContoursZProject

type SurfaceContoursZProject struct {

	// X
	// arrayOK: false
	// type: boolean
	// Determines whether or not these contour lines are projected on the x plane. If `highlight` is set to *true* (the default), the projected lines are shown on hover. If `show` is set to *true*, the projected lines are shown in permanence.
	X Bool `json:"x,omitempty"`

	// Y
	// arrayOK: false
	// type: boolean
	// Determines whether or not these contour lines are projected on the y plane. If `highlight` is set to *true* (the default), the projected lines are shown on hover. If `show` is set to *true*, the projected lines are shown in permanence.
	Y Bool `json:"y,omitempty"`

	// Z
	// arrayOK: false
	// type: boolean
	// Determines whether or not these contour lines are projected on the z plane. If `highlight` is set to *true* (the default), the projected lines are shown on hover. If `show` is set to *true*, the projected lines are shown in permanence.
	Z Bool `json:"z,omitempty"`
}

SurfaceContoursZProject

type SurfaceHoverinfo

type SurfaceHoverinfo string

SurfaceHoverinfo Determines which trace information appear on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired.

const (
	// Flags
	SurfaceHoverinfoX    SurfaceHoverinfo = "x"
	SurfaceHoverinfoY    SurfaceHoverinfo = "y"
	SurfaceHoverinfoZ    SurfaceHoverinfo = "z"
	SurfaceHoverinfoText SurfaceHoverinfo = "text"
	SurfaceHoverinfoName SurfaceHoverinfo = "name"

	// Extra
	SurfaceHoverinfoAll  SurfaceHoverinfo = "all"
	SurfaceHoverinfoNone SurfaceHoverinfo = "none"
	SurfaceHoverinfoSkip SurfaceHoverinfo = "skip"
)

type SurfaceHoverlabel

type SurfaceHoverlabel struct {

	// Align
	// default: auto
	// type: enumerated
	// Sets the horizontal alignment of the text content within hover label box. Has an effect only if the hover label text spans more two or more lines
	Align SurfaceHoverlabelAlign `json:"align,omitempty"`

	// Alignsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  align .
	Alignsrc String `json:"alignsrc,omitempty"`

	// Bgcolor
	// arrayOK: true
	// type: color
	// Sets the background color of the hover labels for this trace
	Bgcolor Color `json:"bgcolor,omitempty"`

	// Bgcolorsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  bgcolor .
	Bgcolorsrc String `json:"bgcolorsrc,omitempty"`

	// Bordercolor
	// arrayOK: true
	// type: color
	// Sets the border color of the hover labels for this trace.
	Bordercolor Color `json:"bordercolor,omitempty"`

	// Bordercolorsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  bordercolor .
	Bordercolorsrc String `json:"bordercolorsrc,omitempty"`

	// Font
	// role: Object
	Font *SurfaceHoverlabelFont `json:"font,omitempty"`

	// Namelength
	// arrayOK: true
	// type: integer
	// Sets the default length (in number of characters) of the trace name in the hover labels for all traces. -1 shows the whole name regardless of length. 0-3 shows the first 0-3 characters, and an integer >3 will show the whole name if it is less than that many characters, but if it is longer, will truncate to `namelength - 3` characters and add an ellipsis.
	Namelength int64 `json:"namelength,omitempty"`

	// Namelengthsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  namelength .
	Namelengthsrc String `json:"namelengthsrc,omitempty"`
}

SurfaceHoverlabel

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 (
	SurfaceHoverlabelAlignLeft  SurfaceHoverlabelAlign = "left"
	SurfaceHoverlabelAlignRight SurfaceHoverlabelAlign = "right"
	SurfaceHoverlabelAlignAuto  SurfaceHoverlabelAlign = "auto"
)

type SurfaceHoverlabelFont

type SurfaceHoverlabelFont struct {

	// Color
	// arrayOK: true
	// type: color
	//
	Color Color `json:"color,omitempty"`

	// Colorsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  color .
	Colorsrc String `json:"colorsrc,omitempty"`

	// Family
	// arrayOK: true
	// type: string
	// HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.
	Family String `json:"family,omitempty"`

	// Familysrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  family .
	Familysrc String `json:"familysrc,omitempty"`

	// Size
	// arrayOK: true
	// type: number
	//
	Size float64 `json:"size,omitempty"`

	// Sizesrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  size .
	Sizesrc String `json:"sizesrc,omitempty"`
}

SurfaceHoverlabelFont Sets the font used in hover labels.

type SurfaceLighting

type SurfaceLighting struct {

	// Ambient
	// arrayOK: false
	// type: number
	// Ambient light increases overall color visibility but can wash out the image.
	Ambient float64 `json:"ambient,omitempty"`

	// Diffuse
	// arrayOK: false
	// type: number
	// Represents the extent that incident rays are reflected in a range of angles.
	Diffuse float64 `json:"diffuse,omitempty"`

	// Fresnel
	// arrayOK: false
	// type: number
	// Represents the reflectance as a dependency of the viewing angle; e.g. paper is reflective when viewing it from the edge of the paper (almost 90 degrees), causing shine.
	Fresnel float64 `json:"fresnel,omitempty"`

	// Roughness
	// arrayOK: false
	// type: number
	// Alters specular reflection; the rougher the surface, the wider and less contrasty the shine.
	Roughness float64 `json:"roughness,omitempty"`

	// Specular
	// arrayOK: false
	// type: number
	// Represents the level that incident rays are reflected in a single direction, causing shine.
	Specular float64 `json:"specular,omitempty"`
}

SurfaceLighting

type SurfaceLightposition

type SurfaceLightposition struct {

	// X
	// arrayOK: false
	// type: number
	// Numeric vector, representing the X coordinate for each vertex.
	X float64 `json:"x,omitempty"`

	// Y
	// arrayOK: false
	// type: number
	// Numeric vector, representing the Y coordinate for each vertex.
	Y float64 `json:"y,omitempty"`

	// Z
	// arrayOK: false
	// type: number
	// Numeric vector, representing the Z coordinate for each vertex.
	Z float64 `json:"z,omitempty"`
}

SurfaceLightposition

type SurfaceStream

type SurfaceStream struct {

	// Maxpoints
	// arrayOK: false
	// type: number
	// Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot.
	Maxpoints float64 `json:"maxpoints,omitempty"`

	// Token
	// arrayOK: false
	// type: string
	// The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details.
	Token String `json:"token,omitempty"`
}

SurfaceStream

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 (
	SurfaceVisibleTrue       SurfaceVisible = true
	SurfaceVisibleFalse      SurfaceVisible = false
	SurfaceVisibleLegendonly SurfaceVisible = "legendonly"
)

type SurfaceXcalendar

type SurfaceXcalendar string

SurfaceXcalendar Sets the calendar system to use with `x` date data.

const (
	SurfaceXcalendarGregorian  SurfaceXcalendar = "gregorian"
	SurfaceXcalendarChinese    SurfaceXcalendar = "chinese"
	SurfaceXcalendarCoptic     SurfaceXcalendar = "coptic"
	SurfaceXcalendarDiscworld  SurfaceXcalendar = "discworld"
	SurfaceXcalendarEthiopian  SurfaceXcalendar = "ethiopian"
	SurfaceXcalendarHebrew     SurfaceXcalendar = "hebrew"
	SurfaceXcalendarIslamic    SurfaceXcalendar = "islamic"
	SurfaceXcalendarJulian     SurfaceXcalendar = "julian"
	SurfaceXcalendarMayan      SurfaceXcalendar = "mayan"
	SurfaceXcalendarNanakshahi SurfaceXcalendar = "nanakshahi"
	SurfaceXcalendarNepali     SurfaceXcalendar = "nepali"
	SurfaceXcalendarPersian    SurfaceXcalendar = "persian"
	SurfaceXcalendarJalali     SurfaceXcalendar = "jalali"
	SurfaceXcalendarTaiwan     SurfaceXcalendar = "taiwan"
	SurfaceXcalendarThai       SurfaceXcalendar = "thai"
	SurfaceXcalendarUmmalqura  SurfaceXcalendar = "ummalqura"
)

type SurfaceYcalendar

type SurfaceYcalendar string

SurfaceYcalendar Sets the calendar system to use with `y` date data.

const (
	SurfaceYcalendarGregorian  SurfaceYcalendar = "gregorian"
	SurfaceYcalendarChinese    SurfaceYcalendar = "chinese"
	SurfaceYcalendarCoptic     SurfaceYcalendar = "coptic"
	SurfaceYcalendarDiscworld  SurfaceYcalendar = "discworld"
	SurfaceYcalendarEthiopian  SurfaceYcalendar = "ethiopian"
	SurfaceYcalendarHebrew     SurfaceYcalendar = "hebrew"
	SurfaceYcalendarIslamic    SurfaceYcalendar = "islamic"
	SurfaceYcalendarJulian     SurfaceYcalendar = "julian"
	SurfaceYcalendarMayan      SurfaceYcalendar = "mayan"
	SurfaceYcalendarNanakshahi SurfaceYcalendar = "nanakshahi"
	SurfaceYcalendarNepali     SurfaceYcalendar = "nepali"
	SurfaceYcalendarPersian    SurfaceYcalendar = "persian"
	SurfaceYcalendarJalali     SurfaceYcalendar = "jalali"
	SurfaceYcalendarTaiwan     SurfaceYcalendar = "taiwan"
	SurfaceYcalendarThai       SurfaceYcalendar = "thai"
	SurfaceYcalendarUmmalqura  SurfaceYcalendar = "ummalqura"
)

type SurfaceZcalendar

type SurfaceZcalendar string

SurfaceZcalendar Sets the calendar system to use with `z` date data.

const (
	SurfaceZcalendarGregorian  SurfaceZcalendar = "gregorian"
	SurfaceZcalendarChinese    SurfaceZcalendar = "chinese"
	SurfaceZcalendarCoptic     SurfaceZcalendar = "coptic"
	SurfaceZcalendarDiscworld  SurfaceZcalendar = "discworld"
	SurfaceZcalendarEthiopian  SurfaceZcalendar = "ethiopian"
	SurfaceZcalendarHebrew     SurfaceZcalendar = "hebrew"
	SurfaceZcalendarIslamic    SurfaceZcalendar = "islamic"
	SurfaceZcalendarJulian     SurfaceZcalendar = "julian"
	SurfaceZcalendarMayan      SurfaceZcalendar = "mayan"
	SurfaceZcalendarNanakshahi SurfaceZcalendar = "nanakshahi"
	SurfaceZcalendarNepali     SurfaceZcalendar = "nepali"
	SurfaceZcalendarPersian    SurfaceZcalendar = "persian"
	SurfaceZcalendarJalali     SurfaceZcalendar = "jalali"
	SurfaceZcalendarTaiwan     SurfaceZcalendar = "taiwan"
	SurfaceZcalendarThai       SurfaceZcalendar = "thai"
	SurfaceZcalendarUmmalqura  SurfaceZcalendar = "ummalqura"
)

type Table

type Table struct {

	// Type
	// is the type of the plot
	Type TraceType `json:"type,omitempty"`

	// Cells
	// role: Object
	Cells *TableCells `json:"cells,omitempty"`

	// Columnorder
	// arrayOK: false
	// type: data_array
	// Specifies the rendered order of the data columns; for example, a value `2` at position `0` means that column index `0` in the data will be rendered as the third column, as columns have an index base of zero.
	Columnorder interface{} `json:"columnorder,omitempty"`

	// Columnordersrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  columnorder .
	Columnordersrc String `json:"columnordersrc,omitempty"`

	// Columnwidth
	// arrayOK: true
	// type: number
	// The width of columns expressed as a ratio. Columns fill the available width in proportion of their specified column widths.
	Columnwidth float64 `json:"columnwidth,omitempty"`

	// Columnwidthsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  columnwidth .
	Columnwidthsrc String `json:"columnwidthsrc,omitempty"`

	// Customdata
	// arrayOK: false
	// type: data_array
	// Assigns extra data each datum. This may be useful when listening to hover, click and selection events. Note that, *scatter* traces also appends customdata items in the markers DOM elements
	Customdata interface{} `json:"customdata,omitempty"`

	// Customdatasrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  customdata .
	Customdatasrc String `json:"customdatasrc,omitempty"`

	// Domain
	// role: Object
	Domain *TableDomain `json:"domain,omitempty"`

	// Header
	// role: Object
	Header *TableHeader `json:"header,omitempty"`

	// Hoverinfo
	// default: all
	// type: flaglist
	// Determines which trace information appear on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired.
	Hoverinfo TableHoverinfo `json:"hoverinfo,omitempty"`

	// Hoverinfosrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  hoverinfo .
	Hoverinfosrc String `json:"hoverinfosrc,omitempty"`

	// Hoverlabel
	// role: Object
	Hoverlabel *TableHoverlabel `json:"hoverlabel,omitempty"`

	// Ids
	// arrayOK: false
	// type: data_array
	// Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type.
	Ids interface{} `json:"ids,omitempty"`

	// Idssrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  ids .
	Idssrc String `json:"idssrc,omitempty"`

	// Meta
	// arrayOK: true
	// type: any
	// Assigns extra meta information associated with this trace that can be used in various text attributes. Attributes such as trace `name`, graph, axis and colorbar `title.text`, annotation `text` `rangeselector`, `updatemenues` and `sliders` `label` text all support `meta`. To access the trace `meta` values in an attribute in the same trace, simply use `%{meta[i]}` where `i` is the index or key of the `meta` item in question. To access trace `meta` in layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index.
	Meta interface{} `json:"meta,omitempty"`

	// Metasrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  meta .
	Metasrc String `json:"metasrc,omitempty"`

	// Name
	// arrayOK: false
	// type: string
	// Sets the trace name. The trace name appear as the legend item and on hover.
	Name String `json:"name,omitempty"`

	// Stream
	// role: Object
	Stream *TableStream `json:"stream,omitempty"`

	// Uid
	// arrayOK: false
	// type: string
	// Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.
	Uid String `json:"uid,omitempty"`

	// Uirevision
	// arrayOK: false
	// type: any
	// Controls persistence of some user-driven changes to the trace: `constraintrange` in `parcoords` traces, as well as some `editable: true` modifications such as `name` and `colorbar.title`. Defaults to `layout.uirevision`. Note that other user-driven trace attribute changes are controlled by `layout` attributes: `trace.visible` is controlled by `layout.legend.uirevision`, `selectedpoints` is controlled by `layout.selectionrevision`, and `colorbar.(x|y)` (accessible with `config: {editable: true}`) is controlled by `layout.editrevision`. Trace changes are tracked by `uid`, which only falls back on trace index if no `uid` is provided. So if your app can add/remove traces before the end of the `data` array, such that the same trace has a different index, you can still preserve user-driven changes if you give each trace a `uid` that stays with it as it moves.
	Uirevision interface{} `json:"uirevision,omitempty"`

	// Visible
	// default: %!s(bool=true)
	// type: enumerated
	// Determines whether or not this trace is visible. If *legendonly*, the trace is not drawn, but can appear as a legend item (provided that the legend itself is visible).
	Visible TableVisible `json:"visible,omitempty"`
}

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 (*Table) GetType

func (trace *Table) GetType() TraceType

type TableCells

type TableCells struct {

	// Align
	// default: center
	// type: enumerated
	// Sets the horizontal alignment of the `text` within the box. Has an effect only if `text` spans two or more lines (i.e. `text` contains one or more <br> HTML tags) or if an explicit width is set to override the text width.
	Align TableCellsAlign `json:"align,omitempty"`

	// Alignsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  align .
	Alignsrc String `json:"alignsrc,omitempty"`

	// Fill
	// role: Object
	Fill *TableCellsFill `json:"fill,omitempty"`

	// Font
	// role: Object
	Font *TableCellsFont `json:"font,omitempty"`

	// Format
	// arrayOK: false
	// type: data_array
	// Sets the cell value formatting rule using d3 formatting mini-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
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  format .
	Formatsrc String `json:"formatsrc,omitempty"`

	// Height
	// arrayOK: false
	// type: number
	// The height of cells.
	Height float64 `json:"height,omitempty"`

	// Line
	// role: Object
	Line *TableCellsLine `json:"line,omitempty"`

	// Prefix
	// arrayOK: true
	// type: string
	// Prefix for cell values.
	Prefix String `json:"prefix,omitempty"`

	// Prefixsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  prefix .
	Prefixsrc String `json:"prefixsrc,omitempty"`

	// Suffix
	// arrayOK: true
	// type: string
	// Suffix for cell values.
	Suffix String `json:"suffix,omitempty"`

	// Suffixsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  suffix .
	Suffixsrc String `json:"suffixsrc,omitempty"`

	// Values
	// arrayOK: false
	// type: data_array
	// Cell values. `values[m][n]` represents the value of the `n`th point in column `m`, therefore the `values[m]` vector length for all columns must be the same (longer vectors will be truncated). Each value must be a finite number or a string.
	Values interface{} `json:"values,omitempty"`

	// Valuessrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  values .
	Valuessrc String `json:"valuessrc,omitempty"`
}

TableCells

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 (
	TableCellsAlignLeft   TableCellsAlign = "left"
	TableCellsAlignCenter TableCellsAlign = "center"
	TableCellsAlignRight  TableCellsAlign = "right"
)

type TableCellsFill

type TableCellsFill struct {

	// Color
	// arrayOK: true
	// type: color
	// Sets the cell fill color. It accepts either a specific color or an array of colors or a 2D array of colors.
	Color Color `json:"color,omitempty"`

	// Colorsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  color .
	Colorsrc String `json:"colorsrc,omitempty"`
}

TableCellsFill

type TableCellsFont

type TableCellsFont struct {

	// Color
	// arrayOK: true
	// type: color
	//
	Color Color `json:"color,omitempty"`

	// Colorsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  color .
	Colorsrc String `json:"colorsrc,omitempty"`

	// Family
	// arrayOK: true
	// type: string
	// HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.
	Family String `json:"family,omitempty"`

	// Familysrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  family .
	Familysrc String `json:"familysrc,omitempty"`

	// Size
	// arrayOK: true
	// type: number
	//
	Size float64 `json:"size,omitempty"`

	// Sizesrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  size .
	Sizesrc String `json:"sizesrc,omitempty"`
}

TableCellsFont

type TableCellsLine

type TableCellsLine struct {

	// Color
	// arrayOK: true
	// type: color
	//
	Color Color `json:"color,omitempty"`

	// Colorsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  color .
	Colorsrc String `json:"colorsrc,omitempty"`

	// Width
	// arrayOK: true
	// type: number
	//
	Width float64 `json:"width,omitempty"`

	// Widthsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  width .
	Widthsrc String `json:"widthsrc,omitempty"`
}

TableCellsLine

type TableDomain

type TableDomain struct {

	// Column
	// arrayOK: false
	// type: integer
	// If there is a layout grid, use the domain for this column in the grid for this table trace .
	Column int64 `json:"column,omitempty"`

	// Row
	// arrayOK: false
	// type: integer
	// If there is a layout grid, use the domain for this row in the grid for this table trace .
	Row int64 `json:"row,omitempty"`

	// X
	// arrayOK: false
	// type: info_array
	// Sets the horizontal domain of this table trace (in plot fraction).
	X interface{} `json:"x,omitempty"`

	// Y
	// arrayOK: false
	// type: info_array
	// Sets the vertical domain of this table trace (in plot fraction).
	Y interface{} `json:"y,omitempty"`
}

TableDomain

type TableHeader

type TableHeader struct {

	// Align
	// default: center
	// type: enumerated
	// Sets the horizontal alignment of the `text` within the box. Has an effect only if `text` spans two or more lines (i.e. `text` contains one or more <br> HTML tags) or if an explicit width is set to override the text width.
	Align TableHeaderAlign `json:"align,omitempty"`

	// Alignsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  align .
	Alignsrc String `json:"alignsrc,omitempty"`

	// Fill
	// role: Object
	Fill *TableHeaderFill `json:"fill,omitempty"`

	// Font
	// role: Object
	Font *TableHeaderFont `json:"font,omitempty"`

	// Format
	// arrayOK: false
	// type: data_array
	// Sets the cell value formatting rule using d3 formatting mini-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
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  format .
	Formatsrc String `json:"formatsrc,omitempty"`

	// Height
	// arrayOK: false
	// type: number
	// The height of cells.
	Height float64 `json:"height,omitempty"`

	// Line
	// role: Object
	Line *TableHeaderLine `json:"line,omitempty"`

	// Prefix
	// arrayOK: true
	// type: string
	// Prefix for cell values.
	Prefix String `json:"prefix,omitempty"`

	// Prefixsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  prefix .
	Prefixsrc String `json:"prefixsrc,omitempty"`

	// Suffix
	// arrayOK: true
	// type: string
	// Suffix for cell values.
	Suffix String `json:"suffix,omitempty"`

	// Suffixsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  suffix .
	Suffixsrc String `json:"suffixsrc,omitempty"`

	// Values
	// arrayOK: false
	// type: data_array
	// Header cell values. `values[m][n]` represents the value of the `n`th point in column `m`, therefore the `values[m]` vector length for all columns must be the same (longer vectors will be truncated). Each value must be a finite number or a string.
	Values interface{} `json:"values,omitempty"`

	// Valuessrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  values .
	Valuessrc String `json:"valuessrc,omitempty"`
}

TableHeader

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 (
	TableHeaderAlignLeft   TableHeaderAlign = "left"
	TableHeaderAlignCenter TableHeaderAlign = "center"
	TableHeaderAlignRight  TableHeaderAlign = "right"
)

type TableHeaderFill

type TableHeaderFill struct {

	// Color
	// arrayOK: true
	// type: color
	// Sets the cell fill color. It accepts either a specific color or an array of colors or a 2D array of colors.
	Color Color `json:"color,omitempty"`

	// Colorsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  color .
	Colorsrc String `json:"colorsrc,omitempty"`
}

TableHeaderFill

type TableHeaderFont

type TableHeaderFont struct {

	// Color
	// arrayOK: true
	// type: color
	//
	Color Color `json:"color,omitempty"`

	// Colorsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  color .
	Colorsrc String `json:"colorsrc,omitempty"`

	// Family
	// arrayOK: true
	// type: string
	// HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.
	Family String `json:"family,omitempty"`

	// Familysrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  family .
	Familysrc String `json:"familysrc,omitempty"`

	// Size
	// arrayOK: true
	// type: number
	//
	Size float64 `json:"size,omitempty"`

	// Sizesrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  size .
	Sizesrc String `json:"sizesrc,omitempty"`
}

TableHeaderFont

type TableHeaderLine

type TableHeaderLine struct {

	// Color
	// arrayOK: true
	// type: color
	//
	Color Color `json:"color,omitempty"`

	// Colorsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  color .
	Colorsrc String `json:"colorsrc,omitempty"`

	// Width
	// arrayOK: true
	// type: number
	//
	Width float64 `json:"width,omitempty"`

	// Widthsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  width .
	Widthsrc String `json:"widthsrc,omitempty"`
}

TableHeaderLine

type TableHoverinfo

type TableHoverinfo string

TableHoverinfo Determines which trace information appear on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired.

const (
	// Flags
	TableHoverinfoX    TableHoverinfo = "x"
	TableHoverinfoY    TableHoverinfo = "y"
	TableHoverinfoZ    TableHoverinfo = "z"
	TableHoverinfoText TableHoverinfo = "text"
	TableHoverinfoName TableHoverinfo = "name"

	// Extra
	TableHoverinfoAll  TableHoverinfo = "all"
	TableHoverinfoNone TableHoverinfo = "none"
	TableHoverinfoSkip TableHoverinfo = "skip"
)

type TableHoverlabel

type TableHoverlabel struct {

	// Align
	// default: auto
	// type: enumerated
	// Sets the horizontal alignment of the text content within hover label box. Has an effect only if the hover label text spans more two or more lines
	Align TableHoverlabelAlign `json:"align,omitempty"`

	// Alignsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  align .
	Alignsrc String `json:"alignsrc,omitempty"`

	// Bgcolor
	// arrayOK: true
	// type: color
	// Sets the background color of the hover labels for this trace
	Bgcolor Color `json:"bgcolor,omitempty"`

	// Bgcolorsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  bgcolor .
	Bgcolorsrc String `json:"bgcolorsrc,omitempty"`

	// Bordercolor
	// arrayOK: true
	// type: color
	// Sets the border color of the hover labels for this trace.
	Bordercolor Color `json:"bordercolor,omitempty"`

	// Bordercolorsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  bordercolor .
	Bordercolorsrc String `json:"bordercolorsrc,omitempty"`

	// Font
	// role: Object
	Font *TableHoverlabelFont `json:"font,omitempty"`

	// Namelength
	// arrayOK: true
	// type: integer
	// Sets the default length (in number of characters) of the trace name in the hover labels for all traces. -1 shows the whole name regardless of length. 0-3 shows the first 0-3 characters, and an integer >3 will show the whole name if it is less than that many characters, but if it is longer, will truncate to `namelength - 3` characters and add an ellipsis.
	Namelength int64 `json:"namelength,omitempty"`

	// Namelengthsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  namelength .
	Namelengthsrc String `json:"namelengthsrc,omitempty"`
}

TableHoverlabel

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 (
	TableHoverlabelAlignLeft  TableHoverlabelAlign = "left"
	TableHoverlabelAlignRight TableHoverlabelAlign = "right"
	TableHoverlabelAlignAuto  TableHoverlabelAlign = "auto"
)

type TableHoverlabelFont

type TableHoverlabelFont struct {

	// Color
	// arrayOK: true
	// type: color
	//
	Color Color `json:"color,omitempty"`

	// Colorsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  color .
	Colorsrc String `json:"colorsrc,omitempty"`

	// Family
	// arrayOK: true
	// type: string
	// HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.
	Family String `json:"family,omitempty"`

	// Familysrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  family .
	Familysrc String `json:"familysrc,omitempty"`

	// Size
	// arrayOK: true
	// type: number
	//
	Size float64 `json:"size,omitempty"`

	// Sizesrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  size .
	Sizesrc String `json:"sizesrc,omitempty"`
}

TableHoverlabelFont Sets the font used in hover labels.

type TableStream

type TableStream struct {

	// Maxpoints
	// arrayOK: false
	// type: number
	// Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot.
	Maxpoints float64 `json:"maxpoints,omitempty"`

	// Token
	// arrayOK: false
	// type: string
	// The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details.
	Token String `json:"token,omitempty"`
}

TableStream

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 (
	TableVisibleTrue       TableVisible = true
	TableVisibleFalse      TableVisible = false
	TableVisibleLegendonly TableVisible = "legendonly"
)

type Trace

type Trace interface {
	GetType() TraceType
}

Trace Every trace implements this interface It is useful for autocompletion, it is a better idea to use type assertions/switches to identify trace types

func UnmarshalTrace added in v0.4.0

func UnmarshalTrace(data []byte) (Trace, error)

UnmarshalTrace decodes an array of bytes into a Trace interface.

type TraceType

type TraceType string

TraceType is the type for the TraceType field on every trace

var TraceTypeArea TraceType = "area"
var TraceTypeBar TraceType = "bar"
var TraceTypeBarpolar TraceType = "barpolar"
var TraceTypeBox TraceType = "box"
var TraceTypeCandlestick TraceType = "candlestick"
var TraceTypeCarpet TraceType = "carpet"
var TraceTypeChoropleth TraceType = "choropleth"
var TraceTypeChoroplethmapbox TraceType = "choroplethmapbox"
var TraceTypeCone TraceType = "cone"
var TraceTypeContour TraceType = "contour"
var TraceTypeContourcarpet TraceType = "contourcarpet"
var TraceTypeDensitymapbox TraceType = "densitymapbox"
var TraceTypeFunnel TraceType = "funnel"
var TraceTypeFunnelarea TraceType = "funnelarea"
var TraceTypeHeatmap TraceType = "heatmap"
var TraceTypeHeatmapgl TraceType = "heatmapgl"
var TraceTypeHistogram TraceType = "histogram"
var TraceTypeHistogram2d TraceType = "histogram2d"
var TraceTypeHistogram2dcontour TraceType = "histogram2dcontour"
var TraceTypeImage TraceType = "image"
var TraceTypeIndicator TraceType = "indicator"
var TraceTypeIsosurface TraceType = "isosurface"
var TraceTypeMesh3d TraceType = "mesh3d"
var TraceTypeOhlc TraceType = "ohlc"
var TraceTypeParcats TraceType = "parcats"
var TraceTypeParcoords TraceType = "parcoords"
var TraceTypePie TraceType = "pie"
var TraceTypePointcloud TraceType = "pointcloud"
var TraceTypeSankey TraceType = "sankey"
var TraceTypeScatter TraceType = "scatter"
var TraceTypeScatter3d TraceType = "scatter3d"
var TraceTypeScattercarpet TraceType = "scattercarpet"
var TraceTypeScattergeo TraceType = "scattergeo"
var TraceTypeScattergl TraceType = "scattergl"
var TraceTypeScattermapbox TraceType = "scattermapbox"
var TraceTypeScatterpolar TraceType = "scatterpolar"
var TraceTypeScatterpolargl TraceType = "scatterpolargl"
var TraceTypeScatterternary TraceType = "scatterternary"
var TraceTypeSplom TraceType = "splom"
var TraceTypeStreamtube TraceType = "streamtube"
var TraceTypeSunburst TraceType = "sunburst"
var TraceTypeSurface TraceType = "surface"
var TraceTypeTable TraceType = "table"
var TraceTypeTreemap TraceType = "treemap"
var TraceTypeViolin TraceType = "violin"
var TraceTypeVolume TraceType = "volume"
var 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
	// default: remainder
	// type: enumerated
	// Determines how the items in `values` are summed. When set to *total*, items in `values` are taken to be value of all its descendants. When set to *remainder*, items in `values` corresponding to the root and the branches sectors are taken to be the extra part not part of the sum of the values at their leaves.
	Branchvalues TreemapBranchvalues `json:"branchvalues,omitempty"`

	// Count
	// default: leaves
	// type: flaglist
	// Determines default for `values` when it is not provided, by inferring a 1 for each of the *leaves* and/or *branches*, otherwise 0.
	Count TreemapCount `json:"count,omitempty"`

	// Customdata
	// arrayOK: false
	// type: data_array
	// Assigns extra data each datum. This may be useful when listening to hover, click and selection events. Note that, *scatter* traces also appends customdata items in the markers DOM elements
	Customdata interface{} `json:"customdata,omitempty"`

	// Customdatasrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  customdata .
	Customdatasrc String `json:"customdatasrc,omitempty"`

	// Domain
	// role: Object
	Domain *TreemapDomain `json:"domain,omitempty"`

	// Hoverinfo
	// default: label+text+value+name
	// type: flaglist
	// Determines which trace information appear on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired.
	Hoverinfo TreemapHoverinfo `json:"hoverinfo,omitempty"`

	// Hoverinfosrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  hoverinfo .
	Hoverinfosrc String `json:"hoverinfosrc,omitempty"`

	// Hoverlabel
	// role: Object
	Hoverlabel *TreemapHoverlabel `json:"hoverlabel,omitempty"`

	// Hovertemplate
	// arrayOK: true
	// type: string
	// Template string used for rendering the information that appear on hover box. Note that this will override `hoverinfo`. Variables are inserted using %{variable}, for example "y: %{y}". 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 String `json:"hovertemplate,omitempty"`

	// Hovertemplatesrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  hovertemplate .
	Hovertemplatesrc String `json:"hovertemplatesrc,omitempty"`

	// Hovertext
	// arrayOK: true
	// type: string
	// Sets hover text elements associated with each sector. If a single string, the same string appears for all data points. If an array of string, the items are mapped in order of this trace's sectors. To be seen, trace `hoverinfo` must contain a *text* flag.
	Hovertext String `json:"hovertext,omitempty"`

	// Hovertextsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  hovertext .
	Hovertextsrc String `json:"hovertextsrc,omitempty"`

	// Ids
	// arrayOK: false
	// type: data_array
	// Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type.
	Ids interface{} `json:"ids,omitempty"`

	// Idssrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  ids .
	Idssrc String `json:"idssrc,omitempty"`

	// Insidetextfont
	// role: Object
	Insidetextfont *TreemapInsidetextfont `json:"insidetextfont,omitempty"`

	// Labels
	// arrayOK: false
	// type: data_array
	// Sets the labels of each of the sectors.
	Labels interface{} `json:"labels,omitempty"`

	// Labelssrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  labels .
	Labelssrc String `json:"labelssrc,omitempty"`

	// Level
	// arrayOK: false
	// type: any
	// Sets the level from which this trace hierarchy is rendered. Set `level` to `”` to start from the root node in the hierarchy. Must be an "id" if `ids` is filled in, otherwise plotly attempts to find a matching item in `labels`.
	Level interface{} `json:"level,omitempty"`

	// Marker
	// role: Object
	Marker *TreemapMarker `json:"marker,omitempty"`

	// Maxdepth
	// arrayOK: false
	// type: integer
	// Sets the number of rendered sectors from any given `level`. Set `maxdepth` to *-1* to render all the levels in the hierarchy.
	Maxdepth int64 `json:"maxdepth,omitempty"`

	// Meta
	// arrayOK: true
	// type: any
	// Assigns extra meta information associated with this trace that can be used in various text attributes. Attributes such as trace `name`, graph, axis and colorbar `title.text`, annotation `text` `rangeselector`, `updatemenues` and `sliders` `label` text all support `meta`. To access the trace `meta` values in an attribute in the same trace, simply use `%{meta[i]}` where `i` is the index or key of the `meta` item in question. To access trace `meta` in layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index.
	Meta interface{} `json:"meta,omitempty"`

	// Metasrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  meta .
	Metasrc String `json:"metasrc,omitempty"`

	// Name
	// arrayOK: false
	// type: string
	// Sets the trace name. The trace name appear as the legend item and on hover.
	Name String `json:"name,omitempty"`

	// Opacity
	// arrayOK: false
	// type: number
	// Sets the opacity of the trace.
	Opacity float64 `json:"opacity,omitempty"`

	// Outsidetextfont
	// role: Object
	Outsidetextfont *TreemapOutsidetextfont `json:"outsidetextfont,omitempty"`

	// Parents
	// arrayOK: false
	// type: data_array
	// Sets the parent sectors for each of the sectors. Empty string items ” are understood to reference the root node in the hierarchy. If `ids` is filled, `parents` items are understood to be "ids" themselves. When `ids` is not set, plotly attempts to find matching items in `labels`, but beware they must be unique.
	Parents interface{} `json:"parents,omitempty"`

	// Parentssrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  parents .
	Parentssrc String `json:"parentssrc,omitempty"`

	// Pathbar
	// role: Object
	Pathbar *TreemapPathbar `json:"pathbar,omitempty"`

	// Root
	// role: Object
	Root *TreemapRoot `json:"root,omitempty"`

	// Sort
	// arrayOK: false
	// type: boolean
	// Determines whether or not the sectors are reordered from largest to smallest.
	Sort Bool `json:"sort,omitempty"`

	// Stream
	// role: Object
	Stream *TreemapStream `json:"stream,omitempty"`

	// Text
	// arrayOK: false
	// type: data_array
	// Sets text elements associated with each sector. If trace `textinfo` contains a *text* flag, these elements will be seen on the chart. If trace `hoverinfo` contains a *text* flag and *hovertext* is not set, these elements will be seen in the hover labels.
	Text interface{} `json:"text,omitempty"`

	// Textfont
	// role: Object
	Textfont *TreemapTextfont `json:"textfont,omitempty"`

	// Textinfo
	// default: %!s(<nil>)
	// type: flaglist
	// Determines which trace information appear on the graph.
	Textinfo TreemapTextinfo `json:"textinfo,omitempty"`

	// Textposition
	// default: top left
	// type: enumerated
	// Sets the positions of the `text` elements.
	Textposition TreemapTextposition `json:"textposition,omitempty"`

	// Textsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  text .
	Textsrc String `json:"textsrc,omitempty"`

	// Texttemplate
	// arrayOK: true
	// type: string
	// Template string used for rendering the information text that appear on points. Note that this will override `textinfo`. Variables are inserted using %{variable}, for example "y: %{y}". Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example "Price: %{y:$.2f}". https://github.com/d3/d3-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 String `json:"texttemplate,omitempty"`

	// Texttemplatesrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  texttemplate .
	Texttemplatesrc String `json:"texttemplatesrc,omitempty"`

	// Tiling
	// role: Object
	Tiling *TreemapTiling `json:"tiling,omitempty"`

	// Transforms
	// It's an items array and what goes inside it's... messy... check the docs
	// I will be happy if you want to contribute by implementing this
	// just raise an issue before you start so we do not overlap
	Transforms interface{} `json:"transforms,omitempty"`

	// Uid
	// arrayOK: false
	// type: string
	// Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.
	Uid String `json:"uid,omitempty"`

	// Uirevision
	// arrayOK: false
	// type: any
	// Controls persistence of some user-driven changes to the trace: `constraintrange` in `parcoords` traces, as well as some `editable: true` modifications such as `name` and `colorbar.title`. Defaults to `layout.uirevision`. Note that other user-driven trace attribute changes are controlled by `layout` attributes: `trace.visible` is controlled by `layout.legend.uirevision`, `selectedpoints` is controlled by `layout.selectionrevision`, and `colorbar.(x|y)` (accessible with `config: {editable: true}`) is controlled by `layout.editrevision`. Trace changes are tracked by `uid`, which only falls back on trace index if no `uid` is provided. So if your app can add/remove traces before the end of the `data` array, such that the same trace has a different index, you can still preserve user-driven changes if you give each trace a `uid` that stays with it as it moves.
	Uirevision interface{} `json:"uirevision,omitempty"`

	// Values
	// arrayOK: false
	// type: data_array
	// Sets the values associated with each of the sectors. Use with `branchvalues` to determine how the values are summed.
	Values interface{} `json:"values,omitempty"`

	// Valuessrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  values .
	Valuessrc String `json:"valuessrc,omitempty"`

	// Visible
	// default: %!s(bool=true)
	// type: enumerated
	// Determines whether or not this trace is visible. If *legendonly*, the trace is not drawn, but can appear as a legend item (provided that the legend itself is visible).
	Visible TreemapVisible `json:"visible,omitempty"`
}

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 (*Treemap) GetType

func (trace *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 (
	TreemapBranchvaluesRemainder TreemapBranchvalues = "remainder"
	TreemapBranchvaluesTotal     TreemapBranchvalues = "total"
)

type TreemapCount

type TreemapCount string

TreemapCount Determines default for `values` when it is not provided, by inferring a 1 for each of the *leaves* and/or *branches*, otherwise 0.

const (
	// Flags
	TreemapCountBranches TreemapCount = "branches"
	TreemapCountLeaves   TreemapCount = "leaves"
)

type TreemapDomain

type TreemapDomain struct {

	// Column
	// arrayOK: false
	// type: integer
	// If there is a layout grid, use the domain for this column in the grid for this treemap trace .
	Column int64 `json:"column,omitempty"`

	// Row
	// arrayOK: false
	// type: integer
	// If there is a layout grid, use the domain for this row in the grid for this treemap trace .
	Row int64 `json:"row,omitempty"`

	// X
	// arrayOK: false
	// type: info_array
	// Sets the horizontal domain of this treemap trace (in plot fraction).
	X interface{} `json:"x,omitempty"`

	// Y
	// arrayOK: false
	// type: info_array
	// Sets the vertical domain of this treemap trace (in plot fraction).
	Y interface{} `json:"y,omitempty"`
}

TreemapDomain

type TreemapHoverinfo

type TreemapHoverinfo string

TreemapHoverinfo Determines which trace information appear on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired.

const (
	// Flags
	TreemapHoverinfoLabel         TreemapHoverinfo = "label"
	TreemapHoverinfoText          TreemapHoverinfo = "text"
	TreemapHoverinfoValue         TreemapHoverinfo = "value"
	TreemapHoverinfoName          TreemapHoverinfo = "name"
	TreemapHoverinfoCurrentPath   TreemapHoverinfo = "current path"
	TreemapHoverinfoPercentRoot   TreemapHoverinfo = "percent root"
	TreemapHoverinfoPercentEntry  TreemapHoverinfo = "percent entry"
	TreemapHoverinfoPercentParent TreemapHoverinfo = "percent parent"

	// Extra
	TreemapHoverinfoAll  TreemapHoverinfo = "all"
	TreemapHoverinfoNone TreemapHoverinfo = "none"
	TreemapHoverinfoSkip TreemapHoverinfo = "skip"
)

type TreemapHoverlabel

type TreemapHoverlabel struct {

	// Align
	// default: auto
	// type: enumerated
	// Sets the horizontal alignment of the text content within hover label box. Has an effect only if the hover label text spans more two or more lines
	Align TreemapHoverlabelAlign `json:"align,omitempty"`

	// Alignsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  align .
	Alignsrc String `json:"alignsrc,omitempty"`

	// Bgcolor
	// arrayOK: true
	// type: color
	// Sets the background color of the hover labels for this trace
	Bgcolor Color `json:"bgcolor,omitempty"`

	// Bgcolorsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  bgcolor .
	Bgcolorsrc String `json:"bgcolorsrc,omitempty"`

	// Bordercolor
	// arrayOK: true
	// type: color
	// Sets the border color of the hover labels for this trace.
	Bordercolor Color `json:"bordercolor,omitempty"`

	// Bordercolorsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  bordercolor .
	Bordercolorsrc String `json:"bordercolorsrc,omitempty"`

	// Font
	// role: Object
	Font *TreemapHoverlabelFont `json:"font,omitempty"`

	// Namelength
	// arrayOK: true
	// type: integer
	// Sets the default length (in number of characters) of the trace name in the hover labels for all traces. -1 shows the whole name regardless of length. 0-3 shows the first 0-3 characters, and an integer >3 will show the whole name if it is less than that many characters, but if it is longer, will truncate to `namelength - 3` characters and add an ellipsis.
	Namelength int64 `json:"namelength,omitempty"`

	// Namelengthsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  namelength .
	Namelengthsrc String `json:"namelengthsrc,omitempty"`
}

TreemapHoverlabel

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 (
	TreemapHoverlabelAlignLeft  TreemapHoverlabelAlign = "left"
	TreemapHoverlabelAlignRight TreemapHoverlabelAlign = "right"
	TreemapHoverlabelAlignAuto  TreemapHoverlabelAlign = "auto"
)

type TreemapHoverlabelFont

type TreemapHoverlabelFont struct {

	// Color
	// arrayOK: true
	// type: color
	//
	Color Color `json:"color,omitempty"`

	// Colorsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  color .
	Colorsrc String `json:"colorsrc,omitempty"`

	// Family
	// arrayOK: true
	// type: string
	// HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.
	Family String `json:"family,omitempty"`

	// Familysrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  family .
	Familysrc String `json:"familysrc,omitempty"`

	// Size
	// arrayOK: true
	// type: number
	//
	Size float64 `json:"size,omitempty"`

	// Sizesrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  size .
	Sizesrc String `json:"sizesrc,omitempty"`
}

TreemapHoverlabelFont Sets the font used in hover labels.

type TreemapInsidetextfont

type TreemapInsidetextfont struct {

	// Color
	// arrayOK: true
	// type: color
	//
	Color Color `json:"color,omitempty"`

	// Colorsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  color .
	Colorsrc String `json:"colorsrc,omitempty"`

	// Family
	// arrayOK: true
	// type: string
	// HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.
	Family String `json:"family,omitempty"`

	// Familysrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  family .
	Familysrc String `json:"familysrc,omitempty"`

	// Size
	// arrayOK: true
	// type: number
	//
	Size float64 `json:"size,omitempty"`

	// Sizesrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  size .
	Sizesrc String `json:"sizesrc,omitempty"`
}

TreemapInsidetextfont Sets the font used for `textinfo` lying inside the sector.

type TreemapMarker

type TreemapMarker struct {

	// Autocolorscale
	// arrayOK: false
	// type: boolean
	// Determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by `marker.colorscale`. Has an effect only if 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
	// arrayOK: false
	// type: boolean
	// Determines whether or not the color domain is computed with respect to the input data (here colors) or the bounds set in `marker.cmin` and `marker.cmax`  Has an effect only if colorsis set to a numerical array. Defaults to `false` when `marker.cmin` and `marker.cmax` are set by the user.
	Cauto Bool `json:"cauto,omitempty"`

	// Cmax
	// arrayOK: false
	// type: number
	// Sets the upper bound of the color domain. Has an effect only if colorsis set to a numerical array. Value should have the same units as colors and if set, `marker.cmin` must be set as well.
	Cmax float64 `json:"cmax,omitempty"`

	// Cmid
	// arrayOK: false
	// type: number
	// Sets the mid-point of the color domain by scaling `marker.cmin` and/or `marker.cmax` to be equidistant to this point. Has an effect only if colorsis set to a numerical array. Value should have the same units as colors. Has no effect when `marker.cauto` is `false`.
	Cmid float64 `json:"cmid,omitempty"`

	// Cmin
	// arrayOK: false
	// type: number
	// Sets the lower bound of the color domain. Has an effect only if colorsis set to a numerical array. Value should have the same units as colors and if set, `marker.cmax` must be set as well.
	Cmin float64 `json:"cmin,omitempty"`

	// Coloraxis
	// arrayOK: false
	// type: subplotid
	// Sets a reference to a shared color axis. References to these shared color axes are *coloraxis*, *coloraxis2*, *coloraxis3*, etc. Settings for these shared color axes are set in the layout, under `layout.coloraxis`, `layout.coloraxis2`, etc. Note that multiple color scales can be linked to the same color axis.
	Coloraxis String `json:"coloraxis,omitempty"`

	// Colorbar
	// role: Object
	Colorbar *TreemapMarkerColorbar `json:"colorbar,omitempty"`

	// Colors
	// arrayOK: false
	// type: data_array
	// Sets the color of each sector of this trace. If not specified, the default trace color set is used to pick the sector colors.
	Colors interface{} `json:"colors,omitempty"`

	// Colorscale
	// default: %!s(<nil>)
	// type: colorscale
	// Sets the colorscale. Has an effect only if colorsis set to a numerical array. The colorscale must be an array containing arrays mapping a normalized value to an rgb, rgba, hex, hsl, hsv, or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, use`marker.cmin` and `marker.cmax`. Alternatively, `colorscale` may be a palette name string of the following list: Greys,YlGnBu,Greens,YlOrRd,Bluered,RdBu,Reds,Blues,Picnic,Rainbow,Portland,Jet,Hot,Blackbody,Earth,Electric,Viridis,Cividis.
	Colorscale ColorScale `json:"colorscale,omitempty"`

	// Colorssrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  colors .
	Colorssrc String `json:"colorssrc,omitempty"`

	// Depthfade
	// default: %!s(<nil>)
	// type: enumerated
	// Determines if the sector colors are faded towards the background from the leaves up to the headers. This option is unavailable when a `colorscale` is present, defaults to false when `marker.colors` is set, but otherwise defaults to true. When set to *reversed*, the fading direction is inverted, that is the top elements within hierarchy are drawn with fully saturated colors while the leaves are faded towards the background color.
	Depthfade TreemapMarkerDepthfade `json:"depthfade,omitempty"`

	// Line
	// role: Object
	Line *TreemapMarkerLine `json:"line,omitempty"`

	// Pad
	// role: Object
	Pad *TreemapMarkerPad `json:"pad,omitempty"`

	// Reversescale
	// arrayOK: false
	// type: boolean
	// Reverses the color mapping if true. Has an effect only if colorsis set to a numerical array. If true, `marker.cmin` will correspond to the last color in the array and `marker.cmax` will correspond to the first color.
	Reversescale Bool `json:"reversescale,omitempty"`

	// Showscale
	// arrayOK: false
	// type: boolean
	// Determines whether or not a colorbar is displayed for this trace. Has an effect only if colorsis set to a numerical array.
	Showscale Bool `json:"showscale,omitempty"`
}

TreemapMarker

type TreemapMarkerColorbar

type TreemapMarkerColorbar struct {

	// Bgcolor
	// arrayOK: false
	// type: color
	// Sets the color of padded area.
	Bgcolor Color `json:"bgcolor,omitempty"`

	// Bordercolor
	// arrayOK: false
	// type: color
	// Sets the axis line color.
	Bordercolor Color `json:"bordercolor,omitempty"`

	// Borderwidth
	// arrayOK: false
	// type: number
	// Sets the width (in px) or the border enclosing this color bar.
	Borderwidth float64 `json:"borderwidth,omitempty"`

	// Dtick
	// arrayOK: false
	// type: any
	// Sets the step in-between ticks on this axis. Use with `tick0`. Must be a positive number, or special strings available to *log* and *date* axes. If the axis `type` is *log*, then ticks are set every 10^(n*dtick) where n is the tick number. For example, to set a tick mark at 1, 10, 100, 1000, ... set dtick to 1. To set tick marks at 1, 100, 10000, ... set dtick to 2. To set tick marks at 1, 5, 25, 125, 625, 3125, ... set dtick to log_10(5), or 0.69897000433. *log* has several special values; *L<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
	// default: B
	// type: enumerated
	// Determines a formatting rule for the tick exponents. For example, consider the number 1,000,000,000. If *none*, it appears as 1,000,000,000. If *e*, 1e+9. If *E*, 1E+9. If *power*, 1x10^9 (with 9 in a super script). If *SI*, 1G. If *B*, 1B.
	Exponentformat TreemapMarkerColorbarExponentformat `json:"exponentformat,omitempty"`

	// Len
	// arrayOK: false
	// type: number
	// Sets the length of the color bar This measure excludes the padding of both ends. That is, the color bar length is this length minus the padding on both ends.
	Len float64 `json:"len,omitempty"`

	// Lenmode
	// default: fraction
	// type: enumerated
	// Determines whether this color bar's length (i.e. the measure in the color variation direction) is set in units of plot *fraction* or in *pixels. Use `len` to set the value.
	Lenmode TreemapMarkerColorbarLenmode `json:"lenmode,omitempty"`

	// Minexponent
	// arrayOK: false
	// type: number
	// Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*.
	Minexponent float64 `json:"minexponent,omitempty"`

	// Nticks
	// arrayOK: false
	// type: integer
	// Specifies the maximum number of ticks for the particular axis. The actual number of ticks will be chosen automatically to be less than or equal to `nticks`. Has an effect only if `tickmode` is set to *auto*.
	Nticks int64 `json:"nticks,omitempty"`

	// Outlinecolor
	// arrayOK: false
	// type: color
	// Sets the axis line color.
	Outlinecolor Color `json:"outlinecolor,omitempty"`

	// Outlinewidth
	// arrayOK: false
	// type: number
	// Sets the width (in px) of the axis line.
	Outlinewidth float64 `json:"outlinewidth,omitempty"`

	// Separatethousands
	// arrayOK: false
	// type: boolean
	// If "true", even 4-digit integers are separated
	Separatethousands Bool `json:"separatethousands,omitempty"`

	// Showexponent
	// default: all
	// type: enumerated
	// If *all*, all exponents are shown besides their significands. If *first*, only the exponent of the first tick is shown. If *last*, only the exponent of the last tick is shown. If *none*, no exponents appear.
	Showexponent TreemapMarkerColorbarShowexponent `json:"showexponent,omitempty"`

	// Showticklabels
	// arrayOK: false
	// type: boolean
	// Determines whether or not the tick labels are drawn.
	Showticklabels Bool `json:"showticklabels,omitempty"`

	// Showtickprefix
	// default: all
	// type: enumerated
	// If *all*, all tick labels are displayed with a prefix. If *first*, only the first tick is displayed with a prefix. If *last*, only the last tick is displayed with a suffix. If *none*, tick prefixes are hidden.
	Showtickprefix TreemapMarkerColorbarShowtickprefix `json:"showtickprefix,omitempty"`

	// Showticksuffix
	// default: all
	// type: enumerated
	// Same as `showtickprefix` but for tick suffixes.
	Showticksuffix TreemapMarkerColorbarShowticksuffix `json:"showticksuffix,omitempty"`

	// Thickness
	// arrayOK: false
	// type: number
	// Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.
	Thickness float64 `json:"thickness,omitempty"`

	// Thicknessmode
	// default: pixels
	// type: enumerated
	// Determines whether this color bar's thickness (i.e. the measure in the constant color direction) is set in units of plot *fraction* or in *pixels*. Use `thickness` to set the value.
	Thicknessmode TreemapMarkerColorbarThicknessmode `json:"thicknessmode,omitempty"`

	// Tick0
	// arrayOK: false
	// type: any
	// Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2) except when `dtick`=*L<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
	// arrayOK: false
	// type: angle
	// Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.
	Tickangle float64 `json:"tickangle,omitempty"`

	// Tickcolor
	// arrayOK: false
	// type: color
	// Sets the tick color.
	Tickcolor Color `json:"tickcolor,omitempty"`

	// Tickfont
	// role: Object
	Tickfont *TreemapMarkerColorbarTickfont `json:"tickfont,omitempty"`

	// Tickformat
	// arrayOK: false
	// type: string
	// Sets the tick label formatting rule using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-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
	// It's an items array and what goes inside it's... messy... check the docs
	// I will be happy if you want to contribute by implementing this
	// just raise an issue before you start so we do not overlap
	Tickformatstops interface{} `json:"tickformatstops,omitempty"`

	// Ticklabelposition
	// default: outside
	// type: enumerated
	// Determines where tick labels are drawn.
	Ticklabelposition TreemapMarkerColorbarTicklabelposition `json:"ticklabelposition,omitempty"`

	// Ticklen
	// arrayOK: false
	// type: number
	// Sets the tick length (in px).
	Ticklen float64 `json:"ticklen,omitempty"`

	// Tickmode
	// default: %!s(<nil>)
	// type: enumerated
	// Sets the tick mode for this axis. If *auto*, the number of ticks is set via `nticks`. If *linear*, the placement of the ticks is determined by a starting position `tick0` and a tick step `dtick` (*linear* is the default value if `tick0` and `dtick` are provided). If *array*, the placement of the ticks is set via `tickvals` and the tick text is `ticktext`. (*array* is the default value if `tickvals` is provided).
	Tickmode TreemapMarkerColorbarTickmode `json:"tickmode,omitempty"`

	// Tickprefix
	// arrayOK: false
	// type: string
	// Sets a tick label prefix.
	Tickprefix String `json:"tickprefix,omitempty"`

	// Ticks
	// default:
	// type: enumerated
	// Determines whether ticks are drawn or not. If **, this axis' ticks are not drawn. If *outside* (*inside*), this axis' are drawn outside (inside) the axis lines.
	Ticks TreemapMarkerColorbarTicks `json:"ticks,omitempty"`

	// Ticksuffix
	// arrayOK: false
	// type: string
	// Sets a tick label suffix.
	Ticksuffix String `json:"ticksuffix,omitempty"`

	// Ticktext
	// arrayOK: false
	// type: data_array
	// Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `tickvals`.
	Ticktext interface{} `json:"ticktext,omitempty"`

	// Ticktextsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  ticktext .
	Ticktextsrc String `json:"ticktextsrc,omitempty"`

	// Tickvals
	// arrayOK: false
	// type: data_array
	// Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.
	Tickvals interface{} `json:"tickvals,omitempty"`

	// Tickvalssrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  tickvals .
	Tickvalssrc String `json:"tickvalssrc,omitempty"`

	// Tickwidth
	// arrayOK: false
	// type: number
	// Sets the tick width (in px).
	Tickwidth float64 `json:"tickwidth,omitempty"`

	// Title
	// role: Object
	Title *TreemapMarkerColorbarTitle `json:"title,omitempty"`

	// X
	// arrayOK: false
	// type: number
	// Sets the x position of the color bar (in plot fraction).
	X float64 `json:"x,omitempty"`

	// Xanchor
	// default: left
	// type: enumerated
	// Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the color bar.
	Xanchor TreemapMarkerColorbarXanchor `json:"xanchor,omitempty"`

	// Xpad
	// arrayOK: false
	// type: number
	// Sets the amount of padding (in px) along the x direction.
	Xpad float64 `json:"xpad,omitempty"`

	// Y
	// arrayOK: false
	// type: number
	// Sets the y position of the color bar (in plot fraction).
	Y float64 `json:"y,omitempty"`

	// Yanchor
	// default: middle
	// type: enumerated
	// Sets this color bar's vertical position anchor This anchor binds the `y` position to the *top*, *middle* or *bottom* of the color bar.
	Yanchor TreemapMarkerColorbarYanchor `json:"yanchor,omitempty"`

	// Ypad
	// arrayOK: false
	// type: number
	// Sets the amount of padding (in px) along the y direction.
	Ypad float64 `json:"ypad,omitempty"`
}

TreemapMarkerColorbar

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 (
	TreemapMarkerColorbarExponentformatNone  TreemapMarkerColorbarExponentformat = "none"
	TreemapMarkerColorbarExponentformatE1    TreemapMarkerColorbarExponentformat = "e"
	TreemapMarkerColorbarExponentformatE2    TreemapMarkerColorbarExponentformat = "E"
	TreemapMarkerColorbarExponentformatPower TreemapMarkerColorbarExponentformat = "power"
	TreemapMarkerColorbarExponentformatSi    TreemapMarkerColorbarExponentformat = "SI"
	TreemapMarkerColorbarExponentformatB     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 (
	TreemapMarkerColorbarLenmodeFraction TreemapMarkerColorbarLenmode = "fraction"
	TreemapMarkerColorbarLenmodePixels   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 (
	TreemapMarkerColorbarShowexponentAll   TreemapMarkerColorbarShowexponent = "all"
	TreemapMarkerColorbarShowexponentFirst TreemapMarkerColorbarShowexponent = "first"
	TreemapMarkerColorbarShowexponentLast  TreemapMarkerColorbarShowexponent = "last"
	TreemapMarkerColorbarShowexponentNone  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 (
	TreemapMarkerColorbarShowtickprefixAll   TreemapMarkerColorbarShowtickprefix = "all"
	TreemapMarkerColorbarShowtickprefixFirst TreemapMarkerColorbarShowtickprefix = "first"
	TreemapMarkerColorbarShowtickprefixLast  TreemapMarkerColorbarShowtickprefix = "last"
	TreemapMarkerColorbarShowtickprefixNone  TreemapMarkerColorbarShowtickprefix = "none"
)

type TreemapMarkerColorbarShowticksuffix

type TreemapMarkerColorbarShowticksuffix string

TreemapMarkerColorbarShowticksuffix Same as `showtickprefix` but for tick suffixes.

const (
	TreemapMarkerColorbarShowticksuffixAll   TreemapMarkerColorbarShowticksuffix = "all"
	TreemapMarkerColorbarShowticksuffixFirst TreemapMarkerColorbarShowticksuffix = "first"
	TreemapMarkerColorbarShowticksuffixLast  TreemapMarkerColorbarShowticksuffix = "last"
	TreemapMarkerColorbarShowticksuffixNone  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 (
	TreemapMarkerColorbarThicknessmodeFraction TreemapMarkerColorbarThicknessmode = "fraction"
	TreemapMarkerColorbarThicknessmodePixels   TreemapMarkerColorbarThicknessmode = "pixels"
)

type TreemapMarkerColorbarTickfont

type TreemapMarkerColorbarTickfont struct {

	// Color
	// arrayOK: false
	// type: color
	//
	Color Color `json:"color,omitempty"`

	// Family
	// arrayOK: false
	// type: string
	// HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.
	Family String `json:"family,omitempty"`

	// Size
	// arrayOK: false
	// type: number
	//
	Size float64 `json:"size,omitempty"`
}

TreemapMarkerColorbarTickfont Sets the color bar's tick label font

type TreemapMarkerColorbarTicklabelposition added in v0.3.1

type TreemapMarkerColorbarTicklabelposition string

TreemapMarkerColorbarTicklabelposition Determines where tick labels are drawn.

const (
	TreemapMarkerColorbarTicklabelpositionOutside       TreemapMarkerColorbarTicklabelposition = "outside"
	TreemapMarkerColorbarTicklabelpositionInside        TreemapMarkerColorbarTicklabelposition = "inside"
	TreemapMarkerColorbarTicklabelpositionOutsideTop    TreemapMarkerColorbarTicklabelposition = "outside top"
	TreemapMarkerColorbarTicklabelpositionInsideTop     TreemapMarkerColorbarTicklabelposition = "inside top"
	TreemapMarkerColorbarTicklabelpositionOutsideBottom TreemapMarkerColorbarTicklabelposition = "outside bottom"
	TreemapMarkerColorbarTicklabelpositionInsideBottom  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 (
	TreemapMarkerColorbarTickmodeAuto   TreemapMarkerColorbarTickmode = "auto"
	TreemapMarkerColorbarTickmodeLinear TreemapMarkerColorbarTickmode = "linear"
	TreemapMarkerColorbarTickmodeArray  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 (
	TreemapMarkerColorbarTicksOutside TreemapMarkerColorbarTicks = "outside"
	TreemapMarkerColorbarTicksInside  TreemapMarkerColorbarTicks = "inside"
	TreemapMarkerColorbarTicksEmpty   TreemapMarkerColorbarTicks = ""
)

type TreemapMarkerColorbarTitle

type TreemapMarkerColorbarTitle struct {

	// Font
	// role: Object
	Font *TreemapMarkerColorbarTitleFont `json:"font,omitempty"`

	// Side
	// default: top
	// type: enumerated
	// Determines the location of color bar's title with respect to the color bar. Note that the title's location used to be set by the now deprecated `titleside` attribute.
	Side TreemapMarkerColorbarTitleSide `json:"side,omitempty"`

	// Text
	// arrayOK: false
	// type: string
	// Sets the title of the color bar. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.
	Text String `json:"text,omitempty"`
}

TreemapMarkerColorbarTitle

type TreemapMarkerColorbarTitleFont

type TreemapMarkerColorbarTitleFont struct {

	// Color
	// arrayOK: false
	// type: color
	//
	Color Color `json:"color,omitempty"`

	// Family
	// arrayOK: false
	// type: string
	// HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.
	Family String `json:"family,omitempty"`

	// Size
	// arrayOK: false
	// type: number
	//
	Size float64 `json:"size,omitempty"`
}

TreemapMarkerColorbarTitleFont Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.

type 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 (
	TreemapMarkerColorbarTitleSideRight  TreemapMarkerColorbarTitleSide = "right"
	TreemapMarkerColorbarTitleSideTop    TreemapMarkerColorbarTitleSide = "top"
	TreemapMarkerColorbarTitleSideBottom 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 (
	TreemapMarkerColorbarXanchorLeft   TreemapMarkerColorbarXanchor = "left"
	TreemapMarkerColorbarXanchorCenter TreemapMarkerColorbarXanchor = "center"
	TreemapMarkerColorbarXanchorRight  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 (
	TreemapMarkerColorbarYanchorTop    TreemapMarkerColorbarYanchor = "top"
	TreemapMarkerColorbarYanchorMiddle TreemapMarkerColorbarYanchor = "middle"
	TreemapMarkerColorbarYanchorBottom 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 (
	TreemapMarkerDepthfadeTrue     TreemapMarkerDepthfade = true
	TreemapMarkerDepthfadeFalse    TreemapMarkerDepthfade = false
	TreemapMarkerDepthfadeReversed TreemapMarkerDepthfade = "reversed"
)

type TreemapMarkerLine

type TreemapMarkerLine struct {

	// Color
	// arrayOK: true
	// type: color
	// Sets the color of the line enclosing each sector. Defaults to the `paper_bgcolor` value.
	Color Color `json:"color,omitempty"`

	// Colorsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  color .
	Colorsrc String `json:"colorsrc,omitempty"`

	// Width
	// arrayOK: true
	// type: number
	// Sets the width (in px) of the line enclosing each sector.
	Width float64 `json:"width,omitempty"`

	// Widthsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  width .
	Widthsrc String `json:"widthsrc,omitempty"`
}

TreemapMarkerLine

type TreemapMarkerPad

type TreemapMarkerPad struct {

	// B
	// arrayOK: false
	// type: number
	// Sets the padding form the bottom (in px).
	B float64 `json:"b,omitempty"`

	// L
	// arrayOK: false
	// type: number
	// Sets the padding form the left (in px).
	L float64 `json:"l,omitempty"`

	// R
	// arrayOK: false
	// type: number
	// Sets the padding form the right (in px).
	R float64 `json:"r,omitempty"`

	// T
	// arrayOK: false
	// type: number
	// Sets the padding form the top (in px).
	T float64 `json:"t,omitempty"`
}

TreemapMarkerPad

type TreemapOutsidetextfont

type TreemapOutsidetextfont struct {

	// Color
	// arrayOK: true
	// type: color
	//
	Color Color `json:"color,omitempty"`

	// Colorsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  color .
	Colorsrc String `json:"colorsrc,omitempty"`

	// Family
	// arrayOK: true
	// type: string
	// HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.
	Family String `json:"family,omitempty"`

	// Familysrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  family .
	Familysrc String `json:"familysrc,omitempty"`

	// Size
	// arrayOK: true
	// type: number
	//
	Size float64 `json:"size,omitempty"`

	// Sizesrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  size .
	Sizesrc String `json:"sizesrc,omitempty"`
}

TreemapOutsidetextfont Sets the font used for `textinfo` lying outside the sector. This option refers to the root of the hierarchy presented on top left corner of a treemap graph. Please note that if a hierarchy has multiple root nodes, this option won't have any effect and `insidetextfont` would be used.

type TreemapPathbar

type TreemapPathbar struct {

	// Edgeshape
	// default: >
	// type: enumerated
	// Determines which shape is used for edges between `barpath` labels.
	Edgeshape TreemapPathbarEdgeshape `json:"edgeshape,omitempty"`

	// Side
	// default: top
	// type: enumerated
	// Determines on which side of the the treemap the `pathbar` should be presented.
	Side TreemapPathbarSide `json:"side,omitempty"`

	// Textfont
	// role: Object
	Textfont *TreemapPathbarTextfont `json:"textfont,omitempty"`

	// Thickness
	// arrayOK: false
	// type: number
	// Sets the thickness of `pathbar` (in px). If not specified the `pathbar.textfont.size` is used with 3 pixles extra padding on each side.
	Thickness float64 `json:"thickness,omitempty"`

	// Visible
	// arrayOK: false
	// type: boolean
	// Determines if the path bar is drawn i.e. outside the trace `domain` and with one pixel gap.
	Visible Bool `json:"visible,omitempty"`
}

TreemapPathbar

type TreemapPathbarEdgeshape

type TreemapPathbarEdgeshape string

TreemapPathbarEdgeshape Determines which shape is used for edges between `barpath` labels.

const (
	TreemapPathbarEdgeshapeGt              TreemapPathbarEdgeshape = ">"
	TreemapPathbarEdgeshapeLt              TreemapPathbarEdgeshape = "<"
	TreemapPathbarEdgeshapeOr              TreemapPathbarEdgeshape = "|"
	TreemapPathbarEdgeshapeSlash           TreemapPathbarEdgeshape = "/"
	TreemapPathbarEdgeshapeDoublebackslash TreemapPathbarEdgeshape = "\\"
)

type TreemapPathbarSide

type TreemapPathbarSide string

TreemapPathbarSide Determines on which side of the the treemap the `pathbar` should be presented.

const (
	TreemapPathbarSideTop    TreemapPathbarSide = "top"
	TreemapPathbarSideBottom TreemapPathbarSide = "bottom"
)

type TreemapPathbarTextfont

type TreemapPathbarTextfont struct {

	// Color
	// arrayOK: true
	// type: color
	//
	Color Color `json:"color,omitempty"`

	// Colorsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  color .
	Colorsrc String `json:"colorsrc,omitempty"`

	// Family
	// arrayOK: true
	// type: string
	// HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.
	Family String `json:"family,omitempty"`

	// Familysrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  family .
	Familysrc String `json:"familysrc,omitempty"`

	// Size
	// arrayOK: true
	// type: number
	//
	Size float64 `json:"size,omitempty"`

	// Sizesrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  size .
	Sizesrc String `json:"sizesrc,omitempty"`
}

TreemapPathbarTextfont Sets the font used inside `pathbar`.

type TreemapRoot added in v0.3.1

type TreemapRoot struct {

	// Color
	// arrayOK: false
	// type: color
	// sets the color of the root node for a sunburst or a treemap trace. this has no effect when a colorscale is used to set the markers.
	Color Color `json:"color,omitempty"`
}

TreemapRoot

type TreemapStream

type TreemapStream struct {

	// Maxpoints
	// arrayOK: false
	// type: number
	// Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot.
	Maxpoints float64 `json:"maxpoints,omitempty"`

	// Token
	// arrayOK: false
	// type: string
	// The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details.
	Token String `json:"token,omitempty"`
}

TreemapStream

type TreemapTextfont

type TreemapTextfont struct {

	// Color
	// arrayOK: true
	// type: color
	//
	Color Color `json:"color,omitempty"`

	// Colorsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  color .
	Colorsrc String `json:"colorsrc,omitempty"`

	// Family
	// arrayOK: true
	// type: string
	// HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.
	Family String `json:"family,omitempty"`

	// Familysrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  family .
	Familysrc String `json:"familysrc,omitempty"`

	// Size
	// arrayOK: true
	// type: number
	//
	Size float64 `json:"size,omitempty"`

	// Sizesrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  size .
	Sizesrc String `json:"sizesrc,omitempty"`
}

TreemapTextfont Sets the font used for `textinfo`.

type TreemapTextinfo

type TreemapTextinfo string

TreemapTextinfo Determines which trace information appear on the graph.

const (
	// Flags
	TreemapTextinfoLabel         TreemapTextinfo = "label"
	TreemapTextinfoText          TreemapTextinfo = "text"
	TreemapTextinfoValue         TreemapTextinfo = "value"
	TreemapTextinfoCurrentPath   TreemapTextinfo = "current path"
	TreemapTextinfoPercentRoot   TreemapTextinfo = "percent root"
	TreemapTextinfoPercentEntry  TreemapTextinfo = "percent entry"
	TreemapTextinfoPercentParent TreemapTextinfo = "percent parent"

	// Extra
	TreemapTextinfoNone TreemapTextinfo = "none"
)

type TreemapTextposition

type TreemapTextposition string

TreemapTextposition Sets the positions of the `text` elements.

const (
	TreemapTextpositionTopLeft      TreemapTextposition = "top left"
	TreemapTextpositionTopCenter    TreemapTextposition = "top center"
	TreemapTextpositionTopRight     TreemapTextposition = "top right"
	TreemapTextpositionMiddleLeft   TreemapTextposition = "middle left"
	TreemapTextpositionMiddleCenter TreemapTextposition = "middle center"
	TreemapTextpositionMiddleRight  TreemapTextposition = "middle right"
	TreemapTextpositionBottomLeft   TreemapTextposition = "bottom left"
	TreemapTextpositionBottomCenter TreemapTextposition = "bottom center"
	TreemapTextpositionBottomRight  TreemapTextposition = "bottom right"
)

type TreemapTiling

type TreemapTiling struct {

	// Flip
	// default:
	// type: flaglist
	// Determines if the positions obtained from solver are flipped on each axis.
	Flip TreemapTilingFlip `json:"flip,omitempty"`

	// Packing
	// default: squarify
	// type: enumerated
	// Determines d3 treemap solver. For more info please refer to https://github.com/d3/d3-hierarchy#treemap-tiling
	Packing TreemapTilingPacking `json:"packing,omitempty"`

	// Pad
	// arrayOK: false
	// type: number
	// Sets the inner padding (in px).
	Pad float64 `json:"pad,omitempty"`

	// Squarifyratio
	// arrayOK: false
	// type: number
	// When using *squarify* `packing` algorithm, according to https://github.com/d3/d3-hierarchy/blob/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"`
}

TreemapTiling

type TreemapTilingFlip

type TreemapTilingFlip string

TreemapTilingFlip Determines if the positions obtained from solver are flipped on each axis.

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 (
	TreemapTilingPackingSquarify  TreemapTilingPacking = "squarify"
	TreemapTilingPackingBinary    TreemapTilingPacking = "binary"
	TreemapTilingPackingDice      TreemapTilingPacking = "dice"
	TreemapTilingPackingSlice     TreemapTilingPacking = "slice"
	TreemapTilingPackingSliceDice TreemapTilingPacking = "slice-dice"
	TreemapTilingPackingDiceSlice TreemapTilingPacking = "dice-slice"
)

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 (
	TreemapVisibleTrue       TreemapVisible = true
	TreemapVisibleFalse      TreemapVisible = false
	TreemapVisibleLegendonly TreemapVisible = "legendonly"
)

type Violin

type Violin struct {

	// Type
	// is the type of the plot
	Type TraceType `json:"type,omitempty"`

	// Alignmentgroup
	// arrayOK: false
	// type: string
	// Set several traces linked to the same position axis or matching axes to the same alignmentgroup. This controls whether bars compute their positional range dependently or independently.
	Alignmentgroup String `json:"alignmentgroup,omitempty"`

	// Bandwidth
	// arrayOK: false
	// type: number
	// Sets the bandwidth used to compute the kernel density estimate. By default, the bandwidth is determined by Silverman's rule of thumb.
	Bandwidth float64 `json:"bandwidth,omitempty"`

	// Box
	// role: Object
	Box *ViolinBox `json:"box,omitempty"`

	// Customdata
	// arrayOK: false
	// type: data_array
	// Assigns extra data each datum. This may be useful when listening to hover, click and selection events. Note that, *scatter* traces also appends customdata items in the markers DOM elements
	Customdata interface{} `json:"customdata,omitempty"`

	// Customdatasrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  customdata .
	Customdatasrc String `json:"customdatasrc,omitempty"`

	// Fillcolor
	// arrayOK: false
	// type: color
	// Sets the fill color. Defaults to a half-transparent variant of the line color, marker color, or marker line color, whichever is available.
	Fillcolor Color `json:"fillcolor,omitempty"`

	// Hoverinfo
	// default: all
	// type: flaglist
	// Determines which trace information appear on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired.
	Hoverinfo ViolinHoverinfo `json:"hoverinfo,omitempty"`

	// Hoverinfosrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  hoverinfo .
	Hoverinfosrc String `json:"hoverinfosrc,omitempty"`

	// Hoverlabel
	// role: Object
	Hoverlabel *ViolinHoverlabel `json:"hoverlabel,omitempty"`

	// Hoveron
	// default: violins+points+kde
	// type: flaglist
	// Do the hover effects highlight individual violins or sample points or the kernel density estimate or any combination of them?
	Hoveron ViolinHoveron `json:"hoveron,omitempty"`

	// Hovertemplate
	// arrayOK: true
	// type: string
	// Template string used for rendering the information that appear on hover box. Note that this will override `hoverinfo`. Variables are inserted using %{variable}, for example "y: %{y}". 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 String `json:"hovertemplate,omitempty"`

	// Hovertemplatesrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  hovertemplate .
	Hovertemplatesrc String `json:"hovertemplatesrc,omitempty"`

	// Hovertext
	// arrayOK: true
	// type: string
	// Same as `text`.
	Hovertext String `json:"hovertext,omitempty"`

	// Hovertextsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  hovertext .
	Hovertextsrc String `json:"hovertextsrc,omitempty"`

	// Ids
	// arrayOK: false
	// type: data_array
	// Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type.
	Ids interface{} `json:"ids,omitempty"`

	// Idssrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  ids .
	Idssrc String `json:"idssrc,omitempty"`

	// Jitter
	// arrayOK: false
	// type: number
	// Sets the amount of jitter in the sample points drawn. If *0*, the sample points align along the distribution axis. If *1*, the sample points are drawn in a random jitter of width equal to the width of the violins.
	Jitter float64 `json:"jitter,omitempty"`

	// Legendgroup
	// arrayOK: false
	// type: string
	// Sets the legend group for this trace. Traces part of the same legend group hide/show at the same time when toggling legend items.
	Legendgroup String `json:"legendgroup,omitempty"`

	// Line
	// role: Object
	Line *ViolinLine `json:"line,omitempty"`

	// Marker
	// role: Object
	Marker *ViolinMarker `json:"marker,omitempty"`

	// Meanline
	// role: Object
	Meanline *ViolinMeanline `json:"meanline,omitempty"`

	// Meta
	// arrayOK: true
	// type: any
	// Assigns extra meta information associated with this trace that can be used in various text attributes. Attributes such as trace `name`, graph, axis and colorbar `title.text`, annotation `text` `rangeselector`, `updatemenues` and `sliders` `label` text all support `meta`. To access the trace `meta` values in an attribute in the same trace, simply use `%{meta[i]}` where `i` is the index or key of the `meta` item in question. To access trace `meta` in layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index.
	Meta interface{} `json:"meta,omitempty"`

	// Metasrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  meta .
	Metasrc String `json:"metasrc,omitempty"`

	// Name
	// arrayOK: false
	// type: string
	// Sets the trace name. The trace name 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
	// arrayOK: false
	// type: string
	// Set several traces linked to the same position axis or matching axes to the same offsetgroup where bars of the same position coordinate will line up.
	Offsetgroup String `json:"offsetgroup,omitempty"`

	// Opacity
	// arrayOK: false
	// type: number
	// Sets the opacity of the trace.
	Opacity float64 `json:"opacity,omitempty"`

	// Orientation
	// default: %!s(<nil>)
	// type: enumerated
	// Sets the orientation of the violin(s). If *v* (*h*), the distribution is visualized along the vertical (horizontal).
	Orientation ViolinOrientation `json:"orientation,omitempty"`

	// Pointpos
	// arrayOK: false
	// type: number
	// Sets the position of the sample points in relation to the violins. If *0*, the sample points are places over the center of the violins. Positive (negative) values correspond to positions to the right (left) for vertical violins and above (below) for horizontal violins.
	Pointpos float64 `json:"pointpos,omitempty"`

	// Points
	// default: %!s(<nil>)
	// type: enumerated
	// If *outliers*, only the sample points lying outside the whiskers are shown If *suspectedoutliers*, the outlier points are shown and points either less than 4*Q1-3*Q3 or greater than 4*Q3-3*Q1 are highlighted (see `outliercolor`) If *all*, all sample points are shown If *false*, only the violins are shown with no sample points. Defaults to *suspectedoutliers* when `marker.outliercolor` or `marker.line.outliercolor` is set, otherwise defaults to *outliers*.
	Points ViolinPoints `json:"points,omitempty"`

	// Scalegroup
	// arrayOK: false
	// type: string
	// If there are multiple violins that should be sized according to to some metric (see `scalemode`), link them by providing a non-empty group id here shared by every trace in the same group. If a violin's `width` is undefined, `scalegroup` will default to the trace's name. In this case, violins with the same names will be linked together
	Scalegroup String `json:"scalegroup,omitempty"`

	// Scalemode
	// default: width
	// type: enumerated
	// Sets the metric by which the width of each violin is determined.*width* means each violin has the same (max) width*count* means the violins are scaled by the number of sample points makingup each violin.
	Scalemode ViolinScalemode `json:"scalemode,omitempty"`

	// Selected
	// role: Object
	Selected *ViolinSelected `json:"selected,omitempty"`

	// Selectedpoints
	// arrayOK: false
	// type: any
	// Array containing integer indices of selected points. Has an effect only for traces that support selections. Note that an empty array means an empty selection where the `unselected` are turned on for all points, whereas, any other non-array values means no selection all where the `selected` and `unselected` styles have no effect.
	Selectedpoints interface{} `json:"selectedpoints,omitempty"`

	// Showlegend
	// arrayOK: false
	// type: boolean
	// Determines whether or not an item corresponding to this trace is shown in the legend.
	Showlegend Bool `json:"showlegend,omitempty"`

	// Side
	// default: both
	// type: enumerated
	// Determines on which side of the position value the density function making up one half of a violin is plotted. Useful when comparing two violin traces under *overlay* mode, where one trace has `side` set to *positive* and the other to *negative*.
	Side ViolinSide `json:"side,omitempty"`

	// Span
	// arrayOK: false
	// type: info_array
	// Sets the span in data space for which the density function will be computed. Has an effect only when `spanmode` is set to *manual*.
	Span interface{} `json:"span,omitempty"`

	// Spanmode
	// default: soft
	// type: enumerated
	// Sets the method by which the span in data space where the density function will be computed. *soft* means the span goes from the sample's minimum value minus two bandwidths to the sample's maximum value plus two bandwidths. *hard* means the span goes from the sample's minimum to its maximum value. For custom span settings, use mode *manual* and fill in the `span` attribute.
	Spanmode ViolinSpanmode `json:"spanmode,omitempty"`

	// Stream
	// role: Object
	Stream *ViolinStream `json:"stream,omitempty"`

	// Text
	// arrayOK: true
	// type: string
	// Sets the text elements associated with each sample value. If a single string, the same string appears over all the data points. If an array of string, the items are mapped in order to the this trace's (x,y) coordinates. To be seen, trace `hoverinfo` must contain a *text* flag.
	Text String `json:"text,omitempty"`

	// Textsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  text .
	Textsrc String `json:"textsrc,omitempty"`

	// Transforms
	// It's an items array and what goes inside it's... messy... check the docs
	// I will be happy if you want to contribute by implementing this
	// just raise an issue before you start so we do not overlap
	Transforms interface{} `json:"transforms,omitempty"`

	// Uid
	// arrayOK: false
	// type: string
	// Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.
	Uid String `json:"uid,omitempty"`

	// Uirevision
	// arrayOK: false
	// type: any
	// Controls persistence of some user-driven changes to the trace: `constraintrange` in `parcoords` traces, as well as some `editable: true` modifications such as `name` and `colorbar.title`. Defaults to `layout.uirevision`. Note that other user-driven trace attribute changes are controlled by `layout` attributes: `trace.visible` is controlled by `layout.legend.uirevision`, `selectedpoints` is controlled by `layout.selectionrevision`, and `colorbar.(x|y)` (accessible with `config: {editable: true}`) is controlled by `layout.editrevision`. Trace changes are tracked by `uid`, which only falls back on trace index if no `uid` is provided. So if your app can add/remove traces before the end of the `data` array, such that the same trace has a different index, you can still preserve user-driven changes if you give each trace a `uid` that stays with it as it moves.
	Uirevision interface{} `json:"uirevision,omitempty"`

	// Unselected
	// role: Object
	Unselected *ViolinUnselected `json:"unselected,omitempty"`

	// Visible
	// default: %!s(bool=true)
	// type: enumerated
	// Determines whether or not this trace is visible. If *legendonly*, the trace is not drawn, but can appear as a legend item (provided that the legend itself is visible).
	Visible ViolinVisible `json:"visible,omitempty"`

	// Width
	// arrayOK: false
	// type: number
	// Sets the width of the violin in data coordinates. If *0* (default value) the width is automatically selected based on the positions of other violin traces in the same subplot.
	Width float64 `json:"width,omitempty"`

	// X
	// arrayOK: false
	// type: data_array
	// Sets the x sample data or coordinates. See overview for more info.
	X interface{} `json:"x,omitempty"`

	// X0
	// arrayOK: false
	// type: any
	// Sets the x coordinate for single-box traces or the starting coordinate for multi-box traces set using q1/median/q3. See overview for more info.
	X0 interface{} `json:"x0,omitempty"`

	// Xaxis
	// arrayOK: false
	// type: subplotid
	// Sets a reference between this trace's x coordinates and a 2D cartesian x axis. If *x* (the default value), the x coordinates refer to `layout.xaxis`. If *x2*, the x coordinates refer to `layout.xaxis2`, and so on.
	Xaxis String `json:"xaxis,omitempty"`

	// Xsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  x .
	Xsrc String `json:"xsrc,omitempty"`

	// Y
	// arrayOK: false
	// type: data_array
	// Sets the y sample data or coordinates. See overview for more info.
	Y interface{} `json:"y,omitempty"`

	// Y0
	// arrayOK: false
	// type: any
	// Sets the y coordinate for single-box traces or the starting coordinate for multi-box traces set using q1/median/q3. See overview for more info.
	Y0 interface{} `json:"y0,omitempty"`

	// Yaxis
	// arrayOK: false
	// type: subplotid
	// Sets a reference between this trace's y coordinates and a 2D cartesian y axis. If *y* (the default value), the y coordinates refer to `layout.yaxis`. If *y2*, the y coordinates refer to `layout.yaxis2`, and so on.
	Yaxis String `json:"yaxis,omitempty"`

	// Ysrc
	// arrayOK: false
	// type: 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 (*Violin) GetType

func (trace *Violin) GetType() TraceType

type ViolinBox

type ViolinBox struct {

	// Fillcolor
	// arrayOK: false
	// type: color
	// Sets the inner box plot fill color.
	Fillcolor Color `json:"fillcolor,omitempty"`

	// Line
	// role: Object
	Line *ViolinBoxLine `json:"line,omitempty"`

	// Visible
	// arrayOK: false
	// type: boolean
	// Determines if an miniature box plot is drawn inside the violins.
	Visible Bool `json:"visible,omitempty"`

	// Width
	// arrayOK: false
	// type: number
	// Sets the width of the inner box plots relative to the violins' width. For example, with 1, the inner box plots are as wide as the violins.
	Width float64 `json:"width,omitempty"`
}

ViolinBox

type ViolinBoxLine

type ViolinBoxLine struct {

	// Color
	// arrayOK: false
	// type: color
	// Sets the inner box plot bounding line color.
	Color Color `json:"color,omitempty"`

	// Width
	// arrayOK: false
	// type: number
	// Sets the inner box plot bounding line width.
	Width float64 `json:"width,omitempty"`
}

ViolinBoxLine

type ViolinHoverinfo

type ViolinHoverinfo string

ViolinHoverinfo Determines which trace information appear on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired.

const (
	// Flags
	ViolinHoverinfoX    ViolinHoverinfo = "x"
	ViolinHoverinfoY    ViolinHoverinfo = "y"
	ViolinHoverinfoZ    ViolinHoverinfo = "z"
	ViolinHoverinfoText ViolinHoverinfo = "text"
	ViolinHoverinfoName ViolinHoverinfo = "name"

	// Extra
	ViolinHoverinfoAll  ViolinHoverinfo = "all"
	ViolinHoverinfoNone ViolinHoverinfo = "none"
	ViolinHoverinfoSkip ViolinHoverinfo = "skip"
)

type ViolinHoverlabel

type ViolinHoverlabel struct {

	// Align
	// default: auto
	// type: enumerated
	// Sets the horizontal alignment of the text content within hover label box. Has an effect only if the hover label text spans more two or more lines
	Align ViolinHoverlabelAlign `json:"align,omitempty"`

	// Alignsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  align .
	Alignsrc String `json:"alignsrc,omitempty"`

	// Bgcolor
	// arrayOK: true
	// type: color
	// Sets the background color of the hover labels for this trace
	Bgcolor Color `json:"bgcolor,omitempty"`

	// Bgcolorsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  bgcolor .
	Bgcolorsrc String `json:"bgcolorsrc,omitempty"`

	// Bordercolor
	// arrayOK: true
	// type: color
	// Sets the border color of the hover labels for this trace.
	Bordercolor Color `json:"bordercolor,omitempty"`

	// Bordercolorsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  bordercolor .
	Bordercolorsrc String `json:"bordercolorsrc,omitempty"`

	// Font
	// role: Object
	Font *ViolinHoverlabelFont `json:"font,omitempty"`

	// Namelength
	// arrayOK: true
	// type: integer
	// Sets the default length (in number of characters) of the trace name in the hover labels for all traces. -1 shows the whole name regardless of length. 0-3 shows the first 0-3 characters, and an integer >3 will show the whole name if it is less than that many characters, but if it is longer, will truncate to `namelength - 3` characters and add an ellipsis.
	Namelength int64 `json:"namelength,omitempty"`

	// Namelengthsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  namelength .
	Namelengthsrc String `json:"namelengthsrc,omitempty"`
}

ViolinHoverlabel

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 (
	ViolinHoverlabelAlignLeft  ViolinHoverlabelAlign = "left"
	ViolinHoverlabelAlignRight ViolinHoverlabelAlign = "right"
	ViolinHoverlabelAlignAuto  ViolinHoverlabelAlign = "auto"
)

type ViolinHoverlabelFont

type ViolinHoverlabelFont struct {

	// Color
	// arrayOK: true
	// type: color
	//
	Color Color `json:"color,omitempty"`

	// Colorsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  color .
	Colorsrc String `json:"colorsrc,omitempty"`

	// Family
	// arrayOK: true
	// type: string
	// HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.
	Family String `json:"family,omitempty"`

	// Familysrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  family .
	Familysrc String `json:"familysrc,omitempty"`

	// Size
	// arrayOK: true
	// type: number
	//
	Size float64 `json:"size,omitempty"`

	// Sizesrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  size .
	Sizesrc String `json:"sizesrc,omitempty"`
}

ViolinHoverlabelFont Sets the font used in hover labels.

type ViolinHoveron

type ViolinHoveron string

ViolinHoveron Do the hover effects highlight individual violins or sample points or the kernel density estimate or any combination of them?

const (
	// Flags
	ViolinHoveronViolins ViolinHoveron = "violins"
	ViolinHoveronPoints  ViolinHoveron = "points"
	ViolinHoveronKde     ViolinHoveron = "kde"

	// Extra
	ViolinHoveronAll ViolinHoveron = "all"
)

type ViolinLine

type ViolinLine struct {

	// Color
	// arrayOK: false
	// type: color
	// Sets the color of line bounding the violin(s).
	Color Color `json:"color,omitempty"`

	// Width
	// arrayOK: false
	// type: number
	// Sets the width (in px) of line bounding the violin(s).
	Width float64 `json:"width,omitempty"`
}

ViolinLine

type ViolinMarker

type ViolinMarker struct {

	// Color
	// arrayOK: false
	// type: color
	// Sets themarkercolor. It accepts either a specific color or an array of numbers that are mapped to the colorscale relative to the max and min values of the array or relative to `marker.cmin` and `marker.cmax` if set.
	Color Color `json:"color,omitempty"`

	// Line
	// role: Object
	Line *ViolinMarkerLine `json:"line,omitempty"`

	// Opacity
	// arrayOK: false
	// type: number
	// Sets the marker opacity.
	Opacity float64 `json:"opacity,omitempty"`

	// Outliercolor
	// arrayOK: false
	// type: color
	// Sets the color of the outlier sample points.
	Outliercolor Color `json:"outliercolor,omitempty"`

	// Size
	// arrayOK: false
	// type: number
	// Sets the marker size (in px).
	Size float64 `json:"size,omitempty"`

	// Symbol
	// default: circle
	// type: enumerated
	// Sets the marker symbol type. Adding 100 is equivalent to appending *-open* to a symbol name. Adding 200 is equivalent to appending *-dot* to a symbol name. Adding 300 is equivalent to appending *-open-dot* or *dot-open* to a symbol name.
	Symbol ViolinMarkerSymbol `json:"symbol,omitempty"`
}

ViolinMarker

type ViolinMarkerLine

type ViolinMarkerLine struct {

	// Color
	// arrayOK: false
	// type: color
	// Sets themarker.linecolor. It accepts either a specific color or an array of numbers that are mapped to the colorscale relative to the max and min values of the array or relative to `marker.line.cmin` and `marker.line.cmax` if set.
	Color Color `json:"color,omitempty"`

	// Outliercolor
	// arrayOK: false
	// type: color
	// Sets the border line color of the outlier sample points. Defaults to marker.color
	Outliercolor Color `json:"outliercolor,omitempty"`

	// Outlierwidth
	// arrayOK: false
	// type: number
	// Sets the border line width (in px) of the outlier sample points.
	Outlierwidth float64 `json:"outlierwidth,omitempty"`

	// Width
	// arrayOK: false
	// type: number
	// Sets the width (in px) of the lines bounding the marker points.
	Width float64 `json:"width,omitempty"`
}

ViolinMarkerLine

type ViolinMarkerSymbol

type ViolinMarkerSymbol interface{}

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.

var (
	ViolinMarkerSymbolNumber0                 ViolinMarkerSymbol = 0
	ViolinMarkerSymbol0                       ViolinMarkerSymbol = "0"
	ViolinMarkerSymbolCircle                  ViolinMarkerSymbol = "circle"
	ViolinMarkerSymbolNumber100               ViolinMarkerSymbol = 100
	ViolinMarkerSymbol100                     ViolinMarkerSymbol = "100"
	ViolinMarkerSymbolCircleOpen              ViolinMarkerSymbol = "circle-open"
	ViolinMarkerSymbolNumber200               ViolinMarkerSymbol = 200
	ViolinMarkerSymbol200                     ViolinMarkerSymbol = "200"
	ViolinMarkerSymbolCircleDot               ViolinMarkerSymbol = "circle-dot"
	ViolinMarkerSymbolNumber300               ViolinMarkerSymbol = 300
	ViolinMarkerSymbol300                     ViolinMarkerSymbol = "300"
	ViolinMarkerSymbolCircleOpenDot           ViolinMarkerSymbol = "circle-open-dot"
	ViolinMarkerSymbolNumber1                 ViolinMarkerSymbol = 1
	ViolinMarkerSymbol1                       ViolinMarkerSymbol = "1"
	ViolinMarkerSymbolSquare                  ViolinMarkerSymbol = "square"
	ViolinMarkerSymbolNumber101               ViolinMarkerSymbol = 101
	ViolinMarkerSymbol101                     ViolinMarkerSymbol = "101"
	ViolinMarkerSymbolSquareOpen              ViolinMarkerSymbol = "square-open"
	ViolinMarkerSymbolNumber201               ViolinMarkerSymbol = 201
	ViolinMarkerSymbol201                     ViolinMarkerSymbol = "201"
	ViolinMarkerSymbolSquareDot               ViolinMarkerSymbol = "square-dot"
	ViolinMarkerSymbolNumber301               ViolinMarkerSymbol = 301
	ViolinMarkerSymbol301                     ViolinMarkerSymbol = "301"
	ViolinMarkerSymbolSquareOpenDot           ViolinMarkerSymbol = "square-open-dot"
	ViolinMarkerSymbolNumber2                 ViolinMarkerSymbol = 2
	ViolinMarkerSymbol2                       ViolinMarkerSymbol = "2"
	ViolinMarkerSymbolDiamond                 ViolinMarkerSymbol = "diamond"
	ViolinMarkerSymbolNumber102               ViolinMarkerSymbol = 102
	ViolinMarkerSymbol102                     ViolinMarkerSymbol = "102"
	ViolinMarkerSymbolDiamondOpen             ViolinMarkerSymbol = "diamond-open"
	ViolinMarkerSymbolNumber202               ViolinMarkerSymbol = 202
	ViolinMarkerSymbol202                     ViolinMarkerSymbol = "202"
	ViolinMarkerSymbolDiamondDot              ViolinMarkerSymbol = "diamond-dot"
	ViolinMarkerSymbolNumber302               ViolinMarkerSymbol = 302
	ViolinMarkerSymbol302                     ViolinMarkerSymbol = "302"
	ViolinMarkerSymbolDiamondOpenDot          ViolinMarkerSymbol = "diamond-open-dot"
	ViolinMarkerSymbolNumber3                 ViolinMarkerSymbol = 3
	ViolinMarkerSymbol3                       ViolinMarkerSymbol = "3"
	ViolinMarkerSymbolCross                   ViolinMarkerSymbol = "cross"
	ViolinMarkerSymbolNumber103               ViolinMarkerSymbol = 103
	ViolinMarkerSymbol103                     ViolinMarkerSymbol = "103"
	ViolinMarkerSymbolCrossOpen               ViolinMarkerSymbol = "cross-open"
	ViolinMarkerSymbolNumber203               ViolinMarkerSymbol = 203
	ViolinMarkerSymbol203                     ViolinMarkerSymbol = "203"
	ViolinMarkerSymbolCrossDot                ViolinMarkerSymbol = "cross-dot"
	ViolinMarkerSymbolNumber303               ViolinMarkerSymbol = 303
	ViolinMarkerSymbol303                     ViolinMarkerSymbol = "303"
	ViolinMarkerSymbolCrossOpenDot            ViolinMarkerSymbol = "cross-open-dot"
	ViolinMarkerSymbolNumber4                 ViolinMarkerSymbol = 4
	ViolinMarkerSymbol4                       ViolinMarkerSymbol = "4"
	ViolinMarkerSymbolX                       ViolinMarkerSymbol = "x"
	ViolinMarkerSymbolNumber104               ViolinMarkerSymbol = 104
	ViolinMarkerSymbol104                     ViolinMarkerSymbol = "104"
	ViolinMarkerSymbolXOpen                   ViolinMarkerSymbol = "x-open"
	ViolinMarkerSymbolNumber204               ViolinMarkerSymbol = 204
	ViolinMarkerSymbol204                     ViolinMarkerSymbol = "204"
	ViolinMarkerSymbolXDot                    ViolinMarkerSymbol = "x-dot"
	ViolinMarkerSymbolNumber304               ViolinMarkerSymbol = 304
	ViolinMarkerSymbol304                     ViolinMarkerSymbol = "304"
	ViolinMarkerSymbolXOpenDot                ViolinMarkerSymbol = "x-open-dot"
	ViolinMarkerSymbolNumber5                 ViolinMarkerSymbol = 5
	ViolinMarkerSymbol5                       ViolinMarkerSymbol = "5"
	ViolinMarkerSymbolTriangleUp              ViolinMarkerSymbol = "triangle-up"
	ViolinMarkerSymbolNumber105               ViolinMarkerSymbol = 105
	ViolinMarkerSymbol105                     ViolinMarkerSymbol = "105"
	ViolinMarkerSymbolTriangleUpOpen          ViolinMarkerSymbol = "triangle-up-open"
	ViolinMarkerSymbolNumber205               ViolinMarkerSymbol = 205
	ViolinMarkerSymbol205                     ViolinMarkerSymbol = "205"
	ViolinMarkerSymbolTriangleUpDot           ViolinMarkerSymbol = "triangle-up-dot"
	ViolinMarkerSymbolNumber305               ViolinMarkerSymbol = 305
	ViolinMarkerSymbol305                     ViolinMarkerSymbol = "305"
	ViolinMarkerSymbolTriangleUpOpenDot       ViolinMarkerSymbol = "triangle-up-open-dot"
	ViolinMarkerSymbolNumber6                 ViolinMarkerSymbol = 6
	ViolinMarkerSymbol6                       ViolinMarkerSymbol = "6"
	ViolinMarkerSymbolTriangleDown            ViolinMarkerSymbol = "triangle-down"
	ViolinMarkerSymbolNumber106               ViolinMarkerSymbol = 106
	ViolinMarkerSymbol106                     ViolinMarkerSymbol = "106"
	ViolinMarkerSymbolTriangleDownOpen        ViolinMarkerSymbol = "triangle-down-open"
	ViolinMarkerSymbolNumber206               ViolinMarkerSymbol = 206
	ViolinMarkerSymbol206                     ViolinMarkerSymbol = "206"
	ViolinMarkerSymbolTriangleDownDot         ViolinMarkerSymbol = "triangle-down-dot"
	ViolinMarkerSymbolNumber306               ViolinMarkerSymbol = 306
	ViolinMarkerSymbol306                     ViolinMarkerSymbol = "306"
	ViolinMarkerSymbolTriangleDownOpenDot     ViolinMarkerSymbol = "triangle-down-open-dot"
	ViolinMarkerSymbolNumber7                 ViolinMarkerSymbol = 7
	ViolinMarkerSymbol7                       ViolinMarkerSymbol = "7"
	ViolinMarkerSymbolTriangleLeft            ViolinMarkerSymbol = "triangle-left"
	ViolinMarkerSymbolNumber107               ViolinMarkerSymbol = 107
	ViolinMarkerSymbol107                     ViolinMarkerSymbol = "107"
	ViolinMarkerSymbolTriangleLeftOpen        ViolinMarkerSymbol = "triangle-left-open"
	ViolinMarkerSymbolNumber207               ViolinMarkerSymbol = 207
	ViolinMarkerSymbol207                     ViolinMarkerSymbol = "207"
	ViolinMarkerSymbolTriangleLeftDot         ViolinMarkerSymbol = "triangle-left-dot"
	ViolinMarkerSymbolNumber307               ViolinMarkerSymbol = 307
	ViolinMarkerSymbol307                     ViolinMarkerSymbol = "307"
	ViolinMarkerSymbolTriangleLeftOpenDot     ViolinMarkerSymbol = "triangle-left-open-dot"
	ViolinMarkerSymbolNumber8                 ViolinMarkerSymbol = 8
	ViolinMarkerSymbol8                       ViolinMarkerSymbol = "8"
	ViolinMarkerSymbolTriangleRight           ViolinMarkerSymbol = "triangle-right"
	ViolinMarkerSymbolNumber108               ViolinMarkerSymbol = 108
	ViolinMarkerSymbol108                     ViolinMarkerSymbol = "108"
	ViolinMarkerSymbolTriangleRightOpen       ViolinMarkerSymbol = "triangle-right-open"
	ViolinMarkerSymbolNumber208               ViolinMarkerSymbol = 208
	ViolinMarkerSymbol208                     ViolinMarkerSymbol = "208"
	ViolinMarkerSymbolTriangleRightDot        ViolinMarkerSymbol = "triangle-right-dot"
	ViolinMarkerSymbolNumber308               ViolinMarkerSymbol = 308
	ViolinMarkerSymbol308                     ViolinMarkerSymbol = "308"
	ViolinMarkerSymbolTriangleRightOpenDot    ViolinMarkerSymbol = "triangle-right-open-dot"
	ViolinMarkerSymbolNumber9                 ViolinMarkerSymbol = 9
	ViolinMarkerSymbol9                       ViolinMarkerSymbol = "9"
	ViolinMarkerSymbolTriangleNe              ViolinMarkerSymbol = "triangle-ne"
	ViolinMarkerSymbolNumber109               ViolinMarkerSymbol = 109
	ViolinMarkerSymbol109                     ViolinMarkerSymbol = "109"
	ViolinMarkerSymbolTriangleNeOpen          ViolinMarkerSymbol = "triangle-ne-open"
	ViolinMarkerSymbolNumber209               ViolinMarkerSymbol = 209
	ViolinMarkerSymbol209                     ViolinMarkerSymbol = "209"
	ViolinMarkerSymbolTriangleNeDot           ViolinMarkerSymbol = "triangle-ne-dot"
	ViolinMarkerSymbolNumber309               ViolinMarkerSymbol = 309
	ViolinMarkerSymbol309                     ViolinMarkerSymbol = "309"
	ViolinMarkerSymbolTriangleNeOpenDot       ViolinMarkerSymbol = "triangle-ne-open-dot"
	ViolinMarkerSymbolNumber10                ViolinMarkerSymbol = 10
	ViolinMarkerSymbol10                      ViolinMarkerSymbol = "10"
	ViolinMarkerSymbolTriangleSe              ViolinMarkerSymbol = "triangle-se"
	ViolinMarkerSymbolNumber110               ViolinMarkerSymbol = 110
	ViolinMarkerSymbol110                     ViolinMarkerSymbol = "110"
	ViolinMarkerSymbolTriangleSeOpen          ViolinMarkerSymbol = "triangle-se-open"
	ViolinMarkerSymbolNumber210               ViolinMarkerSymbol = 210
	ViolinMarkerSymbol210                     ViolinMarkerSymbol = "210"
	ViolinMarkerSymbolTriangleSeDot           ViolinMarkerSymbol = "triangle-se-dot"
	ViolinMarkerSymbolNumber310               ViolinMarkerSymbol = 310
	ViolinMarkerSymbol310                     ViolinMarkerSymbol = "310"
	ViolinMarkerSymbolTriangleSeOpenDot       ViolinMarkerSymbol = "triangle-se-open-dot"
	ViolinMarkerSymbolNumber11                ViolinMarkerSymbol = 11
	ViolinMarkerSymbol11                      ViolinMarkerSymbol = "11"
	ViolinMarkerSymbolTriangleSw              ViolinMarkerSymbol = "triangle-sw"
	ViolinMarkerSymbolNumber111               ViolinMarkerSymbol = 111
	ViolinMarkerSymbol111                     ViolinMarkerSymbol = "111"
	ViolinMarkerSymbolTriangleSwOpen          ViolinMarkerSymbol = "triangle-sw-open"
	ViolinMarkerSymbolNumber211               ViolinMarkerSymbol = 211
	ViolinMarkerSymbol211                     ViolinMarkerSymbol = "211"
	ViolinMarkerSymbolTriangleSwDot           ViolinMarkerSymbol = "triangle-sw-dot"
	ViolinMarkerSymbolNumber311               ViolinMarkerSymbol = 311
	ViolinMarkerSymbol311                     ViolinMarkerSymbol = "311"
	ViolinMarkerSymbolTriangleSwOpenDot       ViolinMarkerSymbol = "triangle-sw-open-dot"
	ViolinMarkerSymbolNumber12                ViolinMarkerSymbol = 12
	ViolinMarkerSymbol12                      ViolinMarkerSymbol = "12"
	ViolinMarkerSymbolTriangleNw              ViolinMarkerSymbol = "triangle-nw"
	ViolinMarkerSymbolNumber112               ViolinMarkerSymbol = 112
	ViolinMarkerSymbol112                     ViolinMarkerSymbol = "112"
	ViolinMarkerSymbolTriangleNwOpen          ViolinMarkerSymbol = "triangle-nw-open"
	ViolinMarkerSymbolNumber212               ViolinMarkerSymbol = 212
	ViolinMarkerSymbol212                     ViolinMarkerSymbol = "212"
	ViolinMarkerSymbolTriangleNwDot           ViolinMarkerSymbol = "triangle-nw-dot"
	ViolinMarkerSymbolNumber312               ViolinMarkerSymbol = 312
	ViolinMarkerSymbol312                     ViolinMarkerSymbol = "312"
	ViolinMarkerSymbolTriangleNwOpenDot       ViolinMarkerSymbol = "triangle-nw-open-dot"
	ViolinMarkerSymbolNumber13                ViolinMarkerSymbol = 13
	ViolinMarkerSymbol13                      ViolinMarkerSymbol = "13"
	ViolinMarkerSymbolPentagon                ViolinMarkerSymbol = "pentagon"
	ViolinMarkerSymbolNumber113               ViolinMarkerSymbol = 113
	ViolinMarkerSymbol113                     ViolinMarkerSymbol = "113"
	ViolinMarkerSymbolPentagonOpen            ViolinMarkerSymbol = "pentagon-open"
	ViolinMarkerSymbolNumber213               ViolinMarkerSymbol = 213
	ViolinMarkerSymbol213                     ViolinMarkerSymbol = "213"
	ViolinMarkerSymbolPentagonDot             ViolinMarkerSymbol = "pentagon-dot"
	ViolinMarkerSymbolNumber313               ViolinMarkerSymbol = 313
	ViolinMarkerSymbol313                     ViolinMarkerSymbol = "313"
	ViolinMarkerSymbolPentagonOpenDot         ViolinMarkerSymbol = "pentagon-open-dot"
	ViolinMarkerSymbolNumber14                ViolinMarkerSymbol = 14
	ViolinMarkerSymbol14                      ViolinMarkerSymbol = "14"
	ViolinMarkerSymbolHexagon                 ViolinMarkerSymbol = "hexagon"
	ViolinMarkerSymbolNumber114               ViolinMarkerSymbol = 114
	ViolinMarkerSymbol114                     ViolinMarkerSymbol = "114"
	ViolinMarkerSymbolHexagonOpen             ViolinMarkerSymbol = "hexagon-open"
	ViolinMarkerSymbolNumber214               ViolinMarkerSymbol = 214
	ViolinMarkerSymbol214                     ViolinMarkerSymbol = "214"
	ViolinMarkerSymbolHexagonDot              ViolinMarkerSymbol = "hexagon-dot"
	ViolinMarkerSymbolNumber314               ViolinMarkerSymbol = 314
	ViolinMarkerSymbol314                     ViolinMarkerSymbol = "314"
	ViolinMarkerSymbolHexagonOpenDot          ViolinMarkerSymbol = "hexagon-open-dot"
	ViolinMarkerSymbolNumber15                ViolinMarkerSymbol = 15
	ViolinMarkerSymbol15                      ViolinMarkerSymbol = "15"
	ViolinMarkerSymbolHexagon2                ViolinMarkerSymbol = "hexagon2"
	ViolinMarkerSymbolNumber115               ViolinMarkerSymbol = 115
	ViolinMarkerSymbol115                     ViolinMarkerSymbol = "115"
	ViolinMarkerSymbolHexagon2Open            ViolinMarkerSymbol = "hexagon2-open"
	ViolinMarkerSymbolNumber215               ViolinMarkerSymbol = 215
	ViolinMarkerSymbol215                     ViolinMarkerSymbol = "215"
	ViolinMarkerSymbolHexagon2Dot             ViolinMarkerSymbol = "hexagon2-dot"
	ViolinMarkerSymbolNumber315               ViolinMarkerSymbol = 315
	ViolinMarkerSymbol315                     ViolinMarkerSymbol = "315"
	ViolinMarkerSymbolHexagon2OpenDot         ViolinMarkerSymbol = "hexagon2-open-dot"
	ViolinMarkerSymbolNumber16                ViolinMarkerSymbol = 16
	ViolinMarkerSymbol16                      ViolinMarkerSymbol = "16"
	ViolinMarkerSymbolOctagon                 ViolinMarkerSymbol = "octagon"
	ViolinMarkerSymbolNumber116               ViolinMarkerSymbol = 116
	ViolinMarkerSymbol116                     ViolinMarkerSymbol = "116"
	ViolinMarkerSymbolOctagonOpen             ViolinMarkerSymbol = "octagon-open"
	ViolinMarkerSymbolNumber216               ViolinMarkerSymbol = 216
	ViolinMarkerSymbol216                     ViolinMarkerSymbol = "216"
	ViolinMarkerSymbolOctagonDot              ViolinMarkerSymbol = "octagon-dot"
	ViolinMarkerSymbolNumber316               ViolinMarkerSymbol = 316
	ViolinMarkerSymbol316                     ViolinMarkerSymbol = "316"
	ViolinMarkerSymbolOctagonOpenDot          ViolinMarkerSymbol = "octagon-open-dot"
	ViolinMarkerSymbolNumber17                ViolinMarkerSymbol = 17
	ViolinMarkerSymbol17                      ViolinMarkerSymbol = "17"
	ViolinMarkerSymbolStar                    ViolinMarkerSymbol = "star"
	ViolinMarkerSymbolNumber117               ViolinMarkerSymbol = 117
	ViolinMarkerSymbol117                     ViolinMarkerSymbol = "117"
	ViolinMarkerSymbolStarOpen                ViolinMarkerSymbol = "star-open"
	ViolinMarkerSymbolNumber217               ViolinMarkerSymbol = 217
	ViolinMarkerSymbol217                     ViolinMarkerSymbol = "217"
	ViolinMarkerSymbolStarDot                 ViolinMarkerSymbol = "star-dot"
	ViolinMarkerSymbolNumber317               ViolinMarkerSymbol = 317
	ViolinMarkerSymbol317                     ViolinMarkerSymbol = "317"
	ViolinMarkerSymbolStarOpenDot             ViolinMarkerSymbol = "star-open-dot"
	ViolinMarkerSymbolNumber18                ViolinMarkerSymbol = 18
	ViolinMarkerSymbol18                      ViolinMarkerSymbol = "18"
	ViolinMarkerSymbolHexagram                ViolinMarkerSymbol = "hexagram"
	ViolinMarkerSymbolNumber118               ViolinMarkerSymbol = 118
	ViolinMarkerSymbol118                     ViolinMarkerSymbol = "118"
	ViolinMarkerSymbolHexagramOpen            ViolinMarkerSymbol = "hexagram-open"
	ViolinMarkerSymbolNumber218               ViolinMarkerSymbol = 218
	ViolinMarkerSymbol218                     ViolinMarkerSymbol = "218"
	ViolinMarkerSymbolHexagramDot             ViolinMarkerSymbol = "hexagram-dot"
	ViolinMarkerSymbolNumber318               ViolinMarkerSymbol = 318
	ViolinMarkerSymbol318                     ViolinMarkerSymbol = "318"
	ViolinMarkerSymbolHexagramOpenDot         ViolinMarkerSymbol = "hexagram-open-dot"
	ViolinMarkerSymbolNumber19                ViolinMarkerSymbol = 19
	ViolinMarkerSymbol19                      ViolinMarkerSymbol = "19"
	ViolinMarkerSymbolStarTriangleUp          ViolinMarkerSymbol = "star-triangle-up"
	ViolinMarkerSymbolNumber119               ViolinMarkerSymbol = 119
	ViolinMarkerSymbol119                     ViolinMarkerSymbol = "119"
	ViolinMarkerSymbolStarTriangleUpOpen      ViolinMarkerSymbol = "star-triangle-up-open"
	ViolinMarkerSymbolNumber219               ViolinMarkerSymbol = 219
	ViolinMarkerSymbol219                     ViolinMarkerSymbol = "219"
	ViolinMarkerSymbolStarTriangleUpDot       ViolinMarkerSymbol = "star-triangle-up-dot"
	ViolinMarkerSymbolNumber319               ViolinMarkerSymbol = 319
	ViolinMarkerSymbol319                     ViolinMarkerSymbol = "319"
	ViolinMarkerSymbolStarTriangleUpOpenDot   ViolinMarkerSymbol = "star-triangle-up-open-dot"
	ViolinMarkerSymbolNumber20                ViolinMarkerSymbol = 20
	ViolinMarkerSymbol20                      ViolinMarkerSymbol = "20"
	ViolinMarkerSymbolStarTriangleDown        ViolinMarkerSymbol = "star-triangle-down"
	ViolinMarkerSymbolNumber120               ViolinMarkerSymbol = 120
	ViolinMarkerSymbol120                     ViolinMarkerSymbol = "120"
	ViolinMarkerSymbolStarTriangleDownOpen    ViolinMarkerSymbol = "star-triangle-down-open"
	ViolinMarkerSymbolNumber220               ViolinMarkerSymbol = 220
	ViolinMarkerSymbol220                     ViolinMarkerSymbol = "220"
	ViolinMarkerSymbolStarTriangleDownDot     ViolinMarkerSymbol = "star-triangle-down-dot"
	ViolinMarkerSymbolNumber320               ViolinMarkerSymbol = 320
	ViolinMarkerSymbol320                     ViolinMarkerSymbol = "320"
	ViolinMarkerSymbolStarTriangleDownOpenDot ViolinMarkerSymbol = "star-triangle-down-open-dot"
	ViolinMarkerSymbolNumber21                ViolinMarkerSymbol = 21
	ViolinMarkerSymbol21                      ViolinMarkerSymbol = "21"
	ViolinMarkerSymbolStarSquare              ViolinMarkerSymbol = "star-square"
	ViolinMarkerSymbolNumber121               ViolinMarkerSymbol = 121
	ViolinMarkerSymbol121                     ViolinMarkerSymbol = "121"
	ViolinMarkerSymbolStarSquareOpen          ViolinMarkerSymbol = "star-square-open"
	ViolinMarkerSymbolNumber221               ViolinMarkerSymbol = 221
	ViolinMarkerSymbol221                     ViolinMarkerSymbol = "221"
	ViolinMarkerSymbolStarSquareDot           ViolinMarkerSymbol = "star-square-dot"
	ViolinMarkerSymbolNumber321               ViolinMarkerSymbol = 321
	ViolinMarkerSymbol321                     ViolinMarkerSymbol = "321"
	ViolinMarkerSymbolStarSquareOpenDot       ViolinMarkerSymbol = "star-square-open-dot"
	ViolinMarkerSymbolNumber22                ViolinMarkerSymbol = 22
	ViolinMarkerSymbol22                      ViolinMarkerSymbol = "22"
	ViolinMarkerSymbolStarDiamond             ViolinMarkerSymbol = "star-diamond"
	ViolinMarkerSymbolNumber122               ViolinMarkerSymbol = 122
	ViolinMarkerSymbol122                     ViolinMarkerSymbol = "122"
	ViolinMarkerSymbolStarDiamondOpen         ViolinMarkerSymbol = "star-diamond-open"
	ViolinMarkerSymbolNumber222               ViolinMarkerSymbol = 222
	ViolinMarkerSymbol222                     ViolinMarkerSymbol = "222"
	ViolinMarkerSymbolStarDiamondDot          ViolinMarkerSymbol = "star-diamond-dot"
	ViolinMarkerSymbolNumber322               ViolinMarkerSymbol = 322
	ViolinMarkerSymbol322                     ViolinMarkerSymbol = "322"
	ViolinMarkerSymbolStarDiamondOpenDot      ViolinMarkerSymbol = "star-diamond-open-dot"
	ViolinMarkerSymbolNumber23                ViolinMarkerSymbol = 23
	ViolinMarkerSymbol23                      ViolinMarkerSymbol = "23"
	ViolinMarkerSymbolDiamondTall             ViolinMarkerSymbol = "diamond-tall"
	ViolinMarkerSymbolNumber123               ViolinMarkerSymbol = 123
	ViolinMarkerSymbol123                     ViolinMarkerSymbol = "123"
	ViolinMarkerSymbolDiamondTallOpen         ViolinMarkerSymbol = "diamond-tall-open"
	ViolinMarkerSymbolNumber223               ViolinMarkerSymbol = 223
	ViolinMarkerSymbol223                     ViolinMarkerSymbol = "223"
	ViolinMarkerSymbolDiamondTallDot          ViolinMarkerSymbol = "diamond-tall-dot"
	ViolinMarkerSymbolNumber323               ViolinMarkerSymbol = 323
	ViolinMarkerSymbol323                     ViolinMarkerSymbol = "323"
	ViolinMarkerSymbolDiamondTallOpenDot      ViolinMarkerSymbol = "diamond-tall-open-dot"
	ViolinMarkerSymbolNumber24                ViolinMarkerSymbol = 24
	ViolinMarkerSymbol24                      ViolinMarkerSymbol = "24"
	ViolinMarkerSymbolDiamondWide             ViolinMarkerSymbol = "diamond-wide"
	ViolinMarkerSymbolNumber124               ViolinMarkerSymbol = 124
	ViolinMarkerSymbol124                     ViolinMarkerSymbol = "124"
	ViolinMarkerSymbolDiamondWideOpen         ViolinMarkerSymbol = "diamond-wide-open"
	ViolinMarkerSymbolNumber224               ViolinMarkerSymbol = 224
	ViolinMarkerSymbol224                     ViolinMarkerSymbol = "224"
	ViolinMarkerSymbolDiamondWideDot          ViolinMarkerSymbol = "diamond-wide-dot"
	ViolinMarkerSymbolNumber324               ViolinMarkerSymbol = 324
	ViolinMarkerSymbol324                     ViolinMarkerSymbol = "324"
	ViolinMarkerSymbolDiamondWideOpenDot      ViolinMarkerSymbol = "diamond-wide-open-dot"
	ViolinMarkerSymbolNumber25                ViolinMarkerSymbol = 25
	ViolinMarkerSymbol25                      ViolinMarkerSymbol = "25"
	ViolinMarkerSymbolHourglass               ViolinMarkerSymbol = "hourglass"
	ViolinMarkerSymbolNumber125               ViolinMarkerSymbol = 125
	ViolinMarkerSymbol125                     ViolinMarkerSymbol = "125"
	ViolinMarkerSymbolHourglassOpen           ViolinMarkerSymbol = "hourglass-open"
	ViolinMarkerSymbolNumber26                ViolinMarkerSymbol = 26
	ViolinMarkerSymbol26                      ViolinMarkerSymbol = "26"
	ViolinMarkerSymbolBowtie                  ViolinMarkerSymbol = "bowtie"
	ViolinMarkerSymbolNumber126               ViolinMarkerSymbol = 126
	ViolinMarkerSymbol126                     ViolinMarkerSymbol = "126"
	ViolinMarkerSymbolBowtieOpen              ViolinMarkerSymbol = "bowtie-open"
	ViolinMarkerSymbolNumber27                ViolinMarkerSymbol = 27
	ViolinMarkerSymbol27                      ViolinMarkerSymbol = "27"
	ViolinMarkerSymbolCircleCross             ViolinMarkerSymbol = "circle-cross"
	ViolinMarkerSymbolNumber127               ViolinMarkerSymbol = 127
	ViolinMarkerSymbol127                     ViolinMarkerSymbol = "127"
	ViolinMarkerSymbolCircleCrossOpen         ViolinMarkerSymbol = "circle-cross-open"
	ViolinMarkerSymbolNumber28                ViolinMarkerSymbol = 28
	ViolinMarkerSymbol28                      ViolinMarkerSymbol = "28"
	ViolinMarkerSymbolCircleX                 ViolinMarkerSymbol = "circle-x"
	ViolinMarkerSymbolNumber128               ViolinMarkerSymbol = 128
	ViolinMarkerSymbol128                     ViolinMarkerSymbol = "128"
	ViolinMarkerSymbolCircleXOpen             ViolinMarkerSymbol = "circle-x-open"
	ViolinMarkerSymbolNumber29                ViolinMarkerSymbol = 29
	ViolinMarkerSymbol29                      ViolinMarkerSymbol = "29"
	ViolinMarkerSymbolSquareCross             ViolinMarkerSymbol = "square-cross"
	ViolinMarkerSymbolNumber129               ViolinMarkerSymbol = 129
	ViolinMarkerSymbol129                     ViolinMarkerSymbol = "129"
	ViolinMarkerSymbolSquareCrossOpen         ViolinMarkerSymbol = "square-cross-open"
	ViolinMarkerSymbolNumber30                ViolinMarkerSymbol = 30
	ViolinMarkerSymbol30                      ViolinMarkerSymbol = "30"
	ViolinMarkerSymbolSquareX                 ViolinMarkerSymbol = "square-x"
	ViolinMarkerSymbolNumber130               ViolinMarkerSymbol = 130
	ViolinMarkerSymbol130                     ViolinMarkerSymbol = "130"
	ViolinMarkerSymbolSquareXOpen             ViolinMarkerSymbol = "square-x-open"
	ViolinMarkerSymbolNumber31                ViolinMarkerSymbol = 31
	ViolinMarkerSymbol31                      ViolinMarkerSymbol = "31"
	ViolinMarkerSymbolDiamondCross            ViolinMarkerSymbol = "diamond-cross"
	ViolinMarkerSymbolNumber131               ViolinMarkerSymbol = 131
	ViolinMarkerSymbol131                     ViolinMarkerSymbol = "131"
	ViolinMarkerSymbolDiamondCrossOpen        ViolinMarkerSymbol = "diamond-cross-open"
	ViolinMarkerSymbolNumber32                ViolinMarkerSymbol = 32
	ViolinMarkerSymbol32                      ViolinMarkerSymbol = "32"
	ViolinMarkerSymbolDiamondX                ViolinMarkerSymbol = "diamond-x"
	ViolinMarkerSymbolNumber132               ViolinMarkerSymbol = 132
	ViolinMarkerSymbol132                     ViolinMarkerSymbol = "132"
	ViolinMarkerSymbolDiamondXOpen            ViolinMarkerSymbol = "diamond-x-open"
	ViolinMarkerSymbolNumber33                ViolinMarkerSymbol = 33
	ViolinMarkerSymbol33                      ViolinMarkerSymbol = "33"
	ViolinMarkerSymbolCrossThin               ViolinMarkerSymbol = "cross-thin"
	ViolinMarkerSymbolNumber133               ViolinMarkerSymbol = 133
	ViolinMarkerSymbol133                     ViolinMarkerSymbol = "133"
	ViolinMarkerSymbolCrossThinOpen           ViolinMarkerSymbol = "cross-thin-open"
	ViolinMarkerSymbolNumber34                ViolinMarkerSymbol = 34
	ViolinMarkerSymbol34                      ViolinMarkerSymbol = "34"
	ViolinMarkerSymbolXThin                   ViolinMarkerSymbol = "x-thin"
	ViolinMarkerSymbolNumber134               ViolinMarkerSymbol = 134
	ViolinMarkerSymbol134                     ViolinMarkerSymbol = "134"
	ViolinMarkerSymbolXThinOpen               ViolinMarkerSymbol = "x-thin-open"
	ViolinMarkerSymbolNumber35                ViolinMarkerSymbol = 35
	ViolinMarkerSymbol35                      ViolinMarkerSymbol = "35"
	ViolinMarkerSymbolAsterisk                ViolinMarkerSymbol = "asterisk"
	ViolinMarkerSymbolNumber135               ViolinMarkerSymbol = 135
	ViolinMarkerSymbol135                     ViolinMarkerSymbol = "135"
	ViolinMarkerSymbolAsteriskOpen            ViolinMarkerSymbol = "asterisk-open"
	ViolinMarkerSymbolNumber36                ViolinMarkerSymbol = 36
	ViolinMarkerSymbol36                      ViolinMarkerSymbol = "36"
	ViolinMarkerSymbolHash                    ViolinMarkerSymbol = "hash"
	ViolinMarkerSymbolNumber136               ViolinMarkerSymbol = 136
	ViolinMarkerSymbol136                     ViolinMarkerSymbol = "136"
	ViolinMarkerSymbolHashOpen                ViolinMarkerSymbol = "hash-open"
	ViolinMarkerSymbolNumber236               ViolinMarkerSymbol = 236
	ViolinMarkerSymbol236                     ViolinMarkerSymbol = "236"
	ViolinMarkerSymbolHashDot                 ViolinMarkerSymbol = "hash-dot"
	ViolinMarkerSymbolNumber336               ViolinMarkerSymbol = 336
	ViolinMarkerSymbol336                     ViolinMarkerSymbol = "336"
	ViolinMarkerSymbolHashOpenDot             ViolinMarkerSymbol = "hash-open-dot"
	ViolinMarkerSymbolNumber37                ViolinMarkerSymbol = 37
	ViolinMarkerSymbol37                      ViolinMarkerSymbol = "37"
	ViolinMarkerSymbolYUp                     ViolinMarkerSymbol = "y-up"
	ViolinMarkerSymbolNumber137               ViolinMarkerSymbol = 137
	ViolinMarkerSymbol137                     ViolinMarkerSymbol = "137"
	ViolinMarkerSymbolYUpOpen                 ViolinMarkerSymbol = "y-up-open"
	ViolinMarkerSymbolNumber38                ViolinMarkerSymbol = 38
	ViolinMarkerSymbol38                      ViolinMarkerSymbol = "38"
	ViolinMarkerSymbolYDown                   ViolinMarkerSymbol = "y-down"
	ViolinMarkerSymbolNumber138               ViolinMarkerSymbol = 138
	ViolinMarkerSymbol138                     ViolinMarkerSymbol = "138"
	ViolinMarkerSymbolYDownOpen               ViolinMarkerSymbol = "y-down-open"
	ViolinMarkerSymbolNumber39                ViolinMarkerSymbol = 39
	ViolinMarkerSymbol39                      ViolinMarkerSymbol = "39"
	ViolinMarkerSymbolYLeft                   ViolinMarkerSymbol = "y-left"
	ViolinMarkerSymbolNumber139               ViolinMarkerSymbol = 139
	ViolinMarkerSymbol139                     ViolinMarkerSymbol = "139"
	ViolinMarkerSymbolYLeftOpen               ViolinMarkerSymbol = "y-left-open"
	ViolinMarkerSymbolNumber40                ViolinMarkerSymbol = 40
	ViolinMarkerSymbol40                      ViolinMarkerSymbol = "40"
	ViolinMarkerSymbolYRight                  ViolinMarkerSymbol = "y-right"
	ViolinMarkerSymbolNumber140               ViolinMarkerSymbol = 140
	ViolinMarkerSymbol140                     ViolinMarkerSymbol = "140"
	ViolinMarkerSymbolYRightOpen              ViolinMarkerSymbol = "y-right-open"
	ViolinMarkerSymbolNumber41                ViolinMarkerSymbol = 41
	ViolinMarkerSymbol41                      ViolinMarkerSymbol = "41"
	ViolinMarkerSymbolLineEw                  ViolinMarkerSymbol = "line-ew"
	ViolinMarkerSymbolNumber141               ViolinMarkerSymbol = 141
	ViolinMarkerSymbol141                     ViolinMarkerSymbol = "141"
	ViolinMarkerSymbolLineEwOpen              ViolinMarkerSymbol = "line-ew-open"
	ViolinMarkerSymbolNumber42                ViolinMarkerSymbol = 42
	ViolinMarkerSymbol42                      ViolinMarkerSymbol = "42"
	ViolinMarkerSymbolLineNs                  ViolinMarkerSymbol = "line-ns"
	ViolinMarkerSymbolNumber142               ViolinMarkerSymbol = 142
	ViolinMarkerSymbol142                     ViolinMarkerSymbol = "142"
	ViolinMarkerSymbolLineNsOpen              ViolinMarkerSymbol = "line-ns-open"
	ViolinMarkerSymbolNumber43                ViolinMarkerSymbol = 43
	ViolinMarkerSymbol43                      ViolinMarkerSymbol = "43"
	ViolinMarkerSymbolLineNe                  ViolinMarkerSymbol = "line-ne"
	ViolinMarkerSymbolNumber143               ViolinMarkerSymbol = 143
	ViolinMarkerSymbol143                     ViolinMarkerSymbol = "143"
	ViolinMarkerSymbolLineNeOpen              ViolinMarkerSymbol = "line-ne-open"
	ViolinMarkerSymbolNumber44                ViolinMarkerSymbol = 44
	ViolinMarkerSymbol44                      ViolinMarkerSymbol = "44"
	ViolinMarkerSymbolLineNw                  ViolinMarkerSymbol = "line-nw"
	ViolinMarkerSymbolNumber144               ViolinMarkerSymbol = 144
	ViolinMarkerSymbol144                     ViolinMarkerSymbol = "144"
	ViolinMarkerSymbolLineNwOpen              ViolinMarkerSymbol = "line-nw-open"
	ViolinMarkerSymbolNumber45                ViolinMarkerSymbol = 45
	ViolinMarkerSymbol45                      ViolinMarkerSymbol = "45"
	ViolinMarkerSymbolArrowUp                 ViolinMarkerSymbol = "arrow-up"
	ViolinMarkerSymbolNumber145               ViolinMarkerSymbol = 145
	ViolinMarkerSymbol145                     ViolinMarkerSymbol = "145"
	ViolinMarkerSymbolArrowUpOpen             ViolinMarkerSymbol = "arrow-up-open"
	ViolinMarkerSymbolNumber46                ViolinMarkerSymbol = 46
	ViolinMarkerSymbol46                      ViolinMarkerSymbol = "46"
	ViolinMarkerSymbolArrowDown               ViolinMarkerSymbol = "arrow-down"
	ViolinMarkerSymbolNumber146               ViolinMarkerSymbol = 146
	ViolinMarkerSymbol146                     ViolinMarkerSymbol = "146"
	ViolinMarkerSymbolArrowDownOpen           ViolinMarkerSymbol = "arrow-down-open"
	ViolinMarkerSymbolNumber47                ViolinMarkerSymbol = 47
	ViolinMarkerSymbol47                      ViolinMarkerSymbol = "47"
	ViolinMarkerSymbolArrowLeft               ViolinMarkerSymbol = "arrow-left"
	ViolinMarkerSymbolNumber147               ViolinMarkerSymbol = 147
	ViolinMarkerSymbol147                     ViolinMarkerSymbol = "147"
	ViolinMarkerSymbolArrowLeftOpen           ViolinMarkerSymbol = "arrow-left-open"
	ViolinMarkerSymbolNumber48                ViolinMarkerSymbol = 48
	ViolinMarkerSymbol48                      ViolinMarkerSymbol = "48"
	ViolinMarkerSymbolArrowRight              ViolinMarkerSymbol = "arrow-right"
	ViolinMarkerSymbolNumber148               ViolinMarkerSymbol = 148
	ViolinMarkerSymbol148                     ViolinMarkerSymbol = "148"
	ViolinMarkerSymbolArrowRightOpen          ViolinMarkerSymbol = "arrow-right-open"
	ViolinMarkerSymbolNumber49                ViolinMarkerSymbol = 49
	ViolinMarkerSymbol49                      ViolinMarkerSymbol = "49"
	ViolinMarkerSymbolArrowBarUp              ViolinMarkerSymbol = "arrow-bar-up"
	ViolinMarkerSymbolNumber149               ViolinMarkerSymbol = 149
	ViolinMarkerSymbol149                     ViolinMarkerSymbol = "149"
	ViolinMarkerSymbolArrowBarUpOpen          ViolinMarkerSymbol = "arrow-bar-up-open"
	ViolinMarkerSymbolNumber50                ViolinMarkerSymbol = 50
	ViolinMarkerSymbol50                      ViolinMarkerSymbol = "50"
	ViolinMarkerSymbolArrowBarDown            ViolinMarkerSymbol = "arrow-bar-down"
	ViolinMarkerSymbolNumber150               ViolinMarkerSymbol = 150
	ViolinMarkerSymbol150                     ViolinMarkerSymbol = "150"
	ViolinMarkerSymbolArrowBarDownOpen        ViolinMarkerSymbol = "arrow-bar-down-open"
	ViolinMarkerSymbolNumber51                ViolinMarkerSymbol = 51
	ViolinMarkerSymbol51                      ViolinMarkerSymbol = "51"
	ViolinMarkerSymbolArrowBarLeft            ViolinMarkerSymbol = "arrow-bar-left"
	ViolinMarkerSymbolNumber151               ViolinMarkerSymbol = 151
	ViolinMarkerSymbol151                     ViolinMarkerSymbol = "151"
	ViolinMarkerSymbolArrowBarLeftOpen        ViolinMarkerSymbol = "arrow-bar-left-open"
	ViolinMarkerSymbolNumber52                ViolinMarkerSymbol = 52
	ViolinMarkerSymbol52                      ViolinMarkerSymbol = "52"
	ViolinMarkerSymbolArrowBarRight           ViolinMarkerSymbol = "arrow-bar-right"
	ViolinMarkerSymbolNumber152               ViolinMarkerSymbol = 152
	ViolinMarkerSymbol152                     ViolinMarkerSymbol = "152"
	ViolinMarkerSymbolArrowBarRightOpen       ViolinMarkerSymbol = "arrow-bar-right-open"
)

type ViolinMeanline

type ViolinMeanline struct {

	// Color
	// arrayOK: false
	// type: color
	// Sets the mean line color.
	Color Color `json:"color,omitempty"`

	// Visible
	// arrayOK: false
	// type: boolean
	// Determines if a line corresponding to the sample's mean is shown inside the violins. If `box.visible` is turned on, the mean line is drawn inside the inner box. Otherwise, the mean line is drawn from one side of the violin to other.
	Visible Bool `json:"visible,omitempty"`

	// Width
	// arrayOK: false
	// type: number
	// Sets the mean line width.
	Width float64 `json:"width,omitempty"`
}

ViolinMeanline

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 (
	ViolinOrientationV ViolinOrientation = "v"
	ViolinOrientationH 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 (
	ViolinPointsAll               ViolinPoints = "all"
	ViolinPointsOutliers          ViolinPoints = "outliers"
	ViolinPointsSuspectedoutliers ViolinPoints = "suspectedoutliers"
	ViolinPointsFalse             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 (
	ViolinScalemodeWidth ViolinScalemode = "width"
	ViolinScalemodeCount ViolinScalemode = "count"
)

type ViolinSelected

type ViolinSelected struct {

	// Marker
	// role: Object
	Marker *ViolinSelectedMarker `json:"marker,omitempty"`
}

ViolinSelected

type ViolinSelectedMarker

type ViolinSelectedMarker struct {

	// Color
	// arrayOK: false
	// type: color
	// Sets the marker color of selected points.
	Color Color `json:"color,omitempty"`

	// Opacity
	// arrayOK: false
	// type: number
	// Sets the marker opacity of selected points.
	Opacity float64 `json:"opacity,omitempty"`

	// Size
	// arrayOK: false
	// type: number
	// Sets the marker size of selected points.
	Size float64 `json:"size,omitempty"`
}

ViolinSelectedMarker

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 (
	ViolinSideBoth     ViolinSide = "both"
	ViolinSidePositive ViolinSide = "positive"
	ViolinSideNegative 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 (
	ViolinSpanmodeSoft   ViolinSpanmode = "soft"
	ViolinSpanmodeHard   ViolinSpanmode = "hard"
	ViolinSpanmodeManual ViolinSpanmode = "manual"
)

type ViolinStream

type ViolinStream struct {

	// Maxpoints
	// arrayOK: false
	// type: number
	// Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot.
	Maxpoints float64 `json:"maxpoints,omitempty"`

	// Token
	// arrayOK: false
	// type: string
	// The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details.
	Token String `json:"token,omitempty"`
}

ViolinStream

type ViolinUnselected

type ViolinUnselected struct {

	// Marker
	// role: Object
	Marker *ViolinUnselectedMarker `json:"marker,omitempty"`
}

ViolinUnselected

type ViolinUnselectedMarker

type ViolinUnselectedMarker struct {

	// Color
	// arrayOK: false
	// type: color
	// Sets the marker color of unselected points, applied only when a selection exists.
	Color Color `json:"color,omitempty"`

	// Opacity
	// arrayOK: false
	// type: number
	// Sets the marker opacity of unselected points, applied only when a selection exists.
	Opacity float64 `json:"opacity,omitempty"`

	// Size
	// arrayOK: false
	// type: number
	// Sets the marker size of unselected points, applied only when a selection exists.
	Size float64 `json:"size,omitempty"`
}

ViolinUnselectedMarker

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 (
	ViolinVisibleTrue       ViolinVisible = true
	ViolinVisibleFalse      ViolinVisible = false
	ViolinVisibleLegendonly ViolinVisible = "legendonly"
)

type Volume

type Volume struct {

	// Type
	// is the type of the plot
	Type TraceType `json:"type,omitempty"`

	// Autocolorscale
	// arrayOK: false
	// type: boolean
	// Determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by `colorscale`. In case `colorscale` is unspecified or `autocolorscale` is true, the default  palette will be chosen according to whether numbers in the `color` array are all positive, all negative or mixed.
	Autocolorscale Bool `json:"autocolorscale,omitempty"`

	// Caps
	// role: Object
	Caps *VolumeCaps `json:"caps,omitempty"`

	// Cauto
	// arrayOK: false
	// type: boolean
	// Determines whether or not the color domain is computed with respect to the input data (here `value`) or the bounds set in `cmin` and `cmax`  Defaults to `false` when `cmin` and `cmax` are set by the user.
	Cauto Bool `json:"cauto,omitempty"`

	// Cmax
	// arrayOK: false
	// type: number
	// Sets the upper bound of the color domain. Value should have the same units as `value` and if set, `cmin` must be set as well.
	Cmax float64 `json:"cmax,omitempty"`

	// Cmid
	// arrayOK: false
	// type: number
	// Sets the mid-point of the color domain by scaling `cmin` and/or `cmax` to be equidistant to this point. Value should have the same units as `value`. Has no effect when `cauto` is `false`.
	Cmid float64 `json:"cmid,omitempty"`

	// Cmin
	// arrayOK: false
	// type: number
	// Sets the lower bound of the color domain. Value should have the same units as `value` and if set, `cmax` must be set as well.
	Cmin float64 `json:"cmin,omitempty"`

	// Coloraxis
	// arrayOK: false
	// type: subplotid
	// Sets a reference to a shared color axis. References to these shared color axes are *coloraxis*, *coloraxis2*, *coloraxis3*, etc. Settings for these shared color axes are set in the layout, under `layout.coloraxis`, `layout.coloraxis2`, etc. Note that multiple color scales can be linked to the same color axis.
	Coloraxis String `json:"coloraxis,omitempty"`

	// Colorbar
	// role: Object
	Colorbar *VolumeColorbar `json:"colorbar,omitempty"`

	// Colorscale
	// default: %!s(<nil>)
	// type: colorscale
	// Sets the colorscale. The colorscale must be an array containing arrays mapping a normalized value to an rgb, rgba, hex, hsl, hsv, or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, use`cmin` and `cmax`. Alternatively, `colorscale` may be a palette name string of the following list: Greys,YlGnBu,Greens,YlOrRd,Bluered,RdBu,Reds,Blues,Picnic,Rainbow,Portland,Jet,Hot,Blackbody,Earth,Electric,Viridis,Cividis.
	Colorscale ColorScale `json:"colorscale,omitempty"`

	// Contour
	// role: Object
	Contour *VolumeContour `json:"contour,omitempty"`

	// Customdata
	// arrayOK: false
	// type: data_array
	// Assigns extra data each datum. This may be useful when listening to hover, click and selection events. Note that, *scatter* traces also appends customdata items in the markers DOM elements
	Customdata interface{} `json:"customdata,omitempty"`

	// Customdatasrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  customdata .
	Customdatasrc String `json:"customdatasrc,omitempty"`

	// Flatshading
	// arrayOK: false
	// type: boolean
	// Determines whether or not normal smoothing is applied to the meshes, creating meshes with an angular, low-poly look via flat reflections.
	Flatshading Bool `json:"flatshading,omitempty"`

	// Hoverinfo
	// default: all
	// type: flaglist
	// Determines which trace information appear on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired.
	Hoverinfo VolumeHoverinfo `json:"hoverinfo,omitempty"`

	// Hoverinfosrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  hoverinfo .
	Hoverinfosrc String `json:"hoverinfosrc,omitempty"`

	// Hoverlabel
	// role: Object
	Hoverlabel *VolumeHoverlabel `json:"hoverlabel,omitempty"`

	// Hovertemplate
	// arrayOK: true
	// type: string
	// Template string used for rendering the information that appear on hover box. Note that this will override `hoverinfo`. Variables are inserted using %{variable}, for example "y: %{y}". 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 String `json:"hovertemplate,omitempty"`

	// Hovertemplatesrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  hovertemplate .
	Hovertemplatesrc String `json:"hovertemplatesrc,omitempty"`

	// Hovertext
	// arrayOK: true
	// type: string
	// Same as `text`.
	Hovertext String `json:"hovertext,omitempty"`

	// Hovertextsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  hovertext .
	Hovertextsrc String `json:"hovertextsrc,omitempty"`

	// Ids
	// arrayOK: false
	// type: data_array
	// Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type.
	Ids interface{} `json:"ids,omitempty"`

	// Idssrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  ids .
	Idssrc String `json:"idssrc,omitempty"`

	// Isomax
	// arrayOK: false
	// type: number
	// Sets the maximum boundary for iso-surface plot.
	Isomax float64 `json:"isomax,omitempty"`

	// Isomin
	// arrayOK: false
	// type: number
	// Sets the minimum boundary for iso-surface plot.
	Isomin float64 `json:"isomin,omitempty"`

	// Legendgroup
	// arrayOK: false
	// type: string
	// Sets the legend group for this trace. Traces part of the same legend group hide/show at the same time when toggling legend items.
	Legendgroup String `json:"legendgroup,omitempty"`

	// Lighting
	// role: Object
	Lighting *VolumeLighting `json:"lighting,omitempty"`

	// Lightposition
	// role: Object
	Lightposition *VolumeLightposition `json:"lightposition,omitempty"`

	// Meta
	// arrayOK: true
	// type: any
	// Assigns extra meta information associated with this trace that can be used in various text attributes. Attributes such as trace `name`, graph, axis and colorbar `title.text`, annotation `text` `rangeselector`, `updatemenues` and `sliders` `label` text all support `meta`. To access the trace `meta` values in an attribute in the same trace, simply use `%{meta[i]}` where `i` is the index or key of the `meta` item in question. To access trace `meta` in layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index.
	Meta interface{} `json:"meta,omitempty"`

	// Metasrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  meta .
	Metasrc String `json:"metasrc,omitempty"`

	// Name
	// arrayOK: false
	// type: string
	// Sets the trace name. The trace name appear as the legend item and on hover.
	Name String `json:"name,omitempty"`

	// Opacity
	// arrayOK: false
	// type: number
	// Sets the opacity of the surface. Please note that in the case of using high `opacity` values for example a value greater than or equal to 0.5 on two surfaces (and 0.25 with four surfaces), an overlay of multiple transparent surfaces may not perfectly be sorted in depth by the webgl API. This behavior may be improved in the near future and is subject to change.
	Opacity float64 `json:"opacity,omitempty"`

	// Opacityscale
	// arrayOK: false
	// type: any
	// Sets the opacityscale. The opacityscale must be an array containing arrays mapping a normalized value to an opacity value. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 1], [0.5, 0.2], [1, 1]]` means that higher/lower values would have higher opacity values and those in the middle would be more transparent Alternatively, `opacityscale` may be a palette name string of the following list: 'min', 'max', 'extremes' and 'uniform'. The default is 'uniform'.
	Opacityscale interface{} `json:"opacityscale,omitempty"`

	// Reversescale
	// arrayOK: false
	// type: boolean
	// Reverses the color mapping if true. If true, `cmin` will correspond to the last color in the array and `cmax` will correspond to the first color.
	Reversescale Bool `json:"reversescale,omitempty"`

	// Scene
	// arrayOK: false
	// type: subplotid
	// Sets a reference between this trace's 3D coordinate system and a 3D scene. If *scene* (the default value), the (x,y,z) coordinates refer to `layout.scene`. If *scene2*, the (x,y,z) coordinates refer to `layout.scene2`, and so on.
	Scene String `json:"scene,omitempty"`

	// Showlegend
	// arrayOK: false
	// type: boolean
	// Determines whether or not an item corresponding to this trace is shown in the legend.
	Showlegend Bool `json:"showlegend,omitempty"`

	// Showscale
	// arrayOK: false
	// type: boolean
	// Determines whether or not a colorbar is displayed for this trace.
	Showscale Bool `json:"showscale,omitempty"`

	// Slices
	// role: Object
	Slices *VolumeSlices `json:"slices,omitempty"`

	// Spaceframe
	// role: Object
	Spaceframe *VolumeSpaceframe `json:"spaceframe,omitempty"`

	// Stream
	// role: Object
	Stream *VolumeStream `json:"stream,omitempty"`

	// Surface
	// role: Object
	Surface *VolumeSurface `json:"surface,omitempty"`

	// Text
	// arrayOK: true
	// type: string
	// Sets the text elements associated with the vertices. If trace `hoverinfo` contains a *text* flag and *hovertext* is not set, these elements will be seen in the hover labels.
	Text String `json:"text,omitempty"`

	// Textsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  text .
	Textsrc String `json:"textsrc,omitempty"`

	// Uid
	// arrayOK: false
	// type: string
	// Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.
	Uid String `json:"uid,omitempty"`

	// Uirevision
	// arrayOK: false
	// type: any
	// Controls persistence of some user-driven changes to the trace: `constraintrange` in `parcoords` traces, as well as some `editable: true` modifications such as `name` and `colorbar.title`. Defaults to `layout.uirevision`. Note that other user-driven trace attribute changes are controlled by `layout` attributes: `trace.visible` is controlled by `layout.legend.uirevision`, `selectedpoints` is controlled by `layout.selectionrevision`, and `colorbar.(x|y)` (accessible with `config: {editable: true}`) is controlled by `layout.editrevision`. Trace changes are tracked by `uid`, which only falls back on trace index if no `uid` is provided. So if your app can add/remove traces before the end of the `data` array, such that the same trace has a different index, you can still preserve user-driven changes if you give each trace a `uid` that stays with it as it moves.
	Uirevision interface{} `json:"uirevision,omitempty"`

	// Value
	// arrayOK: false
	// type: data_array
	// Sets the 4th dimension (value) of the vertices.
	Value interface{} `json:"value,omitempty"`

	// Valuesrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  value .
	Valuesrc String `json:"valuesrc,omitempty"`

	// Visible
	// default: %!s(bool=true)
	// type: enumerated
	// Determines whether or not this trace is visible. If *legendonly*, the trace is not drawn, but can appear as a legend item (provided that the legend itself is visible).
	Visible VolumeVisible `json:"visible,omitempty"`

	// X
	// arrayOK: false
	// type: data_array
	// Sets the X coordinates of the vertices on X axis.
	X interface{} `json:"x,omitempty"`

	// Xsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  x .
	Xsrc String `json:"xsrc,omitempty"`

	// Y
	// arrayOK: false
	// type: data_array
	// Sets the Y coordinates of the vertices on Y axis.
	Y interface{} `json:"y,omitempty"`

	// Ysrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  y .
	Ysrc String `json:"ysrc,omitempty"`

	// Z
	// arrayOK: false
	// type: data_array
	// Sets the Z coordinates of the vertices on Z axis.
	Z interface{} `json:"z,omitempty"`

	// Zsrc
	// arrayOK: false
	// type: 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 (*Volume) GetType

func (trace *Volume) GetType() TraceType

type VolumeCaps

type VolumeCaps struct {

	// X
	// role: Object
	X *VolumeCapsX `json:"x,omitempty"`

	// Y
	// role: Object
	Y *VolumeCapsY `json:"y,omitempty"`

	// Z
	// role: Object
	Z *VolumeCapsZ `json:"z,omitempty"`
}

VolumeCaps

type VolumeCapsX

type VolumeCapsX struct {

	// Fill
	// arrayOK: false
	// type: number
	// Sets the fill ratio of the `caps`. The default fill value of the `caps` is 1 meaning that they are entirely shaded. On the other hand Applying a `fill` ratio less than one would allow the creation of openings parallel to the edges.
	Fill float64 `json:"fill,omitempty"`

	// Show
	// arrayOK: false
	// type: boolean
	// Sets the fill ratio of the `slices`. The default fill value of the x `slices` is 1 meaning that they are entirely shaded. On the other hand Applying a `fill` ratio less than one would allow the creation of openings parallel to the edges.
	Show Bool `json:"show,omitempty"`
}

VolumeCapsX

type VolumeCapsY

type VolumeCapsY struct {

	// Fill
	// arrayOK: false
	// type: number
	// Sets the fill ratio of the `caps`. The default fill value of the `caps` is 1 meaning that they are entirely shaded. On the other hand Applying a `fill` ratio less than one would allow the creation of openings parallel to the edges.
	Fill float64 `json:"fill,omitempty"`

	// Show
	// arrayOK: false
	// type: boolean
	// Sets the fill ratio of the `slices`. The default fill value of the y `slices` is 1 meaning that they are entirely shaded. On the other hand Applying a `fill` ratio less than one would allow the creation of openings parallel to the edges.
	Show Bool `json:"show,omitempty"`
}

VolumeCapsY

type VolumeCapsZ

type VolumeCapsZ struct {

	// Fill
	// arrayOK: false
	// type: number
	// Sets the fill ratio of the `caps`. The default fill value of the `caps` is 1 meaning that they are entirely shaded. On the other hand Applying a `fill` ratio less than one would allow the creation of openings parallel to the edges.
	Fill float64 `json:"fill,omitempty"`

	// Show
	// arrayOK: false
	// type: boolean
	// Sets the fill ratio of the `slices`. The default fill value of the z `slices` is 1 meaning that they are entirely shaded. On the other hand Applying a `fill` ratio less than one would allow the creation of openings parallel to the edges.
	Show Bool `json:"show,omitempty"`
}

VolumeCapsZ

type VolumeColorbar

type VolumeColorbar struct {

	// Bgcolor
	// arrayOK: false
	// type: color
	// Sets the color of padded area.
	Bgcolor Color `json:"bgcolor,omitempty"`

	// Bordercolor
	// arrayOK: false
	// type: color
	// Sets the axis line color.
	Bordercolor Color `json:"bordercolor,omitempty"`

	// Borderwidth
	// arrayOK: false
	// type: number
	// Sets the width (in px) or the border enclosing this color bar.
	Borderwidth float64 `json:"borderwidth,omitempty"`

	// Dtick
	// arrayOK: false
	// type: any
	// Sets the step in-between ticks on this axis. Use with `tick0`. Must be a positive number, or special strings available to *log* and *date* axes. If the axis `type` is *log*, then ticks are set every 10^(n*dtick) where n is the tick number. For example, to set a tick mark at 1, 10, 100, 1000, ... set dtick to 1. To set tick marks at 1, 100, 10000, ... set dtick to 2. To set tick marks at 1, 5, 25, 125, 625, 3125, ... set dtick to log_10(5), or 0.69897000433. *log* has several special values; *L<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
	// default: B
	// type: enumerated
	// Determines a formatting rule for the tick exponents. For example, consider the number 1,000,000,000. If *none*, it appears as 1,000,000,000. If *e*, 1e+9. If *E*, 1E+9. If *power*, 1x10^9 (with 9 in a super script). If *SI*, 1G. If *B*, 1B.
	Exponentformat VolumeColorbarExponentformat `json:"exponentformat,omitempty"`

	// Len
	// arrayOK: false
	// type: number
	// Sets the length of the color bar This measure excludes the padding of both ends. That is, the color bar length is this length minus the padding on both ends.
	Len float64 `json:"len,omitempty"`

	// Lenmode
	// default: fraction
	// type: enumerated
	// Determines whether this color bar's length (i.e. the measure in the color variation direction) is set in units of plot *fraction* or in *pixels. Use `len` to set the value.
	Lenmode VolumeColorbarLenmode `json:"lenmode,omitempty"`

	// Minexponent
	// arrayOK: false
	// type: number
	// Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*.
	Minexponent float64 `json:"minexponent,omitempty"`

	// Nticks
	// arrayOK: false
	// type: integer
	// Specifies the maximum number of ticks for the particular axis. The actual number of ticks will be chosen automatically to be less than or equal to `nticks`. Has an effect only if `tickmode` is set to *auto*.
	Nticks int64 `json:"nticks,omitempty"`

	// Outlinecolor
	// arrayOK: false
	// type: color
	// Sets the axis line color.
	Outlinecolor Color `json:"outlinecolor,omitempty"`

	// Outlinewidth
	// arrayOK: false
	// type: number
	// Sets the width (in px) of the axis line.
	Outlinewidth float64 `json:"outlinewidth,omitempty"`

	// Separatethousands
	// arrayOK: false
	// type: boolean
	// If "true", even 4-digit integers are separated
	Separatethousands Bool `json:"separatethousands,omitempty"`

	// Showexponent
	// default: all
	// type: enumerated
	// If *all*, all exponents are shown besides their significands. If *first*, only the exponent of the first tick is shown. If *last*, only the exponent of the last tick is shown. If *none*, no exponents appear.
	Showexponent VolumeColorbarShowexponent `json:"showexponent,omitempty"`

	// Showticklabels
	// arrayOK: false
	// type: boolean
	// Determines whether or not the tick labels are drawn.
	Showticklabels Bool `json:"showticklabels,omitempty"`

	// Showtickprefix
	// default: all
	// type: enumerated
	// If *all*, all tick labels are displayed with a prefix. If *first*, only the first tick is displayed with a prefix. If *last*, only the last tick is displayed with a suffix. If *none*, tick prefixes are hidden.
	Showtickprefix VolumeColorbarShowtickprefix `json:"showtickprefix,omitempty"`

	// Showticksuffix
	// default: all
	// type: enumerated
	// Same as `showtickprefix` but for tick suffixes.
	Showticksuffix VolumeColorbarShowticksuffix `json:"showticksuffix,omitempty"`

	// Thickness
	// arrayOK: false
	// type: number
	// Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.
	Thickness float64 `json:"thickness,omitempty"`

	// Thicknessmode
	// default: pixels
	// type: enumerated
	// Determines whether this color bar's thickness (i.e. the measure in the constant color direction) is set in units of plot *fraction* or in *pixels*. Use `thickness` to set the value.
	Thicknessmode VolumeColorbarThicknessmode `json:"thicknessmode,omitempty"`

	// Tick0
	// arrayOK: false
	// type: any
	// Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2) except when `dtick`=*L<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
	// arrayOK: false
	// type: angle
	// Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.
	Tickangle float64 `json:"tickangle,omitempty"`

	// Tickcolor
	// arrayOK: false
	// type: color
	// Sets the tick color.
	Tickcolor Color `json:"tickcolor,omitempty"`

	// Tickfont
	// role: Object
	Tickfont *VolumeColorbarTickfont `json:"tickfont,omitempty"`

	// Tickformat
	// arrayOK: false
	// type: string
	// Sets the tick label formatting rule using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-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
	// It's an items array and what goes inside it's... messy... check the docs
	// I will be happy if you want to contribute by implementing this
	// just raise an issue before you start so we do not overlap
	Tickformatstops interface{} `json:"tickformatstops,omitempty"`

	// Ticklabelposition
	// default: outside
	// type: enumerated
	// Determines where tick labels are drawn.
	Ticklabelposition VolumeColorbarTicklabelposition `json:"ticklabelposition,omitempty"`

	// Ticklen
	// arrayOK: false
	// type: number
	// Sets the tick length (in px).
	Ticklen float64 `json:"ticklen,omitempty"`

	// Tickmode
	// default: %!s(<nil>)
	// type: enumerated
	// Sets the tick mode for this axis. If *auto*, the number of ticks is set via `nticks`. If *linear*, the placement of the ticks is determined by a starting position `tick0` and a tick step `dtick` (*linear* is the default value if `tick0` and `dtick` are provided). If *array*, the placement of the ticks is set via `tickvals` and the tick text is `ticktext`. (*array* is the default value if `tickvals` is provided).
	Tickmode VolumeColorbarTickmode `json:"tickmode,omitempty"`

	// Tickprefix
	// arrayOK: false
	// type: string
	// Sets a tick label prefix.
	Tickprefix String `json:"tickprefix,omitempty"`

	// Ticks
	// default:
	// type: enumerated
	// Determines whether ticks are drawn or not. If **, this axis' ticks are not drawn. If *outside* (*inside*), this axis' are drawn outside (inside) the axis lines.
	Ticks VolumeColorbarTicks `json:"ticks,omitempty"`

	// Ticksuffix
	// arrayOK: false
	// type: string
	// Sets a tick label suffix.
	Ticksuffix String `json:"ticksuffix,omitempty"`

	// Ticktext
	// arrayOK: false
	// type: data_array
	// Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `tickvals`.
	Ticktext interface{} `json:"ticktext,omitempty"`

	// Ticktextsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  ticktext .
	Ticktextsrc String `json:"ticktextsrc,omitempty"`

	// Tickvals
	// arrayOK: false
	// type: data_array
	// Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.
	Tickvals interface{} `json:"tickvals,omitempty"`

	// Tickvalssrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  tickvals .
	Tickvalssrc String `json:"tickvalssrc,omitempty"`

	// Tickwidth
	// arrayOK: false
	// type: number
	// Sets the tick width (in px).
	Tickwidth float64 `json:"tickwidth,omitempty"`

	// Title
	// role: Object
	Title *VolumeColorbarTitle `json:"title,omitempty"`

	// X
	// arrayOK: false
	// type: number
	// Sets the x position of the color bar (in plot fraction).
	X float64 `json:"x,omitempty"`

	// Xanchor
	// default: left
	// type: enumerated
	// Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the color bar.
	Xanchor VolumeColorbarXanchor `json:"xanchor,omitempty"`

	// Xpad
	// arrayOK: false
	// type: number
	// Sets the amount of padding (in px) along the x direction.
	Xpad float64 `json:"xpad,omitempty"`

	// Y
	// arrayOK: false
	// type: number
	// Sets the y position of the color bar (in plot fraction).
	Y float64 `json:"y,omitempty"`

	// Yanchor
	// default: middle
	// type: enumerated
	// Sets this color bar's vertical position anchor This anchor binds the `y` position to the *top*, *middle* or *bottom* of the color bar.
	Yanchor VolumeColorbarYanchor `json:"yanchor,omitempty"`

	// Ypad
	// arrayOK: false
	// type: number
	// Sets the amount of padding (in px) along the y direction.
	Ypad float64 `json:"ypad,omitempty"`
}

VolumeColorbar

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 (
	VolumeColorbarExponentformatNone  VolumeColorbarExponentformat = "none"
	VolumeColorbarExponentformatE1    VolumeColorbarExponentformat = "e"
	VolumeColorbarExponentformatE2    VolumeColorbarExponentformat = "E"
	VolumeColorbarExponentformatPower VolumeColorbarExponentformat = "power"
	VolumeColorbarExponentformatSi    VolumeColorbarExponentformat = "SI"
	VolumeColorbarExponentformatB     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 (
	VolumeColorbarLenmodeFraction VolumeColorbarLenmode = "fraction"
	VolumeColorbarLenmodePixels   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 (
	VolumeColorbarShowexponentAll   VolumeColorbarShowexponent = "all"
	VolumeColorbarShowexponentFirst VolumeColorbarShowexponent = "first"
	VolumeColorbarShowexponentLast  VolumeColorbarShowexponent = "last"
	VolumeColorbarShowexponentNone  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 (
	VolumeColorbarShowtickprefixAll   VolumeColorbarShowtickprefix = "all"
	VolumeColorbarShowtickprefixFirst VolumeColorbarShowtickprefix = "first"
	VolumeColorbarShowtickprefixLast  VolumeColorbarShowtickprefix = "last"
	VolumeColorbarShowtickprefixNone  VolumeColorbarShowtickprefix = "none"
)

type VolumeColorbarShowticksuffix

type VolumeColorbarShowticksuffix string

VolumeColorbarShowticksuffix Same as `showtickprefix` but for tick suffixes.

const (
	VolumeColorbarShowticksuffixAll   VolumeColorbarShowticksuffix = "all"
	VolumeColorbarShowticksuffixFirst VolumeColorbarShowticksuffix = "first"
	VolumeColorbarShowticksuffixLast  VolumeColorbarShowticksuffix = "last"
	VolumeColorbarShowticksuffixNone  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 (
	VolumeColorbarThicknessmodeFraction VolumeColorbarThicknessmode = "fraction"
	VolumeColorbarThicknessmodePixels   VolumeColorbarThicknessmode = "pixels"
)

type VolumeColorbarTickfont

type VolumeColorbarTickfont struct {

	// Color
	// arrayOK: false
	// type: color
	//
	Color Color `json:"color,omitempty"`

	// Family
	// arrayOK: false
	// type: string
	// HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.
	Family String `json:"family,omitempty"`

	// Size
	// arrayOK: false
	// type: number
	//
	Size float64 `json:"size,omitempty"`
}

VolumeColorbarTickfont Sets the color bar's tick label font

type VolumeColorbarTicklabelposition added in v0.3.1

type VolumeColorbarTicklabelposition string

VolumeColorbarTicklabelposition Determines where tick labels are drawn.

const (
	VolumeColorbarTicklabelpositionOutside       VolumeColorbarTicklabelposition = "outside"
	VolumeColorbarTicklabelpositionInside        VolumeColorbarTicklabelposition = "inside"
	VolumeColorbarTicklabelpositionOutsideTop    VolumeColorbarTicklabelposition = "outside top"
	VolumeColorbarTicklabelpositionInsideTop     VolumeColorbarTicklabelposition = "inside top"
	VolumeColorbarTicklabelpositionOutsideBottom VolumeColorbarTicklabelposition = "outside bottom"
	VolumeColorbarTicklabelpositionInsideBottom  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 (
	VolumeColorbarTickmodeAuto   VolumeColorbarTickmode = "auto"
	VolumeColorbarTickmodeLinear VolumeColorbarTickmode = "linear"
	VolumeColorbarTickmodeArray  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 (
	VolumeColorbarTicksOutside VolumeColorbarTicks = "outside"
	VolumeColorbarTicksInside  VolumeColorbarTicks = "inside"
	VolumeColorbarTicksEmpty   VolumeColorbarTicks = ""
)

type VolumeColorbarTitle

type VolumeColorbarTitle struct {

	// Font
	// role: Object
	Font *VolumeColorbarTitleFont `json:"font,omitempty"`

	// Side
	// default: top
	// type: enumerated
	// Determines the location of color bar's title with respect to the color bar. Note that the title's location used to be set by the now deprecated `titleside` attribute.
	Side VolumeColorbarTitleSide `json:"side,omitempty"`

	// Text
	// arrayOK: false
	// type: string
	// Sets the title of the color bar. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.
	Text String `json:"text,omitempty"`
}

VolumeColorbarTitle

type VolumeColorbarTitleFont

type VolumeColorbarTitleFont struct {

	// Color
	// arrayOK: false
	// type: color
	//
	Color Color `json:"color,omitempty"`

	// Family
	// arrayOK: false
	// type: string
	// HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.
	Family String `json:"family,omitempty"`

	// Size
	// arrayOK: false
	// type: number
	//
	Size float64 `json:"size,omitempty"`
}

VolumeColorbarTitleFont Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.

type 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 (
	VolumeColorbarTitleSideRight  VolumeColorbarTitleSide = "right"
	VolumeColorbarTitleSideTop    VolumeColorbarTitleSide = "top"
	VolumeColorbarTitleSideBottom 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 (
	VolumeColorbarXanchorLeft   VolumeColorbarXanchor = "left"
	VolumeColorbarXanchorCenter VolumeColorbarXanchor = "center"
	VolumeColorbarXanchorRight  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 (
	VolumeColorbarYanchorTop    VolumeColorbarYanchor = "top"
	VolumeColorbarYanchorMiddle VolumeColorbarYanchor = "middle"
	VolumeColorbarYanchorBottom VolumeColorbarYanchor = "bottom"
)

type VolumeContour

type VolumeContour struct {

	// Color
	// arrayOK: false
	// type: color
	// Sets the color of the contour lines.
	Color Color `json:"color,omitempty"`

	// Show
	// arrayOK: false
	// type: boolean
	// Sets whether or not dynamic contours are shown on hover
	Show Bool `json:"show,omitempty"`

	// Width
	// arrayOK: false
	// type: number
	// Sets the width of the contour lines.
	Width float64 `json:"width,omitempty"`
}

VolumeContour

type VolumeHoverinfo

type VolumeHoverinfo string

VolumeHoverinfo Determines which trace information appear on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired.

const (
	// Flags
	VolumeHoverinfoX    VolumeHoverinfo = "x"
	VolumeHoverinfoY    VolumeHoverinfo = "y"
	VolumeHoverinfoZ    VolumeHoverinfo = "z"
	VolumeHoverinfoText VolumeHoverinfo = "text"
	VolumeHoverinfoName VolumeHoverinfo = "name"

	// Extra
	VolumeHoverinfoAll  VolumeHoverinfo = "all"
	VolumeHoverinfoNone VolumeHoverinfo = "none"
	VolumeHoverinfoSkip VolumeHoverinfo = "skip"
)

type VolumeHoverlabel

type VolumeHoverlabel struct {

	// Align
	// default: auto
	// type: enumerated
	// Sets the horizontal alignment of the text content within hover label box. Has an effect only if the hover label text spans more two or more lines
	Align VolumeHoverlabelAlign `json:"align,omitempty"`

	// Alignsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  align .
	Alignsrc String `json:"alignsrc,omitempty"`

	// Bgcolor
	// arrayOK: true
	// type: color
	// Sets the background color of the hover labels for this trace
	Bgcolor Color `json:"bgcolor,omitempty"`

	// Bgcolorsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  bgcolor .
	Bgcolorsrc String `json:"bgcolorsrc,omitempty"`

	// Bordercolor
	// arrayOK: true
	// type: color
	// Sets the border color of the hover labels for this trace.
	Bordercolor Color `json:"bordercolor,omitempty"`

	// Bordercolorsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  bordercolor .
	Bordercolorsrc String `json:"bordercolorsrc,omitempty"`

	// Font
	// role: Object
	Font *VolumeHoverlabelFont `json:"font,omitempty"`

	// Namelength
	// arrayOK: true
	// type: integer
	// Sets the default length (in number of characters) of the trace name in the hover labels for all traces. -1 shows the whole name regardless of length. 0-3 shows the first 0-3 characters, and an integer >3 will show the whole name if it is less than that many characters, but if it is longer, will truncate to `namelength - 3` characters and add an ellipsis.
	Namelength int64 `json:"namelength,omitempty"`

	// Namelengthsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  namelength .
	Namelengthsrc String `json:"namelengthsrc,omitempty"`
}

VolumeHoverlabel

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 (
	VolumeHoverlabelAlignLeft  VolumeHoverlabelAlign = "left"
	VolumeHoverlabelAlignRight VolumeHoverlabelAlign = "right"
	VolumeHoverlabelAlignAuto  VolumeHoverlabelAlign = "auto"
)

type VolumeHoverlabelFont

type VolumeHoverlabelFont struct {

	// Color
	// arrayOK: true
	// type: color
	//
	Color Color `json:"color,omitempty"`

	// Colorsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  color .
	Colorsrc String `json:"colorsrc,omitempty"`

	// Family
	// arrayOK: true
	// type: string
	// HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.
	Family String `json:"family,omitempty"`

	// Familysrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  family .
	Familysrc String `json:"familysrc,omitempty"`

	// Size
	// arrayOK: true
	// type: number
	//
	Size float64 `json:"size,omitempty"`

	// Sizesrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  size .
	Sizesrc String `json:"sizesrc,omitempty"`
}

VolumeHoverlabelFont Sets the font used in hover labels.

type VolumeLighting

type VolumeLighting struct {

	// Ambient
	// arrayOK: false
	// type: number
	// Ambient light increases overall color visibility but can wash out the image.
	Ambient float64 `json:"ambient,omitempty"`

	// Diffuse
	// arrayOK: false
	// type: number
	// Represents the extent that incident rays are reflected in a range of angles.
	Diffuse float64 `json:"diffuse,omitempty"`

	// Facenormalsepsilon
	// arrayOK: false
	// type: number
	// Epsilon for face normals calculation avoids math issues arising from degenerate geometry.
	Facenormalsepsilon float64 `json:"facenormalsepsilon,omitempty"`

	// Fresnel
	// arrayOK: false
	// type: number
	// Represents the reflectance as a dependency of the viewing angle; e.g. paper is reflective when viewing it from the edge of the paper (almost 90 degrees), causing shine.
	Fresnel float64 `json:"fresnel,omitempty"`

	// Roughness
	// arrayOK: false
	// type: number
	// Alters specular reflection; the rougher the surface, the wider and less contrasty the shine.
	Roughness float64 `json:"roughness,omitempty"`

	// Specular
	// arrayOK: false
	// type: number
	// Represents the level that incident rays are reflected in a single direction, causing shine.
	Specular float64 `json:"specular,omitempty"`

	// Vertexnormalsepsilon
	// arrayOK: false
	// type: number
	// Epsilon for vertex normals calculation avoids math issues arising from degenerate geometry.
	Vertexnormalsepsilon float64 `json:"vertexnormalsepsilon,omitempty"`
}

VolumeLighting

type VolumeLightposition

type VolumeLightposition struct {

	// X
	// arrayOK: false
	// type: number
	// Numeric vector, representing the X coordinate for each vertex.
	X float64 `json:"x,omitempty"`

	// Y
	// arrayOK: false
	// type: number
	// Numeric vector, representing the Y coordinate for each vertex.
	Y float64 `json:"y,omitempty"`

	// Z
	// arrayOK: false
	// type: number
	// Numeric vector, representing the Z coordinate for each vertex.
	Z float64 `json:"z,omitempty"`
}

VolumeLightposition

type VolumeSlices

type VolumeSlices struct {

	// X
	// role: Object
	X *VolumeSlicesX `json:"x,omitempty"`

	// Y
	// role: Object
	Y *VolumeSlicesY `json:"y,omitempty"`

	// Z
	// role: Object
	Z *VolumeSlicesZ `json:"z,omitempty"`
}

VolumeSlices

type VolumeSlicesX

type VolumeSlicesX struct {

	// Fill
	// arrayOK: false
	// type: number
	// Sets the fill ratio of the `slices`. The default fill value of the `slices` is 1 meaning that they are entirely shaded. On the other hand Applying a `fill` ratio less than one would allow the creation of openings parallel to the edges.
	Fill float64 `json:"fill,omitempty"`

	// Locations
	// arrayOK: false
	// type: data_array
	// Specifies the location(s) of slices on the axis. When not specified slices would be created for all points of the axis x except start and end.
	Locations interface{} `json:"locations,omitempty"`

	// Locationssrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  locations .
	Locationssrc String `json:"locationssrc,omitempty"`

	// Show
	// arrayOK: false
	// type: boolean
	// Determines whether or not slice planes about the x dimension are drawn.
	Show Bool `json:"show,omitempty"`
}

VolumeSlicesX

type VolumeSlicesY

type VolumeSlicesY struct {

	// Fill
	// arrayOK: false
	// type: number
	// Sets the fill ratio of the `slices`. The default fill value of the `slices` is 1 meaning that they are entirely shaded. On the other hand Applying a `fill` ratio less than one would allow the creation of openings parallel to the edges.
	Fill float64 `json:"fill,omitempty"`

	// Locations
	// arrayOK: false
	// type: data_array
	// Specifies the location(s) of slices on the axis. When not specified slices would be created for all points of the axis y except start and end.
	Locations interface{} `json:"locations,omitempty"`

	// Locationssrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  locations .
	Locationssrc String `json:"locationssrc,omitempty"`

	// Show
	// arrayOK: false
	// type: boolean
	// Determines whether or not slice planes about the y dimension are drawn.
	Show Bool `json:"show,omitempty"`
}

VolumeSlicesY

type VolumeSlicesZ

type VolumeSlicesZ struct {

	// Fill
	// arrayOK: false
	// type: number
	// Sets the fill ratio of the `slices`. The default fill value of the `slices` is 1 meaning that they are entirely shaded. On the other hand Applying a `fill` ratio less than one would allow the creation of openings parallel to the edges.
	Fill float64 `json:"fill,omitempty"`

	// Locations
	// arrayOK: false
	// type: data_array
	// Specifies the location(s) of slices on the axis. When not specified slices would be created for all points of the axis z except start and end.
	Locations interface{} `json:"locations,omitempty"`

	// Locationssrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  locations .
	Locationssrc String `json:"locationssrc,omitempty"`

	// Show
	// arrayOK: false
	// type: boolean
	// Determines whether or not slice planes about the z dimension are drawn.
	Show Bool `json:"show,omitempty"`
}

VolumeSlicesZ

type VolumeSpaceframe

type VolumeSpaceframe struct {

	// Fill
	// arrayOK: false
	// type: number
	// Sets the fill ratio of the `spaceframe` elements. The default fill value is 1 meaning that they are entirely shaded. Applying a `fill` ratio less than one would allow the creation of openings parallel to the edges.
	Fill float64 `json:"fill,omitempty"`

	// Show
	// arrayOK: false
	// type: boolean
	// Displays/hides tetrahedron shapes between minimum and maximum iso-values. Often useful when either caps or surfaces are disabled or filled with values less than 1.
	Show Bool `json:"show,omitempty"`
}

VolumeSpaceframe

type VolumeStream

type VolumeStream struct {

	// Maxpoints
	// arrayOK: false
	// type: number
	// Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot.
	Maxpoints float64 `json:"maxpoints,omitempty"`

	// Token
	// arrayOK: false
	// type: string
	// The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details.
	Token String `json:"token,omitempty"`
}

VolumeStream

type VolumeSurface

type VolumeSurface struct {

	// Count
	// arrayOK: false
	// type: integer
	// Sets the number of iso-surfaces between minimum and maximum iso-values. By default this value is 2 meaning that only minimum and maximum surfaces would be drawn.
	Count int64 `json:"count,omitempty"`

	// Fill
	// arrayOK: false
	// type: number
	// Sets the fill ratio of the iso-surface. The default fill value of the surface is 1 meaning that they are entirely shaded. On the other hand Applying a `fill` ratio less than one would allow the creation of openings parallel to the edges.
	Fill float64 `json:"fill,omitempty"`

	// Pattern
	// default: all
	// type: flaglist
	// Sets the surface pattern of the iso-surface 3-D sections. The default pattern of the surface is `all` meaning that the rest of surface elements would be shaded. The check options (either 1 or 2) could be used to draw half of the squares on the surface. Using various combinations of capital `A`, `B`, `C`, `D` and `E` may also be used to reduce the number of triangles on the iso-surfaces and creating other patterns of interest.
	Pattern VolumeSurfacePattern `json:"pattern,omitempty"`

	// Show
	// arrayOK: false
	// type: boolean
	// Hides/displays surfaces between minimum and maximum iso-values.
	Show Bool `json:"show,omitempty"`
}

VolumeSurface

type VolumeSurfacePattern

type VolumeSurfacePattern string

VolumeSurfacePattern Sets the surface pattern of the iso-surface 3-D sections. The default pattern of the surface is `all` meaning that the rest of surface elements would be shaded. The check options (either 1 or 2) could be used to draw half of the squares on the surface. Using various combinations of capital `A`, `B`, `C`, `D` and `E` may also be used to reduce the number of triangles on the iso-surfaces and creating other patterns of interest.

const (
	// Flags
	VolumeSurfacePatternA VolumeSurfacePattern = "A"
	VolumeSurfacePatternB VolumeSurfacePattern = "B"
	VolumeSurfacePatternC VolumeSurfacePattern = "C"
	VolumeSurfacePatternD VolumeSurfacePattern = "D"
	VolumeSurfacePatternE VolumeSurfacePattern = "E"

	// Extra
	VolumeSurfacePatternAll  VolumeSurfacePattern = "all"
	VolumeSurfacePatternOdd  VolumeSurfacePattern = "odd"
	VolumeSurfacePatternEven VolumeSurfacePattern = "even"
)

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 (
	VolumeVisibleTrue       VolumeVisible = true
	VolumeVisibleFalse      VolumeVisible = false
	VolumeVisibleLegendonly VolumeVisible = "legendonly"
)

type Waterfall

type Waterfall struct {

	// Type
	// is the type of the plot
	Type TraceType `json:"type,omitempty"`

	// Alignmentgroup
	// arrayOK: false
	// type: string
	// Set several traces linked to the same position axis or matching axes to the same alignmentgroup. This controls whether bars compute their positional range dependently or independently.
	Alignmentgroup String `json:"alignmentgroup,omitempty"`

	// Base
	// arrayOK: false
	// type: number
	// Sets where the bar base is drawn (in position axis units).
	Base float64 `json:"base,omitempty"`

	// Cliponaxis
	// arrayOK: false
	// type: boolean
	// Determines whether the text nodes are clipped about the subplot axes. To show the text nodes above axis lines and tick labels, make sure to set `xaxis.layer` and `yaxis.layer` to *below traces*.
	Cliponaxis Bool `json:"cliponaxis,omitempty"`

	// Connector
	// role: Object
	Connector *WaterfallConnector `json:"connector,omitempty"`

	// Constraintext
	// default: both
	// type: enumerated
	// Constrain the size of text inside or outside a bar to be no larger than the bar itself.
	Constraintext WaterfallConstraintext `json:"constraintext,omitempty"`

	// Customdata
	// arrayOK: false
	// type: data_array
	// Assigns extra data each datum. This may be useful when listening to hover, click and selection events. Note that, *scatter* traces also appends customdata items in the markers DOM elements
	Customdata interface{} `json:"customdata,omitempty"`

	// Customdatasrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  customdata .
	Customdatasrc String `json:"customdatasrc,omitempty"`

	// Decreasing
	// role: Object
	Decreasing *WaterfallDecreasing `json:"decreasing,omitempty"`

	// Dx
	// arrayOK: false
	// type: number
	// Sets the x coordinate step. See `x0` for more info.
	Dx float64 `json:"dx,omitempty"`

	// Dy
	// arrayOK: false
	// type: number
	// Sets the y coordinate step. See `y0` for more info.
	Dy float64 `json:"dy,omitempty"`

	// Hoverinfo
	// default: all
	// type: flaglist
	// Determines which trace information appear on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired.
	Hoverinfo WaterfallHoverinfo `json:"hoverinfo,omitempty"`

	// Hoverinfosrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  hoverinfo .
	Hoverinfosrc String `json:"hoverinfosrc,omitempty"`

	// Hoverlabel
	// role: Object
	Hoverlabel *WaterfallHoverlabel `json:"hoverlabel,omitempty"`

	// Hovertemplate
	// arrayOK: true
	// type: string
	// Template string used for rendering the information that appear on hover box. Note that this will override `hoverinfo`. Variables are inserted using %{variable}, for example "y: %{y}". 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 String `json:"hovertemplate,omitempty"`

	// Hovertemplatesrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  hovertemplate .
	Hovertemplatesrc String `json:"hovertemplatesrc,omitempty"`

	// Hovertext
	// arrayOK: true
	// type: string
	// Sets hover text elements associated with each (x,y) pair. If a single string, the same string appears over all the data points. If an array of string, the items are mapped in order to the this trace's (x,y) coordinates. To be seen, trace `hoverinfo` must contain a *text* flag.
	Hovertext String `json:"hovertext,omitempty"`

	// Hovertextsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  hovertext .
	Hovertextsrc String `json:"hovertextsrc,omitempty"`

	// Ids
	// arrayOK: false
	// type: data_array
	// Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type.
	Ids interface{} `json:"ids,omitempty"`

	// Idssrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  ids .
	Idssrc String `json:"idssrc,omitempty"`

	// Increasing
	// role: Object
	Increasing *WaterfallIncreasing `json:"increasing,omitempty"`

	// Insidetextanchor
	// default: end
	// type: enumerated
	// Determines if texts are kept at center or start/end points in `textposition` *inside* mode.
	Insidetextanchor WaterfallInsidetextanchor `json:"insidetextanchor,omitempty"`

	// Insidetextfont
	// role: Object
	Insidetextfont *WaterfallInsidetextfont `json:"insidetextfont,omitempty"`

	// Legendgroup
	// arrayOK: false
	// type: string
	// Sets the legend group for this trace. Traces part of the same legend group hide/show at the same time when toggling legend items.
	Legendgroup String `json:"legendgroup,omitempty"`

	// Measure
	// arrayOK: false
	// type: data_array
	// An array containing types of values. By default the values are considered as 'relative'. However; it is possible to use 'total' to compute the sums. Also 'absolute' could be applied to reset the computed total or to declare an initial value where needed.
	Measure interface{} `json:"measure,omitempty"`

	// Measuresrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  measure .
	Measuresrc String `json:"measuresrc,omitempty"`

	// Meta
	// arrayOK: true
	// type: any
	// Assigns extra meta information associated with this trace that can be used in various text attributes. Attributes such as trace `name`, graph, axis and colorbar `title.text`, annotation `text` `rangeselector`, `updatemenues` and `sliders` `label` text all support `meta`. To access the trace `meta` values in an attribute in the same trace, simply use `%{meta[i]}` where `i` is the index or key of the `meta` item in question. To access trace `meta` in layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index.
	Meta interface{} `json:"meta,omitempty"`

	// Metasrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  meta .
	Metasrc String `json:"metasrc,omitempty"`

	// Name
	// arrayOK: false
	// type: string
	// Sets the trace name. The trace name appear as the legend item and on hover.
	Name String `json:"name,omitempty"`

	// Offset
	// arrayOK: true
	// type: number
	// Shifts the position where the bar is drawn (in position axis units). In *group* barmode, traces that set *offset* will be excluded and drawn in *overlay* mode instead.
	Offset float64 `json:"offset,omitempty"`

	// Offsetgroup
	// arrayOK: false
	// type: string
	// Set several traces linked to the same position axis or matching axes to the same offsetgroup where bars of the same position coordinate will line up.
	Offsetgroup String `json:"offsetgroup,omitempty"`

	// Offsetsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  offset .
	Offsetsrc String `json:"offsetsrc,omitempty"`

	// Opacity
	// arrayOK: false
	// type: number
	// Sets the opacity of the trace.
	Opacity float64 `json:"opacity,omitempty"`

	// Orientation
	// default: %!s(<nil>)
	// type: enumerated
	// Sets the orientation of the bars. With *v* (*h*), the value of the each bar spans along the vertical (horizontal).
	Orientation WaterfallOrientation `json:"orientation,omitempty"`

	// Outsidetextfont
	// role: Object
	Outsidetextfont *WaterfallOutsidetextfont `json:"outsidetextfont,omitempty"`

	// Selectedpoints
	// arrayOK: false
	// type: any
	// Array containing integer indices of selected points. Has an effect only for traces that support selections. Note that an empty array means an empty selection where the `unselected` are turned on for all points, whereas, any other non-array values means no selection all where the `selected` and `unselected` styles have no effect.
	Selectedpoints interface{} `json:"selectedpoints,omitempty"`

	// Showlegend
	// arrayOK: false
	// type: boolean
	// Determines whether or not an item corresponding to this trace is shown in the legend.
	Showlegend Bool `json:"showlegend,omitempty"`

	// Stream
	// role: Object
	Stream *WaterfallStream `json:"stream,omitempty"`

	// Text
	// arrayOK: true
	// type: string
	// Sets text elements associated with each (x,y) pair. If a single string, the same string appears over all the data points. If an array of string, the items are mapped in order to the this trace's (x,y) coordinates. If trace `hoverinfo` contains a *text* flag and *hovertext* is not set, these elements will be seen in the hover labels.
	Text String `json:"text,omitempty"`

	// Textangle
	// arrayOK: false
	// type: angle
	// Sets the angle of the tick labels with respect to the bar. For example, a `tickangle` of -90 draws the tick labels vertically. With *auto* the texts may automatically be rotated to fit with the maximum size in bars.
	Textangle float64 `json:"textangle,omitempty"`

	// Textfont
	// role: Object
	Textfont *WaterfallTextfont `json:"textfont,omitempty"`

	// Textinfo
	// default: %!s(<nil>)
	// type: flaglist
	// Determines which trace information appear on the graph. In the case of having multiple waterfalls, totals are computed separately (per trace).
	Textinfo WaterfallTextinfo `json:"textinfo,omitempty"`

	// Textposition
	// default: none
	// type: enumerated
	// Specifies the location of the `text`. *inside* positions `text` inside, next to the bar end (rotated and scaled if needed). *outside* positions `text` outside, next to the bar end (scaled if needed), unless there is another bar stacked on this one, then the text gets pushed inside. *auto* tries to position `text` inside the bar, but if the bar is too small and no bar is stacked on this one the text is moved outside.
	Textposition WaterfallTextposition `json:"textposition,omitempty"`

	// Textpositionsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  textposition .
	Textpositionsrc String `json:"textpositionsrc,omitempty"`

	// Textsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  text .
	Textsrc String `json:"textsrc,omitempty"`

	// Texttemplate
	// arrayOK: true
	// type: string
	// Template string used for rendering the information text that appear on points. Note that this will override `textinfo`. Variables are inserted using %{variable}, for example "y: %{y}". Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example "Price: %{y:$.2f}". https://github.com/d3/d3-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 String `json:"texttemplate,omitempty"`

	// Texttemplatesrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  texttemplate .
	Texttemplatesrc String `json:"texttemplatesrc,omitempty"`

	// Totals
	// role: Object
	Totals *WaterfallTotals `json:"totals,omitempty"`

	// Transforms
	// It's an items array and what goes inside it's... messy... check the docs
	// I will be happy if you want to contribute by implementing this
	// just raise an issue before you start so we do not overlap
	Transforms interface{} `json:"transforms,omitempty"`

	// Uid
	// arrayOK: false
	// type: string
	// Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.
	Uid String `json:"uid,omitempty"`

	// Uirevision
	// arrayOK: false
	// type: any
	// Controls persistence of some user-driven changes to the trace: `constraintrange` in `parcoords` traces, as well as some `editable: true` modifications such as `name` and `colorbar.title`. Defaults to `layout.uirevision`. Note that other user-driven trace attribute changes are controlled by `layout` attributes: `trace.visible` is controlled by `layout.legend.uirevision`, `selectedpoints` is controlled by `layout.selectionrevision`, and `colorbar.(x|y)` (accessible with `config: {editable: true}`) is controlled by `layout.editrevision`. Trace changes are tracked by `uid`, which only falls back on trace index if no `uid` is provided. So if your app can add/remove traces before the end of the `data` array, such that the same trace has a different index, you can still preserve user-driven changes if you give each trace a `uid` that stays with it as it moves.
	Uirevision interface{} `json:"uirevision,omitempty"`

	// Visible
	// default: %!s(bool=true)
	// type: enumerated
	// Determines whether or not this trace is visible. If *legendonly*, the trace is not drawn, but can appear as a legend item (provided that the legend itself is visible).
	Visible WaterfallVisible `json:"visible,omitempty"`

	// Width
	// arrayOK: true
	// type: number
	// Sets the bar width (in position axis units).
	Width float64 `json:"width,omitempty"`

	// Widthsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  width .
	Widthsrc String `json:"widthsrc,omitempty"`

	// X
	// arrayOK: false
	// type: data_array
	// Sets the x coordinates.
	X interface{} `json:"x,omitempty"`

	// X0
	// arrayOK: false
	// type: any
	// Alternate to `x`. Builds a linear space of x coordinates. Use with `dx` where `x0` is the starting coordinate and `dx` the step.
	X0 interface{} `json:"x0,omitempty"`

	// Xaxis
	// arrayOK: false
	// type: subplotid
	// Sets a reference between this trace's x coordinates and a 2D cartesian x axis. If *x* (the default value), the x coordinates refer to `layout.xaxis`. If *x2*, the x coordinates refer to `layout.xaxis2`, and so on.
	Xaxis String `json:"xaxis,omitempty"`

	// Xperiod
	// arrayOK: false
	// type: 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
	// arrayOK: false
	// type: any
	// Only relevant when the axis `type` is *date*. Sets the base for period positioning in milliseconds or date string on the x0 axis. When `x0period` is round number of weeks, the `x0period0` by default would be on a Sunday i.e. 2000-01-02, otherwise it would be at 2000-01-01.
	Xperiod0 interface{} `json:"xperiod0,omitempty"`

	// Xperiodalignment
	// default: middle
	// type: enumerated
	// Only relevant when the axis `type` is *date*. Sets the alignment of data points on the x axis.
	Xperiodalignment WaterfallXperiodalignment `json:"xperiodalignment,omitempty"`

	// Xsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  x .
	Xsrc String `json:"xsrc,omitempty"`

	// Y
	// arrayOK: false
	// type: data_array
	// Sets the y coordinates.
	Y interface{} `json:"y,omitempty"`

	// Y0
	// arrayOK: false
	// type: any
	// Alternate to `y`. Builds a linear space of y coordinates. Use with `dy` where `y0` is the starting coordinate and `dy` the step.
	Y0 interface{} `json:"y0,omitempty"`

	// Yaxis
	// arrayOK: false
	// type: subplotid
	// Sets a reference between this trace's y coordinates and a 2D cartesian y axis. If *y* (the default value), the y coordinates refer to `layout.yaxis`. If *y2*, the y coordinates refer to `layout.yaxis2`, and so on.
	Yaxis String `json:"yaxis,omitempty"`

	// Yperiod
	// arrayOK: false
	// type: 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
	// arrayOK: false
	// type: any
	// Only relevant when the axis `type` is *date*. Sets the base for period positioning in milliseconds or date string on the y0 axis. When `y0period` is round number of weeks, the `y0period0` by default would be on a Sunday i.e. 2000-01-02, otherwise it would be at 2000-01-01.
	Yperiod0 interface{} `json:"yperiod0,omitempty"`

	// Yperiodalignment
	// default: middle
	// type: enumerated
	// Only relevant when the axis `type` is *date*. Sets the alignment of data points on the y axis.
	Yperiodalignment WaterfallYperiodalignment `json:"yperiodalignment,omitempty"`

	// Ysrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  y .
	Ysrc String `json:"ysrc,omitempty"`
}

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 (*Waterfall) GetType

func (trace *Waterfall) GetType() TraceType

type WaterfallConnector

type WaterfallConnector struct {

	// Line
	// role: Object
	Line *WaterfallConnectorLine `json:"line,omitempty"`

	// Mode
	// default: between
	// type: enumerated
	// Sets the shape of connector lines.
	Mode WaterfallConnectorMode `json:"mode,omitempty"`

	// Visible
	// arrayOK: false
	// type: boolean
	// Determines if connector lines are drawn.
	Visible Bool `json:"visible,omitempty"`
}

WaterfallConnector

type WaterfallConnectorLine

type WaterfallConnectorLine struct {

	// Color
	// arrayOK: false
	// type: color
	// Sets the line color.
	Color Color `json:"color,omitempty"`

	// Dash
	// arrayOK: false
	// type: string
	// Sets the dash style of lines. Set to a dash type string (*solid*, *dot*, *dash*, *longdash*, *dashdot*, or *longdashdot*) or a dash length list in px (eg *5px,10px,2px,2px*).
	Dash String `json:"dash,omitempty"`

	// Width
	// arrayOK: false
	// type: number
	// Sets the line width (in px).
	Width float64 `json:"width,omitempty"`
}

WaterfallConnectorLine

type WaterfallConnectorMode

type WaterfallConnectorMode string

WaterfallConnectorMode Sets the shape of connector lines.

const (
	WaterfallConnectorModeSpanning WaterfallConnectorMode = "spanning"
	WaterfallConnectorModeBetween  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 (
	WaterfallConstraintextInside  WaterfallConstraintext = "inside"
	WaterfallConstraintextOutside WaterfallConstraintext = "outside"
	WaterfallConstraintextBoth    WaterfallConstraintext = "both"
	WaterfallConstraintextNone    WaterfallConstraintext = "none"
)

type WaterfallDecreasing

type WaterfallDecreasing struct {

	// Marker
	// role: Object
	Marker *WaterfallDecreasingMarker `json:"marker,omitempty"`
}

WaterfallDecreasing

type WaterfallDecreasingMarker

type WaterfallDecreasingMarker struct {

	// Color
	// arrayOK: false
	// type: color
	// Sets the marker color of all decreasing values.
	Color Color `json:"color,omitempty"`

	// Line
	// role: Object
	Line *WaterfallDecreasingMarkerLine `json:"line,omitempty"`
}

WaterfallDecreasingMarker

type WaterfallDecreasingMarkerLine

type WaterfallDecreasingMarkerLine struct {

	// Color
	// arrayOK: false
	// type: color
	// Sets the line color of all decreasing values.
	Color Color `json:"color,omitempty"`

	// Width
	// arrayOK: false
	// type: number
	// Sets the line width of all decreasing values.
	Width float64 `json:"width,omitempty"`
}

WaterfallDecreasingMarkerLine

type WaterfallHoverinfo

type WaterfallHoverinfo string

WaterfallHoverinfo Determines which trace information appear on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired.

const (
	// Flags
	WaterfallHoverinfoName    WaterfallHoverinfo = "name"
	WaterfallHoverinfoX       WaterfallHoverinfo = "x"
	WaterfallHoverinfoY       WaterfallHoverinfo = "y"
	WaterfallHoverinfoText    WaterfallHoverinfo = "text"
	WaterfallHoverinfoInitial WaterfallHoverinfo = "initial"
	WaterfallHoverinfoDelta   WaterfallHoverinfo = "delta"
	WaterfallHoverinfoFinal   WaterfallHoverinfo = "final"

	// Extra
	WaterfallHoverinfoAll  WaterfallHoverinfo = "all"
	WaterfallHoverinfoNone WaterfallHoverinfo = "none"
	WaterfallHoverinfoSkip WaterfallHoverinfo = "skip"
)

type WaterfallHoverlabel

type WaterfallHoverlabel struct {

	// Align
	// default: auto
	// type: enumerated
	// Sets the horizontal alignment of the text content within hover label box. Has an effect only if the hover label text spans more two or more lines
	Align WaterfallHoverlabelAlign `json:"align,omitempty"`

	// Alignsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  align .
	Alignsrc String `json:"alignsrc,omitempty"`

	// Bgcolor
	// arrayOK: true
	// type: color
	// Sets the background color of the hover labels for this trace
	Bgcolor Color `json:"bgcolor,omitempty"`

	// Bgcolorsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  bgcolor .
	Bgcolorsrc String `json:"bgcolorsrc,omitempty"`

	// Bordercolor
	// arrayOK: true
	// type: color
	// Sets the border color of the hover labels for this trace.
	Bordercolor Color `json:"bordercolor,omitempty"`

	// Bordercolorsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  bordercolor .
	Bordercolorsrc String `json:"bordercolorsrc,omitempty"`

	// Font
	// role: Object
	Font *WaterfallHoverlabelFont `json:"font,omitempty"`

	// Namelength
	// arrayOK: true
	// type: integer
	// Sets the default length (in number of characters) of the trace name in the hover labels for all traces. -1 shows the whole name regardless of length. 0-3 shows the first 0-3 characters, and an integer >3 will show the whole name if it is less than that many characters, but if it is longer, will truncate to `namelength - 3` characters and add an ellipsis.
	Namelength int64 `json:"namelength,omitempty"`

	// Namelengthsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  namelength .
	Namelengthsrc String `json:"namelengthsrc,omitempty"`
}

WaterfallHoverlabel

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 (
	WaterfallHoverlabelAlignLeft  WaterfallHoverlabelAlign = "left"
	WaterfallHoverlabelAlignRight WaterfallHoverlabelAlign = "right"
	WaterfallHoverlabelAlignAuto  WaterfallHoverlabelAlign = "auto"
)

type WaterfallHoverlabelFont

type WaterfallHoverlabelFont struct {

	// Color
	// arrayOK: true
	// type: color
	//
	Color Color `json:"color,omitempty"`

	// Colorsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  color .
	Colorsrc String `json:"colorsrc,omitempty"`

	// Family
	// arrayOK: true
	// type: string
	// HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.
	Family String `json:"family,omitempty"`

	// Familysrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  family .
	Familysrc String `json:"familysrc,omitempty"`

	// Size
	// arrayOK: true
	// type: number
	//
	Size float64 `json:"size,omitempty"`

	// Sizesrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  size .
	Sizesrc String `json:"sizesrc,omitempty"`
}

WaterfallHoverlabelFont Sets the font used in hover labels.

type WaterfallIncreasing

type WaterfallIncreasing struct {

	// Marker
	// role: Object
	Marker *WaterfallIncreasingMarker `json:"marker,omitempty"`
}

WaterfallIncreasing

type WaterfallIncreasingMarker

type WaterfallIncreasingMarker struct {

	// Color
	// arrayOK: false
	// type: color
	// Sets the marker color of all increasing values.
	Color Color `json:"color,omitempty"`

	// Line
	// role: Object
	Line *WaterfallIncreasingMarkerLine `json:"line,omitempty"`
}

WaterfallIncreasingMarker

type WaterfallIncreasingMarkerLine

type WaterfallIncreasingMarkerLine struct {

	// Color
	// arrayOK: false
	// type: color
	// Sets the line color of all increasing values.
	Color Color `json:"color,omitempty"`

	// Width
	// arrayOK: false
	// type: number
	// Sets the line width of all increasing values.
	Width float64 `json:"width,omitempty"`
}

WaterfallIncreasingMarkerLine

type WaterfallInsidetextanchor

type WaterfallInsidetextanchor string

WaterfallInsidetextanchor Determines if texts are kept at center or start/end points in `textposition` *inside* mode.

const (
	WaterfallInsidetextanchorEnd    WaterfallInsidetextanchor = "end"
	WaterfallInsidetextanchorMiddle WaterfallInsidetextanchor = "middle"
	WaterfallInsidetextanchorStart  WaterfallInsidetextanchor = "start"
)

type WaterfallInsidetextfont

type WaterfallInsidetextfont struct {

	// Color
	// arrayOK: true
	// type: color
	//
	Color Color `json:"color,omitempty"`

	// Colorsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  color .
	Colorsrc String `json:"colorsrc,omitempty"`

	// Family
	// arrayOK: true
	// type: string
	// HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.
	Family String `json:"family,omitempty"`

	// Familysrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  family .
	Familysrc String `json:"familysrc,omitempty"`

	// Size
	// arrayOK: true
	// type: number
	//
	Size float64 `json:"size,omitempty"`

	// Sizesrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  size .
	Sizesrc String `json:"sizesrc,omitempty"`
}

WaterfallInsidetextfont Sets the font used for `text` lying inside the bar.

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 (
	WaterfallOrientationV WaterfallOrientation = "v"
	WaterfallOrientationH WaterfallOrientation = "h"
)

type WaterfallOutsidetextfont

type WaterfallOutsidetextfont struct {

	// Color
	// arrayOK: true
	// type: color
	//
	Color Color `json:"color,omitempty"`

	// Colorsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  color .
	Colorsrc String `json:"colorsrc,omitempty"`

	// Family
	// arrayOK: true
	// type: string
	// HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.
	Family String `json:"family,omitempty"`

	// Familysrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  family .
	Familysrc String `json:"familysrc,omitempty"`

	// Size
	// arrayOK: true
	// type: number
	//
	Size float64 `json:"size,omitempty"`

	// Sizesrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  size .
	Sizesrc String `json:"sizesrc,omitempty"`
}

WaterfallOutsidetextfont Sets the font used for `text` lying outside the bar.

type WaterfallStream

type WaterfallStream struct {

	// Maxpoints
	// arrayOK: false
	// type: number
	// Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot.
	Maxpoints float64 `json:"maxpoints,omitempty"`

	// Token
	// arrayOK: false
	// type: string
	// The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details.
	Token String `json:"token,omitempty"`
}

WaterfallStream

type WaterfallTextfont

type WaterfallTextfont struct {

	// Color
	// arrayOK: true
	// type: color
	//
	Color Color `json:"color,omitempty"`

	// Colorsrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  color .
	Colorsrc String `json:"colorsrc,omitempty"`

	// Family
	// arrayOK: true
	// type: string
	// HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.
	Family String `json:"family,omitempty"`

	// Familysrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  family .
	Familysrc String `json:"familysrc,omitempty"`

	// Size
	// arrayOK: true
	// type: number
	//
	Size float64 `json:"size,omitempty"`

	// Sizesrc
	// arrayOK: false
	// type: string
	// Sets the source reference on Chart Studio Cloud for  size .
	Sizesrc String `json:"sizesrc,omitempty"`
}

WaterfallTextfont Sets the font used for `text`.

type WaterfallTextinfo

type WaterfallTextinfo string

WaterfallTextinfo Determines which trace information appear on the graph. In the case of having multiple waterfalls, totals are computed separately (per trace).

const (
	// Flags
	WaterfallTextinfoLabel   WaterfallTextinfo = "label"
	WaterfallTextinfoText    WaterfallTextinfo = "text"
	WaterfallTextinfoInitial WaterfallTextinfo = "initial"
	WaterfallTextinfoDelta   WaterfallTextinfo = "delta"
	WaterfallTextinfoFinal   WaterfallTextinfo = "final"

	// Extra
	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 (
	WaterfallTextpositionInside  WaterfallTextposition = "inside"
	WaterfallTextpositionOutside WaterfallTextposition = "outside"
	WaterfallTextpositionAuto    WaterfallTextposition = "auto"
	WaterfallTextpositionNone    WaterfallTextposition = "none"
)

type WaterfallTotals

type WaterfallTotals struct {

	// Marker
	// role: Object
	Marker *WaterfallTotalsMarker `json:"marker,omitempty"`
}

WaterfallTotals

type WaterfallTotalsMarker

type WaterfallTotalsMarker struct {

	// Color
	// arrayOK: false
	// type: color
	// Sets the marker color of all intermediate sums and total values.
	Color Color `json:"color,omitempty"`

	// Line
	// role: Object
	Line *WaterfallTotalsMarkerLine `json:"line,omitempty"`
}

WaterfallTotalsMarker

type WaterfallTotalsMarkerLine

type WaterfallTotalsMarkerLine struct {

	// Color
	// arrayOK: false
	// type: color
	// Sets the line color of all intermediate sums and total values.
	Color Color `json:"color,omitempty"`

	// Width
	// arrayOK: false
	// type: number
	// Sets the line width of all intermediate sums and total values.
	Width float64 `json:"width,omitempty"`
}

WaterfallTotalsMarkerLine

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 (
	WaterfallVisibleTrue       WaterfallVisible = true
	WaterfallVisibleFalse      WaterfallVisible = false
	WaterfallVisibleLegendonly WaterfallVisible = "legendonly"
)

type WaterfallXperiodalignment added in v0.3.1

type WaterfallXperiodalignment string

WaterfallXperiodalignment Only relevant when the axis `type` is *date*. Sets the alignment of data points on the x axis.

const (
	WaterfallXperiodalignmentStart  WaterfallXperiodalignment = "start"
	WaterfallXperiodalignmentMiddle WaterfallXperiodalignment = "middle"
	WaterfallXperiodalignmentEnd    WaterfallXperiodalignment = "end"
)

type WaterfallYperiodalignment added in v0.3.1

type WaterfallYperiodalignment string

WaterfallYperiodalignment Only relevant when the axis `type` is *date*. Sets the alignment of data points on the y axis.

const (
	WaterfallYperiodalignmentStart  WaterfallYperiodalignment = "start"
	WaterfallYperiodalignmentMiddle WaterfallYperiodalignment = "middle"
	WaterfallYperiodalignmentEnd    WaterfallYperiodalignment = "end"
)

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL