Skip to content

Scatter (line, area & scatter)

Overview

The scatter trace type is used to create scatter plots, which visualize data points based on two numerical variables. Scatter plots are widely used for analyzing relationships between variables, identifying trends, and detecting outliers.

Gotchas

  1. Scatter traces are also used to generate area and line traces.
  2. The line connections of a scatter trace are determined by the trace.order_by attribute. Make sure to set that to get a deterministic trace for lines and area permutations.

You can customize the marker size, color, and add lines to connect the points to represent the data in various forms like scatter plots, line charts, and more.

Common Uses

  • Relationship Analysis: Exploring the relationship between two variables.
  • Trend Detection: Identifying trends or patterns in data.
  • Outlier Identification: Spotting outliers in data distributions.

Check out the Attributes for the full set of configuration options

Examples

Common Configurations

Here's a simple scatter plot showing data points on a 2D plane:

You can copy this code below to create this chart in your project:

models:
  - name: scatter-data
    args:
      - echo
      - |
        x,y
        1,10
        2,20
        3,15
        4,25
        5,30
        1.5,5
        2.5,22
        3.5,9
        4.5,21
        5.5,15

traces:
  - name: Simple Scatter Plot
    model: ${ref(scatter-data)}
    props:
      type: scatter
      x: ?{x}
      y: ?{y}
      mode: "markers"
      marker: 
        size: 10
    order_by: 
      - ?{x asc}
charts:
  - name: Simple Scatter Chart
    traces:
      - ${ref(Simple Scatter Plot)}
    layout:
      title:
        text: Simple Scatter Plot<br><sub>2D Data Points</sub>

This example demonstrates a scatter plot with lines connecting the data points to show trends:

Here's the code:

models:
  - name: scatter-data-lines
    args:
      - echo
      - |
        x,y
        1,5
        2,10
        3,8
        4,15
        5,12
traces:
  - name: Markers and Line
    model: ${ref(scatter-data-lines)}
    props:
      type: scatter
      x: ?{x}
      y: ?{y}
      mode: "lines+markers"
    order_by: 
      - ?{x asc}
  - name: Spline No Markers
    model: ${ref(scatter-data-lines)}
    props:
      type: scatter
      x: ?{x+3 - (x*x)/3}
      y: ?{y*1.5}
      mode: "lines"
      line: 
        shape: spline
        smoothing: .5 #Sets spline bend
    order_by: 
      - ?{x+3 - (x*x)/3}
charts:
  - name: Scatter Chart with Lines
    traces:
      - ${ref(Markers and Line)}
      - ${ref(Spline No Markers)}
    layout:
      title:
        text: Scatter Plot with Lines<br><sub>Connecting Data Points with Lines</sub>
      legend: 
        orientation: h

Here's a scatter plot with custom marker sizes and colors, giving more visual weight to each data point:

Here's the code:

models:
  - name: scatter-data-custom
    args:
      - echo
      - |
        x,y,size,color
        1,5,10,#1f77b4
        2,10,15,#ff7f0e
        3,8,20,#2ca02c
        4,15,25,#d62728
        5,12,30,#9467bd
traces:
  - name: Scatter Plot with Custom Markers
    model: ${ref(scatter-data-custom)}
    props:
      type: scatter
      x: ?{x}
      y: ?{y}
      mode: "markers"
      marker:
        size: ?{size}
        color: ?{color}
    order_by: 
      - ?{x asc}
charts:
  - name: Scatter Chart with Custom Markers
    traces:
      - ${ref(Scatter Plot with Custom Markers)}
    layout:
      title:
        text: Scatter Plot with Custom Markers<br><sub>Custom Sizes and Colors for Data Points</sub>

Here's a scatter plot used to create an area plot, filling the area under the line:

Here's the code:

models:
  - name: area-plot-data
    args:
      - echo
      - |
        x,y
        1,5
        2,7
        3,10
        4,8
        5,12
        6,9
        7,11
traces:
  - name: Area Plot
    model: ${ref(area-plot-data)}
    props:
      type: scatter
      x: ?{x}
      y: ?{y}
      mode: "lines"
      fill: "tozeroy"
      fillcolor: "rgba(55, 126, 184, 0.2)"
      line:
        color: "rgb(55, 126, 184)"
        width: 2
    order_by: 
      - ?{x asc}
charts:
  - name: Area Plot Chart
    traces:
      - ${ref(Area Plot)}
    layout:
      title:
        text: Area Plot<br><sub>Filled Area Under the Line</sub>

A schema to validate plotly trace properties

Attributes

These attributes apply to traces where trace.props.type is set to scatter. You would configure these attributes on the trace with the trace.props object.

