[{"name":"VegaLite","comment":" Create Vega-Lite visualization specifications in Elm. This package allows you\nto generate the JSON specs that may be passed to the Vega-Lite runtime library via\na port to activate the visualization. Alternatively, to avoid coding the link to\nthe Vega-Lite runtime, you can embed specifications directly in a\n[litvis document](https://github.com/gicentre/litvis).\n\n1.  [Creating a Specification](#1-creating-a-vega-lite-specification)\n2.  [Specifying the Data to Visualize](#2-specifying-the-data-to-visualize)\n3.  [Transforming Data](#3-transforming-data)\n4.  [Specifying Marks](#4-specifying-marks)\n5.  [Encoding Data as Channels](#5-encoding-data-as-channels)\n6.  [View Composition](#6-view-composition)\n7.  [Parameters](#7-parameters)\n8.  [Top-level Settings](#8-top-level-settings)\n9.  [General Data Functions](#9-general-data-functions)\n10. [Type Reference](#10-type-reference)\n\n---\n\n\n# 1. Creating A Vega-Lite Specification\n\n@docs toVegaLite\n@docs VLProperty\n@docs Spec\n@docs LabelledSpec\n@docs combineSpecs\n\n---\n\n\n# 2. Specifying the Data to Visualize\n\nTo create a visualization, you will need to specify what data you wish to visualize.\nFor context, see the\n[Vega-Lite documentation](https://vega.github.io/vega-lite/docs/data.html#format).\n\n  - [2.1 Geographic Data](#2-1-geographic-data)\n  - [2.2 Data Generators](#2-2-data-generators)\n  - [2.3 Formatting Input Data](#2-3-formatting-input-data)\n\n@docs dataFromUrl\n@docs dataFromColumns\n@docs dataColumn\n@docs dataFromRows\n@docs dataRow\n@docs dataFromJson\n@docs jsonToSpec\n@docs datasets\n@docs dataFromSource\n@docs dataName\n@docs noData\n@docs Data\n@docs DataColumn\n@docs DataRow\n\n\n## 2.1 Geographic Data\n\n@docs geometry\n@docs geoFeatureCollection\n@docs geometryCollection\n@docs geoPoint\n@docs geoPoints\n@docs geoLine\n@docs geoLines\n@docs geoPolygon\n@docs geoPolygons\n\n\n## 2.2 Data Generators\n\nFunctions that create new data sources.\n\n@docs dataSequence\n@docs dataSequenceAs\n@docs sphere\n@docs graticule\n\n@docs grStep\n@docs grStepMajor\n@docs grStepMinor\n@docs grExtent\n@docs grExtentMajor\n@docs grExtentMinor\n@docs grPrecision\n\n\n## 2.3 Formatting Input Data\n\nSee the Vega-Lite\n[format](https://vega.github.io/vega-lite/docs/data.html#format) and\n[JSON](https://vega.github.io/vega-lite/docs/data.html#json) documentation.\n\n@docs parse\n\n@docs foNum\n@docs foBoo\n@docs foDate\n@docs foUtc\n\n@docs csv\n@docs tsv\n@docs dsv\n@docs arrow\n@docs topojsonFeature\n@docs topojsonMesh\n@docs jsonProperty\n\n---\n\n\n# 3. Transforming Data\n\nTransformation rules are applied to data fields or geospatial coordinates before\nthey are encoded visually. They are used when data need to be changed in some way,\nsuch as filtering items, calculating new fields, joining data tables or performing\nstatistical analysis.\n\n  - [3.1 Map Projections](#3-1-map-projections)\n  - [3.2 Aggregation](#3-2-aggregation)\n  - [3.3 Binning](#3-3-binning)\n  - [3.4 Stacking](#3-4-stacking)\n  - [3.5 Data Calculation](#3-5-data-calculation)\n  - [3.6 Filtering](#3-6-filtering)\n  - [3.7 Flattening](#3-7-flattening)\n  - [3.8 Folding and Pivoting](#3-8-folding-and-pivoting)\n  - [3.9 Relational Joining](#3-9-relational-joining)\n  - [3.10 Data Imputation](#3-10-data-imputation)\n  - [3.11 Data Sampling](#3-11-data-sampling)\n  - [3.12 Density Estimation](#3-12-density-estimation)\n  - [3.13 Loess Trend Calculation](#3-13-loess-trend-calculation)\n  - [3.14 Regression Calculation](#3-14-regression-calculation)\n  - [3.15] Quantile Calculation](#3-15-quantile-calculation)\n  - [3.16 Window Transformations](#3-16-window-transformations)\n\n@docs transform\n\n\n## 3.1 Map Projections\n\nSee the\n[Vega-Lite map projection documentation](https://vega.github.io/vega-lite/docs/projection.html).\n\n@docs projection\n\n@docs prNumExpr\n\n@docs prType\n@docs albers\n@docs albersUsa\n@docs azimuthalEqualArea\n@docs azimuthalEquidistant\n@docs conicConformal\n@docs conicEqualArea\n@docs conicEquidistant\n@docs equalEarth\n@docs equirectangular\n@docs gnomonic\n@docs identityProjection\n@docs mercator\n@docs naturalEarth1\n@docs orthographic\n@docs stereographic\n@docs transverseMercator\n@docs customProjection\n@docs prExpr\n\n@docs prClipAngle\n@docs prClipExtent\n@docs noClip\n@docs clipRect\n@docs clipRectExpr\n\n@docs prFit\n@docs prCenter\n@docs prCenterExpr\n@docs prScale\n@docs prTranslate\n@docs prTranslateExpr\n@docs prRotate\n@docs prRotateExpr\n@docs prPrecision\n@docs prCoefficient\n@docs prDistance\n@docs prFraction\n@docs prLobes\n@docs prParallel\n@docs prParallels\n@docs prParallelsExpr\n@docs prPointRadius\n@docs prRadius\n@docs prRatio\n@docs prReflectX\n@docs prReflectY\n@docs prSpacing\n@docs prTilt\n\n\n## 3.2 Aggregation\n\nSee the\n[Vega-Lite aggregate documentation](https://vega.github.io/vega-lite/docs/aggregate.html).\n\n@docs aggregate\n@docs joinAggregate\n@docs opAs\n@docs timeUnitAs\n@docs opArgMax\n@docs opArgMin\n@docs opCI0\n@docs opCI1\n@docs opCount\n@docs opDistinct\n@docs opMax\n@docs opMean\n@docs opMedian\n@docs opMin\n@docs opMissing\n@docs opProduct\n@docs opQ1\n@docs opQ3\n@docs opStderr\n@docs opStdev\n@docs opStdevP\n@docs opSum\n@docs opValid\n@docs opVariance\n@docs opVarianceP\n\n\n## 3.3 Binning\n\nSee the [Vega-Lite binning documentation](https://vega.github.io/vega-lite/docs/bin.html).\n\n@docs binAs\n@docs biAnchor\n@docs biBase\n@docs biDivide\n@docs biExtent\n@docs biSelectionExtent\n@docs biMaxBins\n@docs biMinStep\n@docs biNice\n@docs biStep\n@docs biSteps\n\n\n## 3.4 Stacking\n\nSee the [Vega-Lite stack documentation](https://vega.github.io/vega-lite/docs/stack.html)\n\n@docs stack\n@docs stOffset\n@docs stNormalize\n@docs stCenter\n@docs stZero\n@docs stNone\n@docs stSort\n@docs stAscending\n@docs stDescending\n\n\n## 3.5 Data Calculation\n\nSee\n[Vega-Lite calculate documentation](https://vega.github.io/vega-lite/docs/calculate.html).\n\n@docs calculateAs\n\n\n## 3.6 Filtering\n\nSee the\n[Vega-Lite filter documentation](https://vega.github.io/vega-lite/docs/filter.html).\n\n@docs filter\n\n@docs fiEqual\n@docs fiLessThan\n@docs fiLessThanEq\n@docs fiGreaterThan\n@docs fiGreaterThanEq\n@docs fiExpr\n@docs fiSelection\n@docs fiSelectionEmpty\n@docs fiOp\n@docs fiOpTrans\n@docs fiCompose\n@docs fiOneOf\n@docs fiRange\n@docs fiValid\n@docs numRange\n@docs dtRange\n\n\n## 3.7 Flattening\n\nSee the Vega-Lite [flatten](https://vega.github.io/vega-lite/docs/flatten.html)\nand [fold](https://vega.github.io/vega-lite/docs/fold.html) documentation.\n\n@docs flatten\n@docs flattenAs\n\n\n## 3.8 Folding and Pivoting\n\nData tidying operations that reshape the rows and columns of a dataset.\nSee the Vega-Lite [fold](https://vega.github.io/vega-lite/docs/fold.html) and\n[pivot](https://vega.github.io/vega-lite/docs/pivot.html) documentation.\n\n@docs fold\n@docs foldAs\n\n@docs pivot\n@docs piGroupBy\n@docs piLimit\n@docs piOp\n\n\n## 3.9 Relational Joining\n\nCreate lookups between data tables in order to join values from multiple sources.\nSee the [Vega-Lite lookup documentation](https://vega.github.io/vega-lite/docs/lookup.html).\n\n@docs lookup\n@docs lookupSelection\n@docs luFields\n@docs luFieldsWithDefault\n@docs luFieldsAs\n@docs luFieldsAsWithDefault\n@docs luAs\n@docs luAsWithDefault\n\n\n## 3.10 Data Imputation\n\nImpute missing data. See the\n[Vega-Lite impute documentation](https://vega.github.io/vega-lite/docs/impute.html#transform).\n\n@docs impute\n@docs imFrame\n@docs imKeyVals\n@docs imKeyValSequence\n@docs imMethod\n@docs imGroupBy\n@docs imNewValue\n@docs imValue\n@docs imMean\n@docs imMedian\n@docs imMax\n@docs imMin\n\n\n## 3.11 Data Sampling\n\nSee the [Vega-Lite sample documentation](https://vega.github.io/vega-lite/docs/sample.html)\n\n@docs sample\n\n\n## 3.12 Density Estimation\n\nSee the [Vega-Lite density documentation](https://vega.github.io/vega-lite/docs/density.html)\n\n@docs density\n@docs dnGroupBy\n@docs dnCumulative\n@docs dnCounts\n@docs dnBandwidth\n@docs dnExtent\n@docs dnMinSteps\n@docs dnMaxSteps\n@docs dnSteps\n@docs dnAs\n\n\n## 3.13 Loess Trend Calculation\n\nSee the [Vega-Lite loess documentation](https://vega.github.io/vega-lite/docs/loess.html)\n\n@docs loess\n@docs lsGroupBy\n@docs lsBandwidth\n@docs lsAs\n\n\n## 3.14 Regression Calculation\n\nSee the [Vega-Lite regression documentation](https://vega.github.io/vega-lite/docs/regression.html)\n\n@docs regression\n@docs rgGroupBy\n@docs rgMethod\n@docs rgOrder\n@docs rgExtent\n@docs rgParams\n@docs rgAs\n\n@docs rgLinear\n@docs rgLog\n@docs rgExp\n@docs rgPow\n@docs rgQuad\n@docs rgPoly\n\n\n## 3.15 Quantile Calculation\n\n@docs quantile\n@docs qtGroupBy\n@docs qtProbs\n@docs qtStep\n@docs qtAs\n\n\n## 3.16 Window Transformations\n\nSee the Vega-Lite\n[window transform field](https://vega.github.io/vega-lite/docs/window.html#field-def)\nand [window transform](https://vega.github.io/vega-lite/docs/window.html#window-transform-definition)\ndocumentation.\n\n@docs window\n@docs wiAggregateOp\n@docs wiOp\n@docs wiParam\n@docs wiField\n@docs woRowNumber\n@docs woRank\n@docs woDenseRank\n@docs woPercentRank\n@docs woCumeDist\n@docs woPercentile\n@docs woLag\n@docs woLead\n@docs woFirstValue\n@docs woLastValue\n@docs woNthValue\n@docs wiFrame\n@docs wiIgnorePeers\n@docs wiGroupBy\n@docs wiSort\n@docs wiAscending\n@docs wiDescending\n\n---\n\n\n# 4. Specifying Marks\n\nFunctions for declaring the type of visual marks used to represent encoded data.\n\n  - 4.1 [Types of Mark](#4-1-types-of-mark)\n  - 4.2 [Mark Properties](#4-2-mark-properties)\n\n\n## 4.1 Types of Mark\n\n@docs arc\n@docs area\n@docs bar\n@docs boxplot\n@docs errorband\n@docs errorbar\n@docs circle\n@docs geoshape\n@docs image\n@docs line\n@docs point\n@docs rect\n@docs rule\n@docs square\n@docs textMark\n@docs tick\n@docs trail\n\n\n## 4.2 Mark Properties\n\nSee the Vega-Lite\n[general mark](https://vega.github.io/vega-lite/docs/mark.html#general-mark-properties),\n[area mark](https://vega.github.io/vega-lite/docs/area.html#properties),\n[bar mark](https://vega.github.io/vega-lite/docs/bar.html#properties),\n[boxplot](https://vega.github.io/vega-lite/docs/boxplot.html#properties),\n[circle mark](https://vega.github.io/vega-lite/docs/circle.html#properties),\n[error band](https://vega.github.io/vega-lite/docs/errorband.html#properties),\n[error bar](https://vega.github.io/vega-lite/docs/errorbar.html#properties),\n[hyperlink mark](https://vega.github.io/vega-lite/docs/mark.html#hyperlink),\n[image mark](https://vega.github.io/vega-lite/docs/image.html#properties),\n[line mark](https://vega.github.io/vega-lite/docs/line.html#properties),\n[point mark](https://vega.github.io/vega-lite/docs/point.html#properties),\n[rect mark](https://vega.github.io/vega-lite/docs/rect.html#properties),\n[rule mark](https://vega.github.io/vega-lite/docs/rule.html#properties),\n[square mark](https://vega.github.io/vega-lite/docs/square.html#properties),\n[text mark](https://vega.github.io/vega-lite/docs/text.html#properties) and\n[tick mark](https://vega.github.io/vega-lite/docs/tick.html#properties)\nproperty documentation.\n\n@docs maBooExpr\n@docs maNumExpr\n@docs maNumsExpr\n@docs maStrExpr\n\n@docs maAlign\n@docs maAngle\n@docs maAria\n@docs maBandSize\n@docs maBaseline\n@docs maBinSpacing\n@docs maBlend\n@docs maBorders\n@docs maBox\n@docs maClip\n@docs maRemoveInvalid\n@docs maColor\n@docs maColorGradient\n@docs maCornerRadius\n@docs maCornerRadiusEnd\n@docs maCornerRadiusTopLeft\n@docs maCornerRadiusTopRight\n@docs maCornerRadiusBottomLeft\n@docs maCornerRadiusBottomRight\n@docs maCursor\n@docs maExtent\n@docs maHRef\n@docs maContinuousBandSize\n@docs maDiscreteBandSize\n@docs maLimit\n@docs maDir\n@docs maEllipsis\n@docs maDx\n@docs maDy\n@docs maInnerRadius\n@docs maOuterRadius\n@docs maPadAngle\n@docs maFill\n@docs maFillGradient\n@docs maFilled\n@docs maFillOpacity\n@docs maFont\n@docs maFontSize\n@docs maFontStyle\n@docs maFontWeight\n@docs maInterpolate\n@docs maOpacity\n@docs maOrder\n@docs maOrient\n@docs maPoint\n@docs maLine\n@docs maMedian\n@docs maOutliers\n@docs maRadius\n@docs maRule\n@docs maShape\n@docs maShortTimeLabels\n@docs maSize\n@docs maStroke\n@docs maStrokeGradient\n@docs maStrokeCap\n@docs caRound\n@docs caSquare\n@docs caButt\n@docs caExpr\n@docs maStrokeDash\n@docs maStrokeDashOffset\n@docs maStrokeJoin\n@docs joRound\n@docs joBevel\n@docs joMiter\n@docs joExpr\n@docs maStrokeMiterLimit\n@docs maStrokeOpacity\n@docs maStrokeWidth\n@docs maStyle\n@docs maTension\n@docs maText\n@docs maLineHeight\n@docs maTheta\n@docs maTheta2\n@docs maThickness\n@docs maTicks\n@docs maTooltip\n@docs maUrl\n@docs maWidth\n@docs maWidthBand\n@docs maHeight\n@docs maHeightBand\n@docs maX\n@docs maY\n@docs maXOffset\n@docs maYOffset\n@docs maThetaOffset\n@docs maTheta2Offset\n@docs maX2\n@docs maY2\n@docs maX2Offset\n@docs maY2Offset\n@docs maRadiusOffset\n@docs maRadius2Offset\n@docs maAspect\n\n\n### 4.2.1 Color Gradients\n\n@docs grLinear\n@docs grRadial\n@docs grX1\n@docs grX2\n@docs grY1\n@docs grY2\n@docs grR1\n@docs grR2\n@docs grStops\n\n\n### 4.2.2 Used by Mark Properties\n\n@docs arEnable\n@docs arDisable\n@docs arDescription\n@docs arExpr\n\n@docs moHorizontal\n@docs moVertical\n@docs miBasis\n@docs miBasisOpen\n@docs miBasisClosed\n@docs miBundle\n@docs miCardinal\n@docs miCardinalOpen\n@docs miCardinalClosed\n@docs miLinear\n@docs miLinearClosed\n@docs miMonotone\n@docs miStepwise\n@docs miStepAfter\n@docs miStepBefore\n@docs miExpr\n\n@docs tdLeftToRight\n@docs tdRightToLeft\n@docs tdExpr\n\n@docs symCircle\n@docs symCross\n@docs symDiamond\n@docs symSquare\n@docs symTriangleUp\n@docs symTriangleDown\n@docs symTriangleLeft\n@docs symTriangleRight\n@docs symPath\n@docs symStroke\n@docs symArrow\n@docs symWedge\n@docs symTriangle\n@docs symExpr\n@docs pmNone\n@docs pmTransparent\n@docs pmMarker\n@docs lmMarker\n@docs lmNone\n@docs exRange\n@docs exCi\n@docs exIqr\n@docs exIqrScale\n@docs exStderr\n@docs exStdev\n@docs ttData\n@docs ttEncoding\n@docs ttNone\n\n\n### 4.2.3 Blend Modes\n\n@docs bmNormal\n@docs bmMultiply\n@docs bmScreen\n@docs bmOverlay\n@docs bmDarken\n@docs bmLighten\n@docs bmColorDodge\n@docs bmColorBurn\n@docs bmHardLight\n@docs bmSoftLight\n@docs bmDifference\n@docs bmExclusion\n@docs bmHue\n@docs bmSaturation\n@docs bmColor\n@docs bmLuminosity\n@docs bmExpr\n\n\n### 4.2.4 Cursors\n\nSee the\n[CSS cursor documentation](https://developer.mozilla.org/en-US/docs/Web/CSS/cursor#Keyword%20values)\n\n@docs cuAuto\n@docs cuDefault\n@docs cuNone\n@docs cuContextMenu\n@docs cuHelp\n@docs cuPointer\n@docs cuProgress\n@docs cuWait\n@docs cuCell\n@docs cuCrosshair\n@docs cuText\n@docs cuVerticalText\n@docs cuAlias\n@docs cuCopy\n@docs cuMove\n@docs cuNoDrop\n@docs cuNotAllowed\n@docs cuAllScroll\n@docs cuColResize\n@docs cuRowResize\n@docs cuNResize\n@docs cuEResize\n@docs cuSResize\n@docs cuWResize\n@docs cuNEResize\n@docs cuNWResize\n@docs cuSEResize\n@docs cuSWResize\n@docs cuEWResize\n@docs cuNSResize\n@docs cuNESWResize\n@docs cuNWSEResize\n@docs cuZoomIn\n@docs cuZoomOut\n@docs cuGrab\n@docs cuGrabbing\n@docs cuExpr\n\n---\n\n\n# 5. Encoding Data as Channels\n\nDescribes the mapping between data fields and the channels (position, color etc.)\nused to determine the visual appearance of marks that represent them.\n\n  - 5.1 [Position Channel](#5-1-position-channel)\n  - 5.2 [Mark Channels](#5-2-mark-channels)\n  - 5.3 [Text Channel](#5-3-text-channel)\n  - 5.4 [Hyperlink Channel](#5-4-hyperlink-channel)\n  - 5.5 [URL Channel](#5-5-url-channel)\n  - 5.6 [Order Channel](#5-6-order-channel)\n  - 5.7 [Facet Channels](#5-7-facet-channels)\n  - 5.8 [Level of Detail Channel](#5-8-level-of-detail-channel)\n  - 5.9 [Key Channel](#5-9-key-channel)\n  - 5.10 [Scaling](#5-10-scaling)\n\n@docs encoding\n@docs Measurement\n\n\n## 5.1 Position channel\n\nRelates to where something appears in the visualization.\nSee the\n[Vega-Lite position documentation](https://vega.github.io/vega-lite/docs/encoding.html#position)\n\n@docs position\n@docs Position\n\n\n### 5.1.1 Position Channel Properties\n\n@docs pName\n@docs pDatum\n@docs pRepeat\n@docs pRepeatDatum\n@docs pNominal\n@docs pOrdinal\n@docs pQuant\n@docs pTemporal\n@docs pGeo\n@docs pBin\n@docs pBinned\n@docs pTimeUnit\n@docs pTitle\n@docs pAggregate\n@docs pScale\n@docs pAxis\n@docs pSort\n@docs pBandPosition\n@docs pStack\n@docs pWidth\n@docs pHeight\n@docs pNum\n@docs pImpute\n\n\n### 5.1.2 Sorting Properties\n\nSee the\n[Vega-Lite sort documentation](https://vega.github.io/vega-lite/docs/sort.html).\n\n@docs soAscending\n@docs soDescending\n@docs soByField\n@docs soByChannel\n@docs soByRepeat\n@docs soCustom\n\n\n### 5.1.3 Axis Properties\n\nSee the\n[Vega-Lite axis property documentation](https://vega.github.io/vega-lite/docs/axis.html#axis-properties)\n\n@docs axBooExpr\n@docs axcoBooExpr\n@docs axNumExpr\n@docs axcoNumExpr\n@docs axNumsExpr\n@docs axcoNumsExpr\n@docs axStrExpr\n@docs axcoStrExpr\n\n\n#### General\n\n@docs axAria\n@docs axBandPosition\n@docs axMaxExtent\n@docs axMinExtent\n@docs axOrient\n@docs axOffset\n@docs axPosition\n@docs axZIndex\n@docs axDataCondition\n@docs axStyle\n@docs axTranslate\n\n\n#### Axis Domain\n\n@docs axDomain\n@docs axDomainDash\n@docs axDomainDashOffset\n@docs axDomainCap\n@docs axDomainColor\n@docs axDomainOpacity\n@docs axDomainWidth\n\n\n#### Axis Labels\n\n@docs axFormat\n@docs axTemporalFormats\n@docs axFormatAsNum\n@docs axFormatAsTemporal\n@docs axFormatAsCustom\n@docs axLabels\n@docs axLabelAlign\n@docs cAxLabelAlign\n@docs axLabelAngle\n@docs axLabelBaseline\n@docs cAxLabelBaseline\n@docs axLabelBound\n@docs axLabelBoundExpr\n@docs axLabelColor\n@docs cAxLabelColor\n@docs axLabelExpr\n@docs axLabelFlush\n@docs axLabelFlushOffset\n@docs axLabelFont\n@docs cAxLabelFont\n@docs axLabelFontSize\n@docs cAxLabelFontSize\n@docs axLabelFontStyle\n@docs cAxLabelFontStyle\n@docs axLabelFontWeight\n@docs cAxLabelFontWeight\n@docs axLabelLimit\n@docs axLabelLineHeight\n@docs axLabelOffset\n@docs cAxLabelOffset\n@docs axLabelOpacity\n@docs cAxLabelOpacity\n@docs axLabelOverlap\n@docs axLabelPadding\n@docs cAxLabelPadding\n@docs axLabelSeparation\n\n\n#### Axis Ticks\n\n@docs axTicks\n@docs axTickBand\n@docs tbCenter\n@docs tbExtent\n@docs tbExpr\n@docs axTickCap\n@docs axTickColor\n@docs cAxTickColor\n@docs axTickCount\n@docs axTickDash\n@docs cAxTickDash\n@docs axTickDashOffset\n@docs cAxTickDashOffset\n@docs axTickExtra\n@docs axTickMinStep\n@docs axTickOffset\n@docs axTickOpacity\n@docs cAxTickOpacity\n@docs axTickRound\n@docs axTickSize\n@docs cAxTickSize\n@docs axTickWidth\n@docs cAxTickWidth\n@docs axValues\n\n\n#### Axis Title\n\n@docs axTitle\n@docs axTitleAlign\n@docs axTitleAnchor\n@docs axTitleAngle\n@docs axTitleBaseline\n@docs axTitleColor\n@docs axTitleFont\n@docs axTitleFontSize\n@docs axTitleFontStyle\n@docs axTitleFontWeight\n@docs axTitleLimit\n@docs axTitleLineHeight\n@docs axTitleOpacity\n@docs axTitlePadding\n@docs axTitleX\n@docs axTitleY\n\n\n#### Axis Grid\n\n@docs axGrid\n@docs axGridCap\n@docs axGridColor\n@docs cAxGridColor\n@docs axGridDash\n@docs cAxGridDash\n@docs axGridDashOffset\n@docs cAxGridDashOffset\n@docs axGridOpacity\n@docs cAxGridOpacity\n@docs axGridWidth\n@docs cAxGridWidth\n\n\n### 5.1.4 Positioning Constants\n\n\n#### Text Alignment\n\n@docs haLeft\n@docs haCenter\n@docs haRight\n@docs haExpr\n\n@docs vaTop\n@docs vaLineTop\n@docs vaMiddle\n@docs vaBottom\n@docs vaLineBottom\n@docs vaAlphabetic\n@docs vaExpr\n\n\n#### Overlapping text\n\n@docs osNone\n@docs osGreedy\n@docs osParity\n@docs osExpr\n\n\n### Relative Position\n\n@docs siTop\n@docs siBottom\n@docs siLeft\n@docs siRight\n@docs siExpr\n\n\n## 5.2 Mark Channels\n\nAppearance of the visual marks in the visualization such as their color or size.\n\n@docs size\n@docs angle\n@docs color\n@docs fill\n@docs stroke\n@docs strokeDash\n@docs strokeWidth\n@docs opacity\n@docs fillOpacity\n@docs strokeOpacity\n@docs shape\n\n\n### 5.2.1 Mark Channel Properties\n\n@docs mName\n@docs mDatum\n@docs mRepeat\n@docs mRepeatDatum\n@docs mNominal\n@docs mOrdinal\n@docs mQuant\n@docs mTemporal\n@docs mGeo\n@docs mScale\n@docs mBin\n@docs mBinned\n@docs mBand\n@docs mSort\n@docs mTimeUnit\n@docs mTitle\n@docs mAggregate\n@docs mLegend\n@docs mPath\n@docs mNum\n@docs mStr\n@docs mBoo\n@docs mSymbol\n\n\n### 5.2.2 Mark Legends\n\nSee the\n[Vega-Lite legend property documentation](https://vega.github.io/vega-lite/docs/legend.html#legend-properties).\n\n@docs leNumExpr\n@docs lecoNumExpr\n@docs leNumsExpr\n@docs lecoNumsExpr\n@docs leStrExpr\n@docs lecoStrExpr\n\n@docs leAria\n@docs leGradient\n@docs leSymbol\n@docs leClipHeight\n@docs leColumnPadding\n@docs leColumns\n@docs leCornerRadius\n@docs leDirection\n@docs leFillColor\n@docs leFormat\n@docs leFormatAsNum\n@docs leFormatAsTemporal\n@docs leFormatAsCustom\n@docs leGradientLength\n@docs lecoGradientHorizontalMaxLength\n@docs lecoGradientHorizontalMinLength\n@docs lecoGradientVerticalMaxLength\n@docs lecoGradientVerticalMinLength\n@docs leGradientOpacity\n@docs leGradientThickness\n@docs leGradientStrokeColor\n@docs leGradientStrokeWidth\n@docs leGridAlign\n@docs leLabelAlign\n@docs leLabelBaseline\n@docs leLabelColor\n@docs leLabelExpr\n@docs leLabelFont\n@docs leLabelFontSize\n@docs leLabelFontStyle\n@docs leLabelFontWeight\n@docs leLabelLimit\n@docs leLabelOffset\n@docs leLabelOverlap\n@docs leOffset\n@docs leOrient\n@docs lePadding\n@docs leRowPadding\n@docs leStrokeColor\n@docs leStrokeWidth\n@docs leSymbolDash\n@docs leSymbolDashOffset\n@docs leSymbolFillColor\n@docs leSymbolLimit\n@docs leSymbolOffset\n@docs leSymbolOpacity\n@docs leSymbolSize\n@docs leSymbolStrokeColor\n@docs leSymbolStrokeWidth\n@docs leSymbolType\n@docs leTickCount\n@docs leTitle\n@docs leTitleAlign\n@docs leTitleAnchor\n@docs leTitleBaseline\n@docs leTitleColor\n@docs leTitleFont\n@docs leTitleFontSize\n@docs leTitleFontStyle\n@docs leTitleFontWeight\n@docs leTitleLimit\n@docs leTitleLineHeight\n@docs leTitleOpacity\n@docs leTitleOrient\n@docs leTitlePadding\n@docs leType\n@docs leValues\n@docs leX\n@docs leY\n@docs leZIndex\n\n\n#### Legend Constants\n\n@docs loLeft\n@docs loRight\n@docs loTop\n@docs loBottom\n@docs loTopLeft\n@docs loTopRight\n@docs loBottomLeft\n@docs loBottomRight\n@docs loNone\n\n\n## 5.3 Text Channel\n\nRelate to the appearance of the text and tooltip elements of the visualization.\nSee the\n[Vega-Lite text documentation](https://vega.github.io/vega-lite/docs/encoding.html#text)\n\n@docs text\n@docs tooltip\n@docs tooltips\n@docs tName\n@docs tRepeat\n@docs tNominal\n@docs tOrdinal\n@docs tQuant\n@docs tTemporal\n@docs tGeo\n@docs tBin\n@docs tBinned\n@docs tAggregate\n@docs tTimeUnit\n@docs tTitle\n@docs tStr\n@docs tDatum\n@docs tFormat\n@docs tFormatAsNum\n@docs tFormatAsTemporal\n@docs tFormatAsCustom\n@docs FontWeight\n@docs fwBold\n@docs fwBolder\n@docs fwLighter\n@docs fwNormal\n@docs fwValue\n@docs fwExpr\n\n\n## 5.4 Hyperlink Channel\n\nRelates to a clickable URL destination of a mark. Unlike most other channels, the\nhyperlink channel has no direct visual expression other than the option of changing\nthe cursor style when hovering, so an encoding will usually pair hyperlinks with\nother visual channels such as marks or texts. See the\n[Vega-Lite hyperlink documentation](https://vega.github.io/vega-lite/docs/encoding.html#href)\n\n@docs hyperlink\n@docs hName\n@docs hRepeat\n@docs hNominal\n@docs hOrdinal\n@docs hQuant\n@docs hTemporal\n@docs hGeo\n@docs hBin\n@docs hBinned\n@docs hAggregate\n@docs hTimeUnit\n@docs hStr\n\n\n## 5.5 URL Channel\n\nData-driven URL used for [image](#image) specification. A data field can contain\nURL strings defining the location of image files that can be shown with the [image](#image)\nmark.\n\n@docs url\n\n\n## 5.6 Order Channel\n\nChannel that relate to the order of data fields such as for sorting stacking order\nor order of data points in a connected scatterplot. See the\n[Vega-Lite order documentation](https://vega.github.io/vega-lite/docs/encoding.html#order).\n\n@docs order\n@docs oName\n@docs oRepeat\n@docs oNominal\n@docs oOrdinal\n@docs oQuant\n@docs oTemporal\n@docs oGeo\n@docs oBin\n@docs oAggregate\n@docs oSort\n@docs oTimeUnit\n@docs oNum\n\n\n## 5.7 Facet Channels\n\nChannel for faceting single plots into small multiples. Can be used to create\ntrellis plots or other arrangements in rows and columns. See the\n[Vega-Lite facet documentation](https://vega.github.io/vega-lite/docs/facet.html).\nSee also, 'faceted view composition' for a more flexible (but more verbose) way\nof defining faceted views.\n\n@docs row\n@docs column\n\n\n## 5.8 Level of Detail Channel\n\nUsed for grouping data but without changing the visual appearance of a mark. When,\nfor example, a field is encoded by color, all data items with the same value for\nthat field are given the same color. When a detail channel encodes a field, all\ndata items with the same value are placed in the same group. See the\n[Vega-Lite documentation](https://vega.github.io/vega-lite/docs/encoding.html#detail).\n\n@docs detail\n@docs dName\n@docs dNominal\n@docs dOrdinal\n@docs dQuant\n@docs dTemporal\n@docs dGeo\n@docs dAggregate\n@docs dBin\n@docs dTimeUnit\n\n\n## 5.9 Key Channel\n\nEnables object constancy for transitions over dynamic data. When a visualization’s\ndata is updated (via the [Vega View API](https://vega.github.io/vega/docs/api/view/#data),\nthe key value will be used to match data elements to existing mark instances. See the\n[Vega-Lite key channel documentation](https://vega.github.io/vega-lite/docs/encoding.html#key).\n\n@docs key\n\n@docs kName\n@docs kNominal\n@docs kOrdinal\n@docs kQuant\n@docs kTemporal\n@docs kGeo\n\n\n## 5.10 Scaling\n\nUsed to specify how the encoding of a data field should be applied. See the\n[Vega-Lite scale documentation](https://vega.github.io/vega-lite/docs/scale.html).\n\n@docs scType\n@docs scNumExpr\n@docs scBooExpr\n\n\n### 5.10.1 Scale Domain\n\nDescribes the data values that will be encoded.\n\n@docs doNumExpr\n\n@docs scDomain\n@docs scDomainExpr\n@docs categoricalDomainMap\n@docs domainRangeMap\n@docs doNums\n@docs doMin\n@docs doMid\n@docs doMax\n@docs doStrs\n@docs doDts\n@docs doDtsExpr\n@docs doMinDt\n@docs doMinDtExpr\n@docs doMaxDt\n@docs doMaxDtExpr\n@docs fromPosixTime\n@docs doUnaggregated\n@docs doUnionWith\n@docs doSelection\n@docs doSelectionChannel\n@docs doSelectionField\n\n\n### 5.10.2 Scale Range\n\nDescribes the values after data have been encoded (e.g. pixel positions or color values).\n\n@docs raNumExpr\n\n@docs scRange\n@docs raExprs\n@docs raName\n@docs raNums\n@docs raMin\n@docs raMax\n@docs raNumLists\n@docs raStrs\n@docs raField\n\n\n### 5.10.3 Scaling Properties\n\n@docs scScheme\n@docs scSchemeExpr\n@docs scAlign\n@docs scPadding\n@docs scPaddingInner\n@docs scPaddingOuter\n@docs scReverse\n@docs scRound\n@docs scClamp\n@docs scInterpolate\n@docs scNice\n@docs scZero\n@docs scBand\n@docs scBinOrdinal\n@docs scLinear\n@docs scLog\n@docs scSymLog\n@docs scConstant\n@docs scBase\n@docs scOrdinal\n@docs scPoint\n@docs scPow\n@docs scExponent\n@docs scQuantile\n@docs scQuantize\n@docs scSqrt\n@docs scThreshold\n@docs scTime\n@docs scUtc\n\n\n#### Scaling Constants\n\n@docs niTrue\n@docs niFalse\n@docs niMillisecond\n@docs niSecond\n@docs niMinute\n@docs niHour\n@docs niDay\n@docs niWeek\n@docs niMonth\n@docs niYear\n@docs niTickCount\n@docs niInterval\n@docs niExpr\n\n\n### 5.10.4 Color Scaling\n\nFor color interpolation types, see the\n[Vega-Lite continuous scale documentation](https://vega.github.io/vega-lite/docs/scale.html#continuous).\n\n@docs cubeHelix\n@docs cubeHelixLong\n@docs hcl\n@docs hclLong\n@docs hsl\n@docs hslLong\n@docs lab\n@docs rgb\n\n---\n\n\n# 6. View Composition\n\nViews can be combined to create more complex multi-view displays. This may involve\nlayering views on top of each other (superposition) or laying them out in adjacent\nspaces (juxtaposition using [repeatFlow](#repeatFlow), [repeat](#repeat),\n[facetFlow](#facetFlow), [facet](#facet), [concat](#concat), [hConcat](#hConcat)\nor [vConcat](#vConcat)). Where different views have potentially conflicting channels\n(e.g. two position scales in a layered visualization) the rules for resolving them\ncan be defined with `resolve`. For details, see the\n[Vega-Lite composition documentation](https://vega.github.io/vega-lite/docs/composition.html)\n\n  - 6.1 [Resolution](#6-1-resolution)\n  - 6.2 [Faceted Views](#6-2-faceted-views)\n\n@docs layer\n@docs concat\n@docs columns\n@docs hConcat\n@docs vConcat\n@docs align\n@docs alignRC\n@docs caAll\n@docs caEach\n@docs caNone\n@docs bounds\n@docs boFull\n@docs boFlush\n@docs spacing\n@docs spacingRC\n@docs center\n@docs centerRC\n\n\n## 6.1 Resolution\n\nControlling the (in)dependence between composed views. See the\n[Vega-Lite resolve documentation](https://vega.github.io/vega-lite/docs/resolve.html).\n\n@docs resolve\n@docs resolution\n@docs reShared\n@docs reIndependent\n@docs reAxis\n@docs reLegend\n@docs reScale\n@docs chX\n@docs chY\n@docs chX2\n@docs chY2\n@docs chXOffset\n@docs chYOffset\n@docs chColor\n@docs chOpacity\n@docs chShape\n@docs chSize\n@docs chStrokeDash\n\n\n## 6.2 Faceted Views\n\nSmall multiples each of which show subsets of the same dataset. The specification\ndetermines which field should be used to determine subsets along with their spatial\narrangement. See the\n[Vega-Lite facet documentation](https://vega.github.io/vega-lite/docs/facet.html)\n\n@docs repeatFlow\n@docs repeat\n@docs rowFields\n@docs columnFields\n@docs layerFields\n@docs facetFlow\n@docs facet\n@docs columnBy\n@docs rowBy\n\n@docs fName\n@docs fNominal\n@docs fOrdinal\n@docs fQuant\n@docs fTemporal\n@docs fGeo\n@docs fAggregate\n@docs fBin\n@docs fSort\n@docs fHeader\n@docs fTimeUnit\n@docs fAlign\n@docs fCenter\n@docs fSpacing\n\n@docs asSpec\n@docs specification\n@docs arLayer\n@docs arFlow\n@docs arColumn\n@docs arRow\n\n\n### 6.2.1 Facet Headers\n\nSee\n[Vega-Lite header documentation](https://vega.github.io/vega-lite/docs/header.html)\n\n@docs hdNumExpr\n@docs hdStrExpr\n\n\n#### Header Labels\n\n@docs hdLabelAngle\n@docs hdLabelAlign\n@docs hdLabelAnchor\n@docs hdLabelBaseline\n@docs hdLabelColor\n@docs hdLabelExpr\n@docs hdLabelFont\n@docs hdLabelFontSize\n@docs hdLabelFontStyle\n@docs hdLabelFontWeight\n@docs hdLabelLimit\n@docs hdLabelLineHeight\n@docs hdLabelOrient\n@docs hdLabelPadding\n@docs hdLabels\n\n\n#### Header Title\n\n@docs hdTitle\n@docs hdTitleAlign\n@docs hdTitleAnchor\n@docs hdTitleAngle\n@docs hdTitleBaseline\n@docs hdTitleColor\n@docs hdTitleFont\n@docs hdTitleFontStyle\n@docs hdTitleFontSize\n@docs hdTitleFontWeight\n@docs hdTitleLimit\n@docs hdTitleLineHeight\n@docs hdTitleOrient\n@docs hdOrient\n@docs hdTitlePadding\n\n\n#### Header Formatting\n\n@docs hdFormat\n@docs hdFormatAsNum\n@docs hdFormatAsTemporal\n@docs hdFormatAsCustom\n\n---\n\n\n# 7. Parameters\n\nVega-Lite _parameters_ allow named objects whose values can change to persist within\na specification. In the case of simple variables, it is often easier to use Elm\ndirectly to store persistent values. The main benefits of parameters are for storing\n_interaction selections_ such as mouse selections or slider values. See the Vega-Lite\n[parameter documentation](https://vega.github.io/vega-lite/docs/parameter.html) for\ndetails.\n\n  - 7.1 [Selection Parameters](#7-1-selection-parameters)\n  - 7.2 [Selection Resolution](#7-2-selection-resolution)\n  - 7.3 [Conditional Channel Encodings](#7-3-conditional-channel-encodings)\n\n@docs params\n@docs param\n@docs paValue\n@docs paValues\n@docs paExpr\n\n\n## 7.1 Selection Parameters\n\n@docs paSelect\n@docs sePoint\n@docs seInterval\n@docs seClear\n@docs seEncodings\n@docs seFields\n@docs seNearest\n@docs seOn\n@docs seToggle\n@docs tpFalse\n@docs tpExpr\n@docs tpShiftKey\n@docs tpAltKey\n@docs tpCtrlKey\n@docs seTranslate\n@docs seZoom\n\n\n### Selection Bindings\n\n@docs paBind\n@docs paBindings\n@docs paBindScales\n@docs paBindLegend\n\n\n### Input Elements\n\n@docs ipRange\n@docs ipCheckbox\n@docs ipRadio\n@docs ipSelect\n@docs ipText\n@docs ipNumber\n@docs ipDate\n@docs ipTime\n@docs ipMonth\n@docs ipWeek\n@docs ipDateTimeLocal\n@docs ipTel\n@docs ipColor\n\n@docs inDebounce\n@docs inElement\n@docs inOptions\n@docs inDatumOptions\n@docs inDataOptions\n@docs inMin\n@docs inMax\n@docs inName\n@docs inStep\n@docs inPlaceholder\n\n### Selection Marks\n\nCustomising the appearance of interval selection rectangles.\n\n@docs seSelectionMark\n@docs smFill\n@docs smFillOpacity\n@docs smStroke\n@docs smStrokeDash\n@docs smStrokeDashOffset\n@docs smStrokeOpacity\n@docs smStrokeWidth\n@docs smCursor\n\n\n## 7.2 Selection Resolution\n\nDetermines how selections are made across multiple views.\nSee the [Vega-lite resolve selection documentation](https://vega.github.io/vega-lite/docs/selection.html#resolve).\n\n@docs seResolve\n@docs seGlobal\n@docs seUnion\n@docs seIntersection\n\n\n## 7.3 Conditional Channel Encodings\n\nChannel encoding can be made conditional on a parameter value, therefore allowing\nit to be the result of some interaction or data expression. It does this via\n[mCondition](#mCondition) (and its 'o', 't' and 'h' variants). Mark appearance can\ntherefore depend on some properties such as whether a datum is null or whether it\nhas been interactively selected. The condition to test (predicate) is usually\nspecified either as a parameter with [prParam](#prParam) or an expression with\n[prTest](#prTest).\n\n@docs mCondition\n@docs mConditions\n@docs oCondition\n@docs oConditions\n@docs tCondition\n@docs tConditions\n@docs hCondition\n\n@docs prParam\n@docs prParamEmpty\n@docs prTest\n@docs bParam\n@docs expr\n@docs and\n@docs or\n@docs not\n\n---\n\n\n# 8. Top-Level Settings\n\nThese are in addition to the data and transform options described above. See the\n[Vega-Lite top-level spec documentation](https://vega.github.io/vega-lite/docs/spec.html#top-level-specifications)\n\n  - 8.1 [Title](#8-1-title)\n  - 8.2 [View Background](#8-2-view-background)\n  - 8.3 [Configuration of Default Appearance](#8-3-configuration-of-default-appearance)\n\n@docs name\n@docs description\n@docs height\n@docs heightOfContainer\n@docs width\n@docs widthOfContainer\n@docs widthStep\n@docs widthStepOffset\n@docs heightStep\n@docs heightStepOffset\n@docs padding\n@docs paSize\n@docs paNumExpr\n@docs paEdges\n@docs paEdgesExpr\n@docs autosize\n@docs asContent\n@docs asFit\n@docs asFitX\n@docs asFitY\n@docs asNone\n@docs asPad\n@docs asPadding\n@docs asResize\n@docs background\n@docs backgroundExpr\n@docs userMeta\n\n\n## 8.1 Title\n\nPer-title settings. To standardize the appearance of all titles in a multi-view\nspecification, use [coTitle](#coTitle) instead.\n\n@docs tiNumExpr\n@docs ticoNumExpr\n@docs tiStrExpr\n@docs ticoStrExpr\n\n@docs title\n@docs titleExpr\n@docs tiAnchor\n@docs tiAngle\n@docs tiBaseline\n@docs tiColor\n@docs tiDx\n@docs tiDy\n@docs tiFont\n@docs tiFontSize\n@docs tiFontStyle\n@docs tiFontWeight\n@docs tiLineHeight\n@docs tiSubtitle\n@docs tiSubtitleColor\n@docs tiSubtitleFont\n@docs tiSubtitleFontSize\n@docs tiSubtitleFontStyle\n@docs tiSubtitleFontWeight\n@docs tiSubtitleLineHeight\n@docs tiSubtitlePadding\n@docs tiFrame\n@docs tfBounds\n@docs tfGroup\n@docs tfExpr\n@docs tiLimit\n@docs tiOffset\n@docs tiOrient\n@docs tiStyle\n@docs tiZIndex\n\n\n## 8.2 View Background\n\nThe background of a single view in a view composition can be styled independently\nof other views. For more details see the\n[Vega-Lite view background documentation](https://vega.github.io/vega-lite/docs/spec.html#view-background)\n\n@docs viewBackground\n@docs vbNumExpr\n@docs vicoNumExpr\n@docs vbNumsExpr\n@docs vicoNumsExpr\n@docs vbStrExpr\n@docs vicoStrExpr\n@docs vicoBooExpr\n\n@docs viewStyle\n@docs viewCornerRadius\n@docs viewFill\n@docs viewFillOpacity\n@docs viewOpacity\n@docs viewStroke\n@docs viewStrokeCap\n@docs viewStrokeDash\n@docs viewStrokeDashOffset\n@docs viewStrokeJoin\n@docs viewStrokeMiterLimit\n@docs viewStrokeOpacity\n@docs viewStrokeWidth\n\n\n## 8.3 Configuration of Default Appearance\n\nAllows default properties for most marks and guides to be set. See the\n[Vega-Lite configuration documentation](https://vega.github.io/vega-lite/docs/config.html).\n\n@docs configure\n@docs configuration\n\n@docs coBooExpr\n@docs coStrExpr\n\n@docs coArea\n@docs coAria\n@docs coAutosize\n@docs coAxis\n@docs coAxisXFilter\n@docs coAxisYFilter\n@docs coAxisLeft\n@docs coAxisRight\n@docs coAxisTop\n@docs coAxisBottom\n@docs coAxisBand\n@docs coAxisDiscrete\n@docs coAxisPoint\n@docs coAxisQuant\n@docs coAxisTemporal\n@docs coAxisStyles\n@docs coBackground\n@docs coBar\n@docs coCircle\n@docs coConcat\n@docs coCountTitle\n@docs coCustomFormatTypes\n@docs coFieldTitle\n@docs coFont\n@docs coGeoshape\n@docs coFacet\n@docs coHeader\n@docs coLegend\n@docs coLine\n@docs coLocale\n@docs coMark\n@docs coMarkStyles\n@docs coNumberFormat\n@docs coNumberFormatType\n@docs coNormalizedNumberFormat\n@docs coNormalizedNumberFormatType\n@docs coPadding\n@docs coPoint\n@docs coProjection\n@docs coRange\n@docs coRect\n@docs coRule\n@docs coScale\n@docs coSelection\n@docs coSquare\n@docs coText\n@docs coTick\n@docs coTitle\n@docs coTimeFormat\n@docs coTimeFormatType\n@docs coTrail\n@docs coView\n\n\n### 8.3.1 Axis Configuration\n\nSee the\n[Vega-Lite axis config documentation](https://vega.github.io/vega-lite/docs/axis.html#general-config).\n\n@docs axcoAria\n@docs axcoBandPosition\n@docs axcoDisable\n@docs axcoDomain\n@docs axcoDomainDash\n@docs axcoDomainDashOffset\n@docs axcoDomainCap\n@docs axcoDomainColor\n@docs axcoDomainOpacity\n@docs axcoDomainWidth\n@docs axcoMaxExtent\n@docs axcoMinExtent\n@docs axcoTranslate\n@docs axcoGrid\n@docs axcoGridCap\n@docs axcoGridColor\n@docs axcoGridDash\n@docs axcoGridDashOffset\n@docs axcoGridOpacity\n@docs axcoGridWidth\n@docs axcoLabels\n@docs axcoLabelAlign\n@docs axcoLabelAngle\n@docs axcoLabelBaseline\n@docs axcoLabelBound\n@docs axcoLabelBoundExpr\n@docs axcoLabelColor\n@docs axcoLabelExpr\n@docs axcoLabelFlush\n@docs axcoLabelFlushOffset\n@docs axcoLabelFont\n@docs axcoLabelFontSize\n@docs axcoLabelFontStyle\n@docs axcoLabelFontWeight\n@docs axcoLabelLimit\n@docs axcoLabelLineHeight\n@docs axcoLabelOffset\n@docs axcoLabelOpacity\n@docs axcoLabelOverlap\n@docs axcoLabelPadding\n@docs axcoLabelSeparation\n@docs axcoOffset\n@docs axcoStyle\n@docs axcoTicks\n@docs axcoTickBand\n@docs axcoTickCap\n@docs axcoTickColor\n@docs axcoTickCount\n@docs axcoTickDash\n@docs axcoTickDashOffset\n@docs axcoTickExtra\n@docs axcoTickOffset\n@docs axcoTickOpacity\n@docs axcoTickRound\n@docs axcoTickSize\n@docs axcoTickMinStep\n@docs axcoTickWidth\n@docs axcoTitleAlign\n@docs axcoTitleAnchor\n@docs axcoTitleAngle\n@docs axcoTitleBaseline\n@docs axcoTitleColor\n@docs axcoTitleFont\n@docs axcoTitleFontSize\n@docs axcoTitleFontStyle\n@docs axcoTitleFontWeight\n@docs axcoTitleLimit\n@docs axcoTitleLineHeight\n@docs axcoTitleOpacity\n@docs axcoTitlePadding\n@docs axcoTitleX\n@docs axcoTitleY\n\n\n## 8.3.2 Legend Configuration\n\nSee the\n[Vega-Lite legend configuration documentation](https://vega.github.io/vega-lite/docs/legend.html#config).\n\n@docs lecoAria\n@docs lecoClipHeight\n@docs lecoColumnPadding\n@docs lecoColumns\n@docs lecoCornerRadius\n@docs lecoDirection\n@docs lecoDisable\n@docs lecoFillColor\n@docs lecoOrient\n@docs lecoOffset\n@docs lecoStrokeColor\n@docs lecoStrokeDash\n@docs lecoStrokeWidth\n@docs lecoPadding\n@docs lecoRowPadding\n@docs lecoGradientDirection\n@docs lecoGradientLabelLimit\n@docs lecoGradientLabelOffset\n@docs lecoGradientLength\n@docs lecoGradientOpacity\n@docs lecoGradientStrokeColor\n@docs lecoGradientStrokeWidth\n@docs lecoGradientThickness\n@docs lecoGridAlign\n@docs lecoLabelAlign\n@docs lecoLabelBaseline\n@docs lecoLabelColor\n@docs lecoLabelFont\n@docs lecoLabelFontSize\n@docs lecoLabelFontStyle\n@docs lecoLabelFontWeight\n@docs lecoLabelLimit\n@docs lecoLabelOffset\n@docs lecoLabelOverlap\n@docs lecoSymbolBaseFillColor\n@docs lecoSymbolBaseStrokeColor\n@docs lecoSymbolDash\n@docs lecoSymbolDashOffset\n@docs lecoSymbolDirection\n@docs lecoSymbolFillColor\n@docs lecoSymbolLimit\n@docs lecoSymbolOffset\n@docs lecoSymbolOpacity\n@docs lecoSymbolSize\n@docs lecoSymbolStrokeColor\n@docs lecoSymbolStrokeWidth\n@docs lecoSymbolType\n@docs lecoNoTitle\n@docs lecoTitleAlign\n@docs lecoTitleAnchor\n@docs lecoTitleBaseline\n@docs lecoTitleColor\n@docs lecoTitleFont\n@docs lecoTitleFontSize\n@docs lecoTitleFontStyle\n@docs lecoTitleFontWeight\n@docs lecoTitleLimit\n@docs lecoTitleLineHeight\n@docs lecoTitleOpacity\n@docs lecoTitlePadding\n@docs lecoUnselectedOpacity\n@docs lecoX\n@docs lecoY\n\n\n### 8.3.3 Scale Configuration\n\nSee the\n[Vega-Lite scale configuration documentation](https://vega.github.io/vega-lite/docs/scale.html#scale-config)\n\n@docs sacoBooExpr\n@docs sacoNumExpr\n\n@docs sacoBandPaddingInner\n@docs sacoBarBandPaddingInner\n@docs sacoRectBandPaddingInner\n@docs sacoBandPaddingOuter\n@docs sacoContinuousPadding\n@docs sacoPointPadding\n@docs sacoClamp\n@docs sacoMaxBandSize\n@docs sacoMinBandSize\n@docs sacoMaxFontSize\n@docs sacoMinFontSize\n@docs sacoMaxOpacity\n@docs sacoMinOpacity\n@docs sacoMaxSize\n@docs sacoMinSize\n@docs sacoMaxStrokeWidth\n@docs sacoMinStrokeWidth\n@docs sacoRound\n@docs sacoUseUnaggregatedDomain\n@docs sacoXReverse\n@docs sacoZero\n\n\n### 8.3.4 Scale Range Configuration\n\nSee the\n[Vega-Lite scheme configuration documentation](https://vega.github.io/vega/docs/schemes/#scheme-properties).\n\n@docs racoCategory\n@docs racoDiverging\n@docs racoHeatmap\n@docs racoOrdinal\n@docs racoRamp\n@docs racoSymbols\n@docs racoSymbolsExpr\n\n\n### 8.3.5 Title Configuration\n\nUnlike [title](#title) title configuration applies to all titles if multiple views\nare created. See the\n[Vega-Lite title configuration documentation](https://vega.github.io/vega-lite/docs/title.html#config)\n\n@docs ticoAnchor\n@docs ticoAngle\n@docs ticoBaseline\n@docs ticoColor\n@docs ticoDx\n@docs ticoDy\n@docs ticoFont\n@docs ticoFontSize\n@docs ticoFontStyle\n@docs ticoFontWeight\n@docs ticoLineHeight\n@docs ticoSubtitleColor\n@docs ticoSubtitleFont\n@docs ticoSubtitleFontSize\n@docs ticoSubtitleFontStyle\n@docs ticoSubtitleFontWeight\n@docs ticoSubtitleLineHeight\n@docs ticoSubtitlePadding\n@docs ticoFrame\n@docs ticoLimit\n@docs ticoOffset\n@docs ticoOrient\n@docs ticoStyle\n@docs ticoZIndex\n\n\n### 8.3.6 View Configuration\n\nSee the\n[Vega-Lite view configuration documentation](https://vega.github.io/vega-lite/docs/spec.html#config)\n\n@docs vicoBackground\n@docs vicoContinuousWidth\n@docs vicoContinuousHeight\n@docs vicoCursor\n@docs vicoDiscreteWidth\n@docs vicoDiscreteHeight\n@docs vicoClip\n@docs vicoCornerRadius\n@docs vicoFill\n@docs vicoFillOpacity\n@docs vicoOpacity\n@docs vicoStep\n@docs vicoStroke\n@docs vicoStrokeCap\n@docs vicoStrokeDash\n@docs vicoStrokeDashOffset\n@docs vicoStrokeJoin\n@docs vicoStrokeMiterLimit\n@docs vicoStrokeOpacity\n@docs vicoStrokeWidth\n\n@docs anStart\n@docs anMiddle\n@docs anEnd\n@docs anExpr\n\n@docs ftVerbal\n@docs ftFunction\n@docs ftPlain\n\n\n### 8.3.7 Facet Configuration\n\nSee the\n[Vega-Lite facet configuration documentation](https://vega.github.io/vega-lite/docs/facet.html#facet-configuration).\n\n@docs facoColumns\n@docs facoSpacing\n\n\n### 8.3.8 Concatenated View Configuration\n\nSee the\n[Vega-Lite concat configuration documentation](https://vega.github.io/vega-lite/docs/concat.html#concat-configuration).\n\n@docs cocoColumns\n@docs cocoSpacing\n\n\n### 8.3.9 Locale Configuration\n\nSee the [Vega locale documentation](https://vega.github.io/vega/docs/api/locale/).\n\n@docs loDecimal\n@docs loThousands\n@docs loGrouping\n@docs loCurrency\n@docs loNumerals\n@docs loPercent\n@docs loMinus\n@docs loNan\n@docs loDateTime\n@docs loDate\n@docs loTime\n@docs loPeriods\n@docs loDays\n@docs loShortDays\n@docs loMonths\n@docs loShortMonths\n\n---\n\n\n# 9. General Data Functions\n\nIn addition to more general data types like integers and strings, the following types\ncan carry data used in specifications and Vega-Lite parameters.\n\n  - 9.1 [Temporal Data](#9-1-temporal-data)\n\n@docs boo\n@docs true\n@docs false\n@docs dt\n@docs num\n@docs str\n@docs datumExpr\n@docs dataExpr\n@docs datumArray\n@docs dataArrays\n@docs dataObject\n@docs dataObjects\n@docs nullValue\n@docs daConcat\n@docs boos\n@docs dts\n@docs nums\n@docs strs\n\n\n## 9.1 Temporal Data\n\nSee the\n[Vega-Lite dateTime documentation](https://vega.github.io/vega-lite/docs/types.html#datetime)\nand the [Vega-Lite time unit documentation](https://vega.github.io/vega-lite/docs/timeunit.html).\n\n@docs dtYear\n@docs dtQuarter\n@docs dtMonth\n@docs dtDate\n@docs dtDay\n@docs dtHour\n@docs dtMinute\n@docs dtSecond\n@docs dtMillisecond\n@docs MonthName\n@docs DayName\n\n@docs date\n@docs dayOfYear\n@docs day\n@docs dayHours\n@docs dayHoursMinutes\n@docs dayHoursMinutesSeconds\n@docs hours\n@docs hoursMinutes\n@docs hoursMinutesSeconds\n@docs milliseconds\n@docs minutes\n@docs minutesSeconds\n@docs month\n@docs monthDate\n@docs monthDateHours\n@docs monthDateHoursMinutes\n@docs monthDateHoursMinutesSeconds\n@docs quarter\n@docs quarterMonth\n@docs seconds\n@docs secondsMilliseconds\n@docs week\n@docs weekDay\n@docs weekDayHours\n@docs weekDayHoursMinutes\n@docs weekDayHoursMinutesSeconds\n@docs year\n@docs yearQuarter\n@docs yearQuarterMonth\n@docs yearMonth\n@docs yearMonthDate\n@docs yearMonthDateHours\n@docs yearMonthDateHoursMinutes\n@docs yearMonthDateHoursMinutesSeconds\n@docs yearWeek\n@docs yearWeekDay\n@docs yearWeekDayHours\n@docs yearWeekDayHoursMinutes\n@docs yearWeekDayHoursMinutesSeconds\n@docs yearDayOfYear\n@docs utc\n@docs tuMaxBins\n@docs tuStep\n\n---\n\n\n# 10. Type Reference\n\nTypes that are not specified directly, provided here for reference with links\nto the functions that generate them.\n\n@docs Anchor\n@docs Aria\n@docs Arrangement\n@docs Autosize\n@docs AxisProperty\n@docs AxisConfig\n@docs BinProperty\n@docs BlendMode\n@docs BooleanOp\n@docs Bounds\n@docs CInterpolate\n@docs Channel\n@docs ClipRect\n@docs ColorGradient\n@docs CompositionAlignment\n@docs ConcatConfig\n@docs ConditionalAxisProperty\n@docs ConfigurationProperty\n@docs Cursor\n@docs DataType\n@docs DataValue\n@docs DataValues\n@docs DateTime\n@docs DensityProperty\n@docs DetailChannel\n@docs FacetChannel\n@docs FacetConfig\n@docs FacetMapping\n@docs FieldTitleProperty\n@docs Filter\n@docs FilterRange\n@docs Format\n@docs Geometry\n@docs GradientProperty\n@docs GraticuleProperty\n@docs HAlign\n@docs HeaderProperty\n@docs HyperlinkChannel\n@docs ImMethod\n@docs ImputeProperty\n@docs InputProperty\n@docs KeyChannel\n@docs Legend\n@docs LegendConfig\n@docs LegendOrientation\n@docs LegendProperty\n@docs LineMarker\n@docs LoessProperty\n@docs LookupFields\n@docs Mark\n@docs MarkChannel\n@docs MarkInterpolation\n@docs MarkOrientation\n@docs MarkProperty\n@docs Operation\n@docs OrderChannel\n@docs OverlapStrategy\n@docs Padding\n@docs ParamProperty\n@docs PBinding\n@docs PivotProperty\n@docs PointMarker\n@docs PositionChannel\n@docs Predicate\n@docs Projection\n@docs ProjectionProperty\n@docs QuantileProperty\n@docs RangeConfig\n@docs RegressionMethod\n@docs RegressionProperty\n@docs RepeatFields\n@docs Resolution\n@docs Resolve\n@docs Scale\n@docs ScaleDomain\n@docs ScaleNice\n@docs ScaleProperty\n@docs ScaleConfig\n@docs ScaleRange\n@docs Selection\n@docs SelectionMarkProperty\n@docs SelectionProperty\n@docs SelectionResolution\n@docs Side\n@docs SortField\n@docs SortProperty\n@docs StackOffset\n@docs StackProperty\n@docs StrokeCap\n@docs StrokeJoin\n@docs SummaryExtent\n@docs Symbol\n@docs TextChannel\n@docs TimeUnit\n@docs TitleConfig\n@docs TitleFrame\n@docs TitleProperty\n@docs TogglePredicate\n@docs TooltipContent\n@docs VAlign\n@docs ViewBackground\n@docs ViewConfig\n@docs Window\n@docs WOperation\n@docs WindowProperty\n\n\n# 11. Deprecated\n\n@docs AxisChoice\n@docs axX\n@docs axY\n@docs dtMonthNum\n\n","unions":[{"name":"Anchor","comment":" Generated by [anStart](#anStart), [anMiddle](#anMiddle), [anEnd](#anEnd) and\n[anExpr](#anExpr).\n","args":[],"cases":[]},{"name":"Aria","comment":" Generated by [arEnable](#arEnable), [arDisable](#arDisable), [arDescription](#arDescription)\nand [arExpr](#arExpr).\n","args":[],"cases":[]},{"name":"Arrangement","comment":" Generated by [arFlow](#arFlow), [arColumn](#arColumn), [arRow](#arRow) and\n[arLayer](#arLayer).\n","args":[],"cases":[]},{"name":"Autosize","comment":" Generated by [asContent](#asContent), [asFit](#asFit), [asFitX](#asFitX),\n[asFitY](#asFitY), [asNone](#asNone), [asPad](#asPad), [asPadding](#asPadding)\nand [asResize](#asResize).\n","args":[],"cases":[]},{"name":"AxisChoice","comment":" Deprecated. Axis choices are now specified with [coAxisXFilter](#coAxisXFilter) and\n[coAxisYFilter](#coAxisYFilter).\n","args":[],"cases":[]},{"name":"AxisConfig","comment":" Generated by [axcoAria](#axcoAria), [axcoBandPosition](#axcoBandPosition),\n[axcoDisable](#axcoDisable), [axcoDomain](#axcoDomain), [axcoDomainCap](#axcoDomainCap),\n[axcoDomainColor](#axcoDomainColor), [axcoDomainDash](#axcoDomainDash),\n[axcoDomainDashOffset](#axcoDomainDashOffset), [axcoDomainOpacity](#axcoDomainOpacity),\n[axcoDomainWidth](#axcoDomainWidth), [axcoMaxExtent](#axcoMaxExtent), [axcoMinExtent](#axcoMinExtent),\n[axcoGrid](#axcoGrid), [axcoGridCap](#axcoGridCap), [axcoGridColor](#axcoGridColor),\n[axcoGridDash](#axcoGridDash), [axcoGridDashOffset](#axcoGridDashOffset),\n[axcoGridOpacity](#axcoGridOpacity), [axcoGridWidth](#axcoGridWidth),\n[axcoLabels](#axcoLabels), [axcoLabelAlign](#axcoLabelAlign), [axcoLabelAngle](#axcoLabelAngle),\n[axcoLabelBaseline](#axcoLabelBaseline), [axcoLabelBound](#axcoLabelBound), [axcoLabelBoundExpr](#axcoLabelBoundExpr)\n[axcoLabelColor](#axcoLabelColor), [axcoLabelExpr](#axcoLabelExpr), [axcoLabelFlush](#axcoLabelFlush),\n[axcoLabelFlushOffset](#axcoLabelFlushOffset), [axcoLabelFont](#axcoLabelFont),\n[axcoLabelFontSize](#axcoLabelFontSize), [axcoLabelFontStyle](#axcoLabelFontStyle),\n[axcoLabelFontWeight](#axcoLabelFontWeight), [axcoLabelLimit](#axcoLabelLimit),\n[axcoLabelLineHeight](#axcoLabelLineHeight), [axcoLabelOffset](#axcoLabelOffset),\n[axcoLabelOpacity](#axcoLabelOpacity), [axcoLabelOverlap](#axcoLabelOverlap),\n[axcoLabelPadding](#axcoLabelPadding), [axcoLabelSeparation](#axcoLabelSeparation),\n[axcoOffset](#axcoOffset), [axcoTicks](#axcoTicks), [axcoTickColor](#axcoTickColor),\n[axcoTickCount](#axcoTickCount), [axcoGridDash](#axcoGridDash), [axcoGridDashOffset](#axcoGridDashOffset),\n[axcoTickCap](#axcoTickCap), [axcoTickExtra](#axcoTickExtra), [axcoTickOffset](#axcoTickOffset),\n[axcoTickOpacity](#axcoTickOpacity), [axcoTickRound](#axcoTickRound), [axcoTickSize](#axcoTickSize),\n[axcoTickMinStep](#axcoTickMinStep), [axcoTickWidth](#axcoTickWidth), [axcoTitleAlign](#axcoTitleAlign),\n[axcoTitleAnchor](#axcoTitleAnchor), [axcoTitleAngle](#axcoTitleAngle), [axcoTitleBaseline](#axcoTitleBaseline),\n[axcoTitleColor](#axcoTitleColor), [axcoTitleFont](#axcoTitleFont), [axcoTitleFontSize](#axcoTitleFontSize),\n[axcoTitleFontStyle](#axcoTitleFontStyle), [axcoTitleFontWeight](#axcoTitleFontWeight),\n[axcoTitleLimit](#axcoTitleLimit), [axcoTitleLineHeight](#axcoTitleLineHeight),\n[axcoTitleOpacity](#axcoTitleOpacity), [axcoTitlePadding](#axcoTitlePadding),\n[axcoTitleX](#axcoTitleX), [axcoTitleY](#axcoTitleY) and [axcoTranslate](#axcoTranslate).\n","args":[],"cases":[]},{"name":"AxisProperty","comment":" Generated by [axAria](#axAria), [axBandPosition](#axBandPosition),\n[axMaxExtent](#axMaxExtent), [axMinExtent](#axMinExtent), [axOrient](#axOrient),\n[axOffset](#axOffset), [axPosition](#axPosition), [axZIndex](#axZIndex),\n[axDataCondition](#axDataCondition), [axDomain](#axDomain), [axDomainCap](#axDomainCap),\n[axDomainColor](#axDomainColor), [axDomainDash](#axDomainDash),\n[axDomainDashOffset](#axDomainDashOffset), [axDomainOpacity](#axDomainOpacity),\n[axDomainWidth](#axDomainWidth), [axFormat](#axFormat), [axTemporalFormats](#axTemporalFormats),\n[axFormatAsNum](#axFormatAsNum), [axFormatAsTemporal](#axFormatAsTemporal),\n[axFormatAsCustom](#axFormatAsCustom), [axLabels](#axLabels), [axLabelAlign](#axLabelAlign),\n[axLabelAngle](#axLabelAngle), [axLabelBaseline](#axLabelBaseline), [axLabelBound](#axLabelBound),\n[axLabelColor](#axLabelColor), [axLabelExpr](#axLabelExpr), [axLabelFlush](#axLabelFlush),\n[axLabelFlushOffset](#axLabelFlushOffset), [axLabelFont](#axLabelFont), [axLabelFontSize](#axLabelFontSize),\n[axLabelFontStyle](#axLabelFontStyle), [axLabelFontWeight](#axLabelFontWeight),\n[axLabelLimit](#axLabelLimit), [axLabelLineHeight](#axLabelLineHeight), [axLabelOffset](#axLabelOffset),\n[axLabelOpacity](#axLabelOpacity), [axLabelOverlap](#axLabelOverlap), [axLabelPadding](#axLabelPadding),\n[axLabelSeparation](#axLabelSeparation), [axStyle](#axStyle), [axTranslate](#axTranslate),\n[axTicks](#axTicks), [axTickCap](#axTickCap), [axTickColor](#axTickColor), [axTickCount](#axTickCount),\n[axTickDash](#axTickDash), [axTickDashOffset](#axTickDashOffset),\n[axTickExtra](#axTickExtra), [axTickOffset](#axTickOffset), [axTickOpacity](#axTickOpacity),\n[axTickRound](#axTickRound), [axTickSize](#axTickSize), [axTickMinStep](#axTickMinStep),\n[axTickWidth](#axTickWidth), [axValues](#axValues), [axTitle](#axTitle), [axTitleAlign](#axTitleAlign),\n[axTitleAnchor](#axTitleAnchor), [axTitleAngle](#axTitleAngle), [axTitleBaseline](#axTitleBaseline),\n[axTitleColor](#axTitleColor), [axTitleFont](#axTitleFont), [axTitleFontSize](#axTitleFontSize),\n[axTitleFontStyle](#axTitleFontStyle), [axTitleFontWeight](#axTitleFontWeight),\n[axTitleLimit](#axTitleLimit), [axTitleLineHeight](#axTitleLineHeight), [axTitleOpacity](#axTitleOpacity),\n[axTitlePadding](#axTitlePadding), [axTitleX](#axTitleX), [axTitleY](#axTitleY),\n[axGrid](#axGrid), [axGridCap](#axGridCap), [axGridColor](#axGridColor), [axGridDash](#axGridDash),\n[axGridDashOffset](#axGridDashOffset), [axGridOpacity](#axGridOpacity)\nand [axGridWidth](#axGridWidth).\n","args":[],"cases":[]},{"name":"BinProperty","comment":" Generated by [biAnchor](#biAnchor), [biBase](#biBase), [biDivide](#biDivide),\n[biExtent](#biExtent),[biSelectionExtent](#biSelectionExtent), [biMaxBins](#biMaxBins),\n[biMinStep](#biMinStep), [biNice](#biNice), [biStep](#biStep) and [biSteps](#biSteps).\n","args":[],"cases":[]},{"name":"BlendMode","comment":" Generated by [bmNormal](#bmNormal), [bmMultiply](#bmMultiply), [bmScreen](#bmScreen),\n[bmOverlay](#bmOverlay), [bmDarken](#bmDarken), [bmLighten](#bmLighten), [bmColorDodge](#bmColorDodge),\n[bmColorBurn](#bmColorBurn), [bmHardLight](#bmHardLight), [bmSoftLight](#bmSoftLight),\n[bmDifference](#bmDifference), [bmExclusion](#bmExclusion), [bmHue](#bmHue),\n[bmSaturation](#bmSaturation), [bmColor](#bmColor), [bmLuminosity](#bmLuminosity)\nand [bmExpr](#bmExpr).\n","args":[],"cases":[]},{"name":"BooleanOp","comment":" Generated by [expr](#expr), [fiOp](#fiOp), [fiOpTrans](#fiOpTrans), [bParam](#bParam),\n[and](#and), [or](#or) and [not](#not).\n","args":[],"cases":[]},{"name":"Bounds","comment":" Generated by [boFull](#boFull) and [boFlush](#boFlush).\n","args":[],"cases":[]},{"name":"CInterpolate","comment":" Generated by [cubeHelix](#cubeHelix), [cubeHelixLong](#cubeHelixLong), [hcl](#hcl),\n[hclLong](#hclLong), [hsl](#hsl), [hslLong](#hslLong), [lab](#lab) and [rgb](#rgb).\n","args":[],"cases":[]},{"name":"Channel","comment":" Generated by [chX](#chX), [chY](#chY), [chX2](#chX2), [chY2](#chY2),\n[chXOffset](#chXOffset), [chYOffset](#chYOffset), [chColor](#chColor),\n[chOpacity](#chOpacity), [chShape](#chShape), [chStrokeDash](#chStrokeDash)\nand [chSize](#chSize).\n","args":[],"cases":[]},{"name":"ClipRect","comment":" Generated by [noClip](#noClip), [clipRect](#clipRect) and [clipRectExpr](#clipRectExpr).\n","args":[],"cases":[]},{"name":"ColorGradient","comment":" Generated by [grLinear](#grLinear) and [grRadial](#grRadial).\n","args":[],"cases":[]},{"name":"CompositionAlignment","comment":" Generated by [caNone](#caNone), [caEach](#caEach) and [caAll](#caAll).\n","args":[],"cases":[]},{"name":"ConcatConfig","comment":" Generated by [cocoColumns](#cocoColumns) and [cocoSpacing](#cocoSpacing).\n","args":[],"cases":[]},{"name":"ConditionalAxisProperty","comment":" Generated by [cAxLabelAlign](#cAxLabelAlign), [cAxLabelBaseline](#cAxLabelBaseline),\n[cAxLabelColor](#cAxLabelColor), [cAxLabelFont](#cAxLabelFont), [cAxLabelFontSize](#cAxLabelFontSize),\n[cAxLabelFontStyle](#cAxLabelFontStyle), [cAxLabelFontWeight](#cAxLabelFontWeight),\n[cAxLabelOffset](#cAxLabelOffset), [cAxLabelOpacity](#cAxLabelOpacity),\n[cAxLabelPadding](#cAxLabelPadding), [cAxTickColor](#cAxTickColor), [cAxTickDash](#cAxTickDash),\n[cAxTickDashOffset](#cAxTickDashOffset), [cAxTickOpacity](#cAxOpacity),\n[cAxTickSize](#cAxTickSize), [cAxTickWidth](#cAxTickWidth), [cAxGridColor](#cAxGridColor),\n[cAxGridDash](#cAxGridDash), [cAxTickDashOffset](#cAxTickDashOffset),\n[cAxGridOpacity](#cAxGridOpacity) and [cAxGridWidth](#cAxGridWidth).\n","args":[],"cases":[]},{"name":"ConfigurationProperty","comment":" Generated by [coArea](#coArea),[coAria](#coAria), [coAutosize](#coAutosize),\n[coAxis](#coAxis), [coAxisStyles](#coAxisStyles), [coAxisXFilter](#coAxisXFilter),\n[coAxisYFilter](#coAxisYFilter), [coAxisLeft](#coAxisLeft), [coAxisRight](#coAxisRight),\n[coAxisTop](#coAxisTop), [coAxisBottom](#coAxisBottom), [coAxisBand](#coAxisBand),\n[coAxisDiscrete](#coAxisDiscrete), [coAxisPoint](#coAxisPoint), [coAxisTemporal](#coAxisTemporal),\n[coAxisQuant](#coAxisQuant), [coBackground](#coBackground), [coBar](#coBar), [coCircle](#coCircle),\n[coConcat](#coConcat), [coCountTitle](#coCountTitle), [coCustomFormatTypes](#coCustomFormatTypes),\n[coFieldTitle](#coFieldTitle),[coGeoshape](#coGeoshape), [coFacet](#coFacet), [coHeader](#coHeader),\n[coLegend](#coLegend), [coLocale](#coLocale), [coLine](#coLine), [coMark](#coMark),\n[coMarkStyles](#coMarkStyles), [coNormalizedNumberFormat](#coNormalisedNumberFormat),\n[coNumberFormat](#coNumberFormat), [coNumberFormaType](#coNumberFormatType),\n[coNormalizedNumberFormatType](#coNormalizedNumberFormatType), [coPadding](#coPadding),\n[coPoint](#coPoint), [coProjection](#coProjection), [coRange](#coRange), [coRect](#coRect),\n[coRule](#coRule), [coScale](#coScale), [coSelection](#coSelection), [coSquare](#coSquare),\n[coText](#coText), [coFont](#coFont), [coTick](#coTick), [coTitle](#coTitle),\n[coTimeFormat](#coTimeFormat), [coTimeFormatType](#coTimeFormatType), [coTrail](#coTrail)\nand [coView](#coView).\n","args":[],"cases":[]},{"name":"Cursor","comment":" Generated by [cuAuto](#cuAuto), [cuDefault](#cuDefault), [cuNone](#cuNone),\n[cuContextMenu](#cuContextMenu), [cuHelp](#cuHelp), [cuPointer](#cuPointer),\n[cuProgress](#cuProgress), [cuWait](#cuWait), [cuCell](#cuCell), [cuCrosshair](#cuCrosshair),\n[cuText](#cuText), [cuVerticalText](#cuVerticalText), [cuAlias](#cuAlias),\n[cuCopy](#cuCopy), [cuMove](#cuMove), [cuNoDrop](#cuNoDrop), [cuNotAllowed](#cuNotAllowed),\n[cuAllScroll](#cuAllScroll), [cuColResize](#cuColResize), [cuRowResize](#cuRowResize),\n[cuNResize](#cuNResize), [cuEResize](#cuEResize), [cuSResize](#cuSResize),\n[cuWResize](#cuWResize), [cuNEResize](#cuNEResize), [cuNWResize](#cuNWResize),\n[cuSEResize](#cuSEResize), [cuSWResize](#cuSWResize), [cuEWResize](#cuEWResize),\n[cuNSResize](#cuNSResize), [cuNESWResize](#cuNESWResize), [cuNWSEResize](#cuNWSEResize),\n[cuZoomIn](#cuZoomIn), [cuZoomOut](#cuZoomOut), [cuGrab](#cuGrab), [cuGrabbing](#cuGrabbing)\nand [cuExpr](#cuExpr).\n","args":[],"cases":[]},{"name":"DataType","comment":" Generated by [foBoo](#foBoo), [foNum](#foNum), [foDate](#foDate) and [foUtc](#foUtc).\n","args":[],"cases":[]},{"name":"DataValue","comment":" Generated by [boo](#boo), [true](#true), [false](#false), [dt](#dt),\n[num](#num), [str](#str), [datumExpr](#datumExpr), [daConcat](#daConcat),\n[dataObject](#dataObject), [datumArray](#datumArray) and [nullValue](#nullValue).\n","args":[],"cases":[]},{"name":"DataValues","comment":" Generated by [boos](#boos), [dts](#dts), [nums](#nums), [strs](#strs),\n[dataExpr](#dataExpr), [dataArrays](#dataArrays) and [dataObjects](#dataObjects).\n","args":[],"cases":[]},{"name":"DateTime","comment":" Generated by [dtYear](#dtYear), [dtQuarter](#dtQuarter), [dtMonth](#dtMonth),\n[dtDate](#DTDate), [dtDay](#dtDay), [dtHour](#dtHour), [dtMinute](#dtMinute),\n[dtSecond](#dtSecond), [dtMillisecond](#dtMillisecond) and [fromPosixTime](#fromPosixTime).\n","args":[],"cases":[]},{"name":"DayName","comment":" Day of the week.\n","args":[],"cases":[["Mon",[]],["Tue",[]],["Wed",[]],["Thu",[]],["Fri",[]],["Sat",[]],["Sun",[]]]},{"name":"DensityProperty","comment":" Generated by [dnGroupBy](#dnGroupBy), [dnCumulative](#dnCumulative),\n[dnCounts](#dnCounts), [dnBandwidth](#dnBandwidth), [dnExtent](#dnExtent),\n[dnMinSteps](#dnMinSteps), [dnMaxSteps](#dnMaxSteps), [dnSteps](#dnSteps) and\n[dnAs](#dnAs).\n","args":[],"cases":[]},{"name":"DetailChannel","comment":" Generated by [dName](#dName), [dQuant](#dQuant), [dNominal](#dNominal),\n[dOrdinal](#dOrdinal), [dTemporal](#dTemporal), [dGeo](#dGeo),\n[dAggregate](#dAggregate), [dBin](#dBin) and [dTimeUnit](#dTimeUnit).\n","args":[],"cases":[]},{"name":"FacetChannel","comment":" Generated by [fName](#fName), [fQuant](#fQuant), [fNominal](#fNominal),\n[fOrdinal](#fOrdinal), [fTemporal](#fTemporal), [fGeo](#fGeo), [fAggregate](#fAggregate),\n[fBin](#fBin), [fSort](#fSort), [fHeader](#fHeader), [fTimeUnit](#fTimeUnit),\n[fAlign](#fAlign), [fCenter](#fCenter) and [fSpacing](#fSpacing).\n","args":[],"cases":[]},{"name":"FacetConfig","comment":" Generated by [facoColumns](#facoColumns) and [facoSpacing](#facoSpacing).\n","args":[],"cases":[]},{"name":"FacetMapping","comment":" Generated by [columnBy](#columnBy) and [rowBy](#rowBy).\n","args":[],"cases":[]},{"name":"FieldTitleProperty","comment":" Generated by [ftVerbal](#ftVerbal), [ftFunction](#ftFunction) and [ftPlain](#ftPlain).\n","args":[],"cases":[]},{"name":"Filter","comment":" Generated by [fiEqual](#fiEqual), [fiLessThan](#fiLessThan),\n[fiLessThanEq](#fiLessThanEq), [fiGreaterThan](#fiEqGreaterThan),\n[fiGreaterThanEq](#fiGreaterThanEq), [fiExpr](#fiExpr), [fiCompose](#fiCompose),\n[fiSelection](#fiSelection), [fiSelectionEmpty](#fiSelectionEmpty),\n[fiOneOf](#fiOneOf), [fiRange](#fiRange) and [fiValid](#fiValid).\n","args":[],"cases":[]},{"name":"FilterRange","comment":" Generated by [numRange](#numRange) and [dtRange](#dtRange).\n","args":[],"cases":[]},{"name":"FontWeight","comment":" Generated by [fwBold](#fwBold), [fwBolder](#fwBolder), [fwLighter](#fwLighter),\n[fwNormal](#fwNormal), [fwValue](#fwValue) and [fwExpr](#fwExpr).\n","args":[],"cases":[]},{"name":"Format","comment":" Generated by [csv](#csv), [dsv](#dsv), [tsv](#tsv), [arrow](#arrow), [parse](#parse),\n[jsonProperty](#jsonProperty), [topojsonFeature](#topojsonFeature) and\n[topojsonMesh](#topojsonMesh).\n","args":[],"cases":[]},{"name":"Geometry","comment":" Generated by [geoPoint](#geoPoint), [geoPoints](#geoPoints),\n[geoLine](#geoLine), [geoLines](#geoLines), [geoPolygon](#geoPolygon) and\n[geoPolygons](#geoPolygons).\n","args":[],"cases":[]},{"name":"GradientProperty","comment":" Generated by [grX1](#grX1), [grY1](#grY1), [grX2](#grX2), [grY2](#grY2),\n[grR1](#grR1), [grR2](#grR2) and [grStops](#grStops).\n","args":[],"cases":[]},{"name":"GraticuleProperty","comment":" Generated by [grExtent](#grExtent), [grExtentMajor](#grExtentMajor),\n[grExtentMinor](#grExtentMinor), [grStep](#grStep), [grExtentMajor](#grExtentMajor),\n[grExtentMinor](#grExtentMinor) and [grPrecision](#grPrecision).\n","args":[],"cases":[]},{"name":"HAlign","comment":" Generated by [haLeft](#haLeft), [haCenter](#haCenter), [haRight](#haRight)\nand [haExpr](#haExpr).\n","args":[],"cases":[]},{"name":"HeaderProperty","comment":" Generated by [hdFormat](#hdFormat), [hdFormatAsNum](#hdFormatAsNum),\n[hdFormatAsTemporal](#hdFormatAsTemporal), [hdFormatAsCustom](#hdFormatAsCustom),\n[hdLabelAlign](#hdLabelAlign), [hdLabelAnchor](#hdLabelAnchor), [hdLabelAngle](#hdLabelAngle),\n[hdLabelBaseline](#hdLabelBaseline), [hdLabelColor](#hdLabelColor), [hdLabelExpr](#hdLabelExpr),\n[hdLabelFont](#hdLabelFont), [hdLabelFontSize](#hdLabelFontSize), [hdLabelFontStyle](#hdLabelFontStyle),\n[hdLabelFontWeight](#hdLabelFontWeight), [hdLabelLimit](#hdLabelLimit), [hdLabelLineHeight](#hdLabelLineHeight),\n[hdLabelOrient](#hdLabelOrient), [hdLabelPadding](#hdLabelPadding), [hdLabels](#hdLabels),\n[hdOrient](#hdOrient), [hdTitle](#hdTitle), [hdTitleAlign](#hdTitleAlign), [hdTitleAnchor](#hdTitleAnchor),\n[hdTitleAngle](#hdTitleAngle), [hdTitleBaseline](#hdTitleBaseline), [hdTitleColor](#hdTitleColor),\n[hdTitleFont](#hdTitleFont), [hdTitleFontWeight](#hdTitleFontWeight), [hdTitleFontSize](#hdTitleFontSize),\n[hdTitleFontStyle](#hdTitleFontStyle), [hdTitleLimit](#hdTitleLimit), [hdTitleOrient](#hdTitleOrient)\nand [hdTitlePadding](#hdTitlePadding).\n","args":[],"cases":[]},{"name":"HyperlinkChannel","comment":" Generated by [hName](#hName), [hRepeat](#hRepeat), [hQuant](#hQuant),\n[hNominal](#hNominal), [hOrdinal](#hOrdinal), [hTemporal](#hTemporal), [hGeo](#hGeo),\n[hBin](#hBin), [hBinned](#hBinned), [hAggregate](#hAggregate), [hTimeUnit](#hTimeUnit),\n[hCondition](#hCondition) and [hStr](#hStr).\n","args":[],"cases":[]},{"name":"ImMethod","comment":" Generated by [imValue](#imValue), [imMean](#imMean), [imMedian](#imMedian),\n[imMax](#imMax) and [imMin](#imMin).\n","args":[],"cases":[]},{"name":"ImputeProperty","comment":" Generated by [imKeyVals](#imKeyVals), [imKeyValSequence](#imKeyValSequence)\n[imFrame](#imFrame), [imGroupBy](#imGroupBy), [imMethod](#imMethod) and [imNewValue](#imNewValue).\n","args":[],"cases":[]},{"name":"InputProperty","comment":" Generated by [inDebounce](#inDebounce), [inElement](#inElement),\n[inOptions](#inOptions), [inDatumOptions](#inDatumOptions), [inDataOptions](#inDataOptions),\n[inMin](#inMin), [inMax](#inMax), [inName](#inName), [inStep](#inStep) and\n[inPlaceholder](#inPlaceholder).\n","args":[],"cases":[]},{"name":"KeyChannel","comment":" Generated by [kName](#kName) and [kQuant](#kQuant), [kNominal](#kNominal),\n[kOrdinal](#kOrdinal), [kTemporal](#kTemporal) and [kGeo](#kGeo).\n","args":[],"cases":[]},{"name":"Legend","comment":" Generated by [leGradient](#leGradient) and [leSymbol](#leSymbol).\n","args":[],"cases":[]},{"name":"LegendConfig","comment":" Generated by [lecoAria](#lecoAria), [lecoClipHeight](#lecoClipHeight),\n[lecoColumnPadding](#lecoColumnPadding), [lecoColumns](#lecoColumns),\n[lecoCornerRadius](#lecoCornerRadius), [lecoDirection](#lecoDirection), [lecoDisable](#lecoDisable),\n[lecoFillColor](#lecoFillColor), [lecoOrient](#lecoOrient), [lecoOffset](#lecoOffset),\n[lecoStrokeColor](#lecoStrokeColor), [lecoStrokeDash](#lecoStrokeDash), [lecoStrokeWidth](#lecoStrokeWidth),\n[lecoPadding](#lecoPadding), [lecoRowPadding](#lecoRowPadding), [lecoGradientDirection](#lecoGradientDirection),\n[lecoGradientLabelLimit](#lecoGradientLabelLimit),[lecoGradientLabelOffset](#lecoGradientLabelOffset),\n[lecoGradientOpacity](#lecoGradientOpacity), [lecoGradientStrokeColor](#lecoGradientStrokeColor),\n[lecoGradientStrokeWidth](#lecoGradientStrokeWidth), [lecoGradientLength](#lecoGradientLength),\n[lecoGradientThickness](#lecoGradientThickness), [lecoGridAlign](#lecoGridAlign),\n[lecoLabelAlign](#lecoLabelAlign), [lecoLabelBaseline](#lecoLabelBaseline),\n[lecoLabelColor](#lecoLabelColor), [lecoLabelFont](#lecoLabelFont), [lecoLabelFontSize](#lecoLabelFontSize),\n[lecoLabelFontStyle](#lecoLabelFontStyle), [lecoLabelFontWeight](#lecoLabelFontWeight),\n[lecoLabelLimit](#lecoLabelLimit), [lecoLabelOffset](#lecoLabelOffset), [lecoLabelOverlap](#lecoLabelOverlap),\n[lecoSymbolBaseFillColor](#lecoSymbolBaseFillColor), [lecoSymbolBaseStrokeColor](#lecoSymbolBaseStrokeColor),\n[lecoSymbolDash](#lecoSymbolDash), [lecoSymbolDashOffset](#lecoSymbolDashOffset),\n[lecoSymbolDirection](#lecoSymbolDirection), [lecoSymbolFillColor](#lecoSymbolFillColor),\n[lecoSymbolLimit](#lecoSymbolLimit), [lecoSymbolOffset](#lecoSymbolOffset), [lecoSymbolOpacity](#lecoSymbolOpacity),\n[lecoSymbolSize](#lecoSymbolSize), [lecoSymbolStrokeColor](#lecoSymbolStrokeColor),\n[lecoSymbolStrokeWidth](#lecoSymbolStrokeWidth), [lecoSymbolType](#lecoSymbolType),\n[lecoNoTitle](#lecoNoTitle), [lecoTitleAlign](#lecoTitleAlign), [lecoTitleAnchor](#lecoTitleAnchor),\n[lecoTitleBaseline](#lecoTitleBaseline), [lecoTitleColor](#lecoTitleColor), [lecoTitleFont](#lecoTitleFont),\n[lecoTitleFontSize](#lecoTitleFontSize), [lecoTitleFontStyle](#lecoTitleFontStyle),\n[lecoTitleFontWeight](#lecoTitleFontWeight), [lecoTitleLimit](#lecoTitleLimit),\n[lecoTitleLineHeight](#lecoTitleLineHeight), [lecoTitlePadding](#lecoTitlePadding),\n[lecoUnselectedOpacity](#lecoUnselectedOpacity), [lecoX](#lecoX) and [lecoY](#lecoY).\n","args":[],"cases":[]},{"name":"LegendOrientation","comment":" Generated by [loLeft](#loLeft), [loTopLeft](#loTopLeft), [loTop](#loTop),\n[loTopRight](#loTopRight), [loRight](#loRight), [loBottomRight](#loBottomRight),\n[loBottom](#loBottom), [loBottomLeft](#loBottomLeft) and [loNone](#loNone).\n","args":[],"cases":[]},{"name":"LegendProperty","comment":" Generated by [leAria](#leAria), [leGradient](#leGradient), [leSymbol](#leSymbol),\n[leClipHeight](#leClipHeight), [leColumnPadding](#leColumnPadding), [leColumns](#leColumns),\n[leCornerRadius](#leCornerRadius), [leDirection](#leDirection), [leFillColor](#leFillColor),\n[leFormat](#leFormat), [leFormatAsNum](#leFormatAsNum), [leFormatAsTemporal](#leFormatAsTemporal),\n[leFormatAsCustom](#leFormatAsCustom) [leGradientLength](#leGradientLength),\n[leGradientOpacity](#leGradientOpacity) [leGradientThickness](#leGradientThickness),\n[leGradientStrokeColor](#leGradientStrokeColor), [leGradientStrokeWidth](#leGradientStrokeWidth),\n[leGridAlign](#leGridAlign), [leLabelAlign](#leLabelAlign), [leLabelBaseline](#leLabelBaseline),\n[leLabelColor](#leLabelColor), [leLabelFont](#leLabelFont), [leLabelFontSize](#leLabelFontSize),\n[leFontStyle](#leFontStyle), [leFontWeight](#leFontWeight), [leLabelLimit](#leLabelLimit),\n[leLabelOffset](#leLabelOffset), [leLabelOverlap](#leLabelOverlap), [leOffset](#leOffset),\n[leOrient](#leOrient), [lePadding](#lePadding), [leRowPadding](#leRowPadding),\n[leStrokeColor](#leStrokeColor), [leStrokeWidth](#leStrokeWidth), [leSymbolDash](#leSymbolDash),\n[leSymbolDashOffset](#leSymbolDashOffset) [leSymbolFillColor](#leSymbolFillColor),\n[leSymbolLimit](#leSymbolLimit), [leSymbolOffset](#leSymbolOffset), [leSymbolOpacity](#leSymbolOpacity),\n[leSymbolSize](#leSymbolSize), [leSymbolStrokeColor](#leSymbolStrokeColor),\n[leSymbolStrokeWidth](#leSymbolStrokeWidth), [leSymbolType](#leSymbolType), [leTickCount](#leTickCount),\n[leTitle](#leTitle), [leTitleAlign](#leTitleAlign), [leTitleAnchor](#leTitleAnchor),\n[leTitleBaseline](#leTitleBaseline), [leTitleColor](#leTitleColor), [leTitleFont](#leTitleFont),\n[leTitleFontStyle](#leTitleFontStyle), [leTitleFontSize](#leTitleFontSize),\n[leTitleFontWeight](#leTitleFontWeight), [leTitleLimit](#leTitleLimit), [leTitleLineHeight](#leTitleLineHeight),\n[leTitleOrient](#leTitleOrient), [leTitlePadding](#leTitlePadding), [leType](#leType),\n[leValues](#leValues), [leX](#leX), [leY](#leY) and [leZIndex](#leZIndex).\n","args":[],"cases":[]},{"name":"LineMarker","comment":" Generated by [lmMarker](#lmMarker) and [lmNone](#lmNone).\n","args":[],"cases":[]},{"name":"LoessProperty","comment":" Generated by [lsGroupBy](#lsGroupBy), [lsBandwidth](#lsBandwidth) and [lsAs](#lsAs).\n","args":[],"cases":[]},{"name":"LookupFields","comment":" Generated by [luFields](#luFields), [luFieldsAs](#luFieldsAs), [luAs](#luAs),\n[luFieldsWithDefault](#luFieldsWithDefault), [luFieldsAsWithDefault](#luFieldsAsWithDefault)\nand [luAsWithDefault](#luAsWithDefault)\n","args":[],"cases":[]},{"name":"Mark","comment":" Generated by [arc](#arc), [area](#area), [bar](#bar), [boxplot](#boxplot),\n[circle](#circle), [errorband](#errorband), [errorbar](#errorbar), [geoshape](#geoshape),\n[image](#image), [line](#line), [point](#point), [rect](#rect), [rule](#rule),\n[square](#square), [textMark](#textMark), [tick](#tick) and [trail](#trail).\n","args":[],"cases":[]},{"name":"MarkChannel","comment":" Generated by [mName](#mName), [mDatum](#mDatum), [mQuant](#mQuant), [mNominal](#mNominal),\n[mOrdinal](#mOrdinal), [mTemporal](#mTemporal), [mGeo](#mGeo), [mRepeat](#mRepeat),\n[mRepeatDatum](#mRepeatDatum), [mScale](#mScale), [mBand](#mBand), [mBin](#mBin),\n[mBinned](#mBinned) [mTimeUnit](#mTimeUnit), [mTitle](#mTitle), [mAggregate](#mAggregate),\n[mLegend](#mLegend), [mSort](#mSort), [mCondition](#mCondition), [mConditions](#mConditions),\n[mPath](#mPath), [mNum](#mNum), [mStr](#mStr) and [mBoo](#mBoo).\n","args":[],"cases":[]},{"name":"MarkInterpolation","comment":" Generated by [miBasis](#miBasis), [miBasisClosed](#miBasisClosed),\n[miBasisOpen](#miBasisOpen), [miBundle](#miBundle), [miCardinal](#miCardinal),\n[miCardinalClosed](#miCardinalClosed), [miCardinalOpen](#miCardinalOpen),\n[miLinear](#miLinear), [miLinearClosed](#miLinearClosed), [miMonotone](#miMonotone),\n[miStepwise](#miStepwise), [miStepAfter](#miStepAfter), [miStepBefore](#miStepBefore)\nand [miExpr](#miExpr).\n","args":[],"cases":[]},{"name":"MarkOrientation","comment":" Generated by [moHorizontal](#moHorizontal) and [moVertical](#moVertical).\n","args":[],"cases":[]},{"name":"MarkProperty","comment":" Generated by [maAlign](#maAlign), [maAngle](#maAngle), [maAria](#maAria),\n[maBandSize](#maBandSize), [maBaseline](#maBaseline), [maBinSpacing](#maBinSpacing),\n[maBlend](#maBlend), [maBorders](#maBorders), [maBox](#maBox), [maClip](#maClip),\n[maColor](#maColor), [maColorGradient](#maColorGradient), [maCornerRadius](#maCornerRadius),\n[maCornerRadiusEnd](#maCornerRadiusEnd), [maCornerRadiusTopLeft](#maCornerRadiusTopLeft),\n[maCornerRadiusTopRight](#maCornerRadiusTopRightR), [maCornerRadiusBottomLeft](#maCornerRadiusBottomLeft),\n[maCornerRadiusBottomRight](#maCornerRadiusBottomRight), [maCursor](#maCursor),\n[maHRef](#maHRef), [maContinuousBandSize](#maContinuousBandSize), [maDir](#maDir),\n[maDiscreteBandSize](#maDiscreteBandSize), [maDx](#maDx), [maDy](#maDy), [maEllipsis](#maEllipsis),\n[maExtent](#maExtent), [maFill](#maFill), [maFillGradient](#maFillGradient), [maFilled](#maFilled),\n[maFillOpacity](#maFillOpacity), [maFont](#maFont), [maFontSize](#maFontSize),\n[maFontStyle](#maFontStyle), [maFontWeight](#maFontWeight), [maInnerRadius](#maInnerRadius),\n[maOuterRadius](#maOuterRadius), [maInterpolate](#maInterpolate), [maLimit](#maLimit),\n[maLine](#maLine), [maLineHeight](#maLineHeight), [maMedian](#maMedian), [maOpacity](#maOpacity),\n[maOutliers](#maOutliers), [maOrient](#maOrient), [maPadAngle](#maPadAngle),\n[maPoint](#maPoint), [maRadius](#maRadius), [maRadiusOffset](#maRadiusOffset),\n[maRadius2Offset](#maRadius2Offset), [maRemoveInvalid](#maRemoveInvalid),\n[maRule](#maRule), [maShape](#maShape), [maShortTimeLabels](#maShortTimeLabels), [maSize](#maSize),\n[maStroke](#maStroke), [maStrokeGradient](#maStrokeGradient), [maStrokeCap](#maStrokeCap),\n[maStrokeDash](#maStrokeDash), [maStrokeDashOffset](#maStrokeDashOffset), [maStrokeJoin](#maStrokeJoin),\n[maStrokeMiterLimit](#maStrokeMiterLimit), [maStrokeOpacity](#maStrokeOpacity),\n[maStrokeWidth](#maStrokeWidth), [maStyle](#maStyle), [maTension](#maTension),\n[maText](#maText), [maTheta](#maTheta), [maTheta2](#maTheta2), [maThetaOffset](#maThetaOffset),\n[maTheta2Offset](#maTheta2Offset),[maThickness](#maThickness), [maTicks](#maTicks),\n[maTooltip](#maTooltip), [maUrl](#maUrl), [maX](#maX), [maWidth](#maWidth), [maWidthBand](#maWidthBand),\n[maHeight](#maHeight), [maHeightBand](#maHeightBand), [maY](#maY), [maXOffset](#maXOffset),\n[maYOffset](#maYOffset), [maX2](#maX2), [maY2](#maY2),[maX2Offset](#maX2Offset)\nand [maY2Offset](#maY2Offset).\n","args":[],"cases":[]},{"name":"Measurement","comment":" Type of measurement to be associated with some channel.\n\n  - `Nominal` indicates categories that have no order. e.g. people's names; country names.\n  - `Ordinal` indicates ordered categories. e.g. Small / Medium / Large; 1st, 2nd, 3rd.\n  - `Quantitative` indicates numerical measurements and counts. e.g. price; temperature; frequency.\n  - `Temporal` indicates time-related data.\n  - `GeoFeature` indicates one or more geographic locations. e.g. a longitude/latitude; country outline.\n\n","args":[],"cases":[]},{"name":"MonthName","comment":" Identify a month of the year.\n","args":[],"cases":[["Jan",[]],["Feb",[]],["Mar",[]],["Apr",[]],["May",[]],["Jun",[]],["Jul",[]],["Aug",[]],["Sep",[]],["Oct",[]],["Nov",[]],["Dec",[]]]},{"name":"Operation","comment":" Generated by [opArgMax](#opArgMax), [opArgMin](#opArgMin), [opCI0](#opCI0),\n[opCI1](#opCI1), [opCount](#opCount), [opDistinct](#opDistinct), [opMax](#opMax),\n[opMean](#opMean), [opMedian](#opMedian), [opMin](#opMin), [opMissing](#opMissing),\n[opProduct](#opProduct), [opQ1](#opQ1), [opQ3](#opQ3), [opStderr](#opStderr),\n[opStdev](#opStdev), [opStdevP](#opStdevP), [opSum](#opSum), [opValid](#opValid),\n[opVariance](#opVariance) and [opVarianceP](#opVarianceP).\n","args":[],"cases":[]},{"name":"OrderChannel","comment":" Generated by [oName](#oName), [oRepeat](#oRepeat), [oQuant](#oQuant), [oNominal](#oNominal),\n[oOrdinal](#oOrdinal), [oTemporal](#oTemporal), [oGeo](#oGeo), [oBin](#oBin),\n[oAggregate](#oAggregate), [oTimeUnit](#oTimeUnit), [oSort](#oSort), [oNum](#oNum),\n[oCondition](#oCondition) and [oConditions](#oConditions).\n","args":[],"cases":[]},{"name":"OverlapStrategy","comment":" Generated by [osNone](#osNone), [osGreedy](#osGreedy), [osParity](#osParity)\nand [osExpr].\n","args":[],"cases":[]},{"name":"PBinding","comment":" Generated by [ipRange](#ipRange), [ipCheckbox](#ipCheckbox),\n[ipRadio](#ipRadio), [ipSelect](#ipSelect), [ipText](#ipText), [ipNumber](#ipNumber),\n[ipDate](#ipDate), [ipTime](#ipTime), [ipMonth](#ipMonth), [ipWeek](#ipWeek),\n[ipDateTimeLocal](#ipDateTimeLocal), [ipTel](#ipTel) and [ipColor](#ipColor).\n","args":[],"cases":[]},{"name":"Padding","comment":" Generated by [paSize](#paSize), [paEdges](#paEdges) and [paEdgesExpr](#paEdgesExpr).\n","args":[],"cases":[]},{"name":"ParamProperty","comment":" Generated by [paBind](#paBind), [paBindings](#paBindings), [paBindLegend](#paBindLegend),\n[paBindScales](#paBindScales), [paExpr](#paExpr), [paValue](#paValue), [paValues](#paValues)\nand [paSelect](#paSelect).\n","args":[],"cases":[]},{"name":"PivotProperty","comment":" Generated by [piGroupBy](#piGroupBy), [piLimit](#piLimit) and [piOp](#piOp).\n","args":[],"cases":[]},{"name":"PointMarker","comment":" Generated by [pmNone](#pmNone), [pmTransparent](#pmTransparent) and [pmMarker](#pmMarker).\n","args":[],"cases":[]},{"name":"Position","comment":" Type of position channel. `X` and `Y` position marks along the horizontal and\nvertical axes. `X2` and `Y2` are used in combination with `X` and `Y` when two\nboundaries of a mark need to be specified (e.g. a [rule](#rule) mark). `XOffset`\nand `YOffset` can additional shift position in response to some field, for example\nto create a grouped bar chart or jitter-plot.\n\n`Theta` positions an [arc](#arc) mark's angular offset allowing, for example, pie\nchart segments to be specified. `Theta2` allows an end angle to be specified in\nradians (where 0 is 'north'), useful for individual 'pie' segments.\n\n`R` and `R2` position the outer and inner radial edges of an arc segment. Useful\nfor rose diagrams where arc radii are data-driven.\n\n`Longitude`/`Longitude2` and `Latitude`/`Latitude2` are the equivalent for\ngeographic positioning subject to [projection](#projection).\n\n`XError`/`XError2` and `YError`/`YError2` are used when specifying bounds of an\n[errorbar](#errorbar) mark.\n\n","args":[],"cases":[["X",[]],["Y",[]],["X2",[]],["Y2",[]],["XOffset",[]],["YOffset",[]],["Theta",[]],["Theta2",[]],["R",[]],["R2",[]],["Longitude",[]],["Latitude",[]],["Longitude2",[]],["Latitude2",[]],["XError",[]],["YError",[]],["XError2",[]],["YError2",[]]]},{"name":"PositionChannel","comment":" Generated by [pName](#pName), [pDatum](#pDatum), [pQuant](#pQuant), [pNominal](#pNominal),\n[pOrdinal](#pOrdinal), [pTemporal](#pTemporal), [pGeo](#pGeo), [pRepeat](#pRepeat),\n[pRepeatDatum](#pRepeatDatum), [pBin](#pBin), [pBinned](#pBinned), [pTimeUnit](#pTimeUnit),\n[pTitle](#pTitle), [pAggregate](#pAggregate), [pScale](#pScale), [pAxis](#pAxis), [pSort](#pSort),\n[pBandPosition](#pBandPosition), [pStack](#pStack), [pWidth](#pWidth), [pHeight](#pHeight),\n[pNum](#pNum) and [pImpute](#pImpute).\n","args":[],"cases":[]},{"name":"Predicate","comment":" Generated by [prParam](#prParam), [prParamEmpty](#prParamEmpty) and [prTest](#prTest).\n","args":[],"cases":[]},{"name":"Projection","comment":" Generated by [albers](#albers), [albersUsa](#albersUsa),\n[azimuthalEqualArea](#azimuthalEqualArea), [azimuthalEquidistant](#azimuthalEquidistant),\n[conicConformal](#conicConformal), [conicEqualArea](#conicEqualArea),\n[conicEquidistant](#conicEquidistant), [equalEarth](#equalEarth),\n[equirectangular](#equirectangular), [gnomonic](#gnomonic),\n[identityProjection](#identityProjection), [mercator](#mercator), [naturalEarth1](#naturalEarth1)\n[orthographic](#orthographic), [stereographic](#stereographic),\n[transverseMercator](#transverseMercator), [customProjection](#customProjection)\nand [prExpr](#prExpr).\n","args":[],"cases":[]},{"name":"ProjectionProperty","comment":" Generated by [prType](#prType), [prClipAngle](#prClipAngle), [prClipExtent](#prClipExtent),\n[prCenter](#prCenter), [prFit](#prFit), [prScale](#prScale), [prTranslate](#prTranslate),\n[prRotate](#prRotate), [prRotateExpr](#prRotateExpr), [prPrecision](#prPrecision),\n[prCoefficient](#prCoefficient), [prDistance](#prDistance), [prFraction](#prFraction),\n[prLobes](#prLobes), [prParallels](#prParallels), [prParallelsExpr](#prParallelsExpr),\n[prReflectX](#prReflectX), [prReflectY](#prReflectY), [prParallel](#prParallel),\n[prPointRadius](#prPointRadius), [prRadius](#prRadius), [prRatio](#prRatio),\n[prSpacing](#prSpacing) and [prTilt](#prTilt).\n","args":[],"cases":[]},{"name":"QuantileProperty","comment":" Generated by [qtGroupBy](#qtGroupBy), [qtProbs](#qtProbs), [qtStep](#qtStep)\nand [qtAs](#qtAs).\n","args":[],"cases":[]},{"name":"RangeConfig","comment":" Generated by [racoCategory](#racoCategory), [racoDiverging](#racoDiverging),\n[racoHeatmap](#racoHeatmap), [racoOrdinal](#racoOrdinal), [racoRamp](#racoRamp),\n[racoSymbols](#racoSymbols) and <racoSymbolsExpr>.\n","args":[],"cases":[]},{"name":"RegressionMethod","comment":" Generated by [rgLinear](#rgLinear), [rgLog](#rgLog), [rgExp](#rgExp), [rgPow](#rgPow),\n[rgQuad](#rgQuad) and [rgPoly](#rgPoly).\n","args":[],"cases":[]},{"name":"RegressionProperty","comment":" Generated by [rgGroupBy](#rgGroupBy), [rgMethod](#rgMethod), [rgOrder](#rgOrder),\n[rgExtent](#rgExtent), [rgParams](#rgParams) and [rgAs](#rgAs).\n","args":[],"cases":[]},{"name":"RepeatFields","comment":" Generated by [rowFields](#rowFields), [columnFields](#columnFields) and\n[layerFields](#layerFields).\n","args":[],"cases":[]},{"name":"Resolution","comment":" Generated by [reShared](#reShared) and [reIndependent](#reIndependent).\n","args":[],"cases":[]},{"name":"Resolve","comment":" Generated by [reAxis](#reAxis), [reLegend](#reLegend) and [reScale](#reScale).\n","args":[],"cases":[]},{"name":"Scale","comment":" Generated by [scLinear](#scLinear), [scPow](#scPow), [scSqrt](#scSqrt),\n[scLog](#scLog), [scSymLog](#scSymLog), [scTime](#scTime), [scUtc](#scUtc),\n[scOrdinal](#scOrdinal), [scBand](#scBand), [scPoint](#scPoint),\n[scBinOrdinal](#scBinOrdinal), [scQuantile](#scQuantile), [scQuantize](#scQuantize)\nand [scThreshold](#scThreshold).\n","args":[],"cases":[]},{"name":"ScaleConfig","comment":" Generated by [sacoBandPaddingInner](#sacoBandPaddingInner), [sacoBandPaddingOuter](#sacoBandPaddingOuter),\n[sacoBarBandPaddingInner](#sacoBarBandPaddingInner), [sacoRectBandPaddingInner](#sacoRectBandPaddingInner),\n[sacoClamp](#sacoClamp), [sacoContinuousPadding](#sacoContinuousPadding), [sacoMaxBandSize](#sacoMaxBandSize),\n[sacoMinBandSize](#sacoMinBandSize), [sacoMaxFontSize](#sacoMaxFontSize), [sacoMinFontSize](#sacoMinFontSize),\n[sacoMaxOpacity](#sacoMaxOpacity), [sacoMinOpacity](#sacoMinOpacity), [sacoMaxSize](#sacoMaxSize),\n[sacoMinSize](#sacoMinSize), [sacoMaxStrokeWidth](#sacoMaxStrokeWidth), [sacoMinStrokeWidth](#sacoMinStrokeWidth),\n[sacoPointPadding](#sacoPointPadding), [sacoRound](#sacoRound),\n[sacoUseUnaggregatedDomain](#sacoUseUnaggregatedDomain), [sacoXReverse](#sacoXReverse) and [sacoZero](#sacoZero).\n","args":[],"cases":[]},{"name":"ScaleDomain","comment":" Generated by [doNums](#doNums), [doMin](#doMin), [doMid](#doMid), [doMax](#doMax),\n[doStrs](#doStrs), [doDts](#doDts), [doDtsExpr](#doDtsExpr), [doMinDt](#doMinDt),\n[doMinDtExpr](#doMinDtExpr), [doMaxDt](#doMaxDt), [doMaxDtExpr](#doMaxDtExpr),\n[doSelection](#doSelection), [doSelectionChannel](#doSelectionChannel), [doSelectionField](#doSelectionField),\n[doUnionWith](#doUnionWith) and [doUnaggregated](#doUnaggregated).\n","args":[],"cases":[]},{"name":"ScaleNice","comment":" Generated by [niTrue](#niTrue), [niFalse](#niFalse), [niMillisecond](#niMillisecond),\n[niSecond](#niSecond), [niMinute](#niMinute), [niHour](#niHour), [niDay](#niDay),\n[niWeek](#niWeek), [niMonth](#niMonth), [niYear](#niYear), [niTickCount](#niTickCount),\n[niInterval](#niInterval) and [niExpr](#niExpr).\n","args":[],"cases":[]},{"name":"ScaleProperty","comment":" Generated by [scType](#scType), [scDomain](#scDomain), [scDomainExpr](#scDomainExpr),\n[scRange](#scRange), [scScheme](#scScheme), [scSchemeExpr](#scSchemeExpr), [scAlign](#scAlign),\n[scPadding](#scPadding), [scPaddingInner](#scPaddingInner), [scPaddingOuter](#scPaddingOuter),\n[scReverse](#scReverse), [scRound](#scRound), [scClamp](#scClamp), [scInterpolate](#scInterpolate),\n[scNice](#scNice), [scExponent](#scExponent), [scConstant](#scConstant), [scBase](#scBase)\nand [scZero](#scZero).\n","args":[],"cases":[]},{"name":"ScaleRange","comment":" Generated by [raNums](#raNums), [raExprs](#raExprs), [raMin](#raMin), [raMax](#raMax),\n[raStrs](#raStrs), [raNumLists](#raNumLists), [raName](#raName) and [raField](#raField).\n","args":[],"cases":[]},{"name":"Selection","comment":" Generated by [sePoint](#sePoint) and [seInterval](#seInterval).\n","args":[],"cases":[]},{"name":"SelectionMarkProperty","comment":" Generated by [smFill](#smFill), [smFillOpacity](#smFillOpacity), [smStroke](#smStroke),\n[smStrokeDash](#smStrokeDash), [smStrokeDashOffset](#smStrokeDashOffset),\n[smStrokeOpacity](#smStrokeOpacity), [smStrokeWidth](#smStrokeWidth) and\n[smCursor](#smCursor).\n","args":[],"cases":[]},{"name":"SelectionProperty","comment":" Generated by [seClear](#seClear), [seEncodings](#seEncodings),[seFields](#seFields),\n[seNearest](#seNearest), [seOn](#seOn), [seResolve](#seResolve),\n[seSelectionMark](#seSelectionMark), [seToggle](#seToggle), [seTranslate](#seTranslate)\nand [seZoom](#seZoom).\n","args":[],"cases":[]},{"name":"SelectionResolution","comment":" Generated by [seGlobal](#seGlobal), [seUnion](#seUnion) and\n[seIntersection](#seIntersection).\n","args":[],"cases":[]},{"name":"Side","comment":" Generated by [siLeft](#siLeft), [siRight](#siRight), [siTop](#siTop),\n[siBottom](#siBottom) and [siExpr](#siExpr).\n","args":[],"cases":[]},{"name":"SortField","comment":" Generated by [stAscending](#stAscending), [wiAscending](#wiAscending),\n[stDescending](#stDescending) and [wiDescending](#wiDescending).\n","args":[],"cases":[]},{"name":"SortProperty","comment":" Generated by [soAscending](#soAscending), [soDescending](#soDescending),\n[soByField](#soByField), [soByChannel](#soByChannel), [soByRepeat](#soByRepeat)\nand [soCustom](#soCustom).\n","args":[],"cases":[]},{"name":"StackOffset","comment":" Generated by [stZero](#stZero), [stCenter](#stCenter), [stNormalize](#stNormalize)\nand [stNone](#stNone).\n","args":[],"cases":[]},{"name":"StackProperty","comment":" Generated by [stOffset](#stOffset) and [stSort](#stSort).\n","args":[],"cases":[]},{"name":"StrokeCap","comment":" Generated by [caButt](#caButt), [caRound](#caRound), [caSquare](#caSquare) and\n[caExpr](#caExpr).\n","args":[],"cases":[]},{"name":"StrokeJoin","comment":" Generated by [joMiter](#joMiter), [joRound](#joRound), [joBevel](#joBevel) and\n[joExpr](#joExpr).\n","args":[],"cases":[]},{"name":"SummaryExtent","comment":" Generated by [exCi](#exCi), [exIqr](#exIqr), [exIqrScale](#exIqrScale), [exRange](#exRange),\n[exStderr](#exStderr) and [exStdev](#exStdev).\n","args":[],"cases":[]},{"name":"Symbol","comment":" Generated by [symCircle](#symCircle), [symSquare](#symSquare), [symCross](#symCross),\n[symDiamond](#symDiamond), [symTriangleUp](#symTriangleUp), [symTriangleDown](#symTriangleDown),\n[symTriangleLeft](#symTriangleLeft), [symTriangleRight](#symTriangleRight), [symPath](#symPath),\n[symStroke](#symStroke), [symArrow](#symArrow), [symWedge](#symWedge),[symTriangle](#symTriangle)\nand [symExpr](#symExpr).\n","args":[],"cases":[]},{"name":"TextChannel","comment":" Generated by [tName](#tName), [tRepeat](#tRepeat), [tQuant](#tQuant),\n[tNominal](#tNominal), [tOrdinal](#tOrdinal), [tTemporal](#tTemporal), [tGeo](#tGeo),\n[tBin](#tBin), [tBinned](#tBinned), [tAggregate](#tAggregate), [tTimeUnit](#tTimeUnit),\n[tTitle](#tTitle), [tCondition](#tCondition), [tConditions](#tConditions),\n[tFormat](#tFormat), [tFormatAsNum](#tFormatAsNum), [tFormatAsTemporal](#tFormatAsTemporal),\n[tFormatAsCustom](#tFormatAsCustom), [tStr](#tStr) and [tDatum](#tDatum).\n","args":[],"cases":[]},{"name":"TimeUnit","comment":" Generated by [date](#date), [day](#day), [dayOfYear](#dayOfYear), [dayHours](#dayHours),\n[dayHoursMinutes](#dayHoursMinutes), [dayHoursMinutesSeconds](#dayHoursMinutesSeconds),\n[hours](#hours), [hoursMinutes](#hoursMinutes), [hoursMinutesSeconds](#hoursMinutesSeconds),\n[milliseconds](#milliseconds), [minutes](#minutes), [minutesSeconds](#minutesSeconds),\n[month](#month), [monthDate](#monthDate), [monthDateHoursMinutes](#monthDateHoursMinutes),\n[monthDateHoursMinutesSeconds](#monthDateHoursMinutesSeconds), [quarter](#quarter),\n[quarterMonth](#quarterMonth), [seconds](#seconds), [secondsMilliseconds](#secondsMilliseconds),\n[week](#week), [weekDay](#weekDay), [weekDayHours](#weekDayHours), [weekDayHoursMinutes](#weekDayHoursMinutes),\n[weekDayHoursMinutesSeconds](#weekDayHoursMinutesSeconds), [year](#year), [yearQuarter](#yearQuarter),\n[yearQuarterMonth](#yearQuarterMonth), [yearMonth](#yearMonth), [yearMonthDate](#yearMonthDate),\n[yearMonthDateHours](#yearMonthDateHours), [yearMonthDateHoursMinutes](#yearMonthDateHoursMinutes),\n[yearMonthDateHoursMinutesSeconds](#yearMonthDateHoursMinutesSeconds), [yearWeek](#yearWeek),\n[yearWeekDay](#yearWeekDay), [yearWeekDayHours](#yearWeekDayHours),\n[yearWeekDayHoursMinutes](#yearWeekDayHoursMinutes),\n[yearWeekDayHoursMinutesSeconds](#yearWeekDayHoursMinutesSeconds),\n[yearDayOfYear](#yearDayOfYear), [utc](#utc), [tuMaxBins](#tuMaxBins) and\n[tuStep](#tuStep).\n","args":[],"cases":[]},{"name":"TitleFrame","comment":" Generated by [tfBounds](#tfBounds), [tfGroup](#tfGroup) and [tfExpr](#tfExpr).\n","args":[],"cases":[]},{"name":"TitleProperty","comment":" Generated by [tiAnchor](#tiAnchor), [tiAngle](#tiAngle), [tiBaseline](#tiBaseline),\n[tiColor](#tiColor), [tiDx](#tiDx), [tiDy](#tiDy), [tiFont](#tiFont), [tiFontSize](#tiFontSize),\n[tiFontStyle](#tiFontStyle), [tiFontWeight](#tiFontWeight), [tiFrame](#tiFrame),\n[tiLimit](#tiLimit), [tiLineHeight](#tiLineHeight),[tiOffset](#tiOffset),\n[tiOrient](#tiOrient), [tiStyle](#tiStyle) [tiSubtitle](#tiSubtitle),\n[tiSubtitleColor](#tiSubtitleColor), [tiSubtitleFont](#tiSubtitleFont),\n[tiSubtitleFontSize](#tiSubtitleFontSize), [tiSubtitleFontStyle](#tiSubtitleFontStyle),\n[tiSubtitleFontWeight](#tiSubtitleFontWeight), [tiSubtitleLineHeight](#tiSubtitleLineHeight),\n[tiSubtitlePadding](#tiSubtitlePadding) and [tiZIndex](#tiZIndex).\n","args":[],"cases":[]},{"name":"TogglePredicate","comment":" Generate by [tpFalse](#tpFalse), [tpShiftKey](#tpShiftKey), [tpCtrlKey](#tpCtrlKey),\n[tpAltKey](#tpAltKey) and [tpExpr](#tpExpr).\n","args":[],"cases":[]},{"name":"TooltipContent","comment":" Generated by [ttEncoding](#ttEncoding), [ttData](#ttData) and [ttNone](#ttNone).\n","args":[],"cases":[]},{"name":"VAlign","comment":" Generated by [vaTop](#vaTop), [vaLineTop](#vaLineTop), [vaMiddle](#vaMiddle),\n[vaAlphabetic](#vaAlphabetic), [vaBottom](#vaBottom), [vaLineBottom](#vaLineBottom)\nand [vaExpr](#vaExpr).\n","args":[],"cases":[]},{"name":"VLProperty","comment":" Top-level Vega-Lite properties. These are the ones that define the core of the\nvisualization grammar. All `VLProperties` are created by functions in seven broad groups.\n\n**Data properties** relate to the input data to be visualized. Generated by\n[`dataFromColumns`](#dataFromColumns), [`dataFromRows`](#dataFromRows),\n[`dataFromUrl`](#dataFromUrl), [`dataFromSource`](#dataFromSource),\n[`dataFromJson`](#dataFromJson), [`dataSequence`](#dataSequence), [`sphere`](#sphere)\nand [`graticule`](#graticule).\n\n**Transform properties** indicate that some transformation of input data should\nbe applied before encoding them visually. Generated by [`transform`](#transform)\nand [`projection`](#projection) they can include data transformations such as\n[`filter`](#filter), [`binAs`](#binAs) and [`calculateAs`](#calculateAs) and geo\ntransformations of longitude, latitude coordinates used by marks such as\n[`geoshape`](#geoshape), [`point`](#point) and [`line`](#line).\n\n**Mark functions** specify the graphical symbols used to visualize data items.\nGenerated by functions such as [`circle`](#circle), [`bar`](#bar) and [`line`](#line).\n\n**Encoding properties** specify which data elements are mapped to which mark\ncharacteristics (known as _channels_). Generated by [`encoding`](#encoding) they\ninclude encodings such as [`position`](#position), [`color`](#color), [`size`](#size),\n[`shape`](#shape), [`text`](#text), [`hyperlink`](#hyperlink) and [`order`](#order).\n\n**Composition properties** allow visualization views to be combined to form more\ncomplex visualizations. Generated by [`layer`](#layer), [`repeatFlow`](#repeatFlow),\n[`repeat`](#repeat), [`facetFlow`](#facetFlow), [`facet`](#facet), [`concat`](#concat),\n[`columns`](#columns), [`hConcat`](#hConcat), [`vConcat`](#vConcat),\n[`specification`](#specification) and [`resolve`](#resolve).\n\n**Interaction properties** allow clicking, dragging and other interactions generated\nvia a GUI or data stream to influence the visualization. Generated by\n[`params`](#7-parameters) with a [paSelect](#paSelect) parameter.\n\n**Supplementary and configuration properties** provide a means to add metadata and\nstyling to one or more visualizations. Generated by [`name`](#name), [`title`](#title),\n[`description`](#description), [`background`](#background), [`backgroundExpr`](#backgroundExpr),\n[`width`](#width), [`height`](#height), [`widthStep`](#widthStep), [`heightStep`](#heightStep),\n[`padding`](#padding), [`autosize`](#autosize), [`viewBackground`](#viewBackground)\nand [`configure`](#configure).\n\n","args":[],"cases":[]},{"name":"ViewBackground","comment":" Generated by [viewStyle](#viewStyle), [viewCornerRadius](#viewCornerRadius),\n[viewFill](#viewFill), [viewFillOpacity](#viewFillOpacity), [viewOpacity](#viewOpacity),\n[viewStroke](#viewStroke), [viewStrokeOpacity](#viewStrokeOpacity), [viewStrokeWidth](#viewStrokeWidth),\n[viewStrokeCap](#viewStrokeCap), [viewStrokeDash](#viewStrokeDash), [viewStrokeDashOffset](#viewStrokeDashOffset),\n[viewStrokeJoin](#viewStrokeJoin) and [viewStrokeMiterLimit](#viewStrokeMiterLimit).\n","args":[],"cases":[]},{"name":"ViewConfig","comment":" Generated by [vicoBackground](#vicoBackground), [vicoClip](#vicoClip),\n[vicoContinuousHeight](#vicoContinuousHeight), [vicoContinuousWidth](#vicoContinuousWidth),\n[vicoCursor](#vicoCursor), [vicoDiscreteHeight](#vicoDiscreteHeight),\n[vicoDiscreteWidth](#vicoDiscreteWidth), [vicoCornerRadius](#vicoCornerRadius),\n[vicoFill](#vicoFill), [vicoFillOpacity](#vicoFillOpacity), [vicoOpacity](#vicoOpacity),\n[vicoStep](#vicoStep), [vicoStroke](#vicoStroke), [vicoStrokeCap](#vicoStrokeCap),\n[vicoStrokeDash](#vicoStrokeDash), [vicoStrokeDashOffset](#vicoStrokeDashOffset),\n[vicoStrokeJoin](#vicoStrokeJoin), [vicoStrokeMiterLimit](#vicoStrokeMiterLimit),\n[vicoStrokeOpacity](#vicoStrokeOpacity) and [vicoStrokeWidth](#vicoStrokeWidth).\n","args":[],"cases":[]},{"name":"WOperation","comment":" Generated by [woRowNumber](#woRowNumber), [woRank](#woRank), [woDenseRank](#woDenseRank),\n[woPercentRank](#woPercentRank), [woCumeDist](#woCumeDist), [woPercentile](#woPercentile),\n[woLag](#woLag), [woLead](#woLead), [woFirstValue](#woFirstValue), [woLastValue](#woLastValue),\nand [woNthValue](#woNthValue).\n","args":[],"cases":[]},{"name":"Window","comment":" Generated by [wiAggregateOp](#wiAggregateOp), [wiOp](#wiOp), [wiParam](#wiParam)\nand [wiField](#wiField).\n","args":[],"cases":[]},{"name":"WindowProperty","comment":" Generated by [wiFrame](#wiFrame), [wiIgnorePeers](#wiIgnorePeers), [wiGroupBy](#wiGroupBy)\nand [wiSort](#wiSort).\n","args":[],"cases":[]}],"aliases":[{"name":"Data","comment":" Type annotation for describing data generation functions. Useful when annotating\ntop-level data-generating functions. For example,\n\n    myRegion : List DataColumn -> Data\n    myRegion =\n        dataFromColumns []\n            << dataColumn \"easting\" (nums [ -3, 4, 4, -3, -3 ])\n            << dataColumn \"northing\" (nums [ 52, 52, 45, 45, 52 ])\n\n","args":[],"type":"( VegaLite.VLProperty, VegaLite.Spec )"},{"name":"DataColumn","comment":" Type annotation for a single column of data. Used when describing inline data\nwith [dataColumn](#dataColumn).\n","args":[],"type":"List.List VegaLite.LabelledSpec"},{"name":"DataRow","comment":" Type annotation for a single row of data. Used when describing inline data\nwith [dataRow](#dataRow).\n","args":[],"type":"VegaLite.Spec"},{"name":"LabelledSpec","comment":" A named Vega-Lite specification, usually generated by an elm-vega\nfunction. You shouldn't need to create `LabelledSpec` tuples directly, but are\nuseful for type annotations.\n","args":[],"type":"( String.String, VegaLite.Spec )"},{"name":"Spec","comment":" Part or all of a Vega-Lite specification. Specs are usually nested and can\nrange from a single Boolean value up to the full visualization specification.\n\nYou only need to name something as a `Spec` when providing a top level function\nwith a type signature. For example,\n\n    myBarchart : Spec\n    myBarchart =\n        ...\n\n","args":[],"type":"Json.Encode.Value"},{"name":"TitleConfig","comment":" Generated by [ticoAnchor](#ticoAnchor), [ticoAngle](#ticoAngle), [ticoBaseline](#ticoBaseline),\n[ticoColor](#ticoColor), [ticoDx](#ticoDx), [ticoDy](#ticoDy), [ticoFont](#ticoFont),\n[ticoFontSize](#ticoFontSize), [ticoFontStyle](#ticoFontStyle), [ticoFontWeight](#ticoFontWeight),\n[ticoFrame](#ticoFrame), [ticoLimit](#ticoLimit), [ticoLineHeight](#ticoLineHeight),\n[ticoOffset](#ticoOffset), [ticoOrient](#ticoOrient), [ticoStyle](#ticoStyle),\n[ticoSubtitleColor](#ticoSubtitleColor), [ticoSubtitleFont](#ticoSubtitleFont),\n[ticoSubtitleFontSize](#ticoSubtitleFontSize), [ticoSubtitleFontStyle](#ticoSubtitleFontStyle),\n[ticoSubtitleFontWeight](#ticoSubtitleFontWeight), [ticoSubtitleLineHeight](#ticoSubtitleLineHeight),\n[ticoSubtitlePadding](#ticoSubtitlePadding) and [ticoZIndex](#ticoZIndex).\n","args":[],"type":"VegaLite.TitleProperty"}],"values":[{"name":"aggregate","comment":" Aggregation transformations to be used when encoding channels. Useful when for\napplying the same transformation to a number of channels without defining it each\ntime. The first parameter is a list of the named aggregation operations to apply.\nThe second is a list of 'group by' fields.\n\n    trans =\n        transform\n            << aggregate\n                [ opAs opMin \"people\" \"lowerBound\", opAs opMax \"people\" \"upperBound\" ]\n                [ \"age\" ]\n\n","type":"List.List VegaLite.Spec -> List.List String.String -> List.List VegaLite.LabelledSpec -> List.List VegaLite.LabelledSpec"},{"name":"albers","comment":" An Albers equal-area conic map projection. Used by [prType](#prType).\n","type":"VegaLite.Projection"},{"name":"albersUsa","comment":" An Albers USA map projection that combines continental USA with Alaska and Hawaii.\nUnlike other projection types, this remains unaffected by [prRotate](#prRotate).\nUsed by [prType](#prType).\n","type":"VegaLite.Projection"},{"name":"align","comment":" Alignment to apply to grid rows and columns generated by a composition\noperator. This version sets the same alignment for rows and columns.\n","type":"VegaLite.CompositionAlignment -> ( VegaLite.VLProperty, VegaLite.Spec )"},{"name":"alignRC","comment":" Similar to [align](#align) but with independent alignments for rows (first\nparameter) and columns (second parameter).\n","type":"VegaLite.CompositionAlignment -> VegaLite.CompositionAlignment -> ( VegaLite.VLProperty, VegaLite.Spec )"},{"name":"anEnd","comment":" Anchor some text at its end.\n","type":"VegaLite.Anchor"},{"name":"anExpr","comment":" Specify an anchor style (\"start\", \"middle\", \"end\") with an expression. Used by\n[axTitleAnchor](#axTitleAnchor), [axcoTitleAnchor](#axTitleAnchor), [leTitleAnchor](#leTitleAnchor),\n[lecoTitleAnchor](#lecoTitleAnchor), [hdLabelAnchor](#hdLabelAnchor), [hdTitleAnchor](#hdTitleAnchor),\n[tiAnchor](#tiAnchor) and [ticoAnchor](#ticoAnchor).\n","type":"String.String -> VegaLite.Anchor"},{"name":"anMiddle","comment":" Anchor some text in its start. Used by\n[axTitleAnchor](#axTitleAnchor), [axcoTitleAnchor](#axTitleAnchor), [leTitleAnchor](#leTitleAnchor),\n[lecoTitleAnchor](#lecoTitleAnchor), [hdLabelAnchor](#hdLabelAnchor), [hdTitleAnchor](#hdTitleAnchor),\n[tiAnchor](#tiAnchor) and [ticoAnchor](#ticoAnchor).\n","type":"VegaLite.Anchor"},{"name":"anStart","comment":" Anchor some text at its start. Used by\n[axTitleAnchor](#axTitleAnchor), [axcoTitleAnchor](#axTitleAnchor), [leTitleAnchor](#leTitleAnchor),\n[lecoTitleAnchor](#lecoTitleAnchor), [hdLabelAnchor](#hdLabelAnchor), [hdTitleAnchor](#hdTitleAnchor),\n[tiAnchor](#tiAnchor) and [ticoAnchor](#ticoAnchor).\n","type":"VegaLite.Anchor"},{"name":"and","comment":" Apply an 'and' Boolean operation as part of a logical composition.\n\n    and (expr \"datum.IMDB_Rating === null\") (expr \"datum.Rotten_Tomatoes_Rating === null\")\n\n","type":"VegaLite.BooleanOp -> VegaLite.BooleanOp -> VegaLite.BooleanOp"},{"name":"angle","comment":" Encode an angle (orientation) channel. This allows data-driven rotation of\ntext, point-based marks.\n","type":"List.List VegaLite.MarkChannel -> List.List VegaLite.LabelledSpec -> List.List VegaLite.LabelledSpec"},{"name":"arColumn","comment":" Column arrangement in a repeated/faceted view. Used by [pRepeat](#pRepeat),\n[pRepeatDatum](#pRepeatDatum), [mRepeat](#mRepeat), [mRepeatDatum](#mRepeatDatum),\n[tRepeat](#tRepeat), [hRepeat](#hRepeat), [oRepeat](#oRepeat) and [soByRepeat](#soByRepeat).\n","type":"VegaLite.Arrangement"},{"name":"arDescription","comment":" Description to be provided in [ARIA tag](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA)\nwhen generating SVG output. If not specified, the an auto-generated description\nwill be provided. Used by [maAria](#maAria), [axAria](#axAria), [axCoAria](#axcoAria),\n[leAria](#leAria) and [lecoAria](#lecoAria).\n","type":"String.String -> VegaLite.Aria"},{"name":"arDisable","comment":" Disable [ARIA attributes](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA)\nwhen generating SVG output. Default is that Aria is enabled. Used by [maAria](#maAria),\n[axAria](#axAria), [axCoAria](#axcoAria), [leAria](#leAria) and [lecoAria](#lecoAria).\n","type":"VegaLite.Aria"},{"name":"arEnable","comment":" Enable [ARIA attributes](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA)\nwhen generating SVG output. Default is that Aria is enabled, so this is only useful\nwhen overriding more global disabling of Aria attributes. Used by [maAria](#maAria),\n[axAria](#axAria), [axCoAria](#axcoAria), [leAria](#leAria) and [lecoAria](#lecoAria).\n","type":"VegaLite.Aria"},{"name":"arExpr","comment":" Set [ARIA attributes](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA)\nwith the the given expression. Used by [maAria](#maAria), [axAria](#axAria), [axCoAria](#axcoAria),\n[leAria](#leAria) and [lecoAria](#lecoAria). For example,\n\n    params\n        << param \"barDesc\"\n            [ paValue (dataObject [ ( \"description\", str \"Bar chart bar\" ) ]) ]\n\n    bar [ maAria [ arExpr \"barDesc\" ] ]\n\n","type":"String.String -> VegaLite.Aria"},{"name":"arFlow","comment":" Flow arrangement in a repeated/faceted view. Used by [pRepeat](#pRepeat),\n[pRepeatDatum](#pRepeatDatum), [mRepeat](#mRepeat), [mRepeatDatum](#mRepeatDatum),\n[tRepeat](#tRepeat), [hRepeat](#hRepeat), [oRepeat](#oRepeat) and [soByRepeat](#soByRepeat).\n","type":"VegaLite.Arrangement"},{"name":"arLayer","comment":" Layer arrangement in a repeated view. Used by [pRepeat](#pRepeat),\n[pRepeatDatum](#pRepeatDatum), [mRepeat](#mRepeat), [mRepeatDatum](#mRepeatDatum),\n[tRepeat](#tRepeat), [hRepeat](#hRepeat), [oRepeat](#oRepeat) and [soByRepeat](#soByRepeat).\n","type":"VegaLite.Arrangement"},{"name":"arRow","comment":" Row arrangement in a repeated/faceted view. Used by [pRepeat](#pRepeat),\n[pRepeatDatum](#pRepeatDatum), [mRepeat](#mRepeat), [mRepeatDatum](#mRepeatDatum),\n[tRepeat](#tRepeat), [hRepeat](#hRepeat), [oRepeat](#oRepeat) and [soByRepeat](#soByRepeat).\n","type":"VegaLite.Arrangement"},{"name":"arc","comment":" [Arc mark](https://vega.github.io/vega-lite/docs/arc.html) for radial plots\nsuch as pie charts or rose diagrams.\n","type":"List.List VegaLite.MarkProperty -> ( VegaLite.VLProperty, VegaLite.Spec )"},{"name":"area","comment":" An [area mark](https://vega.github.io/vega-lite/docs/area.html) for representing\na series of data elements, such as in a stacked area chart or streamgraph.\n","type":"List.List VegaLite.MarkProperty -> ( VegaLite.VLProperty, VegaLite.Spec )"},{"name":"arrow","comment":" Specify an [Apache arrow](https://observablehq.com/@theneuralbit/introduction-to-apache-arrow)\ndata file format when reading a data file. Used by [dataFromUrl](#dataFromUrl). For example,\n\n    myData : Data\n    myData =\n        dataFromUrl \"https://gicentre.github.io/data/scrabble.arrow\" [ arrow ]\n\n","type":"VegaLite.Format"},{"name":"asContent","comment":" Interpret visualization dimensions to be for the data rectangle (external\npadding added to this size). Used by [autosize](#autosize) and [coAutosize](#coAutosize).\n","type":"VegaLite.Autosize"},{"name":"asFit","comment":" Interpret visualization dimensions to be for the entire visualization (data\nrectangle is shrunk to accommodate external decorations padding). Used by\n[autosize](#autosize) and [coAutosize](#coAutosize).\n","type":"VegaLite.Autosize"},{"name":"asFitX","comment":" Interpret visualization width to be for the entire visualization width (data\nrectangle width is shrunk to accommodate external decorations padding). Used by\n[autosize](#autosize) and [coAutosize](#coAutosize).\n","type":"VegaLite.Autosize"},{"name":"asFitY","comment":" Interpret visualization height to be for the entire visualization height\n(data rectangle height is shrunk to accommodate external decorations padding).\nUsed by [autosize](#autosize) and [coAutosize](#coAutosize).\n","type":"VegaLite.Autosize"},{"name":"asNone","comment":" No autosizing to be applied. Used by [autosize](#autosize) and [coAutosize](#coAutosize).\n","type":"VegaLite.Autosize"},{"name":"asPad","comment":" Automatically expand size of visualization from the given dimensions in order\nto fit in all supplementary decorations (legends etc.). Used by [autosize](#autosize)\nand [coAutosize](#coAutosize).\n","type":"VegaLite.Autosize"},{"name":"asPadding","comment":" Interpret visualization width to be for the entire visualization (data\nrectangle is shrunk to accommodate external padding). Used by [autosize](#autosize)\nand [coAutosize](#coAutosize).\n","type":"VegaLite.Autosize"},{"name":"asResize","comment":" Recalculate autosizing on every view update. Used by [autosize](#autosize) and\n[coAutosize](#coAutosize).\n","type":"VegaLite.Autosize"},{"name":"asSpec","comment":" Create a specification sufficient to define an element in a composed visualization\nsuch as a superposed layer or juxtaposed facet. Typically a layer will contain a\nfull set of specifications that define a visualization with the exception of the\ndata specification which is usually defined outside of any one\nlayer. For repeated and faceted specs, the entire specification is provided.\n","type":"List.List ( VegaLite.VLProperty, VegaLite.Spec ) -> VegaLite.Spec"},{"name":"autosize","comment":" Declare the way the view is sized. See the\n[Vega-Lite autosize documentation](https://vega.github.io/vega-lite/docs/size.html#autosize).\n\n    enc = ...\n    toVegaLite\n        [ width 250\n        , height 300\n        , autosize [ asFit, asPadding, asResize ]\n        , dataFromUrl \"data/population.json\" []\n        , bar []\n        , enc []\n        ]\n\n","type":"List.List VegaLite.Autosize -> ( VegaLite.VLProperty, VegaLite.Spec )"},{"name":"axAria","comment":" [ARIA](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA) properties\nfor providing accessible SVG output associated with an axis. If an empty list is\nprovided, ARIA tagging will be switched off. Used by [pAxis](#pAxis).\n","type":"List.List VegaLite.Aria -> VegaLite.AxisProperty"},{"name":"axBandPosition","comment":" Position of axis tick relative to a band (0 to 1). Used by [pAxis](#pAxis).\n","type":"Basics.Float -> VegaLite.AxisProperty"},{"name":"axBooExpr","comment":" Provide an [expression](https://vega.github.io/vega/docs/expressions/) to an\naxis property function requiring a Boolean value. This can be used to provide an\ninteractive parameterisation of an axis property when an expression is bound to\nan input element. Used by [pAxis](#pAxis). For example,\n\n    ps =\n        params\n            << param \"lbls\"\n                [ paValue (boo True)\n                , paBind (ipCheckbox [])\n                ]\n\n    enc =\n        encoding\n            << position X\n                [ pName \"x\"\n                , pAxis [ axBooExpr \"lbls\" axLabels ]\n                ]\n\n","type":"String.String -> (Basics.Bool -> VegaLite.AxisProperty) -> VegaLite.AxisProperty"},{"name":"axDataCondition","comment":" Make an axis property (tick, grid or label) conditional on one or more predicate\nexpressions. The first parameter is the test to apply. The second is a pair of properties\nto set if the test evaluates to true or false.\n\nThe test parameter has access to the axis properties `value` and `label` corresponding\nto the value associated with an individual axis element and its text label. These\nshould be used rather than the underlying data field when referencing a data value.\n\n     pAxis\n        [ axDataCondition (expr \"datum.value <= 2\")\n            (cAxTickColor \"red\" \"blue\")\n        , axDataCondition (expr \"datum.label =='4.0'\")\n            (cAxTickWidth 5 2)\n        ]\n\nYou can also apply inline aggregation before applying the test using\n[fiOpTrans](#fiOpTrans), which can be particularly useful for filtering temporal\ndata. Used by [pAxis](#pAxis). For example, the following will apply solid grid lines\nfor January 1st of each year and dashes for all other dates:\n\n    pAxis\n        [ axDataCondition\n            (fiEqual \"value\" (dt [ dtMonth Jan, dtDate 1 ])\n                |> fiOpTrans (mTimeUnit monthDate)\n            )\n            (cAxGridDash [] [ 2, 2 ])\n        ]\n\n","type":"VegaLite.BooleanOp -> VegaLite.ConditionalAxisProperty -> VegaLite.AxisProperty"},{"name":"axDomain","comment":" Whether or not an axis baseline (domain) should be included as part of an axis. Used by [pAxis](#pAxis).\n","type":"Basics.Bool -> VegaLite.AxisProperty"},{"name":"axDomainCap","comment":" How the ends of the axis baseline (domain) are capped. Used by [pAxis](#pAxis).\n","type":"VegaLite.StrokeCap -> VegaLite.AxisProperty"},{"name":"axDomainColor","comment":" Color of axis domain line. Used by [pAxis](#pAxis).\n","type":"String.String -> VegaLite.AxisProperty"},{"name":"axDomainDash","comment":" Dash style of axis baseline (domain). The parameter should list number of pixels\nin alternating dash and gap lengths. Used by [pAxis](#pAxis).\n","type":"List.List Basics.Float -> VegaLite.AxisProperty"},{"name":"axDomainDashOffset","comment":" Number of pixels before the first axis baseline (domain) line dash is drawn. Used by [pAxis](#pAxis).\n","type":"Basics.Float -> VegaLite.AxisProperty"},{"name":"axDomainOpacity","comment":" Opacity of axis domain line. Used by [pAxis](#pAxis).\n","type":"Basics.Float -> VegaLite.AxisProperty"},{"name":"axDomainWidth","comment":" Width of axis domain line. Used by [pAxis](#pAxis).\n","type":"Basics.Float -> VegaLite.AxisProperty"},{"name":"axFormat","comment":" [Formatting pattern](https://vega.github.io/vega-lite/docs/format.html) for\naxis labels. To distinguish between formatting as numeric values and data/time values,\nadditionally use [axFormatAsNum](#axFormatAsNum), [axFormatAsTemporal](#axFormatAsTemporal)\nor [axFormatAsCustom](#axFormatAsCustom). Used by [pAxis](#pAxis).\n","type":"String.String -> VegaLite.AxisProperty"},{"name":"axFormatAsCustom","comment":" Indicate that axis labels should be formatted with a registered custom formatter\nwith the given name. See [how to register a Vega-Lite custom formatter](https://vega.github.io/vega-lite/usage/compile.html#format-type).\nUsed by [pAxis](#pAxis).\n","type":"String.String -> VegaLite.AxisProperty"},{"name":"axFormatAsNum","comment":" Indicate that axis labels should be formatted as numbers. To control the precise\nnumeric format, additionally use [axFormat](#axFormat) providing a\n[d3 numeric format string](https://github.com/d3/d3-format#locale_format). Used by [pAxis](#pAxis).\n","type":"VegaLite.AxisProperty"},{"name":"axFormatAsTemporal","comment":" Indicate that axis labels should be formatted as dates/times. To control the\nprecise temporal format, use [axFormat](#axFormat) or [axTemporalFormats](#axTemporalFormats)\nproviding [d3 date/time format strings](https://github.com/d3/d3-time-format#locale_format).\nUsed by [pAxis](#pAxis).\n","type":"VegaLite.AxisProperty"},{"name":"axGrid","comment":" Whether or not grid lines should be included as part of an axis. Used by [pAxis](#pAxis).\n","type":"Basics.Bool -> VegaLite.AxisProperty"},{"name":"axGridCap","comment":" How the ends of gridlines are capped. Used by [pAxis](#pAxis).\n","type":"VegaLite.StrokeCap -> VegaLite.AxisProperty"},{"name":"axGridColor","comment":" Color of grid lines associated with an axis. Used by [pAxis](#pAxis).\n","type":"String.String -> VegaLite.AxisProperty"},{"name":"axGridDash","comment":" Axis grid lines dash style. The parameter is a list of alternating 'on' and\n'off' lengths in pixels representing the dashed line. Used by [pAxis](#pAxis).\n","type":"List.List Basics.Float -> VegaLite.AxisProperty"},{"name":"axGridDashOffset","comment":" Default number of pixels before the first axis grid line dash is drawn. Used by [pAxis](#pAxis).\n","type":"Basics.Float -> VegaLite.AxisProperty"},{"name":"axGridOpacity","comment":" Opacity of grid lines associated with an axis. Used by [pAxis](#pAxis).\n","type":"Basics.Float -> VegaLite.AxisProperty"},{"name":"axGridWidth","comment":" Width of grid lines associated with an axis. Used by [pAxis](#pAxis).\n","type":"Basics.Float -> VegaLite.AxisProperty"},{"name":"axLabelAlign","comment":" Horizontal alignment of axis tick labels. Used by [pAxis](#pAxis).\n","type":"VegaLite.HAlign -> VegaLite.AxisProperty"},{"name":"axLabelAngle","comment":" Rotation angle of axis labels (degrees from horizontal). Used by [pAxis](#pAxis).\n","type":"Basics.Float -> VegaLite.AxisProperty"},{"name":"axLabelBaseline","comment":" Vertical alignment of axis tick labels. Used by [pAxis](#pAxis).\n","type":"VegaLite.VAlign -> VegaLite.AxisProperty"},{"name":"axLabelBound","comment":" How or if labels should be hidden if they exceed the axis range. If\n`Nothing`, no check for label size is made. A number specifies the permitted\noverflow in pixels. Used by [pAxis](#pAxis).\n","type":"Maybe.Maybe Basics.Float -> VegaLite.AxisProperty"},{"name":"axLabelBoundExpr","comment":" Expression that evaluates to True, False or a number depending whether a check\nis to be made for an axis label size. A number specifies the permitted overflow\nin pixels. Used by [pAxis](#pAxis).\n","type":"String.String -> VegaLite.AxisProperty"},{"name":"axLabelColor","comment":" Color of axis tick label. Used by [pAxis](#pAxis).\n","type":"String.String -> VegaLite.AxisProperty"},{"name":"axLabelExpr","comment":" An expression to generate axis labels. The parameter is a valid\n[Vega expression](https://vega.github.io/vega/docs/expressions/). Can reference\n`datum.value` and `datum.label` for access to the underlying data values and\ndefault label text respectively. Used by [pAxis](#pAxis). For example, to provide 4 digit\nyears every decade and 2-digit years for all other tick marks:\n\n    pAxis\n        [ axLabelExpr \"if(year(datum.value) % 10 == 0\"\n            ++ \", utcFormat(datum.value,'%Y')\"\n            ++ \", utcFormat(datum.value,'%y'))\"\n        ]\n\n","type":"String.String -> VegaLite.AxisProperty"},{"name":"axLabelFlush","comment":" How or if labels at beginning and end of the axis should be aligned. Specifies\nthe distance threshold from an end-point within which labels are flush-adjusted\nor if `Nothing`, no flush-adjustment made. Used by [pAxis](#pAxis).\n","type":"Maybe.Maybe Basics.Float -> VegaLite.AxisProperty"},{"name":"axLabelFlushOffset","comment":" Number of pixels by which to offset flush-adjusted labels. Used by [pAxis](#pAxis).\n","type":"Basics.Float -> VegaLite.AxisProperty"},{"name":"axLabelFont","comment":" Font name of an axis label. Used by [pAxis](#pAxis).\n","type":"String.String -> VegaLite.AxisProperty"},{"name":"axLabelFontSize","comment":" Font size of an axis label. Used by [pAxis](#pAxis).\n","type":"Basics.Float -> VegaLite.AxisProperty"},{"name":"axLabelFontStyle","comment":" Font style of an axis label (e.g. \"italic\"). Used by [pAxis](#pAxis).\n","type":"String.String -> VegaLite.AxisProperty"},{"name":"axLabelFontWeight","comment":" Font weight of an axis label. Used by [pAxis](#pAxis).\n","type":"VegaLite.FontWeight -> VegaLite.AxisProperty"},{"name":"axLabelLimit","comment":" Maximum length in pixels of axis tick labels. Used by [pAxis](#pAxis).\n","type":"Basics.Float -> VegaLite.AxisProperty"},{"name":"axLabelLineHeight","comment":" Axis label line height (useful for multi-line labels). Used by [pAxis](#pAxis).\n","type":"Basics.Float -> VegaLite.AxisProperty"},{"name":"axLabelOffset","comment":" Offset in pixels of an axis's labels relative to its ticks. Used by [pAxis](#pAxis).\n","type":"Basics.Float -> VegaLite.AxisProperty"},{"name":"axLabelOpacity","comment":" Opacity of an axis label. Used by [pAxis](#pAxis).\n","type":"Basics.Float -> VegaLite.AxisProperty"},{"name":"axLabelOverlap","comment":" Overlap strategy for labels when they are too large to fit within the space\ndevoted to an axis. Used by [pAxis](#pAxis).\n","type":"VegaLite.OverlapStrategy -> VegaLite.AxisProperty"},{"name":"axLabelPadding","comment":" Padding in pixels between an axis and its text labels. Used by [pAxis](#pAxis).\n","type":"Basics.Float -> VegaLite.AxisProperty"},{"name":"axLabelSeparation","comment":" The minimum separation between labels (in pixel units) before they are considered\nnon-overlapping. Ignored if [axLabelOverlap](#axLabelOverlap) is [osNone](#osNone).\nUsed by [pAxis](#pAxis).\n","type":"Basics.Float -> VegaLite.AxisProperty"},{"name":"axLabels","comment":" Whether or not axis labels should be displayed. Used by [pAxis](#pAxis).\n","type":"Basics.Bool -> VegaLite.AxisProperty"},{"name":"axMaxExtent","comment":" Maximum extent in pixels that axis ticks and labels should use. Used by [pAxis](#pAxis).\n","type":"Basics.Float -> VegaLite.AxisProperty"},{"name":"axMinExtent","comment":" Minimum extent in pixels that axis ticks and labels should use. Used by [pAxis](#pAxis).\n","type":"Basics.Float -> VegaLite.AxisProperty"},{"name":"axNumExpr","comment":" Provide an [expression](https://vega.github.io/vega/docs/expressions/) to an\naxis property function requiring a numeric value. This can be used for interactive\nparameterisation when an expression is bound to an input element. Used by [pAxis](#pAxis).\nFor example,\n\n    ps =\n        params\n            << param \"axo\"\n                [ paValue (num 0)\n                , paBind (ipRange [ inMax 20 ])\n                ]\n\n    enc =\n        encoding\n            << position X\n                [ pName \"x\"\n                , pAxis [ axNumExpr \"axo\" axOffset ]\n                ]\n\n","type":"String.String -> (number -> VegaLite.AxisProperty) -> VegaLite.AxisProperty"},{"name":"axNumsExpr","comment":" Provide an [expression](https://vega.github.io/vega/docs/expressions/) to\nan axis property function requiring a list of numbers (for dash styles). This can\nbe used to provide an interactive parameterisation of an axis dash property when\nan expression is bound to an input element. Used by [pAxis](#pAxis). For example,\n\n    ps =\n        params\n            << param \"gridDash\"\n                [ paValue (nums [ 2, 2 ])\n                , paBind (ipSelect [ inDataOptions [ nums [ 2, 2 ], nums [ 8, 8 ] ] ])\n                ]\n\n    enc =\n        encoding\n            << position X [ pAxis [ axNumsExpr \"gridDash\" axGridDash ] ]\n\n","type":"String.String -> (List.List number -> VegaLite.AxisProperty) -> VegaLite.AxisProperty"},{"name":"axOffset","comment":" Offset to displace the axis from the edge of the enclosing group or data rectangle.\nUsed by [pAxis](#pAxis).\n","type":"Basics.Float -> VegaLite.AxisProperty"},{"name":"axOrient","comment":" Orientation of an axis relative to the plot it is describing. Used by [pAxis](#pAxis).\n","type":"VegaLite.Side -> VegaLite.AxisProperty"},{"name":"axPosition","comment":" Anchor position of the axis in pixels. For x-axis with top or\nbottom orientation, this sets the axis group x coordinate. For y-axis with left\nor right orientation, this sets the axis group y coordinate. Used by [pAxis](#pAxis).\n","type":"Basics.Float -> VegaLite.AxisProperty"},{"name":"axStrExpr","comment":" Provide an [expression](https://vega.github.io/vega/docs/expressions/) to\nan axis property function requiring a string value. This can be used to provide an\ninteractive parameterisation of an axis property when an expression is bound to an\ninput element. Used by [pAxis](#pAxis). For example,\n\n    ps =\n        params\n            << param \"color\"\n                [ paValue (str \"black\")\n                , paBind (ipColor [])\n                ]\n\n    enc =\n        encoding\n            << position X\n                [ pName \"x\"\n                , pAxis [ axStrExpr \"color\" axTitleColor ]\n                ]\n\n","type":"String.String -> (String.String -> VegaLite.AxisProperty) -> VegaLite.AxisProperty"},{"name":"axStyle","comment":" A list of named styles to apply to an axis. Named styles can be specified via\n[coAxisStyles](#coAxisStyles). Later styles in the list will override earlier\nstyles if there is a conflict in any of the properties specified. Used by [pAxis](#pAxis).\n\nWhile this is provided for compatibility with Vega-Lite style specification, for\ngreater type safety in elm-vegalite, instead create functions that generate\n[AxisProperties](#AxisProperty).\n\n","type":"List.List String.String -> VegaLite.AxisProperty"},{"name":"axTemporalFormats","comment":" Specify multiple time formats for axis labels that might vary according to\nthe temporal resolution. This is especially useful when used with [paBindScales](#paBindScales)\nthat will adjust the granularity of time labels dynamically. The parameter is a list of\ntime units to customise and their respective\n[formatting pattern](https://vega.github.io/vega-lite/docs/format.html). Used by [pAxis](#pAxis).\nFor example,\n\n    pAxis\n        [ axTemporalFormats\n            [ ( year, \"`%Y\" )\n            , ( hours, \"kl %-H\" )\n            , ( minutes, \"%H:%M\" )\n            ]\n        ]\n\n","type":"List.List ( VegaLite.TimeUnit, String.String ) -> VegaLite.AxisProperty"},{"name":"axTickBand","comment":" Where grid and ticks should be aligned with bands. Used by [pAxis](#pAxis).\n","type":"VegaLite.TickBand -> VegaLite.AxisProperty"},{"name":"axTickCap","comment":" How the ends of axis ticks are capped. Used by [pAxis](#pAxis).\n","type":"VegaLite.StrokeCap -> VegaLite.AxisProperty"},{"name":"axTickColor","comment":" Color of axis ticks. Used by [pAxis](#pAxis).\n","type":"String.String -> VegaLite.AxisProperty"},{"name":"axTickCount","comment":" Desired number of, or interval between, axis ticks. The resulting number of\nticks may be different so that values are “nice” (multiples of 2, 5, 10).\nUsed by [pAxis](#pAxis).\n","type":"VegaLite.ScaleNice -> VegaLite.AxisProperty"},{"name":"axTickDash","comment":" Axis tick dash style. The parameter is a list of alternating 'on' and 'off'\nlengths in pixels representing the dashed line. Used by [pAxis](#pAxis).\n","type":"List.List Basics.Float -> VegaLite.AxisProperty"},{"name":"axTickDashOffset","comment":" Number of pixels before the first axis tick dash is drawn. Used by [pAxis](#pAxis).\n","type":"Basics.Float -> VegaLite.AxisProperty"},{"name":"axTickExtra","comment":" Whether or not an extra axis tick should be added for the initial position\nof an axis. Used by [pAxis](#pAxis).\n","type":"Basics.Bool -> VegaLite.AxisProperty"},{"name":"axTickMinStep","comment":" The minimum desired step between axis ticks, in terms of scale domain values.\nFor example, a value of `1` indicates that ticks should not be less than 1 unit\napart. If specified, the tick count value will be adjusted, if necessary, to\nenforce the minimum step value. Used by [pAxis](#pAxis).\n","type":"Basics.Float -> VegaLite.AxisProperty"},{"name":"axTickOffset","comment":" Offset in pixels of an axis's ticks, labels and gridlines. Used by [pAxis](#pAxis).\n","type":"Basics.Float -> VegaLite.AxisProperty"},{"name":"axTickOpacity","comment":" Opacity of axis ticks. Used by [pAxis](#pAxis).\n","type":"Basics.Float -> VegaLite.AxisProperty"},{"name":"axTickRound","comment":" Whether or not axis tick positions should be rounded to nearest integer. Used by [pAxis](#pAxis).\n","type":"Basics.Bool -> VegaLite.AxisProperty"},{"name":"axTickSize","comment":" Tick mark size in pixels. Used by [pAxis](#pAxis).\n","type":"Basics.Float -> VegaLite.AxisProperty"},{"name":"axTickWidth","comment":" Width of axis ticks. Used by [pAxis](#pAxis).\n","type":"Basics.Float -> VegaLite.AxisProperty"},{"name":"axTicks","comment":" Whether or not an axis should include tick marks. Used by [pAxis](#pAxis).\n","type":"Basics.Bool -> VegaLite.AxisProperty"},{"name":"axTitle","comment":" Title to display as part of an axis. An empty string can be used to prevent\na title being displayed. For multi-line titles, insert `\\n` at each line break or\nuse a `\"\"\"` multi-line string. Used by [pAxis](#pAxis).\n","type":"String.String -> VegaLite.AxisProperty"},{"name":"axTitleAlign","comment":" Horizontal alignment of an axis title. Used by [pAxis](#pAxis).\n","type":"VegaLite.HAlign -> VegaLite.AxisProperty"},{"name":"axTitleAnchor","comment":" Anchor position of an axis title. Used by [pAxis](#pAxis).\n","type":"VegaLite.Anchor -> VegaLite.AxisProperty"},{"name":"axTitleAngle","comment":" Angle of an axis title (degrees from horizontal). Used by [pAxis](#pAxis).\n","type":"Basics.Float -> VegaLite.AxisProperty"},{"name":"axTitleBaseline","comment":" Vertical alignment of axis title. Used by [pAxis](#pAxis).\n","type":"VegaLite.VAlign -> VegaLite.AxisProperty"},{"name":"axTitleColor","comment":" Color of axis title. Used by [pAxis](#pAxis).\n","type":"String.String -> VegaLite.AxisProperty"},{"name":"axTitleFont","comment":" Font name for an axis title. Used by [pAxis](#pAxis).\n","type":"String.String -> VegaLite.AxisProperty"},{"name":"axTitleFontSize","comment":" Font size of an axis title. Used by [pAxis](#pAxis).\n","type":"Basics.Float -> VegaLite.AxisProperty"},{"name":"axTitleFontStyle","comment":" Font style of an axis title (e.g. \"italic\"). Used by [pAxis](#pAxis).\n","type":"String.String -> VegaLite.AxisProperty"},{"name":"axTitleFontWeight","comment":" Font weight of an axis title. Used by [pAxis](#pAxis).\n","type":"VegaLite.FontWeight -> VegaLite.AxisProperty"},{"name":"axTitleLimit","comment":" Maximum length in pixels of axis title. Used by [pAxis](#pAxis).\n","type":"Basics.Float -> VegaLite.AxisProperty"},{"name":"axTitleLineHeight","comment":" Line height for multi-line axis titles. Used by [pAxis](#pAxis).\n","type":"Basics.Float -> VegaLite.AxisProperty"},{"name":"axTitleOpacity","comment":" Opacity of an axis title. Used by [pAxis](#pAxis).\n","type":"Basics.Float -> VegaLite.AxisProperty"},{"name":"axTitlePadding","comment":" Padding in pixels between a title and axis. Used by [pAxis](#pAxis).\n","type":"Basics.Float -> VegaLite.AxisProperty"},{"name":"axTitleX","comment":" X position of an axis title relative to the axis group. Used by [pAxis](#pAxis).\n","type":"Basics.Float -> VegaLite.AxisProperty"},{"name":"axTitleY","comment":" Y position of an axis title relative to the axis group. Used by [pAxis](#pAxis).\n","type":"Basics.Float -> VegaLite.AxisProperty"},{"name":"axTranslate","comment":" Coordinate space translation offset for axis layout. By default, axes are translated\nby 0.5 pixels for both the x and y coordinates in order to align stroked lines with\nthe pixel grid. This translation can be changed, for example, to zero. Used by [pAxis](#pAxis).\n","type":"Basics.Float -> VegaLite.AxisProperty"},{"name":"axValues","comment":" Set explicit tick/grid/label values along an axis. Used by [pAxis](#pAxis).\nFor example, for a quantitative field:\n\n    pAxis [ axValues (nums [ 2, 3, 5, 7, 11, 13, 17 ]) ]\n\nor a categorical field:\n\n    pAxis [ axValues (strs [ \"cats\", \"dogs\", \"parrots\" ]) ]\n\nor for a temporal field:\n\n    pAxis\n        [ axValues\n            (dts\n                [ [ dtYear 2019, dtMonth Mar, dtDate 31 ]\n                , [ dtYear 2019, dtMonth Jun, dtDate 30 ]\n                , [ dtYear 2019, dtMonth Sep, dtDate 30 ]\n                , [ dtYear 2019, dtMonth Dec, dtDate 31 ]\n                ]\n            )\n        ]\n\n","type":"VegaLite.DataValues -> VegaLite.AxisProperty"},{"name":"axX","comment":" Deprecated. Use [coAxisXFilter](#coAxisXFilter) instead.\n","type":"VegaLite.AxisChoice"},{"name":"axY","comment":" Deprecated. Use[coAxisYFilter](#coAxisYFilter) instead.\n","type":"VegaLite.AxisChoice"},{"name":"axZIndex","comment":" Drawing order of the axis and its associated features (grid lines, ticks etc.)\nrelative to the other chart elements. A value greater than 0 indicates axis is\ndrawn in front of chart marks, 0 indicates it is drawn behind them. The z-order\nof intersecting grid lines associated with x- and y- axes can be controlled by\nassigning a higher z-value to the axis to appear on top. Used by [pAxis](#pAxis).\n","type":"Basics.Int -> VegaLite.AxisProperty"},{"name":"axcoAria","comment":" Default [ARIA](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA)\nproperties for providing accessible SVG output associated with an axis. If an empty\nlist is provided, ARIA tagging will be switched off. Used by [coAxis](#coAxis),\n[coAxisLeft](#coAxisLeft), [coAxisRight](#coAxisRight), [coAxisTop](#coAxisTop),\n[coAxisBottom](#coAxisBottom), [coAxisBand](#coAxisBand), [coAxisDiscrete](#coAxisDiscrete),\n[coAxisPoint](#coAxisPoint), [coAxisQuant](#coAxisQuant) and [coAxisTemporal](#coAxisTemporal).\n","type":"List.List VegaLite.Aria -> VegaLite.AxisConfig"},{"name":"axcoBandPosition","comment":" Default axis band position. Used by [coAxis](#coAxis),\n[coAxisLeft](#coAxisLeft), [coAxisRight](#coAxisRight), [coAxisTop](#coAxisTop),\n[coAxisBottom](#coAxisBottom), [coAxisBand](#coAxisBand), [coAxisDiscrete](#coAxisDiscrete),\n[coAxisPoint](#coAxisPoint), [coAxisQuant](#coAxisQuant) and [coAxisTemporal](#coAxisTemporal).\n","type":"Basics.Float -> VegaLite.AxisConfig"},{"name":"axcoBooExpr","comment":" Provide an [expression](https://vega.github.io/vega/docs/expressions/) to an\naxis configuration function requiring a Boolean value. Used by [coAxis](#coAxis),\n[coAxisLeft](#coAxisLeft), [coAxisRight](#coAxisRight), [coAxisTop](#coAxisTop),\n[coAxisBottom](#coAxisBottom), [coAxisBand](#coAxisBand), [coAxisDiscrete](#coAxisDiscrete),\n[coAxisPoint](#coAxisPoint), [coAxisQuant](#coAxisQuant) and [coAxisTemporal](#coAxisTemporal).\n","type":"String.String -> (Basics.Bool -> VegaLite.AxisConfig) -> VegaLite.AxisConfig"},{"name":"axcoDisable","comment":" Whether or not axes are generated for positional encoding by default. Used by [coAxis](#coAxis),\n[coAxisLeft](#coAxisLeft), [coAxisRight](#coAxisRight), [coAxisTop](#coAxisTop),\n[coAxisBottom](#coAxisBottom), [coAxisBand](#coAxisBand), [coAxisDiscrete](#coAxisDiscrete),\n[coAxisPoint](#coAxisPoint), [coAxisQuant](#coAxisQuant) and [coAxisTemporal](#coAxisTemporal).\n","type":"Basics.Bool -> VegaLite.AxisConfig"},{"name":"axcoDomain","comment":" Whether or not an axis domain should be displayed by default. Used by [coAxis](#coAxis),\n[coAxisLeft](#coAxisLeft), [coAxisRight](#coAxisRight), [coAxisTop](#coAxisTop),\n[coAxisBottom](#coAxisBottom), [coAxisBand](#coAxisBand), [coAxisDiscrete](#coAxisDiscrete),\n[coAxisPoint](#coAxisPoint), [coAxisQuant](#coAxisQuant) and [coAxisTemporal](#coAxisTemporal).\n","type":"Basics.Bool -> VegaLite.AxisConfig"},{"name":"axcoDomainCap","comment":" Default appearance of ends of axis domain. Used by [coAxis](#coAxis),\n[coAxisLeft](#coAxisLeft), [coAxisRight](#coAxisRight), [coAxisTop](#coAxisTop),\n[coAxisBottom](#coAxisBottom), [coAxisBand](#coAxisBand), [coAxisDiscrete](#coAxisDiscrete),\n[coAxisPoint](#coAxisPoint), [coAxisQuant](#coAxisQuant) and [coAxisTemporal](#coAxisTemporal).\n","type":"VegaLite.StrokeCap -> VegaLite.AxisConfig"},{"name":"axcoDomainColor","comment":" Default axis domain color. Used by [coAxis](#coAxis),\n[coAxisLeft](#coAxisLeft), [coAxisRight](#coAxisRight), [coAxisTop](#coAxisTop),\n[coAxisBottom](#coAxisBottom), [coAxisBand](#coAxisBand), [coAxisDiscrete](#coAxisDiscrete),\n[coAxisPoint](#coAxisPoint), [coAxisQuant](#coAxisQuant) and [coAxisTemporal](#coAxisTemporal).\n","type":"String.String -> VegaLite.AxisConfig"},{"name":"axcoDomainDash","comment":" Default dash style of axis baseline (domain). The parameter should list\nnumber of pixels in alternating dash and gap lengths. Used by [coAxis](#coAxis),\n[coAxisLeft](#coAxisLeft), [coAxisRight](#coAxisRight), [coAxisTop](#coAxisTop),\n[coAxisBottom](#coAxisBottom), [coAxisBand](#coAxisBand), [coAxisDiscrete](#coAxisDiscrete),\n[coAxisPoint](#coAxisPoint), [coAxisQuant](#coAxisQuant) and [coAxisTemporal](#coAxisTemporal).\n","type":"List.List Basics.Float -> VegaLite.AxisConfig"},{"name":"axcoDomainDashOffset","comment":" Default number of pixels before the first axis baseline (domain) line dash is drawn. Used by\n[coAxis](#coAxis), [coAxisLeft](#coAxisLeft), [coAxisRight](#coAxisRight), [coAxisTop](#coAxisTop),\n[coAxisBottom](#coAxisBottom), [coAxisBand](#coAxisBand), [coAxisDiscrete](#coAxisDiscrete),\n[coAxisPoint](#coAxisPoint), [coAxisQuant](#coAxisQuant) and [coAxisTemporal](#coAxisTemporal).\n","type":"Basics.Float -> VegaLite.AxisConfig"},{"name":"axcoDomainOpacity","comment":" Default axis domain opacity. Used by [coAxis](#coAxis),\n[coAxisLeft](#coAxisLeft), [coAxisRight](#coAxisRight), [coAxisTop](#coAxisTop),\n[coAxisBottom](#coAxisBottom), [coAxisBand](#coAxisBand), [coAxisDiscrete](#coAxisDiscrete),\n[coAxisPoint](#coAxisPoint), [coAxisQuant](#coAxisQuant) and [coAxisTemporal](#coAxisTemporal).\n","type":"Basics.Float -> VegaLite.AxisConfig"},{"name":"axcoDomainWidth","comment":" Default axis domain width style. Used by [coAxis](#coAxis),\n[coAxisLeft](#coAxisLeft), [coAxisRight](#coAxisRight), [coAxisTop](#coAxisTop),\n[coAxisBottom](#coAxisBottom), [coAxisBand](#coAxisBand), [coAxisDiscrete](#coAxisDiscrete),\n[coAxisPoint](#coAxisPoint), [coAxisQuant](#coAxisQuant) and [coAxisTemporal](#coAxisTemporal).\n","type":"Basics.Float -> VegaLite.AxisConfig"},{"name":"axcoGrid","comment":" Whether or not an axis grid is displayed by default. Used by [coAxis](#coAxis),\n[coAxisLeft](#coAxisLeft), [coAxisRight](#coAxisRight), [coAxisTop](#coAxisTop),\n[coAxisBottom](#coAxisBottom), [coAxisBand](#coAxisBand), [coAxisDiscrete](#coAxisDiscrete),\n[coAxisPoint](#coAxisPoint), [coAxisQuant](#coAxisQuant) and [coAxisTemporal](#coAxisTemporal).\n","type":"Basics.Bool -> VegaLite.AxisConfig"},{"name":"axcoGridCap","comment":" Default appearance of ends of grid lines. Used by [coAxis](#coAxis),\n[coAxisLeft](#coAxisLeft), [coAxisRight](#coAxisRight), [coAxisTop](#coAxisTop),\n[coAxisBottom](#coAxisBottom), [coAxisBand](#coAxisBand), [coAxisDiscrete](#coAxisDiscrete),\n[coAxisPoint](#coAxisPoint), [coAxisQuant](#coAxisQuant) and [coAxisTemporal](#coAxisTemporal).\n","type":"VegaLite.StrokeCap -> VegaLite.AxisConfig"},{"name":"axcoGridColor","comment":" Default axis grid color style. Used by [coAxis](#coAxis),\n[coAxisLeft](#coAxisLeft), [coAxisRight](#coAxisRight), [coAxisTop](#coAxisTop),\n[coAxisBottom](#coAxisBottom), [coAxisBand](#coAxisBand), [coAxisDiscrete](#coAxisDiscrete),\n[coAxisPoint](#coAxisPoint), [coAxisQuant](#coAxisQuant) and [coAxisTemporal](#coAxisTemporal).\n","type":"String.String -> VegaLite.AxisConfig"},{"name":"axcoGridDash","comment":" Default axis line dash style. Used by [coAxis](#coAxis),\n[coAxisLeft](#coAxisLeft), [coAxisRight](#coAxisRight), [coAxisTop](#coAxisTop),\n[coAxisBottom](#coAxisBottom), [coAxisBand](#coAxisBand), [coAxisDiscrete](#coAxisDiscrete),\n[coAxisPoint](#coAxisPoint), [coAxisQuant](#coAxisQuant) and [coAxisTemporal](#coAxisTemporal).\n","type":"List.List Basics.Float -> VegaLite.AxisConfig"},{"name":"axcoGridDashOffset","comment":" Default number of pixels before the first axis grid line dash is drawn. Used by [coAxis](#coAxis),\n[coAxisLeft](#coAxisLeft), [coAxisRight](#coAxisRight), [coAxisTop](#coAxisTop),\n[coAxisBottom](#coAxisBottom), [coAxisBand](#coAxisBand), [coAxisDiscrete](#coAxisDiscrete),\n[coAxisPoint](#coAxisPoint), [coAxisQuant](#coAxisQuant) and [coAxisTemporal](#coAxisTemporal).\n","type":"Basics.Float -> VegaLite.AxisConfig"},{"name":"axcoGridOpacity","comment":" Default axis grid line opacity. Used by [coAxis](#coAxis),\n[coAxisLeft](#coAxisLeft), [coAxisRight](#coAxisRight), [coAxisTop](#coAxisTop),\n[coAxisBottom](#coAxisBottom), [coAxisBand](#coAxisBand), [coAxisDiscrete](#coAxisDiscrete),\n[coAxisPoint](#coAxisPoint), [coAxisQuant](#coAxisQuant) and [coAxisTemporal](#coAxisTemporal).\n","type":"Basics.Float -> VegaLite.AxisConfig"},{"name":"axcoGridWidth","comment":" Default axis grid line width. Used by [coAxis](#coAxis),\n[coAxisLeft](#coAxisLeft), [coAxisRight](#coAxisRight), [coAxisTop](#coAxisTop),\n[coAxisBottom](#coAxisBottom), [coAxisBand](#coAxisBand), [coAxisDiscrete](#coAxisDiscrete),\n[coAxisPoint](#coAxisPoint), [coAxisQuant](#coAxisQuant) and [coAxisTemporal](#coAxisTemporal).\n","type":"Basics.Float -> VegaLite.AxisConfig"},{"name":"axcoLabelAlign","comment":" Default axis label horizontal alignment. Used by [coAxis](#coAxis),\n[coAxisLeft](#coAxisLeft), [coAxisRight](#coAxisRight), [coAxisTop](#coAxisTop),\n[coAxisBottom](#coAxisBottom), [coAxisBand](#coAxisBand), [coAxisDiscrete](#coAxisDiscrete),\n[coAxisPoint](#coAxisPoint), [coAxisQuant](#coAxisQuant) and [coAxisTemporal](#coAxisTemporal).\n","type":"VegaLite.HAlign -> VegaLite.AxisConfig"},{"name":"axcoLabelAngle","comment":" Default axis label angle (degrees from horizontal). Used by [coAxis](#coAxis),\n[coAxisLeft](#coAxisLeft), [coAxisRight](#coAxisRight), [coAxisTop](#coAxisTop),\n[coAxisBottom](#coAxisBottom), [coAxisBand](#coAxisBand), [coAxisDiscrete](#coAxisDiscrete),\n[coAxisPoint](#coAxisPoint), [coAxisQuant](#coAxisQuant) and [coAxisTemporal](#coAxisTemporal).\n","type":"Basics.Float -> VegaLite.AxisConfig"},{"name":"axcoLabelBaseline","comment":" Default axis label vertical alignment. Used by [coAxis](#coAxis),\n[coAxisLeft](#coAxisLeft), [coAxisRight](#coAxisRight), [coAxisTop](#coAxisTop),\n[coAxisBottom](#coAxisBottom), [coAxisBand](#coAxisBand), [coAxisDiscrete](#coAxisDiscrete),\n[coAxisPoint](#coAxisPoint), [coAxisQuant](#coAxisQuant) and [coAxisTemporal](#coAxisTemporal).\n","type":"VegaLite.VAlign -> VegaLite.AxisConfig"},{"name":"axcoLabelBound","comment":" Default axis label bounding when label exceeds available space. If `Nothing`,\nno check for label size is made. A number specifies the permitted overflow in pixels.\nUsed by [coAxis](#coAxis), [coAxisLeft](#coAxisLeft), [coAxisRight](#coAxisRight), [coAxisTop](#coAxisTop),\n[coAxisBottom](#coAxisBottom), [coAxisBand](#coAxisBand), [coAxisDiscrete](#coAxisDiscrete),\n[coAxisPoint](#coAxisPoint), [coAxisQuant](#coAxisQuant) and [coAxisTemporal](#coAxisTemporal).\n","type":"Maybe.Maybe Basics.Float -> VegaLite.AxisConfig"},{"name":"axcoLabelBoundExpr","comment":" Expression that evaluates to `True`, `False` or a number depending whether,\nby default, a check is to be made for an axis label size. A number specifies the\npermitted overflow in pixels. Used by [coAxis](#coAxis),\n[coAxisLeft](#coAxisLeft), [coAxisRight](#coAxisRight), [coAxisTop](#coAxisTop),\n[coAxisBottom](#coAxisBottom), [coAxisBand](#coAxisBand), [coAxisDiscrete](#coAxisDiscrete),\n[coAxisPoint](#coAxisPoint), [coAxisQuant](#coAxisQuant) and [coAxisTemporal](#coAxisTemporal).\n","type":"String.String -> VegaLite.AxisConfig"},{"name":"axcoLabelColor","comment":" Default axis label color. Used by [coAxis](#coAxis),\n[coAxisLeft](#coAxisLeft), [coAxisRight](#coAxisRight), [coAxisTop](#coAxisTop),\n[coAxisBottom](#coAxisBottom), [coAxisBand](#coAxisBand), [coAxisDiscrete](#coAxisDiscrete),\n[coAxisPoint](#coAxisPoint), [coAxisQuant](#coAxisQuant) and [coAxisTemporal](#coAxisTemporal).\n","type":"String.String -> VegaLite.AxisConfig"},{"name":"axcoLabelExpr","comment":" Default expression to generate axis labels. The parameter is a valid\n[Vega expression](https://vega.github.io/vega/docs/expressions/). Can reference\n`datum.value` and `datum.label` for access to the underlying data values and\ndefault label text respectively. Used by [coAxis](#coAxis),\n[coAxisLeft](#coAxisLeft), [coAxisRight](#coAxisRight), [coAxisTop](#coAxisTop),\n[coAxisBottom](#coAxisBottom), [coAxisBand](#coAxisBand), [coAxisDiscrete](#coAxisDiscrete),\n[coAxisPoint](#coAxisPoint), [coAxisQuant](#coAxisQuant) and [coAxisTemporal](#coAxisTemporal).\n","type":"String.String -> VegaLite.AxisConfig"},{"name":"axcoLabelFlush","comment":" Default label alignment at beginning or end of the axis. Specifies the distance\nthreshold from an end-point within which labels are flush-adjusted or if `Nothing`,\nno flush-adjustment made. Used by [coAxis](#coAxis),\n[coAxisLeft](#coAxisLeft), [coAxisRight](#coAxisRight), [coAxisTop](#coAxisTop),\n[coAxisBottom](#coAxisBottom), [coAxisBand](#coAxisBand), [coAxisDiscrete](#coAxisDiscrete),\n[coAxisPoint](#coAxisPoint), [coAxisQuant](#coAxisQuant) and [coAxisTemporal](#coAxisTemporal).\n","type":"Maybe.Maybe Basics.Float -> VegaLite.AxisConfig"},{"name":"axcoLabelFlushOffset","comment":" Default number of pixels by which to offset flush-adjusted labels. Used by [coAxis](#coAxis),\n[coAxisLeft](#coAxisLeft), [coAxisRight](#coAxisRight), [coAxisTop](#coAxisTop),\n[coAxisBottom](#coAxisBottom), [coAxisBand](#coAxisBand), [coAxisDiscrete](#coAxisDiscrete),\n[coAxisPoint](#coAxisPoint), [coAxisQuant](#coAxisQuant) and [coAxisTemporal](#coAxisTemporal).\n","type":"Basics.Float -> VegaLite.AxisConfig"},{"name":"axcoLabelFont","comment":" Default axis label font. Used by [coAxis](#coAxis),\n[coAxisLeft](#coAxisLeft), [coAxisRight](#coAxisRight), [coAxisTop](#coAxisTop),\n[coAxisBottom](#coAxisBottom), [coAxisBand](#coAxisBand), [coAxisDiscrete](#coAxisDiscrete),\n[coAxisPoint](#coAxisPoint), [coAxisQuant](#coAxisQuant) and [coAxisTemporal](#coAxisTemporal).\n","type":"String.String -> VegaLite.AxisConfig"},{"name":"axcoLabelFontSize","comment":" Default axis label font size. Used by [coAxis](#coAxis),\n[coAxisLeft](#coAxisLeft), [coAxisRight](#coAxisRight), [coAxisTop](#coAxisTop),\n[coAxisBottom](#coAxisBottom), [coAxisBand](#coAxisBand), [coAxisDiscrete](#coAxisDiscrete),\n[coAxisPoint](#coAxisPoint), [coAxisQuant](#coAxisQuant) and [coAxisTemporal](#coAxisTemporal).\n","type":"Basics.Float -> VegaLite.AxisConfig"},{"name":"axcoLabelFontStyle","comment":" Default axis label font style (e.g. \"italic\"). Used by [coAxis](#coAxis),\n[coAxisLeft](#coAxisLeft), [coAxisRight](#coAxisRight), [coAxisTop](#coAxisTop),\n[coAxisBottom](#coAxisBottom), [coAxisBand](#coAxisBand), [coAxisDiscrete](#coAxisDiscrete),\n[coAxisPoint](#coAxisPoint), [coAxisQuant](#coAxisQuant) and [coAxisTemporal](#coAxisTemporal).\n","type":"String.String -> VegaLite.AxisConfig"},{"name":"axcoLabelFontWeight","comment":" Default axis label font weight. Used by [coAxis](#coAxis),\n[coAxisLeft](#coAxisLeft), [coAxisRight](#coAxisRight), [coAxisTop](#coAxisTop),\n[coAxisBottom](#coAxisBottom), [coAxisBand](#coAxisBand), [coAxisDiscrete](#coAxisDiscrete),\n[coAxisPoint](#coAxisPoint), [coAxisQuant](#coAxisQuant) and [coAxisTemporal](#coAxisTemporal).\n","type":"VegaLite.FontWeight -> VegaLite.AxisConfig"},{"name":"axcoLabelLimit","comment":" Default axis label limit (how much a label can extend beyond the\nleft/bottom or right/top of the axis line). Used by [coAxis](#coAxis),\n[coAxisLeft](#coAxisLeft), [coAxisRight](#coAxisRight), [coAxisTop](#coAxisTop),\n[coAxisBottom](#coAxisBottom), [coAxisBand](#coAxisBand), [coAxisDiscrete](#coAxisDiscrete),\n[coAxisPoint](#coAxisPoint), [coAxisQuant](#coAxisQuant) and [coAxisTemporal](#coAxisTemporal).\n","type":"Basics.Float -> VegaLite.AxisConfig"},{"name":"axcoLabelLineHeight","comment":" Default axis label line height (useful for multi-line labels). Used by [coAxis](#coAxis),\n[coAxisLeft](#coAxisLeft), [coAxisRight](#coAxisRight), [coAxisTop](#coAxisTop),\n[coAxisBottom](#coAxisBottom), [coAxisBand](#coAxisBand), [coAxisDiscrete](#coAxisDiscrete),\n[coAxisPoint](#coAxisPoint), [coAxisQuant](#coAxisQuant) and [coAxisTemporal](#coAxisTemporal).\n","type":"Basics.Float -> VegaLite.AxisConfig"},{"name":"axcoLabelOffset","comment":" Default axis offset in pixels of an axis's labels relative to its ticks. Used by [coAxis](#coAxis),\n[coAxisLeft](#coAxisLeft), [coAxisRight](#coAxisRight), [coAxisTop](#coAxisTop),\n[coAxisBottom](#coAxisBottom), [coAxisBand](#coAxisBand), [coAxisDiscrete](#coAxisDiscrete),\n[coAxisPoint](#coAxisPoint), [coAxisQuant](#coAxisQuant) and [coAxisTemporal](#coAxisTemporal).\n","type":"Basics.Float -> VegaLite.AxisConfig"},{"name":"axcoLabelOpacity","comment":" Default axis label opacity. Used by [coAxis](#coAxis),\n[coAxisLeft](#coAxisLeft), [coAxisRight](#coAxisRight), [coAxisTop](#coAxisTop),\n[coAxisBottom](#coAxisBottom), [coAxisBand](#coAxisBand), [coAxisDiscrete](#coAxisDiscrete),\n[coAxisPoint](#coAxisPoint), [coAxisQuant](#coAxisQuant) and [coAxisTemporal](#coAxisTemporal).\n","type":"Basics.Float -> VegaLite.AxisConfig"},{"name":"axcoLabelOverlap","comment":" Default axis label overlap strategy for cases where labels cannot\nfit within the allotted space. Used by [coAxis](#coAxis),\n[coAxisLeft](#coAxisLeft), [coAxisRight](#coAxisRight), [coAxisTop](#coAxisTop),\n[coAxisBottom](#coAxisBottom), [coAxisBand](#coAxisBand), [coAxisDiscrete](#coAxisDiscrete),\n[coAxisPoint](#coAxisPoint), [coAxisQuant](#coAxisQuant) and [coAxisTemporal](#coAxisTemporal).\n","type":"VegaLite.OverlapStrategy -> VegaLite.AxisConfig"},{"name":"axcoLabelPadding","comment":" Default axis label padding (space between labels in pixels). Used by [coAxis](#coAxis),\n[coAxisLeft](#coAxisLeft), [coAxisRight](#coAxisRight), [coAxisTop](#coAxisTop),\n[coAxisBottom](#coAxisBottom), [coAxisBand](#coAxisBand), [coAxisDiscrete](#coAxisDiscrete),\n[coAxisPoint](#coAxisPoint), [coAxisQuant](#coAxisQuant) and [coAxisTemporal](#coAxisTemporal).\n","type":"Basics.Float -> VegaLite.AxisConfig"},{"name":"axcoLabelSeparation","comment":" Default axis label separation (minimum spacing between axis labels). Used by [coAxis](#coAxis),\n[coAxisLeft](#coAxisLeft), [coAxisRight](#coAxisRight), [coAxisTop](#coAxisTop),\n[coAxisBottom](#coAxisBottom), [coAxisBand](#coAxisBand), [coAxisDiscrete](#coAxisDiscrete),\n[coAxisPoint](#coAxisPoint), [coAxisQuant](#coAxisQuant) and [coAxisTemporal](#coAxisTemporal).\n","type":"Basics.Float -> VegaLite.AxisConfig"},{"name":"axcoLabels","comment":" Whether or not an axis has labels by default. Used by [coAxis](#coAxis),\n[coAxisLeft](#coAxisLeft), [coAxisRight](#coAxisRight), [coAxisTop](#coAxisTop),\n[coAxisBottom](#coAxisBottom), [coAxisBand](#coAxisBand), [coAxisDiscrete](#coAxisDiscrete),\n[coAxisPoint](#coAxisPoint), [coAxisQuant](#coAxisQuant) and [coAxisTemporal](#coAxisTemporal).\n","type":"Basics.Bool -> VegaLite.AxisConfig"},{"name":"axcoMaxExtent","comment":" Default maximum extent style. Used by [coAxis](#coAxis),\n[coAxisLeft](#coAxisLeft), [coAxisRight](#coAxisRight), [coAxisTop](#coAxisTop),\n[coAxisBottom](#coAxisBottom), [coAxisBand](#coAxisBand), [coAxisDiscrete](#coAxisDiscrete),\n[coAxisPoint](#coAxisPoint), [coAxisQuant](#coAxisQuant) and [coAxisTemporal](#coAxisTemporal).\n","type":"Basics.Float -> VegaLite.AxisConfig"},{"name":"axcoMinExtent","comment":" Default minimum extent style. Used by [coAxis](#coAxis),\n[coAxisLeft](#coAxisLeft), [coAxisRight](#coAxisRight), [coAxisTop](#coAxisTop),\n[coAxisBottom](#coAxisBottom), [coAxisBand](#coAxisBand), [coAxisDiscrete](#coAxisDiscrete),\n[coAxisPoint](#coAxisPoint), [coAxisQuant](#coAxisQuant) and [coAxisTemporal](#coAxisTemporal).\n","type":"Basics.Float -> VegaLite.AxisConfig"},{"name":"axcoNumExpr","comment":" Provide an [expression](https://vega.github.io/vega/docs/expressions/) to an\naxis property configuration function requiring a numeric value. Used by [coAxis](#coAxis),\n[coAxisLeft](#coAxisLeft), [coAxisRight](#coAxisRight), [coAxisTop](#coAxisTop),\n[coAxisBottom](#coAxisBottom), [coAxisBand](#coAxisBand), [coAxisDiscrete](#coAxisDiscrete),\n[coAxisPoint](#coAxisPoint), [coAxisQuant](#coAxisQuant) and [coAxisTemporal](#coAxisTemporal).\n","type":"String.String -> (number -> VegaLite.AxisConfig) -> VegaLite.AxisConfig"},{"name":"axcoNumsExpr","comment":" Provide an [expression](https://vega.github.io/vega/docs/expressions/) to\nan axis configuration function requiring a list of numbers (for dash styles). Used by [coAxis](#coAxis),\n[coAxisLeft](#coAxisLeft), [coAxisRight](#coAxisRight), [coAxisTop](#coAxisTop),\n[coAxisBottom](#coAxisBottom), [coAxisBand](#coAxisBand), [coAxisDiscrete](#coAxisDiscrete),\n[coAxisPoint](#coAxisPoint), [coAxisQuant](#coAxisQuant) and [coAxisTemporal](#coAxisTemporal).\n","type":"String.String -> (List.List number -> VegaLite.AxisConfig) -> VegaLite.AxisConfig"},{"name":"axcoOffset","comment":" Default offset between the axis and the edge of the enclosing group or data\nrectangle. Used by [coAxis](#coAxis),\n[coAxisLeft](#coAxisLeft), [coAxisRight](#coAxisRight), [coAxisTop](#coAxisTop),\n[coAxisBottom](#coAxisBottom), [coAxisBand](#coAxisBand), [coAxisDiscrete](#coAxisDiscrete),\n[coAxisPoint](#coAxisPoint), [coAxisQuant](#coAxisQuant) and [coAxisTemporal](#coAxisTemporal).\n","type":"Basics.Float -> VegaLite.AxisConfig"},{"name":"axcoStrExpr","comment":" Provide an [expression](https://vega.github.io/vega/docs/expressions/) to\nan axis configuration function requiring a string value. This can be used to provide an\ninteractive parameterisation of an axis configuration property when an expression is\nbound to an input element. Used by [coAxis](#coAxis),\n[coAxisLeft](#coAxisLeft), [coAxisRight](#coAxisRight), [coAxisTop](#coAxisTop),\n[coAxisBottom](#coAxisBottom), [coAxisBand](#coAxisBand), [coAxisDiscrete](#coAxisDiscrete),\n[coAxisPoint](#coAxisPoint), [coAxisQuant](#coAxisQuant) and [coAxisTemporal](#coAxisTemporal).\n","type":"String.String -> (String.String -> VegaLite.AxisConfig) -> VegaLite.AxisConfig"},{"name":"axcoStyle","comment":" A list of named styles to apply as defaults to axes. Used by [coAxis](#coAxis),\n[coAxisLeft](#coAxisLeft), [coAxisRight](#coAxisRight), [coAxisTop](#coAxisTop),\n[coAxisBottom](#coAxisBottom), [coAxisBand](#coAxisBand), [coAxisDiscrete](#coAxisDiscrete),\n[coAxisPoint](#coAxisPoint), [coAxisQuant](#coAxisQuant) and [coAxisTemporal](#coAxisTemporal).\n","type":"List.List String.String -> VegaLite.AxisConfig"},{"name":"axcoTickBand","comment":" Default alignment of grid lines and ticks in band scales. Used by [coAxis](#coAxis),\n[coAxisLeft](#coAxisLeft), [coAxisRight](#coAxisRight), [coAxisTop](#coAxisTop),\n[coAxisBottom](#coAxisBottom), [coAxisBand](#coAxisBand), [coAxisDiscrete](#coAxisDiscrete),\n[coAxisPoint](#coAxisPoint), [coAxisQuant](#coAxisQuant) and [coAxisTemporal](#coAxisTemporal).\n","type":"VegaLite.TickBand -> VegaLite.AxisConfig"},{"name":"axcoTickCap","comment":" Default axis tick end cap style. Used by [coAxis](#coAxis),\n[coAxisLeft](#coAxisLeft), [coAxisRight](#coAxisRight), [coAxisTop](#coAxisTop),\n[coAxisBottom](#coAxisBottom), [coAxisBand](#coAxisBand), [coAxisDiscrete](#coAxisDiscrete),\n[coAxisPoint](#coAxisPoint), [coAxisQuant](#coAxisQuant) and [coAxisTemporal](#coAxisTemporal).\n","type":"VegaLite.StrokeCap -> VegaLite.AxisConfig"},{"name":"axcoTickColor","comment":" Default axis tick mark color. Used by [coAxis](#coAxis),\n[coAxisLeft](#coAxisLeft), [coAxisRight](#coAxisRight), [coAxisTop](#coAxisTop),\n[coAxisBottom](#coAxisBottom), [coAxisBand](#coAxisBand), [coAxisDiscrete](#coAxisDiscrete),\n[coAxisPoint](#coAxisPoint), [coAxisQuant](#coAxisQuant) and [coAxisTemporal](#coAxisTemporal).\n","type":"String.String -> VegaLite.AxisConfig"},{"name":"axcoTickCount","comment":" Default number of, or interval between, axis ticks. The resulting number of\nticks may be different so that values are “nice” (multiples of 2, 5, 10). Used by [coAxis](#coAxis),\n[coAxisLeft](#coAxisLeft), [coAxisRight](#coAxisRight), [coAxisTop](#coAxisTop),\n[coAxisBottom](#coAxisBottom), [coAxisBand](#coAxisBand), [coAxisDiscrete](#coAxisDiscrete),\n[coAxisPoint](#coAxisPoint), [coAxisQuant](#coAxisQuant) and [coAxisTemporal](#coAxisTemporal).\n","type":"VegaLite.ScaleNice -> VegaLite.AxisConfig"},{"name":"axcoTickDash","comment":" Default axis tick dash style. The parameter is a list of alternating 'on' and\n'off' lengths in pixels representing the dashed line. Used by [coAxis](#coAxis),\n[coAxisLeft](#coAxisLeft), [coAxisRight](#coAxisRight), [coAxisTop](#coAxisTop),\n[coAxisBottom](#coAxisBottom), [coAxisBand](#coAxisBand), [coAxisDiscrete](#coAxisDiscrete),\n[coAxisPoint](#coAxisPoint), [coAxisQuant](#coAxisQuant) and [coAxisTemporal](#coAxisTemporal).\n","type":"List.List Basics.Float -> VegaLite.AxisConfig"},{"name":"axcoTickDashOffset","comment":" Default number of pixels before the first axis tick dash is drawn. Used by [coAxis](#coAxis),\n[coAxisLeft](#coAxisLeft), [coAxisRight](#coAxisRight), [coAxisTop](#coAxisTop),\n[coAxisBottom](#coAxisBottom), [coAxisBand](#coAxisBand), [coAxisDiscrete](#coAxisDiscrete),\n[coAxisPoint](#coAxisPoint), [coAxisQuant](#coAxisQuant) and [coAxisTemporal](#coAxisTemporal).\n","type":"Basics.Float -> VegaLite.AxisConfig"},{"name":"axcoTickExtra","comment":" Whether or not by default an extra axis tick should be added for the initial\nposition of axes. Used by [coAxis](#coAxis),\n[coAxisLeft](#coAxisLeft), [coAxisRight](#coAxisRight), [coAxisTop](#coAxisTop),\n[coAxisBottom](#coAxisBottom), [coAxisBand](#coAxisBand), [coAxisDiscrete](#coAxisDiscrete),\n[coAxisPoint](#coAxisPoint), [coAxisQuant](#coAxisQuant) and [coAxisTemporal](#coAxisTemporal).\n","type":"Basics.Bool -> VegaLite.AxisConfig"},{"name":"axcoTickMinStep","comment":" The minimum desired step between axis ticks, in terms of scale domain values.\nFor example, a value of `1` indicates that ticks should not be less than 1 unit\napart. If specified, the tick count value will be adjusted, if necessary, to\nenforce the minimum step value. Used by [coAxis](#coAxis),\n[coAxisLeft](#coAxisLeft), [coAxisRight](#coAxisRight), [coAxisTop](#coAxisTop),\n[coAxisBottom](#coAxisBottom), [coAxisBand](#coAxisBand), [coAxisDiscrete](#coAxisDiscrete),\n[coAxisPoint](#coAxisPoint), [coAxisQuant](#coAxisQuant) and [coAxisTemporal](#coAxisTemporal).\n","type":"Basics.Float -> VegaLite.AxisConfig"},{"name":"axcoTickOffset","comment":" Default offset in pixels of axis ticks, labels and gridlines. Used by [coAxis](#coAxis),\n[coAxisLeft](#coAxisLeft), [coAxisRight](#coAxisRight), [coAxisTop](#coAxisTop),\n[coAxisBottom](#coAxisBottom), [coAxisBand](#coAxisBand), [coAxisDiscrete](#coAxisDiscrete),\n[coAxisPoint](#coAxisPoint), [coAxisQuant](#coAxisQuant) and [coAxisTemporal](#coAxisTemporal).\n","type":"Basics.Float -> VegaLite.AxisConfig"},{"name":"axcoTickOpacity","comment":" Default opacity of axis ticks. Used by [coAxis](#coAxis),\n[coAxisLeft](#coAxisLeft), [coAxisRight](#coAxisRight), [coAxisTop](#coAxisTop),\n[coAxisBottom](#coAxisBottom), [coAxisBand](#coAxisBand), [coAxisDiscrete](#coAxisDiscrete),\n[coAxisPoint](#coAxisPoint), [coAxisQuant](#coAxisQuant) and [coAxisTemporal](#coAxisTemporal).\n","type":"Basics.Float -> VegaLite.AxisConfig"},{"name":"axcoTickRound","comment":" Whether or not axis tick labels use rounded values by default. Used by [coAxis](#coAxis),\n[coAxisLeft](#coAxisLeft), [coAxisRight](#coAxisRight), [coAxisTop](#coAxisTop),\n[coAxisBottom](#coAxisBottom), [coAxisBand](#coAxisBand), [coAxisDiscrete](#coAxisDiscrete),\n[coAxisPoint](#coAxisPoint), [coAxisQuant](#coAxisQuant) and [coAxisTemporal](#coAxisTemporal).\n","type":"Basics.Bool -> VegaLite.AxisConfig"},{"name":"axcoTickSize","comment":" Default axis tick mark size. Used by [coAxis](#coAxis),\n[coAxisLeft](#coAxisLeft), [coAxisRight](#coAxisRight), [coAxisTop](#coAxisTop),\n[coAxisBottom](#coAxisBottom), [coAxisBand](#coAxisBand), [coAxisDiscrete](#coAxisDiscrete),\n[coAxisPoint](#coAxisPoint), [coAxisQuant](#coAxisQuant) and [coAxisTemporal](#coAxisTemporal).\n","type":"Basics.Float -> VegaLite.AxisConfig"},{"name":"axcoTickWidth","comment":" Default axis tick mark width. Used by [coAxis](#coAxis),\n[coAxisLeft](#coAxisLeft), [coAxisRight](#coAxisRight), [coAxisTop](#coAxisTop),\n[coAxisBottom](#coAxisBottom), [coAxisBand](#coAxisBand), [coAxisDiscrete](#coAxisDiscrete),\n[coAxisPoint](#coAxisPoint), [coAxisQuant](#coAxisQuant) and [coAxisTemporal](#coAxisTemporal).\n","type":"Basics.Float -> VegaLite.AxisConfig"},{"name":"axcoTicks","comment":" Whether or not an axis should show ticks by default. Used by [coAxis](#coAxis),\n[coAxisLeft](#coAxisLeft), [coAxisRight](#coAxisRight), [coAxisTop](#coAxisTop),\n[coAxisBottom](#coAxisBottom), [coAxisBand](#coAxisBand), [coAxisDiscrete](#coAxisDiscrete),\n[coAxisPoint](#coAxisPoint), [coAxisQuant](#coAxisQuant) and [coAxisTemporal](#coAxisTemporal).\n","type":"Basics.Bool -> VegaLite.AxisConfig"},{"name":"axcoTitleAlign","comment":" Default axis tick label horizontal alignment. Used by [coAxis](#coAxis),\n[coAxisLeft](#coAxisLeft), [coAxisRight](#coAxisRight), [coAxisTop](#coAxisTop),\n[coAxisBottom](#coAxisBottom), [coAxisBand](#coAxisBand), [coAxisDiscrete](#coAxisDiscrete),\n[coAxisPoint](#coAxisPoint), [coAxisQuant](#coAxisQuant) and [coAxisTemporal](#coAxisTemporal).\n","type":"VegaLite.HAlign -> VegaLite.AxisConfig"},{"name":"axcoTitleAnchor","comment":" Default anchor position of axis titles. Used by [coAxis](#coAxis),\n[coAxisLeft](#coAxisLeft), [coAxisRight](#coAxisRight), [coAxisTop](#coAxisTop),\n[coAxisBottom](#coAxisBottom), [coAxisBand](#coAxisBand), [coAxisDiscrete](#coAxisDiscrete),\n[coAxisPoint](#coAxisPoint), [coAxisQuant](#coAxisQuant) and [coAxisTemporal](#coAxisTemporal).\n","type":"VegaLite.Anchor -> VegaLite.AxisConfig"},{"name":"axcoTitleAngle","comment":" Default axis title angle (degrees from horizontal). Used by [coAxis](#coAxis),\n[coAxisLeft](#coAxisLeft), [coAxisRight](#coAxisRight), [coAxisTop](#coAxisTop),\n[coAxisBottom](#coAxisBottom), [coAxisBand](#coAxisBand), [coAxisDiscrete](#coAxisDiscrete),\n[coAxisPoint](#coAxisPoint), [coAxisQuant](#coAxisQuant) and [coAxisTemporal](#coAxisTemporal).\n","type":"Basics.Float -> VegaLite.AxisConfig"},{"name":"axcoTitleBaseline","comment":" Default axis title vertical alignment. Used by [coAxis](#coAxis),\n[coAxisLeft](#coAxisLeft), [coAxisRight](#coAxisRight), [coAxisTop](#coAxisTop),\n[coAxisBottom](#coAxisBottom), [coAxisBand](#coAxisBand), [coAxisDiscrete](#coAxisDiscrete),\n[coAxisPoint](#coAxisPoint), [coAxisQuant](#coAxisQuant) and [coAxisTemporal](#coAxisTemporal).\n","type":"VegaLite.VAlign -> VegaLite.AxisConfig"},{"name":"axcoTitleColor","comment":" Default axis title color. Used by [coAxis](#coAxis),\n[coAxisLeft](#coAxisLeft), [coAxisRight](#coAxisRight), [coAxisTop](#coAxisTop),\n[coAxisBottom](#coAxisBottom), [coAxisBand](#coAxisBand), [coAxisDiscrete](#coAxisDiscrete),\n[coAxisPoint](#coAxisPoint), [coAxisQuant](#coAxisQuant) and [coAxisTemporal](#coAxisTemporal).\n","type":"String.String -> VegaLite.AxisConfig"},{"name":"axcoTitleFont","comment":" Default axis title font. Used by [coAxis](#coAxis),\n[coAxisLeft](#coAxisLeft), [coAxisRight](#coAxisRight), [coAxisTop](#coAxisTop),\n[coAxisBottom](#coAxisBottom), [coAxisBand](#coAxisBand), [coAxisDiscrete](#coAxisDiscrete),\n[coAxisPoint](#coAxisPoint), [coAxisQuant](#coAxisQuant) and [coAxisTemporal](#coAxisTemporal).\n","type":"String.String -> VegaLite.AxisConfig"},{"name":"axcoTitleFontSize","comment":" Default axis title font size. Used by [coAxis](#coAxis),\n[coAxisLeft](#coAxisLeft), [coAxisRight](#coAxisRight), [coAxisTop](#coAxisTop),\n[coAxisBottom](#coAxisBottom), [coAxisBand](#coAxisBand), [coAxisDiscrete](#coAxisDiscrete),\n[coAxisPoint](#coAxisPoint), [coAxisQuant](#coAxisQuant) and [coAxisTemporal](#coAxisTemporal).\n","type":"Basics.Float -> VegaLite.AxisConfig"},{"name":"axcoTitleFontStyle","comment":" Default axis title font style (e.g. \"italic\"). Used by [coAxis](#coAxis),\n[coAxisLeft](#coAxisLeft), [coAxisRight](#coAxisRight), [coAxisTop](#coAxisTop),\n[coAxisBottom](#coAxisBottom), [coAxisBand](#coAxisBand), [coAxisDiscrete](#coAxisDiscrete),\n[coAxisPoint](#coAxisPoint), [coAxisQuant](#coAxisQuant) and [coAxisTemporal](#coAxisTemporal).\n","type":"String.String -> VegaLite.AxisConfig"},{"name":"axcoTitleFontWeight","comment":" Default axis title font weight. Used by [coAxis](#coAxis),\n[coAxisLeft](#coAxisLeft), [coAxisRight](#coAxisRight), [coAxisTop](#coAxisTop),\n[coAxisBottom](#coAxisBottom), [coAxisBand](#coAxisBand), [coAxisDiscrete](#coAxisDiscrete),\n[coAxisPoint](#coAxisPoint), [coAxisQuant](#coAxisQuant) and [coAxisTemporal](#coAxisTemporal).\n","type":"VegaLite.FontWeight -> VegaLite.AxisConfig"},{"name":"axcoTitleLimit","comment":" Default axis title maximum size. Used by [coAxis](#coAxis),\n[coAxisLeft](#coAxisLeft), [coAxisRight](#coAxisRight), [coAxisTop](#coAxisTop),\n[coAxisBottom](#coAxisBottom), [coAxisBand](#coAxisBand), [coAxisDiscrete](#coAxisDiscrete),\n[coAxisPoint](#coAxisPoint), [coAxisQuant](#coAxisQuant) and [coAxisTemporal](#coAxisTemporal).\n","type":"Basics.Float -> VegaLite.AxisConfig"},{"name":"axcoTitleLineHeight","comment":" Default line height for multi-line axis titles. Used by [coAxis](#coAxis),\n[coAxisLeft](#coAxisLeft), [coAxisRight](#coAxisRight), [coAxisTop](#coAxisTop),\n[coAxisBottom](#coAxisBottom), [coAxisBand](#coAxisBand), [coAxisDiscrete](#coAxisDiscrete),\n[coAxisPoint](#coAxisPoint), [coAxisQuant](#coAxisQuant) and [coAxisTemporal](#coAxisTemporal).\n","type":"Basics.Float -> VegaLite.AxisConfig"},{"name":"axcoTitleOpacity","comment":" Default opacity of axis titles. Used by [coAxis](#coAxis),\n[coAxisLeft](#coAxisLeft), [coAxisRight](#coAxisRight), [coAxisTop](#coAxisTop),\n[coAxisBottom](#coAxisBottom), [coAxisBand](#coAxisBand), [coAxisDiscrete](#coAxisDiscrete),\n[coAxisPoint](#coAxisPoint), [coAxisQuant](#coAxisQuant) and [coAxisTemporal](#coAxisTemporal).\n","type":"Basics.Float -> VegaLite.AxisConfig"},{"name":"axcoTitlePadding","comment":" Default axis title padding between axis line and text. Used by [coAxis](#coAxis),\n[coAxisLeft](#coAxisLeft), [coAxisRight](#coAxisRight), [coAxisTop](#coAxisTop),\n[coAxisBottom](#coAxisBottom), [coAxisBand](#coAxisBand), [coAxisDiscrete](#coAxisDiscrete),\n[coAxisPoint](#coAxisPoint), [coAxisQuant](#coAxisQuant) and [coAxisTemporal](#coAxisTemporal).\n","type":"Basics.Float -> VegaLite.AxisConfig"},{"name":"axcoTitleX","comment":" Default axis x-position relative to the axis group. Used by [coAxis](#coAxis),\n[coAxisLeft](#coAxisLeft), [coAxisRight](#coAxisRight), [coAxisTop](#coAxisTop),\n[coAxisBottom](#coAxisBottom), [coAxisBand](#coAxisBand), [coAxisDiscrete](#coAxisDiscrete),\n[coAxisPoint](#coAxisPoint), [coAxisQuant](#coAxisQuant) and [coAxisTemporal](#coAxisTemporal).\n","type":"Basics.Float -> VegaLite.AxisConfig"},{"name":"axcoTitleY","comment":" Default axis y-position relative to the axis group. Used by [coAxis](#coAxis),\n[coAxisLeft](#coAxisLeft), [coAxisRight](#coAxisRight), [coAxisTop](#coAxisTop),\n[coAxisBottom](#coAxisBottom), [coAxisBand](#coAxisBand), [coAxisDiscrete](#coAxisDiscrete),\n[coAxisPoint](#coAxisPoint), [coAxisQuant](#coAxisQuant) and [coAxisTemporal](#coAxisTemporal).\n","type":"Basics.Float -> VegaLite.AxisConfig"},{"name":"axcoTranslate","comment":" Default coordinate space translation offset for axis layout. Used by [coAxis](#coAxis),\n[coAxisLeft](#coAxisLeft), [coAxisRight](#coAxisRight), [coAxisTop](#coAxisTop),\n[coAxisBottom](#coAxisBottom), [coAxisBand](#coAxisBand), [coAxisDiscrete](#coAxisDiscrete),\n[coAxisPoint](#coAxisPoint), [coAxisQuant](#coAxisQuant) and [coAxisTemporal](#coAxisTemporal).\n","type":"Basics.Float -> VegaLite.AxisConfig"},{"name":"azimuthalEqualArea","comment":" An azimuthal equal area map projection. Used by [prType](#prType).\n","type":"VegaLite.Projection"},{"name":"azimuthalEquidistant","comment":" An azimuthal equidistant map projection. Used by [prType](#prType).\n","type":"VegaLite.Projection"},{"name":"bParam","comment":" Treat a parameter as a boolean expression that may be composed to form more\ncomplex boolean expressions. Can be used when composing selections from multiple\nparameters. Used by [prTest](#prTest), [fiCompose](#fiCompose),\n[axDataCondition](#axDataCondition), [and](#and), [or](#or) and [not](#not).\nFor example, if we have two interval selection parameters `alex` and\n`morgan` we can conditionally colour if both selections intersect.\n\n    color\n        [ mCondition (prTest (and (bParam \"alex\") (bParam \"morgan\")))\n            [ mStr \"red\" ]\n            [ mStr \"gray\" ]\n        ]\n\n","type":"String.String -> VegaLite.BooleanOp"},{"name":"background","comment":" Background color of the entire visualization. For view compositions, single\nviews or layers can have their own background styles in addition to this global\nbackground color. Should be specified with a CSS string such as `#ffe` or\n`rgb(200,20,150)`. If not specified the background will be white.\n","type":"String.String -> ( VegaLite.VLProperty, VegaLite.Spec )"},{"name":"backgroundExpr","comment":" Expression that evaluates to a colour used for the visualization background.\nUseful when the colour is to be determined at runtime though an interaction element\nsuch as [ipColor](#ipColor).\n","type":"String.String -> ( VegaLite.VLProperty, VegaLite.Spec )"},{"name":"bar","comment":" [Bar mark](https://vega.github.io/vega-lite/docs/bar.html) for histograms,\nbar charts etc.\n","type":"List.List VegaLite.MarkProperty -> ( VegaLite.VLProperty, VegaLite.Spec )"},{"name":"biAnchor","comment":" Value in the binned domain at which to anchor the binning. Boundaries are\npossibly shifted to ensure they align with the anchor value. Used by [pBin](#pBin),\n[mBin](#mBin), [tBin](#tBin), [hBin](#hBin), [oBin](#oBin), [dBin](#dBin) and [fBin](#fBin).\n","type":"Basics.Float -> VegaLite.BinProperty"},{"name":"biBase","comment":" Number base to use for automatic bin determination (default is base 10). Used by [pBin](#pBin),\n[mBin](#mBin), [tBin](#tBin), [hBin](#hBin), [oBin](#oBin), [dBin](#dBin) and [fBin](#fBin).\n","type":"Basics.Float -> VegaLite.BinProperty"},{"name":"biDivide","comment":" Scale factors indicating allowable subdivisions for binning. The default value\nis [5, 2], which indicates that for base 10 numbers (the default base), binning\nwill consider dividing bin sizes by 5 and/or 2. Used by [pBin](#pBin), [mBin](#mBin),\n[tBin](#tBin), [hBin](#hBin), [oBin](#oBin), [dBin](#dBin) and [fBin](#fBin).\n","type":"List.List Basics.Float -> VegaLite.BinProperty"},{"name":"biExtent","comment":" Desired extent of bin values when binning a collection of values.\nThe first and second parameters indicate the minimum and maximum extent.\nTo base a binning extent on an interactive selection, use\n[biSelectionExtent](#biSelectionExtent) instead. Used by [pBin](#pBin),\n[mBin](#mBin), [tBin](#tBin), [hBin](#hBin), [oBin](#oBin), [dBin](#dBin) and [fBin](#fBin).\n","type":"Basics.Float -> Basics.Float -> VegaLite.BinProperty"},{"name":"biMaxBins","comment":" Maximum number of bins when binning a collection of values. Used by [pBin](#pBin),\n[mBin](#mBin), [tBin](#tBin), [hBin](#hBin), [oBin](#oBin), [dBin](#dBin) and [fBin](#fBin).\n","type":"Basics.Int -> VegaLite.BinProperty"},{"name":"biMinStep","comment":" Step size between bins when binning a collection of values. Used by [pBin](#pBin),\n[mBin](#mBin), [tBin](#tBin), [hBin](#hBin), [oBin](#oBin), [dBin](#dBin) and [fBin](#fBin).\n","type":"Basics.Float -> VegaLite.BinProperty"},{"name":"biNice","comment":" Whether or not binning boundaries use human-friendly values such as multiples\nof ten. Used by [pBin](#pBin), [mBin](#mBin), [tBin](#tBin), [hBin](#hBin),\n[oBin](#oBin), [dBin](#dBin) and [fBin](#fBin).\n","type":"Basics.Bool -> VegaLite.BinProperty"},{"name":"biSelectionExtent","comment":" Set the desired range of bin values based on an interactive selection. The\nparameter should be the name of an interval selection parameter that defines the\nextent. Used by [pBin](#pBin), [mBin](#mBin), [tBin](#tBin), [hBin](#hBin),\n[oBin](#oBin), [dBin](#dBin) and [fBin](#fBin).\n\n    ps =\n        params\n            << param \"brush\" [ paSelect seInterval [ seEncodings [ chX ] ] ]\n\n    enc =\n        encoding\n            << position X\n                [ pName \"temperature\"\n                , pBin [ biSelectionExtent \"brush\" ]\n                ]\n\n","type":"String.String -> VegaLite.BinProperty"},{"name":"biStep","comment":" Step size between bins when binning a collection of values. Used by [pBin](#pBin),\n[mBin](#mBin), [tBin](#tBin), [hBin](#hBin), [oBin](#oBin), [dBin](#dBin) and [fBin](#fBin).\n","type":"Basics.Float -> VegaLite.BinProperty"},{"name":"biSteps","comment":" Allowable step sizes between bins when binning a collection of values. Used by [pBin](#pBin),\n[mBin](#mBin), [tBin](#tBin), [hBin](#hBin), [oBin](#oBin), [dBin](#dBin) and [fBin](#fBin).\n","type":"List.List Basics.Float -> VegaLite.BinProperty"},{"name":"binAs","comment":" Binning transformation that may be referenced in other transformations or\nencodings. The first parameter is a list of customisation options ([biBase](#biBase),\n[biDivide](#biDivide) etc.) or an empty list to use the default binning. The second\nis the field to bin and the third the name to give the output binned data. Usually,\ndirect binning within an encoding is preferred over this form of bin transformation.\n\n    trans =\n        transform\n            << binAs [ biMaxBins 3 ] \"IMDB_Rating\" \"ratingGroup\"\n\nThe name given to store the binned values (third parameter) will reference the start\nof each bin value. To extract the end of each bin, use the same name but with `_end`\nappended.\n\n","type":"List.List VegaLite.BinProperty -> String.String -> String.String -> List.List VegaLite.LabelledSpec -> List.List VegaLite.LabelledSpec"},{"name":"bmColor","comment":" Color blend mode to be applied when drawing over some background.\n","type":"VegaLite.BlendMode"},{"name":"bmColorBurn","comment":" Color burn blend mode to be applied when drawing over some background.\n","type":"VegaLite.BlendMode"},{"name":"bmColorDodge","comment":" Color dodge blend mode to be applied when drawing over some background.\n","type":"VegaLite.BlendMode"},{"name":"bmDarken","comment":" Darken blend mode to be applied when drawing over some background.\n","type":"VegaLite.BlendMode"},{"name":"bmDifference","comment":" Difference blend mode to be applied when drawing over some background.\nUsed by [maBlend](#maBlend).\n","type":"VegaLite.BlendMode"},{"name":"bmExclusion","comment":" Exclusion blend mode to be applied when drawing over some background.\nUsed by [maBlend](#maBlend).\n","type":"VegaLite.BlendMode"},{"name":"bmExpr","comment":" Expression that evaluates to some blend mode such as \"darken\", \"hue\" or\n\"luminosity\". Used by [maBlend](#maBlend).\n","type":"String.String -> VegaLite.BlendMode"},{"name":"bmHardLight","comment":" Hard light blend mode to be applied when drawing over some background.\nUsed by [maBlend](#maBlend).\n","type":"VegaLite.BlendMode"},{"name":"bmHue","comment":" Hue blend mode to be applied when drawing over some background.\nUsed by [maBlend](#maBlend).\n","type":"VegaLite.BlendMode"},{"name":"bmLighten","comment":" Lighten blend mode to be applied when drawing over some background.\nUsed by [maBlend](#maBlend).\n","type":"VegaLite.BlendMode"},{"name":"bmLuminosity","comment":" Luminosity blend mode to be applied when drawing over some background.\nUsed by [maBlend](#maBlend).\n","type":"VegaLite.BlendMode"},{"name":"bmMultiply","comment":" Multiplicative blend mode to be applied when drawing over some background.\nUsed by [maBlend](#maBlend).\n","type":"VegaLite.BlendMode"},{"name":"bmNormal","comment":" Indicate the default blend mode should be applied when drawing over some background.\nUsed by [maBlend](#maBlend).\n","type":"VegaLite.BlendMode"},{"name":"bmOverlay","comment":" Overlay blend mode to be applied when drawing over some background.\nUsed by [maBlend](#maBlend).\n","type":"VegaLite.BlendMode"},{"name":"bmSaturation","comment":" Saturation blend mode to be applied when drawing over some background.\nUsed by [maBlend](#maBlend).\n","type":"VegaLite.BlendMode"},{"name":"bmScreen","comment":" Screen blend mode to be applied when drawing over some background.\nUsed by [maBlend](#maBlend).\n","type":"VegaLite.BlendMode"},{"name":"bmSoftLight","comment":" Soft light blend mode to be applied when drawing over some background.\nUsed by [maBlend](#maBlend).\n","type":"VegaLite.BlendMode"},{"name":"boFlush","comment":" Bounds calculation should take only the specified width and height values for\na sub-view. Useful when attempting to place sub-plots without axes or legends into\na uniform grid structure.\n","type":"VegaLite.Bounds"},{"name":"boFull","comment":" Bounds calculation should use the entire plot area (including axes, title,\nand legend).\n","type":"VegaLite.Bounds"},{"name":"boo","comment":" A Boolean data value. Used by [dataRow](#dataRow), [paValue](#paValue), [pDatum](#pDatum), [mDatum](#mDatum),\n[tDatum](#tDatum), [datumArray](#datumArray), [inDatumOptions](#inDatumOptions),\n[imNewValue](#imNewValue), [fiEqual](#fiEqual), [fiLessThan](#fiLessThan), [fiLessThanEq](#fiLessThanEq),\n[fiGreaterThan](#fiGreaterThan), [fiGreaterThanEq](#fiGreaterThanEq) and [fiOneOf](#fiOneOf).\n","type":"Basics.Bool -> VegaLite.DataValue"},{"name":"boos","comment":" A list of Boolean data values. Used when declaring inline data with\n[dataColumn](#dataColumn), filtering ([fiOneOf](#fiOneOf)), imputation\n([imKeyVals](#imKeyVals)) and customised sorting ([soCustom](#soCustom)).\n","type":"List.List Basics.Bool -> VegaLite.DataValues"},{"name":"bounds","comment":" Bounds calculation method to use for determining the extent of a sub-plot in\na composed view. If set to `Full` the entire calculated bounds including axes,\ntitle and legend are used; if `Flush` only the width and height values for the\nsub-view will be used. Used by [bounds](#bounds).\n","type":"VegaLite.Bounds -> ( VegaLite.VLProperty, VegaLite.Spec )"},{"name":"boxplot","comment":" [Boxplot composite mark](https://vega.github.io/vega-lite/docs/boxplot.html)\nfor showing summaries of statistical distributions. By default, just box and whiskers\nare shown, but ticks and outliers can be specified explicitly.\n\n    boxplot\n        [ maTicks [ maColor \"black\", maSize 8 ]\n        , maBox [ maFill \"grey\" ]\n        , maOutliers [ maColor \"firebrick\" ]\n        ]\n\n","type":"List.List VegaLite.MarkProperty -> ( VegaLite.VLProperty, VegaLite.Spec )"},{"name":"cAxGridColor","comment":" Conditional axis grid color. The first parameter provides the color when a\npredicate is true, the second when it is false. Used by [axDataCondition](#axDataCondition).\n","type":"String.String -> String.String -> VegaLite.ConditionalAxisProperty"},{"name":"cAxGridDash","comment":" Conditional axis grid dash. The first parameter provides the dash when a\npredicate is true, the second when it is false. Used by [axDataCondition](#axDataCondition).\n","type":"List.List Basics.Float -> List.List Basics.Float -> VegaLite.ConditionalAxisProperty"},{"name":"cAxGridDashOffset","comment":" Conditional axis grid dash offset. The first parameter provides the dash offset\nwhen a predicate is true, the second when it is false. Used by [axDataCondition](#axDataCondition).\n","type":"Basics.Float -> Basics.Float -> VegaLite.ConditionalAxisProperty"},{"name":"cAxGridOpacity","comment":" Conditional axis grid opacity. The first parameter provides the opacity when\na predicate is true, the second when it is false. Used by [axDataCondition](#axDataCondition).\n","type":"Basics.Float -> Basics.Float -> VegaLite.ConditionalAxisProperty"},{"name":"cAxGridWidth","comment":" Conditional axis grid width. The first parameter provides the width when a\npredicate is true, the second when it is false. Used by [axDataCondition](#axDataCondition).\n","type":"Basics.Float -> Basics.Float -> VegaLite.ConditionalAxisProperty"},{"name":"cAxLabelAlign","comment":" Conditional axis label alignment. The first parameter provides the alignment\nwhen a predicate is true, the second when it is false. Used by [axDataCondition](#axDataCondition).\n","type":"VegaLite.HAlign -> VegaLite.HAlign -> VegaLite.ConditionalAxisProperty"},{"name":"cAxLabelBaseline","comment":" Conditional axis vertical label alignment. The first parameter provides the\nalignment when a predicate is true, the second when it is false. Used by\n[axDataCondition](#axDataCondition).\n","type":"VegaLite.VAlign -> VegaLite.VAlign -> VegaLite.ConditionalAxisProperty"},{"name":"cAxLabelColor","comment":" Conditional axis label color. The first parameter provides the color\nwhen a predicate is true, the second when it is false. Used by [axDataCondition](#axDataCondition).\n","type":"String.String -> String.String -> VegaLite.ConditionalAxisProperty"},{"name":"cAxLabelFont","comment":" Conditional axis label font. The first parameter provides the font\nwhen a predicate is true, the second when it is false. Used by [axDataCondition](#axDataCondition).\n","type":"String.String -> String.String -> VegaLite.ConditionalAxisProperty"},{"name":"cAxLabelFontSize","comment":" Conditional axis label font size. The first parameter provides the size\nwhen a predicate is true, the second when it is false. Used by [axDataCondition](#axDataCondition).\n","type":"Basics.Float -> Basics.Float -> VegaLite.ConditionalAxisProperty"},{"name":"cAxLabelFontStyle","comment":" Conditional axis label font style. The first parameter provides the style\nwhen a predicate is true, the second when it is false. Used by [axDataCondition](#axDataCondition).\n","type":"String.String -> String.String -> VegaLite.ConditionalAxisProperty"},{"name":"cAxLabelFontWeight","comment":" Conditional axis label font weight. The first parameter provides the weight\nwhen a predicate is true, the second when it is false. Used by [axDataCondition](#axDataCondition).\n","type":"VegaLite.FontWeight -> VegaLite.FontWeight -> VegaLite.ConditionalAxisProperty"},{"name":"cAxLabelOffset","comment":" Conditional axis label offset. The first parameter provides the offset\nwhen a predicate is true, the second when it is false. Used by [axDataCondition](#axDataCondition).\n","type":"Basics.Float -> Basics.Float -> VegaLite.ConditionalAxisProperty"},{"name":"cAxLabelOpacity","comment":" Conditional axis label opacity. The first parameter provides the opacity\nwhen a predicate is true, the second when it is false. Used by [axDataCondition](#axDataCondition).\n","type":"Basics.Float -> Basics.Float -> VegaLite.ConditionalAxisProperty"},{"name":"cAxLabelPadding","comment":" Conditional axis label padding. The first parameter provides the padding\nwhen a predicate is true, the second when it is false. Used by [axDataCondition](#axDataCondition).\n","type":"Basics.Float -> Basics.Float -> VegaLite.ConditionalAxisProperty"},{"name":"cAxTickColor","comment":" Conditional axis tick color. The first parameter provides the color when a\npredicate is true, the second when it is false. Used by [axDataCondition](#axDataCondition).\n","type":"String.String -> String.String -> VegaLite.ConditionalAxisProperty"},{"name":"cAxTickDash","comment":" Conditional axis tick dash style. The first parameter is a list of alternating\n'on' and 'off' lengths in pixels representing the dashed line when a predicate\nis true, the second when it is false. Used by [axDataCondition](#axDataCondition).\n","type":"List.List Basics.Float -> List.List Basics.Float -> VegaLite.ConditionalAxisProperty"},{"name":"cAxTickDashOffset","comment":" Conditional axis tick dash offset. The first parameter provides the dash offset\nwhen a predicate is true, the second when it is false. Used by [axDataCondition](#axDataCondition).\n","type":"Basics.Float -> Basics.Float -> VegaLite.ConditionalAxisProperty"},{"name":"cAxTickOpacity","comment":" Conditional axis tick opacity. The first parameter provides the opacity when\na predicate is true, the second when it is false. Used by [axDataCondition](#axDataCondition).\n","type":"Basics.Float -> Basics.Float -> VegaLite.ConditionalAxisProperty"},{"name":"cAxTickSize","comment":" Conditional axis tick size. The first parameter provides the size when a\npredicate is true, the second when it is false. Used by [axDataCondition](#axDataCondition).\n","type":"Basics.Float -> Basics.Float -> VegaLite.ConditionalAxisProperty"},{"name":"cAxTickWidth","comment":" Conditional axis tick width. The first parameter provides the width when a\npredicate is true, the second when it is false. Used by [axDataCondition](#axDataCondition).\n","type":"Basics.Float -> Basics.Float -> VegaLite.ConditionalAxisProperty"},{"name":"caAll","comment":" Subviews in a composed view to be aligned into a clean grid structure where\nall rows and columns are of the same size (based on maximum subview size).\nUsed by [align](#align), [alignRC](#alignRC), [fAlign](#fAlign) and [lecoGridAlign](#lecoGridAlign).\n","type":"VegaLite.CompositionAlignment"},{"name":"caButt","comment":" Butt stroke cap. Used by [maStrokeCap](#maStrokeCap), [axDomainCap](#axDomainCap),\n[axcoDomainCap](#axcoDomainCap), [axTickCap](#axTickCap), [axcoTickCap](#axcoTickCap),\n[axGridCap](#axGridCap), [axcoGridCap](#axcoGridCap), [viewStrokeCap](#viewStrokeCap)\nand [vicoStrokeCap](#vicoStrokeCap).\n","type":"VegaLite.StrokeCap"},{"name":"caEach","comment":" Subviews in a composed view to be aligned into a clean grid structure where\neach row or column may be of variable size. Used by [align](#align), [alignRC](#alignRC),\n[fAlign](#fAlign) and [lecoGridAlign](#lecoGridAlign).\n","type":"VegaLite.CompositionAlignment"},{"name":"caExpr","comment":" Expression that evaluates to some stroke cap style such as \"square\", \"butt\" or \"round\".\nUsed by [maStrokeCap](#maStrokeCap), [axDomainCap](#axDomainCap), [axcoDomainCap](#axcoDomainCap),\n[axTickCap](#axTickCap), [axcoTickCap](#axcoTickCap), [axGridCap](#axGridCap),\n[axcoGridCap](#axcoGridCap), [viewStrokeCap](#viewStrokeCap) and [vicoStrokeCap](#vicoStrokeCap).\n","type":"String.String -> VegaLite.StrokeCap"},{"name":"caNone","comment":" Flow layout is to be applied to composed views, in which adjacent subviews\nare placed one after the other. Used by [align](#align), [alignRC](#alignRC),\n[fAlign](#fAlign) and [lecoGridAlign](#lecoGridAlign).\n","type":"VegaLite.CompositionAlignment"},{"name":"caRound","comment":" Rounded stroke cap. Used by [maStrokeCap](#maStrokeCap), [axDomainCap](#axDomainCap),\n[axcoDomainCap](#axcoDomainCap), [axTickCap](#axTickCap), [axcoTickCap](#axcoTickCap),\n[axGridCap](#axGridCap), [axcoGridCap](#axcoGridCap), [viewStrokeCap](#viewStrokeCap)\nand [vicoStrokeCap](#vicoStrokeCap).\n","type":"VegaLite.StrokeCap"},{"name":"caSquare","comment":" Square stroke cap. Used by [maStrokeCap](#maStrokeCap), [axDomainCap](#axDomainCap),\n[axcoDomainCap](#axcoDomainCap), [axTickCap](#axTickCap), [axcoTickCap](#axcoTickCap),\n[axGridCap](#axGridCap), [axcoGridCap](#axcoGridCap), [viewStrokeCap](#viewStrokeCap)\nand [vicoStrokeCap](#vicoStrokeCap).\n","type":"VegaLite.StrokeCap"},{"name":"calculateAs","comment":" Generate a new data field based on some calculations from existing values and fields.\nThe first parameter is an [expression](https://vega.github.io/vega/docs/expressions/)\nrepresenting the calculation and the second is the name to give the newly calculated\nfield.\n\n    trans =\n        transform << calculateAs \"datum.sex == 2 ? 'F' : 'M'\" \"gender\"\n\n","type":"String.String -> String.String -> List.List VegaLite.LabelledSpec -> List.List VegaLite.LabelledSpec"},{"name":"categoricalDomainMap","comment":" Create a set of discrete domain to range mappings suitable for customising categorical\nscales. The first item in each tuple should be a domain value and the second the\nrange value with which it should be associated. It is a convenience function equivalent\nto specifying separate `scDomain` and `scRange` lists and is safer as it guarantees\na one-to-one correspondence between domain and range values. This is typically used\nto provide discrete colors for categorical variables.\n\n    color\n        [ mName \"weather\"\n        , mNominal\n        , categoricalDomainMap\n            [ ( \"sun\", \"yellow\" )\n            , ( \"rain\", \"blue\" )\n            , ( \"fog\", \"grey\" )\n            ]\n            |> mScale\n        ]\n\n","type":"List.List ( String.String, String.String ) -> List.List VegaLite.ScaleProperty"},{"name":"center","comment":" Whether or not sub-views specified in a composition operator should be centred\nrelative to their respective rows and columns.\n","type":"Basics.Bool -> ( VegaLite.VLProperty, VegaLite.Spec )"},{"name":"centerRC","comment":" Similar to [center](#center) but with independent centring for rows and columns.\n","type":"Basics.Bool -> Basics.Bool -> ( VegaLite.VLProperty, VegaLite.Spec )"},{"name":"chColor","comment":" Reference to whatever is being encoded on the color channel. Can be\nused in the [projection of interactive selections](#seEncodings) or in a\n[resolution specification](#resolution). Used by [soByChannel](#soByChannel),\n[doSelectionChannel](#doSelectionChannel) and [seEncodings](#seEncodings).\n","type":"VegaLite.Channel"},{"name":"chOpacity","comment":" Reference to whatever is being encoded on the opacity channel. Can be\nused in the [projection of interactive selections](#seEncodings) or in a\n[resolution specification](#resolution). Used by [soByChannel](#soByChannel),\n[doSelectionChannel](#doSelectionChannel) and [seEncodings](#seEncodings).\n","type":"VegaLite.Channel"},{"name":"chShape","comment":" Reference to whatever is being encoded on the shape channel. Can be\nused in the [projection of interactive selections](#seEncodings) or in a\n[resolution specification](#resolution). Used by [soByChannel](#soByChannel),\n[doSelectionChannel](#doSelectionChannel) and [seEncodings](#seEncodings).\n","type":"VegaLite.Channel"},{"name":"chSize","comment":" Reference to whatever is being encoded on the size channel. Can be\nused in the [projection of interactive selections](#seEncodings) or in a\n[resolution specification](#resolution). Used by [soByChannel](#soByChannel),\n[doSelectionChannel](#doSelectionChannel) and [seEncodings](#seEncodings).\n","type":"VegaLite.Channel"},{"name":"chStrokeDash","comment":" Reference to whatever is being encoded on the stroke dash channel. Can be\nused in the [projection of interactive selections](#seEncodings) or in a\n[resolution specification](#resolution). Used by [soByChannel](#soByChannel),\n[doSelectionChannel](#doSelectionChannel) and [seEncodings](#seEncodings).\n","type":"VegaLite.Channel"},{"name":"chX","comment":" Reference to whatever is being encoded on the X channel. Can be used in the\n[projection of interactive selections](#seEncodings) or in a\n[resolution specification](#resolution). Used by [soByChannel](#soByChannel),\n[doSelectionChannel](#doSelectionChannel) and [seEncodings](#seEncodings).\n","type":"VegaLite.Channel"},{"name":"chX2","comment":" Reference to whatever is being encoded on the X2 channel. Can be used in a\n[resolution specification](#resolution). Used by [soByChannel](#soByChannel),\n[doSelectionChannel](#doSelectionChannel) and [seEncodings](#seEncodings).\n","type":"VegaLite.Channel"},{"name":"chXOffset","comment":" Reference to whatever is being encoded on the XOffset channel. Can be used\nin a [resolution specification](#resolution). Used by [soByChannel](#soByChannel),\n[doSelectionChannel](#doSelectionChannel) and [seEncodings](#seEncodings).\n","type":"VegaLite.Channel"},{"name":"chY","comment":" Reference to whatever is being encoded on the Y channel. Can be used in the\n[projection of interactive selections](#seEncodings) or in a\n[resolution specification](#resolution). Used by [soByChannel](#soByChannel),\n[doSelectionChannel](#doSelectionChannel) and [seEncodings](#seEncodings).\n","type":"VegaLite.Channel"},{"name":"chY2","comment":" Reference to whatever is being encoded on the Y2 channel. Can be used in a\n[resolution specification](#resolution). Used by [soByChannel](#soByChannel),\n[doSelectionChannel](#doSelectionChannel) and [seEncodings](#seEncodings).\n","type":"VegaLite.Channel"},{"name":"chYOffset","comment":" Reference to whatever is being encoded on the Y offset channel. Can be used in a\n[resolution specification](#resolution). Used by [soByChannel](#soByChannel),\n[doSelectionChannel](#doSelectionChannel) and [seEncodings](#seEncodings).\n","type":"VegaLite.Channel"},{"name":"circle","comment":" [Circle mark](https://vega.github.io/vega-lite/docs/circle.html) for\nsymbolising points. Unlike the [point](#point) mark, circles are filled by default\nand may be sized via a separate [size](#size) encoding.\n","type":"List.List VegaLite.MarkProperty -> ( VegaLite.VLProperty, VegaLite.Spec )"},{"name":"clipRect","comment":" Specify the bounds in pixel coordinates of a clipped map projection in left,\ntop, right, and bottom order. Used by [prClipExtent](#prClipExtent). For example,\n\n    myMap : Spec\n    myMap =\n        let\n            geoData =\n                dataFromUrl \"https://gicentre.github.io/data/geoTutorials/world-110m.json\"\n                    [ topojsonFeature \"countries1\" ]\n\n            proj =\n                projection\n                    [ clipRect 0 0 600 270\n                        |> prClipExtent\n                    ]\n        in\n        toVegaLite\n            [ width 600\n            , height 300\n            , geoData\n            , proj\n            , geoshape []\n            ]\n\n","type":"Basics.Float -> Basics.Float -> Basics.Float -> Basics.Float -> VegaLite.ClipRect"},{"name":"clipRectExpr","comment":" Specify the bounds of a clipped map projection region with four expressions in\nleft, top, right, and bottom order that evaluate to pixel positions. Useful when\nparameterising clip extent interactively. Used by [prClipExtent](#prClipExtent).\nFor example,\n\n    myMap : Spec\n    myMap =\n        let\n            geoData =\n                dataFromUrl \"https://gicentre.github.io/data/geoTutorials/world-110m.json\"\n                    [ topojsonFeature \"countries1\" ]\n\n            ps =\n                params\n                    << param \"left\"\n                        [ paValue (num 0)\n                        , paBind (ipRange [ inMin 0, inMax 300 ])\n                        ]\n                    << param \"right\"\n                        [ paValue (num 600)\n                        , paBind (ipRange [ inMin 300, inMax 600 ])\n                        ]\n                    << param \"top\"\n                        [ paValue (num 0)\n                        , paBind (ipRange [ inMin 0, inMax 150 ])\n                        ]\n                    << param \"bottom\"\n                        [ paValue (num 300)\n                        , paBind (ipRange [ inMin 150, inMax 300 ])\n                        ]\n\n            proj =\n                projection\n                    [ clipRectExpr \"left\" \"top\" \"right\" \"bottom\"\n                        |> prClipExtent\n                    ]\n        in\n        toVegaLite\n            [ width 600\n            , height 300\n            , ps []\n            , geoData\n            , proj\n            , geoshape []\n            ]\n\n","type":"String.String -> String.String -> String.String -> String.String -> VegaLite.ClipRect"},{"name":"coArea","comment":" Configure the default appearance of area marks. Used by [configuration](#configuration),\n[coAxisXFilter](#coAxisXFilter) and [coAxisYFilter](#coAxisYFilter).\n","type":"List.List VegaLite.MarkProperty -> VegaLite.ConfigurationProperty"},{"name":"coAria","comment":" Whether or not [ARIA attributes](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA)\nshould be included for marks and guides when generating SVG output. If not specified,\nthe default is `True`. Used by [configuration](#configuration), [coAxisXFilter](#coAxisXFilter)\nand [coAxisYFilter](#coAxisYFilter).\n","type":"Basics.Bool -> VegaLite.ConfigurationProperty"},{"name":"coAutosize","comment":" Configure the default sizing of visualizations. Used by [configuration](#configuration),\n[coAxisXFilter](#coAxisXFilter) and [coAxisYFilter](#coAxisYFilter).\n","type":"List.List VegaLite.Autosize -> VegaLite.ConfigurationProperty"},{"name":"coAxis","comment":" Configure the default appearance of axes. Used by [configuration](#configuration),\n[coAxisXFilter](#coAxisXFilter) and [coAxisYFilter](#coAxisYFilter).\n","type":"List.List VegaLite.AxisConfig -> VegaLite.ConfigurationProperty"},{"name":"coAxisBand","comment":" Configure the default appearance of any axes using a band (binned) scale. Used by\n[configuration](#configuration), [coAxisXFilter](#coAxisXFilter) and [coAxisYFilter](#coAxisYFilter).\n","type":"List.List VegaLite.AxisConfig -> VegaLite.ConfigurationProperty"},{"name":"coAxisBottom","comment":" Configure the default appearance of bottom-side axes. Used by [configuration](#configuration),\n[coAxisXFilter](#coAxisXFilter) and [coAxisYFilter](#coAxisYFilter).\n","type":"List.List VegaLite.AxisConfig -> VegaLite.ConfigurationProperty"},{"name":"coAxisDiscrete","comment":" Configure the default appearance of any axes using a discrete scale. Used by\n[configuration](#configuration), [coAxisXFilter](#coAxisXFilter) and [coAxisYFilter](#coAxisYFilter).\n","type":"List.List VegaLite.AxisConfig -> VegaLite.ConfigurationProperty"},{"name":"coAxisLeft","comment":" Configure the default appearance of left-side axes. Used by [configuration](#configuration),\n[coAxisXFilter](#coAxisXFilter) and [coAxisYFilter](#coAxisYFilter).\n","type":"List.List VegaLite.AxisConfig -> VegaLite.ConfigurationProperty"},{"name":"coAxisPoint","comment":" Configure the default appearance of any axes using a point scale. Used by\n[configuration](#configuration), [coAxisXFilter](#coAxisXFilter) and [coAxisYFilter](#coAxisYFilter).\n","type":"List.List VegaLite.AxisConfig -> VegaLite.ConfigurationProperty"},{"name":"coAxisQuant","comment":" Configure the default appearance of any quantitative axes. Used by [configuration](#configuration),\n[coAxisXFilter](#coAxisXFilter) and [coAxisYFilter](#coAxisYFilter).\n","type":"List.List VegaLite.AxisConfig -> VegaLite.ConfigurationProperty"},{"name":"coAxisRight","comment":" Configure the default appearance of right-side axes. Used by [configuration](#configuration),\n[coAxisXFilter](#coAxisXFilter) and [coAxisYFilter](#coAxisYFilter).\n","type":"List.List VegaLite.AxisConfig -> VegaLite.ConfigurationProperty"},{"name":"coAxisStyles","comment":" Specify a list of named styles that each define a list of axis properties.\nProvided for compatibility with Vega-Lite, but generally greater type safety is\nachieved in elm-vegalite by creating elm functions that generate lists of\n[AxisProperties](#AxisProperty). Used by [configuration](#configuration),\n[coAxisXFilter](#coAxisXFilter) and [coAxisYFilter](#coAxisYFilter).\n","type":"List.List ( String.String, List.List VegaLite.AxisProperty ) -> VegaLite.ConfigurationProperty"},{"name":"coAxisTemporal","comment":" Configure the default appearance of any temporal axes. Used by [configuration](#configuration),\n[coAxisXFilter](#coAxisXFilter) and [coAxisYFilter](#coAxisYFilter).\n","type":"List.List VegaLite.AxisConfig -> VegaLite.ConfigurationProperty"},{"name":"coAxisTop","comment":" Configure the default appearance of top-side axes. Used by [configuration](#configuration),\n[coAxisXFilter](#coAxisXFilter) and [coAxisYFilter](#coAxisYFilter).\n","type":"List.List VegaLite.AxisConfig -> VegaLite.ConfigurationProperty"},{"name":"coAxisXFilter","comment":" Filter an axis configuration so that it only applies to x-axes. For example,\nto configure all band X-axes to be red:\n\n    configuration (coAxisBand [ axcoTitleColor \"red\" ] |> coAxisXFilter)\n\n","type":"VegaLite.ConfigurationProperty -> VegaLite.ConfigurationProperty"},{"name":"coAxisYFilter","comment":" Filter an axis configuration so that it only applies to y-axes. For example,\nto configure all temporal Y-axes to be red:\n\n    configuration (coAxisTemporal [ axcoTitleColor \"red\" ] |> coAxisYFilter)\n\n","type":"VegaLite.ConfigurationProperty -> VegaLite.ConfigurationProperty"},{"name":"coBackground","comment":" Configure the default background color of visualizations. Used by [configuration](#configuration),\n[coAxisXFilter](#coAxisXFilter) and [coAxisYFilter](#coAxisYFilter).\n","type":"String.String -> VegaLite.ConfigurationProperty"},{"name":"coBar","comment":" Configure the default appearance of bar marks. Used by [configuration](#configuration),\n[coAxisXFilter](#coAxisXFilter) and [coAxisYFilter](#coAxisYFilter).\n","type":"List.List VegaLite.MarkProperty -> VegaLite.ConfigurationProperty"},{"name":"coBooExpr","comment":" Provide an [expression](https://vega.github.io/vega/docs/expressions/) to a\ntop-level configuration function requiring a Boolean value. This can be used to\nprovide an interactive parameterisation when an expression is bound to an input\nelement. Used by [configuration](#configuration),\n[coAxisXFilter](#coAxisXFilter) and [coAxisYFilter](#coAxisYFilter).\n","type":"String.String -> (Basics.Bool -> VegaLite.ConfigurationProperty) -> VegaLite.ConfigurationProperty"},{"name":"coCircle","comment":" Configure the default appearance of circle marks. Used by [configuration](#configuration),\n[coAxisXFilter](#coAxisXFilter) and [coAxisYFilter](#coAxisYFilter).\n","type":"List.List VegaLite.MarkProperty -> VegaLite.ConfigurationProperty"},{"name":"coConcat","comment":" Configure the default appearance of concatenated layouts. Used by [configuration](#configuration),\n[coAxisXFilter](#coAxisXFilter) and [coAxisYFilter](#coAxisYFilter).\n","type":"List.List VegaLite.ConcatConfig -> VegaLite.ConfigurationProperty"},{"name":"coCountTitle","comment":" Configure the default title style for count fields. Used by [configuration](#configuration),\n[coAxisXFilter](#coAxisXFilter) and [coAxisYFilter](#coAxisYFilter).\n","type":"String.String -> VegaLite.ConfigurationProperty"},{"name":"coCustomFormatTypes","comment":" Determine whether formatting of text marks and guides (e.g.\n[axFormatAsCustom](#axFormatAsCustom)) will accept a custom formatter function.\nIf true, the custom formatter should be registered as a Vega expression.\nUsed by [configuration](#configuration), [coAxisXFilter](#coAxisXFilter) and\n[coAxisYFilter](#coAxisYFilter).\n\nFor example, registering the JavaScript function\n\n    vega.expressionFunction('unitFormat', function (datum, params) {\n      const dp = params.match(/\\d+/)[0];\n      const unit = params.replace(dp, '');\n      return datum.toFixed(dp) + unit;\n    });\n\nAnd enabling custom formatting within\n\n    cfg =\n        configure\n            << configuration (coCustomFormatTypes True)\n\nAllows custom axis formatting such as the following to display units to 2 decimal\nplaces followed by an 'm'\n\n    pAxis\n        [ axTitle \"Flipper length\"\n        , axFormatAsCustom \"unitFormat\"\n        , axFormat \"2m\"\n        ]\n\nSee\n[how to register a Vega-Lite custom formatter](https://vega.github.io/vega-lite/usage/compile.html#format-type).\n\n","type":"Basics.Bool -> VegaLite.ConfigurationProperty"},{"name":"coFacet","comment":" Configure the default appearance of facet layouts. Used by [configuration](#configuration),\n[coAxisXFilter](#coAxisXFilter) and [coAxisYFilter](#coAxisYFilter).\n","type":"List.List VegaLite.FacetConfig -> VegaLite.ConfigurationProperty"},{"name":"coFieldTitle","comment":" Configure the default title generation style for fields. Used by [configuration](#configuration),\n[coAxisXFilter](#coAxisXFilter) and [coAxisYFilter](#coAxisYFilter).\n","type":"VegaLite.FieldTitleProperty -> VegaLite.ConfigurationProperty"},{"name":"coFont","comment":" Configure the default font for all titles, labels and text marks. Used by [configuration](#configuration),\n[coAxisXFilter](#coAxisXFilter) and [coAxisYFilter](#coAxisYFilter).\n","type":"String.String -> VegaLite.ConfigurationProperty"},{"name":"coGeoshape","comment":" Configure the default appearance of geoshape marks. Used by [configuration](#configuration),\n[coAxisXFilter](#coAxisXFilter) and [coAxisYFilter](#coAxisYFilter).\n","type":"List.List VegaLite.MarkProperty -> VegaLite.ConfigurationProperty"},{"name":"coHeader","comment":" Configure the default appearance of facet headers. Used by [configuration](#configuration),\n[coAxisXFilter](#coAxisXFilter) and [coAxisYFilter](#coAxisYFilter).\n","type":"List.List VegaLite.HeaderProperty -> VegaLite.ConfigurationProperty"},{"name":"coLegend","comment":" Configure the default appearance of legends. Used by [configuration](#configuration),\n[coAxisXFilter](#coAxisXFilter) and [coAxisYFilter](#coAxisYFilter).\n","type":"List.List VegaLite.LegendConfig -> VegaLite.ConfigurationProperty"},{"name":"coLine","comment":" Configure the default appearance of line marks. Used by [configuration](#configuration),\n[coAxisXFilter](#coAxisXFilter) and [coAxisYFilter](#coAxisYFilter).\n","type":"List.List VegaLite.MarkProperty -> VegaLite.ConfigurationProperty"},{"name":"coLocale","comment":" Specify the default locale settings. Allows, for example, local currency, time\nand thousands separators to be defined as the default. Used by [configuration](#configuration),\n[coAxisXFilter](#coAxisXFilter) and [coAxisYFilter](#coAxisYFilter). For example a German locale\nmight be defined as the following which uses a comma for decimal symbol, a point as\na thousands separator and a default Euro symbol with non-breaking space for currency:\n\n    cfg =\n        configure\n            << configuration\n                (coLocale\n                    [ loDecimal \",\"\n                    , loThousands \".\"\n                    , loGrouping 3\n                    , loCurrency \"\" \"\\u{00A0}€\"\n                    ]\n                )\n\n","type":"List.List VegaLite.LocaleProperty -> VegaLite.ConfigurationProperty"},{"name":"coMark","comment":" Configure the default mark appearance. Used by [configuration](#configuration),\n[coAxisXFilter](#coAxisXFilter) and [coAxisYFilter](#coAxisYFilter).\n","type":"List.List VegaLite.MarkProperty -> VegaLite.ConfigurationProperty"},{"name":"coMarkStyles","comment":" Specify a list of named styles that each define a list of mark properties.\nCan be used when configuring views, titles etc. Used by [configuration](#configuration),\n[coAxisXFilter](#coAxisXFilter) and [coAxisYFilter](#coAxisYFilter).\n\nProvided for compatibility with Vega-Lite, but generally greater type safety is\nachieved in elm-vegalite by creating elm functions that generate lists of [MarkProperties](#MarkProperty).\n\n","type":"List.List ( String.String, List.List VegaLite.MarkProperty ) -> VegaLite.ConfigurationProperty"},{"name":"coNormalizedNumberFormat","comment":" Configure the default number formatting for normalized numeric output used by\nstacked charts. Uses [d3 format codes](https://github.com/d3/d3-format#locale_format)\nto set appearance of numbers. Used by [configuration](#configuration),\n[coAxisXFilter](#coAxisXFilter) and [coAxisYFilter](#coAxisYFilter).\n","type":"String.String -> VegaLite.ConfigurationProperty"},{"name":"coNormalizedNumberFormatType","comment":" Provide the name of a registered custom formatter for numeric output used by\nstacked charts. See [coCustomFormatTypes](#coCustomFormatTypes)\nfor an example of how to register custom formatter. Used by [configuration](#configuration),\n[coAxisXFilter](#coAxisXFilter) and [coAxisYFilter](#coAxisYFilter).\n","type":"String.String -> VegaLite.ConfigurationProperty"},{"name":"coNumberFormat","comment":" Configure the default number formatting for numeric output that appears in axis\nlabels, legends and tooltips. Uses\n[d3 format codes](https://github.com/d3/d3-format#locale_format) to set appearance\nof numbers. Used by [configuration](#configuration),\n[coAxisXFilter](#coAxisXFilter) and [coAxisYFilter](#coAxisYFilter). For example,\nto display numeric values to 3 decimal places:\n\n    cfg =\n        configure\n            << configuration (coNumberFormat \".3f\")\n\n","type":"String.String -> VegaLite.ConfigurationProperty"},{"name":"coNumberFormatType","comment":" Provide the name of a registered custom formatter for numeric output that appears\nin axis labels, legends and tooltips. See [coCustomFormatTypes](#coCustomFormatTypes)\nfor an example of how to register custom formatter. Used by [configuration](#configuration),\n[coAxisXFilter](#coAxisXFilter) and [coAxisYFilter](#coAxisYFilter).\n","type":"String.String -> VegaLite.ConfigurationProperty"},{"name":"coPadding","comment":" Configure the default padding in pixels from the edge of the of visualization\nto the data rectangle. Used by [configuration](#configuration),\n[coAxisXFilter](#coAxisXFilter) and [coAxisYFilter](#coAxisYFilter).\n","type":"VegaLite.Padding -> VegaLite.ConfigurationProperty"},{"name":"coPoint","comment":" Configure the default appearance of point marks. Used by [configuration](#configuration),\n[coAxisXFilter](#coAxisXFilter) and [coAxisYFilter](#coAxisYFilter).\n","type":"List.List VegaLite.MarkProperty -> VegaLite.ConfigurationProperty"},{"name":"coProjection","comment":" Configure the default style of map projections. Used by [configuration](#configuration),\n[coAxisXFilter](#coAxisXFilter) and [coAxisYFilter](#coAxisYFilter).\n","type":"List.List VegaLite.ProjectionProperty -> VegaLite.ConfigurationProperty"},{"name":"coRange","comment":" Configure the default range properties used when scaling. Used by [configuration](#configuration),\n[coAxisXFilter](#coAxisXFilter) and [coAxisYFilter](#coAxisYFilter).\n","type":"List.List VegaLite.RangeConfig -> VegaLite.ConfigurationProperty"},{"name":"coRect","comment":" Configure the default appearance of rectangle marks. Used by [configuration](#configuration),\n[coAxisXFilter](#coAxisXFilter) and [coAxisYFilter](#coAxisYFilter).\n","type":"List.List VegaLite.MarkProperty -> VegaLite.ConfigurationProperty"},{"name":"coRule","comment":" Configure the default appearance of rule marks. Used by [configuration](#configuration),\n[coAxisXFilter](#coAxisXFilter) and [coAxisYFilter](#coAxisYFilter).\n","type":"List.List VegaLite.MarkProperty -> VegaLite.ConfigurationProperty"},{"name":"coScale","comment":" Configure the default scale properties used when scaling. Used by [configuration](#configuration),\n[coAxisXFilter](#coAxisXFilter) and [coAxisYFilter](#coAxisYFilter).\n","type":"List.List VegaLite.ScaleConfig -> VegaLite.ConfigurationProperty"},{"name":"coSelection","comment":" Configure the default appearance of selection marks. Used by [configuration](#configuration),\n[coAxisXFilter](#coAxisXFilter) and [coAxisYFilter](#coAxisYFilter).\n","type":"List.List ( VegaLite.Selection, List.List VegaLite.SelectionProperty ) -> VegaLite.ConfigurationProperty"},{"name":"coSquare","comment":" Configure the default appearance of square marks. Used by [configuration](#configuration),\n[coAxisXFilter](#coAxisXFilter) and [coAxisYFilter](#coAxisYFilter).\n","type":"List.List VegaLite.MarkProperty -> VegaLite.ConfigurationProperty"},{"name":"coStrExpr","comment":" Provide an [expression](https://vega.github.io/vega/docs/expressions/) to a\ntop-level configuration function requiring a string value. This can be used to\nprovide an interactive parameterisation when an expression is bound to an input\nelement. Used by [configuration](#configuration),\n[coAxisXFilter](#coAxisXFilter) and [coAxisYFilter](#coAxisYFilter).\n","type":"String.String -> (String.String -> VegaLite.ConfigurationProperty) -> VegaLite.ConfigurationProperty"},{"name":"coText","comment":" Configure the default appearance of text marks. Used by [configuration](#configuration),\n[coAxisXFilter](#coAxisXFilter) and [coAxisYFilter](#coAxisYFilter).\n","type":"List.List VegaLite.MarkProperty -> VegaLite.ConfigurationProperty"},{"name":"coTick","comment":" Configure the default appearance of tick marks. Used by [configuration](#configuration),\n[coAxisXFilter](#coAxisXFilter) and [coAxisYFilter](#coAxisYFilter).\n","type":"List.List VegaLite.MarkProperty -> VegaLite.ConfigurationProperty"},{"name":"coTimeFormat","comment":" Configure the default time format for axis and legend labels. Used by [configuration](#configuration),\n[coAxisXFilter](#coAxisXFilter) and [coAxisYFilter](#coAxisYFilter).\n","type":"String.String -> VegaLite.ConfigurationProperty"},{"name":"coTimeFormatType","comment":" Provide the name of a registered custom formatter for temporal output that appears\nin axis labels, legends and tooltips. See [coCustomFormatTypes](#coCustomFormatTypes)\nfor an example of how to register custom formatter. Used by [configuration](#configuration),\n[coAxisXFilter](#coAxisXFilter) and [coAxisYFilter](#coAxisYFilter).\n","type":"String.String -> VegaLite.ConfigurationProperty"},{"name":"coTitle","comment":" Configure the default style of visualization titles. Used by [configuration](#configuration),\n[coAxisXFilter](#coAxisXFilter) and [coAxisYFilter](#coAxisYFilter).\n","type":"List.List VegaLite.TitleConfig -> VegaLite.ConfigurationProperty"},{"name":"coTrail","comment":" Configure the default style of trail marks.\n","type":"List.List VegaLite.MarkProperty -> List.List VegaLite.LabelledSpec -> List.List VegaLite.LabelledSpec"},{"name":"coView","comment":" Configure the default single view style. Used by [configuration](#configuration),\n[coAxisXFilter](#coAxisXFilter) and [coAxisYFilter](#coAxisYFilter).\n","type":"List.List VegaLite.ViewConfig -> VegaLite.ConfigurationProperty"},{"name":"cocoColumns","comment":" Configuration option for the maximum number of columns to use in a concatenated\nflow layout. Used by [coConcat](#coConcat).\n","type":"Basics.Int -> VegaLite.ConcatConfig"},{"name":"cocoSpacing","comment":" Configuration option for the spacing in pixels between sub-views in a\nconcatenated view. Used by [coConcat](#coConcat).\n","type":"Basics.Float -> VegaLite.ConcatConfig"},{"name":"color","comment":" Encode a color channel. The first parameter is a list of color encoding options\nsuch as the data to encode, colour scaling etc.\n\n    enc =\n        encoding\n            << color [ mName \"avHireTime\", mQuant ]\n\n","type":"List.List VegaLite.MarkChannel -> List.List VegaLite.LabelledSpec -> List.List VegaLite.LabelledSpec"},{"name":"column","comment":" Encodes a new facet to be arranged in columns. The first parameter is a list\nof properties that define the faceting channel. This should include at least the\nname of the data field and its measurement type. See the\n[Vega-Lite column documentation](https://vega.github.io/vega-lite/docs/facet.html#row--column-encoding-channels)\n\nNote that when faceting, dimensions specified with [width](#width) and [height](#height)\nrefer to the individual faceted plots, not the assemblage as a whole.\n\n    let\n        data =\n            dataFromUrl \"crimeData.csv\"\n\n        enc =\n            encoding\n                << position X [ pName \"month\", pTemporal ]\n                << position Y [ pName \"reportedCrimes\", pQuant, pAggregate opSum ]\n                << column [ fName \"crimeType\", fNominal ]\n    in\n    toVegaLite [ width 100, data [], bar [], enc [] ]\n\n","type":"List.List VegaLite.FacetChannel -> List.List VegaLite.LabelledSpec -> List.List VegaLite.LabelledSpec"},{"name":"columnBy","comment":" The mapping between a column and its field definitions in a set of faceted\nsmall multiples. This is used when specifying a more flexible [facet](#facet)\nrather than the compact, but simplified, [column](#column). Used by [facet](#facet).\n","type":"List.List VegaLite.FacetChannel -> VegaLite.FacetMapping"},{"name":"columnFields","comment":" Create a list of fields to use in set of repeated small multiples arranged in\ncolumns. The list of fields named here can be referenced in an encoding with\n`pRepeat column`, `mRepeat column` etc. Used by [repeat](#repeat).\n","type":"List.List String.String -> VegaLite.RepeatFields"},{"name":"columns","comment":" Maximum number of columns to include in a view composition flow layout. If the\nnumber of faceted small multiples exceeds this number, flow moves to the next row.\nOnly applies to flow layouts generated by [concat](#concat), [facetFlow](#facetFlow)\nand [repeatFlow](#repeatFlow). If 0, negative or not defined, faceted small multiples\nwill be arranged in a single row.\n","type":"Basics.Int -> ( VegaLite.VLProperty, VegaLite.Spec )"},{"name":"combineSpecs","comment":" Combine a list of labelled specifications to be passed to JavaScript for rendering.\nUseful when you wish to create a single page with multiple visualizations.\n\n    myCharts : Spec\n    myCharts =\n        combineSpecs\n            [ ( \"vis1\", myVis1 )\n            , ( \"vis2\", myVis2 )\n            , ( \"vis3\", myVis3 )\n            ]\n\n","type":"List.List VegaLite.LabelledSpec -> VegaLite.Spec"},{"name":"concat","comment":" Specifications to be juxtaposed in a flow layout of views. The number of columns\nin the flow layout can be set with [columns](#columns) and if not specified will\ndefault to a single row of unlimited columns.\n\n    let\n        data =\n            dataSequenceAs 0 6.28 0.1 \"x\"\n\n        trans =\n            transform\n                << calculateAs \"sin(datum.x)\" \"sinX\"\n                << calculateAs \"cos(datum.x)\" \"cosX\"\n\n        enc =\n            encoding\n                << position X [ pName \"x\", pQuant ]\n\n        encCos =\n            enc << position Y [ pName \"cosX\", pQuant ]\n\n        encSin =\n            enc << position Y [ pName \"sinX\", pQuant ]\n    in\n    toVegaLite\n        [ data\n        , trans []\n        , concat\n            [ asSpec [ encCos [], line [] ]\n            , asSpec [ encSin [], line [] ]\n            ]\n        ]\n\n","type":"List.List VegaLite.Spec -> ( VegaLite.VLProperty, VegaLite.Spec )"},{"name":"configuration","comment":" A configuration option to be applied globally across the visualization.\n","type":"VegaLite.ConfigurationProperty -> List.List VegaLite.LabelledSpec -> List.List VegaLite.LabelledSpec"},{"name":"configure","comment":" Create a single global configuration from a list of configuration specifications.\nEach [configuration](#configuration) that makes up the global list of customisations\nrefers to a specific part of all visualizations to which it is applied, such as\naxes, legends, selections etc. See the\n[Vega-Lite documentation](https://vega.github.io/vega-lite/docs/config.html).\n\nIndividual configuration functions are prefixed with an abbreviation of the part\nof the visualization to configure followed by `co`. For example, axis configuration\nfunctions `axco`, legends `leco`, titles `tico`, faceting `faco` etc.\n\nThe following makes all axis lines (domain) 2 pixels wide, removes the border\nrectangle and requires interactive selection of items to use a double-click.\n\n    let\n        cfg =\n            configure\n                << configuration (coAxis [ axcoDomainWidth 2 ])\n                << configuration (coView [ vicoStroke Nothing ])\n                << configuration (coSelection [ ( sePoint, [ seOn \"dblclick\" ] ) ])\n    in\n    toVegaLite [ cfg [], data [], enc [], bar [] ]\n\n","type":"List.List VegaLite.LabelledSpec -> ( VegaLite.VLProperty, VegaLite.Spec )"},{"name":"conicConformal","comment":" A conformal (shape-preserving) conic map projection. Used by [prType](#prType).\n","type":"VegaLite.Projection"},{"name":"conicEqualArea","comment":" An equal area conic map projection. Used by [prType](#prType).\n","type":"VegaLite.Projection"},{"name":"conicEquidistant","comment":" An equidistant conic map projection. Distance is preserved along a standard\nparallel (or two parallels for secant projections). Used by [prType](#prType).\n","type":"VegaLite.Projection"},{"name":"csv","comment":" Specify a CSV (comma-separated values) file format when reading a data file.\nOnly necessary if the file extension does not indicate the type.\nUsed by [dataFromUrl](#dataFromUrl). For example,\n\n    myData : Data\n    myData =\n        dataFromUrl \"myData\" [ csv ]\n\n","type":"VegaLite.Format"},{"name":"cuAlias","comment":" Alias cursor. Used by [maCursor](#maCursor), [smCursor](#smCursor) and [vicoCursor](#vicoCursor).\n","type":"VegaLite.Cursor"},{"name":"cuAllScroll","comment":" Scrolling cursor. Used by [maCursor](#maCursor), [smCursor](#smCursor) and [vicoCursor](#vicoCursor).\n","type":"VegaLite.Cursor"},{"name":"cuAuto","comment":" Automatically determine a cursor type depending on interaction context. Used by\n[maCursor](#maCursor), [smCursor](#smCursor) and [vicoCursor](#vicoCursor).\n","type":"VegaLite.Cursor"},{"name":"cuCell","comment":" Cell cursor. Used by [maCursor](#maCursor), [smCursor](#smCursor) and [vicoCursor](#vicoCursor).\n","type":"VegaLite.Cursor"},{"name":"cuColResize","comment":" Resizing cursor. Used by [maCursor](#maCursor), [smCursor](#smCursor) and [vicoCursor](#vicoCursor).\n","type":"VegaLite.Cursor"},{"name":"cuContextMenu","comment":" Context menu cursor. Used by [maCursor](#maCursor), [smCursor](#smCursor) and [vicoCursor](#vicoCursor).\n","type":"VegaLite.Cursor"},{"name":"cuCopy","comment":" Copy cursor. Used by [maCursor](#maCursor), [smCursor](#smCursor) and [vicoCursor](#vicoCursor).\n","type":"VegaLite.Cursor"},{"name":"cuCrosshair","comment":" Crosshair cursor. Used by [maCursor](#maCursor), [smCursor](#smCursor) and [vicoCursor](#vicoCursor).\n","type":"VegaLite.Cursor"},{"name":"cuDefault","comment":" Default cursor. Used by [maCursor](#maCursor), [smCursor](#smCursor) and [vicoCursor](#vicoCursor).\n","type":"VegaLite.Cursor"},{"name":"cuEResize","comment":" Resizing cursor. Used by [maCursor](#maCursor), [smCursor](#smCursor) and [vicoCursor](#vicoCursor).\n","type":"VegaLite.Cursor"},{"name":"cuEWResize","comment":" Resizing cursor. Used by [maCursor](#maCursor), [smCursor](#smCursor) and [vicoCursor](#vicoCursor).\n","type":"VegaLite.Cursor"},{"name":"cuExpr","comment":" Expression that evaluates to some cursor style such as \"crosshair\", \"grab\"\nor \"help\". Used by [maCursor](#maCursor), [smCursor](#smCursor) and [vicoCursor](#vicoCursor).\n","type":"String.String -> VegaLite.Cursor"},{"name":"cuGrab","comment":" Grab cursor. Used by [maCursor](#maCursor), [smCursor](#smCursor) and [vicoCursor](#vicoCursor).\n","type":"VegaLite.Cursor"},{"name":"cuGrabbing","comment":" Grabbing cursor. Used by [maCursor](#maCursor), [smCursor](#smCursor) and [vicoCursor](#vicoCursor).\n","type":"VegaLite.Cursor"},{"name":"cuHelp","comment":" Help cursor. Used by [maCursor](#maCursor), [smCursor](#smCursor) and [vicoCursor](#vicoCursor).\n","type":"VegaLite.Cursor"},{"name":"cuMove","comment":" Move cursor. Used by [maCursor](#maCursor), [smCursor](#smCursor) and [vicoCursor](#vicoCursor).\n","type":"VegaLite.Cursor"},{"name":"cuNEResize","comment":" Resizing cursor. Used by [maCursor](#maCursor), [smCursor](#smCursor) and [vicoCursor](#vicoCursor).\n","type":"VegaLite.Cursor"},{"name":"cuNESWResize","comment":" Resizing cursor. Used by [maCursor](#maCursor), [smCursor](#smCursor) and [vicoCursor](#vicoCursor).\n","type":"VegaLite.Cursor"},{"name":"cuNResize","comment":" Resizing cursor. Used by [maCursor](#maCursor), [smCursor](#smCursor) and [vicoCursor](#vicoCursor).\n","type":"VegaLite.Cursor"},{"name":"cuNSResize","comment":" Resizing cursor. Used by [maCursor](#maCursor), [smCursor](#smCursor) and [vicoCursor](#vicoCursor).\n","type":"VegaLite.Cursor"},{"name":"cuNWResize","comment":" Resizing cursor. Used by [maCursor](#maCursor), [smCursor](#smCursor) and [vicoCursor](#vicoCursor).\n","type":"VegaLite.Cursor"},{"name":"cuNWSEResize","comment":" Resizing cursor. Used by [maCursor](#maCursor), [smCursor](#smCursor) and [vicoCursor](#vicoCursor).\n","type":"VegaLite.Cursor"},{"name":"cuNoDrop","comment":" 'No drop' cursor. Used by [maCursor](#maCursor), [smCursor](#smCursor) and [vicoCursor](#vicoCursor).\n","type":"VegaLite.Cursor"},{"name":"cuNone","comment":" No cursor. Used by [maCursor](#maCursor), [smCursor](#smCursor) and [vicoCursor](#vicoCursor).\n","type":"VegaLite.Cursor"},{"name":"cuNotAllowed","comment":" 'Not allowed' cursor. Used by [maCursor](#maCursor), [smCursor](#smCursor) and [vicoCursor](#vicoCursor).\n","type":"VegaLite.Cursor"},{"name":"cuPointer","comment":" Pointer cursor. Used by [maCursor](#maCursor), [smCursor](#smCursor) and [vicoCursor](#vicoCursor).\n","type":"VegaLite.Cursor"},{"name":"cuProgress","comment":" Progress cursor. Used by [maCursor](#maCursor), [smCursor](#smCursor) and [vicoCursor](#vicoCursor).\n","type":"VegaLite.Cursor"},{"name":"cuRowResize","comment":" Resizing cursor. Used by [maCursor](#maCursor), [smCursor](#smCursor) and [vicoCursor](#vicoCursor).\n","type":"VegaLite.Cursor"},{"name":"cuSEResize","comment":" Resizing cursor.\n","type":"VegaLite.Cursor"},{"name":"cuSResize","comment":" Resizing cursor. Used by [maCursor](#maCursor), [smCursor](#smCursor) and [vicoCursor](#vicoCursor).\n","type":"VegaLite.Cursor"},{"name":"cuSWResize","comment":" Resizing cursor. Used by [maCursor](#maCursor), [smCursor](#smCursor) and [vicoCursor](#vicoCursor).\n","type":"VegaLite.Cursor"},{"name":"cuText","comment":" Text cursor. Used by [maCursor](#maCursor), [smCursor](#smCursor) and [vicoCursor](#vicoCursor).\n","type":"VegaLite.Cursor"},{"name":"cuVerticalText","comment":" Vertical text cursor. Used by [maCursor](#maCursor), [smCursor](#smCursor) and [vicoCursor](#vicoCursor).\n","type":"VegaLite.Cursor"},{"name":"cuWResize","comment":" Resizing cursor. Used by [maCursor](#maCursor), [smCursor](#smCursor) and [vicoCursor](#vicoCursor).\n","type":"VegaLite.Cursor"},{"name":"cuWait","comment":" Waiting cursor. Used by [maCursor](#maCursor), [smCursor](#smCursor) and [vicoCursor](#vicoCursor).\n","type":"VegaLite.Cursor"},{"name":"cuZoomIn","comment":" Zooming cursor. Used by [maCursor](#maCursor), [smCursor](#smCursor) and [vicoCursor](#vicoCursor).\n","type":"VegaLite.Cursor"},{"name":"cuZoomOut","comment":" Zooming cursor. Used by [maCursor](#maCursor), [smCursor](#smCursor) and [vicoCursor](#vicoCursor).\n","type":"VegaLite.Cursor"},{"name":"cubeHelix","comment":" Cube helix color interpolation for continuous color scales using the given\ngamma value (anchored at 1). Used by [scInterpolate](#scInterpolate).\n","type":"Basics.Float -> VegaLite.CInterpolate"},{"name":"cubeHelixLong","comment":" Long-path cube helix color interpolation for continuous color scales using\nthe given gamma value (anchored at 1). Used by [scInterpolate](#scInterpolate).\n","type":"Basics.Float -> VegaLite.CInterpolate"},{"name":"customProjection","comment":" Custom projection type. Additional custom projections from d3 can be defined\nvia the [Vega API](https://vega.github.io/vega/docs/projections/#register) and\ncalled from with this function where the parameter is the name of the D3\nprojection to use (e.g. `customProjection \"winkel3\"`). Used by [prType](#prType).\n","type":"String.String -> VegaLite.Projection"},{"name":"dAggregate","comment":" Compute some aggregate summary statistics for a field to be encoded with a\nlevel of [detail](#detail) (grouping) channel. The type of aggregation is determined by the\ngiven operation parameter.\n","type":"VegaLite.Operation -> VegaLite.DetailChannel"},{"name":"dBin","comment":" Discretize numeric values into bins when encoding with a level of [detail](#detail)\n(grouping) channel.\n","type":"List.List VegaLite.BinProperty -> VegaLite.DetailChannel"},{"name":"dGeo","comment":" Indicate a data field encoded with a [detail](#detail) channel is a geo feature.\n","type":"VegaLite.DetailChannel"},{"name":"dName","comment":" Name of field used for encoding with a level of [detail](#detail) (grouping) channel.\n","type":"String.String -> VegaLite.DetailChannel"},{"name":"dNominal","comment":" Indicate a data field encoded with a [detail](#detail) channel is nominal. This is the\ndefault data type.\n","type":"VegaLite.DetailChannel"},{"name":"dOrdinal","comment":" Indicate a data field encoded with a [detail](#detail) channel is ordinal.\n","type":"VegaLite.DetailChannel"},{"name":"dQuant","comment":" Indicate a data field encoded with a [detail](#detail) channel is quantitative.\n","type":"VegaLite.DetailChannel"},{"name":"dTemporal","comment":" Indicate a data field encoded with a [detail](#detail) channel is temporal.\n","type":"VegaLite.DetailChannel"},{"name":"dTimeUnit","comment":" Form of time unit aggregation of field values when encoding with a level of\n[detail](#detail) (grouping) channel.\n","type":"VegaLite.TimeUnit -> VegaLite.DetailChannel"},{"name":"daConcat","comment":" Concatenate a list of data values as a single data value. Used by [dataRow](#dataRow),\n[paValue](#paValue), [pDatum](#pDatum), [mDatum](#mDatum), [tDatum](#tDatum), [datumArray](#datumArray),\n[inDatumOptions](#inDatumOptions), [imNewValue](#imNewValue), [fiEqual](#fiEqual),\n[fiLessThan](#fiLessThan), [fiLessThanEq](#fiLessThanEq), [fiGreaterThan](#fiGreaterThan),\n[fiGreaterThanEq](#fiGreaterThanEq) and [fiOneOf](#fiOneOf).\n\nFor example,\n\n    param \"location\" [ paValue (daConcat (nums [ 4000, 8000 ])) ]\n\n","type":"VegaLite.DataValues -> VegaLite.DataValue"},{"name":"dataArrays","comment":" Like [datumArray](#datumArray) except stores a collection of [DataValues](#DataValues)\n(like [strs](#strs), [nums](#nums)) instead of singular datum items. This is just\na convenience function for replicating a `datumArray` that contains lists of items\nof the same type. For example,\n\n    dataArrays [ nums [ 10, 20, 30 ], strs [ \"a\", \"b\", \"c\" ] ]\n\nis equivalent to\n\n    datumArray\n        [ datumArray [ num 10, num 20, num 30 ]\n        , datumArray [ str \"a\", str \"b\", str \"c\" ]\n        ]\n\n","type":"List.List VegaLite.DataValues -> VegaLite.DataValues"},{"name":"dataColumn","comment":" Create a column of data. A column has a name and a list of values which is\nthen added to an existing list of data columns. This allows multiple data column\nspecifications to be chained together with the `<<` operator. For example, to represent\na table of data in this form:\n\n    | x   | y   |\n    | --- | --- |\n    | a   | 1   |\n    | b   | 2   |\n    | c   | 3   |\n\nyou could specify:\n\n    myChart : Spec\n    myChart =\n        let\n            data =\n                dataFromColumns []\n                    << dataColumn \"x\" (strs [ \"a\", \"b\", \"c\" ])\n                    << dataColumn \"y\" (nums [ 1, 2, 3 ])\n        in\n        toVegaLite [ data [], ... ]\n\n","type":"String.String -> VegaLite.DataValues -> List.List VegaLite.DataColumn -> List.List VegaLite.DataColumn"},{"name":"dataExpr","comment":" A list of data values created by the given expression. Used by [dataColumn](#dataColumn),\n[fiOneOf](#fiOneOf), [imKeyVals](#imKeyVals), [soCustom](#soCustom), [axValues](#axValues),\n[leValues](#leValues), [paValues](#paValues), [inDataOptions](#inDataOptions),\n[dataArrays](#dataArrays) and [daConcat](#daConcat).\n","type":"String.String -> VegaLite.DataValues"},{"name":"dataFromColumns","comment":" Declare a data source from a list of column values. Each column should contain\nvalues of the same type, but columns each with a different type are permitted.\nIf columns do not contain the same number of items, the dataset will be truncated\nto the length of the shortest, so beware of inadvertently removing data rows at\nthe 'bottom' of a table.\n\nA list of field formatting instructions can be provided as the first parameter\nor an empty list to use the default formatting. Simple numbers and strings do not\nnormally need formatting, but it is good practice to explicitly declare date-time\nformats because default date-time formats can vary between browsers.\n\nThe columns are most easily generated with [dataColumn](#dataColumn):\n\n    myChart : Spec\n    myChart =\n        let\n            data =\n                dataFromColumns [ parse [ ( \"Year\", foDate \"%Y\" ) ] ]\n                    << dataColumn \"Animal\" (strs [ \"Fish\", \"Dog\", \"Cat\" ])\n                    << dataColumn \"Age\" (nums [ 28, 12, 6 ])\n                    << dataColumn \"Year\" (strs [ \"2015\", \"2019\", \"2020\" ])\n        in\n        toVegaLite [ data [], ... ]\n\nFor more complex inline data tables, such as mixtures of arrays and objects, consider\nusing [dataFromJson](#dataFromJson).\n\n","type":"List.List VegaLite.Format -> List.List VegaLite.DataColumn -> VegaLite.Data"},{"name":"dataFromJson","comment":" Declare a data source from a json specification. The most likely use-case is\ncreating [geojson](http://geojson.org) objects with [geometry](#geometry),\n[geometryCollection](#geometryCollection) and [geoFeatureCollection](#geoFeatureCollection).\n\n    myChart : Spec\n    myChart =\n        let\n            geojson =\n                geometry (geoPolygon [ [ ( -3, 59 ), ( 4, 59 ), ( 4, 52 ), ( -3, 59 ) ] ]) []\n        in\n        toVegaLite [ dataFromJson geojson [], geoshape [] ]\n\nFor more general cases of json creation such as data tables that mix arrays and\nobjects, consider combining with [jsonToSpec](#jsonToSpec). For example,\n\n    myChart : Spec\n    myChart =\n        let\n            data =\n                jsonToSpec \"\"\"{\n                \"Revenue\" : [ 150, 225, 300 ],\n                \"Profit\" : [ 20, 25, 30 ],\n                \"Order size\" : [ 350, 500, 600 ],\n                \"New customers\" : [ 1400, 2000, 2500 ],\n                \"Satisfaction\" : [ 3.5, 4.25, 5 ]\n            }\"\"\"\n                    |> dataFromJson\n        in\n        toVegaLite [ data [], ... ]\n\n","type":"VegaLite.Spec -> List.List VegaLite.Format -> VegaLite.Data"},{"name":"dataFromRows","comment":" Declare a data source from a list of row values. Each row should contain a\nlist of tuples in the form (_column name_, _value_). Each column can have a value\nof a different type but you must ensure that values are of the same type as others\nin the same column. A list of field formatting instructions can be provided as\nthe first parameter or an empty list to use the default formatting. Rows are most\neasily generated with [dataRow](#dataRow).\n\n    myChart : Spec\n    myChart =\n        let\n            data =\n                dataFromRows [ parse [ ( \"Year\", foDate \"%Y\" ) ] ]\n                    << dataRow [ ( \"Animal\", str \"Fish\" ), ( \"Age\", num 28 ), ( \"Year\", str \"2015\" ) ]\n                    << dataRow [ ( \"Animal\", str \"Dog\" ), ( \"Age\", num 12 ), ( \"Year\", str \"2019\" ) ]\n                    << dataRow [ ( \"Animal\", str \"Cat\" ), ( \"Age\", num 6 ), ( \"Year\", str \"2020\" ) ]\n        in\n        toVegaLite [ data [], ... ]\n\nGenerally, adding data by column is more efficient and less error-prone, but occasionally\nthere can be greater clarity in arranging data by rows. For more complex inline data\ntables, such as mixtures of arrays and objects, consider using [dataFromJson](#dataFromJson).\n\n","type":"List.List VegaLite.Format -> List.List VegaLite.DataRow -> VegaLite.Data"},{"name":"dataFromSource","comment":" Declare data from a named source. The source may be from named [datasets](#datasets)\nwithin a specification or one created via the\n[Vega View API](https://vega.github.io/vega/docs/api/view/#data). A list of field\nformatting instructions can be provided as the second parameter or an empty list\nto use the default formatting.\n\n    myChart : Spec\n    myChart =\n        let\n            data = ...\n            json = ...\n        in\n        toVegaLite\n            [ datasets [ ( \"myData\", data ), ( \"myJson\", dataFromJson json [] ) ]\n            , dataFromSource \"myData\" []\n            , ...\n            ]\n\n","type":"String.String -> List.List VegaLite.Format -> VegaLite.Data"},{"name":"dataFromUrl","comment":" Declare a data source from a url. The URL can be a local path such as a file\nname in the same folder as the elm specification or an external (CORS) URL. A\nlist of field formatting instructions can be provided as the second parameter or\nan empty list to use the default formatting.\n\n    myPopData : Data\n    myPopData =\n        dataFromUrl \"https://vega.github.io/vega-lite/data/population.json\" []\n\n    myBikeData : Data\n    myBikeData =\n        dataFromUrl \"./data/bicycleHires.csv\"\n            [ parse\n                [ ( \"numHires\", foNum )\n                , ( \"avHireTime\", foNum )\n                ]\n            ]\n\n","type":"String.String -> List.List VegaLite.Format -> VegaLite.Data"},{"name":"dataName","comment":" Name to give a data source. Useful when a specification needs to reference a\ndata source, such as one generated via an API call.\n\n    myChart : Spec\n    myChart =\n        let\n            data =\n                dataFromUrl \"myData.json\" []\n                    |> dataName \"myName\"\n        in\n        toVegaLite [ data , ...]\n\n","type":"String.String -> VegaLite.Data -> VegaLite.Data"},{"name":"dataObject","comment":" Key-value pairs representing a named data value. Used by [dataRow](#dataRow), [paValue](#paValue),\n[pDatum](#pDatum), [mDatum](#mDatum), [tDatum](#tDatum), [datumArray](#datumArray),\n[inDatumOptions](#inDatumOptions), [imNewValue](#imNewValue), [fiEqual](#fiEqual),\n[fiLessThan](#fiLessThan), [fiLessThanEq](#fiLessThanEq), [fiGreaterThan](#fiGreaterThan),\n[fiGreaterThanEq](#fiGreaterThanEq) and [fiOneOf](#fiOneOf).\n\nFor example,\n\n    paValue (dataObject [ ( \"x\", num 3500 ), ( \"firstName\", str \"Ada\" ) ])\n\n","type":"List.List ( String.String, VegaLite.DataValue ) -> VegaLite.DataValue"},{"name":"dataObjects","comment":" Generate a collection of lists of Key-value pairs representing named data\nvalues. Used by [dataColumn](#dataColumn), [fiOneOf](#fiOneOf), [imKeyVals](#imKeyVals),\n[soCustom](#soCustom), [axValues](#axValues), [leValues](#leValues), [paValues](#paValues),\n[inDataOptions](#inDataOptions), [dataArrays](#dataArrays) and [daConcat](#daConcat).\n","type":"List.List (List.List ( String.String, VegaLite.DataValue )) -> VegaLite.DataValues"},{"name":"dataRow","comment":" Create a row of data. A row comprises a list of (_columnName_, _value_) pairs.\nFor example, to specify this table:\n\n    | x   | y   |\n    | --- | --- |\n    | a   | 1   |\n    | b   | 2   |\n    | c   | 3   |\n\n\n    myChart : Spec\n    myChart =\n        let\n            data =\n                dataFromRows []\n                    << dataRow [ ( \"x\", str \"a\" ), ( \"y\", num 1 ) ]\n                    << dataRow [ ( \"x\", str \"b\" ), ( \"y\", num 2 ) ]\n                    << dataRow [ ( \"x\", str \"c\" ), ( \"y\", num 3 ) ]\n        in\n        toVegaLite [ data [], ...]\n\n","type":"List.List ( String.String, VegaLite.DataValue ) -> List.List VegaLite.DataRow -> List.List VegaLite.DataRow"},{"name":"dataSequence","comment":" Generate a sequence of numbers as a data source between the value of the first\nparameter (inclusive) and the second (exclusive) in steps of the value of the third.\nThe resulting sequence will have the name `data` when referring to it within a\nspecification. For example,\n\n    sineWave : Spec\n    sineWave =\n        let\n            myData =\n                dataSequence 0 (2 * pi) (pi / 90)\n\n            trans =\n                transform\n                    << calculateAs \"sin(datum.data)\" \"y\"\n\n            enc =\n                encoding\n                    << position X [ pName \"data\", pQuant ]\n                    << position Y [ pName \"y\", pQuant ]\n        in\n        toVegaLite [ myData, trans [], enc [], line [] ]\n\nTo give the sequence an alternative name use [dataSequenceAs](#dataSequenceAs)\n\n","type":"Basics.Float -> Basics.Float -> Basics.Float -> VegaLite.Data"},{"name":"dataSequenceAs","comment":" Generate a sequence of numbers as a data source between the value of the first\nparameter (inclusive) and the second (exclusive) in steps of the value of the third.\nThe resulting sequence will have the name provided as the fourth parameter.\n\n    myData : Data\n    myData =\n        dataSequenceAs 0 (2 * pi) (pi / 90) \"x\"\n\n","type":"Basics.Float -> Basics.Float -> Basics.Float -> String.String -> VegaLite.Data"},{"name":"datasets","comment":" Create a dataset comprising a collection of named `Data` items. Each data item\ncan be created with normal data generating functions such as [dataFromRows](#dataFromRows)\nor [dataFromJson](#dataFromJson). These can be later referred to using\n[dataFromSource](#dataFromSource).\n\n    myChart : Spec\n    myChart =\n        let\n            data =\n                dataFromColumns []\n                    << dataColumn \"name\" (strs [ \"alphaville\", \"betatown\" ])\n                    << dataColumn \"pop\" (nums [ 9350, 4770 ])\n\n            geoBounds =\n                geometry (geoPoints [ ( -4, 55 ), ( 3, 59 ) ]) []\n                    |> dataFromJson\n        in\n        toVegaLite\n            [ datasets\n                [ ( \"myData\", data [] )\n                , ( \"myJson\", geoBounds [] )\n                ]\n            , dataFromSource \"myData\" []\n            , ...\n            ]\n\n","type":"List.List ( String.String, VegaLite.Data ) -> VegaLite.Data"},{"name":"date","comment":" Day of the month (1-31) time unit used for discretizing temporal data.\nUsed by [pTimeUnit](#pTimeUnit), [mTimeUnit](#mTimeUnit),\n[tTimeUnit](#tTimeUnit), [hTimeUnit](#hTimeUnit), [oTimeUnit](#oTimeUnit),\n[dTimeUnit](#dTimeUnit), [fTimeUnit](#fTimeUnit), [timeUnitAs](#timeUnitAs),\n[niInterval](#niInterval), [utc](#utc) and [tuStep](#tuStep).\n","type":"VegaLite.TimeUnit"},{"name":"datumArray","comment":" List of data values. Used by [dataRow](#dataRow), [paValue](#paValue), [pDatum](#pDatum),\n[mDatum](#mDatum), [tDatum](#tDatum), [datumArray](#datumArray), [inDatumOptions](#inDatumOptions),\n[imNewValue](#imNewValue), [fiEqual](#fiEqual), [fiLessThan](#fiLessThan), [fiLessThanEq](#fiLessThanEq),\n[fiGreaterThan](#fiGreaterThan), [fiGreaterThanEq](#fiGreaterThanEq) and [fiOneOf](#fiOneOf).\n\nUnlike [nums](#nums), [strs](#strs) etc., this allows a single array to store mixed types and nested values.\nFor example,\n\n    datumArray [ num 10, str \"a\", datumArray [ num 99, boo False ] ]\n\n","type":"List.List VegaLite.DataValue -> VegaLite.DataValue"},{"name":"datumExpr","comment":" A data value created by the given expression. Used by [dataRow](#dataRow), [paValue](#paValue),\n[pDatum](#pDatum), [mDatum](#mDatum), [tDatum](#tDatum), [datumArray](#datumArray),\n[inDatumOptions](#inDatumOptions), [imNewValue](#imNewValue), [fiEqual](#fiEqual),\n[fiLessThan](#fiLessThan), [fiLessThanEq](#fiLessThanEq), [fiGreaterThan](#fiGreaterThan),\n[fiGreaterThanEq](#fiGreaterThanEq) and [fiOneOf](#fiOneOf).\n","type":"String.String -> VegaLite.DataValue"},{"name":"day","comment":" Day of the week used for discretizing temporal data. This will therefore discretize\nany temporal sequence into a maximum of 7 bins. Used by [pTimeUnit](#pTimeUnit), [mTimeUnit](#mTimeUnit),\n[tTimeUnit](#tTimeUnit), [hTimeUnit](#hTimeUnit), [oTimeUnit](#oTimeUnit),\n[dTimeUnit](#dTimeUnit), [fTimeUnit](#fTimeUnit), [timeUnitAs](#timeUnitAs),\n[niInterval](#niInterval), [utc](#utc) and [tuStep](#tuStep).\n","type":"VegaLite.TimeUnit"},{"name":"dayHours","comment":" Hour of the day through the week used for discretizing temporal data. This will\ntherefore discretize any temporal sequence into a maximum of 7\\*24 bins.\nUsed by [pTimeUnit](#pTimeUnit), [mTimeUnit](#mTimeUnit),\n[tTimeUnit](#tTimeUnit), [hTimeUnit](#hTimeUnit), [oTimeUnit](#oTimeUnit),\n[dTimeUnit](#dTimeUnit), [fTimeUnit](#fTimeUnit), [timeUnitAs](#timeUnitAs),\n[niInterval](#niInterval), [utc](#utc) and [tuStep](#tuStep).\n","type":"VegaLite.TimeUnit"},{"name":"dayHoursMinutes","comment":" Minute through the week used for discretizing temporal data. This will\ntherefore discretize any temporal sequence into a maximum of 7\\*24\\*60 bins.\nUsed by [pTimeUnit](#pTimeUnit), [mTimeUnit](#mTimeUnit),\n[tTimeUnit](#tTimeUnit), [hTimeUnit](#hTimeUnit), [oTimeUnit](#oTimeUnit),\n[dTimeUnit](#dTimeUnit), [fTimeUnit](#fTimeUnit), [timeUnitAs](#timeUnitAs),\n[niInterval](#niInterval), [utc](#utc) and [tuStep](#tuStep).\n","type":"VegaLite.TimeUnit"},{"name":"dayHoursMinutesSeconds","comment":" Second through the week used for discretizing temporal data. This will\ntherefore discretize any temporal sequence into a maximum of 7\\*24\\*60\\*60 bins.\nUsed by [pTimeUnit](#pTimeUnit), [mTimeUnit](#mTimeUnit),\n[tTimeUnit](#tTimeUnit), [hTimeUnit](#hTimeUnit), [oTimeUnit](#oTimeUnit),\n[dTimeUnit](#dTimeUnit), [fTimeUnit](#fTimeUnit), [timeUnitAs](#timeUnitAs),\n[niInterval](#niInterval), [utc](#utc) and [tuStep](#tuStep).\n","type":"VegaLite.TimeUnit"},{"name":"dayOfYear","comment":" Indicate temporal binning by day of the year, so a 10 year sequence would\nhave up to 366 bins. Used by [pTimeUnit](#pTimeUnit), [mTimeUnit](#mTimeUnit),\n[tTimeUnit](#tTimeUnit), [hTimeUnit](#hTimeUnit), [oTimeUnit](#oTimeUnit),\n[dTimeUnit](#dTimeUnit), [fTimeUnit](#fTimeUnit), [timeUnitAs](#timeUnitAs),\n[niInterval](#niInterval), [utc](#utc) and [tuStep](#tuStep).\n","type":"VegaLite.TimeUnit"},{"name":"density","comment":" Apply _Kernel Density Estimation_ to a data stream to generate a new stream\nof samples of the estimated density. Useful for representing probability\ndistributions and generating continuous distributions from discrete samples.\n","type":"String.String -> List.List VegaLite.DensityProperty -> List.List VegaLite.LabelledSpec -> List.List VegaLite.LabelledSpec"},{"name":"description","comment":" Description to be associated with a visualization.\n","type":"String.String -> ( VegaLite.VLProperty, VegaLite.Spec )"},{"name":"detail","comment":" Encode a 'level of detail' channel. This provides a way of grouping by a field\nbut unlike, say `color`, all groups have the same visual properties. The first\nparameter is a list of the field characteristics to be grouped.\n\n    enc =\n        encoding\n            << detail [ dName \"avHireTime\", dQuant ]\n\n","type":"List.List VegaLite.DetailChannel -> List.List VegaLite.LabelledSpec -> List.List VegaLite.LabelledSpec"},{"name":"dnAs","comment":" Name the outputs of the [density](#density) transform. The first parameter is the name to\ngive the field containing samples, the second the name to give the field containing\ndensity estimates. If not specified, the default names `value` and `density` will\nbe used.\n","type":"String.String -> String.String -> VegaLite.DensityProperty"},{"name":"dnBandwidth","comment":" The bandwidth (standard deviation) of the Gaussian kernel used in KDE estimation.\nIf 0 or unspecified, the bandwidth will be calculated using\n[Scott's method](https://stats.stackexchange.com/questions/90656/kernel-bandwidth-scotts-vs-silvermans-rules).\nUsed by [density](#density).\n","type":"Basics.Float -> VegaLite.DensityProperty"},{"name":"dnCounts","comment":" Whether [density](#density) estimates should generate counts (true) or probabilities (false).\nIf unspecified, probabilities will be generated.\n","type":"Basics.Bool -> VegaLite.DensityProperty"},{"name":"dnCumulative","comment":" Whether or not [density](#density) estimates will be cumulative. If unspecified, non-cumulative\nestimates will be generated.\n","type":"Basics.Bool -> VegaLite.DensityProperty"},{"name":"dnExtent","comment":" The min (first parameter) - max (second parameter) domain from which to sample\na distribution for [density](#density) estimation. If unspecified, the full extent of input\nvalues will be sampled.\n","type":"Basics.Float -> Basics.Float -> VegaLite.DensityProperty"},{"name":"dnGroupBy","comment":" The data fields to group by when estimating [density](#density). If not specified, a single\ngroup containing all data objects will be used.\n","type":"List.List String.String -> VegaLite.DensityProperty"},{"name":"dnMaxSteps","comment":" The maximum number of samples to take when estimating [density](#density). Default is 200.\n","type":"Basics.Int -> VegaLite.DensityProperty"},{"name":"dnMinSteps","comment":" The minimum number of samples to take from the extent domain when estimating\n[density](#density). Default is 25.\n","type":"Basics.Int -> VegaLite.DensityProperty"},{"name":"dnSteps","comment":" The exact number of samples to take from the extent domain when estimating\n[density](#density). Will override [dnMinSteps](#dnMinSteps) and [dnMaxSteps](#dnMaxSteps)\nand is useful in conjunction with a fixed extent to ensure consistent sample points\nfor stacked densities.\n","type":"Basics.Int -> VegaLite.DensityProperty"},{"name":"doDts","comment":" Date-time values that define a [scDomain](#scDomain).\n","type":"List.List (List.List VegaLite.DateTime) -> VegaLite.ScaleDomain"},{"name":"doDtsExpr","comment":" Expression that should evaluate to a list of date-times that define a [scDomain](#scDomain).\n","type":"String.String -> VegaLite.ScaleDomain"},{"name":"doMax","comment":" Set the maximum value of a continuous numeric domain. The minimum will be\ndetermined by the data. To set both the min and max values use [doNums](#doNums).\nUsed by [scDomain](#scDomain).\n","type":"Basics.Float -> VegaLite.ScaleDomain"},{"name":"doMaxDt","comment":" Set the maximum value of a date-time domain. The minimum will be determined\nby the data. To set both the min and max values use [doDts](#doDts). Used by [scDomain](#scDomain).\n","type":"List.List VegaLite.DateTime -> VegaLite.ScaleDomain"},{"name":"doMaxDtExpr","comment":" Set the maximum value of a date-time domain with an expression that evaluates\nto a date-time. Used by [scDomain](#scDomain).\n","type":"String.String -> VegaLite.ScaleDomain"},{"name":"doMid","comment":" Set the midpoint of continuous two-point diverging domain. Useful when the\ndomain is not symmetric about the given midpoint but you wish to use a color\nscheme that diverges equally from that point. Used by [scDomain](#scDomain).\n","type":"Basics.Float -> VegaLite.ScaleDomain"},{"name":"doMin","comment":" Set the minimum value of a continuous numeric domain. The maximum will be\ndetermined by the data. To set both the min and max values use [doNums](#doNums).\nUsed by [scDomain](#scDomain).\n","type":"Basics.Float -> VegaLite.ScaleDomain"},{"name":"doMinDt","comment":" Set the minimum value of a date-time domain. The maximum will be determined\nby the data. To set both the min and max values use [doDts](#doDts). Used by [scDomain](#scDomain).\n","type":"List.List VegaLite.DateTime -> VegaLite.ScaleDomain"},{"name":"doMinDtExpr","comment":" Set the minimum value of a date-time domain with an expression that evaluates\nto a date-time. Used by [scDomain](#scDomain).\n","type":"String.String -> VegaLite.ScaleDomain"},{"name":"doNumExpr","comment":" Provide an [expression](https://vega.github.io/vega/docs/expressions/) to\na domain scale property function requiring a numeric value. This can be used for\ninteractive parameterisation when an expression is bound to an input element.\nFor example,\n\n    ps =\n        params\n            << param \"upper\"\n                [ paValue (num 50)\n                , paBind (ipRange [ inMax 100 ])\n                ]\n\n    enc =\n        encoding\n            << position X\n                [ pName \"x\"\n                , pScale [ scDomain (doNumExpr \"upper\" doMax) ]\n                ]\n\n","type":"String.String -> (number -> VegaLite.ScaleDomain) -> VegaLite.ScaleDomain"},{"name":"doNums","comment":" Numeric values that define a [scDomain](#scDomain).\n","type":"List.List Basics.Float -> VegaLite.ScaleDomain"},{"name":"doSelection","comment":" Scale domain based on a named interactive selection. This can be used when\nprojecting a selection across a single domain or equally across several domains.\nUsed by [scDomain](#scDomain).\n","type":"String.String -> VegaLite.ScaleDomain"},{"name":"doSelectionChannel","comment":" Scale domain based on a named interactive selection (first parameter) and project\nit across the given channel (second parameter). Useful when, for example, you wish\nto project a 2d interval selection across the X and Y channels each with independent\ndomains. Used by [scDomain](#scDomain).\n","type":"String.String -> VegaLite.Channel -> VegaLite.ScaleDomain"},{"name":"doSelectionField","comment":" Scale domain based on a named interactive selection (first parameter) and project\nit across the given field (second parameter). Useful when, for example, you wish\nto project a 2d interval selection across the X and Y channels each with independent\ndomains. Used by [scDomain](#scDomain).\n","type":"String.String -> String.String -> VegaLite.ScaleDomain"},{"name":"doStrs","comment":" String values that define a [scDomain](#scDomain).\n","type":"List.List String.String -> VegaLite.ScaleDomain"},{"name":"doUnaggregated","comment":" Indicate that a domain of aggregated data should be scaled to the domain of\nthe data prior to aggregation. Used by [scDomain](#scDomain).\n","type":"VegaLite.ScaleDomain"},{"name":"doUnionWith","comment":" Combine the given domain with that determined by the data. This allows a minimal\ndomain to be set that may be exceeded if the data determine so. For example, the\nfollowing sets a domain of at least 0 to 100, but can be exceeded if the data\nextend beyond the domain:\n\n    pScale [ scDomain (doUnionWith (doNums [ 0, 100 ])) ]\n\n","type":"VegaLite.ScaleDomain -> VegaLite.ScaleDomain"},{"name":"domainRangeMap","comment":" Create a pair of continuous domain to color mappings suitable for customising\nordered scales. The first parameter is a tuple representing the mapping of the lowest\nnumeric value in the domain to its equivalent color; the second tuple the mapping\nof the highest numeric value to color. If the domain contains any values between\nthese lower and upper bounds they are interpolated according to the scale's interpolation\nfunction. Convenience function equivalent to specifying separate `scDomain` and\n`scRange` lists and is safer as it guarantees a one-to-one correspondence between\ndomain and range values.\n\n    color\n        [ mName \"year\"\n        , mOrdinal\n        , mScale (domainRangeMap ( 1955, \"#e6959c\" ) ( 2000, \"#911a24\" ))\n        ]\n\n","type":"( Basics.Float, String.String ) -> ( Basics.Float, String.String ) -> List.List VegaLite.ScaleProperty"},{"name":"dsv","comment":" Specify a custom delimited file format (DSV) with a given separator when\nreading a data file. Used by [dataFromUrl](#dataFromUrl). For example,\n\n    myData : Data\n    myData =\n        dataFromUrl \"myData\" [ dsv '|' ]\n\n","type":"Char.Char -> VegaLite.Format"},{"name":"dt","comment":" Date-time data value. Used by [dataRow](#dataRow), [paValue](#paValue), [pDatum](#pDatum), [mDatum](#mDatum),\n[tDatum](#tDatum), [datumArray](#datumArray), [inDatumOptions](#inDatumOptions), [imNewValue](#imNewValue),\n[fiEqual](#fiEqual), [fiLessThan](#fiLessThan), [fiLessThanEq](#fiLessThanEq), [fiGreaterThan](#fiGreaterThan),\n[fiGreaterThanEq](#fiGreaterThanEq) and [fiOneOf](#fiOneOf).\n","type":"List.List VegaLite.DateTime -> VegaLite.DataValue"},{"name":"dtDate","comment":" Day of the month (1 to 31). Used by [dt](#dt), [dtRange](#dtRange), [doMinDt](#doMinDt) and [doMaxDt](#doMaxDt).\n","type":"Basics.Int -> VegaLite.DateTime"},{"name":"dtDay","comment":" Day of the week. Used by [dt](#dt), [dtRange](#dtRange), [doMinDt](#doMinDt) and [doMaxDt](#doMaxDt).\n","type":"VegaLite.DayName -> VegaLite.DateTime"},{"name":"dtHour","comment":" Hour of the day (0=midnight, 1=1am, 23=11pm etc.). Used by [dt](#dt), [dtRange](#dtRange),\n[doMinDt](#doMinDt) and [doMaxDt](#doMaxDt).\n","type":"Basics.Int -> VegaLite.DateTime"},{"name":"dtMillisecond","comment":" Millisecond of a second (0-999). Used by [dt](#dt), [dtRange](#dtRange), [doMinDt](#doMinDt)\nand [doMaxDt](#doMaxDt).\n","type":"Basics.Int -> VegaLite.DateTime"},{"name":"dtMinute","comment":" Minute of an hour (0-59). Used by [dt](#dt), [dtRange](#dtRange), [doMinDt](#doMinDt)\nand [doMaxDt](#doMaxDt).\n","type":"Basics.Int -> VegaLite.DateTime"},{"name":"dtMonth","comment":" Month of a year. Used by [dt](#dt), [dtRange](#dtRange), [doMinDt](#doMinDt)\nand [doMaxDt](#doMaxDt).\n","type":"VegaLite.MonthName -> VegaLite.DateTime"},{"name":"dtMonthNum","comment":" Deprecated: Instead use [dtMonth](#dtMonth) instead. This will likely be removed\nin the next major release as it was redundant.\n","type":"VegaLite.MonthName -> VegaLite.DateTime"},{"name":"dtQuarter","comment":" Year quarter (1 to 4). Used by [dt](#dt), [dtRange](#dtRange), [doMinDt](#doMinDt)\nand [doMaxDt](#doMaxDt).\n","type":"Basics.Int -> VegaLite.DateTime"},{"name":"dtRange","comment":" Min max date-time range to be used in data filtering. If either parameter is an\nempty list, it is assumed to be unbounded. Used by [fiRange](#fiRange).\n","type":"List.List VegaLite.DateTime -> List.List VegaLite.DateTime -> VegaLite.FilterRange"},{"name":"dtSecond","comment":" Second of a minute (0-59). Used by [dt](#dt), [dtRange](#dtRange), [doMinDt](#doMinDt)\nand [doMaxDt](#doMaxDt).\n","type":"Basics.Int -> VegaLite.DateTime"},{"name":"dtYear","comment":" A year. Used by [dt](#dt), [dtRange](#dtRange), [doMinDt](#doMinDt)\nand [doMaxDt](#doMaxDt).\n","type":"Basics.Int -> VegaLite.DateTime"},{"name":"dts","comment":" List of date-time data values. Used when declaring inline data with\n[dataColumn](#dataColumn), filtering ([fiOneOf](#fiOneOf)), imputation\n([imKeyVals](#imKeyVals)) and customised sorting ([soCustom](#soCustom)).\n","type":"List.List (List.List VegaLite.DateTime) -> VegaLite.DataValues"},{"name":"encoding","comment":" Create an encoding specification from a list of channel encodings. These are\ncommonly built by chaining series of channel encoding functions together such as\n[position](#position), [color](#color), [size](#size) etc.\n\n    enc =\n        encoding\n            << position X [ pName \"month\", pTemporal ]\n            << position Y [ pName \"score\", pQuant ]\n            << color [ mName \"team\" ]\n\n","type":"List.List VegaLite.LabelledSpec -> ( VegaLite.VLProperty, VegaLite.Spec )"},{"name":"equalEarth","comment":" An [Equal Earth map projection](https://en.wikipedia.org/wiki/Equal_Earth_projection)\nthat provides a reasonable shape approximation while retaining relative areas.\nUsed by [prType](#prType).\n","type":"VegaLite.Projection"},{"name":"equirectangular","comment":" An equirectangular map projection that maps longitude to x and latitude to y.\nWhile showing less area distortion towards the poles than the [mercator](#mercator)\nprojection, it is neither equal-area nor conformal. Used by [prType](#prType).\n","type":"VegaLite.Projection"},{"name":"errorband","comment":" [Errorband composite mark](https://vega.github.io/vega-lite/docs/errorband.html)\nfor showing summaries of variation along a signal. By default no border is drawn.\nTo add a border use [maBorders](#maBorders) with an empty list for default border,\nor mark properties to customise.\n\n    errorband [ maBorders [ maColor \"black\", maStrokeWidth 0.5 ] ]\n\n","type":"List.List VegaLite.MarkProperty -> ( VegaLite.VLProperty, VegaLite.Spec )"},{"name":"errorbar","comment":" [Errorbar composite mark](https://vega.github.io/vega-lite/docs/errorbar.html)\nfor showing summaries of variation along a signal. By default no ticks are drawn.\nTo add ticks with use [maTicks](#maTicks) with an empty list for default appearance,\nor with a list of mark properties to customise.\n\n    errorbar [ maTicks [ maColor \"black\", maSize 8 ] ]\n\n","type":"List.List VegaLite.MarkProperty -> ( VegaLite.VLProperty, VegaLite.Spec )"},{"name":"exCi","comment":" Band extent between the 95% confidence intervals of a distribution. Used by\n[maExtent](#maExtent).\n","type":"VegaLite.SummaryExtent"},{"name":"exIqr","comment":" Band extent between the lower and upper quartiles of a distribution. Used by\n[maExtent](#maExtent).\n","type":"VegaLite.SummaryExtent"},{"name":"exIqrScale","comment":" A scaling of the interquartile range to be used as whiskers in a boxplot.\nFor example, a value of 1.5 would extend whiskers to ±1.5x the IQR from the mean.\nUsed by [maExtent](#maExtent).\n","type":"Basics.Float -> VegaLite.SummaryExtent"},{"name":"exRange","comment":" Band extent between the minimum and maximum values in a distribution. Used by\n[maExtent](#maExtent).\n","type":"VegaLite.SummaryExtent"},{"name":"exStderr","comment":" Band extent as the standard error about the mean of a distribution. Used by [maExtent](#maExtent).\n","type":"VegaLite.SummaryExtent"},{"name":"exStdev","comment":" Band extent as the standard deviation of a distribution. Used by [maExtent](#maExtent).\n","type":"VegaLite.SummaryExtent"},{"name":"expr","comment":" Expression that should evaluate to either true or false. Can use any valid\n[Vega expression](https://vega.github.io/vega/docs/expressions/). Used by [prTest](#prTest),\n[fiCompose](#fiCompose), [axDataCondition](#axDataCondition), [and](#and), [or](#or) and [not](#not).\n","type":"String.String -> VegaLite.BooleanOp"},{"name":"fAggregate","comment":" Compute some aggregate summary statistics for a field to be encoded with a\nfacet channel. The type of aggregation is determined by the given operation\nparameter. Used by [row](#row), [column](#column), [rowBy](#rowBy), [columnBy](#columnBy)\nand [facetFlow](#facetFlow).\n","type":"VegaLite.Operation -> VegaLite.FacetChannel"},{"name":"fAlign","comment":" Alignment to apply to a rows or columns in a facet's sub-plot. Used by [row](#row),\n[column](#column), [rowBy](#rowBy), [columnBy](#columnBy) and [facetFlow](#facetFlow).\n","type":"VegaLite.CompositionAlignment -> VegaLite.FacetChannel"},{"name":"fBin","comment":" Discretize numeric values into bins when encoding with a facet channel. Used by [row](#row),\n[column](#column), [rowBy](#rowBy), [columnBy](#columnBy) and [facetFlow](#facetFlow).\n","type":"List.List VegaLite.BinProperty -> VegaLite.FacetChannel"},{"name":"fCenter","comment":" Whether or not a facet's sub-plots should be centred relative to their respective\nrows or columns. Used by [row](#row), [column](#column), [rowBy](#rowBy), [columnBy](#columnBy)\nand [facetFlow](#facetFlow).\n","type":"Basics.Bool -> VegaLite.FacetChannel"},{"name":"fGeo","comment":" Indicate a data field encoded as a facet property is a geo feature.\nUsed by [row](#row), [column](#column), [rowBy](#rowBy), [columnBy](#columnBy)\nand [facetFlow](#facetFlow).\n","type":"VegaLite.FacetChannel"},{"name":"fHeader","comment":" Guide that spans a collection of faceted plots, each of which may have their own axes.\nUsed by [row](#row), [column](#column), [rowBy](#rowBy), [columnBy](#columnBy)\nand [facetFlow](#facetFlow).\n","type":"List.List VegaLite.HeaderProperty -> VegaLite.FacetChannel"},{"name":"fName","comment":" Name of field used for encoding with a facet channel. Used by [row](#row), [column](#column),\n[rowBy](#rowBy), [columnBy](#columnBy) and [facetFlow](#facetFlow).\n","type":"String.String -> VegaLite.FacetChannel"},{"name":"fNominal","comment":" Indicate a data field encoded as a facet property is nominal. This is the\ndefault data type. Used by [row](#row), [column](#column), [rowBy](#rowBy),\n[columnBy](#columnBy) and [facetFlow](#facetFlow).\n","type":"VegaLite.FacetChannel"},{"name":"fOrdinal","comment":" Indicate a data field encoded as a facet property is ordinal. Used by [row](#row),\n[column](#column), [rowBy](#rowBy), [columnBy](#columnBy) and [facetFlow](#facetFlow).\n","type":"VegaLite.FacetChannel"},{"name":"fQuant","comment":" Indicate a data field encoded as a facet property is quantitative. Used by [row](#row),\n[column](#column), [rowBy](#rowBy), [columnBy](#columnBy) and [facetFlow](#facetFlow).\n","type":"VegaLite.FacetChannel"},{"name":"fSort","comment":" Sort order for a field when encoding with a faceted channel. Used by [row](#row),\n[column](#column), [rowBy](#rowBy), [columnBy](#columnBy) and [facetFlow](#facetFlow).\n\nFor example,\n\n    row\n        [ fName \"site\"\n        , fOrdinal\n        , fSort [ soByField \"x\" opMedian, soDescending ]\n        ]\n\n","type":"List.List VegaLite.SortProperty -> VegaLite.FacetChannel"},{"name":"fSpacing","comment":" Spacing in pixels between sub-views in a faceted view. Used by [row](#row),\n[column](#column), [rowBy](#rowBy), [columnBy](#columnBy) and [facetFlow](#facetFlow).\n","type":"Basics.Float -> VegaLite.FacetChannel"},{"name":"fTemporal","comment":" Indicate a data field encoded as a facet property is temporal. Used by [row](#row),\n[column](#column), [rowBy](#rowBy), [columnBy](#columnBy) and [facetFlow](#facetFlow).\n","type":"VegaLite.FacetChannel"},{"name":"fTimeUnit","comment":" Form of time unit aggregation of field values when encoding with a facet channel.\nUsed by [row](#row), [column](#column), [rowBy](#rowBy), [columnBy](#columnBy)\nand [facetFlow](#facetFlow).\n","type":"VegaLite.TimeUnit -> VegaLite.FacetChannel"},{"name":"facet","comment":" Facet a view to create a grid of small multiples. Similar to [facetFlow](#facetFlow)\nexcept that the fields for faceting by rows and by columns are set explicitly.\n\n    spec = ...\n    toVegaLite\n        [ facet [ rowBy [ fName \"month\", fOrdinal ]\n                , columnBy [ fName \"week\", fOrdinal ]\n                ]\n        , specification spec\n        ]\n\n","type":"List.List VegaLite.FacetMapping -> ( VegaLite.VLProperty, VegaLite.Spec )"},{"name":"facetFlow","comment":" Facet a view to create small multiples in a flow layout. Used when the encoding\nof the visualization in small multiples is identical, but data for each is grouped\nby the given fields. When creating a faceted view in this way you also need to\ndefine a full specification to apply to each of those facets using `asSpec`.\n\nSmall multiples will be laid out from left to right, moving on to new rows only\nif the number of plots exceeds an optional column limit (specified via\n[columns](#columns)).\n\n    spec = ...\n    toVegaLite\n        [ facetFlow [ fName \"Origin\", fNominal ]\n        , specification spec\n        ]\n\n","type":"List.List VegaLite.FacetChannel -> ( VegaLite.VLProperty, VegaLite.Spec )"},{"name":"facoColumns","comment":" Configuration option for the maximum number of columns to use in a faceted\nflow layout. Used by [coFacet](#coFacet).\n","type":"Basics.Int -> VegaLite.FacetConfig"},{"name":"facoSpacing","comment":" Configuration option for the spacing in pixels between sub-views in a faceted\nview. Used by [coFacet](#coFacet).\n","type":"Basics.Float -> VegaLite.FacetConfig"},{"name":"false","comment":" A false value used for functions that can accept a Boolean literal or a\nreference to something that generates a Boolean value. Convenience function\nequivalent to `boo False`. Used by [dataRow](#dataRow), [paValue](#paValue), [pDatum](#pDatum),\n[mDatum](#mDatum), [tDatum](#tDatum), [datumArray](#datumArray), [inDatumOptions](#inDatumOptions),\n[imNewValue](#imNewValue), [fiEqual](#fiEqual), [fiLessThan](#fiLessThan), [fiLessThanEq](#fiLessThanEq),\n[fiGreaterThan](#fiGreaterThan), [fiGreaterThanEq](#fiGreaterThanEq) and [fiOneOf](#fiOneOf).\n","type":"VegaLite.DataValue"},{"name":"fiCompose","comment":" Build up a filtering predicate through logical composition (`and`, `or` etc.).\nUsed by [filter](#filter), [fiOp](#fiOp) and [fiOpTrans](#fiOpTrans). For example,\nto filter only items selected interactively and that represent ages over 65:\n\n    trans =\n        transform\n            << filter\n                (fiCompose\n                    (and (selected \"brush\") (expr \"datum.age > 65\"))\n                )\n\n","type":"VegaLite.BooleanOp -> VegaLite.Filter"},{"name":"fiEqual","comment":" Filter a data stream so that only data in a given field equal to the given\nvalue are used. Used by [filter](#filter), [fiOp](#fiOp) and [fiOpTrans](#fiOpTrans).\n","type":"String.String -> VegaLite.DataValue -> VegaLite.Filter"},{"name":"fiExpr","comment":" Filter a data stream so that only data that satisfy the given predicate\nexpression are used. Used by [filter](#filter), [fiOp](#fiOp) and [fiOpTrans](#fiOpTrans).\n","type":"String.String -> VegaLite.Filter"},{"name":"fiGreaterThan","comment":" Filter a data stream so that only data in a given field greater than the given\nvalue are used. Used by [filter](#filter), [fiOp](#fiOp) and [fiOpTrans](#fiOpTrans).\n","type":"String.String -> VegaLite.DataValue -> VegaLite.Filter"},{"name":"fiGreaterThanEq","comment":" Filter a data stream so that only data in a given field greater than or equal\nto the given value are used. Used by [filter](#filter), [fiOp](#fiOp) and [fiOpTrans](#fiOpTrans).\n","type":"String.String -> VegaLite.DataValue -> VegaLite.Filter"},{"name":"fiLessThan","comment":" Filter a data stream so that only data in a given field less than the given\nvalue are used. Used by [filter](#filter), [fiOp](#fiOp) and [fiOpTrans](#fiOpTrans).\n","type":"String.String -> VegaLite.DataValue -> VegaLite.Filter"},{"name":"fiLessThanEq","comment":" Filter a data stream so that only data in a given field less than or equal to\nthe given value are used. Used by [filter](#filter), [fiOp](#fiOp) and [fiOpTrans](#fiOpTrans).\n","type":"String.String -> VegaLite.DataValue -> VegaLite.Filter"},{"name":"fiOneOf","comment":" Filter a data stream so that only data in a given field contained in the given\nlist of values are used. Used by [filter](#filter), [fiOp](#fiOp) and [fiOpTrans](#fiOpTrans).\n","type":"String.String -> VegaLite.DataValues -> VegaLite.Filter"},{"name":"fiOp","comment":" Convert a filter into a BooleanOp so that it may be used as part of a more\ncomplex Boolean composition. Used by [prTest](#prTest), [fiCompose](#fiCompose),\n[axDataCondition](#axDataCondition), [and](#and), [or](#or) and [not](#not).\n\n    trans =\n        transform\n            << filter\n                (fiCompose\n                    (and\n                        (fiValid \"IMDB_Rating\" |> fiOp)\n                        (fiValid \"Rotten_Tomatoes_Rating\" |> fiOp)\n                    )\n                )\n\n","type":"VegaLite.Filter -> VegaLite.BooleanOp"},{"name":"fiOpTrans","comment":" Combine a data transformation operation with a filter before converting into\na Boolean operation. This can be useful when working with dates. Used by [prTest](#prTest),\n[fiCompose](#fiCompose), [axDataCondition](#axDataCondition), [and](#and), [or](#or) and [not](#not).\nFor example, the following will aggregate a set of dates into years and filter only those years\nbetween 2010 and 2017 inclusive:\n\n    filter\n        (fiRange \"date\" (dtRange [ dtYear 2010 ] [ dtYear 2017 ])\n            |> fiOpTrans (mTimeUnit year)\n            |> fiCompose\n        )\n\nNote the use of [fiCompose](#fiCompose) to convert the Boolean operation back\ninto a [Filter](#Filter).\n\n","type":"VegaLite.MarkChannel -> VegaLite.Filter -> VegaLite.BooleanOp"},{"name":"fiRange","comment":" Filter a data stream so that only data in a given field that are within the\ngiven range are used. Used by [filter](#filter), [fiOp](#fiOp) and [fiOpTrans](#fiOpTrans).\n\nFor example,\n\n    filter (fiRange \"date\" (dtRange [ dtYear 2006 ] [ dtYear 2016 ]))\n\n","type":"String.String -> VegaLite.FilterRange -> VegaLite.Filter"},{"name":"fiSelection","comment":" Filter a data stream in response to the value of a selection parameter. Useful\nfor creating interactive filtering from a selection. Used by [filter](#filter),\n[fiOp](#fiOp) and [fiOpTrans](#fiOpTrans).\n","type":"String.String -> VegaLite.Filter"},{"name":"fiSelectionEmpty","comment":" Similar to [fiSelection](#fiSelection) except that an empty selection filters\nout all values. Used by [filter](#filter), [fiOp](#fiOp) and [fiOpTrans](#fiOpTrans).\n","type":"String.String -> VegaLite.Filter"},{"name":"fiValid","comment":" Filter a data stream so that only valid data (i.e. not null or NaN) in a given\nfield are used. Used by [filter](#filter), [fiOp](#fiOp) and [fiOpTrans](#fiOpTrans).\n","type":"String.String -> VegaLite.Filter"},{"name":"fill","comment":" Encode a fill channel. This acts in a similar way to encoding by `color` but\nonly affects the interior of closed shapes. If both `fill` and `color` encodings\nare specified, `fill` takes precedence.\n","type":"List.List VegaLite.MarkChannel -> List.List VegaLite.LabelledSpec -> List.List VegaLite.LabelledSpec"},{"name":"fillOpacity","comment":" Encode a fill opacity channel. This acts in a similar way to encoding by `opacity`\nbut only affects the interior of closed shapes. If both `fillOpacity` and `opacity`\nencodings are specified, `fillOpacity` takes precedence.\n","type":"List.List VegaLite.MarkChannel -> List.List VegaLite.LabelledSpec -> List.List VegaLite.LabelledSpec"},{"name":"filter","comment":" Apply a filter to a channel or field that specifies which values will 'pass\nthrough' for encoding. A filter can an [expression](https://vega.github.io/vega/docs/expressions/)\nsuch as,\n\n    trans =\n        transform << filter (fiExpr \"datum.y < 50\")\n\nnoting that to refer to a particular data value, prefix the field name with `datum.`.\nAlternatively a boolean filtering function such as [fiOneOf](#fiOneOf) or\n[fiLessThan](#fiLessThan) can be supplied,\n\n    trans =\n        transform << filter (fiLessThan \"y\" (num 50))\n\n","type":"VegaLite.Filter -> List.List VegaLite.LabelledSpec -> List.List VegaLite.LabelledSpec"},{"name":"flatten","comment":" Map array-valued fields to a set of individual data objects, one per array entry.\n","type":"List.List String.String -> List.List VegaLite.LabelledSpec -> List.List VegaLite.LabelledSpec"},{"name":"flattenAs","comment":" Similar to [flatten](#flatten) but allows the new output fields to be named\n(second parameter).\n","type":"List.List String.String -> List.List String.String -> List.List VegaLite.LabelledSpec -> List.List VegaLite.LabelledSpec"},{"name":"foBoo","comment":" Indicate Boolean data type to be parsed when reading input data. Used by [parse](#parse).\n","type":"VegaLite.DataType"},{"name":"foDate","comment":" Specify a date/time format when [parsing](#parse) input data. Should use\n[D3's formatting specifiers](https://github.com/d3/d3-time-format#locale_format)\nto describe the data-time format or an empty string for default formatting. Used by [parse](#parse).\nFor example,\n\n    myData : Data\n    myData =\n        dataFromUrl \"myDataFile.csv\"\n            [ parse [ ( \"timestamp\", foDate \"%d %b %Y %H:%M\" ) ] ]\n\n","type":"String.String -> VegaLite.DataType"},{"name":"foNum","comment":" Indicate numeric data type to be [parsed](#parse) when reading input data.\nUsed by [parse](#parse).\n","type":"VegaLite.DataType"},{"name":"foUtc","comment":" Similar to [foDate](#foDate) but for [UTC](https://www.utctime.net) format\ndates. Used by [parse](#parse).\n","type":"String.String -> VegaLite.DataType"},{"name":"fold","comment":" Perform a _gather_ operation to _tidy_ a table. Collapse multiple data fields\ninto two new data fields: `key` containing the original data field names and `value`\ncontaining the corresponding data values. This performs the same function as\n['gather' in the Tidy Elm package](https://package.elm-lang.org/packages/gicentre/tidy/latest/Tidy#gather)\nand the [pivot\\_longer](https://tidyr.tidyverse.org/dev/articles/pivot.html) /\n[gather](https://tidyr.tidyverse.org/reference/gather.html) operation in the R\ntidyverse . It is the inverse of [pivot](#pivot).\n\n    data =\n        dataFromColumns []\n            << dataColumn \"city\" (strs [ \"Bristol\", \"Sheffield\", \"Glasgow\" ])\n            << dataColumn \"temp2017\" (nums [ 12, 11, 7 ])\n            << dataColumn \"temp2018\" (nums [ 14, 13, 10 ])\n\n    trans =\n        transform\n            << fold [ \"temp2017\", \"temp2018\" ]\n\n    enc =\n        encoding\n            << position X [ pName \"key\", pNominal ]\n            << position Y [ pName \"city\", pNominal ]\n            << size [ mName \"value\", mQuant ]\n\n","type":"List.List String.String -> List.List VegaLite.LabelledSpec -> List.List VegaLite.LabelledSpec"},{"name":"foldAs","comment":" Similar to [fold](#fold) but allows the new output `key` and `value` fields\nto be given alternative names.\n","type":"List.List String.String -> String.String -> String.String -> List.List VegaLite.LabelledSpec -> List.List VegaLite.LabelledSpec"},{"name":"fromPosixTime","comment":" Convert from Elm's [Time.Posix](https://package.elm-lang.org/packages/elm/time/latest/Time#Posix)\nto a [DateTime](#DateTime). Helpful when using Elm's typesafe time processing functions\nas input into Vega-Lite functions that require data-times. For example,\n\n    myTime : Time.Posix\n    myTime = ...\n\n    enc =\n        encoding\n            << position X\n                [ pName \"dt\"\n                , pTemporal\n                , pScale [ scDomain <| doMinDt <| fromPosixTime myTime ]\n                ]\n\n","type":"Time.Posix -> List.List VegaLite.DateTime"},{"name":"ftFunction","comment":" Field titles to be displayed as 'SUM(field)', 'YEAR(date)' etc. Used by [coFieldTitle](#coFieldTitle).\n","type":"VegaLite.FieldTitleProperty"},{"name":"ftPlain","comment":" Field titles to be displayed simply by their name without additional text. Used by [coFieldTitle](#coFieldTitle).\n","type":"VegaLite.FieldTitleProperty"},{"name":"ftVerbal","comment":" Field titles to be displayed fully, such as 'Sum of field', 'Year of date' etc.\nUsed by [coFieldTitle](#coFieldTitle).\n","type":"VegaLite.FieldTitleProperty"},{"name":"fwBold","comment":" Specify a bold font weight.\n","type":"VegaLite.FontWeight"},{"name":"fwBolder","comment":" Specify a bolder font weight.\n","type":"VegaLite.FontWeight"},{"name":"fwExpr","comment":" Expression that evaluates to some font weight such as \"bold\", \"lighter\" or \"600\".\n","type":"String.String -> VegaLite.FontWeight"},{"name":"fwLighter","comment":" Specify a lighter font weight.\n","type":"VegaLite.FontWeight"},{"name":"fwNormal","comment":" Specify a normal font weight.\n","type":"VegaLite.FontWeight"},{"name":"fwValue","comment":" Specify a numeric font weight that should be between 100 (lightest) and 900 (boldest).\n","type":"Basics.Int -> VegaLite.FontWeight"},{"name":"geoFeatureCollection","comment":" A collection of geo features to be used in a [geoshape](#geoshape) specification.\nEach feature in this collection can be created with [geometry](#geometry).\n\n    myGeo : Data\n    myGeo =\n        (geoFeatureCollection\n            [ geometry (geoPolygon [ [ ( -3, 59 ), ( -3, 52 ), ( 4, 52 ), ( -3, 59 ) ] ])\n                [ ( \"myRegionName\", str \"Northern region\" ) ]\n            , geometry (geoPolygon [ [ ( -3, 52 ), ( 4, 52 ), ( 4, 45 ), ( -3, 52 ) ] ])\n                [ ( \"myRegionName\", str \"Southern region\" ) ]\n            ]\n            |> dataFromJson\n        )\n            []\n\n","type":"List.List VegaLite.Spec -> VegaLite.Spec"},{"name":"geoLine","comment":" Line [geometry](#geometry) for programmatically creating GeoShapes. Equivalent to the\n[GeoJson geometry `line` type](https://tools.ietf.org/html/rfc7946#section-3.1).\n\n    myGeo : Data\n    myGeo =\n        (geometry (geoLine [ ( -3, 59 ), ( 4, 59 ), ( 4, 52 ) ]) []\n            |> dataFromJson\n        )\n            []\n\n","type":"List.List ( Basics.Float, Basics.Float ) -> VegaLite.Geometry"},{"name":"geoLines","comment":" Multi-line [geometry](#geometry) for programmatically creating GeoShapes. Equivalent\nto the [GeoJson geometry `multi-line` type](https://tools.ietf.org/html/rfc7946#section-3.1).\n\n    myGeo : Data\n    myGeo =\n        (geometry\n            (geoLines\n                [ [ ( -3, 59 ), ( 4, 59 ), ( 4, 52 ) ]\n                , [ ( -4, 57 ), ( 2, 57 ), ( 2, 56 ) ]\n                ]\n            )\n            []\n            |> dataFromJson\n        )\n            []\n\n","type":"List.List (List.List ( Basics.Float, Basics.Float )) -> VegaLite.Geometry"},{"name":"geoPoint","comment":" Point [geometry](#geometry) for programmatically creating GeoShapes. Equivalent to\nthe [GeoJson geometry `point` type](https://tools.ietf.org/html/rfc7946#section-3.1).\n\n    myGeo : Data\n    myGeo =\n        (geometry (geoPoint -3.5 55.5) []\n            |> dataFromJson\n        )\n            []\n\n","type":"Basics.Float -> Basics.Float -> VegaLite.Geometry"},{"name":"geoPoints","comment":" Multi-point [geometry](#geometry) for programmatically creating GeoShapes. Equivalent\nto the [GeoJson geometry `multi-point` type](https://tools.ietf.org/html/rfc7946#section-3.1).\n\n    myGeo : Data\n    myGeo =\n        (geometry (geoPoints [ ( -4, 55 ), ( -3, 59 ), ( -3, 56 ) ]) []\n            |> dataFromJson\n        )\n            []\n\n","type":"List.List ( Basics.Float, Basics.Float ) -> VegaLite.Geometry"},{"name":"geoPolygon","comment":" Polygon [geometry](#geometry) for programmatically creating GeoShapes. Equivalent\nto the [GeoJson geometry `polygon` type](https://tools.ietf.org/html/rfc7946#section-3.1).\n\n    myGeo : Data\n    myGeo =\n        (geometry (geoPolygon [ [ ( -3, 59 ), ( 4, 59 ), ( 4, 52 ), ( -3, 59 ) ] ]) []\n            |> dataFromJson\n        )\n            []\n\n","type":"List.List (List.List ( Basics.Float, Basics.Float )) -> VegaLite.Geometry"},{"name":"geoPolygons","comment":" Multi-polygon [geometry](#geometry) for programmatically creating GeoShapes. Equivalent\nto the [GeoJson geometry `multi-polygon` type](https://tools.ietf.org/html/rfc7946#section-3.1).\n\n    myGeo : Data\n    myGeo =\n        (geometry\n            (geoPolygons\n                [ [ [ ( -3, 59 ), ( 4, 59 ), ( 4, 52 ), ( -3, 59 ) ] ]\n                , [ [ ( -4, 57 ), ( 2, 57 ), ( 2, 56 ), ( -4, 57 ) ] ]\n                ]\n            )\n            []\n            |> dataFromJson\n        )\n            []\n\n","type":"List.List (List.List (List.List ( Basics.Float, Basics.Float ))) -> VegaLite.Geometry"},{"name":"geometry","comment":" Specify a geometric object. The first parameter is the geometry type,\nthe second an optional list of properties to be associated with the object.\n\n    myGeo : Data\n    myGeo =\n        (geometry (geoPoints [ ( -4, 55 ), ( 3, 59 ) ]) []\n            |> dataFromJson\n        )\n            []\n\n","type":"VegaLite.Geometry -> List.List ( String.String, VegaLite.DataValue ) -> VegaLite.Spec"},{"name":"geometryCollection","comment":" Collection of [geometry](#geometry) objects that make up a single feature. Can be used in\na [geoshape](#geoshape) specification. Each geometry object can be created with\n[geometry](#geometry).\n\n    myGeo : Data\n    myGeo =\n        (geometryCollection\n            [ geometry (geoPolygon [ [ ( -3, 59 ), ( 4, 59 ), ( 4, 52 ), ( -3, 59 ) ] ]) []\n            , geometry (geoPoint -3.5 55.5) []\n            ]\n            |> dataFromJson\n        )\n            []\n\n","type":"List.List VegaLite.Spec -> VegaLite.Spec"},{"name":"geoshape","comment":" Display a [geoshape](https://vega.github.io/vega-lite/docs/geoshape.html)\ndetermined by geographically referenced coordinates.\n\n    myMap : Spec\n    myMap =\n        let\n            myData =\n                dataFromUrl \"https://gicentre.github.io/data/geoTutorials/londonBoroughs.json\"\n                    [ topojsonFeature \"boroughs\" ]\n\n            proj =\n                projection\n                    [ prType transverseMercator\n                    , prRotate 2 0 0\n                    ]\n        in\n        toVegaLite\n            [ myData\n            , proj\n            , geoshape\n                [ maFill \"lightgrey\"\n                , maStroke \"white\"\n                ]\n            ]\n\n","type":"List.List VegaLite.MarkProperty -> ( VegaLite.VLProperty, VegaLite.Spec )"},{"name":"gnomonic","comment":" A gnomonic map projection. Used by [prType](#prType).\n","type":"VegaLite.Projection"},{"name":"grExtent","comment":" Set the extent of both major and minor [graticule](#graticule) lines. The first\nparameter is a (longitude,latitude) pair defining the minimum extent, the second\nparameter the maximum extent.\n","type":"( Basics.Float, Basics.Float ) -> ( Basics.Float, Basics.Float ) -> VegaLite.GraticuleProperty"},{"name":"grExtentMajor","comment":" Set the extent of major [graticule](#graticule) lines. The first parameter is\na (longitude,latitude) pair defining the minimum extent, the second parameter\nthe maximum extent.\n","type":"( Basics.Float, Basics.Float ) -> ( Basics.Float, Basics.Float ) -> VegaLite.GraticuleProperty"},{"name":"grExtentMinor","comment":" Set the extent of minor [graticule](#graticule) lines. The first parameter is\na (longitude,latitude) pair defining the minimum extent, the second parameter\nthe maximum extent.\n","type":"( Basics.Float, Basics.Float ) -> ( Basics.Float, Basics.Float ) -> VegaLite.GraticuleProperty"},{"name":"grLinear","comment":" Indicate a linear color gradient. See the\n[Vega-Lite color gradient documentation](https://vega.github.io/vega-lite/docs/types.html#linear-gradient).\nUsed by [maColorGradient](#maColorGradient), [maFillGradient](#maFillGradient) and\n[maStrokeGradient](#maStrokeGradient).\n","type":"VegaLite.ColorGradient"},{"name":"grPrecision","comment":" The precision of the [graticule](#graticule) in degrees. If unspecified, the\ndefault of 2.5 degrees is used. Smaller values provide a less stepped appearance\nof curved lines but take longer to render.\n","type":"Basics.Float -> VegaLite.GraticuleProperty"},{"name":"grR1","comment":" The radius, normalised to [0, 1], of the inner circle for a radial color gradient.\nDefault is 0. Used by [maColorGradient](#maColorGradient), [maFillGradient](#maFillGradient)\nand [maStrokeGradient](#maStrokeGradient).\n","type":"Basics.Float -> VegaLite.GradientProperty"},{"name":"grR2","comment":" The radius, normalised to [0, 1], of the outer circle for a radial color gradient.\nDefault is 0.5. Used by [maColorGradient](#maColorGradient), [maFillGradient](#maFillGradient)\nand [maStrokeGradient](#maStrokeGradient).\n","type":"Basics.Float -> VegaLite.GradientProperty"},{"name":"grRadial","comment":" Indicate a radial color gradient. See the\n[Vega-Lite color gradient documentation](https://vega.github.io/vega-lite/docs/types.html#radial-gradient).\nUsed by [maColorGradient](#maColorGradient), [maFillGradient](#maFillGradient) and\n[maStrokeGradient](#maStrokeGradient).\n","type":"VegaLite.ColorGradient"},{"name":"grStep","comment":" Set the step sizes between all [graticule](#graticule) lines. The parameter is a\n(longitude,latitude) pair defining the EW and NS graticule intervals respectively.\n","type":"( Basics.Float, Basics.Float ) -> VegaLite.GraticuleProperty"},{"name":"grStepMajor","comment":" Set the step sizes between major [graticule](#graticule) lines. By default,\nmajor graticule lines extend to both poles, but minor lines stop at ±80 degrees\nlatitude. The parameter is a (longitude,latitude) pair defining the EW and NS\ngraticule intervals respectively.\n","type":"( Basics.Float, Basics.Float ) -> VegaLite.GraticuleProperty"},{"name":"grStepMinor","comment":" Set the step sizes between minor [graticule](#graticule) lines. While major\ngraticule lines extend to both poles, by default minor lines stop at ±80 degrees\nlatitude. The parameter is a (longitude,latitude) pair defining the EW and NS\ngraticule intervals respectively.\n","type":"( Basics.Float, Basics.Float ) -> VegaLite.GraticuleProperty"},{"name":"grStops","comment":" Color interpolation points. Each tuple in the list is a position normalised\n[0, 1] and its associated color. Used by [maColorGradient](#maColorGradient),\n[maFillGradient](#maFillGradient) and [maStrokeGradient](#maStrokeGradient).\n","type":"List.List ( Basics.Float, String.String ) -> VegaLite.GradientProperty"},{"name":"grX1","comment":" The x-coordinate, normalised to [0, 1], for the start of a color gradient. If\nthe gradient is linear the default is 0; if radial, it is the x-position of the\ncentre of the inner circle with a default of 0.5. Used by [maColorGradient](#maColorGradient),\n[maFillGradient](#maFillGradient) and [maStrokeGradient](#maStrokeGradient).\n","type":"Basics.Float -> VegaLite.GradientProperty"},{"name":"grX2","comment":" The x-coordinate, normalised to [0, 1], for the end of a color gradient. If\nthe gradient is linear the default is 1; if radial, it is the x-position of the\ncentre of the outer circle with a default of 0.5. Used by [maColorGradient](#maColorGradient),\n[maFillGradient](#maFillGradient) and [maStrokeGradient](#maStrokeGradient).\n","type":"Basics.Float -> VegaLite.GradientProperty"},{"name":"grY1","comment":" The y-coordinate, normalised to [0, 1], for the start of a color gradient. If\nthe gradient is linear the default is 0; if radial, it is the y-position of the\ncentre of the inner circle with a default of 0.5. Used by [maColorGradient](#maColorGradient),\n[maFillGradient](#maFillGradient) and [maStrokeGradient](#maStrokeGradient).\n","type":"Basics.Float -> VegaLite.GradientProperty"},{"name":"grY2","comment":" The y-coordinate, normalised to [0, 1], for the end of a color gradient. If\nthe gradient is linear the default is 1; if radial, it is the y-position of the\ncentre of the outer circle with a default of 0.5. Used by [maColorGradient](#maColorGradient),\n[maFillGradient](#maFillGradient) and [maStrokeGradient](#maStrokeGradient).\n","type":"Basics.Float -> VegaLite.GradientProperty"},{"name":"graticule","comment":" Generate a grid of lines of longitude (meridians) and latitude (parallels).\nThe parameter can be used to specify the number and extent of lines, or to use\ndefault values, provide an empty list.\n\n    myGlobe : Spec\n    myGlobe =\n        let\n            proj =\n                projection [ prType orthographic ]\n\n            sphereSpec =\n                asSpec [ sphere, geoshape [ maFill \"aliceblue\" ] ]\n\n            gratSpec =\n                asSpec\n                    [ graticule [ grStep ( 15, 15 ) ]\n                    , geoshape [ maFilled False ]\n                    ]\n        in\n        toVegaLite [ proj, layer [ sphereSpec, gratSpec ] ]\n\n","type":"List.List VegaLite.GraticuleProperty -> VegaLite.Data"},{"name":"hAggregate","comment":" Compute some aggregate summary statistics for a field to be encoded with a\nhyperlink channel. The type of aggregation is determined by the given operation\nparameter. Used by [hyperlink](#hyperlink) and [url](#url).\n","type":"VegaLite.Operation -> VegaLite.HyperlinkChannel"},{"name":"hBin","comment":" Discretize numeric values into bins when encoding with a hyperlink channel.\nUsed by [hyperlink](#hyperlink) and [url](#url).\n","type":"List.List VegaLite.BinProperty -> VegaLite.HyperlinkChannel"},{"name":"hBinned","comment":" Indicate that data encoded with a hyperlink channel are already binned.\nUsed by [hyperlink](#hyperlink) and [url](#url).\n","type":"VegaLite.HyperlinkChannel"},{"name":"hConcat","comment":" Specifications to be juxtaposed horizontally in a column layout of views.\n","type":"List.List VegaLite.Spec -> ( VegaLite.VLProperty, VegaLite.Spec )"},{"name":"hCondition","comment":" Make a hyperlink channel encoding conditional on a predicate expression. A predicate\nmight be the result of evaluating a parameter ([prParam](#prParam)) or an expression\n([prTest](#prTest)). The first parameter is the predicate that evaluates to true\nor false; the second the encoding if true, the third the encoding if false.\nUsed by [hyperlink](#hyperlink) and [url](#url).\n","type":"VegaLite.Predicate -> List.List VegaLite.HyperlinkChannel -> List.List VegaLite.HyperlinkChannel -> VegaLite.HyperlinkChannel"},{"name":"hGeo","comment":" Indicate a data field encoded as a hyperlink property is a geo feature.\nUsed by [hyperlink](#hyperlink) and [url](#url).\n","type":"VegaLite.HyperlinkChannel"},{"name":"hName","comment":" Name of field used for encoding with a hyperlink channel.\nUsed by [hyperlink](#hyperlink) and [url](#url).\n","type":"String.String -> VegaLite.HyperlinkChannel"},{"name":"hNominal","comment":" Indicate a data field encoded as a hyperlink or url property is nominal.\nThis is the default data type. Used by [hyperlink](#hyperlink) and [url](#url).\n","type":"VegaLite.HyperlinkChannel"},{"name":"hOrdinal","comment":" Indicate a data field encoded as a hyperlink property is ordinal. Used by\n[hyperlink](#hyperlink) and [url](#url).\n","type":"VegaLite.HyperlinkChannel"},{"name":"hQuant","comment":" Indicate a data field encoded as a hyperlink or url property is quantitative.\nUsed by [hyperlink](#hyperlink) and [url](#url).\n","type":"VegaLite.HyperlinkChannel"},{"name":"hRepeat","comment":" Reference in a hyperlink channel to a field name generated by [repeatFlow](#repeatFlow)\nor [repeat](#repeat). The parameter identifies whether reference is being made to\nfields that are to be arranged in columns, in rows or a with a flow layout.\nUsed by [hyperlink](#hyperlink) and [url](#url).\n","type":"VegaLite.Arrangement -> VegaLite.HyperlinkChannel"},{"name":"hStr","comment":" Literal string value when encoding with a hyperlink channel. Used by\n[hyperlink](#hyperlink) and [url](#url).\n","type":"String.String -> VegaLite.HyperlinkChannel"},{"name":"hTemporal","comment":" Indicate a data field encoded as a hyperlink or url property is temporal.\n","type":"VegaLite.HyperlinkChannel"},{"name":"hTimeUnit","comment":" Time unit aggregation of field values when encoding with a hyperlink channel.\nUsed by [hyperlink](#hyperlink) and [url](#url).\n","type":"VegaLite.TimeUnit -> VegaLite.HyperlinkChannel"},{"name":"haCenter","comment":" Center horizontal text alignment. Used by [maAlign](#maAlign),\n[axLabelAlign](#axLabelAlign), [cAxLabelAlign](#cAxLabelAlign), [axTitleAlign](#axTitleAlign),\n[leLabelAlign](#leLabelAlign), [leTitleAlign](#leTitleAlign), [hdLabelAlign](#hdLabelAlign),\n[hdTitleAlign](#hdTitleAlign), [axcoLabelAlign](#axcoLabelAlign), [axcoTitleAlign](#axcoTitleAlign),\n[lecoLabelAlign](#lecoLabelAlign) and [lecoTitleAlign](#lecoTitleAlign).\n","type":"VegaLite.HAlign"},{"name":"haExpr","comment":" Expression that evaluates to some text alignment such as \"left\", \"right\" or\n\"center\". Used by [maAlign](#maAlign), [axLabelAlign](#axLabelAlign), [cAxLabelAlign](#cAxLabelAlign),\n[axTitleAlign](#axTitleAlign), [leLabelAlign](#leLabelAlign), [leTitleAlign](#leTitleAlign),\n[hdLabelAlign](#hdLabelAlign), [hdTitleAlign](#hdTitleAlign), [axcoLabelAlign](#axcoLabelAlign),\n[axcoTitleAlign](#axcoTitleAlign), [lecoLabelAlign](#lecoLabelAlign) and [lecoTitleAlign](#lecoTitleAlign).\nCan be used, for example, to align text to the left or right depending\non whether data values are positive or negative:\n\n    maAlign (haExpr \"datum.x < 0 ? 'right' : 'left'\")\n\n","type":"String.String -> VegaLite.HAlign"},{"name":"haLeft","comment":" Left horizontal text alignment. Used by [maAlign](#maAlign), [axLabelAlign](#axLabelAlign),\n[cAxLabelAlign](#cAxLabelAlign), [axTitleAlign](#axTitleAlign), [leLabelAlign](#leLabelAlign),\n[leTitleAlign](#leTitleAlign), [hdLabelAlign](#hdLabelAlign), [hdTitleAlign](#hdTitleAlign),\n[axcoLabelAlign](#axcoLabelAlign), [axcoTitleAlign](#axcoTitleAlign), [lecoLabelAlign](#lecoLabelAlign)\nand [lecoTitleAlign](#lecoTitleAlign).\n","type":"VegaLite.HAlign"},{"name":"haRight","comment":" Right horizontal text alignment. Used by [maAlign](#maAlign), [axLabelAlign](#axLabelAlign),\n[cAxLabelAlign](#cAxLabelAlign), [axTitleAlign](#axTitleAlign), [leLabelAlign](#leLabelAlign),\n[leTitleAlign](#leTitleAlign), [hdLabelAlign](#hdLabelAlign), [hdTitleAlign](#hdTitleAlign),\n[axcoLabelAlign](#axcoLabelAlign), [axcoTitleAlign](#axcoTitleAlign), [lecoLabelAlign](#lecoLabelAlign)\nand [lecoTitleAlign](#lecoTitleAlign).\n","type":"VegaLite.HAlign"},{"name":"hcl","comment":" HCL color interpolation for continuous color scales.\n","type":"VegaLite.CInterpolate"},{"name":"hclLong","comment":" HCL color interpolation in polar coordinate space for continuous color scales.\n","type":"VegaLite.CInterpolate"},{"name":"hdFormat","comment":" [Formatting pattern](https://vega.github.io/vega-lite/docs/format.html) for\nfacet header (title) values. To distinguish between formatting as numeric values\nand data/time values, additionally use [hdFormatAsNum](#hdFormatAsNum),\n[hdFormatAsTemporal](#hdFormatAsTemporal) or [hdFormatAsCustom](#hdFormatAsCustom).\nUsed by [fHeader](#fHeader) and [coHeader](#coHeader).\n","type":"String.String -> VegaLite.HeaderProperty"},{"name":"hdFormatAsCustom","comment":" Indicate that facet headers should be formatted with a registered custom formatter\nwith the given name. See [how to register a Vega-Lite custom formatter](https://vega.github.io/vega-lite/usage/compile.html#format-type).\nUsed by [fHeader](#fHeader) and [coHeader](#coHeader).\n","type":"String.String -> VegaLite.HeaderProperty"},{"name":"hdFormatAsNum","comment":" Indicate that facet headers should be formatted as numbers. To control the\nprecise numeric format, additionally use [hdFormat](#hdFormat) providing a\n[d3 numeric format string](https://github.com/d3/d3-format#locale_format).\nUsed by [fHeader](#fHeader) and [coHeader](#coHeader).\n","type":"VegaLite.HeaderProperty"},{"name":"hdFormatAsTemporal","comment":" Indicate that facet headers should be formatted as dates/times. To control the\nprecise temporal format, additionally use [hdFormat](#hdFormat) providing a\n[d3 date/time format string](https://github.com/d3/d3-time-format#locale_format).\nUsed by [fHeader](#fHeader) and [coHeader](#coHeader).\n","type":"VegaLite.HeaderProperty"},{"name":"hdLabelAlign","comment":" Horizontal alignment of header labels. A 'label' is the title for each sub-plot\nin a faceted view. Used by [fHeader](#fHeader) and [coHeader](#coHeader).\n","type":"VegaLite.HAlign -> VegaLite.HeaderProperty"},{"name":"hdLabelAnchor","comment":" Anchor position of header labels. A 'label' is the title for each sub-plot\nin a faceted view. Used by [fHeader](#fHeader) and [coHeader](#coHeader).\n","type":"VegaLite.Anchor -> VegaLite.HeaderProperty"},{"name":"hdLabelAngle","comment":" Header label rotation angle (in degrees from horizontal) for a faceted view.\nA 'label' is the title for each sub-plot in a faceted view. Used by\n[fHeader](#fHeader) and [coHeader](#coHeader).\n","type":"Basics.Float -> VegaLite.HeaderProperty"},{"name":"hdLabelBaseline","comment":" Vertical alignment of header labels. Used by [fHeader](#fHeader) and [coHeader](#coHeader).\n","type":"VegaLite.VAlign -> VegaLite.HeaderProperty"},{"name":"hdLabelColor","comment":" Header label text color for a faceted view. Used by [fHeader](#fHeader)\nand [coHeader](#coHeader).\n","type":"String.String -> VegaLite.HeaderProperty"},{"name":"hdLabelExpr","comment":" [Expression](https://vega.github.io/vega/docs/expressions/) for customising\nheader labels. Can reference `datum.value` and `datum.label` for access to the\nunderlying data values and label text respectively. Used by [fHeader](#fHeader)\nand [coHeader](#coHeader).\n","type":"String.String -> VegaLite.HeaderProperty"},{"name":"hdLabelFont","comment":" Header label font in a faceted view. Used by [fHeader](#fHeader) and\n[coHeader](#coHeader).\n","type":"String.String -> VegaLite.HeaderProperty"},{"name":"hdLabelFontSize","comment":" Header label font size in a faceted view. Used by [fHeader](#fHeader) and\n[coHeader](#coHeader).\n","type":"Basics.Float -> VegaLite.HeaderProperty"},{"name":"hdLabelFontStyle","comment":" Header label font style (e.g. `italic`) in a faceted view. Used by\n[fHeader](#fHeader) and [coHeader](#coHeader).\n","type":"String.String -> VegaLite.HeaderProperty"},{"name":"hdLabelFontWeight","comment":" Header label font weight in a faceted view. Used by [fHeader](#fHeader)\nand [coHeader](#coHeader).\n","type":"VegaLite.FontWeight -> VegaLite.HeaderProperty"},{"name":"hdLabelLimit","comment":" Maximum length of a header label in a faceted view. Used by [fHeader](#fHeader)\nand [coHeader](#coHeader).\n","type":"Basics.Float -> VegaLite.HeaderProperty"},{"name":"hdLabelLineHeight","comment":" Header label line height in a faceted view (useful for multi-line labels).\nUsed by [fHeader](#fHeader) and [coHeader](#coHeader).\n","type":"Basics.Float -> VegaLite.HeaderProperty"},{"name":"hdLabelOrient","comment":" The position of a header label relative to a sub-plot. A 'label' is the title\nfor each sub-plot in a faceted view. Used by [fHeader](#fHeader) and [coHeader](#coHeader).\n","type":"VegaLite.Side -> VegaLite.HeaderProperty"},{"name":"hdLabelPadding","comment":" Spacing in pixels between facet labels and the main plot area. Used by [fHeader](#fHeader)\nand [coHeader](#coHeader).\n","type":"Basics.Float -> VegaLite.HeaderProperty"},{"name":"hdLabels","comment":" Whether or not labels in a faceted view are displayed. Used by [fHeader](#fHeader)\nand [coHeader](#coHeader).\n","type":"Basics.Bool -> VegaLite.HeaderProperty"},{"name":"hdNumExpr","comment":" Provide an [expression](https://vega.github.io/vega/docs/expressions/) to a\nfacet header property function requiring a numeric value. This can be used for interactive\nparameterisation when an expression is bound to an input element. Used by [fHeader](#fHeader)\nand [coHeader](#coHeader).\n\nFor example,\n\n    ps =\n        params\n            << param \"size\"\n                [ paValue (num 12)\n                , paBind (ipRange [ inMax 32 ])\n                ]\n\n    enc =\n        encoding\n            << column\n                [ fName \"country\"\n                , fHeader [ hdNumExpr \"size\" hdLabelFontSize ]\n                ]\n\n","type":"String.String -> (number -> VegaLite.HeaderProperty) -> VegaLite.HeaderProperty"},{"name":"hdOrient","comment":" The relative position of both a header label and title relative to a sub-plot\n(shortcut instead of specifying [hdLabelOrient](#hdLabelOrient) and [hdTitleOrient](#hdTitleOrient)\nseparately). Used by [fHeader](#fHeader) and [coHeader](#coHeader).\n","type":"VegaLite.Side -> VegaLite.HeaderProperty"},{"name":"hdStrExpr","comment":" Provide an [expression](https://vega.github.io/vega/docs/expressions/) to\na facet header property function requiring a string value. This can be used to provide an\ninteractive parameterisation of a header property when an expression is bound to an\ninput element. Used by [fHeader](#fHeader) and [coHeader](#coHeader). For example,\n\n    ps =\n        params\n            << param \"color\"\n                [ paValue (str \"black\")\n                , paBind (ipColor [])\n                ]\n\n    enc =\n        encoding\n            << column\n                [ fName \"country\"\n                , fHeader [ hdStrExpr \"color\" hdLabelColor ]\n                ]\n\n","type":"String.String -> (String.String -> VegaLite.HeaderProperty) -> VegaLite.HeaderProperty"},{"name":"hdTitle","comment":" Header title in a faceted view. A 'title' is the overall title describing the\ncollection of faceted plots. For multi-line titles, insert `\\n` at each line break\nor use a `\"\"\"` multi-line string. Used by [fHeader](#fHeader) and [coHeader](#coHeader).\n","type":"String.String -> VegaLite.HeaderProperty"},{"name":"hdTitleAlign","comment":" Horizontal alignment of header title in a faceted view. Used by [fHeader](#fHeader)\nand [coHeader](#coHeader).\n","type":"VegaLite.HAlign -> VegaLite.HeaderProperty"},{"name":"hdTitleAnchor","comment":" Anchor position of a header title in a faceted view. Used by [fHeader](#fHeader)\nand [coHeader](#coHeader).\n","type":"VegaLite.Anchor -> VegaLite.HeaderProperty"},{"name":"hdTitleAngle","comment":" Text angle of a header title in a faceted view (degrees from horizontal).\nUsed by [fHeader](#fHeader) and [coHeader](#coHeader).\n","type":"Basics.Float -> VegaLite.HeaderProperty"},{"name":"hdTitleBaseline","comment":" Vertical alignment of a header title in a faceted view. Used by [fHeader](#fHeader)\nand [coHeader](#coHeader).\n","type":"VegaLite.VAlign -> VegaLite.HeaderProperty"},{"name":"hdTitleColor","comment":" Text color of a header title in a faceted view. Used by [fHeader](#fHeader)\nand [coHeader](#coHeader).\n","type":"String.String -> VegaLite.HeaderProperty"},{"name":"hdTitleFont","comment":" Title font in a faceted view. Used by [fHeader](#fHeader) and [coHeader](#coHeader).\n","type":"String.String -> VegaLite.HeaderProperty"},{"name":"hdTitleFontSize","comment":" Title font size in a faceted view. Used by [fHeader](#fHeader) and [coHeader](#coHeader).\n","type":"Basics.Float -> VegaLite.HeaderProperty"},{"name":"hdTitleFontStyle","comment":" Header title font style (e.g. `italic`) in a faceted view. Used by [fHeader](#fHeader)\nand [coHeader](#coHeader).\n","type":"String.String -> VegaLite.HeaderProperty"},{"name":"hdTitleFontWeight","comment":" Title font weight in a faceted view. Used by [fHeader](#fHeader) and [coHeader](#coHeader).\n","type":"VegaLite.FontWeight -> VegaLite.HeaderProperty"},{"name":"hdTitleLimit","comment":" Maximum length of a header title in a faceted view. Used by [fHeader](#fHeader)\nand [coHeader](#coHeader).\n","type":"Basics.Float -> VegaLite.HeaderProperty"},{"name":"hdTitleLineHeight","comment":" Header title line height in a faceted view (useful for multi-line titles).\nUsed by [fHeader](#fHeader) and [coHeader](#coHeader).\n","type":"Basics.Float -> VegaLite.HeaderProperty"},{"name":"hdTitleOrient","comment":" The position of a header title relative to a group of sub-plots in a faceted\nview. Used by [fHeader](#fHeader) and [coHeader](#coHeader).\n","type":"VegaLite.Side -> VegaLite.HeaderProperty"},{"name":"hdTitlePadding","comment":" Spacing in pixels between the main facet title and labels. Used by [fHeader](#fHeader)\nand [coHeader](#coHeader).\n","type":"Basics.Float -> VegaLite.HeaderProperty"},{"name":"height","comment":" Override the default height of the visualization. If not specified the height\nwill be calculated based on the content of the visualization. How the content is\nsized relative to this height specification can be customised with [autosize](#autosize).\n","type":"Basics.Float -> ( VegaLite.VLProperty, VegaLite.Spec )"},{"name":"heightOfContainer","comment":" Set the height of the view to be that of the surrounding container. Allows\nresponsive sizing to be specified.\n","type":"( VegaLite.VLProperty, VegaLite.Spec )"},{"name":"heightStep","comment":" Set the height of the discrete y-field (e.g. individual bars in a horizontal\nbar chart). The total height is then calculated based on the number of discrete\nfields (e.g. bars).\n\n    toVegaLite [ heightStep 17, data [], enc [], bar [] ]\n\n","type":"Basics.Float -> ( VegaLite.VLProperty, VegaLite.Spec )"},{"name":"heightStepOffset","comment":" Set the height of the offset-grouped discrete y-fields. The total height is then\ncalculated based on the number of offset discrete fields (e.g. groups of bars with\n`position YOffset` applied).\n","type":"Basics.Float -> ( VegaLite.VLProperty, VegaLite.Spec )"},{"name":"hours","comment":" Hour of the day time unit used for discretizing temporal data.\n","type":"VegaLite.TimeUnit"},{"name":"hoursMinutes","comment":" Hours and minutes time unit used for discretizing temporal data.\n","type":"VegaLite.TimeUnit"},{"name":"hoursMinutesSeconds","comment":" Hours, minutes and seconds time unit used for discretizing temporal data.\n","type":"VegaLite.TimeUnit"},{"name":"hsl","comment":" HSL color interpolation for continuous color scales.\n","type":"VegaLite.CInterpolate"},{"name":"hslLong","comment":" HSL color interpolation in polar coordinate space for continuous color scales.\n","type":"VegaLite.CInterpolate"},{"name":"hyperlink","comment":" Encode a hyperlink channel. The first parameter is a list of hyperlink channel\nproperties that characterise the hyperlinking such as the destination URL and cursor\ntype.\n\n    encData =\n        encoding\n            << hyperlink [ hName \"url\", hNominal ]\n\n    encLiteral =\n        encoding\n            << hyperlink [ hStr \"http://www.imdb.com\" ]\n\n","type":"List.List VegaLite.HyperlinkChannel -> List.List VegaLite.LabelledSpec -> List.List VegaLite.LabelledSpec"},{"name":"identityProjection","comment":" An 'identity' projection where longitude is projected directly to the x position\nand latitude to the y position. Can also reflect either of the coordinates by\nspecifying [prReflectX](#prReflectX) / [prReflectY](#prReflectY) in the list of\nprojection properties. Used by [prType](#prType).\n","type":"VegaLite.Projection"},{"name":"imFrame","comment":" 1d window over which data imputation values are generated. The two\nparameters should either be `Just` a number indicating the offset from the current\ndata object, or `Nothing` to indicate unbounded rows preceding or following the\ncurrent data object. Used by [pImpute](#pImpute).\n","type":"Maybe.Maybe Basics.Int -> Maybe.Maybe Basics.Int -> VegaLite.ImputeProperty"},{"name":"imGroupBy","comment":" Allow imputing of missing values on a per-group basis. For use with the impute\ntransform only and not a channel encoding. Used by [pImpute](#pImpute).\n","type":"List.List String.String -> VegaLite.ImputeProperty"},{"name":"imKeyValSequence","comment":" Key values to be considered for imputation as a sequence of numbers between\na start (first parameter), to less than an end (second parameter) in steps of\nthe third parameter. Used by [pImpute](#pImpute).\n","type":"Basics.Float -> Basics.Float -> Basics.Float -> VegaLite.ImputeProperty"},{"name":"imKeyVals","comment":" Key values to be considered for imputation. Used by [pImpute](#pImpute).\n","type":"VegaLite.DataValues -> VegaLite.ImputeProperty"},{"name":"imMax","comment":" Use maximum of values when imputing missing data. Used by [imMethod](#imMethod).\n","type":"VegaLite.ImMethod"},{"name":"imMean","comment":" Use mean of values when imputing missing data. Used by [imMethod](#imMethod).\n","type":"VegaLite.ImMethod"},{"name":"imMedian","comment":" Use median of values when imputing missing data. Used by [imMethod](#imMethod).\n","type":"VegaLite.ImMethod"},{"name":"imMethod","comment":" Imputation method to use when replacing values. Used by [pImpute](#pImpute).\n","type":"VegaLite.ImMethod -> VegaLite.ImputeProperty"},{"name":"imMin","comment":" Use maximum of values when imputing missing data. Used by [imMethod](#imMethod).\n","type":"VegaLite.ImMethod"},{"name":"imNewValue","comment":" New value to use when imputing with [imValue](#imValue). Used by [pImpute](#pImpute).\n","type":"VegaLite.DataValue -> VegaLite.ImputeProperty"},{"name":"imValue","comment":" Use field value when imputing missing data. Used by [imMethod](#imMethod).\n","type":"VegaLite.ImMethod"},{"name":"image","comment":" [Image mark](https://vega.github.io/vega-lite/docs/image.html) for displaying\nan image. The parameter is a list of standard mark properties for customising the\nimage. The image files to be displayed should be specified via the [url](#url)\nchannel. Normally, the width and height of the image should be specified with\n[maWidth](#maWidth) and [maHeight](#maHeight).\n\n    let\n        data =\n            dataFromColumns []\n                << dataColumn \"x\" (nums [ 0.5, 1.5, 2.5 ])\n                << dataColumn \"y\" (nums [ 0.5, 1.5, 2.5 ])\n\n        enc =\n            encoding\n                << position X [ pName \"x\", pQuant ]\n                << position Y [ pName \"y\", pQuant ]\n                << url [ hStr \"myImage.png\" ]\n    in\n    toVegaLite [ data [], enc [], image [ maWidth 50, maHeight 25 ] ]\n\nAlternatively, data-driven images can be used by referencing a data field containing\nimage URLs.\n\n    let\n        data =\n            dataFromColumns []\n                << dataColumn \"x\" (nums [ 0.5, 1.5, 2.5 ])\n                << dataColumn \"y\" (nums [ 0.5, 1.5, 2.5 ])\n                << dataColumn \"img\" (strs [ \"img1.png\", \"img2.png\", \"img3.png\" ])\n\n        enc =\n            encoding\n                << position X [ pName \"x\", pQuant ]\n                << position Y [ pName \"y\", pQuant ]\n                << url [ hName \"img\", hNominal ]\n    in\n    toVegaLite [ data [], enc [], image [ maWidth 30, maHeight 30 ] ]\n\n","type":"List.List VegaLite.MarkProperty -> ( VegaLite.VLProperty, VegaLite.Spec )"},{"name":"impute","comment":" Impute missing data values as a data transform. The first parameter is the\ndata field to process; the second the key field to uniquely identify data objects\nwithin a group; the third customisable options.\n\nFor example, to impute the missing value of `b` with the mean of existing `b` values,\nwhen `a` is 30 and its color group (`c`) is 1:\n\n    let\n        data =\n            dataFromColumns []\n                << dataColumn \"a\" (nums [ 0, 0, 10, 10, 20, 20, 30 ])\n                << dataColumn \"b\" (nums [ 28, 91, 43, 55, 81, 53, 19 ])\n                << dataColumn \"c\" (nums [ 0, 1, 0, 1, 0, 1, 0 ])\n\n        trans =\n            transform\n                << impute \"b\" \"a\" [ imMethod imMean, imGroupBy [ \"c\" ] ]\n\n        enc =\n            encoding\n                << position X [ pName \"a\", pQuant ]\n                << position Y [ pName \"b\", pQuant ]\n                << color [ mName \"c\", mNominal ]\n    in\n    toVegaLite [ data [], trans [], enc [], line [] ]\n\n","type":"String.String -> String.String -> List.List VegaLite.ImputeProperty -> List.List VegaLite.LabelledSpec -> List.List VegaLite.LabelledSpec"},{"name":"inDataOptions","comment":" Options for a [ipRadio](#ipRadio) or [ipSelect](#ipSelect) input element.\nSimilar to [inDatumOptions](#inDatumOptions) except that each option can be a\nlist of data values. For example,\n\n    ipRadio [ inDataOptions [ nums [ 2, 3, 5, 7, 11, 13 ], boos [ True, False ] ] ]\n\n","type":"List.List VegaLite.DataValues -> VegaLite.InputProperty"},{"name":"inDatumOptions","comment":" Options for a [ipRadio](#ipRadio) or [ipSelect](#ipSelect) input element.\nUnlike [inOptions](#inOptions), this allows for mixed data types to be listed.\nFor example, to create a list of numbers and boolean values:\n\n    ipRadio [ inDatumOptions [ num 2, num 3, boo False, boo True ] ]\n\n","type":"List.List VegaLite.DataValue -> VegaLite.InputProperty"},{"name":"inDebounce","comment":" Delay to introduce when processing input events in order to avoid unnecessary\nevent broadcasting. Used by input elements such as [ipRange](#ipRange) and\n[ipCheckbox](#ipCheckbox).\n","type":"Basics.Float -> VegaLite.InputProperty"},{"name":"inElement","comment":" CSS selector indicating the parent element to which an input element should\nbe added. Allows the option of the input element to be outside the visualization\ncontainer. Used by input elements such as [ipRange](#ipRange) and\n[ipCheckbox](#ipCheckbox).\n","type":"String.String -> VegaLite.InputProperty"},{"name":"inMax","comment":" Maximum slider value for a [ipRange](#ipRange) input element.\n","type":"Basics.Float -> VegaLite.InputProperty"},{"name":"inMin","comment":" Minimum slider value for a [ipRange](#ipRange) input element.\n","type":"Basics.Float -> VegaLite.InputProperty"},{"name":"inName","comment":" Custom label for a [ipRadio](#ipRadio) or [ipSelect](#ipSelect) input element.\n","type":"String.String -> VegaLite.InputProperty"},{"name":"inOptions","comment":" Options for a [ipRadio](#ipRadio) or [ipSelect](#ipSelect) input element.\nAssumes all options are strings. For other types, consider [inDatumOptions](#inDatumOptions)\nor [inDataOptions](#inDataOptions).\n","type":"List.List String.String -> VegaLite.InputProperty"},{"name":"inPlaceholder","comment":" Initial place-holding text for input elements such as [ipText](#ipText) fields.\n","type":"String.String -> VegaLite.InputProperty"},{"name":"inStep","comment":" Smallest [ipRange](#ipRange) slider increment.\n","type":"Basics.Float -> VegaLite.InputProperty"},{"name":"ipCheckbox","comment":" Checkbox input element that can bound to a named parameter. Used by [paBind](#paBind).\n","type":"List.List VegaLite.InputProperty -> VegaLite.PBinding"},{"name":"ipColor","comment":" Color input element that can bound to a named parameter. Used by [paBind](#paBind).\n","type":"List.List VegaLite.InputProperty -> VegaLite.PBinding"},{"name":"ipDate","comment":" Date input element that can bound to a named parameter. Used by [paBind](#paBind).\n","type":"List.List VegaLite.InputProperty -> VegaLite.PBinding"},{"name":"ipDateTimeLocal","comment":" Local time input element that can bound to a named parameter. Used by [paBind](#paBind).\n","type":"List.List VegaLite.InputProperty -> VegaLite.PBinding"},{"name":"ipMonth","comment":" Month input element that can bound to a named parameter. Used by [paBind](#paBind).\n","type":"List.List VegaLite.InputProperty -> VegaLite.PBinding"},{"name":"ipNumber","comment":" Number input element that can bound to a named parameter. Used by [paBind](#paBind).\n","type":"List.List VegaLite.InputProperty -> VegaLite.PBinding"},{"name":"ipRadio","comment":" Radio box input element that can bound to a named parameter. Used by [paBind](#paBind).\n","type":"List.List VegaLite.InputProperty -> VegaLite.PBinding"},{"name":"ipRange","comment":" Range slider input element that can bound to a named parameter. Used by [paBind](#paBind).\n","type":"List.List VegaLite.InputProperty -> VegaLite.PBinding"},{"name":"ipSelect","comment":" Select input element that can bound to a named parameter. Used by [paBind](#paBind).\n","type":"List.List VegaLite.InputProperty -> VegaLite.PBinding"},{"name":"ipTel","comment":" Telephone number input element that can bound to a named parameter. Used by [paBind](#paBind).\n","type":"List.List VegaLite.InputProperty -> VegaLite.PBinding"},{"name":"ipText","comment":" Text input element that can bound to a named parameter. Used by [paBind](#paBind).\n","type":"List.List VegaLite.InputProperty -> VegaLite.PBinding"},{"name":"ipTime","comment":" Time input element that can bound to a named parameter. Used by [paBind](#paBind).\n","type":"List.List VegaLite.InputProperty -> VegaLite.PBinding"},{"name":"ipWeek","comment":" Week input element that can bound to a named parameter. Used by [paBind](#paBind).\n","type":"List.List VegaLite.InputProperty -> VegaLite.PBinding"},{"name":"joBevel","comment":" Bevelled stroke join. Used by [maStrokeJoin](#maStrokeJoin),\n[viewStrokeJoin](#viewStrokeJoin) and [vicoStrokeJoin](#vicoStrokeJoin).\n","type":"VegaLite.StrokeJoin"},{"name":"joExpr","comment":" Expression that evaluates to some stroke join style such as \"bevel\", \"miter\"\nor \"round\". Used by [maStrokeJoin](#maStrokeJoin), [viewStrokeJoin](#viewStrokeJoin)\nand [vicoStrokeJoin](#vicoStrokeJoin).\n","type":"String.String -> VegaLite.StrokeJoin"},{"name":"joMiter","comment":" Mitred stroke join. Used by [maStrokeJoin](#maStrokeJoin),\n[viewStrokeJoin](#viewStrokeJoin) and [vicoStrokeJoin](#vicoStrokeJoin).\n","type":"VegaLite.StrokeJoin"},{"name":"joRound","comment":" Rounded stroke join. Used by [maStrokeJoin](#maStrokeJoin),\n[viewStrokeJoin](#viewStrokeJoin) and [vicoStrokeJoin](#vicoStrokeJoin).\n","type":"VegaLite.StrokeJoin"},{"name":"joinAggregate","comment":" Aggregation transformations to be used when encoding channels. Unlike\n[aggregate](#aggregate), this transformation joins the results to the input data.\nCan be helpful for creating derived values that combine raw data with some aggregate\nmeasure, such as percentages of group totals. The first parameter is a list\nof the named aggregation operations to apply. The second is a list of possible\nwindow aggregate field properties, such as a field to group by when aggregating.\nThe third parameter is a list of transformations to which this is added.\n\n    transform\n        << joinAggregate [ opAs opMean \"rating\" \"avYearRating\" ]\n            [ wiGroupBy [ \"year\" ] ]\n        << filter (fiExpr \"(datum.rating - datum.avYearRating) > 3\")\n\nFor details, see the\n[Vega-Lite join aggregate documentation](https://vega.github.io/vega-lite/docs/joinaggregate.html)\n\n","type":"List.List VegaLite.Spec -> List.List VegaLite.WindowProperty -> List.List VegaLite.LabelledSpec -> List.List VegaLite.LabelledSpec"},{"name":"jsonProperty","comment":" Property to be extracted from some JSON when it has some surrounding structure.\ne.g., specifying the property `values.features` is equivalent to retrieving\n`json.values.features` from a JSON object with a custom delimiter. Used by [dataFromJson](#dataFromJson).\n","type":"String.String -> VegaLite.Format"},{"name":"jsonToSpec","comment":" Convert a string representing some JSON into a Spec. Useful when combined\nwith [dataFromJson](#dataFromJson) to compactly import inline JSON as data. For\nexample,\n\n    myChart : Spec\n    myChart =\n        let\n            data =\n                jsonToSpec \"\"\"{\n                \"Revenue\" : [ 150, 225, 300 ],\n                \"Profit\" : [ 20, 25, 30 ],\n                \"Order size\" : [ 350, 500, 600 ],\n                \"New customers\" : [ 1400, 2000, 2500 ],\n                \"Satisfaction\" : [ 3.5, 4.25, 5 ]\n            }\"\"\"\n                    |> dataFromJson\n        in\n        toVegaLite [ data [], ... ]\n\nThis can also be used to store a full visualization specification from a JSON object.\nFor example,\n\n    myChart : Spec\n    myChart =\n        \"\"\"\n    {\n        \"$schema\": \"https://vega.github.io/schema/vega-lite/v5.json\",\n        \"data\": { \"url\": \"https://cdn.jsdelivr.net/npm/vega-datasets@2.2/data/cars.json\"},\n        \"mark\": \"bar\",\n        \"encoding\": {\n            \"x\": { \"field\": \"Origin\" },\n            \"y\": { \"field\": \"Miles_per_Gallon\", \"aggregate\": \"mean\" }\n        }\n    }\n    \"\"\" |> jsonToSpec\n\nBut note this is not type-safe – if the JSON is not well-formed, a JSON\n[null](https://package.elm-lang.org/packages/elm/json/latest/Json-Encode#null)\nvalue is returned.\n\n","type":"String.String -> VegaLite.Spec"},{"name":"kGeo","comment":" Indicate a data field encoded as a [key](#key) channel property stores geo-features.\n","type":"VegaLite.KeyChannel"},{"name":"kName","comment":" Name of field used for encoding with a [key](#key) channel.\n","type":"String.String -> VegaLite.KeyChannel"},{"name":"kNominal","comment":" Indicate a data field encoded as a [key](#key) channel property is nominal. This is\nthe default data type.\n","type":"VegaLite.KeyChannel"},{"name":"kOrdinal","comment":" Indicate a data field encoded as a [key](#key) channel property is ordinal.\n","type":"VegaLite.KeyChannel"},{"name":"kQuant","comment":" Indicate a data field encoded as a [key](#key) channel property is quantitative.\n","type":"VegaLite.KeyChannel"},{"name":"kTemporal","comment":" Indicate a data field encoded as a [key](#key) channel property is temporal.\n","type":"VegaLite.KeyChannel"},{"name":"key","comment":" Encode a key channel for use with the [Vega View API](https://vega.github.io/vega/docs/api/view/#data).\nThe first parameter identifies a list of key encoding options (just the name of\nthe data field to use as a unique key for data binding and its type).\n","type":"List.List VegaLite.KeyChannel -> List.List VegaLite.LabelledSpec -> List.List VegaLite.LabelledSpec"},{"name":"lab","comment":" Lab color interpolation for continuous color scales.\n","type":"VegaLite.CInterpolate"},{"name":"layer","comment":" Assign a list of specifications to superposed layers in a visualization.\nFor example, adding text annotations to a bar chart:\n\n    let\n        data =\n            dataFromColumns []\n                << dataColumn \"x\" (nums [ 1, 2, 3, 4, 5 ])\n                << dataColumn \"a\" (nums [ 28, 91, 43, 55, 81 ])\n\n        enc =\n            encoding\n                << position X [ pName \"x\", pOrdinal ]\n                << position Y [ pName \"a\", pQuant ]\n                << text [ tName \"a\", tNominal ]\n    in\n    toVegaLite\n        [ data []\n        , enc []\n        , layer\n            [ asSpec [ bar [] ]\n            , asSpec [ textMark [ maDy -8 ], enc [] ]\n            ]\n        ]\n\n","type":"List.List VegaLite.Spec -> ( VegaLite.VLProperty, VegaLite.Spec )"},{"name":"layerFields","comment":" Create a list of fields to use in set of repeated layers. The list of fields\nnamed here can be referenced in an encoding with `pRepeat layer`, `mRepeat layer` etc.\nUsed by [repeat](#repeat).\n","type":"List.List String.String -> VegaLite.RepeatFields"},{"name":"leAria","comment":" [ARIA](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA) properties\nfor providing accessible SVG output associated with an [mLegend](#mLegend). If an empty\nlist is provided, ARIA tagging will be switched off.\n","type":"List.List VegaLite.Aria -> VegaLite.LegendProperty"},{"name":"leClipHeight","comment":" Limit height of [mLegend](#mLegend) entries.\n","type":"Basics.Float -> VegaLite.LegendProperty"},{"name":"leColumnPadding","comment":" Horizontal padding between symbol [mLegend](#mLegend) entries.\n","type":"Basics.Float -> VegaLite.LegendProperty"},{"name":"leColumns","comment":" Number of columns in which to arrange symbol [mLegend](#mLegend) entries.\n","type":"Basics.Float -> VegaLite.LegendProperty"},{"name":"leCornerRadius","comment":" [mLegend](#mLegend) corner radius.\n","type":"Basics.Float -> VegaLite.LegendProperty"},{"name":"leDirection","comment":" Direction of an [mLegend](#mLegend).\n","type":"VegaLite.MarkOrientation -> VegaLite.LegendProperty"},{"name":"leFillColor","comment":" [mLegend](#mLegend) background color.\n","type":"String.String -> VegaLite.LegendProperty"},{"name":"leFormat","comment":" [Formatting pattern](https://vega.github.io/vega-lite/docs/format.html) for\n[mLegend](#mLegend) values. To distinguish between formatting as numeric values and data/time values,\nadditionally use [leFormatAsNum](#leFormatAsNum), [leFormatAsTemporal](#leFormatAsTemporal)\nor [leFormatAsCustom](#leFormatAsCustom).\n","type":"String.String -> VegaLite.LegendProperty"},{"name":"leFormatAsCustom","comment":" Indicate that [mLegend](#mLegend) labels should be formatted with a registered custom formatter\nwith the given name. See [how to register a Vega-Lite custom formatter](https://vega.github.io/vega-lite/usage/compile.html#format-type).\n","type":"String.String -> VegaLite.LegendProperty"},{"name":"leFormatAsNum","comment":" Indicate that [mLegend](#mLegend) labels should be formatted as numbers. To control the precise\nnumeric format, additionally use [leFormat](#leFormat) providing a\n[d3 numeric format string](https://github.com/d3/d3-format#locale_format).\n","type":"VegaLite.LegendProperty"},{"name":"leFormatAsTemporal","comment":" Indicate that [mLegend](#mLegend) labels should be formatted as dates/times. To control the\nprecise temporal format, additionally use [leFormat](#leFormat) providing a\n[d3 date/time format string](https://github.com/d3/d3-time-format#locale_format).\n","type":"VegaLite.LegendProperty"},{"name":"leGradient","comment":" Used by [leType](#leType) to specify a gradient legend for continuous quantitative data.\n","type":"VegaLite.Legend"},{"name":"leGradientLength","comment":" Length in pixels of the primary axis of a color ramp [mLegend](#mLegend).\n","type":"Basics.Float -> VegaLite.LegendProperty"},{"name":"leGradientOpacity","comment":" Opacity of a color ramp [mLegend](#mLegend).\n","type":"Basics.Float -> VegaLite.LegendProperty"},{"name":"leGradientStrokeColor","comment":" Color for strokes in a color ramp [mLegend](#mLegend).\n","type":"String.String -> VegaLite.LegendProperty"},{"name":"leGradientStrokeWidth","comment":" Width for strokes in a color ramp [mLegend](#mLegend).\n","type":"Basics.Float -> VegaLite.LegendProperty"},{"name":"leGradientThickness","comment":" Thickness in pixels of a color ramp [mLegend](#mLegend).\n","type":"Basics.Float -> VegaLite.LegendProperty"},{"name":"leGridAlign","comment":" Alignment to apply to a symbol [mLegend](#mLegend) rows and columns.\n","type":"VegaLite.CompositionAlignment -> VegaLite.LegendProperty"},{"name":"leLabelAlign","comment":" Horizontal alignment of [mLegend](#mLegend) labels.\n","type":"VegaLite.HAlign -> VegaLite.LegendProperty"},{"name":"leLabelBaseline","comment":" Vertical alignment of [mLegend](#mLegend) labels.\n","type":"VegaLite.VAlign -> VegaLite.LegendProperty"},{"name":"leLabelColor","comment":" Color for [mLegend](#mLegend) labels.\n","type":"String.String -> VegaLite.LegendProperty"},{"name":"leLabelExpr","comment":" An expression to generate [mLegend](#mLegend) labels. The parameter is a valid\n[Vega expression](https://vega.github.io/vega/docs/expressions/). Can reference\n`datum.value` and `datum.label` for access to the underlying data values and\ndefault label text respectively. For example, to show just the first word of\neach legend category:\n\n    mLegend [ leLabelExpr \"split(datum.value,' ')[0]\" ]\n\n","type":"String.String -> VegaLite.LegendProperty"},{"name":"leLabelFont","comment":" Font for [mLegend](#mLegend) labels.\n","type":"String.String -> VegaLite.LegendProperty"},{"name":"leLabelFontSize","comment":" Font size [mLegend](#mLegend) labels.\n","type":"Basics.Float -> VegaLite.LegendProperty"},{"name":"leLabelFontStyle","comment":" Font style (e.g italic) for [mLegend](#mLegend) labels.\n","type":"String.String -> VegaLite.LegendProperty"},{"name":"leLabelFontWeight","comment":" Font weight for [mLegend](#mLegend) labels.\n","type":"VegaLite.FontWeight -> VegaLite.LegendProperty"},{"name":"leLabelLimit","comment":" Maximum width for [mLegend](#mLegend) labels in pixel units.\n","type":"Basics.Float -> VegaLite.LegendProperty"},{"name":"leLabelOffset","comment":" Offset for [mLegend](#mLegend) labels.\n","type":"Basics.Float -> VegaLite.LegendProperty"},{"name":"leLabelOverlap","comment":" Strategy for resolving overlapping [mLegend](#mLegend) labels.\n","type":"VegaLite.OverlapStrategy -> VegaLite.LegendProperty"},{"name":"leNumExpr","comment":" Provide an [expression](https://vega.github.io/vega/docs/expressions/) to a\n[mLegend](#mLegend) property function requiring a numeric value. This can be used\nfor interactive parameterisation when an expression is bound to an input element.\nFor example,\n\n    ps =\n        params\n            << param \"xPos\"\n                [ paValue (num 0)\n                , paBind (ipRange [ inMax 100 ])\n                ]\n\n    enc =\n        encoding\n            << color\n                [ mName \"animal\"\n                , mLegend [ leNumExpr \"xPos\" leX ]\n                ]\n\n","type":"String.String -> (number -> VegaLite.LegendProperty) -> VegaLite.LegendProperty"},{"name":"leNumsExpr","comment":" Provide an [expression](https://vega.github.io/vega/docs/expressions/) to\nan [mLegend](#mLegend) property function requiring a list of numbers (for dash styles).\nThis can be used to provide an interactive parameterisation of an axis dash property\nwhen an expression is bound to an input element. For example,\n\n    ps =\n        params\n            << param \"dashStyle\"\n                [ paValue nums []\n                , paBind (ipSelect [ inDataOptions [ nums [ 2, 2 ], nums [ 8, 8 ] ] ])\n                ]\n\n    enc =\n        encoding\n            << color\n                [ mName \"country\"\n                , mLegend [ leNumsExpr \"dashStyle\" leSymbolDash ]\n                ]\n\n","type":"String.String -> (List.List number -> VegaLite.LegendProperty) -> VegaLite.LegendProperty"},{"name":"leOffset","comment":" Offset in pixels of a [mLegend](#mLegend) from the encoded marks it describes.\nIf the legend orientation is one of `loTop`, `loBottom`, `loLeft` or `loRight`,\na positive offset moves the legend outwards away from the encoded marks. If it is\none of `loTopLeft`, `loTopRight`, `loBottomLeft` or `loBottomRight` a positive\noffset will move it inwards away from the corner. If `loNone`, the offset has no effect.\n","type":"Basics.Float -> VegaLite.LegendProperty"},{"name":"leOrient","comment":" Position of a [mLegend](#mLegend) in a scene.\n","type":"VegaLite.LegendOrientation -> VegaLite.LegendProperty"},{"name":"lePadding","comment":" Padding in pixels between an [mLegend](#mLegend) and axis.\n","type":"Basics.Float -> VegaLite.LegendProperty"},{"name":"leRowPadding","comment":" Vertical spacing in pixel units between a symbol [mLegend](#mLegend) entries.\n","type":"Basics.Float -> VegaLite.LegendProperty"},{"name":"leStrExpr","comment":" Provide an [expression](https://vega.github.io/vega/docs/expressions/) to\nan [mLegend](#mLegend) property function requiring a string value. This can be used\nto provide an interactive parameterisation of a legend property when an expression\nis bound to an input element. For example,\n\n    ps =\n        params\n            << param \"color\"\n                [ paValue (str \"black\")\n                , paBind (ipColor [])\n                ]\n\n    enc =\n        encoding\n            << color\n                [ mName \"animal\"\n                , mLegend [ leStrExpr \"color\" leTitleColor ]\n                ]\n\n","type":"String.String -> (String.String -> VegaLite.LegendProperty) -> VegaLite.LegendProperty"},{"name":"leStrokeColor","comment":" [mLegend](#mLegend) border color.\n","type":"String.String -> VegaLite.LegendProperty"},{"name":"leStrokeWidth","comment":" [mLegend](#mLegend) border stroke width.\n","type":"Basics.Float -> VegaLite.LegendProperty"},{"name":"leSymbol","comment":" Used by [leType](#leType) to specify a symbol legend for categorical data.\n","type":"VegaLite.Legend"},{"name":"leSymbolDash","comment":" Symbol dash style in an [mLegend](#mLegend).\n","type":"List.List Basics.Float -> VegaLite.LegendProperty"},{"name":"leSymbolDashOffset","comment":" Symbol dash offset in an [mLegend](#mLegend).\n","type":"Basics.Float -> VegaLite.LegendProperty"},{"name":"leSymbolFillColor","comment":" [mLegend](#mLegend) symbol fill color.\n","type":"String.String -> VegaLite.LegendProperty"},{"name":"leSymbolLimit","comment":" Maximum number of symbols in an [mLegend](#mLegend).\n","type":"Basics.Int -> VegaLite.LegendProperty"},{"name":"leSymbolOffset","comment":" Symbol offset between [mLegend](#mLegend) symbols and legend area.\n","type":"Basics.Float -> VegaLite.LegendProperty"},{"name":"leSymbolOpacity","comment":" [mLegend](#mLegend) symbol opacity.\n","type":"Basics.Float -> VegaLite.LegendProperty"},{"name":"leSymbolSize","comment":" [mLegend](#mLegend) symbol size.\n","type":"Basics.Float -> VegaLite.LegendProperty"},{"name":"leSymbolStrokeColor","comment":" [mLegend](#mLegend) symbol outline color.\n","type":"String.String -> VegaLite.LegendProperty"},{"name":"leSymbolStrokeWidth","comment":" [mLegend](#mLegend) symbol stroke width.\n","type":"Basics.Float -> VegaLite.LegendProperty"},{"name":"leSymbolType","comment":" [mLegend](#mLegend) symbol type.\n","type":"VegaLite.Symbol -> VegaLite.LegendProperty"},{"name":"leTickCount","comment":" Number of tick marks in a quantitative [mLegend](#mLegend).\n","type":"Basics.Float -> VegaLite.LegendProperty"},{"name":"leTitle","comment":" Title of an [mLegend](#mLegend). For multi-line titles, insert `\\n`\nat each line break or use a `\"\"\"` multi-line string.\n","type":"String.String -> VegaLite.LegendProperty"},{"name":"leTitleAlign","comment":" Horizontal alignment for [mLegend](#mLegend) titles.\n","type":"VegaLite.HAlign -> VegaLite.LegendProperty"},{"name":"leTitleAnchor","comment":" Horizontal alignment for [mLegend](#mLegend) titles.\n","type":"VegaLite.Anchor -> VegaLite.LegendProperty"},{"name":"leTitleBaseline","comment":" Vertical alignment for [mLegend](#mLegend) titles.\n","type":"VegaLite.VAlign -> VegaLite.LegendProperty"},{"name":"leTitleColor","comment":" Color for [mLegend](#mLegend) title.\n","type":"String.String -> VegaLite.LegendProperty"},{"name":"leTitleFont","comment":" Font for [mLegend](#mLegend) titles.\n","type":"String.String -> VegaLite.LegendProperty"},{"name":"leTitleFontSize","comment":" Font size for [mLegend](#mLegend) titles.\n","type":"Basics.Float -> VegaLite.LegendProperty"},{"name":"leTitleFontStyle","comment":" Font style (italic etc.) for [mLegend](#mLegend) titles.\n","type":"String.String -> VegaLite.LegendProperty"},{"name":"leTitleFontWeight","comment":" Font weight for [mLegend](#mLegend) titles.\n","type":"VegaLite.FontWeight -> VegaLite.LegendProperty"},{"name":"leTitleLimit","comment":" Maximum size in pixel units for [mLegend](#mLegend) titles.\n","type":"Basics.Float -> VegaLite.LegendProperty"},{"name":"leTitleLineHeight","comment":" Height in pixels for each line of a multi-line [mLegend](#mLegend) title.\n","type":"Basics.Float -> VegaLite.LegendProperty"},{"name":"leTitleOpacity","comment":" Opacity of an [mLegend](#mLegend) title.\n","type":"Basics.Float -> VegaLite.LegendProperty"},{"name":"leTitleOrient","comment":" Position of an [mLegend](#mLegend) title relative to the main legend content.\n","type":"VegaLite.LegendOrientation -> VegaLite.LegendProperty"},{"name":"leTitlePadding","comment":" Spacing in pixel units between title and [mLegend](#mLegend).\n","type":"Basics.Float -> VegaLite.LegendProperty"},{"name":"leType","comment":" Type of [mLegend](#mLegend).\n","type":"VegaLite.Legend -> VegaLite.LegendProperty"},{"name":"leValues","comment":" An explicit set of [mLegend](#mLegend) values.\n","type":"VegaLite.DataValues -> VegaLite.LegendProperty"},{"name":"leX","comment":" x-position of an [mLegend](#mLegend) group in pixel units for absolute\npositioning when [leOrient](#leOrient) is set to `loNone`.\n","type":"Basics.Float -> VegaLite.LegendProperty"},{"name":"leY","comment":" y-position of an [mLegend](#mLegend) group in pixel units for absolute\npositioning when [leOrient](#leOrient) is set to `loNone`.\n","type":"Basics.Float -> VegaLite.LegendProperty"},{"name":"leZIndex","comment":" Drawing order of an [mLegend](#mLegend) relative to other chart elements. To\nplace a legend in front of others use a positive integer, or 0 to draw behind.\n","type":"Basics.Int -> VegaLite.LegendProperty"},{"name":"lecoAria","comment":" Used by [coLegend](#coLegend) to specify the default [ARIA](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA)\nproperties for providing accessible SVG output associated with a legend. If an empty\nlist is provided, ARIA tagging will be switched off.\n","type":"List.List VegaLite.Aria -> VegaLite.LegendConfig"},{"name":"lecoClipHeight","comment":" Used by [coLegend](#coLegend) to specify the default maximum height of legend entries.\n","type":"Basics.Float -> VegaLite.LegendConfig"},{"name":"lecoColumnPadding","comment":" Used by [coLegend](#coLegend) to specify the default horizontal padding between symbol legend entries.\n","type":"Basics.Float -> VegaLite.LegendConfig"},{"name":"lecoColumns","comment":" Used by [coLegend](#coLegend) to specify the default number of columns in which to arrange symbol legend entries.\n","type":"Basics.Float -> VegaLite.LegendConfig"},{"name":"lecoCornerRadius","comment":" Used by [coLegend](#coLegend) to specify the default legend corner radius.\n","type":"Basics.Float -> VegaLite.LegendConfig"},{"name":"lecoDirection","comment":" Used by [coLegend](#coLegend) to specify the default direction of a legend.\n","type":"VegaLite.MarkOrientation -> VegaLite.LegendConfig"},{"name":"lecoDisable","comment":" Used by [coLegend](#coLegend) to specify the whether or not legends should be disabled by default.\n","type":"Basics.Bool -> VegaLite.LegendConfig"},{"name":"lecoFillColor","comment":" Used by [coLegend](#coLegend) to specify the default background legend color.\n","type":"String.String -> VegaLite.LegendConfig"},{"name":"lecoGradientDirection","comment":" Used by [coLegend](#coLegend) to specify the default direction of a color ramp legend.\n","type":"VegaLite.MarkOrientation -> VegaLite.LegendConfig"},{"name":"lecoGradientHorizontalMaxLength","comment":" Used by [coLegend](#coLegend) to specify the default maximum length in pixels of a horizontal color ramp legend.\n","type":"Basics.Float -> VegaLite.LegendConfig"},{"name":"lecoGradientHorizontalMinLength","comment":" Used by [coLegend](#coLegend) to specify the default minimum length in pixels of a horizontal color ramp legend.\n","type":"Basics.Float -> VegaLite.LegendConfig"},{"name":"lecoGradientLabelLimit","comment":" Used by [coLegend](#coLegend) to specify the default maximum allowable length for labels in a color ramp legend.\n","type":"Basics.Float -> VegaLite.LegendConfig"},{"name":"lecoGradientLabelOffset","comment":" Used by [coLegend](#coLegend) to specify the default vertical offset in pixel units for labels in a color ramp legend.\n","type":"Basics.Float -> VegaLite.LegendConfig"},{"name":"lecoGradientLength","comment":" Used by [coLegend](#coLegend) to specify the default length in pixels of the primary axis of a color ramp legend.\n","type":"Basics.Float -> VegaLite.LegendConfig"},{"name":"lecoGradientOpacity","comment":" Used by [coLegend](#coLegend) to specify the default opacity of a color ramp legend.\n","type":"Basics.Float -> VegaLite.LegendConfig"},{"name":"lecoGradientStrokeColor","comment":" Used by [coLegend](#coLegend) to specify the default color for strokes in a color ramp legend.\n","type":"String.String -> VegaLite.LegendConfig"},{"name":"lecoGradientStrokeWidth","comment":" Used by [coLegend](#coLegend) to specify the default width for strokes in a color ramp legend.\n","type":"Basics.Float -> VegaLite.LegendConfig"},{"name":"lecoGradientThickness","comment":" Used by [coLegend](#coLegend) to specify the default thickness in pixels of a color ramp legend.\n","type":"Basics.Float -> VegaLite.LegendConfig"},{"name":"lecoGradientVerticalMaxLength","comment":" Used by [coLegend](#coLegend) to specify the default maximum length in pixels of a vertical color ramp legend.\n","type":"Basics.Float -> VegaLite.LegendConfig"},{"name":"lecoGradientVerticalMinLength","comment":" Used by [coLegend](#coLegend) to specify the default minimum length in pixels of a vertical color ramp legend.\n","type":"Basics.Float -> VegaLite.LegendConfig"},{"name":"lecoGridAlign","comment":" Used by [coLegend](#coLegend) to specify the default alignment to apply to symbol legends rows and columns.\n","type":"VegaLite.CompositionAlignment -> VegaLite.LegendConfig"},{"name":"lecoLabelAlign","comment":" Used by [coLegend](#coLegend) to specify the default horizontal alignment of legend labels.\n","type":"VegaLite.HAlign -> VegaLite.LegendConfig"},{"name":"lecoLabelBaseline","comment":" Used by [coLegend](#coLegend) to specify the default vertical alignment of legend labels.\n","type":"VegaLite.VAlign -> VegaLite.LegendConfig"},{"name":"lecoLabelColor","comment":" Used by [coLegend](#coLegend) to specify the default color for legend labels.\n","type":"String.String -> VegaLite.LegendConfig"},{"name":"lecoLabelFont","comment":" Used by [coLegend](#coLegend) to specify the default font for legend labels.\n","type":"String.String -> VegaLite.LegendConfig"},{"name":"lecoLabelFontSize","comment":" Used by [coLegend](#coLegend) to specify the default font size of legend labels.\n","type":"Basics.Float -> VegaLite.LegendConfig"},{"name":"lecoLabelFontStyle","comment":" Used by [coLegend](#coLegend) to specify the default font style (italic etc.) of legend labels.\n","type":"String.String -> VegaLite.LegendConfig"},{"name":"lecoLabelFontWeight","comment":" Used by [coLegend](#coLegend) to specify the default font weight of legend labels.\n","type":"VegaLite.FontWeight -> VegaLite.LegendConfig"},{"name":"lecoLabelLimit","comment":" Used by [coLegend](#coLegend) to specify the default maximum width for legend labels in pixel units.\n","type":"Basics.Float -> VegaLite.LegendConfig"},{"name":"lecoLabelOffset","comment":" Used by [coLegend](#coLegend) to specify the default offset for legend labels.\n","type":"Basics.Float -> VegaLite.LegendConfig"},{"name":"lecoLabelOverlap","comment":" Used by [coLegend](#coLegend) to specify the default for resolving overlapping legend labels.\n","type":"VegaLite.OverlapStrategy -> VegaLite.LegendConfig"},{"name":"lecoNoTitle","comment":" Used by [coLegend](#coLegend) to specify the default to not displaying any legend titles.\n","type":"VegaLite.LegendConfig"},{"name":"lecoNumExpr","comment":" Used by [coLegend](#coLegend) to provide an [expression](https://vega.github.io/vega/docs/expressions/) to a\nlegend configuration function requiring a numeric value.\n","type":"String.String -> (number -> VegaLite.LegendConfig) -> VegaLite.LegendConfig"},{"name":"lecoNumsExpr","comment":" Used by [coLegend](#coLegend) to provide an [expression](https://vega.github.io/vega/docs/expressions/) to\na legend property configuration requiring a list of numbers (for dash styles).\n","type":"String.String -> (List.List number -> VegaLite.LegendConfig) -> VegaLite.LegendConfig"},{"name":"lecoOffset","comment":" Used by [coLegend](#coLegend) to specify the default offset in pixel\nunits between the legend and the enclosing group or data rectangle.\n","type":"Basics.Float -> VegaLite.LegendConfig"},{"name":"lecoOrient","comment":" Used by [coLegend](#coLegend) to specify the default legend position\nrelative to the main plot content.\n","type":"VegaLite.LegendOrientation -> VegaLite.LegendConfig"},{"name":"lecoPadding","comment":" Used by [coLegend](#coLegend) to specify the default spacing in pixel units between a legend and axis.\n","type":"Basics.Float -> VegaLite.LegendConfig"},{"name":"lecoRowPadding","comment":" Used by [coLegend](#coLegend) to specify the default vertical spacing in pixel units between legend symbol entries.\n","type":"Basics.Float -> VegaLite.LegendConfig"},{"name":"lecoStrExpr","comment":" Used by [coLegend](#coLegend) to provide an [expression](https://vega.github.io/vega/docs/expressions/) to\nan legend configuration function requiring a string value.\n","type":"String.String -> (String.String -> VegaLite.LegendConfig) -> VegaLite.LegendConfig"},{"name":"lecoStrokeColor","comment":" Used by [coLegend](#coLegend) to specify the default legend border color.\n","type":"String.String -> VegaLite.LegendConfig"},{"name":"lecoStrokeDash","comment":" Used by [coLegend](#coLegend) to specify the default legend border stroke dash style.\n","type":"List.List Basics.Float -> VegaLite.LegendConfig"},{"name":"lecoStrokeWidth","comment":" Used by [coLegend](#coLegend) to specify the default legend border stroke width.\n","type":"Basics.Float -> VegaLite.LegendConfig"},{"name":"lecoSymbolBaseFillColor","comment":" Used by [coLegend](#coLegend) to specify the default legend symbol fill color for when no fill scale color in legend encoding.\n","type":"String.String -> VegaLite.LegendConfig"},{"name":"lecoSymbolBaseStrokeColor","comment":" Used by [coLegend](#coLegend) to specify the default legend symbol stroke color for when no stroke scale color in legend encoding.\n","type":"String.String -> VegaLite.LegendConfig"},{"name":"lecoSymbolDash","comment":" Used by [coLegend](#coLegend) to specify the default legend symbol dash style in legend encoding.\n","type":"List.List Basics.Float -> VegaLite.LegendConfig"},{"name":"lecoSymbolDashOffset","comment":" Used by [coLegend](#coLegend) to specify the default legend symbol dash offset in legend encoding.\n","type":"Basics.Float -> VegaLite.LegendConfig"},{"name":"lecoSymbolDirection","comment":" Used by [coLegend](#coLegend) to specify the default direction of a symbol legend.\n","type":"VegaLite.MarkOrientation -> VegaLite.LegendConfig"},{"name":"lecoSymbolFillColor","comment":" Used by [coLegend](#coLegend) to specify the default legend symbol fill color.\n","type":"String.String -> VegaLite.LegendConfig"},{"name":"lecoSymbolLimit","comment":" Used by [coLegend](#coLegend) to specify the default legend symbol fill color.\n","type":"Basics.Int -> VegaLite.LegendConfig"},{"name":"lecoSymbolOffset","comment":" Used by [coLegend](#coLegend) to specify the default horizontal pixel offset for legend symbols.\n","type":"Basics.Float -> VegaLite.LegendConfig"},{"name":"lecoSymbolOpacity","comment":" Used by [coLegend](#coLegend) to specify the default legend symbol opacity.\n","type":"Basics.Float -> VegaLite.LegendConfig"},{"name":"lecoSymbolSize","comment":" Used by [coLegend](#coLegend) to specify the default legend symbol size.\n","type":"Basics.Float -> VegaLite.LegendConfig"},{"name":"lecoSymbolStrokeColor","comment":" Used by [coLegend](#coLegend) to specify the default legend symbol outline color.\n","type":"String.String -> VegaLite.LegendConfig"},{"name":"lecoSymbolStrokeWidth","comment":" Used by [coLegend](#coLegend) to specify the default legend symbol stroke width.\n","type":"Basics.Float -> VegaLite.LegendConfig"},{"name":"lecoSymbolType","comment":" Used by [coLegend](#coLegend) to specify the default legend symbol type.\n","type":"VegaLite.Symbol -> VegaLite.LegendConfig"},{"name":"lecoTitleAlign","comment":" Used by [coLegend](#coLegend) to specify the default horizontal alignment for legend titles.\n","type":"VegaLite.HAlign -> VegaLite.LegendConfig"},{"name":"lecoTitleAnchor","comment":" Used by [coLegend](#coLegend) to specify the default anchoring for legend titles.\n","type":"VegaLite.Anchor -> VegaLite.LegendConfig"},{"name":"lecoTitleBaseline","comment":" Used by [coLegend](#coLegend) to specify the default vertical alignment for legend titles.\n","type":"VegaLite.VAlign -> VegaLite.LegendConfig"},{"name":"lecoTitleColor","comment":" Used by [coLegend](#coLegend) to specify the default color legend titles.\n","type":"String.String -> VegaLite.LegendConfig"},{"name":"lecoTitleFont","comment":" Used by [coLegend](#coLegend) to specify the default font for legend titles.\n","type":"String.String -> VegaLite.LegendConfig"},{"name":"lecoTitleFontSize","comment":" Used by [coLegend](#coLegend) to specify the default font size for legend titles.\n","type":"Basics.Float -> VegaLite.LegendConfig"},{"name":"lecoTitleFontStyle","comment":" Used by [coLegend](#coLegend) to specify the default font style (italic etc) for legend titles.\n","type":"String.String -> VegaLite.LegendConfig"},{"name":"lecoTitleFontWeight","comment":" Used by [coLegend](#coLegend) to specify the default font weight for legend titles.\n","type":"VegaLite.FontWeight -> VegaLite.LegendConfig"},{"name":"lecoTitleLimit","comment":" Used by [coLegend](#coLegend) to specify the default maximum size in pixel units for legend titles.\n","type":"Basics.Float -> VegaLite.LegendConfig"},{"name":"lecoTitleLineHeight","comment":" Used by [coLegend](#coLegend) to specify the default line height for multi-line legend titles.\n","type":"Basics.Float -> VegaLite.LegendConfig"},{"name":"lecoTitleOpacity","comment":" Used by [coLegend](#coLegend) to specify the default opacity of a legend's title.\n","type":"Basics.Float -> VegaLite.LegendConfig"},{"name":"lecoTitlePadding","comment":" Used by [coLegend](#coLegend) to specify the default spacing in pixel units between title and legend.\n","type":"Basics.Float -> VegaLite.LegendConfig"},{"name":"lecoUnselectedOpacity","comment":" Used by [coLegend](#coLegend) to specify the default opacity of unselected legend items when made interactive via\n[seBindLegend](#seBindLegend).\n","type":"Basics.Float -> VegaLite.LegendConfig"},{"name":"lecoX","comment":" Used by [coLegend](#coLegend) to specify the default x-position of legend group in pixel units for absolute positioning when\n[leOrient](#leOrient) is set to `loNone`.\n","type":"Basics.Float -> VegaLite.LegendConfig"},{"name":"lecoY","comment":" Used by [coLegend](#coLegend) to specify the default y-position of legend group in pixel units for absolute positioning when\n[leOrient](#leOrient) is set to `loNone`.\n","type":"Basics.Float -> VegaLite.LegendConfig"},{"name":"line","comment":" [Line mark](https://vega.github.io/vega-lite/docs/line.html) for symbolising\na sequence of values.\n","type":"List.List VegaLite.MarkProperty -> ( VegaLite.VLProperty, VegaLite.Spec )"},{"name":"lmMarker","comment":" Properties of a line marker that is overlaid on an area mark. Used\nwhen specifying an [maLine](#maLine).\n","type":"List.List VegaLite.MarkProperty -> VegaLite.LineMarker"},{"name":"lmNone","comment":" Indicate no line marker on an area mark. Used when specifying an [maLine](#maLine).\n","type":"VegaLite.LineMarker"},{"name":"loBottom","comment":" Used by [leOrient](#leOrient), [leTitleOrient](#leTitleOrient) and [lecoOrient](#lecoOrient)\nto position legend outside and below the visualization it describes.\n","type":"VegaLite.LegendOrientation"},{"name":"loBottomLeft","comment":" Used by [leOrient](#leOrient), [leTitleOrient](#leTitleOrient) and [lecoOrient](#lecoOrient) to\nposition legend within the visualization it describes in the bottom-left corner.\n","type":"VegaLite.LegendOrientation"},{"name":"loBottomRight","comment":" Used by [leOrient](#leOrient), [leTitleOrient](#leTitleOrient) and [lecoOrient](#lecoOrient) to\nposition legend within the visualization it describes in the bottom-right corner.\n","type":"VegaLite.LegendOrientation"},{"name":"loCurrency","comment":" Indicate prefix (first parameter) and suffix (second parameter) currency symbols\nas part of a locale specification. For example\n\n    loCurrency \"£\" \"\"\n\n","type":"String.String -> String.String -> VegaLite.LocaleProperty"},{"name":"loDate","comment":" Default format of date representation as part of a locale specification. Uses\n[d3-time-format symbols](https://github.com/d3/d3-time-format). For example,\n\n    loDate \"%_d %B %Y\"\n\n","type":"String.String -> VegaLite.LocaleProperty"},{"name":"loDateTime","comment":" Default format of date-time representation as part of a locale specification..\nUses [d3-time-format symbols](https://github.com/d3/d3-time-format). For example,\n\n    loDatetime \"%a %b %e %X %Y\"\n\n","type":"String.String -> VegaLite.LocaleProperty"},{"name":"loDays","comment":" List of the text representing the 7 days of the week (starting Sunday) as\npart of a locale specification.\n","type":"List.List String.String -> VegaLite.LocaleProperty"},{"name":"loDecimal","comment":" Symbol used to indicate decimal point as part of a locale specification.\n","type":"String.String -> VegaLite.LocaleProperty"},{"name":"loGrouping","comment":" Number of digits to represent what is by default a 'thousands' group, as part\nof a locale specification.\n","type":"Basics.Int -> VegaLite.LocaleProperty"},{"name":"loLeft","comment":" Used by [leOrient](#leOrient), [leTitleOrient](#leTitleOrient) and [lecoOrient](#lecoOrient) to\nposition legend to the left of the visualization it describes.\n","type":"VegaLite.LegendOrientation"},{"name":"loMinus","comment":" Symbol used to indicate minus/negative as part of a locale specification.\n","type":"String.String -> VegaLite.LocaleProperty"},{"name":"loMonths","comment":" List of the text representing the 12 months of the year (starting January) as\npart of a locale specification.\n","type":"List.List String.String -> VegaLite.LocaleProperty"},{"name":"loNan","comment":" Symbol used to indicate a 'not-a-number' value, as part of a locale specification.\n","type":"String.String -> VegaLite.LocaleProperty"},{"name":"loNone","comment":" Used by [leOrient](#leOrient), [leTitleOrient](#leTitleOrient) and [lecoOrient](#lecoOrient) to\nprevent automatic legend positioning (allows legend to be located explicitly via `x` `y` coordinates).\n","type":"VegaLite.LegendOrientation"},{"name":"loNumerals","comment":" List of 10 symbols to replace the numerals 0–9 as part of a locale specification.\n","type":"List.List String.String -> VegaLite.LocaleProperty"},{"name":"loPercent","comment":" Symbol used to indicate percentages as part of a locale specification.\n","type":"String.String -> VegaLite.LocaleProperty"},{"name":"loPeriods","comment":" Symbols used to indicate a time of day 'AM' (first parameter) and 'PM' (second\nparameter) equivalent, as part of a locale specification. For example,\n\n    loPeriods \"a.m.\" \"p.m.\"\n\n","type":"String.String -> String.String -> VegaLite.LocaleProperty"},{"name":"loRight","comment":" Used by [leOrient](#leOrient), [leTitleOrient](#leTitleOrient) and [lecoOrient](#lecoOrient) to\nposition legend outside and to the right of the visualization it describes.\n","type":"VegaLite.LegendOrientation"},{"name":"loShortDays","comment":" List of the text representing the 7 abbreviated days of the week (starting Sunday)\nas part of a locale specification.\n","type":"List.List String.String -> VegaLite.LocaleProperty"},{"name":"loShortMonths","comment":" List of the text representing the 12 abbreviated months of the year (starting\nJanuary) as part of a locale specification.\n","type":"List.List String.String -> VegaLite.LocaleProperty"},{"name":"loThousands","comment":" Symbol used to indicate 'thousands' separator as part of a locale specification.\nNote that digits may be grouped in units other than thousands if [loGrouping](#loGrouping)\nis set to a value other than 3.\n","type":"String.String -> VegaLite.LocaleProperty"},{"name":"loTime","comment":" Default format of time representation as part of a locale specification. Uses\n[d3-time-format symbols](https://github.com/d3/d3-time-format). For example,\n\n    loTime \"%I:%M %p\"\n\n","type":"String.String -> VegaLite.LocaleProperty"},{"name":"loTop","comment":" Used by [leOrient](#leOrient), [leTitleOrient](#leTitleOrient) and [lecoOrient](#lecoOrient) to\nposition legend outside and above the visualization it describes.\n","type":"VegaLite.LegendOrientation"},{"name":"loTopLeft","comment":" Used by [leOrient](#leOrient), [leTitleOrient](#leTitleOrient) and [lecoOrient](#lecoOrient) to\nposition legend within the visualization it describes in the top-left corner.\n","type":"VegaLite.LegendOrientation"},{"name":"loTopRight","comment":" Used by [leOrient](#leOrient), [leTitleOrient](#leTitleOrient) and [lecoOrient](#lecoOrient) to\nposition legend within the visualization it describes in the top-right corner.\n","type":"VegaLite.LegendOrientation"},{"name":"loess","comment":" Generate a _loess_ (locally-estimated scatterplot smoothing) trendline through\na pair of data fields. The first parameter is the name of the field representing\nthe dependent variable (commonly mapped to the y-axis), the second is the name of\nthe field representing the independent variable (commonly mapped to the x-axis).\nThe third parameter is a list of optional loess parameters to customise the trend\nfitting.\n","type":"String.String -> String.String -> List.List VegaLite.LoessProperty -> List.List VegaLite.LabelledSpec -> List.List VegaLite.LabelledSpec"},{"name":"lookup","comment":" Perform a lookup of named fields between two data sources. This allows you to\nfind values in one data source based on the values in another. The first parameter\nis the field in the primary data source to act as key, the second is the secondary\ndata source which can be specified with a call to `dataFromUrl` or other data\ngenerating function. The third is the name of the field in the secondary\ndata source to match values with the primary key. The fourth parameter is the list\nof fields to be stored when the keys match.\n\nFor linking data with interactive selections, see [lookupSelection](#lookupSelection).\n\nA common use for lookup is to join geographic and attribute data sources. Below\n`geodata` is the primary data source containing borough boundaries and `censusData`\nthe secondary data source containing attribute data. Both have common data field\nvalues identifying a borough (`id` and `borough`) that is used to join the data sources:\n\n    geoData =\n        dataFromUrl \"city.json\" [ topojsonFeature \"boroughs\" ]\n\n    censusData =\n        dataFromUrl \"census.csv\" []\n\n    trans =\n        transform\n            << lookup \"id\"\n                (censusData [])\n                \"borough\"\n                (luFields [ \"carOwnership\", \"numBedrooms\" ])\n\n","type":"String.String -> VegaLite.Data -> String.String -> VegaLite.LookupFields -> List.List VegaLite.LabelledSpec -> List.List VegaLite.LabelledSpec"},{"name":"lookupSelection","comment":" Attach the results of an interactive selection to a primary data source.\nThe first three parameters are the field in the primary data source to look up;\nthe name of the interactive selection parameter; and the name of the field in the\nselection to link with the primary data field. This is similar to [lookup](#lookup)\nexcept that the data in a selection are used in place of the secondary data source.\n\n      ps =\n          params\n              << param \"mySel\"\n                  [ paSelect sePoint [ seOn \"mouseover\", seEncodings [ chX ] ] ]\n\n      trans =\n          transform\n              << lookupSelection \"country\" \"mySel\" \"country\"\n\n","type":"String.String -> String.String -> String.String -> List.List VegaLite.LabelledSpec -> List.List VegaLite.LabelledSpec"},{"name":"lsAs","comment":" Name the outputs of a [loess](#loess) transform. The first parameter is the name to\ngive the field containing the smoothed independent variable, the second the name to\ngive the field containing smoothed dependent variable. If not specified, the\noriginal input independent and dependent field names are used.\n","type":"String.String -> String.String -> VegaLite.LoessProperty"},{"name":"lsBandwidth","comment":" The bandwidth scaled between [0,1] to determine the amount of [loess](#loess) smoothing.\nDefault value is 0.3\n","type":"Basics.Float -> VegaLite.LoessProperty"},{"name":"lsGroupBy","comment":" The data fields to group by when generating a [loess](#loess) trendline. If not specified,\na single group containing all data objects will be used.\n","type":"List.List String.String -> VegaLite.LoessProperty"},{"name":"luAs","comment":" Name to give the entire set of fields in a secondary data source when performing\na [lookup](#lookup). To refer to individual fields via this name, use Javascript\ndot notation (or if the field contains spaces, use equivalent array index notation\nin single quotes such as `o['my field']`).\n\n    data =\n        dataFromUrl \"data/flights-airport.csv\" []\n\n    trans =\n        transform\n            << lookup \"origin\"\n                (dataFromUrl \"data/airports.csv\" [])\n                \"iata\"\n                (luAs \"o\")\n\n    enc =\n        encoding\n            << position Longitude [ pName \"o.longitude\", pQuant ]\n            << position Latitude [ pName \"o.latitude\", pQuant ]\n\n","type":"String.String -> VegaLite.LookupFields"},{"name":"luAsWithDefault","comment":" The same as [luAs](#luAs) except with a second parameter providing the default\nvalue if the [lookup](#lookup) fails.\n","type":"String.String -> String.String -> VegaLite.LookupFields"},{"name":"luFields","comment":" Names of the fields to be returned from a secondary data source when performing\na [lookup](#lookup) transformation.\n","type":"List.List String.String -> VegaLite.LookupFields"},{"name":"luFieldsAs","comment":" Names of the fields and their aliases to be returned from a secondary data\nsource when performing a [lookup](#lookup) transformation. Each tuple should be\na name of a field to return followed by the new name to give it. Unlike [luAs](#luAs)\nthis allows separate aliases to be given to each matched field.\n","type":"List.List ( String.String, String.String ) -> VegaLite.LookupFields"},{"name":"luFieldsAsWithDefault","comment":" The same as [luFieldsAs](#luFieldsAs) except with a second parameter providing\nthe default value if the [lookup](#lookup) fails.\n","type":"List.List ( String.String, String.String ) -> String.String -> VegaLite.LookupFields"},{"name":"luFieldsWithDefault","comment":" The same as [luFields](#luFields) except with a second parameter providing\nthe default value if the [lookup](#lookup) fails.\n","type":"List.List String.String -> String.String -> VegaLite.LookupFields"},{"name":"mAggregate","comment":" Compute some aggregate summary statistics for a field to be encoded with a\nmark property channel. The type of aggregation is determined by the given operation\nparameter. Used by functions that influence mark channels such as [size](#size) and [color](#color).\n","type":"VegaLite.Operation -> VegaLite.MarkChannel"},{"name":"mBand","comment":" Apply offset relative to band width for a mark property. Value should be in\nthe range [0, 1] as a proportion of the band width. Used by functions that influence\nmark channels such as [size](#size) and [color](#color).\n","type":"Basics.Float -> VegaLite.MarkChannel"},{"name":"mBin","comment":" Discretize numeric values into bins when encoding with a mark property channel.\nUsed by functions that influence mark channels such as [size](#size) and [color](#color).\n","type":"List.List VegaLite.BinProperty -> VegaLite.MarkChannel"},{"name":"mBinned","comment":" Indicate that data encoding with a mark are already binned.\n","type":"VegaLite.MarkChannel"},{"name":"mBoo","comment":" Boolean value when encoding with a mark property channel. Used by functions\nthat influence mark channels such as [size](#size) and [color](#color).\n","type":"Basics.Bool -> VegaLite.MarkChannel"},{"name":"mCondition","comment":" Make a mark channel encoding conditional on a predicate expression. A predicate\nmight be the result of evaluating a parameter ([prParam](#prParam)) or an expression\n([prTest](#prTest)). The first parameter is the predicate that evaluates to true\nor false; the second the encoding if true, the third the encoding if false. Used by\nfunctions that influence mark channels such as [size](#size) and [color](#color).\n\nFor example, to encode in one of two colours depending on a selection:\n\n    encoding\n        << color\n            [ mCondition (prParam \"mySelection\")\n                [ mStr \"red\" ]\n                [ mStr \"black\" ]\n            ]\n\n","type":"VegaLite.Predicate -> List.List VegaLite.MarkChannel -> List.List VegaLite.MarkChannel -> VegaLite.MarkChannel"},{"name":"mConditions","comment":" Make a mark channel conditional on a sequence of predicate values. This can\nbe used when several predicates need to be tested in sequence each with their own\nencoding outcome ('if-else'). Used by functions that influence mark channels\nsuch as [size](#size) and [color](#color).\n\nFor example, a four-way conditional color encoding\ncan be specified as:\n\n    encoding\n        << color\n            [ mConditions\n                [ ( prTest (expr \"datum.value < 40\"), [ mStr \"blue\" ] )\n                , ( prTest (expr \"datum.value < 50\"), [ mStr \"red\" ] )\n                , ( prTest (expr \"datum.value < 60\"), [ mStr \"yellow\" ] )\n                ]\n                [ mStr \"black\" ]\n            ]\n\n","type":"List.List ( VegaLite.Predicate, List.List VegaLite.MarkChannel ) -> List.List VegaLite.MarkChannel -> VegaLite.MarkChannel"},{"name":"mDatum","comment":" Name of a literal data item used for encoding with a mark property channel.\nUnlike [mNum](#mNum), [mStr](#mStr) and [mBoo](#mBoo), datum literals represent\nvalues in data space. Used by functions that influence mark channels such as\n[size](#size) and [color](#color).\n","type":"VegaLite.DataValue -> VegaLite.MarkChannel"},{"name":"mGeo","comment":" Indicate a data field encoded as a mark property is a geo feature.\n","type":"VegaLite.MarkChannel"},{"name":"mLegend","comment":" Properties of a legend that describes a mark's encoding. For no legend, provide\nan empty list as the parameter. Used by functions that influence mark channels such\nas [size](#size) and [color](#color).\n","type":"List.List VegaLite.LegendProperty -> VegaLite.MarkChannel"},{"name":"mName","comment":" Name of field used for encoding with a mark property channel. Used by\nfunctions that influence mark channels such as [size](#size) and [color](#color).\n","type":"String.String -> VegaLite.MarkChannel"},{"name":"mNominal","comment":" Indicate a data field encoded as a mark property is nominal. This is the\ndefault data type.\n","type":"VegaLite.MarkChannel"},{"name":"mNum","comment":" Literal numeric value when encoding with a mark property channel. Used by\nfunctions that influence mark channels such as [size](#size) and [color](#color).\n","type":"Basics.Float -> VegaLite.MarkChannel"},{"name":"mOrdinal","comment":" Indicate a data field encoded as a mark property is ordinal.\n","type":"VegaLite.MarkChannel"},{"name":"mPath","comment":" SVG path string used when encoding with a mark property channel. Useful\nfor providing custom [shapes](#shape).\n","type":"String.String -> VegaLite.MarkChannel"},{"name":"mQuant","comment":" Indicate a data field encoded as a mark property is quantitative.\n","type":"VegaLite.MarkChannel"},{"name":"mRepeat","comment":" Reference in a mark channel to a field name generated by [repeatFlow](#repeatFlow)\nor [repeat](#repeat). The parameter identifies whether reference is being made to\nfields that are to be encoded in layers, or in columns / rows with a flow layout.\nUsed by functions that influence mark channels such as [size](#size) and [color](#color).\n","type":"VegaLite.Arrangement -> VegaLite.MarkChannel"},{"name":"mRepeatDatum","comment":" Reference in a mark channel to a datum value generated by [repeatFlow](#repeatFlow)\nor [repeat](#repeat). The parameter identifies whether reference is being made to\na datum that is to be encoded in layers, or in columns / rows with a flow layout.\nUsed by functions that influence mark channels such as [size](#size) and [color](#color).\n","type":"VegaLite.Arrangement -> VegaLite.MarkChannel"},{"name":"mScale","comment":" Scaling applied to a field when encoding with a mark property channel.\nThe scale will transform a field's value into a color, shape, size etc.\nUsed by functions that influence mark channels such as [size](#size) and [color](#color).\n","type":"List.List VegaLite.ScaleProperty -> VegaLite.MarkChannel"},{"name":"mSort","comment":" Sort order when encoding sortable mark properties such as colour. Used by functions\nthat influence mark channels such as [size](#size) and [color](#color).\n","type":"List.List VegaLite.SortProperty -> VegaLite.MarkChannel"},{"name":"mStr","comment":" Literal string value when encoding with a mark property channel. Used by functions\nthat influence mark channels such as [size](#size) and [color](#color).\n","type":"String.String -> VegaLite.MarkChannel"},{"name":"mSymbol","comment":" A symbol literal when encoding with a mark property channel. Can be useful when\nmaking a symbol dependent on some data or selection condition. Used by functions that\ninfluence mark channels such as [size](#size) and [color](#color).\n","type":"VegaLite.Symbol -> VegaLite.MarkChannel"},{"name":"mTemporal","comment":" Indicate a data field encoded as a mark property is temporal.\n","type":"VegaLite.MarkChannel"},{"name":"mTimeUnit","comment":" Time unit aggregation of field values when encoding with a mark property channel.\nUsed by functions that influence mark channels such as [size](#size) and [color](#color).\n","type":"VegaLite.TimeUnit -> VegaLite.MarkChannel"},{"name":"mTitle","comment":" Title of a field when encoding with a mark property channel. For multi-line titles,\ninsert `\\n` at each line break or use a `\"\"\"` multi-line string. Used by functions that\ninfluence mark channels such as [size](#size) and [color](#color).\n","type":"String.String -> VegaLite.MarkChannel"},{"name":"maAlign","comment":" Horizontal alignment of a [textMark](#textMark).\n","type":"VegaLite.HAlign -> VegaLite.MarkProperty"},{"name":"maAngle","comment":" Rotation angle of a [textMark](#textMark) (degrees from horizontal).\n","type":"Basics.Float -> VegaLite.MarkProperty"},{"name":"maAria","comment":" [ARIA](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA) properties\nfor providing accessible SVG output associated with a mark such as [bar](#bar) or [line](#line).\nIf an empty list is provided, ARIA tagging will be switched off.\n","type":"List.List VegaLite.Aria -> VegaLite.MarkProperty"},{"name":"maAspect","comment":" Whether or not the aspect ratio of an [image](#image) mark should be preserved.\n","type":"Basics.Bool -> VegaLite.MarkProperty"},{"name":"maBandSize","comment":" Band size of a [bar](#bar) mark.\n","type":"Basics.Float -> VegaLite.MarkProperty"},{"name":"maBaseline","comment":" Vertical alignment of a [textMark](#textMark).\n","type":"VegaLite.VAlign -> VegaLite.MarkProperty"},{"name":"maBinSpacing","comment":" Offset between bars for a binned field using a [bar](#bar) mark.\n","type":"Basics.Float -> VegaLite.MarkProperty"},{"name":"maBlend","comment":" Color blend mode for drawing a mark such as [bar](#bar) or [circle](#circle) over\nits current background. Standard\n[CSS blend modes](https://developer.mozilla.org/en-US/docs/Web/CSS/mix-blend-mode)\ncan be specified such as [bmHue](#bmHue), [bmDarken](#bmDarken) etc.\n","type":"VegaLite.BlendMode -> VegaLite.MarkProperty"},{"name":"maBooExpr","comment":" Provide an [expression](https://vega.github.io/vega/docs/expressions/) to\na mark property function requiring a boolean value. This can be used to provide an\ninteractive parameterisation of a mark property by providing an expression bound\nto an input element. For example,\n\n    ps =\n        params\n            << param \"asp\"\n                [ paValue (boo True)\n                , paBind (ipCheckbox [ inName \"maintain aspect ratio\" ])\n                ]\n\n    mk =\n        image [ maBooExpr \"asp\" maAspect ]\n\n","type":"String.String -> (Basics.Bool -> VegaLite.MarkProperty) -> VegaLite.MarkProperty"},{"name":"maBorders","comment":" Border properties for an [errorband](#errorband) mark.\n","type":"List.List VegaLite.MarkProperty -> VegaLite.MarkProperty"},{"name":"maBox","comment":" Box symbol properties for the [boxplot](#boxplot) mark. If an empty list is\nprovided, no box will be shown.\n","type":"List.List VegaLite.MarkProperty -> VegaLite.MarkProperty"},{"name":"maClip","comment":" Whether or not a mark such as [bar](#bar) or [line](#line) should be clipped\nto the enclosing group's dimensions.\n","type":"Basics.Bool -> VegaLite.MarkProperty"},{"name":"maColor","comment":" Default color of a mark. Note that `maFill` and `maStroke` have higher\nprecedence and will override this if specified. Used by mark functions such\nas [bar](#bar) and [line](#line).\n\nColor strings can use any valid HTML color specification.\n\n    maColor \"#eee\"\n\n    maColor \"#734FD8\"\n\n    maColor \"crimson\"\n\n    maColor \"rgb(255,204,210)\"\n\n    maColor \"hsl(180, 50%, 50%)\"\n\n","type":"String.String -> VegaLite.MarkProperty"},{"name":"maColorGradient","comment":" A color gradient to apply to a mark such as [bar](#bar) or [circle](#circle).\nThe first parameter indicates whether the gradient should be linear or radial.\nThe second is a set of customisation options for the colors, positioning and rate\nof change of the gradient. For example, to set a radial red-blue color\ngradient for a mark:\n\n    maColorGradient grRadial [ grStops [ ( 0, \"red\" ), ( 1, \"blue\" ) ] ]\n\n","type":"VegaLite.ColorGradient -> List.List VegaLite.GradientProperty -> VegaLite.MarkProperty"},{"name":"maContinuousBandSize","comment":" Continuous band size of a [bar](#bar) mark.\n","type":"Basics.Float -> VegaLite.MarkProperty"},{"name":"maCornerRadius","comment":" The radius in pixels of selected marks' corners. For rectangular marks such as [bar](#bar),\nit shapes all four corners; for [arc](#arc) marks it shapes the vertices of segment.\nDefault is 0 indicating no rounding.\n","type":"Basics.Float -> VegaLite.MarkProperty"},{"name":"maCornerRadiusBottomLeft","comment":" The radius in pixels of the bottom-left corner of a rectangular mark such as [bar](#bar).\nWill override any value specified in [maCornerRadius](#maCornerRadius).\n","type":"Basics.Float -> VegaLite.MarkProperty"},{"name":"maCornerRadiusBottomRight","comment":" The radius in pixels of the bottom-right corner of a rectangular mark such as [bar](#bar).\nWill override any value specified in [maCornerRadius](#maCornerRadius).\n","type":"Basics.Float -> VegaLite.MarkProperty"},{"name":"maCornerRadiusEnd","comment":" The radius in pixels of the 'end' corners of a [bar](#bar) mark. For vertical bars\nthis would be the top corners and for horizontal bars, the right corners.\n","type":"Basics.Float -> VegaLite.MarkProperty"},{"name":"maCornerRadiusTopLeft","comment":" The radius in pixels of the top-left corner of a rectangular mark such as [bar](#bar).\nWill override any value specified in [maCornerRadius](#maCornerRadius).\n","type":"Basics.Float -> VegaLite.MarkProperty"},{"name":"maCornerRadiusTopRight","comment":" The radius in pixels of the top-right corner of a rectangular mark such as [bar](#bar).\nWill override any value specified in [maCornerRadius](#maCornerRadius).\n","type":"Basics.Float -> VegaLite.MarkProperty"},{"name":"maCursor","comment":" Cursor to be associated with a [hyperlink](#hyperlink) mark.\n","type":"VegaLite.Cursor -> VegaLite.MarkProperty"},{"name":"maDir","comment":" Direction of text in a [textMark](#textMark), which determines which end is\ntruncated in cases where text is larger than available space.\n","type":"VegaLite.TextDirection -> VegaLite.MarkProperty"},{"name":"maDiscreteBandSize","comment":" Discrete band size of a [bar](#bar) mark.\n","type":"Basics.Float -> VegaLite.MarkProperty"},{"name":"maDx","comment":" Horizontal offset between a [textMark](#textMark) and its anchor.\n","type":"Basics.Float -> VegaLite.MarkProperty"},{"name":"maDy","comment":" Vertical offset between a [textMark](#textMark) mark and its anchor.\n","type":"Basics.Float -> VegaLite.MarkProperty"},{"name":"maEllipsis","comment":" Text to indicate a truncated piece of a [textMark](#textMark). Default is the ellipsis ...\n","type":"String.String -> VegaLite.MarkProperty"},{"name":"maExtent","comment":" Extent of whiskers used in a [boxplot](#boxplot), [errorbar](#errorbar) or [errorband](#errorband).\n","type":"VegaLite.SummaryExtent -> VegaLite.MarkProperty"},{"name":"maFill","comment":" Default fill color of a mark such as [bar](#bar) or [circle](#circle).\nColor strings can use any valid HTML color specification.\n\n    maFill \"#eee\"\n\n    maFill \"#734FD8\"\n\n    maFill \"crimson\"\n\n    maFill \"rgb(255,204,210)\"\n\n    maFill \"rgba(255,50,80,0.3)\"\n\n    maFill \"hsl(180, 50%, 50%)\"\n\nUsually, to avoid filling the interior of a mark, use [maFilled False](#maFilled),\nbut `maFill \"\"` can instead be used for cases where an interactive tooltip needs\nto 'see through' a stroked mark to one underneath it in a layered specification.\n\n","type":"String.String -> VegaLite.MarkProperty"},{"name":"maFillGradient","comment":" A color gradient to apply to a mark's interior. The first parameter indicates\nwhether the gradient should be linear or radial. The second is a set of customisation\noptions for the colors, positioning and rate of change of the gradient. For example,\nto set a radial red-blue color gradient as a fill for a mark:\n\n    maStrokeGradient grRadial [ grStops [ ( 0, \"red\" ), ( 1, \"blue\" ) ] ]\n\nFill gradients have a higher priority than [maColorGradient](#maColorGradient).\nUsed by mark functions such as [bar](#bar) and [circle](#circle).\n\n","type":"VegaLite.ColorGradient -> List.List VegaLite.GradientProperty -> VegaLite.MarkProperty"},{"name":"maFillOpacity","comment":" Fill opacity of a mark such as [bar](#bar) or [circle](#circle).\n","type":"Basics.Float -> VegaLite.MarkProperty"},{"name":"maFilled","comment":" Whether or not a mark's color should be used as the fill color instead of\nstroke color. Used by mark functions such as [bar](#bar) and [circle](#circle).\n","type":"Basics.Bool -> VegaLite.MarkProperty"},{"name":"maFont","comment":" Font of a [textMark](#textMark). Can be any font name made accessible via a css file (or\na generic font like `serif`, `monospace` etc.).\n","type":"String.String -> VegaLite.MarkProperty"},{"name":"maFontSize","comment":" Font size in pixels used by a [textMark](#textMark).\n","type":"Basics.Float -> VegaLite.MarkProperty"},{"name":"maFontStyle","comment":" Font style (e.g. `italic`) used by a [textMark](#textMark).\n","type":"String.String -> VegaLite.MarkProperty"},{"name":"maFontWeight","comment":" Font weight used by a [textMark](#textMark).\n","type":"VegaLite.FontWeight -> VegaLite.MarkProperty"},{"name":"maHRef","comment":" Hyperlink to be associated with a mark such as a [circle](#circle) making it a clickable hyperlink.\n","type":"String.String -> VegaLite.MarkProperty"},{"name":"maHeight","comment":" Explicitly set the height of a mark such as [rect](#rect).\n","type":"Basics.Float -> VegaLite.MarkProperty"},{"name":"maHeightBand","comment":" Set the height of a [bar](#bar) mark as a proportion of its band size.\n","type":"Basics.Float -> VegaLite.MarkProperty"},{"name":"maInnerRadius","comment":" Fix the inner radius (R2) of a radial plot using an [arc](#arc) mark. Can be used for creating 'holes'\nin pie chart.\n","type":"Basics.Float -> VegaLite.MarkProperty"},{"name":"maInterpolate","comment":" Interpolation method used by [line](#line) and [area](#area) marks.\nFor example, to create a curved line joining data points:\n\n    line [ maInterpolate miMonotone ]\n\n","type":"VegaLite.MarkInterpolation -> VegaLite.MarkProperty"},{"name":"maLimit","comment":" Width in pixels indicating maximum permitted space for a [textMark](#textMark\nAny mark that exceeds this limit will be truncated with an ellipsis.\n","type":"Basics.Float -> VegaLite.MarkProperty"},{"name":"maLine","comment":" Appearance of a line marker joining the vertices of an [area](#area) mark.\nFor example,\n\n    area\n        [ maLine (lmMarker [ maStroke \"black\" ])\n        , maInterpolate miMonotone\n        ]\n\n","type":"VegaLite.LineMarker -> VegaLite.MarkProperty"},{"name":"maLineHeight","comment":" Line height for a multi-line [textMark](#textMark).\n","type":"Basics.Float -> VegaLite.MarkProperty"},{"name":"maMedian","comment":" Median line properties for the [boxplot](#boxplot) mark. If an empty list\nis provided, no median line will be shown.\n","type":"List.List VegaLite.MarkProperty -> VegaLite.MarkProperty"},{"name":"maNumExpr","comment":" Provide an [expression](https://vega.github.io/vega/docs/expressions/) to a\nmark property function requiring a numeric value. This can be used for interactive\nparameterisation when an expression is bound to an input element. For example,\n\n    ps =\n        params\n            << param \"r\"\n                [ paValue (num 0)\n                , paBind (ipRange [ inMax 100 ])\n                ]\n\n    mk =\n        arc [ maNumExpr \"r\" maInnerRadius ]\n\n","type":"String.String -> (number -> VegaLite.MarkProperty) -> VegaLite.MarkProperty"},{"name":"maNumsExpr","comment":" Provide an [expression](https://vega.github.io/vega/docs/expressions/) to\na mark property function requiring a list of numbers (for dash styles). This can\nbe used to provide an interactive parameterisation of a mark's dash property when\nan expression is bound to an input element. For example,\n\n    ps =\n        params\n            << param \"dashStyle\"\n                [ paValue (nums [ 2, 2 ])\n                , paBind (ipSelect [ inDataOptions [ nums [ 2, 2 ], nums [ 8, 8 ] ] ])\n                ]\n\n    mk =\n        bar\n            [ maNumsExpr \"dashStyle\" maStrokeDash, maStroke \"black\" ]\n\n","type":"String.String -> (List.List number -> VegaLite.MarkProperty) -> VegaLite.MarkProperty"},{"name":"maOpacity","comment":" Overall opacity of a mark such as [bar](#bar) or [line](#line) in the range\n0 (completely transparent) to 1 (completely opaque).\n","type":"Basics.Float -> VegaLite.MarkProperty"},{"name":"maOrder","comment":" Ordering of vertices in a [line](#line) or [area](#area) mark. If true (default),\norder is determined by measurement type or order channel. If false, the original\ndata order is used.\n","type":"Basics.Bool -> VegaLite.MarkProperty"},{"name":"maOrient","comment":" Orientation of a non-stacked [bar](#bar), [tick](#tick), [area](#area) or [line](#line) mark.\n","type":"VegaLite.MarkOrientation -> VegaLite.MarkProperty"},{"name":"maOuterRadius","comment":" Fix the outer radius (R) of a radial plot using an [arc](#arc) mark.\n","type":"Basics.Float -> VegaLite.MarkProperty"},{"name":"maOutliers","comment":" Outlier symbol properties for the [boxplot](#boxplot) mark. If an empty\nlist is provided, no outliers will be shown.\n","type":"List.List VegaLite.MarkProperty -> VegaLite.MarkProperty"},{"name":"maPadAngle","comment":" Angular padding applied to sides of an [arc](#arc) mark (in radians).\n","type":"Basics.Float -> VegaLite.MarkProperty"},{"name":"maPoint","comment":" Appearance of a point marker joining the vertices of a [line](#line) or [area](#area) mark.\n\n    line [ maPoint (pmMarker [ maFill \"black\" ]) ]\n\n","type":"VegaLite.PointMarker -> VegaLite.MarkProperty"},{"name":"maRadius","comment":" Radial offset of a [textMark](#textMark) from an origin specified in Cartesian\n`X` and `Y` coordinates.\n","type":"Basics.Float -> VegaLite.MarkProperty"},{"name":"maRadius2Offset","comment":" Polar coordinate inner radial offset of an [arc](#arc) mark from a polar origin\nspecified with `Theta`, `R` and `R2`.\n","type":"Basics.Float -> VegaLite.MarkProperty"},{"name":"maRadiusOffset","comment":" Polar coordinate radial offset of a [textMark](#textMark) or [arc](#arc) mark\nfrom a polar origin specified with `Theta` and `R`.\n","type":"Basics.Float -> VegaLite.MarkProperty"},{"name":"maRemoveInvalid","comment":" Determine whether or not invalid (`null` and `NaN`) values are considered for\nencoding as marks such as [bar](#bar) or [point](#point). If `true` (default),\ninvalid values are ignored, otherwise they are treated as if 0.\n","type":"Basics.Bool -> VegaLite.MarkProperty"},{"name":"maRule","comment":" Rule (main line) properties for the [errorbar](#errorbar) and boxplot marks.\nIf an empty list is provided, no rule will be shown.\n","type":"List.List VegaLite.MarkProperty -> VegaLite.MarkProperty"},{"name":"maShape","comment":" Shape of a [point](#point) mark.\n","type":"VegaLite.Symbol -> VegaLite.MarkProperty"},{"name":"maShortTimeLabels","comment":" Whether or not month and weekday names are abbreviated in a [textMark](#textMark).\n","type":"Basics.Bool -> VegaLite.MarkProperty"},{"name":"maSize","comment":" Size of a mark such as a [circle](#circle) or [square](#square) in square units.\nFor example, to create a circle of diameter 50 pixels:\n\n    circle [ maSize 2500 ]\n\n","type":"Basics.Float -> VegaLite.MarkProperty"},{"name":"maStrExpr","comment":" Provide an [expression](https://vega.github.io/vega/docs/expressions/) to\na mark property function requiring a string value. This can be used to provide an\ninteractive parameterisation of a mark property by providing an expression bound\nto an input element. For example,\n\n    ps =\n        params\n            << param \"clr\"\n                [ paValue (str \"red\")\n                , paBind (ipColor [])\n                ]\n\n    mk =\n        circle [ maStrExpr \"clr\" maFill ]\n\n","type":"String.String -> (String.String -> VegaLite.MarkProperty) -> VegaLite.MarkProperty"},{"name":"maStroke","comment":" Default stroke color of a mark such as [circle](#circle) or [bar](#bar).\nColor strings can use any valid HTML color specification.\n\n    maStroke \"#eee\"\n\n    maStroke \"#734FD8\"\n\n    maStroke \"crimson\"\n\n    maStroke \"rgb(255,204,210)\"\n\n    maStroke \"hsl(180, 50%, 50%)\"\n\nAn empty string (`\"\"`) indicates that no stroke around a mark be drawn.\n\n","type":"String.String -> VegaLite.MarkProperty"},{"name":"maStrokeCap","comment":" Cap style of a mark's stroke. Used by mark functions such as [point](#point) and [line](#line).\n","type":"VegaLite.StrokeCap -> VegaLite.MarkProperty"},{"name":"maStrokeDash","comment":" Stroke dash style used by a mark such as [circle](#circle) or [line](#line).\nDetermined by an alternating 'on-off' sequence of line lengths.\n","type":"List.List Basics.Float -> VegaLite.MarkProperty"},{"name":"maStrokeDashOffset","comment":" Number of pixels before the first line dash is drawn in a mark such as [line](#line).\n","type":"Basics.Float -> VegaLite.MarkProperty"},{"name":"maStrokeGradient","comment":" A color gradient to apply to a mark's boundary stroke. The first parameter indicates\nwhether the gradient should be linear or radial. The second is a set of customisation\noptions for the colors, positioning and rate of change of the gradient. For example,\nto set a radial red-blue color gradient for a mark's stroke:\n\n    maStrokeGradient grRadial [ grStops [ ( 0, \"red\" ), ( 1, \"blue\" ) ] ]\n\nStroke gradients have a higher priority than [maColorGradient](#maColorGradient).\n\nUsed by mark functions such as [bar](#bar) and [line](#line).\n\n","type":"VegaLite.ColorGradient -> List.List VegaLite.GradientProperty -> VegaLite.MarkProperty"},{"name":"maStrokeJoin","comment":" Line segment join style of a mark's stroke. Used by mark functions such as [point](#point) and [line](#line).\n","type":"VegaLite.StrokeJoin -> VegaLite.MarkProperty"},{"name":"maStrokeMiterLimit","comment":" Mitre limit at which to bevel a join between line segments of a mark's stroke.\nUsed by mark functions such as [point](#point) and [line](#line).\n","type":"Basics.Float -> VegaLite.MarkProperty"},{"name":"maStrokeOpacity","comment":" Stroke opacity of a mark in the range 0 to 1. Used by mark functions such as [circle](#circle) or [bar](#bar).\n","type":"Basics.Float -> VegaLite.MarkProperty"},{"name":"maStrokeWidth","comment":" Stroke width of a mark in pixel units. Used by mark functions such as [circle](#circle) or [bar](#bar).\n","type":"Basics.Float -> VegaLite.MarkProperty"},{"name":"maStyle","comment":" Names of custom styles to apply to a mark such as [bar](#bar) or [area](#area).\nEach should refer to a named style defined in a separate style configuration with\n[coMarkStyles](#coMarkStyles). While this is provided for compatibility with Vega-Lite\nstyle specification, for greater type safety in elm-vegalite, instead create\nfunctions that generate [MarkProperties](#MarkProperty).\n","type":"List.List String.String -> VegaLite.MarkProperty"},{"name":"maTension","comment":" Interpolation tension used when interpolating [line](#line) and [area](#area) marks.\n","type":"Basics.Float -> VegaLite.MarkProperty"},{"name":"maText","comment":" Placeholder text for a [textMark](#textMark) for when a text channel is not specified.\nMulti-line text can be specified by adding a `\\n` at each line break or by using\na `\"\"\"` multi-line string.\n","type":"String.String -> VegaLite.MarkProperty"},{"name":"maTheta","comment":" Polar coordinate angle (clockwise from north in radians) of an [arc](#arc) or\n[textMark](#textMark). If a text mark it represents polar coordinate angle relative\nto an origin determined by its x and y properties. For an arc mark it is its length\nin radians or, when combined with [maTheta2](#maTheta2), the arc's start angle.\n","type":"Basics.Float -> VegaLite.MarkProperty"},{"name":"maTheta2","comment":" Polar coordinate angle (clockwise from north in radians) of the end of an\n[arc](#arc) mark.\n","type":"Basics.Float -> VegaLite.MarkProperty"},{"name":"maTheta2Offset","comment":" Clockwise angular offset (in radians) of the second theta value of a radially\npositioned mark such as an [arc](#arc). Useful when the offsets to apply to the\nstart and end angle of an arc need to be set independently.\n","type":"Basics.Float -> VegaLite.MarkProperty"},{"name":"maThetaOffset","comment":" Clockwise angular offset (in radians) of a radially positioned mark such as an [arc](#arc).\n","type":"Basics.Float -> VegaLite.MarkProperty"},{"name":"maThickness","comment":" Thickness of a [tick](#tick) mark.\n","type":"Basics.Float -> VegaLite.MarkProperty"},{"name":"maTicks","comment":" Tick properties for the [errorbar](#errorbar) or [boxplot](#boxplot) mark.\n","type":"List.List VegaLite.MarkProperty -> VegaLite.MarkProperty"},{"name":"maTooltip","comment":" Provide source of a mark's tooltip content. For example to show all encoded\ndata values in the tooltip of a [circle](#circle) mark:\n\n    circle [ maTooltip ttEncoding ]\n\n","type":"VegaLite.TooltipContent -> VegaLite.MarkProperty"},{"name":"maUrl","comment":" An [image](#image) mark's URL.\n","type":"String.String -> VegaLite.MarkProperty"},{"name":"maWidth","comment":" Explicitly set the width of a mark such as a [bar](#bar).\n","type":"Basics.Float -> VegaLite.MarkProperty"},{"name":"maWidthBand","comment":" Set the width of a mark as a proportion of its band size. For example, to set\na [bar](#bar) width to be three quarters of its normal width,\n\n    bar [ maWidthBand 0.75 ]\n\n","type":"Basics.Float -> VegaLite.MarkProperty"},{"name":"maX","comment":" X position of a mark such as a [point](#point) or [square](#square).\n","type":"Basics.Float -> VegaLite.MarkProperty"},{"name":"maX2","comment":" X2 position (secondary x value for linear marks such as [rule](#rule) and areal marks such as [rect](#rect)).\n","type":"Basics.Float -> VegaLite.MarkProperty"},{"name":"maX2Offset","comment":" X2 position offset for a mark such as [rect](#rect) or [rule][#rule].\n","type":"Basics.Float -> VegaLite.MarkProperty"},{"name":"maXOffset","comment":" X position offset for a mark such as [textMark](#textMark).\n","type":"Basics.Float -> VegaLite.MarkProperty"},{"name":"maY","comment":" Y position of a mark such as [rect](#rect) or [rule][#rule].\n","type":"Basics.Float -> VegaLite.MarkProperty"},{"name":"maY2","comment":" Y2 position (secondary y value for linear marks such as [rule](#rule) and areal marks such as [rect](#rect)).\n","type":"Basics.Float -> VegaLite.MarkProperty"},{"name":"maY2Offset","comment":" Y2 position offset for a mark.\n","type":"Basics.Float -> VegaLite.MarkProperty"},{"name":"maYOffset","comment":" Y position offset for a mark such as [textMark](#textMark).\n","type":"Basics.Float -> VegaLite.MarkProperty"},{"name":"mercator","comment":" A Mercator map projection. This is the default projection of longitude,latitude\nvalues if no projection is set explicitly. It preserves shape (local angle) and lines\nof equal angular bearing remain parallel straight lines. But area is significantly\nenlarged towards the poles. Used by [prType](#prType).\n","type":"VegaLite.Projection"},{"name":"miBasis","comment":" Cubic basis spline interpolation between points anchored at first and last points.\nUsed by [maInterpolate](#maInterpolate).\n","type":"VegaLite.MarkInterpolation"},{"name":"miBasisClosed","comment":" Closed cubic basis spline interpolation between points forming a polygon.\nUsed by [maInterpolate](#maInterpolate).\n","type":"VegaLite.MarkInterpolation"},{"name":"miBasisOpen","comment":" Open cubic basis spline interpolation between points, which may not intersect\nfirst and last points. Used by [maInterpolate](#maInterpolate).\n","type":"VegaLite.MarkInterpolation"},{"name":"miBundle","comment":" Bundle curve interpolation between points.\n","type":"VegaLite.MarkInterpolation"},{"name":"miCardinal","comment":" Cubic cardinal spline interpolation between points anchored at first and last\npoints. Used by [maInterpolate](#maInterpolate).\n","type":"VegaLite.MarkInterpolation"},{"name":"miCardinalClosed","comment":" Closed cubic cardinal spline interpolation between points forming a polygon.\nUsed by [maInterpolate](#maInterpolate).\n","type":"VegaLite.MarkInterpolation"},{"name":"miCardinalOpen","comment":" Open cubic cardinal spline interpolation between points, which may not intersect\nfirst and last points. Used by [maInterpolate](#maInterpolate).\n","type":"VegaLite.MarkInterpolation"},{"name":"miExpr","comment":" Expression that evaluates to some interpolation method such as \"linear\", \"basis\"\nor \"monotone\". Used by [maInterpolate](#maInterpolate).\n","type":"String.String -> VegaLite.MarkInterpolation"},{"name":"miLinear","comment":" Linear (straight) interpolation between points. Used by [maInterpolate](#maInterpolate).\n","type":"VegaLite.MarkInterpolation"},{"name":"miLinearClosed","comment":" Linear (straight) interpolation between points that joins the first and last\npoints in a sequence to form a closed polygon. Used by [maInterpolate](#maInterpolate).\n","type":"VegaLite.MarkInterpolation"},{"name":"miMonotone","comment":" Cubic spline interpolation that preserves monotonicity between points.\nUsed by [maInterpolate](#maInterpolate).\n","type":"VegaLite.MarkInterpolation"},{"name":"miStepAfter","comment":" Piecewise (stepped) constant interpolation function after each point in a sequence.\nUsed by [maInterpolate](#maInterpolate).\n","type":"VegaLite.MarkInterpolation"},{"name":"miStepBefore","comment":" Piecewise (stepped) constant interpolation function before each point in a sequence.\nUsed by [maInterpolate](#maInterpolate).\n","type":"VegaLite.MarkInterpolation"},{"name":"miStepwise","comment":" Piecewise (stepped) constant interpolation function centred on each point in\na sequence. Used by [maInterpolate](#maInterpolate).\n","type":"VegaLite.MarkInterpolation"},{"name":"milliseconds","comment":" Milliseconds time unit used for discretizing temporal data.\n","type":"VegaLite.TimeUnit"},{"name":"minutes","comment":" Minute of the hour time unit used for discretizing temporal data.\n","type":"VegaLite.TimeUnit"},{"name":"minutesSeconds","comment":" Minutes and seconds time unit used for discretizing temporal data.\n","type":"VegaLite.TimeUnit"},{"name":"moHorizontal","comment":" Indicate horizontal mark orientation. Used by [maOrient](#maOrient),\n[leDirection](#leDirection), [lecoDirection](#lecoDirection),\n[lecoGradientDirection](#lecoGradientDirection) and [lecoSymbolDirection](#lecoSymbolDirection).\n","type":"VegaLite.MarkOrientation"},{"name":"moVertical","comment":" Indicate vertical mark orientation. Used by [maOrient](#maOrient),\n[leDirection](#leDirection), [lecoDirection](#lecoDirection),\n[lecoGradientDirection](#lecoGradientDirection) and [lecoSymbolDirection](#lecoSymbolDirection).\n","type":"VegaLite.MarkOrientation"},{"name":"month","comment":" Month of the year used for discretizing temporal data. This will ignore year so\nuseful for looking at monthly seasonal patterns through the year.\n","type":"VegaLite.TimeUnit"},{"name":"monthDate","comment":" Day of the year for discretizing temporal data. This will ignore year so useful\nfor looking at seasonal patterns through the year.\n","type":"VegaLite.TimeUnit"},{"name":"monthDateHours","comment":" Hour of the year used for discretizing temporal data. This will ignore year so\nuseful for looking at seasonal patterns with hourly resolution.\n","type":"VegaLite.TimeUnit"},{"name":"monthDateHoursMinutes","comment":" Minute of the year used for discretizing temporal data. This will ignore year\nso useful for looking at seasonal patterns with one-minute resolution.\n","type":"VegaLite.TimeUnit"},{"name":"monthDateHoursMinutesSeconds","comment":" Second of the year used for discretizing temporal data. This will ignore year\nso useful for looking at seasonal patterns with one-second resolution.\n","type":"VegaLite.TimeUnit"},{"name":"name","comment":" Name to be associated with a visualization.\n","type":"String.String -> ( VegaLite.VLProperty, VegaLite.Spec )"},{"name":"naturalEarth1","comment":" A natural earth map projection. Used by [prType](#prType).\n","type":"VegaLite.Projection"},{"name":"niDay","comment":" Nice time intervals that try to align with whole or rounded days. Used by [scNice](#scNice)\nand [axTickCount](#axTickCount).\n","type":"VegaLite.ScaleNice"},{"name":"niExpr","comment":" Specify nice scaling with an expression that evaluates to a valid nice property\n(e.g. a number or time interval). Used by [scNice](#scNice) and [axTickCount](#axTickCount).\n","type":"String.String -> VegaLite.ScaleNice"},{"name":"niFalse","comment":" Disable nice scaling. Used by [scNice](#scNice) and [axTickCount](#axTickCount).\n","type":"VegaLite.ScaleNice"},{"name":"niHour","comment":" Nice time intervals that try to align with whole or rounded hours. Used by [scNice](#scNice)\nand [axTickCount](#axTickCount).\n","type":"VegaLite.ScaleNice"},{"name":"niInterval","comment":" 'Nice' temporal interval values when scaling. Used by [scNice](#scNice) and [axTickCount](#axTickCount).\n","type":"VegaLite.TimeUnit -> Basics.Int -> VegaLite.ScaleNice"},{"name":"niMillisecond","comment":" Nice time intervals that try to align with rounded milliseconds. Used by [scNice](#scNice)\nand [axTickCount](#axTickCount).\n","type":"VegaLite.ScaleNice"},{"name":"niMinute","comment":" Nice time intervals that try to align with whole or rounded minutes. Used by [scNice](#scNice)\nand [axTickCount](#axTickCount).\n","type":"VegaLite.ScaleNice"},{"name":"niMonth","comment":" Nice time intervals that try to align with whole or rounded months. Used by [scNice](#scNice)\nand [axTickCount](#axTickCount).\n","type":"VegaLite.ScaleNice"},{"name":"niSecond","comment":" Nice time intervals that try to align with whole or rounded seconds. Used by [scNice](#scNice)\nand [axTickCount](#axTickCount).\n","type":"VegaLite.ScaleNice"},{"name":"niTickCount","comment":" Desired number of tick marks in a 'nice' scaling. Used by [scNice](#scNice)\nand [axTickCount](#axTickCount).\n","type":"Basics.Int -> VegaLite.ScaleNice"},{"name":"niTrue","comment":" Enable nice scaling. Used by [scNice](#scNice) and [axTickCount](#axTickCount).\n","type":"VegaLite.ScaleNice"},{"name":"niWeek","comment":" Nice time intervals that try to align with whole or rounded weeks. Used by [scNice](#scNice)\nand [axTickCount](#axTickCount).\n","type":"VegaLite.ScaleNice"},{"name":"niYear","comment":" Nice time intervals that try to align with whole or rounded years. Used by [scNice](#scNice)\nand [axTickCount](#axTickCount).\n","type":"VegaLite.ScaleNice"},{"name":"noClip","comment":" Indicate no clipping to be applied. Used by [prClipExtent](#prClipExtent).\n","type":"VegaLite.ClipRect"},{"name":"noData","comment":" Ignore the data of a specification's parent when used in a composed spec such\nas layering or concatenation.\n","type":"VegaLite.Data"},{"name":"not","comment":" Apply a negation Boolean operation as part of a logical composition. Boolean\noperations can be nested to any level.\n\n    not (and (expr \"datum.IMDB_Rating === null\") (expr \"datum.Rotten_Tomatoes_Rating === null\"))\n\n","type":"VegaLite.BooleanOp -> VegaLite.BooleanOp"},{"name":"nullValue","comment":" An unspecified data value. Used by [dataRow](#dataRow), [paValue](#paValue), [pDatum](#pDatum),\n[mDatum](#mDatum), [tDatum](#tDatum), [datumArray](#datumArray), [inDatumOptions](#inDatumOptions),\n[imNewValue](#imNewValue), [fiEqual](#fiEqual), [fiLessThan](#fiLessThan), [fiLessThanEq](#fiLessThanEq),\n[fiGreaterThan](#fiGreaterThan), [fiGreaterThanEq](#fiGreaterThanEq) and [fiOneOf](#fiOneOf).\n\nCan be useful when explicitly recoding a value as undefined.\n\n    data =\n        dataFromRows []\n            << dataRow [ ( \"x\", num 1 ), ( \"y\", num 10 ) ]\n            << dataRow [ ( \"x\", num 2 ), ( \"y\", nullValue ) ]\n            << dataRow [ ( \"x\", num 3 ), ( \"y\", num 30 ) ]\n\nFor more complex data sources that contain lists of defined and unspecified values,\nconsider using [dataFromJson](#dataFromJson) instead.\n\n","type":"VegaLite.DataValue"},{"name":"num","comment":" A numeric data value. Used by [dataRow](#dataRow), [paValue](#paValue), [pDatum](#pDatum), [mDatum](#mDatum),\n[tDatum](#tDatum), [datumArray](#datumArray), [inDatumOptions](#inDatumOptions), [imNewValue](#imNewValue),\n[fiEqual](#fiEqual), [fiLessThan](#fiLessThan), [fiLessThanEq](#fiLessThanEq), [fiGreaterThan](#fiGreaterThan),\n[fiGreaterThanEq](#fiGreaterThanEq) and [fiOneOf](#fiOneOf).\n","type":"Basics.Float -> VegaLite.DataValue"},{"name":"numRange","comment":" Minimum-maximum number range to be used in data filtering. Used by [fiRange](#fiRange).\n","type":"Basics.Float -> Basics.Float -> VegaLite.FilterRange"},{"name":"nums","comment":" List of numeric data values. Used when declaring inline data with\n[dataColumn](#dataColumn), filtering ([fiOneOf](#fiOneOf)), imputation\n([imKeyVals](#imKeyVals)) and customised sorting ([soCustom](#soCustom)).\n","type":"List.List Basics.Float -> VegaLite.DataValues"},{"name":"oAggregate","comment":" Compute some aggregate summary statistics for a field to be encoded with an\norder channel. The type of aggregation is determined by the given operation\nparameter. Used by [order](#order) and [oCondition](#oCondition).\n","type":"VegaLite.Operation -> VegaLite.OrderChannel"},{"name":"oBin","comment":" Discretize numeric values into bins when encoding with an order channel.\nUsed by [order](#order) and [oCondition](#oCondition).\n","type":"List.List VegaLite.BinProperty -> VegaLite.OrderChannel"},{"name":"oCondition","comment":" Make an order channel encoding conditional on a predicate expression. A predicate\nmight be the result of evaluating a parameter ([prParam](#prParam)) or an expression\n([prTest](#prTest)). The first parameter is the predicate that evaluates to true\nor false; the second the encoding if true, the third the encoding if false.\nUsed by [order](#order) and [oCondition](#oCondition).\n\nFor example, to bring marks of an interactively selected colour to the front:\n\n    ps =\n        params\n            << param \"sel\" [ paSelect sePoint [ seEncodings [ chColor ] ] ]\n\n    enc =\n        encoding\n            << order [ oCondition (prParam \"sel\") [ oNum 1 ] [ oNum 0 ] ]\n\n","type":"VegaLite.Predicate -> List.List VegaLite.OrderChannel -> List.List VegaLite.OrderChannel -> VegaLite.OrderChannel"},{"name":"oConditions","comment":" Make an order channel conditional on a sequence of predicate values. This can\nbe used when several predicates need to be tested in sequence each with their\nown encoding outcomes ('if-else'). Used by [order](#order) and [oCondition](#oCondition).\n\nFor example to control mark z-order for three category values:\n\n    order\n        [ oConditions\n            [ ( prTest (expr \"datum.Origin == 'Europe'\"), [ oNum 3 ] )\n            , ( prTest (expr \"datum.Origin == 'Japan'\"), [ oNum 2 ] )\n            ]\n            [ oNum 1 ]\n        ]\n\n","type":"List.List ( VegaLite.Predicate, List.List VegaLite.OrderChannel ) -> List.List VegaLite.OrderChannel -> VegaLite.OrderChannel"},{"name":"oGeo","comment":" Indicate a data field encoded with an order channel is a geo feature.\nUsed by [order](#order) and [oCondition](#oCondition).\n","type":"VegaLite.OrderChannel"},{"name":"oName","comment":" Name of field used for encoding with an order channel.\n","type":"String.String -> VegaLite.OrderChannel"},{"name":"oNominal","comment":" Indicate a data field encoded with an order channel is nominal.\nUsed by [order](#order) and [oCondition](#oCondition).\n","type":"VegaLite.OrderChannel"},{"name":"oNum","comment":" Specify a literal numeric value for an order channel. Useful for setting a\nconditional z-order with interaction to bring selected feature to 'front'.\n","type":"Basics.Float -> VegaLite.OrderChannel"},{"name":"oOrdinal","comment":" Indicate a data field encoded with an order channel is ordinal.\nUsed by [order](#order) and [oCondition](#oCondition).\n","type":"VegaLite.OrderChannel"},{"name":"oQuant","comment":" Indicate a data field encoded with an order channel is quantitative.\nUsed by [order](#order) and [oCondition](#oCondition).\n","type":"VegaLite.OrderChannel"},{"name":"oRepeat","comment":" Reference in a order channel to a field name generated by [repeatFlow](#repeatFlow)\nor [repeat](#repeat). The parameter identifies whether reference is being made to\nfields that are to be arranged in columns, in rows or a with a flow layout.\nUsed by [order](#order) and [oCondition](#oCondition).\n","type":"VegaLite.Arrangement -> VegaLite.OrderChannel"},{"name":"oSort","comment":" Sort order to be used by an order channel. Used by [order](#order) and [oCondition](#oCondition).\n","type":"List.List VegaLite.SortProperty -> VegaLite.OrderChannel"},{"name":"oTemporal","comment":" Indicate a data field encoded with an order channel is temporal.\nUsed by [order](#order) and [oCondition](#oCondition).\n","type":"VegaLite.OrderChannel"},{"name":"oTimeUnit","comment":" Time unit aggregation of field values when encoding with an order channel.\nUsed by [order](#order) and [oCondition](#oCondition).\n","type":"VegaLite.TimeUnit -> VegaLite.OrderChannel"},{"name":"opArgMax","comment":" An input data object containing the minimum field value to be used in an\naggregation operation. If supplied as part of an encoding aggregation, the parameter\nshould be `Just` the name of the field to maximise. Used by [mAggregate](#mAggregate),\n[pAggregate](#pAggregate), [hAggregate](#hAggregate), [oAggregate](#oAggregate),\n[tAggregate](#tAggregate), [dAggregate](#dAggregate), [fAggregate](#fAggregate),\n[opAs](#opAs), [piOp](#piOp), [wiAggregateOp](#), [soByField](#soByField) and\n[soByRepeat](#soByRepeat).\n\nFor example, the following would find the production budget for the maximum US\ngrossing film in each genre:\n\n    encoding\n        << position X\n            [ pName \"Production_Budget\"\n            , pQuant\n            , pAggregate (opArgMax (Just \"US_Gross\"))\n            ]\n        << position Y [ pName \"Major_Genre\", pNominal ]\n\nIf supplied as part of a transform, the parameter should be `Nothing` as the field\nis specified in the [aggregate](#aggregate) parameter.\n\n    trans =\n        transform\n            << aggregate\n                [ opAs (opArgMax Nothing) \"US_Gross\" \"amUSGross\" ]\n                [ \"Major_Genre\" ]\n\n","type":"Maybe.Maybe String.String -> VegaLite.Operation"},{"name":"opArgMin","comment":" An input data object containing the minimum field value to be used in an\naggregation operation. Used by [mAggregate](#mAggregate),\n[pAggregate](#pAggregate), [hAggregate](#hAggregate), [oAggregate](#oAggregate),\n[tAggregate](#tAggregate), [dAggregate](#dAggregate), [fAggregate](#fAggregate),\n[opAs](#opAs), [piOp](#piOp), [wiAggregateOp](#), [soByField](#soByField) and\n[soByRepeat](#soByRepeat).\n","type":"Maybe.Maybe String.String -> VegaLite.Operation"},{"name":"opAs","comment":" Aggregation operation. The first parameter is the operation to use; the second\nthe name of the field in which to apply it and the third the name to be given to\nthis transformation.\n\n    trans =\n        transform\n            << aggregate\n                [ opAs opMin \"people\" \"lowerBound\"\n                , opAs opMax \"people\" \"upperBound\"\n                ]\n                [ \"age\" ]\n\nIf the operation is [opCount](#opCount), it does not apply to any specific field,\nso the second parameter can be an empty string.\n\n","type":"VegaLite.Operation -> String.String -> String.String -> VegaLite.Spec"},{"name":"opCI0","comment":" Lower 95% confidence interval to be used in an aggregation operation. Used by\n[mAggregate](#mAggregate), [pAggregate](#pAggregate), [hAggregate](#hAggregate),\n[oAggregate](#oAggregate), [tAggregate](#tAggregate), [dAggregate](#dAggregate),\n[fAggregate](#fAggregate), [opAs](#opAs), [piOp](#piOp), [wiAggregateOp](#),\n[soByField](#soByField) and [soByRepeat](#soByRepeat).\n","type":"VegaLite.Operation"},{"name":"opCI1","comment":" Upper 95% confidence interval to be used in an aggregation operation. Used by\n[mAggregate](#mAggregate), [pAggregate](#pAggregate), [hAggregate](#hAggregate),\n[oAggregate](#oAggregate), [tAggregate](#tAggregate), [dAggregate](#dAggregate),\n[fAggregate](#fAggregate), [opAs](#opAs), [piOp](#piOp), [wiAggregateOp](#),\n[soByField](#soByField) and [soByRepeat](#soByRepeat).\n","type":"VegaLite.Operation"},{"name":"opCount","comment":" Total count of data objects to be used in an aggregation operation. Used by\n[mAggregate](#mAggregate), [pAggregate](#pAggregate), [hAggregate](#hAggregate),\n[oAggregate](#oAggregate), [tAggregate](#tAggregate), [dAggregate](#dAggregate),\n[fAggregate](#fAggregate), [opAs](#opAs), [piOp](#piOp), [wiAggregateOp](#),\n[soByField](#soByField) and [soByRepeat](#soByRepeat).\n","type":"VegaLite.Operation"},{"name":"opDistinct","comment":" Count of distinct data objects to be used in an aggregation operation. Used by\n[mAggregate](#mAggregate), [pAggregate](#pAggregate), [hAggregate](#hAggregate),\n[oAggregate](#oAggregate), [tAggregate](#tAggregate), [dAggregate](#dAggregate),\n[fAggregate](#fAggregate), [opAs](#opAs), [piOp](#piOp), [wiAggregateOp](#),\n[soByField](#soByField) and [soByRepeat](#soByRepeat).\n","type":"VegaLite.Operation"},{"name":"opMax","comment":" Maximum field value to be used in an aggregation operation. Used by\n[mAggregate](#mAggregate), [pAggregate](#pAggregate), [hAggregate](#hAggregate),\n[oAggregate](#oAggregate), [tAggregate](#tAggregate), [dAggregate](#dAggregate),\n[fAggregate](#fAggregate), [opAs](#opAs), [piOp](#piOp), [wiAggregateOp](#),\n[soByField](#soByField) and [soByRepeat](#soByRepeat).\n","type":"VegaLite.Operation"},{"name":"opMean","comment":" Mean value to be used in an aggregation operation. Used by\n[mAggregate](#mAggregate), [pAggregate](#pAggregate), [hAggregate](#hAggregate),\n[oAggregate](#oAggregate), [tAggregate](#tAggregate), [dAggregate](#dAggregate),\n[fAggregate](#fAggregate), [opAs](#opAs), [piOp](#piOp), [wiAggregateOp](#),\n[soByField](#soByField) and [soByRepeat](#soByRepeat).\n","type":"VegaLite.Operation"},{"name":"opMedian","comment":" Median field value to be used in an aggregation operation. Used by\n[mAggregate](#mAggregate), [pAggregate](#pAggregate), [hAggregate](#hAggregate),\n[oAggregate](#oAggregate), [tAggregate](#tAggregate), [dAggregate](#dAggregate),\n[fAggregate](#fAggregate), [opAs](#opAs), [piOp](#piOp), [wiAggregateOp](#),\n[soByField](#soByField) and [soByRepeat](#soByRepeat).\n","type":"VegaLite.Operation"},{"name":"opMin","comment":" Minimum field value to be used in an aggregation operation. Used by\n[mAggregate](#mAggregate), [pAggregate](#pAggregate), [hAggregate](#hAggregate),\n[oAggregate](#oAggregate), [tAggregate](#tAggregate), [dAggregate](#dAggregate),\n[fAggregate](#fAggregate), [opAs](#opAs), [piOp](#piOp), [wiAggregateOp](#),\n[soByField](#soByField) and [soByRepeat](#soByRepeat).\n","type":"VegaLite.Operation"},{"name":"opMissing","comment":" Count of null or undefined field value to be used in an aggregation operation. Used by\n[mAggregate](#mAggregate), [pAggregate](#pAggregate), [hAggregate](#hAggregate),\n[oAggregate](#oAggregate), [tAggregate](#tAggregate), [dAggregate](#dAggregate),\n[fAggregate](#fAggregate), [opAs](#opAs), [piOp](#piOp), [wiAggregateOp](#),\n[soByField](#soByField) and [soByRepeat](#soByRepeat).\n","type":"VegaLite.Operation"},{"name":"opProduct","comment":" Product of field values to be used in an aggregation operation. Used by\n[mAggregate](#mAggregate), [pAggregate](#pAggregate), [hAggregate](#hAggregate),\n[oAggregate](#oAggregate), [tAggregate](#tAggregate), [dAggregate](#dAggregate),\n[fAggregate](#fAggregate), [opAs](#opAs), [piOp](#piOp), [wiAggregateOp](#),\n[soByField](#soByField) and [soByRepeat](#soByRepeat).\n","type":"VegaLite.Operation"},{"name":"opQ1","comment":" Lower quartile boundary of field values to be used in an aggregation operation. Used by\n[mAggregate](#mAggregate), [pAggregate](#pAggregate), [hAggregate](#hAggregate),\n[oAggregate](#oAggregate), [tAggregate](#tAggregate), [dAggregate](#dAggregate),\n[fAggregate](#fAggregate), [opAs](#opAs), [piOp](#piOp), [wiAggregateOp](#),\n[soByField](#soByField) and [soByRepeat](#soByRepeat).\n","type":"VegaLite.Operation"},{"name":"opQ3","comment":" Upper quartile boundary of field values to be used in an aggregation operation. Used by\n[mAggregate](#mAggregate), [pAggregate](#pAggregate), [hAggregate](#hAggregate),\n[oAggregate](#oAggregate), [tAggregate](#tAggregate), [dAggregate](#dAggregate),\n[fAggregate](#fAggregate), [opAs](#opAs), [piOp](#piOp), [wiAggregateOp](#),\n[soByField](#soByField) and [soByRepeat](#soByRepeat).\n","type":"VegaLite.Operation"},{"name":"opStderr","comment":" Standard error of field values to be used in an aggregation operation. Used by\n[mAggregate](#mAggregate), [pAggregate](#pAggregate), [hAggregate](#hAggregate),\n[oAggregate](#oAggregate), [tAggregate](#tAggregate), [dAggregate](#dAggregate),\n[fAggregate](#fAggregate), [opAs](#opAs), [piOp](#piOp), [wiAggregateOp](#),\n[soByField](#soByField) and [soByRepeat](#soByRepeat).\n","type":"VegaLite.Operation"},{"name":"opStdev","comment":" Sample standard deviation of field values to be used in an aggregation operation. Used by\n[mAggregate](#mAggregate), [pAggregate](#pAggregate), [hAggregate](#hAggregate),\n[oAggregate](#oAggregate), [tAggregate](#tAggregate), [dAggregate](#dAggregate),\n[fAggregate](#fAggregate), [opAs](#opAs), [piOp](#piOp), [wiAggregateOp](#),\n[soByField](#soByField) and [soByRepeat](#soByRepeat).\n","type":"VegaLite.Operation"},{"name":"opStdevP","comment":" Population standard deviation of field values to be used in an aggregation operation. Used by\n[mAggregate](#mAggregate), [pAggregate](#pAggregate), [hAggregate](#hAggregate),\n[oAggregate](#oAggregate), [tAggregate](#tAggregate), [dAggregate](#dAggregate),\n[fAggregate](#fAggregate), [opAs](#opAs), [piOp](#piOp), [wiAggregateOp](#),\n[soByField](#soByField) and [soByRepeat](#soByRepeat).\n","type":"VegaLite.Operation"},{"name":"opSum","comment":" Sum of field values to be used in an aggregation operation. Used by\n[mAggregate](#mAggregate), [pAggregate](#pAggregate), [hAggregate](#hAggregate),\n[oAggregate](#oAggregate), [tAggregate](#tAggregate), [dAggregate](#dAggregate),\n[fAggregate](#fAggregate), [opAs](#opAs), [piOp](#piOp), [wiAggregateOp](#),\n[soByField](#soByField) and [soByRepeat](#soByRepeat).\n","type":"VegaLite.Operation"},{"name":"opValid","comment":" Count of values that are not `null`, `undefined` or `NaN` to be used in an\naggregation operation. Used by\n[mAggregate](#mAggregate), [pAggregate](#pAggregate), [hAggregate](#hAggregate),\n[oAggregate](#oAggregate), [tAggregate](#tAggregate), [dAggregate](#dAggregate),\n[fAggregate](#fAggregate), [opAs](#opAs), [piOp](#piOp), [wiAggregateOp](#),\n[soByField](#soByField) and [soByRepeat](#soByRepeat).\n","type":"VegaLite.Operation"},{"name":"opVariance","comment":" Sample variance of field value to be used in an aggregation operation. Used by\n[mAggregate](#mAggregate), [pAggregate](#pAggregate), [hAggregate](#hAggregate),\n[oAggregate](#oAggregate), [tAggregate](#tAggregate), [dAggregate](#dAggregate),\n[fAggregate](#fAggregate), [opAs](#opAs), [piOp](#piOp), [wiAggregateOp](#),\n[soByField](#soByField) and [soByRepeat](#soByRepeat).\n","type":"VegaLite.Operation"},{"name":"opVarianceP","comment":" Population variance of field value to be used in an aggregation operation. Used by\n[mAggregate](#mAggregate), [pAggregate](#pAggregate), [hAggregate](#hAggregate),\n[oAggregate](#oAggregate), [tAggregate](#tAggregate), [dAggregate](#dAggregate),\n[fAggregate](#fAggregate), [opAs](#opAs), [piOp](#piOp), [wiAggregateOp](#),\n[soByField](#soByField) and [soByRepeat](#soByRepeat).\n","type":"VegaLite.Operation"},{"name":"opacity","comment":" Encode an opacity channel.\n","type":"List.List VegaLite.MarkChannel -> List.List VegaLite.LabelledSpec -> List.List VegaLite.LabelledSpec"},{"name":"or","comment":" Apply an 'or' Boolean operation as part of a logical composition.\n","type":"VegaLite.BooleanOp -> VegaLite.BooleanOp -> VegaLite.BooleanOp"},{"name":"order","comment":" Encode an order channel. The first parameter is a list of order encoding\noptions such as the data to encode, sort direction etc.\n\n    enc =\n        encoding\n            << order [ oName \"yield\", oOrdinal, oSort [ soDescending ] ]\n\n","type":"List.List VegaLite.OrderChannel -> List.List VegaLite.LabelledSpec -> List.List VegaLite.LabelledSpec"},{"name":"orthographic","comment":" An orthographic map projection. Used by [prType](#prType).\n","type":"VegaLite.Projection"},{"name":"osExpr","comment":" Specify an overlap strategy with an expression that should evaluate to one\nof True, False, \"parity\" or \"greedy\". Used by [axLabelOverlap](#axLabelOverlap),\n[leOverlap](#leOverlap), [axcoOverlap](#axcoOverlap) and [lecoOverlap](#lecoOverlap).\n","type":"String.String -> VegaLite.OverlapStrategy"},{"name":"osGreedy","comment":" Greedy overlap strategy to be applied when there is not space to show all items on an axis.\nUsed by [axLabelOverlap](#axLabelOverlap), [leOverlap](#leOverlap), [axcoOverlap](#axcoOverlap)\nand [lecoOverlap](#lecoOverlap).\n","type":"VegaLite.OverlapStrategy"},{"name":"osNone","comment":" No overlap strategy to be applied when there is not space to show all items on an axis.\nUsed by [axLabelOverlap](#axLabelOverlap), [leOverlap](#leOverlap), [axcoOverlap](#axcoOverlap)\nand [lecoOverlap](#lecoOverlap).\n","type":"VegaLite.OverlapStrategy"},{"name":"osParity","comment":" Give all items equal weight in overlap strategy to be applied when there is\nnot space to show them all on an axis. Used by [axLabelOverlap](#axLabelOverlap),\n[leOverlap](#leOverlap), [axcoOverlap](#axcoOverlap) and [lecoOverlap](#lecoOverlap).\n","type":"VegaLite.OverlapStrategy"},{"name":"pAggregate","comment":" Compute some aggregate summary statistics for a field to be encoded with a\n[position](#position) channel. The type of aggregation is determined by the given\noperation parameter. For example,\n\n    enc =\n        encoding\n            << position X [ pName \"role\", pOrdinal ]\n            << position Y [ pName \"salary\", pQuant, pAggregate opMean ]\n\n","type":"VegaLite.Operation -> VegaLite.PositionChannel"},{"name":"pAxis","comment":" Axis properties used when encoding with a [position](#position) channel.\nFor no axis, provide an empty list.\n","type":"List.List VegaLite.AxisProperty -> VegaLite.PositionChannel"},{"name":"pBandPosition","comment":" Specify mark [position](#position) or size relative to band size. For non-rect\nmarks, the relative position on a band of a stacked, binned, time unit or band scale\nis used. A value of 0, positions the mark at the beginning of the band; 0.5, in the\nmiddle etc.\n\nFor rect-based marks (rect, bar, and image), if set to 1, the mark size is set\nto the band width or the time unit interval. If set to 0.5, the mark size is half\nof the bandwidth or the time unit interval. etc.\n\n","type":"Basics.Float -> VegaLite.PositionChannel"},{"name":"pBin","comment":" Discretize numeric values into bins when encoding with a [position](#position)\nchannel. For non-default binning, bin-widths, extent etc. can be specified in the\nfirst parameter. For example, to encode a frequency histogram with bins every 5 units.\nFor example,\n\n    enc =\n        encoding\n            << position X [ pName \"x\", pOrdinal, pBin [ biStep 5 ] ]\n            << position Y [ pQuant, pAggregate opCount ]\n\n","type":"List.List VegaLite.BinProperty -> VegaLite.PositionChannel"},{"name":"pBinned","comment":" Indicate that data encoded with [position](#position) are already binned.\n","type":"VegaLite.PositionChannel"},{"name":"pDatum","comment":" Set a [position](#position) to an arbitrary data value. Useful for placing items at\nthe specific points in the data space. To place in data screen space, use [pNum](#pNum).\n","type":"VegaLite.DataValue -> VegaLite.PositionChannel"},{"name":"pGeo","comment":" Indicate a data field encoded as a [position](#position) is a geo feature.\n","type":"VegaLite.PositionChannel"},{"name":"pHeight","comment":" Set the [position](#position) to the height of the enclosing data space.\nUseful for placing a mark relative to the bottom edge of a view.\n","type":"VegaLite.PositionChannel"},{"name":"pImpute","comment":" Imputation rules for a [position](#position) channel. See the\n[Vega-Lite impute documentation](https://vega.github.io/vega-lite/docs/impute.html)\nFor example, to impute the missing value of `b` with the mean of existing `b` values,\nwhen `a` is 30 and its color group (`c`) is 1:\n\n    let\n        data =\n            dataFromColumns []\n                << dataColumn \"a\" (nums [ 0, 0, 10, 10, 20, 20, 30 ])\n                << dataColumn \"b\" (nums [ 28, 91, 43, 55, 81, 53, 19 ])\n                << dataColumn \"c\" (nums [ 0, 1, 0, 1, 0, 1, 0 ])\n\n        enc =\n            encoding\n                << position X [ pName \"a\", pQuant ]\n                << position Y [ pName \"b\", pQuant, pImpute [ imMethod imMean ] ]\n                << color [ mName \"c\", mNominal ]\n    in\n    toVegaLite [ data [], enc [], line [] ]\n\n","type":"List.List VegaLite.ImputeProperty -> VegaLite.PositionChannel"},{"name":"pName","comment":" Name of field used for encoding with a [position](#position) channel.\n","type":"String.String -> VegaLite.PositionChannel"},{"name":"pNominal","comment":" Indicate a data field encoded as a [position](#position) is nominal. This is the\ndefault data type.\n","type":"VegaLite.PositionChannel"},{"name":"pNum","comment":" Set a [position](#position) to an arbitrary value. Useful for placing items at\nthe top of a plot area (`pNum 0`) or a fixed number of pixels from the top. To place\nin data sspace rather than screen space, use [pDatum](#pDatum).\n","type":"Basics.Float -> VegaLite.PositionChannel"},{"name":"pOrdinal","comment":" Indicate a data field encoded as a [position](#position) is ordinal.\n","type":"VegaLite.PositionChannel"},{"name":"pQuant","comment":" Indicate a data field encoded as a [position](#position) is quantitative. This is\nnot necessary when field is aggregated by a numeric operator (e.g. [opSum](#opSum)),\nscaled with a numeric operator (e.g. [scLog](#scLog)), a position field is longitude/latitude\nor it is binned numerically.\n","type":"VegaLite.PositionChannel"},{"name":"pRepeat","comment":" Reference in a [position](#position) channel to a field name generated by\n[repeatFlow](#repeatFlow) or [repeat](#repeat). The parameter identifies whether\nreference is being made to fields that are to be encoded in layers, or in columns\n/ rows with a flow layout. For example,\n\n    enc =\n        encoding\n            << position X [ pRepeat arFlow, pQuant ]\n\n    spec =\n          asSpec [ data [], tick [], enc [] ]\n\n    toVegaLite\n        [ repeatFlow [ \"Horsepower\", \"Miles_per_Gallon\", \"Acceleration\"]\n        , specification spec\n        ]\n\n","type":"VegaLite.Arrangement -> VegaLite.PositionChannel"},{"name":"pRepeatDatum","comment":" Reference in a [position](#position) channel to a datum value generated by\n[repeat](#repeat).\n","type":"VegaLite.Arrangement -> VegaLite.PositionChannel"},{"name":"pScale","comment":" Scaling applied to a field when encoding with a [position](#position) channel.\nThe scale will transform a field's value into a position along one axis.\n\nFor example, the following will scale the bars positioned along a horizontal axis\nto have an inner spacing of 50% (0.5) of the total space allocated to each bar:\n\n    enc =\n        encoding\n            << position X [ pName \"ageGroup\", pNominal, pScale [ scPaddingInner 0.5 ] ]\n\n","type":"List.List VegaLite.ScaleProperty -> VegaLite.PositionChannel"},{"name":"pSort","comment":" Sort order for field when encoding with a [position](#position) channel.\n","type":"List.List VegaLite.SortProperty -> VegaLite.PositionChannel"},{"name":"pStack","comment":" Type of stacking offset for field when encoding with a [position](#position) channel.\nFor example, stacking areas away from a centre-line can be used to create a\n[streamgraph](https://vega.github.io/vega-lite/examples/stacked_area_stream.html):\n\n    enc =\n        encoding\n            << position X [ pName \"week\", pOrdinal ]\n            << position Y [ pName \"takings\", pQuant, pStack stCenter ]\n            << color [ mName \"shop\", mNominal ]\n\n","type":"VegaLite.StackOffset -> VegaLite.PositionChannel"},{"name":"pTemporal","comment":" Indicate a data field encoded as a [position](#position) is temporal. This is not\nnecessary if the field is aggregated with a time unit (e.g. [pTimeUnit](#pTimeUnit))\nor scaled with [scTime](#scTime) or [scUtc](#scUtc).\n","type":"VegaLite.PositionChannel"},{"name":"pTimeUnit","comment":" Form of time unit aggregation of field values when encoding with a [position](#position) channel.\n","type":"VegaLite.TimeUnit -> VegaLite.PositionChannel"},{"name":"pTitle","comment":" Title of a field when encoding with a [position](#position) channel. For multi-line titles,\ninsert `\\n` at each line break or use a `\"\"\"` multi-line string.\n","type":"String.String -> VegaLite.PositionChannel"},{"name":"pWidth","comment":" Set the [position](#position) to the width of the enclosing data space.\nUseful for justifying a mark to the right hand edge of a view. e.g. to position a\nmark at the right of the data rectangle. For example,\n\n    enc =\n        encoding\n            << position X [ pWidth ]\n\n","type":"VegaLite.PositionChannel"},{"name":"paBind","comment":" The dynamic binding associated with a parameter. Can be used to create a parameter\nvalue that varies as an interactive input control (e.g. slider) is updated. Used by\n[param](#param). For example,\n\n    param \"mySlider\"\n        [ paSelect sePoint []\n        , paBind (ipRange [ inMin 1, inMax 10 ])\n        ]\n\nFor details see the [Vega-Lite binding documentation](https://vega.github.io/vega-lite/docs/bind.html)\n\n","type":"VegaLite.PBinding -> VegaLite.ParamProperty"},{"name":"paBindLegend","comment":" Bind a named parameter selection to a legend for interactive selection of\nfield values from a legend. Can be bound to a field or channel. For example the\nfollowing will bind a color legend to a point selection allowing filtering or\nhighlighting by the selected value that has been encoded with color.\n\n    ps =\n        params\n            << param \"legSel\"\n                [ paSelect sePoint [ seEncodings [ chColor ] ]\n                , paBindLegend \"\"\n                ]\n\nTo customise which events should trigger legend interaction, provide a\n[Vega event stream string](https://vega.github.io/vega/docs/event-streams/). If an\nempty string is provided, the default single-click interaction is used. Used by\n[param](#param).\n\nFor example, to allow legend selection with a double click:\n\n    paBindLegend \"dblClick\"\n\nor with shift-click:\n\n    paBindLegend \"click[event.shiftKey]\"\n\n","type":"String.String -> VegaLite.ParamProperty"},{"name":"paBindScales","comment":" Bind a named parameter selection to the scales of a view to allow interactive\nzooming and panning. For example,\n\n    ps =\n        params\n            << param \"zoomer\" [ paSelect seInterval [], paBindScales ]\n\n","type":"VegaLite.ParamProperty"},{"name":"paBindings","comment":" One or more named dynamic bindings associated with a parameter.\nUnlike [paBind](#paBind), this allows multiple input elements to be bound to the\nsame field. Used by [param](#param). For example, to bind a selection to the\n'And' selection of two sliders:\n\n    param \"CylYr\"\n        [ paSelect sePoint [ seFields [ \"Cylinders\", \"Year\" ] ]\n        , paBindings\n            [ ( \"Cylinders\", ipRange [ inMin 3, inMax 8, inStep 1 ] )\n            , ( \"Year\", ipRange [ inMin 1969, inMax 1981, inStep 1 ] )\n            ]\n        ]\n\n","type":"List.List ( String.String, VegaLite.PBinding ) -> VegaLite.ParamProperty"},{"name":"paEdges","comment":" Padding around a visualization in pixel units. The four parameters\nrefer to _left_, _top_, _right_, and _bottom_ edges respectively.\nUsed by [padding](#padding) and [coPadding](#coPadding).\n","type":"Basics.Float -> Basics.Float -> Basics.Float -> Basics.Float -> VegaLite.Padding"},{"name":"paEdgesExpr","comment":" Expressions that each evaluate to a numeric values indicating padding around\na visualization in pixel units. The four parameters refer to _left_, _top_, _right_\nand _bottom_ edges respectively. Can be useful when padding is to be determined\ninteractively through input elements. Used by [padding](#padding) and [coPadding](#coPadding).\n","type":"String.String -> String.String -> String.String -> String.String -> VegaLite.Padding"},{"name":"paExpr","comment":" Initial value of a parameter specified as a\n[Vega expression](https://vega.github.io/vega/docs/expressions). Used by [param](#param).\nFor example,\n\n    ps =\n        params\n            << param \"cx\" [ paExpr \"width/2\" ]\n            << param \"cy\" [ paExpr \"height/2\" ]\n\n","type":"String.String -> VegaLite.ParamProperty"},{"name":"paNumExpr","comment":" Provide an [expression](https://vega.github.io/vega/docs/expressions/) to a\npadding property function requiring a numeric value such as [paSize](#paSize).\nUsed by [padding](#padding) and [coPadding](#coPadding).\n","type":"String.String -> (number -> VegaLite.Padding) -> VegaLite.Padding"},{"name":"paSelect","comment":" Specify a selection parameter to be used for interaction. Used by [param](#param).\nFor example, to create an interval selection:\n\n    param \"mySelection\" [ paSelect seInterval [] ]\n\nTo project a point selection across the field encoded with colour:\n\n    param \"mySelection\" [ paSelect sePoint [ seEncodings [ chColor ] ] ]\n\n","type":"VegaLite.Selection -> List.List VegaLite.SelectionProperty -> VegaLite.ParamProperty"},{"name":"paSize","comment":" Indicate uniform padding around a visualization in pixel units.\nUsed by [padding](#padding) and [coPadding](#coPadding).\n","type":"Basics.Float -> VegaLite.Padding"},{"name":"paValue","comment":" Provide an initial value of a parameter. This can be useful, for example, when\nsetting the initial value of an interaction parameter:\n\n    ps =\n        params\n            << param \"quarterSelection\"\n                [ paValue (num 3)\n                , paSelect sePoint [ seFields [ \"quarter\" ] ]\n                , paBind (ipRange [ inMin 1, inMax 4, inStep 1 ])\n                ]\n\nIf the value of a selection parameter needs to be explicitly referenced, such as\nin a data filtering operation, the parameter value can be initialised with a named\ntuple. Used by [param](#param). For example, to filter data between two interactive\nslider values:\n\n    ps =\n        params\n            << param \"minSlider\"\n                [ paSelect sePoint []\n                , paValue (dataObject [ ( \"minVal\", num 0 ) ])\n                , paBind (ipRange [ inMin 0, inMax 50 ])\n                ]\n            << param \"maxSlider\"\n                [ paSelect sePoint []\n                , paValue (dataObject [ ( \"maxVal\", num 100 ) ])\n                , paBind (ipRange [ inMin 50, inMax 100 ])\n                ]\n\n    trans =\n        transform\n            << filter (fiExpr \"datum.x >= minSlider_minVal && maxSlider_maxVal >= datum.x\")\n\n","type":"VegaLite.DataValue -> VegaLite.ParamProperty"},{"name":"paValues","comment":" Initial set of values of a parameter. Useful for passing to functions that require a\nlist of values. Used by [param](#param). For example, to allow filtering by two separate\ndata values:\n\n    ps =\n        params\n            << param \"CylYr\"\n                [ paSelect sePoint [ seFields [ \"Cylinders\", \"Year\" ] ]\n                , paValues (dataObjects [ [ ( \"Cylinders\", num 4 ), ( \"Year\", num 1977 ) ] ])\n                , paBindings\n                    [ ( \"Cylinders\", ipRange [ inMin 3, inMax 8, inStep 1 ] )\n                    , ( \"Year\", ipRange [ inMin 1969, inMax 1981, inStep 1 ] )\n                    ]\n                ]\n\n","type":"VegaLite.DataValues -> VegaLite.ParamProperty"},{"name":"padding","comment":" Padding around the visualization in pixel units. The way padding is interpreted\nwill depend on the `autosize` properties.\n","type":"VegaLite.Padding -> ( VegaLite.VLProperty, VegaLite.Spec )"},{"name":"param","comment":" Add a named parameter to a list of parameters. A parameter should have a name\nand a list of parameter details. For example,\n\n    param \"mySelection\" [ paSelect seInterval [] ]\n\n","type":"String.String -> List.List VegaLite.ParamProperty -> List.List VegaLite.LabelledSpec -> List.List VegaLite.LabelledSpec"},{"name":"params","comment":" Specify top-level parameters to be used within a specification. While literals\nmay be specified as parameters, these are better handled directly in Elm. More\nuseful expression parameters are those that use the\n[vega-lite built-in parameters](https://vega.github.io/vega-lite/docs/parameter.html#built-in-variable-parameters)\n`width`, `height`, `padding`, `autosize`, `background` and `cursor`. For example\nto keep text size a fixed proportion of the plot height:\n\n    ps =\n        params\n            << param \"textSize\" [ paExpr \"height/20\" ]\n\nAlso useful is the ability to bind parameters to input elements such as range\nsliders that may be updated at runtime. For example the value of the `radius` parameter\nis determined by the slider position and then used as a mark property to alter\ncircle size dynamically:\n\n    let\n        ps =\n            params\n                << param \"radius\"\n                    [ paValue (num 0)\n                    , paBind (ipRange [ inMax 100 ])\n                    ]\n\n        enc =\n            encoding\n                << position Theta [ pName \"value\", pQuant ]\n                << color [ mName \"category\" ]\n    in\n    toVegaLite\n        [ ps []\n        , data []\n        , enc []\n        , arc [ maNumExpr \"radius\" maInnerRadius ]\n        ]\n\n","type":"List.List VegaLite.LabelledSpec -> ( VegaLite.VLProperty, VegaLite.Spec )"},{"name":"parse","comment":" Specify parsing rules when processing some data text with [dataFromUrl](#dataFromUrl),\n[dataFromColumns](#dataFromColumns) etc. The parameter should be a list of tuples\nin the form (_fieldName_, _[DataType](#DataType)_). Useful when automatic type\ninference needs to be overridden, for example to ensure numbers with `-` symbols\nare treated as integers and not strings in [transform](#transform) calculations\nor when converting integers representing years into dates. For example,\n\n    myData : Data\n    myData =\n        dataFromUrl \"myDataFile.csv\"\n            [ parse\n                [ ( \"year\", foDate \"%Y\" )\n                , ( \"change\", foNum )\n                ]\n            ]\n\n","type":"List.List ( String.String, VegaLite.DataType ) -> VegaLite.Format"},{"name":"piGroupBy","comment":" The data fields to group by when performing a [pivot](#pivot). If not specified,\na single group containing all data objects will be used.\n","type":"List.List String.String -> VegaLite.PivotProperty"},{"name":"piLimit","comment":" Maximum number of fields to generate performing a [pivot](#pivot). If 0 or unspecified, all\nfields are pivoted. The pivot names are sorted in ascending order before any limit is applied.\n","type":"Basics.Int -> VegaLite.PivotProperty"},{"name":"piOp","comment":" The aggregation to apply to grouped fields during a [pivot](#pivot).\n","type":"VegaLite.Operation -> VegaLite.PivotProperty"},{"name":"pivot","comment":" Perform a _pivot_ operation on a table. Spreads a key-value pair of fields across\nmultiple fields according to the data in the _key_ field. The first two parameters\nare the key and value fields respectively. The third is a set of customisation options.\nThis performs the same function as\n['spread' in the Tidy Elm package](https://package.elm-lang.org/packages/gicentre/tidy/latest/Tidy#spread)\nand the [pivot\\_wider](https://tidyr.tidyverse.org/dev/articles/pivot.html) /\n[spread](https://tidyr.tidyverse.org/reference/spread.html) operation in the R\ntidyverse. It is the inverse of [fold](#fold).\n\n    data =\n        dataFromColumns []\n            << dataColumn \"city\" (strs [ \"Bristol\", \"Bristol\", \"Sheffield\", \"Sheffield\", \"Glasgow\", \"Glasgow\" ])\n            << dataColumn \"temperature\" (nums [ 12, 14, 11, 13, 7, 10 ])\n            << dataColumn \"year\" (nums [ 2017, 2018, 2017, 2018, 2017, 2018 ])\n\n    trans =\n        transform\n            << pivot \"year\" \"temperature\" [ piGroupBy [ \"city\" ] ]\n\n    enc =\n        encoding\n            -- 2017 temperatures for the Bristol, Sheffield and Glasgow\n            << position X [ pName \"2017\", pQuant ]\n            << position Y [ pName \"city\", pNominal ]\n\n","type":"String.String -> String.String -> List.List VegaLite.PivotProperty -> List.List VegaLite.LabelledSpec -> List.List VegaLite.LabelledSpec"},{"name":"pmMarker","comment":" Properties of a point marker that is overlaid on a line or area mark. Used\nwhen specifying an [maPoint](#maPoint).\n","type":"List.List VegaLite.MarkProperty -> VegaLite.PointMarker"},{"name":"pmNone","comment":" No point marker to be shown on a line or area mark. Used by [maPoint](#maPoint).\n","type":"VegaLite.PointMarker"},{"name":"pmTransparent","comment":" Transparent point marker to be placed on area or line mark. Useful for\ninteractive selections. Used by [maPoint](#maPoint).\n","type":"VegaLite.PointMarker"},{"name":"point","comment":" [Point mark](https://vega.github.io/vega-lite/docs/point.html) for\nsymbolising a data point with a symbol.\n","type":"List.List VegaLite.MarkProperty -> ( VegaLite.VLProperty, VegaLite.Spec )"},{"name":"position","comment":" Encode a position channel. The first parameter identifies the channel, the\nsecond a list of position encoding options.\n\n    enc =\n        encoding\n            << position X [ pName \"month\", pTemporal ]\n            << position Y [ pName \"numHires\", pQuant ]\n\n","type":"VegaLite.Position -> List.List VegaLite.PositionChannel -> List.List VegaLite.LabelledSpec -> List.List VegaLite.LabelledSpec"},{"name":"prCenter","comment":" Projection’s center as longitude and latitude in degrees.\nUsed by [projection](#projection) and [coProjection](#coProjection).\n","type":"Basics.Float -> Basics.Float -> VegaLite.ProjectionProperty"},{"name":"prCenterExpr","comment":" Specify a projection’s centre with two expressions that should evaluate to\na longitude and latitude respectively. Used by [projection](#projection) and\n[coProjection](#coProjection).\n","type":"String.String -> String.String -> VegaLite.ProjectionProperty"},{"name":"prClipAngle","comment":" Projection’s clipping circle radius to the specified angle in degrees.\nA value of 0 will switch to antimeridian cutting rather than small-circle\nclipping. Used by [projection](#projection) and [coProjection](#coProjection).\n","type":"Basics.Float -> VegaLite.ProjectionProperty"},{"name":"prClipExtent","comment":" Projection’s viewport clip extent to the specified bounds in pixels. Used by\n[projection](#projection) and [coProjection](#coProjection).\n","type":"VegaLite.ClipRect -> VegaLite.ProjectionProperty"},{"name":"prCoefficient","comment":" 'Hammer' map projection coefficient. Used by [projection](#projection) and\n[coProjection](#coProjection).\n","type":"Basics.Float -> VegaLite.ProjectionProperty"},{"name":"prDistance","comment":" 'Satellite' map projection distance. Used by [projection](#projection) and\n[coProjection](#coProjection).\n","type":"Basics.Float -> VegaLite.ProjectionProperty"},{"name":"prExpr","comment":" Specify a map projection type with an expression that evaluates to a valid\nprojection name. Useful for interactive selection of map projection. Used by\n[prType](#prType). For example,\n\n    myMap : Spec\n    myMap =\n        let\n            geoData =\n                dataFromUrl \"https://gicentre.github.io/data/geoTutorials/world-110m.json\"\n                    [ topojsonFeature \"countries1\" ]\n\n            ps =\n                params\n                    << param \"myProj\"\n                        [ paValue (str \"EqualEarth\")\n                        , paBind\n                            (ipSelect\n                                [ inName \"Map projection \"\n                                , inOptions\n                                    [ \"EqualEarth\"\n                                    , \"Orthographic\"\n                                    ]\n                                ]\n                            )\n                        ]\n\n            proj =\n                projection [ prType (prExpr \"myProj\") ]\n        in\n        toVegaLite [ ps [], geoData, proj, geoshape [] ]\n\n","type":"String.String -> VegaLite.Projection"},{"name":"prFit","comment":" Adjust map projection to fit the given geoShape within the display area. The\ngeoShape can be a feature collection, a single feature or array of features. This\nis usually easier than adjusting a projection's [prScale](#prScale) and\n[prTranslate](#prTranslate). Used by [projection](#projection) and [coProjection](#coProjection).\nFor example,\n\n    geoFrame =\n        geometry (geoPoints [ ( -8, 60 ), ( 1, 47 ) ])\n            []\n\n    proj =\n        projection [ prFit geoFrame ]\n\n","type":"VegaLite.Spec -> VegaLite.ProjectionProperty"},{"name":"prFraction","comment":" `Bottomley` map projection fraction. Used by [projection](#projection) and\n[coProjection](#coProjection).\n","type":"Basics.Float -> VegaLite.ProjectionProperty"},{"name":"prLobes","comment":" Number of lobes in lobed map projections such as the 'Berghaus star'. Used by\n[projection](#projection) and [coProjection](#coProjection).\n","type":"Basics.Int -> VegaLite.ProjectionProperty"},{"name":"prNumExpr","comment":" Provide an [expression](https://vega.github.io/vega/docs/expressions/) to\na map projection property function requiring a numeric value. This can be used for\ninteractive parameterisation when an expression is bound to an input element.\nUsed by [projection](#projection) and [coProjection](#coProjection). For example,\n\n    myMap : Spec\n    myMap =\n        let\n            geoData =\n                dataFromUrl \"https://gicentre.github.io/data/geoTutorials/world-110m.json\"\n                    [ topojsonFeature \"countries1\" ]\n\n            ps =\n                params\n                    << param \"zoom\"\n                        [ paValue (num 40)\n                        , paBind (ipRange [ inMin 40, inMax 500 ])\n                        ]\n\n            proj =\n                projection [ prNumExpr \"zoom\" prScale ]\n        in\n        toVegaLite [ ps [], geoData, proj, geoshape [] ]\n\n","type":"String.String -> (number -> VegaLite.ProjectionProperty) -> VegaLite.ProjectionProperty"},{"name":"prParallel","comment":" Standard parallel for map projections such as the 'Armadillo'. Used by\n[projection](#projection) and [coProjection](#coProjection).\n","type":"Basics.Float -> VegaLite.ProjectionProperty"},{"name":"prParallels","comment":" A conic projection’s two standard parallels. Used by [projection](#projection)\nand [coProjection](#coProjection).\n","type":"Basics.Float -> Basics.Float -> VegaLite.ProjectionProperty"},{"name":"prParallelsExpr","comment":" Specify a conic projection’s two standard parallels with two expressions. Used by\n[projection](#projection) and [coProjection](#coProjection).\n","type":"String.String -> String.String -> VegaLite.ProjectionProperty"},{"name":"prParam","comment":" Parameter name that should evaluate to either true or false for use in functions\nthat use predicates, such as [mCondition](#mCondition), [oCondition](#oCondition)\nand [tCondition](#tCondition).\n","type":"String.String -> VegaLite.Predicate"},{"name":"prParamEmpty","comment":" Parameter name that should evaluate to either true or false for use in selections\nfor conditional encoding. Same as [prParam](#prParam) except that an empty selection\nis assumed to be false. Used by [mCondition](#mCondition), [oCondition](#oCondition)\nand [tCondition](#tCondition).\n","type":"String.String -> VegaLite.Predicate"},{"name":"prPointRadius","comment":" Radius in pixels when drawing geo point features in a GeoFeature. Used by\n[projection](#projection) and [coProjection](#coProjection).\n","type":"Basics.Float -> VegaLite.ProjectionProperty"},{"name":"prPrecision","comment":" Threshold for the projection’s adaptive resampling in pixels.\nCorresponds to the Douglas–Peucker distance. If precision is not specified,\nthe projection’s current resampling precision of 0.707 is used. Used by\n[projection](#projection) and [coProjection](#coProjection).\n","type":"Basics.Float -> VegaLite.ProjectionProperty"},{"name":"prRadius","comment":" Radius value for map projections such as the 'Gingery'. Used by\n[projection](#projection) and [coProjection](#coProjection).\n","type":"Basics.Float -> VegaLite.ProjectionProperty"},{"name":"prRatio","comment":" Ratio value for map projections such as the 'Hill'. Used by\n[projection](#projection) and [coProjection](#coProjection).\n","type":"Basics.Float -> VegaLite.ProjectionProperty"},{"name":"prReflectX","comment":" Reflect the x-coordinates after performing an identity projection. This\ncreates a left-right mirror image of the geoshape marks when subject to an\n[identityProjection](#identityProjection). Used by [projection](#projection)\nand [coProjection](#coProjection).\n","type":"Basics.Bool -> VegaLite.ProjectionProperty"},{"name":"prReflectY","comment":" Reflect the y-coordinates after performing an identity projection. This\ncreates a top-bottom mirror image of the geoshape marks when subject to an\n[identityProjection](#identityProjection). Used by [projection](#projection)\nand [coProjection](#coProjection).\n","type":"Basics.Bool -> VegaLite.ProjectionProperty"},{"name":"prRotate","comment":" A projection’s three-axis rotation angle. This should be in order _lambda phi\ngamma_ specifying the rotation angles in degrees about each spherical axis.\nUsed by [projection](#projection) and [coProjection](#coProjection).\n","type":"Basics.Float -> Basics.Float -> Basics.Float -> VegaLite.ProjectionProperty"},{"name":"prRotateExpr","comment":" Specify a projection’s three-axis rotation angle with three expressions that\nshould evaluate to angular rotations (degrees) in _lambda phi gamma_ order.\nUsed by [projection](#projection) and [coProjection](#coProjection).\n","type":"String.String -> String.String -> String.String -> VegaLite.ProjectionProperty"},{"name":"prScale","comment":" A projection’s zoom scale, which if set, overrides automatic scaling of a\ngeo feature to fit within the viewing area. Used by [projection](#projection)\nand [coProjection](#coProjection).\n","type":"Basics.Float -> VegaLite.ProjectionProperty"},{"name":"prSpacing","comment":" Spacing value for map projections such as the 'Lagrange'. Used by\n[projection](#projection) and [coProjection](#coProjection).\n","type":"Basics.Float -> VegaLite.ProjectionProperty"},{"name":"prTest","comment":" Test that should evaluate to either true or false for use in functions\nthat use predicates, such as [mCondition](#mCondition), [oCondition](#oCondition)\nand [tCondition](#tCondition).\n","type":"VegaLite.BooleanOp -> VegaLite.Predicate"},{"name":"prTilt","comment":" 'Satellite' map projection tilt. Used by [projection](#projection) and\n[coProjection](#coProjection).\n","type":"Basics.Float -> VegaLite.ProjectionProperty"},{"name":"prTranslate","comment":" A projection’s panning translation in pixel units, which if set, override\nautomatic positioning of a geo feature to fit within the viewing area. Parameters\nshould be provided in x y order. Used by [projection](#projection) and\n[coProjection](#coProjection).\n","type":"Basics.Float -> Basics.Float -> VegaLite.ProjectionProperty"},{"name":"prTranslateExpr","comment":" Specify a projection’s panning translation in pixel units, with two expressions\nthat should evaluate to x and y translations respectively. Used by [projection](#projection)\nand [coProjection](#coProjection).\n","type":"String.String -> String.String -> VegaLite.ProjectionProperty"},{"name":"prType","comment":" Type of global map projection. Used by [projection](#projection) and\n[coProjection](#coProjection). For example,\n\n    myProj =\n        projection [ prType orthographic ]\n\n","type":"VegaLite.Projection -> VegaLite.ProjectionProperty"},{"name":"projection","comment":" Create a map projection to transform geospatial coordinates. Only data positioned\nwith [`Longitude` and `Latitude`](#Position) or displayed as a [geoshape](#geoshape)\nare affected by a projection.\n\n    myMap : Spec\n    myMap =\n        let\n            myData =\n                dataFromUrl \"https://gicentre.github.io/data/geoTutorials/londonBoroughs.json\"\n                    [ topojsonFeature \"boroughs\" ]\n\n            proj =\n                projection\n                    [ prType transverseMercator\n                    , prRotate 2 0 0\n                    ]\n        in\n        toVegaLite [ myData, proj, geoshape [] ]\n\n","type":"List.List VegaLite.ProjectionProperty -> ( VegaLite.VLProperty, VegaLite.Spec )"},{"name":"qtAs","comment":" The field names to give the probability and associated [quantile](#quantile) values generated\nby a quantile transformation. If not specified, `prob` and `value` are used.\n","type":"String.String -> String.String -> VegaLite.QuantileProperty"},{"name":"qtGroupBy","comment":" The data fields to group by when performing a [quantile](#quantile) transformation.\nIf not specified, a single group containing all data objects will be used.\n","type":"List.List String.String -> VegaLite.QuantileProperty"},{"name":"qtProbs","comment":" A list of probabilities in the range [0,1] for which to compute [quantile](#quantile)\nvalues. If not specified, the default step size of 0.01 or the value specified via\n[qtStep](#qtStep) will be used.\n","type":"List.List Basics.Float -> VegaLite.QuantileProperty"},{"name":"qtStep","comment":" The interval between probabilities to use when performing a [quantile](#quantile) transformation.\nAll values from half the given step size to 1 will be sampled. Only used if [qtProbs](#qtProbs)\nis not specified.\n","type":"Basics.Float -> VegaLite.QuantileProperty"},{"name":"quantile","comment":" Calculate quantile values from an input data stream. Useful for examining\ndistributional properties of a data stream and for creating\n[Q-Q plots](https://en.wikipedia.org/wiki/Q–Q_plot).\n","type":"String.String -> List.List VegaLite.QuantileProperty -> List.List VegaLite.LabelledSpec -> List.List VegaLite.LabelledSpec"},{"name":"quarter","comment":" Year quarter time unit used for discretizing temporal data.\n","type":"VegaLite.TimeUnit"},{"name":"quarterMonth","comment":" Year quarter and month time unit used for discretizing temporal data.\n","type":"VegaLite.TimeUnit"},{"name":"raExprs","comment":" A list of expressions that each evaluate to an element of a scale range. Used by [scRange](#scRange).\nFor example to set a positional range based on two sliders:\n\n    ps =\n        params\n            << param \"xMin\"\n                [ paValue (num 0)\n                , paBind (ipRange [ inMin 0, inMax 400 ])\n                ]\n            << param \"xMax\"\n                [ paValue (num 400)\n                , paBind (ipRange [ inMin 0, inMax 400 ])\n                ]\n\n    enc =\n        encoding\n            << position X\n                [ pName \"x\"\n                , pScale [ scRange (raExprs [ \"xMin\", \"xMax\" ]) ]\n                ]\n\n","type":"List.List String.String -> VegaLite.ScaleRange"},{"name":"raField","comment":" Specify the field that contains explicit range values. This should be a one-to-one\nmatch with the field of domain values. Can be used, for example, to set color values\nexplicitly from a data source. Used by [scRange](#scRange).\n","type":"String.String -> VegaLite.ScaleRange"},{"name":"raMax","comment":" Set the maximum value of a continuous numeric range. To set both the min and\nmax values use [raNums](#raNums). Used by [scRange](#scRange).\n","type":"Basics.Float -> VegaLite.ScaleRange"},{"name":"raMin","comment":" Set the minimum value of a continuous numeric range. To set both the min and\nmax values use [raNums](#raNums). Used by [scRange](#scRange).\n","type":"Basics.Float -> VegaLite.ScaleRange"},{"name":"raName","comment":" Name of a pre-defined scale range (e.g. `symbol` or `diverging`). Used by [scRange](#scRange).\n","type":"String.String -> VegaLite.ScaleRange"},{"name":"raNumExpr","comment":" Provide an [expression](https://vega.github.io/vega/docs/expressions/) to\na range scale property function requiring a numeric value. This can be used for\ninteractive parameterisation when an expression is bound to an input element.\nUsed by [scRange](#scRange). For example,\n\n    ps =\n        params\n            << param \"right\"\n                [ paValue (num 0)\n                , paBind (ipRange [ inMax 500 ])\n                ]\n\n    enc =\n        encoding\n            << position X\n                [ pName \"x\"\n                , pScale [ scRange (raNumExpr \"right\" raMax) ]\n                ]\n\n","type":"String.String -> (number -> VegaLite.ScaleRange) -> VegaLite.ScaleRange"},{"name":"raNumLists","comment":" Scale range comprising numeric lists. Useful, for example, when defining custom\ndash styles for a [strokeDash](#strokeDash) channel encoding. Used by [scRange](#scRange).\n","type":"List.List (List.List Basics.Float) -> VegaLite.ScaleRange"},{"name":"raNums","comment":" Numeric scale range. Depending on the scaling this may be a [min, max]\npair, or a list of explicit numerical values. Used by [scRange](#scRange).\n","type":"List.List Basics.Float -> VegaLite.ScaleRange"},{"name":"raStrs","comment":" Text scale range for discrete scales. Used by [scRange](#scRange).\n","type":"List.List String.String -> VegaLite.ScaleRange"},{"name":"racoCategory","comment":" Default color scheme for categorical ranges. Used by [coRange](#coRange).\n","type":"String.String -> VegaLite.RangeConfig"},{"name":"racoDiverging","comment":" Default diverging color scheme. Used by [coRange](#coRange).\n","type":"String.String -> VegaLite.RangeConfig"},{"name":"racoHeatmap","comment":" Default 'heatmap' color scheme. Used by [coRange](#coRange).\n","type":"String.String -> VegaLite.RangeConfig"},{"name":"racoOrdinal","comment":" Default ordinal color scheme. Used by [coRange](#coRange).\n","type":"String.String -> VegaLite.RangeConfig"},{"name":"racoRamp","comment":" Default ramp (continuous) color scheme. Used by [coRange](#coRange).\n","type":"String.String -> VegaLite.RangeConfig"},{"name":"racoSymbols","comment":" Default set of symbols for shape encoding. Used by [coRange](#coRange).\n","type":"List.List VegaLite.Symbol -> VegaLite.RangeConfig"},{"name":"racoSymbolsExpr","comment":" Default set of symbols for shape encoding determined by the value of the\ngiven expression. Used by [coRange](#coRange).\n","type":"String.String -> VegaLite.RangeConfig"},{"name":"reAxis","comment":" Indicate how a channel's axes should be resolved when defined in more than\none view in a composite visualization.\n","type":"List.List ( VegaLite.Channel, VegaLite.Resolution ) -> VegaLite.Resolve"},{"name":"reIndependent","comment":" When specifying a [resolution](#resolution), indicates that a channel should be independent of\nothers in a composite visualization.\n","type":"VegaLite.Resolution"},{"name":"reLegend","comment":" Indicate how a channel's legends should be resolved when defined in more\nthan one view in a composite visualization.\n","type":"List.List ( VegaLite.Channel, VegaLite.Resolution ) -> VegaLite.Resolve"},{"name":"reScale","comment":" Indicate how a channel's scales should be resolved when defined in more\nthan one view in a composite visualization.\n","type":"List.List ( VegaLite.Channel, VegaLite.Resolution ) -> VegaLite.Resolve"},{"name":"reShared","comment":" When specifying a [resolution](#resolution), indicates a channel should be\nshared with others in a composite visualization.\n","type":"VegaLite.Resolution"},{"name":"rect","comment":" [Rectangle mark](https://vega.github.io/vega-lite/docs/rect.html).\n","type":"List.List VegaLite.MarkProperty -> ( VegaLite.VLProperty, VegaLite.Spec )"},{"name":"regression","comment":" Generate a 2d regression model for smoothing and predicting data. The first\nparameter is the name of the field representing the dependent variable (commonly\nmapped to the y-axis), the second is the name of the field representing the\nindependent variable (commonly mapped to the x-axis). The third parameter is a\nlist of optional regression customisation options.\n","type":"String.String -> String.String -> List.List VegaLite.RegressionProperty -> List.List VegaLite.LabelledSpec -> List.List VegaLite.LabelledSpec"},{"name":"repeat","comment":" Define the fields that will be used to make a composite view from multiple fields.\nSimilar to [repeatFlow](#repeatFlow) except that the fields for repetition are explicitly\nallocated to rows, columns or layers.\n\nUnlike _faceting_, which creates multiple charts based on different values of a\nsingle field, _repeating_ uses a different field for each chart.\n\n    spec = asSpec [...]\n    toVegaLite\n        [ repeat [ columnFields [ \"Cat\", \"Dog\", \"Fish\" ] ]\n        , specification spec\n        ]\n\n","type":"List.List VegaLite.RepeatFields -> ( VegaLite.VLProperty, VegaLite.Spec )"},{"name":"repeatFlow","comment":" Define the fields that will be used to compose a flow layout of a set of\nsmall multiples. Used when the encoding is largely identical, but the data field\nused in each might vary. When a list of fields is identified with `repeat` you also\nneed to define a full specification to apply to each of those fields using `asSpec`.\n\nSmall multiples will be laid out from left to right, moving on to new rows only\nif the number of plots exceeds an optional column limit (specified via\n[columns](#columns)).\n\n    spec = asSpec [...]\n    toVegaLite\n        [ repeatFlow [ \"Cat\", \"Dog\", \"Fish\" ]\n        , specification spec\n        ]\n\n","type":"List.List String.String -> ( VegaLite.VLProperty, VegaLite.Spec )"},{"name":"resolution","comment":" Define a resolution option to be applied when scales, axes or legends in composite\nviews share channel encodings. For example, it allows different color scales to be\nused in a layered view, or different axis scales to be used in a faceted view. Each\nresolution rule should be in a tuple pairing the channel to which it applies and\nthe rule type. The first parameter identifies the type of resolution.\n\n    resolve\n        << resolution (reScale [ ( chY, reIndependent ) ])\n        << resolution (reScale [ ( chColor, reIndependent ) ])\n        << resolution (reLegend [ ( chShape, reShared ) ])\n\n","type":"VegaLite.Resolve -> List.List VegaLite.LabelledSpec -> List.List VegaLite.LabelledSpec"},{"name":"resolve","comment":" Determine whether or not scales, axes or legends in composite views should\nshare channel encodings.\n\n    let\n        data =\n            dataFromColumns []\n                << dataColumn \"x\" (nums [ 1, 2, 3, 4, 5 ])\n                << dataColumn \"a\" (nums [ 28, 91, 43, 55, 81 ])\n                << dataColumn \"b\" (nums [ 17, 22, 28, 30, 40 ])\n\n        encBar =\n            encoding\n                << position X [ pName \"x\", pQuant ]\n                << position Y [ pName \"a\", pQuant ]\n\n        specBar =\n            asSpec [ bar [], encBar [] ]\n\n        encLine =\n            encoding\n                << position X [ pName \"x\", pQuant ]\n                << position Y [ pName \"b\", pQuant ]\n\n        specLine =\n            asSpec [ line [ maColor \"firebrick\" ], encLine [] ]\n\n        res =\n            resolve\n                << resolution (reScale [ ( chY, reIndependent ) ])\n    in\n    toVegaLite [ data [], res [], layer [ specBar, specLine ] ]\n\n","type":"List.List VegaLite.LabelledSpec -> ( VegaLite.VLProperty, VegaLite.Spec )"},{"name":"rgAs","comment":" Name the outputs of a [regression](#regression) transform. The first parameter\nis the name to give the field containing the independent variable, the second the\nname to give the field containing dependent variable. If not specified, the original\ninput independent and dependent field names are used.\n","type":"String.String -> String.String -> VegaLite.RegressionProperty"},{"name":"rgExp","comment":" Indicate an exponential regression method. Used by [rgMethod](#rgMethod).\n","type":"VegaLite.RegressionMethod"},{"name":"rgExtent","comment":" The min (first parameter) - max (second parameter) domain over which to estimate\nthe dependent variable in a [regression](#regression). If unspecified, the full\nextent of input values will be used.\n","type":"Basics.Float -> Basics.Float -> VegaLite.RegressionProperty"},{"name":"rgGroupBy","comment":" The data fields to group by when generating a [regression](#regression) model.\nIf not specified, a single group containing all data objects will be used.\n","type":"List.List String.String -> VegaLite.RegressionProperty"},{"name":"rgLinear","comment":" Indicate a linear regression method. Used by [rgMethod](#rgMethod).\n","type":"VegaLite.RegressionMethod"},{"name":"rgLog","comment":" Indicate a log regression method. Used by [rgMethod](#rgMethod).\n","type":"VegaLite.RegressionMethod"},{"name":"rgMethod","comment":" The type of regression model to use when generating a 2d regression.\nUsed by [rgMethod](#rgMethod).\n","type":"VegaLite.RegressionMethod -> VegaLite.RegressionProperty"},{"name":"rgOrder","comment":" The order of a polynomial model to use when generating a 2d [regression](#regression).\nOnly applies if [rgMethod](#rgMethod) is set to [rgPoly](#rgPoly).\n","type":"Basics.Int -> VegaLite.RegressionProperty"},{"name":"rgParams","comment":" Whether or not the [regression](#regression) transform should return just the parameters\nof the regression function (one object per group) instead of trend line points. If `True`,\nobjects include a `coef` array of fitted coefficient values, starting with the intercept term\nand then terms of increasing order and an `rSquared` value, indicating the total variance\nexplained by the model.\n","type":"Basics.Bool -> VegaLite.RegressionProperty"},{"name":"rgPoly","comment":" Indicate a polynomial regression method. The order of the polynomial can be\nset with [rgOrder](#rgOrder) (defaulting to cubic if not provided). Used by\n[rgMethod](#rgMethod).\n","type":"VegaLite.RegressionMethod"},{"name":"rgPow","comment":" Indicate a power regression method. Used by [rgMethod](#rgMethod).\n","type":"VegaLite.RegressionMethod"},{"name":"rgQuad","comment":" Indicate a quadratic regression method. Used by [rgMethod](#rgMethod).\n","type":"VegaLite.RegressionMethod"},{"name":"rgb","comment":" RGB color interpolation for continuous color scales using the given gamma\nvalue (anchored at 1). Used by [scInterpolate](#scInterpolate).\n","type":"Basics.Float -> VegaLite.CInterpolate"},{"name":"row","comment":" Encode a new facet to be arranged in rows. The first parameter is a list of\nfacet properties that define the faceting channel. See the\n[Vega-Lite row documentation](https://vega.github.io/vega-lite/docs/facet.html#row--column-encoding-channels).\n\nNote that when faceting, dimensions specified with [width](#width) and [height](#height)\nrefer to the individual faceted plots, not the assemblage as a whole.\n\n    let\n        data =\n            dataFromUrl \"crimeData.csv\"\n\n        enc =\n            encoding\n                << position X [ pName \"month\", pTemporal ]\n                << position Y\n                    [ pName \"reportedCrimes\"\n                    , pQuant\n                    , pAggregate opSum\n                    , pTitle \"\"\n                    ]\n                << row [ fName \"crimeType\", fNominal ]\n    in\n    toVegaLite [ height 80, data [], bar [], enc [] ]\n\n","type":"List.List VegaLite.FacetChannel -> List.List VegaLite.LabelledSpec -> List.List VegaLite.LabelledSpec"},{"name":"rowBy","comment":" The mapping between a row and its field definitions in a set of faceted\nsmall multiples. This is used when specifying a more flexible [facet](#facet)\nrather than the compact, but simplified, [row](#row). Used by [facet](#facet).\n","type":"List.List VegaLite.FacetChannel -> VegaLite.FacetMapping"},{"name":"rowFields","comment":" Create a list of fields to use in set of repeated small multiples arranged in\nrows. The list of fields named here can be referenced in an encoding with\n`pRepeat row`, `mRepeat row` etc. Used by [repeat](#repeat).\n","type":"List.List String.String -> VegaLite.RepeatFields"},{"name":"rule","comment":" [Rule line](https://vega.github.io/vega-lite/docs/rule.html) connecting\ntwo vertices.\n","type":"List.List VegaLite.MarkProperty -> ( VegaLite.VLProperty, VegaLite.Spec )"},{"name":"sacoBandPaddingInner","comment":" Default inner padding for x and y band-ordinal scales. Used by [coScale](#coScale).\n","type":"Basics.Float -> VegaLite.ScaleConfig"},{"name":"sacoBandPaddingOuter","comment":" Default outer padding for x and y band-ordinal scales. Used by [coScale](#coScale).\n","type":"Basics.Float -> VegaLite.ScaleConfig"},{"name":"sacoBarBandPaddingInner","comment":" Default inner padding for x and y band-ordinal scales of `bar` marks. Used by [coScale](#coScale).\n","type":"Basics.Float -> VegaLite.ScaleConfig"},{"name":"sacoBooExpr","comment":" Provide an [expression](https://vega.github.io/vega/docs/expressions/) to\na scale property configuration function requiring a Boolean value. Used by [coScale](#coScale).\n","type":"String.String -> (Basics.Bool -> VegaLite.ScaleConfig) -> VegaLite.ScaleConfig"},{"name":"sacoClamp","comment":" Whether or not by default values that exceed the data domain are clamped to\nthe min/max range value. Used by [coScale](#coScale).\n","type":"Basics.Bool -> VegaLite.ScaleConfig"},{"name":"sacoContinuousPadding","comment":" Default padding for continuous scales. Used by [coScale](#coScale).\n","type":"Basics.Float -> VegaLite.ScaleConfig"},{"name":"sacoMaxBandSize","comment":" Default maximum value for mapping quantitative fields to a bar's\nsize/bandSize. Used by [coScale](#coScale).\n","type":"Basics.Float -> VegaLite.ScaleConfig"},{"name":"sacoMaxFontSize","comment":" Default maximum value for mapping a quantitative field to a text\nmark's size. Used by [coScale](#coScale).\n","type":"Basics.Float -> VegaLite.ScaleConfig"},{"name":"sacoMaxOpacity","comment":" Default maximum opacity (in the range [0, 1]) for mapping a field\nto opacity. Used by [coScale](#coScale).\n","type":"Basics.Float -> VegaLite.ScaleConfig"},{"name":"sacoMaxSize","comment":" Default maximum size for point-based scales. Used by [coScale](#coScale).\n","type":"Basics.Float -> VegaLite.ScaleConfig"},{"name":"sacoMaxStrokeWidth","comment":" Default maximum stroke width for rule, line and trail marks. Used by [coScale](#coScale).\n","type":"Basics.Float -> VegaLite.ScaleConfig"},{"name":"sacoMinBandSize","comment":" Default minimum value for mapping quantitative fields to a bar's size/bandSize.\nUsed by [coScale](#coScale).\n","type":"Basics.Float -> VegaLite.ScaleConfig"},{"name":"sacoMinFontSize","comment":" Default minimum value for mapping a quantitative field to a text mark's size.\nUsed by [coScale](#coScale).\n","type":"Basics.Float -> VegaLite.ScaleConfig"},{"name":"sacoMinOpacity","comment":" Default minimum opacity (0 to 1) for mapping a field to opacity. Used by [coScale](#coScale).\n","type":"Basics.Float -> VegaLite.ScaleConfig"},{"name":"sacoMinSize","comment":" Default minimum size for point-based scales (when not forced to start at zero).\nUsed by [coScale](#coScale).\n","type":"Basics.Float -> VegaLite.ScaleConfig"},{"name":"sacoMinStrokeWidth","comment":" Default minimum stroke width for rule, line and trail marks. Used by [coScale](#coScale).\n","type":"Basics.Float -> VegaLite.ScaleConfig"},{"name":"sacoNumExpr","comment":" Provide an [expression](https://vega.github.io/vega/docs/expressions/) to\na scale property configuration function requiring a numeric value. Used by [coScale](#coScale).\n","type":"String.String -> (number -> VegaLite.ScaleConfig) -> VegaLite.ScaleConfig"},{"name":"sacoPointPadding","comment":" Default padding for point-ordinal scales. Used by [coScale](#coScale).\n","type":"Basics.Float -> VegaLite.ScaleConfig"},{"name":"sacoRectBandPaddingInner","comment":" Default inner padding for x and y band-ordinal scales of `rect` marks. Used by [coScale](#coScale).\n","type":"Basics.Float -> VegaLite.ScaleConfig"},{"name":"sacoRound","comment":" Whether or not numeric values are rounded to integers when scaling. Useful\nfor snapping to the pixel grid. Used by [coScale](#coScale).\n","type":"Basics.Bool -> VegaLite.ScaleConfig"},{"name":"sacoUseUnaggregatedDomain","comment":" Whether or not to use the source data range before aggregation. Used by [coScale](#coScale).\n","type":"Basics.Bool -> VegaLite.ScaleConfig"},{"name":"sacoXReverse","comment":" Whether or not to reverse the x-scaling by default (useful for right to left\ncharts). Used by [coScale](#coScale).\n","type":"Basics.Bool -> VegaLite.ScaleConfig"},{"name":"sacoZero","comment":" Whether or not to default to include zero in any continuous scaling. Used by [coScale](#coScale).\n","type":"Basics.Bool -> VegaLite.ScaleConfig"},{"name":"sample","comment":" Randomly sample rows from a data source up to a given maximum. For example,\nto randomly sample 50 values from a sine curve:\n\n    data =\n        dataSequenceAs 0 13 0.001 \"x\"\n\n    trans =\n        transform\n            << calculateAs \"sin(datum.x)\" \"y\"\n            << sample 50\n\n","type":"Basics.Float -> List.List VegaLite.LabelledSpec -> List.List VegaLite.LabelledSpec"},{"name":"scAlign","comment":" Alignment of the steps within the scale range. Parameter is capped between 0\nand 1 where 0.5 indicates steps are centred within range, 0 shifts bands to an\naxis, 1 away from axis. Used by [pScale](#pScale) and [mScale](#mScale).\n","type":"Basics.Float -> VegaLite.ScaleProperty"},{"name":"scBand","comment":" A band scale. Used when specifying a [scaleType](#scaleType).\n","type":"VegaLite.Scale"},{"name":"scBase","comment":" The base to use for log scaling. Used by [pScale](#pScale) and [mScale](#mScale).\n","type":"Basics.Float -> VegaLite.ScaleProperty"},{"name":"scBinOrdinal","comment":" An ordinal band scale. Used when specifying a [scaleType](#scaleType).\n","type":"VegaLite.Scale"},{"name":"scBooExpr","comment":" Provide an [expression](https://vega.github.io/vega/docs/expressions/) to\na scale property function requiring a Boolean value. This can be used to provide an\ninteractive parameterisation of a mark property by providing an expression bound\nto an input element. For example,\n\n    ps =\n        params\n            << param \"rev\"\n                [ paValue (boo False)\n                , paBind (ipCheckbox [ inName \"reverse colours\" ])\n                ]\n\n    enc =\n        encoding\n            << color [ mName \"val\" mScale [ scBooExpr \"rev\" scReverse ] ]\n\n","type":"String.String -> (Basics.Bool -> VegaLite.ScaleProperty) -> VegaLite.ScaleProperty"},{"name":"scClamp","comment":" Whether or not values outside the data domain are clamped to the minimum or\nmaximum value. Used by [pScale](#pScale) and [mScale](#mScale).\n","type":"Basics.Bool -> VegaLite.ScaleProperty"},{"name":"scConstant","comment":" The desired desired slope of the [scSymLog](#scSymLog) function at zero. If\nunspecified, the default is 1. Used by [pScale](#pScale) and [mScale](#mScale).\n","type":"Basics.Float -> VegaLite.ScaleProperty"},{"name":"scDomain","comment":" Provide a custom scaling domain (data extent). This can be useful for fixing\nthe data extent when interactively filtering or faceting so providing a 'global'\nscaling consistent across views. Used by [pScale](#pScale) and [mScale](#mScale).\nFor example,\n\n    color\n        [ mName \"popularity\"\n        , mQuant\n        , mScale [ scDomain (doNums [ 0, 100 ]) ]\n        ]\n\n","type":"VegaLite.ScaleDomain -> VegaLite.ScaleProperty"},{"name":"scDomainExpr","comment":" Expression that defines a scaling domain. Used by [pScale](#pScale) and [mScale](#mScale).\n","type":"String.String -> VegaLite.ScaleProperty"},{"name":"scExponent","comment":" The exponent to use for power scaling. Used by [pScale](#pScale) and [mScale](#mScale).\n","type":"Basics.Float -> VegaLite.ScaleProperty"},{"name":"scInterpolate","comment":" Interpolation method for scaling range values. Used by [pScale](#pScale) and [mScale](#mScale).\n","type":"VegaLite.CInterpolate -> VegaLite.ScaleProperty"},{"name":"scLinear","comment":" A linear scale. Used when specifying a [scaleType](#scaleType).\n","type":"VegaLite.Scale"},{"name":"scLog","comment":" A log scale used when specifying a [scaleType](#scaleType). Defaults to log of base 10,\nbut can be customised by setting [scBase](#scBase) to some other value. If data to be scaled\ncontain zeros or negative values, consider [scSymLog](#scSymLog) instead.\n","type":"VegaLite.Scale"},{"name":"scNice","comment":" 'Nice' minimum and maximum values in a scaling (e.g. multiples of 10). Used by\n[pScale](#pScale) and [mScale](#mScale).\n","type":"VegaLite.ScaleNice -> VegaLite.ScaleProperty"},{"name":"scNumExpr","comment":" Provide an [expression](https://vega.github.io/vega/docs/expressions/) to\na scale property function requiring a numeric value. This can be used to provide\nan interactive parameterisation of a mark property by providing an expression bound\nto an input element. Used by [pScale](#pScale) and [mScale](#mScale).\nFor example,\n\n    ps =\n        params\n            << param \"pad\"\n                [ paValue (num 0)\n                , paBind (ipRange [ inMax 100 ])\n                ]\n\n    enc =\n        encoding\n            << position X [ mName \"val\" mScale [ scNumExpr \"pad\" scPadding ] ]\n\n","type":"String.String -> (number -> VegaLite.ScaleProperty) -> VegaLite.ScaleProperty"},{"name":"scOrdinal","comment":" An ordinal scale. Used when specifying a [scaleType](#scaleType).\n","type":"VegaLite.Scale"},{"name":"scPadding","comment":" Padding in pixels to apply to a scaling. Used by [pScale](#pScale) and [mScale](#mScale).\n","type":"Basics.Float -> VegaLite.ScaleProperty"},{"name":"scPaddingInner","comment":" Inner padding to apply to a band scaling. Used by [pScale](#pScale) and [mScale](#mScale).\n","type":"Basics.Float -> VegaLite.ScaleProperty"},{"name":"scPaddingOuter","comment":" Outer padding to apply to a band scaling. Used by [pScale](#pScale) and [mScale](#mScale).\n","type":"Basics.Float -> VegaLite.ScaleProperty"},{"name":"scPoint","comment":" A point scale. Used when specifying a [scaleType](#scaleType).\n","type":"VegaLite.Scale"},{"name":"scPow","comment":" A power scale used when specifying a [scaleType](#scaleType). The exponent to use\nfor scaling is specified with [scExponent](#scExponent).\n","type":"VegaLite.Scale"},{"name":"scQuantile","comment":" A quantile scale. Used when specifying a [scaleType](#scaleType).\n","type":"VegaLite.Scale"},{"name":"scQuantize","comment":" A quantizing scale. Used when specifying a [scaleType](#scaleType).\n","type":"VegaLite.Scale"},{"name":"scRange","comment":" Provide a custom range of an encoding scaling. In contrast to the _domain_ (data),\nthe _range_ describes the values after they have been encoded. For example, when\nencoding some data as [size](#size), the range will be in squared pixel units;\nwhen encoding with [color](#color), the range will be some colour values.\nUsed by [pScale](#pScale) and [mScale](#mScale).\n\nFor example, to set the size range of proportional symbols to be between 0 and\n1000 squared pixels:\n\n    size\n        [ mName \"magnitude\"\n        , mQuant\n        , mScale [ scRange (raNums [ 0, 1000 ]) ]\n        ]\n\n","type":"VegaLite.ScaleRange -> VegaLite.ScaleProperty"},{"name":"scReverse","comment":" Whether or not to reverse sorting order of a scaling. Used by\n[pScale](#pScale) and [mScale](#mScale).\n","type":"Basics.Bool -> VegaLite.ScaleProperty"},{"name":"scRound","comment":" Whether or not numeric values in a scaling are rounded to integers. Used by\n[pScale](#pScale) and [mScale](#mScale).\n","type":"Basics.Bool -> VegaLite.ScaleProperty"},{"name":"scScheme","comment":" Color scheme used by a color scaling with [mScale](#mScale). The first parameter\nis the name of the scheme (e.g. \"viridis\"). For a full list of supported color scheme\nnames, see the [Vega documentation](https://vega.github.io/vega/docs/schemes/).\nThe second parameter is an optional specification of the number of colors to use\n(list of one number), or the extent of the color range to use (list of two numbers\nbetween 0 and 1). Used by [pScale](#pScale) and [mScale](#mScale).\n\n    color\n        [ mName \"value\"\n        , mOrdinal\n        , mScale [ scScheme \"redblue\" [ 0, 0.8 ] ]\n        ]\n\n","type":"String.String -> List.List Basics.Float -> VegaLite.ScaleProperty"},{"name":"scSchemeExpr","comment":" Expression that evaluates to a color scheme for color scaling. The first parameter\nis the expression and the second as for [scScheme](#scScheme). Used by [pScale](#pScale)\nand [mScale](#mScale). For example, to choose from a pair of preset schemes:\n\n    ps =\n        params\n            << param \"clrs\"\n                [ paValue (str \"plasma\")\n                , paBind (ipSelect [ inOptions [ \"plasma\", \"oranges\" ] ])\n                ]\n\n    enc =\n        encoding\n            << color [ mName \"val\", mScale [ scSchemeExpr \"clrs\" [] ] ]\n\nCan be used to specify a custom interpolated colour scheme by providing a list of\ncolours as a parameter value:\n\n    ps =\n        params\n            << param \"myScheme\" [ paValues (strs [ \"blue\", \"white\", \"red\" ]) ]\n\n    enc =\n        encoding\n            << color [ mName \"val\", mScale [ scSchemeExpr \"myScheme\" [] ] ]\n\n","type":"String.String -> List.List Basics.Float -> VegaLite.ScaleProperty"},{"name":"scSqrt","comment":" A square root scale. Used when specifying a [scaleType](#scaleType).\n","type":"VegaLite.Scale"},{"name":"scSymLog","comment":" A [symmetrical log](https://www.researchgate.net/profile/John_Webber4/publication/233967063_A_bi-symmetric_log_transformation_for_wide-range_data/links/0fcfd50d791c85082e000000.pdf)\nscale used when specifying a [scaleType](#scaleType). Similar to a log scale but supports zero\nand negative values. The slope of the function at zero can be set with [scConstant](#scConstant).\n","type":"VegaLite.Scale"},{"name":"scThreshold","comment":" A threshold scale. Used when specifying a [scaleType](#scaleType).\n","type":"VegaLite.Scale"},{"name":"scTime","comment":" A temporal scale. Used when specifying a [scaleType](#scaleType).\n","type":"VegaLite.Scale"},{"name":"scType","comment":" Type of scaling to apply. Used by [pScale](#pScale) and [mScale](#mScale).\n","type":"VegaLite.Scale -> VegaLite.ScaleProperty"},{"name":"scUtc","comment":" A UTC temporal scale. Used when specifying a [scaleType](#scaleType).\n","type":"VegaLite.Scale"},{"name":"scZero","comment":" Whether or not a numeric scaling should be forced to include a zero value.\nUsed by [pScale](#pScale) and [mScale](#mScale).\n","type":"Basics.Bool -> VegaLite.ScaleProperty"},{"name":"seClear","comment":" [Vega event stream selector](https://vega.github.io/vega/docs/event-streams/#selector)\nthat can clear a selection. Used by [paSelect](#paSelect).\nFor example, to allow a zoomed/panned view to be reset on shift-click:\n\n    ps =\n        params\n            << param \"myZoomPan\"\n                [ paSelect seInterval [ seClear \"click[event.shiftKey]\" ]\n                , paBindScales\n                ]\n\nTo remove the default clearing behaviour of a selection, provide an empty string\nrather than an event stream selector.\n\n","type":"String.String -> VegaLite.SelectionProperty"},{"name":"seEncodings","comment":" Encoding channels that form a named selection. For example, to _project_ a\nselection across all items that share the same value in the color channel. Used\nby [paSelect](#paSelect). For example,\n\n    ps =\n        params\n            << param \"sel\" [ paSelect sePoint [ seEncodings [ chColor ] ] ]\n\n","type":"List.List VegaLite.Channel -> VegaLite.SelectionProperty"},{"name":"seFields","comment":" Field names for projecting a selection over multiple fields. Used by [paSelect](#paSelect).\n","type":"List.List String.String -> VegaLite.SelectionProperty"},{"name":"seGlobal","comment":" One selection available across all subviews (default). Used by [seResolve](#seResolve).\n","type":"VegaLite.SelectionResolution"},{"name":"seIntersection","comment":" Each subview contains its own brush and marks are selected if they lie\nwithin _all_ of these individual selections. Used by [seResolve](#seResolve).\n","type":"VegaLite.SelectionResolution"},{"name":"seInterval","comment":" Indicate a draggable bounding rectangle can be made for selecting all items\nthat intersect with it. Used by [paSelect](#paSelect).\n","type":"VegaLite.Selection"},{"name":"seNearest","comment":" Whether or not a selection should capture nearest marks to a pointer\nrather than an exact position match. Used by [paSelect](#paSelect).\n","type":"Basics.Bool -> VegaLite.SelectionProperty"},{"name":"seOn","comment":" [Vega event stream selector](https://vega.github.io/vega/docs/event-streams/#selector)\nthat triggers a selection. Used by [paSelect](#paSelect). For example, to create a\npaintbrush effect under the pointer:\n\n    ps =\n        params\n            << param \"paint\" [ paSelect sePoint [ seOn \"mouseover\" ] ]\n\n","type":"String.String -> VegaLite.SelectionProperty"},{"name":"sePoint","comment":" Specify a point selection type. Used by [paSelect](#paSelect).\n","type":"VegaLite.Selection"},{"name":"seResolve","comment":" Strategy that determines how selections’ data queries are resolved when applied\nin a filter transform, conditional encoding rule, or scale domain. Used by [paSelect](#paSelect).\n","type":"VegaLite.SelectionResolution -> VegaLite.SelectionProperty"},{"name":"seSelectionMark","comment":" Appearance of an interval selection mark (dragged rectangle). Used by [paSelect](#paSelect).\n","type":"List.List VegaLite.SelectionMarkProperty -> VegaLite.SelectionProperty"},{"name":"seToggle","comment":" Predicate expression that determines a toggled selection. See the\n[Vega-Lite toggle documentation](https://vega.github.io/vega-lite/docs/selection.html#toggle).\nUsed by [paSelect](#paSelect).\n\nFor example, to create a paintbrush type effect that leaves a trail of selections\nunder the pointer while the shift key is pressed down:\n\n    ps =\n        params\n            << param \"paint\"\n                [ paSelect sePoint [ seOn \"mouseover\", seToggle tpShiftKey ] ]\n\n","type":"VegaLite.TogglePredicate -> VegaLite.SelectionProperty"},{"name":"seTranslate","comment":" Interaction [event stream](https://vega.github.io/vega/docs/event-streams/)\nfor translating an interval selection. If an empty string, selection translation\nwill be disabled. See the\n[Vega-Lite zoom documentation](https://vega.github.io/vega-lite/docs/selection.html#interval).\nUsed by [paSelect](#paSelect).\n","type":"String.String -> VegaLite.SelectionProperty"},{"name":"seUnion","comment":" Each subview contains its own brush and marks are selected if they lie\nwithin _any_ of these individual selections. Used by [seResolve](#seResolve).\n","type":"VegaLite.SelectionResolution"},{"name":"seZoom","comment":" Interaction [event stream](https://vega.github.io/vega/docs/event-streams/)\nfor zooming an interval selection. If an empty string, zooming will be disabled.\nSee the [Vega-Lite zoom documentation](https://vega.github.io/vega-lite/docs/selection.html#interval).\nUsed by [paSelect](#paSelect).\n","type":"String.String -> VegaLite.SelectionProperty"},{"name":"seconds","comment":" Second of a minute time unit used for discretizing temporal data.\n","type":"VegaLite.TimeUnit"},{"name":"secondsMilliseconds","comment":" Seconds and milliseconds time unit used for discretizing temporal data.\n","type":"VegaLite.TimeUnit"},{"name":"shape","comment":" Encode a shape channel. The first parameter is a list of shape encoding options\nsuch as the data to encode, custom shape encodings etc.\n\n    enc =\n        encoding\n            << shape [ mName \"company\", mNominal ]\n\n","type":"List.List VegaLite.MarkChannel -> List.List VegaLite.LabelledSpec -> List.List VegaLite.LabelledSpec"},{"name":"siBottom","comment":" Bottom side, used, for example, to specify an axis position.\nUsed by [axOrient](#axOrient), [hdLabelOrient](#hdLabelOrient),\n[htTitleOrient](#hdTitleOrient), [hdOrient](#hdOrient),\n[tiOrient](#tiOrient) and [ticoOrient](#ticoOrient).\n","type":"VegaLite.Side"},{"name":"siExpr","comment":" Specify a side position with an interactive expression. Used by\n[axOrient](#axOrient), [hdLabelOrient](#hdLabelOrient),\n[htTitleOrient](#hdTitleOrient), [hdOrient](#hdOrient),\n[tiOrient](#tiOrient) and [ticoOrient](#ticoOrient).\n","type":"String.String -> VegaLite.Side"},{"name":"siLeft","comment":" Left side, used, for example, to specify an axis position.\nUsed by [axOrient](#axOrient), [hdLabelOrient](#hdLabelOrient),\n[htTitleOrient](#hdTitleOrient), [hdOrient](#hdOrient),\n[tiOrient](#tiOrient) and [ticoOrient](#ticoOrient).\n","type":"VegaLite.Side"},{"name":"siRight","comment":" Right side, used, for example, to specify an axis position.\nUsed by [axOrient](#axOrient), [hdLabelOrient](#hdLabelOrient),\n[htTitleOrient](#hdTitleOrient), [hdOrient](#hdOrient),\n[tiOrient](#tiOrient) and [ticoOrient](#ticoOrient).\n","type":"VegaLite.Side"},{"name":"siTop","comment":" Top side, used, for example, to specify an axis position.\nUsed by [axOrient](#axOrient), [hdLabelOrient](#hdLabelOrient),\n[htTitleOrient](#hdTitleOrient), [hdOrient](#hdOrient),\n[tiOrient](#tiOrient) and [ticoOrient](#ticoOrient).\n","type":"VegaLite.Side"},{"name":"size","comment":" Encode a size channel. The first parameter is a list of size encoding options\nsuch as the data to encode, size scaling etc.\n\n    enc =\n        encoding\n            << size [ mName \"population\", mQuant ]\n\n","type":"List.List VegaLite.MarkChannel -> List.List VegaLite.LabelledSpec -> List.List VegaLite.LabelledSpec"},{"name":"smCursor","comment":" Cursor type to appear when pointer is over an interval selection mark\n(dragged rectangular area). Used by [seSelectionMark](#seSelectionMark).\n","type":"VegaLite.Cursor -> VegaLite.SelectionMarkProperty"},{"name":"smFill","comment":" Fill color of an interval selection mark (dragged rectangular area).\nUsed by [seSelectionMark](#seSelectionMark).\n","type":"String.String -> VegaLite.SelectionMarkProperty"},{"name":"smFillOpacity","comment":" Fill opacity of an interval selection mark in the range 0 to 1. Used by\n[seSelectionMark](#seSelectionMark).\n","type":"Basics.Float -> VegaLite.SelectionMarkProperty"},{"name":"smStroke","comment":" Stroke color of an interval selection mark. Used by [seSelectionMark](#seSelectionMark).\n","type":"String.String -> VegaLite.SelectionMarkProperty"},{"name":"smStrokeDash","comment":" Stroke dash style of an interval selection mark. Used by [seSelectionMark](#seSelectionMark).\n","type":"List.List Basics.Float -> VegaLite.SelectionMarkProperty"},{"name":"smStrokeDashOffset","comment":" Stroke dash offset of an interval selection mark. Used by [seSelectionMark](#seSelectionMark).\n","type":"Basics.Float -> VegaLite.SelectionMarkProperty"},{"name":"smStrokeOpacity","comment":" Stroke opacity of an interval selection mark in the range 0 to 1.\nUsed by [seSelectionMark](#seSelectionMark).\n","type":"Basics.Float -> VegaLite.SelectionMarkProperty"},{"name":"smStrokeWidth","comment":" Stroke width of an interval selection mark. Used by [seSelectionMark](#seSelectionMark).\n","type":"Basics.Float -> VegaLite.SelectionMarkProperty"},{"name":"soAscending","comment":" Indicate sorting is to be applied from low to high.\n","type":"VegaLite.SortProperty"},{"name":"soByChannel","comment":" Sort by another channel. Used by [pSort](#pSort), [mSort](#mSort),\n[oSort](#oSort) and [fSort](#fSort). For example,\n\n    position Y [ pName \"age\", pOrdinal, pSort [ soByChannel chX ] ]\n\n","type":"VegaLite.Channel -> VegaLite.SortProperty"},{"name":"soByField","comment":" Sort by the aggregated summary of a given field using a given aggregation\noperation. Used by [pSort](#pSort), [mSort](#mSort), [oSort](#oSort) and\n[fSort](#fSort). For example, to sort the categorical data field `variety` by\nthe mean age of the data in each variety category:\n\n    position Y\n        [ pName \"variety\"\n        , pOrdinal\n        , pSort [ soByField \"age\" opMean, soDescending ]\n        ]\n\n","type":"String.String -> VegaLite.Operation -> VegaLite.SortProperty"},{"name":"soByRepeat","comment":" Sort by the aggregated summaries of the given fields (referenced by a repeat\niterator) using a given aggregation operation. Used by [pSort](#pSort), [mSort](#mSort),\n[oSort](#oSort) and [fSort](#fSort).\n","type":"VegaLite.Arrangement -> VegaLite.Operation -> VegaLite.SortProperty"},{"name":"soCustom","comment":" Custom sort order listing data values explicitly. Used by [pSort](#pSort),\n[mSort](#mSort), [oSort](#oSort) and [fSort](#fSort).\n","type":"VegaLite.DataValues -> VegaLite.SortProperty"},{"name":"soDescending","comment":" Indicate sorting is to be applied from high to low.\n","type":"VegaLite.SortProperty"},{"name":"spacing","comment":" Spacing between sub-views in a composition operator.\n","type":"Basics.Float -> ( VegaLite.VLProperty, VegaLite.Spec )"},{"name":"spacingRC","comment":" Similar to [spacing](#spacing) but with independent spacing for rows (first\nparameter) and columns (second parameter).\n","type":"Basics.Float -> Basics.Float -> ( VegaLite.VLProperty, VegaLite.Spec )"},{"name":"specification","comment":" Define a specification object for use with faceted and repeated small multiples.\n\n    spec = ...\n    toVegaLite\n        [ facet [ rowBy [ fName \"Origin\", fNominal ] ]\n        , specification spec\n        ]\n\n","type":"VegaLite.Spec -> ( VegaLite.VLProperty, VegaLite.Spec )"},{"name":"sphere","comment":" Generate a data source that is a sphere for bounding global geographic data.\nThe sphere will be subject to whatever projection is specified for the view.\n\n    myGlobe : Spec\n    myGlobe =\n        toVegaLite\n            [ sphere\n            , projection [ prType orthographic ]\n            , geoshape [ maFill \"aliceblue\" ]\n            ]\n\n","type":"VegaLite.Data"},{"name":"square","comment":" [Square mark](https://vega.github.io/vega-lite/docs/square.html) for symbolising\npoints.\n","type":"List.List VegaLite.MarkProperty -> ( VegaLite.VLProperty, VegaLite.Spec )"},{"name":"stAscending","comment":" Indicate that the given field should be sorted in ascending order. Used by\n[stSort](#stSort).\n","type":"String.String -> VegaLite.SortField"},{"name":"stCenter","comment":" Offset a stacked layout using a central stack baseline. Used by\n[pStack](#pStack) and [stOffset](#stOffset).\n","type":"VegaLite.StackOffset"},{"name":"stDescending","comment":" Indicate that the given field should be sorted in descending order. Used by\n[stSort](#stSort).\n","type":"String.String -> VegaLite.SortField"},{"name":"stNone","comment":" Do not stack marks (produces a layered plot). Used by [pStack](#pStack)\nand [stOffset](#stOffset).\n","type":"VegaLite.StackOffset"},{"name":"stNormalize","comment":" Rescale a stacked layout to use a common height while preserving relative size\nof stacked quantities. Used by [pStack](#pStack) and [stOffset](#stOffset).\n","type":"VegaLite.StackOffset"},{"name":"stOffset","comment":" Stack offset when applying a [stack](#stack) transformation.\n","type":"VegaLite.StackOffset -> VegaLite.StackProperty"},{"name":"stSort","comment":" Ordering within a stack when applying a [stack](#stack) transformation.\n","type":"List.List VegaLite.SortField -> VegaLite.StackProperty"},{"name":"stZero","comment":" Offset a stacked layout using a baseline at the foot of a stack. Used by\n[pStack](#pStack) and [stOffset](#stOffset).\n","type":"VegaLite.StackOffset"},{"name":"stack","comment":" Apply a stack transform for positioning multiple values. This is an alternative\nto specifying stacking directly when encoding position. First parameter is the field\nto be stacked; the second the fields to group by; the third and fourth are the names\nto give the output field names; the fifth lists the optional offset and sort properties.\n","type":"String.String -> List.List String.String -> String.String -> String.String -> List.List VegaLite.StackProperty -> List.List VegaLite.LabelledSpec -> List.List VegaLite.LabelledSpec"},{"name":"stereographic","comment":" A stereographic map projection. Used by [prType](#prType).\n","type":"VegaLite.Projection"},{"name":"str","comment":" A string data value. Used by [dataRow](#dataRow), [paValue](#paValue), [pDatum](#pDatum), [mDatum](#mDatum),\n[tDatum](#tDatum), [datumArray](#datumArray), [inDatumOptions](#inDatumOptions), [imNewValue](#imNewValue),\n[fiEqual](#fiEqual), [fiLessThan](#fiLessThan), [fiLessThanEq](#fiLessThanEq), [fiGreaterThan](#fiGreaterThan),\n[fiGreaterThanEq](#fiGreaterThanEq) and [fiOneOf](#fiOneOf).\n","type":"String.String -> VegaLite.DataValue"},{"name":"stroke","comment":" Encode a stroke channel. This acts in a similar way to encoding by `color` but\nonly affects the exterior boundary of marks.\n","type":"List.List VegaLite.MarkChannel -> List.List VegaLite.LabelledSpec -> List.List VegaLite.LabelledSpec"},{"name":"strokeDash","comment":" Encode a stroke dash channel.\n\n    enc =\n        encoding\n            << position X [ pName \"date\", pTemporal ]\n            << position Y [ pName \"price\", pQuant ]\n            << strokeDash [ mName \"company\" ]\n\n","type":"List.List VegaLite.MarkChannel -> List.List VegaLite.LabelledSpec -> List.List VegaLite.LabelledSpec"},{"name":"strokeOpacity","comment":" Encode a stroke opacity channel. This acts in a similar way to encoding by\n`opacity` but only affects the exterior boundary of marks. If both `opacity` and\n`strokeOpacity` are specified, `strokeOpacity` takes precedence for stroke encoding.\n","type":"List.List VegaLite.MarkChannel -> List.List VegaLite.LabelledSpec -> List.List VegaLite.LabelledSpec"},{"name":"strokeWidth","comment":" Encode a stroke width channel.\n","type":"List.List VegaLite.MarkChannel -> List.List VegaLite.LabelledSpec -> List.List VegaLite.LabelledSpec"},{"name":"strs","comment":" A list of string data values. Used when declaring inline data with\n[dataColumn](#dataColumn), filtering ([fiOneOf](#fiOneOf)), imputation\n([imKeyVals](#imKeyVals)) and customised sorting ([soCustom](#soCustom)).\n","type":"List.List String.String -> VegaLite.DataValues"},{"name":"symArrow","comment":" Specify a centred arrow symbol for a shape mark. Useful for vector plots.\nUsed by [maShape](#maShape), [mSymbol](#mSymbol), [leSymbolType](#leSymbolType),\n[lecoSymbolType](#lecoSymbolType) and [racoSymbols](#racoSymbols).\n","type":"VegaLite.Symbol"},{"name":"symCircle","comment":" Specify a circular symbol for a shape mark. Used by [maShape](#maShape),\n[mSymbol](#mSymbol), [leSymbolType](#leSymbolType), [lecoSymbolType](#lecoSymbolType)\nand [racoSymbols](#racoSymbols).\n","type":"VegaLite.Symbol"},{"name":"symCross","comment":" Specify a cross symbol for a shape mark. Used by [maShape](#maShape),\n[mSymbol](#mSymbol), [leSymbolType](#leSymbolType), [lecoSymbolType](#lecoSymbolType)\nand [racoSymbols](#racoSymbols).\n","type":"VegaLite.Symbol"},{"name":"symDiamond","comment":" Specify a diamond symbol for a shape mark. Used by [maShape](#maShape),\n[mSymbol](#mSymbol), [leSymbolType](#leSymbolType), [lecoSymbolType](#lecoSymbolType)\nand [racoSymbols](#racoSymbols).\n","type":"VegaLite.Symbol"},{"name":"symExpr","comment":" Expression that evaluates to some symbol such as \"diamond\", \"cross\" or \"circle\".\nUsed by [maShape](#maShape), [mSymbol](#mSymbol), [leSymbolType](#leSymbolType),\n[lecoSymbolType](#lecoSymbolType)\nand [racoSymbols](#racoSymbols).\n","type":"String.String -> VegaLite.Symbol"},{"name":"symPath","comment":" A custom symbol shape as an\n[SVG path description](https://developer.mozilla.org/en-US/docs/Web/SVG/Tutorial/Paths).\nUsed by [maShape](#maShape), [mSymbol](#mSymbol), [leSymbolType](#leSymbolType),\n[lecoSymbolType](#lecoSymbolType) and [racoSymbols](#racoSymbols).\n","type":"String.String -> VegaLite.Symbol"},{"name":"symSquare","comment":" Specify a square symbol for a shape mark. Used by [maShape](#maShape),\n[mSymbol](#mSymbol), [leSymbolType](#leSymbolType), [lecoSymbolType](#lecoSymbolType)\nand [racoSymbols](#racoSymbols).\n","type":"VegaLite.Symbol"},{"name":"symStroke","comment":" Specify a linear symbol for a shape mark. Note that this will only be visible\nif the symbol has a stroke setting (unlike all the other areal symbols filling it\nhas no effect). Used by [maShape](#maShape), [mSymbol](#mSymbol), [leSymbolType](#leSymbolType),\n[lecoSymbolType](#lecoSymbolType) and [racoSymbols](#racoSymbols).\n","type":"VegaLite.Symbol"},{"name":"symTriangle","comment":" Specify a centred triangle symbol for a shape mark. Useful for vector plots.\nUsed by [maShape](#maShape), [mSymbol](#mSymbol), [leSymbolType](#leSymbolType),\n[lecoSymbolType](#lecoSymbolType) and [racoSymbols](#racoSymbols).\n","type":"VegaLite.Symbol"},{"name":"symTriangleDown","comment":" Specify a downward triangular symbol for a shape mark. Used by [maShape](#maShape),\n[mSymbol](#mSymbol), [leSymbolType](#leSymbolType), [lecoSymbolType](#lecoSymbolType)\nand [racoSymbols](#racoSymbols).\n","type":"VegaLite.Symbol"},{"name":"symTriangleLeft","comment":" Specify a leftward facing triangular symbol for a shape mark. Used by [maShape](#maShape),\n[mSymbol](#mSymbol), [leSymbolType](#leSymbolType), [lecoSymbolType](#lecoSymbolType)\nand [racoSymbols](#racoSymbols).\n","type":"VegaLite.Symbol"},{"name":"symTriangleRight","comment":" Specify a rightward facing triangular symbol for a shape mark. Used by [maShape](#maShape),\n[mSymbol](#mSymbol), [leSymbolType](#leSymbolType), [lecoSymbolType](#lecoSymbolType)\nand [racoSymbols](#racoSymbols).\n","type":"VegaLite.Symbol"},{"name":"symTriangleUp","comment":" Specify an upward triangular symbol for a shape mark. Used by [maShape](#maShape),\n[mSymbol](#mSymbol), [leSymbolType](#leSymbolType), [lecoSymbolType](#lecoSymbolType)\nand [racoSymbols](#racoSymbols).\n","type":"VegaLite.Symbol"},{"name":"symWedge","comment":" Specify a centred wedge (thin triangle) symbol for a shape mark. Useful for\nvector plots. Used by [maShape](#maShape), [mSymbol](#mSymbol), [leSymbolType](#leSymbolType),\n[lecoSymbolType](#lecoSymbolType) and [racoSymbols](#racoSymbols).\n","type":"VegaLite.Symbol"},{"name":"tAggregate","comment":" Compute some aggregate summary statistics for a field to be encoded with a\ntext channel. The type of aggregation is determined by the given operation parameter.\nUsed by [text](#text), [tooltip](#tooltip) and [tCondition](#tCondition).\n","type":"VegaLite.Operation -> VegaLite.TextChannel"},{"name":"tBin","comment":" Discretize numeric values into bins when encoding with a text channel.\nUsed by [text](#text), [tooltip](#tooltip) and [tCondition](#tCondition).\n","type":"List.List VegaLite.BinProperty -> VegaLite.TextChannel"},{"name":"tBinned","comment":" Indicate that data encoded with a text channel are already binned.\nUsed by [text](#text), [tooltip](#tooltip) and [tCondition](#tCondition).\n","type":"VegaLite.TextChannel"},{"name":"tCondition","comment":" Make a text channel encoding conditional on a predicate expression. A predicate\nmight be the result of evaluating a parameter ([prParam](#prParam)) or an expression\n([prTest](#prTest)). The first parameter is the predicate that evaluates to true\nor false; the second the encoding if true, the third the encoding if false.\nUsed by [text](#text) and [tooltip](#tooltip).\n","type":"VegaLite.Predicate -> List.List VegaLite.TextChannel -> List.List VegaLite.TextChannel -> VegaLite.TextChannel"},{"name":"tConditions","comment":" Make an text channel conditional on a sequence of predicate values. This can\nbe used when several predicates need to be tested in sequence each with their own\nencoding outcomes ('if-else'). Used by [text](#text), [tooltip](#tooltip).\n","type":"List.List ( VegaLite.Predicate, List.List VegaLite.TextChannel ) -> List.List VegaLite.TextChannel -> VegaLite.TextChannel"},{"name":"tDatum","comment":" Name of a literal data item used for encoding with a text channel. Unlike\n[tStr](#tStr) datum literals represent values in data space. Used by [text](#text),\n[tooltip](#tooltip) and [tCondition](#tCondition).\n","type":"VegaLite.DataValue -> VegaLite.TextChannel"},{"name":"tFormat","comment":" [Formatting pattern](https://vega.github.io/vega-lite/docs/format.html)\nfor text marks. To distinguish between formatting as numeric values and data/time\nvalues, additionally use [tFormatAsNum](#tFormatAsNum), [tFormatAsTemporal](#tFormatAsTemporal)\nor [tFormatAsCustom](#tFormatAsCustom). Used by [text](#text), [tooltip](#tooltip) and\n[tCondition](#tCondition).\n","type":"String.String -> VegaLite.TextChannel"},{"name":"tFormatAsCustom","comment":" Indicate that values encoded with a text channel should be formatted with a\nregistered custom formatter with the given name. Used by [text](#text), [tooltip](#tooltip)\nand [tCondition](#tCondition). See\n[how to register a Vega-Lite custom formatter](https://vega.github.io/vega-lite/usage/compile.html#format-type).\n","type":"String.String -> VegaLite.TextChannel"},{"name":"tFormatAsNum","comment":" Indicate that values encoded with a text channel should be formatted as numbers.\nTo control the precise numeric format, additionally use [tFormat](#tFormat) providing\na [d3 numeric format string](https://github.com/d3/d3-format#locale_format).\nUsed by [text](#text), [tooltip](#tooltip) and [tCondition](#tCondition).\n","type":"VegaLite.TextChannel"},{"name":"tFormatAsTemporal","comment":" Indicate that values encoded with a text channel should be formatted as dates/times.\nTo control the precise temporal format, additionally use [tFormat](#tFormat) providing\na [d3 date/time format string](https://github.com/d3/d3-time-format#locale_format).\nUsed by [text](#text), [tooltip](#tooltip) and [tCondition](#tCondition).\n","type":"VegaLite.TextChannel"},{"name":"tGeo","comment":" Indicate a data field encoded as a text property is a geo feature.\nUsed by [text](#text), [tooltip](#tooltip) and [tCondition](#tCondition).\n","type":"VegaLite.TextChannel"},{"name":"tName","comment":" Name of field used for encoding with a text channel. Used by [text](#text),\n[tooltip](#tooltip) and [tCondition](#tCondition).\n","type":"String.String -> VegaLite.TextChannel"},{"name":"tNominal","comment":" Indicate a data field encoded as a text property is nominal. This is\nthe default data type. Used by [text](#text), [tooltip](#tooltip) and [tCondition](#tCondition).\n","type":"VegaLite.TextChannel"},{"name":"tOrdinal","comment":" Indicate a data field encoded as a text property is ordinal. Used by [text](#text),\n[tooltip](#tooltip) and [tCondition](#tCondition).\n","type":"VegaLite.TextChannel"},{"name":"tQuant","comment":" Indicate a data field encoded as a text property is quantitative.\nUsed by [text](#text), [tooltip](#tooltip) and [tCondition](#tCondition).\n","type":"VegaLite.TextChannel"},{"name":"tRepeat","comment":" Reference in a text channel to a field name generated by [repeatFlow](#repeatFlow)\nor [repeat](#repeat). The parameter identifies whether reference is being made to\nfields that are to be arranged in columns, in rows or a with a flow layout.\nUsed by [text](#text), [tooltip](#tooltip) and [tCondition](#tCondition).\n","type":"VegaLite.Arrangement -> VegaLite.TextChannel"},{"name":"tStr","comment":" Literal string value when encoding with a text channel. Can be useful for\nquick text annotation. Used by [text](#text), [tooltip](#tooltip) and [tCondition](#tCondition).\nFor multi-line text, insert `\\n` at each line break or use a `\"\"\"` multi-line string. For example,\n\n    encoding\n        << position X [ pNum 300 ]\n        << position Y [ pNum 300 ]\n        << text [ tStr \"Upper limit\\nof range\" ]\n\n","type":"String.String -> VegaLite.TextChannel"},{"name":"tTemporal","comment":" Indicate a data field encoded as a text property is temporal. Used by [text](#text),\n[tooltip](#tooltip) and [tCondition](#tCondition).\n","type":"VegaLite.TextChannel"},{"name":"tTimeUnit","comment":" Time unit aggregation of field values when encoding with a text channel.\nUsed by [text](#text), [tooltip](#tooltip) and [tCondition](#tCondition).\n","type":"VegaLite.TimeUnit -> VegaLite.TextChannel"},{"name":"tTitle","comment":" Title of a field when encoding with a text or tooltip channel. For multi-line\ntitles, insert `\\n` at each line break or use a `\"\"\"` multi-line string.\nUsed by [text](#text), [tooltip](#tooltip) and [tCondition](#tCondition).\n","type":"String.String -> VegaLite.TextChannel"},{"name":"tbCenter","comment":" Align to centre of tick band.\n","type":"VegaLite.TickBand"},{"name":"tbExpr","comment":" Specify a tick band alignment with an expression that should evaluate to \"center\"\nor \"extent\".\n","type":"String.String -> VegaLite.TickBand"},{"name":"tbExtent","comment":" Align to extent (edges) of tick band.\n","type":"VegaLite.TickBand"},{"name":"tdExpr","comment":" Expression that evaluates to a text direction \"ltr\" (left-to-right) or\n'rtl' (right-to-left) .\n","type":"String.String -> VegaLite.TextDirection"},{"name":"tdLeftToRight","comment":" Indicate a left-to-right text direction.\n","type":"VegaLite.TextDirection"},{"name":"tdRightToLeft","comment":" Indicate a right-to-left text direction.\n","type":"VegaLite.TextDirection"},{"name":"text","comment":" Encode a text channel. The first parameter is a list of text encoding options\nsuch as the data to encode, number formatting etc.\n\n    enc =\n        encoding\n            << text [ tName \"keyword\", tNominal ]\n\n","type":"List.List VegaLite.TextChannel -> List.List VegaLite.LabelledSpec -> List.List VegaLite.LabelledSpec"},{"name":"textMark","comment":" [Text mark](https://vega.github.io/vega-lite/docs/text.html) to be\ndisplayed at some point location.\n","type":"List.List VegaLite.MarkProperty -> ( VegaLite.VLProperty, VegaLite.Spec )"},{"name":"tfBounds","comment":" Specify a title anchor position relative to the full bounding box. Used by\n[tiFrame](#tiFrame) and [ticoFrame](#ticoFrame).\n","type":"VegaLite.TitleFrame"},{"name":"tfExpr","comment":" Specify a title anchor position as an expression that should evaluate to one\nof \"bounds\" or \"frame\". Used by [tiFrame](#tiFrame) and [ticoFrame](#ticoFrame).\n","type":"String.String -> VegaLite.TitleFrame"},{"name":"tfGroup","comment":" Specify a title anchor position relative to the group width / height. Used by\n[tiFrame](#tiFrame) and [ticoFrame](#ticoFrame).\n","type":"VegaLite.TitleFrame"},{"name":"tiAnchor","comment":" Anchor position when placing a [title](#title).\n","type":"VegaLite.Anchor -> VegaLite.TitleProperty"},{"name":"tiAngle","comment":" Angle of [title](#title) text (degrees from horizontal).\n","type":"Basics.Float -> VegaLite.TitleProperty"},{"name":"tiBaseline","comment":" Vertical alignment of a [title](#title).\n","type":"VegaLite.VAlign -> VegaLite.TitleProperty"},{"name":"tiColor","comment":" Text colour of a [title](#title).\n","type":"String.String -> VegaLite.TitleProperty"},{"name":"tiDx","comment":" Delta offset of [title](#title) and subtitle x-position.\n","type":"Basics.Float -> VegaLite.TitleProperty"},{"name":"tiDy","comment":" Delta offset of [title](#title) and subtitle y-position.\n","type":"Basics.Float -> VegaLite.TitleProperty"},{"name":"tiFont","comment":" [title](#title) font.\n","type":"String.String -> VegaLite.TitleProperty"},{"name":"tiFontSize","comment":" [title](#title) font size.\n","type":"Basics.Float -> VegaLite.TitleProperty"},{"name":"tiFontStyle","comment":" [title](#title) font style (italic etc.).\n","type":"String.String -> VegaLite.TitleProperty"},{"name":"tiFontWeight","comment":" [title](#title) font weight.\n","type":"VegaLite.FontWeight -> VegaLite.TitleProperty"},{"name":"tiFrame","comment":" [title](#title) position anchor. Can be relative to the full bounding box\n([frBounds](#frBounds)) or the group in which the titled visualization belongs\n([frGroup](#frGroup)).\n","type":"VegaLite.TitleFrame -> VegaLite.TitleProperty"},{"name":"tiLimit","comment":" Maximum length of the [title](#title) display in pixel units.\n","type":"Basics.Float -> VegaLite.TitleProperty"},{"name":"tiLineHeight","comment":" Line height (vertical spacing) for [title](#title) text.\n","type":"Basics.Float -> VegaLite.TitleProperty"},{"name":"tiNumExpr","comment":" Provide an [expression](https://vega.github.io/vega/docs/expressions/) to a\n[title](#title) property function requiring a numeric value. This can be used for interactive\nparameterisation when an expression is bound to an input element. For example,\n\n    ps =\n        params\n            << param \"fs\"\n                [ paValue (num 0)\n                , paBind (ipRange [ inMax 32 ])\n                ]\n\n    ttl =\n        title \"My title\" [ tiNumExpr \"fs\" tiFontSize ]\n\n","type":"String.String -> (number -> VegaLite.TitleProperty) -> VegaLite.TitleProperty"},{"name":"tiOffset","comment":" Offset in pixel units of the [title](#title) relative to the chart body.\n","type":"Basics.Float -> VegaLite.TitleProperty"},{"name":"tiOrient","comment":" Placement of [title](#title) relative to the chart body.\n","type":"VegaLite.Side -> VegaLite.TitleProperty"},{"name":"tiStrExpr","comment":" Provide an [expression](https://vega.github.io/vega/docs/expressions/) to\na [title](#title) property function requiring a string value. This can be used to provide\nan interactive parameterisation of a title property when an expression is bound to an\ninput element. For example,\n\n    ps =\n        params\n            << params \"clr\"\n                [ paValue (str \"black\")\n                , paBind (ipColor [])\n                ]\n\n    ttl =\n        title \"My title\" [ tiStrExpr \"clr\" tiColor ]\n\n","type":"String.String -> (String.String -> VegaLite.TitleProperty) -> VegaLite.TitleProperty"},{"name":"tiStyle","comment":" A list of named styles to apply to [title](#title). A named style can be specified via\n[coMarkStyles](#coMarkStyles) if more than one style is required. Later styles\nin the list will override earlier styles if there is a conflict in any of the mark\nproperties specified.\n\nWhile this is provided for compatibility with Vega-Lite style specification, for\ngreater type safety in elm-vegalite, instead create functions that generate\n[TitleProperties](#TitleProperty).\n\n","type":"List.List String.String -> VegaLite.TitleProperty"},{"name":"tiSubtitle","comment":" Subtitle text, placed beneath the primary title. For multi-line subtitles,\ninsert `\\n` at each line break or use a `\"\"\"` multi-line string. Used by [title](#title) and [titleExpr](#titleExpr).\n","type":"String.String -> VegaLite.TitleProperty"},{"name":"tiSubtitleColor","comment":" Color of a subtitle. Used by [title](#title) and [titleExpr](#titleExpr).\n","type":"String.String -> VegaLite.TitleProperty"},{"name":"tiSubtitleFont","comment":" Font name of a subtitle. Used by [title](#title) and [titleExpr](#titleExpr).\n","type":"String.String -> VegaLite.TitleProperty"},{"name":"tiSubtitleFontSize","comment":" Font size of a subtitle. Used by [title](#title) and [titleExpr](#titleExpr).\n","type":"Basics.Float -> VegaLite.TitleProperty"},{"name":"tiSubtitleFontStyle","comment":" Font style of a subtitle such as `\"normal\"` or `\"italic\"`. Used by\n[title](#title) and [titleExpr](#titleExpr).\n","type":"String.String -> VegaLite.TitleProperty"},{"name":"tiSubtitleFontWeight","comment":" Font weight of a subtitle. Used by [title](#title) and [titleExpr](#titleExpr).\n","type":"VegaLite.FontWeight -> VegaLite.TitleProperty"},{"name":"tiSubtitleLineHeight","comment":" Line height in pixels of each line of text in a multi-line subtitle. Used by\n[title](#title) and [titleExpr](#titleExpr).\n","type":"Basics.Float -> VegaLite.TitleProperty"},{"name":"tiSubtitlePadding","comment":" Padding in pixels between title and subtitle text. Used by [title](#title)\nand [titleExpr](#titleExpr).\n","type":"Basics.Float -> VegaLite.TitleProperty"},{"name":"tiZIndex","comment":" Drawing order of a [title](#title) relative to the other chart elements. 1 indicates\ntitle is drawn in front of chart marks, 0 indicates it is drawn behind them.\n","type":"Basics.Int -> VegaLite.TitleProperty"},{"name":"tick","comment":" Short line ([tick](https://vega.github.io/vega-lite/docs/tick.html))\nmark for symbolising point locations.\n","type":"List.List VegaLite.MarkProperty -> ( VegaLite.VLProperty, VegaLite.Spec )"},{"name":"ticoAnchor","comment":" Configure default title anchor position via [coTitle](#coTitle).\n","type":"VegaLite.Anchor -> VegaLite.TitleConfig"},{"name":"ticoAngle","comment":" Configure default title text orientation (degrees from horizontal) via [coTitle](#coTitle).\n","type":"Basics.Float -> VegaLite.TitleConfig"},{"name":"ticoBaseline","comment":" Configure default vertical alignment of title text via [coTitle](#coTitle).\n","type":"VegaLite.VAlign -> VegaLite.TitleConfig"},{"name":"ticoColor","comment":" Configure default title color when via [coTitle](#coTitle).\n","type":"String.String -> VegaLite.TitleConfig"},{"name":"ticoDx","comment":" Configure default delta offset of title and subtitle x-position via [coTitle](#coTitle).\n","type":"Basics.Float -> VegaLite.TitleConfig"},{"name":"ticoDy","comment":" Configure default delta offset of title and subtitle y-position via [coTitle](#coTitle).\n","type":"Basics.Float -> VegaLite.TitleConfig"},{"name":"ticoFont","comment":" Configure default title font via [coTitle](#coTitle).\n","type":"String.String -> VegaLite.TitleConfig"},{"name":"ticoFontSize","comment":" Configure default title font size via [coTitle](#coTitle).\n","type":"Basics.Float -> VegaLite.TitleConfig"},{"name":"ticoFontStyle","comment":" Configure default title font style (italic etc.) via [coTitle](#coTitle).\n","type":"String.String -> VegaLite.TitleConfig"},{"name":"ticoFontWeight","comment":" Configure default title font weight via [coTitle](#coTitle).\n","type":"VegaLite.FontWeight -> VegaLite.TitleConfig"},{"name":"ticoFrame","comment":" Configure title position anchor via [coTitle](#coTitle). Can be relative to the full\nbounding box ([frBounds](#frBounds)) or the group in which the titled visualization\nbelongs ([frGroup](#frGroup)).\n","type":"VegaLite.TitleFrame -> VegaLite.TitleConfig"},{"name":"ticoLimit","comment":" Configure default maximum title length in pixel units via [coTitle](#coTitle).\n","type":"Basics.Float -> VegaLite.TitleConfig"},{"name":"ticoLineHeight","comment":" Configure default title line height (vertical spacing) via [coTitle](#coTitle).\n","type":"Basics.Float -> VegaLite.TitleConfig"},{"name":"ticoNumExpr","comment":" Provide an [expression](https://vega.github.io/vega/docs/expressions/) to a\ntitle configuration function requiring a numeric value. Used by [coTitle](#coTitle).\n","type":"String.String -> (number -> VegaLite.TitleConfig) -> VegaLite.TitleConfig"},{"name":"ticoOffset","comment":" Configure default title offset in pixel units relative to the chart body. Used by\n[coTitle](#coTitle).\n","type":"Basics.Float -> VegaLite.TitleConfig"},{"name":"ticoOrient","comment":" Configure default placement of titles relative to the chart body via [coTitle](#coTitle).\n","type":"VegaLite.Side -> VegaLite.TitleConfig"},{"name":"ticoStrExpr","comment":" Provide an [expression](https://vega.github.io/vega/docs/expressions/) to\na title configuration function requiring a string value. Used by [coTitle](#coTitle).\n","type":"String.String -> (String.String -> VegaLite.TitleConfig) -> VegaLite.TitleConfig"},{"name":"ticoStyle","comment":" A list of named styles to apply to titles. A named style can be specified via\n[coMarkStyles](#coMarkStyles) if more than one style is required. Later styles\nin the list will override earlier styles if there is a conflict in any of the\nmark properties specified. Used by [coTitle](#coTitle).\n","type":"List.List String.String -> VegaLite.TitleConfig"},{"name":"ticoSubtitleColor","comment":" Configure default color of a subtitle via [coTitle](#coTitle).\n","type":"String.String -> VegaLite.TitleProperty"},{"name":"ticoSubtitleFont","comment":" Configure default font name of a subtitle via [coTitle](#coTitle).\n","type":"String.String -> VegaLite.TitleConfig"},{"name":"ticoSubtitleFontSize","comment":" Configure default font size of a subtitle via [coTitle](#coTitle).\n","type":"Basics.Float -> VegaLite.TitleConfig"},{"name":"ticoSubtitleFontStyle","comment":" Configure default font style of a subtitle such as `\"normal\"` or `\"italic\"`\nvia [coTitle](#coTitle).\n","type":"String.String -> VegaLite.TitleConfig"},{"name":"ticoSubtitleFontWeight","comment":" Configure default font weight of a subtitle via [coTitle](#coTitle).\n","type":"VegaLite.FontWeight -> VegaLite.TitleConfig"},{"name":"ticoSubtitleLineHeight","comment":" Configure default line height in pixels of each line of text in a subtitle via [coTitle](#coTitle).\n","type":"Basics.Float -> VegaLite.TitleConfig"},{"name":"ticoSubtitlePadding","comment":" Configure default padding in pixels between title and subtitle text via [coTitle](#coTitle).\n","type":"Basics.Float -> VegaLite.TitleConfig"},{"name":"ticoZIndex","comment":" Configure default drawing order of titles relative to the other chart elements. 1 indicates\ntitles are drawn in front of chart marks, 0 indicates they are drawn behind them. Used by [coTitle](#coTitle).\n","type":"Basics.Int -> VegaLite.TitleConfig"},{"name":"timeUnitAs","comment":" Create a new data field based on the given temporal binning. Unlike the\ndirect encoding binning, this transformation is named and so can be referred\nto in multiple encodings. The first parameter is the width of each temporal bin,\nthe second is the field to bin and the third is name to give the newly binned\nfield.\n","type":"VegaLite.TimeUnit -> String.String -> String.String -> List.List VegaLite.LabelledSpec -> List.List VegaLite.LabelledSpec"},{"name":"title","comment":" Title to be displayed for a plot. The first parameter is the text of the title,\nthe second a list of any title properties to configure its appearance. To display\na title over more than one line, insert `\\n` at each line break or use a `\"\"\"`\nmulti-line string.\n\n    title \"First line\\nSecond line\" []\n\nor\n\n    title \"\"\"First line\n    Second line\"\"\" []\n\n","type":"String.String -> List.List VegaLite.TitleProperty -> ( VegaLite.VLProperty, VegaLite.Spec )"},{"name":"titleExpr","comment":" Expression that evaluates to a title. Similar to [title](#title) except the\ncontent of the title is the evaluated expression (first parameter). For example,\n\n    let\n        ps =\n            params << param \"ttl\" [ paValue (num (2 * pi)) ]\n    in\n    toVegaLite [ titleExpr \"ttl\" [] ]\n\n","type":"String.String -> List.List VegaLite.TitleProperty -> ( VegaLite.VLProperty, VegaLite.Spec )"},{"name":"toVegaLite","comment":" Convert a list of Vega-Lite specifications into a single JSON object that may be\npassed to Vega-Lite for graphics generation. Commonly these will include at least\ndata, mark and encoding specifications.\n\nWhile simple functions like `bar` may be provided directly, it is usually clearer\nto label more complex functions such as encodings with separate expressions.\n\nSpecifications can be built up by chaining functions such as [dataColumn](#dataColumn)\nor [position](#position). Functional composition using the `<<` operator allows\nthis to be done compactly:\n\n    myChart : Spec\n    myChart =\n        let\n            data =\n                dataFromColumns []\n                    << dataColumn \"a\" (strs [ \"C\", \"C\", \"D\" ])\n                    << dataColumn \"b\" (nums [ 2, 7, 1 ])\n\n            enc =\n                encoding\n                    << position X [ pName \"a\" ]\n                    << position Y [ pName \"b\", pAggregate opMean ]\n        in\n        toVegaLite [ data [], enc [], bar [] ]\n\n","type":"List.List ( VegaLite.VLProperty, VegaLite.Spec ) -> VegaLite.Spec"},{"name":"tooltip","comment":" Encode a tooltip channel using a single data field.\n\n     tooltip [ tName \"Month\", tTemporal, tFormat \"%B %Y\" ]\n\nTo encode multiple tooltip values with a mark, use [tooltips](#tooltips). This is\nalso useful if you wish the field name to be displayed along with the value, as\nby default, `tooltip` will only show the value.\n\n","type":"List.List VegaLite.TextChannel -> List.List VegaLite.LabelledSpec -> List.List VegaLite.LabelledSpec"},{"name":"tooltips","comment":" Encode a tooltip channel using multiple data fields. The first parameter is a\nlist of the multiple tooltips, each of which is a list of text channel properties\nthat define the channel.\n\n    tooltips\n        [ [ tName \"month\", tTemporal, tFormat \"%B %Y\" ]\n        , [ tName \"temperature\", tQuant ]\n        ]\n\nThsi multi-tooltip version (rather than [tooltip](#tooltip)) should also be used\nif you wish to [display images in tooltips](https://vega.github.io/vega-lite/docs/tooltip.html#tooltip-image).\nFor example,\n\n    tooltips [ [ tName \"image\" ] ]\n\n","type":"List.List (List.List VegaLite.TextChannel) -> List.List VegaLite.LabelledSpec -> List.List VegaLite.LabelledSpec"},{"name":"topojsonFeature","comment":" A topoJSON feature format containing an object with the given name. The name\nof the object can be found by inspecting the topoJSON file and searching for the\nvalue associated with the `objects` key. Used by [dataFromUrl](#dataFromUrl).\nFor example,\n\n    myData : Data\n    myData =\n        dataFromUrl \"https://gicentre.github.io/data/geoTutorials/londonBoroughs.json\"\n            [ topojsonFeature \"boroughs\" ]\n\n","type":"String.String -> VegaLite.Format"},{"name":"topojsonMesh","comment":" A topoJSON mesh format containing an object with the given name. Unlike\n`topojsonFeature`, the corresponding geo data are returned as a single unified mesh,\nnot as individual GeoJSON features. Generally meshes can be faster to render but\nonly suitable for showing boundary features, not filled areas. Used by [dataFromUrl](#dataFromUrl).\nFor example,\n\n    myLondon : Spec\n    myLondon =\n        toVegaLite\n            [ dataFromUrl \"https://gicentre.github.io/data/geoTutorials/londonBoroughs.json\"\n                [ topojsonMesh \"boroughs\" ]\n            , geoshape [ maFilled False ]\n            ]\n\n","type":"String.String -> VegaLite.Format"},{"name":"tpAltKey","comment":" Specify that data values in a selection are toggled when interacted with on\nmultiple occasions while the alt key is held down. Used by [seToggle](#seToggle).\n","type":"VegaLite.TogglePredicate"},{"name":"tpCtrlKey","comment":" Specify that data values in a selection are toggled when interacted with on\nmultiple occasions while the control key is held down. Used by [seToggle](#seToggle).\n","type":"VegaLite.TogglePredicate"},{"name":"tpExpr","comment":" Specify that repeated selections are toggled when the given\n[expression](https://vega.github.io/vega/docs/expressions/) evaluates to true.\nUsed by [seToggle](#seToggle). This allows, for example, multiple key modifiers\nto generate toggling:\n\n    ps =\n        params\n            << param \"paint\"\n                [ paSelect sePoint\n                    [ seOn \"mouseover\"\n                    , seToggle (tpExpr \"event.shiftKey && event.ctrlKey\")\n                    ]\n                ]\n\n","type":"String.String -> VegaLite.TogglePredicate"},{"name":"tpFalse","comment":" Specify that data values in a selection are never unselected when interacted\nwith on multiple occasions. This allows a single selected item to be guaranteed.\nUsed by [seToggle](#seToggle).\n","type":"VegaLite.TogglePredicate"},{"name":"tpShiftKey","comment":" Specify that data values in a selection are toggled when interacted with on\nmultiple occasions while the shift key is held down. This is the default behaviour\nso should only be needed if moving back from some other specified behavior.\nUsed by [seToggle](#seToggle).\n","type":"VegaLite.TogglePredicate"},{"name":"trail","comment":" [Trail mark](https://vega.github.io/vega-lite/docs/trail.html) (line\nwith variable width along its length).\n","type":"List.List VegaLite.MarkProperty -> ( VegaLite.VLProperty, VegaLite.Spec )"},{"name":"transform","comment":" Create a single transform from a list of transformation specifications. The\norder of transformations can be important, e.g. labels created with [calculateAs](#calculateAs),\n[timeUnitAs](#timeUnitAs) and [binAs](#binAs) that are used in other transformations.\nUsing the functional composition pipeline idiom (as example below) allows you to\nprovide the transformations in the order intended in a clear manner.\n\n    trans =\n        transform\n            << filter (fiExpr \"datum.year == 2010\")\n            << calculateAs \"datum.sex == 2 ? 'Female' : 'Male'\" \"gender\"\n\n","type":"List.List VegaLite.LabelledSpec -> ( VegaLite.VLProperty, VegaLite.Spec )"},{"name":"transverseMercator","comment":" A transverse Mercator map projection. Used by [prType](#prType).\n","type":"VegaLite.Projection"},{"name":"true","comment":" A true value used for functions that can accept a Boolean literal or a reference\nto something that generates a Boolean value. Convenience function equivalent to `boo True`.\nUsed by [dataRow](#dataRow), [paValue](#paValue), [pDatum](#pDatum), [mDatum](#mDatum), [tDatum](#tDatum),\n[datumArray](#datumArray), [inDatumOptions](#inDatumOptions), [imNewValue](#imNewValue), [fiEqual](#fiEqual),\n[fiLessThan](#fiLessThan), [fiLessThanEq](#fiLessThanEq), [fiGreaterThan](#fiGreaterThan),\n[fiGreaterThanEq](#fiGreaterThanEq) and [fiOneOf](#fiOneOf).\n","type":"VegaLite.DataValue"},{"name":"tsv","comment":" Specify a TSV (tab-separated values) file format when reading a data file.\nOnly necessary if the file extension does not indicate the type.\nUsed by [dataFromUrl](#dataFromUrl). For example,\n\n    myData : Data\n    myData =\n        dataFromUrl \"myData\" [ tsv ]\n\n","type":"VegaLite.Format"},{"name":"ttData","comment":" Indicate tooltips are generated by all fields in the underlying data.\nUsed by [maTooltip](#maTooltip). For example,\n\n    circle [ maTooltip ttData ]\n\n","type":"VegaLite.TooltipContent"},{"name":"ttEncoding","comment":" Indicate tooltips should be enabled using the encoded data of the mark.\nUsed by [maTooltip](#maTooltip). For example,\n\n    circle [ maTooltip ttEncoding ]\n\n","type":"VegaLite.TooltipContent"},{"name":"ttNone","comment":" Indicate that tooltips should be disabled for the mark (default).\nUsed by [maTooltip](#maTooltip). For example,\n\n    circle [ maTooltip ttNone ]\n\n","type":"VegaLite.TooltipContent"},{"name":"tuMaxBins","comment":" Specify the maximum number of bins used when discretizing time units. Can be\nuseful as an alternative to explicitly providing a time unit to bin by as it will\nbe inferred from the temporal domain extent and the number of bins. For example,\nwhen applied to a dataset of hourly readings for a full year, the following will\nbin into days:\n\n    tuMaxBins 366\n\nUsed by [pTimeUnit](#pTimeUnit), [mTimeUnit](#mTimeUnit), [tTimeUnit](#tTimeUnit),\n[hTimeUnit](#hTimeUnit), [oTimeUnit](#oTimeUnit), [dTimeUnit](#dTimeUnit), [fTimeUnit](#fTimeUnit),\n[timeUnitAs](#timeUnitAs), [niInterval](#niInterval), [utc](#utc) and [tuStep](#tuStep).\n\n","type":"Basics.Int -> VegaLite.TimeUnit"},{"name":"tuStep","comment":" Specify the the number of steps between time unit bins, in terms of the least\nsignificant unit provided. For example, the following will bin temporal data into\nbiweekly weekly groups:\n\n    tuStep 14 yearMonthDate\n\nUsed by [pTimeUnit](#pTimeUnit), [mTimeUnit](#mTimeUnit), [tTimeUnit](#tTimeUnit),\n[hTimeUnit](#hTimeUnit), [oTimeUnit](#oTimeUnit), [dTimeUnit](#dTimeUnit), [fTimeUnit](#fTimeUnit),\n[timeUnitAs](#timeUnitAs), [niInterval](#niInterval), and [utc](#utc).\n\n","type":"Basics.Float -> VegaLite.TimeUnit -> VegaLite.TimeUnit"},{"name":"url","comment":" Encode a url channel. The first parameter is a list of url channel\nproperties that characterise the hyperlink to encode with. This is used for\nspecifying data-driven image files for the [image](#image) mark.\n\n    encData =\n        encoding\n            << url [ hName \"url\", hNominal ]\n\n    encLiteral =\n        encoding\n            << url [ hStr \"http://www.imdb.com\" ]\n\n","type":"List.List VegaLite.HyperlinkChannel -> List.List VegaLite.LabelledSpec -> List.List VegaLite.LabelledSpec"},{"name":"userMeta","comment":" Add custom metadata to a specification. While these are ignored by Vega-Lite,\nthis can be useful for cusstom implementations that require addtional metadata.\nThe parameter should be a series of named key-value pairs that will be stored in\nthe specification as a JavaScript object. For example,\n\n    userMeta\n        [ ( \"Custom1\", num 13 )\n        , ( \"Custom2\", str \"hello\" )\n        , ( \"Custom3\", datumArray ([ 1, 2, 3, 4 ] |> List.map num) )\n        , ( \"Custom4\", dataObject [ ( \"nested1\", num 14 ), ( \"nested2\", boo True ) ] )\n        , ( \"Custom5\", nullValue )\n        ]\n\n","type":"List.List ( String.String, VegaLite.DataValue ) -> ( VegaLite.VLProperty, VegaLite.Spec )"},{"name":"utc","comment":" UTC version of a given a time (coordinated universal time, independent of local\ntime zones or daylight saving). To encode a time as UTC (coordinated universal time,\nindependent of local time zones or daylight saving), just use this function to convert\nanother `TimeUnit` generating function.\n\n    encoding\n        << position X\n            [ pName \"date\"\n            , pTemporal\n            , pTimeUnit (utc yearMonthDateHours)\n            ]\n\nUsed by [pTimeUnit](#pTimeUnit), [mTimeUnit](#mTimeUnit), [tTimeUnit](#tTimeUnit),\n[hTimeUnit](#hTimeUnit), [oTimeUnit](#oTimeUnit), [dTimeUnit](#dTimeUnit), [fTimeUnit](#fTimeUnit),\n[timeUnitAs](#timeUnitAs), [niInterval](#niInterval) and [tuStep](#tuStep).\n\n","type":"VegaLite.TimeUnit -> VegaLite.TimeUnit"},{"name":"vConcat","comment":" Juxtapose some specifications vertically in a row layout of views.\n","type":"List.List VegaLite.Spec -> ( VegaLite.VLProperty, VegaLite.Spec )"},{"name":"vaAlphabetic","comment":" Vertically align text marks by their baseline (e.g. bottom of an 'x'). Used by\n[maBaseline](#maBaseline), [axLabelBaseline](#axLabelBaseline),\n[cAxLabelBaseline](#cAxLabelBaseline), [axTitleBaseline](#axTitleBaseline),\n[leLabelBaseline](#leLabelBaseline), [leTitleBaseline](#leTitleBaseline),\n[hdLabelBaseline](#hdLabelBaseline), [hdTitleBaseline](#hdTitleBaseline),\n[tiBaseline](#tiBaseline), [axcoLabelBaseline](#axcoLabelBaseline),\n[axcoTitleBaseline](#axcoTitleBaseline), [lecoLabelBaseline](#lecoLabelBaseline),\n[lecoTitleBaseline](#lecoTitleBaseline) and [ticoBaseline](#ticoBaseline).\n","type":"VegaLite.VAlign"},{"name":"vaBottom","comment":" Vertically align text marks by the bottom of descenders (e.g. bottom of a 'g'). Used by\n[maBaseline](#maBaseline), [axLabelBaseline](#axLabelBaseline),\n[cAxLabelBaseline](#cAxLabelBaseline), [axTitleBaseline](#axTitleBaseline),\n[leLabelBaseline](#leLabelBaseline), [leTitleBaseline](#leTitleBaseline),\n[hdLabelBaseline](#hdLabelBaseline), [hdTitleBaseline](#hdTitleBaseline),\n[tiBaseline](#tiBaseline), [axcoLabelBaseline](#axcoLabelBaseline),\n[axcoTitleBaseline](#axcoTitleBaseline), [lecoLabelBaseline](#lecoLabelBaseline),\n[lecoTitleBaseline](#lecoTitleBaseline) and [ticoBaseline](#ticoBaseline).\n","type":"VegaLite.VAlign"},{"name":"vaExpr","comment":" Expression that evaluates to some vertical text alignment such as \"top\", \"bottom\"\nor \"alphabetic\". Used by [maBaseline](#maBaseline), [axLabelBaseline](#axLabelBaseline),\n[cAxLabelBaseline](#cAxLabelBaseline), [axTitleBaseline](#axTitleBaseline),\n[leLabelBaseline](#leLabelBaseline), [leTitleBaseline](#leTitleBaseline),\n[hdLabelBaseline](#hdLabelBaseline), [hdTitleBaseline](#hdTitleBaseline),\n[tiBaseline](#tiBaseline), [axcoLabelBaseline](#axcoLabelBaseline),\n[axcoTitleBaseline](#axcoTitleBaseline), [lecoLabelBaseline](#lecoLabelBaseline),\n[lecoTitleBaseline](#lecoTitleBaseline) and [ticoBaseline](#ticoBaseline).\n","type":"String.String -> VegaLite.VAlign"},{"name":"vaLineBottom","comment":" Vertically align text marks by the bottom of the space defined by line height\n([maLineHeight](#maLineHeight), [tiLineHeight](#tiLineHeight) etc.). Used by\n[maBaseline](#maBaseline), [axLabelBaseline](#axLabelBaseline),\n[cAxLabelBaseline](#cAxLabelBaseline), [axTitleBaseline](#axTitleBaseline),\n[leLabelBaseline](#leLabelBaseline), [leTitleBaseline](#leTitleBaseline),\n[hdLabelBaseline](#hdLabelBaseline), [hdTitleBaseline](#hdTitleBaseline),\n[tiBaseline](#tiBaseline), [axcoLabelBaseline](#axcoLabelBaseline),\n[axcoTitleBaseline](#axcoTitleBaseline), [lecoLabelBaseline](#lecoLabelBaseline),\n[lecoTitleBaseline](#lecoTitleBaseline) and [ticoBaseline](#ticoBaseline).\n","type":"VegaLite.VAlign"},{"name":"vaLineTop","comment":" Vertically align text marks by the top of the space defined by line height\n([maLineHeight](#maLineHeight), [tiLineHeight](#tiLineHeight) etc.). Used by\n[maBaseline](#maBaseline), [axLabelBaseline](#axLabelBaseline),\n[cAxLabelBaseline](#cAxLabelBaseline), [axTitleBaseline](#axTitleBaseline),\n[leLabelBaseline](#leLabelBaseline), [leTitleBaseline](#leTitleBaseline),\n[hdLabelBaseline](#hdLabelBaseline), [hdTitleBaseline](#hdTitleBaseline),\n[tiBaseline](#tiBaseline), [axcoLabelBaseline](#axcoLabelBaseline),\n[axcoTitleBaseline](#axcoTitleBaseline), [lecoLabelBaseline](#lecoLabelBaseline),\n[lecoTitleBaseline](#lecoTitleBaseline) and [ticoBaseline](#ticoBaseline).\n","type":"VegaLite.VAlign"},{"name":"vaMiddle","comment":" Vertically align text marks by their middle (e.g. middle of an 'x'). Used by\n[maBaseline](#maBaseline), [axLabelBaseline](#axLabelBaseline),\n[cAxLabelBaseline](#cAxLabelBaseline), [axTitleBaseline](#axTitleBaseline),\n[leLabelBaseline](#leLabelBaseline), [leTitleBaseline](#leTitleBaseline),\n[hdLabelBaseline](#hdLabelBaseline), [hdTitleBaseline](#hdTitleBaseline),\n[tiBaseline](#tiBaseline), [axcoLabelBaseline](#axcoLabelBaseline),\n[axcoTitleBaseline](#axcoTitleBaseline), [lecoLabelBaseline](#lecoLabelBaseline),\n[lecoTitleBaseline](#lecoTitleBaseline) and [ticoBaseline](#ticoBaseline).\n","type":"VegaLite.VAlign"},{"name":"vaTop","comment":" Vertically align text marks by the top of ascenders (e.g. top of an 'A'). Used by\n[maBaseline](#maBaseline), [axLabelBaseline](#axLabelBaseline),\n[cAxLabelBaseline](#cAxLabelBaseline), [axTitleBaseline](#axTitleBaseline),\n[leLabelBaseline](#leLabelBaseline), [leTitleBaseline](#leTitleBaseline),\n[hdLabelBaseline](#hdLabelBaseline), [hdTitleBaseline](#hdTitleBaseline),\n[tiBaseline](#tiBaseline), [axcoLabelBaseline](#axcoLabelBaseline),\n[axcoTitleBaseline](#axcoTitleBaseline), [lecoLabelBaseline](#lecoLabelBaseline),\n[lecoTitleBaseline](#lecoTitleBaseline) and [ticoBaseline](#ticoBaseline).\n","type":"VegaLite.VAlign"},{"name":"vbNumExpr","comment":" Provide an [expression](https://vega.github.io/vega/docs/expressions/) to a\nview background function requiring a numeric value. This can be used for interactive\nparameterisation when an expression is bound to an input element. For example,\n\n    ps =\n        params\n            << param \"r\"\n                [ paValue (num 0)\n                , paBind (ipRange [ inMax 20 ])\n                ]\n\n    bg =\n        viewBackground [ vbNumExpr \"r\" viewCornerRadius ]\n\n","type":"String.String -> (number -> VegaLite.ViewBackground) -> VegaLite.ViewBackground"},{"name":"vbNumsExpr","comment":" Provide an [expression](https://vega.github.io/vega/docs/expressions/) to\na view background function requiring a list of numbers (for dash styles). This can\nbe used to provide an interactive parameterisation of a view background dash property\nwhen an expression is bound to an input element. For example,\n\n    ps =\n        params\n            << param \"dashStyle\"\n                [ paValue (nums [ 2, 2 ])\n                , paBind (ipSelect [ inDataOptions [ nums [ 2, 2 ], nums [ 8, 8 ] ] ])\n                ]\n\n    bg =\n        viewBackground [ vbNumsExpr \"dashStyle\" viewStrokeDash ]\n\nUsed by [viewBackground](#viewBackground) and [vicoBackground](#vicoBackground).\n\n","type":"String.String -> (List.List number -> VegaLite.ViewBackground) -> VegaLite.ViewBackground"},{"name":"vbStrExpr","comment":" Provide an [expression](https://vega.github.io/vega/docs/expressions/) to\na view background function requiring a `Maybe String` value. This can be used to\nprovide an interactive parameterisation of a view background when an expression\nis bound to an input element. For example,\n\n    ps =\n        params\n            << param \"clr\"\n                [ paValue (str \"white\")\n                , paBind (ipColor [])\n                ]\n\n    bg =\n        viewBackground [ vbStrExpr \"clr\" viewFill ]\n\nUsed by [viewBackground](#viewBackground) and [vicoBackground](#vicoBackground).\n\n","type":"String.String -> (Maybe.Maybe String.String -> VegaLite.ViewBackground) -> VegaLite.ViewBackground"},{"name":"vicoBackground","comment":" Configure the default single view style via [coView](#coView).\n","type":"List.List VegaLite.ViewBackground -> VegaLite.ViewConfig"},{"name":"vicoBooExpr","comment":" Provide an [expression](https://vega.github.io/vega/docs/expressions/) to a\nview configuration function a Boolean value. Used by [coView](#coView).\n","type":"String.String -> (Basics.Bool -> VegaLite.ViewConfig) -> VegaLite.ViewConfig"},{"name":"vicoClip","comment":" Configure whether or not by default single views should be clipped. Clipping will remove\neverything outside the data area including axes and legends. Used by [coView](#coView).\n","type":"Basics.Bool -> VegaLite.ViewConfig"},{"name":"vicoContinuousHeight","comment":" Configure default height of single views when the plot has continuous y-field via [coView](#coView).\n","type":"Basics.Float -> VegaLite.ViewConfig"},{"name":"vicoContinuousWidth","comment":" Configure default width of single views when the plot has continuous x-field via [coView](#coView).\n","type":"Basics.Float -> VegaLite.ViewConfig"},{"name":"vicoCornerRadius","comment":" Configure the default radius in pixels of rounded rectangle corners via [coView](#coView).\n","type":"Basics.Float -> VegaLite.ViewConfig"},{"name":"vicoCursor","comment":" Configure the default cursor for single views via [coView](#coView).\n","type":"VegaLite.Cursor -> VegaLite.ViewConfig"},{"name":"vicoDiscreteHeight","comment":" Configure default height of single views when the plot has discrete y-field via [coView](#coView).\n","type":"Basics.Float -> VegaLite.ViewConfig"},{"name":"vicoDiscreteWidth","comment":" Configure default width of single views when the plot has discrete x-field via [coView](#coView).\n","type":"Basics.Float -> VegaLite.ViewConfig"},{"name":"vicoFill","comment":" Configure default fill color for single views via [coView](#coView).\n","type":"Maybe.Maybe String.String -> VegaLite.ViewConfig"},{"name":"vicoFillOpacity","comment":" Configure default fill opacity for single views via [coView](#coView).\n","type":"Basics.Float -> VegaLite.ViewConfig"},{"name":"vicoNumExpr","comment":" Provide an [expression](https://vega.github.io/vega/docs/expressions/) to a\nview background confguration function requiring a numeric value. Used by [coView](#coView).\n","type":"String.String -> (number -> VegaLite.ViewConfig) -> VegaLite.ViewConfig"},{"name":"vicoNumsExpr","comment":" Provide an [expression](https://vega.github.io/vega/docs/expressions/) to a\nview background configuration function requiring a list of numbers (for dash styles).\nUsed by [coView](#coView).\n","type":"String.String -> (List.List number -> VegaLite.ViewConfig) -> VegaLite.ViewConfig"},{"name":"vicoOpacity","comment":" Configure default overall opacity for single views via [coView](#coView).\n","type":"Basics.Float -> VegaLite.ViewConfig"},{"name":"vicoStep","comment":" Configure default step size for x/y discrete fields via [coView](#coView).\n","type":"Basics.Float -> VegaLite.ViewConfig"},{"name":"vicoStrExpr","comment":" Provide an [expression](https://vega.github.io/vega/docs/expressions/) to a\nview background configuration function requiring a `Maybe String` value. Used by\n[coView](#coView).\n","type":"String.String -> (Maybe.Maybe String.String -> VegaLite.ViewConfig) -> VegaLite.ViewConfig"},{"name":"vicoStroke","comment":" Configure the default stroke color for single views. If `Nothing` is provided,\nno strokes are drawn around the view. Used by [coView](#coView).\n","type":"Maybe.Maybe String.String -> VegaLite.ViewConfig"},{"name":"vicoStrokeCap","comment":" Configure the default stroke cap line-ending style for single views via [coView](#coView).\n","type":"VegaLite.StrokeCap -> VegaLite.ViewConfig"},{"name":"vicoStrokeDash","comment":" Configure the default stroke dash style for single views via [coView](#coView).\n","type":"List.List Basics.Float -> VegaLite.ViewConfig"},{"name":"vicoStrokeDashOffset","comment":" Configure the default stroke dash offset for single views via [coView](#coView).\n","type":"Basics.Float -> VegaLite.ViewConfig"},{"name":"vicoStrokeJoin","comment":" Configure the default stroke line-joining style for single views via [coView](#coView).\n","type":"VegaLite.StrokeJoin -> VegaLite.ViewConfig"},{"name":"vicoStrokeMiterLimit","comment":" Configure the default stroke mitre limit at which to bevel a line join in single views via [coView](#coView).\n","type":"Basics.Float -> VegaLite.ViewConfig"},{"name":"vicoStrokeOpacity","comment":" Configure the default stroke opacity for single views via [coView](#coView).\n","type":"Basics.Float -> VegaLite.ViewConfig"},{"name":"vicoStrokeWidth","comment":" Confgure the default stroke width of single views via [coView](#coView).\n","type":"Basics.Float -> VegaLite.ViewConfig"},{"name":"viewBackground","comment":" The background style of a single view or layer in a view composition.\n","type":"List.List VegaLite.ViewBackground -> ( VegaLite.VLProperty, VegaLite.Spec )"},{"name":"viewCornerRadius","comment":" The radius in pixels of rounded corners in single view or layer background.\nUsed by [viewBackground](#viewBackground) and [vicoBackground](#vicoBackground).\n","type":"Basics.Float -> VegaLite.ViewBackground"},{"name":"viewFill","comment":" Fill color for a single view or layer background. Used by\n[viewBackground](#viewBackground) and [vicoBackground](#vicoBackground).\n","type":"Maybe.Maybe String.String -> VegaLite.ViewBackground"},{"name":"viewFillOpacity","comment":" Fill opacity for a single view or layer background. Used by\n[viewBackground](#viewBackground) and [vicoBackground](#vicoBackground).\n","type":"Basics.Float -> VegaLite.ViewBackground"},{"name":"viewOpacity","comment":" Overall opacity for a single view or layer background. Used by\n[viewBackground](#viewBackground) and [vicoBackground](#vicoBackground).\n","type":"Basics.Float -> VegaLite.ViewBackground"},{"name":"viewStroke","comment":" Stroke color for line around a single view or layer background. If `Nothing`\nis provided, no strokes are drawn around the view. Used by\n[viewBackground](#viewBackground) and [vicoBackground](#vicoBackground).\n","type":"Maybe.Maybe String.String -> VegaLite.ViewBackground"},{"name":"viewStrokeCap","comment":" Stroke cap line-ending around a single view or layer background.\nUsed by [viewBackground](#viewBackground) and [vicoBackground](#vicoBackground).\n","type":"VegaLite.StrokeCap -> VegaLite.ViewBackground"},{"name":"viewStrokeDash","comment":" Stroke dash style for a line around a single view or layer background.\nUsed by [viewBackground](#viewBackground) and [vicoBackground](#vicoBackground).\n","type":"List.List Basics.Float -> VegaLite.ViewBackground"},{"name":"viewStrokeDashOffset","comment":" Stroke dash offset for line around a single view or layer background.\nUsed by [viewBackground](#viewBackground) and [vicoBackground](#vicoBackground).\n","type":"Basics.Float -> VegaLite.ViewBackground"},{"name":"viewStrokeJoin","comment":" Stroke line-joining style around a single view or layer background.\nUsed by [viewBackground](#viewBackground) and [vicoBackground](#vicoBackground).\n","type":"VegaLite.StrokeJoin -> VegaLite.ViewBackground"},{"name":"viewStrokeMiterLimit","comment":" Stroke mitre limit at which to bevel a line join around a single view or\nlayer background. Used by [viewBackground](#viewBackground) and [vicoBackground](#vicoBackground).\n","type":"Basics.Float -> VegaLite.ViewBackground"},{"name":"viewStrokeOpacity","comment":" Stroke opacity around a single view or layer background.\nUsed by [viewBackground](#viewBackground) and [vicoBackground](#vicoBackground).\n","type":"Basics.Float -> VegaLite.ViewBackground"},{"name":"viewStrokeWidth","comment":" Stroke around a single view or layer background. Used by\n[viewBackground](#viewBackground) and [vicoBackground](#vicoBackground).\n","type":"Basics.Float -> VegaLite.ViewBackground"},{"name":"viewStyle","comment":" A list of named styles to apply to a single view background. A named style\ncan be specified via [coMarkStyles](#coMarkStyles) if more than one style is required.\nLater styles in the list will override earlier styles if there is a conflict in\nany of the mark properties specified. Used by [viewBackground](#viewBackground) and\n[vicoBackground](#vicoBackground).\n","type":"List.List String.String -> VegaLite.ViewBackground"},{"name":"week","comment":" Indicate temporal binning by week of year, so a 10 year sequence would have\nup to 53 bins. Weeks are Sunday-based and days before the first Sunday of the year\nare considered to be in week 0, the first Sunday of the year is the start of week 1,\nthe second Sunday week 2, _etc._ Used by [pTimeUnit](#pTimeUnit), [mTimeUnit](#mTimeUnit),\n[tTimeUnit](#tTimeUnit), [hTimeUnit](#hTimeUnit), [oTimeUnit](#oTimeUnit),\n[dTimeUnit](#dTimeUnit), [fTimeUnit](#fTimeUnit), [timeUnitAs](#timeUnitAs),\n[niInterval](#niInterval), [utc](#utc) and [tuStep](#tuStep).\n","type":"VegaLite.TimeUnit"},{"name":"weekDay","comment":" Indicate temporal binning by day of week though the year, so a 10 year sequence\nwould have up to 53\\*7 bins. Used by [pTimeUnit](#pTimeUnit), [mTimeUnit](#mTimeUnit),\n[tTimeUnit](#tTimeUnit), [hTimeUnit](#hTimeUnit), [oTimeUnit](#oTimeUnit),\n[dTimeUnit](#dTimeUnit), [fTimeUnit](#fTimeUnit), [timeUnitAs](#timeUnitAs),\n[niInterval](#niInterval), [utc](#utc) and [tuStep](#tuStep).\n","type":"VegaLite.TimeUnit"},{"name":"weekDayHours","comment":" Indicate temporal binning by hour of day though the year, so a 10 year sequence\nwould have up to 52\\*7\\*24 bins. Used by [pTimeUnit](#pTimeUnit), [mTimeUnit](#mTimeUnit),\n[tTimeUnit](#tTimeUnit), [hTimeUnit](#hTimeUnit), [oTimeUnit](#oTimeUnit),\n[dTimeUnit](#dTimeUnit), [fTimeUnit](#fTimeUnit), [timeUnitAs](#timeUnitAs),\n[niInterval](#niInterval), [utc](#utc) and [tuStep](#tuStep).\n","type":"VegaLite.TimeUnit"},{"name":"weekDayHoursMinutes","comment":" Indicate temporal binning by minute though the year, so a 10 year sequence\nwould have up to 52\\*7\\*24\\*60 bins. Used by [pTimeUnit](#pTimeUnit), [mTimeUnit](#mTimeUnit),\n[tTimeUnit](#tTimeUnit), [hTimeUnit](#hTimeUnit), [oTimeUnit](#oTimeUnit),\n[dTimeUnit](#dTimeUnit), [fTimeUnit](#fTimeUnit), [timeUnitAs](#timeUnitAs),\n[niInterval](#niInterval), [utc](#utc) and [tuStep](#tuStep).\n","type":"VegaLite.TimeUnit"},{"name":"weekDayHoursMinutesSeconds","comment":" Indicate temporal binning by the second though the year, so a 10 year sequence\nwould have up to 52\\*7\\*24\\*60\\*60 bins. Used by [pTimeUnit](#pTimeUnit), [mTimeUnit](#mTimeUnit),\n[tTimeUnit](#tTimeUnit), [hTimeUnit](#hTimeUnit), [oTimeUnit](#oTimeUnit),\n[dTimeUnit](#dTimeUnit), [fTimeUnit](#fTimeUnit), [timeUnitAs](#timeUnitAs),\n[niInterval](#niInterval), [utc](#utc) and [tuStep](#tuStep).\n","type":"VegaLite.TimeUnit"},{"name":"wiAggregateOp","comment":" An aggregate operation to be used in a [window](#window) transformation. For example,\n\n    transform\n        << window [ ( [ wiAggregateOp opSum, wiField \"Time\" ], \"TotalTime\" ) ]\n            [ wiFrame Nothing Nothing ]\n\n","type":"VegaLite.Operation -> VegaLite.Window"},{"name":"wiAscending","comment":" Indicate that the given field should be sorted in ascending order when performing\na window transform. Used by [wiSort](#wiSort).\n","type":"String.String -> VegaLite.SortField"},{"name":"wiDescending","comment":" Indicate that the given field should be sorted in descending order when performing\na window transform. Used by [wiSort](#wiSort).\n","type":"String.String -> VegaLite.SortField"},{"name":"wiField","comment":" Field for which to compute a [window](#window) operation. Not needed for\noperations that do not apply to fields such as [opCount](#opCount), [woRank](#woRank)\nand [woDenseRank](#woDenseRank).\n","type":"String.String -> VegaLite.Window"},{"name":"wiFrame","comment":" Moving window for use by a [window](#window) transform. The two parameters should either\nbe [Just](https://package.elm-lang.org/packages/elm/core/latest/Maybe#Maybe) a number\nindicating the offset from the current data object, or\n[Nothing](https://package.elm-lang.org/packages/elm/core/latest/Maybe#Maybe) to\nindicate unbounded rows preceding or following the current data object.\n","type":"Maybe.Maybe Basics.Int -> Maybe.Maybe Basics.Int -> VegaLite.WindowProperty"},{"name":"wiGroupBy","comment":" Fields for partitioning data objects in a [window](#window) transform into separate windows.\nIf unspecified, all points will be in a single group.\n","type":"List.List String.String -> VegaLite.WindowProperty"},{"name":"wiIgnorePeers","comment":" Whether or not the sliding window frame in a [window](#window) transform should ignore\npeer values (those considered identical by the sort criteria).\n","type":"Basics.Bool -> VegaLite.WindowProperty"},{"name":"wiOp","comment":" Window-specific operation to be used in a [window](#window) transformation.\n","type":"VegaLite.WOperation -> VegaLite.Window"},{"name":"wiParam","comment":" Numeric parameter for [window](#window)-only operations that can be parameterised\n([woPercentile](#woPercentile), [woLag](#woLag), [woLead](#woLead) and\n[woNthValue](#woNthValue)).\n","type":"Basics.Int -> VegaLite.Window"},{"name":"wiSort","comment":" Comparator for sorting data objects within a [window](#window) transform.\n","type":"List.List VegaLite.SortField -> VegaLite.WindowProperty"},{"name":"width","comment":" Override the default width of the visualization in pixel units. If not\nspecified, the width will be calculated based on the content of the visualization.\n\n    toVegaLite [ width 540, data [], enc [], bar [] ]\n\nHow the content is sized relative to this width specification can be customised\nwith [autosize](#autosize).\n\n","type":"Basics.Float -> ( VegaLite.VLProperty, VegaLite.Spec )"},{"name":"widthOfContainer","comment":" Set the width of the view to be that of the surrounding container. Allows\nresponsive sizing to be specified.\n","type":"( VegaLite.VLProperty, VegaLite.Spec )"},{"name":"widthStep","comment":" Set the width of the discrete x-field (e.g. individual bars in a bar chart).\nThe total width is then calculated based on the number of discrete fields (e.g. bars).\n\n    toVegaLite [ widthStep 17, data [], enc [], bar [] ]\n\n","type":"Basics.Float -> ( VegaLite.VLProperty, VegaLite.Spec )"},{"name":"widthStepOffset","comment":" Set the width of the offset-grouped discrete x-fields. The total width is then\ncalculated based on the number of offset discrete fields (e.g. groups of bars with\n`position XOffset` applied).\n","type":"Basics.Float -> ( VegaLite.VLProperty, VegaLite.Spec )"},{"name":"window","comment":" Window transform for performing calculations over sorted groups of\ndata objects such as ranking, lead/lag analysis, running sums and averages.\n\nThe first parameter is a list of tuples each comprising a window transform field\ndefinition and an output name. The second is the window transform definition.\n\n       trans =\n           transform\n               << window [ ( [ wiAggregateOp opSum, wiField \"Time\" ], \"TotalTime\" ) ]\n                   [ wiFrame Nothing Nothing ]\n\n","type":"List.List ( List.List VegaLite.Window, String.String ) -> List.List VegaLite.WindowProperty -> List.List VegaLite.LabelledSpec -> List.List VegaLite.LabelledSpec"},{"name":"woCumeDist","comment":" Cumulative distribution operation to be applied in a window transformation.\nUsed by [wiOp](#wiOp).\n","type":"VegaLite.WOperation"},{"name":"woDenseRank","comment":" Dense rank operation to be applied in a window transform. Used by [wiOp](#wiOp).\n","type":"VegaLite.WOperation"},{"name":"woFirstValue","comment":" First value in a sliding window to be applied in a window transform.\nUsed by [wiOp](#wiOp).\n","type":"VegaLite.WOperation"},{"name":"woLag","comment":" Value preceding the current object in a sliding window to be applied\nin a window transform. Used by [wiOp](#wiOp).\n","type":"VegaLite.WOperation"},{"name":"woLastValue","comment":" Last value in a sliding window to be applied in a window transform. Used by [wiOp](#wiOp).\n","type":"VegaLite.WOperation"},{"name":"woLead","comment":" Value following the current object in a sliding window to be applied in a window transform.\nUsed by [wiOp](#wiOp).\n","type":"VegaLite.WOperation"},{"name":"woNthValue","comment":" Nth value in a sliding window to be applied in a window transform. Used by [wiOp](#wiOp).\n","type":"VegaLite.WOperation"},{"name":"woPercentRank","comment":" Percentile of values in a sliding window be applied in a window transform. Used by [wiOp](#wiOp).\n","type":"VegaLite.WOperation"},{"name":"woPercentile","comment":" Value preceding the current object in a sliding window to be applied in a window transform.\nUsed by [wiOp](#wiOp).\n","type":"VegaLite.WOperation"},{"name":"woRank","comment":" Rank opertation to be applied in a window transform. Used by [wiOp](#wiOp).\n","type":"VegaLite.WOperation"},{"name":"woRowNumber","comment":" Assign consecutive row number to values in a data object to be applied in a\nwindow transform. Used by [wiOp](#wiOp).\n","type":"VegaLite.WOperation"},{"name":"year","comment":" Indicate temporal binning into year categories. Used by [pTimeUnit](#pTimeUnit),\n[mTimeUnit](#mTimeUnit), [tTimeUnit](#tTimeUnit), [hTimeUnit](#hTimeUnit),\n[oTimeUnit](#oTimeUnit), [dTimeUnit](#dTimeUnit), [fTimeUnit](#fTimeUnit),\n[timeUnitAs](#timeUnitAs), [niInterval](#niInterval), [utc](#utc) and [tuStep](#tuStep).\n","type":"VegaLite.TimeUnit"},{"name":"yearDayOfYear","comment":" Indicate temporal binning with a resolution of days so a ten year sequence\nwould have up to approximately 10\\*365 bins. Used by [pTimeUnit](#pTimeUnit),\n[mTimeUnit](#mTimeUnit), [tTimeUnit](#tTimeUnit), [hTimeUnit](#hTimeUnit),\n[oTimeUnit](#oTimeUnit), [dTimeUnit](#dTimeUnit), [fTimeUnit](#fTimeUnit),\n[timeUnitAs](#timeUnitAs), [niInterval](#niInterval), [utc](#utc) and [tuStep](#tuStep).\n","type":"VegaLite.TimeUnit"},{"name":"yearMonth","comment":" Indicate temporal binning with a resolution of months so a ten year sequence\nwould have up to 10\\*12 bins. Used by [pTimeUnit](#pTimeUnit), [mTimeUnit](#mTimeUnit),\n[tTimeUnit](#tTimeUnit), [hTimeUnit](#hTimeUnit), [oTimeUnit](#oTimeUnit),\n[dTimeUnit](#dTimeUnit), [fTimeUnit](#fTimeUnit), [timeUnitAs](#timeUnitAs),\n[niInterval](#niInterval), [utc](#utc) and [tuStep](#tuStep).\n","type":"VegaLite.TimeUnit"},{"name":"yearMonthDate","comment":" Indicate temporal binning with a resolution of days so a ten year sequence\nwould have up to approximately 10\\*12\\*31 bins. Used by [pTimeUnit](#pTimeUnit), [mTimeUnit](#mTimeUnit),\n[tTimeUnit](#tTimeUnit), [hTimeUnit](#hTimeUnit), [oTimeUnit](#oTimeUnit),\n[dTimeUnit](#dTimeUnit), [fTimeUnit](#fTimeUnit), [timeUnitAs](#timeUnitAs),\n[niInterval](#niInterval), [utc](#utc) and [tuStep](#tuStep).\n","type":"VegaLite.TimeUnit"},{"name":"yearMonthDateHours","comment":" Indicate temporal binning with a resolution of hours so a ten year sequence\nwould have up to approximately 10\\*12\\*31\\*24 bins. Used by [pTimeUnit](#pTimeUnit), [mTimeUnit](#mTimeUnit),\n[tTimeUnit](#tTimeUnit), [hTimeUnit](#hTimeUnit), [oTimeUnit](#oTimeUnit),\n[dTimeUnit](#dTimeUnit), [fTimeUnit](#fTimeUnit), [timeUnitAs](#timeUnitAs),\n[niInterval](#niInterval), [utc](#utc) and [tuStep](#tuStep).\n","type":"VegaLite.TimeUnit"},{"name":"yearMonthDateHoursMinutes","comment":" Indicate temporal binning with a resolution of minutes so a ten year sequence\nwould have up to approximately 10\\*12\\*31\\*24\\*60 bins. Used by [pTimeUnit](#pTimeUnit),\n[mTimeUnit](#mTimeUnit), [tTimeUnit](#tTimeUnit), [hTimeUnit](#hTimeUnit), [oTimeUnit](#oTimeUnit),\n[dTimeUnit](#dTimeUnit), [fTimeUnit](#fTimeUnit), [timeUnitAs](#timeUnitAs),\n[niInterval](#niInterval), [utc](#utc) and [tuStep](#tuStep).\n","type":"VegaLite.TimeUnit"},{"name":"yearMonthDateHoursMinutesSeconds","comment":" Indicate temporal binning with a resolution of seconds so a ten year sequence\nwould have up to approximately 10\\*12\\*31\\*24\\*60\\*60 bins. Used by [pTimeUnit](#pTimeUnit),\n[mTimeUnit](#mTimeUnit), [tTimeUnit](#tTimeUnit), [hTimeUnit](#hTimeUnit), [oTimeUnit](#oTimeUnit),\n[dTimeUnit](#dTimeUnit), [fTimeUnit](#fTimeUnit), [timeUnitAs](#timeUnitAs),\n[niInterval](#niInterval), [utc](#utc) and [tuStep](#tuStep).\n","type":"VegaLite.TimeUnit"},{"name":"yearQuarter","comment":" Indicate temporal binning with a resolution of quarters so a ten year sequence\nwould have up to 10\\*4 bins. Used by [pTimeUnit](#pTimeUnit), [mTimeUnit](#mTimeUnit),\n[tTimeUnit](#tTimeUnit), [hTimeUnit](#hTimeUnit), [oTimeUnit](#oTimeUnit),\n[dTimeUnit](#dTimeUnit), [fTimeUnit](#fTimeUnit), [timeUnitAs](#timeUnitAs),\n[niInterval](#niInterval), [utc](#utc) and [tuStep](#tuStep).\n","type":"VegaLite.TimeUnit"},{"name":"yearQuarterMonth","comment":" Indicate temporal binning with a resolution of months so a ten year sequence\nwould have up to 10\\*12 bins. Unlike [yearMonth](#yearMonth), this will also label\nbins with quarters. Used by [pTimeUnit](#pTimeUnit), [mTimeUnit](#mTimeUnit),\n[tTimeUnit](#tTimeUnit), [hTimeUnit](#hTimeUnit), [oTimeUnit](#oTimeUnit),\n[dTimeUnit](#dTimeUnit), [fTimeUnit](#fTimeUnit), [timeUnitAs](#timeUnitAs),\n[niInterval](#niInterval), [utc](#utc) and [tuStep](#tuStep).\n","type":"VegaLite.TimeUnit"},{"name":"yearWeek","comment":" Indicate temporal binning with a resolution of weeks so a ten year sequence\nwould have up to 10\\*52 bins. Used by [pTimeUnit](#pTimeUnit), [mTimeUnit](#mTimeUnit),\n[tTimeUnit](#tTimeUnit), [hTimeUnit](#hTimeUnit), [oTimeUnit](#oTimeUnit),\n[dTimeUnit](#dTimeUnit), [fTimeUnit](#fTimeUnit), [timeUnitAs](#timeUnitAs),\n[niInterval](#niInterval), [utc](#utc) and [tuStep](#tuStep).\n","type":"VegaLite.TimeUnit"},{"name":"yearWeekDay","comment":" Indicate temporal binning with a resolution of day of week so a ten year\nsequence would have up to 10\\*52\\*7 bins. Used by [pTimeUnit](#pTimeUnit), [mTimeUnit](#mTimeUnit),\n[tTimeUnit](#tTimeUnit), [hTimeUnit](#hTimeUnit), [oTimeUnit](#oTimeUnit),\n[dTimeUnit](#dTimeUnit), [fTimeUnit](#fTimeUnit), [timeUnitAs](#timeUnitAs),\n[niInterval](#niInterval), [utc](#utc) and [tuStep](#tuStep).\n","type":"VegaLite.TimeUnit"},{"name":"yearWeekDayHours","comment":" Indicate temporal binning with a resolution of hours so a ten year sequence\nwould have up to 10\\*52\\*7\\*24 bins. Used by [pTimeUnit](#pTimeUnit), [mTimeUnit](#mTimeUnit),\n[tTimeUnit](#tTimeUnit), [hTimeUnit](#hTimeUnit), [oTimeUnit](#oTimeUnit),\n[dTimeUnit](#dTimeUnit), [fTimeUnit](#fTimeUnit), [timeUnitAs](#timeUnitAs),\n[niInterval](#niInterval), [utc](#utc) and [tuStep](#tuStep).\n","type":"VegaLite.TimeUnit"},{"name":"yearWeekDayHoursMinutes","comment":" Indicate temporal binning with a resolution of minutes so a ten year sequence\nwould have up to 10\\*52\\*7\\*24\\*60 bins. Used by [pTimeUnit](#pTimeUnit), [mTimeUnit](#mTimeUnit),\n[tTimeUnit](#tTimeUnit), [hTimeUnit](#hTimeUnit), [oTimeUnit](#oTimeUnit),\n[dTimeUnit](#dTimeUnit), [fTimeUnit](#fTimeUnit), [timeUnitAs](#timeUnitAs),\n[niInterval](#niInterval), [utc](#utc) and [tuStep](#tuStep).\n","type":"VegaLite.TimeUnit"},{"name":"yearWeekDayHoursMinutesSeconds","comment":" Indicate temporal binning with a resolution of seconds so a ten year sequence\nwould have up to 10\\*52\\*7\\*24\\*60\\*60 bins. Used by [pTimeUnit](#pTimeUnit), [mTimeUnit](#mTimeUnit),\n[tTimeUnit](#tTimeUnit), [hTimeUnit](#hTimeUnit), [oTimeUnit](#oTimeUnit),\n[dTimeUnit](#dTimeUnit), [fTimeUnit](#fTimeUnit), [timeUnitAs](#timeUnitAs),\n[niInterval](#niInterval), [utc](#utc) and [tuStep](#tuStep).\n","type":"VegaLite.TimeUnit"}],"binops":[]}]