@uwdata/mosaic-spec 0.17.0 → 0.19.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (191) hide show
  1. package/LICENSE +47 -0
  2. package/README.md +1 -1
  3. package/dist/mosaic-schema.json +201110 -0
  4. package/dist/src/ast/ASTNode.d.ts +27 -0
  5. package/dist/src/ast/ASTNode.d.ts.map +1 -0
  6. package/dist/src/ast/ColumnParamRefNode.d.ts +9 -0
  7. package/dist/src/ast/ColumnParamRefNode.d.ts.map +1 -0
  8. package/dist/src/ast/DataNode.d.ts +61 -0
  9. package/dist/src/ast/DataNode.d.ts.map +1 -0
  10. package/dist/src/ast/ExpressionNode.d.ts +14 -0
  11. package/dist/src/ast/ExpressionNode.d.ts.map +1 -0
  12. package/dist/src/ast/HConcatNode.d.ts +11 -0
  13. package/dist/src/ast/HConcatNode.d.ts.map +1 -0
  14. package/dist/src/ast/HSpaceNode.d.ts +12 -0
  15. package/dist/src/ast/HSpaceNode.d.ts.map +1 -0
  16. package/dist/src/ast/InputNode.d.ts +9 -0
  17. package/dist/src/ast/InputNode.d.ts.map +1 -0
  18. package/dist/src/ast/LiteralNode.d.ts +8 -0
  19. package/dist/src/ast/LiteralNode.d.ts.map +1 -0
  20. package/dist/src/ast/OptionsNode.d.ts +11 -0
  21. package/dist/src/ast/OptionsNode.d.ts.map +1 -0
  22. package/dist/src/ast/ParamNode.d.ts +9 -0
  23. package/dist/src/ast/ParamNode.d.ts.map +1 -0
  24. package/dist/src/ast/ParamRefNode.d.ts +9 -0
  25. package/dist/src/ast/ParamRefNode.d.ts.map +1 -0
  26. package/dist/src/ast/PlotAttributeNode.d.ts +19 -0
  27. package/dist/src/ast/PlotAttributeNode.d.ts.map +1 -0
  28. package/dist/src/ast/PlotFromNode.d.ts +10 -0
  29. package/dist/src/ast/PlotFromNode.d.ts.map +1 -0
  30. package/dist/src/ast/PlotInteractorNode.d.ts +9 -0
  31. package/dist/src/ast/PlotInteractorNode.d.ts.map +1 -0
  32. package/dist/src/ast/PlotLegendNode.d.ts +11 -0
  33. package/dist/src/ast/PlotLegendNode.d.ts.map +1 -0
  34. package/dist/src/ast/PlotMarkNode.d.ts +11 -0
  35. package/dist/src/ast/PlotMarkNode.d.ts.map +1 -0
  36. package/dist/src/ast/PlotNode.d.ts +12 -0
  37. package/dist/src/ast/PlotNode.d.ts.map +1 -0
  38. package/dist/src/ast/SelectionNode.d.ts +25 -0
  39. package/dist/src/ast/SelectionNode.d.ts.map +1 -0
  40. package/dist/src/ast/SpecNode.d.ts +11 -0
  41. package/dist/src/ast/SpecNode.d.ts.map +1 -0
  42. package/dist/src/ast/TransformNode.d.ts +22 -0
  43. package/dist/src/ast/TransformNode.d.ts.map +1 -0
  44. package/dist/src/ast/VConcatNode.d.ts +11 -0
  45. package/dist/src/ast/VConcatNode.d.ts.map +1 -0
  46. package/dist/src/ast/VSpaceNode.d.ts +12 -0
  47. package/dist/src/ast/VSpaceNode.d.ts.map +1 -0
  48. package/dist/src/ast/WindowFrameNode.d.ts +16 -0
  49. package/dist/src/ast/WindowFrameNode.d.ts.map +1 -0
  50. package/dist/src/ast-to-dom.d.ts +41 -0
  51. package/dist/src/ast-to-dom.d.ts.map +1 -0
  52. package/dist/src/ast-to-esm.d.ts +65 -0
  53. package/dist/src/ast-to-esm.d.ts.map +1 -0
  54. package/dist/src/config/components.d.ts +5 -0
  55. package/dist/src/config/components.d.ts.map +1 -0
  56. package/dist/src/config/extensions.d.ts +10 -0
  57. package/dist/src/config/extensions.d.ts.map +1 -0
  58. package/dist/src/config/inputs.d.ts +6 -0
  59. package/dist/src/config/inputs.d.ts.map +1 -0
  60. package/dist/src/config/plots.d.ts +35 -0
  61. package/dist/src/config/plots.d.ts.map +1 -0
  62. package/dist/src/config/transforms.d.ts +5 -0
  63. package/dist/src/config/transforms.d.ts.map +1 -0
  64. package/dist/src/constants.d.ts +33 -0
  65. package/dist/src/constants.d.ts.map +1 -0
  66. package/dist/src/index.d.ts +30 -0
  67. package/dist/src/index.d.ts.map +1 -0
  68. package/dist/src/parse-spec.d.ts +112 -0
  69. package/dist/src/parse-spec.d.ts.map +1 -0
  70. package/dist/src/spec/CSSStyles.d.ts +4 -0
  71. package/dist/src/spec/CSSStyles.d.ts.map +1 -0
  72. package/dist/src/spec/Data.d.ts +166 -0
  73. package/dist/src/spec/Data.d.ts.map +1 -0
  74. package/dist/src/spec/Expression.d.ts +28 -0
  75. package/dist/src/spec/Expression.d.ts.map +1 -0
  76. package/dist/src/spec/HConcat.d.ts +9 -0
  77. package/dist/src/spec/HConcat.d.ts.map +1 -0
  78. package/dist/src/spec/HSpace.d.ts +10 -0
  79. package/dist/src/spec/HSpace.d.ts.map +1 -0
  80. package/dist/src/spec/Input.d.ts +218 -0
  81. package/dist/src/spec/Input.d.ts.map +1 -0
  82. package/dist/src/spec/Interval.d.ts +59 -0
  83. package/dist/src/spec/Interval.d.ts.map +1 -0
  84. package/dist/src/spec/Param.d.ts +64 -0
  85. package/dist/src/spec/Param.d.ts.map +1 -0
  86. package/dist/src/spec/Plot.d.ts +15 -0
  87. package/dist/src/spec/Plot.d.ts.map +1 -0
  88. package/dist/src/spec/PlotAttribute.d.ts +1535 -0
  89. package/dist/src/spec/PlotAttribute.d.ts.map +1 -0
  90. package/dist/src/spec/PlotFrom.d.ts +21 -0
  91. package/dist/src/spec/PlotFrom.d.ts.map +1 -0
  92. package/dist/src/spec/PlotInteractor.d.ts +10 -0
  93. package/dist/src/spec/PlotInteractor.d.ts.map +1 -0
  94. package/dist/src/spec/PlotLegend.d.ts +69 -0
  95. package/dist/src/spec/PlotLegend.d.ts.map +1 -0
  96. package/dist/src/spec/PlotMark.d.ts +29 -0
  97. package/dist/src/spec/PlotMark.d.ts.map +1 -0
  98. package/dist/src/spec/PlotTypes.d.ts +294 -0
  99. package/dist/src/spec/PlotTypes.d.ts.map +1 -0
  100. package/dist/src/spec/Spec.d.ts +53 -0
  101. package/dist/src/spec/Spec.d.ts.map +1 -0
  102. package/dist/src/spec/Transform.d.ts +393 -0
  103. package/dist/src/spec/Transform.d.ts.map +1 -0
  104. package/dist/src/spec/VConcat.d.ts +9 -0
  105. package/dist/src/spec/VConcat.d.ts.map +1 -0
  106. package/dist/src/spec/VSpace.d.ts +10 -0
  107. package/dist/src/spec/VSpace.d.ts.map +1 -0
  108. package/dist/src/spec/interactors/BrushStyles.d.ts +28 -0
  109. package/dist/src/spec/interactors/BrushStyles.d.ts.map +1 -0
  110. package/dist/src/spec/interactors/Highlight.d.ts +38 -0
  111. package/dist/src/spec/interactors/Highlight.d.ts.map +1 -0
  112. package/dist/src/spec/interactors/Interval1D.d.ts +43 -0
  113. package/dist/src/spec/interactors/Interval1D.d.ts.map +1 -0
  114. package/dist/src/spec/interactors/Interval2D.d.ts +48 -0
  115. package/dist/src/spec/interactors/Interval2D.d.ts.map +1 -0
  116. package/dist/src/spec/interactors/Nearest.d.ts +45 -0
  117. package/dist/src/spec/interactors/Nearest.d.ts.map +1 -0
  118. package/dist/src/spec/interactors/PanZoom.d.ts +59 -0
  119. package/dist/src/spec/interactors/PanZoom.d.ts.map +1 -0
  120. package/dist/src/spec/interactors/Region.d.ts +33 -0
  121. package/dist/src/spec/interactors/Region.d.ts.map +1 -0
  122. package/dist/src/spec/interactors/Toggle.d.ts +60 -0
  123. package/dist/src/spec/interactors/Toggle.d.ts.map +1 -0
  124. package/dist/src/spec/marks/Area.d.ts +140 -0
  125. package/dist/src/spec/marks/Area.d.ts.map +1 -0
  126. package/dist/src/spec/marks/Arrow.d.ts +95 -0
  127. package/dist/src/spec/marks/Arrow.d.ts.map +1 -0
  128. package/dist/src/spec/marks/Axis.d.ts +282 -0
  129. package/dist/src/spec/marks/Axis.d.ts.map +1 -0
  130. package/dist/src/spec/marks/Bar.d.ts +151 -0
  131. package/dist/src/spec/marks/Bar.d.ts.map +1 -0
  132. package/dist/src/spec/marks/Cell.d.ts +58 -0
  133. package/dist/src/spec/marks/Cell.d.ts.map +1 -0
  134. package/dist/src/spec/marks/Contour.d.ts +24 -0
  135. package/dist/src/spec/marks/Contour.d.ts.map +1 -0
  136. package/dist/src/spec/marks/Delaunay.d.ts +87 -0
  137. package/dist/src/spec/marks/Delaunay.d.ts.map +1 -0
  138. package/dist/src/spec/marks/DenseLine.d.ts +28 -0
  139. package/dist/src/spec/marks/DenseLine.d.ts.map +1 -0
  140. package/dist/src/spec/marks/Density.d.ts +137 -0
  141. package/dist/src/spec/marks/Density.d.ts.map +1 -0
  142. package/dist/src/spec/marks/Dot.d.ts +134 -0
  143. package/dist/src/spec/marks/Dot.d.ts.map +1 -0
  144. package/dist/src/spec/marks/ErrorBar.d.ts +83 -0
  145. package/dist/src/spec/marks/ErrorBar.d.ts.map +1 -0
  146. package/dist/src/spec/marks/Frame.d.ts +22 -0
  147. package/dist/src/spec/marks/Frame.d.ts.map +1 -0
  148. package/dist/src/spec/marks/Geo.d.ts +54 -0
  149. package/dist/src/spec/marks/Geo.d.ts.map +1 -0
  150. package/dist/src/spec/marks/Hexbin.d.ts +31 -0
  151. package/dist/src/spec/marks/Hexbin.d.ts.map +1 -0
  152. package/dist/src/spec/marks/Hexgrid.d.ts +26 -0
  153. package/dist/src/spec/marks/Hexgrid.d.ts.map +1 -0
  154. package/dist/src/spec/marks/Image.d.ts +90 -0
  155. package/dist/src/spec/marks/Image.d.ts.map +1 -0
  156. package/dist/src/spec/marks/Line.d.ts +83 -0
  157. package/dist/src/spec/marks/Line.d.ts.map +1 -0
  158. package/dist/src/spec/marks/Link.d.ts +61 -0
  159. package/dist/src/spec/marks/Link.d.ts.map +1 -0
  160. package/dist/src/spec/marks/Marks.d.ts +911 -0
  161. package/dist/src/spec/marks/Marks.d.ts.map +1 -0
  162. package/dist/src/spec/marks/Raster.d.ts +125 -0
  163. package/dist/src/spec/marks/Raster.d.ts.map +1 -0
  164. package/dist/src/spec/marks/Rect.d.ts +167 -0
  165. package/dist/src/spec/marks/Rect.d.ts.map +1 -0
  166. package/dist/src/spec/marks/Regression.d.ts +59 -0
  167. package/dist/src/spec/marks/Regression.d.ts.map +1 -0
  168. package/dist/src/spec/marks/Rule.d.ts +101 -0
  169. package/dist/src/spec/marks/Rule.d.ts.map +1 -0
  170. package/dist/src/spec/marks/Text.d.ts +111 -0
  171. package/dist/src/spec/marks/Text.d.ts.map +1 -0
  172. package/dist/src/spec/marks/Tick.d.ts +62 -0
  173. package/dist/src/spec/marks/Tick.d.ts.map +1 -0
  174. package/dist/src/spec/marks/Vector.d.ts +100 -0
  175. package/dist/src/spec/marks/Vector.d.ts.map +1 -0
  176. package/dist/src/spec/marks/Waffle.d.ts +59 -0
  177. package/dist/src/spec/marks/Waffle.d.ts.map +1 -0
  178. package/dist/src/util.d.ts +13 -0
  179. package/dist/src/util.d.ts.map +1 -0
  180. package/package.json +18 -10
  181. package/src/spec/Data.ts +2 -2
  182. package/src/spec/Expression.ts +1 -1
  183. package/src/spec/Input.ts +6 -1
  184. package/src/spec/Spec.ts +1 -1
  185. package/src/spec/Transform.ts +3 -3
  186. package/src/spec/interactors/Interval1D.ts +1 -1
  187. package/src/spec/interactors/Interval2D.ts +1 -1
  188. package/src/spec/interactors/Toggle.ts +5 -5
  189. package/src/spec/marks/ErrorBar.ts +2 -2
  190. package/tsconfig.json +0 -13
  191. package/vitest.config.ts +0 -3