alignmentgroup: 'string' #(1)!
cliponaxis: 'boolean' #(2)!
connectgaps: 'boolean' #(3)!
customdata: 'array' #(4)!
customdatasrc: 'string' #(5)!
dx: 'number' #(6)!
dy: 'number' #(7)!
error_x:
  array: 'array' #(8)!
  arrayminus: 'array' #(9)!
  arrayminussrc: 'string' #(10)!
  arraysrc: 'string' #(11)!
  color: 'any' #(12)!
  copy_ystyle: boolean
  symmetric: 'boolean' #(13)!
  thickness: 'number' #(14)!
  traceref: integer
  tracerefminus: integer
  type: 'any' #(15)!
  value: 'number' #(16)!
  valueminus: 'number' #(17)!
  visible: 'boolean' #(18)!
  width: 'number' #(19)!
error_y:
  array: 'array' #(20)!
  arrayminus: 'array' #(21)!
  arrayminussrc: 'string' #(22)!
  arraysrc: 'string' #(23)!
  color: 'any' #(24)!
  symmetric: 'boolean' #(25)!
  thickness: 'number' #(26)!
  traceref: integer
  tracerefminus: integer
  type: 'any' #(27)!
  value: 'number' #(28)!
  valueminus: 'number' #(29)!
  visible: 'boolean' #(30)!
  width: 'number' #(31)!
fill: 'any' #(32)!
fillcolor: 'any' #(33)!
fillgradient:
  colorscale: 'any' #(34)!
  start: 'number' #(35)!
  stop: 'number' #(36)!
  type: 'any' #(37)!
fillpattern:
  bgcolor: 'color | array' #(38)!
  bgcolorsrc: 'string' #(39)!
  fgcolor: 'color | array' #(40)!
  fgcolorsrc: 'string' #(41)!
  fgopacity: 'number' #(42)!
  fillmode: 'any' #(43)!
  shape: 'array' #(44)!
  shapesrc: 'string' #(45)!
  size: 'number | array' #(46)!
  sizesrc: 'string' #(47)!
  solidity: 'number | array' #(48)!
  soliditysrc: 'string' #(49)!
groupnorm: 'any' #(50)!
hoverinfo: 'array' #(51)!
hoverinfosrc: 'string' #(52)!
hoverlabel:
  align: 'array' #(53)!
  alignsrc: 'string' #(54)!
  bgcolor: 'color | array' #(55)!
  bgcolorsrc: 'string' #(56)!
  bordercolor: 'color | array' #(57)!
  bordercolorsrc: 'string' #(58)!
  font:
    color: color | array
    colorsrc: 'string' #(59)!
    family: 'string | array' #(60)!
    familysrc: 'string' #(61)!
    lineposition: 'array' #(62)!
    linepositionsrc: 'string' #(63)!
    shadow: 'string | array' #(64)!
    shadowsrc: 'string' #(65)!
    size: number | array
    sizesrc: 'string' #(66)!
    style: 'array' #(67)!
    stylesrc: 'string' #(68)!
    textcase: 'array' #(69)!
    textcasesrc: 'string' #(70)!
    variant: 'array' #(71)!
    variantsrc: 'string' #(72)!
    weight: 'integer | array' #(73)!
    weightsrc: 'string' #(74)!
  namelength: 'integer | array' #(75)!
  namelengthsrc: 'string' #(76)!
hoveron: 'string' #(77)!
hovertemplate: 'string | array' #(78)!
hovertemplatesrc: 'string' #(79)!
hovertext: 'string | array' #(80)!
hovertextsrc: 'string' #(81)!
ids: 'array' #(82)!
idssrc: 'string' #(83)!
legend: 'string' #(84)!
legendgroup: 'string' #(85)!
legendgrouptitle:
  font:
    color: any
    family: 'string' #(86)!
    lineposition: 'string' #(87)!
    shadow: 'string' #(88)!
    size: number
    style: 'any' #(89)!
    textcase: 'any' #(90)!
    variant: 'any' #(91)!
    weight: 'integer' #(92)!
  text: 'string' #(93)!
legendrank: 'number' #(94)!
legendwidth: 'number' #(95)!
line:
  backoff: 'number | array' #(96)!
  backoffsrc: 'string' #(97)!
  color: 'any' #(98)!
  dash: 'string' #(99)!
  shape: 'any' #(100)!
  simplify: 'boolean' #(101)!
  smoothing: 'number' #(102)!
  width: 'number' #(103)!
