[{"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.  [Selections for Interaction](#7-selections-for-interaction)\n8.  [Top-level Settings](#8-top-level-settings)\n9.  [General Data Functions](#9-general-data-functions)\n10. [Type Reference](#10-type-reference)\n11. [Deprecated Functions](#11-deprecated-functions)\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 dataFromSource\n@docs dataName\n@docs datasets\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 csv\n@docs tsv\n@docs dsv\n@docs arrow\n@docs jsonProperty\n@docs topojsonFeature\n@docs topojsonMesh\n@docs parse\n\n@docs foNum\n@docs foBoo\n@docs foDate\n@docs foUtc\n\n---\n\n\n# 3. Transforming Data\n\nTransformation rules are applied to data fields or geospatial coordinates before\nthey are encoded visually.\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 prType\n@docs prClipAngle\n@docs prClipExtent\n@docs prCenter\n@docs prScale\n@docs prTranslate\n@docs prRotate\n@docs prPrecision\n@docs prCoefficient\n@docs prDistance\n@docs prFraction\n@docs prLobes\n@docs prParallel\n@docs prRadius\n@docs prRatio\n@docs prReflectX\n@docs prReflectY\n@docs prSpacing\n@docs prTilt\n\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 noClip\n@docs clipRect\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 fiOp\n@docs fiOpTrans\n@docs fiCompose\n@docs fiSelection\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 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 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[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[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 maAlign\n@docs maAngle\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 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 maStrokeDash\n@docs maStrokeDashOffset\n@docs maStrokeJoin\n@docs joRound\n@docs joBevel\n@docs joMiter\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 maThickness\n@docs maTicks\n@docs maTooltip\n@docs maWidth\n@docs maHeight\n@docs maX\n@docs maY\n@docs maXOffset\n@docs maYOffset\n@docs maX2\n@docs maY2\n@docs maX2Offset\n@docs maY2Offset\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 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\n@docs tdLeftToRight\n@docs tdRightToLeft\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 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\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\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 pRepeat\n@docs pNominal\n@docs pOrdinal\n@docs pQuant\n@docs pTemporal\n@docs pGeo\n@docs pMType\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 pBand\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\n#### General\n\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\n\n#### Axis Domain\n\n@docs axDomain\n@docs axDomainColor\n@docs axDomainOpacity\n@docs axDomainWidth\n\n\n#### Axis Labels\n\n@docs axFormat\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 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 axTickColor\n@docs cAxTickColor\n@docs axTickCount\n@docs axTickDash\n@docs cAxTickDash\n@docs axTickExtra\n@docs axTickOffset\n@docs axTickOpacity\n@docs cAxTickOpacity\n@docs axTickRound\n@docs axTickSize\n@docs cAxTickSize\n@docs axTickMinStep\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 axTitleOpacity\n@docs axTitlePadding\n@docs axTitleX\n@docs axTitleY\n\n\n#### Axis Grid\n\n@docs axGrid\n@docs axGridColor\n@docs cAxGridColor\n@docs axGridDash\n@docs cAxGridDash\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\n@docs vaTop\n@docs vaLineTop\n@docs vaMiddle\n@docs vaBottom\n@docs vaLineBottom\n@docs vaAlphabetic\n\n\n#### Overlapping text\n\n@docs osNone\n@docs osGreedy\n@docs osParity\n\n\n### Relative Position\n\n@docs siTop\n@docs siBottom\n@docs siLeft\n@docs siRight\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 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 mRepeat\n@docs mNominal\n@docs mOrdinal\n@docs mQuant\n@docs mTemporal\n@docs mGeo\n@docs mMType\n@docs mScale\n@docs mBin\n@docs mBinned\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 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 leGradientThickness\n@docs leGradientStrokeColor\n@docs leGradientStrokeWidth\n@docs leGridAlign\n@docs leLabelAlign\n@docs leLabelBaseline\n@docs leLabelColor\n@docs leLabelFont\n@docs leLabelFontSize\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 leSymbolFillColor\n@docs leSymbolSize\n@docs leSymbolStrokeColor\n@docs leSymbolStrokeWidth\n@docs leSymbolType\n@docs leTickCount\n@docs leTitle\n@docs leTitleAlign\n@docs leTitleBaseline\n@docs leTitleColor\n@docs leTitleFont\n@docs leTitleFontSize\n@docs leTitleFontWeight\n@docs leTitleLimit\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#### Legend Literals\n\n@docs leNums\n@docs leStrs\n@docs leDts\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 tMType\n@docs tBin\n@docs tBinned\n@docs tAggregate\n@docs tTimeUnit\n@docs tTitle\n@docs tStr\n@docs tFormat\n@docs tFormatAsNum\n@docs tFormatAsTemporal\n@docs tFormatAsCustom\n@docs FontWeight\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 hMType\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\nChannels 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 oMType\n@docs oBin\n@docs oAggregate\n@docs oSort\n@docs oTimeUnit\n\n\n## 5.7 Facet Channels\n\nChannels 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 dMType\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\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\n\n### 5.10.1 Scale Domain\n\nDescribes the data values that will be encoded.\n\n@docs scDomain\n@docs categoricalDomainMap\n@docs domainRangeMap\n@docs doNums\n@docs doStrs\n@docs doDts\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 scRange\n@docs raName\n@docs raNums\n@docs raNumLists\n@docs raStrs\n\n\n### 5.10.3 Scaling Properties\n\n@docs scScheme\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 scDomainMid\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\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 multiview 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 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 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 fMType\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 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 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@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@docs hdFormat\n@docs hdFormatAsNum\n@docs hdFormatAsTemporal\n@docs hdFormatAsCustom\n\n---\n\n\n# 7. Selections for Interaction\n\nSelections allow a visualization to respond to interactions (such as clicking or\ndragging). They transform interactions into data queries. See the Vega-Lite\n[selection](https://vega.github.io/vega-lite/docs/selection.html) and\n[bind](https://vega.github.io/vega-lite/docs/bind.html)\ndocumentation.\n\n  - 7.1 [Selections](#7-1-selections)\n  - 7.2 [Selection Resolution](#7-2-selection-resolution)\n  - 7.3 [Conditional Channel Encodings](#7-3-conditional-channel-encodings)\n\n\n## 7.1 Selections\n\n@docs selection\n@docs select\n@docs seSingle\n@docs seMulti\n@docs seInterval\n@docs seEmpty\n@docs seClear\n@docs seInit\n@docs seInitInterval\n@docs seEncodings\n@docs seFields\n@docs seNearest\n@docs seOn\n@docs seToggle\n@docs seTranslate\n@docs seZoom\n\n\n### Selection Bindings\n\n@docs seBind\n@docs seBindLegend\n@docs blField\n@docs blChannel\n@docs blEvent\n@docs seBindScales\n\n\n### Input Elements\n\n@docs iRange\n@docs iCheckbox\n@docs iRadio\n@docs iSelect\n@docs iText\n@docs iNumber\n@docs iDate\n@docs iTime\n@docs iMonth\n@docs iWeek\n@docs iDateTimeLocal\n@docs iTel\n@docs iColor\n\n@docs inDebounce\n@docs inElement\n@docs inOptions\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\nTo make channel encoding conditional on the result of some interaction, use\n[mSelectionCondition](#mSelectionCondition) (and its 't' and 'h' variants). Similarly\n[mDataCondition](#mDataCondition) (and its 't' and 'h' variants) will encode a mark\nconditionally depending on some data properties such as whether a datum is null\nor an outlier.\n\nFor interaction, once a selection has been defined and named, supplying a set of\nencodings allow mark encodings to become dependent on that selection.\n`mSelectionCondition` is followed firstly a (Boolean) selection and then an\nencoding if that selection is true and another encoding to be applied if it is false.\nThe color specification below states \"whenever data marks are selected with an\ninterval mouse drag, encode the cylinder field with an ordinal color scheme,\notherwise make them grey\":\n\n    sel =\n        selection << select \"myBrush\" Interval []\n\n    enc =\n        encoding\n            << position X [ pName \"Horsepower\", pQuant ]\n            << position Y [ pName \"Miles_per_Gallon\", pQuant ]\n            << color\n                [ mSelectionCondition (selectionName \"myBrush\")\n                    [ mName \"Cylinders\", mOrdinal ]\n                    [ mStr \"grey\" ]\n                ]\n\nIn a similar way, `mDataCondition` will encode a mark depending on whether any\npredicate tests are satisfied. Unlike selections, multiple conditions and associated\nencodings can be specified. Each test condition is evaluated in order and only on\nfailure of the test does encoding proceed to the next test. If no tests are true,\nthe encoding in the final parameter is applied in a similar way to 'case of'\nexpressions:\n\n    enc =\n        encoding\n            << position X [ pName \"value\", pOrdinal ]\n            << color\n                [ mDataCondition\n                    [ ( expr \"datum.value < 40\", [ mStr \"blue\" ] )\n                    , ( expr \"datum.value < 50\", [ mStr \"red\" ] )\n                    , ( expr \"datum.value < 60\", [ mStr \"yellow\" ] )\n                    ]\n                    [ mStr \"black\" ]\n                ]\n\nSee the\n[Vega-Lite documentation](https://vega.github.io/vega-lite/docs/condition.html).\n\n@docs mSelectionCondition\n@docs mDataCondition\n@docs tSelectionCondition\n@docs tDataCondition\n@docs hDataCondition\n@docs hSelectionCondition\n\n@docs and\n@docs or\n@docs not\n@docs expr\n@docs selected\n@docs selectionName\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 [Style Configuration](#8-3-style-configuration)\n\n@docs name\n@docs description\n@docs height\n@docs heightOfContainer\n@docs width\n@docs widthOfContainer\n@docs widthStep\n@docs heightStep\n@docs padding\n@docs paSize\n@docs paEdges\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\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 title\n@docs tiAnchor\n@docs tiAngle\n@docs tiBaseline\n@docs tiColor\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 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\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 Style Configuration\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 coArea\n@docs coAutosize\n@docs coAxis\n@docs coAxisXFilter\n@docs coAxisYFilter\n@docs axX\n@docs axY\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 coFieldTitle\n@docs coFont\n@docs coGeoshape\n@docs coFacet\n@docs coHeader\n@docs coLegend\n@docs coLine\n@docs coMark\n@docs coMarkStyles\n@docs coNumberFormat\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 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 axcoBandPosition\n@docs axcoDomain\n@docs axcoDomainColor\n@docs axcoDomainOpacity\n@docs axcoDomainWidth\n@docs axcoMaxExtent\n@docs axcoMinExtent\n@docs axcoGrid\n@docs axcoGridColor\n@docs axcoGridDash\n@docs axcoGridOpacity\n@docs axcoGridWidth\n@docs axcoLabels\n@docs axcoLabelAlign\n@docs axcoLabelAngle\n@docs axcoLabelBaseline\n@docs axcoLabelBound\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 axcoLabelOpacity\n@docs axcoLabelOverlap\n@docs axcoLabelPadding\n@docs axcoLabelSeparation\n@docs axcoTicks\n@docs axcoTickColor\n@docs axcoTickCount\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 lecoClipHeight\n@docs lecoColumnPadding\n@docs lecoColumns\n@docs lecoCornerRadius\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 lecoGradientLabelBaseline\n@docs lecoGradientLabelLimit\n@docs lecoGradientLabelOffset\n@docs lecoGradientStrokeColor\n@docs lecoGradientStrokeWidth\n@docs lecoGradientHeight\n@docs lecoGradientWidth\n@docs lecoGridAlign\n@docs lecoLabelAlign\n@docs lecoLabelBaseline\n@docs lecoLabelColor\n@docs lecoLabelFont\n@docs lecoLabelFontSize\n@docs lecoLabelLimit\n@docs lecoLabelOffset\n@docs lecoLabelOverlap\n@docs lecoShortTimeLabels\n@docs lecoEntryPadding\n@docs lecoSymbolBaseFillColor\n@docs lecoSymbolBaseStrokeColor\n@docs lecoSymbolDirection\n@docs lecoSymbolFillColor\n@docs lecoSymbolOffset\n@docs lecoSymbolSize\n@docs lecoSymbolStrokeColor\n@docs lecoSymbolStrokeWidth\n@docs lecoSymbolType\n@docs lecoTitleAlign\n@docs lecoTitleBaseline\n@docs lecoTitleColor\n@docs lecoTitleFont\n@docs lecoTitleFontSize\n@docs lecoTitleFontWeight\n@docs lecoTitleLimit\n@docs lecoTitleLineHeight\n@docs lecoTitlePadding\n@docs lecoUnselectedOpacity\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 sacoBandPaddingInner\n@docs sacoBandPaddingOuter\n@docs sacoBarBandPaddingInner\n@docs sacoBarBandPaddingOuter\n@docs sacoRectBandPaddingInner\n@docs sacoRectBandPaddingOuter\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 sacoPointPadding\n@docs sacoRound\n@docs sacoUseUnaggregatedDomain\n@docs sacoXReverse\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 racoSymbol\n\n\n### 8.3.5 Title Configuration\n\nUnlike [title](#title) title configuration applies to all titles if multiiple 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 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\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\n\n# 9. General Data Functions\n\nIn addition to more general data types like integers and string, the following types\ncan carry data used in specifications.\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 nullValue\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 dtMonthNum\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 day\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 quarter\n@docs quarterMonth\n@docs seconds\n@docs secondsMilliseconds\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 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 Arrangement\n@docs Autosize\n@docs AxisProperty\n@docs AxisChoice\n@docs AxisConfig\n@docs Binding\n@docs BindLegendProperty\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 Legend\n@docs LegendConfig\n@docs LegendOrientation\n@docs LegendProperty\n@docs LegendValues\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 PivotProperty\n@docs PointMarker\n@docs PositionChannel\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 TooltipContent\n@docs VAlign\n@docs ViewBackground\n@docs ViewConfig\n@docs Window\n@docs WOperation\n@docs WindowProperty\n\n---\n\n\n# 11. Deprecated functions\n\n@docs axcoShortTimeLabels\n@docs axcoTickStep\n@docs axDates\n@docs axTickStep\n@docs coAxisX\n@docs coAxisY\n@docs coNamedStyle\n@docs coNamedStyles\n@docs coStack\n@docs lookupAs\n@docs sacoRangeStep\n@docs sacoTextXRangeStep\n@docs scBinLinear\n@docs scRangeStep\n@docs scSequential\n@docs vicoWidth\n@docs vicoHeight\n\n","unions":[{"name":"Anchor","comment":" Generated by [anStart](#anStart), [anMiddle](#anMiddle) and [anEnd](#anEnd).\n","args":[],"cases":[]},{"name":"Arrangement","comment":" Generated by [arFlow](#arFlow), [arColumn](#arColumn) and [arRow](#arRow).\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](#asReeize).\n","args":[],"cases":[]},{"name":"AxisChoice","comment":" Generated by [axBoth](#axBoth), [axX](#axX) and [axY](#axY).\n","args":[],"cases":[]},{"name":"AxisConfig","comment":" Generated by [axcoBandPosition](#axcoBandPosition), [axcoDomain](#axcoDomain),\n[axcoDomainColor](#axcoDomainColor), [axcoDomainOpacity](#axcoDomainOpacity),\n[axcoDomainWidth](#axcoDomainWidth), [axcoMaxExtent](#axcoMaxExtent),\n[axcoMinExtent](#axcoMinExtent), [axcoGrid](#axcoGrid), [axcoGridColor](#axcoGridColor),\n[axcoGridDash](#axcoGridDash), [axcoGridOpacity](#axcoGridOpacity),\n[axcoGridWidth](#axcoGridWidth), [axcoLabels](#axcoLabels), [axcoLabelAlign](#axcoLabelAlign),\n[axcoLabelAngle](#axcoLabelAngle), [axcoLabelBaseline](#axcoLabelBaseline),\n[axcoLabelBound](#axcoLabelBound), [axcoLabelColor](#axcoLabelColor),\n[axcoLabelExpr](#axcoLabelExpr), [axcoLabelFlush](#axcoLabelFlush),\n[axcoLabelFlushOffset](#axcoLabelFlushOffset), [axcoLabelFont](#axcoLabelFont),\n[axcoLabelFontSize](#axcoLabelFontSize), [axcoLabelFontStyle](#axcoLabelFontStyle),\n[axcoLabelFontWeight](#axcoLabelFontWeight), [axcoLabelLimit](#axcoLabelLimit),\n[axcoLabelLineHeight](#axcoLabelLineHeight), [axcoLabelOpacity](#axcoLabelOpacity),\n[axcoLabelOverlap](#axcoLabelOverlap), [axcoLabelPadding](#axcoLabelPadding),\n[axcoLabelSeparation](#axcoLabelSeparation), [axcoTicks](#axcoTicks), [axcoTickColor](#axcoTickColor),\n[axcoTickCount](#axcoTickCount), [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),\n[axcoTitleFontSize](#axcoTitleFontSize), [axcoTitleFontStyle](#axcoTitleFontStyle),\n[axcoTitleFontWeight](#axcoTitleFontWeight), [axcoTitleLimit](#axcoTitleLimit),\n[axcoTitleLineHeight](#axcoTitleLineHeight), [axcoTitleOpacity](#axcoTitleOpacity),\n[axcoTitlePadding](#axcoTitlePadding), [axcoTitleX](#axcoTitleX) and [axcoTitleY](#axcoTitleY).\n","args":[],"cases":[]},{"name":"AxisProperty","comment":" Generated by [axBandPosition](#axBandPosition), [axMaxExtent](#axMaxExtent),\n[axMinExtent](#axMinExtent), [axOrient](#axOrient), [axOffset](#axOffset),\n[axPosition](#axPosition), [axZIndex](#axZIndex), [axDataCondition](#axDataCondition),\n[axDomain](#axDomain), [axDomainColor](#axDomainColor), [axDomainOpacity](#axDomainOpacity),\n[axDomainWidth](#axDomainWidth), [axFormat](#axFormat), [axFormatAsNum](#axFormatAsNum),\n[axFormatAsTemporal](#axFormatAsTemporal), [axFormatAsCustom](#axFormatAsCustom),\n[axLabels](#axLabels), [axLabelAlign](#axLabelAlign), [axLabelAngle](#axLabelAngle),\n[axLabelBaseline](#axLabelBaseline), [axLabelBound](#axLabelBound), [axLabelColor](#axLabelColor),\n[axLabelExpr](#axLabelExpr), [axLabelFlush](#axLabelFlush), [axLabelFlushOffset](#axLabelFlushOffset),\n[axLabelFont](#axLabelFont), [axLabelFontSize](#axLabelFontSize), [axLabelFontStyle](#axLabelFontStyle),\n[axLabelFontWeight](#axLabelFontWeight), [axLabelLimit](#axLabelLimit),\n[axLabelLineHeight](#axLabelLineHeight), [axLabelOffset](#axLabelOffset),\n[axLabelOpacity](#axLabelOpacity), [axLabelOverlap](#axLabelOverlap), [axLabelPadding](#axLabelPadding),\n[axLabelSeparation](#axLabelSeparation), [axStyle](#axStyle), [axTicks](#axTicks),\n[axTickColor](#axTickColor), [axTickCount](#axTickCount), [axTickDash](#axTickDash),\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), [axTitleOpacity](#axTitleOpacity), [axTitlePadding](#axTitlePadding),\n[axTitleX](#axTitleX), [axTitleY](#axTitleY), [axGrid](#axGrid), [axGridColor](#axGridColor),\n[axGridDash](#axGridDash), [axGridOpacity](#axGridOpacity) and [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":"BindLegendProperty","comment":" Generated by [blField](#blField), [blChannel](#blChannel) and [blEvent](#blEvent).\n","args":[],"cases":[]},{"name":"Binding","comment":" Generated by [iRange](#iRange), [iCheckbox](#iCheckbox),\n[iRadio](#iRadio), [iSelect](#iSelect), [iText](#iText), [iNumber](#iNumber),\n[iDate](#iDate), [iTime](#iTime), [iMonth](#iMonth), [iWeek](#iWeek), [iDateTimeLocal](#iDateTimeLocal),\n[iTel](#iTel) and [iColor](#iColor).\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) and [bmLuminosity](#bmLuminosity).\n","args":[],"cases":[]},{"name":"BooleanOp","comment":" Generated by [expr](#expr), [fiOp](#fiOp), [fiOpTrans](#fiOpTrans), [selected](#selected),\n[selectionName](#selectionName), [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[chColor](#chColor), [chOpacity](#chOpacity), [chShape](#chShape),\n[chStrokeDash](#chStrokeDash) and [chSize](#chSize).\n","args":[],"cases":[]},{"name":"ClipRect","comment":" Generated by [noClip](#noClip) and [clipRect](#clipRect).\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), [cAxLabelPadding](#cAxLabelPadding),\n[cAxTickColor](#cAxTickColor), [cAxTickDash](#cAxTickDash), [cAxTickOpacity](#cAxOpacity),\n[cAxTickSize](#cAxTickSize), [cAxTickWidth](#cAxTickWidth), [cAxGridColor](#cAxGridColor),\n[cAxGridDash](#cAxGridDash), [cAxGridOpacity](#cAxGridOpacity) and [cAxGridWidth](#cAxGridWidth)\n","args":[],"cases":[]},{"name":"ConfigurationProperty","comment":" Generated by [coArea](#coArea), [coAutosize](#coAutosize), [coAxis](#coAxis),\n[coAxisStyles](#coAxisStyles), [coAxisXFilter](#coAxisXFilter), [coAxisYFilter](#coAxisYFilter),\n[coAxisLeft](#coAxisLeft), [coAxisRight](#coAxisRight), [coAxisTop](#coAxisTop),\n[coAxisBottom](#coAxisBottom), [coAxisBand](#coAxisBand),[coAxisDiscrete](#coAxisDiscrete),\n[coAxisPoint](#coAxisPoint), [coAxisTemporal](#coAxisTemporal), [coAxisQuant](#coAxisQuant),\n[coBackground](#coBackground), [coBar](#coBar), [coCircle](#coCircle), [coConcat](#coConcat),\n[coCountTitle](#coCountTitle), [coFieldTitle](#coFieldTitle), [coGeoshape](#coGeoshape),\n[coFacet](#coFacet), [coHeader](#coHeader), [coLegend](#coLegend), [coLine](#coLine),\n[coMark](#coMark), [coMarkStyles](#coMarkStyles), [coNumberFormat](#coNumberFormat),\n[coPadding](#coPadding), [coPoint](#coPoint), [coProjection](#coProjection),\n[coRange](#coRange), [coRect](#coRect), [coRule](#coRule), [coScale](#coScale),\n[coSelection](#coSelection), [coSquare](#coSquare), [coText](#coText), [coFont](#coFont),\n[coTick](#coTick), [coTitle](#coTitle), [coTimeFormat](#coTimeFormat), [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) and\n[cuGrabbing](#cuGrabbing).\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) and [nullValue](#nullValue).\n","args":[],"cases":[]},{"name":"DataValues","comment":" Generated by [boos](#boos), [dts](#dts), [nums](#nums) and [strs](#strs).\n","args":[],"cases":[]},{"name":"DateTime","comment":" Generated by [dtYear](#dtYear), [dtQuarter](#dtQuarter), [dtMonth](#dtMonth),\n[dtMonthNum](#dtMonthNum), [dtDate](#DTDate), [dtDay](#dtDay), [dtHour](#dtHour),\n[dtMinute](#dtMinute), [dtSecond](#dtSecond) and [dtMillisecond](#dtMillisecond).\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), [dMType](#dMType), [dAggregate](#dAggregate),\n[dBin](#dBin) and [dTimeUnit](#dTimeUnit).\n","args":[],"cases":[]},{"name":"FacetChannel","comment":" Generated by [fName](#fName), [fMType](#fMType), [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), [fiOneOf](#fiOneOf), [fiRange](#fiRange) and\n[fiValid](#fiValid).\n","args":[],"cases":[]},{"name":"FilterRange","comment":" Generated by [numRange](#numRange) and [dtRange](#dtRange).\n","args":[],"cases":[]},{"name":"FontWeight","comment":" Weight options for a font.\n","args":[],"cases":[["Bold",[]],["Bolder",[]],["Lighter",[]],["Normal",[]],["W100",[]],["W200",[]],["W300",[]],["W400",[]],["W500",[]],["W600",[]],["W700",[]],["W800",[]],["W900",[]]]},{"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) and [haRight](#haRight).\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), [hMType](#hMType), [hBin](#hBin),\n[hBinned](#hBinned), [hAggregate](#hAggregate), [hTimeUnit](#hTimeUnit),\n[hDataCondition](#hDataCondition), [hSelectionCondition](#hSelectionCondition)\nand [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), [inMin](#inMin), [inMax](#inMax), [inName](#inName),\n[inStep](#inStep) and [inPlaceholder](#inPlaceholder).\n","args":[],"cases":[]},{"name":"Legend","comment":" Generated by [leGradient](#leGradient) and [leSymbol](#leSymbol).\n","args":[],"cases":[]},{"name":"LegendConfig","comment":" Generated by [lecoClipHeight](#lecoClipHeight),\n[lecoColumnPadding](#lecoColumnPadding), [lecoColumns](#lecoColumns),\n[lecoCornerRadius](#lecoCornerRadius), [lecoFillColor](#lecoFillColor),\n[lecoOrient](#lecoOrient), [lecoOffset](#lecoOffset), [lecoStrokeColor](#lecoStrokeColor),\n[lecoStrokeDash](#lecoStrokeDash), [lecoStrokeWidth](#lecoStrokeWidth), [lecoPadding](#lecoPadding),\n[lecoRowPadding](#lecoRowPadding), [lecoGradientDirection](#lecoGradientDirection),\n[lecoGradientLabelBaseline](#lecoGradientLabelBaseline), [lecoGradientLabelLimit](#lecoGradientLabelLimit),\n[lecoGradientLabelOffset](#lecoGradientLabelOffset), [lecoGradientStrokeColor](#lecoGradientStrokeColor),\n[lecoGradientStrokeWidth](#lecoGradientStrokeWidth), [lecoGradientHeight](#lecoGradientHeight),\n[lecoGradientWidth](#lecoGradientWidth), [lecoGridAlign](#lecoGridAlign),\n[lecoLabelAlign](#lecoLabelAlign), [lecoLabelBaseline](#lecoLabelBaseline),\n[lecoLabelColor](#lecoLabelColor), [lecoLabelFont](#lecoLabelFont),\n[lecoLabelFontSize](#lecoLabelFontSize), [lecoLabelLimit](#lecoLabelLimit),\n[lecoLabelOffset](#lecoLabelOffset), [lecoLabelOverlap](#lecoLabelOverlap),\n[lecoShortTimeLabels](#lecoShortTimeLabels), [lecoEntryPadding](#lecoEntryPadding),\n[lecoSymbolBaseFillColor](#lecoSymbolBaseFillColor),\n[lecoSymbolBaseStrokeColor](#lecoSymbolBaseStrokeColor), [lecoSymbolDirection](#lecoSymbolDirection),\n[lecoSymbolFillColor](#lecoSymbolFillColor), [lecoSymbolOffset](#lecoSymbolOffset),\n[lecoSymbolSize](#lecoSymbolSize), [lecoSymbolStrokeColor](#lecoSymbolStrokeColor),\n[lecoSymbolStrokeWidth](#lecoSymbolStrokeWidth), [lecoSymbolType](#lecoSymbolType),\n[lecoTitleAlign](#lecoTitleAlign), [lecoTitleBaseline](#lecoTitleBaseline),\n[lecoTitleColor](#lecoTitleColor), [lecoTitleFont](#lecoTitleFont),\n[lecoTitleFontSize](#lecoTitleFontSize), [lecoTitleFontWeight](#lecoTitleFontWeight),\n[lecoTitleLimit](#lecoTitleLimit), [lecotTitleLineHeight](#lecoTitleLineHeight),\n[lecoTitlePadding](#lecoTitlePadding) and [lecoUnselectedOpacity](#lecoUnselectedOpacity).\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 [leGradient](#leGradient), [leSymbol](#leSymbol), [leClipHeight](#leClipHeight),\n[leColumnPadding](#leColumnPadding), [leColumns](#leColumns), [leCornerRadius](#leCornerRadius),\n[leDirection](#leDirection), [leFillColor](#leFillColor), [leFormat](#leFormat),\n[leFormatAsNum](#leFormatAsNum), [leFormatAsTemporal](#leFormatAsTemporal),\n[leFormatAsCustom](#leFormatAsCustom) [leGradientLength](#leGradientLength),\n[leGradientThickness](#leGradientThickness), [leGradientStrokeColor](#leGradientStrokeColor),\n[leGradientStrokeWidth](#leGradientStrokeWidth), [leGridAlign](#leGridAlign),\n[leLabelAlign](#leLabelAlign), [leLabelBaseline](#leLabelBaseline),\n[leLabelColor](#leLabelColor), [leLabelFont](#leLabelFont), [leLabelFontSize](#leLabelFontSize),\n[leLabelLimit](#leLabelLimit), [leLabelOffset](#leLabelOffset), [leLabelOverlap](#leLabelOverlap),\n[leOffset](#leOffset), [leOrient](#leOrient), [lePadding](#lePadding),\n[leRowPadding](#leRowPadding), [leStrokeColor](#leStrokeColor), [leStrokeWidth](#leStrokeWidth),\n[leSymbolFillColor](#leSymbolFillColor), [leSymbolSize](#leSymbolSize),\n[leSymbolStrokeColor](#leSymbolStrokeColor), [leSymbolStrokeWidth](#leSymbolStrokeWidth),\n[leSymbolType](#leSymbolType), [leTickCount](#leTickCount), [leTitle](#leTitle),\n[leTitleAlign](#leTitleAlign), [leTitleBaseline](#leTitleBaseline), [leTitleColor](#leTitleColor),\n[leTitleFont](#leTitleFont), [leTitleFontSize](#leTitleFontSize),\n[leTitleFontWeight](#leTitleFontWeight), [leTitleLimit](#leTitleLimit),\n[leTitlePadding](#leTitlePadding), [leType](#leType),\n[leValues](#leValues), [leX](#leX), [leY](#leY) and [leZIndex](#leZIndex).\n","args":[],"cases":[]},{"name":"LegendValues","comment":" Generated by [leNums](#leNums), [leStrs](#leStrs) and [leDts](#leDts).\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\n[area](#area), [bar](#bar), [boxplot](#boxplot), [circle](#circle), [errorband](#errorband),\n[errorbar](#errorbar), [geoshape](#geoshape), [image](#image), [line](#line),\n[point](#point), [rect](#rect), [rule](#rule),[square](#square), [textMark](#textMark),\n[tick](#tick) and [trail](#trail).\n","args":[],"cases":[]},{"name":"MarkChannel","comment":" Generated by [mName](#mName), [mRepeat](#mRepeat), [mMType](#mMType), [mScale](#mScale),\n[mBin](#mBin), [mBinned](#mBinned), [mTimeUnit](#mTimeUnit), [mTitle](#mTitle),\n[mAggregate](#mAggregate), [mLegend](#mLegend), [mSort](#mSort),\n[mSelectionCondition](#mSelectionCondition), [mDataCondition](#mDataCondition),\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) and [miStepBefore](#miStepBefore).\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), [maBandSize](#maBandSize),\n[maBaseline](#maBaseline), [maBinSpacing](#maBinSpacing), [maBlend](#maBlend),\n[maBorders](#maBorders), [maBox](#maBox), [maClip](#maClip), [maColor](#maColor),\n[maColorGradient](#maColorGradient), [maCornerRadius](#maCornerRadius), [maCornerRadiusEnd](#maCornerRadiusEnd),\n[maCornerRadiusTopLeft](#maCornerRadiusTopLeft), [maCornerRadiusTopRight](#maCornerRadiusTopRightR),\n[maCornerRadiusBottomLeft](#maCornerRadiusBottomLeft), [maCornerRadiusBottomRight](#maCornerRadiusBottomRight),\n[maCursor](#maCursor), [maHRef](#maHRef), [maContinuousBandSize](#maContinuousBandSize),\n[maDir](#maDir), [maDiscreteBandSize](#maDiscreteBandSize), [maDx](#maDx), [maDy](#maDy),\n[maEllipsis](#maEllipsis), [maExtent](#maExtent), [maFill](#maFill), [maFillGradient](#maFillGradient),\n[maFilled](#maFilled), [maFillOpacity](#maFillOpacity), [maFont](#maFont), [maFontSize](#maFontSize),\n[maFontStyle](#maFontStyle), [maFontWeight](#maFontWeight), [maInterpolate](#maInterpolate),\n[maLimit](#maLimit), [maLine](#maLine), [maLineHeight](#maLineHeight), [maMedian](#maMedian),\n[maOpacity](#maOpacity), [maOutliers](#maOutliers), [maOrient](#maOrient), [maPoint](#maPoint),\n[maRadius](#maRadius), [maRemoveInvalid](#maRemoveInvalid), [maRule](#maRule), [maShape](#maShape),\n[maShortTimeLabels](#maShortTimeLabels), [maSize](#maSize), [maStroke](#maStroke),\n[maStrokeGradient](#maStrokeGradient), [maStrokeCap](#maStrokeCap), [maStrokeDash](#maStrokeDash),\n[maStrokeDashOffset](#maStrokeDashOffset), [maStrokeJoin](#maStrokeJoin), [maStrokeMiterLimit](#maStrokeMiterLimit),\n[maStrokeOpacity](#maStrokeOpacity), [maStrokeWidth](#maStrokeWidth), [maStyle](#maStyle),\n[maTension](#maTension), [maText](#maText), [maTheta](#maTheta), [maThickness](#maThickness),\n[maTicks](#maTicks), [maTooltip](#maTooltip), [maX](#maX), [maWidth](#maWidth),\n[maHeight](#maHeight), [maY](#maY), [maXOffset](#maXOffset), [maYOffset](#maYOffset),\n[maX2](#maX2), [maY2](#maY2), [maX2Offset](#maX2Offset) and [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":[["Nominal",[]],["Ordinal",[]],["Quantitative",[]],["Temporal",[]],["GeoFeature",[]]]},{"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), [oMType](#oMType), [oBin](#oBin),\n[oAggregate](#oAggregate), [oTimeUnit](#oTimeUnit) and [oSort](#oSort).\n","args":[],"cases":[]},{"name":"OverlapStrategy","comment":" Generated by [osNone](#osNone), [osGreedy](#osGreedy) and [osParity](#osParity).\n","args":[],"cases":[]},{"name":"Padding","comment":" Generated by [paSize](#paSize) and [paEdges](#paEdges).\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).\n\n`Longitude`/`Longitude2` and `Latitude`/`Latitude2` are the equivalent for\ngeographic positioning subject to [projection](#prejection).\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",[]],["Longitude",[]],["Latitude",[]],["Longitude2",[]],["Latitude2",[]],["XError",[]],["YError",[]],["XError2",[]],["YError2",[]]]},{"name":"PositionChannel","comment":" Generated by [pName](#pName), [pRepeat](#pRepeat), [pMType](#pMType), [pBin](#PBin),\n[pBinned](#pBinned), [pTimeUnit](#pTimeUnit), [pTitle](#pTitle), [pAggregate](#pAggregate),\n[pScale](#pScale), [pAxis](#pAxis), [pSort](#pSort), [pBand](#pBand), [pStack](#pStack),\n[pWidth](#pWidth), [pHeight](#pHeight), [pNum](#pNum) and [pImpute](#pImpute).\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) and [customProjection](#customProjection).\n","args":[],"cases":[]},{"name":"ProjectionProperty","comment":" Generated by [prType](#prType), [prClipAngle](#prClipAngle), [prClipExtent](#prClipExtent),\n[prCenter](#prCenter), [prScale](#prScale), [prTranslate](#prTranslate), [prRotate](#prRotate),\n[prPrecision](#prPrecision), [prCoefficient](#prCoefficient), [prDistance](#prDistance),\n[prFraction](#prFraction), [prLobes](#prLobes), [prReflectX](#prReflectX),\n[prReflectY](#prReflectY), [prParallel](#prParallel), [prRadius](#prRadius),\n[prRatio](#prRatio), [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)\nand [racoSymbol](#racoSymbol).\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) and [rgAs](#rgAs).\n","args":[],"cases":[]},{"name":"RepeatFields","comment":" Generated by [rowFields](#rowFields) and [columnFields](#columnFields).\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), [sacoBarBandPaddingOuter](#sacoBarBandPaddingOuter),\n[sacoRectBandPaddingInner](#sacoRectBandPaddingInner), [sacoRectBandPaddingOuter](#sacoRectBandPaddingOuter),\n[sacoClamp](#sacoClamp), [sacoMaxBandSize](#sacoMaxBandSize), [sacoMinBandSize](#sacoMinBandSize),\n[sacoMaxFontSize](#sacoMaxFontSize), [sacoMinFontSize](#sacoMinFontSize), [sacoMaxOpacity](#sacoMaxOpacity),\n[sacoMinOpacity](#sacoMinOpacity), [sacoMaxSize](#sacoMaxSize), [sacoMinSize](#sacoMinSize),\n[sacoMaxStrokeWidth](#sacoMaxStrokeWidth), [sacoMinStrokeWidth](#sacoMinStrokeWidth),\n[sacoPointPadding](#sacoPointPadding), [sacoRound](#sacoRound),\n[sacoUseUnaggregatedDomain](#sacoUseUnaggregatedDomain) and [sacoXReverse](#sacoXReverse).\n","args":[],"cases":[]},{"name":"ScaleDomain","comment":" Generated by [doNums](#doNums), [doStrs](#doStrs), [doDts](#doDts),\n[doSelection](#doSelection), [doSelectionChannel](#doSelectionChannel),\n[doSelectionField](#doSelectionField), [doUnionWith](#doUnionWith) and\n[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)\nand [niInterval](#niInterval).\n","args":[],"cases":[]},{"name":"ScaleProperty","comment":" Generated by [scType](#scType), [scDomain](#scDomain), [scRange](#scRange),\n[scScheme](#scScheme), [scAlign](#scAlign), [scPadding](#scPadding),\n[scPaddingInner](#scPaddingInner), [scPaddingOuter](#scPaddingOuter),\n[scReverse](#scReverse), [scRound](#scRound), [scClamp](#scClamp),\n[scInterpolate](#scInterpolate), [scNice](#scNice), [scDomainMid](#scDomainMid),\n[scExponent](#scExponent), [scConstant](#scConstant), [scBase](#scBase) and\n[scZero](#scZero).\n","args":[],"cases":[]},{"name":"ScaleRange","comment":" Generated by [raNums](#raNums), [raStrs](#raStrs), [raNumLists](#raNumLists)\nand [raName](#raName).\n","args":[],"cases":[]},{"name":"Selection","comment":" Generated by [seInterval](#seInterval), [seSingle](#seSingle) and [seMulti](#seMulti).\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 [seBind](#seBind), [seBindLegend](#seBindLegend), [seBindScales](#seBindScales),\n[seEmpty](#seEmpty), [seClear](#seClear), [seEncodings](#seEncodings),[seFields](#seFields),\n[seInit](#seInit), [seInitInterval](#seInitInterval), [seNearest](#seNearest), [seOn](#seOn),\n[seResolve](#seResolve), [seSelectionMark](#seSelectionMark), [seToggle](#seToggle),\n[seTranslate](#seTranslate) and [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),\nand [siBottom](#siBottom)\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) and [caSquare](#caSquare).\n","args":[],"cases":[]},{"name":"StrokeJoin","comment":" Generated by [joMiter](#joMiter), [joRound](#joRound) and [joBevel](#joBevel).\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) and\n[symTriangle](#symTriangle).\n","args":[],"cases":[]},{"name":"TextChannel","comment":" Generated by [tName](#tName), [tRepeat](#tRepeat), [tMType](#tMType),\n[tBin](#tBin), [tBinned](#tBinned), [tAggregate](#tAggregate), [tTimeUnit](#tTimeUnit),\n[tTitle](#tTitle), [tSelectionCondition](#tSelectionCondition),\n[tDataCondition](#tDataCondition), [tFormat](#tFormat), [tFormatAsNum](#tFormatAsNum),\n[tFormatAsTemporal](#tFormatAsTemporal), [tFormatAsCustom](#tFormatAsCustom) and\n[tStr](#tStr).\n","args":[],"cases":[]},{"name":"TimeUnit","comment":" Generated by [date](#date), [day](#day), [hours](#hours), [hoursMinutes](#hoursMinutes),\n[hoursMinutesSeconds](#hoursMinutesSeconds), [milliseconds](#milliseconds),\n[minutes](#minutes), [minutesSeconds](#minutesSeconds), [month](#month), [monthDate](#monthDate),\n[quarter](#quarter), [quarterMonth](#quarterMonth), [seconds](#seconds),\n[secondsMilliseconds](#secondsMilliseconds), [year](#year), [yearQuarter](#yearQuarter),\n[yearQuarterMonth](#yearQuarterMonth), [yearMonth](#yearMonth), [yearMonthDate](#yearMonthDate),\n[yearMonthDateHours](#yearMonthDateHours), [yearMonthDateHoursMinutes](#yearMonthDateHoursMinutes),\n[yearMonthDateHoursMinutesSeconds](#yearMonthDateHoursMinutesSeconds), [utc](#utc),\n[tuMaxBins](#tuMaxBins) and [tuStep](#tuStep).\n","args":[],"cases":[]},{"name":"TitleConfig","comment":" Generated by [ticoAnchor](#ticoAnchor), [ticoAngle](#ticoAngle), [ticoBaseline](#ticoBaseline),\n[ticoColor](#ticoColor), [ticoFont](#ticoFont), [ticoFontSize](#ticoFontSize),\n[ticoFontStyle](#ticoFontStyle), [ticoFontWeivght](#ticoFontWeight), [ticoFrame](#ticoFrame),\n[ticoLimit](#ticoLimit), [ticoLineHeight](#ticoLineHeight), [ticoOffset](#ticoOffset),\n[ticoOrient](#ticoOrient), [ticoStyle](#ticoStyle) [ticoSubtitleColor](#ticoSubtitleColor),\n[ticoSubtitleFont](#ticoSubtitleFont), [ticoSubtitleFontSize](#ticoSubtitleFontSize),\n[ticoSubtitleFontStyle](#ticoSubtitleFontStyle), [ticoSubtitleFontWeight](#ticoSubtitleFontWeight),\n[ticoSubtitleLineHeight](#ticoSubtitleLineHeight), [ticoSubtitlePadding](#ticoSubtitlePadding)\nand [ticoZIndex](#ticoZIndex).\n","args":[],"cases":[]},{"name":"TitleFrame","comment":" Generated by [tfBounds](#tfBounds) and [tfGroup](#tfGroup).\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) and [vaLineBottom](#vaLineBottom).\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[`selection`](#selection).\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), [`width`](#width),\n[`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":" Convenience type annotation label for use with data generation functions.\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":" A single column of data. Used when generating inline data with [dataColumn](#dataColumn).\n","args":[],"type":"List.List VegaLite.LabelledSpec"},{"name":"DataRow","comment":" A single row of data. Used when generating inline data with [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","args":[],"type":"Json.Encode.Value"},{"name":"TitleProperty","comment":" Generated by [tiAnchor](#tiAnchor), [tiAngle](#tiAngle), [tiBaseline](#tiBaseline),\n[tiColor](#tiColor), [tiFont](#tiFont), [tiFontSize](#tiFontSize),\n[tiFontStyle](#tiFontStyle), [tiFontWeivght](#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":[],"type":"VegaLite.TitleConfig"}],"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.\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).\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":"anMiddle","comment":" Anchor some text in its start.\n","type":"VegaLite.Anchor"},{"name":"anStart","comment":" Anchor some text at its start.\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":"arColumn","comment":" Column arrangement in a repeated/faceted view.\n","type":"VegaLite.Arrangement"},{"name":"arFlow","comment":" Flow arrangement in a repeated/faceted view.\n","type":"VegaLite.Arrangement"},{"name":"arRow","comment":" Row arrangement in a repeated/faceted view.\n","type":"VegaLite.Arrangement"},{"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":" [Apache arrow](https://observablehq.com/@theneuralbit/introduction-to-apache-arrow)\ndata file format.\n\n    data =\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).\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).\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).\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).\n","type":"VegaLite.Autosize"},{"name":"asNone","comment":" No autosizing to be applied.\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.).\n","type":"VegaLite.Autosize"},{"name":"asPadding","comment":" Interpret visualization width to be for the entire visualization (data\nrectangle is shrunk to accommodate external padding).\n","type":"VegaLite.Autosize"},{"name":"asResize","comment":" Recalculate autosizing on every view update.\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":"axBandPosition","comment":" Position of axis tick relative to a band (0 to 1).\n","type":"Basics.Float -> 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.\nFor example,\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. For example the following will apply solid grid lines for January 1st of\neach 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":"axDates","comment":" Deprecated in favour of [axValues](#axValues).\n","type":"List.List (List.List VegaLite.DateTime) -> VegaLite.AxisProperty"},{"name":"axDomain","comment":" Whether or not an axis baseline (domain) should be included as part of an axis.\n","type":"Basics.Bool -> VegaLite.AxisProperty"},{"name":"axDomainColor","comment":" Color of axis domain line.\n","type":"String.String -> VegaLite.AxisProperty"},{"name":"axDomainOpacity","comment":" Opacity of axis domain line.\n","type":"Basics.Float -> VegaLite.AxisProperty"},{"name":"axDomainWidth","comment":" Width of axis domain line.\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).\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).\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).\n","type":"VegaLite.AxisProperty"},{"name":"axFormatAsTemporal","comment":" Indicate that axis labels should be formatted as dates/times. To control the\nprecise temporal format, additionally use [axFormat](#axFormat) providing a\n[d3 date/time format string](https://github.com/d3/d3-time-format#locale_format).\n","type":"VegaLite.AxisProperty"},{"name":"axGrid","comment":" Whether or not grid lines should be included as part of an axis.\n","type":"Basics.Bool -> VegaLite.AxisProperty"},{"name":"axGridColor","comment":" Color of grid lines associated with an axis.\n","type":"String.String -> VegaLite.AxisProperty"},{"name":"axGridDash","comment":" Axis grid line dash style. The parameter is a list of alternating 'on' and\n'off' lengths in pixels representing the dashed line.\n","type":"List.List Basics.Float -> VegaLite.AxisProperty"},{"name":"axGridOpacity","comment":" Opacity of grid lines associated with an axis.\n","type":"Basics.Float -> VegaLite.AxisProperty"},{"name":"axGridWidth","comment":" Width of grid lines associated with an axis.\n","type":"Basics.Float -> VegaLite.AxisProperty"},{"name":"axLabelAlign","comment":" Horizontal alignment of axis tick labels.\n","type":"VegaLite.HAlign -> VegaLite.AxisProperty"},{"name":"axLabelAngle","comment":" Rotation angle of axis labels (degrees from horizontal).\n","type":"Basics.Float -> VegaLite.AxisProperty"},{"name":"axLabelBaseline","comment":" Vertical alignment of axis tick labels.\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.\n","type":"Maybe.Maybe Basics.Float -> VegaLite.AxisProperty"},{"name":"axLabelColor","comment":" Color of axis tick label.\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. For example, to provide 4 digit years every decade\nand 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 or 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.\n","type":"Maybe.Maybe Basics.Float -> VegaLite.AxisProperty"},{"name":"axLabelFlushOffset","comment":" Number of pixels by which to offset flush-adjusted labels.\n","type":"Basics.Float -> VegaLite.AxisProperty"},{"name":"axLabelFont","comment":" Font name of an axis label.\n","type":"String.String -> VegaLite.AxisProperty"},{"name":"axLabelFontSize","comment":" Font size of an axis label.\n","type":"Basics.Float -> VegaLite.AxisProperty"},{"name":"axLabelFontStyle","comment":" Font style of an axis label (e.g. \"italic\")\n","type":"String.String -> VegaLite.AxisProperty"},{"name":"axLabelFontWeight","comment":" Font weight of an axis label.\n","type":"VegaLite.FontWeight -> VegaLite.AxisProperty"},{"name":"axLabelLimit","comment":" Maximum length in pixels of axis tick labels.\n","type":"Basics.Float -> VegaLite.AxisProperty"},{"name":"axLabelLineHeight","comment":" Axis label line height (useful for multi-line labels).\n","type":"Basics.Float -> VegaLite.AxisProperty"},{"name":"axLabelOffset","comment":" Offset in pixels of an axis's labels relative to its ticks.\n","type":"Basics.Float -> VegaLite.AxisProperty"},{"name":"axLabelOpacity","comment":" Opacity of an axis label.\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.\n","type":"VegaLite.OverlapStrategy -> VegaLite.AxisProperty"},{"name":"axLabelPadding","comment":" Padding in pixels between an axis and its text labels.\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).\n","type":"Basics.Float -> VegaLite.AxisProperty"},{"name":"axLabels","comment":" Whether or not axis labels should be displayed.\n","type":"Basics.Bool -> VegaLite.AxisProperty"},{"name":"axMaxExtent","comment":" Maximum extent in pixels that axis ticks and labels should use.\n","type":"Basics.Float -> VegaLite.AxisProperty"},{"name":"axMinExtent","comment":" Minimum extent in pixels that axis ticks and labels should use.\n","type":"Basics.Float -> VegaLite.AxisProperty"},{"name":"axOffset","comment":" Offset to displace the axis from the edge of the enclosing group or data rectangle.\n","type":"Basics.Float -> VegaLite.AxisProperty"},{"name":"axOrient","comment":" Orientation of an axis relative to the plot it is describing.\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.\n","type":"Basics.Float -> 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.\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":"axTickColor","comment":" Color of axis ticks.\n","type":"String.String -> VegaLite.AxisProperty"},{"name":"axTickCount","comment":" Desired number of ticks for axes visualizing quantitative scales.\nThe resulting number may be different so that values are “nice” (multiples of 2, 5, 10).\n","type":"Basics.Int -> 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.\n","type":"List.List Basics.Float -> VegaLite.AxisProperty"},{"name":"axTickExtra","comment":" Whether or not an extra axis tick should be added for the initial position\nof an axis.\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.\n","type":"Basics.Float -> VegaLite.AxisProperty"},{"name":"axTickOffset","comment":" Offset in pixels of an axis's ticks, labels and gridlines.\n","type":"Basics.Float -> VegaLite.AxisProperty"},{"name":"axTickOpacity","comment":" Opacity of axis ticks.\n","type":"Basics.Float -> VegaLite.AxisProperty"},{"name":"axTickRound","comment":" Whether or not axis tick positions should be rounded to nearest integer.\n","type":"Basics.Bool -> VegaLite.AxisProperty"},{"name":"axTickSize","comment":" Tick mark size in pixels.\n","type":"Basics.Float -> VegaLite.AxisProperty"},{"name":"axTickStep","comment":" Deprecated in favour of [axTickMinStep](#axTickMinStep).\n","type":"Basics.Float -> VegaLite.AxisProperty"},{"name":"axTickWidth","comment":" Width of axis ticks.\n","type":"Basics.Float -> VegaLite.AxisProperty"},{"name":"axTicks","comment":" Whether or not an axis should include tick marks.\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.\n","type":"String.String -> VegaLite.AxisProperty"},{"name":"axTitleAlign","comment":" Horizontal alignment of an axis title.\n","type":"VegaLite.HAlign -> VegaLite.AxisProperty"},{"name":"axTitleAnchor","comment":" Anchor position of an axis title.\n","type":"VegaLite.Anchor -> VegaLite.AxisProperty"},{"name":"axTitleAngle","comment":" Angle of an axis title (degrees from horizontal).\n","type":"Basics.Float -> VegaLite.AxisProperty"},{"name":"axTitleBaseline","comment":" Vertical alignment of axis title.\n","type":"VegaLite.VAlign -> VegaLite.AxisProperty"},{"name":"axTitleColor","comment":" Color of axis title.\n","type":"String.String -> VegaLite.AxisProperty"},{"name":"axTitleFont","comment":" Font name for an axis title.\n","type":"String.String -> VegaLite.AxisProperty"},{"name":"axTitleFontSize","comment":" Font size of an axis title.\n","type":"Basics.Float -> VegaLite.AxisProperty"},{"name":"axTitleFontStyle","comment":" Font style of an axis title (e.g. \"italic\").\n","type":"String.String -> VegaLite.AxisProperty"},{"name":"axTitleFontWeight","comment":" Font weight of an axis title.\n","type":"VegaLite.FontWeight -> VegaLite.AxisProperty"},{"name":"axTitleLimit","comment":" Maximum length in pixels of axis title.\n","type":"Basics.Float -> VegaLite.AxisProperty"},{"name":"axTitleOpacity","comment":" Opacity of an axis title.\n","type":"Basics.Float -> VegaLite.AxisProperty"},{"name":"axTitlePadding","comment":" Padding in pixels between a title and axis.\n","type":"Basics.Float -> VegaLite.AxisProperty"},{"name":"axTitleX","comment":" X position of an axis title relative to the axis group.\n","type":"Basics.Float -> VegaLite.AxisProperty"},{"name":"axTitleY","comment":" Y position of an axis title relative to the axis group.\n","type":"Basics.Float -> VegaLite.AxisProperty"},{"name":"axValues","comment":" Set explicit tick/grid/label values along an axis. For example, for a\nquantitative 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":" Indicate configuration should be applied to the x-axis only.\n","type":"VegaLite.AxisChoice"},{"name":"axY","comment":" Indicate configuration should be applied to the y-axis only.\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.\n","type":"Basics.Int -> VegaLite.AxisProperty"},{"name":"axcoBandPosition","comment":" Default axis band position.\n","type":"Basics.Float -> VegaLite.AxisConfig"},{"name":"axcoDomain","comment":" Whether or not an axis domain should be displayed by default.\n","type":"Basics.Bool -> VegaLite.AxisConfig"},{"name":"axcoDomainColor","comment":" Default axis domain color.\n","type":"String.String -> VegaLite.AxisConfig"},{"name":"axcoDomainOpacity","comment":" Default axis domain opacity.\n","type":"Basics.Float -> VegaLite.AxisConfig"},{"name":"axcoDomainWidth","comment":" Default axis domain width style.\n","type":"Basics.Float -> VegaLite.AxisConfig"},{"name":"axcoGrid","comment":" Whether or not an axis grid is displayed by default.\n","type":"Basics.Bool -> VegaLite.AxisConfig"},{"name":"axcoGridColor","comment":" Default axis grid color style.\n","type":"String.String -> VegaLite.AxisConfig"},{"name":"axcoGridDash","comment":" Default axis line dash style.\n","type":"List.List Basics.Float -> VegaLite.AxisConfig"},{"name":"axcoGridOpacity","comment":" Default axis grid line opacity.\n","type":"Basics.Float -> VegaLite.AxisConfig"},{"name":"axcoGridWidth","comment":" Default axis grid line width.\n","type":"Basics.Float -> VegaLite.AxisConfig"},{"name":"axcoLabelAlign","comment":" Default axis label horizontal alignment.\n","type":"VegaLite.HAlign -> VegaLite.AxisConfig"},{"name":"axcoLabelAngle","comment":" Default axis label angle (degrees from horizontal).\n","type":"Basics.Float -> VegaLite.AxisConfig"},{"name":"axcoLabelBaseline","comment":" Default axis label vertical alignment.\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.\n","type":"Maybe.Maybe Basics.Float -> VegaLite.AxisConfig"},{"name":"axcoLabelColor","comment":" Default axis label color.\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.\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.\n","type":"Maybe.Maybe Basics.Float -> VegaLite.AxisConfig"},{"name":"axcoLabelFlushOffset","comment":" Default number of pixels by which to offset flush-adjusted labels.\n","type":"Basics.Float -> VegaLite.AxisConfig"},{"name":"axcoLabelFont","comment":" Default axis label font.\n","type":"String.String -> VegaLite.AxisConfig"},{"name":"axcoLabelFontSize","comment":" Default axis label font size.\n","type":"Basics.Float -> VegaLite.AxisConfig"},{"name":"axcoLabelFontStyle","comment":" Default axis label font style (e.g. \"italic\")\n","type":"String.String -> VegaLite.AxisConfig"},{"name":"axcoLabelFontWeight","comment":" Default axis label font weight.\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).\n","type":"Basics.Float -> VegaLite.AxisConfig"},{"name":"axcoLabelLineHeight","comment":" Default axis label line height (useful for multi-line labels).\n","type":"Basics.Float -> VegaLite.AxisConfig"},{"name":"axcoLabelOpacity","comment":" Default axis label opacity.\n","type":"Basics.Float -> VegaLite.AxisConfig"},{"name":"axcoLabelOverlap","comment":" Default axis label overlap strategy for cases where labels cannot\nfit within the allotted space.\n","type":"VegaLite.OverlapStrategy -> VegaLite.AxisConfig"},{"name":"axcoLabelPadding","comment":" Default axis label padding (space between labels in pixels).\n","type":"Basics.Float -> VegaLite.AxisConfig"},{"name":"axcoLabelSeparation","comment":" Default axis label separation (minimum spacing between axis labels).\n","type":"Basics.Float -> VegaLite.AxisConfig"},{"name":"axcoLabels","comment":" Whether or not an axis has labels by default.\n","type":"Basics.Bool -> VegaLite.AxisConfig"},{"name":"axcoMaxExtent","comment":" Default maximum extent style.\n","type":"Basics.Float -> VegaLite.AxisConfig"},{"name":"axcoMinExtent","comment":" Default minimum extent style.\n","type":"Basics.Float -> VegaLite.AxisConfig"},{"name":"axcoShortTimeLabels","comment":" Deprecated since short time labels are used by default since VL4\n","type":"Basics.Bool -> VegaLite.AxisConfig"},{"name":"axcoTickColor","comment":" Default axis tick mark color.\n","type":"String.String -> VegaLite.AxisConfig"},{"name":"axcoTickCount","comment":" Default number of quantitative axis ticks. The resulting number may be\ndifferent so that values are “nice” (multiples of 2, 5, 10).\n","type":"Basics.Int -> VegaLite.AxisConfig"},{"name":"axcoTickExtra","comment":" Whether or not by default an extra axis tick should be added for the initial\nposition of axes.\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.\n","type":"Basics.Float -> VegaLite.AxisConfig"},{"name":"axcoTickOffset","comment":" Default offset in pixels of axis ticks, labels and gridlines.\n","type":"Basics.Float -> VegaLite.AxisConfig"},{"name":"axcoTickOpacity","comment":" Default opacity of axis ticks.\n","type":"Basics.Float -> VegaLite.AxisConfig"},{"name":"axcoTickRound","comment":" Whether or not axis tick labels use rounded values by default.\n","type":"Basics.Bool -> VegaLite.AxisConfig"},{"name":"axcoTickSize","comment":" Default axis tick mark size.\n","type":"Basics.Float -> VegaLite.AxisConfig"},{"name":"axcoTickStep","comment":" Deprecated in favour of [axcoTickMinStep](#axcoTickMinStep).\n","type":"Basics.Float -> VegaLite.AxisConfig"},{"name":"axcoTickWidth","comment":" Default axis tick mark width.\n","type":"Basics.Float -> VegaLite.AxisConfig"},{"name":"axcoTicks","comment":" Whether or not an axis should show ticks by default.\n","type":"Basics.Bool -> VegaLite.AxisConfig"},{"name":"axcoTitleAlign","comment":" Default axis tick label horizontal alignment.\n","type":"VegaLite.HAlign -> VegaLite.AxisConfig"},{"name":"axcoTitleAnchor","comment":" Default anchor position of axis titles.\n","type":"VegaLite.Anchor -> VegaLite.AxisConfig"},{"name":"axcoTitleAngle","comment":" Default axis title angle (degrees from horizontal).\n","type":"Basics.Float -> VegaLite.AxisConfig"},{"name":"axcoTitleBaseline","comment":" Default axis title vertical alignment.\n","type":"VegaLite.VAlign -> VegaLite.AxisConfig"},{"name":"axcoTitleColor","comment":" Default axis title color.\n","type":"String.String -> VegaLite.AxisConfig"},{"name":"axcoTitleFont","comment":" Default axis title font.\n","type":"String.String -> VegaLite.AxisConfig"},{"name":"axcoTitleFontSize","comment":" Default axis title font size.\n","type":"Basics.Float -> VegaLite.AxisConfig"},{"name":"axcoTitleFontStyle","comment":" Default axis title font style (e.g. \"italic\").\n","type":"String.String -> VegaLite.AxisConfig"},{"name":"axcoTitleFontWeight","comment":" Default axis title font weight.\n","type":"VegaLite.FontWeight -> VegaLite.AxisConfig"},{"name":"axcoTitleLimit","comment":" Default axis title maximum size.\n","type":"Basics.Float -> VegaLite.AxisConfig"},{"name":"axcoTitleLineHeight","comment":" Default line height for multi-line axis titles.\n","type":"Basics.Float -> VegaLite.AxisConfig"},{"name":"axcoTitleOpacity","comment":" Default opacity of axis titles.\n","type":"Basics.Float -> VegaLite.AxisConfig"},{"name":"axcoTitlePadding","comment":" Default axis title padding between axis line and text.\n","type":"Basics.Float -> VegaLite.AxisConfig"},{"name":"axcoTitleX","comment":" Default axis x-position relative to the axis group.\n","type":"Basics.Float -> VegaLite.AxisConfig"},{"name":"axcoTitleY","comment":" Default axis y-position relative to the axis group.\n","type":"Basics.Float -> VegaLite.AxisConfig"},{"name":"azimuthalEqualArea","comment":" An azimuthal equal area map projection.\n","type":"VegaLite.Projection"},{"name":"azimuthalEquidistant","comment":" An azimuthal equidistant map projection.\n","type":"VegaLite.Projection"},{"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\nstring such as `#ffe` or `rgb(200,20,150)`. If not specified the background will\nbe white.\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.\n","type":"Basics.Float -> VegaLite.BinProperty"},{"name":"biBase","comment":" Number base to use for automatic bin determination (default is base 10).\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.\n","type":"List.List Basics.Float -> VegaLite.BinProperty"},{"name":"biExtent","comment":" Desired range of bin values when binning a collection of values.\nThe first and second parameters indicate the minimum and maximum range values.\nTo base a binning extent on an interactive selection, use\n[biSelectionExtent](#biSelectionExtent) instead.\n","type":"Basics.Float -> Basics.Float -> VegaLite.BinProperty"},{"name":"biMaxBins","comment":" Maximum number of bins when binning a collection of values.\n","type":"Basics.Int -> VegaLite.BinProperty"},{"name":"biMinStep","comment":" Step size between bins when binning a collection of values.\n","type":"Basics.Float -> VegaLite.BinProperty"},{"name":"biNice","comment":" Whether or not binning boundaries use human-friendly values such as multiples\nof ten.\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 that defines the extent.\n\nFor example,\n\n    sel =\n        selection\n            << select \"brush\" seInterval [ seEncodings [ chX ] ]\n\n    enc =\n        encoding\n            << position X\n                [ pName \"temperature\"\n                , pBin [ biSelectionExtent \"brush\" ]\n                , pQuant\n                ]\n\n","type":"String.String -> VegaLite.BinProperty"},{"name":"biStep","comment":" Step size between bins when binning a collection of values.\n","type":"Basics.Float -> VegaLite.BinProperty"},{"name":"biSteps","comment":" Allowable step sizes between bins when binning a collection of values.\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 optiona ([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.\n\n    trans =\n        transform\n            << binAs [ biMaxBins 3 ] \"IMDB_Rating\" \"ratingGroup\"\n\nNote that usually, direct binning within an encoding is preferred over this form\nof bin transformation.\n\n","type":"List.List VegaLite.BinProperty -> String.String -> String.String -> List.List VegaLite.LabelledSpec -> List.List VegaLite.LabelledSpec"},{"name":"blChannel","comment":" The channel shown to be made interactive in an interactive legend binding.\n`seBindLegend` should specify either this channel or a data field with [blField](#blField).\n","type":"VegaLite.Channel -> VegaLite.BindLegendProperty"},{"name":"blEvent","comment":" A [Vega event stream](https://vega.github.io/vega/docs/event-streams) that triggers\nan interactive legend selection. If not specified, the selection is triggered with\na single click.\n","type":"String.String -> VegaLite.BindLegendProperty"},{"name":"blField","comment":" The data field shown to be made interactive in an interactive legend binding.\n`seBindLegend` should specify either this field or a channel with [blChannel](#blChannel).\n","type":"String.String -> VegaLite.BindLegendProperty"},{"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.\n","type":"VegaLite.BlendMode"},{"name":"bmExclusion","comment":" Exclusion blend mode to be applied when drawing over some background.\n","type":"VegaLite.BlendMode"},{"name":"bmHardLight","comment":" Hard light blend mode to be applied when drawing over some background.\n","type":"VegaLite.BlendMode"},{"name":"bmHue","comment":" Hue blend mode to be applied when drawing over some background.\n","type":"VegaLite.BlendMode"},{"name":"bmLighten","comment":" Lighten blend mode to be applied when drawing over some background.\n","type":"VegaLite.BlendMode"},{"name":"bmLuminosity","comment":" Luminosity blend mode to be applied when drawing over some background.\n","type":"VegaLite.BlendMode"},{"name":"bmMultiply","comment":" Multiplicative blend mode to be applied when drawing over some background.\n","type":"VegaLite.BlendMode"},{"name":"bmNormal","comment":" Indicate the default blend mode should be applied when drawing over some background.\n","type":"VegaLite.BlendMode"},{"name":"bmOverlay","comment":" Overlay blend mode to be applied when drawing over some background.\n","type":"VegaLite.BlendMode"},{"name":"bmSaturation","comment":" Saturation blend mode to be applied when drawing over some background.\n","type":"VegaLite.BlendMode"},{"name":"bmScreen","comment":" Screen blend mode to be applied when drawing over some background.\n","type":"VegaLite.BlendMode"},{"name":"bmSoftLight","comment":" Soft light blend mode to be applied when drawing over some background.\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.\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 customized 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.\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. For example,\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.\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.\n","type":"List.List Basics.Float -> List.List 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.\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.\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.\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.\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.\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.\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.\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.\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.\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.\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.\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.\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.\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.\n","type":"List.List Basics.Float -> List.List 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.\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.\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.\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).\n","type":"VegaLite.CompositionAlignment"},{"name":"caButt","comment":" Butt stroke cap.\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.\n","type":"VegaLite.CompositionAlignment"},{"name":"caNone","comment":" Flow layout is to be applied to composed views, in which adjacent subviews\nare placed one after the other.\n","type":"VegaLite.CompositionAlignment"},{"name":"caRound","comment":" Rounded stroke cap.\n","type":"VegaLite.StrokeCap"},{"name":"caSquare","comment":" Square stroke cap.\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 color mappings suitable for customising categorical\nscales. The first item in each tuple should be a domain value and the second the\ncolor 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.\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":" Color channel to be used in a resolution specification\n","type":"VegaLite.Channel"},{"name":"chOpacity","comment":" Opacity channel to be used in a resolution specification\n","type":"VegaLite.Channel"},{"name":"chShape","comment":" Shape channel to be used in a resolution specification\n","type":"VegaLite.Channel"},{"name":"chSize","comment":" Size channel to be used in a resolution specification\n","type":"VegaLite.Channel"},{"name":"chStrokeDash","comment":" Stroke dash channel to be used in a resolution specification\n","type":"VegaLite.Channel"},{"name":"chX","comment":" X-channel to be used in a resolution specification\n","type":"VegaLite.Channel"},{"name":"chX2","comment":" X2-channel to be used in a resolution specification\n","type":"VegaLite.Channel"},{"name":"chY","comment":" Y-channel to be used in a resolution specification\n","type":"VegaLite.Channel"},{"name":"chY2","comment":" Y2-channel to be used in a resolution specification\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":" Clipping rectangle in pixel units. The four parameters are respectively\n'left', 'top', 'right' and 'bottom' of the rectangular clipping bounds.\n","type":"Basics.Float -> Basics.Float -> Basics.Float -> Basics.Float -> VegaLite.ClipRect"},{"name":"coArea","comment":" Configure the default appearance of area marks.\n","type":"List.List VegaLite.MarkProperty -> VegaLite.ConfigurationProperty"},{"name":"coAutosize","comment":" Configure the default sizing of visualizations.\n","type":"List.List VegaLite.Autosize -> VegaLite.ConfigurationProperty"},{"name":"coAxis","comment":" Configure the default appearance of axes.\n","type":"List.List VegaLite.AxisConfig -> VegaLite.ConfigurationProperty"},{"name":"coAxisBand","comment":" Configure the default appearance of any axes using a band (binned) scale.\n","type":"List.List VegaLite.AxisConfig -> VegaLite.ConfigurationProperty"},{"name":"coAxisBottom","comment":" Configure the default appearance of bottom-side axes.\n","type":"List.List VegaLite.AxisConfig -> VegaLite.ConfigurationProperty"},{"name":"coAxisDiscrete","comment":" Configure the default appearance of any axes using a discrete scale.\n","type":"List.List VegaLite.AxisConfig -> VegaLite.ConfigurationProperty"},{"name":"coAxisLeft","comment":" Configure the default appearance of left-side axes.\n","type":"List.List VegaLite.AxisConfig -> VegaLite.ConfigurationProperty"},{"name":"coAxisPoint","comment":" Configure the default appearance of any axes using a point scale.\n","type":"List.List VegaLite.AxisConfig -> VegaLite.ConfigurationProperty"},{"name":"coAxisQuant","comment":" Configure the default appearance of any quantitatice axes.\n","type":"List.List VegaLite.AxisConfig -> VegaLite.ConfigurationProperty"},{"name":"coAxisRight","comment":" Configure the default appearance of right-side axes.\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).\n","type":"List.List ( String.String, List.List VegaLite.AxisProperty ) -> VegaLite.ConfigurationProperty"},{"name":"coAxisTemporal","comment":" Configure the default appearance of any temporal axes.\n","type":"List.List VegaLite.AxisConfig -> VegaLite.ConfigurationProperty"},{"name":"coAxisTop","comment":" Configure the default appearance of top-side axes.\n","type":"List.List VegaLite.AxisConfig -> VegaLite.ConfigurationProperty"},{"name":"coAxisX","comment":" Deprecated in favour of [coAxisXFilter](#coAxisXFilter).\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":"coAxisY","comment":" Deprecated in favour of [coAxisYFilter](#coAxisYFilter).\n","type":"List.List VegaLite.AxisConfig -> 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.\n","type":"String.String -> VegaLite.ConfigurationProperty"},{"name":"coBar","comment":" Configure the default appearance of bar marks.\n","type":"List.List VegaLite.MarkProperty -> VegaLite.ConfigurationProperty"},{"name":"coCircle","comment":" Configure the default appearance of circle marks.\n","type":"List.List VegaLite.MarkProperty -> VegaLite.ConfigurationProperty"},{"name":"coConcat","comment":" Configure the default appearance of concatenated layouts.\n","type":"List.List VegaLite.ConcatConfig -> VegaLite.ConfigurationProperty"},{"name":"coCountTitle","comment":" Configure the default title style for count fields.\n","type":"String.String -> VegaLite.ConfigurationProperty"},{"name":"coFacet","comment":" Configure the default appearance of facet layouts.\n","type":"List.List VegaLite.FacetConfig -> VegaLite.ConfigurationProperty"},{"name":"coFieldTitle","comment":" Configure the default title generation style for fields.\n","type":"VegaLite.FieldTitleProperty -> VegaLite.ConfigurationProperty"},{"name":"coFont","comment":" Configure the default font for all titles, labels and text marks.\n","type":"String.String -> VegaLite.ConfigurationProperty"},{"name":"coGeoshape","comment":" Configure the default appearance of geoshape marks.\n","type":"List.List VegaLite.MarkProperty -> VegaLite.ConfigurationProperty"},{"name":"coHeader","comment":" Configure the default appearance of facet headers.\n","type":"List.List VegaLite.HeaderProperty -> VegaLite.ConfigurationProperty"},{"name":"coLegend","comment":" Configure the default appearance of legends.\n","type":"List.List VegaLite.LegendConfig -> VegaLite.ConfigurationProperty"},{"name":"coLine","comment":" Configure the default appearance of line marks.\n","type":"List.List VegaLite.MarkProperty -> VegaLite.ConfigurationProperty"},{"name":"coMark","comment":" Configure the default mark appearance.\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. Provided for compatibility with\nVega-Lite, but generally greater type safety is achieved in elm-vegalite by creating\nelm functions that generate lists of [MarkProperties](#MarkProperty).\n","type":"List.List ( String.String, List.List VegaLite.MarkProperty ) -> VegaLite.ConfigurationProperty"},{"name":"coNamedStyle","comment":" Deprecated in favour of [coMarkStyles](#coMarkStyles].\n","type":"String.String -> List.List VegaLite.MarkProperty -> VegaLite.ConfigurationProperty"},{"name":"coNamedStyles","comment":" Deprecated in favour of [coMarkStyles](#coMarkStyles].\n","type":"List.List ( String.String, List.List VegaLite.MarkProperty ) -> VegaLite.ConfigurationProperty"},{"name":"coNumberFormat","comment":" Configure the default number formatting for axis and text labels.\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.\n","type":"VegaLite.Padding -> VegaLite.ConfigurationProperty"},{"name":"coPoint","comment":" Configure the default appearance of point marks.\n","type":"List.List VegaLite.MarkProperty -> VegaLite.ConfigurationProperty"},{"name":"coProjection","comment":" Configure the default style of map projections.\n","type":"List.List VegaLite.ProjectionProperty -> VegaLite.ConfigurationProperty"},{"name":"coRange","comment":" Configure the default range properties used when scaling.\n","type":"List.List VegaLite.RangeConfig -> VegaLite.ConfigurationProperty"},{"name":"coRect","comment":" Configure the default appearance of rectangle marks.\n","type":"List.List VegaLite.MarkProperty -> VegaLite.ConfigurationProperty"},{"name":"coRule","comment":" Configure the default appearance of rule marks.\n","type":"List.List VegaLite.MarkProperty -> VegaLite.ConfigurationProperty"},{"name":"coScale","comment":" Configure the default scale properties used when scaling.\n","type":"List.List VegaLite.ScaleConfig -> VegaLite.ConfigurationProperty"},{"name":"coSelection","comment":" Configure the default appearance of selection marks.\n","type":"List.List ( VegaLite.Selection, List.List VegaLite.SelectionProperty ) -> VegaLite.ConfigurationProperty"},{"name":"coSquare","comment":" Configure the default appearance of square marks.)\n","type":"List.List VegaLite.MarkProperty -> VegaLite.ConfigurationProperty"},{"name":"coStack","comment":" Deprecated as stack offset is not supported since Vega-Lite 4.\n","type":"VegaLite.StackOffset -> VegaLite.ConfigurationProperty"},{"name":"coText","comment":" Configure the default appearance of text marks.\n","type":"List.List VegaLite.MarkProperty -> VegaLite.ConfigurationProperty"},{"name":"coTick","comment":" Configure the default appearance of tick marks.\n","type":"List.List VegaLite.MarkProperty -> VegaLite.ConfigurationProperty"},{"name":"coTimeFormat","comment":" Configure the default time format for axis and legend labels.\n","type":"String.String -> VegaLite.ConfigurationProperty"},{"name":"coTitle","comment":" Configure the default style of visualization titles.\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.\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.\n","type":"Basics.Int -> VegaLite.ConcatConfig"},{"name":"cocoSpacing","comment":" Configuration option for the spacing in pixels between sub-views in a\nconcatenated view.\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).\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.\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    combineSpecs\n        [ ( \"vis1\", myFirstVis )\n        , ( \"vis2\", mySecondVis )\n        , ( \"vis3\", myOtherVis )\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.\nSee the [Vega-Lite documentation](https://vega.github.io/vega-lite/docs/config.html).\n\nThe following would make axis lines (domain) 2 pixels wide, remove the border\nrectangle and require 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 [ ( seSingle, [ 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 conic map projection.\n","type":"VegaLite.Projection"},{"name":"conicEqualArea","comment":" An equal area conic map projection.\n","type":"VegaLite.Projection"},{"name":"conicEquidistant","comment":" An equidistant conic map projection.\n","type":"VegaLite.Projection"},{"name":"csv","comment":" CSV data file format (only necessary if the file extension does not indicate the\ntype).\n","type":"VegaLite.Format"},{"name":"cuAlias","comment":" Alias cursor.\n","type":"VegaLite.Cursor"},{"name":"cuAllScroll","comment":" Scrolling cursor.\n","type":"VegaLite.Cursor"},{"name":"cuAuto","comment":" Automatically determine a cursor type depending on interaction context.\n","type":"VegaLite.Cursor"},{"name":"cuCell","comment":" Cell cursor.\n","type":"VegaLite.Cursor"},{"name":"cuColResize","comment":" Resizing cursor.\n","type":"VegaLite.Cursor"},{"name":"cuContextMenu","comment":" Context menu cursor.\n","type":"VegaLite.Cursor"},{"name":"cuCopy","comment":" Copy cursor.\n","type":"VegaLite.Cursor"},{"name":"cuCrosshair","comment":" Crosshair cursor.\n","type":"VegaLite.Cursor"},{"name":"cuDefault","comment":" Default cursor.\n","type":"VegaLite.Cursor"},{"name":"cuEResize","comment":" Resizing cursor.\n","type":"VegaLite.Cursor"},{"name":"cuEWResize","comment":" Resizing cursor.\n","type":"VegaLite.Cursor"},{"name":"cuGrab","comment":" Grab cursor.\n","type":"VegaLite.Cursor"},{"name":"cuGrabbing","comment":" Grabbing cursor.\n","type":"VegaLite.Cursor"},{"name":"cuHelp","comment":" Help cursor.\n","type":"VegaLite.Cursor"},{"name":"cuMove","comment":" Move cursor.\n","type":"VegaLite.Cursor"},{"name":"cuNEResize","comment":" Resizing cursor.\n","type":"VegaLite.Cursor"},{"name":"cuNESWResize","comment":" Resizing cursor.\n","type":"VegaLite.Cursor"},{"name":"cuNResize","comment":" Resizing cursor.\n","type":"VegaLite.Cursor"},{"name":"cuNSResize","comment":" Resizing cursor.\n","type":"VegaLite.Cursor"},{"name":"cuNWResize","comment":" Resizing cursor.\n","type":"VegaLite.Cursor"},{"name":"cuNWSEResize","comment":" Resizing cursor.\n","type":"VegaLite.Cursor"},{"name":"cuNoDrop","comment":" 'No drop' cursor.\n","type":"VegaLite.Cursor"},{"name":"cuNone","comment":" No cursor.\n","type":"VegaLite.Cursor"},{"name":"cuNotAllowed","comment":" 'Not allowed' cursor.\n","type":"VegaLite.Cursor"},{"name":"cuPointer","comment":" Pointer cursor.\n","type":"VegaLite.Cursor"},{"name":"cuProgress","comment":" Progress cursor.\n","type":"VegaLite.Cursor"},{"name":"cuRowResize","comment":" Resizing cursor.\n","type":"VegaLite.Cursor"},{"name":"cuSEResize","comment":" Resizing cursor.\n","type":"VegaLite.Cursor"},{"name":"cuSResize","comment":" Resizing cursor.\n","type":"VegaLite.Cursor"},{"name":"cuSWResize","comment":" Resizing cursor.\n","type":"VegaLite.Cursor"},{"name":"cuText","comment":" Text cursor.\n","type":"VegaLite.Cursor"},{"name":"cuVerticalText","comment":" Vertical text cursor.\n","type":"VegaLite.Cursor"},{"name":"cuWResize","comment":" Resizing cursor.\n","type":"VegaLite.Cursor"},{"name":"cuWait","comment":" Waiting cursor.\n","type":"VegaLite.Cursor"},{"name":"cuZoomIn","comment":" Zooming cursor.\n","type":"VegaLite.Cursor"},{"name":"cuZoomOut","comment":" Zooming cursor.\n","type":"VegaLite.Cursor"},{"name":"cubeHelix","comment":" Cube helix color interpolation for continuous color scales using the given\ngamma value (anchored at 1).\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).\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\"`).\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 (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\n(grouping) channel.\n","type":"List.List VegaLite.BinProperty -> VegaLite.DetailChannel"},{"name":"dGeo","comment":" Indicate a data field encoded with a detail channel is a geo feature. Equivalent\nto `dMType GeoFeature`.\n","type":"VegaLite.DetailChannel"},{"name":"dMType","comment":" Level of measurement when encoding with a detail (grouping) channel. See also\n[dNominal](#dNominal), dOrdinal](#dOrdinal), [dQuant](#dQuant),\n[dTemporal](#dTemporal) and [dGeo](#dGeo) for shorthand equivalents.\n","type":"VegaLite.Measurement -> VegaLite.DetailChannel"},{"name":"dName","comment":" Name of field used for encoding with a level of detail (grouping) channel.\n","type":"String.String -> VegaLite.DetailChannel"},{"name":"dNominal","comment":" Indicate a data field encoded with a detail channel is nominal. Equivalent to\n`dMType Nominal`.\n","type":"VegaLite.DetailChannel"},{"name":"dOrdinal","comment":" Indicate a data field encoded with a detail channel is ordinal. Equivalent to\n`dMType Ordinal`.\n","type":"VegaLite.DetailChannel"},{"name":"dQuant","comment":" Indicate a data field encoded with a detail channel is quantitative. Equivalent\nto `dMType Quantitative`.\n","type":"VegaLite.DetailChannel"},{"name":"dTemporal","comment":" Indicate a data field encoded with a detail channel is temporal. Equivalent to\n`dMType Temporal`.\n","type":"VegaLite.DetailChannel"},{"name":"dTimeUnit","comment":" Form of time unit aggregation of field values when encoding with a level of\ndetail (grouping) channel.\n","type":"VegaLite.TimeUnit -> VegaLite.DetailChannel"},{"name":"dataColumn","comment":" Create a column of data. A column has a name and a list of values.\n","type":"String.String -> VegaLite.DataValues -> List.List VegaLite.DataColumn -> List.List VegaLite.DataColumn"},{"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 as default date-time formats can vary between browsers.\n\nThe columns are most easily generated with [dataColumn](#dataColumn):\n\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 [ \"2010\", \"2014\", \"2015\" ])\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).\nFor example,\n\n    let\n        geojson =\n            geometry (geoPolygon [ [ ( -3, 59 ), ( 4, 59 ), ( 4, 52 ), ( -3, 59 ) ] ]) []\n    in\n    toVegaLite\n        [ width 200\n        , height 200\n        , dataFromJson geojson []\n        , projection [ prType orthographic ]\n        , geoshape []\n        ]\n\nFor more general cases of json creation such as data tables that mix arrays and\nobjects, consider using with Elm's\n[`Json.Encode`](http://package.elm-lang.org/packages/elm-lang/core/5.1.1/Json-Encode).\nFor example,\n\n    row title ranges =\n        Json.Encode.object\n            [ ( \"title\", Json.Encode.string title )\n            , ( \"ranges\", Json.Encode.list Json.Encode.float ranges )\n            ]\n\n    data =\n        dataFromJson\n            (Json.Encode.list identity\n                [ row \"Revenue\" [ 150, 225, 300 ]\n                , row \"Profit\" [ 20, 25, 30 ]\n                , row \"Order size\" [ 350, 500, 600 ]\n                , row \"New customers\" [ 1400, 2000, 2500 ]\n                , row \"Satisfaction\" [ 3.5, 4.25, 5 ]\n                ]\n            )\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    data =\n        dataFromRows [ parse [ ( \"Year\", foDate \"%Y\" ) ] ]\n            << dataRow [ ( \"Animal\", str \"Fish\" ), ( \"Age\", num 28 ), ( \"Year\", str \"2010\" ) ]\n            << dataRow [ ( \"Animal\", str \"Dog\" ), ( \"Age\", num 12 ), ( \"Year\", str \"2014\" ) ]\n            << dataRow [ ( \"Animal\", str \"Cat\" ), ( \"Age\", num 6 ), ( \"Year\", str \"2015\" ) ]\n\nGenerally, adding data by column is more efficient and less error-prone. For more\ncomplex inline data tables, such as mixtures of arrays and objects, consider using\n[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    data = ...\n    json = ...\n    enc = ...\n    toVegaLite\n        [ datasets [ ( \"myData\", data [] ),  ( \"myJson\", dataFromJson json [] ) ]\n        , dataFromSource \"myData\" []\n        , enc []\n        , bar []\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 on a web server\nor an external (CORS) URL. A list of field formatting instructions can be provided\nas the second parameter or an empty list to use the default formatting.\n\n    bikeData =\n        dataFromUrl \"./data/bicycleHires.csv\"\n            [ parse [ ( \"numHires\", foNum ), ( \"avHireTime\", foNum ) ] ]\n\n    popData =\n        dataFromUrl \"https://vega.github.io/vega-lite/data/population.json\" []\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    data =\n        dataFromUrl \"myData.json\" [] |> dataName \"myName\"\n\n","type":"String.String -> VegaLite.Data -> VegaLite.Data"},{"name":"dataRow","comment":" Create a row of data. A row comprises a list of (_columnName_, _value_) pairs.\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`.\n\n    myData =\n        dataSequence 0 6.28 0.1\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 =\n        dataSequenceAs 0 6.28 0.1 \"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    import Json.Encode as JE\n\n    let\n        data =\n            dataFromRows []\n                << dataRow [ ( \"cat\", str \"a\" ), ( \"val\", num 10 ) ]\n                << dataRow [ ( \"cat\", str \"b\" ), ( \"val\", num 18 ) ]\n        json =\n            JE.list JE.object\n                [ [ ( \"cat\", JE.string \"a\" ), ( \"val\", JE.float 120 ) ]\n                , [ ( \"cat\", JE.string \"b\" ), ( \"val\", JE.float 180 ) ]\n                ]\n\n        enc = ...\n\n    in\n    toVegaLite\n        [ datasets [ ( \"myData\", data [] ),  ( \"myJson\", dataFromJson json [] ) ]\n        , dataFromSource \"myData\" []\n        , bar []\n        , enc []\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.\n","type":"VegaLite.TimeUnit"},{"name":"day","comment":" Day of the week time unit used for discretizing temporal data.\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 a 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 kernal 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).\n","type":"Basics.Float -> VegaLite.DensityProperty"},{"name":"dnCounts","comment":" Whether 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 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 estimation. If unspecified, the full extent of input\nvalues will be sampled.\n","type":"VegaLite.DataValue -> VegaLite.DataValue -> VegaLite.DensityProperty"},{"name":"dnGroupBy","comment":" The data fields to group by when estimating 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. 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\ndensity. 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\ndensity. 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 scale domain.\n","type":"List.List (List.List VegaLite.DateTime) -> VegaLite.ScaleDomain"},{"name":"doNums","comment":" Numeric values that define a scale domain.\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.\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.\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.\n","type":"String.String -> String.String -> VegaLite.ScaleDomain"},{"name":"doStrs","comment":" String values that define a scale domain.\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.\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":" Delimited file format (DSV) with a given separator.\n","type":"Char.Char -> VegaLite.Format"},{"name":"dt","comment":" Date-time data value.\n","type":"List.List VegaLite.DateTime -> VegaLite.DataValue"},{"name":"dtDate","comment":" Day of the month (1 to 31).\n","type":"Basics.Int -> VegaLite.DateTime"},{"name":"dtDay","comment":" Day of the week.\n","type":"VegaLite.DayName -> VegaLite.DateTime"},{"name":"dtHour","comment":" Hour of the day (0=midnight, 1=1am, 23=11pm etc.).\n","type":"Basics.Int -> VegaLite.DateTime"},{"name":"dtMillisecond","comment":" Millisecond of a second (0-999).\n","type":"Basics.Int -> VegaLite.DateTime"},{"name":"dtMinute","comment":" Minute of an hour (0-59).\n","type":"Basics.Int -> VegaLite.DateTime"},{"name":"dtMonth","comment":" Month of a year.\n","type":"VegaLite.MonthName -> VegaLite.DateTime"},{"name":"dtMonthNum","comment":" Month of a year as a number (1 - 12).\n","type":"VegaLite.MonthName -> VegaLite.DateTime"},{"name":"dtQuarter","comment":" Year quarter (1 to 4).\n","type":"Basics.Int -> VegaLite.DateTime"},{"name":"dtRange","comment":" Min max date-time range to be used in data filtering. If either\nparameter is an empty list, it is assumed to be unbounded.\n","type":"List.List VegaLite.DateTime -> List.List VegaLite.DateTime -> VegaLite.FilterRange"},{"name":"dtSecond","comment":" Second of a minute (0-59).\n","type":"Basics.Int -> VegaLite.DateTime"},{"name":"dtYear","comment":" A year.\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 customized 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\", mMType Nominal ]\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.\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 default [mercator](#mercator)\nprojection, it is neither equal-area nor conformal.\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. For example,\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. For example,\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.\n","type":"VegaLite.SummaryExtent"},{"name":"exIqr","comment":" Band extent between the lower and upper quartiles of a distribution.\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.\n","type":"Basics.Float -> VegaLite.SummaryExtent"},{"name":"exRange","comment":" Band extent between the minimum and maximum values in a distribution.\n","type":"VegaLite.SummaryExtent"},{"name":"exStderr","comment":" Band extent as the standard error about the mean of a distribution.\n","type":"VegaLite.SummaryExtent"},{"name":"exStdev","comment":" Band extent as the standard deviation of a distribution.\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/).\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.\n","type":"VegaLite.Operation -> VegaLite.FacetChannel"},{"name":"fAlign","comment":" Alignment to apply to a rows or columns in a facet's sub-plot.\n","type":"VegaLite.CompositionAlignment -> VegaLite.FacetChannel"},{"name":"fBin","comment":" Discretize numeric values into bins when encoding with a facet channel.\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.\n","type":"Basics.Bool -> VegaLite.FacetChannel"},{"name":"fGeo","comment":" Indicate a data field encoded as a facet property is a geo feature. Equivalent\nto `fMType GeoFeature`.\n","type":"VegaLite.FacetChannel"},{"name":"fHeader","comment":" Guide that spans a collection of faceted plots, each of which may have their own axes.\n","type":"List.List VegaLite.HeaderProperty -> VegaLite.FacetChannel"},{"name":"fMType","comment":" Level of measurement when encoding as a facet. See also [fNominal](#fNominal),\nfOrdinal](#fOrdinal), [fQuant](#fQuant), [fTemporal](#fTemporal) and [fGeo](#fGeo)\nfor shorthand equivalents.\n","type":"VegaLite.Measurement -> VegaLite.FacetChannel"},{"name":"fName","comment":" Name of field used for encoding with a facet channel.\n","type":"String.String -> VegaLite.FacetChannel"},{"name":"fNominal","comment":" Indicate a data field encoded as a facet property is nominal. Equivalent to\n`fMType Nominal`.\n","type":"VegaLite.FacetChannel"},{"name":"fOrdinal","comment":" Indicate a data field encoded as a facet property is ordinal. Equivalent to\n`fMType Ordinal`.\n","type":"VegaLite.FacetChannel"},{"name":"fQuant","comment":" Indicate a data field encoded as a facet property is quantitative. Equivalent\nto `fMType Quantitative`.\n","type":"VegaLite.FacetChannel"},{"name":"fSort","comment":" Sort order for a field when encoding with a faceted channel.\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.\n","type":"Basics.Float -> VegaLite.FacetChannel"},{"name":"fTemporal","comment":" Indicate a data field encoded as a facet property is temporal. Equivalent to\n`fMType Temporal`.\n","type":"VegaLite.FacetChannel"},{"name":"fTimeUnit","comment":" Form of time unit aggregation of field values when encoding with a facet channel.\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.\n","type":"Basics.Int -> VegaLite.FacetConfig"},{"name":"facoSpacing","comment":" Configuration option for the spacing in pixels between sub-views in a faceted\nview.\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`\n","type":"VegaLite.DataValue"},{"name":"fiCompose","comment":" Build up a filtering predicate through logical composition (`and`, `or` etc.).\nFor example, to filter only items selected interactively and that represent ages\nover 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.\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.\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.\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.\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.\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.\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.\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. For example,\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. For example the\nfollowing will aggregate a set of dates into years and filter only those years\nbetween 2010 and 2017 inclusive. Note the use of [fiCompose](#fiCompose) to\nconvert the Boolean operation back into a [Filter](#Filter).\n\n    filter\n        (fiRange \"date\" (dtRange [ dtYear 2010 ] [ dtYear 2017 ])\n            |> fiOpTrans (mTimeUnit year)\n            |> fiCompose\n        )\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. For 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 so that only data in a given field that are within the\ngiven interactive selection are used. For example,\n\n    sel =\n        selection\n            << select \"myBrush\" seInterval [ seEncodings [ chX ] ]\n\n    trans =\n        transform\n            << filter (fiSelection \"myBrush\")\n\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.\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.\n","type":"VegaLite.DataType"},{"name":"foDate","comment":" Date format for parsing input data using\n[D3's formatting specifiers](https://github.com/d3/d3-time-format#locale_format)\nor left as an empty string for default formatting.\n","type":"String.String -> VegaLite.DataType"},{"name":"foNum","comment":" Indicate numeric data type to be parsed when reading input data.\n","type":"VegaLite.DataType"},{"name":"foUtc","comment":" Similar to [foDate](#foDate) but for UTC format dates.\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":"ftFunction","comment":" Field titles to be displayed as 'SUM(field)', 'YEAR(date)' etc.\n","type":"VegaLite.FieldTitleProperty"},{"name":"ftPlain","comment":" Field titles to be displayed simply by their name without additional text.\n","type":"VegaLite.FieldTitleProperty"},{"name":"ftVerbal","comment":" Field titles to be displayed fully as 'Sum of field', 'Year of date' etc.\n","type":"VegaLite.FieldTitleProperty"},{"name":"geoFeatureCollection","comment":" Geo features to be used in a `geoshape` specification. Each feature object in\nthis collection can be created with [geometry](#geometry).\n\n    geojson =\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\n","type":"List.List VegaLite.Spec -> VegaLite.Spec"},{"name":"geoLine","comment":" Line geometry for programmatically creating GeoShapes. Equivalent to the\n[GeoJson geometry `line` type](https://tools.ietf.org/html/rfc7946#section-3.1).\n","type":"List.List ( Basics.Float, Basics.Float ) -> VegaLite.Geometry"},{"name":"geoLines","comment":" Multi-line geometry for programmatically creating GeoShapes. Equivalent\nto the [GeoJson geometry `multi-line` type](https://tools.ietf.org/html/rfc7946#section-3.1).\n","type":"List.List (List.List ( Basics.Float, Basics.Float )) -> VegaLite.Geometry"},{"name":"geoPoint","comment":" Point geometry for programmatically creating GeoShapes. Equivalent to\nthe [GeoJson geometry `point` type](https://tools.ietf.org/html/rfc7946#section-3.1).\n","type":"Basics.Float -> Basics.Float -> VegaLite.Geometry"},{"name":"geoPoints","comment":" Multi-point geometry for programmatically creating GeoShapes. Equivalent\nto the [GeoJson geometry `multi-point` type](https://tools.ietf.org/html/rfc7946#section-3.1).\n","type":"List.List ( Basics.Float, Basics.Float ) -> VegaLite.Geometry"},{"name":"geoPolygon","comment":" Polygon geometry for programmatically creating GeoShapes. Equivalent\nto the [GeoJson geometry `polygon` type](https://tools.ietf.org/html/rfc7946#section-3.1).\n","type":"List.List (List.List ( Basics.Float, Basics.Float )) -> VegaLite.Geometry"},{"name":"geoPolygons","comment":" Multi-polygon geometry for programmatically creating GeoShapes. Equivalent\nto the [GeoJson geometry `multi-polygon` type](https://tools.ietf.org/html/rfc7946#section-3.1).\n","type":"List.List (List.List (List.List ( Basics.Float, Basics.Float ))) -> VegaLite.Geometry"},{"name":"geometry","comment":" Geometric object to be used in a `geoshape`. The first parameter is\nthe geometric type, the second an optional list of properties to be associated\nwith the object.\n\n      geojson =\n          geometry (geoPolygon [ [ ( -3, 59 ), ( 4, 59 ), ( 4, 52 ), ( -3, 59 ) ] ]) []\n\n","type":"VegaLite.Geometry -> List.List ( String.String, VegaLite.DataValue ) -> VegaLite.Spec"},{"name":"geometryCollection","comment":" Geometry objects to be used in a `geoshape` specification. Each geometry\nobject can be created with [geometry](#geometry).\n\n    geojson =\n        geometryCollection\n            [ geometry (geoPolygon [ [ ( -3, 59 ), ( 4, 59 ), ( 4, 52 ), ( -3, 59 ) ] ]) []\n            , geometry (geoPoint -3.5 55.5) []\n            ]\n\n","type":"List.List VegaLite.Spec -> VegaLite.Spec"},{"name":"geoshape","comment":" [Geoshape](https://vega.github.io/vega-lite/docs/geoshape.html)\ndetermined by geographically referenced coordinates.\n\n    let\n        data =\n            dataFromUrl \"city.json\" [ topojsonFeature \"boroughs\" ]\n    in\n    toVegaLite\n        [ data\n        , geoshape [ maFill \"lightgrey\", maStroke \"white\" ]\n        ]\n\n","type":"List.List VegaLite.MarkProperty -> ( VegaLite.VLProperty, VegaLite.Spec )"},{"name":"gnomonic","comment":" A gnomonic map projection.\n","type":"VegaLite.Projection"},{"name":"grExtent","comment":" Set the extent of both major and minor graticule lines. The first parameter\nis a (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":"grExtentMajor","comment":" Set the extent of major graticule lines. The first parameter is a\n(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 lines. The first parameter is a\n(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":" Indicates a linear color gradient. See the\n[Vega-Lite color gradient documentation](https://vega.github.io/vega-lite/docs/types.html#linear-gradient).\n","type":"VegaLite.ColorGradient"},{"name":"grPrecision","comment":" The precision of the graticule in degrees. If unspecified, the default of 2.5\ndegrees is used. Smaller values provide a less stepped appearance of curved lines\nbut take longer to render.\n","type":"Basics.Float -> VegaLite.GraticuleProperty"},{"name":"grR1","comment":" The radius, normalized to [0, 1], of the inner circle for a radial color gradient.\nDefault is 0.\n","type":"Basics.Float -> VegaLite.GradientProperty"},{"name":"grR2","comment":" The radius, normalized to [0, 1], of the outer circle for a radial color gradient.\nDefault is 0.5.\n","type":"Basics.Float -> VegaLite.GradientProperty"},{"name":"grRadial","comment":" Indicates a radial color gradient. See the\n[Vega-Lite color gradient documentation](https://vega.github.io/vega-lite/docs/types.html#radial-gradient).\n","type":"VegaLite.ColorGradient"},{"name":"grStep","comment":" Set the step sizes between all 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 lines. By default, major graticule\nlines extend to both poles, but minor lines stop at ±80 degrees latitude. The parameter\nis a (longitude,latitude) pair defining the EW and NS graticule intervals respectively.\n","type":"( Basics.Float, Basics.Float ) -> VegaLite.GraticuleProperty"},{"name":"grStepMinor","comment":" Set the step sizes between minor graticule lines. By default, major graticule\nlines extend to both poles, but minor lines stop at ±80 degrees latitude. The parameter\nis a (longitude,latitude) pair defining the EW and NS graticule 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.\n","type":"List.List ( Basics.Float, String.String ) -> VegaLite.GradientProperty"},{"name":"grX1","comment":" The x-coordinate, normalized 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.\n","type":"Basics.Float -> VegaLite.GradientProperty"},{"name":"grX2","comment":" The x-coordinate, normalized 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.\n","type":"Basics.Float -> VegaLite.GradientProperty"},{"name":"grY1","comment":" The y-coordinate, normalized 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.\n","type":"Basics.Float -> VegaLite.GradientProperty"},{"name":"grY2","comment":" The y-coordinate, normalized 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.\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    let\n        proj =\n            projection [ prType orthographic ]\n\n        sphereSpec =\n            asSpec [ sphere, geoshape [ maFill \"aliceblue\" ] ]\n\n        gratSpec =\n            asSpec\n                [ graticule [ grStep ( 5, 5 ) ]\n                , geoshape [ maFilled False, maStrokeWidth 0.3 ]\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.\n","type":"VegaLite.Operation -> VegaLite.HyperlinkChannel"},{"name":"hBin","comment":" Discretize numeric values into bins when encoding with a hyperlink channel.\n","type":"List.List VegaLite.BinProperty -> VegaLite.HyperlinkChannel"},{"name":"hBinned","comment":" Indicate that data encoded with a hyperlink channel are already binned.\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":"hDataCondition","comment":" Make a hyperlink channel conditional on some predicate expression. The first\nparameter provides the expression to evaluate, the second the encoding to apply\nif the expression is true, the third the encoding if the expression is false.\n","type":"VegaLite.BooleanOp -> 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.\nEquivalent to `hMType GeoFeature`.\n","type":"VegaLite.HyperlinkChannel"},{"name":"hMType","comment":" Level of measurement when encoding with a hyperlink or url channel. See also\n[hNominal](#hNominal), [hOrdinal](#hOrdinal), [hQuant](#hQuant), [hTemporal](#hTemporal)\nand [hGeo](#hGeo) for shorthand equivalents.\n","type":"VegaLite.Measurement -> VegaLite.HyperlinkChannel"},{"name":"hName","comment":" Name of field used for encoding with a hyperlink channel.\n","type":"String.String -> VegaLite.HyperlinkChannel"},{"name":"hNominal","comment":" Indicate a data field encoded as a hyperlink or url property is nominal.\nEquivalent to `hMType Nominal`.\n","type":"VegaLite.HyperlinkChannel"},{"name":"hOrdinal","comment":" Indicate a data field encoded as a hyperlink property is ordinal. Equivalent to\n`hMType Ordinal`.\n","type":"VegaLite.HyperlinkChannel"},{"name":"hQuant","comment":" Indicate a data field encoded as a hyperlink or url property is quantitative.\nEquivalent to `hMType Quantitative`.\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.\n","type":"VegaLite.Arrangement -> VegaLite.HyperlinkChannel"},{"name":"hSelectionCondition","comment":" Make a hyperlink channel conditional on interactive selection. The first parameter\nprovides the selection to evaluate, the second the encoding to apply if the hyperlink\nhas been selected, the third the encoding if it is not selected.\n","type":"VegaLite.BooleanOp -> List.List VegaLite.HyperlinkChannel -> List.List VegaLite.HyperlinkChannel -> VegaLite.HyperlinkChannel"},{"name":"hStr","comment":" Literal string value when encoding with a hyperlink channel.\n","type":"String.String -> VegaLite.HyperlinkChannel"},{"name":"hTemporal","comment":" Indicate a data field encoded as a hyperlink or url property is temporal.\nEquivalent to `hMType Temporal`.\n","type":"VegaLite.HyperlinkChannel"},{"name":"hTimeUnit","comment":" Time unit aggregation of field values when encoding with a hyperlink channel.\n","type":"VegaLite.TimeUnit -> VegaLite.HyperlinkChannel"},{"name":"haCenter","comment":" Center horizontal text alignment.\n","type":"VegaLite.HAlign"},{"name":"haLeft","comment":" Left horizontal text alignment.\n","type":"VegaLite.HAlign"},{"name":"haRight","comment":" Right horizontal text alignment.\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).\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).\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).\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).\n","type":"VegaLite.HeaderProperty"},{"name":"hdLabelAlign","comment":" Horizontal alignment of header labels. A 'label' is the\ntitle for each sub-plot in a faceted view.\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.\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.\n","type":"Basics.Float -> VegaLite.HeaderProperty"},{"name":"hdLabelBaseline","comment":" Vertical alignment of header labels.\n","type":"VegaLite.VAlign -> VegaLite.HeaderProperty"},{"name":"hdLabelColor","comment":" Header label text color for a faceted view.\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.\n","type":"String.String -> VegaLite.HeaderProperty"},{"name":"hdLabelFont","comment":" Header label font in a faceted view.\n","type":"String.String -> VegaLite.HeaderProperty"},{"name":"hdLabelFontSize","comment":" Header label font size in a faceted view.\n","type":"Basics.Float -> VegaLite.HeaderProperty"},{"name":"hdLabelFontStyle","comment":" Header label font style (e.g. `italic`) in a faceted view.\n","type":"String.String -> VegaLite.HeaderProperty"},{"name":"hdLabelFontWeight","comment":" Header label font weight in a faceted view.\n","type":"VegaLite.FontWeight -> VegaLite.HeaderProperty"},{"name":"hdLabelLimit","comment":" Maximum length of a header label in a faceted view.\n","type":"Basics.Float -> VegaLite.HeaderProperty"},{"name":"hdLabelLineHeight","comment":" Header label line height in a faceted view (useful for multi-line labels).\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.\n","type":"VegaLite.Side -> VegaLite.HeaderProperty"},{"name":"hdLabelPadding","comment":" Spacing in pixels between facet labels and the main plot area.\n","type":"Basics.Float -> VegaLite.HeaderProperty"},{"name":"hdLabels","comment":" Whether or not labels in a faceted view are displayed.\n","type":"Basics.Bool -> 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).\n","type":"VegaLite.Side -> 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.\n","type":"String.String -> VegaLite.HeaderProperty"},{"name":"hdTitleAlign","comment":" Horizontal alignment of header title in a faceted view.\n","type":"VegaLite.HAlign -> VegaLite.HeaderProperty"},{"name":"hdTitleAnchor","comment":" Anchor position of a header title in a faceted view.\n","type":"VegaLite.Anchor -> VegaLite.HeaderProperty"},{"name":"hdTitleAngle","comment":" Text angle of a header title in a faceted view (degrees from horizontal).\n","type":"Basics.Float -> VegaLite.HeaderProperty"},{"name":"hdTitleBaseline","comment":" Vertical alignment of a header title in a faceted view.\n","type":"VegaLite.VAlign -> VegaLite.HeaderProperty"},{"name":"hdTitleColor","comment":" Text color of a header title in a faceted view.\n","type":"String.String -> VegaLite.HeaderProperty"},{"name":"hdTitleFont","comment":" Title font in a faceted view.\n","type":"String.String -> VegaLite.HeaderProperty"},{"name":"hdTitleFontSize","comment":" Title font size in a faceted view.\n","type":"Basics.Float -> VegaLite.HeaderProperty"},{"name":"hdTitleFontStyle","comment":" Header title font style (e.g. `italic`) in a faceted view.\n","type":"String.String -> VegaLite.HeaderProperty"},{"name":"hdTitleFontWeight","comment":" Title font weight in a faceted view. NOTE: In future versions, the parameter\nwill be replaced with the [FontWeight](#FontWeight) type. Currently any string\nrepresentation such as `\"bold\"`, `\"lighter\"`, `\"600\"` may be used. Unrecognised\nweight will assumed to be `Normal`.\n","type":"String.String -> VegaLite.HeaderProperty"},{"name":"hdTitleLimit","comment":" Maximum length of a header title in a faceted view.\n","type":"Basics.Float -> VegaLite.HeaderProperty"},{"name":"hdTitleLineHeight","comment":" Header title line height in a faceted view (useful for multi-line titles).\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.\n","type":"VegaLite.Side -> VegaLite.HeaderProperty"},{"name":"hdTitlePadding","comment":" Spacing in pixels between the main facet title and labels.\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":"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":"iCheckbox","comment":" Checkbox input element that can bound to a named field value.\n","type":"String.String -> List.List VegaLite.InputProperty -> VegaLite.Binding"},{"name":"iColor","comment":" Color input element that can bound to a named field value.\n","type":"String.String -> List.List VegaLite.InputProperty -> VegaLite.Binding"},{"name":"iDate","comment":" Date input element that can bound to a named field value.\n","type":"String.String -> List.List VegaLite.InputProperty -> VegaLite.Binding"},{"name":"iDateTimeLocal","comment":" Local time input element that can bound to a named field value.\n","type":"String.String -> List.List VegaLite.InputProperty -> VegaLite.Binding"},{"name":"iMonth","comment":" Month input element that can bound to a named field value.\n","type":"String.String -> List.List VegaLite.InputProperty -> VegaLite.Binding"},{"name":"iNumber","comment":" Number input element that can bound to a named field value.\n","type":"String.String -> List.List VegaLite.InputProperty -> VegaLite.Binding"},{"name":"iRadio","comment":" Radio box input element that can bound to a named field value.\n","type":"String.String -> List.List VegaLite.InputProperty -> VegaLite.Binding"},{"name":"iRange","comment":" Range slider input element that can bound to a named field value.\n","type":"String.String -> List.List VegaLite.InputProperty -> VegaLite.Binding"},{"name":"iSelect","comment":" Select input element that can bound to a named field value.\n","type":"String.String -> List.List VegaLite.InputProperty -> VegaLite.Binding"},{"name":"iTel","comment":" Telephone number input element that can bound to a named field value.\n","type":"String.String -> List.List VegaLite.InputProperty -> VegaLite.Binding"},{"name":"iText","comment":" Text input element that can bound to a named field value.\n","type":"String.String -> List.List VegaLite.InputProperty -> VegaLite.Binding"},{"name":"iTime","comment":" Time input element that can bound to a named field value.\n","type":"String.String -> List.List VegaLite.InputProperty -> VegaLite.Binding"},{"name":"iWeek","comment":" Week input element that can bound to a named field value.\n","type":"String.String -> List.List VegaLite.InputProperty -> VegaLite.Binding"},{"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.\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.\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.\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.\n","type":"Basics.Float -> Basics.Float -> Basics.Float -> VegaLite.ImputeProperty"},{"name":"imKeyVals","comment":" Key values to be considered for imputation.\n","type":"VegaLite.DataValues -> VegaLite.ImputeProperty"},{"name":"imMax","comment":" Use maximum of values when imputing missing data.\n","type":"VegaLite.ImMethod"},{"name":"imMean","comment":" Use mean of values when imputing missing data.\n","type":"VegaLite.ImMethod"},{"name":"imMedian","comment":" Use median of values when imputing missing data.\n","type":"VegaLite.ImMethod"},{"name":"imMethod","comment":" Imputation method to use when replacing values.\n","type":"VegaLite.ImMethod -> VegaLite.ImputeProperty"},{"name":"imMin","comment":" Use maximum of values when imputing missing data.\n","type":"VegaLite.ImMethod"},{"name":"imNewValue","comment":" New value to use when imputing with [imValue](#imValue).\n","type":"VegaLite.DataValue -> VegaLite.ImputeProperty"},{"name":"imValue","comment":" Use field value when imputing missing data.\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":"inDebounce","comment":" Delay to introduce when processing input events in order to avoid unnecessary\nevent broadcasting.\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.\n","type":"String.String -> VegaLite.InputProperty"},{"name":"inMax","comment":" Maximum slider value for a range input element.\n","type":"Basics.Float -> VegaLite.InputProperty"},{"name":"inMin","comment":" Minimum slider value for a range input element.\n","type":"Basics.Float -> VegaLite.InputProperty"},{"name":"inName","comment":" Custom label for a radio or select input element.\n","type":"String.String -> VegaLite.InputProperty"},{"name":"inOptions","comment":" Options for a radio or select input element.\n","type":"List.List String.String -> VegaLite.InputProperty"},{"name":"inPlaceholder","comment":" Initial place-holding text for input elements such as text fields.\n","type":"String.String -> VegaLite.InputProperty"},{"name":"inStep","comment":" Minimum input element range slider increment.\n","type":"Basics.Float -> VegaLite.InputProperty"},{"name":"joBevel","comment":" Bevelled stroke join.\n","type":"VegaLite.StrokeJoin"},{"name":"joMiter","comment":" Mitred stroke join.\n","type":"VegaLite.StrokeJoin"},{"name":"joRound","comment":" Rounded stroke join.\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.\n","type":"String.String -> VegaLite.Format"},{"name":"key","comment":" Encode an key channel for use with the [Vega View API](https://vega.github.io/vega/docs/api/view/#data).\nThe first parameter is the name of the data field to use as a unique key for data\nbinding.\n\n    enc =\n        encoding\n            << key \"myFieldName\"\n\n","type":"String.String -> 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":"leClipHeight","comment":" Limit height of legend entries.\n","type":"Basics.Float -> VegaLite.LegendProperty"},{"name":"leColumnPadding","comment":" Horizontal padding between symbol legend entries.\n","type":"Basics.Float -> VegaLite.LegendProperty"},{"name":"leColumns","comment":" Number of columns in which to arrange symbol legend entries.\n","type":"Basics.Float -> VegaLite.LegendProperty"},{"name":"leCornerRadius","comment":" Legend corner radius.\n","type":"Basics.Float -> VegaLite.LegendProperty"},{"name":"leDirection","comment":" Direction of a legend.\n","type":"VegaLite.MarkOrientation -> VegaLite.LegendProperty"},{"name":"leDts","comment":" An explicit set of legend date-times.\n","type":"List.List (List.List VegaLite.DateTime) -> VegaLite.LegendValues"},{"name":"leFillColor","comment":" Legend background color.\n","type":"String.String -> VegaLite.LegendProperty"},{"name":"leFormat","comment":" [Formatting pattern](https://vega.github.io/vega-lite/docs/format.html) for\nlegend 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 legend 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 legend 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 legend 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":" 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 legend.\n","type":"Basics.Float -> VegaLite.LegendProperty"},{"name":"leGradientStrokeColor","comment":" Color for strokes in a color ramp legend.\n","type":"String.String -> VegaLite.LegendProperty"},{"name":"leGradientStrokeWidth","comment":" Width for strokes in a color ramp legend.\n","type":"Basics.Float -> VegaLite.LegendProperty"},{"name":"leGradientThickness","comment":" Thickness in pixels of a color ramp legend.\n","type":"Basics.Float -> VegaLite.LegendProperty"},{"name":"leGridAlign","comment":" Alignment to apply to symbol legends rows and columns.\n","type":"VegaLite.CompositionAlignment -> VegaLite.LegendProperty"},{"name":"leLabelAlign","comment":" Horizontal alignment of legend labels.\n","type":"VegaLite.HAlign -> VegaLite.LegendProperty"},{"name":"leLabelBaseline","comment":" Vertical alignment of legend labels.\n","type":"VegaLite.VAlign -> VegaLite.LegendProperty"},{"name":"leLabelColor","comment":" Color for legend labels.\n","type":"String.String -> VegaLite.LegendProperty"},{"name":"leLabelFont","comment":" Font for legend labels.\n","type":"String.String -> VegaLite.LegendProperty"},{"name":"leLabelFontSize","comment":" Font size legend labels.\n","type":"Basics.Float -> VegaLite.LegendProperty"},{"name":"leLabelLimit","comment":" Maximum width for legend labels in pixel units.\n","type":"Basics.Float -> VegaLite.LegendProperty"},{"name":"leLabelOffset","comment":" Offset for legend labels.\n","type":"Basics.Float -> VegaLite.LegendProperty"},{"name":"leLabelOverlap","comment":" Strategy for resolving overlapping legend labels.\n","type":"VegaLite.OverlapStrategy -> VegaLite.LegendProperty"},{"name":"leNums","comment":" An explicit set of numeric legend values.\n","type":"List.List Basics.Float -> VegaLite.LegendValues"},{"name":"leOffset","comment":" Offset in pixels of a legend from the encoded marks it describes. If the legend\norientation is one of `loTop`, `loBottom`, `loLeft` or `loRight`, a positive offset\nmoves the legend outwards away from the encoded marks. If it is one of `loTopLeft`,\n`loTopRight`, `loBottomLeft` or `loBottomRight` a positive offset will move it\ninwards away from the corner. If `loNone`, the offset has no effect.\n","type":"Basics.Float -> VegaLite.LegendProperty"},{"name":"leOrient","comment":" Position of a legend in a scene.\n","type":"VegaLite.LegendOrientation -> VegaLite.LegendProperty"},{"name":"lePadding","comment":" Padding in pixels between a legend and axis.\n","type":"Basics.Float -> VegaLite.LegendProperty"},{"name":"leRowPadding","comment":" Vertical spacing in pixel units between a symbol legend entries.\n","type":"Basics.Float -> VegaLite.LegendProperty"},{"name":"leStrokeColor","comment":" Legend border color.\n","type":"String.String -> VegaLite.LegendProperty"},{"name":"leStrokeWidth","comment":" Legend border stroke width.\n","type":"Basics.Float -> VegaLite.LegendProperty"},{"name":"leStrs","comment":" An explicit set of legend strings.\n","type":"List.List String.String -> VegaLite.LegendValues"},{"name":"leSymbol","comment":" A symbol legend for categorical data.\n","type":"VegaLite.Legend"},{"name":"leSymbolFillColor","comment":" Legend symbol fill color.\n","type":"String.String -> VegaLite.LegendProperty"},{"name":"leSymbolSize","comment":" Legend symbol size.\n","type":"Basics.Float -> VegaLite.LegendProperty"},{"name":"leSymbolStrokeColor","comment":" Legend symbol outline color.\n","type":"String.String -> VegaLite.LegendProperty"},{"name":"leSymbolStrokeWidth","comment":" Legend symbol stroke width.\n","type":"Basics.Float -> VegaLite.LegendProperty"},{"name":"leSymbolType","comment":" Legend symbol type.\n","type":"VegaLite.Symbol -> VegaLite.LegendProperty"},{"name":"leTickCount","comment":" Number of tick marks in a quantitative legend.\n","type":"Basics.Float -> VegaLite.LegendProperty"},{"name":"leTitle","comment":" Title of a legend. For multi-line titles, insert `\\n` at each line break or\nuse a `\"\"\"` multi-line string.\n","type":"String.String -> VegaLite.LegendProperty"},{"name":"leTitleAlign","comment":" Horizontal alignment for legend titles.\n","type":"VegaLite.HAlign -> VegaLite.LegendProperty"},{"name":"leTitleBaseline","comment":" Vertical alignment for legend titles.\n","type":"VegaLite.VAlign -> VegaLite.LegendProperty"},{"name":"leTitleColor","comment":" Color for legend title.\n","type":"String.String -> VegaLite.LegendProperty"},{"name":"leTitleFont","comment":" Font for legend titles.\n","type":"String.String -> VegaLite.LegendProperty"},{"name":"leTitleFontSize","comment":" Font size for legend titles.\n","type":"Basics.Float -> VegaLite.LegendProperty"},{"name":"leTitleFontWeight","comment":" Font weight for legend titles.\n","type":"VegaLite.FontWeight -> VegaLite.LegendProperty"},{"name":"leTitleLimit","comment":" Maximum size in pixel units for legend titles.\n","type":"Basics.Float -> VegaLite.LegendProperty"},{"name":"leTitlePadding","comment":" Spacing in pixel units between title and legend.\n","type":"Basics.Float -> VegaLite.LegendProperty"},{"name":"leType","comment":" Type of legend.\n","type":"VegaLite.Legend -> VegaLite.LegendProperty"},{"name":"leValues","comment":" An explicit set of legend values.\n","type":"VegaLite.LegendValues -> VegaLite.LegendProperty"},{"name":"leX","comment":" x-position of legend group in pixel units for absolute positioning when\n[leOrient](#leOrient) is set to `loNone`.\n","type":"Basics.Float -> VegaLite.LegendProperty"},{"name":"leY","comment":" y-position of legend group in pixel units for absolute positioning when\n[leOrient](#leOrient) is set to `loNone`.\n","type":"Basics.Float -> VegaLite.LegendProperty"},{"name":"leZIndex","comment":" Drawing order of a legend 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":"lecoClipHeight","comment":" Default maximum height of legend entries.\n","type":"Basics.Float -> VegaLite.LegendConfig"},{"name":"lecoColumnPadding","comment":" Default horizontal padding between symbol legend entries.\n","type":"Basics.Float -> VegaLite.LegendConfig"},{"name":"lecoColumns","comment":" Default number of columns in which to arrange symbol legend entries.\n","type":"Basics.Float -> VegaLite.LegendConfig"},{"name":"lecoCornerRadius","comment":" Default legend corner radius.\n","type":"Basics.Float -> VegaLite.LegendConfig"},{"name":"lecoEntryPadding","comment":" Default spacing between legend items.\n","type":"Basics.Float -> VegaLite.LegendConfig"},{"name":"lecoFillColor","comment":" Default background legend color.\n","type":"String.String -> VegaLite.LegendConfig"},{"name":"lecoGradientDirection","comment":" Default direction of a color ramp legend.\n","type":"VegaLite.MarkOrientation -> VegaLite.LegendConfig"},{"name":"lecoGradientHeight","comment":" Default height of a color ramp legend.\n","type":"Basics.Float -> VegaLite.LegendConfig"},{"name":"lecoGradientLabelBaseline","comment":" Default vertical alignment for labels in a color ramp legend.\n","type":"VegaLite.VAlign -> VegaLite.LegendConfig"},{"name":"lecoGradientLabelLimit","comment":" Default maximum allowable length for labels in a color ramp legend.\n","type":"Basics.Float -> VegaLite.LegendConfig"},{"name":"lecoGradientLabelOffset","comment":" Default vertical offset in pixel units for labels in a color ramp legend.\n","type":"Basics.Float -> VegaLite.LegendConfig"},{"name":"lecoGradientStrokeColor","comment":" Default color for strokes in a color ramp legend.\n","type":"String.String -> VegaLite.LegendConfig"},{"name":"lecoGradientStrokeWidth","comment":" Default width for strokes in a color ramp legend.\n","type":"Basics.Float -> VegaLite.LegendConfig"},{"name":"lecoGradientWidth","comment":" Default width of a color ramp legend.\n","type":"Basics.Float -> VegaLite.LegendConfig"},{"name":"lecoGridAlign","comment":" Default alignment to apply to symbol legends rows and columns.\n","type":"VegaLite.CompositionAlignment -> VegaLite.LegendConfig"},{"name":"lecoLabelAlign","comment":" Default horizontal alignment of legend labels.\n","type":"VegaLite.HAlign -> VegaLite.LegendConfig"},{"name":"lecoLabelBaseline","comment":" Default vertical alignment of legend labels.\n","type":"VegaLite.VAlign -> VegaLite.LegendConfig"},{"name":"lecoLabelColor","comment":" Default color for legend labels.\n","type":"String.String -> VegaLite.LegendConfig"},{"name":"lecoLabelFont","comment":" Default font for legend labels.\n","type":"String.String -> VegaLite.LegendConfig"},{"name":"lecoLabelFontSize","comment":" Default font size legend labels.\n","type":"Basics.Float -> VegaLite.LegendConfig"},{"name":"lecoLabelLimit","comment":" Default maximum width for legend labels in pixel units.\n","type":"Basics.Float -> VegaLite.LegendConfig"},{"name":"lecoLabelOffset","comment":" Default offset for legend labels.\n","type":"Basics.Float -> VegaLite.LegendConfig"},{"name":"lecoLabelOverlap","comment":" Strategy for resolving overlapping legend labels.\n","type":"VegaLite.OverlapStrategy -> VegaLite.LegendConfig"},{"name":"lecoOffset","comment":" Default offset in pixel units between the legend and the enclosing\ngroup or data rectangle.\n","type":"Basics.Float -> VegaLite.LegendConfig"},{"name":"lecoOrient","comment":" Default legend position relative to the main plot content.\n","type":"VegaLite.LegendOrientation -> VegaLite.LegendConfig"},{"name":"lecoPadding","comment":" Default spacing in pixel units between a legend and axis.\n","type":"Basics.Float -> VegaLite.LegendConfig"},{"name":"lecoRowPadding","comment":" Default vertical spacing in pixel units between legend symbol entries.\n","type":"Basics.Float -> VegaLite.LegendConfig"},{"name":"lecoShortTimeLabels","comment":" Whether or not time labels are abbreviated by default in a legend.\n","type":"Basics.Bool -> VegaLite.LegendConfig"},{"name":"lecoStrokeColor","comment":" Default legend border color.\n","type":"String.String -> VegaLite.LegendConfig"},{"name":"lecoStrokeDash","comment":" Default legend border stroke dash style.\n","type":"List.List Basics.Float -> VegaLite.LegendConfig"},{"name":"lecoStrokeWidth","comment":" Default legend border stroke width.\n","type":"Basics.Float -> VegaLite.LegendConfig"},{"name":"lecoSymbolBaseFillColor","comment":" Default legend symbol fill color for when no fill scale color in legend encoding.\n","type":"String.String -> VegaLite.LegendConfig"},{"name":"lecoSymbolBaseStrokeColor","comment":" Default legend symbol stroke color for when no stroke scale color in legend encoding.\n","type":"String.String -> VegaLite.LegendConfig"},{"name":"lecoSymbolDirection","comment":" Default direction of a symbol legend.\n","type":"VegaLite.MarkOrientation -> VegaLite.LegendConfig"},{"name":"lecoSymbolFillColor","comment":" Default legend symbol fill color.\n","type":"String.String -> VegaLite.LegendConfig"},{"name":"lecoSymbolOffset","comment":" Default horizontal pixel offset for legend symbols.\n","type":"Basics.Float -> VegaLite.LegendConfig"},{"name":"lecoSymbolSize","comment":" Default legend symbol size.\n","type":"Basics.Float -> VegaLite.LegendConfig"},{"name":"lecoSymbolStrokeColor","comment":" Default legend symbol outline color.\n","type":"String.String -> VegaLite.LegendConfig"},{"name":"lecoSymbolStrokeWidth","comment":" Default legend symbol stroke width.\n","type":"Basics.Float -> VegaLite.LegendConfig"},{"name":"lecoSymbolType","comment":" Default legend symbol type.\n","type":"VegaLite.Symbol -> VegaLite.LegendConfig"},{"name":"lecoTitleAlign","comment":" Default horizontal alignment for legend titles.\n","type":"VegaLite.HAlign -> VegaLite.LegendConfig"},{"name":"lecoTitleBaseline","comment":" Default vertical alignment for legend titles.\n","type":"VegaLite.VAlign -> VegaLite.LegendConfig"},{"name":"lecoTitleColor","comment":" Default color legend titles.\n","type":"String.String -> VegaLite.LegendConfig"},{"name":"lecoTitleFont","comment":" Default font for legend titles.\n","type":"String.String -> VegaLite.LegendConfig"},{"name":"lecoTitleFontSize","comment":" Default font size for legend titles.\n","type":"Basics.Float -> VegaLite.LegendConfig"},{"name":"lecoTitleFontWeight","comment":" Default font weight for legend titles.\n","type":"VegaLite.FontWeight -> VegaLite.LegendConfig"},{"name":"lecoTitleLimit","comment":" Default maximum size in pixel units for legend titles.\n","type":"Basics.Float -> VegaLite.LegendConfig"},{"name":"lecoTitleLineHeight","comment":" Default line height for multi-line legend titles.\n","type":"Basics.Float -> VegaLite.LegendConfig"},{"name":"lecoTitlePadding","comment":" Default spacing in pixel units between title and legend.\n","type":"Basics.Float -> VegaLite.LegendConfig"},{"name":"lecoUnselectedOpacity","comment":" Defailt opacity of unselected legend items when made interactive via\n[seBindLegend](#seBindLegend).\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":" Indicates no line marker on an area mark.\n","type":"VegaLite.LineMarker"},{"name":"loBottom","comment":" Position legend outside and below the visualization it describes.\n","type":"VegaLite.LegendOrientation"},{"name":"loBottomLeft","comment":" Position legend within the visualization it describes in the bottom-left corner.\n","type":"VegaLite.LegendOrientation"},{"name":"loBottomRight","comment":" Position legend within the visualization it describes in the bottom-right corner.\n","type":"VegaLite.LegendOrientation"},{"name":"loLeft","comment":" Position legend to the left of the visualization it describes.\n","type":"VegaLite.LegendOrientation"},{"name":"loNone","comment":" Do not perform automatic legend positioning (allows legend to be located explicitly\nvia `x` `y` coordinates).\n","type":"VegaLite.LegendOrientation"},{"name":"loRight","comment":" Position legend outside and to the right of the visualization it describes.\n","type":"VegaLite.LegendOrientation"},{"name":"loTop","comment":" Position legend outside and above the visualization it describes.\n","type":"VegaLite.LegendOrientation"},{"name":"loTopLeft","comment":" Position legend within the visualization it describes in the top-left corner.\n","type":"VegaLite.LegendOrientation"},{"name":"loTopRight","comment":" Position 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                (censuData [])\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":"lookupAs","comment":" Deprecated in favour of [lookup](#lookup). For example,\n\n    lookupAs \"key1\" secondaryData \"key2\" \"matchedName\"\n\nshould be replaced with\n\n    lookup \"key1\" secondaryData \"key2\" (luAs \"matchedName\")\n\n","type":"String.String -> VegaLite.Data -> String.String -> String.String -> 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; and the name of the field in the selection\nto link with the primary data field. This is similar to [lookup](#lookup) except\nthat the data in a selection are used in place of the secondary data source.\n\nFor example:\n\n      sel =\n          selection\n              << select \"mySel\" seSingle [ 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 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 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 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 dot notiation.\nFor example,\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 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 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 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.\n","type":"VegaLite.Operation -> VegaLite.MarkChannel"},{"name":"mBin","comment":" Discretize numeric values into bins when encoding with a mark property channel.\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.\n","type":"Basics.Bool -> VegaLite.MarkChannel"},{"name":"mDataCondition","comment":" Make a mark channel conditional on one or more predicate expressions. The first\nparameter is a list of tuples each pairing a test condition with the encoding if\nthat condition evaluates to true. The second is the encoding if none of the tests\nare true.\n\n    color\n        [ mDataCondition [ ( expr \"datum.myField === null\", [ mStr \"grey\" ] ) ]\n            [ mStr \"black\" ]\n        ]\n\n","type":"List.List ( VegaLite.BooleanOp, List.List VegaLite.MarkChannel ) -> List.List VegaLite.MarkChannel -> VegaLite.MarkChannel"},{"name":"mGeo","comment":" Indicate a data field encoded as a mark property is a geo feature. Equivalent\nto `mMType GeoFeature`.\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.\n","type":"List.List VegaLite.LegendProperty -> VegaLite.MarkChannel"},{"name":"mMType","comment":" Level of measurement when encoding with a mark property channel. See also\n[nNominal](#mNominal), [mOrdinal](#mOrdinal), [mQuant](#mQuant), [mTemporal](#mTemporal)\nand [mGeo](#mGeo) for shorthand equivalents.\n","type":"VegaLite.Measurement -> VegaLite.MarkChannel"},{"name":"mName","comment":" Name of field used for encoding with a mark property channel.\n","type":"String.String -> VegaLite.MarkChannel"},{"name":"mNominal","comment":" Indicate a data field encoded as a mark property is nominal. Equivalent to\n`mMType Nominal`.\n","type":"VegaLite.MarkChannel"},{"name":"mNum","comment":" Literal numeric value when encoding with a mark property channel.\n","type":"Basics.Float -> VegaLite.MarkChannel"},{"name":"mOrdinal","comment":" Indicate a data field encoded as a mark property is ordinal. Equivalent to\n`mMType Ordinal`.\n","type":"VegaLite.MarkChannel"},{"name":"mPath","comment":" SVG path string used when encoding with a mark property channel. Useful\nfor providing custom shapes.\n","type":"String.String -> VegaLite.MarkChannel"},{"name":"mQuant","comment":" Indicate a data field encoded as a mark property is quantitative. Equivalent to\n`mMType 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 arranged in columns, in rows or a with a flow layout.\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.\n","type":"List.List VegaLite.ScaleProperty -> VegaLite.MarkChannel"},{"name":"mSelectionCondition","comment":" Make a mark channel conditional on interactive selection. The first parameter\nis a selection condition to evaluate; the second the encoding to apply if that selection\nis true; the third parameter is the encoding if the selection is false.\n\n    color\n        [ mSelectionCondition (selectionName \"myBrush\")\n            [ mName \"myField\", mOrdinal ]\n            [ mStr \"grey\" ]\n        ]\n\n","type":"VegaLite.BooleanOp -> List.List VegaLite.MarkChannel -> List.List VegaLite.MarkChannel -> VegaLite.MarkChannel"},{"name":"mSort","comment":" Sort order when encoding sortable mark properties such as colour.\n","type":"List.List VegaLite.SortProperty -> VegaLite.MarkChannel"},{"name":"mStr","comment":" Literal string value when encoding with a mark property channel.\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.\n","type":"VegaLite.Symbol -> VegaLite.MarkChannel"},{"name":"mTemporal","comment":" Indicate a data field encoded as a mark property is temporal. Equivalent to\n`mMType Temporal`.\n","type":"VegaLite.MarkChannel"},{"name":"mTimeUnit","comment":" Time unit aggregation of field values when encoding with a mark property channel.\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.\n","type":"String.String -> VegaLite.MarkChannel"},{"name":"maAlign","comment":" Horizontal alignment of a text mark.\n","type":"VegaLite.HAlign -> VegaLite.MarkProperty"},{"name":"maAngle","comment":" Rotation angle of a text mark (degrees from horizontal).\n","type":"Basics.Float -> VegaLite.MarkProperty"},{"name":"maAspect","comment":" Whether or not the aspect ratio of an image mark should be preserved.\n","type":"Basics.Bool -> VegaLite.MarkProperty"},{"name":"maBandSize","comment":" Band size of a bar mark.\n","type":"Basics.Float -> VegaLite.MarkProperty"},{"name":"maBaseline","comment":" Vertical alignment of a text mark.\n","type":"VegaLite.VAlign -> VegaLite.MarkProperty"},{"name":"maBinSpacing","comment":" Offset between bars for a binned field using a bar mark.\n","type":"Basics.Float -> VegaLite.MarkProperty"},{"name":"maBlend","comment":" Color blend mode for drawing an item over its 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":"maBorders","comment":" Border properties for an errorband mark.\n","type":"List.List VegaLite.MarkProperty -> VegaLite.MarkProperty"},{"name":"maBox","comment":" Box symbol properties for the boxplot mark. If an empty list is provided, no\nbox will be shown.\n","type":"List.List VegaLite.MarkProperty -> VegaLite.MarkProperty"},{"name":"maClip","comment":" Whether or not a mark should be clipped to 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. Color strings can use any valid\nHTML color specification. For example,\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. The first parameter indicates whether the\ngradient should be linear or radial. The second is a set of customisation options\nfor the colors, positioning and rate of change of the gradient. For example,\nto set a radial red-blue color gradient 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 mark.\n","type":"Basics.Float -> VegaLite.MarkProperty"},{"name":"maCornerRadius","comment":" The radius in pixels of all four corners of a rectangle mark. Default is 0\n(square corners).\n","type":"Basics.Float -> VegaLite.MarkProperty"},{"name":"maCornerRadiusBottomLeft","comment":" The radius in pixels of the bottom-left corner of a rectangle mark. Will override\nany 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 rectangle mark. Will override\nany 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 mark. For vertical bars\nthis would be the top corners and for horiztonal bars, the right corners.\n","type":"Basics.Float -> VegaLite.MarkProperty"},{"name":"maCornerRadiusTopLeft","comment":" The radius in pixels of the top-left corner of a rectangle mark. Will override\nany 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 rectangle mark. Will override\nany value specified in [maCornerRadius](#maCornerRadius).\n","type":"Basics.Float -> VegaLite.MarkProperty"},{"name":"maCursor","comment":" Cursor to be associated with a hyperlink mark.\n","type":"VegaLite.Cursor -> VegaLite.MarkProperty"},{"name":"maDir","comment":" Direction of text, which determins which end is truncated in cases where text\nis larger than available space.\n","type":"VegaLite.TextDirection -> VegaLite.MarkProperty"},{"name":"maDiscreteBandSize","comment":" Discrete band size of a bar mark.\n","type":"Basics.Float -> VegaLite.MarkProperty"},{"name":"maDx","comment":" Horizontal offset between a text mark and its anchor.\n","type":"Basics.Float -> VegaLite.MarkProperty"},{"name":"maDy","comment":" Vertical offset between a text mark and its anchor.\n","type":"Basics.Float -> VegaLite.MarkProperty"},{"name":"maEllipsis","comment":" Text to indicate a truncated piece of text (default is the ellipsis ...)\n","type":"String.String -> VegaLite.MarkProperty"},{"name":"maExtent","comment":" Extent of whiskers used in a boxplot, error bars or error bands.\n","type":"VegaLite.SummaryExtent -> VegaLite.MarkProperty"},{"name":"maFill","comment":" Default fill color of a mark. Color strings can use any valid HTML color\nspecification. For example,\n\n    maFill \"#eee\"\n\n    maFill \"#734FD8\"\n\n    maFill \"crimson\"\n\n    maFill \"rgb(255,204,210)\"\n\n    maFill \"hsl(180, 50%, 50%)\"\n\nAn empty string (`\"\"`) indicates that no filling should be provided (but for clearer\nsemantics, better to use `maFilled False`).\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).\n\n","type":"VegaLite.ColorGradient -> List.List VegaLite.GradientProperty -> VegaLite.MarkProperty"},{"name":"maFillOpacity","comment":" Fill opacity of a mark.\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.\n","type":"Basics.Bool -> VegaLite.MarkProperty"},{"name":"maFont","comment":" Font of a text mark. Can be any font name made accessible via\na css file (or a generic font like `serif`, `monospace` etc.).\n","type":"String.String -> VegaLite.MarkProperty"},{"name":"maFontSize","comment":" Font size in pixels used by a text mark.\n","type":"Basics.Float -> VegaLite.MarkProperty"},{"name":"maFontStyle","comment":" Font style (e.g. `italic`) used by a text mark.\n","type":"String.String -> VegaLite.MarkProperty"},{"name":"maFontWeight","comment":" Font weight used by a text mark.\n","type":"VegaLite.FontWeight -> VegaLite.MarkProperty"},{"name":"maHRef","comment":" Hyperlink to be associated with a mark making it a clickable hyperlink.\n","type":"String.String -> VegaLite.MarkProperty"},{"name":"maHeight","comment":" Explicitly set the height of a mark.\n","type":"Basics.Float -> VegaLite.MarkProperty"},{"name":"maInterpolate","comment":" Interpolation method used by line and area marks. For example to create a\ncurved 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 text mark. Any mark\nthat 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 mark.\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 multi-line text marks.\n","type":"Basics.Float -> VegaLite.MarkProperty"},{"name":"maMedian","comment":" Median line properties for the boxplot mark. If an empty list is provided,\nno median line will be shown.\n","type":"List.List VegaLite.MarkProperty -> VegaLite.MarkProperty"},{"name":"maOpacity","comment":" Overall opacity of a mark in the range 0 (completely transparent) to 1\n(completely opaque).\n","type":"Basics.Float -> VegaLite.MarkProperty"},{"name":"maOrder","comment":" Ordering of vertices in a line or area mark. If true (default), order is\ndetermined by measurement type or order channel. If false, the original data order\nis used.\n","type":"Basics.Bool -> VegaLite.MarkProperty"},{"name":"maOrient","comment":" Orientation of a non-stacked bar, tick, area or line mark.\n","type":"VegaLite.MarkOrientation -> VegaLite.MarkProperty"},{"name":"maOutliers","comment":" Outlier symbol properties for the boxplot mark. If an empty list is provided,\nno outliers will be shown.\n","type":"List.List VegaLite.MarkProperty -> VegaLite.MarkProperty"},{"name":"maPoint","comment":" Appearance of a point marker joining the vertices of a line or area mark.\n\n    line [ maPoint (pmMarker [ maFill \"black\" ]) ]\n\n","type":"VegaLite.PointMarker -> VegaLite.MarkProperty"},{"name":"maRadius","comment":" Polar coordinate radial offset of a text mark from its origin.\n","type":"Basics.Float -> VegaLite.MarkProperty"},{"name":"maRemoveInvalid","comment":" Determine whether or not invalid (`null` and `NaN`) values are considered for\nencoding as marks. If `true` (default), invalid values are ignored, otherwise\nthey are treated as if 0.\n","type":"Basics.Bool -> VegaLite.MarkProperty"},{"name":"maRule","comment":" Rule (main line) properties for the errorbar and boxplot marks. If an empty\nlist is provided, no rule will be shown.\n","type":"List.List VegaLite.MarkProperty -> VegaLite.MarkProperty"},{"name":"maShape","comment":" Shape of a point mark.\n","type":"VegaLite.Symbol -> VegaLite.MarkProperty"},{"name":"maShortTimeLabels","comment":" Whether or not month and weekday names are abbreviated in a text mark.\n","type":"Basics.Bool -> VegaLite.MarkProperty"},{"name":"maSize","comment":" Size of a mark in square units. For example to create a circle of diameter\n50 pixels,\n\n    circle [ maSize 2500 ]\n\n","type":"Basics.Float -> VegaLite.MarkProperty"},{"name":"maStroke","comment":" Default stroke color of a mark. Color strings can use any valid HTML color\nspecification. For example,\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.\n","type":"VegaLite.StrokeCap -> VegaLite.MarkProperty"},{"name":"maStrokeDash","comment":" Stroke dash style used by a mark. Determined by an alternating 'on-off'\nsequence of line lengths.\n","type":"List.List Basics.Float -> VegaLite.MarkProperty"},{"name":"maStrokeDashOffset","comment":" Number of pixels before the first line dash is drawn.\n","type":"Basics.Float -> VegaLite.MarkProperty"},{"name":"maStrokeGradient","comment":" A color gradient to apply to a mark's bounary 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\n","type":"VegaLite.ColorGradient -> List.List VegaLite.GradientProperty -> VegaLite.MarkProperty"},{"name":"maStrokeJoin","comment":" Line segment join style of a mark's stroke.\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.\n","type":"Basics.Float -> VegaLite.MarkProperty"},{"name":"maStrokeOpacity","comment":" Stroke opacity of a mark in the range 0 to 1.\n","type":"Basics.Float -> VegaLite.MarkProperty"},{"name":"maStrokeWidth","comment":" Stroke width of a mark in pixel units.\n","type":"Basics.Float -> VegaLite.MarkProperty"},{"name":"maStyle","comment":" Names of custom styles to apply to a mark. Each should refer to a named style\ndefined in a separate style configuration with [coMarkStyles](#coMarkStyles).\nWhile this is provided for compatibility with Vega-Lite style specification, for\ngreater type safety in elm-vegalite, instead create functions that generate\n[MarkProperties](#MarkProperty).\n","type":"List.List String.String -> VegaLite.MarkProperty"},{"name":"maTension","comment":" Interpolation tension used when interpolating line and area marks.\n","type":"Basics.Float -> VegaLite.MarkProperty"},{"name":"maText","comment":" Placeholder text for a text mark 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 a text mark from\nthe origin determined by its x and y properties.\n","type":"Basics.Float -> VegaLite.MarkProperty"},{"name":"maThickness","comment":" Thickness of a tick mark.\n","type":"Basics.Float -> VegaLite.MarkProperty"},{"name":"maTicks","comment":" Tick properties for the errorbar or boxplot mark.\n","type":"List.List VegaLite.MarkProperty -> VegaLite.MarkProperty"},{"name":"maTooltip","comment":" Source of a mark's tooltip content.\n","type":"VegaLite.TooltipContent -> VegaLite.MarkProperty"},{"name":"maWidth","comment":" Explicitly set the width of a mark (e.g. bar width)\n","type":"Basics.Float -> VegaLite.MarkProperty"},{"name":"maX","comment":" X position of a mark.\n","type":"Basics.Float -> VegaLite.MarkProperty"},{"name":"maX2","comment":" X2 position (secondary x value for lines and areal marks).\n","type":"Basics.Float -> VegaLite.MarkProperty"},{"name":"maX2Offset","comment":" X2 position offset for a mark.\n","type":"Basics.Float -> VegaLite.MarkProperty"},{"name":"maXOffset","comment":" X position offset for a mark.\n","type":"Basics.Float -> VegaLite.MarkProperty"},{"name":"maY","comment":" Y position of a mark.\n","type":"Basics.Float -> VegaLite.MarkProperty"},{"name":"maY2","comment":" Y2 position (secondary y value for lines and areal marks).\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.\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.\n","type":"VegaLite.Projection"},{"name":"miBasis","comment":" Cubic basis spline interpolation between points anchored at first and last points.\n","type":"VegaLite.MarkInterpolation"},{"name":"miBasisClosed","comment":" Closed cubic basis spline interpolation between points forming a polygon.\n","type":"VegaLite.MarkInterpolation"},{"name":"miBasisOpen","comment":" Open cubic basis spline interpolation between points, which may not intersect\nfirst and last points.\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.\n","type":"VegaLite.MarkInterpolation"},{"name":"miCardinalClosed","comment":" Closed cubic cardinal spline interpolation between points forming a polygon.\n","type":"VegaLite.MarkInterpolation"},{"name":"miCardinalOpen","comment":" Open cubic cardinal spline interpolation between points, which may not intersect\nfirst and last points\n","type":"VegaLite.MarkInterpolation"},{"name":"miLinear","comment":" Linear (straight) interpolation between points.\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.\n","type":"VegaLite.MarkInterpolation"},{"name":"miMonotone","comment":" Cubic spline interpolation that preserves monotonicity between points.\n","type":"VegaLite.MarkInterpolation"},{"name":"miStepAfter","comment":" Piecewise (stepped) constant interpolation function after each point in a sequence.\n","type":"VegaLite.MarkInterpolation"},{"name":"miStepBefore","comment":" Piecewise (stepped) constant interpolation function before each point in a sequence.\n","type":"VegaLite.MarkInterpolation"},{"name":"miStepwise","comment":" Piecewise (stepped) constant interpolation function centred on each point in\na sequence.\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.\n","type":"VegaLite.MarkOrientation"},{"name":"moVertical","comment":" Indicate vertical mark orientation.\n","type":"VegaLite.MarkOrientation"},{"name":"month","comment":" Month of the year (1-12) time unit used for discretizing temporal data.\n","type":"VegaLite.TimeUnit"},{"name":"monthDate","comment":" Month and day of month time unit used for discretizing temporal data.\n","type":"VegaLite.TimeUnit"},{"name":"monthDateHours","comment":" Month, day of month and hour of day time unit used for discretizing temporal data.\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.\n","type":"VegaLite.Projection"},{"name":"niDay","comment":" Nice time intervals that try to align with whole or rounded days.\n","type":"VegaLite.ScaleNice"},{"name":"niFalse","comment":" Disable nice scaling.\n","type":"VegaLite.ScaleNice"},{"name":"niHour","comment":" Nice time intervals that try to align with whole or rounded hours.\n","type":"VegaLite.ScaleNice"},{"name":"niInterval","comment":" 'Nice' temporal interval values when scaling.\n","type":"VegaLite.TimeUnit -> Basics.Int -> VegaLite.ScaleNice"},{"name":"niMillisecond","comment":" Nice time intervals that try to align with rounded milliseconds.\n","type":"VegaLite.ScaleNice"},{"name":"niMinute","comment":" Nice time intervals that try to align with whole or rounded minutes.\n","type":"VegaLite.ScaleNice"},{"name":"niMonth","comment":" Nice time intervals that try to align with whole or rounded months.\n","type":"VegaLite.ScaleNice"},{"name":"niSecond","comment":" Nice time intervals that try to align with whole or rounded seconds.\n","type":"VegaLite.ScaleNice"},{"name":"niTickCount","comment":" Desired number of tick marks in a 'nice' scaling.\n","type":"Basics.Int -> VegaLite.ScaleNice"},{"name":"niTrue","comment":" Enable nice scaling.\n","type":"VegaLite.ScaleNice"},{"name":"niWeek","comment":" Nice time intervals that try to align with whole or rounded weeks.\n","type":"VegaLite.ScaleNice"},{"name":"niYear","comment":" Nice time intervals that try to align with whole or rounded years.\n","type":"VegaLite.ScaleNice"},{"name":"noClip","comment":" Indicate no clipping to be applied.\n","type":"VegaLite.ClipRect"},{"name":"noData","comment":" Ignore the data of a specification's parent when used in a composed spec.\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. Can be useful when explicitly recoding a value as\nundefined. For example:\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.\n","type":"Basics.Float -> VegaLite.DataValue"},{"name":"numRange","comment":" Minimum-maximum number range to be used in data filtering.\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 customized 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.\n","type":"VegaLite.Operation -> VegaLite.OrderChannel"},{"name":"oBin","comment":" Discretize numeric values into bins when encoding with an order channel.\n","type":"List.List VegaLite.BinProperty -> VegaLite.OrderChannel"},{"name":"oGeo","comment":" Indicate a data field encoded with an order channel is a geo feature. Equivalent\nto `oMType GeoFeature`.\n","type":"VegaLite.OrderChannel"},{"name":"oMType","comment":" Level of measurement when encoding with an order channel. See also\n[oNominal](#oNominal), oOrdinal](#oOrdinal), [oQuant](#oQuant),\n[oTemporal](#oTemporal) and [oGeo](#oGeo) for shorthand equivalents.\n","type":"VegaLite.Measurement -> 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. Equivalent to\n`oMType Nominal`.\n","type":"VegaLite.OrderChannel"},{"name":"oOrdinal","comment":" Indicate a data field encoded with an order channel is ordinal. Equivalent to\n`oMType Ordinal`.\n","type":"VegaLite.OrderChannel"},{"name":"oQuant","comment":" Indicate a data field encoded with an order channel is quantitative. Equivalent\nto `oMType Quantitative`.\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.\n","type":"VegaLite.Arrangement -> VegaLite.OrderChannel"},{"name":"oSort","comment":" Sort order to be used by an order channel.\n","type":"List.List VegaLite.SortProperty -> VegaLite.OrderChannel"},{"name":"oTemporal","comment":" Indicate a data field encoded with an order channel is temporal. Equivalent to\n`oMType Temporal`.\n","type":"VegaLite.OrderChannel"},{"name":"oTimeUnit","comment":" Time unit aggregation of field values when encoding with an order channel.\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. For example the following would\nfind the production budget for the maximum US grossing 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. For example,\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.\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 `Count`, it does not apply to any specific field, so the second\nparameter 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.\n","type":"VegaLite.Operation"},{"name":"opCI1","comment":" Upper 95% confidence interval to be used in an aggregation operation.\n","type":"VegaLite.Operation"},{"name":"opCount","comment":" Total count of data objects to be used in an aggregation operation.\n","type":"VegaLite.Operation"},{"name":"opDistinct","comment":" Count of distinct data objects to be used in an aggregation operation.\n","type":"VegaLite.Operation"},{"name":"opMax","comment":" Maximum field value to be used in an aggregation operation.\n","type":"VegaLite.Operation"},{"name":"opMean","comment":" Mean value to be used in an aggregation operation.\n","type":"VegaLite.Operation"},{"name":"opMedian","comment":" Median field value to be used in an aggregation operation.\n","type":"VegaLite.Operation"},{"name":"opMin","comment":" Minimum field value to be used in an aggregation operation.\n","type":"VegaLite.Operation"},{"name":"opMissing","comment":" Count of null or undefined field value to be used in an aggregation operation.\n","type":"VegaLite.Operation"},{"name":"opProduct","comment":" Product of field values to be used in an aggregation operation.\n","type":"VegaLite.Operation"},{"name":"opQ1","comment":" Lower quartile boundary of field values to be used in an aggregation operation.\n","type":"VegaLite.Operation"},{"name":"opQ3","comment":" Upper quartile boundary of field values to be used in an aggregation operation.\n","type":"VegaLite.Operation"},{"name":"opStderr","comment":" Standard error of field values to be used in an aggregation operation.\n","type":"VegaLite.Operation"},{"name":"opStdev","comment":" Sample standard deviation of field values to be used in an aggregation operation.\n","type":"VegaLite.Operation"},{"name":"opStdevP","comment":" Population standard deviation of field values to be used in an aggregation operation.\n","type":"VegaLite.Operation"},{"name":"opSum","comment":" Sum of field values to be used in an aggregation operation.\n","type":"VegaLite.Operation"},{"name":"opValid","comment":" Count of values that are not `null`, `undefined` or `NaN` to be used in an\naggregation operation.\n","type":"VegaLite.Operation"},{"name":"opVariance","comment":" Sample variance of field value to be used in an aggregation operation.\n","type":"VegaLite.Operation"},{"name":"opVarianceP","comment":" Population variance of field value to be used in an aggregation operation.\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.\n","type":"VegaLite.Projection"},{"name":"osGreedy","comment":" Greedy overlap strategy to be applied when there is not space to show all items on an axis.\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.\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.\n","type":"VegaLite.OverlapStrategy"},{"name":"pAggregate","comment":" Compute some aggregate summary statistics for a field to be encoded with a\nposition channel. The type of aggregation is determined by the given operation\nparameter.\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 channel. For no axis,\nprovide an empty list.\n","type":"List.List VegaLite.AxisProperty -> VegaLite.PositionChannel"},{"name":"pBand","comment":" Specify mark position or size relative to band size. For non-rect marks,\nthe relative position on a band of a stacked, binned, time unit or band scale is\nused. A value of 0, posituions 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 channel.\nFor non-default binning, bin-widths, extent etc. can be specified in the first\nparameter. For example, to encode a frequency histogram with bins every 5 units,\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 are already binned.\n","type":"VegaLite.PositionChannel"},{"name":"pGeo","comment":" Indicate a data field encoded as a position is a geo feature. Equivalent to\n`pMType GeoFeature`.\n","type":"VegaLite.PositionChannel"},{"name":"pHeight","comment":" Set the position to the height of the enclosing data space. Useful for placing\na mark relative to the bottom edge of a view.\n","type":"VegaLite.PositionChannel"},{"name":"pImpute","comment":" Imputation rules for a 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":"pMType","comment":" Level of measurement when encoding with a position channel. See also\n[pNominal](#pNominal), [pOrdinal](#pOrdinal), [pQuant](#pQuant), [pTemporal](#pTemporal)\nand [pGeo](#pGeo) for shorthand equivalents.\n","type":"VegaLite.Measurement -> VegaLite.PositionChannel"},{"name":"pName","comment":" Name of field used for encoding with a position channel.\n","type":"String.String -> VegaLite.PositionChannel"},{"name":"pNominal","comment":" Indicate a data field encoded as a position is nominal. Equivalent to\n`pMType Nominal`.\n","type":"VegaLite.PositionChannel"},{"name":"pNum","comment":" Set a position to an arbitrary value. Useful for placing items at the top of\na plot area (`pNum 0`) or a fixed number of pixels from the top.\n","type":"Basics.Float -> VegaLite.PositionChannel"},{"name":"pOrdinal","comment":" Indicate a data field encoded as a position is ordinal. Equivalent to\n`pMType Ordinal`.\n","type":"VegaLite.PositionChannel"},{"name":"pQuant","comment":" Indicate a data field encoded as a position is quantitative. Equivalent to\n`pMType Quantitative`.\n","type":"VegaLite.PositionChannel"},{"name":"pRepeat","comment":" Reference in a position 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.\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":"pScale","comment":" Scaling applied to a field when encoding with a 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 channel.\n","type":"List.List VegaLite.SortProperty -> VegaLite.PositionChannel"},{"name":"pStack","comment":" Type of stacking offset for field when encoding with a position channel. For\nexample, stacking areas away from a centreline 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 is temporal. Equivalent to\n`pMType Temporal`.\n","type":"VegaLite.PositionChannel"},{"name":"pTimeUnit","comment":" Form of time unit aggregation of field values when encoding with a position channel.\n","type":"VegaLite.TimeUnit -> VegaLite.PositionChannel"},{"name":"pTitle","comment":" Title of a field when encoding with a 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 to the width of the enclosing data space. Useful for justifying\na mark to the right hand edge of a view. e.g. to position a mark at the right of\nthe data rectangle:\n\n    enc =\n        encoding\n            << position X [ pWidth ]\n\n","type":"VegaLite.PositionChannel"},{"name":"paEdges","comment":" Padding around a visualization in pixel units. The four parameters\nrefer to _left_, _top_, _right_, and _bottom_ edges respectively.\n","type":"Basics.Float -> Basics.Float -> Basics.Float -> Basics.Float -> VegaLite.Padding"},{"name":"paSize","comment":" Indicate uniform padding around a visualization in pixel units.\n","type":"Basics.Float -> VegaLite.Padding"},{"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":"parse","comment":" Parsing rules when processing some data text, specified as a list of tuples\nin the form (_fieldname_, _datatype_). Useful when automatic type inference needs\nto be overridden, for example when converting integers representing years into dates\nand strings into numbers:\n\n    data =\n        dataFromUrl \"myDataFile.csv\"\n            [ parse [ ( \"year\", foDate \"%Y\" ), ( \"y\", foNum ) ] ]\n\n","type":"List.List ( String.String, VegaLite.DataType ) -> VegaLite.Format"},{"name":"piGroupBy","comment":" The data fields to group by when pivoting. If not specified, a single group\ncontaining all data objects will be used.\n","type":"List.List String.String -> VegaLite.PivotProperty"},{"name":"piLimit","comment":" Maximum number of fields to generate when pivoting. If 0 or unspecified, all\nfields are pivoted. The pivot names are sorted in ascending order before any limit\nis applied.\n","type":"Basics.Int -> VegaLite.PivotProperty"},{"name":"piOp","comment":" The aggregation to apply to grouped fields during a 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.\n","type":"VegaLite.PointMarker"},{"name":"pmTransparent","comment":" Transparent point marker to be placed on area or line mark. Useful for\ninteractive selections.\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.\n","type":"Basics.Float -> Basics.Float -> VegaLite.ProjectionProperty"},{"name":"prClipAngle","comment":" Projection’s clipping circle radius to the specified angle in degrees.\nA value of `Nothing` will switch to antimeridian cutting rather than small-circle\nclipping.\n","type":"Maybe.Maybe Basics.Float -> VegaLite.ProjectionProperty"},{"name":"prClipExtent","comment":" Projection’s viewport clip extent to the specified bounds in pixels.\n","type":"VegaLite.ClipRect -> VegaLite.ProjectionProperty"},{"name":"prCoefficient","comment":" 'Hammer' map projection coefficient.\n","type":"Basics.Float -> VegaLite.ProjectionProperty"},{"name":"prDistance","comment":" 'Satellite' map projection distance.\n","type":"Basics.Float -> VegaLite.ProjectionProperty"},{"name":"prFraction","comment":" `Bottomley` map projection fraction.\n","type":"Basics.Float -> VegaLite.ProjectionProperty"},{"name":"prLobes","comment":" Number of lobes in lobed map projections such as the 'Berghaus star'.\n","type":"Basics.Int -> VegaLite.ProjectionProperty"},{"name":"prParallel","comment":" Parallel for map projections such as the 'Armadillo'.\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, the\nprojection’s current resampling precision of 0.707 is used.\n","type":"Basics.Float -> VegaLite.ProjectionProperty"},{"name":"prRadius","comment":" Radius value for map projections such as the 'Gingery'.\n","type":"Basics.Float -> VegaLite.ProjectionProperty"},{"name":"prRatio","comment":" Ratio value for map projections such as the 'Hill'.\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).\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).\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.\n","type":"Basics.Float -> Basics.Float -> Basics.Float -> 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.\n","type":"Basics.Float -> VegaLite.ProjectionProperty"},{"name":"prSpacing","comment":" Spacing value for map projections such as the 'Lagrange'.\n","type":"Basics.Float -> VegaLite.ProjectionProperty"},{"name":"prTilt","comment":" 'Satellite' map projection tilt.\n","type":"Basics.Float -> VegaLite.ProjectionProperty"},{"name":"prTranslate","comment":" A projection’s panning translation, which if set, overrides automatic positioning\nof a geo feature to fit within the viewing area.\n","type":"Basics.Float -> Basics.Float -> VegaLite.ProjectionProperty"},{"name":"prType","comment":" Type of global map projection.\n","type":"VegaLite.Projection -> VegaLite.ProjectionProperty"},{"name":"projection","comment":" Map projection used for geospatial coordinates.\n\n    proj =\n        projection [ prType equirectangular, prRotate -156 0 0 ]\n\n","type":"List.List VegaLite.ProjectionProperty -> ( VegaLite.VLProperty, VegaLite.Spec )"},{"name":"qtAs","comment":" The field names to give the probability and associated quantile values generated\nby a quantile transofrmation. 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 transformation. If not\nspecified, a single group contianing 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 values.\nIf not specified, the default step size of 0.01 or the value specified via [qtStep](#qtStep)\nwill be used.\n","type":"List.List Basics.Float -> VegaLite.QuantileProperty"},{"name":"qtStep","comment":" The interval between probabilties to use when performing a 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":"raName","comment":" Name of a pre-defined scale range (e.g. `symbol` or `diverging`).\n","type":"String.String -> VegaLite.ScaleRange"},{"name":"raNumLists","comment":" Scale range comprising numeric lists. Useful, for example, when defining custom\ndash styles for a [strokeDash](#strokeDash) channel encoding.\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.\n","type":"List.List Basics.Float -> VegaLite.ScaleRange"},{"name":"raStrs","comment":" Text scale range for discrete scales.\n","type":"List.List String.String -> VegaLite.ScaleRange"},{"name":"racoCategory","comment":" Default color scheme for categorical ranges.\n","type":"String.String -> VegaLite.RangeConfig"},{"name":"racoDiverging","comment":" Default diverging color scheme.\n","type":"String.String -> VegaLite.RangeConfig"},{"name":"racoHeatmap","comment":" Default 'heatmap' color scheme.\n","type":"String.String -> VegaLite.RangeConfig"},{"name":"racoOrdinal","comment":" Default ordinal color scheme.\n","type":"String.String -> VegaLite.RangeConfig"},{"name":"racoRamp","comment":" Default ramp (continuous) color scheme.\n","type":"String.String -> VegaLite.RangeConfig"},{"name":"racoSymbol","comment":" Default color scheme symbols.\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":" Channel should be independent of others 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":" Channel should be shared 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 compose rows and columns of a set of\nsmall multiples. Similar to [repeatFlow](#repeatFlow) except that the fields for\nrepetition by rows or by columns are set explicitly.\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 transform. The first parameter is the name to\ngive the field containing the independent variable, the second the name to\ngive the field containing dependent variable. If not specified, the\noriginal input independent and dependent field names are used.\n","type":"String.String -> String.String -> VegaLite.RegressionProperty"},{"name":"rgExp","comment":" Indicates an exponential regression method.\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. If unspecified, the full extent of input\nvalues will be used.\n","type":"VegaLite.DataValue -> VegaLite.DataValue -> VegaLite.RegressionProperty"},{"name":"rgGroupBy","comment":" The data fields to group by when generating a regression model. If not\nspecified, a single group containing all data objects will be used.\n","type":"List.List String.String -> VegaLite.RegressionProperty"},{"name":"rgLinear","comment":" Indicates a linear regression method.\n","type":"VegaLite.RegressionMethod"},{"name":"rgLog","comment":" Indicates a log regression method.\n","type":"VegaLite.RegressionMethod"},{"name":"rgMethod","comment":" The type of regression model to use when generating a 2d regression.\n","type":"VegaLite.RegressionMethod -> VegaLite.RegressionProperty"},{"name":"rgOrder","comment":" The order of a polynomial model to use when generating a 2d regression. Only\napplies if [rgMethod](#rgMethod) is set to [rgPoly](#rgPoly).\n","type":"Basics.Int -> VegaLite.RegressionProperty"},{"name":"rgPoly","comment":" Indicates a polynomial regression method. The order of the polynomial can be\nset with [rgOrder](#rgOrder) (defaulting to cubic if not provided).\n","type":"VegaLite.RegressionMethod"},{"name":"rgPow","comment":" Indicates a power regression method.\n","type":"VegaLite.RegressionMethod"},{"name":"rgQuad","comment":" Indicates a quadratic regression method.\n","type":"VegaLite.RegressionMethod"},{"name":"rgb","comment":" RGB color interpolation for continuous color scales using the given gamma\nvalue (anchored at 1).\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).\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.\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.\n","type":"Basics.Float -> VegaLite.ScaleConfig"},{"name":"sacoBandPaddingOuter","comment":" Default outer padding for x and y band-ordinal scales.\n","type":"Basics.Float -> VegaLite.ScaleConfig"},{"name":"sacoBarBandPaddingInner","comment":" Default inner padding for x and y band-ordinal scales of `bar` marks.\n","type":"Basics.Float -> VegaLite.ScaleConfig"},{"name":"sacoBarBandPaddingOuter","comment":" Default outer padding for x and y band-ordinal scales of `bar` marks.\n","type":"Basics.Float -> VegaLite.ScaleConfig"},{"name":"sacoClamp","comment":" Whether or not by default values that exceed the data domain are clamped to\nthe min/max range value.\n","type":"Basics.Bool -> VegaLite.ScaleConfig"},{"name":"sacoMaxBandSize","comment":" Default maximum value for mapping quantitative fields to a bar's\nsize/bandSize.\n","type":"Basics.Float -> VegaLite.ScaleConfig"},{"name":"sacoMaxFontSize","comment":" Default maximum value for mapping a quantitative field to a text\nmark's size.\n","type":"Basics.Float -> VegaLite.ScaleConfig"},{"name":"sacoMaxOpacity","comment":" Default maximum opacity (in the range [0, 1]) for mapping a field\nto opacity.\n","type":"Basics.Float -> VegaLite.ScaleConfig"},{"name":"sacoMaxSize","comment":" Default maximum size for point-based scales.\n","type":"Basics.Float -> VegaLite.ScaleConfig"},{"name":"sacoMaxStrokeWidth","comment":" Default maximum stroke width for rule, line and trail marks.\n","type":"Basics.Float -> VegaLite.ScaleConfig"},{"name":"sacoMinBandSize","comment":" Default minimum value for mapping quantitative fields to a bar's size/bandSize.\n","type":"Basics.Float -> VegaLite.ScaleConfig"},{"name":"sacoMinFontSize","comment":" Default minimum value for mapping a quantitative field to a text mark's size.\n","type":"Basics.Float -> VegaLite.ScaleConfig"},{"name":"sacoMinOpacity","comment":" Default minimum opacity (0 to 1) for mapping a field to opacity.\n","type":"Basics.Float -> VegaLite.ScaleConfig"},{"name":"sacoMinSize","comment":" Default minimum size for point-based scales (when not forced to start at zero).\n","type":"Basics.Float -> VegaLite.ScaleConfig"},{"name":"sacoMinStrokeWidth","comment":" Default minimum stroke width for rule, line and trail marks.\n","type":"Basics.Float -> VegaLite.ScaleConfig"},{"name":"sacoPointPadding","comment":" Default padding for point-ordinal scales.\n","type":"Basics.Float -> VegaLite.ScaleConfig"},{"name":"sacoRangeStep","comment":" Deprecated in favour of [vicoStep](#vicoStep).\n","type":"Maybe.Maybe Basics.Float -> VegaLite.ScaleConfig"},{"name":"sacoRectBandPaddingInner","comment":" Default inner padding for x and y band-ordinal scales of `rect` marks.\n","type":"Basics.Float -> VegaLite.ScaleConfig"},{"name":"sacoRectBandPaddingOuter","comment":" Default outer padding for x and y band-ordinal scales of `rect` marks.\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.\n","type":"Basics.Bool -> VegaLite.ScaleConfig"},{"name":"sacoTextXRangeStep","comment":" Deprecated in favour of [vicoStep](#vicoStep).\n","type":"Basics.Float -> VegaLite.ScaleConfig"},{"name":"sacoUseUnaggregatedDomain","comment":" Whether or not to use the source data range before aggregation.\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).\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.\n","type":"Basics.Float -> VegaLite.ScaleProperty"},{"name":"scBand","comment":" A band scale.\n","type":"VegaLite.Scale"},{"name":"scBase","comment":" The base to use for log scaling.\n","type":"Basics.Float -> VegaLite.ScaleProperty"},{"name":"scBinLinear","comment":" Deprecated in favour of [scLinear](#scLinear) with binning aggregation.\n","type":"VegaLite.Scale"},{"name":"scBinOrdinal","comment":" An ordinal band scale.\n","type":"VegaLite.Scale"},{"name":"scClamp","comment":" Whether or not values outside the data domain are clamped to the minimum or\nmaximum value.\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.\n","type":"Basics.Float -> VegaLite.ScaleProperty"},{"name":"scDomain","comment":" Custom scaling domain.\n","type":"VegaLite.ScaleDomain -> VegaLite.ScaleProperty"},{"name":"scDomainMid","comment":" Set the midpoint of continuous diverging domain. Useful when the domain is not\nsymmetric about the given midpoint but you wish to use a color scheme that diverges\nequally from that point.\n","type":"Basics.Float -> VegaLite.ScaleProperty"},{"name":"scExponent","comment":" The exponent to use for power scaling.\n","type":"Basics.Float -> VegaLite.ScaleProperty"},{"name":"scInterpolate","comment":" Interpolation method for scaling range values.\n","type":"VegaLite.CInterpolate -> VegaLite.ScaleProperty"},{"name":"scLinear","comment":" A linear scale.\n","type":"VegaLite.Scale"},{"name":"scLog","comment":" A log scale. Defaults to log of base 10, but can be customised by setting\n[scBase](#scBase) to some other value. If data to be scaled contain zeros or negative\nvalues, consider [scSymLog](#scSymLog) instead.\n","type":"VegaLite.Scale"},{"name":"scNice","comment":" 'Nice' minimum and maximum values in a scaling (e.g. multiples of 10).\n","type":"VegaLite.ScaleNice -> VegaLite.ScaleProperty"},{"name":"scOrdinal","comment":" An ordinal scale.\n","type":"VegaLite.Scale"},{"name":"scPadding","comment":" Padding in pixels to apply to a scaling.\n","type":"Basics.Float -> VegaLite.ScaleProperty"},{"name":"scPaddingInner","comment":" Inner padding to apply to a band scaling.\n","type":"Basics.Float -> VegaLite.ScaleProperty"},{"name":"scPaddingOuter","comment":" Outer padding to apply to a band scaling.\n","type":"Basics.Float -> VegaLite.ScaleProperty"},{"name":"scPoint","comment":" A point scale.\n","type":"VegaLite.Scale"},{"name":"scPow","comment":" A power scale. The exponent to use for scaling is specified with\n[scExponent](#scExponent).\n","type":"VegaLite.Scale"},{"name":"scQuantile","comment":" A quantile scale.\n","type":"VegaLite.Scale"},{"name":"scQuantize","comment":" A quantizing scale.\n","type":"VegaLite.Scale"},{"name":"scRange","comment":" Range of a scaling. The type of range depends on the encoding channel.\n","type":"VegaLite.ScaleRange -> VegaLite.ScaleProperty"},{"name":"scRangeStep","comment":" Deprecated in favour of [widthStep](#widthStep) and [heightStep](#heightStep).\n","type":"Maybe.Maybe Basics.Float -> VegaLite.ScaleProperty"},{"name":"scReverse","comment":" Whether or not to reverse sorting order of a scaling.\n","type":"Basics.Bool -> VegaLite.ScaleProperty"},{"name":"scRound","comment":" Whether or not numeric values in a scaling are rounded to integers.\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\") and the second an optional specification\nof the number of colors to use (list of one number), or the extent of the color\nrange to use (list of two numbers between 0 and 1). For example\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":"scSequential","comment":" Deprecated in favour of [scLinear](#scLinear).\n","type":"VegaLite.Scale"},{"name":"scSqrt","comment":" A square root scale.\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. Similar to a log scale but supports zero and negative values. The slope\nof the function at zero can be set with [scConstant](#scConstant).\n","type":"VegaLite.Scale"},{"name":"scThreshold","comment":" A threshold scale.\n","type":"VegaLite.Scale"},{"name":"scTime","comment":" A temporal scale.\n","type":"VegaLite.Scale"},{"name":"scType","comment":" Type of scaling to apply.\n","type":"VegaLite.Scale -> VegaLite.ScaleProperty"},{"name":"scUtc","comment":" A UTC temporal scale.\n","type":"VegaLite.Scale"},{"name":"scZero","comment":" Whether or not a numeric scaling should be forced to include a zero value.\n","type":"Basics.Bool -> VegaLite.ScaleProperty"},{"name":"seBind","comment":" Bind to some input elements as part of a named selection. For example, to\nallow a selection to be based on a drop-down list of options:\n\n    sel =\n        selection\n            << select \"mySelection\"\n                seSingle\n                [ seFields [ \"crimeType\" ]\n                , seBind\n                    [ iSelect \"crimeType\"\n                        [ inOptions\n                            [ \"Anti-social behaviour\"\n                            , \"Criminal damage and arson\"\n                            , \"Drugs\"\n                            , \"Robbery\"\n                            , \"Vehicle crime\"\n                            ]\n                        ]\n                    ]\n                ]\n\n","type":"List.List VegaLite.Binding -> VegaLite.SelectionProperty"},{"name":"seBindLegend","comment":" Enable binding between a legend selection and the item it references. Currently\nonly applicable to categorical (symbol) legends.\n\nFor example, to make an interactive legend of crime types that can be selected\nwith a click:\n\n    sel =\n        selection\n            << select \"mySelection\"\n                seSingle\n                [ seBindLegend [ blField \"crimeType\" ] ]\n\nTo make the binding two-way (clcking on an item in the chart selects its legend\ncategory), add an event stream selector to the selection with [seOn](#seOn).\n\nFor example, to allow multiple legend entries to be selected with double clicks\ndirectly on the legend or clicks on the main chart:\n\n    select \"mySelection\"\n        seMulti\n        [ seOn \"click\"\n        , seBindLegend\n            [ blField \"crimeType\"\n            , blEvent \"dblclick\"\n            ]\n        ]\n\n","type":"List.List VegaLite.BindLegendProperty -> VegaLite.SelectionProperty"},{"name":"seBindScales","comment":" Enable two-way binding between a selection and the scales used in the same\nview. Commonly used for zooming and panning by binding selection to position scaling:\n\n    sel =\n        selection\n            << select \"mySelection\" seInterval [ seBindScales ]\n\n","type":"VegaLite.SelectionProperty"},{"name":"seClear","comment":" [Vega event stream selector](https://vega.github.io/vega/docs/event-streams/#selector)\nthat can clear a selection. For example, to allow a zoomed/panned view to be reset\non shift-click:\n\n    selection\n        << select \"myZoomPan\"\n            seInterval\n            [ seBindScales, seClear \"click[event.shiftKey]\" ]\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":"seEmpty","comment":" Make a selection empty by default when nothing selected.\n","type":"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:\n\n    sel =\n        selection\n            << select \"mySelection\" seMulti [ seEncodings [ chColor ] ]\n\n","type":"List.List VegaLite.Channel -> VegaLite.SelectionProperty"},{"name":"seFields","comment":" Field names for projecting a selection over multiple fields.\n","type":"List.List String.String -> VegaLite.SelectionProperty"},{"name":"seGlobal","comment":" One selection available across all subviews (default).\n","type":"VegaLite.SelectionResolution"},{"name":"seInit","comment":" Initialise one or more selections with values from bound fields.\n\n    sel =\n        selection\n            << select \"CylYr\"\n                seSingle\n                [ seFields [ \"Cylinders\", \"Year\" ]\n                , seInit\n                    [ ( \"Cylinders\", num 4 )\n                    , ( \"Year\", num 1977 )\n                    ]\n                , seBind\n                    [ iRange \"Cylinders\" [ inName \"Cylinders \", inMin 3, inMax 8, inStep 1 ]\n                    , iRange \"Year\" [ inName \"Year \", inMin 1969, inMax 1981, inStep 1 ]\n                    ]\n                ]\n\n","type":"List.List ( String.String, VegaLite.DataValue ) -> VegaLite.SelectionProperty"},{"name":"seInitInterval","comment":" Initialse the domain extent of an interval selection. The parameters refer to\nthe (xMin, xMax) and (yMin, yMax) domain extents of the initial interval selection.\nIf one of the tuples is `Nothing` the selection is projected over that dimension.\nIf both are nothing, no initialization is provided.\n\nInitialise selection between 2013-2015 along x-channel and 40-80 along y-channel:\n\n    select \"mySelection\"\n        seInterval\n        [ seInitInterval (Just ( dt [ dtYear 2013 ], dt [ dtYear 2015 ] ))\n            (Just ( num 40, num 80 ))\n        ]\n\nInitialise selection on the y-channel between 40-80 and project across the x-channel:\n\n    select \"mySelection\"\n        seInterval\n        [ seInitInterval Nothing (Just ( num 40, num 80 )) ]\n\n","type":"Maybe.Maybe ( VegaLite.DataValue, VegaLite.DataValue ) -> Maybe.Maybe ( VegaLite.DataValue, VegaLite.DataValue ) -> VegaLite.SelectionProperty"},{"name":"seIntersection","comment":" Each subview contains its own brush and marks are selected if they lie\nwithin _all_ of these individual selections.\n","type":"VegaLite.SelectionResolution"},{"name":"seInterval","comment":" Indicate a draggable bounding rectangle can be made for selecting all items\nthat intersect with it.\n","type":"VegaLite.Selection"},{"name":"seMulti","comment":" Indicate multiple interactive mark selections can be made (e.g. with shift-click).\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.\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.\n","type":"String.String -> VegaLite.SelectionProperty"},{"name":"seResolve","comment":" Strategy that determines how selections’ data queries are resolved when applied\nin a filter transform, conditional encoding rule, or scale domain.\n","type":"VegaLite.SelectionResolution -> VegaLite.SelectionProperty"},{"name":"seSelectionMark","comment":" Appearance of an interval selection mark (dragged rectangle).\n","type":"List.List VegaLite.SelectionMarkProperty -> VegaLite.SelectionProperty"},{"name":"seSingle","comment":" Indicate a single, mark at a time, interactive selection can be made.\n","type":"VegaLite.Selection"},{"name":"seToggle","comment":" Predicate expression that determines a toggled selection. See the\n[Vega-Lite toggle documentation](https://vega.github.io/vega-lite/docs/toggle.html)\n","type":"String.String -> VegaLite.SelectionProperty"},{"name":"seTranslate","comment":" Translation selection transformation used for panning a view. See the\n[Vega-Lite translate documentation](https://vega.github.io/vega-lite/docs/translate.html)\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.\n","type":"VegaLite.SelectionResolution"},{"name":"seZoom","comment":" Zooming selection transformation used for zooming a view. See the\n[Vega-Lite zoom documentation](https://vega.github.io/vega-lite/docs/zoom.html)\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":"select","comment":" Create a single named selection that may be applied to a data query or transformation.\nThe first two parameters specify the name to be given to the selection for later\nreference and the type of selection made. The third allows additional selection options to\nbe specified.\n","type":"String.String -> VegaLite.Selection -> List.List VegaLite.SelectionProperty -> List.List VegaLite.LabelledSpec -> List.List VegaLite.LabelledSpec"},{"name":"selected","comment":" Interactive selection that will be true or false as part of a logical composition.\ne.g., to filter a dataset so that only items selected interactively and that have\na weight of more than 30:\n\n    transform\n        << filter (fCompose (and (selected \"brush\") (expr \"datum.weight > 30\")))\n\n","type":"String.String -> VegaLite.BooleanOp"},{"name":"selection","comment":" Create a full selection specification from a list of selections.\n\n    sel =\n        selection\n            << select \"view\" seInterval [ seBindScales ] []\n            << select \"myBrush\" seInterval []\n            << select \"myPaintbrush\" seMulti [ seOn \"mouseover\", seNearest True ]\n\n","type":"List.List VegaLite.LabelledSpec -> ( VegaLite.VLProperty, VegaLite.Spec )"},{"name":"selectionName","comment":" Name a selection that is used as part of a conditional encoding.\n\n    color\n        [ mSelectionCondition (selectionName \"myBrush\")\n            [ mName \"myField\", mNominal ]\n            [ mStr \"grey\" ]\n        ]\n\n","type":"String.String -> VegaLite.BooleanOp"},{"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 to specify an axis position.\n","type":"VegaLite.Side"},{"name":"siLeft","comment":" Left side, used to specify an axis position.\n","type":"VegaLite.Side"},{"name":"siRight","comment":" Right side, used to specify an axis position.\n","type":"VegaLite.Side"},{"name":"siTop","comment":" Top side, used to specify an axis position.\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).\n","type":"VegaLite.Cursor -> VegaLite.SelectionMarkProperty"},{"name":"smFill","comment":" Fill color of an interval selection mark (dragged rectangular area).\n","type":"String.String -> VegaLite.SelectionMarkProperty"},{"name":"smFillOpacity","comment":" Fill opacity of an interval selection mark in the range 0 to 1.\n","type":"Basics.Float -> VegaLite.SelectionMarkProperty"},{"name":"smStroke","comment":" Stroke color of an interval selection mark.\n","type":"String.String -> VegaLite.SelectionMarkProperty"},{"name":"smStrokeDash","comment":" Stroke dash style of an interval selection mark.\n","type":"List.List Basics.Float -> VegaLite.SelectionMarkProperty"},{"name":"smStrokeDashOffset","comment":" Stroke dash offset of an interval selection mark.\n","type":"Basics.Float -> VegaLite.SelectionMarkProperty"},{"name":"smStrokeOpacity","comment":" Stroke opacity of an interval selection mark in the range 0 to 1.\n","type":"Basics.Float -> VegaLite.SelectionMarkProperty"},{"name":"smStrokeWidth","comment":" Stroke width of an interval selection mark.\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.\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. e.g., sort the categorical data field `variety` by the mean age of\nthe 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.\n","type":"VegaLite.Arrangement -> VegaLite.Operation -> VegaLite.SortProperty"},{"name":"soCustom","comment":" Custom sort order listing data values explicitly.\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    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.\n","type":"String.String -> VegaLite.SortField"},{"name":"stCenter","comment":" Offset a stacked layout using a central stack baseline.\n","type":"VegaLite.StackOffset"},{"name":"stDescending","comment":" Indicate that the given field should be sorted in descending order.\n","type":"String.String -> VegaLite.SortField"},{"name":"stNone","comment":" Do not stack marks (produces a layered plot).\n","type":"VegaLite.StackOffset"},{"name":"stNormalize","comment":" Rescale a stacked layout to use a common height while preserving relative size\nof stacked quantities.\n","type":"VegaLite.StackOffset"},{"name":"stOffset","comment":" Stack offset when applying a stack transformation.\n","type":"VegaLite.StackOffset -> VegaLite.StackProperty"},{"name":"stSort","comment":" Ordering within a stack when applying a 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.\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.\n","type":"VegaLite.Projection"},{"name":"str","comment":" A string data value.\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. For example,\n\n    enc =\n        encoding\n            << position X [ pName \"date\", pTemporal ]\n            << position Y [ pName \"price\", pQuant ]\n            << strokeDash [ mName \"company\", mNominal ]\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 customized 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.\n","type":"VegaLite.Symbol"},{"name":"symCircle","comment":" Specify a circular symbol for a shape mark.\n","type":"VegaLite.Symbol"},{"name":"symCross","comment":" Specify a cross symbol for a shape mark.\n","type":"VegaLite.Symbol"},{"name":"symDiamond","comment":" Specify a diamond symbol for a shape mark.\n","type":"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).\n","type":"String.String -> VegaLite.Symbol"},{"name":"symSquare","comment":" Specify a square symbol for a shape mark.\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).\n","type":"VegaLite.Symbol"},{"name":"symTriangle","comment":" Specify a centred triangle symbol for a shape mark. Useful for vector plots.\n","type":"VegaLite.Symbol"},{"name":"symTriangleDown","comment":" Specify a downward triangular symbol for a shape mark.\n","type":"VegaLite.Symbol"},{"name":"symTriangleLeft","comment":" Specify a leftward facing triangular symbol for a shape mark.\n","type":"VegaLite.Symbol"},{"name":"symTriangleRight","comment":" Specify a rightward facing triangular symbol for a shape mark.\n","type":"VegaLite.Symbol"},{"name":"symTriangleUp","comment":" Specify an upward triangular symbol for a shape mark.\n","type":"VegaLite.Symbol"},{"name":"symWedge","comment":" Specify a centred wedge (thin triangle) symbol for a shape mark. Useful for\nvector plots.\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\nparameter.\n","type":"VegaLite.Operation -> VegaLite.TextChannel"},{"name":"tBin","comment":" Discretize numeric values into bins when encoding with a text channel.\n","type":"List.List VegaLite.BinProperty -> VegaLite.TextChannel"},{"name":"tBinned","comment":" Indicate that data encoded with a text channel are already binned.\n","type":"VegaLite.TextChannel"},{"name":"tDataCondition","comment":" Make a text channel conditional on one or more predicate expressions. The first\nparameter is a list of tuples each pairing an expression to evaluate with the encoding\nif that expression is true. The second is the encoding if none of the expressions\nare evaluated as true.\n","type":"List.List ( VegaLite.BooleanOp, List.List VegaLite.TextChannel ) -> List.List VegaLite.TextChannel -> 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).\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. 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).\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).\n","type":"VegaLite.TextChannel"},{"name":"tGeo","comment":" Indicate a data field encoded as a text property is a geo feature. Equivalent\nto `tMType GeoFeature`.\n","type":"VegaLite.TextChannel"},{"name":"tMType","comment":" Level of measurement when encoding with a text channel. See also [tNominal](#tNominal),\n[tOrdinal](#tOrdinal), [tQuant](#tQuant), [tTemporal](#tTemporal) and [tGeo](#tGeo)\nfor shorthand equivalents.\n","type":"VegaLite.Measurement -> VegaLite.TextChannel"},{"name":"tName","comment":" Name of field used for encoding with a text channel.\n","type":"String.String -> VegaLite.TextChannel"},{"name":"tNominal","comment":" Indicate a data field encoded as a text property is nominal. Equivalent to\n`tMType Nominal`.\n","type":"VegaLite.TextChannel"},{"name":"tOrdinal","comment":" Indicate a data field encoded as a text property is ordinal. Equivalent to\n`tMType Ordinal`.\n","type":"VegaLite.TextChannel"},{"name":"tQuant","comment":" Indicate a data field encoded as a text property is quantitative. Equivalent to\n`tMType Quantitative`.\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.\n","type":"VegaLite.Arrangement -> VegaLite.TextChannel"},{"name":"tSelectionCondition","comment":" Make a text channel conditional on interactive selection. The first parameter\nis a selection condition to evaluate; the second the encoding to apply if that\nselection is true; the third parameter is the encoding if the selection is false.\n","type":"VegaLite.BooleanOp -> List.List VegaLite.TextChannel -> List.List VegaLite.TextChannel -> VegaLite.TextChannel"},{"name":"tStr","comment":" Literal string value when encoding with a text channel. Can be useful for\nquick text annotation. For multi-line text, insert `\\n` at each line break or use\na `\"\"\"` 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. Equivalent to\n`tMType Temporal`.\n","type":"VegaLite.TextChannel"},{"name":"tTimeUnit","comment":" Time unit aggregation of field values when encoding with a text channel.\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.\n","type":"String.String -> VegaLite.TextChannel"},{"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.\n","type":"VegaLite.TitleFrame"},{"name":"tfGroup","comment":" Specify a title anchor position relative to the group width / height.\n","type":"VegaLite.TitleFrame"},{"name":"tiAnchor","comment":" Anchor position when placing a title.\n","type":"VegaLite.Anchor -> VegaLite.TitleProperty"},{"name":"tiAngle","comment":" Angle of title text (degrees from horizontal).\n","type":"Basics.Float -> VegaLite.TitleProperty"},{"name":"tiBaseline","comment":" Vertical alignment of a title.\n","type":"VegaLite.VAlign -> VegaLite.TitleProperty"},{"name":"tiColor","comment":" Text colour of a title.\n","type":"String.String -> VegaLite.TitleProperty"},{"name":"tiFont","comment":" Title font.\n","type":"String.String -> VegaLite.TitleProperty"},{"name":"tiFontSize","comment":" Title font size.\n","type":"Basics.Float -> VegaLite.TitleProperty"},{"name":"tiFontStyle","comment":" Title font style (italic etc.).\n","type":"String.String -> VegaLite.TitleProperty"},{"name":"tiFontWeight","comment":" Title font weight.\n","type":"VegaLite.FontWeight -> VegaLite.TitleProperty"},{"name":"tiFrame","comment":" Title position anchor. Can be relative to the full bounding box\n([frBounds](#frBounds)) or the group in which the titled visualiztion belongs\n([frGroup](#frGroup)).\n","type":"VegaLite.TitleFrame -> VegaLite.TitleProperty"},{"name":"tiLimit","comment":" Maximum length of the title display in pixel units.\n","type":"Basics.Float -> VegaLite.TitleProperty"},{"name":"tiLineHeight","comment":" Line height (vertical spacing) for title text.\n","type":"Basics.Float -> VegaLite.TitleProperty"},{"name":"tiOffset","comment":" Offset in pixel units of the title relative to the chart body.\n","type":"Basics.Float -> VegaLite.TitleProperty"},{"name":"tiOrient","comment":" Placement of title relative to the chart body.\n","type":"VegaLite.Side -> VegaLite.TitleProperty"},{"name":"tiStyle","comment":" A list of named styles to apply to 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.\n","type":"String.String -> VegaLite.TitleProperty"},{"name":"tiSubtitleColor","comment":" Color of a subtitle.\n","type":"String.String -> VegaLite.TitleProperty"},{"name":"tiSubtitleFont","comment":" Font name of a subtitle.\n","type":"String.String -> VegaLite.TitleProperty"},{"name":"tiSubtitleFontSize","comment":" Font size of a subtitle.\n","type":"Basics.Float -> VegaLite.TitleProperty"},{"name":"tiSubtitleFontStyle","comment":" Font style of a subtitle such as `\"normal\"` or `\"italic\"`.\n","type":"String.String -> VegaLite.TitleProperty"},{"name":"tiSubtitleFontWeight","comment":" Font weight of a subtitle.\n","type":"VegaLite.FontWeight -> VegaLite.TitleProperty"},{"name":"tiSubtitleLineHeight","comment":" Line height in pixels of each line of text in a multi-line subtitle.\n","type":"Basics.Float -> VegaLite.TitleProperty"},{"name":"tiSubtitlePadding","comment":" Padding in pixels between title and subtitle text.\n","type":"Basics.Float -> VegaLite.TitleProperty"},{"name":"tiZIndex","comment":" Drawing order of a 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":" Default anchor position when placing titles.\n","type":"VegaLite.Anchor -> VegaLite.TitleConfig"},{"name":"ticoAngle","comment":" Default angle when orientating titles (degrees from horizontal).\n","type":"Basics.Float -> VegaLite.TitleConfig"},{"name":"ticoBaseline","comment":" Default vertical alignment when placing titles.\n","type":"VegaLite.VAlign -> VegaLite.TitleConfig"},{"name":"ticoColor","comment":" Default color when showing titles.\n","type":"String.String -> VegaLite.TitleConfig"},{"name":"ticoFont","comment":" Default font when showing titles.\n","type":"String.String -> VegaLite.TitleConfig"},{"name":"ticoFontSize","comment":" Default font size when showing titles.\n","type":"Basics.Float -> VegaLite.TitleConfig"},{"name":"ticoFontStyle","comment":" Default font style (italic etc.) when showing titles.\n","type":"String.String -> VegaLite.TitleConfig"},{"name":"ticoFontWeight","comment":" Default font weight when showing titles.\n","type":"VegaLite.FontWeight -> VegaLite.TitleConfig"},{"name":"ticoFrame","comment":" Title position anchor. Can be relative to the full bounding box\n([frBounds](#frBounds)) or the group in which the titled visualiztion belongs\n([frGroup](#frGroup)).\n","type":"VegaLite.TitleFrame -> VegaLite.TitleConfig"},{"name":"ticoLimit","comment":" Default maximum length in pixel units when showing titles.\n","type":"Basics.Float -> VegaLite.TitleConfig"},{"name":"ticoLineHeight","comment":" Line height (vertical spacing) for title text.\n","type":"Basics.Float -> VegaLite.TitleConfig"},{"name":"ticoOffset","comment":" Default offset in pixel units of titles relative to the chart body.\n","type":"Basics.Float -> VegaLite.TitleConfig"},{"name":"ticoOrient","comment":" Default placement of titles relative to the chart body.\n","type":"VegaLite.Side -> 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.\n","type":"List.List String.String -> VegaLite.TitleConfig"},{"name":"ticoSubtitleColor","comment":" Default color of a subtitle.\n","type":"String.String -> VegaLite.TitleProperty"},{"name":"ticoSubtitleFont","comment":" Default font name of a subtitle.\n","type":"String.String -> VegaLite.TitleProperty"},{"name":"ticoSubtitleFontSize","comment":" Default font size of a subtitle.\n","type":"Basics.Float -> VegaLite.TitleProperty"},{"name":"ticoSubtitleFontStyle","comment":" Default ont style of a subtitle such as `\"normal\"` or `\"italic\"`.\n","type":"String.String -> VegaLite.TitleProperty"},{"name":"ticoSubtitleFontWeight","comment":" Default font weight of a subtitle.\n","type":"VegaLite.FontWeight -> VegaLite.TitleProperty"},{"name":"ticoSubtitleLineHeight","comment":" Default line height in pixels of each line of text in a subtitle.\n","type":"Basics.Float -> VegaLite.TitleProperty"},{"name":"ticoSubtitlePadding","comment":" Default padding in pixels between title and subtitle text.\n","type":"Basics.Float -> VegaLite.TitleProperty"},{"name":"ticoZIndex","comment":" 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.\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. For example,\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":"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    let\n        data =\n            dataFromColumns []\n                << dataColumn \"a\" (strs [ \"C\", \"C\", \"D\", \"E\" ])\n                << dataColumn \"b\" (nums [ 2, 7, 1, 2 ])\n\n        enc =\n            encoding\n                << position X [ pName \"a\", pNominal ]\n                << position Y [ pName \"b\", pQuant, 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).\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\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.\n\n    geodata =\n        dataFromUrl \"city.json\" [ 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.\n","type":"String.String -> VegaLite.Format"},{"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.\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`\n","type":"VegaLite.DataValue"},{"name":"tsv","comment":" TSV data file format (only necessary if the file extension does not indicate the\ntype).\n","type":"VegaLite.Format"},{"name":"ttData","comment":" Indicate tooltips are generated by all fields in the underlying data.\n\n    circle [ maTooltip ttData ]\n\n","type":"VegaLite.TooltipContent"},{"name":"ttEncoding","comment":" Indicate tooltips should be enebled using the encoded data of the mark.\n\n    circle [ maTooltip ttEncoding ]\n\n","type":"VegaLite.TooltipContent"},{"name":"ttNone","comment":" Indicate that tooltips should be disabled for the mark (default).\n\n    circle [ maTooltip ttNone ]\n\n","type":"VegaLite.TooltipContent"},{"name":"tuMaxBins","comment":" Specify the maximum number of bins used when discretising 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,\n\n    tuMaxBins 366\n\nwhen applied to a dataset of hourly readings for a full year, will bin into days.\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\n\n    tuStep 14 yearMonthDate\n\nwill bin temporal data into biweekly weekly groups.\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":"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\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').\n","type":"VegaLite.VAlign"},{"name":"vaBottom","comment":" Vertically align text marks by the bottom of descenders (e.g. bottom of a 'g').\n","type":"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.).\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.).\n","type":"VegaLite.VAlign"},{"name":"vaMiddle","comment":" Vertically align text marks by their middle (e.g. middle of an 'x').\n","type":"VegaLite.VAlign"},{"name":"vaTop","comment":" Vertically align text marks by the top of ascenders (e.g. top of an 'A').\n","type":"VegaLite.VAlign"},{"name":"vicoBackground","comment":" Configure the default single view style.\n","type":"List.List VegaLite.ViewBackground -> VegaLite.ViewConfig"},{"name":"vicoClip","comment":" Whether or not by default single views should be clipped.\n","type":"Basics.Bool -> VegaLite.ViewConfig"},{"name":"vicoContinuousHeight","comment":" Default height of single views when the plot has continuous y-field.\n","type":"Basics.Float -> VegaLite.ViewConfig"},{"name":"vicoContinuousWidth","comment":" Default width of single views when the plot has continuous x-field.\n","type":"Basics.Float -> VegaLite.ViewConfig"},{"name":"vicoCornerRadius","comment":" The radius in pixels of rounded rectangle corners.\n","type":"Basics.Float -> VegaLite.ViewConfig"},{"name":"vicoCursor","comment":" Default cursor for single views.\n","type":"VegaLite.Cursor -> VegaLite.ViewConfig"},{"name":"vicoDiscreteHeight","comment":" Default height of single views when the plot has discrete y-field.\n","type":"Basics.Float -> VegaLite.ViewConfig"},{"name":"vicoDiscreteWidth","comment":" Default width of single views when the plot has discrete x-field.\n","type":"Basics.Float -> VegaLite.ViewConfig"},{"name":"vicoFill","comment":" Default fill color for single views.\n","type":"Maybe.Maybe String.String -> VegaLite.ViewConfig"},{"name":"vicoFillOpacity","comment":" Default fill opacity for single views.\n","type":"Basics.Float -> VegaLite.ViewConfig"},{"name":"vicoHeight","comment":" Depcrecated in favour of [vicoContinuousHeight](#vicoContinuousHeight) or\n[vicoDiscreteHeight](#vicoDiscreteHeight).\n","type":"Basics.Float -> VegaLite.ViewConfig"},{"name":"vicoOpacity","comment":" Default overall opacity for single views.\n","type":"Basics.Float -> VegaLite.ViewConfig"},{"name":"vicoStep","comment":" Default step size for x/y discrete fields.\n","type":"Basics.Float -> VegaLite.ViewConfig"},{"name":"vicoStroke","comment":" Default stroke color for single views. If `Nothing` is provided,\nno strokes are drawn around the view.\n","type":"Maybe.Maybe String.String -> VegaLite.ViewConfig"},{"name":"vicoStrokeCap","comment":" Default stroke cap line-ending style for single views.\n","type":"VegaLite.StrokeCap -> VegaLite.ViewConfig"},{"name":"vicoStrokeDash","comment":" Default stroke dash style for single views.\n","type":"List.List Basics.Float -> VegaLite.ViewConfig"},{"name":"vicoStrokeDashOffset","comment":" Default stroke dash offset for single views.\n","type":"Basics.Float -> VegaLite.ViewConfig"},{"name":"vicoStrokeJoin","comment":" Default stroke line-joining style for single views.\n","type":"VegaLite.StrokeJoin -> VegaLite.ViewConfig"},{"name":"vicoStrokeMiterLimit","comment":" Default stroke mitre limit at which to bevel a line join in single views.\n","type":"Basics.Float -> VegaLite.ViewConfig"},{"name":"vicoStrokeOpacity","comment":" Default stroke opacity for single views.\n","type":"Basics.Float -> VegaLite.ViewConfig"},{"name":"vicoStrokeWidth","comment":" Default stroke width of single views.\n","type":"Basics.Float -> VegaLite.ViewConfig"},{"name":"vicoWidth","comment":" Depcrecated in favour of [vicoContinuousWidth](#vicoContinuousWidth) or\n[vicoDiscreteWidth](#vicoDiscreteWidth).\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.\n","type":"Basics.Float -> VegaLite.ViewBackground"},{"name":"viewFill","comment":" Fill color for a single view or layer background.\n","type":"Maybe.Maybe String.String -> VegaLite.ViewBackground"},{"name":"viewFillOpacity","comment":" Fill opacity for a single view or layer background.\n","type":"Basics.Float -> VegaLite.ViewBackground"},{"name":"viewOpacity","comment":" Overall opacity for a single view or layer background.\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.\n","type":"Maybe.Maybe String.String -> VegaLite.ViewBackground"},{"name":"viewStrokeCap","comment":" Stroke cap line-ending around a single view or layer background.\n","type":"VegaLite.StrokeCap -> VegaLite.ViewBackground"},{"name":"viewStrokeDash","comment":" Stroke dash style for a line around a single view or layer background.\n","type":"List.List Basics.Float -> VegaLite.ViewBackground"},{"name":"viewStrokeDashOffset","comment":" Stroke dash offset for line around a single view or layer background.\n","type":"Basics.Float -> VegaLite.ViewBackground"},{"name":"viewStrokeJoin","comment":" Stroke line-joining style around a single view or layer background.\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.\n","type":"Basics.Float -> VegaLite.ViewBackground"},{"name":"viewStrokeOpacity","comment":" Stroke opacity around a single view or layer background.\n","type":"Basics.Float -> VegaLite.ViewBackground"},{"name":"viewStrokeWidth","comment":" Stroke around a single view or layer background.\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.\n","type":"List.List String.String -> VegaLite.ViewBackground"},{"name":"wiAggregateOp","comment":" An aggregate operation to be used in a window transformation.\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.\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.\n","type":"String.String -> VegaLite.SortField"},{"name":"wiField","comment":" Field for which to compute a 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 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 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 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 transformation.\n","type":"VegaLite.WOperation -> VegaLite.Window"},{"name":"wiParam","comment":" Numeric parameter for window-only operations that can be parameterised\n(`woPercentile`, `woLag`, `woLead` and `woNthValue`).\n","type":"Basics.Int -> VegaLite.Window"},{"name":"wiSort","comment":" Comparator for sorting data objects within a 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":"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 function to be applied in a window transform.\n","type":"VegaLite.WOperation"},{"name":"woDenseRank","comment":" Dense rank function to be applied in a window transform.\n","type":"VegaLite.WOperation"},{"name":"woFirstValue","comment":" First value in a sliding window to be applied in a window transform.\n","type":"VegaLite.WOperation"},{"name":"woLag","comment":" Value preceding the current object in a sliding window to be applied in a window transform.\n","type":"VegaLite.WOperation"},{"name":"woLastValue","comment":" Last value in a sliding window to be applied in a window transform.\n","type":"VegaLite.WOperation"},{"name":"woLead","comment":" Value following the current object in a sliding window to be applied in a window transform.\n","type":"VegaLite.WOperation"},{"name":"woNthValue","comment":" Nth value in a sliding window to be applied in a window transform.\n","type":"VegaLite.WOperation"},{"name":"woPercentRank","comment":" Percentile of values in a sliding window to be applied in a window transform.\n","type":"VegaLite.WOperation"},{"name":"woPercentile","comment":" Value preceding the current object in a sliding window to be applied in a window transform.\n","type":"VegaLite.WOperation"},{"name":"woRank","comment":" Rank function to be applied in a window transform.\n","type":"VegaLite.WOperation"},{"name":"woRowNumber","comment":" Assign consecutive row number to values in a data object to be applied in a window transform.\n","type":"VegaLite.WOperation"},{"name":"year","comment":" Year time unit used for discretizing temporal data.\n","type":"VegaLite.TimeUnit"},{"name":"yearMonth","comment":" Year and month time unit used for discretizing temporal data.\n","type":"VegaLite.TimeUnit"},{"name":"yearMonthDate","comment":" Year, month and day of month time unit used for discretizing temporal data.\n","type":"VegaLite.TimeUnit"},{"name":"yearMonthDateHours","comment":" Year, month, day of month and hour of day time unit used for discretizing temporal data.\n","type":"VegaLite.TimeUnit"},{"name":"yearMonthDateHoursMinutes","comment":" Time unit used for discretizing temporal data.\n","type":"VegaLite.TimeUnit"},{"name":"yearMonthDateHoursMinutesSeconds","comment":" Time unit used for discretizing temporal data.\n","type":"VegaLite.TimeUnit"},{"name":"yearQuarter","comment":" Year and year quarter time unit used for discretizing temporal data.\n","type":"VegaLite.TimeUnit"},{"name":"yearQuarterMonth","comment":" Year, quarter and month time unit used for discretizing temporal data.\n","type":"VegaLite.TimeUnit"}],"binops":[]}]