@@ -0,0 +1,1535 @@
1
+ import { CSSStyles } from './CSSStyles.js';
2
+ import { ParamRef } from './Param.js';
3
+ import { ColorScaleType, ColorScheme, ContinuousScaleType, DiscreteScaleType, Fixed, Interpolate, Interval, PositionScaleType, ProjectionName } from './PlotTypes.js';
4
+ export type LabelArrow = 'auto' | 'up' | 'right' | 'down' | 'left' | 'none' | true | false | null;
5
+ /** Plot attributes. */
6
+ export interface PlotAttributes {
7
+ /**
8
+ * A unique name for the plot. The name is used by standalone legend
9
+ * components to to lookup the plot and access scale mappings.
10
+ */
11
+ name?: string;
12
+ /**
13
+ * The outer width of the plot in pixels, including margins. Defaults to 640.
14
+ * On Observable, this can be set to the built-in [width][1] for full-width
15
+ * responsive plots. Note: the default style has a max-width of 100%; the plot
16
+ * will automatically shrink to fit even when a fixed width is specified.
17
+ *
18
+ * [1]: https://github.com/observablehq/stdlib/blob/main/README.md#width
19
+ */
20
+ width?: number | ParamRef;
21
+ /**
22
+ * The outer height of the plot in pixels, including margins. The default
23
+ * depends on the plot’s scales, and the plot’s width if an aspectRatio is
24
+ * specified. For example, if the *y* scale is linear and there is no *fy*
25
+ * scale, it might be 396.
26
+ */
27
+ height?: number | ParamRef;
28
+ /**
29
+ * The desired aspect ratio of the *x* and *y* scales, affecting the default
30
+ * height. Given an aspect ratio of *dx* / *dy*, and assuming that the *x* and
31
+ * *y* scales represent equivalent units (say, degrees Celsius or meters),
32
+ * computes a default height such that *dx* pixels along *x* represents the
33
+ * same variation as *dy* pixels along *y*. Note: when faceting, set the *fx*
34
+ * and *fy* scales’ **round** option to false for an exact aspect ratio.
35
+ */
36
+ aspectRatio?: number | boolean | null | ParamRef;
37
+ /**
38
+ * Shorthand to set the same default for all four margins: **marginTop**,
39
+ * **marginRight**, **marginBottom**, and **marginLeft**. Otherwise, the
40
+ * default margins depend on the maximum margins of the plot’s marks. While
41
+ * most marks default to zero margins (because they are drawn inside the chart
42
+ * area), Plot’s axis marks have non-zero default margins.
43
+ */
44
+ margin?: number | ParamRef;
45
+ /**
46
+ * The top margin; the distance in pixels between the top edges of the inner
47
+ * and outer plot area. Defaults to the maximum top margin of the plot’s
48
+ * marks.
49
+ */
50
+ marginTop?: number | ParamRef;
51
+ /**
52
+ * The right margin; the distance in pixels between the right edges of the
53
+ * inner and outer plot area. Defaults to the maximum right margin of the
54
+ * plot’s marks.
55
+ */
56
+ marginRight?: number | ParamRef;
57
+ /**
58
+ * The bottom margin; the distance in pixels between the bottom edges of the
59
+ * inner and outer plot area. Defaults to the maximum bottom margin of the
60
+ * plot’s marks.
61
+ */
62
+ marginBottom?: number | ParamRef;
63
+ /**
64
+ * The left margin; the distance in pixels between the left edges of the inner
65
+ * and outer plot area. Defaults to the maximum left margin of the plot’s
66
+ * marks.
67
+ */
68
+ marginLeft?: number | ParamRef;
69
+ /**
70
+ * A shorthand object notation for setting multiple margin values.
71
+ * The object keys are margin names (top, right, etc).
72
+ */
73
+ margins?: {
74
+ top?: number | ParamRef;
75
+ right?: number | ParamRef;
76
+ bottom?: number | ParamRef;
77
+ left?: number | ParamRef;
78
+ };
79
+ /**
80
+ * Shorthand to set the same default for all four insets: **insetTop**,
81
+ * **insetRight**, **insetBottom**, and **insetLeft**. All insets typically
82
+ * default to zero, though not always (say when using bin transform). A
83
+ * positive inset reduces effective area, while a negative inset increases it.
84
+ */
85
+ inset?: number | ParamRef;
86
+ /**
87
+ * Custom styles to override Plot’s defaults. Styles may be specified either
88
+ * as a string of inline styles (*e.g.*, `"color: red;"`, in the same fashion
89
+ * as assigning [*element*.style][1]) or an object of properties (*e.g.*,
90
+ * `{color: "red"}`, in the same fashion as assigning [*element*.style
91
+ * properties][2]). Note that unitless numbers ([quirky lengths][3]) such as
92
+ * `{padding: 20}` may not supported by some browsers; you should instead
93
+ * specify a string with units such as `{padding: "20px"}`. By default, the
94
+ * returned plot has a max-width of 100%, and the system-ui font. Plot’s marks
95
+ * and axes default to [currentColor][4], meaning that they will inherit the
96
+ * surrounding content’s color.
97
+ *
98
+ * [1]: https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/style
99
+ * [2]: https://developer.mozilla.org/en-US/docs/Web/API/CSSStyleDeclaration
100
+ * [3]: https://www.w3.org/TR/css-values-4/#deprecated-quirky-length
101
+ * [4]: https://developer.mozilla.org/en-US/docs/Web/CSS/color_value#currentcolor_keyword
102
+ */
103
+ style?: string | CSSStyles | null | ParamRef;
104
+ /**
105
+ * How to distribute unused space in the **range** for *point* and *band*
106
+ * scales. A number in [0, 1], such as:
107
+ *
108
+ * - 0 - use the start of the range, putting unused space at the end
109
+ * - 0.5 (default) - use the middle, distributing unused space evenly
110
+ * - 1 use the end, putting unused space at the start
111
+ *
112
+ * For ordinal position scales only.
113
+ */
114
+ align?: number | ParamRef;
115
+ /**
116
+ * For *band* scales, how much of the **range** to reserve to separate
117
+ * adjacent bands; defaults to 0.1 (10%). For *point* scales, the amount of
118
+ * inset for the first and last value as a proportion of the bandwidth;
119
+ * defaults to 0.5 (50%).
120
+ *
121
+ * For ordinal position scales only.
122
+ */
123
+ padding?: number | ParamRef;
124
+ /**
125
+ * The side of the frame on which to place the implicit axis: *top* or
126
+ * *bottom* for *x* or *fx*, or *left* or *right* for *y* or *fy*. The default
127
+ * depends on the scale:
128
+ *
129
+ * - *x* - *bottom*
130
+ * - *y* - *left*
131
+ * - *fx* - *top* if there is a *bottom* *x* axis, and otherwise *bottom*
132
+ * - *fy* - *right* if there is a *left* *y* axis, and otherwise *right*
133
+ *
134
+ * If *both*, an implicit axis will be rendered on both sides of the plot
135
+ * (*top* and *bottom* for *x* or *fx*, or *left* and *right* for *y* or
136
+ * *fy*). If null, the implicit axis is suppressed.
137
+ *
138
+ * For position axes only.
139
+ */
140
+ axis?: 'top' | 'right' | 'bottom' | 'left' | 'both' | boolean | null | ParamRef;
141
+ /**
142
+ * Whether to show a grid aligned with the scale’s ticks. If true, show a grid
143
+ * with the currentColor stroke; if a string, show a grid with the specified
144
+ * stroke color; if an approximate number of ticks, an interval, or an array
145
+ * of tick values, show corresponding grid lines. See also the grid mark.
146
+ *
147
+ * For axes only.
148
+ */
149
+ grid?: boolean | string | ParamRef;
150
+ /**
151
+ * The [aria-label attribute][1] on the SVG root.
152
+ *
153
+ * [1]: https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Attributes/aria-label
154
+ */
155
+ ariaLabel?: string | null;
156
+ /**
157
+ * The [aria-description attribute][1] on the SVG root.
158
+ *
159
+ * [1]: https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Attributes/aria-description
160
+ */
161
+ ariaDescription?: string | null;
162
+ /** The default clip for all marks. */
163
+ clip?: 'frame' | 'sphere' | boolean | null | ParamRef;
164
+ /**
165
+ * The *x* scale type, affecting how the scale encodes abstract data, say by
166
+ * applying a mathematical transformation. If null, the scale is disabled.
167
+ *
168
+ * For quantitative data (numbers), defaults to *linear*; for temporal data
169
+ * (dates), defaults to *utc*; for ordinal data (strings or booleans),
170
+ * defaults to *point* for position scales, *categorical* for color scales,
171
+ * and otherwise *ordinal*. However, the radius scale defaults to *sqrt*, and
172
+ * the length and opacity scales default to *linear*; these scales are
173
+ * intended for quantitative data. The plot’s marks may also impose a scale
174
+ * type; for example, the barY mark requires that *x* is a *band* scale.
175
+ */
176
+ xScale?: PositionScaleType | null | ParamRef;
177
+ /**
178
+ * The extent of the scale’s inputs (abstract values). By default inferred
179
+ * from channel values. For continuous data (numbers and dates), it is
180
+ * typically [*min*, *max*]; it can be [*max*, *min*] to reverse the scale.
181
+ * For ordinal data (strings or booleans), it is an array (or iterable) of
182
+ * values is the desired order, defaulting to natural ascending order.
183
+ *
184
+ * Linear scales have a default domain of [0, 1]. Log scales have a default
185
+ * domain of [1, 10] and cannot include zero. Radius scales have a default
186
+ * domain from 0 to the median first quartile of associated channels. Length
187
+ * have a default domain from 0 to the median median of associated channels.
188
+ * Opacity scales have a default domain from 0 to the maximum value of
189
+ * associated channels.
190
+ */
191
+ xDomain?: any[] | Fixed | ParamRef;
192
+ /**
193
+ * The extent of the scale’s outputs (visual values). By default inferred from
194
+ * the scale’s **type** and **domain**, and for position scales, the plot’s
195
+ * dimensions. For continuous data (numbers and dates), and for ordinal
196
+ * position scales (*point* and *band*), it is typically [*min*, *max*]; it
197
+ * can be [*max*, *min*] to reverse the scale.
198
+ */
199
+ xRange?: any[] | Fixed | ParamRef;
200
+ /**
201
+ * If true, or a tick count or interval, extend the domain to nice round
202
+ * values. Defaults to 1, 2 or 5 times a power of 10 for *linear* scales, and
203
+ * nice time intervals for *utc* and *time* scales. Pass an interval such as
204
+ * *minute*, *wednesday* or *month* to specify what constitutes a nice
205
+ * interval.
206
+ *
207
+ * For continuous scales only.
208
+ */
209
+ xNice?: boolean | number | Interval | ParamRef;
210
+ /**
211
+ * Shorthand to set the same default for all four insets: **insetTop**,
212
+ * **insetRight**, **insetBottom**, and **insetLeft**. All insets typically
213
+ * default to zero, though not always (say when using bin transform). A
214
+ * positive inset reduces effective area, while a negative inset increases it.
215
+ */
216
+ xInset?: number | ParamRef;
217
+ /**
218
+ * Insets the right edge by the specified number of pixels. A positive value
219
+ * insets towards the left edge (reducing effective area), while a negative
220
+ * value insets away from the left edge (increasing it).
221
+ */
222
+ xInsetRight?: number | ParamRef;
223
+ /**
224
+ * Insets the left edge by the specified number of pixels. A positive value
225
+ * insets towards the right edge (reducing effective area), while a negative
226
+ * value insets away from the right edge (increasing it).
227
+ */
228
+ xInsetLeft?: number | ParamRef;
229
+ /**
230
+ * If true, values below the domain minimum are treated as the domain minimum,
231
+ * and values above the domain maximum are treated as the domain maximum.
232
+ *
233
+ * Clamping is useful for focusing on a subset of the data while ensuring that
234
+ * extreme values remain visible, but use caution: clamped values may need an
235
+ * annotation to avoid misinterpretation. Clamping typically requires setting
236
+ * an explicit **domain** since if the domain is inferred, no values will be
237
+ * outside the domain.
238
+ *
239
+ * For continuous scales only.
240
+ */
241
+ xClamp?: boolean | ParamRef;
242
+ /**
243
+ * If true, round the output value to the nearest integer (pixel); useful for
244
+ * crisp edges when rendering.
245
+ *
246
+ * For position scales only.
247
+ */
248
+ xRound?: boolean | ParamRef;
249
+ /**
250
+ * How to distribute unused space in the **range** for *point* and *band*
251
+ * scales. A number in [0, 1], such as:
252
+ *
253
+ * - 0 - use the start of the range, putting unused space at the end
254
+ * - 0.5 (default) - use the middle, distributing unused space evenly
255
+ * - 1 use the end, putting unused space at the start
256
+ *
257
+ * For ordinal position scales only.
258
+ */
259
+ xAlign?: number | ParamRef;
260
+ /**
261
+ * For *band* scales, how much of the **range** to reserve to separate
262
+ * adjacent bands; defaults to 0.1 (10%). For *point* scales, the amount of
263
+ * inset for the first and last value as a proportion of the bandwidth;
264
+ * defaults to 0.5 (50%).
265
+ *
266
+ * For ordinal position scales only.
267
+ */
268
+ xPadding?: number | ParamRef;
269
+ /**
270
+ * For a *band* scale, how much of the range to reserve to separate
271
+ * adjacent bands.
272
+ */
273
+ xPaddingInner?: number | ParamRef;
274
+ /**
275
+ * For a *band* scale, how much of the range to reserve to inset first and
276
+ * last bands.
277
+ */
278
+ xPaddingOuter?: number | ParamRef;
279
+ /**
280
+ * The side of the frame on which to place the implicit axis: *top* or
281
+ * *bottom* for *x*. Defaults to *bottom* for an *x* scale.
282
+ *
283
+ * If *both*, an implicit axis will be rendered on both sides of the plot
284
+ * (*top* and *bottom* for *x*). If null, the implicit axis is suppressed.
285
+ */
286
+ xAxis?: 'top' | 'bottom' | 'both' | boolean | null | ParamRef;
287
+ /**
288
+ * The desired approximate number of axis ticks, or an explicit array of tick
289
+ * values, or an interval such as *day* or *month*.
290
+ */
291
+ xTicks?: number | Interval | any[] | ParamRef;
292
+ /**
293
+ * The length of axis tick marks in pixels; negative values extend in the
294
+ * opposite direction. Defaults to 6 for *x* and *y* axes and *color* and
295
+ * *opacity* *ramp* legends, and 0 for *fx* and *fy* axes.
296
+ */
297
+ xTickSize?: number | ParamRef;
298
+ /**
299
+ * The desired approximate spacing between adjacent axis ticks, affecting the
300
+ * default **ticks**; defaults to 80 pixels for *x* and *fx*, and 35 pixels
301
+ * for *y* and *fy*.
302
+ */
303
+ xTickSpacing?: number | ParamRef;
304
+ /**
305
+ * The distance between an axis tick mark and its associated text label (in
306
+ * pixels); often defaults to 3, but may be affected by **xTickSize** and
307
+ * **xTickRotate**.
308
+ */
309
+ xTickPadding?: number | ParamRef;
310
+ /**
311
+ * How to format inputs (abstract values) for axis tick labels; one of:
312
+ *
313
+ * - a [d3-format][1] string for numeric scales
314
+ * - a [d3-time-format][2] string for temporal scales
315
+ *
316
+ * [1]: https://d3js.org/d3-time
317
+ * [2]: https://d3js.org/d3-time-format
318
+ */
319
+ xTickFormat?: string | null | ParamRef;
320
+ /**
321
+ * The rotation angle of axis tick labels in degrees clocksize; defaults to 0.
322
+ */
323
+ xTickRotate?: number | ParamRef;
324
+ /**
325
+ * Whether to show a grid aligned with the scale’s ticks. If true, show a grid
326
+ * with the currentColor stroke; if a string, show a grid with the specified
327
+ * stroke color; if an approximate number of ticks, an interval, or an array
328
+ * of tick values, show corresponding grid lines. See also the grid mark.
329
+ *
330
+ * For axes only.
331
+ */
332
+ xGrid?: boolean | string | Interval | any[] | ParamRef;
333
+ /**
334
+ * If true, draw a line along the axis; if false (default), do not.
335
+ */
336
+ xLine?: boolean | ParamRef;
337
+ /**
338
+ * A textual label to show on the axis or legend; if null, show no label. By
339
+ * default the scale label is inferred from channel definitions, possibly with
340
+ * an arrow (↑, →, ↓, or ←) to indicate the direction of increasing value.
341
+ *
342
+ * For axes and legends only.
343
+ */
344
+ xLabel?: string | null | ParamRef;
345
+ /**
346
+ * Where to place the axis **label** relative to the plot’s frame. For
347
+ * vertical position scales (*y* and *fy*), may be *top*, *bottom*, or
348
+ * *center*; for horizontal position scales (*x* and *fx*), may be *left*,
349
+ * *right*, or *center*. Defaults to *center* for ordinal scales (including
350
+ * *fx* and *fy*), and otherwise *top* for *y*, and *right* for *x*.
351
+ */
352
+ xLabelAnchor?: 'top' | 'right' | 'bottom' | 'left' | 'center' | ParamRef;
353
+ /**
354
+ * Whether to apply a directional arrow such as → or ↑ to the x-axis scale
355
+ * label. If *auto* (the default), the presence of the arrow depends on
356
+ * whether the scale is ordinal.
357
+ */
358
+ xLabelArrow?: LabelArrow | ParamRef;
359
+ /**
360
+ * The axis **label** position offset (in pixels); default depends on margins
361
+ * and orientation.
362
+ */
363
+ xLabelOffset?: number | ParamRef;
364
+ /**
365
+ * The font-variant attribute for axis ticks; defaults to *tabular-nums* for
366
+ * quantitative axes.
367
+ */
368
+ xFontVariant?: string | ParamRef;
369
+ /**
370
+ * A short label representing the axis in the accessibility tree.
371
+ */
372
+ xAriaLabel?: string | ParamRef;
373
+ /**
374
+ * A textual description for the axis in the accessibility tree.
375
+ */
376
+ xAriaDescription?: string | ParamRef;
377
+ /**
378
+ * If true, shorthand for a transform suitable for percentages, mapping
379
+ * proportions in [0, 1] to [0, 100].
380
+ */
381
+ xPercent?: boolean | ParamRef;
382
+ /**
383
+ * Whether to reverse the scale’s encoding; equivalent to reversing either the
384
+ * **domain** or **range**.
385
+ */
386
+ xReverse?: boolean | ParamRef;
387
+ /**
388
+ * Whether the **domain** must include zero. If the domain minimum is
389
+ * positive, it will be set to zero; otherwise if the domain maximum is
390
+ * negative, it will be set to zero.
391
+ *
392
+ * For quantitative scales only.
393
+ */
394
+ xZero?: boolean | ParamRef;
395
+ /**
396
+ * A power scale’s exponent (*e.g.*, 0.5 for sqrt); defaults to 1 for a
397
+ * linear scale. For *pow* scales only.
398
+ */
399
+ xExponent?: number | ParamRef;
400
+ /**
401
+ * A log scale’s base; defaults to 10. Does not affect the scale’s encoding,
402
+ * but rather the default ticks. For *log* scales only.
403
+ */
404
+ xBase?: number | ParamRef;
405
+ /**
406
+ * A symlog scale’s constant, expressing the magnitude of the linear region
407
+ * around the origin; defaults to 1. For *symlog* scales only.
408
+ */
409
+ xConstant?: number | ParamRef;
410
+ /**
411
+ * The *y* scale type, affecting how the scale encodes abstract data, say by
412
+ * applying a mathematical transformation. If null, the scale is disabled.
413
+ *
414
+ * For quantitative data (numbers), defaults to *linear*; for temporal data
415
+ * (dates), defaults to *utc*; for ordinal data (strings or booleans),
416
+ * defaults to *point* for position scales, The plot’s marks may also impose
417
+ * a scale type; for example, the barY mark requires that *x* is a *band*
418
+ * scale.
419
+ */
420
+ yScale?: PositionScaleType | null | ParamRef;
421
+ /**
422
+ * The extent of the scale’s inputs (abstract values). By default inferred
423
+ * from channel values. For continuous data (numbers and dates), it is
424
+ * typically [*min*, *max*]; it can be [*max*, *min*] to reverse the scale.
425
+ * For ordinal data (strings or booleans), it is an array (or iterable) of
426
+ * values is the desired order, defaulting to natural ascending order.
427
+ *
428
+ * Linear scales have a default domain of [0, 1]. Log scales have a default
429
+ * domain of [1, 10] and cannot include zero.
430
+ */
431
+ yDomain?: any[] | Fixed | ParamRef;
432
+ /**
433
+ * The extent of the scale’s outputs (visual values). By default inferred
434
+ * from the scale’s **type** and **domain**, and for position scales, the
435
+ * plot’s dimensions. For continuous data (numbers and dates), and for
436
+ * ordinal position scales (*point* and *band*), it is typically [*min*,
437
+ * *max*]; it can be [*max*, *min*] to reverse the scale.
438
+ */
439
+ yRange?: any[] | Fixed | ParamRef;
440
+ /**
441
+ * If true, or a tick count or interval, extend the domain to nice round
442
+ * values. Defaults to 1, 2 or 5 times a power of 10 for *linear* scales, and
443
+ * nice time intervals for *utc* and *time* scales. Pass an interval such as
444
+ * *minute*, *wednesday* or *month* to specify what constitutes a nice
445
+ * interval.
446
+ *
447
+ * For continuous scales only.
448
+ */
449
+ yNice?: boolean | number | Interval | ParamRef;
450
+ /**
451
+ * Shorthand to set the same default for all four insets: **insetTop**,
452
+ * **insetRight**, **insetBottom**, and **insetLeft**. All insets typically
453
+ * default to zero, though not always (say when using bin transform). A
454
+ * positive inset reduces effective area, while a negative inset increases it.
455
+ */
456
+ yInset?: number | ParamRef;
457
+ /**
458
+ * Insets the top edge by the specified number of pixels. A positive value
459
+ * insets towards the bottom edge (reducing effective area), while a negative
460
+ * value insets away from the bottom edge (increasing it).
461
+ */
462
+ yInsetTop?: number | ParamRef;
463
+ /**
464
+ * Insets the bottom edge by the specified number of pixels. A positive value
465
+ * insets towards the top edge (reducing effective area), while a negative
466
+ * value insets away from the top edge (increasing it).
467
+ */
468
+ yInsetBottom?: number | ParamRef;
469
+ /**
470
+ * If true, values below the domain minimum are treated as the domain minimum,
471
+ * and values above the domain maximum are treated as the domain maximum.
472
+ *
473
+ * Clamping is useful for focusing on a subset of the data while ensuring that
474
+ * extreme values remain visible, but use caution: clamped values may need an
475
+ * annotation to avoid misinterpretation. Clamping typically requires setting
476
+ * an explicit **domain** since if the domain is inferred, no values will be
477
+ * outside the domain.
478
+ *
479
+ * For continuous scales only.
480
+ */
481
+ yClamp?: boolean | ParamRef;
482
+ /**
483
+ * If true, round the output value to the nearest integer (pixel); useful for
484
+ * crisp edges when rendering.
485
+ *
486
+ * For position scales only.
487
+ */
488
+ yRound?: boolean | ParamRef;
489
+ /**
490
+ * How to distribute unused space in the **range** for *point* and *band*
491
+ * scales. A number in [0, 1], such as:
492
+ *
493
+ * - 0 - use the start of the range, putting unused space at the end
494
+ * - 0.5 (default) - use the middle, distributing unused space evenly
495
+ * - 1 use the end, putting unused space at the start
496
+ *
497
+ * For ordinal position scales only.
498
+ */
499
+ yAlign?: number | ParamRef;
500
+ /**
501
+ * For *band* scales, how much of the **range** to reserve to separate
502
+ * adjacent bands; defaults to 0.1 (10%). For *point* scales, the amount of
503
+ * inset for the first and last value as a proportion of the bandwidth;
504
+ * defaults to 0.5 (50%).
505
+ *
506
+ * For ordinal position scales only.
507
+ */
508
+ yPadding?: number | ParamRef;
509
+ /**
510
+ * For a *band* scale, how much of the range to reserve to separate
511
+ * adjacent bands.
512
+ */
513
+ yPaddingInner?: number | ParamRef;
514
+ /**
515
+ * For a *band* scale, how much of the range to reserve to inset first and
516
+ * last bands.
517
+ */
518
+ yPaddingOuter?: number | ParamRef;
519
+ /**
520
+ * The side of the frame on which to place the implicit axis: *left* or
521
+ * *right* for *y*. Defaults to *left* for a *y* scale.
522
+ *
523
+ * If *both*, an implicit axis will be rendered on both sides of the plot
524
+ * (*left* and *right* for *y*). If null, the implicit axis is suppressed.
525
+ */
526
+ yAxis?: 'left' | 'right' | 'both' | boolean | null | ParamRef;
527
+ /**
528
+ * The desired approximate number of axis ticks, or an explicit array of tick
529
+ * values, or an interval such as *day* or *month*.
530
+ */
531
+ yTicks?: number | Interval | any[] | ParamRef;
532
+ /**
533
+ * The length of axis tick marks in pixels; negative values extend in the
534
+ * opposite direction. Defaults to 6 for *x* and *y* axes and *color* and
535
+ * *opacity* *ramp* legends, and 0 for *fx* and *fy* axes.
536
+ */
537
+ yTickSize?: number | ParamRef;
538
+ /**
539
+ * The desired approximate spacing between adjacent axis ticks, affecting the
540
+ * default **ticks**; defaults to 80 pixels for *x* and *fx*, and 35 pixels
541
+ * for *y* and *fy*.
542
+ */
543
+ yTickSpacing?: number | ParamRef;
544
+ /**
545
+ * The distance between an axis tick mark and its associated text label (in
546
+ * pixels); often defaults to 3, but may be affected by **yTickSize** and
547
+ * **yTickRotate**.
548
+ */
549
+ yTickPadding?: number | ParamRef;
550
+ /**
551
+ * How to format inputs (abstract values) for axis tick labels; one of:
552
+ *
553
+ * - a [d3-format][1] string for numeric scales
554
+ * - a [d3-time-format][2] string for temporal scales
555
+ *
556
+ * [1]: https://d3js.org/d3-time
557
+ * [2]: https://d3js.org/d3-time-format
558
+ */
559
+ yTickFormat?: string | null | ParamRef;
560
+ /**
561
+ * The rotation angle of axis tick labels in degrees clocksize; defaults to 0.
562
+ */
563
+ yTickRotate?: number | ParamRef;
564
+ /**
565
+ * Whether to show a grid aligned with the scale’s ticks. If true, show a grid
566
+ * with the currentColor stroke; if a string, show a grid with the specified
567
+ * stroke color; if an approximate number of ticks, an interval, or an array
568
+ * of tick values, show corresponding grid lines. See also the grid mark.
569
+ *
570
+ * For axes only.
571
+ */
572
+ yGrid?: boolean | string | Interval | any[] | ParamRef;
573
+ /**
574
+ * If true, draw a line along the axis; if false (default), do not.
575
+ */
576
+ yLine?: boolean | ParamRef;
577
+ /**
578
+ * A textual label to show on the axis or legend; if null, show no label. By
579
+ * default the scale label is inferred from channel definitions, possibly with
580
+ * an arrow (↑, →, ↓, or ←) to indicate the direction of increasing value.
581
+ *
582
+ * For axes and legends only.
583
+ */
584
+ yLabel?: string | null | ParamRef;
585
+ /**
586
+ * Where to place the axis **label** relative to the plot’s frame. For
587
+ * vertical position scales (*y* and *fy*), may be *top*, *bottom*, or
588
+ * *center*; for horizontal position scales (*x* and *fx*), may be *left*,
589
+ * *right*, or *center*. Defaults to *center* for ordinal scales (including
590
+ * *fx* and *fy*), and otherwise *top* for *y*, and *right* for *x*.
591
+ */
592
+ yLabelAnchor?: 'top' | 'right' | 'bottom' | 'left' | 'center' | ParamRef;
593
+ /**
594
+ * Whether to apply a directional arrow such as → or ↑ to the x-axis scale
595
+ * label. If *auto* (the default), the presence of the arrow depends on
596
+ * whether the scale is ordinal.
597
+ */
598
+ yLabelArrow?: LabelArrow | ParamRef;
599
+ /**
600
+ * The axis **label** position offset (in pixels); default depends on margins
601
+ * and orientation.
602
+ */
603
+ yLabelOffset?: number | ParamRef;
604
+ /**
605
+ * The font-variant attribute for axis ticks; defaults to *tabular-nums* for
606
+ * quantitative axes.
607
+ */
608
+ yFontVariant?: string | ParamRef;
609
+ /**
610
+ * A short label representing the axis in the accessibility tree.
611
+ */
612
+ yAriaLabel?: string | ParamRef;
613
+ /**
614
+ * A textual description for the axis in the accessibility tree.
615
+ */
616
+ yAriaDescription?: string | ParamRef;
617
+ /**
618
+ * If true, shorthand for a transform suitable for percentages, mapping
619
+ * proportions in [0, 1] to [0, 100].
620
+ */
621
+ yPercent?: boolean | ParamRef;
622
+ /**
623
+ * Whether to reverse the scale’s encoding; equivalent to reversing either the
624
+ * **domain** or **range**. Note that by default, when the *y* scale is
625
+ * continuous, the *max* value points to the top of the screen, whereas
626
+ * ordinal values are ranked from top to bottom.
627
+ */
628
+ yReverse?: boolean | ParamRef;
629
+ /**
630
+ * Whether the **domain** must include zero. If the domain minimum is
631
+ * positive, it will be set to zero; otherwise if the domain maximum is
632
+ * negative, it will be set to zero.
633
+ *
634
+ * For quantitative scales only.
635
+ */
636
+ yZero?: boolean | ParamRef;
637
+ /**
638
+ * A power scale’s exponent (*e.g.*, 0.5 for sqrt); defaults to 1 for a
639
+ * linear scale. For *pow* scales only.
640
+ */
641
+ yExponent?: number | ParamRef;
642
+ /**
643
+ * A log scale’s base; defaults to 10. Does not affect the scale’s encoding,
644
+ * but rather the default ticks. For *log* scales only.
645
+ */
646
+ yBase?: number | ParamRef;
647
+ /**
648
+ * A symlog scale’s constant, expressing the magnitude of the linear region
649
+ * around the origin; defaults to 1. For *symlog* scales only.
650
+ */
651
+ yConstant?: number | ParamRef;
652
+ /**
653
+ * Set the *x* and *y* scale domains.
654
+ */
655
+ xyDomain?: any[] | Fixed | ParamRef;
656
+ /**
657
+ * Shorthand to set the same default for all four facet margins: marginTop,
658
+ * marginRight, marginBottom, and marginLeft.
659
+ */
660
+ facetMargin?: number | ParamRef;
661
+ /**
662
+ * The top facet margin; the (minimum) distance in pixels between the top
663
+ * edges of the inner and outer plot area.
664
+ */
665
+ facetMarginTop?: number | ParamRef;
666
+ /**
667
+ * The right facet margin; the (minimum) distance in pixels between the right
668
+ * edges of the inner and outer plot area.
669
+ */
670
+ facetMarginBottom?: number | ParamRef;
671
+ /**
672
+ * The bottom facet margin; the (minimum) distance in pixels between the
673
+ * bottom edges of the inner and outer plot area.
674
+ */
675
+ facetMarginLeft?: number | ParamRef;
676
+ /**
677
+ * The left facet margin; the (minimum) distance in pixels between the left
678
+ * edges of the inner and outer plot area.
679
+ */
680
+ facetMarginRight?: number | ParamRef;
681
+ /**
682
+ * Default axis grid for fx and fy scales; typically set to true to enable.
683
+ */
684
+ facetGrid?: boolean | string | Interval | any[] | ParamRef;
685
+ /**
686
+ * Default axis label for fx and fy scales; typically set to null to disable.
687
+ */
688
+ facetLabel?: string | null | ParamRef;
689
+ /**
690
+ * The extent of the scale’s inputs (abstract values). By default inferred
691
+ * from channel values. For ordinal data (strings or booleans), it is an
692
+ * array (or iterable) of values is the desired order, defaulting to natural
693
+ * ascending order.
694
+ */
695
+ fxDomain?: any[] | Fixed | ParamRef;
696
+ /**
697
+ * The extent of the scale’s outputs (visual values). By default inferred from
698
+ * the scale’s **type** and **domain**, and the plot’s dimensions. For ordinal
699
+ * position scales (*point* and *band*), it is typically [*min*, *max*]; it
700
+ * can be [*max*, *min*] to reverse the scale.
701
+ */
702
+ fxRange?: any[] | Fixed | ParamRef;
703
+ /**
704
+ * Shorthand to set the same default for all four insets: **insetTop**,
705
+ * **insetRight**, **insetBottom**, and **insetLeft**. All insets typically
706
+ * default to zero, though not always (say when using bin transform). A
707
+ * positive inset reduces effective area, while a negative inset increases it.
708
+ */
709
+ fxInset?: number | ParamRef;
710
+ /**
711
+ * Insets the right edge by the specified number of pixels. A positive value
712
+ * insets towards the left edge (reducing effective area), while a negative
713
+ * value insets away from the left edge (increasing it).
714
+ */
715
+ fxInsetRight?: number | ParamRef;
716
+ /**
717
+ * Insets the left edge by the specified number of pixels. A positive value
718
+ * insets towards the right edge (reducing effective area), while a negative
719
+ * value insets away from the right edge (increasing it).
720
+ */
721
+ fxInsetLeft?: number | ParamRef;
722
+ /**
723
+ * If true, round the output value to the nearest integer (pixel); useful for
724
+ * crisp edges when rendering.
725
+ *
726
+ * For position scales only.
727
+ */
728
+ fxRound?: boolean | ParamRef;
729
+ /**
730
+ * How to distribute unused space in the **range** for *point* and *band*
731
+ * scales. A number in [0, 1], such as:
732
+ *
733
+ * - 0 - use the start of the range, putting unused space at the end
734
+ * - 0.5 (default) - use the middle, distributing unused space evenly
735
+ * - 1 use the end, putting unused space at the start
736
+ *
737
+ * For ordinal position scales only.
738
+ */
739
+ fxAlign?: number | ParamRef;
740
+ /**
741
+ * For *band* scales, how much of the **range** to reserve to separate
742
+ * adjacent bands; defaults to 0.1 (10%). For *point* scales, the amount of
743
+ * inset for the first and last value as a proportion of the bandwidth;
744
+ * defaults to 0.5 (50%).
745
+ *
746
+ * For ordinal position scales only.
747
+ */
748
+ fxPadding?: number | ParamRef;
749
+ /**
750
+ * For a *band* scale, how much of the range to reserve to separate
751
+ * adjacent bands.
752
+ */
753
+ fxPaddingInner?: number | ParamRef;
754
+ /**
755
+ * For a *band* scale, how much of the range to reserve to inset first and
756
+ * last bands.
757
+ */
758
+ fxPaddingOuter?: number | ParamRef;
759
+ /**
760
+ * The side of the frame on which to place the implicit axis: *top* or
761
+ * *bottom* for *fx*. Defaults to *top* if there is a *bottom* *x* axis,
762
+ * and otherwise *bottom*.
763
+ *
764
+ * If *both*, an implicit axis will be rendered on both sides of the plot
765
+ * (*top* and *bottom* for *fx*). If null, the implicit axis is suppressed.
766
+ */
767
+ fxAxis?: 'top' | 'bottom' | 'both' | boolean | null | ParamRef;
768
+ /**
769
+ * The desired approximate number of axis ticks, or an explicit array of tick
770
+ * values, or an interval such as *day* or *month*.
771
+ */
772
+ fxTicks?: number | Interval | any[] | ParamRef;
773
+ /**
774
+ * The length of axis tick marks in pixels; negative values extend in the
775
+ * opposite direction. Defaults to 6 for *x* and *y* axes and *color* and
776
+ * *opacity* *ramp* legends, and 0 for *fx* and *fy* axes.
777
+ */
778
+ fxTickSize?: number | ParamRef;
779
+ /**
780
+ * The desired approximate spacing between adjacent axis ticks, affecting the
781
+ * default **ticks**; defaults to 80 pixels for *x* and *fx*, and 35 pixels
782
+ * for *y* and *fy*.
783
+ */
784
+ fxTickSpacing?: number | ParamRef;
785
+ /**
786
+ * The distance between an axis tick mark and its associated text label (in
787
+ * pixels); often defaults to 3, but may be affected by **fxTickSize** and
788
+ * **fxTickRotate**.
789
+ */
790
+ fxTickPadding?: number | ParamRef;
791
+ /**
792
+ * How to format inputs (abstract values) for axis tick labels; one of:
793
+ *
794
+ * - a [d3-format][1] string for numeric scales
795
+ * - a [d3-time-format][2] string for temporal scales
796
+ *
797
+ * [1]: https://d3js.org/d3-time
798
+ * [2]: https://d3js.org/d3-time-format
799
+ */
800
+ fxTickFormat?: string | null | ParamRef;
801
+ /**
802
+ * The rotation angle of axis tick labels in degrees clocksize; defaults to 0.
803
+ */
804
+ fxTickRotate?: number | ParamRef;
805
+ /**
806
+ * Whether to show a grid aligned with the scale’s ticks. If true, show a grid
807
+ * with the currentColor stroke; if a string, show a grid with the specified
808
+ * stroke color; if an approximate number of ticks, an interval, or an array
809
+ * of tick values, show corresponding grid lines. See also the grid mark.
810
+ *
811
+ * For axes only.
812
+ */
813
+ fxGrid?: boolean | string | Interval | any[] | ParamRef;
814
+ /**
815
+ * If true, draw a line along the axis; if false (default), do not.
816
+ */
817
+ fxLine?: boolean | ParamRef;
818
+ /**
819
+ * A textual label to show on the axis or legend; if null, show no label. By
820
+ * default the scale label is inferred from channel definitions, possibly with
821
+ * an arrow (↑, →, ↓, or ←) to indicate the direction of increasing value.
822
+ *
823
+ * For axes and legends only.
824
+ */
825
+ fxLabel?: string | null | ParamRef;
826
+ /**
827
+ * Where to place the axis **label** relative to the plot’s frame. For
828
+ * vertical position scales (*y* and *fy*), may be *top*, *bottom*, or
829
+ * *center*; for horizontal position scales (*x* and *fx*), may be *left*,
830
+ * *right*, or *center*. Defaults to *center* for ordinal scales (including
831
+ * *fx* and *fy*), and otherwise *top* for *y*, and *right* for *x*.
832
+ */
833
+ fxLabelAnchor?: 'top' | 'right' | 'bottom' | 'left' | 'center' | ParamRef;
834
+ /**
835
+ * The axis **label** position offset (in pixels); default depends on margins
836
+ * and orientation.
837
+ */
838
+ fxLabelOffset?: number | ParamRef;
839
+ /**
840
+ * The font-variant attribute for axis ticks; defaults to *tabular-nums* for
841
+ * quantitative axes.
842
+ */
843
+ fxFontVariant?: string | ParamRef;
844
+ /**
845
+ * A short label representing the axis in the accessibility tree.
846
+ */
847
+ fxAriaLabel?: string | ParamRef;
848
+ /**
849
+ * A textual description for the axis in the accessibility tree.
850
+ */
851
+ fxAriaDescription?: string | ParamRef;
852
+ /**
853
+ * Whether to reverse the scale’s encoding; equivalent to reversing either the
854
+ * **domain** or **range**.
855
+ */
856
+ fxReverse?: boolean | ParamRef;
857
+ /**
858
+ * The extent of the scale’s inputs (abstract values). By default inferred
859
+ * from channel values. For ordinal data (strings or booleans), it is an
860
+ * array (or iterable) of values is the desired order, defaulting to natural
861
+ * ascending order.
862
+ */
863
+ fyDomain?: any[] | Fixed | ParamRef;
864
+ /**
865
+ * The extent of the scale’s outputs (visual values). By default inferred from
866
+ * the scale’s **type** and **domain**, and the plot’s dimensions. For ordinal
867
+ * position scales (*point* and *band*), it is typically [*min*, *max*]; it
868
+ * can be [*max*, *min*] to reverse the scale.
869
+ */
870
+ fyRange?: any[] | Fixed | ParamRef;
871
+ /**
872
+ * Shorthand to set the same default for all four insets: **insetTop**,
873
+ * **insetRight**, **insetBottom**, and **insetLeft**. All insets typically
874
+ * default to zero, though not always (say when using bin transform). A
875
+ * positive inset reduces effective area, while a negative inset increases it.
876
+ */
877
+ fyInset?: number | ParamRef;
878
+ /**
879
+ * Insets the top edge by the specified number of pixels. A positive value
880
+ * insets towards the bottom edge (reducing effective area), while a negative
881
+ * value insets away from the bottom edge (increasing it).
882
+ */
883
+ fyInsetTop?: number | ParamRef;
884
+ /**
885
+ * Insets the bottom edge by the specified number of pixels. A positive value
886
+ * insets towards the top edge (reducing effective area), while a negative
887
+ * value insets away from the top edge (increasing it).
888
+ */
889
+ fyInsetBottom?: number | ParamRef;
890
+ /**
891
+ * If true, round the output value to the nearest integer (pixel); useful for
892
+ * crisp edges when rendering.
893
+ *
894
+ * For position scales only.
895
+ */
896
+ fyRound?: boolean | ParamRef;
897
+ /**
898
+ * How to distribute unused space in the **range** for *point* and *band*
899
+ * scales. A number in [0, 1], such as:
900
+ *
901
+ * - 0 - use the start of the range, putting unused space at the end
902
+ * - 0.5 (default) - use the middle, distributing unused space evenly
903
+ * - 1 use the end, putting unused space at the start
904
+ *
905
+ * For ordinal position scales only.
906
+ */
907
+ fyAlign?: number | ParamRef;
908
+ /**
909
+ * For *band* scales, how much of the **range** to reserve to separate
910
+ * adjacent bands; defaults to 0.1 (10%). For *point* scales, the amount of
911
+ * inset for the first and last value as a proportion of the bandwidth;
912
+ * defaults to 0.5 (50%).
913
+ *
914
+ * For ordinal position scales only.
915
+ */
916
+ fyPadding?: number | ParamRef;
917
+ /**
918
+ * For a *band* scale, how much of the range to reserve to separate
919
+ * adjacent bands.
920
+ */
921
+ fyPaddingInner?: number | ParamRef;
922
+ /**
923
+ * For a *band* scale, how much of the range to reserve to inset first and
924
+ * last bands.
925
+ */
926
+ fyPaddingOuter?: number | ParamRef;
927
+ /**
928
+ * The side of the frame on which to place the implicit axis: *left* or
929
+ * *right* for *fy*. Defaults to *left* for an *fy* scale.
930
+ *
931
+ * If *both*, an implicit axis will be rendered on both sides of the plot
932
+ * (*left* and *right* for *fy*). If null, the implicit axis is suppressed.
933
+ */
934
+ fyAxis?: 'left' | 'right' | 'both' | boolean | null | ParamRef;
935
+ /**
936
+ * The desired approximate number of axis ticks, or an explicit array of tick
937
+ * values, or an interval such as *day* or *month*.
938
+ */
939
+ fyTicks?: number | Interval | any[] | ParamRef;
940
+ /**
941
+ * The length of axis tick marks in pixels; negative values extend in the
942
+ * opposite direction. Defaults to 6 for *x* and *y* axes and *color* and
943
+ * *opacity* *ramp* legends, and 0 for *fx* and *fy* axes.
944
+ */
945
+ fyTickSize?: number | ParamRef;
946
+ /**
947
+ * The desired approximate spacing between adjacent axis ticks, affecting the
948
+ * default **ticks**; defaults to 80 pixels for *x* and *fx*, and 35 pixels
949
+ * for *y* and *fy*.
950
+ */
951
+ fyTickSpacing?: number | ParamRef;
952
+ /**
953
+ * The distance between an axis tick mark and its associated text label (in
954
+ * pixels); often defaults to 3, but may be affected by **fyTickSize** and
955
+ * **fyTickRotate**.
956
+ */
957
+ fyTickPadding?: number | ParamRef;
958
+ /**
959
+ * How to format inputs (abstract values) for axis tick labels; one of:
960
+ *
961
+ * - a [d3-format][1] string for numeric scales
962
+ * - a [d3-time-format][2] string for temporal scales
963
+ *
964
+ * [1]: https://d3js.org/d3-time
965
+ * [2]: https://d3js.org/d3-time-format
966
+ */
967
+ fyTickFormat?: string | null | ParamRef;
968
+ /**
969
+ * The rotation angle of axis tick labels in degrees clocksize; defaults to 0.
970
+ */
971
+ fyTickRotate?: number | ParamRef;
972
+ /**
973
+ * Whether to show a grid aligned with the scale’s ticks. If true, show a grid
974
+ * with the currentColor stroke; if a string, show a grid with the specified
975
+ * stroke color; if an approximate number of ticks, an interval, or an array
976
+ * of tick values, show corresponding grid lines. See also the grid mark.
977
+ *
978
+ * For axes only.
979
+ */
980
+ fyGrid?: boolean | string | Interval | any[] | ParamRef;
981
+ /**
982
+ * If true, draw a line along the axis; if false (default), do not.
983
+ */
984
+ fyLine?: boolean | ParamRef;
985
+ /**
986
+ * A textual label to show on the axis or legend; if null, show no label. By
987
+ * default the scale label is inferred from channel definitions, possibly with
988
+ * an arrow (↑, →, ↓, or ←) to indicate the direction of increasing value.
989
+ *
990
+ * For axes and legends only.
991
+ */
992
+ fyLabel?: string | null | ParamRef;
993
+ /**
994
+ * Where to place the axis **label** relative to the plot’s frame. For
995
+ * vertical position scales (*y* and *fy*), may be *top*, *bottom*, or
996
+ * *center*; for horizontal position scales (*x* and *fx*), may be *left*,
997
+ * *right*, or *center*. Defaults to *center* for ordinal scales (including
998
+ * *fx* and *fy*), and otherwise *top* for *y*, and *right* for *x*.
999
+ */
1000
+ fyLabelAnchor?: 'top' | 'right' | 'bottom' | 'left' | 'center' | ParamRef;
1001
+ /**
1002
+ * The axis **label** position offset (in pixels); default depends on margins
1003
+ * and orientation.
1004
+ */
1005
+ fyLabelOffset?: number | ParamRef;
1006
+ /**
1007
+ * The font-variant attribute for axis ticks; defaults to *tabular-nums* for
1008
+ * quantitative axes.
1009
+ */
1010
+ fyFontVariant?: string | ParamRef;
1011
+ /**
1012
+ * A short label representing the axis in the accessibility tree.
1013
+ */
1014
+ fyAriaLabel?: string | ParamRef;
1015
+ /**
1016
+ * A textual description for the axis in the accessibility tree.
1017
+ */
1018
+ fyAriaDescription?: string | ParamRef;
1019
+ /**
1020
+ * Whether to reverse the scale’s encoding; equivalent to reversing either the
1021
+ * **domain** or **range**.
1022
+ */
1023
+ fyReverse?: boolean | ParamRef;
1024
+ /**
1025
+ * The *color* scale type, affecting how the scale encodes abstract data, say
1026
+ * by applying a mathematical transformation. If null, the scale is disabled.
1027
+ *
1028
+ * For quantitative data (numbers), defaults to *linear*; for temporal data
1029
+ * (dates), defaults to *utc*; for ordinal data (strings or booleans),
1030
+ * defaults to *point* for position scales, *categorical* for color scales,
1031
+ * and otherwise *ordinal*.
1032
+ */
1033
+ colorScale?: ColorScaleType | null | ParamRef;
1034
+ /**
1035
+ * The extent of the scale’s inputs (abstract values). By default inferred
1036
+ * from channel values. For continuous data (numbers and dates), it is
1037
+ * typically [*min*, *max*]; it can be [*max*, *min*] to reverse the scale.
1038
+ * For ordinal data (strings or booleans), it is an array (or iterable) of
1039
+ * values is the desired order, defaulting to natural ascending order.
1040
+ */
1041
+ colorDomain?: any[] | Fixed | ParamRef;
1042
+ /**
1043
+ * The extent of the scale’s outputs (visual values). By default inferred from
1044
+ * the scale’s **type** and **domain**. For other ordinal data, it is an array
1045
+ * (or iterable) of output values in the same order as the **domain**.
1046
+ */
1047
+ colorRange?: any[] | Fixed | ParamRef;
1048
+ /**
1049
+ * If true, values below the domain minimum are treated as the domain minimum,
1050
+ * and values above the domain maximum are treated as the domain maximum.
1051
+ *
1052
+ * Clamping is useful for focusing on a subset of the data while ensuring that
1053
+ * extreme values remain visible, but use caution: clamped values may need an
1054
+ * annotation to avoid misinterpretation. Clamping typically requires setting
1055
+ * an explicit **domain** since if the domain is inferred, no values will be
1056
+ * outside the domain.
1057
+ *
1058
+ * For continuous scales only.
1059
+ */
1060
+ colorClamp?: boolean | ParamRef;
1061
+ /**
1062
+ * For a *quantile* scale, the number of quantiles (creates *n* - 1
1063
+ * thresholds); for a *quantize* scale, the approximate number of thresholds;
1064
+ * defaults to 5.
1065
+ */
1066
+ colorN?: number | ParamRef;
1067
+ /**
1068
+ * If true, or a tick count or interval, extend the domain to nice round
1069
+ * values. Defaults to 1, 2 or 5 times a power of 10 for *linear* scales, and
1070
+ * nice time intervals for *utc* and *time* scales. Pass an interval such as
1071
+ * *minute*, *wednesday* or *month* to specify what constitutes a nice
1072
+ * interval.
1073
+ *
1074
+ * For continuous scales only.
1075
+ */
1076
+ colorNice?: boolean | number | Interval | ParamRef;
1077
+ /**
1078
+ * If specified, shorthand for setting the **colorRange**
1079
+ * or **colorInterpolate** option of a *color* scale.
1080
+ */
1081
+ colorScheme?: ColorScheme | ParamRef;
1082
+ /**
1083
+ * How to interpolate color range values. For quantitative scales only.
1084
+ * This attribute can be used to specify a color space for interpolating
1085
+ * colors specified in the **colorRange**.
1086
+ */
1087
+ colorInterpolate?: Interpolate | ParamRef;
1088
+ /**
1089
+ * For a diverging color scale, the input value (abstract value) that divides
1090
+ * the domain into two parts; defaults to 0 for *diverging* scales, dividing
1091
+ * the domain into negative and positive parts; defaults to 1 for
1092
+ * *diverging-log* scales. By default, diverging scales are symmetric around
1093
+ * the pivot; see the **symmetric** option.
1094
+ */
1095
+ colorPivot?: any | ParamRef;
1096
+ /**
1097
+ * For a diverging color scale, if true (the default), extend the domain to
1098
+ * ensure that the lower part of the domain (below the **pivot**) is
1099
+ * commensurate with the upper part of the domain (above the **pivot**).
1100
+ *
1101
+ * A symmetric diverging color scale may not use all of its output **range**;
1102
+ * this reduces contrast but ensures that deviations both below and above the
1103
+ * **pivot** are represented proportionally. Otherwise if false, the full
1104
+ * output **range** will be used; this increases contrast but values on
1105
+ * opposite sides of the **pivot** may not be meaningfully compared.
1106
+ */
1107
+ colorSymmetric?: boolean | ParamRef;
1108
+ /**
1109
+ * A textual label to show on the axis or legend; if null, show no label. By
1110
+ * default the scale label is inferred from channel definitions, possibly with
1111
+ * an arrow (↑, →, ↓, or ←) to indicate the direction of increasing value.
1112
+ *
1113
+ * For axes and legends only.
1114
+ */
1115
+ colorLabel?: string | null | ParamRef;
1116
+ /**
1117
+ * If true, shorthand for a transform suitable for percentages, mapping
1118
+ * proportions in [0, 1] to [0, 100].
1119
+ */
1120
+ colorPercent?: boolean | ParamRef;
1121
+ /**
1122
+ * Whether to reverse the scale’s encoding; equivalent to reversing either the
1123
+ * **domain** or **range**.
1124
+ */
1125
+ colorReverse?: boolean | ParamRef;
1126
+ /**
1127
+ * Whether the **domain** must include zero. If the domain minimum is
1128
+ * positive, it will be set to zero; otherwise if the domain maximum is
1129
+ * negative, it will be set to zero.
1130
+ *
1131
+ * For quantitative scales only.
1132
+ */
1133
+ colorZero?: boolean | ParamRef;
1134
+ /**
1135
+ * How to format inputs (abstract values) for axis tick labels; one of:
1136
+ *
1137
+ * - a [d3-format][1] string for numeric scales
1138
+ * - a [d3-time-format][2] string for temporal scales
1139
+ *
1140
+ * [1]: https://d3js.org/d3-time
1141
+ * [2]: https://d3js.org/d3-time-format
1142
+ */
1143
+ colorTickFormat?: string | null | ParamRef;
1144
+ /**
1145
+ * A power scale’s exponent (*e.g.*, 0.5 for sqrt); defaults to 1 for a
1146
+ * linear scale. For *pow* and *diverging-pow* scales only.
1147
+ */
1148
+ colorExponent?: number | ParamRef;
1149
+ /**
1150
+ * A log scale’s base; defaults to 10. Does not affect the scale’s encoding,
1151
+ * but rather the default ticks. For *log* and *diverging-log* scales only.
1152
+ */
1153
+ colorBase?: number | ParamRef;
1154
+ /**
1155
+ * A symlog scale’s constant, expressing the magnitude of the linear region
1156
+ * around the origin; defaults to 1. For *symlog* and *diverging-symlog*
1157
+ * scales only.
1158
+ */
1159
+ colorConstant?: number | ParamRef;
1160
+ /**
1161
+ * The *opacity* scale type, affecting how the scale encodes abstract data,
1162
+ * say by applying a mathematical transformation. If null, the scale is
1163
+ * disabled. The opacity scale defaults to *linear*; this scales is intended
1164
+ * for quantitative data.
1165
+ */
1166
+ opacityScale?: ContinuousScaleType | null | ParamRef;
1167
+ /**
1168
+ * The extent of the scale’s inputs (abstract values). By default inferred
1169
+ * from channel values. For continuous data (numbers and dates), it is
1170
+ * typically [*min*, *max*]; it can be [*max*, *min*] to reverse the scale.
1171
+ * For ordinal data (strings or booleans), it is an array (or iterable) of
1172
+ * values is the desired order, defaulting to natural ascending order.
1173
+ *
1174
+ * Opacity scales have a default domain from 0 to the maximum value of
1175
+ * associated channels.
1176
+ */
1177
+ opacityDomain?: any[] | Fixed | ParamRef;
1178
+ /**
1179
+ * The extent of the scale’s outputs (visual values).
1180
+ *
1181
+ * Opacity scales have a default range of [0, 1].
1182
+ */
1183
+ opacityRange?: any[] | Fixed | ParamRef;
1184
+ /**
1185
+ * If true, values below the domain minimum are treated as the domain minimum,
1186
+ * and values above the domain maximum are treated as the domain maximum.
1187
+ *
1188
+ * Clamping is useful for focusing on a subset of the data while ensuring that
1189
+ * extreme values remain visible, but use caution: clamped values may need an
1190
+ * annotation to avoid misinterpretation. Clamping typically requires setting
1191
+ * an explicit **domain** since if the domain is inferred, no values will be
1192
+ * outside the domain.
1193
+ *
1194
+ * For continuous scales only.
1195
+ */
1196
+ opacityClamp?: boolean | ParamRef;
1197
+ /**
1198
+ * If true, or a tick count or interval, extend the domain to nice round
1199
+ * values. Defaults to 1, 2 or 5 times a power of 10 for *linear* scales, and
1200
+ * nice time intervals for *utc* and *time* scales. Pass an interval such as
1201
+ * *minute*, *wednesday* or *month* to specify what constitutes a nice
1202
+ * interval.
1203
+ *
1204
+ * For continuous scales only.
1205
+ */
1206
+ opacityNice?: boolean | number | Interval | ParamRef;
1207
+ /**
1208
+ * A textual label to show on the axis or legend; if null, show no label. By
1209
+ * default the scale label is inferred from channel definitions, possibly with
1210
+ * an arrow (↑, →, ↓, or ←) to indicate the direction of increasing value.
1211
+ *
1212
+ * For axes and legends only.
1213
+ */
1214
+ opacityLabel?: string | null | ParamRef;
1215
+ /**
1216
+ * If true, shorthand for a transform suitable for percentages, mapping
1217
+ * proportions in [0, 1] to [0, 100].
1218
+ */
1219
+ opacityPercent?: boolean | ParamRef;
1220
+ /**
1221
+ * Whether to reverse the scale’s encoding; equivalent to reversing either the
1222
+ * **domain** or **range**.
1223
+ */
1224
+ opacityReverse?: boolean | ParamRef;
1225
+ /**
1226
+ * Whether the **domain** must include zero. If the domain minimum is
1227
+ * positive, it will be set to zero; otherwise if the domain maximum is
1228
+ * negative, it will be set to zero.
1229
+ *
1230
+ * For quantitative scales only.
1231
+ */
1232
+ opacityZero?: boolean | ParamRef;
1233
+ /**
1234
+ * How to format inputs (abstract values) for axis tick labels; one of:
1235
+ *
1236
+ * - a [d3-format][1] string for numeric scales
1237
+ * - a [d3-time-format][2] string for temporal scales
1238
+ *
1239
+ * [1]: https://d3js.org/d3-time
1240
+ * [2]: https://d3js.org/d3-time-format
1241
+ */
1242
+ opacityTickFormat?: string | null | ParamRef;
1243
+ /**
1244
+ * A power scale’s exponent (*e.g.*, 0.5 for sqrt); defaults to 1 for a
1245
+ * linear scale. For *pow* scales only.
1246
+ */
1247
+ opacityExponent?: number | ParamRef;
1248
+ /**
1249
+ * A log scale’s base; defaults to 10. Does not affect the scale’s encoding,
1250
+ * but rather the default ticks. For *log* scales only.
1251
+ */
1252
+ opacityBase?: number | ParamRef;
1253
+ /**
1254
+ * A symlog scale’s constant, expressing the magnitude of the linear region
1255
+ * around the origin; defaults to 1. For *symlog* scales only.
1256
+ */
1257
+ opacityConstant?: number | ParamRef;
1258
+ /**
1259
+ * The *symbol* scale type, affecting how the scale encodes abstract data,
1260
+ * say by applying a mathematical transformation. If null, the scale is
1261
+ * disabled. Defaults to an *ordinal* scale type.
1262
+ */
1263
+ symbolScale?: DiscreteScaleType | null | ParamRef;
1264
+ /**
1265
+ * The extent of the scale’s inputs (abstract values). By default inferred
1266
+ * from channel values. As symbol scales are discrete, the domain is an array
1267
+ * (or iterable) of values is the desired order, defaulting to natural
1268
+ * ascending order.
1269
+ */
1270
+ symbolDomain?: any[] | Fixed | ParamRef;
1271
+ /**
1272
+ * The extent of the scale’s outputs (visual values). By default inferred from
1273
+ * the scale’s **type** and **domain**, and for position scales, the plot’s
1274
+ * dimensions. For continuous data (numbers and dates), and for ordinal
1275
+ * position scales (*point* and *band*), it is typically [*min*, *max*]; it
1276
+ * can be [*max*, *min*] to reverse the scale. For other ordinal data, such as
1277
+ * for a *color* scale, it is an array (or iterable) of output values in the
1278
+ * same order as the **domain**.
1279
+ *
1280
+ * Symbol scales have a default range of categorical symbols; the choice of
1281
+ * symbols depends on whether the associated dot mark is filled or stroked.
1282
+ */
1283
+ symbolRange?: any[] | Fixed | ParamRef;
1284
+ /**
1285
+ * The *r* (radius) scale type, affecting how the scale encodes abstract
1286
+ * data, say by applying a mathematical transformation. If null, the scale
1287
+ * is disabled. The radius scale defaults to *sqrt*; this scale is intended
1288
+ * for quantitative data.
1289
+ */
1290
+ rScale?: ContinuousScaleType | null | ParamRef;
1291
+ /**
1292
+ * The extent of the scale’s inputs (abstract values). By default inferred
1293
+ * from channel values. For continuous data (numbers and dates), it is
1294
+ * typically [*min*, *max*]; it can be [*max*, *min*] to reverse the scale.
1295
+ * For ordinal data (strings or booleans), it is an array (or iterable) of
1296
+ * values is the desired order, defaulting to natural ascending order.
1297
+ *
1298
+ * Radius scales have a default domain from 0 to the median first quartile
1299
+ * of associated channels.
1300
+ */
1301
+ rDomain?: any[] | Fixed | ParamRef;
1302
+ /**
1303
+ * The extent of the scale’s outputs (visual values). By default inferred from
1304
+ * the scale’s **type** and **domain**, and for position scales, the plot’s
1305
+ * dimensions. For continuous data (numbers and dates), and for ordinal
1306
+ * position scales (*point* and *band*), it is typically [*min*, *max*]; it
1307
+ * can be [*max*, *min*] to reverse the scale. For other ordinal data, such as
1308
+ * for a *color* scale, it is an array (or iterable) of output values in the
1309
+ * same order as the **domain**.
1310
+ *
1311
+ * Radius scales have a default range of [0, 3].
1312
+ */
1313
+ rRange?: any[] | Fixed | ParamRef;
1314
+ /**
1315
+ * If true, values below the domain minimum are treated as the domain minimum,
1316
+ * and values above the domain maximum are treated as the domain maximum.
1317
+ *
1318
+ * Clamping is useful for focusing on a subset of the data while ensuring that
1319
+ * extreme values remain visible, but use caution: clamped values may need an
1320
+ * annotation to avoid misinterpretation. Clamping typically requires setting
1321
+ * an explicit **domain** since if the domain is inferred, no values will be
1322
+ * outside the domain.
1323
+ *
1324
+ * For continuous scales only.
1325
+ */
1326
+ rClamp?: any;
1327
+ /**
1328
+ * If true, or a tick count or interval, extend the domain to nice round
1329
+ * values. Defaults to 1, 2 or 5 times a power of 10 for *linear* scales, and
1330
+ * nice time intervals for *utc* and *time* scales. Pass an interval such as
1331
+ * *minute*, *wednesday* or *month* to specify what constitutes a nice
1332
+ * interval.
1333
+ *
1334
+ * For continuous scales only.
1335
+ */
1336
+ rNice?: boolean | number | Interval | ParamRef;
1337
+ /**
1338
+ * A textual label to show on the axis or legend; if null, show no label. By
1339
+ * default the scale label is inferred from channel definitions, possibly with
1340
+ * an arrow (↑, →, ↓, or ←) to indicate the direction of increasing value.
1341
+ */
1342
+ rLabel?: string | null | ParamRef;
1343
+ /**
1344
+ * If true, shorthand for a transform suitable for percentages, mapping
1345
+ * proportions in [0, 1] to [0, 100].
1346
+ */
1347
+ rPercent?: boolean | ParamRef;
1348
+ /**
1349
+ * Whether the **domain** must include zero. If the domain minimum is
1350
+ * positive, it will be set to zero; otherwise if the domain maximum is
1351
+ * negative, it will be set to zero.
1352
+ *
1353
+ * For quantitative scales only.
1354
+ */
1355
+ rZero?: boolean | ParamRef;
1356
+ /**
1357
+ * A power scale’s exponent (*e.g.*, 0.5 for sqrt); defaults to 1 for a
1358
+ * linear scale. For *pow* scales only.
1359
+ */
1360
+ rExponent?: number | ParamRef;
1361
+ /**
1362
+ * A log scale’s base; defaults to 10. Does not affect the scale’s encoding,
1363
+ * but rather the default ticks. For *log* scales only.
1364
+ */
1365
+ rBase?: number | ParamRef;
1366
+ /**
1367
+ * A symlog scale’s constant, expressing the magnitude of the linear region
1368
+ * around the origin; defaults to 1. For *symlog* scales only.
1369
+ */
1370
+ rConstant?: number | ParamRef;
1371
+ /**
1372
+ * The *length* scale type, affecting how the scale encodes abstract data,
1373
+ * say by applying a mathematical transformation. If null, the scale is
1374
+ * disabled. The length scale defaults to *linear*, as this scale is intended
1375
+ * for quantitative data.
1376
+ */
1377
+ lengthScale?: ContinuousScaleType | null | ParamRef;
1378
+ /**
1379
+ * The extent of the scale’s inputs (abstract values). By default inferred
1380
+ * from channel values. For continuous data (numbers and dates), it is
1381
+ * typically [*min*, *max*]; it can be [*max*, *min*] to reverse the scale.
1382
+ * For ordinal data (strings or booleans), it is an array (or iterable) of
1383
+ * values is the desired order, defaulting to natural ascending order.
1384
+ *
1385
+ * Linear scales have a default domain of [0, 1]. Log scales have a default
1386
+ * domain of [1, 10] and cannot include zero. Radius scales have a default
1387
+ * domain from 0 to the median first quartile of associated channels. Length
1388
+ * have a default domain from 0 to the median median of associated channels.
1389
+ * Opacity scales have a default domain from 0 to the maximum value of
1390
+ * associated channels.
1391
+ */
1392
+ lengthDomain?: any[] | Fixed | ParamRef;
1393
+ /**
1394
+ * The extent of the scale’s outputs (visual values). By default inferred from
1395
+ * the scale’s **type** and **domain**, and for position scales, the plot’s
1396
+ * dimensions. For continuous data (numbers and dates), and for ordinal
1397
+ * position scales (*point* and *band*), it is typically [*min*, *max*]; it
1398
+ * can be [*max*, *min*] to reverse the scale. For other ordinal data, such as
1399
+ * for a *color* scale, it is an array (or iterable) of output values in the
1400
+ * same order as the **domain**.
1401
+ *
1402
+ * Length scales have a default range of [0, 12].
1403
+ */
1404
+ lengthRange?: any[] | Fixed | ParamRef;
1405
+ /**
1406
+ * If true, values below the domain minimum are treated as the domain minimum,
1407
+ * and values above the domain maximum are treated as the domain maximum.
1408
+ *
1409
+ * Clamping is useful for focusing on a subset of the data while ensuring that
1410
+ * extreme values remain visible, but use caution: clamped values may need an
1411
+ * annotation to avoid misinterpretation. Clamping typically requires setting
1412
+ * an explicit **domain** since if the domain is inferred, no values will be
1413
+ * outside the domain.
1414
+ *
1415
+ * For continuous scales only.
1416
+ */
1417
+ lengthClamp?: any;
1418
+ /**
1419
+ * If true, or a tick count or interval, extend the domain to nice round
1420
+ * values. Defaults to 1, 2 or 5 times a power of 10 for *linear* scales, and
1421
+ * nice time intervals for *utc* and *time* scales. Pass an interval such as
1422
+ * *minute*, *wednesday* or *month* to specify what constitutes a nice
1423
+ * interval.
1424
+ *
1425
+ * For continuous scales only.
1426
+ */
1427
+ lengthNice?: boolean | number | Interval | ParamRef;
1428
+ /**
1429
+ * If true, shorthand for a transform suitable for percentages, mapping
1430
+ * proportions in [0, 1] to [0, 100].
1431
+ */
1432
+ lengthPercent?: boolean | ParamRef;
1433
+ /**
1434
+ * Whether the **domain** must include zero. If the domain minimum is
1435
+ * positive, it will be set to zero; otherwise if the domain maximum is
1436
+ * negative, it will be set to zero.
1437
+ *
1438
+ * For quantitative scales only.
1439
+ */
1440
+ lengthZero?: boolean | ParamRef;
1441
+ /**
1442
+ * A power scale’s exponent (*e.g.*, 0.5 for sqrt); defaults to 1 for a
1443
+ * linear scale. For *pow* scales only.
1444
+ */
1445
+ lengthExponent?: number | ParamRef;
1446
+ /**
1447
+ * A log scale’s base; defaults to 10. Does not affect the scale’s encoding,
1448
+ * but rather the default ticks. For *log* scales only.
1449
+ */
1450
+ lengthBase?: number | ParamRef;
1451
+ /**
1452
+ * A symlog scale’s constant, expressing the magnitude of the linear region
1453
+ * around the origin; defaults to 1. For *symlog* scales only.
1454
+ */
1455
+ lengthConstant?: number | ParamRef;
1456
+ /**
1457
+ * The desired projection; one of:
1458
+ *
1459
+ * - a named built-in projection such as *albers-usa*
1460
+ * - null, for no projection
1461
+ *
1462
+ * Named projections are scaled and translated to fit
1463
+ * the **domain** to the plot’s frame (minus insets).
1464
+ */
1465
+ projectionType?: ProjectionName | null | ParamRef;
1466
+ /**
1467
+ * A GeoJSON object to fit to the plot’s frame (minus insets); defaults to a
1468
+ * Sphere for spherical projections (outline of the the whole globe).
1469
+ */
1470
+ projectionDomain?: object | ParamRef;
1471
+ /**
1472
+ * A rotation of the sphere before projection; defaults to [0, 0, 0].
1473
+ * Specified as Euler angles λ (yaw, or reference longitude), φ (pitch, or
1474
+ * reference latitude), and optionally γ (roll), in degrees.
1475
+ */
1476
+ projectionRotate?: [x: number | ParamRef, y: number | ParamRef, z?: number | ParamRef] | ParamRef;
1477
+ /**
1478
+ * The [standard parallels][1]. For conic projections only.
1479
+ *
1480
+ * [1]: https://d3js.org/d3-geo/conic#conic_parallels
1481
+ */
1482
+ projectionParallels?: [y1: number | ParamRef, y2: number | ParamRef] | ParamRef;
1483
+ /**
1484
+ * The projection’s [sampling threshold][1].
1485
+ *
1486
+ * [1]: https://d3js.org/d3-geo/projection#projection_precision
1487
+ */
1488
+ projectionPrecision?: number | ParamRef;
1489
+ /**
1490
+ * The projection’s clipping method; one of:
1491
+ *
1492
+ * - *frame* or true (default) - clip to the plot’s frame (including margins but not insets)
1493
+ * - a number - clip to a circle of the given radius in degrees centered around the origin
1494
+ * - null or false - do not clip
1495
+ *
1496
+ * Some projections (such as [*armadillo*][1] and [*berghaus*][2]) require
1497
+ * spherical clipping: in that case set the marks’ **clip** option to
1498
+ * *sphere*.
1499
+ *
1500
+ * [1]: https://observablehq.com/@d3/armadillo
1501
+ * [2]: https://observablehq.com/@d3/berghaus-star
1502
+ */
1503
+ projectionClip?: boolean | number | 'frame' | null | ParamRef;
1504
+ /**
1505
+ * Shorthand to set the same default for all four projection insets.
1506
+ * All insets typically default to zero, though not always. A positive
1507
+ * inset reduces effective area, while a negative inset increases it.
1508
+ */
1509
+ projectionInset?: number | ParamRef;
1510
+ /**
1511
+ * Insets the top edge of the projection by the specified number of pixels.
1512
+ * A positive value insets towards the bottom edge (reducing effective area),
1513
+ * while a negative value insets away from the bottom edge (increasing it).
1514
+ */
1515
+ projectionInsetTop?: number | ParamRef;
1516
+ /**
1517
+ * Insets the right edge of the projection by the specified number of pixels.
1518
+ * A positive value insets towards the left edge (reducing effective area),
1519
+ * while a negative value insets away from the left edge (increasing it).
1520
+ */
1521
+ projectionInsetRight?: number | ParamRef;
1522
+ /**
1523
+ * Insets the bottom edge of the projection by the specified number of pixels.
1524
+ * A positive value insets towards the top edge (reducing effective area),
1525
+ * while a negative value insets away from the top edge (increasing it).
1526
+ */
1527
+ projectionInsetBottom?: number | ParamRef;
1528
+ /**
1529
+ * Insets the left edge of the projection by the specified number of pixels.
1530
+ * A positive value insets towards the right edge (reducing effective area),
1531
+ * while a negative value insets away from the right edge (increasing it).
1532
+ */
1533
+ projectionInsetLeft?: number | ParamRef;
1534
+ }
1535
+ //# sourceMappingURL=PlotAttribute.d.ts.map