marker:
  angle: 'number | array' #(104)!
  angleref: 'any' #(105)!
  anglesrc: 'string' #(106)!
  autocolorscale: 'boolean' #(107)!
  cauto: 'boolean' #(108)!
  cmax: 'number' #(109)!
  cmid: 'number' #(110)!
  cmin: 'number' #(111)!
  color: 'color | array' #(112)!
  coloraxis: 'string' #(113)!
  colorbar:
    bgcolor: 'any' #(114)!
    bordercolor: 'any' #(115)!
    borderwidth: 'number' #(116)!
    exponentformat: 'any' #(117)!
    len: 'number' #(118)!
    lenmode: 'any' #(119)!
    minexponent: 'number' #(120)!
    nticks: 'integer' #(121)!
    orientation: 'any' #(122)!
    outlinecolor: 'any' #(123)!
    outlinewidth: 'number' #(124)!
    separatethousands: 'boolean' #(125)!
    showexponent: 'any' #(126)!
    showticklabels: 'boolean' #(127)!
    showtickprefix: 'any' #(128)!
    showticksuffix: 'any' #(129)!
    thickness: 'number' #(130)!
    thicknessmode: 'any' #(131)!
    tickangle: 'number' #(132)!
    tickcolor: 'any' #(133)!
    tickfont:
      color: any
      family: 'string' #(134)!
      lineposition: 'string' #(135)!
      shadow: 'string' #(136)!
      size: number
      style: 'any' #(137)!
      textcase: 'any' #(138)!
      variant: 'any' #(139)!
      weight: 'integer' #(140)!
    tickformat: 'string' #(141)!
    tickformatstops: array
    ticklabeloverflow: 'any' #(142)!
    ticklabelposition: 'any' #(143)!
    ticklabelstep: 'integer' #(144)!
    ticklen: 'number' #(145)!
    tickmode: 'any' #(146)!
    tickprefix: 'string' #(147)!
    ticks: 'any' #(148)!
    ticksuffix: 'string' #(149)!
    ticktext: 'array' #(150)!
    ticktextsrc: 'string' #(151)!
    tickvals: 'array' #(152)!
    tickvalssrc: 'string' #(153)!
    tickwidth: 'number' #(154)!
    title:
      font:
        color: any
        family: 'string' #(155)!
        lineposition: 'string' #(156)!
        shadow: 'string' #(157)!
        size: number
        style: 'any' #(158)!
        textcase: 'any' #(159)!
        variant: 'any' #(160)!
        weight: 'integer' #(161)!
      side: 'any' #(162)!
      text: 'string' #(163)!
    x: 'number' #(164)!
    xanchor: 'any' #(165)!
    xpad: 'number' #(166)!
    xref: 'any' #(167)!
    y: 'number' #(168)!
    yanchor: 'any' #(169)!
    ypad: 'number' #(170)!
    yref: 'any' #(171)!
  colorscale: 'any' #(172)!
  colorsrc: 'string' #(173)!
  gradient:
    color: 'color | array' #(174)!
    colorsrc: 'string' #(175)!
    type: 'array' #(176)!
    typesrc: 'string' #(177)!
  line:
    autocolorscale: 'boolean' #(178)!
    cauto: 'boolean' #(179)!
    cmax: 'number' #(180)!
    cmid: 'number' #(181)!
    cmin: 'number' #(182)!
    color: 'color | array' #(183)!
    coloraxis: 'string' #(184)!
    colorscale: 'any' #(185)!
    colorsrc: 'string' #(186)!
    reversescale: 'boolean' #(187)!
    width: 'number | array' #(188)!
    widthsrc: 'string' #(189)!
  maxdisplayed: 'number' #(190)!
  opacity: 'number | array' #(191)!
  opacitysrc: 'string' #(192)!
  reversescale: 'boolean' #(193)!
  showscale: 'boolean' #(194)!
  size: 'number | array' #(195)!
  sizemin: 'number' #(196)!
  sizemode: 'any' #(197)!
  sizeref: 'number' #(198)!
  sizesrc: 'string' #(199)!
  standoff: 'number | array' #(200)!
  standoffsrc: 'string' #(201)!
  symbol: 'array' #(202)!
  symbolsrc: 'string' #(203)!
metasrc: 'string' #(204)!
mode: 'string' #(205)!
name: 'string' #(206)!
offsetgroup: 'string' #(207)!
opacity: 'number' #(208)!
orientation: 'any' #(209)!
selected:
  marker:
    color: 'any' #(210)!
    opacity: 'number' #(211)!
    size: 'number' #(212)!
  textfont:
    color: 'any' #(213)!
showlegend: 'boolean' #(214)!
stackgaps: 'any' #(215)!
stackgroup: 'string' #(216)!
stream:
  maxpoints: 'number' #(217)!
  token: 'string' #(218)!
text: 'string | array' #(219)!
textfont:
  color: color | array
  colorsrc: 'string' #(220)!
  family: 'string | array' #(221)!
  familysrc: 'string' #(222)!
  lineposition: 'array' #(223)!
  linepositionsrc: 'string' #(224)!
  shadow: 'string | array' #(225)!
  shadowsrc: 'string' #(226)!
  size: number | array
  sizesrc: 'string' #(227)!
  style: 'array' #(228)!
  stylesrc: 'string' #(229)!
  textcase: 'array' #(230)!
  textcasesrc: 'string' #(231)!
  variant: 'array' #(232)!
  variantsrc: 'string' #(233)!
  weight: 'integer | array' #(234)!
  weightsrc: 'string' #(235)!
textposition: 'array' #(236)!
textpositionsrc: 'string' #(237)!
textsrc: 'string' #(238)!
texttemplate: 'string | array' #(239)!
texttemplatesrc: 'string' #(240)!
type: scatter
uid: 'string' #(241)!
unselected:
  marker:
    color: 'any' #(242)!
    opacity: 'number' #(243)!
    size: 'number' #(244)!
  textfont:
    color: 'any' #(245)!
visible: 'any' #(246)!
x: 'array' #(247)!
xaxis: 'string' #(248)!
xcalendar: 'any' #(249)!
xhoverformat: 'string' #(250)!
xperiodalignment: 'any' #(251)!
xsrc: 'string' #(252)!
y: 'array' #(253)!
yaxis: 'string' #(254)!
ycalendar: 'any' #(255)!
yhoverformat: 'string' #(256)!
yperiodalignment: 'any' #(257)!
ysrc: 'string' #(258)!
zorder: 'integer' #(259)!
  1. 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.
  2. 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.
  3. Determines whether or not gaps (i.e. {nan} or missing values) in the provided data arrays are connected.
  4. Assigns extra data each datum. This may be useful when listening to hover, click and selection events. Note that, scatter traces also appends customdata items in the markers DOM elements
  5. Sets the source reference on Chart Studio Cloud for customdata.
  6. Sets the x coordinate step. See x0 for more info.
  7. Sets the y coordinate step. See y0 for more info.
  8. Sets the data corresponding the length of each error bar. Values are plotted relative to the underlying data.
  9. 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.
  10. Sets the source reference on Chart Studio Cloud for arrayminus.
  11. Sets the source reference on Chart Studio Cloud for array.
  12. Sets the stroke color of the error bars.
  13. Determines whether or not the error bars have the same length in both direction (top/bottom for vertical bars, left/right for horizontal bars.
  14. Sets the thickness (in px) of the error bars.
  15. Determines the rule used to generate the error bars. If *constant, the bar lengths are of a constant value. Set this constant invalue. If *percent*, the bar lengths correspond to a percentage of underlying data. Set this percentage invalue. If *sqrt*, the bar lengths correspond to the square of the underlying data. If *data*, the bar lengths are set with data setarray`.
  16. 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.
  17. 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
  18. Determines whether or not this set of error bars is visible.
  19. Sets the width (in px) of the cross-bar at both ends of the error bars.
  20. Sets the data corresponding the length of each error bar. Values are plotted relative to the underlying data.
  21. 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.
  22. Sets the source reference on Chart Studio Cloud for arrayminus.
  23. Sets the source reference on Chart Studio Cloud for array.
  24. Sets the stroke color of the error bars.
  25. Determines whether or not the error bars have the same length in both direction (top/bottom for vertical bars, left/right for horizontal bars.
  26. Sets the thickness (in px) of the error bars.
  27. Determines the rule used to generate the error bars. If *constant, the bar lengths are of a constant value. Set this constant invalue. If *percent*, the bar lengths correspond to a percentage of underlying data. Set this percentage invalue. If *sqrt*, the bar lengths correspond to the square of the underlying data. If *data*, the bar lengths are set with data setarray`.
  28. 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.
  29. 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
  30. Determines whether or not this set of error bars is visible.
  31. Sets the width (in px) of the cross-bar at both ends of the error bars.
  32. 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 stackgroups 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.
  33. Sets the fill color. Defaults to a half-transparent variant of the line color, marker color, or marker line color, whichever is available. If fillgradient is specified, fillcolor is ignored except for setting the background color of the hover label, if any.
  34. Sets the fill gradient colors as a color scale. The color scale is interpreted as a gradient applied in the direction specified by orientation, from the lowest to the highest value of the scatter plot along that axis, or from the center to the most distant point from it, if orientation is radial.
  35. Sets the gradient start value. It is given as the absolute position on the axis determined by the orientation. E.g., if orientation is horizontal, the gradient will be horizontal and start from the x-position given by start. If omitted, the gradient starts at the lowest value of the trace along the respective axis. Ignored if orientation is radial.
  36. Sets the gradient end value. It is given as the absolute position on the axis determined by the orientation. E.g., if orientation is horizontal, the gradient will be horizontal and end at the x-position given by end. If omitted, the gradient ends at the highest value of the trace along the respective axis. Ignored if orientation is radial.
  37. Sets the type/orientation of the color gradient for the fill. Defaults to none.
  38. When there is no colorscale sets the color of background pattern fill. Defaults to a marker.color background when fillmode is overlay. Otherwise, defaults to a transparent background.
  39. Sets the source reference on Chart Studio Cloud for bgcolor.
  40. When there is no colorscale sets the color of foreground pattern fill. Defaults to a marker.color background when fillmode is replace. Otherwise, defaults to dark grey or white to increase contrast with the bgcolor.
  41. Sets the source reference on Chart Studio Cloud for fgcolor.
  42. Sets the opacity of the foreground pattern fill. Defaults to a 0.5 when fillmode is overlay. Otherwise, defaults to 1.
  43. Determines whether marker.color should be used as a default to bgcolor or a fgcolor.
  44. Sets the shape of the pattern fill. By default, no pattern is used for filling the area.
  45. Sets the source reference on Chart Studio Cloud for shape.
  46. Sets the size of unit squares of the pattern fill in pixels, which corresponds to the interval of repetition of the pattern.
  47. Sets the source reference on Chart Studio Cloud for size.
  48. Sets the solidity of the pattern fill. Solidity is roughly the fraction of the area filled by the pattern. Solidity of 0 shows only the background color without pattern and solidty of 1 shows only the foreground color without pattern.
  49. Sets the source reference on Chart Studio Cloud for solidity.
  50. 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 stackgroups on one subplot, each will be normalized within its own set.
  51. Determines which trace information appear on hover. If none or skip are set, no information is displayed upon hovering. But, if none is set, click and hover events are still fired.
  52. Sets the source reference on Chart Studio Cloud for hoverinfo.
  53. Sets the horizontal alignment of the text content within hover label box. Has an effect only if the hover label text spans more two or more lines
  54. Sets the source reference on Chart Studio Cloud for align.
  55. Sets the background color of the hover labels for this trace
  56. Sets the source reference on Chart Studio Cloud for bgcolor.
  57. Sets the border color of the hover labels for this trace.
  58. Sets the source reference on Chart Studio Cloud for bordercolor.
  59. Sets the source reference on Chart Studio Cloud for color.
  60. HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.
  61. Sets the source reference on Chart Studio Cloud for family.
  62. Sets the kind of decoration line(s) with text, such as an under, over or through as well as combinations e.g. under+over, etc.
  63. Sets the source reference on Chart Studio Cloud for lineposition.
  64. Sets the shape and color of the shadow behind text. auto places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.
  65. Sets the source reference on Chart Studio Cloud for shadow.
  66. Sets the source reference on Chart Studio Cloud for size.
  67. Sets whether a font should be styled with a normal or italic face from its family.
  68. Sets the source reference on Chart Studio Cloud for style.
  69. Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.
  70. Sets the source reference on Chart Studio Cloud for textcase.
  71. Sets the variant of the font.
  72. Sets the source reference on Chart Studio Cloud for variant.
  73. Sets the weight (or boldness) of the font.
  74. Sets the source reference on Chart Studio Cloud for weight.
  75. Sets the default length (in number of characters) of the trace name in the hover labels for all traces. -1 shows the whole name regardless of length. 0-3 shows the first 0-3 characters, and an integer >3 will show the whole name if it is less than that many characters, but if it is longer, will truncate to namelength - 3 characters and add an ellipsis.
  76. Sets the source reference on Chart Studio Cloud for namelength.
  77. 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.
  78. Template string used for rendering the information that appear on hover box. Note that this will override hoverinfo. Variables are inserted using %{variable}, for example "y: %{y}" as well as %{xother}, {%xother}, {%_xother}, {%xother_}. When showing info for several points, xother will be added to those with different x positions from the first point. An underscore before or after (x|y)other will add a space on that side, only when this field is shown. Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example "Price: %{y:$.2f}". https://github.com/d3/d3-format/tree/v1.4.5#d3-format for details on the formatting syntax. Dates are formatted using d3-time-format's syntax %{variable|d3-time-format}, for example "Day: %{2019-01-01|%A}". https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format for details on the date formatting syntax. The variables available in hovertemplate are the ones emitted as event data described at this link https://plotly.com/javascript/plotlyjs-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 "{fullData.name}". To hide the secondary box completely, use an empty tag <extra></extra>.
  79. Sets the source reference on Chart Studio Cloud for hovertemplate.
  80. 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.
  81. Sets the source reference on Chart Studio Cloud for hovertext.
  82. Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type.
  83. Sets the source reference on Chart Studio Cloud for ids.
  84. Sets the reference to a legend to show this trace in. References to these legends are legend, legend2, legend3, etc. Settings for these legends are set in the layout, under layout.legend, layout.legend2, etc.
  85. Sets the legend group for this trace. Traces and shapes part of the same legend group hide/show at the same time when toggling legend items.
  86. HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.
  87. Sets the kind of decoration line(s) with text, such as an under, over or through as well as combinations e.g. under+over, etc.
  88. Sets the shape and color of the shadow behind text. auto places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.
  89. Sets whether a font should be styled with a normal or italic face from its family.
  90. Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.
  91. Sets the variant of the font.
  92. Sets the weight (or boldness) of the font.
  93. Sets the title of the legend group.
  94. Sets the legend rank for this trace. Items and groups with smaller ranks are presented on top/left side while with reversed legend.traceorder they are on bottom/right side. The default legendrank is 1000, so that you can use ranks less than 1000 to place certain items before all unranked items, and ranks greater than 1000 to go after all unranked items. When having unranked or equal rank items shapes would be displayed after traces i.e. according to their order in data and layout.
  95. Sets the width (in px or fraction) of the legend for this trace.
  96. Sets the line back off from the end point of the nth line segment (in px). This option is useful e.g. to avoid overlap with arrowhead markers. With auto the lines would trim before markers if marker.angleref is set to previous.
  97. Sets the source reference on Chart Studio Cloud for backoff.
  98. Sets the line color.
  99. Sets the dash style of lines. Set to a dash type string (solid, dot, dash, longdash, dashdot, or longdashdot) or a dash length list in px (eg 5px,10px,2px,2px).
  100. Determines the line shape. With spline the lines are drawn using spline interpolation. The other available values correspond to step-wise line shapes.
  101. 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.
  102. 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).
  103. Sets the line width (in px).
  104. Sets the marker angle in respect to angleref.
  105. Sets the reference for marker angle. With previous, angle 0 points along the line from the previous point to this one. With up, angle 0 points toward the top of the screen.
  106. Sets the source reference on Chart Studio Cloud for angle.
  107. 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.
  108. 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.
  109. 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.
  110. 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.
  111. 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.
  112. Sets the marker color. It accepts either a specific color or an array of numbers that are mapped to the colorscale relative to the max and min values of the array or relative to marker.cmin and marker.cmax if set.
  113. Sets a reference to a shared color axis. References to these shared color axes are coloraxis, coloraxis2, coloraxis3, etc. Settings for these shared color axes are set in the layout, under layout.coloraxis, layout.coloraxis2, etc. Note that multiple color scales can be linked to the same color axis.
  114. Sets the color of padded area.
  115. Sets the axis line color.
  116. Sets the width (in px) or the border enclosing this color bar.
  117. Determines a formatting rule for the tick exponents. For example, consider the number 1,000,000,000. If none, it appears as 1,000,000,000. If e, 1e+9. If E, 1E+9. If power, 1x10^9 (with 9 in a super script). If SI, 1G. If B, 1B.
  118. Sets the length of the color bar This measure excludes the padding of both ends. That is, the color bar length is this length minus the padding on both ends.
  119. Determines whether this color bar's length (i.e. the measure in the color variation direction) is set in units of plot fraction or in *pixels. Use len to set the value.
  120. Hide SI prefix for 10^n if |n| is below this number. This only has an effect when tickformat is SI or B.
  121. Specifies the maximum number of ticks for the particular axis. The actual number of ticks will be chosen automatically to be less than or equal to nticks. Has an effect only if tickmode is set to auto.
  122. Sets the orientation of the colorbar.
  123. Sets the axis line color.
  124. Sets the width (in px) of the axis line.
  125. If "true", even 4-digit integers are separated
  126. If all, all exponents are shown besides their significands. If first, only the exponent of the first tick is shown. If last, only the exponent of the last tick is shown. If none, no exponents appear.
  127. Determines whether or not the tick labels are drawn.
  128. If all, all tick labels are displayed with a prefix. If first, only the first tick is displayed with a prefix. If last, only the last tick is displayed with a suffix. If none, tick prefixes are hidden.
  129. Same as showtickprefix but for tick suffixes.
  130. Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.
  131. Determines whether this color bar's thickness (i.e. the measure in the constant color direction) is set in units of plot fraction or in pixels. Use thickness to set the value.
  132. Sets the angle of the tick labels with respect to the horizontal. For example, a tickangle of -90 draws the tick labels vertically.
  133. Sets the tick color.
  134. HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.
  135. Sets the kind of decoration line(s) with text, such as an under, over or through as well as combinations e.g. under+over, etc.
  136. Sets the shape and color of the shadow behind text. auto places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.
  137. Sets whether a font should be styled with a normal or italic face from its family.
  138. Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.
  139. Sets the variant of the font.
  140. Sets the weight (or boldness) of the font.
  141. Sets the tick label formatting rule using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: %h for half of the year as a decimal number as well as %{n}f for fractional seconds with n digits. For example, 2016-10-13 09:15:23.456 with tickformat %H~%M~%S.%2f would display 09~15~23.46
  142. Determines how we handle tick labels that would overflow either the graph div or the domain of the axis. The default value for inside tick labels is hide past domain. In other cases the default is hide past div.
  143. Determines where tick labels are drawn relative to the ticks. Left and right options are used when orientation is h, top and bottom when orientation is v.
  144. Sets the spacing between tick labels as compared to the spacing between ticks. A value of 1 (default) means each tick gets a label. A value of 2 means shows every 2nd label. A larger value n means only every nth tick is labeled. tick0 determines which labels are shown. Not implemented for axes with type log or multicategory, or when tickmode is array.
  145. Sets the tick length (in px).
  146. Sets the tick mode for this axis. If auto, the number of ticks is set via nticks. If linear, the placement of the ticks is determined by a starting position tick0 and a tick step dtick (linear is the default value if tick0 and dtick are provided). If array, the placement of the ticks is set via tickvals and the tick text is ticktext. (array is the default value if tickvals is provided).
  147. Sets a tick label prefix.
  148. Determines whether ticks are drawn or not. If , this axis' ticks are not drawn. If outside (inside), this axis' are drawn outside (inside) the axis lines.
  149. Sets a tick label suffix.
  150. Sets the text displayed at the ticks position via tickvals. Only has an effect if tickmode is set to array. Used with tickvals.
  151. Sets the source reference on Chart Studio Cloud for ticktext.
  152. Sets the values at which ticks on this axis appear. Only has an effect if tickmode is set to array. Used with ticktext.
  153. Sets the source reference on Chart Studio Cloud for tickvals.
  154. Sets the tick width (in px).
  155. HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.
  156. Sets the kind of decoration line(s) with text, such as an under, over or through as well as combinations e.g. under+over, etc.
  157. Sets the shape and color of the shadow behind text. auto places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.
  158. Sets whether a font should be styled with a normal or italic face from its family.
  159. Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.
  160. Sets the variant of the font.
  161. Sets the weight (or boldness) of the font.
  162. Determines the location of color bar's title with respect to the color bar. Defaults to top when orientation if v and defaults to right when orientation if h.
  163. Sets the title of the color bar.
  164. Sets the x position with respect to xref of the color bar (in plot fraction). When xref is paper, defaults to 1.02 when orientation is v and 0.5 when orientation is h. When xref is container, defaults to 1 when orientation is v and 0.5 when orientation is h. Must be between 0 and 1 if xref is container and between -2 and 3 if xref is paper.
  165. Sets this color bar's horizontal position anchor. This anchor binds the x position to the left, center or right of the color bar. Defaults to left when orientation is v and center when orientation is h.
  166. Sets the amount of padding (in px) along the x direction.
  167. Sets the container x refers to. container spans the entire width of the plot. paper refers to the width of the plotting area only.
  168. Sets the y position with respect to yref of the color bar (in plot fraction). When yref is paper, defaults to 0.5 when orientation is v and 1.02 when orientation is h. When yref is container, defaults to 0.5 when orientation is v and 1 when orientation is h. Must be between 0 and 1 if yref is container and between -2 and 3 if yref is paper.
  169. Sets this color bar's vertical position anchor This anchor binds the y position to the top, middle or bottom of the color bar. Defaults to middle when orientation is v and bottom when orientation is h.
  170. Sets the amount of padding (in px) along the y direction.
  171. Sets the container y refers to. container spans the entire height of the plot. paper refers to the height of the plotting area only.
  172. Sets the colorscale. Has an effect only if in marker.color is set to a numerical array. The colorscale must be an array containing arrays mapping a normalized value to an rgb, rgba, hex, hsl, hsv, or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, [[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]. To control the bounds of the colorscale in color space, use marker.cmin and marker.cmax. Alternatively, colorscale may be a palette name string of the following list: Blackbody,Bluered,Blues,Cividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic,Portland,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd.
  173. Sets the source reference on Chart Studio Cloud for color.
  174. Sets the final color of the gradient fill: the center color for radial, the right for horizontal, or the bottom for vertical.
  175. Sets the source reference on Chart Studio Cloud for color.
  176. Sets the type of gradient used to fill the markers
  177. Sets the source reference on Chart Studio Cloud for type.
  178. 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.
  179. 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.
  180. 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.
  181. 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.
  182. 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.
  183. Sets the marker.line color. It accepts either a specific color or an array of numbers that are mapped to the colorscale relative to the max and min values of the array or relative to marker.line.cmin and marker.line.cmax if set.
  184. Sets a reference to a shared color axis. References to these shared color axes are coloraxis, coloraxis2, coloraxis3, etc. Settings for these shared color axes are set in the layout, under layout.coloraxis, layout.coloraxis2, etc. Note that multiple color scales can be linked to the same color axis.
  185. Sets the colorscale. Has an effect only if in marker.line.color is set to a numerical array. The colorscale must be an array containing arrays mapping a normalized value to an rgb, rgba, hex, hsl, hsv, or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, [[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]. To control the bounds of the colorscale in color space, use marker.line.cmin and marker.line.cmax. Alternatively, colorscale may be a palette name string of the following list: Blackbody,Bluered,Blues,Cividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic,Portland,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd.
  186. Sets the source reference on Chart Studio Cloud for color.
  187. 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.
  188. Sets the width (in px) of the lines bounding the marker points.
  189. Sets the source reference on Chart Studio Cloud for width.
  190. Sets a maximum number of points to be drawn on the graph. 0 corresponds to no limit.
  191. Sets the marker opacity.
  192. Sets the source reference on Chart Studio Cloud for opacity.
  193. 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.
  194. 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.
  195. Sets the marker size (in px).
  196. Has an effect only if marker.size is set to a numerical array. Sets the minimum size (in px) of the rendered marker points.
  197. 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.
  198. 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.
  199. Sets the source reference on Chart Studio Cloud for size.
  200. Moves the marker away from the data point in the direction of angle (in px). This can be useful for example if you have another marker at this location and you want to point an arrowhead marker at it.
  201. Sets the source reference on Chart Studio Cloud for standoff.
  202. 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.
  203. Sets the source reference on Chart Studio Cloud for symbol.
  204. Sets the source reference on Chart Studio Cloud for meta.
  205. 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.
  206. Sets the trace name. The trace name appears as the legend item and on hover.
  207. 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.
  208. Sets the opacity of the trace.
  209. Only relevant in the following cases: 1. when scattermode is set to group. 2. when stackgroup is used, and only the first orientation found in the stackgroup will be used - including if visible is legendonly but not if it is false. Sets the stacking direction. With v (h), the y (x) values of subsequent traces are added. Also affects the default value of fill.
  210. Sets the marker color of selected points.
  211. Sets the marker opacity of selected points.
  212. Sets the marker size of selected points.
  213. Sets the text font color of selected points.
  214. Determines whether or not an item corresponding to this trace is shown in the legend.
  215. 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.
  216. 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 stackgroups 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.
  217. Sets the maximum number of points to keep on the plots from an incoming stream. If maxpoints is set to 50, only the newest 50 points will be displayed on the plot.
  218. The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details.
  219. 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.
  220. Sets the source reference on Chart Studio Cloud for color.
  221. HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.
  222. Sets the source reference on Chart Studio Cloud for family.
  223. Sets the kind of decoration line(s) with text, such as an under, over or through as well as combinations e.g. under+over, etc.
  224. Sets the source reference on Chart Studio Cloud for lineposition.
  225. Sets the shape and color of the shadow behind text. auto places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.
  226. Sets the source reference on Chart Studio Cloud for shadow.
  227. Sets the source reference on Chart Studio Cloud for size.
  228. Sets whether a font should be styled with a normal or italic face from its family.
  229. Sets the source reference on Chart Studio Cloud for style.
  230. Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.
  231. Sets the source reference on Chart Studio Cloud for textcase.
  232. Sets the variant of the font.
  233. Sets the source reference on Chart Studio Cloud for variant.
  234. Sets the weight (or boldness) of the font.
  235. Sets the source reference on Chart Studio Cloud for weight.
  236. Sets the positions of the text elements with respects to the (x,y) coordinates.
  237. Sets the source reference on Chart Studio Cloud for textposition.
  238. Sets the source reference on Chart Studio Cloud for text.
  239. Template string used for rendering the information text that appear on points. Note that this will override textinfo. Variables are inserted using %{variable}, for example "y: %{y}". Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example "Price: %{y:$.2f}". https://github.com/d3/d3-format/tree/v1.4.5#d3-format for details on the formatting syntax. Dates are formatted using d3-time-format's syntax %{variable|d3-time-format}, for example "Day: %{2019-01-01|%A}". https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format for details on the date formatting syntax. Every attributes that can be specified per-point (the ones that are arrayOk: true) are available.
  240. Sets the source reference on Chart Studio Cloud for texttemplate.
  241. Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.
  242. Sets the marker color of unselected points, applied only when a selection exists.
  243. Sets the marker opacity of unselected points, applied only when a selection exists.
  244. Sets the marker size of unselected points, applied only when a selection exists.
  245. Sets the text font color of unselected points, applied only when a selection exists.
  246. Determines whether or not this trace is visible. If legendonly, the trace is not drawn, but can appear as a legend item (provided that the legend itself is visible).
  247. Sets the x coordinates.
  248. 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.
  249. Sets the calendar system to use with x date data.
  250. Sets the hover text formatting rulefor x using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: %h for half of the year as a decimal number as well as %{n}f for fractional seconds with n digits. For example, 2016-10-13 09:15:23.456 with tickformat %H~%M~%S.%2f would display 09~15~23.46By default the values are formatted using xaxis.hoverformat.
  251. Only relevant when the axis type is date. Sets the alignment of data points on the x axis.
  252. Sets the source reference on Chart Studio Cloud for x.
  253. Sets the y coordinates.
  254. 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.
  255. Sets the calendar system to use with y date data.
  256. Sets the hover text formatting rulefor y using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: %h for half of the year as a decimal number as well as %{n}f for fractional seconds with n digits. For example, 2016-10-13 09:15:23.456 with tickformat %H~%M~%S.%2f would display 09~15~23.46By default the values are formatted using yaxis.hoverformat.
  257. Only relevant when the axis type is date. Sets the alignment of data points on the y axis.
  258. Sets the source reference on Chart Studio Cloud for y.
  259. Sets the layer on which this trace is displayed, relative to other SVG traces on the same subplot. SVG traces with higher zorder appear in front of those with lower zorder.