From 94698fd5b1678b8a1571f0b399b9b590a3d91d93 Mon Sep 17 00:00:00 2001 From: Christopher Davis Date: Tue, 25 Oct 2022 15:32:56 -0700 Subject: [PATCH 1/5] Update vega to v5.22.1 and vega-lite to v5.5.0 --- altair/vega/v5/schema/__init__.py | 4 +- altair/vega/v5/schema/core.py | 3583 +-- altair/vega/v5/schema/vega-schema.json | 23561 ++++++++-------- altair/vegalite/v5/schema/__init__.py | 4 +- altair/vegalite/v5/schema/channels.py | 360 +- altair/vegalite/v5/schema/core.py | 303 +- .../vegalite/v5/schema/vega-lite-schema.json | 268 +- doc/user_guide/API.rst | 1 + tools/generate_schema_wrapper.py | 29 +- 9 files changed, 14257 insertions(+), 13856 deletions(-) diff --git a/altair/vega/v5/schema/__init__.py b/altair/vega/v5/schema/__init__.py index 3764f925d..94bb7702d 100644 --- a/altair/vega/v5/schema/__init__.py +++ b/altair/vega/v5/schema/__init__.py @@ -1,5 +1,5 @@ # flake8: noqa from .core import * -SCHEMA_VERSION = 'v5.10.0' -SCHEMA_URL = 'https://vega.github.io/schema/vega/v5.10.0.json' +SCHEMA_VERSION = 'v5.22.1' +SCHEMA_URL = 'https://vega.github.io/schema/vega/v5.22.1.json' diff --git a/altair/vega/v5/schema/core.py b/altair/vega/v5/schema/core.py index 39b43e29a..5ab5104f2 100644 --- a/altair/vega/v5/schema/core.py +++ b/altair/vega/v5/schema/core.py @@ -41,9 +41,9 @@ class autosize(VegaSchema): """autosize schema wrapper oneOf(enum('pad', 'fit', 'fit-x', 'fit-y', 'none'), Mapping(required=[type]), - :class:`signal`) + :class:`signalRef`) """ - _schema = {'$ref': '#/defs/autosize'} + _schema = {'$ref': '#/definitions/autosize'} def __init__(self, *args, **kwds): super(autosize, self).__init__(*args, **kwds) @@ -57,14 +57,20 @@ class axis(VegaSchema): Attributes ---------- - orient : enum('top', 'bottom', 'left', 'right') + orient : oneOf(enum('top', 'bottom', 'left', 'right'), :class:`signalRef`) scale : string + aria : boolean + bandPosition : oneOf(float, :class:`numberValue`) + description : string + domain : boolean + domainCap : oneOf(string, :class:`stringValue`) + domainColor : oneOf(None, string, :class:`colorValue`) domainDash : oneOf(List(float), :class:`arrayValue`) @@ -77,12 +83,14 @@ class axis(VegaSchema): encode : Mapping(required=[]) - format : oneOf(string, Mapping(required=[]), :class:`signal`) + format : oneOf(string, Mapping(required=[]), :class:`signalRef`) - formatType : oneOf(enum('number', 'time', 'utc'), :class:`signal`) + formatType : oneOf(enum('number', 'time', 'utc'), :class:`signalRef`) grid : boolean + gridCap : oneOf(string, :class:`stringValue`) + gridColor : oneOf(None, string, :class:`colorValue`) gridDash : oneOf(List(float), :class:`arrayValue`) @@ -102,11 +110,11 @@ class axis(VegaSchema): labelBaseline : oneOf(enum('top', 'middle', 'bottom', 'alphabetic', 'line-top', 'line-bottom'), :class:`baselineValue`) - labelBound : oneOf(boolean, float, :class:`signal`) + labelBound : oneOf(boolean, float, :class:`signalRef`) labelColor : oneOf(None, string, :class:`colorValue`) - labelFlush : oneOf(boolean, float, :class:`signal`) + labelFlush : oneOf(boolean, float, :class:`signalRef`) labelFlushOffset : :class:`numberOrSignal` @@ -146,6 +154,8 @@ class axis(VegaSchema): tickBand : :class:`tickBand` + tickCap : oneOf(string, :class:`stringValue`) + tickColor : oneOf(None, string, :class:`colorValue`) tickCount : :class:`tickCount` @@ -205,19 +215,20 @@ class axis(VegaSchema): titleY : oneOf(float, :class:`numberValue`) - translate : float + translate : oneOf(float, :class:`numberValue`) values : :class:`arrayOrSignal` zindex : float """ - _schema = {'$ref': '#/defs/axis'} + _schema = {'$ref': '#/definitions/axis'} - def __init__(self, orient=Undefined, scale=Undefined, bandPosition=Undefined, domain=Undefined, - domainColor=Undefined, domainDash=Undefined, domainDashOffset=Undefined, - domainOpacity=Undefined, domainWidth=Undefined, encode=Undefined, format=Undefined, - formatType=Undefined, grid=Undefined, gridColor=Undefined, gridDash=Undefined, + def __init__(self, orient=Undefined, scale=Undefined, aria=Undefined, bandPosition=Undefined, + description=Undefined, domain=Undefined, domainCap=Undefined, domainColor=Undefined, + domainDash=Undefined, domainDashOffset=Undefined, domainOpacity=Undefined, + domainWidth=Undefined, encode=Undefined, format=Undefined, formatType=Undefined, + grid=Undefined, gridCap=Undefined, gridColor=Undefined, gridDash=Undefined, gridDashOffset=Undefined, gridOpacity=Undefined, gridScale=Undefined, gridWidth=Undefined, labelAlign=Undefined, labelAngle=Undefined, labelBaseline=Undefined, labelBound=Undefined, labelColor=Undefined, @@ -226,26 +237,27 @@ def __init__(self, orient=Undefined, scale=Undefined, bandPosition=Undefined, do labelLimit=Undefined, labelLineHeight=Undefined, labelOffset=Undefined, labelOpacity=Undefined, labelOverlap=Undefined, labelPadding=Undefined, labelSeparation=Undefined, labels=Undefined, maxExtent=Undefined, minExtent=Undefined, - offset=Undefined, position=Undefined, tickBand=Undefined, tickColor=Undefined, - tickCount=Undefined, tickDash=Undefined, tickDashOffset=Undefined, tickExtra=Undefined, - tickMinStep=Undefined, tickOffset=Undefined, tickOpacity=Undefined, - tickRound=Undefined, tickSize=Undefined, tickWidth=Undefined, ticks=Undefined, - title=Undefined, titleAlign=Undefined, titleAnchor=Undefined, titleAngle=Undefined, - titleBaseline=Undefined, titleColor=Undefined, titleFont=Undefined, - titleFontSize=Undefined, titleFontStyle=Undefined, titleFontWeight=Undefined, - titleLimit=Undefined, titleLineHeight=Undefined, titleOpacity=Undefined, - titlePadding=Undefined, titleX=Undefined, titleY=Undefined, translate=Undefined, - values=Undefined, zindex=Undefined, **kwds): - super(axis, self).__init__(orient=orient, scale=scale, bandPosition=bandPosition, domain=domain, + offset=Undefined, position=Undefined, tickBand=Undefined, tickCap=Undefined, + tickColor=Undefined, tickCount=Undefined, tickDash=Undefined, tickDashOffset=Undefined, + tickExtra=Undefined, tickMinStep=Undefined, tickOffset=Undefined, + tickOpacity=Undefined, tickRound=Undefined, tickSize=Undefined, tickWidth=Undefined, + ticks=Undefined, title=Undefined, titleAlign=Undefined, titleAnchor=Undefined, + titleAngle=Undefined, titleBaseline=Undefined, titleColor=Undefined, + titleFont=Undefined, titleFontSize=Undefined, titleFontStyle=Undefined, + titleFontWeight=Undefined, titleLimit=Undefined, titleLineHeight=Undefined, + titleOpacity=Undefined, titlePadding=Undefined, titleX=Undefined, titleY=Undefined, + translate=Undefined, values=Undefined, zindex=Undefined, **kwds): + super(axis, self).__init__(orient=orient, scale=scale, aria=aria, bandPosition=bandPosition, + description=description, domain=domain, domainCap=domainCap, domainColor=domainColor, domainDash=domainDash, domainDashOffset=domainDashOffset, domainOpacity=domainOpacity, domainWidth=domainWidth, encode=encode, format=format, - formatType=formatType, grid=grid, gridColor=gridColor, - gridDash=gridDash, gridDashOffset=gridDashOffset, - gridOpacity=gridOpacity, gridScale=gridScale, gridWidth=gridWidth, - labelAlign=labelAlign, labelAngle=labelAngle, - labelBaseline=labelBaseline, labelBound=labelBound, - labelColor=labelColor, labelFlush=labelFlush, + formatType=formatType, grid=grid, gridCap=gridCap, + gridColor=gridColor, gridDash=gridDash, + gridDashOffset=gridDashOffset, gridOpacity=gridOpacity, + gridScale=gridScale, gridWidth=gridWidth, labelAlign=labelAlign, + labelAngle=labelAngle, labelBaseline=labelBaseline, + labelBound=labelBound, labelColor=labelColor, labelFlush=labelFlush, labelFlushOffset=labelFlushOffset, labelFont=labelFont, labelFontSize=labelFontSize, labelFontStyle=labelFontStyle, labelFontWeight=labelFontWeight, labelLimit=labelLimit, @@ -253,7 +265,7 @@ def __init__(self, orient=Undefined, scale=Undefined, bandPosition=Undefined, do labelOpacity=labelOpacity, labelOverlap=labelOverlap, labelPadding=labelPadding, labelSeparation=labelSeparation, labels=labels, maxExtent=maxExtent, minExtent=minExtent, - offset=offset, position=position, tickBand=tickBand, + offset=offset, position=position, tickBand=tickBand, tickCap=tickCap, tickColor=tickColor, tickCount=tickCount, tickDash=tickDash, tickDashOffset=tickDashOffset, tickExtra=tickExtra, tickMinStep=tickMinStep, tickOffset=tickOffset, @@ -269,12 +281,46 @@ def __init__(self, orient=Undefined, scale=Undefined, bandPosition=Undefined, do **kwds) +class labelOverlap(VegaSchema): + """labelOverlap schema wrapper + + oneOf(boolean, enum('parity', 'greedy'), :class:`signalRef`) + """ + _schema = {'$ref': '#/definitions/labelOverlap'} + + def __init__(self, *args, **kwds): + super(labelOverlap, self).__init__(*args, **kwds) + + +class tickBand(VegaSchema): + """tickBand schema wrapper + + oneOf(enum('center', 'extent'), :class:`signalRef`) + """ + _schema = {'$ref': '#/definitions/tickBand'} + + def __init__(self, *args, **kwds): + super(tickBand, self).__init__(*args, **kwds) + + +class tickCount(VegaSchema): + """tickCount schema wrapper + + oneOf(float, enum('millisecond', 'second', 'minute', 'hour', 'day', 'week', 'month', + 'year'), Mapping(required=[interval]), :class:`signalRef`) + """ + _schema = {'$ref': '#/definitions/tickCount'} + + def __init__(self, *args, **kwds): + super(tickCount, self).__init__(*args, **kwds) + + class background(VegaSchema): """background schema wrapper - oneOf(string, :class:`signal`) + oneOf(string, :class:`signalRef`) """ - _schema = {'$ref': '#/defs/background'} + _schema = {'$ref': '#/definitions/background'} def __init__(self, *args, **kwds): super(background, self).__init__(*args, **kwds) @@ -284,26 +330,56 @@ class bind(VegaSchema): """bind schema wrapper oneOf(Mapping(required=[input]), Mapping(required=[input, options]), - Mapping(required=[input]), Mapping(required=[input])) + Mapping(required=[input]), Mapping(required=[input]), Mapping(required=[element])) """ - _schema = {'$ref': '#/defs/bind'} + _schema = {'$ref': '#/definitions/bind'} def __init__(self, *args, **kwds): super(bind, self).__init__(*args, **kwds) +class element(VegaSchema): + """element schema wrapper + + string + """ + _schema = {'$ref': '#/definitions/element'} + + def __init__(self, *args): + super(element, self).__init__(*args) + + class data(VegaSchema): """data schema wrapper oneOf(Mapping(required=[name]), Mapping(required=[source, name]), Mapping(required=[url, name]), Mapping(required=[values, name])) """ - _schema = {'$ref': '#/defs/data'} + _schema = {'$ref': '#/definitions/data'} def __init__(self, *args, **kwds): super(data, self).__init__(*args, **kwds) +class paramField(VegaSchema): + """paramField schema wrapper + + Mapping(required=[field]) + + Attributes + ---------- + + field : string + + as : string + + """ + _schema = {'$ref': '#/definitions/paramField'} + + def __init__(self, field=Undefined, **kwds): + super(paramField, self).__init__(field=field, **kwds) + + class rule(VegaSchema): """rule schema wrapper @@ -315,7 +391,7 @@ class rule(VegaSchema): test : string """ - _schema = {'$ref': '#/defs/rule'} + _schema = {'$ref': '#/definitions/rule'} def __init__(self, test=Undefined, **kwds): super(rule, self).__init__(test=test, **kwds) @@ -333,6 +409,12 @@ class encodeEntry(VegaSchema): angle : :class:`numberValue` + aria : :class:`booleanValue` + + ariaRole : :class:`stringValue` + + ariaRoleDescription : :class:`stringValue` + aspect : :class:`booleanValue` baseline : :class:`baselineValue` @@ -355,6 +437,8 @@ class encodeEntry(VegaSchema): defined : :class:`booleanValue` + description : :class:`stringValue` + dir : :class:`stringValue` dx : :class:`numberValue` @@ -460,13 +544,14 @@ class encodeEntry(VegaSchema): zindex : :class:`numberValue` """ - _schema = {'$ref': '#/defs/encodeEntry'} + _schema = {'$ref': '#/definitions/encodeEntry'} - def __init__(self, align=Undefined, angle=Undefined, aspect=Undefined, baseline=Undefined, - blend=Undefined, clip=Undefined, cornerRadius=Undefined, - cornerRadiusBottomLeft=Undefined, cornerRadiusBottomRight=Undefined, - cornerRadiusTopLeft=Undefined, cornerRadiusTopRight=Undefined, cursor=Undefined, - defined=Undefined, dir=Undefined, dx=Undefined, dy=Undefined, ellipsis=Undefined, + def __init__(self, align=Undefined, angle=Undefined, aria=Undefined, ariaRole=Undefined, + ariaRoleDescription=Undefined, aspect=Undefined, baseline=Undefined, blend=Undefined, + clip=Undefined, cornerRadius=Undefined, cornerRadiusBottomLeft=Undefined, + cornerRadiusBottomRight=Undefined, cornerRadiusTopLeft=Undefined, + cornerRadiusTopRight=Undefined, cursor=Undefined, defined=Undefined, + description=Undefined, dir=Undefined, dx=Undefined, dy=Undefined, ellipsis=Undefined, endAngle=Undefined, fill=Undefined, fillOpacity=Undefined, font=Undefined, fontSize=Undefined, fontStyle=Undefined, fontWeight=Undefined, height=Undefined, innerRadius=Undefined, interpolate=Undefined, limit=Undefined, lineBreak=Undefined, @@ -479,21 +564,23 @@ def __init__(self, align=Undefined, angle=Undefined, aspect=Undefined, baseline= strokeWidth=Undefined, tension=Undefined, text=Undefined, theta=Undefined, tooltip=Undefined, url=Undefined, width=Undefined, x=Undefined, x2=Undefined, xc=Undefined, y=Undefined, y2=Undefined, yc=Undefined, zindex=Undefined, **kwds): - super(encodeEntry, self).__init__(align=align, angle=angle, aspect=aspect, baseline=baseline, - blend=blend, clip=clip, cornerRadius=cornerRadius, + super(encodeEntry, self).__init__(align=align, angle=angle, aria=aria, ariaRole=ariaRole, + ariaRoleDescription=ariaRoleDescription, aspect=aspect, + baseline=baseline, blend=blend, clip=clip, + cornerRadius=cornerRadius, cornerRadiusBottomLeft=cornerRadiusBottomLeft, cornerRadiusBottomRight=cornerRadiusBottomRight, cornerRadiusTopLeft=cornerRadiusTopLeft, cornerRadiusTopRight=cornerRadiusTopRight, cursor=cursor, - defined=defined, dir=dir, dx=dx, dy=dy, ellipsis=ellipsis, - endAngle=endAngle, fill=fill, fillOpacity=fillOpacity, - font=font, fontSize=fontSize, fontStyle=fontStyle, - fontWeight=fontWeight, height=height, innerRadius=innerRadius, - interpolate=interpolate, limit=limit, lineBreak=lineBreak, - lineHeight=lineHeight, opacity=opacity, orient=orient, - outerRadius=outerRadius, padAngle=padAngle, path=path, - radius=radius, scaleX=scaleX, scaleY=scaleY, shape=shape, - size=size, smooth=smooth, startAngle=startAngle, + defined=defined, description=description, dir=dir, dx=dx, + dy=dy, ellipsis=ellipsis, endAngle=endAngle, fill=fill, + fillOpacity=fillOpacity, font=font, fontSize=fontSize, + fontStyle=fontStyle, fontWeight=fontWeight, height=height, + innerRadius=innerRadius, interpolate=interpolate, limit=limit, + lineBreak=lineBreak, lineHeight=lineHeight, opacity=opacity, + orient=orient, outerRadius=outerRadius, padAngle=padAngle, + path=path, radius=radius, scaleX=scaleX, scaleY=scaleY, + shape=shape, size=size, smooth=smooth, startAngle=startAngle, stroke=stroke, strokeCap=strokeCap, strokeDash=strokeDash, strokeDashOffset=strokeDashOffset, strokeForeground=strokeForeground, strokeJoin=strokeJoin, @@ -509,2908 +596,2892 @@ class encode(VegaSchema): Mapping(required=[]) """ - _schema = {'$ref': '#/defs/encode'} + _schema = {'$ref': '#/definitions/encode'} def __init__(self, **kwds): super(encode, self).__init__(**kwds) -class layout(VegaSchema): - """layout schema wrapper +class field(VegaSchema): + """field schema wrapper - oneOf(Mapping(required=[]), :class:`signal`) + oneOf(string, :class:`signalRef`, Mapping(required=[datum]), Mapping(required=[group]), + Mapping(required=[parent])) """ - _schema = {'$ref': '#/defs/layout'} + _schema = {'$ref': '#/definitions/field'} def __init__(self, *args, **kwds): - super(layout, self).__init__(*args, **kwds) + super(field, self).__init__(*args, **kwds) -class guideEncode(VegaSchema): - """guideEncode schema wrapper +class stringModifiers(VegaSchema): + """stringModifiers schema wrapper Mapping(required=[]) Attributes ---------- - interactive : boolean - - name : string - - style : :class:`style` - - """ - _schema = {'$ref': '#/defs/guideEncode'} - - def __init__(self, interactive=Undefined, name=Undefined, style=Undefined, **kwds): - super(guideEncode, self).__init__(interactive=interactive, name=name, style=style, **kwds) - - -class legend(VegaSchema): - """legend schema wrapper + scale : :class:`field` - allOf(Mapping(required=[]), anyOf(Mapping(required=[size]), Mapping(required=[shape]), - Mapping(required=[fill]), Mapping(required=[stroke]), Mapping(required=[opacity]), - Mapping(required=[strokeDash]), Mapping(required=[strokeWidth]))) """ - _schema = {'$ref': '#/defs/legend'} + _schema = {'$ref': '#/definitions/stringModifiers'} - def __init__(self, clipHeight=Undefined, columnPadding=Undefined, columns=Undefined, - cornerRadius=Undefined, direction=Undefined, encode=Undefined, fill=Undefined, - fillColor=Undefined, format=Undefined, formatType=Undefined, gradientLength=Undefined, - gradientOpacity=Undefined, gradientStrokeColor=Undefined, - gradientStrokeWidth=Undefined, gradientThickness=Undefined, gridAlign=Undefined, - labelAlign=Undefined, labelBaseline=Undefined, labelColor=Undefined, - labelFont=Undefined, labelFontSize=Undefined, labelFontStyle=Undefined, - labelFontWeight=Undefined, labelLimit=Undefined, labelOffset=Undefined, - labelOpacity=Undefined, labelOverlap=Undefined, labelSeparation=Undefined, - legendX=Undefined, legendY=Undefined, offset=Undefined, opacity=Undefined, - orient=Undefined, padding=Undefined, rowPadding=Undefined, shape=Undefined, - size=Undefined, stroke=Undefined, strokeColor=Undefined, strokeDash=Undefined, - strokeWidth=Undefined, symbolDash=Undefined, symbolDashOffset=Undefined, - symbolFillColor=Undefined, symbolLimit=Undefined, symbolOffset=Undefined, - symbolOpacity=Undefined, symbolSize=Undefined, symbolStrokeColor=Undefined, - symbolStrokeWidth=Undefined, symbolType=Undefined, tickCount=Undefined, - tickMinStep=Undefined, title=Undefined, titleAlign=Undefined, titleAnchor=Undefined, - titleBaseline=Undefined, titleColor=Undefined, titleFont=Undefined, - titleFontSize=Undefined, titleFontStyle=Undefined, titleFontWeight=Undefined, - titleLimit=Undefined, titleLineHeight=Undefined, titleOpacity=Undefined, - titleOrient=Undefined, titlePadding=Undefined, type=Undefined, values=Undefined, - zindex=Undefined, **kwds): - super(legend, self).__init__(clipHeight=clipHeight, columnPadding=columnPadding, - columns=columns, cornerRadius=cornerRadius, direction=direction, - encode=encode, fill=fill, fillColor=fillColor, format=format, - formatType=formatType, gradientLength=gradientLength, - gradientOpacity=gradientOpacity, - gradientStrokeColor=gradientStrokeColor, - gradientStrokeWidth=gradientStrokeWidth, - gradientThickness=gradientThickness, gridAlign=gridAlign, - labelAlign=labelAlign, labelBaseline=labelBaseline, - labelColor=labelColor, labelFont=labelFont, - labelFontSize=labelFontSize, labelFontStyle=labelFontStyle, - labelFontWeight=labelFontWeight, labelLimit=labelLimit, - labelOffset=labelOffset, labelOpacity=labelOpacity, - labelOverlap=labelOverlap, labelSeparation=labelSeparation, - legendX=legendX, legendY=legendY, offset=offset, opacity=opacity, - orient=orient, padding=padding, rowPadding=rowPadding, shape=shape, - size=size, stroke=stroke, strokeColor=strokeColor, - strokeDash=strokeDash, strokeWidth=strokeWidth, - symbolDash=symbolDash, symbolDashOffset=symbolDashOffset, - symbolFillColor=symbolFillColor, symbolLimit=symbolLimit, - symbolOffset=symbolOffset, symbolOpacity=symbolOpacity, - symbolSize=symbolSize, symbolStrokeColor=symbolStrokeColor, - symbolStrokeWidth=symbolStrokeWidth, symbolType=symbolType, - tickCount=tickCount, tickMinStep=tickMinStep, title=title, - titleAlign=titleAlign, titleAnchor=titleAnchor, - titleBaseline=titleBaseline, titleColor=titleColor, - titleFont=titleFont, titleFontSize=titleFontSize, - titleFontStyle=titleFontStyle, titleFontWeight=titleFontWeight, - titleLimit=titleLimit, titleLineHeight=titleLineHeight, - titleOpacity=titleOpacity, titleOrient=titleOrient, - titlePadding=titlePadding, type=type, values=values, zindex=zindex, - **kwds) + def __init__(self, scale=Undefined, **kwds): + super(stringModifiers, self).__init__(scale=scale, **kwds) -class mark(VegaSchema): - """mark schema wrapper +class numberModifiers(VegaSchema): + """numberModifiers schema wrapper - Mapping(required=[type]) + Mapping(required=[]) Attributes ---------- - type : :class:`marktype` + band : oneOf(float, boolean) - clip : :class:`markclip` + exponent : oneOf(float, :class:`numberValue`) - encode : :class:`encode` + extra : boolean - interactive : :class:`booleanOrSignal` + mult : oneOf(float, :class:`numberValue`) - key : string + offset : oneOf(float, :class:`numberValue`) - name : string + round : boolean - on : :class:`onMarkTrigger` + scale : :class:`field` - role : string + """ + _schema = {'$ref': '#/definitions/numberModifiers'} - sort : :class:`compare` + def __init__(self, band=Undefined, exponent=Undefined, extra=Undefined, mult=Undefined, + offset=Undefined, round=Undefined, scale=Undefined, **kwds): + super(numberModifiers, self).__init__(band=band, exponent=exponent, extra=extra, mult=mult, + offset=offset, round=round, scale=scale, **kwds) - style : :class:`style` - transform : List(:class:`transformMark`) +class anyValue(VegaSchema): + """anyValue schema wrapper + oneOf(List(allOf(:class:`rule`, allOf(:class:`stringModifiers`, + anyOf(oneOf(:class:`signalRef`, Mapping(required=[value]), Mapping(required=[field]), + Mapping(required=[range])), Mapping(required=[scale, value]), Mapping(required=[scale, + band]), Mapping(required=[offset]))))), allOf(:class:`stringModifiers`, + anyOf(oneOf(:class:`signalRef`, Mapping(required=[value]), Mapping(required=[field]), + Mapping(required=[range])), Mapping(required=[scale, value]), Mapping(required=[scale, + band]), Mapping(required=[offset])))) """ - _schema = {'$ref': '#/defs/mark'} + _schema = {'$ref': '#/definitions/anyValue'} - def __init__(self, type=Undefined, clip=Undefined, encode=Undefined, interactive=Undefined, - key=Undefined, name=Undefined, on=Undefined, role=Undefined, sort=Undefined, - style=Undefined, transform=Undefined, **kwds): - super(mark, self).__init__(type=type, clip=clip, encode=encode, interactive=interactive, - key=key, name=name, on=on, role=role, sort=sort, style=style, - transform=transform, **kwds) + def __init__(self, *args, **kwds): + super(anyValue, self).__init__(*args, **kwds) -class markGroup(VegaSchema): - """markGroup schema wrapper +class blendValue(VegaSchema): + """blendValue schema wrapper - allOf(Mapping(required=[type]), :class:`mark`, :class:`scope`) + oneOf(List(allOf(:class:`rule`, allOf(:class:`stringModifiers`, + anyOf(oneOf(:class:`signalRef`, Mapping(required=[value]), Mapping(required=[field]), + Mapping(required=[range])), Mapping(required=[scale, value]), Mapping(required=[scale, + band]), Mapping(required=[offset]))))), allOf(:class:`stringModifiers`, + anyOf(oneOf(:class:`signalRef`, Mapping(required=[value]), Mapping(required=[field]), + Mapping(required=[range])), Mapping(required=[scale, value]), Mapping(required=[scale, + band]), Mapping(required=[offset])))) """ - _schema = {'$ref': '#/defs/markGroup'} - - def __init__(self, type=Undefined, axes=Undefined, clip=Undefined, data=Undefined, encode=Undefined, - interactive=Undefined, key=Undefined, layout=Undefined, legends=Undefined, - marks=Undefined, name=Undefined, on=Undefined, projections=Undefined, role=Undefined, - scales=Undefined, signals=Undefined, sort=Undefined, style=Undefined, title=Undefined, - transform=Undefined, usermeta=Undefined, **kwds): - super(markGroup, self).__init__(type=type, axes=axes, clip=clip, data=data, encode=encode, - interactive=interactive, key=key, layout=layout, - legends=legends, marks=marks, name=name, on=on, - projections=projections, role=role, scales=scales, - signals=signals, sort=sort, style=style, title=title, - transform=transform, usermeta=usermeta, **kwds) + _schema = {'$ref': '#/definitions/blendValue'} + def __init__(self, *args, **kwds): + super(blendValue, self).__init__(*args, **kwds) -class markVisual(VegaSchema): - """markVisual schema wrapper - allOf(Mapping(required=[]), :class:`mark`) +class numberValue(VegaSchema): + """numberValue schema wrapper + + oneOf(List(allOf(:class:`rule`, allOf(:class:`numberModifiers`, + anyOf(oneOf(:class:`signalRef`, Mapping(required=[value]), Mapping(required=[field]), + Mapping(required=[range])), Mapping(required=[scale, value]), Mapping(required=[scale, + band]), Mapping(required=[offset]))))), allOf(:class:`numberModifiers`, + anyOf(oneOf(:class:`signalRef`, Mapping(required=[value]), Mapping(required=[field]), + Mapping(required=[range])), Mapping(required=[scale, value]), Mapping(required=[scale, + band]), Mapping(required=[offset])))) """ - _schema = {'$ref': '#/defs/markVisual'} + _schema = {'$ref': '#/definitions/numberValue'} - def __init__(self, type=Undefined, clip=Undefined, encode=Undefined, interactive=Undefined, - key=Undefined, name=Undefined, on=Undefined, role=Undefined, sort=Undefined, - style=Undefined, transform=Undefined, **kwds): - super(markVisual, self).__init__(type=type, clip=clip, encode=encode, interactive=interactive, - key=key, name=name, on=on, role=role, sort=sort, style=style, - transform=transform, **kwds) + def __init__(self, *args, **kwds): + super(numberValue, self).__init__(*args, **kwds) -class listener(VegaSchema): - """listener schema wrapper +class stringValue(VegaSchema): + """stringValue schema wrapper - oneOf(:class:`signal`, Mapping(required=[scale]), :class:`stream`) + oneOf(List(allOf(:class:`rule`, allOf(:class:`stringModifiers`, + anyOf(oneOf(:class:`signalRef`, Mapping(required=[value]), Mapping(required=[field]), + Mapping(required=[range])), Mapping(required=[scale, value]), Mapping(required=[scale, + band]), Mapping(required=[offset]))))), allOf(:class:`stringModifiers`, + anyOf(oneOf(:class:`signalRef`, Mapping(required=[value]), Mapping(required=[field]), + Mapping(required=[range])), Mapping(required=[scale, value]), Mapping(required=[scale, + band]), Mapping(required=[offset])))) """ - _schema = {'$ref': '#/defs/listener'} + _schema = {'$ref': '#/definitions/stringValue'} def __init__(self, *args, **kwds): - super(listener, self).__init__(*args, **kwds) + super(stringValue, self).__init__(*args, **kwds) -class onEvents(VegaSchema): - """onEvents schema wrapper +class textValue(VegaSchema): + """textValue schema wrapper - List(allOf(Mapping(required=[events]), oneOf(Mapping(required=[encode]), - Mapping(required=[update])))) + oneOf(List(allOf(:class:`rule`, allOf(:class:`stringModifiers`, + anyOf(oneOf(:class:`signalRef`, Mapping(required=[value]), Mapping(required=[field]), + Mapping(required=[range])), Mapping(required=[scale, value]), Mapping(required=[scale, + band]), Mapping(required=[offset]))))), allOf(:class:`stringModifiers`, + anyOf(oneOf(:class:`signalRef`, Mapping(required=[value]), Mapping(required=[field]), + Mapping(required=[range])), Mapping(required=[scale, value]), Mapping(required=[scale, + band]), Mapping(required=[offset])))) """ - _schema = {'$ref': '#/defs/onEvents'} + _schema = {'$ref': '#/definitions/textValue'} - def __init__(self, *args): - super(onEvents, self).__init__(*args) + def __init__(self, *args, **kwds): + super(textValue, self).__init__(*args, **kwds) -class onTrigger(VegaSchema): - """onTrigger schema wrapper +class booleanValue(VegaSchema): + """booleanValue schema wrapper - List(Mapping(required=[trigger])) + oneOf(List(allOf(:class:`rule`, allOf(:class:`stringModifiers`, + anyOf(oneOf(:class:`signalRef`, Mapping(required=[value]), Mapping(required=[field]), + Mapping(required=[range])), Mapping(required=[scale, value]), Mapping(required=[scale, + band]), Mapping(required=[offset]))))), allOf(:class:`stringModifiers`, + anyOf(oneOf(:class:`signalRef`, Mapping(required=[value]), Mapping(required=[field]), + Mapping(required=[range])), Mapping(required=[scale, value]), Mapping(required=[scale, + band]), Mapping(required=[offset])))) """ - _schema = {'$ref': '#/defs/onTrigger'} + _schema = {'$ref': '#/definitions/booleanValue'} - def __init__(self, *args): - super(onTrigger, self).__init__(*args) + def __init__(self, *args, **kwds): + super(booleanValue, self).__init__(*args, **kwds) -class onMarkTrigger(VegaSchema): - """onMarkTrigger schema wrapper +class arrayValue(VegaSchema): + """arrayValue schema wrapper - List(Mapping(required=[trigger])) + oneOf(List(allOf(:class:`rule`, allOf(:class:`stringModifiers`, + anyOf(oneOf(:class:`signalRef`, Mapping(required=[value]), Mapping(required=[field]), + Mapping(required=[range])), Mapping(required=[scale, value]), Mapping(required=[scale, + band]), Mapping(required=[offset]))))), allOf(:class:`stringModifiers`, + anyOf(oneOf(:class:`signalRef`, Mapping(required=[value]), Mapping(required=[field]), + Mapping(required=[range])), Mapping(required=[scale, value]), Mapping(required=[scale, + band]), Mapping(required=[offset])))) """ - _schema = {'$ref': '#/defs/onMarkTrigger'} + _schema = {'$ref': '#/definitions/arrayValue'} - def __init__(self, *args): - super(onMarkTrigger, self).__init__(*args) + def __init__(self, *args, **kwds): + super(arrayValue, self).__init__(*args, **kwds) -class padding(VegaSchema): - """padding schema wrapper +class fontWeightValue(VegaSchema): + """fontWeightValue schema wrapper - oneOf(float, Mapping(required=[]), :class:`signal`) + oneOf(List(allOf(:class:`rule`, allOf(:class:`stringModifiers`, + anyOf(oneOf(:class:`signalRef`, Mapping(required=[value]), Mapping(required=[field]), + Mapping(required=[range])), Mapping(required=[scale, value]), Mapping(required=[scale, + band]), Mapping(required=[offset]))))), allOf(:class:`stringModifiers`, + anyOf(oneOf(:class:`signalRef`, Mapping(required=[value]), Mapping(required=[field]), + Mapping(required=[range])), Mapping(required=[scale, value]), Mapping(required=[scale, + band]), Mapping(required=[offset])))) """ - _schema = {'$ref': '#/defs/padding'} + _schema = {'$ref': '#/definitions/fontWeightValue'} def __init__(self, *args, **kwds): - super(padding, self).__init__(*args, **kwds) + super(fontWeightValue, self).__init__(*args, **kwds) -class projection(VegaSchema): - """projection schema wrapper +class anchorValue(VegaSchema): + """anchorValue schema wrapper - Mapping(required=[name]) + oneOf(List(allOf(:class:`rule`, allOf(:class:`stringModifiers`, + anyOf(oneOf(:class:`signalRef`, Mapping(required=[value]), Mapping(required=[field]), + Mapping(required=[range])), Mapping(required=[scale, value]), Mapping(required=[scale, + band]), Mapping(required=[offset]))))), allOf(:class:`stringModifiers`, + anyOf(oneOf(:class:`signalRef`, Mapping(required=[value]), Mapping(required=[field]), + Mapping(required=[range])), Mapping(required=[scale, value]), Mapping(required=[scale, + band]), Mapping(required=[offset])))) + """ + _schema = {'$ref': '#/definitions/anchorValue'} - Attributes - ---------- + def __init__(self, *args, **kwds): + super(anchorValue, self).__init__(*args, **kwds) - name : string - center : oneOf(List(:class:`numberOrSignal`), :class:`signal`) +class alignValue(VegaSchema): + """alignValue schema wrapper - clipAngle : :class:`numberOrSignal` + oneOf(List(allOf(:class:`rule`, allOf(:class:`stringModifiers`, + anyOf(oneOf(:class:`signalRef`, Mapping(required=[value]), Mapping(required=[field]), + Mapping(required=[range])), Mapping(required=[scale, value]), Mapping(required=[scale, + band]), Mapping(required=[offset]))))), allOf(:class:`stringModifiers`, + anyOf(oneOf(:class:`signalRef`, Mapping(required=[value]), Mapping(required=[field]), + Mapping(required=[range])), Mapping(required=[scale, value]), Mapping(required=[scale, + band]), Mapping(required=[offset])))) + """ + _schema = {'$ref': '#/definitions/alignValue'} - clipExtent : oneOf(List(oneOf(List(:class:`numberOrSignal`), :class:`signal`)), - :class:`signal`) + def __init__(self, *args, **kwds): + super(alignValue, self).__init__(*args, **kwds) - extent : oneOf(List(oneOf(List(:class:`numberOrSignal`), :class:`signal`)), :class:`signal`) - fit : oneOf(Mapping(required=[]), List(Any)) +class baselineValue(VegaSchema): + """baselineValue schema wrapper - parallels : oneOf(List(:class:`numberOrSignal`), :class:`signal`) + oneOf(List(allOf(:class:`rule`, allOf(:class:`stringModifiers`, + anyOf(oneOf(:class:`signalRef`, Mapping(required=[value]), Mapping(required=[field]), + Mapping(required=[range])), Mapping(required=[scale, value]), Mapping(required=[scale, + band]), Mapping(required=[offset]))))), allOf(:class:`stringModifiers`, + anyOf(oneOf(:class:`signalRef`, Mapping(required=[value]), Mapping(required=[field]), + Mapping(required=[range])), Mapping(required=[scale, value]), Mapping(required=[scale, + band]), Mapping(required=[offset])))) + """ + _schema = {'$ref': '#/definitions/baselineValue'} - pointRadius : :class:`numberOrSignal` + def __init__(self, *args, **kwds): + super(baselineValue, self).__init__(*args, **kwds) - precision : :class:`numberOrSignal` - rotate : oneOf(List(:class:`numberOrSignal`), :class:`signal`) +class directionValue(VegaSchema): + """directionValue schema wrapper - scale : :class:`numberOrSignal` + oneOf(List(allOf(:class:`rule`, allOf(:class:`stringModifiers`, + anyOf(oneOf(:class:`signalRef`, Mapping(required=[value]), Mapping(required=[field]), + Mapping(required=[range])), Mapping(required=[scale, value]), Mapping(required=[scale, + band]), Mapping(required=[offset]))))), allOf(:class:`stringModifiers`, + anyOf(oneOf(:class:`signalRef`, Mapping(required=[value]), Mapping(required=[field]), + Mapping(required=[range])), Mapping(required=[scale, value]), Mapping(required=[scale, + band]), Mapping(required=[offset])))) + """ + _schema = {'$ref': '#/definitions/directionValue'} - size : oneOf(List(:class:`numberOrSignal`), :class:`signal`) + def __init__(self, *args, **kwds): + super(directionValue, self).__init__(*args, **kwds) - translate : oneOf(List(:class:`numberOrSignal`), :class:`signal`) - type : :class:`stringOrSignal` +class orientValue(VegaSchema): + """orientValue schema wrapper + oneOf(List(allOf(:class:`rule`, allOf(:class:`stringModifiers`, + anyOf(oneOf(:class:`signalRef`, Mapping(required=[value]), Mapping(required=[field]), + Mapping(required=[range])), Mapping(required=[scale, value]), Mapping(required=[scale, + band]), Mapping(required=[offset]))))), allOf(:class:`stringModifiers`, + anyOf(oneOf(:class:`signalRef`, Mapping(required=[value]), Mapping(required=[field]), + Mapping(required=[range])), Mapping(required=[scale, value]), Mapping(required=[scale, + band]), Mapping(required=[offset])))) """ - _schema = {'$ref': '#/defs/projection'} + _schema = {'$ref': '#/definitions/orientValue'} - def __init__(self, name=Undefined, center=Undefined, clipAngle=Undefined, clipExtent=Undefined, - extent=Undefined, fit=Undefined, parallels=Undefined, pointRadius=Undefined, - precision=Undefined, rotate=Undefined, scale=Undefined, size=Undefined, - translate=Undefined, type=Undefined, **kwds): - super(projection, self).__init__(name=name, center=center, clipAngle=clipAngle, - clipExtent=clipExtent, extent=extent, fit=fit, - parallels=parallels, pointRadius=pointRadius, - precision=precision, rotate=rotate, scale=scale, size=size, - translate=translate, type=type, **kwds) + def __init__(self, *args, **kwds): + super(orientValue, self).__init__(*args, **kwds) -class scale(VegaSchema): - """scale schema wrapper +class strokeCapValue(VegaSchema): + """strokeCapValue schema wrapper - oneOf(Mapping(required=[type, name]), Mapping(required=[type, name]), - Mapping(required=[type, name]), Mapping(required=[type, name]), Mapping(required=[type, - name]), Mapping(required=[type, name]), Mapping(required=[type, name]), - Mapping(required=[type, name]), Mapping(required=[name]), Mapping(required=[type, name]), - Mapping(required=[type, name]), Mapping(required=[type, name])) + oneOf(List(allOf(:class:`rule`, allOf(:class:`stringModifiers`, + anyOf(oneOf(:class:`signalRef`, Mapping(required=[value]), Mapping(required=[field]), + Mapping(required=[range])), Mapping(required=[scale, value]), Mapping(required=[scale, + band]), Mapping(required=[offset]))))), allOf(:class:`stringModifiers`, + anyOf(oneOf(:class:`signalRef`, Mapping(required=[value]), Mapping(required=[field]), + Mapping(required=[range])), Mapping(required=[scale, value]), Mapping(required=[scale, + band]), Mapping(required=[offset])))) """ - _schema = {'$ref': '#/defs/scale'} + _schema = {'$ref': '#/definitions/strokeCapValue'} def __init__(self, *args, **kwds): - super(scale, self).__init__(*args, **kwds) + super(strokeCapValue, self).__init__(*args, **kwds) -class scope(VegaSchema): - """scope schema wrapper +class strokeJoinValue(VegaSchema): + """strokeJoinValue schema wrapper - Mapping(required=[]) + oneOf(List(allOf(:class:`rule`, allOf(:class:`stringModifiers`, + anyOf(oneOf(:class:`signalRef`, Mapping(required=[value]), Mapping(required=[field]), + Mapping(required=[range])), Mapping(required=[scale, value]), Mapping(required=[scale, + band]), Mapping(required=[offset]))))), allOf(:class:`stringModifiers`, + anyOf(oneOf(:class:`signalRef`, Mapping(required=[value]), Mapping(required=[field]), + Mapping(required=[range])), Mapping(required=[scale, value]), Mapping(required=[scale, + band]), Mapping(required=[offset])))) + """ + _schema = {'$ref': '#/definitions/strokeJoinValue'} - Attributes - ---------- + def __init__(self, *args, **kwds): + super(strokeJoinValue, self).__init__(*args, **kwds) - axes : List(:class:`axis`) - data : List(:class:`data`) +class baseColorValue(VegaSchema): + """baseColorValue schema wrapper - encode : :class:`encode` + oneOf(allOf(:class:`stringModifiers`, anyOf(oneOf(:class:`signalRef`, + Mapping(required=[value]), Mapping(required=[field]), Mapping(required=[range])), + Mapping(required=[scale, value]), Mapping(required=[scale, band]), + Mapping(required=[offset]))), Mapping(required=[value]), Mapping(required=[value]), + Mapping(required=[gradient]), Mapping(required=[color])) + """ + _schema = {'$ref': '#/definitions/baseColorValue'} - layout : :class:`layout` + def __init__(self, *args, **kwds): + super(baseColorValue, self).__init__(*args, **kwds) - legends : List(:class:`legend`) - marks : List(oneOf(:class:`markGroup`, :class:`markVisual`)) +class colorRGB(VegaSchema): + """colorRGB schema wrapper - projections : List(:class:`projection`) + Mapping(required=[r, g, b]) - scales : List(:class:`scale`) + Attributes + ---------- - signals : List(:class:`signal`) + b : :class:`numberValue` - title : :class:`title` + g : :class:`numberValue` - usermeta : Mapping(required=[]) + r : :class:`numberValue` """ - _schema = {'$ref': '#/defs/scope'} + _schema = {'$ref': '#/definitions/colorRGB'} - def __init__(self, axes=Undefined, data=Undefined, encode=Undefined, layout=Undefined, - legends=Undefined, marks=Undefined, projections=Undefined, scales=Undefined, - signals=Undefined, title=Undefined, usermeta=Undefined, **kwds): - super(scope, self).__init__(axes=axes, data=data, encode=encode, layout=layout, legends=legends, - marks=marks, projections=projections, scales=scales, - signals=signals, title=title, usermeta=usermeta, **kwds) + def __init__(self, b=Undefined, g=Undefined, r=Undefined, **kwds): + super(colorRGB, self).__init__(b=b, g=g, r=r, **kwds) -class signalName(VegaSchema): - """signalName schema wrapper +class colorHSL(VegaSchema): + """colorHSL schema wrapper - not enum('parent', 'datum', 'event', 'item') - """ - _schema = {'$ref': '#/defs/signalName'} + Mapping(required=[h, s, l]) - def __init__(self, *args): - super(signalName, self).__init__(*args) + Attributes + ---------- + h : :class:`numberValue` -class signal(VegaSchema): - """signal schema wrapper + l : :class:`numberValue` + + s : :class:`numberValue` - oneOf(Mapping(required=[name, push]), Mapping(required=[name]), Mapping(required=[name, - init])) """ - _schema = {'$ref': '#/defs/signal'} + _schema = {'$ref': '#/definitions/colorHSL'} - def __init__(self, *args, **kwds): - super(signal, self).__init__(*args, **kwds) + def __init__(self, h=Undefined, l=Undefined, s=Undefined, **kwds): + super(colorHSL, self).__init__(h=h, l=l, s=s, **kwds) -class stream(VegaSchema): - """stream schema wrapper +class colorLAB(VegaSchema): + """colorLAB schema wrapper - allOf(Mapping(required=[]), oneOf(Mapping(required=[type]), Mapping(required=[stream]), - Mapping(required=[merge]))) - """ - _schema = {'$ref': '#/defs/stream'} + Mapping(required=[l, a, b]) - def __init__(self, between=Undefined, consume=Undefined, debounce=Undefined, filter=Undefined, - markname=Undefined, marktype=Undefined, throttle=Undefined, **kwds): - super(stream, self).__init__(between=between, consume=consume, debounce=debounce, filter=filter, - markname=markname, marktype=marktype, throttle=throttle, **kwds) + Attributes + ---------- + a : :class:`numberValue` -class title(VegaSchema): - """title schema wrapper + b : :class:`numberValue` - oneOf(string, Mapping(required=[])) - """ - _schema = {'$ref': '#/defs/title'} + l : :class:`numberValue` - def __init__(self, *args, **kwds): - super(title, self).__init__(*args, **kwds) + """ + _schema = {'$ref': '#/definitions/colorLAB'} + def __init__(self, a=Undefined, b=Undefined, l=Undefined, **kwds): + super(colorLAB, self).__init__(a=a, b=b, l=l, **kwds) -class transform(VegaSchema): - """transform schema wrapper - oneOf(:class:`crossfilterTransform`, :class:`resolvefilterTransform`, - :class:`linkpathTransform`, :class:`pieTransform`, :class:`stackTransform`, - :class:`forceTransform`, :class:`contourTransform`, :class:`geojsonTransform`, - :class:`geopathTransform`, :class:`geopointTransform`, :class:`geoshapeTransform`, - :class:`graticuleTransform`, :class:`heatmapTransform`, :class:`isocontourTransform`, - :class:`kde2dTransform`, :class:`nestTransform`, :class:`packTransform`, - :class:`partitionTransform`, :class:`stratifyTransform`, :class:`treeTransform`, - :class:`treelinksTransform`, :class:`treemapTransform`, :class:`loessTransform`, - :class:`regressionTransform`, :class:`aggregateTransform`, :class:`binTransform`, - :class:`collectTransform`, :class:`countpatternTransform`, :class:`crossTransform`, - :class:`densityTransform`, :class:`dotbinTransform`, :class:`extentTransform`, - :class:`filterTransform`, :class:`flattenTransform`, :class:`foldTransform`, - :class:`formulaTransform`, :class:`imputeTransform`, :class:`joinaggregateTransform`, - :class:`kdeTransform`, :class:`lookupTransform`, :class:`pivotTransform`, - :class:`projectTransform`, :class:`quantileTransform`, :class:`sampleTransform`, - :class:`sequenceTransform`, :class:`timeunitTransform`, :class:`windowTransform`, - :class:`identifierTransform`, :class:`voronoiTransform`, :class:`wordcloudTransform`) - """ - _schema = {'$ref': '#/defs/transform'} +class colorHCL(VegaSchema): + """colorHCL schema wrapper - def __init__(self, *args, **kwds): - super(transform, self).__init__(*args, **kwds) + Mapping(required=[h, c, l]) + Attributes + ---------- -class transformMark(VegaSchema): - """transformMark schema wrapper + c : :class:`numberValue` - oneOf(:class:`crossfilterTransform`, :class:`resolvefilterTransform`, - :class:`linkpathTransform`, :class:`pieTransform`, :class:`stackTransform`, - :class:`forceTransform`, :class:`geojsonTransform`, :class:`geopathTransform`, - :class:`geopointTransform`, :class:`geoshapeTransform`, :class:`heatmapTransform`, - :class:`packTransform`, :class:`partitionTransform`, :class:`stratifyTransform`, - :class:`treeTransform`, :class:`treemapTransform`, :class:`binTransform`, - :class:`collectTransform`, :class:`dotbinTransform`, :class:`extentTransform`, - :class:`formulaTransform`, :class:`joinaggregateTransform`, :class:`lookupTransform`, - :class:`sampleTransform`, :class:`timeunitTransform`, :class:`windowTransform`, - :class:`identifierTransform`, :class:`voronoiTransform`, :class:`wordcloudTransform`) - """ - _schema = {'$ref': '#/defs/transformMark'} + h : :class:`numberValue` - def __init__(self, *args, **kwds): - super(transformMark, self).__init__(*args, **kwds) + l : :class:`numberValue` + """ + _schema = {'$ref': '#/definitions/colorHCL'} -class crossfilterTransform(VegaSchema): - """crossfilterTransform schema wrapper + def __init__(self, c=Undefined, h=Undefined, l=Undefined, **kwds): + super(colorHCL, self).__init__(c=c, h=h, l=l, **kwds) - Mapping(required=[type, fields, query]) - Attributes - ---------- +class colorValue(VegaSchema): + """colorValue schema wrapper - fields : oneOf(List(oneOf(:class:`scaleField`, :class:`paramField`, :class:`expr`)), - :class:`signal`) + oneOf(List(allOf(:class:`rule`, :class:`baseColorValue`)), :class:`baseColorValue`) + """ + _schema = {'$ref': '#/definitions/colorValue'} - query : oneOf(List(Any), :class:`signal`) + def __init__(self, *args, **kwds): + super(colorValue, self).__init__(*args, **kwds) - type : enum('crossfilter') - signal : string +class gradientStops(VegaSchema): + """gradientStops schema wrapper + List(Mapping(required=[offset, color])) """ - _schema = {'$ref': '#/defs/crossfilterTransform'} + _schema = {'$ref': '#/definitions/gradientStops'} - def __init__(self, fields=Undefined, query=Undefined, type=Undefined, signal=Undefined, **kwds): - super(crossfilterTransform, self).__init__(fields=fields, query=query, type=type, signal=signal, - **kwds) + def __init__(self, *args): + super(gradientStops, self).__init__(*args) -class resolvefilterTransform(VegaSchema): - """resolvefilterTransform schema wrapper +class linearGradient(VegaSchema): + """linearGradient schema wrapper - Mapping(required=[type, ignore, filter]) + Mapping(required=[gradient, stops]) Attributes ---------- - filter : Any + gradient : enum('linear') + + stops : :class:`gradientStops` - ignore : anyOf(float, :class:`signal`) + id : string - type : enum('resolvefilter') + x1 : float - signal : string + x2 : float + + y1 : float + + y2 : float """ - _schema = {'$ref': '#/defs/resolvefilterTransform'} + _schema = {'$ref': '#/definitions/linearGradient'} - def __init__(self, filter=Undefined, ignore=Undefined, type=Undefined, signal=Undefined, **kwds): - super(resolvefilterTransform, self).__init__(filter=filter, ignore=ignore, type=type, - signal=signal, **kwds) + def __init__(self, gradient=Undefined, stops=Undefined, id=Undefined, x1=Undefined, x2=Undefined, + y1=Undefined, y2=Undefined, **kwds): + super(linearGradient, self).__init__(gradient=gradient, stops=stops, id=id, x1=x1, x2=x2, y1=y1, + y2=y2, **kwds) -class linkpathTransform(VegaSchema): - """linkpathTransform schema wrapper +class radialGradient(VegaSchema): + """radialGradient schema wrapper - Mapping(required=[type]) + Mapping(required=[gradient, stops]) Attributes ---------- - type : enum('linkpath') - - orient : anyOf(enum('horizontal', 'vertical', 'radial'), :class:`signal`) + gradient : enum('radial') - require : :class:`signal` + stops : :class:`gradientStops` - shape : anyOf(enum('line', 'arc', 'curve', 'diagonal', 'orthogonal'), :class:`signal`) + id : string - signal : string + r1 : float - sourceX : oneOf(:class:`scaleField`, :class:`paramField`, :class:`expr`) + r2 : float - sourceY : oneOf(:class:`scaleField`, :class:`paramField`, :class:`expr`) + x1 : float - targetX : oneOf(:class:`scaleField`, :class:`paramField`, :class:`expr`) + x2 : float - targetY : oneOf(:class:`scaleField`, :class:`paramField`, :class:`expr`) + y1 : float - as : anyOf(string, :class:`signal`) + y2 : float """ - _schema = {'$ref': '#/defs/linkpathTransform'} + _schema = {'$ref': '#/definitions/radialGradient'} - def __init__(self, type=Undefined, orient=Undefined, require=Undefined, shape=Undefined, - signal=Undefined, sourceX=Undefined, sourceY=Undefined, targetX=Undefined, - targetY=Undefined, **kwds): - super(linkpathTransform, self).__init__(type=type, orient=orient, require=require, shape=shape, - signal=signal, sourceX=sourceX, sourceY=sourceY, - targetX=targetX, targetY=targetY, **kwds) + def __init__(self, gradient=Undefined, stops=Undefined, id=Undefined, r1=Undefined, r2=Undefined, + x1=Undefined, x2=Undefined, y1=Undefined, y2=Undefined, **kwds): + super(radialGradient, self).__init__(gradient=gradient, stops=stops, id=id, r1=r1, r2=r2, x1=x1, + x2=x2, y1=y1, y2=y2, **kwds) -class pieTransform(VegaSchema): - """pieTransform schema wrapper +class expr(VegaSchema): + """expr schema wrapper - Mapping(required=[type]) + Mapping(required=[expr]) Attributes ---------- - type : enum('pie') - - endAngle : anyOf(float, :class:`signal`) + expr : string - field : oneOf(:class:`scaleField`, :class:`paramField`, :class:`expr`) + as : string - signal : string + """ + _schema = {'$ref': '#/definitions/expr'} - sort : anyOf(boolean, :class:`signal`) + def __init__(self, expr=Undefined, **kwds): + super(expr, self).__init__(expr=expr, **kwds) - startAngle : anyOf(float, :class:`signal`) - as : oneOf(List(anyOf(string, :class:`signal`)), :class:`signal`) +class exprString(VegaSchema): + """exprString schema wrapper + string """ - _schema = {'$ref': '#/defs/pieTransform'} + _schema = {'$ref': '#/definitions/exprString'} - def __init__(self, type=Undefined, endAngle=Undefined, field=Undefined, signal=Undefined, - sort=Undefined, startAngle=Undefined, **kwds): - super(pieTransform, self).__init__(type=type, endAngle=endAngle, field=field, signal=signal, - sort=sort, startAngle=startAngle, **kwds) + def __init__(self, *args): + super(exprString, self).__init__(*args) -class stackTransform(VegaSchema): - """stackTransform schema wrapper +class layout(VegaSchema): + """layout schema wrapper - Mapping(required=[type]) + oneOf(Mapping(required=[]), :class:`signalRef`) + """ + _schema = {'$ref': '#/definitions/layout'} + + def __init__(self, *args, **kwds): + super(layout, self).__init__(*args, **kwds) + + +class guideEncode(VegaSchema): + """guideEncode schema wrapper + + Mapping(required=[]) Attributes ---------- - type : enum('stack') + interactive : boolean - field : oneOf(:class:`scaleField`, :class:`paramField`, :class:`expr`) + name : string - groupby : oneOf(List(oneOf(:class:`scaleField`, :class:`paramField`, :class:`expr`)), - :class:`signal`) + style : :class:`style` - offset : anyOf(enum('zero', 'center', 'normalize'), :class:`signal`) + """ + _schema = {'$ref': '#/definitions/guideEncode'} - signal : string + def __init__(self, interactive=Undefined, name=Undefined, style=Undefined, **kwds): + super(guideEncode, self).__init__(interactive=interactive, name=name, style=style, **kwds) - sort : :class:`compare` - as : oneOf(List(anyOf(string, :class:`signal`)), :class:`signal`) +class legend(VegaSchema): + """legend schema wrapper + allOf(Mapping(required=[]), anyOf(Mapping(required=[size]), Mapping(required=[shape]), + Mapping(required=[fill]), Mapping(required=[stroke]), Mapping(required=[opacity]), + Mapping(required=[strokeDash]), Mapping(required=[strokeWidth]))) """ - _schema = {'$ref': '#/defs/stackTransform'} + _schema = {'$ref': '#/definitions/legend'} - def __init__(self, type=Undefined, field=Undefined, groupby=Undefined, offset=Undefined, - signal=Undefined, sort=Undefined, **kwds): - super(stackTransform, self).__init__(type=type, field=field, groupby=groupby, offset=offset, - signal=signal, sort=sort, **kwds) + def __init__(self, aria=Undefined, clipHeight=Undefined, columnPadding=Undefined, columns=Undefined, + cornerRadius=Undefined, description=Undefined, direction=Undefined, encode=Undefined, + fill=Undefined, fillColor=Undefined, format=Undefined, formatType=Undefined, + gradientLength=Undefined, gradientOpacity=Undefined, gradientStrokeColor=Undefined, + gradientStrokeWidth=Undefined, gradientThickness=Undefined, gridAlign=Undefined, + labelAlign=Undefined, labelBaseline=Undefined, labelColor=Undefined, + labelFont=Undefined, labelFontSize=Undefined, labelFontStyle=Undefined, + labelFontWeight=Undefined, labelLimit=Undefined, labelOffset=Undefined, + labelOpacity=Undefined, labelOverlap=Undefined, labelSeparation=Undefined, + legendX=Undefined, legendY=Undefined, offset=Undefined, opacity=Undefined, + orient=Undefined, padding=Undefined, rowPadding=Undefined, shape=Undefined, + size=Undefined, stroke=Undefined, strokeColor=Undefined, strokeDash=Undefined, + strokeWidth=Undefined, symbolDash=Undefined, symbolDashOffset=Undefined, + symbolFillColor=Undefined, symbolLimit=Undefined, symbolOffset=Undefined, + symbolOpacity=Undefined, symbolSize=Undefined, symbolStrokeColor=Undefined, + symbolStrokeWidth=Undefined, symbolType=Undefined, tickCount=Undefined, + tickMinStep=Undefined, title=Undefined, titleAlign=Undefined, titleAnchor=Undefined, + titleBaseline=Undefined, titleColor=Undefined, titleFont=Undefined, + titleFontSize=Undefined, titleFontStyle=Undefined, titleFontWeight=Undefined, + titleLimit=Undefined, titleLineHeight=Undefined, titleOpacity=Undefined, + titleOrient=Undefined, titlePadding=Undefined, type=Undefined, values=Undefined, + zindex=Undefined, **kwds): + super(legend, self).__init__(aria=aria, clipHeight=clipHeight, columnPadding=columnPadding, + columns=columns, cornerRadius=cornerRadius, + description=description, direction=direction, encode=encode, + fill=fill, fillColor=fillColor, format=format, + formatType=formatType, gradientLength=gradientLength, + gradientOpacity=gradientOpacity, + gradientStrokeColor=gradientStrokeColor, + gradientStrokeWidth=gradientStrokeWidth, + gradientThickness=gradientThickness, gridAlign=gridAlign, + labelAlign=labelAlign, labelBaseline=labelBaseline, + labelColor=labelColor, labelFont=labelFont, + labelFontSize=labelFontSize, labelFontStyle=labelFontStyle, + labelFontWeight=labelFontWeight, labelLimit=labelLimit, + labelOffset=labelOffset, labelOpacity=labelOpacity, + labelOverlap=labelOverlap, labelSeparation=labelSeparation, + legendX=legendX, legendY=legendY, offset=offset, opacity=opacity, + orient=orient, padding=padding, rowPadding=rowPadding, shape=shape, + size=size, stroke=stroke, strokeColor=strokeColor, + strokeDash=strokeDash, strokeWidth=strokeWidth, + symbolDash=symbolDash, symbolDashOffset=symbolDashOffset, + symbolFillColor=symbolFillColor, symbolLimit=symbolLimit, + symbolOffset=symbolOffset, symbolOpacity=symbolOpacity, + symbolSize=symbolSize, symbolStrokeColor=symbolStrokeColor, + symbolStrokeWidth=symbolStrokeWidth, symbolType=symbolType, + tickCount=tickCount, tickMinStep=tickMinStep, title=title, + titleAlign=titleAlign, titleAnchor=titleAnchor, + titleBaseline=titleBaseline, titleColor=titleColor, + titleFont=titleFont, titleFontSize=titleFontSize, + titleFontStyle=titleFontStyle, titleFontWeight=titleFontWeight, + titleLimit=titleLimit, titleLineHeight=titleLineHeight, + titleOpacity=titleOpacity, titleOrient=titleOrient, + titlePadding=titlePadding, type=type, values=values, zindex=zindex, + **kwds) -class forceTransform(VegaSchema): - """forceTransform schema wrapper +class compare(VegaSchema): + """compare schema wrapper - Mapping(required=[type]) + oneOf(Mapping(required=[]), Mapping(required=[])) + """ + _schema = {'$ref': '#/definitions/compare'} - Attributes - ---------- + def __init__(self, *args, **kwds): + super(compare, self).__init__(*args, **kwds) - type : enum('force') - alpha : anyOf(float, :class:`signal`) +class from_(VegaSchema): + """from_ schema wrapper - alphaMin : anyOf(float, :class:`signal`) + Mapping(required=[]) - alphaTarget : anyOf(float, :class:`signal`) + Attributes + ---------- - forces : List(oneOf(Mapping(required=[force]), Mapping(required=[force]), - Mapping(required=[force]), Mapping(required=[force]), Mapping(required=[force]), - Mapping(required=[force]))) + data : string - iterations : anyOf(float, :class:`signal`) + """ + _schema = {'$ref': '#/definitions/from'} - restart : anyOf(boolean, :class:`signal`) + def __init__(self, data=Undefined, **kwds): + super(from_, self).__init__(data=data, **kwds) - signal : string - static : anyOf(boolean, :class:`signal`) +class facet(VegaSchema): + """facet schema wrapper - velocityDecay : anyOf(float, :class:`signal`) + Mapping(required=[facet]) - as : oneOf(List(anyOf(string, :class:`signal`)), :class:`signal`) + Attributes + ---------- + + facet : oneOf(Mapping(required=[name, data, field]), Mapping(required=[name, data, + groupby])) + + data : string """ - _schema = {'$ref': '#/defs/forceTransform'} + _schema = {'$ref': '#/definitions/facet'} - def __init__(self, type=Undefined, alpha=Undefined, alphaMin=Undefined, alphaTarget=Undefined, - forces=Undefined, iterations=Undefined, restart=Undefined, signal=Undefined, - static=Undefined, velocityDecay=Undefined, **kwds): - super(forceTransform, self).__init__(type=type, alpha=alpha, alphaMin=alphaMin, - alphaTarget=alphaTarget, forces=forces, - iterations=iterations, restart=restart, signal=signal, - static=static, velocityDecay=velocityDecay, **kwds) + def __init__(self, facet=Undefined, data=Undefined, **kwds): + super(facet, self).__init__(facet=facet, data=data, **kwds) -class contourTransform(VegaSchema): - """contourTransform schema wrapper +class mark(VegaSchema): + """mark schema wrapper - Mapping(required=[type, size]) + Mapping(required=[type]) Attributes ---------- - size : oneOf(List(anyOf(float, :class:`signal`)), :class:`signal`) + type : :class:`marktype` - type : enum('contour') + aria : boolean - bandwidth : anyOf(float, :class:`signal`) + clip : :class:`markclip` - cellSize : anyOf(float, :class:`signal`) + description : string - count : anyOf(float, :class:`signal`) + encode : :class:`encode` - nice : anyOf(boolean, :class:`signal`) + interactive : :class:`booleanOrSignal` - signal : string + key : string - smooth : anyOf(boolean, :class:`signal`) + name : string - thresholds : oneOf(List(anyOf(float, :class:`signal`)), :class:`signal`) + on : :class:`onMarkTrigger` - values : oneOf(List(anyOf(float, :class:`signal`)), :class:`signal`) + role : string - weight : oneOf(:class:`scaleField`, :class:`paramField`, :class:`expr`) + sort : :class:`compare` - x : oneOf(:class:`scaleField`, :class:`paramField`, :class:`expr`) + style : :class:`style` - y : oneOf(:class:`scaleField`, :class:`paramField`, :class:`expr`) + transform : List(:class:`transformMark`) """ - _schema = {'$ref': '#/defs/contourTransform'} + _schema = {'$ref': '#/definitions/mark'} - def __init__(self, size=Undefined, type=Undefined, bandwidth=Undefined, cellSize=Undefined, - count=Undefined, nice=Undefined, signal=Undefined, smooth=Undefined, - thresholds=Undefined, values=Undefined, weight=Undefined, x=Undefined, y=Undefined, - **kwds): - super(contourTransform, self).__init__(size=size, type=type, bandwidth=bandwidth, - cellSize=cellSize, count=count, nice=nice, signal=signal, - smooth=smooth, thresholds=thresholds, values=values, - weight=weight, x=x, y=y, **kwds) + def __init__(self, type=Undefined, aria=Undefined, clip=Undefined, description=Undefined, + encode=Undefined, interactive=Undefined, key=Undefined, name=Undefined, on=Undefined, + role=Undefined, sort=Undefined, style=Undefined, transform=Undefined, **kwds): + super(mark, self).__init__(type=type, aria=aria, clip=clip, description=description, + encode=encode, interactive=interactive, key=key, name=name, on=on, + role=role, sort=sort, style=style, transform=transform, **kwds) -class geojsonTransform(VegaSchema): - """geojsonTransform schema wrapper +class markclip(VegaSchema): + """markclip schema wrapper - Mapping(required=[type]) + oneOf(:class:`booleanOrSignal`, Mapping(required=[path]), Mapping(required=[sphere])) + """ + _schema = {'$ref': '#/definitions/markclip'} - Attributes - ---------- + def __init__(self, *args, **kwds): + super(markclip, self).__init__(*args, **kwds) - type : enum('geojson') - fields : oneOf(List(oneOf(:class:`scaleField`, :class:`paramField`, :class:`expr`)), - :class:`signal`) +class markGroup(VegaSchema): + """markGroup schema wrapper - geojson : oneOf(:class:`scaleField`, :class:`paramField`, :class:`expr`) + allOf(Mapping(required=[type]), :class:`mark`, :class:`scope`) + """ + _schema = {'$ref': '#/definitions/markGroup'} + + def __init__(self, type=Undefined, aria=Undefined, axes=Undefined, clip=Undefined, data=Undefined, + description=Undefined, encode=Undefined, interactive=Undefined, key=Undefined, + layout=Undefined, legends=Undefined, marks=Undefined, name=Undefined, on=Undefined, + projections=Undefined, role=Undefined, scales=Undefined, signals=Undefined, + sort=Undefined, style=Undefined, title=Undefined, transform=Undefined, + usermeta=Undefined, **kwds): + super(markGroup, self).__init__(type=type, aria=aria, axes=axes, clip=clip, data=data, + description=description, encode=encode, interactive=interactive, + key=key, layout=layout, legends=legends, marks=marks, name=name, + on=on, projections=projections, role=role, scales=scales, + signals=signals, sort=sort, style=style, title=title, + transform=transform, usermeta=usermeta, **kwds) - signal : string +class markVisual(VegaSchema): + """markVisual schema wrapper + + allOf(Mapping(required=[]), :class:`mark`) """ - _schema = {'$ref': '#/defs/geojsonTransform'} + _schema = {'$ref': '#/definitions/markVisual'} - def __init__(self, type=Undefined, fields=Undefined, geojson=Undefined, signal=Undefined, **kwds): - super(geojsonTransform, self).__init__(type=type, fields=fields, geojson=geojson, signal=signal, - **kwds) + def __init__(self, type=Undefined, aria=Undefined, clip=Undefined, description=Undefined, + encode=Undefined, interactive=Undefined, key=Undefined, name=Undefined, on=Undefined, + role=Undefined, sort=Undefined, style=Undefined, transform=Undefined, **kwds): + super(markVisual, self).__init__(type=type, aria=aria, clip=clip, description=description, + encode=encode, interactive=interactive, key=key, name=name, + on=on, role=role, sort=sort, style=style, transform=transform, + **kwds) -class geopathTransform(VegaSchema): - """geopathTransform schema wrapper +class style(VegaSchema): + """style schema wrapper - Mapping(required=[type]) + oneOf(string, List(string)) + """ + _schema = {'$ref': '#/definitions/style'} - Attributes - ---------- + def __init__(self, *args, **kwds): + super(style, self).__init__(*args, **kwds) - type : enum('geopath') - field : oneOf(:class:`scaleField`, :class:`paramField`, :class:`expr`) +class marktype(VegaSchema): + """marktype schema wrapper - pointRadius : anyOf(float, :class:`signal`, :class:`expr`, :class:`paramField`) + string + """ + _schema = {'$ref': '#/definitions/marktype'} - projection : string + def __init__(self, *args): + super(marktype, self).__init__(*args) - signal : string - as : anyOf(string, :class:`signal`) +class listener(VegaSchema): + """listener schema wrapper + oneOf(:class:`signalRef`, Mapping(required=[scale]), :class:`stream`) """ - _schema = {'$ref': '#/defs/geopathTransform'} + _schema = {'$ref': '#/definitions/listener'} - def __init__(self, type=Undefined, field=Undefined, pointRadius=Undefined, projection=Undefined, - signal=Undefined, **kwds): - super(geopathTransform, self).__init__(type=type, field=field, pointRadius=pointRadius, - projection=projection, signal=signal, **kwds) + def __init__(self, *args, **kwds): + super(listener, self).__init__(*args, **kwds) -class geopointTransform(VegaSchema): - """geopointTransform schema wrapper +class onEvents(VegaSchema): + """onEvents schema wrapper - Mapping(required=[type, projection, fields]) + List(allOf(Mapping(required=[events]), oneOf(Mapping(required=[encode]), + Mapping(required=[update])))) + """ + _schema = {'$ref': '#/definitions/onEvents'} - Attributes - ---------- + def __init__(self, *args): + super(onEvents, self).__init__(*args) - fields : oneOf(List(oneOf(:class:`scaleField`, :class:`paramField`, :class:`expr`)), - :class:`signal`) - projection : string +class onTrigger(VegaSchema): + """onTrigger schema wrapper - type : enum('geopoint') + List(Mapping(required=[trigger])) + """ + _schema = {'$ref': '#/definitions/onTrigger'} - signal : string + def __init__(self, *args): + super(onTrigger, self).__init__(*args) - as : oneOf(List(anyOf(string, :class:`signal`)), :class:`signal`) +class onMarkTrigger(VegaSchema): + """onMarkTrigger schema wrapper + + List(Mapping(required=[trigger])) """ - _schema = {'$ref': '#/defs/geopointTransform'} + _schema = {'$ref': '#/definitions/onMarkTrigger'} - def __init__(self, fields=Undefined, projection=Undefined, type=Undefined, signal=Undefined, **kwds): - super(geopointTransform, self).__init__(fields=fields, projection=projection, type=type, - signal=signal, **kwds) + def __init__(self, *args): + super(onMarkTrigger, self).__init__(*args) -class geoshapeTransform(VegaSchema): - """geoshapeTransform schema wrapper +class padding(VegaSchema): + """padding schema wrapper - Mapping(required=[type]) + oneOf(float, Mapping(required=[]), :class:`signalRef`) + """ + _schema = {'$ref': '#/definitions/padding'} - Attributes - ---------- + def __init__(self, *args, **kwds): + super(padding, self).__init__(*args, **kwds) - type : enum('geoshape') - field : oneOf(:class:`scaleField`, :class:`paramField`, :class:`expr`) +class projection(VegaSchema): + """projection schema wrapper - pointRadius : anyOf(float, :class:`signal`, :class:`expr`, :class:`paramField`) + Mapping(required=[name]) - projection : string + Attributes + ---------- - signal : string + name : string - as : anyOf(string, :class:`signal`) + center : oneOf(List(:class:`numberOrSignal`), :class:`signalRef`) - """ - _schema = {'$ref': '#/defs/geoshapeTransform'} + clipAngle : :class:`numberOrSignal` - def __init__(self, type=Undefined, field=Undefined, pointRadius=Undefined, projection=Undefined, - signal=Undefined, **kwds): - super(geoshapeTransform, self).__init__(type=type, field=field, pointRadius=pointRadius, - projection=projection, signal=signal, **kwds) + clipExtent : oneOf(List(oneOf(List(:class:`numberOrSignal`), :class:`signalRef`)), + :class:`signalRef`) + extent : oneOf(List(oneOf(List(:class:`numberOrSignal`), :class:`signalRef`)), + :class:`signalRef`) -class graticuleTransform(VegaSchema): - """graticuleTransform schema wrapper + fit : oneOf(Mapping(required=[]), List(Any)) - Mapping(required=[type]) + parallels : oneOf(List(:class:`numberOrSignal`), :class:`signalRef`) - Attributes - ---------- + pointRadius : :class:`numberOrSignal` - type : enum('graticule') + precision : :class:`numberOrSignal` - extent : oneOf(List(Any), :class:`signal`) + rotate : oneOf(List(:class:`numberOrSignal`), :class:`signalRef`) - extentMajor : oneOf(List(Any), :class:`signal`) + scale : :class:`numberOrSignal` - extentMinor : oneOf(List(Any), :class:`signal`) + size : oneOf(List(:class:`numberOrSignal`), :class:`signalRef`) - precision : anyOf(float, :class:`signal`) + translate : oneOf(List(:class:`numberOrSignal`), :class:`signalRef`) - signal : string + type : :class:`stringOrSignal` - step : oneOf(List(anyOf(float, :class:`signal`)), :class:`signal`) + """ + _schema = {'$ref': '#/definitions/projection'} - stepMajor : oneOf(List(anyOf(float, :class:`signal`)), :class:`signal`) + def __init__(self, name=Undefined, center=Undefined, clipAngle=Undefined, clipExtent=Undefined, + extent=Undefined, fit=Undefined, parallels=Undefined, pointRadius=Undefined, + precision=Undefined, rotate=Undefined, scale=Undefined, size=Undefined, + translate=Undefined, type=Undefined, **kwds): + super(projection, self).__init__(name=name, center=center, clipAngle=clipAngle, + clipExtent=clipExtent, extent=extent, fit=fit, + parallels=parallels, pointRadius=pointRadius, + precision=precision, rotate=rotate, scale=scale, size=size, + translate=translate, type=type, **kwds) - stepMinor : oneOf(List(anyOf(float, :class:`signal`)), :class:`signal`) - """ - _schema = {'$ref': '#/defs/graticuleTransform'} +class scale(VegaSchema): + """scale schema wrapper - def __init__(self, type=Undefined, extent=Undefined, extentMajor=Undefined, extentMinor=Undefined, - precision=Undefined, signal=Undefined, step=Undefined, stepMajor=Undefined, - stepMinor=Undefined, **kwds): - super(graticuleTransform, self).__init__(type=type, extent=extent, extentMajor=extentMajor, - extentMinor=extentMinor, precision=precision, - signal=signal, step=step, stepMajor=stepMajor, - stepMinor=stepMinor, **kwds) + oneOf(Mapping(required=[type, name]), Mapping(required=[type, name]), + Mapping(required=[type, name]), Mapping(required=[type, name]), Mapping(required=[type, + name]), Mapping(required=[type, name]), Mapping(required=[type, name]), + Mapping(required=[type, name]), Mapping(required=[name]), Mapping(required=[type, name]), + Mapping(required=[type, name]), Mapping(required=[type, name])) + """ + _schema = {'$ref': '#/definitions/scale'} + def __init__(self, *args, **kwds): + super(scale, self).__init__(*args, **kwds) -class heatmapTransform(VegaSchema): - """heatmapTransform schema wrapper - Mapping(required=[type]) +class scaleField(VegaSchema): + """scaleField schema wrapper - Attributes - ---------- + oneOf(string, :class:`signalRef`) + """ + _schema = {'$ref': '#/definitions/scaleField'} - type : enum('heatmap') + def __init__(self, *args, **kwds): + super(scaleField, self).__init__(*args, **kwds) - color : anyOf(string, :class:`signal`, :class:`expr`, :class:`paramField`) - field : oneOf(:class:`scaleField`, :class:`paramField`, :class:`expr`) +class sortOrder(VegaSchema): + """sortOrder schema wrapper - opacity : anyOf(float, :class:`signal`, :class:`expr`, :class:`paramField`) + oneOf(enum('ascending', 'descending'), :class:`signalRef`) + """ + _schema = {'$ref': '#/definitions/sortOrder'} - resolve : anyOf(enum('shared', 'independent'), :class:`signal`) + def __init__(self, *args, **kwds): + super(sortOrder, self).__init__(*args, **kwds) - signal : string - as : anyOf(string, :class:`signal`) +class scaleBins(VegaSchema): + """scaleBins schema wrapper + oneOf(List(:class:`numberOrSignal`), Mapping(required=[step]), :class:`signalRef`) """ - _schema = {'$ref': '#/defs/heatmapTransform'} + _schema = {'$ref': '#/definitions/scaleBins'} - def __init__(self, type=Undefined, color=Undefined, field=Undefined, opacity=Undefined, - resolve=Undefined, signal=Undefined, **kwds): - super(heatmapTransform, self).__init__(type=type, color=color, field=field, opacity=opacity, - resolve=resolve, signal=signal, **kwds) + def __init__(self, *args, **kwds): + super(scaleBins, self).__init__(*args, **kwds) -class isocontourTransform(VegaSchema): - """isocontourTransform schema wrapper +class scaleInterpolate(VegaSchema): + """scaleInterpolate schema wrapper - Mapping(required=[type]) + oneOf(string, :class:`signalRef`, Mapping(required=[type])) + """ + _schema = {'$ref': '#/definitions/scaleInterpolate'} - Attributes - ---------- + def __init__(self, *args, **kwds): + super(scaleInterpolate, self).__init__(*args, **kwds) - type : enum('isocontour') - field : oneOf(:class:`scaleField`, :class:`paramField`, :class:`expr`) +class scaleData(VegaSchema): + """scaleData schema wrapper - levels : anyOf(float, :class:`signal`) + oneOf(Mapping(required=[data, field]), Mapping(required=[data, fields]), + Mapping(required=[fields])) + """ + _schema = {'$ref': '#/definitions/scaleData'} - nice : anyOf(boolean, :class:`signal`) + def __init__(self, *args, **kwds): + super(scaleData, self).__init__(*args, **kwds) - resolve : anyOf(enum('shared', 'independent'), :class:`signal`) - scale : anyOf(float, :class:`signal`, :class:`expr`, :class:`paramField`) +class scope(VegaSchema): + """scope schema wrapper - signal : string + Mapping(required=[]) - smooth : anyOf(boolean, :class:`signal`) + Attributes + ---------- - thresholds : oneOf(List(anyOf(float, :class:`signal`)), :class:`signal`) + axes : List(:class:`axis`) - translate : oneOf(List(anyOf(float, :class:`signal`, :class:`expr`, :class:`paramField`)), - :class:`signal`) + data : List(:class:`data`) - zero : anyOf(boolean, :class:`signal`) + encode : :class:`encode` - as : anyOf(string, :class:`signal`, None) + layout : :class:`layout` - """ - _schema = {'$ref': '#/defs/isocontourTransform'} + legends : List(:class:`legend`) - def __init__(self, type=Undefined, field=Undefined, levels=Undefined, nice=Undefined, - resolve=Undefined, scale=Undefined, signal=Undefined, smooth=Undefined, - thresholds=Undefined, translate=Undefined, zero=Undefined, **kwds): - super(isocontourTransform, self).__init__(type=type, field=field, levels=levels, nice=nice, - resolve=resolve, scale=scale, signal=signal, - smooth=smooth, thresholds=thresholds, - translate=translate, zero=zero, **kwds) + marks : List(oneOf(:class:`markGroup`, :class:`markVisual`)) + projections : List(:class:`projection`) -class kde2dTransform(VegaSchema): - """kde2dTransform schema wrapper + scales : List(:class:`scale`) - Mapping(required=[type, size, x, y]) + signals : List(:class:`signal`) - Attributes - ---------- + title : :class:`title` - size : oneOf(List(anyOf(float, :class:`signal`)), :class:`signal`) + usermeta : Mapping(required=[]) - type : enum('kde2d') + """ + _schema = {'$ref': '#/definitions/scope'} - x : oneOf(:class:`scaleField`, :class:`paramField`, :class:`expr`) + def __init__(self, axes=Undefined, data=Undefined, encode=Undefined, layout=Undefined, + legends=Undefined, marks=Undefined, projections=Undefined, scales=Undefined, + signals=Undefined, title=Undefined, usermeta=Undefined, **kwds): + super(scope, self).__init__(axes=axes, data=data, encode=encode, layout=layout, legends=legends, + marks=marks, projections=projections, scales=scales, + signals=signals, title=title, usermeta=usermeta, **kwds) - y : oneOf(:class:`scaleField`, :class:`paramField`, :class:`expr`) - bandwidth : oneOf(List(anyOf(float, :class:`signal`)), :class:`signal`) +class selector(VegaSchema): + """selector schema wrapper - cellSize : anyOf(float, :class:`signal`) + string + """ + _schema = {'$ref': '#/definitions/selector'} - counts : anyOf(boolean, :class:`signal`) + def __init__(self, *args): + super(selector, self).__init__(*args) - groupby : oneOf(List(oneOf(:class:`scaleField`, :class:`paramField`, :class:`expr`)), - :class:`signal`) - signal : string +class signal(VegaSchema): + """signal schema wrapper - weight : oneOf(:class:`scaleField`, :class:`paramField`, :class:`expr`) + oneOf(Mapping(required=[name, push]), Mapping(required=[name]), Mapping(required=[name, + init])) + """ + _schema = {'$ref': '#/definitions/signal'} - as : anyOf(string, :class:`signal`) + def __init__(self, *args, **kwds): + super(signal, self).__init__(*args, **kwds) - """ - _schema = {'$ref': '#/defs/kde2dTransform'} - def __init__(self, size=Undefined, type=Undefined, x=Undefined, y=Undefined, bandwidth=Undefined, - cellSize=Undefined, counts=Undefined, groupby=Undefined, signal=Undefined, - weight=Undefined, **kwds): - super(kde2dTransform, self).__init__(size=size, type=type, x=x, y=y, bandwidth=bandwidth, - cellSize=cellSize, counts=counts, groupby=groupby, - signal=signal, weight=weight, **kwds) +class signalName(VegaSchema): + """signalName schema wrapper + not enum('parent', 'datum', 'event', 'item') + """ + _schema = {'$ref': '#/definitions/signalName'} -class nestTransform(VegaSchema): - """nestTransform schema wrapper + def __init__(self, *args): + super(signalName, self).__init__(*args) - Mapping(required=[type]) + +class signalRef(VegaSchema): + """signalRef schema wrapper + + Mapping(required=[signal]) Attributes ---------- - type : enum('nest') + signal : string - generate : anyOf(boolean, :class:`signal`) + """ + _schema = {'$ref': '#/definitions/signalRef'} - keys : oneOf(List(oneOf(:class:`scaleField`, :class:`paramField`, :class:`expr`)), - :class:`signal`) + def __init__(self, signal=Undefined, **kwds): + super(signalRef, self).__init__(signal=signal, **kwds) - signal : string +class arrayOrSignal(VegaSchema): + """arrayOrSignal schema wrapper + + oneOf(List(Any), :class:`signalRef`) """ - _schema = {'$ref': '#/defs/nestTransform'} + _schema = {'$ref': '#/definitions/arrayOrSignal'} - def __init__(self, type=Undefined, generate=Undefined, keys=Undefined, signal=Undefined, **kwds): - super(nestTransform, self).__init__(type=type, generate=generate, keys=keys, signal=signal, - **kwds) + def __init__(self, *args, **kwds): + super(arrayOrSignal, self).__init__(*args, **kwds) -class packTransform(VegaSchema): - """packTransform schema wrapper +class booleanOrSignal(VegaSchema): + """booleanOrSignal schema wrapper - Mapping(required=[type]) + oneOf(boolean, :class:`signalRef`) + """ + _schema = {'$ref': '#/definitions/booleanOrSignal'} - Attributes - ---------- + def __init__(self, *args, **kwds): + super(booleanOrSignal, self).__init__(*args, **kwds) - type : enum('pack') - field : oneOf(:class:`scaleField`, :class:`paramField`, :class:`expr`) +class numberOrSignal(VegaSchema): + """numberOrSignal schema wrapper - padding : anyOf(float, :class:`signal`) + oneOf(float, :class:`signalRef`) + """ + _schema = {'$ref': '#/definitions/numberOrSignal'} - radius : oneOf(:class:`scaleField`, :class:`paramField`, :class:`expr`) + def __init__(self, *args, **kwds): + super(numberOrSignal, self).__init__(*args, **kwds) - signal : string - size : oneOf(List(anyOf(float, :class:`signal`)), :class:`signal`) +class stringOrSignal(VegaSchema): + """stringOrSignal schema wrapper + + oneOf(string, :class:`signalRef`) + """ + _schema = {'$ref': '#/definitions/stringOrSignal'} - sort : :class:`compare` + def __init__(self, *args, **kwds): + super(stringOrSignal, self).__init__(*args, **kwds) - as : oneOf(List(anyOf(string, :class:`signal`)), :class:`signal`) +class textOrSignal(VegaSchema): + """textOrSignal schema wrapper + + oneOf(oneOf(string, List(string)), :class:`signalRef`) """ - _schema = {'$ref': '#/defs/packTransform'} + _schema = {'$ref': '#/definitions/textOrSignal'} - def __init__(self, type=Undefined, field=Undefined, padding=Undefined, radius=Undefined, - signal=Undefined, size=Undefined, sort=Undefined, **kwds): - super(packTransform, self).__init__(type=type, field=field, padding=padding, radius=radius, - signal=signal, size=size, sort=sort, **kwds) + def __init__(self, *args, **kwds): + super(textOrSignal, self).__init__(*args, **kwds) -class partitionTransform(VegaSchema): - """partitionTransform schema wrapper +class stream(VegaSchema): + """stream schema wrapper - Mapping(required=[type]) + allOf(Mapping(required=[]), oneOf(Mapping(required=[type]), Mapping(required=[stream]), + Mapping(required=[merge]))) + """ + _schema = {'$ref': '#/definitions/stream'} - Attributes - ---------- + def __init__(self, between=Undefined, consume=Undefined, debounce=Undefined, filter=Undefined, + markname=Undefined, marktype=Undefined, throttle=Undefined, **kwds): + super(stream, self).__init__(between=between, consume=consume, debounce=debounce, filter=filter, + markname=markname, marktype=marktype, throttle=throttle, **kwds) - type : enum('partition') - field : oneOf(:class:`scaleField`, :class:`paramField`, :class:`expr`) +class title(VegaSchema): + """title schema wrapper + + oneOf(string, Mapping(required=[])) + """ + _schema = {'$ref': '#/definitions/title'} - padding : anyOf(float, :class:`signal`) + def __init__(self, *args, **kwds): + super(title, self).__init__(*args, **kwds) - round : anyOf(boolean, :class:`signal`) - signal : string +class transform(VegaSchema): + """transform schema wrapper + + oneOf(:class:`crossfilterTransform`, :class:`resolvefilterTransform`, + :class:`linkpathTransform`, :class:`pieTransform`, :class:`stackTransform`, + :class:`forceTransform`, :class:`contourTransform`, :class:`geojsonTransform`, + :class:`geopathTransform`, :class:`geopointTransform`, :class:`geoshapeTransform`, + :class:`graticuleTransform`, :class:`heatmapTransform`, :class:`isocontourTransform`, + :class:`kde2dTransform`, :class:`nestTransform`, :class:`packTransform`, + :class:`partitionTransform`, :class:`stratifyTransform`, :class:`treeTransform`, + :class:`treelinksTransform`, :class:`treemapTransform`, :class:`labelTransform`, + :class:`loessTransform`, :class:`regressionTransform`, :class:`aggregateTransform`, + :class:`binTransform`, :class:`collectTransform`, :class:`countpatternTransform`, + :class:`crossTransform`, :class:`densityTransform`, :class:`dotbinTransform`, + :class:`extentTransform`, :class:`filterTransform`, :class:`flattenTransform`, + :class:`foldTransform`, :class:`formulaTransform`, :class:`imputeTransform`, + :class:`joinaggregateTransform`, :class:`kdeTransform`, :class:`lookupTransform`, + :class:`pivotTransform`, :class:`projectTransform`, :class:`quantileTransform`, + :class:`sampleTransform`, :class:`sequenceTransform`, :class:`timeunitTransform`, + :class:`windowTransform`, :class:`identifierTransform`, :class:`voronoiTransform`, + :class:`wordcloudTransform`) + """ + _schema = {'$ref': '#/definitions/transform'} - size : oneOf(List(anyOf(float, :class:`signal`)), :class:`signal`) + def __init__(self, *args, **kwds): + super(transform, self).__init__(*args, **kwds) - sort : :class:`compare` - as : oneOf(List(anyOf(string, :class:`signal`)), :class:`signal`) +class transformMark(VegaSchema): + """transformMark schema wrapper + oneOf(:class:`crossfilterTransform`, :class:`resolvefilterTransform`, + :class:`linkpathTransform`, :class:`pieTransform`, :class:`stackTransform`, + :class:`forceTransform`, :class:`geojsonTransform`, :class:`geopathTransform`, + :class:`geopointTransform`, :class:`geoshapeTransform`, :class:`heatmapTransform`, + :class:`packTransform`, :class:`partitionTransform`, :class:`stratifyTransform`, + :class:`treeTransform`, :class:`treemapTransform`, :class:`labelTransform`, + :class:`binTransform`, :class:`collectTransform`, :class:`dotbinTransform`, + :class:`extentTransform`, :class:`formulaTransform`, :class:`joinaggregateTransform`, + :class:`lookupTransform`, :class:`sampleTransform`, :class:`timeunitTransform`, + :class:`windowTransform`, :class:`identifierTransform`, :class:`voronoiTransform`, + :class:`wordcloudTransform`) """ - _schema = {'$ref': '#/defs/partitionTransform'} + _schema = {'$ref': '#/definitions/transformMark'} - def __init__(self, type=Undefined, field=Undefined, padding=Undefined, round=Undefined, - signal=Undefined, size=Undefined, sort=Undefined, **kwds): - super(partitionTransform, self).__init__(type=type, field=field, padding=padding, round=round, - signal=signal, size=size, sort=sort, **kwds) + def __init__(self, *args, **kwds): + super(transformMark, self).__init__(*args, **kwds) -class stratifyTransform(VegaSchema): - """stratifyTransform schema wrapper +class crossfilterTransform(VegaSchema): + """crossfilterTransform schema wrapper - Mapping(required=[type, key, parentKey]) + Mapping(required=[type, fields, query]) Attributes ---------- - key : oneOf(:class:`scaleField`, :class:`paramField`, :class:`expr`) + fields : oneOf(List(oneOf(:class:`scaleField`, :class:`paramField`, :class:`expr`)), + :class:`signalRef`) - parentKey : oneOf(:class:`scaleField`, :class:`paramField`, :class:`expr`) + query : oneOf(List(Any), :class:`signalRef`) - type : enum('stratify') + type : enum('crossfilter') signal : string """ - _schema = {'$ref': '#/defs/stratifyTransform'} + _schema = {'$ref': '#/definitions/crossfilterTransform'} - def __init__(self, key=Undefined, parentKey=Undefined, type=Undefined, signal=Undefined, **kwds): - super(stratifyTransform, self).__init__(key=key, parentKey=parentKey, type=type, signal=signal, - **kwds) + def __init__(self, fields=Undefined, query=Undefined, type=Undefined, signal=Undefined, **kwds): + super(crossfilterTransform, self).__init__(fields=fields, query=query, type=type, signal=signal, + **kwds) -class treeTransform(VegaSchema): - """treeTransform schema wrapper +class resolvefilterTransform(VegaSchema): + """resolvefilterTransform schema wrapper - Mapping(required=[type]) + Mapping(required=[type, ignore, filter]) Attributes ---------- - type : enum('tree') - - field : oneOf(:class:`scaleField`, :class:`paramField`, :class:`expr`) - - method : anyOf(enum('tidy', 'cluster'), :class:`signal`) + filter : Any - nodeSize : oneOf(List(anyOf(float, :class:`signal`)), :class:`signal`) + ignore : anyOf(float, :class:`signalRef`) - separation : anyOf(boolean, :class:`signal`) + type : enum('resolvefilter') signal : string - size : oneOf(List(anyOf(float, :class:`signal`)), :class:`signal`) - - sort : :class:`compare` - - as : oneOf(List(anyOf(string, :class:`signal`)), :class:`signal`) - """ - _schema = {'$ref': '#/defs/treeTransform'} + _schema = {'$ref': '#/definitions/resolvefilterTransform'} - def __init__(self, type=Undefined, field=Undefined, method=Undefined, nodeSize=Undefined, - separation=Undefined, signal=Undefined, size=Undefined, sort=Undefined, **kwds): - super(treeTransform, self).__init__(type=type, field=field, method=method, nodeSize=nodeSize, - separation=separation, signal=signal, size=size, sort=sort, - **kwds) + def __init__(self, filter=Undefined, ignore=Undefined, type=Undefined, signal=Undefined, **kwds): + super(resolvefilterTransform, self).__init__(filter=filter, ignore=ignore, type=type, + signal=signal, **kwds) -class treelinksTransform(VegaSchema): - """treelinksTransform schema wrapper +class linkpathTransform(VegaSchema): + """linkpathTransform schema wrapper Mapping(required=[type]) Attributes ---------- - type : enum('treelinks') - - signal : string + type : enum('linkpath') - """ - _schema = {'$ref': '#/defs/treelinksTransform'} + orient : anyOf(enum('horizontal', 'vertical', 'radial'), :class:`signalRef`) - def __init__(self, type=Undefined, signal=Undefined, **kwds): - super(treelinksTransform, self).__init__(type=type, signal=signal, **kwds) + require : :class:`signalRef` + shape : anyOf(enum('line', 'arc', 'curve', 'diagonal', 'orthogonal'), :class:`signalRef`) -class treemapTransform(VegaSchema): - """treemapTransform schema wrapper + signal : string - Mapping(required=[type]) + sourceX : oneOf(:class:`scaleField`, :class:`paramField`, :class:`expr`) - Attributes - ---------- + sourceY : oneOf(:class:`scaleField`, :class:`paramField`, :class:`expr`) - type : enum('treemap') + targetX : oneOf(:class:`scaleField`, :class:`paramField`, :class:`expr`) - field : oneOf(:class:`scaleField`, :class:`paramField`, :class:`expr`) + targetY : oneOf(:class:`scaleField`, :class:`paramField`, :class:`expr`) - method : anyOf(enum('squarify', 'resquarify', 'binary', 'dice', 'slice', 'slicedice'), - :class:`signal`) + as : anyOf(string, :class:`signalRef`) - padding : anyOf(float, :class:`signal`) + """ + _schema = {'$ref': '#/definitions/linkpathTransform'} - paddingBottom : anyOf(float, :class:`signal`) + def __init__(self, type=Undefined, orient=Undefined, require=Undefined, shape=Undefined, + signal=Undefined, sourceX=Undefined, sourceY=Undefined, targetX=Undefined, + targetY=Undefined, **kwds): + super(linkpathTransform, self).__init__(type=type, orient=orient, require=require, shape=shape, + signal=signal, sourceX=sourceX, sourceY=sourceY, + targetX=targetX, targetY=targetY, **kwds) - paddingInner : anyOf(float, :class:`signal`) - paddingLeft : anyOf(float, :class:`signal`) +class pieTransform(VegaSchema): + """pieTransform schema wrapper - paddingOuter : anyOf(float, :class:`signal`) + Mapping(required=[type]) - paddingRight : anyOf(float, :class:`signal`) + Attributes + ---------- - paddingTop : anyOf(float, :class:`signal`) + type : enum('pie') - ratio : anyOf(float, :class:`signal`) + endAngle : anyOf(float, :class:`signalRef`) - round : anyOf(boolean, :class:`signal`) + field : oneOf(:class:`scaleField`, :class:`paramField`, :class:`expr`) signal : string - size : oneOf(List(anyOf(float, :class:`signal`)), :class:`signal`) + sort : anyOf(boolean, :class:`signalRef`) - sort : :class:`compare` + startAngle : anyOf(float, :class:`signalRef`) - as : oneOf(List(anyOf(string, :class:`signal`)), :class:`signal`) + as : oneOf(List(anyOf(string, :class:`signalRef`)), :class:`signalRef`) """ - _schema = {'$ref': '#/defs/treemapTransform'} + _schema = {'$ref': '#/definitions/pieTransform'} - def __init__(self, type=Undefined, field=Undefined, method=Undefined, padding=Undefined, - paddingBottom=Undefined, paddingInner=Undefined, paddingLeft=Undefined, - paddingOuter=Undefined, paddingRight=Undefined, paddingTop=Undefined, ratio=Undefined, - round=Undefined, signal=Undefined, size=Undefined, sort=Undefined, **kwds): - super(treemapTransform, self).__init__(type=type, field=field, method=method, padding=padding, - paddingBottom=paddingBottom, paddingInner=paddingInner, - paddingLeft=paddingLeft, paddingOuter=paddingOuter, - paddingRight=paddingRight, paddingTop=paddingTop, - ratio=ratio, round=round, signal=signal, size=size, - sort=sort, **kwds) + def __init__(self, type=Undefined, endAngle=Undefined, field=Undefined, signal=Undefined, + sort=Undefined, startAngle=Undefined, **kwds): + super(pieTransform, self).__init__(type=type, endAngle=endAngle, field=field, signal=signal, + sort=sort, startAngle=startAngle, **kwds) -class loessTransform(VegaSchema): - """loessTransform schema wrapper +class stackTransform(VegaSchema): + """stackTransform schema wrapper - Mapping(required=[type, x, y]) + Mapping(required=[type]) Attributes ---------- - type : enum('loess') - - x : oneOf(:class:`scaleField`, :class:`paramField`, :class:`expr`) - - y : oneOf(:class:`scaleField`, :class:`paramField`, :class:`expr`) + type : enum('stack') - bandwidth : anyOf(float, :class:`signal`) + field : oneOf(:class:`scaleField`, :class:`paramField`, :class:`expr`) groupby : oneOf(List(oneOf(:class:`scaleField`, :class:`paramField`, :class:`expr`)), - :class:`signal`) + :class:`signalRef`) + + offset : anyOf(enum('zero', 'center', 'normalize'), :class:`signalRef`) signal : string - as : oneOf(List(anyOf(string, :class:`signal`)), :class:`signal`) + sort : :class:`compare` + + as : oneOf(List(anyOf(string, :class:`signalRef`)), :class:`signalRef`) """ - _schema = {'$ref': '#/defs/loessTransform'} + _schema = {'$ref': '#/definitions/stackTransform'} - def __init__(self, type=Undefined, x=Undefined, y=Undefined, bandwidth=Undefined, groupby=Undefined, - signal=Undefined, **kwds): - super(loessTransform, self).__init__(type=type, x=x, y=y, bandwidth=bandwidth, groupby=groupby, - signal=signal, **kwds) + def __init__(self, type=Undefined, field=Undefined, groupby=Undefined, offset=Undefined, + signal=Undefined, sort=Undefined, **kwds): + super(stackTransform, self).__init__(type=type, field=field, groupby=groupby, offset=offset, + signal=signal, sort=sort, **kwds) -class regressionTransform(VegaSchema): - """regressionTransform schema wrapper +class forceTransform(VegaSchema): + """forceTransform schema wrapper - Mapping(required=[type, x, y]) + Mapping(required=[type]) Attributes ---------- - type : enum('regression') - - x : oneOf(:class:`scaleField`, :class:`paramField`, :class:`expr`) + type : enum('force') - y : oneOf(:class:`scaleField`, :class:`paramField`, :class:`expr`) + alpha : anyOf(float, :class:`signalRef`) - extent : oneOf(List(anyOf(float, :class:`signal`)), :class:`signal`) + alphaMin : anyOf(float, :class:`signalRef`) - groupby : oneOf(List(oneOf(:class:`scaleField`, :class:`paramField`, :class:`expr`)), - :class:`signal`) + alphaTarget : anyOf(float, :class:`signalRef`) - method : anyOf(string, :class:`signal`) + forces : List(oneOf(Mapping(required=[force]), Mapping(required=[force]), + Mapping(required=[force]), Mapping(required=[force]), Mapping(required=[force]), + Mapping(required=[force]))) - order : anyOf(float, :class:`signal`) + iterations : anyOf(float, :class:`signalRef`) - params : anyOf(boolean, :class:`signal`) + restart : anyOf(boolean, :class:`signalRef`) signal : string - as : oneOf(List(anyOf(string, :class:`signal`)), :class:`signal`) + static : anyOf(boolean, :class:`signalRef`) + + velocityDecay : anyOf(float, :class:`signalRef`) + + as : oneOf(List(anyOf(string, :class:`signalRef`)), :class:`signalRef`) """ - _schema = {'$ref': '#/defs/regressionTransform'} + _schema = {'$ref': '#/definitions/forceTransform'} - def __init__(self, type=Undefined, x=Undefined, y=Undefined, extent=Undefined, groupby=Undefined, - method=Undefined, order=Undefined, params=Undefined, signal=Undefined, **kwds): - super(regressionTransform, self).__init__(type=type, x=x, y=y, extent=extent, groupby=groupby, - method=method, order=order, params=params, - signal=signal, **kwds) + def __init__(self, type=Undefined, alpha=Undefined, alphaMin=Undefined, alphaTarget=Undefined, + forces=Undefined, iterations=Undefined, restart=Undefined, signal=Undefined, + static=Undefined, velocityDecay=Undefined, **kwds): + super(forceTransform, self).__init__(type=type, alpha=alpha, alphaMin=alphaMin, + alphaTarget=alphaTarget, forces=forces, + iterations=iterations, restart=restart, signal=signal, + static=static, velocityDecay=velocityDecay, **kwds) -class aggregateTransform(VegaSchema): - """aggregateTransform schema wrapper +class contourTransform(VegaSchema): + """contourTransform schema wrapper - Mapping(required=[type]) + Mapping(required=[type, size]) Attributes ---------- - type : enum('aggregate') - - cross : anyOf(boolean, :class:`signal`) + size : oneOf(List(anyOf(float, :class:`signalRef`)), :class:`signalRef`) - drop : anyOf(boolean, :class:`signal`) + type : enum('contour') - fields : oneOf(List(oneOf(:class:`scaleField`, :class:`paramField`, :class:`expr`, None)), - :class:`signal`) + bandwidth : anyOf(float, :class:`signalRef`) - groupby : oneOf(List(oneOf(:class:`scaleField`, :class:`paramField`, :class:`expr`)), - :class:`signal`) + cellSize : anyOf(float, :class:`signalRef`) - key : oneOf(:class:`scaleField`, :class:`paramField`, :class:`expr`) + count : anyOf(float, :class:`signalRef`) - ops : oneOf(List(anyOf(enum('values', 'count', '__count__', 'missing', 'valid', 'sum', - 'product', 'mean', 'average', 'variance', 'variancep', 'stdev', 'stdevp', 'stderr', - 'distinct', 'ci0', 'ci1', 'median', 'q1', 'q3', 'argmin', 'argmax', 'min', 'max'), - :class:`signal`)), :class:`signal`) + nice : anyOf(boolean, :class:`signalRef`) signal : string - as : oneOf(List(anyOf(string, :class:`signal`, None)), :class:`signal`) + smooth : anyOf(boolean, :class:`signalRef`) + + thresholds : oneOf(List(anyOf(float, :class:`signalRef`)), :class:`signalRef`) + + values : oneOf(List(anyOf(float, :class:`signalRef`)), :class:`signalRef`) + + weight : oneOf(:class:`scaleField`, :class:`paramField`, :class:`expr`) + + x : oneOf(:class:`scaleField`, :class:`paramField`, :class:`expr`) + + y : oneOf(:class:`scaleField`, :class:`paramField`, :class:`expr`) """ - _schema = {'$ref': '#/defs/aggregateTransform'} + _schema = {'$ref': '#/definitions/contourTransform'} - def __init__(self, type=Undefined, cross=Undefined, drop=Undefined, fields=Undefined, - groupby=Undefined, key=Undefined, ops=Undefined, signal=Undefined, **kwds): - super(aggregateTransform, self).__init__(type=type, cross=cross, drop=drop, fields=fields, - groupby=groupby, key=key, ops=ops, signal=signal, - **kwds) + def __init__(self, size=Undefined, type=Undefined, bandwidth=Undefined, cellSize=Undefined, + count=Undefined, nice=Undefined, signal=Undefined, smooth=Undefined, + thresholds=Undefined, values=Undefined, weight=Undefined, x=Undefined, y=Undefined, + **kwds): + super(contourTransform, self).__init__(size=size, type=type, bandwidth=bandwidth, + cellSize=cellSize, count=count, nice=nice, signal=signal, + smooth=smooth, thresholds=thresholds, values=values, + weight=weight, x=x, y=y, **kwds) -class binTransform(VegaSchema): - """binTransform schema wrapper +class geojsonTransform(VegaSchema): + """geojsonTransform schema wrapper - Mapping(required=[type, field, extent]) + Mapping(required=[type]) Attributes ---------- - extent : oneOf(List(anyOf(float, :class:`signal`)), :class:`signal`) + type : enum('geojson') - field : oneOf(:class:`scaleField`, :class:`paramField`, :class:`expr`) + fields : oneOf(List(oneOf(:class:`scaleField`, :class:`paramField`, :class:`expr`)), + :class:`signalRef`) - type : enum('bin') + geojson : oneOf(:class:`scaleField`, :class:`paramField`, :class:`expr`) - anchor : anyOf(float, :class:`signal`) + signal : string - base : anyOf(float, :class:`signal`) + """ + _schema = {'$ref': '#/definitions/geojsonTransform'} - divide : oneOf(List(anyOf(float, :class:`signal`)), :class:`signal`) + def __init__(self, type=Undefined, fields=Undefined, geojson=Undefined, signal=Undefined, **kwds): + super(geojsonTransform, self).__init__(type=type, fields=fields, geojson=geojson, signal=signal, + **kwds) - interval : anyOf(boolean, :class:`signal`) - maxbins : anyOf(float, :class:`signal`) +class geopathTransform(VegaSchema): + """geopathTransform schema wrapper - minstep : anyOf(float, :class:`signal`) + Mapping(required=[type]) - name : anyOf(string, :class:`signal`) + Attributes + ---------- - nice : anyOf(boolean, :class:`signal`) + type : enum('geopath') - signal : string + field : oneOf(:class:`scaleField`, :class:`paramField`, :class:`expr`) - span : anyOf(float, :class:`signal`) + pointRadius : anyOf(float, :class:`signalRef`, :class:`expr`, :class:`paramField`) - step : anyOf(float, :class:`signal`) + projection : string - steps : oneOf(List(anyOf(float, :class:`signal`)), :class:`signal`) + signal : string - as : oneOf(List(anyOf(string, :class:`signal`)), :class:`signal`) + as : anyOf(string, :class:`signalRef`) """ - _schema = {'$ref': '#/defs/binTransform'} + _schema = {'$ref': '#/definitions/geopathTransform'} - def __init__(self, extent=Undefined, field=Undefined, type=Undefined, anchor=Undefined, - base=Undefined, divide=Undefined, interval=Undefined, maxbins=Undefined, - minstep=Undefined, name=Undefined, nice=Undefined, signal=Undefined, span=Undefined, - step=Undefined, steps=Undefined, **kwds): - super(binTransform, self).__init__(extent=extent, field=field, type=type, anchor=anchor, - base=base, divide=divide, interval=interval, maxbins=maxbins, - minstep=minstep, name=name, nice=nice, signal=signal, - span=span, step=step, steps=steps, **kwds) + def __init__(self, type=Undefined, field=Undefined, pointRadius=Undefined, projection=Undefined, + signal=Undefined, **kwds): + super(geopathTransform, self).__init__(type=type, field=field, pointRadius=pointRadius, + projection=projection, signal=signal, **kwds) -class collectTransform(VegaSchema): - """collectTransform schema wrapper +class geopointTransform(VegaSchema): + """geopointTransform schema wrapper - Mapping(required=[type]) + Mapping(required=[type, projection, fields]) Attributes ---------- - type : enum('collect') + fields : oneOf(List(oneOf(:class:`scaleField`, :class:`paramField`, :class:`expr`)), + :class:`signalRef`) + + projection : string + + type : enum('geopoint') signal : string - sort : :class:`compare` + as : oneOf(List(anyOf(string, :class:`signalRef`)), :class:`signalRef`) """ - _schema = {'$ref': '#/defs/collectTransform'} + _schema = {'$ref': '#/definitions/geopointTransform'} - def __init__(self, type=Undefined, signal=Undefined, sort=Undefined, **kwds): - super(collectTransform, self).__init__(type=type, signal=signal, sort=sort, **kwds) + def __init__(self, fields=Undefined, projection=Undefined, type=Undefined, signal=Undefined, **kwds): + super(geopointTransform, self).__init__(fields=fields, projection=projection, type=type, + signal=signal, **kwds) -class countpatternTransform(VegaSchema): - """countpatternTransform schema wrapper +class geoshapeTransform(VegaSchema): + """geoshapeTransform schema wrapper - Mapping(required=[type, field]) + Mapping(required=[type]) Attributes ---------- - field : oneOf(:class:`scaleField`, :class:`paramField`, :class:`expr`) + type : enum('geoshape') - type : enum('countpattern') + field : oneOf(:class:`scaleField`, :class:`paramField`, :class:`expr`) - case : anyOf(enum('upper', 'lower', 'mixed'), :class:`signal`) + pointRadius : anyOf(float, :class:`signalRef`, :class:`expr`, :class:`paramField`) - pattern : anyOf(string, :class:`signal`) + projection : string signal : string - stopwords : anyOf(string, :class:`signal`) - - as : oneOf(List(anyOf(string, :class:`signal`)), :class:`signal`) + as : anyOf(string, :class:`signalRef`) """ - _schema = {'$ref': '#/defs/countpatternTransform'} + _schema = {'$ref': '#/definitions/geoshapeTransform'} - def __init__(self, field=Undefined, type=Undefined, case=Undefined, pattern=Undefined, - signal=Undefined, stopwords=Undefined, **kwds): - super(countpatternTransform, self).__init__(field=field, type=type, case=case, pattern=pattern, - signal=signal, stopwords=stopwords, **kwds) + def __init__(self, type=Undefined, field=Undefined, pointRadius=Undefined, projection=Undefined, + signal=Undefined, **kwds): + super(geoshapeTransform, self).__init__(type=type, field=field, pointRadius=pointRadius, + projection=projection, signal=signal, **kwds) -class crossTransform(VegaSchema): - """crossTransform schema wrapper +class graticuleTransform(VegaSchema): + """graticuleTransform schema wrapper Mapping(required=[type]) Attributes ---------- - type : enum('cross') + type : enum('graticule') - filter : :class:`exprString` + extent : oneOf(List(Any), :class:`signalRef`) + + extentMajor : oneOf(List(Any), :class:`signalRef`) + + extentMinor : oneOf(List(Any), :class:`signalRef`) + + precision : anyOf(float, :class:`signalRef`) signal : string - as : oneOf(List(anyOf(string, :class:`signal`)), :class:`signal`) + step : oneOf(List(anyOf(float, :class:`signalRef`)), :class:`signalRef`) + + stepMajor : oneOf(List(anyOf(float, :class:`signalRef`)), :class:`signalRef`) + + stepMinor : oneOf(List(anyOf(float, :class:`signalRef`)), :class:`signalRef`) """ - _schema = {'$ref': '#/defs/crossTransform'} + _schema = {'$ref': '#/definitions/graticuleTransform'} - def __init__(self, type=Undefined, filter=Undefined, signal=Undefined, **kwds): - super(crossTransform, self).__init__(type=type, filter=filter, signal=signal, **kwds) + def __init__(self, type=Undefined, extent=Undefined, extentMajor=Undefined, extentMinor=Undefined, + precision=Undefined, signal=Undefined, step=Undefined, stepMajor=Undefined, + stepMinor=Undefined, **kwds): + super(graticuleTransform, self).__init__(type=type, extent=extent, extentMajor=extentMajor, + extentMinor=extentMinor, precision=precision, + signal=signal, step=step, stepMajor=stepMajor, + stepMinor=stepMinor, **kwds) -class densityTransform(VegaSchema): - """densityTransform schema wrapper +class heatmapTransform(VegaSchema): + """heatmapTransform schema wrapper Mapping(required=[type]) Attributes ---------- - type : enum('density') - - distribution : oneOf(Mapping(required=[function]), Mapping(required=[function]), - Mapping(required=[function]), Mapping(required=[function, field]), - Mapping(required=[function])) + type : enum('heatmap') - extent : oneOf(List(anyOf(float, :class:`signal`)), :class:`signal`) + color : anyOf(string, :class:`signalRef`, :class:`expr`, :class:`paramField`) - maxsteps : anyOf(float, :class:`signal`) + field : oneOf(:class:`scaleField`, :class:`paramField`, :class:`expr`) - method : anyOf(string, :class:`signal`) + opacity : anyOf(float, :class:`signalRef`, :class:`expr`, :class:`paramField`) - minsteps : anyOf(float, :class:`signal`) + resolve : anyOf(enum('shared', 'independent'), :class:`signalRef`) signal : string - steps : anyOf(float, :class:`signal`) - - as : oneOf(List(anyOf(string, :class:`signal`)), :class:`signal`) + as : anyOf(string, :class:`signalRef`) """ - _schema = {'$ref': '#/defs/densityTransform'} + _schema = {'$ref': '#/definitions/heatmapTransform'} - def __init__(self, type=Undefined, distribution=Undefined, extent=Undefined, maxsteps=Undefined, - method=Undefined, minsteps=Undefined, signal=Undefined, steps=Undefined, **kwds): - super(densityTransform, self).__init__(type=type, distribution=distribution, extent=extent, - maxsteps=maxsteps, method=method, minsteps=minsteps, - signal=signal, steps=steps, **kwds) + def __init__(self, type=Undefined, color=Undefined, field=Undefined, opacity=Undefined, + resolve=Undefined, signal=Undefined, **kwds): + super(heatmapTransform, self).__init__(type=type, color=color, field=field, opacity=opacity, + resolve=resolve, signal=signal, **kwds) -class dotbinTransform(VegaSchema): - """dotbinTransform schema wrapper +class isocontourTransform(VegaSchema): + """isocontourTransform schema wrapper - Mapping(required=[type, field]) + Mapping(required=[type]) Attributes ---------- + type : enum('isocontour') + field : oneOf(:class:`scaleField`, :class:`paramField`, :class:`expr`) - type : enum('dotbin') + levels : anyOf(float, :class:`signalRef`) - groupby : oneOf(List(oneOf(:class:`scaleField`, :class:`paramField`, :class:`expr`)), - :class:`signal`) + nice : anyOf(boolean, :class:`signalRef`) + + resolve : anyOf(enum('shared', 'independent'), :class:`signalRef`) + + scale : anyOf(float, :class:`signalRef`, :class:`expr`, :class:`paramField`) signal : string - smooth : anyOf(boolean, :class:`signal`) + smooth : anyOf(boolean, :class:`signalRef`) + + thresholds : oneOf(List(anyOf(float, :class:`signalRef`)), :class:`signalRef`) - step : anyOf(float, :class:`signal`) + translate : oneOf(List(anyOf(float, :class:`signalRef`, :class:`expr`, + :class:`paramField`)), :class:`signalRef`) - as : anyOf(string, :class:`signal`) + zero : anyOf(boolean, :class:`signalRef`) + + as : anyOf(string, :class:`signalRef`, None) """ - _schema = {'$ref': '#/defs/dotbinTransform'} + _schema = {'$ref': '#/definitions/isocontourTransform'} - def __init__(self, field=Undefined, type=Undefined, groupby=Undefined, signal=Undefined, - smooth=Undefined, step=Undefined, **kwds): - super(dotbinTransform, self).__init__(field=field, type=type, groupby=groupby, signal=signal, - smooth=smooth, step=step, **kwds) + def __init__(self, type=Undefined, field=Undefined, levels=Undefined, nice=Undefined, + resolve=Undefined, scale=Undefined, signal=Undefined, smooth=Undefined, + thresholds=Undefined, translate=Undefined, zero=Undefined, **kwds): + super(isocontourTransform, self).__init__(type=type, field=field, levels=levels, nice=nice, + resolve=resolve, scale=scale, signal=signal, + smooth=smooth, thresholds=thresholds, + translate=translate, zero=zero, **kwds) -class extentTransform(VegaSchema): - """extentTransform schema wrapper +class kde2dTransform(VegaSchema): + """kde2dTransform schema wrapper - Mapping(required=[type, field]) + Mapping(required=[type, size, x, y]) Attributes ---------- - field : oneOf(:class:`scaleField`, :class:`paramField`, :class:`expr`) - - type : enum('extent') + size : oneOf(List(anyOf(float, :class:`signalRef`)), :class:`signalRef`) - signal : string + type : enum('kde2d') - """ - _schema = {'$ref': '#/defs/extentTransform'} + x : oneOf(:class:`scaleField`, :class:`paramField`, :class:`expr`) - def __init__(self, field=Undefined, type=Undefined, signal=Undefined, **kwds): - super(extentTransform, self).__init__(field=field, type=type, signal=signal, **kwds) + y : oneOf(:class:`scaleField`, :class:`paramField`, :class:`expr`) + bandwidth : oneOf(List(anyOf(float, :class:`signalRef`)), :class:`signalRef`) -class filterTransform(VegaSchema): - """filterTransform schema wrapper + cellSize : anyOf(float, :class:`signalRef`) - Mapping(required=[type, expr]) + counts : anyOf(boolean, :class:`signalRef`) - Attributes - ---------- + groupby : oneOf(List(oneOf(:class:`scaleField`, :class:`paramField`, :class:`expr`)), + :class:`signalRef`) - expr : :class:`exprString` + signal : string - type : enum('filter') + weight : oneOf(:class:`scaleField`, :class:`paramField`, :class:`expr`) - signal : string + as : anyOf(string, :class:`signalRef`) """ - _schema = {'$ref': '#/defs/filterTransform'} + _schema = {'$ref': '#/definitions/kde2dTransform'} - def __init__(self, expr=Undefined, type=Undefined, signal=Undefined, **kwds): - super(filterTransform, self).__init__(expr=expr, type=type, signal=signal, **kwds) + def __init__(self, size=Undefined, type=Undefined, x=Undefined, y=Undefined, bandwidth=Undefined, + cellSize=Undefined, counts=Undefined, groupby=Undefined, signal=Undefined, + weight=Undefined, **kwds): + super(kde2dTransform, self).__init__(size=size, type=type, x=x, y=y, bandwidth=bandwidth, + cellSize=cellSize, counts=counts, groupby=groupby, + signal=signal, weight=weight, **kwds) -class flattenTransform(VegaSchema): - """flattenTransform schema wrapper +class nestTransform(VegaSchema): + """nestTransform schema wrapper - Mapping(required=[type, fields]) + Mapping(required=[type]) Attributes ---------- - fields : oneOf(List(oneOf(:class:`scaleField`, :class:`paramField`, :class:`expr`)), - :class:`signal`) + type : enum('nest') - type : enum('flatten') + generate : anyOf(boolean, :class:`signalRef`) - index : anyOf(string, :class:`signal`) + keys : oneOf(List(oneOf(:class:`scaleField`, :class:`paramField`, :class:`expr`)), + :class:`signalRef`) signal : string - as : oneOf(List(anyOf(string, :class:`signal`)), :class:`signal`) - """ - _schema = {'$ref': '#/defs/flattenTransform'} + _schema = {'$ref': '#/definitions/nestTransform'} - def __init__(self, fields=Undefined, type=Undefined, index=Undefined, signal=Undefined, **kwds): - super(flattenTransform, self).__init__(fields=fields, type=type, index=index, signal=signal, - **kwds) + def __init__(self, type=Undefined, generate=Undefined, keys=Undefined, signal=Undefined, **kwds): + super(nestTransform, self).__init__(type=type, generate=generate, keys=keys, signal=signal, + **kwds) -class foldTransform(VegaSchema): - """foldTransform schema wrapper +class packTransform(VegaSchema): + """packTransform schema wrapper - Mapping(required=[type, fields]) + Mapping(required=[type]) Attributes ---------- - fields : oneOf(List(oneOf(:class:`scaleField`, :class:`paramField`, :class:`expr`)), - :class:`signal`) + type : enum('pack') - type : enum('fold') + field : oneOf(:class:`scaleField`, :class:`paramField`, :class:`expr`) + + padding : anyOf(float, :class:`signalRef`) + + radius : oneOf(:class:`scaleField`, :class:`paramField`, :class:`expr`) signal : string - as : oneOf(List(anyOf(string, :class:`signal`)), :class:`signal`) + size : oneOf(List(anyOf(float, :class:`signalRef`)), :class:`signalRef`) + + sort : :class:`compare` + + as : oneOf(List(anyOf(string, :class:`signalRef`)), :class:`signalRef`) """ - _schema = {'$ref': '#/defs/foldTransform'} + _schema = {'$ref': '#/definitions/packTransform'} - def __init__(self, fields=Undefined, type=Undefined, signal=Undefined, **kwds): - super(foldTransform, self).__init__(fields=fields, type=type, signal=signal, **kwds) + def __init__(self, type=Undefined, field=Undefined, padding=Undefined, radius=Undefined, + signal=Undefined, size=Undefined, sort=Undefined, **kwds): + super(packTransform, self).__init__(type=type, field=field, padding=padding, radius=radius, + signal=signal, size=size, sort=sort, **kwds) -class formulaTransform(VegaSchema): - """formulaTransform schema wrapper +class partitionTransform(VegaSchema): + """partitionTransform schema wrapper - Mapping(required=[type, expr, as]) + Mapping(required=[type]) Attributes ---------- - expr : :class:`exprString` + type : enum('partition') - type : enum('formula') + field : oneOf(:class:`scaleField`, :class:`paramField`, :class:`expr`) - initonly : anyOf(boolean, :class:`signal`) + padding : anyOf(float, :class:`signalRef`) + + round : anyOf(boolean, :class:`signalRef`) signal : string - as : anyOf(string, :class:`signal`) + size : oneOf(List(anyOf(float, :class:`signalRef`)), :class:`signalRef`) + + sort : :class:`compare` + + as : oneOf(List(anyOf(string, :class:`signalRef`)), :class:`signalRef`) """ - _schema = {'$ref': '#/defs/formulaTransform'} + _schema = {'$ref': '#/definitions/partitionTransform'} - def __init__(self, expr=Undefined, type=Undefined, initonly=Undefined, signal=Undefined, **kwds): - super(formulaTransform, self).__init__(expr=expr, type=type, initonly=initonly, signal=signal, - **kwds) + def __init__(self, type=Undefined, field=Undefined, padding=Undefined, round=Undefined, + signal=Undefined, size=Undefined, sort=Undefined, **kwds): + super(partitionTransform, self).__init__(type=type, field=field, padding=padding, round=round, + signal=signal, size=size, sort=sort, **kwds) -class imputeTransform(VegaSchema): - """imputeTransform schema wrapper +class stratifyTransform(VegaSchema): + """stratifyTransform schema wrapper - Mapping(required=[type, field, key]) + Mapping(required=[type, key, parentKey]) Attributes ---------- - field : oneOf(:class:`scaleField`, :class:`paramField`, :class:`expr`) - key : oneOf(:class:`scaleField`, :class:`paramField`, :class:`expr`) - type : enum('impute') - - groupby : oneOf(List(oneOf(:class:`scaleField`, :class:`paramField`, :class:`expr`)), - :class:`signal`) - - keyvals : oneOf(List(Any), :class:`signal`) + parentKey : oneOf(:class:`scaleField`, :class:`paramField`, :class:`expr`) - method : anyOf(enum('value', 'mean', 'median', 'max', 'min'), :class:`signal`) + type : enum('stratify') signal : string - value : Any - """ - _schema = {'$ref': '#/defs/imputeTransform'} + _schema = {'$ref': '#/definitions/stratifyTransform'} - def __init__(self, field=Undefined, key=Undefined, type=Undefined, groupby=Undefined, - keyvals=Undefined, method=Undefined, signal=Undefined, value=Undefined, **kwds): - super(imputeTransform, self).__init__(field=field, key=key, type=type, groupby=groupby, - keyvals=keyvals, method=method, signal=signal, - value=value, **kwds) + def __init__(self, key=Undefined, parentKey=Undefined, type=Undefined, signal=Undefined, **kwds): + super(stratifyTransform, self).__init__(key=key, parentKey=parentKey, type=type, signal=signal, + **kwds) -class joinaggregateTransform(VegaSchema): - """joinaggregateTransform schema wrapper +class treeTransform(VegaSchema): + """treeTransform schema wrapper Mapping(required=[type]) Attributes ---------- - type : enum('joinaggregate') + type : enum('tree') - fields : oneOf(List(oneOf(:class:`scaleField`, :class:`paramField`, :class:`expr`, None)), - :class:`signal`) + field : oneOf(:class:`scaleField`, :class:`paramField`, :class:`expr`) - groupby : oneOf(List(oneOf(:class:`scaleField`, :class:`paramField`, :class:`expr`)), - :class:`signal`) + method : anyOf(enum('tidy', 'cluster'), :class:`signalRef`) - key : oneOf(:class:`scaleField`, :class:`paramField`, :class:`expr`) + nodeSize : oneOf(List(anyOf(float, :class:`signalRef`)), :class:`signalRef`) - ops : oneOf(List(anyOf(enum('values', 'count', '__count__', 'missing', 'valid', 'sum', - 'product', 'mean', 'average', 'variance', 'variancep', 'stdev', 'stdevp', 'stderr', - 'distinct', 'ci0', 'ci1', 'median', 'q1', 'q3', 'argmin', 'argmax', 'min', 'max'), - :class:`signal`)), :class:`signal`) + separation : anyOf(boolean, :class:`signalRef`) signal : string - as : oneOf(List(anyOf(string, :class:`signal`, None)), :class:`signal`) + size : oneOf(List(anyOf(float, :class:`signalRef`)), :class:`signalRef`) + + sort : :class:`compare` + + as : oneOf(List(anyOf(string, :class:`signalRef`)), :class:`signalRef`) """ - _schema = {'$ref': '#/defs/joinaggregateTransform'} + _schema = {'$ref': '#/definitions/treeTransform'} - def __init__(self, type=Undefined, fields=Undefined, groupby=Undefined, key=Undefined, - ops=Undefined, signal=Undefined, **kwds): - super(joinaggregateTransform, self).__init__(type=type, fields=fields, groupby=groupby, key=key, - ops=ops, signal=signal, **kwds) + def __init__(self, type=Undefined, field=Undefined, method=Undefined, nodeSize=Undefined, + separation=Undefined, signal=Undefined, size=Undefined, sort=Undefined, **kwds): + super(treeTransform, self).__init__(type=type, field=field, method=method, nodeSize=nodeSize, + separation=separation, signal=signal, size=size, sort=sort, + **kwds) -class kdeTransform(VegaSchema): - """kdeTransform schema wrapper +class treelinksTransform(VegaSchema): + """treelinksTransform schema wrapper - Mapping(required=[type, field]) + Mapping(required=[type]) Attributes ---------- - field : oneOf(:class:`scaleField`, :class:`paramField`, :class:`expr`) - - type : enum('kde') - - bandwidth : anyOf(float, :class:`signal`) - - counts : anyOf(boolean, :class:`signal`) + type : enum('treelinks') - cumulative : anyOf(boolean, :class:`signal`) + signal : string - extent : oneOf(List(anyOf(float, :class:`signal`)), :class:`signal`) + """ + _schema = {'$ref': '#/definitions/treelinksTransform'} - groupby : oneOf(List(oneOf(:class:`scaleField`, :class:`paramField`, :class:`expr`)), - :class:`signal`) + def __init__(self, type=Undefined, signal=Undefined, **kwds): + super(treelinksTransform, self).__init__(type=type, signal=signal, **kwds) - maxsteps : anyOf(float, :class:`signal`) - minsteps : anyOf(float, :class:`signal`) +class treemapTransform(VegaSchema): + """treemapTransform schema wrapper - resolve : anyOf(enum('shared', 'independent'), :class:`signal`) + Mapping(required=[type]) - signal : string + Attributes + ---------- - steps : anyOf(float, :class:`signal`) + type : enum('treemap') - as : oneOf(List(anyOf(string, :class:`signal`)), :class:`signal`) + field : oneOf(:class:`scaleField`, :class:`paramField`, :class:`expr`) - """ - _schema = {'$ref': '#/defs/kdeTransform'} + method : anyOf(enum('squarify', 'resquarify', 'binary', 'dice', 'slice', 'slicedice'), + :class:`signalRef`) - def __init__(self, field=Undefined, type=Undefined, bandwidth=Undefined, counts=Undefined, - cumulative=Undefined, extent=Undefined, groupby=Undefined, maxsteps=Undefined, - minsteps=Undefined, resolve=Undefined, signal=Undefined, steps=Undefined, **kwds): - super(kdeTransform, self).__init__(field=field, type=type, bandwidth=bandwidth, counts=counts, - cumulative=cumulative, extent=extent, groupby=groupby, - maxsteps=maxsteps, minsteps=minsteps, resolve=resolve, - signal=signal, steps=steps, **kwds) + padding : anyOf(float, :class:`signalRef`) + paddingBottom : anyOf(float, :class:`signalRef`) -class lookupTransform(VegaSchema): - """lookupTransform schema wrapper + paddingInner : anyOf(float, :class:`signalRef`) - Mapping(required=[type, from, key, fields]) + paddingLeft : anyOf(float, :class:`signalRef`) - Attributes - ---------- + paddingOuter : anyOf(float, :class:`signalRef`) - fields : oneOf(List(oneOf(:class:`scaleField`, :class:`paramField`, :class:`expr`)), - :class:`signal`) + paddingRight : anyOf(float, :class:`signalRef`) - key : oneOf(:class:`scaleField`, :class:`paramField`, :class:`expr`) + paddingTop : anyOf(float, :class:`signalRef`) - type : enum('lookup') + ratio : anyOf(float, :class:`signalRef`) - default : Any + round : anyOf(boolean, :class:`signalRef`) signal : string - values : oneOf(List(oneOf(:class:`scaleField`, :class:`paramField`, :class:`expr`)), - :class:`signal`) + size : oneOf(List(anyOf(float, :class:`signalRef`)), :class:`signalRef`) - as : oneOf(List(anyOf(string, :class:`signal`)), :class:`signal`) + sort : :class:`compare` - from : string + as : oneOf(List(anyOf(string, :class:`signalRef`)), :class:`signalRef`) """ - _schema = {'$ref': '#/defs/lookupTransform'} + _schema = {'$ref': '#/definitions/treemapTransform'} - def __init__(self, fields=Undefined, key=Undefined, type=Undefined, default=Undefined, - signal=Undefined, values=Undefined, **kwds): - super(lookupTransform, self).__init__(fields=fields, key=key, type=type, default=default, - signal=signal, values=values, **kwds) + def __init__(self, type=Undefined, field=Undefined, method=Undefined, padding=Undefined, + paddingBottom=Undefined, paddingInner=Undefined, paddingLeft=Undefined, + paddingOuter=Undefined, paddingRight=Undefined, paddingTop=Undefined, ratio=Undefined, + round=Undefined, signal=Undefined, size=Undefined, sort=Undefined, **kwds): + super(treemapTransform, self).__init__(type=type, field=field, method=method, padding=padding, + paddingBottom=paddingBottom, paddingInner=paddingInner, + paddingLeft=paddingLeft, paddingOuter=paddingOuter, + paddingRight=paddingRight, paddingTop=paddingTop, + ratio=ratio, round=round, signal=signal, size=size, + sort=sort, **kwds) -class pivotTransform(VegaSchema): - """pivotTransform schema wrapper +class labelTransform(VegaSchema): + """labelTransform schema wrapper - Mapping(required=[type, field, value]) + Mapping(required=[type, size]) Attributes ---------- - field : oneOf(:class:`scaleField`, :class:`paramField`, :class:`expr`) - - type : enum('pivot') - - value : oneOf(:class:`scaleField`, :class:`paramField`, :class:`expr`) - - groupby : oneOf(List(oneOf(:class:`scaleField`, :class:`paramField`, :class:`expr`)), - :class:`signal`) - - key : oneOf(:class:`scaleField`, :class:`paramField`, :class:`expr`) - - limit : anyOf(float, :class:`signal`) - - op : anyOf(enum('values', 'count', '__count__', 'missing', 'valid', 'sum', 'product', - 'mean', 'average', 'variance', 'variancep', 'stdev', 'stdevp', 'stderr', 'distinct', 'ci0', - 'ci1', 'median', 'q1', 'q3', 'argmin', 'argmax', 'min', 'max'), :class:`signal`) + size : oneOf(List(anyOf(float, :class:`signalRef`)), :class:`signalRef`) - signal : string + type : enum('label') - """ - _schema = {'$ref': '#/defs/pivotTransform'} + anchor : oneOf(List(anyOf(string, :class:`signalRef`)), :class:`signalRef`) - def __init__(self, field=Undefined, type=Undefined, value=Undefined, groupby=Undefined, - key=Undefined, limit=Undefined, op=Undefined, signal=Undefined, **kwds): - super(pivotTransform, self).__init__(field=field, type=type, value=value, groupby=groupby, - key=key, limit=limit, op=op, signal=signal, **kwds) + avoidBaseMark : anyOf(boolean, :class:`signalRef`) + avoidMarks : oneOf(List(string), :class:`signalRef`) -class projectTransform(VegaSchema): - """projectTransform schema wrapper + lineAnchor : anyOf(string, :class:`signalRef`) - Mapping(required=[type]) + markIndex : anyOf(float, :class:`signalRef`) - Attributes - ---------- + method : anyOf(string, :class:`signalRef`) - type : enum('project') + offset : oneOf(List(anyOf(float, :class:`signalRef`)), :class:`signalRef`) - fields : oneOf(List(oneOf(:class:`scaleField`, :class:`paramField`, :class:`expr`)), - :class:`signal`) + padding : anyOf(float, :class:`signalRef`, None) signal : string - as : oneOf(List(anyOf(string, :class:`signal`, None)), :class:`signal`) + sort : :class:`compare` + + as : oneOf(List(anyOf(string, :class:`signalRef`)), :class:`signalRef`) """ - _schema = {'$ref': '#/defs/projectTransform'} + _schema = {'$ref': '#/definitions/labelTransform'} - def __init__(self, type=Undefined, fields=Undefined, signal=Undefined, **kwds): - super(projectTransform, self).__init__(type=type, fields=fields, signal=signal, **kwds) + def __init__(self, size=Undefined, type=Undefined, anchor=Undefined, avoidBaseMark=Undefined, + avoidMarks=Undefined, lineAnchor=Undefined, markIndex=Undefined, method=Undefined, + offset=Undefined, padding=Undefined, signal=Undefined, sort=Undefined, **kwds): + super(labelTransform, self).__init__(size=size, type=type, anchor=anchor, + avoidBaseMark=avoidBaseMark, avoidMarks=avoidMarks, + lineAnchor=lineAnchor, markIndex=markIndex, method=method, + offset=offset, padding=padding, signal=signal, sort=sort, + **kwds) -class quantileTransform(VegaSchema): - """quantileTransform schema wrapper +class loessTransform(VegaSchema): + """loessTransform schema wrapper - Mapping(required=[type, field]) + Mapping(required=[type, x, y]) Attributes ---------- - field : oneOf(:class:`scaleField`, :class:`paramField`, :class:`expr`) + type : enum('loess') - type : enum('quantile') + x : oneOf(:class:`scaleField`, :class:`paramField`, :class:`expr`) - groupby : oneOf(List(oneOf(:class:`scaleField`, :class:`paramField`, :class:`expr`)), - :class:`signal`) + y : oneOf(:class:`scaleField`, :class:`paramField`, :class:`expr`) - probs : oneOf(List(anyOf(float, :class:`signal`)), :class:`signal`) + bandwidth : anyOf(float, :class:`signalRef`) - signal : string + groupby : oneOf(List(oneOf(:class:`scaleField`, :class:`paramField`, :class:`expr`)), + :class:`signalRef`) - step : anyOf(float, :class:`signal`) + signal : string - as : oneOf(List(anyOf(string, :class:`signal`)), :class:`signal`) + as : oneOf(List(anyOf(string, :class:`signalRef`)), :class:`signalRef`) """ - _schema = {'$ref': '#/defs/quantileTransform'} + _schema = {'$ref': '#/definitions/loessTransform'} - def __init__(self, field=Undefined, type=Undefined, groupby=Undefined, probs=Undefined, - signal=Undefined, step=Undefined, **kwds): - super(quantileTransform, self).__init__(field=field, type=type, groupby=groupby, probs=probs, - signal=signal, step=step, **kwds) + def __init__(self, type=Undefined, x=Undefined, y=Undefined, bandwidth=Undefined, groupby=Undefined, + signal=Undefined, **kwds): + super(loessTransform, self).__init__(type=type, x=x, y=y, bandwidth=bandwidth, groupby=groupby, + signal=signal, **kwds) -class sampleTransform(VegaSchema): - """sampleTransform schema wrapper +class regressionTransform(VegaSchema): + """regressionTransform schema wrapper - Mapping(required=[type]) + Mapping(required=[type, x, y]) Attributes ---------- - type : enum('sample') - - signal : string - - size : anyOf(float, :class:`signal`) - - """ - _schema = {'$ref': '#/defs/sampleTransform'} - - def __init__(self, type=Undefined, signal=Undefined, size=Undefined, **kwds): - super(sampleTransform, self).__init__(type=type, signal=signal, size=size, **kwds) + type : enum('regression') + x : oneOf(:class:`scaleField`, :class:`paramField`, :class:`expr`) -class sequenceTransform(VegaSchema): - """sequenceTransform schema wrapper + y : oneOf(:class:`scaleField`, :class:`paramField`, :class:`expr`) - Mapping(required=[type, start, stop]) + extent : oneOf(List(anyOf(float, :class:`signalRef`)), :class:`signalRef`) - Attributes - ---------- + groupby : oneOf(List(oneOf(:class:`scaleField`, :class:`paramField`, :class:`expr`)), + :class:`signalRef`) - start : anyOf(float, :class:`signal`) + method : anyOf(string, :class:`signalRef`) - stop : anyOf(float, :class:`signal`) + order : anyOf(float, :class:`signalRef`) - type : enum('sequence') + params : anyOf(boolean, :class:`signalRef`) signal : string - step : anyOf(float, :class:`signal`) - - as : anyOf(string, :class:`signal`) + as : oneOf(List(anyOf(string, :class:`signalRef`)), :class:`signalRef`) """ - _schema = {'$ref': '#/defs/sequenceTransform'} + _schema = {'$ref': '#/definitions/regressionTransform'} - def __init__(self, start=Undefined, stop=Undefined, type=Undefined, signal=Undefined, - step=Undefined, **kwds): - super(sequenceTransform, self).__init__(start=start, stop=stop, type=type, signal=signal, - step=step, **kwds) + def __init__(self, type=Undefined, x=Undefined, y=Undefined, extent=Undefined, groupby=Undefined, + method=Undefined, order=Undefined, params=Undefined, signal=Undefined, **kwds): + super(regressionTransform, self).__init__(type=type, x=x, y=y, extent=extent, groupby=groupby, + method=method, order=order, params=params, + signal=signal, **kwds) -class timeunitTransform(VegaSchema): - """timeunitTransform schema wrapper +class aggregateTransform(VegaSchema): + """aggregateTransform schema wrapper - Mapping(required=[type, field]) + Mapping(required=[type]) Attributes ---------- - field : oneOf(:class:`scaleField`, :class:`paramField`, :class:`expr`) - - type : enum('timeunit') + type : enum('aggregate') - extent : oneOf(List(anyOf(float, :class:`signal`)), :class:`signal`) + cross : anyOf(boolean, :class:`signalRef`) - interval : anyOf(boolean, :class:`signal`) + drop : anyOf(boolean, :class:`signalRef`) - maxbins : anyOf(float, :class:`signal`) + fields : oneOf(List(oneOf(:class:`scaleField`, :class:`paramField`, :class:`expr`, None)), + :class:`signalRef`) - signal : string + groupby : oneOf(List(oneOf(:class:`scaleField`, :class:`paramField`, :class:`expr`)), + :class:`signalRef`) - step : anyOf(float, :class:`signal`) + key : oneOf(:class:`scaleField`, :class:`paramField`, :class:`expr`) - timezone : anyOf(enum('local', 'utc'), :class:`signal`) + ops : oneOf(List(anyOf(enum('values', 'count', '__count__', 'missing', 'valid', 'sum', + 'product', 'mean', 'average', 'variance', 'variancep', 'stdev', 'stdevp', 'stderr', + 'distinct', 'ci0', 'ci1', 'median', 'q1', 'q3', 'min', 'max', 'argmin', 'argmax'), + :class:`signalRef`)), :class:`signalRef`) - units : oneOf(List(anyOf(string, :class:`signal`)), :class:`signal`) + signal : string - as : oneOf(List(anyOf(string, :class:`signal`)), :class:`signal`) + as : oneOf(List(anyOf(string, :class:`signalRef`, None)), :class:`signalRef`) """ - _schema = {'$ref': '#/defs/timeunitTransform'} + _schema = {'$ref': '#/definitions/aggregateTransform'} - def __init__(self, field=Undefined, type=Undefined, extent=Undefined, interval=Undefined, - maxbins=Undefined, signal=Undefined, step=Undefined, timezone=Undefined, - units=Undefined, **kwds): - super(timeunitTransform, self).__init__(field=field, type=type, extent=extent, - interval=interval, maxbins=maxbins, signal=signal, - step=step, timezone=timezone, units=units, **kwds) + def __init__(self, type=Undefined, cross=Undefined, drop=Undefined, fields=Undefined, + groupby=Undefined, key=Undefined, ops=Undefined, signal=Undefined, **kwds): + super(aggregateTransform, self).__init__(type=type, cross=cross, drop=drop, fields=fields, + groupby=groupby, key=key, ops=ops, signal=signal, + **kwds) -class windowTransform(VegaSchema): - """windowTransform schema wrapper +class binTransform(VegaSchema): + """binTransform schema wrapper - Mapping(required=[type]) + Mapping(required=[type, field, extent]) Attributes ---------- - type : enum('window') + extent : oneOf(List(anyOf(float, :class:`signalRef`)), :class:`signalRef`) + + field : oneOf(:class:`scaleField`, :class:`paramField`, :class:`expr`) + + type : enum('bin') + + anchor : anyOf(float, :class:`signalRef`) - fields : oneOf(List(oneOf(:class:`scaleField`, :class:`paramField`, :class:`expr`, None)), - :class:`signal`) + base : anyOf(float, :class:`signalRef`) - frame : oneOf(List(anyOf(float, :class:`signal`, None)), :class:`signal`) + divide : oneOf(List(anyOf(float, :class:`signalRef`)), :class:`signalRef`) - groupby : oneOf(List(oneOf(:class:`scaleField`, :class:`paramField`, :class:`expr`)), - :class:`signal`) + interval : anyOf(boolean, :class:`signalRef`) - ignorePeers : anyOf(boolean, :class:`signal`) + maxbins : anyOf(float, :class:`signalRef`) - ops : oneOf(List(anyOf(enum('row_number', 'rank', 'dense_rank', 'percent_rank', 'cume_dist', - 'ntile', 'lag', 'lead', 'first_value', 'last_value', 'nth_value', 'prev_value', - 'next_value', 'values', 'count', '__count__', 'missing', 'valid', 'sum', 'product', 'mean', - 'average', 'variance', 'variancep', 'stdev', 'stdevp', 'stderr', 'distinct', 'ci0', 'ci1', - 'median', 'q1', 'q3', 'argmin', 'argmax', 'min', 'max'), :class:`signal`)), :class:`signal`) + minstep : anyOf(float, :class:`signalRef`) + + name : anyOf(string, :class:`signalRef`) - params : oneOf(List(anyOf(float, :class:`signal`, None)), :class:`signal`) + nice : anyOf(boolean, :class:`signalRef`) signal : string - sort : :class:`compare` + span : anyOf(float, :class:`signalRef`) + + step : anyOf(float, :class:`signalRef`) - as : oneOf(List(anyOf(string, :class:`signal`, None)), :class:`signal`) + steps : oneOf(List(anyOf(float, :class:`signalRef`)), :class:`signalRef`) + + as : oneOf(List(anyOf(string, :class:`signalRef`)), :class:`signalRef`) """ - _schema = {'$ref': '#/defs/windowTransform'} + _schema = {'$ref': '#/definitions/binTransform'} - def __init__(self, type=Undefined, fields=Undefined, frame=Undefined, groupby=Undefined, - ignorePeers=Undefined, ops=Undefined, params=Undefined, signal=Undefined, - sort=Undefined, **kwds): - super(windowTransform, self).__init__(type=type, fields=fields, frame=frame, groupby=groupby, - ignorePeers=ignorePeers, ops=ops, params=params, - signal=signal, sort=sort, **kwds) + def __init__(self, extent=Undefined, field=Undefined, type=Undefined, anchor=Undefined, + base=Undefined, divide=Undefined, interval=Undefined, maxbins=Undefined, + minstep=Undefined, name=Undefined, nice=Undefined, signal=Undefined, span=Undefined, + step=Undefined, steps=Undefined, **kwds): + super(binTransform, self).__init__(extent=extent, field=field, type=type, anchor=anchor, + base=base, divide=divide, interval=interval, maxbins=maxbins, + minstep=minstep, name=name, nice=nice, signal=signal, + span=span, step=step, steps=steps, **kwds) -class identifierTransform(VegaSchema): - """identifierTransform schema wrapper +class collectTransform(VegaSchema): + """collectTransform schema wrapper - Mapping(required=[type, as]) + Mapping(required=[type]) Attributes ---------- - type : enum('identifier') + type : enum('collect') signal : string - as : anyOf(string, :class:`signal`) + sort : :class:`compare` """ - _schema = {'$ref': '#/defs/identifierTransform'} + _schema = {'$ref': '#/definitions/collectTransform'} - def __init__(self, type=Undefined, signal=Undefined, **kwds): - super(identifierTransform, self).__init__(type=type, signal=signal, **kwds) + def __init__(self, type=Undefined, signal=Undefined, sort=Undefined, **kwds): + super(collectTransform, self).__init__(type=type, signal=signal, sort=sort, **kwds) -class voronoiTransform(VegaSchema): - """voronoiTransform schema wrapper +class countpatternTransform(VegaSchema): + """countpatternTransform schema wrapper - Mapping(required=[type, x, y]) + Mapping(required=[type, field]) Attributes ---------- - type : enum('voronoi') + field : oneOf(:class:`scaleField`, :class:`paramField`, :class:`expr`) - x : oneOf(:class:`scaleField`, :class:`paramField`, :class:`expr`) + type : enum('countpattern') - y : oneOf(:class:`scaleField`, :class:`paramField`, :class:`expr`) + case : anyOf(enum('upper', 'lower', 'mixed'), :class:`signalRef`) - extent : oneOf(List(Any), :class:`signal`) + pattern : anyOf(string, :class:`signalRef`) signal : string - size : oneOf(List(anyOf(float, :class:`signal`)), :class:`signal`) + stopwords : anyOf(string, :class:`signalRef`) - as : anyOf(string, :class:`signal`) + as : oneOf(List(anyOf(string, :class:`signalRef`)), :class:`signalRef`) """ - _schema = {'$ref': '#/defs/voronoiTransform'} + _schema = {'$ref': '#/definitions/countpatternTransform'} - def __init__(self, type=Undefined, x=Undefined, y=Undefined, extent=Undefined, signal=Undefined, - size=Undefined, **kwds): - super(voronoiTransform, self).__init__(type=type, x=x, y=y, extent=extent, signal=signal, - size=size, **kwds) + def __init__(self, field=Undefined, type=Undefined, case=Undefined, pattern=Undefined, + signal=Undefined, stopwords=Undefined, **kwds): + super(countpatternTransform, self).__init__(field=field, type=type, case=case, pattern=pattern, + signal=signal, stopwords=stopwords, **kwds) -class wordcloudTransform(VegaSchema): - """wordcloudTransform schema wrapper +class crossTransform(VegaSchema): + """crossTransform schema wrapper Mapping(required=[type]) Attributes ---------- - type : enum('wordcloud') - - font : anyOf(string, :class:`signal`, :class:`expr`, :class:`paramField`) - - fontSize : anyOf(float, :class:`signal`, :class:`expr`, :class:`paramField`) - - fontSizeRange : oneOf(List(anyOf(float, :class:`signal`)), :class:`signal`, None) - - fontStyle : anyOf(string, :class:`signal`, :class:`expr`, :class:`paramField`) - - fontWeight : anyOf(string, :class:`signal`, :class:`expr`, :class:`paramField`) - - padding : anyOf(float, :class:`signal`, :class:`expr`, :class:`paramField`) + type : enum('cross') - rotate : anyOf(float, :class:`signal`, :class:`expr`, :class:`paramField`) + filter : :class:`exprString` signal : string - size : oneOf(List(anyOf(float, :class:`signal`)), :class:`signal`) - - spiral : anyOf(string, :class:`signal`) - - text : oneOf(:class:`scaleField`, :class:`paramField`, :class:`expr`) - - as : oneOf(List(anyOf(string, :class:`signal`)), :class:`signal`) + as : oneOf(List(anyOf(string, :class:`signalRef`)), :class:`signalRef`) """ - _schema = {'$ref': '#/defs/wordcloudTransform'} - - def __init__(self, type=Undefined, font=Undefined, fontSize=Undefined, fontSizeRange=Undefined, - fontStyle=Undefined, fontWeight=Undefined, padding=Undefined, rotate=Undefined, - signal=Undefined, size=Undefined, spiral=Undefined, text=Undefined, **kwds): - super(wordcloudTransform, self).__init__(type=type, font=font, fontSize=fontSize, - fontSizeRange=fontSizeRange, fontStyle=fontStyle, - fontWeight=fontWeight, padding=padding, rotate=rotate, - signal=signal, size=size, spiral=spiral, text=text, - **kwds) + _schema = {'$ref': '#/definitions/crossTransform'} + def __init__(self, type=Undefined, filter=Undefined, signal=Undefined, **kwds): + super(crossTransform, self).__init__(type=type, filter=filter, signal=signal, **kwds) -class labelOverlap(VegaSchema): - """labelOverlap schema wrapper - oneOf(boolean, enum('parity', 'greedy'), :class:`signal`) - """ - _schema = {'$ref': '#/refs/labelOverlap'} +class densityTransform(VegaSchema): + """densityTransform schema wrapper - def __init__(self, *args, **kwds): - super(labelOverlap, self).__init__(*args, **kwds) + Mapping(required=[type]) + Attributes + ---------- -class tickBand(VegaSchema): - """tickBand schema wrapper + type : enum('density') - oneOf(enum('center', 'extent'), :class:`signal`) - """ - _schema = {'$ref': '#/refs/tickBand'} + distribution : oneOf(Mapping(required=[function]), Mapping(required=[function]), + Mapping(required=[function]), Mapping(required=[function, field]), + Mapping(required=[function])) - def __init__(self, *args, **kwds): - super(tickBand, self).__init__(*args, **kwds) + extent : oneOf(List(anyOf(float, :class:`signalRef`)), :class:`signalRef`) + maxsteps : anyOf(float, :class:`signalRef`) -class tickCount(VegaSchema): - """tickCount schema wrapper + method : anyOf(string, :class:`signalRef`) - oneOf(float, enum('millisecond', 'second', 'minute', 'hour', 'day', 'week', 'month', - 'year'), Mapping(required=[interval]), :class:`signal`) - """ - _schema = {'$ref': '#/refs/tickCount'} + minsteps : anyOf(float, :class:`signalRef`) - def __init__(self, *args, **kwds): - super(tickCount, self).__init__(*args, **kwds) + signal : string + steps : anyOf(float, :class:`signalRef`) -class element(VegaSchema): - """element schema wrapper + as : oneOf(List(anyOf(string, :class:`signalRef`)), :class:`signalRef`) - string """ - _schema = {'$ref': '#/refs/element'} + _schema = {'$ref': '#/definitions/densityTransform'} - def __init__(self, *args): - super(element, self).__init__(*args) + def __init__(self, type=Undefined, distribution=Undefined, extent=Undefined, maxsteps=Undefined, + method=Undefined, minsteps=Undefined, signal=Undefined, steps=Undefined, **kwds): + super(densityTransform, self).__init__(type=type, distribution=distribution, extent=extent, + maxsteps=maxsteps, method=method, minsteps=minsteps, + signal=signal, steps=steps, **kwds) -class paramField(VegaSchema): - """paramField schema wrapper +class dotbinTransform(VegaSchema): + """dotbinTransform schema wrapper - Mapping(required=[field]) + Mapping(required=[type, field]) Attributes ---------- - field : string - - as : string - - """ - _schema = {'$ref': '#/refs/paramField'} - - def __init__(self, field=Undefined, **kwds): - super(paramField, self).__init__(field=field, **kwds) + field : oneOf(:class:`scaleField`, :class:`paramField`, :class:`expr`) + type : enum('dotbin') -class field(VegaSchema): - """field schema wrapper + groupby : oneOf(List(oneOf(:class:`scaleField`, :class:`paramField`, :class:`expr`)), + :class:`signalRef`) - oneOf(string, :class:`signal`, Mapping(required=[datum]), Mapping(required=[group]), - Mapping(required=[parent])) - """ - _schema = {'$ref': '#/refs/field'} + signal : string - def __init__(self, *args, **kwds): - super(field, self).__init__(*args, **kwds) + smooth : anyOf(boolean, :class:`signalRef`) + step : anyOf(float, :class:`signalRef`) -class scale(VegaSchema): - """scale schema wrapper + as : anyOf(string, :class:`signalRef`) - oneOf(string, :class:`signal`, Mapping(required=[datum]), Mapping(required=[group]), - Mapping(required=[parent])) """ - _schema = {'$ref': '#/refs/scale'} + _schema = {'$ref': '#/definitions/dotbinTransform'} - def __init__(self, *args, **kwds): - super(scale, self).__init__(*args, **kwds) + def __init__(self, field=Undefined, type=Undefined, groupby=Undefined, signal=Undefined, + smooth=Undefined, step=Undefined, **kwds): + super(dotbinTransform, self).__init__(field=field, type=type, groupby=groupby, signal=signal, + smooth=smooth, step=step, **kwds) -class stringModifiers(VegaSchema): - """stringModifiers schema wrapper +class extentTransform(VegaSchema): + """extentTransform schema wrapper - Mapping(required=[]) + Mapping(required=[type, field]) Attributes ---------- - scale : :class:`scale` + field : oneOf(:class:`scaleField`, :class:`paramField`, :class:`expr`) + + type : enum('extent') + + signal : string """ - _schema = {'$ref': '#/refs/stringModifiers'} + _schema = {'$ref': '#/definitions/extentTransform'} - def __init__(self, scale=Undefined, **kwds): - super(stringModifiers, self).__init__(scale=scale, **kwds) + def __init__(self, field=Undefined, type=Undefined, signal=Undefined, **kwds): + super(extentTransform, self).__init__(field=field, type=type, signal=signal, **kwds) -class numberModifiers(VegaSchema): - """numberModifiers schema wrapper +class filterTransform(VegaSchema): + """filterTransform schema wrapper - Mapping(required=[]) + Mapping(required=[type, expr]) Attributes ---------- - band : oneOf(float, boolean) - - exponent : oneOf(float, :class:`numberValue`) - - extra : boolean - - mult : oneOf(float, :class:`numberValue`) - - offset : oneOf(float, :class:`numberValue`) + expr : :class:`exprString` - round : boolean + type : enum('filter') - scale : :class:`scale` + signal : string """ - _schema = {'$ref': '#/refs/numberModifiers'} - - def __init__(self, band=Undefined, exponent=Undefined, extra=Undefined, mult=Undefined, - offset=Undefined, round=Undefined, scale=Undefined, **kwds): - super(numberModifiers, self).__init__(band=band, exponent=exponent, extra=extra, mult=mult, - offset=offset, round=round, scale=scale, **kwds) + _schema = {'$ref': '#/definitions/filterTransform'} + def __init__(self, expr=Undefined, type=Undefined, signal=Undefined, **kwds): + super(filterTransform, self).__init__(expr=expr, type=type, signal=signal, **kwds) -class anyValue(VegaSchema): - """anyValue schema wrapper - oneOf(List(allOf(:class:`rule`, allOf(:class:`stringModifiers`, anyOf(oneOf(:class:`signal`, - Mapping(required=[value]), Mapping(required=[field]), Mapping(required=[range])), - Mapping(required=[scale, value]), Mapping(required=[scale, band]), - Mapping(required=[offset]))))), allOf(:class:`stringModifiers`, anyOf(oneOf(:class:`signal`, - Mapping(required=[value]), Mapping(required=[field]), Mapping(required=[range])), - Mapping(required=[scale, value]), Mapping(required=[scale, band]), - Mapping(required=[offset])))) - """ - _schema = {'$ref': '#/refs/anyValue'} +class flattenTransform(VegaSchema): + """flattenTransform schema wrapper - def __init__(self, *args, **kwds): - super(anyValue, self).__init__(*args, **kwds) + Mapping(required=[type, fields]) + Attributes + ---------- -class blendValue(VegaSchema): - """blendValue schema wrapper + fields : oneOf(List(oneOf(:class:`scaleField`, :class:`paramField`, :class:`expr`)), + :class:`signalRef`) - oneOf(List(allOf(:class:`rule`, allOf(:class:`stringModifiers`, anyOf(oneOf(:class:`signal`, - Mapping(required=[value]), Mapping(required=[field]), Mapping(required=[range])), - Mapping(required=[scale, value]), Mapping(required=[scale, band]), - Mapping(required=[offset]))))), allOf(:class:`stringModifiers`, anyOf(oneOf(:class:`signal`, - Mapping(required=[value]), Mapping(required=[field]), Mapping(required=[range])), - Mapping(required=[scale, value]), Mapping(required=[scale, band]), - Mapping(required=[offset])))) - """ - _schema = {'$ref': '#/refs/blendValue'} + type : enum('flatten') - def __init__(self, *args, **kwds): - super(blendValue, self).__init__(*args, **kwds) + index : anyOf(string, :class:`signalRef`) + signal : string -class numberValue(VegaSchema): - """numberValue schema wrapper + as : oneOf(List(anyOf(string, :class:`signalRef`)), :class:`signalRef`) - oneOf(List(allOf(:class:`rule`, allOf(:class:`numberModifiers`, anyOf(oneOf(:class:`signal`, - Mapping(required=[value]), Mapping(required=[field]), Mapping(required=[range])), - Mapping(required=[scale, value]), Mapping(required=[scale, band]), - Mapping(required=[offset]))))), allOf(:class:`numberModifiers`, anyOf(oneOf(:class:`signal`, - Mapping(required=[value]), Mapping(required=[field]), Mapping(required=[range])), - Mapping(required=[scale, value]), Mapping(required=[scale, band]), - Mapping(required=[offset])))) """ - _schema = {'$ref': '#/refs/numberValue'} - - def __init__(self, *args, **kwds): - super(numberValue, self).__init__(*args, **kwds) + _schema = {'$ref': '#/definitions/flattenTransform'} + def __init__(self, fields=Undefined, type=Undefined, index=Undefined, signal=Undefined, **kwds): + super(flattenTransform, self).__init__(fields=fields, type=type, index=index, signal=signal, + **kwds) -class stringValue(VegaSchema): - """stringValue schema wrapper - - oneOf(List(allOf(:class:`rule`, allOf(:class:`stringModifiers`, anyOf(oneOf(:class:`signal`, - Mapping(required=[value]), Mapping(required=[field]), Mapping(required=[range])), - Mapping(required=[scale, value]), Mapping(required=[scale, band]), - Mapping(required=[offset]))))), allOf(:class:`stringModifiers`, anyOf(oneOf(:class:`signal`, - Mapping(required=[value]), Mapping(required=[field]), Mapping(required=[range])), - Mapping(required=[scale, value]), Mapping(required=[scale, band]), - Mapping(required=[offset])))) - """ - _schema = {'$ref': '#/refs/stringValue'} - def __init__(self, *args, **kwds): - super(stringValue, self).__init__(*args, **kwds) +class foldTransform(VegaSchema): + """foldTransform schema wrapper + Mapping(required=[type, fields]) -class textValue(VegaSchema): - """textValue schema wrapper + Attributes + ---------- - oneOf(List(allOf(:class:`rule`, allOf(:class:`stringModifiers`, anyOf(oneOf(:class:`signal`, - Mapping(required=[value]), Mapping(required=[field]), Mapping(required=[range])), - Mapping(required=[scale, value]), Mapping(required=[scale, band]), - Mapping(required=[offset]))))), allOf(:class:`stringModifiers`, anyOf(oneOf(:class:`signal`, - Mapping(required=[value]), Mapping(required=[field]), Mapping(required=[range])), - Mapping(required=[scale, value]), Mapping(required=[scale, band]), - Mapping(required=[offset])))) - """ - _schema = {'$ref': '#/refs/textValue'} + fields : oneOf(List(oneOf(:class:`scaleField`, :class:`paramField`, :class:`expr`)), + :class:`signalRef`) - def __init__(self, *args, **kwds): - super(textValue, self).__init__(*args, **kwds) + type : enum('fold') + signal : string -class booleanValue(VegaSchema): - """booleanValue schema wrapper + as : oneOf(List(anyOf(string, :class:`signalRef`)), :class:`signalRef`) - oneOf(List(allOf(:class:`rule`, allOf(:class:`stringModifiers`, anyOf(oneOf(:class:`signal`, - Mapping(required=[value]), Mapping(required=[field]), Mapping(required=[range])), - Mapping(required=[scale, value]), Mapping(required=[scale, band]), - Mapping(required=[offset]))))), allOf(:class:`stringModifiers`, anyOf(oneOf(:class:`signal`, - Mapping(required=[value]), Mapping(required=[field]), Mapping(required=[range])), - Mapping(required=[scale, value]), Mapping(required=[scale, band]), - Mapping(required=[offset])))) """ - _schema = {'$ref': '#/refs/booleanValue'} - - def __init__(self, *args, **kwds): - super(booleanValue, self).__init__(*args, **kwds) + _schema = {'$ref': '#/definitions/foldTransform'} + def __init__(self, fields=Undefined, type=Undefined, signal=Undefined, **kwds): + super(foldTransform, self).__init__(fields=fields, type=type, signal=signal, **kwds) -class arrayValue(VegaSchema): - """arrayValue schema wrapper - oneOf(List(allOf(:class:`rule`, allOf(:class:`stringModifiers`, anyOf(oneOf(:class:`signal`, - Mapping(required=[value]), Mapping(required=[field]), Mapping(required=[range])), - Mapping(required=[scale, value]), Mapping(required=[scale, band]), - Mapping(required=[offset]))))), allOf(:class:`stringModifiers`, anyOf(oneOf(:class:`signal`, - Mapping(required=[value]), Mapping(required=[field]), Mapping(required=[range])), - Mapping(required=[scale, value]), Mapping(required=[scale, band]), - Mapping(required=[offset])))) - """ - _schema = {'$ref': '#/refs/arrayValue'} +class formulaTransform(VegaSchema): + """formulaTransform schema wrapper - def __init__(self, *args, **kwds): - super(arrayValue, self).__init__(*args, **kwds) + Mapping(required=[type, expr, as]) + Attributes + ---------- -class fontWeightValue(VegaSchema): - """fontWeightValue schema wrapper + expr : :class:`exprString` - oneOf(List(allOf(:class:`rule`, allOf(:class:`stringModifiers`, anyOf(oneOf(:class:`signal`, - Mapping(required=[value]), Mapping(required=[field]), Mapping(required=[range])), - Mapping(required=[scale, value]), Mapping(required=[scale, band]), - Mapping(required=[offset]))))), allOf(:class:`stringModifiers`, anyOf(oneOf(:class:`signal`, - Mapping(required=[value]), Mapping(required=[field]), Mapping(required=[range])), - Mapping(required=[scale, value]), Mapping(required=[scale, band]), - Mapping(required=[offset])))) - """ - _schema = {'$ref': '#/refs/fontWeightValue'} + type : enum('formula') - def __init__(self, *args, **kwds): - super(fontWeightValue, self).__init__(*args, **kwds) + initonly : anyOf(boolean, :class:`signalRef`) + signal : string -class anchorValue(VegaSchema): - """anchorValue schema wrapper + as : anyOf(string, :class:`signalRef`) - oneOf(List(allOf(:class:`rule`, allOf(:class:`stringModifiers`, anyOf(oneOf(:class:`signal`, - Mapping(required=[value]), Mapping(required=[field]), Mapping(required=[range])), - Mapping(required=[scale, value]), Mapping(required=[scale, band]), - Mapping(required=[offset]))))), allOf(:class:`stringModifiers`, anyOf(oneOf(:class:`signal`, - Mapping(required=[value]), Mapping(required=[field]), Mapping(required=[range])), - Mapping(required=[scale, value]), Mapping(required=[scale, band]), - Mapping(required=[offset])))) """ - _schema = {'$ref': '#/refs/anchorValue'} - - def __init__(self, *args, **kwds): - super(anchorValue, self).__init__(*args, **kwds) + _schema = {'$ref': '#/definitions/formulaTransform'} + def __init__(self, expr=Undefined, type=Undefined, initonly=Undefined, signal=Undefined, **kwds): + super(formulaTransform, self).__init__(expr=expr, type=type, initonly=initonly, signal=signal, + **kwds) -class alignValue(VegaSchema): - """alignValue schema wrapper - - oneOf(List(allOf(:class:`rule`, allOf(:class:`stringModifiers`, anyOf(oneOf(:class:`signal`, - Mapping(required=[value]), Mapping(required=[field]), Mapping(required=[range])), - Mapping(required=[scale, value]), Mapping(required=[scale, band]), - Mapping(required=[offset]))))), allOf(:class:`stringModifiers`, anyOf(oneOf(:class:`signal`, - Mapping(required=[value]), Mapping(required=[field]), Mapping(required=[range])), - Mapping(required=[scale, value]), Mapping(required=[scale, band]), - Mapping(required=[offset])))) - """ - _schema = {'$ref': '#/refs/alignValue'} - def __init__(self, *args, **kwds): - super(alignValue, self).__init__(*args, **kwds) +class imputeTransform(VegaSchema): + """imputeTransform schema wrapper + Mapping(required=[type, field, key]) -class baselineValue(VegaSchema): - """baselineValue schema wrapper + Attributes + ---------- - oneOf(List(allOf(:class:`rule`, allOf(:class:`stringModifiers`, anyOf(oneOf(:class:`signal`, - Mapping(required=[value]), Mapping(required=[field]), Mapping(required=[range])), - Mapping(required=[scale, value]), Mapping(required=[scale, band]), - Mapping(required=[offset]))))), allOf(:class:`stringModifiers`, anyOf(oneOf(:class:`signal`, - Mapping(required=[value]), Mapping(required=[field]), Mapping(required=[range])), - Mapping(required=[scale, value]), Mapping(required=[scale, band]), - Mapping(required=[offset])))) - """ - _schema = {'$ref': '#/refs/baselineValue'} + field : oneOf(:class:`scaleField`, :class:`paramField`, :class:`expr`) - def __init__(self, *args, **kwds): - super(baselineValue, self).__init__(*args, **kwds) + key : oneOf(:class:`scaleField`, :class:`paramField`, :class:`expr`) + type : enum('impute') -class directionValue(VegaSchema): - """directionValue schema wrapper + groupby : oneOf(List(oneOf(:class:`scaleField`, :class:`paramField`, :class:`expr`)), + :class:`signalRef`) - oneOf(List(allOf(:class:`rule`, allOf(:class:`stringModifiers`, anyOf(oneOf(:class:`signal`, - Mapping(required=[value]), Mapping(required=[field]), Mapping(required=[range])), - Mapping(required=[scale, value]), Mapping(required=[scale, band]), - Mapping(required=[offset]))))), allOf(:class:`stringModifiers`, anyOf(oneOf(:class:`signal`, - Mapping(required=[value]), Mapping(required=[field]), Mapping(required=[range])), - Mapping(required=[scale, value]), Mapping(required=[scale, band]), - Mapping(required=[offset])))) - """ - _schema = {'$ref': '#/refs/directionValue'} + keyvals : oneOf(List(Any), :class:`signalRef`) - def __init__(self, *args, **kwds): - super(directionValue, self).__init__(*args, **kwds) + method : anyOf(enum('value', 'mean', 'median', 'max', 'min'), :class:`signalRef`) + signal : string -class orientValue(VegaSchema): - """orientValue schema wrapper + value : Any - oneOf(List(allOf(:class:`rule`, allOf(:class:`stringModifiers`, anyOf(oneOf(:class:`signal`, - Mapping(required=[value]), Mapping(required=[field]), Mapping(required=[range])), - Mapping(required=[scale, value]), Mapping(required=[scale, band]), - Mapping(required=[offset]))))), allOf(:class:`stringModifiers`, anyOf(oneOf(:class:`signal`, - Mapping(required=[value]), Mapping(required=[field]), Mapping(required=[range])), - Mapping(required=[scale, value]), Mapping(required=[scale, band]), - Mapping(required=[offset])))) """ - _schema = {'$ref': '#/refs/orientValue'} + _schema = {'$ref': '#/definitions/imputeTransform'} - def __init__(self, *args, **kwds): - super(orientValue, self).__init__(*args, **kwds) + def __init__(self, field=Undefined, key=Undefined, type=Undefined, groupby=Undefined, + keyvals=Undefined, method=Undefined, signal=Undefined, value=Undefined, **kwds): + super(imputeTransform, self).__init__(field=field, key=key, type=type, groupby=groupby, + keyvals=keyvals, method=method, signal=signal, + value=value, **kwds) -class strokeCapValue(VegaSchema): - """strokeCapValue schema wrapper +class joinaggregateTransform(VegaSchema): + """joinaggregateTransform schema wrapper - oneOf(List(allOf(:class:`rule`, allOf(:class:`stringModifiers`, anyOf(oneOf(:class:`signal`, - Mapping(required=[value]), Mapping(required=[field]), Mapping(required=[range])), - Mapping(required=[scale, value]), Mapping(required=[scale, band]), - Mapping(required=[offset]))))), allOf(:class:`stringModifiers`, anyOf(oneOf(:class:`signal`, - Mapping(required=[value]), Mapping(required=[field]), Mapping(required=[range])), - Mapping(required=[scale, value]), Mapping(required=[scale, band]), - Mapping(required=[offset])))) - """ - _schema = {'$ref': '#/refs/strokeCapValue'} + Mapping(required=[type]) - def __init__(self, *args, **kwds): - super(strokeCapValue, self).__init__(*args, **kwds) + Attributes + ---------- + type : enum('joinaggregate') -class strokeJoinValue(VegaSchema): - """strokeJoinValue schema wrapper + fields : oneOf(List(oneOf(:class:`scaleField`, :class:`paramField`, :class:`expr`, None)), + :class:`signalRef`) - oneOf(List(allOf(:class:`rule`, allOf(:class:`stringModifiers`, anyOf(oneOf(:class:`signal`, - Mapping(required=[value]), Mapping(required=[field]), Mapping(required=[range])), - Mapping(required=[scale, value]), Mapping(required=[scale, band]), - Mapping(required=[offset]))))), allOf(:class:`stringModifiers`, anyOf(oneOf(:class:`signal`, - Mapping(required=[value]), Mapping(required=[field]), Mapping(required=[range])), - Mapping(required=[scale, value]), Mapping(required=[scale, band]), - Mapping(required=[offset])))) - """ - _schema = {'$ref': '#/refs/strokeJoinValue'} + groupby : oneOf(List(oneOf(:class:`scaleField`, :class:`paramField`, :class:`expr`)), + :class:`signalRef`) - def __init__(self, *args, **kwds): - super(strokeJoinValue, self).__init__(*args, **kwds) + key : oneOf(:class:`scaleField`, :class:`paramField`, :class:`expr`) + ops : oneOf(List(anyOf(enum('values', 'count', '__count__', 'missing', 'valid', 'sum', + 'product', 'mean', 'average', 'variance', 'variancep', 'stdev', 'stdevp', 'stderr', + 'distinct', 'ci0', 'ci1', 'median', 'q1', 'q3', 'min', 'max', 'argmin', 'argmax'), + :class:`signalRef`)), :class:`signalRef`) -class baseColorValue(VegaSchema): - """baseColorValue schema wrapper + signal : string + + as : oneOf(List(anyOf(string, :class:`signalRef`, None)), :class:`signalRef`) - oneOf(allOf(:class:`stringModifiers`, anyOf(oneOf(:class:`signal`, - Mapping(required=[value]), Mapping(required=[field]), Mapping(required=[range])), - Mapping(required=[scale, value]), Mapping(required=[scale, band]), - Mapping(required=[offset]))), Mapping(required=[value]), Mapping(required=[value]), - Mapping(required=[gradient]), Mapping(required=[color])) """ - _schema = {'$ref': '#/refs/baseColorValue'} + _schema = {'$ref': '#/definitions/joinaggregateTransform'} - def __init__(self, *args, **kwds): - super(baseColorValue, self).__init__(*args, **kwds) + def __init__(self, type=Undefined, fields=Undefined, groupby=Undefined, key=Undefined, + ops=Undefined, signal=Undefined, **kwds): + super(joinaggregateTransform, self).__init__(type=type, fields=fields, groupby=groupby, key=key, + ops=ops, signal=signal, **kwds) -class colorRGB(VegaSchema): - """colorRGB schema wrapper +class kdeTransform(VegaSchema): + """kdeTransform schema wrapper - Mapping(required=[r, g, b]) + Mapping(required=[type, field]) Attributes ---------- - b : :class:`numberValue` + field : oneOf(:class:`scaleField`, :class:`paramField`, :class:`expr`) - g : :class:`numberValue` + type : enum('kde') - r : :class:`numberValue` + bandwidth : anyOf(float, :class:`signalRef`) - """ - _schema = {'$ref': '#/refs/colorRGB'} + counts : anyOf(boolean, :class:`signalRef`) - def __init__(self, b=Undefined, g=Undefined, r=Undefined, **kwds): - super(colorRGB, self).__init__(b=b, g=g, r=r, **kwds) + cumulative : anyOf(boolean, :class:`signalRef`) + extent : oneOf(List(anyOf(float, :class:`signalRef`)), :class:`signalRef`) -class colorHSL(VegaSchema): - """colorHSL schema wrapper + groupby : oneOf(List(oneOf(:class:`scaleField`, :class:`paramField`, :class:`expr`)), + :class:`signalRef`) - Mapping(required=[h, s, l]) + maxsteps : anyOf(float, :class:`signalRef`) - Attributes - ---------- + minsteps : anyOf(float, :class:`signalRef`) - h : :class:`numberValue` + resolve : anyOf(enum('shared', 'independent'), :class:`signalRef`) - l : :class:`numberValue` + signal : string - s : :class:`numberValue` + steps : anyOf(float, :class:`signalRef`) + + as : oneOf(List(anyOf(string, :class:`signalRef`)), :class:`signalRef`) """ - _schema = {'$ref': '#/refs/colorHSL'} + _schema = {'$ref': '#/definitions/kdeTransform'} - def __init__(self, h=Undefined, l=Undefined, s=Undefined, **kwds): - super(colorHSL, self).__init__(h=h, l=l, s=s, **kwds) + def __init__(self, field=Undefined, type=Undefined, bandwidth=Undefined, counts=Undefined, + cumulative=Undefined, extent=Undefined, groupby=Undefined, maxsteps=Undefined, + minsteps=Undefined, resolve=Undefined, signal=Undefined, steps=Undefined, **kwds): + super(kdeTransform, self).__init__(field=field, type=type, bandwidth=bandwidth, counts=counts, + cumulative=cumulative, extent=extent, groupby=groupby, + maxsteps=maxsteps, minsteps=minsteps, resolve=resolve, + signal=signal, steps=steps, **kwds) -class colorLAB(VegaSchema): - """colorLAB schema wrapper +class lookupTransform(VegaSchema): + """lookupTransform schema wrapper - Mapping(required=[l, a, b]) + Mapping(required=[type, from, key, fields]) Attributes ---------- - a : :class:`numberValue` - - b : :class:`numberValue` + fields : oneOf(List(oneOf(:class:`scaleField`, :class:`paramField`, :class:`expr`)), + :class:`signalRef`) - l : :class:`numberValue` + key : oneOf(:class:`scaleField`, :class:`paramField`, :class:`expr`) - """ - _schema = {'$ref': '#/refs/colorLAB'} + type : enum('lookup') - def __init__(self, a=Undefined, b=Undefined, l=Undefined, **kwds): - super(colorLAB, self).__init__(a=a, b=b, l=l, **kwds) + default : Any + signal : string -class colorHCL(VegaSchema): - """colorHCL schema wrapper + values : oneOf(List(oneOf(:class:`scaleField`, :class:`paramField`, :class:`expr`)), + :class:`signalRef`) - Mapping(required=[h, c, l]) + as : oneOf(List(anyOf(string, :class:`signalRef`)), :class:`signalRef`) - Attributes - ---------- + from : string - c : :class:`numberValue` + """ + _schema = {'$ref': '#/definitions/lookupTransform'} - h : :class:`numberValue` + def __init__(self, fields=Undefined, key=Undefined, type=Undefined, default=Undefined, + signal=Undefined, values=Undefined, **kwds): + super(lookupTransform, self).__init__(fields=fields, key=key, type=type, default=default, + signal=signal, values=values, **kwds) - l : :class:`numberValue` - """ - _schema = {'$ref': '#/refs/colorHCL'} +class pivotTransform(VegaSchema): + """pivotTransform schema wrapper - def __init__(self, c=Undefined, h=Undefined, l=Undefined, **kwds): - super(colorHCL, self).__init__(c=c, h=h, l=l, **kwds) + Mapping(required=[type, field, value]) + Attributes + ---------- -class colorValue(VegaSchema): - """colorValue schema wrapper + field : oneOf(:class:`scaleField`, :class:`paramField`, :class:`expr`) - oneOf(List(allOf(:class:`rule`, :class:`baseColorValue`)), :class:`baseColorValue`) - """ - _schema = {'$ref': '#/refs/colorValue'} + type : enum('pivot') - def __init__(self, *args, **kwds): - super(colorValue, self).__init__(*args, **kwds) + value : oneOf(:class:`scaleField`, :class:`paramField`, :class:`expr`) + groupby : oneOf(List(oneOf(:class:`scaleField`, :class:`paramField`, :class:`expr`)), + :class:`signalRef`) -class gradientStops(VegaSchema): - """gradientStops schema wrapper + key : oneOf(:class:`scaleField`, :class:`paramField`, :class:`expr`) - List(Mapping(required=[offset, color])) - """ - _schema = {'$ref': '#/refs/gradientStops'} + limit : anyOf(float, :class:`signalRef`) - def __init__(self, *args): - super(gradientStops, self).__init__(*args) + op : anyOf(enum('values', 'count', '__count__', 'missing', 'valid', 'sum', 'product', + 'mean', 'average', 'variance', 'variancep', 'stdev', 'stdevp', 'stderr', 'distinct', 'ci0', + 'ci1', 'median', 'q1', 'q3', 'min', 'max', 'argmin', 'argmax'), :class:`signalRef`) + signal : string -class linearGradient(VegaSchema): - """linearGradient schema wrapper + """ + _schema = {'$ref': '#/definitions/pivotTransform'} - Mapping(required=[gradient, stops]) + def __init__(self, field=Undefined, type=Undefined, value=Undefined, groupby=Undefined, + key=Undefined, limit=Undefined, op=Undefined, signal=Undefined, **kwds): + super(pivotTransform, self).__init__(field=field, type=type, value=value, groupby=groupby, + key=key, limit=limit, op=op, signal=signal, **kwds) - Attributes - ---------- - gradient : enum('linear') +class projectTransform(VegaSchema): + """projectTransform schema wrapper - stops : :class:`gradientStops` + Mapping(required=[type]) - id : string + Attributes + ---------- - x1 : float + type : enum('project') - x2 : float + fields : oneOf(List(oneOf(:class:`scaleField`, :class:`paramField`, :class:`expr`)), + :class:`signalRef`) - y1 : float + signal : string - y2 : float + as : oneOf(List(anyOf(string, :class:`signalRef`, None)), :class:`signalRef`) """ - _schema = {'$ref': '#/refs/linearGradient'} + _schema = {'$ref': '#/definitions/projectTransform'} - def __init__(self, gradient=Undefined, stops=Undefined, id=Undefined, x1=Undefined, x2=Undefined, - y1=Undefined, y2=Undefined, **kwds): - super(linearGradient, self).__init__(gradient=gradient, stops=stops, id=id, x1=x1, x2=x2, y1=y1, - y2=y2, **kwds) + def __init__(self, type=Undefined, fields=Undefined, signal=Undefined, **kwds): + super(projectTransform, self).__init__(type=type, fields=fields, signal=signal, **kwds) -class radialGradient(VegaSchema): - """radialGradient schema wrapper +class quantileTransform(VegaSchema): + """quantileTransform schema wrapper - Mapping(required=[gradient, stops]) + Mapping(required=[type, field]) Attributes ---------- - gradient : enum('radial') - - stops : :class:`gradientStops` - - id : string + field : oneOf(:class:`scaleField`, :class:`paramField`, :class:`expr`) - r1 : float + type : enum('quantile') - r2 : float + groupby : oneOf(List(oneOf(:class:`scaleField`, :class:`paramField`, :class:`expr`)), + :class:`signalRef`) - x1 : float + probs : oneOf(List(anyOf(float, :class:`signalRef`)), :class:`signalRef`) - x2 : float + signal : string - y1 : float + step : anyOf(float, :class:`signalRef`) - y2 : float + as : oneOf(List(anyOf(string, :class:`signalRef`)), :class:`signalRef`) """ - _schema = {'$ref': '#/refs/radialGradient'} + _schema = {'$ref': '#/definitions/quantileTransform'} - def __init__(self, gradient=Undefined, stops=Undefined, id=Undefined, r1=Undefined, r2=Undefined, - x1=Undefined, x2=Undefined, y1=Undefined, y2=Undefined, **kwds): - super(radialGradient, self).__init__(gradient=gradient, stops=stops, id=id, r1=r1, r2=r2, x1=x1, - x2=x2, y1=y1, y2=y2, **kwds) + def __init__(self, field=Undefined, type=Undefined, groupby=Undefined, probs=Undefined, + signal=Undefined, step=Undefined, **kwds): + super(quantileTransform, self).__init__(field=field, type=type, groupby=groupby, probs=probs, + signal=signal, step=step, **kwds) -class expr(VegaSchema): - """expr schema wrapper +class sampleTransform(VegaSchema): + """sampleTransform schema wrapper - Mapping(required=[expr]) + Mapping(required=[type]) Attributes ---------- - expr : string - - as : string - - """ - _schema = {'$ref': '#/refs/expr'} - - def __init__(self, expr=Undefined, **kwds): - super(expr, self).__init__(expr=expr, **kwds) + type : enum('sample') + signal : string -class exprString(VegaSchema): - """exprString schema wrapper + size : anyOf(float, :class:`signalRef`) - string """ - _schema = {'$ref': '#/refs/exprString'} + _schema = {'$ref': '#/definitions/sampleTransform'} - def __init__(self, *args): - super(exprString, self).__init__(*args) + def __init__(self, type=Undefined, signal=Undefined, size=Undefined, **kwds): + super(sampleTransform, self).__init__(type=type, signal=signal, size=size, **kwds) -class compare(VegaSchema): - """compare schema wrapper +class sequenceTransform(VegaSchema): + """sequenceTransform schema wrapper - oneOf(Mapping(required=[]), Mapping(required=[])) - """ - _schema = {'$ref': '#/refs/compare'} + Mapping(required=[type, start, stop]) - def __init__(self, *args, **kwds): - super(compare, self).__init__(*args, **kwds) + Attributes + ---------- + start : anyOf(float, :class:`signalRef`) -class from_(VegaSchema): - """from_ schema wrapper + stop : anyOf(float, :class:`signalRef`) - Mapping(required=[]) + type : enum('sequence') - Attributes - ---------- + signal : string - data : string + step : anyOf(float, :class:`signalRef`) + + as : anyOf(string, :class:`signalRef`) """ - _schema = {'$ref': '#/refs/from'} + _schema = {'$ref': '#/definitions/sequenceTransform'} - def __init__(self, data=Undefined, **kwds): - super(from_, self).__init__(data=data, **kwds) + def __init__(self, start=Undefined, stop=Undefined, type=Undefined, signal=Undefined, + step=Undefined, **kwds): + super(sequenceTransform, self).__init__(start=start, stop=stop, type=type, signal=signal, + step=step, **kwds) -class facet(VegaSchema): - """facet schema wrapper +class timeunitTransform(VegaSchema): + """timeunitTransform schema wrapper - Mapping(required=[facet]) + Mapping(required=[type, field]) Attributes ---------- - facet : oneOf(Mapping(required=[name, data, field]), Mapping(required=[name, data, - groupby])) + field : oneOf(:class:`scaleField`, :class:`paramField`, :class:`expr`) - data : string + type : enum('timeunit') - """ - _schema = {'$ref': '#/refs/facet'} + extent : oneOf(List(anyOf(float, :class:`signalRef`)), :class:`signalRef`) - def __init__(self, facet=Undefined, data=Undefined, **kwds): - super(facet, self).__init__(facet=facet, data=data, **kwds) + interval : anyOf(boolean, :class:`signalRef`) + maxbins : anyOf(float, :class:`signalRef`) -class markclip(VegaSchema): - """markclip schema wrapper + signal : string - oneOf(:class:`booleanOrSignal`, Mapping(required=[path]), Mapping(required=[sphere])) - """ - _schema = {'$ref': '#/refs/markclip'} + step : anyOf(float, :class:`signalRef`) - def __init__(self, *args, **kwds): - super(markclip, self).__init__(*args, **kwds) + timezone : anyOf(enum('local', 'utc'), :class:`signalRef`) + units : oneOf(List(anyOf(enum('year', 'quarter', 'month', 'week', 'date', 'day', + 'dayofyear', 'hours', 'minutes', 'seconds', 'milliseconds'), :class:`signalRef`)), + :class:`signalRef`) -class style(VegaSchema): - """style schema wrapper + as : oneOf(List(anyOf(string, :class:`signalRef`)), :class:`signalRef`) - oneOf(string, List(string)) """ - _schema = {'$ref': '#/refs/style'} + _schema = {'$ref': '#/definitions/timeunitTransform'} - def __init__(self, *args, **kwds): - super(style, self).__init__(*args, **kwds) + def __init__(self, field=Undefined, type=Undefined, extent=Undefined, interval=Undefined, + maxbins=Undefined, signal=Undefined, step=Undefined, timezone=Undefined, + units=Undefined, **kwds): + super(timeunitTransform, self).__init__(field=field, type=type, extent=extent, + interval=interval, maxbins=maxbins, signal=signal, + step=step, timezone=timezone, units=units, **kwds) -class marktype(VegaSchema): - """marktype schema wrapper +class windowTransform(VegaSchema): + """windowTransform schema wrapper - string - """ - _schema = {'$ref': '#/refs/marktype'} + Mapping(required=[type]) - def __init__(self, *args): - super(marktype, self).__init__(*args) + Attributes + ---------- + type : enum('window') -class scaleField(VegaSchema): - """scaleField schema wrapper + fields : oneOf(List(oneOf(:class:`scaleField`, :class:`paramField`, :class:`expr`, None)), + :class:`signalRef`) - oneOf(string, :class:`signal`) - """ - _schema = {'$ref': '#/refs/scaleField'} + frame : oneOf(List(anyOf(float, :class:`signalRef`, None)), :class:`signalRef`) - def __init__(self, *args, **kwds): - super(scaleField, self).__init__(*args, **kwds) + groupby : oneOf(List(oneOf(:class:`scaleField`, :class:`paramField`, :class:`expr`)), + :class:`signalRef`) + ignorePeers : anyOf(boolean, :class:`signalRef`) -class sortOrder(VegaSchema): - """sortOrder schema wrapper + ops : oneOf(List(anyOf(enum('row_number', 'rank', 'dense_rank', 'percent_rank', 'cume_dist', + 'ntile', 'lag', 'lead', 'first_value', 'last_value', 'nth_value', 'prev_value', + 'next_value', 'values', 'count', '__count__', 'missing', 'valid', 'sum', 'product', 'mean', + 'average', 'variance', 'variancep', 'stdev', 'stdevp', 'stderr', 'distinct', 'ci0', 'ci1', + 'median', 'q1', 'q3', 'min', 'max', 'argmin', 'argmax'), :class:`signalRef`)), + :class:`signalRef`) - oneOf(enum('ascending', 'descending'), :class:`signal`) - """ - _schema = {'$ref': '#/refs/sortOrder'} + params : oneOf(List(anyOf(float, :class:`signalRef`, None)), :class:`signalRef`) - def __init__(self, *args, **kwds): - super(sortOrder, self).__init__(*args, **kwds) + signal : string + sort : :class:`compare` -class scaleBins(VegaSchema): - """scaleBins schema wrapper + as : oneOf(List(anyOf(string, :class:`signalRef`, None)), :class:`signalRef`) - oneOf(List(:class:`numberOrSignal`), Mapping(required=[step]), :class:`signal`) """ - _schema = {'$ref': '#/refs/scaleBins'} + _schema = {'$ref': '#/definitions/windowTransform'} - def __init__(self, *args, **kwds): - super(scaleBins, self).__init__(*args, **kwds) + def __init__(self, type=Undefined, fields=Undefined, frame=Undefined, groupby=Undefined, + ignorePeers=Undefined, ops=Undefined, params=Undefined, signal=Undefined, + sort=Undefined, **kwds): + super(windowTransform, self).__init__(type=type, fields=fields, frame=frame, groupby=groupby, + ignorePeers=ignorePeers, ops=ops, params=params, + signal=signal, sort=sort, **kwds) -class scaleInterpolate(VegaSchema): - """scaleInterpolate schema wrapper +class identifierTransform(VegaSchema): + """identifierTransform schema wrapper - oneOf(string, :class:`signal`, Mapping(required=[type])) - """ - _schema = {'$ref': '#/refs/scaleInterpolate'} + Mapping(required=[type, as]) - def __init__(self, *args, **kwds): - super(scaleInterpolate, self).__init__(*args, **kwds) + Attributes + ---------- + type : enum('identifier') -class scaleData(VegaSchema): - """scaleData schema wrapper + signal : string + + as : anyOf(string, :class:`signalRef`) - oneOf(Mapping(required=[data, field]), Mapping(required=[data, fields]), - Mapping(required=[fields])) """ - _schema = {'$ref': '#/refs/scaleData'} + _schema = {'$ref': '#/definitions/identifierTransform'} - def __init__(self, *args, **kwds): - super(scaleData, self).__init__(*args, **kwds) + def __init__(self, type=Undefined, signal=Undefined, **kwds): + super(identifierTransform, self).__init__(type=type, signal=signal, **kwds) -class selector(VegaSchema): - """selector schema wrapper +class voronoiTransform(VegaSchema): + """voronoiTransform schema wrapper - string - """ - _schema = {'$ref': '#/refs/selector'} + Mapping(required=[type, x, y]) - def __init__(self, *args): - super(selector, self).__init__(*args) + Attributes + ---------- + type : enum('voronoi') -class signal(VegaSchema): - """signal schema wrapper + x : oneOf(:class:`scaleField`, :class:`paramField`, :class:`expr`) - Mapping(required=[signal]) + y : oneOf(:class:`scaleField`, :class:`paramField`, :class:`expr`) - Attributes - ---------- + extent : oneOf(List(Any), :class:`signalRef`) signal : string - """ - _schema = {'$ref': '#/refs/signal'} + size : oneOf(List(anyOf(float, :class:`signalRef`)), :class:`signalRef`) - def __init__(self, signal=Undefined, **kwds): - super(signal, self).__init__(signal=signal, **kwds) + as : anyOf(string, :class:`signalRef`) + """ + _schema = {'$ref': '#/definitions/voronoiTransform'} -class arrayOrSignal(VegaSchema): - """arrayOrSignal schema wrapper + def __init__(self, type=Undefined, x=Undefined, y=Undefined, extent=Undefined, signal=Undefined, + size=Undefined, **kwds): + super(voronoiTransform, self).__init__(type=type, x=x, y=y, extent=extent, signal=signal, + size=size, **kwds) - oneOf(List(Any), :class:`signal`) - """ - _schema = {'$ref': '#/refs/arrayOrSignal'} - def __init__(self, *args, **kwds): - super(arrayOrSignal, self).__init__(*args, **kwds) +class wordcloudTransform(VegaSchema): + """wordcloudTransform schema wrapper + Mapping(required=[type]) -class booleanOrSignal(VegaSchema): - """booleanOrSignal schema wrapper + Attributes + ---------- - oneOf(boolean, :class:`signal`) - """ - _schema = {'$ref': '#/refs/booleanOrSignal'} + type : enum('wordcloud') - def __init__(self, *args, **kwds): - super(booleanOrSignal, self).__init__(*args, **kwds) + font : anyOf(string, :class:`signalRef`, :class:`expr`, :class:`paramField`) + fontSize : anyOf(float, :class:`signalRef`, :class:`expr`, :class:`paramField`) -class numberOrSignal(VegaSchema): - """numberOrSignal schema wrapper + fontSizeRange : oneOf(List(anyOf(float, :class:`signalRef`)), :class:`signalRef`, None) - oneOf(float, :class:`signal`) - """ - _schema = {'$ref': '#/refs/numberOrSignal'} + fontStyle : anyOf(string, :class:`signalRef`, :class:`expr`, :class:`paramField`) - def __init__(self, *args, **kwds): - super(numberOrSignal, self).__init__(*args, **kwds) + fontWeight : anyOf(string, :class:`signalRef`, :class:`expr`, :class:`paramField`) + padding : anyOf(float, :class:`signalRef`, :class:`expr`, :class:`paramField`) -class stringOrSignal(VegaSchema): - """stringOrSignal schema wrapper + rotate : anyOf(float, :class:`signalRef`, :class:`expr`, :class:`paramField`) - oneOf(string, :class:`signal`) - """ - _schema = {'$ref': '#/refs/stringOrSignal'} + signal : string - def __init__(self, *args, **kwds): - super(stringOrSignal, self).__init__(*args, **kwds) + size : oneOf(List(anyOf(float, :class:`signalRef`)), :class:`signalRef`) + spiral : anyOf(string, :class:`signalRef`) -class textOrSignal(VegaSchema): - """textOrSignal schema wrapper + text : oneOf(:class:`scaleField`, :class:`paramField`, :class:`expr`) + + as : oneOf(List(anyOf(string, :class:`signalRef`)), :class:`signalRef`) - oneOf(oneOf(string, List(string)), :class:`signal`) """ - _schema = {'$ref': '#/refs/textOrSignal'} + _schema = {'$ref': '#/definitions/wordcloudTransform'} - def __init__(self, *args, **kwds): - super(textOrSignal, self).__init__(*args, **kwds) + def __init__(self, type=Undefined, font=Undefined, fontSize=Undefined, fontSizeRange=Undefined, + fontStyle=Undefined, fontWeight=Undefined, padding=Undefined, rotate=Undefined, + signal=Undefined, size=Undefined, spiral=Undefined, text=Undefined, **kwds): + super(wordcloudTransform, self).__init__(type=type, font=font, fontSize=fontSize, + fontSizeRange=fontSizeRange, fontStyle=fontStyle, + fontWeight=fontWeight, padding=padding, rotate=rotate, + signal=signal, size=size, spiral=spiral, text=text, + **kwds) diff --git a/altair/vega/v5/schema/vega-schema.json b/altair/vega/v5/schema/vega-schema.json index f428db3c9..f7b8fa90c 100644 --- a/altair/vega/v5/schema/vega-schema.json +++ b/altair/vega/v5/schema/vega-schema.json @@ -1,7 +1,7 @@ { - "$schema": "http://json-schema.org/draft-06/schema#", + "$schema": "http://json-schema.org/draft-07/schema#", "title": "Vega Visualization Specification Language", - "defs": { + "definitions": { "autosize": { "oneOf": [ { @@ -43,7 +43,7 @@ "additionalProperties": false }, { - "$ref": "#/refs/signal" + "$ref": "#/definitions/signalRef" } ] }, @@ -51,11 +51,18 @@ "type": "object", "properties": { "orient": { - "enum": [ - "top", - "bottom", - "left", - "right" + "oneOf": [ + { + "enum": [ + "top", + "bottom", + "left", + "right" + ] + }, + { + "$ref": "#/definitions/signalRef" + } ] }, "scale": { @@ -103,7 +110,7 @@ "additionalProperties": false }, { - "$ref": "#/refs/signal" + "$ref": "#/definitions/signalRef" } ] }, @@ -117,7 +124,7 @@ ] }, { - "$ref": "#/refs/signal" + "$ref": "#/definitions/signalRef" } ] }, @@ -127,7 +134,7 @@ "type": "number" }, { - "$ref": "#/refs/numberValue" + "$ref": "#/definitions/numberValue" } ] }, @@ -137,7 +144,7 @@ "type": "number" }, { - "$ref": "#/refs/numberValue" + "$ref": "#/definitions/numberValue" } ] }, @@ -147,7 +154,7 @@ "type": "number" }, { - "$ref": "#/refs/numberValue" + "$ref": "#/definitions/numberValue" } ] }, @@ -157,7 +164,7 @@ "type": "number" }, { - "$ref": "#/refs/numberValue" + "$ref": "#/definitions/numberValue" } ] }, @@ -167,21 +174,34 @@ "type": "number" }, { - "$ref": "#/refs/numberValue" + "$ref": "#/definitions/numberValue" } ] }, "translate": { - "type": "number" + "oneOf": [ + { + "type": "number" + }, + { + "$ref": "#/definitions/numberValue" + } + ] }, "values": { - "$ref": "#/refs/arrayOrSignal" + "$ref": "#/definitions/arrayOrSignal" }, "zindex": { "type": "number" }, + "aria": { + "type": "boolean" + }, + "description": { + "type": "string" + }, "title": { - "$ref": "#/refs/textOrSignal" + "$ref": "#/definitions/textOrSignal" }, "titlePadding": { "oneOf": [ @@ -189,7 +209,7 @@ "type": "number" }, { - "$ref": "#/refs/numberValue" + "$ref": "#/definitions/numberValue" } ] }, @@ -203,7 +223,7 @@ ] }, { - "$ref": "#/refs/alignValue" + "$ref": "#/definitions/alignValue" } ] }, @@ -218,7 +238,7 @@ ] }, { - "$ref": "#/refs/anchorValue" + "$ref": "#/definitions/anchorValue" } ] }, @@ -228,7 +248,7 @@ "type": "number" }, { - "$ref": "#/refs/numberValue" + "$ref": "#/definitions/numberValue" } ] }, @@ -238,7 +258,7 @@ "type": "number" }, { - "$ref": "#/refs/numberValue" + "$ref": "#/definitions/numberValue" } ] }, @@ -248,7 +268,7 @@ "type": "number" }, { - "$ref": "#/refs/numberValue" + "$ref": "#/definitions/numberValue" } ] }, @@ -265,7 +285,7 @@ ] }, { - "$ref": "#/refs/baselineValue" + "$ref": "#/definitions/baselineValue" } ] }, @@ -278,7 +298,7 @@ "type": "string" }, { - "$ref": "#/refs/colorValue" + "$ref": "#/definitions/colorValue" } ] }, @@ -288,7 +308,7 @@ "type": "string" }, { - "$ref": "#/refs/stringValue" + "$ref": "#/definitions/stringValue" } ] }, @@ -298,7 +318,7 @@ "type": "number" }, { - "$ref": "#/refs/numberValue" + "$ref": "#/definitions/numberValue" } ] }, @@ -308,7 +328,7 @@ "type": "string" }, { - "$ref": "#/refs/stringValue" + "$ref": "#/definitions/stringValue" } ] }, @@ -342,7 +362,7 @@ ] }, { - "$ref": "#/refs/fontWeightValue" + "$ref": "#/definitions/fontWeightValue" } ] }, @@ -352,7 +372,7 @@ "type": "number" }, { - "$ref": "#/refs/numberValue" + "$ref": "#/definitions/numberValue" } ] }, @@ -362,7 +382,7 @@ "type": "number" }, { - "$ref": "#/refs/numberValue" + "$ref": "#/definitions/numberValue" } ] }, @@ -372,13 +392,23 @@ "type": "number" }, { - "$ref": "#/refs/numberValue" + "$ref": "#/definitions/numberValue" } ] }, "domain": { "type": "boolean" }, + "domainCap": { + "oneOf": [ + { + "type": "string" + }, + { + "$ref": "#/definitions/stringValue" + } + ] + }, "domainColor": { "oneOf": [ { @@ -388,7 +418,7 @@ "type": "string" }, { - "$ref": "#/refs/colorValue" + "$ref": "#/definitions/colorValue" } ] }, @@ -401,7 +431,7 @@ } }, { - "$ref": "#/refs/arrayValue" + "$ref": "#/definitions/arrayValue" } ] }, @@ -411,7 +441,7 @@ "type": "number" }, { - "$ref": "#/refs/numberValue" + "$ref": "#/definitions/numberValue" } ] }, @@ -421,7 +451,7 @@ "type": "number" }, { - "$ref": "#/refs/numberValue" + "$ref": "#/definitions/numberValue" } ] }, @@ -431,7 +461,7 @@ "type": "number" }, { - "$ref": "#/refs/numberValue" + "$ref": "#/definitions/numberValue" } ] }, @@ -439,7 +469,17 @@ "type": "boolean" }, "tickBand": { - "$ref": "#/refs/tickBand" + "$ref": "#/definitions/tickBand" + }, + "tickCap": { + "oneOf": [ + { + "type": "string" + }, + { + "$ref": "#/definitions/stringValue" + } + ] }, "tickColor": { "oneOf": [ @@ -450,7 +490,7 @@ "type": "string" }, { - "$ref": "#/refs/colorValue" + "$ref": "#/definitions/colorValue" } ] }, @@ -463,7 +503,7 @@ } }, { - "$ref": "#/refs/arrayValue" + "$ref": "#/definitions/arrayValue" } ] }, @@ -473,7 +513,7 @@ "type": "number" }, { - "$ref": "#/refs/numberValue" + "$ref": "#/definitions/numberValue" } ] }, @@ -483,7 +523,7 @@ "type": "number" }, { - "$ref": "#/refs/numberValue" + "$ref": "#/definitions/numberValue" } ] }, @@ -493,7 +533,7 @@ "type": "number" }, { - "$ref": "#/refs/numberValue" + "$ref": "#/definitions/numberValue" } ] }, @@ -503,7 +543,7 @@ "type": "boolean" }, { - "$ref": "#/refs/booleanValue" + "$ref": "#/definitions/booleanValue" } ] }, @@ -513,7 +553,7 @@ "type": "number" }, { - "$ref": "#/refs/numberValue" + "$ref": "#/definitions/numberValue" } ] }, @@ -523,18 +563,18 @@ "type": "number" }, { - "$ref": "#/refs/numberValue" + "$ref": "#/definitions/numberValue" } ] }, "tickCount": { - "$ref": "#/refs/tickCount" + "$ref": "#/definitions/tickCount" }, "tickExtra": { - "$ref": "#/refs/booleanOrSignal" + "$ref": "#/definitions/booleanOrSignal" }, "tickMinStep": { - "$ref": "#/refs/numberOrSignal" + "$ref": "#/definitions/numberOrSignal" }, "grid": { "type": "boolean" @@ -542,6 +582,16 @@ "gridScale": { "type": "string" }, + "gridCap": { + "oneOf": [ + { + "type": "string" + }, + { + "$ref": "#/definitions/stringValue" + } + ] + }, "gridColor": { "oneOf": [ { @@ -551,7 +601,7 @@ "type": "string" }, { - "$ref": "#/refs/colorValue" + "$ref": "#/definitions/colorValue" } ] }, @@ -564,7 +614,7 @@ } }, { - "$ref": "#/refs/arrayValue" + "$ref": "#/definitions/arrayValue" } ] }, @@ -574,7 +624,7 @@ "type": "number" }, { - "$ref": "#/refs/numberValue" + "$ref": "#/definitions/numberValue" } ] }, @@ -584,7 +634,7 @@ "type": "number" }, { - "$ref": "#/refs/numberValue" + "$ref": "#/definitions/numberValue" } ] }, @@ -594,7 +644,7 @@ "type": "number" }, { - "$ref": "#/refs/numberValue" + "$ref": "#/definitions/numberValue" } ] }, @@ -611,7 +661,7 @@ ] }, { - "$ref": "#/refs/alignValue" + "$ref": "#/definitions/alignValue" } ] }, @@ -628,7 +678,7 @@ ] }, { - "$ref": "#/refs/baselineValue" + "$ref": "#/definitions/baselineValue" } ] }, @@ -641,7 +691,7 @@ "type": "number" }, { - "$ref": "#/refs/signal" + "$ref": "#/definitions/signalRef" } ] }, @@ -654,15 +704,15 @@ "type": "number" }, { - "$ref": "#/refs/signal" + "$ref": "#/definitions/signalRef" } ] }, "labelFlushOffset": { - "$ref": "#/refs/numberOrSignal" + "$ref": "#/definitions/numberOrSignal" }, "labelOverlap": { - "$ref": "#/refs/labelOverlap" + "$ref": "#/definitions/labelOverlap" }, "labelAngle": { "oneOf": [ @@ -670,7 +720,7 @@ "type": "number" }, { - "$ref": "#/refs/numberValue" + "$ref": "#/definitions/numberValue" } ] }, @@ -683,7 +733,7 @@ "type": "string" }, { - "$ref": "#/refs/colorValue" + "$ref": "#/definitions/colorValue" } ] }, @@ -693,7 +743,7 @@ "type": "string" }, { - "$ref": "#/refs/stringValue" + "$ref": "#/definitions/stringValue" } ] }, @@ -703,7 +753,7 @@ "type": "number" }, { - "$ref": "#/refs/numberValue" + "$ref": "#/definitions/numberValue" } ] }, @@ -737,7 +787,7 @@ ] }, { - "$ref": "#/refs/fontWeightValue" + "$ref": "#/definitions/fontWeightValue" } ] }, @@ -747,7 +797,7 @@ "type": "string" }, { - "$ref": "#/refs/stringValue" + "$ref": "#/definitions/stringValue" } ] }, @@ -757,7 +807,7 @@ "type": "number" }, { - "$ref": "#/refs/numberValue" + "$ref": "#/definitions/numberValue" } ] }, @@ -767,7 +817,7 @@ "type": "number" }, { - "$ref": "#/refs/numberValue" + "$ref": "#/definitions/numberValue" } ] }, @@ -777,7 +827,7 @@ "type": "number" }, { - "$ref": "#/refs/numberValue" + "$ref": "#/definitions/numberValue" } ] }, @@ -787,7 +837,7 @@ "type": "number" }, { - "$ref": "#/refs/numberValue" + "$ref": "#/definitions/numberValue" } ] }, @@ -797,33 +847,33 @@ "type": "number" }, { - "$ref": "#/refs/numberValue" + "$ref": "#/definitions/numberValue" } ] }, "labelSeparation": { - "$ref": "#/refs/numberOrSignal" + "$ref": "#/definitions/numberOrSignal" }, "encode": { "type": "object", "properties": { "axis": { - "$ref": "#/defs/guideEncode" + "$ref": "#/definitions/guideEncode" }, "ticks": { - "$ref": "#/defs/guideEncode" + "$ref": "#/definitions/guideEncode" }, "labels": { - "$ref": "#/defs/guideEncode" + "$ref": "#/definitions/guideEncode" }, "title": { - "$ref": "#/defs/guideEncode" + "$ref": "#/definitions/guideEncode" }, "grid": { - "$ref": "#/defs/guideEncode" + "$ref": "#/definitions/guideEncode" }, "domain": { - "$ref": "#/defs/guideEncode" + "$ref": "#/definitions/guideEncode" } }, "additionalProperties": false @@ -835,8 +885,90 @@ ], "additionalProperties": false }, + "labelOverlap": { + "oneOf": [ + { + "type": "boolean" + }, + { + "enum": [ + "parity", + "greedy" + ] + }, + { + "$ref": "#/definitions/signalRef" + } + ] + }, + "tickBand": { + "oneOf": [ + { + "enum": [ + "center", + "extent" + ] + }, + { + "$ref": "#/definitions/signalRef" + } + ] + }, + "tickCount": { + "oneOf": [ + { + "type": "number" + }, + { + "enum": [ + "millisecond", + "second", + "minute", + "hour", + "day", + "week", + "month", + "year" + ] + }, + { + "type": "object", + "properties": { + "interval": { + "oneOf": [ + { + "enum": [ + "millisecond", + "second", + "minute", + "hour", + "day", + "week", + "month", + "year" + ] + }, + { + "$ref": "#/definitions/signalRef" + } + ] + }, + "step": { + "$ref": "#/definitions/numberOrSignal" + } + }, + "required": [ + "interval" + ], + "additionalProperties": false + }, + { + "$ref": "#/definitions/signalRef" + } + ] + }, "background": { - "$ref": "#/refs/stringOrSignal" + "$ref": "#/definitions/stringOrSignal" }, "bind": { "oneOf": [ @@ -849,7 +981,7 @@ ] }, "element": { - "$ref": "#/refs/element" + "$ref": "#/definitions/element" }, "debounce": { "type": "number" @@ -873,7 +1005,7 @@ ] }, "element": { - "$ref": "#/refs/element" + "$ref": "#/definitions/element" }, "options": { "type": "array" @@ -906,7 +1038,7 @@ ] }, "element": { - "$ref": "#/refs/element" + "$ref": "#/definitions/element" }, "min": { "type": "number" @@ -943,7 +1075,7 @@ } }, "element": { - "$ref": "#/refs/element" + "$ref": "#/definitions/element" }, "debounce": { "type": "number" @@ -956,9 +1088,30 @@ "input" ], "additionalProperties": true + }, + { + "type": "object", + "properties": { + "element": { + "$ref": "#/definitions/element" + }, + "event": { + "type": "string" + }, + "debounce": { + "type": "number" + } + }, + "required": [ + "element" + ], + "additionalProperties": false } ] }, + "element": { + "type": "string" + }, "data": { "oneOf": [ { @@ -970,11 +1123,11 @@ "transform": { "type": "array", "items": { - "$ref": "#/defs/transform" + "$ref": "#/definitions/transform" } }, "on": { - "$ref": "#/defs/onTrigger" + "$ref": "#/definitions/onTrigger" } }, "required": [ @@ -1005,11 +1158,11 @@ "transform": { "type": "array", "items": { - "$ref": "#/defs/transform" + "$ref": "#/definitions/transform" } }, "on": { - "$ref": "#/defs/onTrigger" + "$ref": "#/definitions/onTrigger" } }, "required": [ @@ -1022,7 +1175,7 @@ "type": "object", "properties": { "url": { - "$ref": "#/refs/stringOrSignal" + "$ref": "#/definitions/stringOrSignal" }, "format": { "oneOf": [ @@ -1032,7 +1185,7 @@ "type": "object", "properties": { "type": { - "$ref": "#/refs/stringOrSignal" + "$ref": "#/definitions/stringOrSignal" }, "parse": { "oneOf": [ @@ -1062,7 +1215,7 @@ } }, { - "$ref": "#/refs/signal" + "$ref": "#/definitions/signalRef" } ] } @@ -1104,15 +1257,15 @@ } }, { - "$ref": "#/refs/signal" + "$ref": "#/definitions/signalRef" } ] }, "property": { - "$ref": "#/refs/stringOrSignal" + "$ref": "#/definitions/stringOrSignal" }, "copy": { - "$ref": "#/refs/booleanOrSignal" + "$ref": "#/definitions/booleanOrSignal" } }, "additionalProperties": false @@ -1160,7 +1313,7 @@ } }, { - "$ref": "#/refs/signal" + "$ref": "#/definitions/signalRef" } ] } @@ -1215,7 +1368,7 @@ } }, { - "$ref": "#/refs/signal" + "$ref": "#/definitions/signalRef" } ] } @@ -1237,10 +1390,10 @@ ] }, "feature": { - "$ref": "#/refs/stringOrSignal" + "$ref": "#/definitions/stringOrSignal" }, "property": { - "$ref": "#/refs/stringOrSignal" + "$ref": "#/definitions/stringOrSignal" } }, "required": [ @@ -1258,10 +1411,10 @@ ] }, "mesh": { - "$ref": "#/refs/stringOrSignal" + "$ref": "#/definitions/stringOrSignal" }, "property": { - "$ref": "#/refs/stringOrSignal" + "$ref": "#/definitions/stringOrSignal" }, "filter": { "enum": [ @@ -1282,12 +1435,12 @@ ] }, { - "$ref": "#/refs/signal" + "$ref": "#/definitions/signalRef" } ] }, "async": { - "$ref": "#/refs/booleanOrSignal" + "$ref": "#/definitions/booleanOrSignal" }, "name": { "type": "string" @@ -1295,11 +1448,11 @@ "transform": { "type": "array", "items": { - "$ref": "#/defs/transform" + "$ref": "#/definitions/transform" } }, "on": { - "$ref": "#/defs/onTrigger" + "$ref": "#/definitions/onTrigger" } }, "required": [ @@ -1315,7 +1468,7 @@ "oneOf": [ {}, { - "$ref": "#/refs/signal" + "$ref": "#/definitions/signalRef" } ] }, @@ -1327,7 +1480,7 @@ "type": "object", "properties": { "type": { - "$ref": "#/refs/stringOrSignal" + "$ref": "#/definitions/stringOrSignal" }, "parse": { "oneOf": [ @@ -1357,7 +1510,7 @@ } }, { - "$ref": "#/refs/signal" + "$ref": "#/definitions/signalRef" } ] } @@ -1399,15 +1552,15 @@ } }, { - "$ref": "#/refs/signal" + "$ref": "#/definitions/signalRef" } ] }, "property": { - "$ref": "#/refs/stringOrSignal" + "$ref": "#/definitions/stringOrSignal" }, "copy": { - "$ref": "#/refs/booleanOrSignal" + "$ref": "#/definitions/booleanOrSignal" } }, "additionalProperties": false @@ -1455,7 +1608,7 @@ } }, { - "$ref": "#/refs/signal" + "$ref": "#/definitions/signalRef" } ] } @@ -1510,7 +1663,7 @@ } }, { - "$ref": "#/refs/signal" + "$ref": "#/definitions/signalRef" } ] } @@ -1532,10 +1685,10 @@ ] }, "feature": { - "$ref": "#/refs/stringOrSignal" + "$ref": "#/definitions/stringOrSignal" }, "property": { - "$ref": "#/refs/stringOrSignal" + "$ref": "#/definitions/stringOrSignal" } }, "required": [ @@ -1553,10 +1706,10 @@ ] }, "mesh": { - "$ref": "#/refs/stringOrSignal" + "$ref": "#/definitions/stringOrSignal" }, "property": { - "$ref": "#/refs/stringOrSignal" + "$ref": "#/definitions/stringOrSignal" }, "filter": { "enum": [ @@ -1577,12 +1730,12 @@ ] }, { - "$ref": "#/refs/signal" + "$ref": "#/definitions/signalRef" } ] }, "async": { - "$ref": "#/refs/booleanOrSignal" + "$ref": "#/definitions/booleanOrSignal" }, "name": { "type": "string" @@ -1590,11 +1743,11 @@ "transform": { "type": "array", "items": { - "$ref": "#/defs/transform" + "$ref": "#/definitions/transform" } }, "on": { - "$ref": "#/defs/onTrigger" + "$ref": "#/definitions/onTrigger" } }, "required": [ @@ -1605,6 +1758,21 @@ } ] }, + "paramField": { + "type": "object", + "properties": { + "field": { + "type": "string" + }, + "as": { + "type": "string" + } + }, + "required": [ + "field" + ], + "additionalProperties": false + }, "rule": { "type": "object", "properties": { @@ -1617,199 +1785,211 @@ "type": "object", "properties": { "x": { - "$ref": "#/refs/numberValue" + "$ref": "#/definitions/numberValue" }, "x2": { - "$ref": "#/refs/numberValue" + "$ref": "#/definitions/numberValue" }, "xc": { - "$ref": "#/refs/numberValue" + "$ref": "#/definitions/numberValue" }, "width": { - "$ref": "#/refs/numberValue" + "$ref": "#/definitions/numberValue" }, "y": { - "$ref": "#/refs/numberValue" + "$ref": "#/definitions/numberValue" }, "y2": { - "$ref": "#/refs/numberValue" + "$ref": "#/definitions/numberValue" }, "yc": { - "$ref": "#/refs/numberValue" + "$ref": "#/definitions/numberValue" }, "height": { - "$ref": "#/refs/numberValue" + "$ref": "#/definitions/numberValue" }, "opacity": { - "$ref": "#/refs/numberValue" + "$ref": "#/definitions/numberValue" }, "fill": { - "$ref": "#/refs/colorValue" + "$ref": "#/definitions/colorValue" }, "fillOpacity": { - "$ref": "#/refs/numberValue" + "$ref": "#/definitions/numberValue" }, "stroke": { - "$ref": "#/refs/colorValue" + "$ref": "#/definitions/colorValue" }, "strokeOpacity": { - "$ref": "#/refs/numberValue" + "$ref": "#/definitions/numberValue" }, "strokeWidth": { - "$ref": "#/refs/numberValue" + "$ref": "#/definitions/numberValue" }, "strokeCap": { - "$ref": "#/refs/strokeCapValue" + "$ref": "#/definitions/strokeCapValue" }, "strokeDash": { - "$ref": "#/refs/arrayValue" + "$ref": "#/definitions/arrayValue" }, "strokeDashOffset": { - "$ref": "#/refs/numberValue" + "$ref": "#/definitions/numberValue" }, "strokeJoin": { - "$ref": "#/refs/strokeJoinValue" + "$ref": "#/definitions/strokeJoinValue" }, "strokeMiterLimit": { - "$ref": "#/refs/numberValue" + "$ref": "#/definitions/numberValue" }, "blend": { - "$ref": "#/refs/blendValue" + "$ref": "#/definitions/blendValue" }, "cursor": { - "$ref": "#/refs/stringValue" + "$ref": "#/definitions/stringValue" }, "tooltip": { - "$ref": "#/refs/anyValue" + "$ref": "#/definitions/anyValue" }, "zindex": { - "$ref": "#/refs/numberValue" + "$ref": "#/definitions/numberValue" + }, + "description": { + "$ref": "#/definitions/stringValue" + }, + "aria": { + "$ref": "#/definitions/booleanValue" + }, + "ariaRole": { + "$ref": "#/definitions/stringValue" + }, + "ariaRoleDescription": { + "$ref": "#/definitions/stringValue" }, "clip": { - "$ref": "#/refs/booleanValue" + "$ref": "#/definitions/booleanValue" }, "strokeForeground": { - "$ref": "#/refs/booleanValue" + "$ref": "#/definitions/booleanValue" }, "strokeOffset": { - "$ref": "#/refs/numberValue" + "$ref": "#/definitions/numberValue" }, "cornerRadius": { - "$ref": "#/refs/numberValue" + "$ref": "#/definitions/numberValue" }, "cornerRadiusTopLeft": { - "$ref": "#/refs/numberValue" + "$ref": "#/definitions/numberValue" }, "cornerRadiusTopRight": { - "$ref": "#/refs/numberValue" + "$ref": "#/definitions/numberValue" }, "cornerRadiusBottomRight": { - "$ref": "#/refs/numberValue" + "$ref": "#/definitions/numberValue" }, "cornerRadiusBottomLeft": { - "$ref": "#/refs/numberValue" + "$ref": "#/definitions/numberValue" }, "angle": { - "$ref": "#/refs/numberValue" + "$ref": "#/definitions/numberValue" }, "size": { - "$ref": "#/refs/numberValue" + "$ref": "#/definitions/numberValue" }, "shape": { - "$ref": "#/refs/stringValue" + "$ref": "#/definitions/stringValue" }, "path": { - "$ref": "#/refs/stringValue" + "$ref": "#/definitions/stringValue" }, "scaleX": { - "$ref": "#/refs/numberValue" + "$ref": "#/definitions/numberValue" }, "scaleY": { - "$ref": "#/refs/numberValue" + "$ref": "#/definitions/numberValue" }, "innerRadius": { - "$ref": "#/refs/numberValue" + "$ref": "#/definitions/numberValue" }, "outerRadius": { - "$ref": "#/refs/numberValue" + "$ref": "#/definitions/numberValue" }, "startAngle": { - "$ref": "#/refs/numberValue" + "$ref": "#/definitions/numberValue" }, "endAngle": { - "$ref": "#/refs/numberValue" + "$ref": "#/definitions/numberValue" }, "padAngle": { - "$ref": "#/refs/numberValue" + "$ref": "#/definitions/numberValue" }, "interpolate": { - "$ref": "#/refs/stringValue" + "$ref": "#/definitions/stringValue" }, "tension": { - "$ref": "#/refs/numberValue" + "$ref": "#/definitions/numberValue" }, "orient": { - "$ref": "#/refs/directionValue" + "$ref": "#/definitions/directionValue" }, "defined": { - "$ref": "#/refs/booleanValue" + "$ref": "#/definitions/booleanValue" }, "url": { - "$ref": "#/refs/stringValue" + "$ref": "#/definitions/stringValue" }, "align": { - "$ref": "#/refs/alignValue" + "$ref": "#/definitions/alignValue" }, "baseline": { - "$ref": "#/refs/baselineValue" + "$ref": "#/definitions/baselineValue" }, "aspect": { - "$ref": "#/refs/booleanValue" + "$ref": "#/definitions/booleanValue" }, "smooth": { - "$ref": "#/refs/booleanValue" + "$ref": "#/definitions/booleanValue" }, "text": { - "$ref": "#/refs/textValue" + "$ref": "#/definitions/textValue" }, "dir": { - "$ref": "#/refs/stringValue" + "$ref": "#/definitions/stringValue" }, "ellipsis": { - "$ref": "#/refs/stringValue" + "$ref": "#/definitions/stringValue" }, "limit": { - "$ref": "#/refs/numberValue" + "$ref": "#/definitions/numberValue" }, "lineBreak": { - "$ref": "#/refs/stringValue" + "$ref": "#/definitions/stringValue" }, "lineHeight": { - "$ref": "#/refs/numberValue" + "$ref": "#/definitions/numberValue" }, "dx": { - "$ref": "#/refs/numberValue" + "$ref": "#/definitions/numberValue" }, "dy": { - "$ref": "#/refs/numberValue" + "$ref": "#/definitions/numberValue" }, "radius": { - "$ref": "#/refs/numberValue" + "$ref": "#/definitions/numberValue" }, "theta": { - "$ref": "#/refs/numberValue" + "$ref": "#/definitions/numberValue" }, "font": { - "$ref": "#/refs/stringValue" + "$ref": "#/definitions/stringValue" }, "fontSize": { - "$ref": "#/refs/numberValue" + "$ref": "#/definitions/numberValue" }, "fontWeight": { - "$ref": "#/refs/fontWeightValue" + "$ref": "#/definitions/fontWeightValue" }, "fontStyle": { - "$ref": "#/refs/stringValue" + "$ref": "#/definitions/stringValue" } }, "additionalProperties": true @@ -1819,4365 +1999,3968 @@ "additionalProperties": false, "patternProperties": { "^.+$": { - "$ref": "#/defs/encodeEntry" + "$ref": "#/definitions/encodeEntry" } } }, - "layout": { + "field": { "oneOf": [ + { + "type": "string" + }, + { + "$ref": "#/definitions/signalRef" + }, { "type": "object", "properties": { - "align": { - "oneOf": [ - { - "oneOf": [ - { - "enum": [ - "all", - "each", - "none" - ] - }, - { - "$ref": "#/refs/signal" - } - ] - }, - { - "type": "object", - "properties": { - "row": { - "oneOf": [ - { - "enum": [ - "all", - "each", - "none" - ] - }, - { - "$ref": "#/refs/signal" - } - ] - }, - "column": { - "oneOf": [ - { - "enum": [ - "all", - "each", - "none" - ] - }, - { - "$ref": "#/refs/signal" - } - ] - } - }, - "additionalProperties": false - } - ] - }, - "bounds": { - "oneOf": [ - { - "enum": [ - "full", - "flush" - ] - }, - { - "$ref": "#/refs/signal" - } - ] + "datum": { + "$ref": "#/definitions/field" + } + }, + "required": [ + "datum" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "group": { + "$ref": "#/definitions/field" }, - "center": { - "oneOf": [ - { - "type": "boolean" - }, - { - "$ref": "#/refs/signal" - }, - { - "type": "object", - "properties": { - "row": { - "$ref": "#/refs/booleanOrSignal" - }, - "column": { - "$ref": "#/refs/booleanOrSignal" - } - }, - "additionalProperties": false - } - ] - }, - "columns": { - "$ref": "#/refs/numberOrSignal" - }, - "padding": { - "oneOf": [ - { - "type": "number" - }, - { - "$ref": "#/refs/signal" - }, - { - "type": "object", - "properties": { - "row": { - "$ref": "#/refs/numberOrSignal" - }, - "column": { - "$ref": "#/refs/numberOrSignal" - } - }, - "additionalProperties": false - } - ] - }, - "offset": { - "oneOf": [ - { - "type": "number" - }, - { - "$ref": "#/refs/signal" - }, - { - "type": "object", - "properties": { - "rowHeader": { - "$ref": "#/refs/numberOrSignal" - }, - "rowFooter": { - "$ref": "#/refs/numberOrSignal" - }, - "rowTitle": { - "$ref": "#/refs/numberOrSignal" - }, - "columnHeader": { - "$ref": "#/refs/numberOrSignal" - }, - "columnFooter": { - "$ref": "#/refs/numberOrSignal" - }, - "columnTitle": { - "$ref": "#/refs/numberOrSignal" - } - }, - "additionalProperties": false - } - ] - }, - "headerBand": { - "oneOf": [ - { - "$ref": "#/refs/numberOrSignal" - }, - { - "type": "null" - }, - { - "type": "object", - "properties": { - "row": { - "$ref": "#/refs/numberOrSignal" - }, - "column": { - "$ref": "#/refs/numberOrSignal" - } - }, - "additionalProperties": false - } - ] - }, - "footerBand": { - "oneOf": [ - { - "$ref": "#/refs/numberOrSignal" - }, - { - "type": "null" - }, - { - "type": "object", - "properties": { - "row": { - "$ref": "#/refs/numberOrSignal" - }, - "column": { - "$ref": "#/refs/numberOrSignal" - } - }, - "additionalProperties": false - } - ] - }, - "titleBand": { - "oneOf": [ - { - "$ref": "#/refs/numberOrSignal" - }, - { - "type": "null" - }, - { - "type": "object", - "properties": { - "row": { - "$ref": "#/refs/numberOrSignal" - }, - "column": { - "$ref": "#/refs/numberOrSignal" - } - }, - "additionalProperties": false - } - ] - }, - "titleAnchor": { - "oneOf": [ - { - "oneOf": [ - { - "enum": [ - "start", - "end" - ] - }, - { - "$ref": "#/refs/signal" - } - ] - }, - { - "type": "object", - "properties": { - "row": { - "oneOf": [ - { - "enum": [ - "start", - "end" - ] - }, - { - "$ref": "#/refs/signal" - } - ] - }, - "column": { - "oneOf": [ - { - "enum": [ - "start", - "end" - ] - }, - { - "$ref": "#/refs/signal" - } - ] - } - }, - "additionalProperties": false - } - ] + "level": { + "type": "number" } }, + "required": [ + "group" + ], "additionalProperties": false }, { - "$ref": "#/refs/signal" + "type": "object", + "properties": { + "parent": { + "$ref": "#/definitions/field" + }, + "level": { + "type": "number" + } + }, + "required": [ + "parent" + ], + "additionalProperties": false } ] }, - "guideEncode": { + "stringModifiers": { "type": "object", "properties": { - "name": { - "type": "string" + "scale": { + "$ref": "#/definitions/field" + } + } + }, + "numberModifiers": { + "type": "object", + "properties": { + "exponent": { + "oneOf": [ + { + "type": "number" + }, + { + "$ref": "#/definitions/numberValue" + } + ] }, - "interactive": { + "mult": { + "oneOf": [ + { + "type": "number" + }, + { + "$ref": "#/definitions/numberValue" + } + ] + }, + "offset": { + "oneOf": [ + { + "type": "number" + }, + { + "$ref": "#/definitions/numberValue" + } + ] + }, + "round": { "type": "boolean", "default": false }, - "style": { - "$ref": "#/refs/style" - } - }, - "additionalProperties": false, - "patternProperties": { - "^(?!interactive|name|style).+$": { - "$ref": "#/defs/encodeEntry" + "scale": { + "$ref": "#/definitions/field" + }, + "band": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + } + ] + }, + "extra": { + "type": "boolean" } } }, - "legend": { - "allOf": [ + "anyValue": { + "oneOf": [ { - "type": "object", - "properties": { - "size": { - "type": "string" - }, - "shape": { - "type": "string" - }, - "fill": { - "type": "string" - }, - "stroke": { - "type": "string" - }, - "opacity": { - "type": "string" - }, - "strokeDash": { - "type": "string" - }, - "strokeWidth": { - "type": "string" - }, - "type": { - "enum": [ - "gradient", - "symbol" - ] - }, - "direction": { - "enum": [ - "vertical", - "horizontal" - ] - }, - "orient": { - "oneOf": [ - { - "enum": [ - "none", - "left", - "right", - "top", - "bottom", - "top-left", - "top-right", - "bottom-left", - "bottom-right" - ], - "default": "right" - }, - { - "$ref": "#/refs/signal" - } - ] - }, - "tickCount": { - "$ref": "#/refs/tickCount" - }, - "tickMinStep": { - "$ref": "#/refs/numberOrSignal" - }, - "symbolLimit": { - "$ref": "#/refs/numberOrSignal" - }, - "values": { - "$ref": "#/refs/arrayOrSignal" - }, - "zindex": { - "type": "number" - }, - "cornerRadius": { - "oneOf": [ - { - "type": "number" - }, - { - "$ref": "#/refs/numberValue" - } - ] - }, - "fillColor": { - "oneOf": [ - { - "type": "null" - }, - { - "type": "string" - }, - { - "$ref": "#/refs/colorValue" - } - ] - }, - "offset": { - "oneOf": [ - { - "type": "number" - }, - { - "$ref": "#/refs/numberValue" - } - ] - }, - "padding": { - "oneOf": [ - { - "type": "number" - }, - { - "$ref": "#/refs/numberValue" - } - ] + "type": "array", + "items": { + "allOf": [ + { + "$ref": "#/definitions/rule" + }, + { + "allOf": [ + { + "$ref": "#/definitions/stringModifiers" + }, + { + "anyOf": [ + { + "oneOf": [ + { + "$ref": "#/definitions/signalRef" + }, + { + "type": "object", + "properties": { + "value": {} + }, + "required": [ + "value" + ] + }, + { + "type": "object", + "properties": { + "field": { + "$ref": "#/definitions/field" + } + }, + "required": [ + "field" + ] + }, + { + "type": "object", + "properties": { + "range": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "range" + ] + } + ] + }, + { + "type": "object", + "required": [ + "scale", + "value" + ] + }, + { + "type": "object", + "required": [ + "scale", + "band" + ] + }, + { + "type": "object", + "required": [ + "offset" + ] + } + ] + } + ] + } + ] + } + }, + { + "allOf": [ + { + "$ref": "#/definitions/stringModifiers" }, - "strokeColor": { - "oneOf": [ - { - "type": "null" - }, + { + "anyOf": [ { - "type": "string" + "oneOf": [ + { + "$ref": "#/definitions/signalRef" + }, + { + "type": "object", + "properties": { + "value": {} + }, + "required": [ + "value" + ] + }, + { + "type": "object", + "properties": { + "field": { + "$ref": "#/definitions/field" + } + }, + "required": [ + "field" + ] + }, + { + "type": "object", + "properties": { + "range": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "range" + ] + } + ] }, { - "$ref": "#/refs/colorValue" - } - ] - }, - "legendX": { - "oneOf": [ - { - "type": "number" + "type": "object", + "required": [ + "scale", + "value" + ] }, { - "$ref": "#/refs/numberValue" - } - ] - }, - "legendY": { - "oneOf": [ - { - "type": "number" + "type": "object", + "required": [ + "scale", + "band" + ] }, { - "$ref": "#/refs/numberValue" - } - ] - }, - "title": { - "$ref": "#/refs/textOrSignal" - }, - "titleAlign": { - "oneOf": [ - { - "enum": [ - "left", - "right", - "center" - ] - }, - { - "$ref": "#/refs/alignValue" + "type": "object", + "required": [ + "offset" + ] } ] + } + ] + } + ] + }, + "blendValue": { + "oneOf": [ + { + "type": "array", + "items": { + "allOf": [ + { + "$ref": "#/definitions/rule" + }, + { + "allOf": [ + { + "$ref": "#/definitions/stringModifiers" + }, + { + "anyOf": [ + { + "oneOf": [ + { + "$ref": "#/definitions/signalRef" + }, + { + "type": "object", + "properties": { + "value": { + "enum": [ + null, + "multiply", + "screen", + "overlay", + "darken", + "lighten", + "color-dodge", + "color-burn", + "hard-light", + "soft-light", + "difference", + "exclusion", + "hue", + "saturation", + "color", + "luminosity" + ] + } + }, + "required": [ + "value" + ] + }, + { + "type": "object", + "properties": { + "field": { + "$ref": "#/definitions/field" + } + }, + "required": [ + "field" + ] + }, + { + "type": "object", + "properties": { + "range": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "range" + ] + } + ] + }, + { + "type": "object", + "required": [ + "scale", + "value" + ] + }, + { + "type": "object", + "required": [ + "scale", + "band" + ] + }, + { + "type": "object", + "required": [ + "offset" + ] + } + ] + } + ] + } + ] + } + }, + { + "allOf": [ + { + "$ref": "#/definitions/stringModifiers" }, - "titleAnchor": { - "oneOf": [ + { + "anyOf": [ { - "enum": [ - null, - "start", - "middle", - "end" + "oneOf": [ + { + "$ref": "#/definitions/signalRef" + }, + { + "type": "object", + "properties": { + "value": { + "enum": [ + null, + "multiply", + "screen", + "overlay", + "darken", + "lighten", + "color-dodge", + "color-burn", + "hard-light", + "soft-light", + "difference", + "exclusion", + "hue", + "saturation", + "color", + "luminosity" + ] + } + }, + "required": [ + "value" + ] + }, + { + "type": "object", + "properties": { + "field": { + "$ref": "#/definitions/field" + } + }, + "required": [ + "field" + ] + }, + { + "type": "object", + "properties": { + "range": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "range" + ] + } ] }, { - "$ref": "#/refs/anchorValue" - } - ] - }, - "titleBaseline": { - "oneOf": [ - { - "enum": [ - "top", - "middle", - "bottom", - "alphabetic", - "line-top", - "line-bottom" + "type": "object", + "required": [ + "scale", + "value" ] }, { - "$ref": "#/refs/baselineValue" - } - ] - }, - "titleColor": { - "oneOf": [ - { - "type": "null" - }, - { - "type": "string" - }, - { - "$ref": "#/refs/colorValue" - } - ] - }, - "titleFont": { - "oneOf": [ - { - "type": "string" - }, - { - "$ref": "#/refs/stringValue" - } - ] - }, - "titleFontSize": { - "oneOf": [ - { - "type": "number" - }, - { - "$ref": "#/refs/numberValue" - } - ] - }, - "titleFontStyle": { - "oneOf": [ - { - "type": "string" + "type": "object", + "required": [ + "scale", + "band" + ] }, { - "$ref": "#/refs/stringValue" - } - ] - }, - "titleFontWeight": { - "oneOf": [ - { - "enum": [ - null, - "normal", - "bold", - "lighter", - "bolder", - "100", - "200", - "300", - "400", - "500", - "600", - "700", - "800", - "900", - 100, - 200, - 300, - 400, - 500, - 600, - 700, - 800, - 900 - ] - }, - { - "$ref": "#/refs/fontWeightValue" - } - ] - }, - "titleLimit": { - "oneOf": [ - { - "type": "number" - }, - { - "$ref": "#/refs/numberValue" - } - ] - }, - "titleLineHeight": { - "oneOf": [ - { - "type": "number" - }, - { - "$ref": "#/refs/numberValue" - } - ] - }, - "titleOpacity": { - "oneOf": [ - { - "type": "number" - }, - { - "$ref": "#/refs/numberValue" + "type": "object", + "required": [ + "offset" + ] } ] + } + ] + } + ] + }, + "numberValue": { + "oneOf": [ + { + "type": "array", + "items": { + "allOf": [ + { + "$ref": "#/definitions/rule" + }, + { + "allOf": [ + { + "$ref": "#/definitions/numberModifiers" + }, + { + "anyOf": [ + { + "oneOf": [ + { + "$ref": "#/definitions/signalRef" + }, + { + "type": "object", + "properties": { + "value": { + "type": "number" + } + }, + "required": [ + "value" + ] + }, + { + "type": "object", + "properties": { + "field": { + "$ref": "#/definitions/field" + } + }, + "required": [ + "field" + ] + }, + { + "type": "object", + "properties": { + "range": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "range" + ] + } + ] + }, + { + "type": "object", + "required": [ + "scale", + "value" + ] + }, + { + "type": "object", + "required": [ + "scale", + "band" + ] + }, + { + "type": "object", + "required": [ + "offset" + ] + } + ] + } + ] + } + ] + } + }, + { + "allOf": [ + { + "$ref": "#/definitions/numberModifiers" }, - "titleOrient": { - "oneOf": [ + { + "anyOf": [ { - "enum": [ - "left", - "right", - "top", - "bottom" + "oneOf": [ + { + "$ref": "#/definitions/signalRef" + }, + { + "type": "object", + "properties": { + "value": { + "type": "number" + } + }, + "required": [ + "value" + ] + }, + { + "type": "object", + "properties": { + "field": { + "$ref": "#/definitions/field" + } + }, + "required": [ + "field" + ] + }, + { + "type": "object", + "properties": { + "range": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "range" + ] + } ] }, { - "$ref": "#/refs/orientValue" - } - ] - }, - "titlePadding": { - "oneOf": [ - { - "type": "number" - }, - { - "$ref": "#/refs/numberValue" - } - ] - }, - "gradientLength": { - "$ref": "#/refs/numberOrSignal" - }, - "gradientOpacity": { - "oneOf": [ - { - "type": "number" - }, - { - "$ref": "#/refs/numberValue" - } - ] - }, - "gradientStrokeColor": { - "oneOf": [ - { - "type": "null" - }, - { - "type": "string" + "type": "object", + "required": [ + "scale", + "value" + ] }, { - "$ref": "#/refs/colorValue" - } - ] - }, - "gradientStrokeWidth": { - "oneOf": [ - { - "type": "number" + "type": "object", + "required": [ + "scale", + "band" + ] }, { - "$ref": "#/refs/numberValue" + "type": "object", + "required": [ + "offset" + ] } ] - }, - "gradientThickness": { - "$ref": "#/refs/numberOrSignal" - }, - "clipHeight": { - "$ref": "#/refs/numberOrSignal" - }, - "columns": { - "$ref": "#/refs/numberOrSignal" - }, - "columnPadding": { - "$ref": "#/refs/numberOrSignal" - }, - "rowPadding": { - "$ref": "#/refs/numberOrSignal" - }, - "gridAlign": { - "oneOf": [ - { - "enum": [ - "all", - "each", - "none" - ] - }, - { - "$ref": "#/refs/signal" - } - ] - }, - "symbolDash": { - "oneOf": [ - { - "type": "array", - "items": { - "type": "number" + } + ] + } + ] + }, + "stringValue": { + "oneOf": [ + { + "type": "array", + "items": { + "allOf": [ + { + "$ref": "#/definitions/rule" + }, + { + "allOf": [ + { + "$ref": "#/definitions/stringModifiers" + }, + { + "anyOf": [ + { + "oneOf": [ + { + "$ref": "#/definitions/signalRef" + }, + { + "type": "object", + "properties": { + "value": { + "type": "string" + } + }, + "required": [ + "value" + ] + }, + { + "type": "object", + "properties": { + "field": { + "$ref": "#/definitions/field" + } + }, + "required": [ + "field" + ] + }, + { + "type": "object", + "properties": { + "range": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "range" + ] + } + ] + }, + { + "type": "object", + "required": [ + "scale", + "value" + ] + }, + { + "type": "object", + "required": [ + "scale", + "band" + ] + }, + { + "type": "object", + "required": [ + "offset" + ] + } + ] } - }, - { - "$ref": "#/refs/arrayValue" - } - ] - }, - "symbolDashOffset": { - "oneOf": [ - { - "type": "number" - }, - { - "$ref": "#/refs/numberValue" - } - ] - }, - "symbolFillColor": { - "oneOf": [ - { - "type": "null" - }, - { - "type": "string" - }, - { - "$ref": "#/refs/colorValue" - } - ] - }, - "symbolOffset": { - "oneOf": [ - { - "type": "number" - }, - { - "$ref": "#/refs/numberValue" - } - ] - }, - "symbolOpacity": { - "oneOf": [ - { - "type": "number" - }, - { - "$ref": "#/refs/numberValue" - } - ] - }, - "symbolSize": { - "oneOf": [ - { - "type": "number" - }, - { - "$ref": "#/refs/numberValue" - } - ] + ] + } + ] + } + }, + { + "allOf": [ + { + "$ref": "#/definitions/stringModifiers" }, - "symbolStrokeColor": { - "oneOf": [ - { - "type": "null" - }, + { + "anyOf": [ { - "type": "string" + "oneOf": [ + { + "$ref": "#/definitions/signalRef" + }, + { + "type": "object", + "properties": { + "value": { + "type": "string" + } + }, + "required": [ + "value" + ] + }, + { + "type": "object", + "properties": { + "field": { + "$ref": "#/definitions/field" + } + }, + "required": [ + "field" + ] + }, + { + "type": "object", + "properties": { + "range": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "range" + ] + } + ] }, { - "$ref": "#/refs/colorValue" - } - ] - }, - "symbolStrokeWidth": { - "oneOf": [ - { - "type": "number" + "type": "object", + "required": [ + "scale", + "value" + ] }, { - "$ref": "#/refs/numberValue" - } - ] - }, - "symbolType": { - "oneOf": [ - { - "type": "string" + "type": "object", + "required": [ + "scale", + "band" + ] }, { - "$ref": "#/refs/stringValue" + "type": "object", + "required": [ + "offset" + ] } ] - }, - "format": { - "oneOf": [ - { - "type": "string" - }, - { - "type": "object", - "properties": { - "year": { - "type": "string" - }, - "quarter": { - "type": "string" - }, - "month": { - "type": "string" - }, - "date": { - "type": "string" - }, - "week": { - "type": "string" - }, - "day": { - "type": "string" - }, - "hours": { - "type": "string" + } + ] + } + ] + }, + "textValue": { + "oneOf": [ + { + "type": "array", + "items": { + "allOf": [ + { + "$ref": "#/definitions/rule" + }, + { + "allOf": [ + { + "$ref": "#/definitions/stringModifiers" + }, + { + "anyOf": [ + { + "oneOf": [ + { + "$ref": "#/definitions/signalRef" + }, + { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "array", + "items": { + "type": "string" + } + } + ] + } + }, + "required": [ + "value" + ] + }, + { + "type": "object", + "properties": { + "field": { + "$ref": "#/definitions/field" + } + }, + "required": [ + "field" + ] + }, + { + "type": "object", + "properties": { + "range": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "range" + ] + } + ] + }, + { + "type": "object", + "required": [ + "scale", + "value" + ] + }, + { + "type": "object", + "required": [ + "scale", + "band" + ] + }, + { + "type": "object", + "required": [ + "offset" + ] + } + ] + } + ] + } + ] + } + }, + { + "allOf": [ + { + "$ref": "#/definitions/stringModifiers" + }, + { + "anyOf": [ + { + "oneOf": [ + { + "$ref": "#/definitions/signalRef" }, - "minutes": { - "type": "string" + { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "array", + "items": { + "type": "string" + } + } + ] + } + }, + "required": [ + "value" + ] }, - "seconds": { - "type": "string" + { + "type": "object", + "properties": { + "field": { + "$ref": "#/definitions/field" + } + }, + "required": [ + "field" + ] }, - "milliseconds": { - "type": "string" + { + "type": "object", + "properties": { + "range": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "range" + ] } - }, - "additionalProperties": false - }, - { - "$ref": "#/refs/signal" - } - ] - }, - "formatType": { - "oneOf": [ - { - "enum": [ - "number", - "time", - "utc" ] }, { - "$ref": "#/refs/signal" - } - ] - }, - "labelAlign": { - "oneOf": [ - { - "enum": [ - "left", - "right", - "center" + "type": "object", + "required": [ + "scale", + "value" ] }, { - "$ref": "#/refs/alignValue" - } - ] - }, - "labelBaseline": { - "oneOf": [ - { - "enum": [ - "top", - "middle", - "bottom", - "alphabetic", - "line-top", - "line-bottom" + "type": "object", + "required": [ + "scale", + "band" ] }, { - "$ref": "#/refs/baselineValue" - } - ] - }, - "labelColor": { - "oneOf": [ - { - "type": "null" - }, - { - "type": "string" - }, - { - "$ref": "#/refs/colorValue" - } - ] - }, - "labelFont": { - "oneOf": [ - { - "type": "string" - }, - { - "$ref": "#/refs/stringValue" - } - ] - }, - "labelFontSize": { - "oneOf": [ - { - "type": "number" - }, - { - "$ref": "#/refs/numberValue" - } - ] - }, - "labelFontStyle": { - "oneOf": [ - { - "type": "string" - }, - { - "$ref": "#/refs/stringValue" + "type": "object", + "required": [ + "offset" + ] } ] + } + ] + } + ] + }, + "booleanValue": { + "oneOf": [ + { + "type": "array", + "items": { + "allOf": [ + { + "$ref": "#/definitions/rule" + }, + { + "allOf": [ + { + "$ref": "#/definitions/stringModifiers" + }, + { + "anyOf": [ + { + "oneOf": [ + { + "$ref": "#/definitions/signalRef" + }, + { + "type": "object", + "properties": { + "value": { + "type": "boolean" + } + }, + "required": [ + "value" + ] + }, + { + "type": "object", + "properties": { + "field": { + "$ref": "#/definitions/field" + } + }, + "required": [ + "field" + ] + }, + { + "type": "object", + "properties": { + "range": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "range" + ] + } + ] + }, + { + "type": "object", + "required": [ + "scale", + "value" + ] + }, + { + "type": "object", + "required": [ + "scale", + "band" + ] + }, + { + "type": "object", + "required": [ + "offset" + ] + } + ] + } + ] + } + ] + } + }, + { + "allOf": [ + { + "$ref": "#/definitions/stringModifiers" }, - "labelFontWeight": { - "oneOf": [ + { + "anyOf": [ { - "enum": [ - null, - "normal", - "bold", - "lighter", - "bolder", - "100", - "200", - "300", - "400", - "500", - "600", - "700", - "800", - "900", - 100, - 200, - 300, - 400, - 500, - 600, - 700, - 800, - 900 + "oneOf": [ + { + "$ref": "#/definitions/signalRef" + }, + { + "type": "object", + "properties": { + "value": { + "type": "boolean" + } + }, + "required": [ + "value" + ] + }, + { + "type": "object", + "properties": { + "field": { + "$ref": "#/definitions/field" + } + }, + "required": [ + "field" + ] + }, + { + "type": "object", + "properties": { + "range": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "range" + ] + } ] }, { - "$ref": "#/refs/fontWeightValue" - } - ] - }, - "labelLimit": { - "oneOf": [ - { - "type": "number" - }, - { - "$ref": "#/refs/numberValue" - } - ] - }, - "labelOffset": { - "oneOf": [ - { - "type": "number" + "type": "object", + "required": [ + "scale", + "value" + ] }, { - "$ref": "#/refs/numberValue" - } - ] - }, - "labelOpacity": { - "oneOf": [ - { - "type": "number" + "type": "object", + "required": [ + "scale", + "band" + ] }, { - "$ref": "#/refs/numberValue" + "type": "object", + "required": [ + "offset" + ] } ] - }, - "labelOverlap": { - "$ref": "#/refs/labelOverlap" - }, - "labelSeparation": { - "$ref": "#/refs/numberOrSignal" - }, - "encode": { - "type": "object", - "properties": { - "title": { - "$ref": "#/defs/guideEncode" - }, - "labels": { - "$ref": "#/defs/guideEncode" - }, - "legend": { - "$ref": "#/defs/guideEncode" - }, - "entries": { - "$ref": "#/defs/guideEncode" - }, - "symbols": { - "$ref": "#/defs/guideEncode" - }, - "gradient": { - "$ref": "#/defs/guideEncode" - } - }, - "additionalProperties": false } - }, - "additionalProperties": false - }, + ] + } + ] + }, + "arrayValue": { + "oneOf": [ { - "anyOf": [ - { - "type": "object", - "required": [ - "size" - ] - }, - { - "type": "object", - "required": [ - "shape" - ] - }, - { - "type": "object", - "required": [ - "fill" - ] - }, - { - "type": "object", - "required": [ - "stroke" - ] - }, - { - "type": "object", - "required": [ - "opacity" - ] - }, - { - "type": "object", - "required": [ - "strokeDash" - ] - }, - { - "type": "object", - "required": [ - "strokeWidth" - ] - } - ] - } - ] - }, - "mark": { - "type": "object", - "properties": { - "type": { - "$ref": "#/refs/marktype" - }, - "role": { - "type": "string" - }, - "name": { - "type": "string" - }, - "style": { - "$ref": "#/refs/style" - }, - "key": { - "type": "string" - }, - "clip": { - "$ref": "#/refs/markclip" - }, - "sort": { - "$ref": "#/refs/compare" - }, - "interactive": { - "$ref": "#/refs/booleanOrSignal" - }, - "encode": { - "$ref": "#/defs/encode" - }, - "transform": { "type": "array", "items": { - "$ref": "#/defs/transformMark" - } - }, - "on": { - "$ref": "#/defs/onMarkTrigger" - } - }, - "required": [ - "type" - ] - }, - "markGroup": { - "allOf": [ - { - "type": "object", - "properties": { - "type": { - "enum": [ - "group" - ] - }, - "from": { - "oneOf": [ - { - "$ref": "#/refs/from" - }, - { - "$ref": "#/refs/facet" - } - ] - } - }, - "required": [ - "type" - ] - }, - { - "$ref": "#/defs/mark" - }, - { - "$ref": "#/defs/scope" - } - ] - }, - "markVisual": { - "allOf": [ - { - "type": "object", - "properties": { - "type": { - "not": { - "enum": [ - "group" - ] - } - }, - "from": { - "$ref": "#/refs/from" - } - } - }, - { - "$ref": "#/defs/mark" - } - ] - }, - "listener": { - "oneOf": [ - { - "$ref": "#/refs/signal" - }, - { - "type": "object", - "properties": { - "scale": { - "type": "string" - } - }, - "required": [ - "scale" - ] - }, - { - "$ref": "#/defs/stream" - } - ] - }, - "onEvents": { - "type": "array", - "items": { - "allOf": [ - { - "type": "object", - "properties": { - "events": { - "oneOf": [ - { - "$ref": "#/refs/selector" - }, - { - "$ref": "#/defs/listener" - }, - { - "type": "array", - "items": { - "$ref": "#/defs/listener" - }, - "minItems": 1 - } - ] - }, - "force": { - "type": "boolean" - } - }, - "required": [ - "events" - ] - }, - { - "oneOf": [ + "allOf": [ { - "type": "object", - "properties": { - "encode": { - "type": "string" - } - }, - "required": [ - "encode" - ] + "$ref": "#/definitions/rule" }, { - "type": "object", - "properties": { - "update": { - "oneOf": [ + "allOf": [ + { + "$ref": "#/definitions/stringModifiers" + }, + { + "anyOf": [ { - "$ref": "#/refs/exprString" + "oneOf": [ + { + "$ref": "#/definitions/signalRef" + }, + { + "type": "object", + "properties": { + "value": { + "type": "array" + } + }, + "required": [ + "value" + ] + }, + { + "type": "object", + "properties": { + "field": { + "$ref": "#/definitions/field" + } + }, + "required": [ + "field" + ] + }, + { + "type": "object", + "properties": { + "range": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "range" + ] + } + ] }, { - "$ref": "#/refs/expr" + "type": "object", + "required": [ + "scale", + "value" + ] }, { - "$ref": "#/refs/signal" + "type": "object", + "required": [ + "scale", + "band" + ] }, { "type": "object", - "properties": { - "value": {} - }, "required": [ - "value" + "offset" ] } ] } - }, - "required": [ - "update" ] } ] } - ] - } - }, - "onTrigger": { - "type": "array", - "items": { - "type": "object", - "properties": { - "trigger": { - "$ref": "#/refs/exprString" - }, - "insert": { - "$ref": "#/refs/exprString" - }, - "remove": { - "oneOf": [ - { - "type": "boolean" - }, - { - "$ref": "#/refs/exprString" - } - ] - }, - "toggle": { - "$ref": "#/refs/exprString" - }, - "modify": { - "$ref": "#/refs/exprString" - }, - "values": { - "$ref": "#/refs/exprString" - } - }, - "required": [ - "trigger" - ], - "additionalProperties": false - } - }, - "onMarkTrigger": { - "type": "array", - "items": { - "type": "object", - "properties": { - "trigger": { - "$ref": "#/refs/exprString" - }, - "modify": { - "$ref": "#/refs/exprString" - }, - "values": { - "$ref": "#/refs/exprString" - } - }, - "required": [ - "trigger" - ], - "additionalProperties": false - } - }, - "padding": { - "oneOf": [ - { - "type": "number" }, { - "type": "object", - "properties": { - "top": { - "type": "number" - }, - "bottom": { - "type": "number" - }, - "left": { - "type": "number" + "allOf": [ + { + "$ref": "#/definitions/stringModifiers" }, - "right": { - "type": "number" + { + "anyOf": [ + { + "oneOf": [ + { + "$ref": "#/definitions/signalRef" + }, + { + "type": "object", + "properties": { + "value": { + "type": "array" + } + }, + "required": [ + "value" + ] + }, + { + "type": "object", + "properties": { + "field": { + "$ref": "#/definitions/field" + } + }, + "required": [ + "field" + ] + }, + { + "type": "object", + "properties": { + "range": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "range" + ] + } + ] + }, + { + "type": "object", + "required": [ + "scale", + "value" + ] + }, + { + "type": "object", + "required": [ + "scale", + "band" + ] + }, + { + "type": "object", + "required": [ + "offset" + ] + } + ] } - }, - "additionalProperties": false - }, - { - "$ref": "#/refs/signal" + ] } ] }, - "projection": { - "type": "object", - "properties": { - "name": { - "type": "string" - }, - "type": { - "$ref": "#/refs/stringOrSignal" - }, - "clipAngle": { - "$ref": "#/refs/numberOrSignal" - }, - "clipExtent": { - "oneOf": [ - { - "type": "array", - "items": { - "oneOf": [ + "fontWeightValue": { + "oneOf": [ + { + "type": "array", + "items": { + "allOf": [ + { + "$ref": "#/definitions/rule" + }, + { + "allOf": [ { - "type": "array", - "items": { - "$ref": "#/refs/numberOrSignal" - }, - "minItems": 2, - "maxItems": 2 + "$ref": "#/definitions/stringModifiers" }, { - "$ref": "#/refs/signal" - } - ] - }, - "minItems": 2, - "maxItems": 2 - }, - { - "$ref": "#/refs/signal" - } - ] - }, - "scale": { - "$ref": "#/refs/numberOrSignal" - }, - "translate": { - "oneOf": [ - { - "type": "array", - "items": { - "$ref": "#/refs/numberOrSignal" - }, - "minItems": 2, - "maxItems": 2 - }, - { - "$ref": "#/refs/signal" - } - ] - }, - "center": { - "oneOf": [ - { - "type": "array", - "items": { - "$ref": "#/refs/numberOrSignal" - }, - "minItems": 2, - "maxItems": 2 - }, - { - "$ref": "#/refs/signal" - } - ] - }, - "rotate": { - "oneOf": [ - { - "type": "array", - "items": { - "$ref": "#/refs/numberOrSignal" - }, - "minItems": 2, - "maxItems": 3 - }, - { - "$ref": "#/refs/signal" - } - ] - }, - "parallels": { - "oneOf": [ - { - "type": "array", - "items": { - "$ref": "#/refs/numberOrSignal" - }, - "minItems": 2, - "maxItems": 2 - }, - { - "$ref": "#/refs/signal" - } - ] - }, - "precision": { - "$ref": "#/refs/numberOrSignal" - }, - "pointRadius": { - "$ref": "#/refs/numberOrSignal" - }, - "fit": { - "oneOf": [ - { - "type": "object" - }, - { - "type": "array" - } - ] - }, - "extent": { - "oneOf": [ - { - "type": "array", - "items": { - "oneOf": [ - { - "type": "array", - "items": { - "$ref": "#/refs/numberOrSignal" - }, - "minItems": 2, - "maxItems": 2 - }, - { - "$ref": "#/refs/signal" - } - ] - }, - "minItems": 2, - "maxItems": 2 - }, - { - "$ref": "#/refs/signal" - } - ] - }, - "size": { - "oneOf": [ - { - "type": "array", - "items": { - "$ref": "#/refs/numberOrSignal" - }, - "minItems": 2, - "maxItems": 2 - }, - { - "$ref": "#/refs/signal" - } - ] - } - }, - "required": [ - "name" - ], - "additionalProperties": true - }, - "scale": { - "oneOf": [ - { - "type": "object", - "properties": { - "type": { - "enum": [ - "identity" - ] - }, - "nice": { - "$ref": "#/refs/booleanOrSignal" - }, - "name": { - "type": "string" - }, - "domain": { - "oneOf": [ - { - "type": "array", - "items": { - "oneOf": [ - { - "type": "null" - }, - { - "type": "boolean" - }, + "anyOf": [ { - "type": "string" + "oneOf": [ + { + "$ref": "#/definitions/signalRef" + }, + { + "type": "object", + "properties": { + "value": { + "enum": [ + null, + "normal", + "bold", + "lighter", + "bolder", + "100", + "200", + "300", + "400", + "500", + "600", + "700", + "800", + "900", + 100, + 200, + 300, + 400, + 500, + 600, + 700, + 800, + 900 + ] + } + }, + "required": [ + "value" + ] + }, + { + "type": "object", + "properties": { + "field": { + "$ref": "#/definitions/field" + } + }, + "required": [ + "field" + ] + }, + { + "type": "object", + "properties": { + "range": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "range" + ] + } + ] }, { - "type": "number" + "type": "object", + "required": [ + "scale", + "value" + ] }, { - "$ref": "#/refs/signal" + "type": "object", + "required": [ + "scale", + "band" + ] }, { - "type": "array", - "items": { - "$ref": "#/refs/numberOrSignal" - } + "type": "object", + "required": [ + "offset" + ] } ] } - }, + ] + } + ] + } + }, + { + "allOf": [ + { + "$ref": "#/definitions/stringModifiers" + }, + { + "anyOf": [ { - "$ref": "#/refs/scaleData" + "oneOf": [ + { + "$ref": "#/definitions/signalRef" + }, + { + "type": "object", + "properties": { + "value": { + "enum": [ + null, + "normal", + "bold", + "lighter", + "bolder", + "100", + "200", + "300", + "400", + "500", + "600", + "700", + "800", + "900", + 100, + 200, + 300, + 400, + 500, + 600, + 700, + 800, + 900 + ] + } + }, + "required": [ + "value" + ] + }, + { + "type": "object", + "properties": { + "field": { + "$ref": "#/definitions/field" + } + }, + "required": [ + "field" + ] + }, + { + "type": "object", + "properties": { + "range": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "range" + ] + } + ] }, { - "$ref": "#/refs/signal" - } - ] - }, - "domainMin": { - "$ref": "#/refs/numberOrSignal" - }, - "domainMax": { - "$ref": "#/refs/numberOrSignal" - }, - "domainMid": { - "$ref": "#/refs/numberOrSignal" - }, - "domainRaw": { - "oneOf": [ - { - "type": "null" + "type": "object", + "required": [ + "scale", + "value" + ] }, { - "type": "array" + "type": "object", + "required": [ + "scale", + "band" + ] }, { - "$ref": "#/refs/signal" + "type": "object", + "required": [ + "offset" + ] } ] - }, - "reverse": { - "$ref": "#/refs/booleanOrSignal" - }, - "round": { - "$ref": "#/refs/booleanOrSignal" } - }, - "required": [ - "type", - "name" - ], - "additionalProperties": false - }, + ] + } + ] + }, + "anchorValue": { + "oneOf": [ { - "type": "object", - "properties": { - "type": { - "enum": [ - "ordinal" - ] - }, - "range": { - "oneOf": [ - { - "enum": [ - "width", - "height", - "symbol", - "category", - "ordinal", - "ramp", - "diverging", - "heatmap" - ] - }, - { - "type": "array", - "items": { - "oneOf": [ - { - "type": "null" - }, - { - "type": "boolean" - }, + "type": "array", + "items": { + "allOf": [ + { + "$ref": "#/definitions/rule" + }, + { + "allOf": [ + { + "$ref": "#/definitions/stringModifiers" + }, + { + "anyOf": [ { - "type": "string" + "oneOf": [ + { + "$ref": "#/definitions/signalRef" + }, + { + "type": "object", + "properties": { + "value": { + "enum": [ + "start", + "middle", + "end" + ] + } + }, + "required": [ + "value" + ] + }, + { + "type": "object", + "properties": { + "field": { + "$ref": "#/definitions/field" + } + }, + "required": [ + "field" + ] + }, + { + "type": "object", + "properties": { + "range": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "range" + ] + } + ] }, { - "type": "number" + "type": "object", + "required": [ + "scale", + "value" + ] }, { - "$ref": "#/refs/signal" + "type": "object", + "required": [ + "scale", + "band" + ] }, { - "type": "array", - "items": { - "$ref": "#/refs/numberOrSignal" - } + "type": "object", + "required": [ + "offset" + ] } ] } - }, + ] + } + ] + } + }, + { + "allOf": [ + { + "$ref": "#/definitions/stringModifiers" + }, + { + "anyOf": [ { - "type": "object", - "properties": { - "scheme": { - "oneOf": [ - { - "type": "string" - }, - { - "type": "array", - "items": { - "oneOf": [ - { - "type": "string" - }, - { - "$ref": "#/refs/signal" - } - ] - } - }, - { - "$ref": "#/refs/signal" - } - ] - }, - "count": { - "$ref": "#/refs/numberOrSignal" + "oneOf": [ + { + "$ref": "#/definitions/signalRef" }, - "extent": { - "oneOf": [ - { - "type": "array", - "items": { - "$ref": "#/refs/numberOrSignal" - }, - "numItems": 2 - }, - { - "$ref": "#/refs/signal" + { + "type": "object", + "properties": { + "value": { + "enum": [ + "start", + "middle", + "end" + ] } + }, + "required": [ + "value" ] - } - }, - "required": [ - "scheme" - ], - "additionalProperties": false - }, - { - "oneOf": [ + }, { "type": "object", "properties": { - "data": { - "type": "string" - }, "field": { - "$ref": "#/refs/stringOrSignal" - }, - "sort": { - "oneOf": [ - { - "type": "boolean" - }, - { - "type": "object", - "properties": { - "field": { - "$ref": "#/refs/stringOrSignal" - }, - "op": { - "$ref": "#/refs/stringOrSignal" - }, - "order": { - "$ref": "#/refs/sortOrder" - } - }, - "additionalProperties": false - } - ] + "$ref": "#/definitions/field" } }, "required": [ - "data", "field" - ], - "additionalProperties": false + ] }, { "type": "object", "properties": { - "data": { - "type": "string" - }, - "fields": { - "type": "array", - "items": { - "$ref": "#/refs/stringOrSignal" - }, - "minItems": 1 - }, - "sort": { + "range": { "oneOf": [ { - "type": "boolean" - }, - { - "type": "object", - "properties": { - "op": { - "enum": [ - "count" - ] - }, - "order": { - "$ref": "#/refs/sortOrder" - } - }, - "additionalProperties": false + "type": "number" }, - { - "type": "object", - "properties": { - "field": { - "$ref": "#/refs/stringOrSignal" - }, - "op": { - "enum": [ - "count", - "min", - "max" - ] - }, - "order": { - "$ref": "#/refs/sortOrder" - } - }, - "required": [ - "field", - "op" - ], - "additionalProperties": false - } - ] - } - }, - "required": [ - "data", - "fields" - ], - "additionalProperties": false - }, - { - "type": "object", - "properties": { - "fields": { - "type": "array", - "items": { - "oneOf": [ - { - "type": "object", - "properties": { - "data": { - "type": "string" - }, - "field": { - "$ref": "#/refs/stringOrSignal" - } - }, - "required": [ - "data", - "field" - ], - "additionalProperties": false - }, - { - "type": "array", - "items": { - "oneOf": [ - { - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - } - ] - } - }, - { - "$ref": "#/refs/signal" - } - ] - }, - "minItems": 1 - }, - "sort": { - "oneOf": [ { "type": "boolean" - }, - { - "type": "object", - "properties": { - "op": { - "enum": [ - "count" - ] - }, - "order": { - "$ref": "#/refs/sortOrder" - } - }, - "additionalProperties": false - }, - { - "type": "object", - "properties": { - "field": { - "$ref": "#/refs/stringOrSignal" - }, - "op": { - "enum": [ - "count", - "min", - "max" - ] - }, - "order": { - "$ref": "#/refs/sortOrder" - } - }, - "required": [ - "field", - "op" - ], - "additionalProperties": false } ] } }, "required": [ - "fields" - ], - "additionalProperties": false + "range" + ] } ] }, { - "$ref": "#/refs/signal" + "type": "object", + "required": [ + "scale", + "value" + ] + }, + { + "type": "object", + "required": [ + "scale", + "band" + ] + }, + { + "type": "object", + "required": [ + "offset" + ] } ] - }, - "interpolate": { - "$ref": "#/refs/scaleInterpolate" - }, - "domainImplicit": { - "$ref": "#/refs/booleanOrSignal" - }, - "name": { - "type": "string" - }, - "domain": { - "oneOf": [ - { - "type": "array", - "items": { - "oneOf": [ - { - "type": "null" - }, - { - "type": "boolean" - }, + } + ] + } + ] + }, + "alignValue": { + "oneOf": [ + { + "type": "array", + "items": { + "allOf": [ + { + "$ref": "#/definitions/rule" + }, + { + "allOf": [ + { + "$ref": "#/definitions/stringModifiers" + }, + { + "anyOf": [ { - "type": "string" + "oneOf": [ + { + "$ref": "#/definitions/signalRef" + }, + { + "type": "object", + "properties": { + "value": { + "enum": [ + "left", + "right", + "center" + ] + } + }, + "required": [ + "value" + ] + }, + { + "type": "object", + "properties": { + "field": { + "$ref": "#/definitions/field" + } + }, + "required": [ + "field" + ] + }, + { + "type": "object", + "properties": { + "range": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "range" + ] + } + ] }, { - "type": "number" + "type": "object", + "required": [ + "scale", + "value" + ] }, { - "$ref": "#/refs/signal" + "type": "object", + "required": [ + "scale", + "band" + ] }, { - "type": "array", - "items": { - "$ref": "#/refs/numberOrSignal" - } + "type": "object", + "required": [ + "offset" + ] } ] } - }, - { - "$ref": "#/refs/scaleData" - }, - { - "$ref": "#/refs/signal" - } - ] - }, - "domainMin": { - "$ref": "#/refs/numberOrSignal" - }, - "domainMax": { - "$ref": "#/refs/numberOrSignal" - }, - "domainMid": { - "$ref": "#/refs/numberOrSignal" + ] + } + ] + } + }, + { + "allOf": [ + { + "$ref": "#/definitions/stringModifiers" }, - "domainRaw": { - "oneOf": [ - { - "type": "null" - }, - { - "type": "array" - }, + { + "anyOf": [ { - "$ref": "#/refs/signal" - } - ] - }, - "reverse": { - "$ref": "#/refs/booleanOrSignal" - }, - "round": { - "$ref": "#/refs/booleanOrSignal" - } - }, - "required": [ - "type", - "name" - ], - "additionalProperties": false - }, - { - "type": "object", - "properties": { - "type": { - "enum": [ - "band" - ] - }, - "paddingInner": { - "$ref": "#/refs/numberOrSignal" - }, - "range": { - "oneOf": [ - { - "enum": [ - "width", - "height", - "symbol", - "category", - "ordinal", - "ramp", - "diverging", - "heatmap" - ] - }, - { - "type": "array", - "items": { - "oneOf": [ - { - "type": "null" - }, - { - "type": "boolean" - }, - { - "type": "string" - }, - { - "type": "number" + "oneOf": [ + { + "$ref": "#/definitions/signalRef" + }, + { + "type": "object", + "properties": { + "value": { + "enum": [ + "left", + "right", + "center" + ] + } }, - { - "$ref": "#/refs/signal" + "required": [ + "value" + ] + }, + { + "type": "object", + "properties": { + "field": { + "$ref": "#/definitions/field" + } }, - { - "type": "array", - "items": { - "$ref": "#/refs/numberOrSignal" + "required": [ + "field" + ] + }, + { + "type": "object", + "properties": { + "range": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + } + ] } - } - ] - } + }, + "required": [ + "range" + ] + } + ] }, { "type": "object", - "properties": { - "step": { - "$ref": "#/refs/numberOrSignal" - } - }, "required": [ - "step" - ], - "additionalProperties": false + "scale", + "value" + ] }, { - "$ref": "#/refs/signal" + "type": "object", + "required": [ + "scale", + "band" + ] + }, + { + "type": "object", + "required": [ + "offset" + ] } ] - }, - "padding": { - "$ref": "#/refs/numberOrSignal" - }, - "paddingOuter": { - "$ref": "#/refs/numberOrSignal" - }, - "align": { - "$ref": "#/refs/numberOrSignal" - }, - "name": { - "type": "string" - }, - "domain": { - "oneOf": [ - { - "type": "array", - "items": { - "oneOf": [ - { - "type": "null" - }, - { - "type": "boolean" - }, + } + ] + } + ] + }, + "baselineValue": { + "oneOf": [ + { + "type": "array", + "items": { + "allOf": [ + { + "$ref": "#/definitions/rule" + }, + { + "allOf": [ + { + "$ref": "#/definitions/stringModifiers" + }, + { + "anyOf": [ { - "type": "string" + "oneOf": [ + { + "$ref": "#/definitions/signalRef" + }, + { + "type": "object", + "properties": { + "value": { + "enum": [ + "top", + "middle", + "bottom", + "alphabetic" + ] + } + }, + "required": [ + "value" + ] + }, + { + "type": "object", + "properties": { + "field": { + "$ref": "#/definitions/field" + } + }, + "required": [ + "field" + ] + }, + { + "type": "object", + "properties": { + "range": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "range" + ] + } + ] }, { - "type": "number" + "type": "object", + "required": [ + "scale", + "value" + ] }, { - "$ref": "#/refs/signal" + "type": "object", + "required": [ + "scale", + "band" + ] }, { - "type": "array", - "items": { - "$ref": "#/refs/numberOrSignal" - } + "type": "object", + "required": [ + "offset" + ] } ] } - }, - { - "$ref": "#/refs/scaleData" - }, - { - "$ref": "#/refs/signal" - } - ] - }, - "domainMin": { - "$ref": "#/refs/numberOrSignal" - }, - "domainMax": { - "$ref": "#/refs/numberOrSignal" - }, - "domainMid": { - "$ref": "#/refs/numberOrSignal" + ] + } + ] + } + }, + { + "allOf": [ + { + "$ref": "#/definitions/stringModifiers" }, - "domainRaw": { - "oneOf": [ + { + "anyOf": [ { - "type": "null" - }, - { - "type": "array" - }, - { - "$ref": "#/refs/signal" - } - ] - }, - "reverse": { - "$ref": "#/refs/booleanOrSignal" - }, - "round": { - "$ref": "#/refs/booleanOrSignal" - } - }, - "required": [ - "type", - "name" - ], - "additionalProperties": false - }, - { - "type": "object", - "properties": { - "type": { - "enum": [ - "point" - ] - }, - "range": { - "oneOf": [ - { - "enum": [ - "width", - "height", - "symbol", - "category", - "ordinal", - "ramp", - "diverging", - "heatmap" - ] - }, - { - "type": "array", - "items": { - "oneOf": [ - { - "type": "null" - }, - { - "type": "boolean" - }, - { - "type": "string" - }, - { - "type": "number" + "oneOf": [ + { + "$ref": "#/definitions/signalRef" + }, + { + "type": "object", + "properties": { + "value": { + "enum": [ + "top", + "middle", + "bottom", + "alphabetic" + ] + } }, - { - "$ref": "#/refs/signal" + "required": [ + "value" + ] + }, + { + "type": "object", + "properties": { + "field": { + "$ref": "#/definitions/field" + } }, - { - "type": "array", - "items": { - "$ref": "#/refs/numberOrSignal" + "required": [ + "field" + ] + }, + { + "type": "object", + "properties": { + "range": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + } + ] } - } - ] - } + }, + "required": [ + "range" + ] + } + ] }, { "type": "object", - "properties": { - "step": { - "$ref": "#/refs/numberOrSignal" - } - }, "required": [ - "step" - ], - "additionalProperties": false + "scale", + "value" + ] + }, + { + "type": "object", + "required": [ + "scale", + "band" + ] }, { - "$ref": "#/refs/signal" + "type": "object", + "required": [ + "offset" + ] } ] - }, - "padding": { - "$ref": "#/refs/numberOrSignal" - }, - "paddingOuter": { - "$ref": "#/refs/numberOrSignal" - }, - "align": { - "$ref": "#/refs/numberOrSignal" - }, - "name": { - "type": "string" - }, - "domain": { - "oneOf": [ - { - "type": "array", - "items": { - "oneOf": [ - { - "type": "null" - }, - { - "type": "boolean" - }, + } + ] + } + ] + }, + "directionValue": { + "oneOf": [ + { + "type": "array", + "items": { + "allOf": [ + { + "$ref": "#/definitions/rule" + }, + { + "allOf": [ + { + "$ref": "#/definitions/stringModifiers" + }, + { + "anyOf": [ { - "type": "string" + "oneOf": [ + { + "$ref": "#/definitions/signalRef" + }, + { + "type": "object", + "properties": { + "value": { + "enum": [ + "horizontal", + "vertical" + ] + } + }, + "required": [ + "value" + ] + }, + { + "type": "object", + "properties": { + "field": { + "$ref": "#/definitions/field" + } + }, + "required": [ + "field" + ] + }, + { + "type": "object", + "properties": { + "range": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "range" + ] + } + ] }, { - "type": "number" + "type": "object", + "required": [ + "scale", + "value" + ] }, { - "$ref": "#/refs/signal" + "type": "object", + "required": [ + "scale", + "band" + ] }, { - "type": "array", - "items": { - "$ref": "#/refs/numberOrSignal" - } + "type": "object", + "required": [ + "offset" + ] } ] } - }, - { - "$ref": "#/refs/scaleData" - }, - { - "$ref": "#/refs/signal" - } - ] - }, - "domainMin": { - "$ref": "#/refs/numberOrSignal" - }, - "domainMax": { - "$ref": "#/refs/numberOrSignal" - }, - "domainMid": { - "$ref": "#/refs/numberOrSignal" + ] + } + ] + } + }, + { + "allOf": [ + { + "$ref": "#/definitions/stringModifiers" }, - "domainRaw": { - "oneOf": [ + { + "anyOf": [ { - "type": "null" + "oneOf": [ + { + "$ref": "#/definitions/signalRef" + }, + { + "type": "object", + "properties": { + "value": { + "enum": [ + "horizontal", + "vertical" + ] + } + }, + "required": [ + "value" + ] + }, + { + "type": "object", + "properties": { + "field": { + "$ref": "#/definitions/field" + } + }, + "required": [ + "field" + ] + }, + { + "type": "object", + "properties": { + "range": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "range" + ] + } + ] }, { - "type": "array" + "type": "object", + "required": [ + "scale", + "value" + ] }, { - "$ref": "#/refs/signal" + "type": "object", + "required": [ + "scale", + "band" + ] + }, + { + "type": "object", + "required": [ + "offset" + ] } ] - }, - "reverse": { - "$ref": "#/refs/booleanOrSignal" - }, - "round": { - "$ref": "#/refs/booleanOrSignal" } - }, - "required": [ - "type", - "name" - ], - "additionalProperties": false - }, + ] + } + ] + }, + "orientValue": { + "oneOf": [ { - "type": "object", - "properties": { - "type": { - "enum": [ - "quantize", - "threshold" - ] - }, - "range": { - "oneOf": [ - { - "enum": [ - "width", - "height", - "symbol", - "category", - "ordinal", - "ramp", - "diverging", - "heatmap" - ] - }, - { - "type": "array", - "items": { - "oneOf": [ - { - "type": "null" - }, - { - "type": "boolean" - }, + "type": "array", + "items": { + "allOf": [ + { + "$ref": "#/definitions/rule" + }, + { + "allOf": [ + { + "$ref": "#/definitions/stringModifiers" + }, + { + "anyOf": [ { - "type": "string" + "oneOf": [ + { + "$ref": "#/definitions/signalRef" + }, + { + "type": "object", + "properties": { + "value": { + "enum": [ + "left", + "right", + "top", + "bottom" + ] + } + }, + "required": [ + "value" + ] + }, + { + "type": "object", + "properties": { + "field": { + "$ref": "#/definitions/field" + } + }, + "required": [ + "field" + ] + }, + { + "type": "object", + "properties": { + "range": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "range" + ] + } + ] }, { - "type": "number" + "type": "object", + "required": [ + "scale", + "value" + ] }, { - "$ref": "#/refs/signal" + "type": "object", + "required": [ + "scale", + "band" + ] }, { - "type": "array", - "items": { - "$ref": "#/refs/numberOrSignal" - } + "type": "object", + "required": [ + "offset" + ] } ] } - }, + ] + } + ] + } + }, + { + "allOf": [ + { + "$ref": "#/definitions/stringModifiers" + }, + { + "anyOf": [ { - "type": "object", - "properties": { - "scheme": { - "oneOf": [ - { - "type": "string" - }, - { - "type": "array", - "items": { - "oneOf": [ - { - "type": "string" - }, - { - "$ref": "#/refs/signal" - } - ] - } - }, - { - "$ref": "#/refs/signal" + "oneOf": [ + { + "$ref": "#/definitions/signalRef" + }, + { + "type": "object", + "properties": { + "value": { + "enum": [ + "left", + "right", + "top", + "bottom" + ] } + }, + "required": [ + "value" ] }, - "count": { - "$ref": "#/refs/numberOrSignal" - }, - "extent": { - "oneOf": [ - { - "type": "array", - "items": { - "$ref": "#/refs/numberOrSignal" - }, - "numItems": 2 - }, - { - "$ref": "#/refs/signal" + { + "type": "object", + "properties": { + "field": { + "$ref": "#/definitions/field" } + }, + "required": [ + "field" + ] + }, + { + "type": "object", + "properties": { + "range": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "range" ] } - }, - "required": [ - "scheme" - ], - "additionalProperties": false + ] }, { - "$ref": "#/refs/signal" - } - ] - }, - "interpolate": { - "$ref": "#/refs/scaleInterpolate" - }, - "nice": { - "oneOf": [ - { - "type": "boolean" + "type": "object", + "required": [ + "scale", + "value" + ] }, { - "type": "number" + "type": "object", + "required": [ + "scale", + "band" + ] }, { - "$ref": "#/refs/signal" + "type": "object", + "required": [ + "offset" + ] } ] - }, - "zero": { - "$ref": "#/refs/booleanOrSignal" - }, - "name": { - "type": "string" - }, - "domain": { - "oneOf": [ - { - "type": "array", - "items": { - "oneOf": [ - { - "type": "null" - }, - { - "type": "boolean" - }, + } + ] + } + ] + }, + "strokeCapValue": { + "oneOf": [ + { + "type": "array", + "items": { + "allOf": [ + { + "$ref": "#/definitions/rule" + }, + { + "allOf": [ + { + "$ref": "#/definitions/stringModifiers" + }, + { + "anyOf": [ { - "type": "string" + "oneOf": [ + { + "$ref": "#/definitions/signalRef" + }, + { + "type": "object", + "properties": { + "value": { + "enum": [ + "butt", + "round", + "square" + ] + } + }, + "required": [ + "value" + ] + }, + { + "type": "object", + "properties": { + "field": { + "$ref": "#/definitions/field" + } + }, + "required": [ + "field" + ] + }, + { + "type": "object", + "properties": { + "range": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "range" + ] + } + ] }, { - "type": "number" + "type": "object", + "required": [ + "scale", + "value" + ] }, { - "$ref": "#/refs/signal" + "type": "object", + "required": [ + "scale", + "band" + ] }, { - "type": "array", - "items": { - "$ref": "#/refs/numberOrSignal" - } + "type": "object", + "required": [ + "offset" + ] } ] } - }, + ] + } + ] + } + }, + { + "allOf": [ + { + "$ref": "#/definitions/stringModifiers" + }, + { + "anyOf": [ { - "$ref": "#/refs/scaleData" + "oneOf": [ + { + "$ref": "#/definitions/signalRef" + }, + { + "type": "object", + "properties": { + "value": { + "enum": [ + "butt", + "round", + "square" + ] + } + }, + "required": [ + "value" + ] + }, + { + "type": "object", + "properties": { + "field": { + "$ref": "#/definitions/field" + } + }, + "required": [ + "field" + ] + }, + { + "type": "object", + "properties": { + "range": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "range" + ] + } + ] }, { - "$ref": "#/refs/signal" - } - ] - }, - "domainMin": { - "$ref": "#/refs/numberOrSignal" - }, - "domainMax": { - "$ref": "#/refs/numberOrSignal" - }, - "domainMid": { - "$ref": "#/refs/numberOrSignal" - }, - "domainRaw": { - "oneOf": [ - { - "type": "null" + "type": "object", + "required": [ + "scale", + "value" + ] }, { - "type": "array" + "type": "object", + "required": [ + "scale", + "band" + ] }, { - "$ref": "#/refs/signal" + "type": "object", + "required": [ + "offset" + ] } ] - }, - "reverse": { - "$ref": "#/refs/booleanOrSignal" - }, - "round": { - "$ref": "#/refs/booleanOrSignal" } - }, - "required": [ - "type", - "name" - ], - "additionalProperties": false - }, - { - "type": "object", - "properties": { - "type": { - "enum": [ - "quantile" - ] - }, - "range": { - "oneOf": [ - { - "enum": [ - "width", - "height", - "symbol", - "category", - "ordinal", - "ramp", - "diverging", - "heatmap" - ] - }, - { - "type": "array", - "items": { - "oneOf": [ - { - "type": "null" - }, - { - "type": "boolean" - }, + ] + } + ] + }, + "strokeJoinValue": { + "oneOf": [ + { + "type": "array", + "items": { + "allOf": [ + { + "$ref": "#/definitions/rule" + }, + { + "allOf": [ + { + "$ref": "#/definitions/stringModifiers" + }, + { + "anyOf": [ { - "type": "string" + "oneOf": [ + { + "$ref": "#/definitions/signalRef" + }, + { + "type": "object", + "properties": { + "value": { + "enum": [ + "miter", + "round", + "bevel" + ] + } + }, + "required": [ + "value" + ] + }, + { + "type": "object", + "properties": { + "field": { + "$ref": "#/definitions/field" + } + }, + "required": [ + "field" + ] + }, + { + "type": "object", + "properties": { + "range": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "range" + ] + } + ] }, { - "type": "number" + "type": "object", + "required": [ + "scale", + "value" + ] }, { - "$ref": "#/refs/signal" + "type": "object", + "required": [ + "scale", + "band" + ] }, { - "type": "array", - "items": { - "$ref": "#/refs/numberOrSignal" - } + "type": "object", + "required": [ + "offset" + ] } ] } - }, + ] + } + ] + } + }, + { + "allOf": [ + { + "$ref": "#/definitions/stringModifiers" + }, + { + "anyOf": [ { - "type": "object", - "properties": { - "scheme": { - "oneOf": [ - { - "type": "string" - }, - { - "type": "array", - "items": { - "oneOf": [ - { - "type": "string" - }, - { - "$ref": "#/refs/signal" - } - ] - } - }, - { - "$ref": "#/refs/signal" + "oneOf": [ + { + "$ref": "#/definitions/signalRef" + }, + { + "type": "object", + "properties": { + "value": { + "enum": [ + "miter", + "round", + "bevel" + ] } + }, + "required": [ + "value" ] }, - "count": { - "$ref": "#/refs/numberOrSignal" + { + "type": "object", + "properties": { + "field": { + "$ref": "#/definitions/field" + } + }, + "required": [ + "field" + ] }, - "extent": { - "oneOf": [ - { - "type": "array", - "items": { - "$ref": "#/refs/numberOrSignal" - }, - "numItems": 2 - }, - { - "$ref": "#/refs/signal" + { + "type": "object", + "properties": { + "range": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + } + ] } + }, + "required": [ + "range" ] } - }, - "required": [ - "scheme" - ], - "additionalProperties": false + ] }, { - "$ref": "#/refs/signal" - } - ] - }, - "interpolate": { - "$ref": "#/refs/scaleInterpolate" - }, - "name": { - "type": "string" - }, - "domain": { - "oneOf": [ - { - "type": "array", - "items": { - "oneOf": [ - { - "type": "null" - }, - { - "type": "boolean" - }, - { - "type": "string" - }, - { - "type": "number" - }, - { - "$ref": "#/refs/signal" - }, - { - "type": "array", - "items": { - "$ref": "#/refs/numberOrSignal" - } - } - ] - } + "type": "object", + "required": [ + "scale", + "value" + ] }, { - "$ref": "#/refs/scaleData" + "type": "object", + "required": [ + "scale", + "band" + ] }, { - "$ref": "#/refs/signal" + "type": "object", + "required": [ + "offset" + ] } ] - }, - "domainMin": { - "$ref": "#/refs/numberOrSignal" - }, - "domainMax": { - "$ref": "#/refs/numberOrSignal" - }, - "domainMid": { - "$ref": "#/refs/numberOrSignal" - }, - "domainRaw": { - "oneOf": [ - { - "type": "null" - }, - { - "type": "array" - }, - { - "$ref": "#/refs/signal" - } - ] - }, - "reverse": { - "$ref": "#/refs/booleanOrSignal" - }, - "round": { - "$ref": "#/refs/booleanOrSignal" } - }, - "required": [ - "type", - "name" - ], - "additionalProperties": false - }, + ] + } + ] + }, + "baseColorValue": { + "oneOf": [ { - "type": "object", - "properties": { - "type": { - "enum": [ - "bin-ordinal" - ] - }, - "bins": { - "$ref": "#/refs/scaleBins" + "allOf": [ + { + "$ref": "#/definitions/stringModifiers" }, - "range": { - "oneOf": [ - { - "enum": [ - "width", - "height", - "symbol", - "category", - "ordinal", - "ramp", - "diverging", - "heatmap" - ] - }, - { - "type": "array", - "items": { - "oneOf": [ - { - "type": "null" - }, - { - "type": "boolean" - }, - { - "type": "string" - }, - { - "type": "number" - }, - { - "$ref": "#/refs/signal" - }, - { - "type": "array", - "items": { - "$ref": "#/refs/numberOrSignal" - } - } - ] - } - }, + { + "anyOf": [ { - "type": "object", - "properties": { - "scheme": { - "oneOf": [ - { - "type": "string" - }, - { - "type": "array", - "items": { - "oneOf": [ - { - "type": "string" - }, - { - "$ref": "#/refs/signal" - } - ] - } - }, - { - "$ref": "#/refs/signal" + "oneOf": [ + { + "$ref": "#/definitions/signalRef" + }, + { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] } + }, + "required": [ + "value" ] }, - "count": { - "$ref": "#/refs/numberOrSignal" + { + "type": "object", + "properties": { + "field": { + "$ref": "#/definitions/field" + } + }, + "required": [ + "field" + ] }, - "extent": { - "oneOf": [ - { - "type": "array", - "items": { - "$ref": "#/refs/numberOrSignal" - }, - "numItems": 2 - }, - { - "$ref": "#/refs/signal" + { + "type": "object", + "properties": { + "range": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + } + ] } + }, + "required": [ + "range" ] } - }, - "required": [ - "scheme" - ], - "additionalProperties": false - }, - { - "$ref": "#/refs/signal" - } - ] - }, - "interpolate": { - "$ref": "#/refs/scaleInterpolate" - }, - "name": { - "type": "string" - }, - "domain": { - "oneOf": [ - { - "type": "array", - "items": { - "oneOf": [ - { - "type": "null" - }, - { - "type": "boolean" - }, - { - "type": "string" - }, - { - "type": "number" - }, - { - "$ref": "#/refs/signal" - }, - { - "type": "array", - "items": { - "$ref": "#/refs/numberOrSignal" - } - } - ] - } - }, - { - "$ref": "#/refs/scaleData" + ] }, { - "$ref": "#/refs/signal" - } - ] - }, - "domainMin": { - "$ref": "#/refs/numberOrSignal" - }, - "domainMax": { - "$ref": "#/refs/numberOrSignal" - }, - "domainMid": { - "$ref": "#/refs/numberOrSignal" - }, - "domainRaw": { - "oneOf": [ - { - "type": "null" + "type": "object", + "required": [ + "scale", + "value" + ] }, { - "type": "array" + "type": "object", + "required": [ + "scale", + "band" + ] }, { - "$ref": "#/refs/signal" + "type": "object", + "required": [ + "offset" + ] } ] - }, - "reverse": { - "$ref": "#/refs/booleanOrSignal" - }, - "round": { - "$ref": "#/refs/booleanOrSignal" + } + ] + }, + { + "type": "object", + "properties": { + "value": { + "$ref": "#/definitions/linearGradient" } }, "required": [ - "type", - "name" + "value" ], "additionalProperties": false }, { "type": "object", "properties": { - "type": { - "enum": [ - "time", - "utc" - ] + "value": { + "$ref": "#/definitions/radialGradient" + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "gradient": { + "$ref": "#/definitions/field" }, - "nice": { - "oneOf": [ - { - "type": "boolean" - }, - { - "enum": [ - "millisecond", - "second", - "minute", - "hour", - "day", - "week", - "month", - "year" - ] - }, - { - "type": "object", - "properties": { - "interval": { - "oneOf": [ - { - "enum": [ - "millisecond", - "second", - "minute", - "hour", - "day", - "week", - "month", - "year" - ] - }, - { - "$ref": "#/refs/signal" - } - ] - }, - "step": { - "$ref": "#/refs/numberOrSignal" - } - }, - "required": [ - "interval" - ], - "additionalProperties": false - } - ] - }, - "range": { - "oneOf": [ - { - "enum": [ - "width", - "height", - "symbol", - "category", - "ordinal", - "ramp", - "diverging", - "heatmap" - ] - }, - { - "type": "array", - "items": { - "oneOf": [ - { - "type": "null" - }, - { - "type": "boolean" - }, - { - "type": "string" - }, - { - "type": "number" - }, - { - "$ref": "#/refs/signal" - }, - { - "type": "array", - "items": { - "$ref": "#/refs/numberOrSignal" - } - } - ] - } - }, - { - "type": "object", - "properties": { - "scheme": { - "oneOf": [ - { - "type": "string" - }, - { - "type": "array", - "items": { - "oneOf": [ - { - "type": "string" - }, - { - "$ref": "#/refs/signal" - } - ] - } - }, - { - "$ref": "#/refs/signal" - } - ] - }, - "count": { - "$ref": "#/refs/numberOrSignal" - }, - "extent": { - "oneOf": [ - { - "type": "array", - "items": { - "$ref": "#/refs/numberOrSignal" - }, - "numItems": 2 - }, - { - "$ref": "#/refs/signal" - } - ] - } - }, - "required": [ - "scheme" - ], - "additionalProperties": false - }, - { - "$ref": "#/refs/signal" - } - ] - }, - "bins": { - "$ref": "#/refs/scaleBins" - }, - "interpolate": { - "$ref": "#/refs/scaleInterpolate" - }, - "clamp": { - "$ref": "#/refs/booleanOrSignal" - }, - "padding": { - "$ref": "#/refs/numberOrSignal" - }, - "name": { - "type": "string" - }, - "domain": { - "oneOf": [ - { - "type": "array", - "items": { - "oneOf": [ - { - "type": "null" - }, - { - "type": "boolean" - }, - { - "type": "string" - }, - { - "type": "number" - }, - { - "$ref": "#/refs/signal" - }, - { - "type": "array", - "items": { - "$ref": "#/refs/numberOrSignal" - } - } - ] - } - }, - { - "$ref": "#/refs/scaleData" - }, - { - "$ref": "#/refs/signal" - } - ] - }, - "domainMin": { - "$ref": "#/refs/numberOrSignal" - }, - "domainMax": { - "$ref": "#/refs/numberOrSignal" - }, - "domainMid": { - "$ref": "#/refs/numberOrSignal" - }, - "domainRaw": { - "oneOf": [ - { - "type": "null" - }, - { - "type": "array" - }, - { - "$ref": "#/refs/signal" - } - ] + "start": { + "type": "array", + "items": { + "type": "number" + }, + "minItems": 2, + "maxItems": 2 }, - "reverse": { - "$ref": "#/refs/booleanOrSignal" + "stop": { + "type": "array", + "items": { + "type": "number" + }, + "minItems": 2, + "maxItems": 2 }, - "round": { - "$ref": "#/refs/booleanOrSignal" + "count": { + "type": "number" } }, "required": [ - "type", - "name" + "gradient" ], "additionalProperties": false }, { "type": "object", "properties": { - "type": { - "enum": [ - "linear", - "sqrt", - "sequential" - ] - }, - "nice": { + "color": { "oneOf": [ { - "type": "boolean" + "$ref": "#/definitions/colorRGB" }, { - "type": "number" + "$ref": "#/definitions/colorHSL" }, { - "$ref": "#/refs/signal" - } - ] - }, - "zero": { - "$ref": "#/refs/booleanOrSignal" - }, - "range": { - "oneOf": [ - { - "enum": [ - "width", - "height", - "symbol", - "category", - "ordinal", - "ramp", - "diverging", - "heatmap" - ] + "$ref": "#/definitions/colorLAB" }, { - "type": "array", - "items": { - "oneOf": [ - { - "type": "null" - }, - { - "type": "boolean" - }, - { - "type": "string" - }, - { - "type": "number" - }, - { - "$ref": "#/refs/signal" - }, - { - "type": "array", - "items": { - "$ref": "#/refs/numberOrSignal" - } - } - ] - } + "$ref": "#/definitions/colorHCL" + } + ] + } + }, + "required": [ + "color" + ], + "additionalProperties": false + } + ] + }, + "colorRGB": { + "type": "object", + "properties": { + "r": { + "$ref": "#/definitions/numberValue" + }, + "g": { + "$ref": "#/definitions/numberValue" + }, + "b": { + "$ref": "#/definitions/numberValue" + } + }, + "required": [ + "r", + "g", + "b" + ] + }, + "colorHSL": { + "type": "object", + "properties": { + "h": { + "$ref": "#/definitions/numberValue" + }, + "s": { + "$ref": "#/definitions/numberValue" + }, + "l": { + "$ref": "#/definitions/numberValue" + } + }, + "required": [ + "h", + "s", + "l" + ] + }, + "colorLAB": { + "type": "object", + "properties": { + "l": { + "$ref": "#/definitions/numberValue" + }, + "a": { + "$ref": "#/definitions/numberValue" + }, + "b": { + "$ref": "#/definitions/numberValue" + } + }, + "required": [ + "l", + "a", + "b" + ] + }, + "colorHCL": { + "type": "object", + "properties": { + "h": { + "$ref": "#/definitions/numberValue" + }, + "c": { + "$ref": "#/definitions/numberValue" + }, + "l": { + "$ref": "#/definitions/numberValue" + } + }, + "required": [ + "h", + "c", + "l" + ] + }, + "colorValue": { + "oneOf": [ + { + "type": "array", + "items": { + "allOf": [ + { + "$ref": "#/definitions/rule" + }, + { + "$ref": "#/definitions/baseColorValue" + } + ] + } + }, + { + "$ref": "#/definitions/baseColorValue" + } + ] + }, + "gradientStops": { + "type": "array", + "items": { + "type": "object", + "properties": { + "offset": { + "type": "number" + }, + "color": { + "type": "string" + } + }, + "required": [ + "offset", + "color" + ], + "additionalProperties": false + } + }, + "linearGradient": { + "type": "object", + "properties": { + "gradient": { + "enum": [ + "linear" + ] + }, + "id": { + "type": "string" + }, + "x1": { + "type": "number" + }, + "y1": { + "type": "number" + }, + "x2": { + "type": "number" + }, + "y2": { + "type": "number" + }, + "stops": { + "$ref": "#/definitions/gradientStops" + } + }, + "required": [ + "gradient", + "stops" + ], + "additionalProperties": false + }, + "radialGradient": { + "type": "object", + "properties": { + "gradient": { + "enum": [ + "radial" + ] + }, + "id": { + "type": "string" + }, + "x1": { + "type": "number" + }, + "y1": { + "type": "number" + }, + "r1": { + "type": "number" + }, + "x2": { + "type": "number" + }, + "y2": { + "type": "number" + }, + "r2": { + "type": "number" + }, + "stops": { + "$ref": "#/definitions/gradientStops" + } + }, + "required": [ + "gradient", + "stops" + ], + "additionalProperties": false + }, + "expr": { + "type": "object", + "properties": { + "expr": { + "type": "string" + }, + "as": { + "type": "string" + } + }, + "required": [ + "expr" + ] + }, + "exprString": { + "type": "string" + }, + "layout": { + "oneOf": [ + { + "type": "object", + "properties": { + "align": { + "oneOf": [ + { + "oneOf": [ + { + "enum": [ + "all", + "each", + "none" + ] + }, + { + "$ref": "#/definitions/signalRef" + } + ] }, { "type": "object", "properties": { - "scheme": { + "row": { "oneOf": [ { - "type": "string" - }, - { - "type": "array", - "items": { - "oneOf": [ - { - "type": "string" - }, - { - "$ref": "#/refs/signal" - } - ] - } + "enum": [ + "all", + "each", + "none" + ] }, { - "$ref": "#/refs/signal" + "$ref": "#/definitions/signalRef" } ] }, - "count": { - "$ref": "#/refs/numberOrSignal" - }, - "extent": { + "column": { "oneOf": [ { - "type": "array", - "items": { - "$ref": "#/refs/numberOrSignal" - }, - "numItems": 2 + "enum": [ + "all", + "each", + "none" + ] }, { - "$ref": "#/refs/signal" + "$ref": "#/definitions/signalRef" } ] } }, - "required": [ - "scheme" - ], "additionalProperties": false - }, - { - "$ref": "#/refs/signal" } ] }, - "bins": { - "$ref": "#/refs/scaleBins" - }, - "interpolate": { - "$ref": "#/refs/scaleInterpolate" - }, - "clamp": { - "$ref": "#/refs/booleanOrSignal" - }, - "padding": { - "$ref": "#/refs/numberOrSignal" - }, - "name": { - "type": "string" - }, - "domain": { + "bounds": { "oneOf": [ { - "type": "array", - "items": { - "oneOf": [ - { - "type": "null" - }, - { - "type": "boolean" - }, - { - "type": "string" - }, - { - "type": "number" - }, - { - "$ref": "#/refs/signal" - }, - { - "type": "array", - "items": { - "$ref": "#/refs/numberOrSignal" - } - } - ] - } - }, - { - "$ref": "#/refs/scaleData" + "enum": [ + "full", + "flush" + ] }, { - "$ref": "#/refs/signal" + "$ref": "#/definitions/signalRef" } ] }, - "domainMin": { - "$ref": "#/refs/numberOrSignal" - }, - "domainMax": { - "$ref": "#/refs/numberOrSignal" - }, - "domainMid": { - "$ref": "#/refs/numberOrSignal" - }, - "domainRaw": { + "center": { "oneOf": [ { - "type": "null" + "type": "boolean" }, { - "type": "array" + "$ref": "#/definitions/signalRef" }, { - "$ref": "#/refs/signal" + "type": "object", + "properties": { + "row": { + "$ref": "#/definitions/booleanOrSignal" + }, + "column": { + "$ref": "#/definitions/booleanOrSignal" + } + }, + "additionalProperties": false } ] }, - "reverse": { - "$ref": "#/refs/booleanOrSignal" - }, - "round": { - "$ref": "#/refs/booleanOrSignal" - } - }, - "required": [ - "name" - ], - "additionalProperties": false - }, - { - "type": "object", - "properties": { - "type": { - "enum": [ - "log" - ] - }, - "base": { - "$ref": "#/refs/numberOrSignal" + "columns": { + "$ref": "#/definitions/numberOrSignal" }, - "nice": { + "padding": { "oneOf": [ { - "type": "boolean" + "type": "number" }, { - "type": "number" + "$ref": "#/definitions/signalRef" }, { - "$ref": "#/refs/signal" + "type": "object", + "properties": { + "row": { + "$ref": "#/definitions/numberOrSignal" + }, + "column": { + "$ref": "#/definitions/numberOrSignal" + } + }, + "additionalProperties": false } ] }, - "zero": { - "$ref": "#/refs/booleanOrSignal" - }, - "range": { + "offset": { "oneOf": [ { - "enum": [ - "width", - "height", - "symbol", - "category", - "ordinal", - "ramp", - "diverging", - "heatmap" - ] + "type": "number" }, { - "type": "array", - "items": { - "oneOf": [ - { - "type": "null" - }, - { - "type": "boolean" - }, - { - "type": "string" - }, - { - "type": "number" - }, - { - "$ref": "#/refs/signal" - }, - { - "type": "array", - "items": { - "$ref": "#/refs/numberOrSignal" - } - } - ] - } + "$ref": "#/definitions/signalRef" }, { "type": "object", "properties": { - "scheme": { - "oneOf": [ - { - "type": "string" - }, - { - "type": "array", - "items": { - "oneOf": [ - { - "type": "string" - }, - { - "$ref": "#/refs/signal" - } - ] - } - }, - { - "$ref": "#/refs/signal" - } - ] + "rowHeader": { + "$ref": "#/definitions/numberOrSignal" }, - "count": { - "$ref": "#/refs/numberOrSignal" + "rowFooter": { + "$ref": "#/definitions/numberOrSignal" }, - "extent": { - "oneOf": [ - { - "type": "array", - "items": { - "$ref": "#/refs/numberOrSignal" - }, - "numItems": 2 - }, - { - "$ref": "#/refs/signal" - } - ] + "rowTitle": { + "$ref": "#/definitions/numberOrSignal" + }, + "columnHeader": { + "$ref": "#/definitions/numberOrSignal" + }, + "columnFooter": { + "$ref": "#/definitions/numberOrSignal" + }, + "columnTitle": { + "$ref": "#/definitions/numberOrSignal" } }, - "required": [ - "scheme" - ], "additionalProperties": false - }, - { - "$ref": "#/refs/signal" } ] }, - "bins": { - "$ref": "#/refs/scaleBins" - }, - "interpolate": { - "$ref": "#/refs/scaleInterpolate" - }, - "clamp": { - "$ref": "#/refs/booleanOrSignal" - }, - "padding": { - "$ref": "#/refs/numberOrSignal" - }, - "name": { - "type": "string" - }, - "domain": { + "headerBand": { "oneOf": [ { - "type": "array", - "items": { - "oneOf": [ - { - "type": "null" - }, - { - "type": "boolean" - }, - { - "type": "string" - }, - { - "type": "number" - }, - { - "$ref": "#/refs/signal" - }, - { - "type": "array", - "items": { - "$ref": "#/refs/numberOrSignal" - } - } - ] - } + "$ref": "#/definitions/numberOrSignal" }, { - "$ref": "#/refs/scaleData" + "type": "null" }, { - "$ref": "#/refs/signal" + "type": "object", + "properties": { + "row": { + "$ref": "#/definitions/numberOrSignal" + }, + "column": { + "$ref": "#/definitions/numberOrSignal" + } + }, + "additionalProperties": false } ] }, - "domainMin": { - "$ref": "#/refs/numberOrSignal" - }, - "domainMax": { - "$ref": "#/refs/numberOrSignal" - }, - "domainMid": { - "$ref": "#/refs/numberOrSignal" - }, - "domainRaw": { + "footerBand": { "oneOf": [ { - "type": "null" + "$ref": "#/definitions/numberOrSignal" }, { - "type": "array" + "type": "null" }, { - "$ref": "#/refs/signal" + "type": "object", + "properties": { + "row": { + "$ref": "#/definitions/numberOrSignal" + }, + "column": { + "$ref": "#/definitions/numberOrSignal" + } + }, + "additionalProperties": false } ] }, - "reverse": { - "$ref": "#/refs/booleanOrSignal" - }, - "round": { - "$ref": "#/refs/booleanOrSignal" - } - }, - "required": [ - "type", - "name" - ], - "additionalProperties": false - }, - { - "type": "object", - "properties": { - "type": { - "enum": [ - "pow" - ] - }, - "exponent": { - "$ref": "#/refs/numberOrSignal" - }, - "nice": { + "titleBand": { "oneOf": [ { - "type": "boolean" + "$ref": "#/definitions/numberOrSignal" }, { - "type": "number" + "type": "null" }, { - "$ref": "#/refs/signal" + "type": "object", + "properties": { + "row": { + "$ref": "#/definitions/numberOrSignal" + }, + "column": { + "$ref": "#/definitions/numberOrSignal" + } + }, + "additionalProperties": false } ] }, - "zero": { - "$ref": "#/refs/booleanOrSignal" - }, - "range": { + "titleAnchor": { "oneOf": [ { - "enum": [ - "width", - "height", - "symbol", - "category", - "ordinal", - "ramp", - "diverging", - "heatmap" + "oneOf": [ + { + "enum": [ + "start", + "end" + ] + }, + { + "$ref": "#/definitions/signalRef" + } ] }, - { - "type": "array", - "items": { - "oneOf": [ - { - "type": "null" - }, - { - "type": "boolean" - }, - { - "type": "string" - }, - { - "type": "number" - }, - { - "$ref": "#/refs/signal" - }, - { - "type": "array", - "items": { - "$ref": "#/refs/numberOrSignal" - } - } - ] - } - }, { "type": "object", "properties": { - "scheme": { + "row": { "oneOf": [ { - "type": "string" - }, - { - "type": "array", - "items": { - "oneOf": [ - { - "type": "string" - }, - { - "$ref": "#/refs/signal" - } - ] - } + "enum": [ + "start", + "end" + ] }, { - "$ref": "#/refs/signal" + "$ref": "#/definitions/signalRef" } ] }, - "count": { - "$ref": "#/refs/numberOrSignal" - }, - "extent": { + "column": { "oneOf": [ { - "type": "array", - "items": { - "$ref": "#/refs/numberOrSignal" - }, - "numItems": 2 + "enum": [ + "start", + "end" + ] }, { - "$ref": "#/refs/signal" + "$ref": "#/definitions/signalRef" } ] } }, - "required": [ - "scheme" - ], "additionalProperties": false - }, - { - "$ref": "#/refs/signal" } ] + } + }, + "additionalProperties": false + }, + { + "$ref": "#/definitions/signalRef" + } + ] + }, + "guideEncode": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "interactive": { + "type": "boolean", + "default": false + }, + "style": { + "$ref": "#/definitions/style" + } + }, + "additionalProperties": false, + "patternProperties": { + "^(?!interactive|name|style).+$": { + "$ref": "#/definitions/encodeEntry" + } + } + }, + "legend": { + "allOf": [ + { + "type": "object", + "properties": { + "size": { + "type": "string" }, - "bins": { - "$ref": "#/refs/scaleBins" + "shape": { + "type": "string" }, - "interpolate": { - "$ref": "#/refs/scaleInterpolate" + "fill": { + "type": "string" }, - "clamp": { - "$ref": "#/refs/booleanOrSignal" + "stroke": { + "type": "string" }, - "padding": { - "$ref": "#/refs/numberOrSignal" + "opacity": { + "type": "string" }, - "name": { + "strokeDash": { "type": "string" }, - "domain": { + "strokeWidth": { + "type": "string" + }, + "type": { + "enum": [ + "gradient", + "symbol" + ] + }, + "direction": { + "enum": [ + "vertical", + "horizontal" + ] + }, + "orient": { "oneOf": [ { - "type": "array", - "items": { - "oneOf": [ - { - "type": "null" - }, - { - "type": "boolean" - }, - { - "type": "string" - }, - { - "type": "number" - }, - { - "$ref": "#/refs/signal" - }, - { - "type": "array", - "items": { - "$ref": "#/refs/numberOrSignal" - } - } - ] - } - }, - { - "$ref": "#/refs/scaleData" + "enum": [ + "none", + "left", + "right", + "top", + "bottom", + "top-left", + "top-right", + "bottom-left", + "bottom-right" + ], + "default": "right" }, { - "$ref": "#/refs/signal" + "$ref": "#/definitions/signalRef" } ] }, - "domainMin": { - "$ref": "#/refs/numberOrSignal" + "tickCount": { + "$ref": "#/definitions/tickCount" }, - "domainMax": { - "$ref": "#/refs/numberOrSignal" + "tickMinStep": { + "$ref": "#/definitions/numberOrSignal" }, - "domainMid": { - "$ref": "#/refs/numberOrSignal" + "symbolLimit": { + "$ref": "#/definitions/numberOrSignal" }, - "domainRaw": { + "values": { + "$ref": "#/definitions/arrayOrSignal" + }, + "zindex": { + "type": "number" + }, + "aria": { + "type": "boolean" + }, + "description": { + "type": "string" + }, + "cornerRadius": { + "oneOf": [ + { + "type": "number" + }, + { + "$ref": "#/definitions/numberValue" + } + ] + }, + "fillColor": { "oneOf": [ { "type": "null" }, { - "type": "array" + "type": "string" }, { - "$ref": "#/refs/signal" + "$ref": "#/definitions/colorValue" } ] }, - "reverse": { - "$ref": "#/refs/booleanOrSignal" + "offset": { + "oneOf": [ + { + "type": "number" + }, + { + "$ref": "#/definitions/numberValue" + } + ] }, - "round": { - "$ref": "#/refs/booleanOrSignal" - } - }, - "required": [ - "type", - "name" - ], - "additionalProperties": false - }, - { - "type": "object", - "properties": { - "type": { - "enum": [ - "symlog" + "padding": { + "oneOf": [ + { + "type": "number" + }, + { + "$ref": "#/definitions/numberValue" + } ] }, - "constant": { - "$ref": "#/refs/numberOrSignal" + "strokeColor": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + }, + { + "$ref": "#/definitions/colorValue" + } + ] }, - "nice": { + "legendX": { "oneOf": [ { - "type": "boolean" + "type": "number" }, + { + "$ref": "#/definitions/numberValue" + } + ] + }, + "legendY": { + "oneOf": [ { "type": "number" }, { - "$ref": "#/refs/signal" + "$ref": "#/definitions/numberValue" } ] }, - "zero": { - "$ref": "#/refs/booleanOrSignal" + "title": { + "$ref": "#/definitions/textOrSignal" }, - "range": { + "titleAlign": { "oneOf": [ { "enum": [ - "width", - "height", - "symbol", - "category", - "ordinal", - "ramp", - "diverging", - "heatmap" + "left", + "right", + "center" ] }, { - "type": "array", - "items": { - "oneOf": [ - { - "type": "null" - }, - { - "type": "boolean" - }, - { - "type": "string" - }, - { - "type": "number" - }, - { - "$ref": "#/refs/signal" - }, - { - "type": "array", - "items": { - "$ref": "#/refs/numberOrSignal" - } - } - ] - } - }, + "$ref": "#/definitions/alignValue" + } + ] + }, + "titleAnchor": { + "oneOf": [ { - "type": "object", - "properties": { - "scheme": { - "oneOf": [ - { - "type": "string" - }, - { - "type": "array", - "items": { - "oneOf": [ - { - "type": "string" - }, - { - "$ref": "#/refs/signal" - } - ] - } - }, - { - "$ref": "#/refs/signal" - } - ] - }, - "count": { - "$ref": "#/refs/numberOrSignal" - }, - "extent": { - "oneOf": [ - { - "type": "array", - "items": { - "$ref": "#/refs/numberOrSignal" - }, - "numItems": 2 - }, - { - "$ref": "#/refs/signal" - } - ] - } - }, - "required": [ - "scheme" - ], - "additionalProperties": false + "enum": [ + null, + "start", + "middle", + "end" + ] }, { - "$ref": "#/refs/signal" + "$ref": "#/definitions/anchorValue" } ] }, - "bins": { - "$ref": "#/refs/scaleBins" - }, - "interpolate": { - "$ref": "#/refs/scaleInterpolate" - }, - "clamp": { - "$ref": "#/refs/booleanOrSignal" - }, - "padding": { - "$ref": "#/refs/numberOrSignal" - }, - "name": { - "type": "string" + "titleBaseline": { + "oneOf": [ + { + "enum": [ + "top", + "middle", + "bottom", + "alphabetic", + "line-top", + "line-bottom" + ] + }, + { + "$ref": "#/definitions/baselineValue" + } + ] }, - "domain": { + "titleColor": { "oneOf": [ { - "type": "array", - "items": { - "oneOf": [ - { - "type": "null" - }, - { - "type": "boolean" - }, - { - "type": "string" - }, - { - "type": "number" - }, - { - "$ref": "#/refs/signal" - }, - { - "type": "array", - "items": { - "$ref": "#/refs/numberOrSignal" - } - } - ] - } + "type": "null" }, { - "$ref": "#/refs/scaleData" + "type": "string" }, { - "$ref": "#/refs/signal" + "$ref": "#/definitions/colorValue" } ] }, - "domainMin": { - "$ref": "#/refs/numberOrSignal" - }, - "domainMax": { - "$ref": "#/refs/numberOrSignal" + "titleFont": { + "oneOf": [ + { + "type": "string" + }, + { + "$ref": "#/definitions/stringValue" + } + ] }, - "domainMid": { - "$ref": "#/refs/numberOrSignal" + "titleFontSize": { + "oneOf": [ + { + "type": "number" + }, + { + "$ref": "#/definitions/numberValue" + } + ] }, - "domainRaw": { + "titleFontStyle": { "oneOf": [ { - "type": "null" + "type": "string" }, { - "type": "array" + "$ref": "#/definitions/stringValue" + } + ] + }, + "titleFontWeight": { + "oneOf": [ + { + "enum": [ + null, + "normal", + "bold", + "lighter", + "bolder", + "100", + "200", + "300", + "400", + "500", + "600", + "700", + "800", + "900", + 100, + 200, + 300, + 400, + 500, + 600, + 700, + 800, + 900 + ] }, { - "$ref": "#/refs/signal" + "$ref": "#/definitions/fontWeightValue" } ] }, - "reverse": { - "$ref": "#/refs/booleanOrSignal" + "titleLimit": { + "oneOf": [ + { + "type": "number" + }, + { + "$ref": "#/definitions/numberValue" + } + ] }, - "round": { - "$ref": "#/refs/booleanOrSignal" - } - }, - "required": [ - "type", - "name" - ], - "additionalProperties": false - } - ] - }, - "scope": { - "type": "object", - "properties": { - "encode": { - "$ref": "#/defs/encode" - }, - "layout": { - "$ref": "#/defs/layout" - }, - "signals": { - "type": "array", - "items": { - "$ref": "#/defs/signal" - } - }, - "data": { - "type": "array", - "items": { - "$ref": "#/defs/data" - } - }, - "scales": { - "type": "array", - "items": { - "$ref": "#/defs/scale" - } - }, - "projections": { - "type": "array", - "items": { - "$ref": "#/defs/projection" - } - }, - "axes": { - "type": "array", - "items": { - "$ref": "#/defs/axis" - } - }, - "legends": { - "type": "array", - "items": { - "$ref": "#/defs/legend" - } - }, - "title": { - "$ref": "#/defs/title" - }, - "marks": { - "type": "array", - "items": { - "oneOf": [ - { - "$ref": "#/defs/markGroup" - }, - { - "$ref": "#/defs/markVisual" - } - ] - } - }, - "usermeta": { - "type": "object" - } - } - }, - "signalName": { - "type": "string", - "not": { - "enum": [ - "parent", - "datum", - "event", - "item" - ] - } - }, - "signal": { - "oneOf": [ - { - "type": "object", - "properties": { - "name": { - "$ref": "#/defs/signalName" - }, - "description": { - "type": "string" - }, - "push": { - "enum": [ - "outer" - ] - }, - "on": { - "$ref": "#/defs/onEvents" - } - }, - "required": [ - "name", - "push" - ], - "additionalProperties": false - }, - { - "type": "object", - "properties": { - "name": { - "$ref": "#/defs/signalName" - }, - "description": { - "type": "string" - }, - "value": {}, - "react": { - "type": "boolean", - "default": true - }, - "update": { - "$ref": "#/refs/exprString" - }, - "on": { - "$ref": "#/defs/onEvents" - }, - "bind": { - "$ref": "#/defs/bind" - } - }, - "required": [ - "name" - ], - "additionalProperties": false - }, - { - "type": "object", - "properties": { - "name": { - "$ref": "#/defs/signalName" - }, - "description": { - "type": "string" - }, - "value": {}, - "init": { - "$ref": "#/refs/exprString" - }, - "on": { - "$ref": "#/defs/onEvents" - }, - "bind": { - "$ref": "#/defs/bind" - } - }, - "required": [ - "name", - "init" - ], - "additionalProperties": false - } - ] - }, - "stream": { - "allOf": [ - { - "type": "object", - "properties": { - "between": { - "type": "array", - "items": { - "$ref": "#/defs/stream" - }, - "minItems": 2, - "maxItems": 2 - }, - "marktype": { - "type": "string" - }, - "markname": { - "type": "string" - }, - "filter": { + "titleLineHeight": { "oneOf": [ { - "$ref": "#/refs/exprString" + "type": "number" }, { - "type": "array", - "items": { - "$ref": "#/refs/exprString" - }, - "minItems": 1 + "$ref": "#/definitions/numberValue" } ] }, - "throttle": { - "type": "number" - }, - "debounce": { - "type": "number" - }, - "consume": { - "type": "boolean" - } - } - }, - { - "oneOf": [ - { - "type": "object", - "properties": { - "type": { - "type": "string" + "titleOpacity": { + "oneOf": [ + { + "type": "number" }, - "source": { - "type": "string" - } - }, - "required": [ - "type" - ] - }, - { - "type": "object", - "properties": { - "stream": { - "$ref": "#/defs/stream" + { + "$ref": "#/definitions/numberValue" } - }, - "required": [ - "stream" ] }, - { - "type": "object", - "properties": { - "merge": { - "type": "array", - "items": { - "$ref": "#/defs/stream" - }, - "minItems": 1 - } - }, - "required": [ - "merge" - ] - } - ] - } - ] - }, - "title": { - "oneOf": [ - { - "type": "string" - }, - { - "type": "object", - "properties": { - "orient": { + "titleOrient": { "oneOf": [ { "enum": [ - "none", "left", "right", "top", "bottom" - ], - "default": "top" + ] }, { - "$ref": "#/refs/signal" + "$ref": "#/definitions/orientValue" } ] }, - "anchor": { + "titlePadding": { "oneOf": [ { - "enum": [ - null, - "start", - "middle", - "end" - ] + "type": "number" }, { - "$ref": "#/refs/anchorValue" + "$ref": "#/definitions/numberValue" } ] }, - "frame": { + "gradientLength": { + "$ref": "#/definitions/numberOrSignal" + }, + "gradientOpacity": { "oneOf": [ { - "enum": [ - "group", - "bounds" - ] + "type": "number" }, { - "$ref": "#/refs/stringValue" + "$ref": "#/definitions/numberValue" } ] }, - "offset": { + "gradientStrokeColor": { "oneOf": [ { - "type": "number" + "type": "null" + }, + { + "type": "string" }, { - "$ref": "#/refs/numberValue" + "$ref": "#/definitions/colorValue" } ] }, - "limit": { + "gradientStrokeWidth": { "oneOf": [ { "type": "number" }, { - "$ref": "#/refs/numberValue" + "$ref": "#/definitions/numberValue" } ] }, - "text": { - "$ref": "#/refs/textOrSignal" + "gradientThickness": { + "$ref": "#/definitions/numberOrSignal" }, - "subtitle": { - "$ref": "#/refs/textOrSignal" + "clipHeight": { + "$ref": "#/definitions/numberOrSignal" }, - "zindex": { - "type": "number" + "columns": { + "$ref": "#/definitions/numberOrSignal" }, - "align": { + "columnPadding": { + "$ref": "#/definitions/numberOrSignal" + }, + "rowPadding": { + "$ref": "#/definitions/numberOrSignal" + }, + "gridAlign": { "oneOf": [ { "enum": [ - "left", - "right", - "center" + "all", + "each", + "none" ] }, { - "$ref": "#/refs/alignValue" + "$ref": "#/definitions/signalRef" } ] }, - "angle": { + "symbolDash": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "number" + } + }, + { + "$ref": "#/definitions/arrayValue" + } + ] + }, + "symbolDashOffset": { "oneOf": [ { "type": "number" }, { - "$ref": "#/refs/numberValue" + "$ref": "#/definitions/numberValue" } ] }, - "baseline": { + "symbolFillColor": { "oneOf": [ { - "enum": [ - "top", - "middle", - "bottom", - "alphabetic", - "line-top", - "line-bottom" - ] + "type": "null" + }, + { + "type": "string" }, { - "$ref": "#/refs/baselineValue" + "$ref": "#/definitions/colorValue" } ] }, - "dx": { + "symbolOffset": { "oneOf": [ { "type": "number" }, { - "$ref": "#/refs/numberValue" + "$ref": "#/definitions/numberValue" } ] }, - "dy": { + "symbolOpacity": { "oneOf": [ { "type": "number" }, { - "$ref": "#/refs/numberValue" + "$ref": "#/definitions/numberValue" } ] }, - "color": { + "symbolSize": { + "oneOf": [ + { + "type": "number" + }, + { + "$ref": "#/definitions/numberValue" + } + ] + }, + "symbolStrokeColor": { "oneOf": [ { "type": "null" @@ -6186,85 +5969,122 @@ "type": "string" }, { - "$ref": "#/refs/colorValue" + "$ref": "#/definitions/colorValue" } ] }, - "font": { + "symbolStrokeWidth": { "oneOf": [ { - "type": "string" + "type": "number" }, { - "$ref": "#/refs/stringValue" + "$ref": "#/definitions/numberValue" } ] }, - "fontSize": { + "symbolType": { "oneOf": [ { - "type": "number" + "type": "string" }, { - "$ref": "#/refs/numberValue" + "$ref": "#/definitions/stringValue" } ] }, - "fontStyle": { + "format": { "oneOf": [ { "type": "string" }, { - "$ref": "#/refs/stringValue" + "type": "object", + "properties": { + "year": { + "type": "string" + }, + "quarter": { + "type": "string" + }, + "month": { + "type": "string" + }, + "date": { + "type": "string" + }, + "week": { + "type": "string" + }, + "day": { + "type": "string" + }, + "hours": { + "type": "string" + }, + "minutes": { + "type": "string" + }, + "seconds": { + "type": "string" + }, + "milliseconds": { + "type": "string" + } + }, + "additionalProperties": false + }, + { + "$ref": "#/definitions/signalRef" } ] }, - "fontWeight": { + "formatType": { "oneOf": [ { "enum": [ - null, - "normal", - "bold", - "lighter", - "bolder", - "100", - "200", - "300", - "400", - "500", - "600", - "700", - "800", - "900", - 100, - 200, - 300, - 400, - 500, - 600, - 700, - 800, - 900 + "number", + "time", + "utc" ] }, { - "$ref": "#/refs/fontWeightValue" + "$ref": "#/definitions/signalRef" } ] }, - "lineHeight": { + "labelAlign": { "oneOf": [ { - "type": "number" + "enum": [ + "left", + "right", + "center" + ] }, { - "$ref": "#/refs/numberValue" + "$ref": "#/definitions/alignValue" } ] }, - "subtitleColor": { + "labelBaseline": { + "oneOf": [ + { + "enum": [ + "top", + "middle", + "bottom", + "alphabetic", + "line-top", + "line-bottom" + ] + }, + { + "$ref": "#/definitions/baselineValue" + } + ] + }, + "labelColor": { "oneOf": [ { "type": "null" @@ -6273,41 +6093,41 @@ "type": "string" }, { - "$ref": "#/refs/colorValue" + "$ref": "#/definitions/colorValue" } ] }, - "subtitleFont": { + "labelFont": { "oneOf": [ { "type": "string" }, { - "$ref": "#/refs/stringValue" + "$ref": "#/definitions/stringValue" } ] }, - "subtitleFontSize": { + "labelFontSize": { "oneOf": [ { "type": "number" }, { - "$ref": "#/refs/numberValue" + "$ref": "#/definitions/numberValue" } ] }, - "subtitleFontStyle": { + "labelFontStyle": { "oneOf": [ { "type": "string" }, { - "$ref": "#/refs/stringValue" + "$ref": "#/definitions/stringValue" } ] }, - "subtitleFontWeight": { + "labelFontWeight": { "oneOf": [ { "enum": [ @@ -6337,3880 +6157,4623 @@ ] }, { - "$ref": "#/refs/fontWeightValue" + "$ref": "#/definitions/fontWeightValue" } ] }, - "subtitleLineHeight": { + "labelLimit": { "oneOf": [ { "type": "number" }, { - "$ref": "#/refs/numberValue" + "$ref": "#/definitions/numberValue" } ] }, - "subtitlePadding": { - "$ref": "#/refs/numberOrSignal" + "labelOffset": { + "oneOf": [ + { + "type": "number" + }, + { + "$ref": "#/definitions/numberValue" + } + ] }, - "encode": { - "anyOf": [ + "labelOpacity": { + "oneOf": [ { - "type": "object", - "additionalProperties": false, - "patternProperties": { - "^(?!interactive|name|style).+$": { - "$ref": "#/defs/encodeEntry" - } - } + "type": "number" }, { - "type": "object", - "properties": { - "group": { - "$ref": "#/defs/guideEncode" - }, - "title": { - "$ref": "#/defs/guideEncode" - }, - "subtitle": { - "$ref": "#/defs/guideEncode" - } - }, - "additionalProperties": false + "$ref": "#/definitions/numberValue" } ] }, - "name": { - "type": "string" + "labelOverlap": { + "$ref": "#/definitions/labelOverlap" }, - "interactive": { - "type": "boolean" + "labelSeparation": { + "$ref": "#/definitions/numberOrSignal" }, - "style": { - "$ref": "#/refs/style" + "encode": { + "type": "object", + "properties": { + "title": { + "$ref": "#/definitions/guideEncode" + }, + "labels": { + "$ref": "#/definitions/guideEncode" + }, + "legend": { + "$ref": "#/definitions/guideEncode" + }, + "entries": { + "$ref": "#/definitions/guideEncode" + }, + "symbols": { + "$ref": "#/definitions/guideEncode" + }, + "gradient": { + "$ref": "#/definitions/guideEncode" + } + }, + "additionalProperties": false } }, "additionalProperties": false - } - ] - }, - "transform": { - "oneOf": [ - { - "$ref": "#/defs/crossfilterTransform" - }, - { - "$ref": "#/defs/resolvefilterTransform" - }, - { - "$ref": "#/defs/linkpathTransform" - }, - { - "$ref": "#/defs/pieTransform" - }, - { - "$ref": "#/defs/stackTransform" - }, - { - "$ref": "#/defs/forceTransform" }, { - "$ref": "#/defs/contourTransform" - }, - { - "$ref": "#/defs/geojsonTransform" - }, - { - "$ref": "#/defs/geopathTransform" - }, - { - "$ref": "#/defs/geopointTransform" - }, - { - "$ref": "#/defs/geoshapeTransform" - }, - { - "$ref": "#/defs/graticuleTransform" - }, - { - "$ref": "#/defs/heatmapTransform" - }, - { - "$ref": "#/defs/isocontourTransform" - }, - { - "$ref": "#/defs/kde2dTransform" - }, - { - "$ref": "#/defs/nestTransform" - }, - { - "$ref": "#/defs/packTransform" - }, - { - "$ref": "#/defs/partitionTransform" - }, - { - "$ref": "#/defs/stratifyTransform" - }, - { - "$ref": "#/defs/treeTransform" - }, - { - "$ref": "#/defs/treelinksTransform" - }, - { - "$ref": "#/defs/treemapTransform" - }, - { - "$ref": "#/defs/loessTransform" - }, - { - "$ref": "#/defs/regressionTransform" - }, - { - "$ref": "#/defs/aggregateTransform" - }, - { - "$ref": "#/defs/binTransform" - }, - { - "$ref": "#/defs/collectTransform" - }, - { - "$ref": "#/defs/countpatternTransform" - }, - { - "$ref": "#/defs/crossTransform" - }, - { - "$ref": "#/defs/densityTransform" - }, - { - "$ref": "#/defs/dotbinTransform" - }, - { - "$ref": "#/defs/extentTransform" - }, - { - "$ref": "#/defs/filterTransform" - }, - { - "$ref": "#/defs/flattenTransform" - }, - { - "$ref": "#/defs/foldTransform" - }, - { - "$ref": "#/defs/formulaTransform" - }, - { - "$ref": "#/defs/imputeTransform" - }, - { - "$ref": "#/defs/joinaggregateTransform" - }, - { - "$ref": "#/defs/kdeTransform" - }, - { - "$ref": "#/defs/lookupTransform" - }, - { - "$ref": "#/defs/pivotTransform" - }, - { - "$ref": "#/defs/projectTransform" - }, - { - "$ref": "#/defs/quantileTransform" - }, - { - "$ref": "#/defs/sampleTransform" - }, - { - "$ref": "#/defs/sequenceTransform" - }, - { - "$ref": "#/defs/timeunitTransform" - }, - { - "$ref": "#/defs/windowTransform" - }, - { - "$ref": "#/defs/identifierTransform" - }, - { - "$ref": "#/defs/voronoiTransform" - }, - { - "$ref": "#/defs/wordcloudTransform" + "anyOf": [ + { + "type": "object", + "required": [ + "size" + ] + }, + { + "type": "object", + "required": [ + "shape" + ] + }, + { + "type": "object", + "required": [ + "fill" + ] + }, + { + "type": "object", + "required": [ + "stroke" + ] + }, + { + "type": "object", + "required": [ + "opacity" + ] + }, + { + "type": "object", + "required": [ + "strokeDash" + ] + }, + { + "type": "object", + "required": [ + "strokeWidth" + ] + } + ] } ] }, - "transformMark": { + "compare": { "oneOf": [ { - "$ref": "#/defs/crossfilterTransform" - }, - { - "$ref": "#/defs/resolvefilterTransform" - }, - { - "$ref": "#/defs/linkpathTransform" - }, - { - "$ref": "#/defs/pieTransform" - }, - { - "$ref": "#/defs/stackTransform" - }, - { - "$ref": "#/defs/forceTransform" - }, - { - "$ref": "#/defs/geojsonTransform" - }, - { - "$ref": "#/defs/geopathTransform" - }, - { - "$ref": "#/defs/geopointTransform" - }, - { - "$ref": "#/defs/geoshapeTransform" - }, - { - "$ref": "#/defs/heatmapTransform" - }, - { - "$ref": "#/defs/packTransform" - }, - { - "$ref": "#/defs/partitionTransform" - }, - { - "$ref": "#/defs/stratifyTransform" - }, - { - "$ref": "#/defs/treeTransform" - }, - { - "$ref": "#/defs/treemapTransform" - }, - { - "$ref": "#/defs/binTransform" - }, - { - "$ref": "#/defs/collectTransform" - }, - { - "$ref": "#/defs/dotbinTransform" - }, - { - "$ref": "#/defs/extentTransform" - }, - { - "$ref": "#/defs/formulaTransform" - }, - { - "$ref": "#/defs/joinaggregateTransform" - }, - { - "$ref": "#/defs/lookupTransform" - }, - { - "$ref": "#/defs/sampleTransform" - }, - { - "$ref": "#/defs/timeunitTransform" - }, - { - "$ref": "#/defs/windowTransform" - }, - { - "$ref": "#/defs/identifierTransform" - }, - { - "$ref": "#/defs/voronoiTransform" + "type": "object", + "properties": { + "field": { + "oneOf": [ + { + "$ref": "#/definitions/scaleField" + }, + { + "$ref": "#/definitions/expr" + } + ] + }, + "order": { + "$ref": "#/definitions/sortOrder" + } + }, + "additionalProperties": false }, { - "$ref": "#/defs/wordcloudTransform" - } - ] - }, - "crossfilterTransform": { - "type": "object", - "properties": { - "type": { - "enum": [ - "crossfilter" - ] - }, - "signal": { - "type": "string" - }, - "fields": { - "oneOf": [ - { + "type": "object", + "properties": { + "field": { "type": "array", "items": { "oneOf": [ { - "$ref": "#/refs/scaleField" + "$ref": "#/definitions/scaleField" }, { - "$ref": "#/refs/paramField" - }, - { - "$ref": "#/refs/expr" + "$ref": "#/definitions/expr" } ] } }, - { - "$ref": "#/refs/signal" - } - ] - }, - "query": { - "oneOf": [ - { + "order": { "type": "array", - "items": {} - }, - { - "$ref": "#/refs/signal" + "items": { + "$ref": "#/definitions/sortOrder" + } } - ] + }, + "additionalProperties": false + } + ] + }, + "from": { + "type": "object", + "properties": { + "data": { + "type": "string" } }, - "required": [ - "type", - "fields", - "query" - ], "additionalProperties": false }, - "resolvefilterTransform": { + "facet": { "type": "object", "properties": { - "type": { - "enum": [ - "resolvefilter" - ] - }, - "signal": { + "data": { "type": "string" }, - "ignore": { - "anyOf": [ + "facet": { + "oneOf": [ { - "type": "number" + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "data": { + "type": "string" + }, + "field": { + "type": "string" + } + }, + "required": [ + "name", + "data", + "field" + ], + "additionalProperties": false }, { - "$ref": "#/refs/signal" + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "data": { + "type": "string" + }, + "groupby": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "array", + "items": { + "type": "string" + } + } + ] + }, + "aggregate": { + "type": "object", + "properties": { + "cross": { + "type": "boolean" + }, + "fields": { + "type": "array", + "items": { + "type": "string" + } + }, + "ops": { + "type": "array", + "items": { + "type": "string" + } + }, + "as": { + "type": "array", + "items": { + "type": "string" + } + } + }, + "additionalProperties": false + } + }, + "required": [ + "name", + "data", + "groupby" + ], + "additionalProperties": false } ] - }, - "filter": {} + } }, "required": [ - "type", - "ignore", - "filter" + "facet" ], "additionalProperties": false }, - "linkpathTransform": { + "mark": { "type": "object", "properties": { "type": { - "enum": [ - "linkpath" - ] + "$ref": "#/definitions/marktype" }, - "signal": { + "role": { "type": "string" }, - "sourceX": { - "oneOf": [ - { - "$ref": "#/refs/scaleField" - }, - { - "$ref": "#/refs/paramField" - }, - { - "$ref": "#/refs/expr" - } - ], - "default": "source.x" + "name": { + "type": "string" }, - "sourceY": { - "oneOf": [ - { - "$ref": "#/refs/scaleField" - }, - { - "$ref": "#/refs/paramField" - }, - { - "$ref": "#/refs/expr" - } - ], - "default": "source.y" + "description": { + "type": "string" }, - "targetX": { - "oneOf": [ - { - "$ref": "#/refs/scaleField" - }, - { - "$ref": "#/refs/paramField" - }, - { - "$ref": "#/refs/expr" - } - ], - "default": "target.x" + "aria": { + "type": "boolean" }, - "targetY": { - "oneOf": [ - { - "$ref": "#/refs/scaleField" - }, - { - "$ref": "#/refs/paramField" - }, - { - "$ref": "#/refs/expr" - } - ], - "default": "target.y" + "style": { + "$ref": "#/definitions/style" }, - "orient": { - "anyOf": [ - { - "enum": [ - "horizontal", - "vertical", - "radial" - ] - }, - { - "$ref": "#/refs/signal" - } - ], - "default": "vertical" + "key": { + "type": "string" }, - "shape": { - "anyOf": [ - { - "enum": [ - "line", - "arc", - "curve", - "diagonal", - "orthogonal" - ] - }, - { - "$ref": "#/refs/signal" - } - ], - "default": "line" + "clip": { + "$ref": "#/definitions/markclip" }, - "require": { - "$ref": "#/refs/signal" + "sort": { + "$ref": "#/definitions/compare" }, - "as": { - "anyOf": [ - { - "type": "string" - }, - { - "$ref": "#/refs/signal" - } - ], - "default": "path" + "interactive": { + "$ref": "#/definitions/booleanOrSignal" + }, + "encode": { + "$ref": "#/definitions/encode" + }, + "transform": { + "type": "array", + "items": { + "$ref": "#/definitions/transformMark" + } + }, + "on": { + "$ref": "#/definitions/onMarkTrigger" } }, "required": [ "type" - ], - "additionalProperties": false + ] }, - "pieTransform": { - "type": "object", - "properties": { - "type": { - "enum": [ - "pie" - ] - }, - "signal": { - "type": "string" - }, - "field": { - "oneOf": [ - { - "$ref": "#/refs/scaleField" - }, - { - "$ref": "#/refs/paramField" - }, - { - "$ref": "#/refs/expr" - } - ] - }, - "startAngle": { - "anyOf": [ - { - "type": "number" - }, - { - "$ref": "#/refs/signal" - } - ] + "markclip": { + "oneOf": [ + { + "$ref": "#/definitions/booleanOrSignal" }, - "endAngle": { - "anyOf": [ - { - "type": "number" - }, - { - "$ref": "#/refs/signal" + { + "type": "object", + "properties": { + "path": { + "$ref": "#/definitions/stringOrSignal" } + }, + "required": [ + "path" ], - "default": 6.283185307179586 + "additionalProperties": false }, - "sort": { - "anyOf": [ - { - "type": "boolean" - }, - { - "$ref": "#/refs/signal" + { + "type": "object", + "properties": { + "sphere": { + "$ref": "#/definitions/stringOrSignal" } - ] - }, - "as": { - "oneOf": [ - { - "type": "array", - "items": { - "anyOf": [ - { - "type": "string" - }, - { - "$ref": "#/refs/signal" - } - ] - } + }, + "required": [ + "sphere" + ], + "additionalProperties": false + } + ] + }, + "markGroup": { + "allOf": [ + { + "type": "object", + "properties": { + "type": { + "enum": [ + "group" + ] }, - { - "$ref": "#/refs/signal" + "from": { + "oneOf": [ + { + "$ref": "#/definitions/from" + }, + { + "$ref": "#/definitions/facet" + } + ] } - ], - "maxItems": 2, - "minItems": 2, - "default": [ - "startAngle", - "endAngle" + }, + "required": [ + "type" ] + }, + { + "$ref": "#/definitions/mark" + }, + { + "$ref": "#/definitions/scope" } - }, - "required": [ - "type" - ], - "additionalProperties": false + ] }, - "stackTransform": { - "type": "object", - "properties": { - "type": { - "enum": [ - "stack" - ] + "markVisual": { + "allOf": [ + { + "type": "object", + "properties": { + "type": { + "not": { + "enum": [ + "group" + ] + } + }, + "from": { + "$ref": "#/definitions/from" + } + } }, - "signal": { + { + "$ref": "#/definitions/mark" + } + ] + }, + "style": { + "oneOf": [ + { "type": "string" }, - "field": { - "oneOf": [ - { - "$ref": "#/refs/scaleField" - }, - { - "$ref": "#/refs/paramField" - }, - { - "$ref": "#/refs/expr" + { + "type": "array", + "items": { + "type": "string" + } + } + ] + }, + "marktype": { + "type": "string" + }, + "listener": { + "oneOf": [ + { + "$ref": "#/definitions/signalRef" + }, + { + "type": "object", + "properties": { + "scale": { + "type": "string" } + }, + "required": [ + "scale" ] }, - "groupby": { - "oneOf": [ - { - "type": "array", - "items": { + { + "$ref": "#/definitions/stream" + } + ] + }, + "onEvents": { + "type": "array", + "items": { + "allOf": [ + { + "type": "object", + "properties": { + "events": { "oneOf": [ { - "$ref": "#/refs/scaleField" + "$ref": "#/definitions/selector" }, { - "$ref": "#/refs/paramField" + "$ref": "#/definitions/listener" }, { - "$ref": "#/refs/expr" + "type": "array", + "items": { + "$ref": "#/definitions/listener" + }, + "minItems": 1 } ] + }, + "force": { + "type": "boolean" } }, - { - "$ref": "#/refs/signal" - } - ] - }, - "sort": { - "$ref": "#/refs/compare" - }, - "offset": { - "anyOf": [ - { - "enum": [ - "zero", - "center", - "normalize" - ] - }, - { - "$ref": "#/refs/signal" - } - ], - "default": "zero" - }, - "as": { - "oneOf": [ - { - "type": "array", - "items": { - "anyOf": [ - { + "required": [ + "events" + ] + }, + { + "oneOf": [ + { + "type": "object", + "properties": { + "encode": { "type": "string" - }, - { - "$ref": "#/refs/signal" } + }, + "required": [ + "encode" + ] + }, + { + "type": "object", + "properties": { + "update": { + "oneOf": [ + { + "$ref": "#/definitions/exprString" + }, + { + "$ref": "#/definitions/expr" + }, + { + "$ref": "#/definitions/signalRef" + }, + { + "type": "object", + "properties": { + "value": {} + }, + "required": [ + "value" + ] + } + ] + } + }, + "required": [ + "update" ] } - }, - { - "$ref": "#/refs/signal" - } - ], - "maxItems": 2, - "minItems": 2, - "default": [ - "y0", - "y1" - ] - } - }, - "required": [ - "type" - ], - "additionalProperties": false + ] + } + ] + } }, - "forceTransform": { - "type": "object", - "properties": { - "type": { - "enum": [ - "force" - ] - }, - "signal": { - "type": "string" - }, - "static": { - "anyOf": [ - { - "type": "boolean" - }, - { - "$ref": "#/refs/signal" - } - ] - }, - "restart": { - "anyOf": [ - { - "type": "boolean" - }, - { - "$ref": "#/refs/signal" - } - ] - }, - "iterations": { - "anyOf": [ - { + "onTrigger": { + "type": "array", + "items": { + "type": "object", + "properties": { + "trigger": { + "$ref": "#/definitions/exprString" + }, + "insert": { + "$ref": "#/definitions/exprString" + }, + "remove": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "#/definitions/exprString" + } + ] + }, + "toggle": { + "$ref": "#/definitions/exprString" + }, + "modify": { + "$ref": "#/definitions/exprString" + }, + "values": { + "$ref": "#/definitions/exprString" + } + }, + "required": [ + "trigger" + ], + "additionalProperties": false + } + }, + "onMarkTrigger": { + "type": "array", + "items": { + "type": "object", + "properties": { + "trigger": { + "$ref": "#/definitions/exprString" + }, + "modify": { + "$ref": "#/definitions/exprString" + }, + "values": { + "$ref": "#/definitions/exprString" + } + }, + "required": [ + "trigger" + ], + "additionalProperties": false + } + }, + "padding": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "object", + "properties": { + "top": { + "type": "number" + }, + "bottom": { + "type": "number" + }, + "left": { + "type": "number" + }, + "right": { "type": "number" + } + }, + "additionalProperties": false + }, + { + "$ref": "#/definitions/signalRef" + } + ] + }, + "projection": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "type": { + "$ref": "#/definitions/stringOrSignal" + }, + "clipAngle": { + "$ref": "#/definitions/numberOrSignal" + }, + "clipExtent": { + "oneOf": [ + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/numberOrSignal" + }, + "minItems": 2, + "maxItems": 2 + }, + { + "$ref": "#/definitions/signalRef" + } + ] + }, + "minItems": 2, + "maxItems": 2 }, { - "$ref": "#/refs/signal" + "$ref": "#/definitions/signalRef" } - ], - "default": 300 + ] }, - "alpha": { - "anyOf": [ + "scale": { + "$ref": "#/definitions/numberOrSignal" + }, + "translate": { + "oneOf": [ { - "type": "number" + "type": "array", + "items": { + "$ref": "#/definitions/numberOrSignal" + }, + "minItems": 2, + "maxItems": 2 }, { - "$ref": "#/refs/signal" + "$ref": "#/definitions/signalRef" } - ], - "default": 1 + ] }, - "alphaMin": { - "anyOf": [ + "center": { + "oneOf": [ { - "type": "number" + "type": "array", + "items": { + "$ref": "#/definitions/numberOrSignal" + }, + "minItems": 2, + "maxItems": 2 }, { - "$ref": "#/refs/signal" + "$ref": "#/definitions/signalRef" } - ], - "default": 0.001 + ] }, - "alphaTarget": { - "anyOf": [ + "rotate": { + "oneOf": [ { - "type": "number" + "type": "array", + "items": { + "$ref": "#/definitions/numberOrSignal" + }, + "minItems": 2, + "maxItems": 3 }, { - "$ref": "#/refs/signal" + "$ref": "#/definitions/signalRef" } ] }, - "velocityDecay": { - "anyOf": [ + "parallels": { + "oneOf": [ { - "type": "number" + "type": "array", + "items": { + "$ref": "#/definitions/numberOrSignal" + }, + "minItems": 2, + "maxItems": 2 }, { - "$ref": "#/refs/signal" + "$ref": "#/definitions/signalRef" } - ], - "default": 0.4 + ] }, - "forces": { - "type": "array", - "items": { - "oneOf": [ - { - "type": "object", - "properties": { - "force": { - "enum": [ - "center" - ] + "precision": { + "$ref": "#/definitions/numberOrSignal" + }, + "pointRadius": { + "$ref": "#/definitions/numberOrSignal" + }, + "fit": { + "oneOf": [ + { + "type": "object" + }, + { + "type": "array" + } + ] + }, + "extent": { + "oneOf": [ + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/numberOrSignal" + }, + "minItems": 2, + "maxItems": 2 }, - "x": { - "anyOf": [ + { + "$ref": "#/definitions/signalRef" + } + ] + }, + "minItems": 2, + "maxItems": 2 + }, + { + "$ref": "#/definitions/signalRef" + } + ] + }, + "size": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/numberOrSignal" + }, + "minItems": 2, + "maxItems": 2 + }, + { + "$ref": "#/definitions/signalRef" + } + ] + } + }, + "required": [ + "name" + ], + "additionalProperties": true + }, + "scale": { + "oneOf": [ + { + "type": "object", + "properties": { + "type": { + "enum": [ + "identity" + ] + }, + "nice": { + "$ref": "#/definitions/booleanOrSignal" + }, + "name": { + "type": "string" + }, + "domain": { + "oneOf": [ + { + "type": "array", + "items": { + "oneOf": [ { - "type": "number" + "type": "null" }, { - "$ref": "#/refs/signal" - } - ] - }, - "y": { - "anyOf": [ - { - "type": "number" - }, - { - "$ref": "#/refs/signal" - } - ] - } - }, - "required": [ - "force" - ], - "additionalProperties": false - }, - { - "type": "object", - "properties": { - "force": { - "enum": [ - "collide" - ] - }, - "radius": { - "anyOf": [ - { - "type": "number" - }, - { - "$ref": "#/refs/signal" - }, - { - "$ref": "#/refs/expr" - }, - { - "$ref": "#/refs/paramField" - } - ] - }, - "strength": { - "anyOf": [ - { - "type": "number" - }, - { - "$ref": "#/refs/signal" - } - ], - "default": 0.7 - }, - "iterations": { - "anyOf": [ - { - "type": "number" - }, - { - "$ref": "#/refs/signal" - } - ], - "default": 1 - } - }, - "required": [ - "force" - ], - "additionalProperties": false - }, - { - "type": "object", - "properties": { - "force": { - "enum": [ - "nbody" - ] - }, - "strength": { - "anyOf": [ - { - "type": "number" + "type": "boolean" }, { - "$ref": "#/refs/signal" - } - ], - "default": -30 - }, - "theta": { - "anyOf": [ - { - "type": "number" + "type": "string" }, - { - "$ref": "#/refs/signal" - } - ], - "default": 0.9 - }, - "distanceMin": { - "anyOf": [ { "type": "number" }, { - "$ref": "#/refs/signal" - } - ], - "default": 1 - }, - "distanceMax": { - "anyOf": [ - { - "type": "number" + "$ref": "#/definitions/signalRef" }, { - "$ref": "#/refs/signal" + "type": "array", + "items": { + "$ref": "#/definitions/numberOrSignal" + } } ] } }, - "required": [ - "force" - ], - "additionalProperties": false - }, - { - "type": "object", - "properties": { - "force": { - "enum": [ - "link" - ] - }, - "links": { - "type": "string" - }, - "id": { + { + "$ref": "#/definitions/scaleData" + }, + { + "$ref": "#/definitions/signalRef" + } + ] + }, + "domainMin": { + "$ref": "#/definitions/numberOrSignal" + }, + "domainMax": { + "$ref": "#/definitions/numberOrSignal" + }, + "domainMid": { + "$ref": "#/definitions/numberOrSignal" + }, + "domainRaw": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "array" + }, + { + "$ref": "#/definitions/signalRef" + } + ] + }, + "reverse": { + "$ref": "#/definitions/booleanOrSignal" + }, + "round": { + "$ref": "#/definitions/booleanOrSignal" + } + }, + "required": [ + "type", + "name" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "type": { + "enum": [ + "ordinal" + ] + }, + "range": { + "oneOf": [ + { + "enum": [ + "width", + "height", + "symbol", + "category", + "ordinal", + "ramp", + "diverging", + "heatmap" + ] + }, + { + "type": "array", + "items": { "oneOf": [ { - "$ref": "#/refs/scaleField" - }, - { - "$ref": "#/refs/paramField" - }, - { - "$ref": "#/refs/expr" - } - ] - }, - "distance": { - "anyOf": [ - { - "type": "number" - }, - { - "$ref": "#/refs/signal" - }, - { - "$ref": "#/refs/expr" - }, - { - "$ref": "#/refs/paramField" - } - ], - "default": 30 - }, - "strength": { - "anyOf": [ - { - "type": "number" - }, - { - "$ref": "#/refs/signal" + "type": "null" }, { - "$ref": "#/refs/expr" + "type": "boolean" }, { - "$ref": "#/refs/paramField" - } - ] - }, - "iterations": { - "anyOf": [ - { - "type": "number" + "type": "string" }, - { - "$ref": "#/refs/signal" - } - ], - "default": 1 - } - }, - "required": [ - "force" - ], - "additionalProperties": false - }, - { - "type": "object", - "properties": { - "force": { - "enum": [ - "x" - ] - }, - "strength": { - "anyOf": [ { "type": "number" }, { - "$ref": "#/refs/signal" - } - ], - "default": 0.1 - }, - "x": { - "oneOf": [ - { - "$ref": "#/refs/scaleField" - }, - { - "$ref": "#/refs/paramField" + "$ref": "#/definitions/signalRef" }, { - "$ref": "#/refs/expr" + "type": "array", + "items": { + "$ref": "#/definitions/numberOrSignal" + } } ] } }, - "required": [ - "force" - ], - "additionalProperties": false - }, - { - "type": "object", - "properties": { - "force": { - "enum": [ - "y" - ] + { + "type": "object", + "properties": { + "scheme": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "string" + }, + { + "$ref": "#/definitions/signalRef" + } + ] + } + }, + { + "$ref": "#/definitions/signalRef" + } + ] + }, + "count": { + "$ref": "#/definitions/numberOrSignal" + }, + "extent": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/numberOrSignal" + }, + "minItems": 2, + "maxItems": 2 + }, + { + "$ref": "#/definitions/signalRef" + } + ] + } }, - "strength": { - "anyOf": [ + "required": [ + "scheme" + ], + "additionalProperties": false + }, + { + "oneOf": [ + { + "type": "object", + "properties": { + "data": { + "type": "string" + }, + "field": { + "$ref": "#/definitions/stringOrSignal" + }, + "sort": { + "oneOf": [ + { + "type": "boolean" + }, + { + "type": "object", + "properties": { + "field": { + "$ref": "#/definitions/stringOrSignal" + }, + "op": { + "$ref": "#/definitions/stringOrSignal" + }, + "order": { + "$ref": "#/definitions/sortOrder" + } + }, + "additionalProperties": false + } + ] + } + }, + "required": [ + "data", + "field" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "data": { + "type": "string" + }, + "fields": { + "type": "array", + "items": { + "$ref": "#/definitions/stringOrSignal" + }, + "minItems": 1 + }, + "sort": { + "oneOf": [ + { + "type": "boolean" + }, + { + "type": "object", + "properties": { + "op": { + "enum": [ + "count" + ] + }, + "order": { + "$ref": "#/definitions/sortOrder" + } + }, + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "field": { + "$ref": "#/definitions/stringOrSignal" + }, + "op": { + "enum": [ + "count", + "min", + "max" + ] + }, + "order": { + "$ref": "#/definitions/sortOrder" + } + }, + "required": [ + "field", + "op" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "data", + "fields" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "fields": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "data": { + "type": "string" + }, + "field": { + "$ref": "#/definitions/stringOrSignal" + } + }, + "required": [ + "data", + "field" + ], + "additionalProperties": false + }, + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + } + }, + { + "$ref": "#/definitions/signalRef" + } + ] + }, + "minItems": 1 + }, + "sort": { + "oneOf": [ + { + "type": "boolean" + }, + { + "type": "object", + "properties": { + "op": { + "enum": [ + "count" + ] + }, + "order": { + "$ref": "#/definitions/sortOrder" + } + }, + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "field": { + "$ref": "#/definitions/stringOrSignal" + }, + "op": { + "enum": [ + "count", + "min", + "max" + ] + }, + "order": { + "$ref": "#/definitions/sortOrder" + } + }, + "required": [ + "field", + "op" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "fields" + ], + "additionalProperties": false + } + ] + }, + { + "$ref": "#/definitions/signalRef" + } + ] + }, + "interpolate": { + "$ref": "#/definitions/scaleInterpolate" + }, + "domainImplicit": { + "$ref": "#/definitions/booleanOrSignal" + }, + "name": { + "type": "string" + }, + "domain": { + "oneOf": [ + { + "type": "array", + "items": { + "oneOf": [ { - "type": "number" + "type": "null" }, { - "$ref": "#/refs/signal" - } - ], - "default": 0.1 - }, - "y": { - "oneOf": [ + "type": "boolean" + }, + { + "type": "string" + }, { - "$ref": "#/refs/scaleField" + "type": "number" }, { - "$ref": "#/refs/paramField" + "$ref": "#/definitions/signalRef" }, { - "$ref": "#/refs/expr" + "type": "array", + "items": { + "$ref": "#/definitions/numberOrSignal" + } } ] } }, - "required": [ - "force" - ], - "additionalProperties": false - } - ] - } - }, - "as": { - "oneOf": [ - { - "type": "array", - "items": { - "anyOf": [ - { - "type": "string" - }, - { - "$ref": "#/refs/signal" - } - ] - } - }, - { - "$ref": "#/refs/signal" - } - ], - "default": [ - "x", - "y", - "vx", - "vy" - ] - } - }, - "required": [ - "type" - ], - "additionalProperties": false - }, - "contourTransform": { - "type": "object", - "properties": { - "type": { - "enum": [ - "contour" - ] - }, - "signal": { - "type": "string" - }, - "size": { - "oneOf": [ - { - "type": "array", - "items": { - "anyOf": [ - { - "type": "number" - }, - { - "$ref": "#/refs/signal" - } - ] - } - }, - { - "$ref": "#/refs/signal" - } - ], - "maxItems": 2, - "minItems": 2 - }, - "values": { - "oneOf": [ - { - "type": "array", - "items": { - "anyOf": [ - { - "type": "number" - }, - { - "$ref": "#/refs/signal" - } - ] - } - }, - { - "$ref": "#/refs/signal" - } - ] - }, - "x": { - "oneOf": [ - { - "$ref": "#/refs/scaleField" - }, - { - "$ref": "#/refs/paramField" - }, - { - "$ref": "#/refs/expr" - } - ] - }, - "y": { - "oneOf": [ - { - "$ref": "#/refs/scaleField" + { + "$ref": "#/definitions/scaleData" + }, + { + "$ref": "#/definitions/signalRef" + } + ] }, - { - "$ref": "#/refs/paramField" + "domainMin": { + "$ref": "#/definitions/numberOrSignal" }, - { - "$ref": "#/refs/expr" - } - ] - }, - "weight": { - "oneOf": [ - { - "$ref": "#/refs/scaleField" + "domainMax": { + "$ref": "#/definitions/numberOrSignal" }, - { - "$ref": "#/refs/paramField" + "domainMid": { + "$ref": "#/definitions/numberOrSignal" }, - { - "$ref": "#/refs/expr" - } - ] - }, - "cellSize": { - "anyOf": [ - { - "type": "number" + "domainRaw": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "array" + }, + { + "$ref": "#/definitions/signalRef" + } + ] }, - { - "$ref": "#/refs/signal" - } - ] - }, - "bandwidth": { - "anyOf": [ - { - "type": "number" + "reverse": { + "$ref": "#/definitions/booleanOrSignal" }, - { - "$ref": "#/refs/signal" + "round": { + "$ref": "#/definitions/booleanOrSignal" } - ] + }, + "required": [ + "type", + "name" + ], + "additionalProperties": false }, - "count": { - "anyOf": [ - { - "type": "number" + { + "type": "object", + "properties": { + "type": { + "enum": [ + "band" + ] }, - { - "$ref": "#/refs/signal" - } - ] - }, - "nice": { - "anyOf": [ - { - "type": "boolean" + "paddingInner": { + "$ref": "#/definitions/numberOrSignal" }, - { - "$ref": "#/refs/signal" - } - ] - }, - "thresholds": { - "oneOf": [ - { - "type": "array", - "items": { - "anyOf": [ - { - "type": "number" - }, - { - "$ref": "#/refs/signal" + "range": { + "oneOf": [ + { + "enum": [ + "width", + "height", + "symbol", + "category", + "ordinal", + "ramp", + "diverging", + "heatmap" + ] + }, + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "boolean" + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "$ref": "#/definitions/signalRef" + }, + { + "type": "array", + "items": { + "$ref": "#/definitions/numberOrSignal" + } + } + ] } - ] - } + }, + { + "type": "object", + "properties": { + "step": { + "$ref": "#/definitions/numberOrSignal" + } + }, + "required": [ + "step" + ], + "additionalProperties": false + }, + { + "$ref": "#/definitions/signalRef" + } + ] }, - { - "$ref": "#/refs/signal" - } - ] - }, - "smooth": { - "anyOf": [ - { - "type": "boolean" + "padding": { + "$ref": "#/definitions/numberOrSignal" }, - { - "$ref": "#/refs/signal" - } - ], - "default": true - } - }, - "required": [ - "type", - "size" - ], - "additionalProperties": false - }, - "geojsonTransform": { - "type": "object", - "properties": { - "type": { - "enum": [ - "geojson" - ] - }, - "signal": { - "type": "string" - }, - "fields": { - "oneOf": [ - { - "type": "array", - "items": { - "oneOf": [ - { - "$ref": "#/refs/scaleField" - }, - { - "$ref": "#/refs/paramField" - }, - { - "$ref": "#/refs/expr" - } - ] - } + "paddingOuter": { + "$ref": "#/definitions/numberOrSignal" }, - { - "$ref": "#/refs/signal" - } - ], - "maxItems": 2, - "minItems": 2 - }, - "geojson": { - "oneOf": [ - { - "$ref": "#/refs/scaleField" + "align": { + "$ref": "#/definitions/numberOrSignal" }, - { - "$ref": "#/refs/paramField" + "name": { + "type": "string" }, - { - "$ref": "#/refs/expr" - } - ] - } - }, - "required": [ - "type" - ], - "additionalProperties": false - }, - "geopathTransform": { - "type": "object", - "properties": { - "type": { - "enum": [ - "geopath" - ] - }, - "signal": { - "type": "string" - }, - "projection": { - "type": "string" - }, - "field": { - "oneOf": [ - { - "$ref": "#/refs/scaleField" + "domain": { + "oneOf": [ + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "boolean" + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "$ref": "#/definitions/signalRef" + }, + { + "type": "array", + "items": { + "$ref": "#/definitions/numberOrSignal" + } + } + ] + } + }, + { + "$ref": "#/definitions/scaleData" + }, + { + "$ref": "#/definitions/signalRef" + } + ] }, - { - "$ref": "#/refs/paramField" + "domainMin": { + "$ref": "#/definitions/numberOrSignal" }, - { - "$ref": "#/refs/expr" - } - ] - }, - "pointRadius": { - "anyOf": [ - { - "type": "number" + "domainMax": { + "$ref": "#/definitions/numberOrSignal" }, - { - "$ref": "#/refs/signal" + "domainMid": { + "$ref": "#/definitions/numberOrSignal" }, - { - "$ref": "#/refs/expr" + "domainRaw": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "array" + }, + { + "$ref": "#/definitions/signalRef" + } + ] }, - { - "$ref": "#/refs/paramField" - } - ] - }, - "as": { - "anyOf": [ - { - "type": "string" + "reverse": { + "$ref": "#/definitions/booleanOrSignal" }, - { - "$ref": "#/refs/signal" + "round": { + "$ref": "#/definitions/booleanOrSignal" } + }, + "required": [ + "type", + "name" ], - "default": "path" - } - }, - "required": [ - "type" - ], - "additionalProperties": false - }, - "geopointTransform": { - "type": "object", - "properties": { - "type": { - "enum": [ - "geopoint" - ] - }, - "signal": { - "type": "string" - }, - "projection": { - "type": "string" + "additionalProperties": false }, - "fields": { - "oneOf": [ - { - "type": "array", - "items": { - "oneOf": [ - { - "$ref": "#/refs/scaleField" - }, - { - "$ref": "#/refs/paramField" - }, - { - "$ref": "#/refs/expr" - } - ] - } + { + "type": "object", + "properties": { + "type": { + "enum": [ + "point" + ] }, - { - "$ref": "#/refs/signal" - } - ], - "maxItems": 2, - "minItems": 2 - }, - "as": { - "oneOf": [ - { - "type": "array", - "items": { - "anyOf": [ - { - "type": "string" - }, - { - "$ref": "#/refs/signal" + "range": { + "oneOf": [ + { + "enum": [ + "width", + "height", + "symbol", + "category", + "ordinal", + "ramp", + "diverging", + "heatmap" + ] + }, + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "boolean" + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "$ref": "#/definitions/signalRef" + }, + { + "type": "array", + "items": { + "$ref": "#/definitions/numberOrSignal" + } + } + ] } - ] - } + }, + { + "type": "object", + "properties": { + "step": { + "$ref": "#/definitions/numberOrSignal" + } + }, + "required": [ + "step" + ], + "additionalProperties": false + }, + { + "$ref": "#/definitions/signalRef" + } + ] }, - { - "$ref": "#/refs/signal" - } - ], - "maxItems": 2, - "minItems": 2, - "default": [ - "x", - "y" - ] - } - }, - "required": [ - "type", - "projection", - "fields" - ], - "additionalProperties": false - }, - "geoshapeTransform": { - "type": "object", - "properties": { - "type": { - "enum": [ - "geoshape" - ] - }, - "signal": { - "type": "string" - }, - "projection": { - "type": "string" - }, - "field": { - "oneOf": [ - { - "$ref": "#/refs/scaleField" + "padding": { + "$ref": "#/definitions/numberOrSignal" }, - { - "$ref": "#/refs/paramField" + "paddingOuter": { + "$ref": "#/definitions/numberOrSignal" }, - { - "$ref": "#/refs/expr" - } - ], - "default": "datum" - }, - "pointRadius": { - "anyOf": [ - { - "type": "number" + "align": { + "$ref": "#/definitions/numberOrSignal" }, - { - "$ref": "#/refs/signal" + "name": { + "type": "string" }, - { - "$ref": "#/refs/expr" + "domain": { + "oneOf": [ + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "boolean" + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "$ref": "#/definitions/signalRef" + }, + { + "type": "array", + "items": { + "$ref": "#/definitions/numberOrSignal" + } + } + ] + } + }, + { + "$ref": "#/definitions/scaleData" + }, + { + "$ref": "#/definitions/signalRef" + } + ] }, - { - "$ref": "#/refs/paramField" - } - ] - }, - "as": { - "anyOf": [ - { - "type": "string" + "domainMin": { + "$ref": "#/definitions/numberOrSignal" }, - { - "$ref": "#/refs/signal" - } - ], - "default": "shape" - } - }, - "required": [ - "type" - ], - "additionalProperties": false - }, - "graticuleTransform": { - "type": "object", - "properties": { - "type": { - "enum": [ - "graticule" - ] - }, - "signal": { - "type": "string" - }, - "extent": { - "oneOf": [ - { - "type": "array", - "items": {} + "domainMax": { + "$ref": "#/definitions/numberOrSignal" }, - { - "$ref": "#/refs/signal" - } - ], - "maxItems": 2, - "minItems": 2 - }, - "extentMajor": { - "oneOf": [ - { - "type": "array", - "items": {} + "domainMid": { + "$ref": "#/definitions/numberOrSignal" }, - { - "$ref": "#/refs/signal" - } - ], - "maxItems": 2, - "minItems": 2 - }, - "extentMinor": { - "oneOf": [ - { - "type": "array", - "items": {} + "domainRaw": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "array" + }, + { + "$ref": "#/definitions/signalRef" + } + ] }, - { - "$ref": "#/refs/signal" - } - ], - "maxItems": 2, - "minItems": 2 - }, - "step": { - "oneOf": [ - { - "type": "array", - "items": { - "anyOf": [ - { - "type": "number" - }, - { - "$ref": "#/refs/signal" - } - ] - } + "reverse": { + "$ref": "#/definitions/booleanOrSignal" }, - { - "$ref": "#/refs/signal" + "round": { + "$ref": "#/definitions/booleanOrSignal" } + }, + "required": [ + "type", + "name" ], - "maxItems": 2, - "minItems": 2 + "additionalProperties": false }, - "stepMajor": { - "oneOf": [ - { - "type": "array", - "items": { - "anyOf": [ - { - "type": "number" - }, - { - "$ref": "#/refs/signal" - } - ] - } + { + "type": "object", + "properties": { + "type": { + "enum": [ + "quantize", + "threshold" + ] }, - { - "$ref": "#/refs/signal" - } - ], - "maxItems": 2, - "minItems": 2, - "default": [ - 90, - 360 - ] - }, - "stepMinor": { - "oneOf": [ - { - "type": "array", - "items": { - "anyOf": [ - { - "type": "number" - }, - { - "$ref": "#/refs/signal" + "range": { + "oneOf": [ + { + "enum": [ + "width", + "height", + "symbol", + "category", + "ordinal", + "ramp", + "diverging", + "heatmap" + ] + }, + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "boolean" + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "$ref": "#/definitions/signalRef" + }, + { + "type": "array", + "items": { + "$ref": "#/definitions/numberOrSignal" + } + } + ] } - ] - } + }, + { + "type": "object", + "properties": { + "scheme": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "string" + }, + { + "$ref": "#/definitions/signalRef" + } + ] + } + }, + { + "$ref": "#/definitions/signalRef" + } + ] + }, + "count": { + "$ref": "#/definitions/numberOrSignal" + }, + "extent": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/numberOrSignal" + }, + "minItems": 2, + "maxItems": 2 + }, + { + "$ref": "#/definitions/signalRef" + } + ] + } + }, + "required": [ + "scheme" + ], + "additionalProperties": false + }, + { + "$ref": "#/definitions/signalRef" + } + ] }, - { - "$ref": "#/refs/signal" - } - ], - "maxItems": 2, - "minItems": 2, - "default": [ - 10, - 10 - ] - }, - "precision": { - "anyOf": [ - { - "type": "number" + "interpolate": { + "$ref": "#/definitions/scaleInterpolate" }, - { - "$ref": "#/refs/signal" - } - ], - "default": 2.5 - } - }, - "required": [ - "type" - ], - "additionalProperties": false - }, - "heatmapTransform": { - "type": "object", - "properties": { - "type": { - "enum": [ - "heatmap" - ] - }, - "signal": { - "type": "string" - }, - "field": { - "oneOf": [ - { - "$ref": "#/refs/scaleField" + "nice": { + "oneOf": [ + { + "type": "boolean" + }, + { + "type": "number" + }, + { + "$ref": "#/definitions/signalRef" + } + ] }, - { - "$ref": "#/refs/paramField" + "zero": { + "$ref": "#/definitions/booleanOrSignal" }, - { - "$ref": "#/refs/expr" - } - ] - }, - "color": { - "anyOf": [ - { + "name": { "type": "string" }, - { - "$ref": "#/refs/signal" + "domain": { + "oneOf": [ + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "boolean" + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "$ref": "#/definitions/signalRef" + }, + { + "type": "array", + "items": { + "$ref": "#/definitions/numberOrSignal" + } + } + ] + } + }, + { + "$ref": "#/definitions/scaleData" + }, + { + "$ref": "#/definitions/signalRef" + } + ] + }, + "domainMin": { + "$ref": "#/definitions/numberOrSignal" }, - { - "$ref": "#/refs/expr" + "domainMax": { + "$ref": "#/definitions/numberOrSignal" }, - { - "$ref": "#/refs/paramField" - } - ] - }, - "opacity": { - "anyOf": [ - { - "type": "number" + "domainMid": { + "$ref": "#/definitions/numberOrSignal" }, - { - "$ref": "#/refs/signal" + "domainRaw": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "array" + }, + { + "$ref": "#/definitions/signalRef" + } + ] }, - { - "$ref": "#/refs/expr" + "reverse": { + "$ref": "#/definitions/booleanOrSignal" }, - { - "$ref": "#/refs/paramField" + "round": { + "$ref": "#/definitions/booleanOrSignal" } - ] + }, + "required": [ + "type", + "name" + ], + "additionalProperties": false }, - "resolve": { - "anyOf": [ - { + { + "type": "object", + "properties": { + "type": { "enum": [ - "shared", - "independent" + "quantile" ] }, - { - "$ref": "#/refs/signal" - } - ], - "default": "independent" - }, - "as": { - "anyOf": [ - { - "type": "string" + "range": { + "oneOf": [ + { + "enum": [ + "width", + "height", + "symbol", + "category", + "ordinal", + "ramp", + "diverging", + "heatmap" + ] + }, + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "boolean" + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "$ref": "#/definitions/signalRef" + }, + { + "type": "array", + "items": { + "$ref": "#/definitions/numberOrSignal" + } + } + ] + } + }, + { + "type": "object", + "properties": { + "scheme": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "string" + }, + { + "$ref": "#/definitions/signalRef" + } + ] + } + }, + { + "$ref": "#/definitions/signalRef" + } + ] + }, + "count": { + "$ref": "#/definitions/numberOrSignal" + }, + "extent": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/numberOrSignal" + }, + "minItems": 2, + "maxItems": 2 + }, + { + "$ref": "#/definitions/signalRef" + } + ] + } + }, + "required": [ + "scheme" + ], + "additionalProperties": false + }, + { + "$ref": "#/definitions/signalRef" + } + ] }, - { - "$ref": "#/refs/signal" - } - ], - "default": "image" - } - }, - "required": [ - "type" - ], - "additionalProperties": false - }, - "isocontourTransform": { - "type": "object", - "properties": { - "type": { - "enum": [ - "isocontour" - ] - }, - "signal": { - "type": "string" - }, - "field": { - "oneOf": [ - { - "$ref": "#/refs/scaleField" + "interpolate": { + "$ref": "#/definitions/scaleInterpolate" }, - { - "$ref": "#/refs/paramField" + "name": { + "type": "string" }, - { - "$ref": "#/refs/expr" - } - ] - }, - "thresholds": { - "oneOf": [ - { - "type": "array", - "items": { - "anyOf": [ - { - "type": "number" - }, - { - "$ref": "#/refs/signal" + "domain": { + "oneOf": [ + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "boolean" + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "$ref": "#/definitions/signalRef" + }, + { + "type": "array", + "items": { + "$ref": "#/definitions/numberOrSignal" + } + } + ] } - ] - } - }, - { - "$ref": "#/refs/signal" - } - ] - }, - "levels": { - "anyOf": [ - { - "type": "number" + }, + { + "$ref": "#/definitions/scaleData" + }, + { + "$ref": "#/definitions/signalRef" + } + ] }, - { - "$ref": "#/refs/signal" - } - ] - }, - "nice": { - "anyOf": [ - { - "type": "boolean" + "domainMin": { + "$ref": "#/definitions/numberOrSignal" }, - { - "$ref": "#/refs/signal" - } - ] - }, - "resolve": { - "anyOf": [ - { - "enum": [ - "shared", - "independent" + "domainMax": { + "$ref": "#/definitions/numberOrSignal" + }, + "domainMid": { + "$ref": "#/definitions/numberOrSignal" + }, + "domainRaw": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "array" + }, + { + "$ref": "#/definitions/signalRef" + } ] }, - { - "$ref": "#/refs/signal" - } - ], - "default": "independent" - }, - "zero": { - "anyOf": [ - { - "type": "boolean" + "reverse": { + "$ref": "#/definitions/booleanOrSignal" }, - { - "$ref": "#/refs/signal" + "round": { + "$ref": "#/definitions/booleanOrSignal" } + }, + "required": [ + "type", + "name" ], - "default": true + "additionalProperties": false }, - "smooth": { - "anyOf": [ - { - "type": "boolean" + { + "type": "object", + "properties": { + "type": { + "enum": [ + "bin-ordinal" + ] }, - { - "$ref": "#/refs/signal" - } - ], - "default": true - }, - "scale": { - "anyOf": [ - { - "type": "number" + "bins": { + "$ref": "#/definitions/scaleBins" }, - { - "$ref": "#/refs/signal" + "range": { + "oneOf": [ + { + "enum": [ + "width", + "height", + "symbol", + "category", + "ordinal", + "ramp", + "diverging", + "heatmap" + ] + }, + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "boolean" + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "$ref": "#/definitions/signalRef" + }, + { + "type": "array", + "items": { + "$ref": "#/definitions/numberOrSignal" + } + } + ] + } + }, + { + "type": "object", + "properties": { + "scheme": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "string" + }, + { + "$ref": "#/definitions/signalRef" + } + ] + } + }, + { + "$ref": "#/definitions/signalRef" + } + ] + }, + "count": { + "$ref": "#/definitions/numberOrSignal" + }, + "extent": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/numberOrSignal" + }, + "minItems": 2, + "maxItems": 2 + }, + { + "$ref": "#/definitions/signalRef" + } + ] + } + }, + "required": [ + "scheme" + ], + "additionalProperties": false + }, + { + "$ref": "#/definitions/signalRef" + } + ] }, - { - "$ref": "#/refs/expr" + "interpolate": { + "$ref": "#/definitions/scaleInterpolate" }, - { - "$ref": "#/refs/paramField" - } - ] - }, - "translate": { - "oneOf": [ - { - "type": "array", - "items": { - "anyOf": [ - { - "type": "number" - }, - { - "$ref": "#/refs/signal" - }, - { - "$ref": "#/refs/expr" - }, - { - "$ref": "#/refs/paramField" + "name": { + "type": "string" + }, + "domain": { + "oneOf": [ + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "boolean" + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "$ref": "#/definitions/signalRef" + }, + { + "type": "array", + "items": { + "$ref": "#/definitions/numberOrSignal" + } + } + ] } - ] - } + }, + { + "$ref": "#/definitions/scaleData" + }, + { + "$ref": "#/definitions/signalRef" + } + ] }, - { - "$ref": "#/refs/signal" - } - ] - }, - "as": { - "anyOf": [ - { - "type": "string" + "domainMin": { + "$ref": "#/definitions/numberOrSignal" }, - { - "$ref": "#/refs/signal" + "domainMax": { + "$ref": "#/definitions/numberOrSignal" }, - { - "type": "null" - } - ], - "default": "contour" - } - }, - "required": [ - "type" - ], - "additionalProperties": false - }, - "kde2dTransform": { - "type": "object", - "properties": { - "type": { - "enum": [ - "kde2d" - ] - }, - "signal": { - "type": "string" - }, - "size": { - "oneOf": [ - { - "type": "array", - "items": { - "anyOf": [ - { - "type": "number" - }, - { - "$ref": "#/refs/signal" - } - ] - } + "domainMid": { + "$ref": "#/definitions/numberOrSignal" + }, + "domainRaw": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "array" + }, + { + "$ref": "#/definitions/signalRef" + } + ] }, - { - "$ref": "#/refs/signal" + "reverse": { + "$ref": "#/definitions/booleanOrSignal" + }, + "round": { + "$ref": "#/definitions/booleanOrSignal" } + }, + "required": [ + "type", + "name" ], - "maxItems": 2, - "minItems": 2 + "additionalProperties": false }, - "x": { - "oneOf": [ - { - "$ref": "#/refs/scaleField" + { + "type": "object", + "properties": { + "type": { + "enum": [ + "time", + "utc" + ] }, - { - "$ref": "#/refs/paramField" + "nice": { + "oneOf": [ + { + "type": "boolean" + }, + { + "enum": [ + "millisecond", + "second", + "minute", + "hour", + "day", + "week", + "month", + "year" + ] + }, + { + "type": "object", + "properties": { + "interval": { + "oneOf": [ + { + "enum": [ + "millisecond", + "second", + "minute", + "hour", + "day", + "week", + "month", + "year" + ] + }, + { + "$ref": "#/definitions/signalRef" + } + ] + }, + "step": { + "$ref": "#/definitions/numberOrSignal" + } + }, + "required": [ + "interval" + ], + "additionalProperties": false + } + ] }, - { - "$ref": "#/refs/expr" - } - ] - }, - "y": { - "oneOf": [ - { - "$ref": "#/refs/scaleField" + "range": { + "oneOf": [ + { + "enum": [ + "width", + "height", + "symbol", + "category", + "ordinal", + "ramp", + "diverging", + "heatmap" + ] + }, + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "boolean" + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "$ref": "#/definitions/signalRef" + }, + { + "type": "array", + "items": { + "$ref": "#/definitions/numberOrSignal" + } + } + ] + } + }, + { + "type": "object", + "properties": { + "scheme": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "string" + }, + { + "$ref": "#/definitions/signalRef" + } + ] + } + }, + { + "$ref": "#/definitions/signalRef" + } + ] + }, + "count": { + "$ref": "#/definitions/numberOrSignal" + }, + "extent": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/numberOrSignal" + }, + "minItems": 2, + "maxItems": 2 + }, + { + "$ref": "#/definitions/signalRef" + } + ] + } + }, + "required": [ + "scheme" + ], + "additionalProperties": false + }, + { + "$ref": "#/definitions/signalRef" + } + ] }, - { - "$ref": "#/refs/paramField" + "bins": { + "$ref": "#/definitions/scaleBins" }, - { - "$ref": "#/refs/expr" - } - ] - }, - "weight": { - "oneOf": [ - { - "$ref": "#/refs/scaleField" + "interpolate": { + "$ref": "#/definitions/scaleInterpolate" }, - { - "$ref": "#/refs/paramField" + "clamp": { + "$ref": "#/definitions/booleanOrSignal" }, - { - "$ref": "#/refs/expr" - } - ] - }, - "groupby": { - "oneOf": [ - { - "type": "array", - "items": { - "oneOf": [ - { - "$ref": "#/refs/scaleField" - }, - { - "$ref": "#/refs/paramField" - }, - { - "$ref": "#/refs/expr" - } - ] - } + "padding": { + "$ref": "#/definitions/numberOrSignal" }, - { - "$ref": "#/refs/signal" - } - ] - }, - "cellSize": { - "anyOf": [ - { - "type": "number" + "name": { + "type": "string" }, - { - "$ref": "#/refs/signal" - } - ] - }, - "bandwidth": { - "oneOf": [ - { - "type": "array", - "items": { - "anyOf": [ - { - "type": "number" - }, - { - "$ref": "#/refs/signal" + "domain": { + "oneOf": [ + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "boolean" + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "$ref": "#/definitions/signalRef" + }, + { + "type": "array", + "items": { + "$ref": "#/definitions/numberOrSignal" + } + } + ] } - ] - } - }, - { - "$ref": "#/refs/signal" - } - ], - "maxItems": 2, - "minItems": 2 - }, - "counts": { - "anyOf": [ - { - "type": "boolean" + }, + { + "$ref": "#/definitions/scaleData" + }, + { + "$ref": "#/definitions/signalRef" + } + ] }, - { - "$ref": "#/refs/signal" - } - ] - }, - "as": { - "anyOf": [ - { - "type": "string" + "domainMin": { + "$ref": "#/definitions/numberOrSignal" }, - { - "$ref": "#/refs/signal" - } - ], - "default": "grid" - } - }, - "required": [ - "type", - "size", - "x", - "y" - ], - "additionalProperties": false - }, - "nestTransform": { - "type": "object", - "properties": { - "type": { - "enum": [ - "nest" - ] - }, - "signal": { - "type": "string" - }, - "keys": { - "oneOf": [ - { - "type": "array", - "items": { - "oneOf": [ - { - "$ref": "#/refs/scaleField" - }, - { - "$ref": "#/refs/paramField" - }, - { - "$ref": "#/refs/expr" - } - ] - } + "domainMax": { + "$ref": "#/definitions/numberOrSignal" }, - { - "$ref": "#/refs/signal" - } - ] - }, - "generate": { - "anyOf": [ - { - "type": "boolean" + "domainMid": { + "$ref": "#/definitions/numberOrSignal" }, - { - "$ref": "#/refs/signal" - } - ] - } - }, - "required": [ - "type" - ], - "additionalProperties": false - }, - "packTransform": { - "type": "object", - "properties": { - "type": { - "enum": [ - "pack" - ] - }, - "signal": { - "type": "string" - }, - "field": { - "oneOf": [ - { - "$ref": "#/refs/scaleField" + "domainRaw": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "array" + }, + { + "$ref": "#/definitions/signalRef" + } + ] }, - { - "$ref": "#/refs/paramField" + "reverse": { + "$ref": "#/definitions/booleanOrSignal" }, - { - "$ref": "#/refs/expr" + "round": { + "$ref": "#/definitions/booleanOrSignal" } - ] - }, - "sort": { - "$ref": "#/refs/compare" + }, + "required": [ + "type", + "name" + ], + "additionalProperties": false }, - "padding": { - "anyOf": [ - { - "type": "number" + { + "type": "object", + "properties": { + "type": { + "enum": [ + "linear", + "sqrt", + "sequential" + ] }, - { - "$ref": "#/refs/signal" - } - ] - }, - "radius": { - "oneOf": [ - { - "$ref": "#/refs/scaleField" + "nice": { + "oneOf": [ + { + "type": "boolean" + }, + { + "type": "number" + }, + { + "$ref": "#/definitions/signalRef" + } + ] }, - { - "$ref": "#/refs/paramField" + "zero": { + "$ref": "#/definitions/booleanOrSignal" }, - { - "$ref": "#/refs/expr" - } - ] - }, - "size": { - "oneOf": [ - { - "type": "array", - "items": { - "anyOf": [ - { - "type": "number" - }, - { - "$ref": "#/refs/signal" + "range": { + "oneOf": [ + { + "enum": [ + "width", + "height", + "symbol", + "category", + "ordinal", + "ramp", + "diverging", + "heatmap" + ] + }, + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "boolean" + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "$ref": "#/definitions/signalRef" + }, + { + "type": "array", + "items": { + "$ref": "#/definitions/numberOrSignal" + } + } + ] } - ] - } - }, - { - "$ref": "#/refs/signal" - } - ], - "maxItems": 2, - "minItems": 2 - }, - "as": { - "oneOf": [ - { - "type": "array", - "items": { - "anyOf": [ - { - "type": "string" + }, + { + "type": "object", + "properties": { + "scheme": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "string" + }, + { + "$ref": "#/definitions/signalRef" + } + ] + } + }, + { + "$ref": "#/definitions/signalRef" + } + ] + }, + "count": { + "$ref": "#/definitions/numberOrSignal" + }, + "extent": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/numberOrSignal" + }, + "minItems": 2, + "maxItems": 2 + }, + { + "$ref": "#/definitions/signalRef" + } + ] + } }, - { - "$ref": "#/refs/signal" - } - ] - } + "required": [ + "scheme" + ], + "additionalProperties": false + }, + { + "$ref": "#/definitions/signalRef" + } + ] }, - { - "$ref": "#/refs/signal" - } - ], - "maxItems": 5, - "minItems": 5, - "default": [ - "x", - "y", - "r", - "depth", - "children" - ] - } - }, - "required": [ - "type" - ], - "additionalProperties": false - }, - "partitionTransform": { - "type": "object", - "properties": { - "type": { - "enum": [ - "partition" - ] - }, - "signal": { - "type": "string" - }, - "field": { - "oneOf": [ - { - "$ref": "#/refs/scaleField" + "bins": { + "$ref": "#/definitions/scaleBins" }, - { - "$ref": "#/refs/paramField" + "interpolate": { + "$ref": "#/definitions/scaleInterpolate" }, - { - "$ref": "#/refs/expr" - } - ] - }, - "sort": { - "$ref": "#/refs/compare" - }, - "padding": { - "anyOf": [ - { - "type": "number" + "clamp": { + "$ref": "#/definitions/booleanOrSignal" }, - { - "$ref": "#/refs/signal" - } - ] - }, - "round": { - "anyOf": [ - { - "type": "boolean" + "padding": { + "$ref": "#/definitions/numberOrSignal" }, - { - "$ref": "#/refs/signal" - } - ] - }, - "size": { - "oneOf": [ - { - "type": "array", - "items": { - "anyOf": [ - { - "type": "number" - }, - { - "$ref": "#/refs/signal" - } - ] - } + "name": { + "type": "string" }, - { - "$ref": "#/refs/signal" - } - ], - "maxItems": 2, - "minItems": 2 - }, - "as": { - "oneOf": [ - { - "type": "array", - "items": { - "anyOf": [ - { - "type": "string" - }, - { - "$ref": "#/refs/signal" + "domain": { + "oneOf": [ + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "boolean" + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "$ref": "#/definitions/signalRef" + }, + { + "type": "array", + "items": { + "$ref": "#/definitions/numberOrSignal" + } + } + ] } - ] - } + }, + { + "$ref": "#/definitions/scaleData" + }, + { + "$ref": "#/definitions/signalRef" + } + ] }, - { - "$ref": "#/refs/signal" + "domainMin": { + "$ref": "#/definitions/numberOrSignal" + }, + "domainMax": { + "$ref": "#/definitions/numberOrSignal" + }, + "domainMid": { + "$ref": "#/definitions/numberOrSignal" + }, + "domainRaw": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "array" + }, + { + "$ref": "#/definitions/signalRef" + } + ] + }, + "reverse": { + "$ref": "#/definitions/booleanOrSignal" + }, + "round": { + "$ref": "#/definitions/booleanOrSignal" } + }, + "required": [ + "name" ], - "maxItems": 6, - "minItems": 6, - "default": [ - "x0", - "y0", - "x1", - "y1", - "depth", - "children" - ] - } - }, - "required": [ - "type" - ], - "additionalProperties": false - }, - "stratifyTransform": { - "type": "object", - "properties": { - "type": { - "enum": [ - "stratify" - ] - }, - "signal": { - "type": "string" + "additionalProperties": false }, - "key": { - "oneOf": [ - { - "$ref": "#/refs/scaleField" + { + "type": "object", + "properties": { + "type": { + "enum": [ + "log" + ] }, - { - "$ref": "#/refs/paramField" + "base": { + "$ref": "#/definitions/numberOrSignal" }, - { - "$ref": "#/refs/expr" - } - ] - }, - "parentKey": { - "oneOf": [ - { - "$ref": "#/refs/scaleField" + "nice": { + "oneOf": [ + { + "type": "boolean" + }, + { + "type": "number" + }, + { + "$ref": "#/definitions/signalRef" + } + ] + }, + "zero": { + "$ref": "#/definitions/booleanOrSignal" + }, + "range": { + "oneOf": [ + { + "enum": [ + "width", + "height", + "symbol", + "category", + "ordinal", + "ramp", + "diverging", + "heatmap" + ] + }, + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "boolean" + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "$ref": "#/definitions/signalRef" + }, + { + "type": "array", + "items": { + "$ref": "#/definitions/numberOrSignal" + } + } + ] + } + }, + { + "type": "object", + "properties": { + "scheme": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "string" + }, + { + "$ref": "#/definitions/signalRef" + } + ] + } + }, + { + "$ref": "#/definitions/signalRef" + } + ] + }, + "count": { + "$ref": "#/definitions/numberOrSignal" + }, + "extent": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/numberOrSignal" + }, + "minItems": 2, + "maxItems": 2 + }, + { + "$ref": "#/definitions/signalRef" + } + ] + } + }, + "required": [ + "scheme" + ], + "additionalProperties": false + }, + { + "$ref": "#/definitions/signalRef" + } + ] }, - { - "$ref": "#/refs/paramField" + "bins": { + "$ref": "#/definitions/scaleBins" }, - { - "$ref": "#/refs/expr" - } - ] - } - }, - "required": [ - "type", - "key", - "parentKey" - ], - "additionalProperties": false - }, - "treeTransform": { - "type": "object", - "properties": { - "type": { - "enum": [ - "tree" - ] - }, - "signal": { - "type": "string" - }, - "field": { - "oneOf": [ - { - "$ref": "#/refs/scaleField" + "interpolate": { + "$ref": "#/definitions/scaleInterpolate" }, - { - "$ref": "#/refs/paramField" + "clamp": { + "$ref": "#/definitions/booleanOrSignal" }, - { - "$ref": "#/refs/expr" - } - ] - }, - "sort": { - "$ref": "#/refs/compare" - }, - "method": { - "anyOf": [ - { - "enum": [ - "tidy", - "cluster" - ] + "padding": { + "$ref": "#/definitions/numberOrSignal" }, - { - "$ref": "#/refs/signal" - } - ], - "default": "tidy" - }, - "size": { - "oneOf": [ - { - "type": "array", - "items": { - "anyOf": [ - { - "type": "number" - }, - { - "$ref": "#/refs/signal" - } - ] - } + "name": { + "type": "string" }, - { - "$ref": "#/refs/signal" - } - ], - "maxItems": 2, - "minItems": 2 - }, - "nodeSize": { - "oneOf": [ - { - "type": "array", - "items": { - "anyOf": [ - { - "type": "number" - }, - { - "$ref": "#/refs/signal" + "domain": { + "oneOf": [ + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "boolean" + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "$ref": "#/definitions/signalRef" + }, + { + "type": "array", + "items": { + "$ref": "#/definitions/numberOrSignal" + } + } + ] } - ] - } - }, - { - "$ref": "#/refs/signal" - } - ], - "maxItems": 2, - "minItems": 2 - }, - "separation": { - "anyOf": [ - { - "type": "boolean" + }, + { + "$ref": "#/definitions/scaleData" + }, + { + "$ref": "#/definitions/signalRef" + } + ] }, - { - "$ref": "#/refs/signal" - } - ], - "default": true - }, - "as": { - "oneOf": [ - { - "type": "array", - "items": { - "anyOf": [ - { - "type": "string" - }, - { - "$ref": "#/refs/signal" - } - ] - } + "domainMin": { + "$ref": "#/definitions/numberOrSignal" }, - { - "$ref": "#/refs/signal" - } - ], - "maxItems": 4, - "minItems": 4, - "default": [ - "x", - "y", - "depth", - "children" - ] - } - }, - "required": [ - "type" - ], - "additionalProperties": false - }, - "treelinksTransform": { - "type": "object", - "properties": { - "type": { - "enum": [ - "treelinks" - ] - }, - "signal": { - "type": "string" - } - }, - "required": [ - "type" - ], - "additionalProperties": false - }, - "treemapTransform": { - "type": "object", - "properties": { - "type": { - "enum": [ - "treemap" - ] - }, - "signal": { - "type": "string" - }, - "field": { - "oneOf": [ - { - "$ref": "#/refs/scaleField" + "domainMax": { + "$ref": "#/definitions/numberOrSignal" }, - { - "$ref": "#/refs/paramField" + "domainMid": { + "$ref": "#/definitions/numberOrSignal" }, - { - "$ref": "#/refs/expr" - } - ] - }, - "sort": { - "$ref": "#/refs/compare" - }, - "method": { - "anyOf": [ - { - "enum": [ - "squarify", - "resquarify", - "binary", - "dice", - "slice", - "slicedice" + "domainRaw": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "array" + }, + { + "$ref": "#/definitions/signalRef" + } ] }, - { - "$ref": "#/refs/signal" + "reverse": { + "$ref": "#/definitions/booleanOrSignal" + }, + "round": { + "$ref": "#/definitions/booleanOrSignal" } + }, + "required": [ + "type", + "name" ], - "default": "squarify" + "additionalProperties": false }, - "padding": { - "anyOf": [ - { - "type": "number" + { + "type": "object", + "properties": { + "type": { + "enum": [ + "pow" + ] }, - { - "$ref": "#/refs/signal" - } - ] - }, - "paddingInner": { - "anyOf": [ - { - "type": "number" + "exponent": { + "$ref": "#/definitions/numberOrSignal" }, - { - "$ref": "#/refs/signal" - } - ] - }, - "paddingOuter": { - "anyOf": [ - { - "type": "number" + "nice": { + "oneOf": [ + { + "type": "boolean" + }, + { + "type": "number" + }, + { + "$ref": "#/definitions/signalRef" + } + ] }, - { - "$ref": "#/refs/signal" - } - ] - }, - "paddingTop": { - "anyOf": [ - { - "type": "number" + "zero": { + "$ref": "#/definitions/booleanOrSignal" }, - { - "$ref": "#/refs/signal" - } - ] - }, - "paddingRight": { - "anyOf": [ - { - "type": "number" + "range": { + "oneOf": [ + { + "enum": [ + "width", + "height", + "symbol", + "category", + "ordinal", + "ramp", + "diverging", + "heatmap" + ] + }, + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "boolean" + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "$ref": "#/definitions/signalRef" + }, + { + "type": "array", + "items": { + "$ref": "#/definitions/numberOrSignal" + } + } + ] + } + }, + { + "type": "object", + "properties": { + "scheme": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "string" + }, + { + "$ref": "#/definitions/signalRef" + } + ] + } + }, + { + "$ref": "#/definitions/signalRef" + } + ] + }, + "count": { + "$ref": "#/definitions/numberOrSignal" + }, + "extent": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/numberOrSignal" + }, + "minItems": 2, + "maxItems": 2 + }, + { + "$ref": "#/definitions/signalRef" + } + ] + } + }, + "required": [ + "scheme" + ], + "additionalProperties": false + }, + { + "$ref": "#/definitions/signalRef" + } + ] }, - { - "$ref": "#/refs/signal" - } - ] - }, - "paddingBottom": { - "anyOf": [ - { - "type": "number" + "bins": { + "$ref": "#/definitions/scaleBins" }, - { - "$ref": "#/refs/signal" - } - ] - }, - "paddingLeft": { - "anyOf": [ - { - "type": "number" + "interpolate": { + "$ref": "#/definitions/scaleInterpolate" }, - { - "$ref": "#/refs/signal" - } - ] - }, - "ratio": { - "anyOf": [ - { - "type": "number" + "clamp": { + "$ref": "#/definitions/booleanOrSignal" }, - { - "$ref": "#/refs/signal" - } - ], - "default": 1.618033988749895 - }, - "round": { - "anyOf": [ - { - "type": "boolean" + "padding": { + "$ref": "#/definitions/numberOrSignal" }, - { - "$ref": "#/refs/signal" - } - ] - }, - "size": { - "oneOf": [ - { - "type": "array", - "items": { - "anyOf": [ - { - "type": "number" - }, - { - "$ref": "#/refs/signal" + "name": { + "type": "string" + }, + "domain": { + "oneOf": [ + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "boolean" + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "$ref": "#/definitions/signalRef" + }, + { + "type": "array", + "items": { + "$ref": "#/definitions/numberOrSignal" + } + } + ] } - ] - } + }, + { + "$ref": "#/definitions/scaleData" + }, + { + "$ref": "#/definitions/signalRef" + } + ] + }, + "domainMin": { + "$ref": "#/definitions/numberOrSignal" + }, + "domainMax": { + "$ref": "#/definitions/numberOrSignal" + }, + "domainMid": { + "$ref": "#/definitions/numberOrSignal" + }, + "domainRaw": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "array" + }, + { + "$ref": "#/definitions/signalRef" + } + ] }, - { - "$ref": "#/refs/signal" - } - ], - "maxItems": 2, - "minItems": 2 - }, - "as": { - "oneOf": [ - { - "type": "array", - "items": { - "anyOf": [ - { - "type": "string" - }, - { - "$ref": "#/refs/signal" - } - ] - } + "reverse": { + "$ref": "#/definitions/booleanOrSignal" }, - { - "$ref": "#/refs/signal" + "round": { + "$ref": "#/definitions/booleanOrSignal" } + }, + "required": [ + "type", + "name" ], - "maxItems": 6, - "minItems": 6, - "default": [ - "x0", - "y0", - "x1", - "y1", - "depth", - "children" - ] - } - }, - "required": [ - "type" - ], - "additionalProperties": false - }, - "loessTransform": { - "type": "object", - "properties": { - "type": { - "enum": [ - "loess" - ] - }, - "signal": { - "type": "string" + "additionalProperties": false }, - "x": { - "oneOf": [ - { - "$ref": "#/refs/scaleField" + { + "type": "object", + "properties": { + "type": { + "enum": [ + "symlog" + ] }, - { - "$ref": "#/refs/paramField" + "constant": { + "$ref": "#/definitions/numberOrSignal" }, - { - "$ref": "#/refs/expr" - } - ] - }, - "y": { - "oneOf": [ - { - "$ref": "#/refs/scaleField" + "nice": { + "oneOf": [ + { + "type": "boolean" + }, + { + "type": "number" + }, + { + "$ref": "#/definitions/signalRef" + } + ] }, - { - "$ref": "#/refs/paramField" + "zero": { + "$ref": "#/definitions/booleanOrSignal" }, - { - "$ref": "#/refs/expr" - } - ] - }, - "groupby": { - "oneOf": [ - { - "type": "array", - "items": { - "oneOf": [ - { - "$ref": "#/refs/scaleField" - }, - { - "$ref": "#/refs/paramField" - }, - { - "$ref": "#/refs/expr" + "range": { + "oneOf": [ + { + "enum": [ + "width", + "height", + "symbol", + "category", + "ordinal", + "ramp", + "diverging", + "heatmap" + ] + }, + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "boolean" + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "$ref": "#/definitions/signalRef" + }, + { + "type": "array", + "items": { + "$ref": "#/definitions/numberOrSignal" + } + } + ] } - ] - } + }, + { + "type": "object", + "properties": { + "scheme": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "string" + }, + { + "$ref": "#/definitions/signalRef" + } + ] + } + }, + { + "$ref": "#/definitions/signalRef" + } + ] + }, + "count": { + "$ref": "#/definitions/numberOrSignal" + }, + "extent": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/numberOrSignal" + }, + "minItems": 2, + "maxItems": 2 + }, + { + "$ref": "#/definitions/signalRef" + } + ] + } + }, + "required": [ + "scheme" + ], + "additionalProperties": false + }, + { + "$ref": "#/definitions/signalRef" + } + ] }, - { - "$ref": "#/refs/signal" - } - ] - }, - "bandwidth": { - "anyOf": [ - { - "type": "number" + "bins": { + "$ref": "#/definitions/scaleBins" }, - { - "$ref": "#/refs/signal" - } - ], - "default": 0.3 - }, - "as": { - "oneOf": [ - { - "type": "array", - "items": { - "anyOf": [ - { - "type": "string" - }, - { - "$ref": "#/refs/signal" - } - ] - } + "interpolate": { + "$ref": "#/definitions/scaleInterpolate" }, - { - "$ref": "#/refs/signal" - } - ] - } - }, - "required": [ - "type", - "x", - "y" - ], - "additionalProperties": false - }, - "regressionTransform": { - "type": "object", - "properties": { - "type": { - "enum": [ - "regression" - ] - }, - "signal": { - "type": "string" - }, - "x": { - "oneOf": [ - { - "$ref": "#/refs/scaleField" + "clamp": { + "$ref": "#/definitions/booleanOrSignal" + }, + "padding": { + "$ref": "#/definitions/numberOrSignal" + }, + "name": { + "type": "string" + }, + "domain": { + "oneOf": [ + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "boolean" + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "$ref": "#/definitions/signalRef" + }, + { + "type": "array", + "items": { + "$ref": "#/definitions/numberOrSignal" + } + } + ] + } + }, + { + "$ref": "#/definitions/scaleData" + }, + { + "$ref": "#/definitions/signalRef" + } + ] }, - { - "$ref": "#/refs/paramField" + "domainMin": { + "$ref": "#/definitions/numberOrSignal" }, - { - "$ref": "#/refs/expr" - } - ] - }, - "y": { - "oneOf": [ - { - "$ref": "#/refs/scaleField" + "domainMax": { + "$ref": "#/definitions/numberOrSignal" }, - { - "$ref": "#/refs/paramField" + "domainMid": { + "$ref": "#/definitions/numberOrSignal" }, - { - "$ref": "#/refs/expr" - } - ] - }, - "groupby": { - "oneOf": [ - { - "type": "array", - "items": { - "oneOf": [ - { - "$ref": "#/refs/scaleField" - }, - { - "$ref": "#/refs/paramField" - }, - { - "$ref": "#/refs/expr" - } - ] - } + "domainRaw": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "array" + }, + { + "$ref": "#/definitions/signalRef" + } + ] }, - { - "$ref": "#/refs/signal" - } - ] - }, - "method": { - "anyOf": [ - { - "type": "string" + "reverse": { + "$ref": "#/definitions/booleanOrSignal" }, - { - "$ref": "#/refs/signal" + "round": { + "$ref": "#/definitions/booleanOrSignal" } + }, + "required": [ + "type", + "name" ], - "default": "linear" + "additionalProperties": false + } + ] + }, + "scaleField": { + "$ref": "#/definitions/stringOrSignal" + }, + "sortOrder": { + "oneOf": [ + { + "enum": [ + "ascending", + "descending" + ] }, - "order": { - "anyOf": [ - { - "type": "number" - }, - { - "$ref": "#/refs/signal" - } - ], - "default": 3 + { + "$ref": "#/definitions/signalRef" + } + ] + }, + "scaleBins": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/numberOrSignal" + } }, - "extent": { - "oneOf": [ - { - "type": "array", - "items": { - "anyOf": [ - { - "type": "number" - }, - { - "$ref": "#/refs/signal" - } - ] - } + { + "type": "object", + "properties": { + "step": { + "$ref": "#/definitions/numberOrSignal" }, - { - "$ref": "#/refs/signal" - } - ], - "maxItems": 2, - "minItems": 2 - }, - "params": { - "anyOf": [ - { - "type": "boolean" + "start": { + "$ref": "#/definitions/numberOrSignal" }, - { - "$ref": "#/refs/signal" + "stop": { + "$ref": "#/definitions/numberOrSignal" } - ] + }, + "required": [ + "step" + ], + "additionalProperties": false }, - "as": { - "oneOf": [ - { - "type": "array", - "items": { - "anyOf": [ - { - "type": "string" - }, - { - "$ref": "#/refs/signal" - } - ] - } - }, - { - "$ref": "#/refs/signal" - } - ] + { + "$ref": "#/definitions/signalRef" } - }, - "required": [ - "type", - "x", - "y" - ], - "additionalProperties": false + ] }, - "aggregateTransform": { - "type": "object", - "properties": { - "type": { - "enum": [ - "aggregate" - ] - }, - "signal": { + "scaleInterpolate": { + "oneOf": [ + { "type": "string" }, - "groupby": { - "oneOf": [ - { - "type": "array", - "items": { - "oneOf": [ - { - "$ref": "#/refs/scaleField" - }, - { - "$ref": "#/refs/paramField" - }, - { - "$ref": "#/refs/expr" - } - ] - } + { + "$ref": "#/definitions/signalRef" + }, + { + "type": "object", + "properties": { + "type": { + "$ref": "#/definitions/stringOrSignal" }, - { - "$ref": "#/refs/signal" + "gamma": { + "$ref": "#/definitions/numberOrSignal" } - ] - }, - "ops": { - "oneOf": [ - { - "type": "array", - "items": { - "anyOf": [ - { - "enum": [ - "values", - "count", - "__count__", - "missing", - "valid", - "sum", - "product", - "mean", - "average", - "variance", - "variancep", - "stdev", - "stdevp", - "stderr", - "distinct", - "ci0", - "ci1", - "median", - "q1", - "q3", - "argmin", - "argmax", - "min", - "max" - ] - }, - { - "$ref": "#/refs/signal" - } - ] - } + }, + "required": [ + "type" + ], + "additionalProperties": false + } + ] + }, + "scaleData": { + "oneOf": [ + { + "type": "object", + "properties": { + "data": { + "type": "string" }, - { - "$ref": "#/refs/signal" + "field": { + "$ref": "#/definitions/stringOrSignal" + }, + "sort": { + "oneOf": [ + { + "type": "boolean" + }, + { + "type": "object", + "properties": { + "field": { + "$ref": "#/definitions/stringOrSignal" + }, + "op": { + "$ref": "#/definitions/stringOrSignal" + }, + "order": { + "$ref": "#/definitions/sortOrder" + } + }, + "additionalProperties": false + } + ] } - ] + }, + "required": [ + "data", + "field" + ], + "additionalProperties": false }, - "fields": { - "oneOf": [ - { + { + "type": "object", + "properties": { + "data": { + "type": "string" + }, + "fields": { "type": "array", "items": { - "oneOf": [ - { - "$ref": "#/refs/scaleField" - }, - { - "$ref": "#/refs/paramField" + "$ref": "#/definitions/stringOrSignal" + }, + "minItems": 1 + }, + "sort": { + "oneOf": [ + { + "type": "boolean" + }, + { + "type": "object", + "properties": { + "op": { + "enum": [ + "count" + ] + }, + "order": { + "$ref": "#/definitions/sortOrder" + } }, - { - "$ref": "#/refs/expr" + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "field": { + "$ref": "#/definitions/stringOrSignal" + }, + "op": { + "enum": [ + "count", + "min", + "max" + ] + }, + "order": { + "$ref": "#/definitions/sortOrder" + } }, - { - "type": "null" - } - ] - } - }, - { - "$ref": "#/refs/signal" + "required": [ + "field", + "op" + ], + "additionalProperties": false + } + ] } - ] + }, + "required": [ + "data", + "fields" + ], + "additionalProperties": false }, - "as": { - "oneOf": [ - { + { + "type": "object", + "properties": { + "fields": { "type": "array", "items": { - "anyOf": [ + "oneOf": [ { - "type": "string" + "type": "object", + "properties": { + "data": { + "type": "string" + }, + "field": { + "$ref": "#/definitions/stringOrSignal" + } + }, + "required": [ + "data", + "field" + ], + "additionalProperties": false }, { - "$ref": "#/refs/signal" + "type": "array", + "items": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + } }, { - "type": "null" + "$ref": "#/definitions/signalRef" } ] - } - }, - { - "$ref": "#/refs/signal" - } - ] - }, - "drop": { - "anyOf": [ - { - "type": "boolean" + }, + "minItems": 1 }, - { - "$ref": "#/refs/signal" + "sort": { + "oneOf": [ + { + "type": "boolean" + }, + { + "type": "object", + "properties": { + "op": { + "enum": [ + "count" + ] + }, + "order": { + "$ref": "#/definitions/sortOrder" + } + }, + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "field": { + "$ref": "#/definitions/stringOrSignal" + }, + "op": { + "enum": [ + "count", + "min", + "max" + ] + }, + "order": { + "$ref": "#/definitions/sortOrder" + } + }, + "required": [ + "field", + "op" + ], + "additionalProperties": false + } + ] } + }, + "required": [ + "fields" ], - "default": true - }, - "cross": { - "anyOf": [ - { - "type": "boolean" - }, - { - "$ref": "#/refs/signal" - } - ] - }, - "key": { - "oneOf": [ - { - "$ref": "#/refs/scaleField" - }, - { - "$ref": "#/refs/paramField" - }, - { - "$ref": "#/refs/expr" - } - ] + "additionalProperties": false } - }, - "required": [ - "type" - ], - "additionalProperties": false + ] }, - "binTransform": { + "scope": { "type": "object", "properties": { - "type": { - "enum": [ - "bin" - ] + "encode": { + "$ref": "#/definitions/encode" }, - "signal": { - "type": "string" + "layout": { + "$ref": "#/definitions/layout" }, - "field": { - "oneOf": [ - { - "$ref": "#/refs/scaleField" - }, - { - "$ref": "#/refs/paramField" - }, - { - "$ref": "#/refs/expr" - } - ] + "signals": { + "type": "array", + "items": { + "$ref": "#/definitions/signal" + } }, - "interval": { - "anyOf": [ - { - "type": "boolean" - }, - { - "$ref": "#/refs/signal" - } - ], - "default": true + "data": { + "type": "array", + "items": { + "$ref": "#/definitions/data" + } }, - "anchor": { - "anyOf": [ - { - "type": "number" - }, - { - "$ref": "#/refs/signal" - } - ] + "scales": { + "type": "array", + "items": { + "$ref": "#/definitions/scale" + } }, - "maxbins": { - "anyOf": [ - { - "type": "number" - }, - { - "$ref": "#/refs/signal" - } - ], - "default": 20 + "projections": { + "type": "array", + "items": { + "$ref": "#/definitions/projection" + } }, - "base": { - "anyOf": [ - { - "type": "number" - }, - { - "$ref": "#/refs/signal" - } - ], - "default": 10 + "axes": { + "type": "array", + "items": { + "$ref": "#/definitions/axis" + } }, - "divide": { - "oneOf": [ - { - "type": "array", - "items": { - "anyOf": [ - { - "type": "number" - }, - { - "$ref": "#/refs/signal" - } - ] - } - }, - { - "$ref": "#/refs/signal" - } - ], - "default": [ - 5, - 2 - ] + "legends": { + "type": "array", + "items": { + "$ref": "#/definitions/legend" + } }, - "extent": { - "oneOf": [ - { - "type": "array", - "items": { - "anyOf": [ - { - "type": "number" - }, - { - "$ref": "#/refs/signal" - } - ] + "title": { + "$ref": "#/definitions/title" + }, + "marks": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/definitions/markGroup" + }, + { + "$ref": "#/definitions/markVisual" } + ] + } + }, + "usermeta": { + "type": "object" + } + } + }, + "selector": { + "type": "string" + }, + "signal": { + "oneOf": [ + { + "type": "object", + "properties": { + "name": { + "$ref": "#/definitions/signalName" }, - { - "$ref": "#/refs/signal" + "description": { + "type": "string" + }, + "push": { + "enum": [ + "outer" + ] + }, + "on": { + "$ref": "#/definitions/onEvents" } + }, + "required": [ + "name", + "push" ], - "maxItems": 2, - "minItems": 2 + "additionalProperties": false }, - "span": { - "anyOf": [ - { - "type": "number" + { + "type": "object", + "properties": { + "name": { + "$ref": "#/definitions/signalName" }, - { - "$ref": "#/refs/signal" - } - ] - }, - "step": { - "anyOf": [ - { - "type": "number" + "description": { + "type": "string" }, - { - "$ref": "#/refs/signal" - } - ] - }, - "steps": { - "oneOf": [ - { - "type": "array", - "items": { - "anyOf": [ - { - "type": "number" - }, - { - "$ref": "#/refs/signal" - } - ] - } + "value": {}, + "react": { + "type": "boolean", + "default": true }, - { - "$ref": "#/refs/signal" - } - ] - }, - "minstep": { - "anyOf": [ - { - "type": "number" + "update": { + "$ref": "#/definitions/exprString" }, - { - "$ref": "#/refs/signal" - } - ] - }, - "nice": { - "anyOf": [ - { - "type": "boolean" + "on": { + "$ref": "#/definitions/onEvents" }, - { - "$ref": "#/refs/signal" + "bind": { + "$ref": "#/definitions/bind" } + }, + "required": [ + "name" ], - "default": true + "additionalProperties": false }, - "name": { - "anyOf": [ - { + { + "type": "object", + "properties": { + "name": { + "$ref": "#/definitions/signalName" + }, + "description": { "type": "string" }, - { - "$ref": "#/refs/signal" - } - ] - }, - "as": { - "oneOf": [ - { - "type": "array", - "items": { - "anyOf": [ - { - "type": "string" - }, - { - "$ref": "#/refs/signal" - } - ] - } + "value": {}, + "init": { + "$ref": "#/definitions/exprString" }, - { - "$ref": "#/refs/signal" + "on": { + "$ref": "#/definitions/onEvents" + }, + "bind": { + "$ref": "#/definitions/bind" } + }, + "required": [ + "name", + "init" ], - "maxItems": 2, - "minItems": 2, - "default": [ - "bin0", - "bin1" - ] + "additionalProperties": false } - }, - "required": [ - "type", - "field", - "extent" - ], - "additionalProperties": false + ] }, - "collectTransform": { + "signalName": { + "type": "string", + "not": { + "enum": [ + "parent", + "datum", + "event", + "item" + ] + } + }, + "signalRef": { "type": "object", "properties": { - "type": { - "enum": [ - "collect" - ] + "signal": { + "type": "string" + } + }, + "required": [ + "signal" + ] + }, + "arrayOrSignal": { + "oneOf": [ + { + "type": "array" }, - "signal": { - "type": "string" + { + "$ref": "#/definitions/signalRef" + } + ] + }, + "booleanOrSignal": { + "oneOf": [ + { + "type": "boolean" }, - "sort": { - "$ref": "#/refs/compare" + { + "$ref": "#/definitions/signalRef" } - }, - "required": [ - "type" - ], - "additionalProperties": false + ] }, - "countpatternTransform": { - "type": "object", - "properties": { - "type": { - "enum": [ - "countpattern" - ] + "numberOrSignal": { + "oneOf": [ + { + "type": "number" }, - "signal": { + { + "$ref": "#/definitions/signalRef" + } + ] + }, + "stringOrSignal": { + "oneOf": [ + { "type": "string" }, - "field": { + { + "$ref": "#/definitions/signalRef" + } + ] + }, + "textOrSignal": { + "oneOf": [ + { "oneOf": [ { - "$ref": "#/refs/scaleField" - }, - { - "$ref": "#/refs/paramField" + "type": "string" }, { - "$ref": "#/refs/expr" + "type": "array", + "items": { + "type": "string" + } } ] }, - "case": { - "anyOf": [ - { - "enum": [ - "upper", - "lower", - "mixed" - ] + { + "$ref": "#/definitions/signalRef" + } + ] + }, + "stream": { + "allOf": [ + { + "type": "object", + "properties": { + "between": { + "type": "array", + "items": { + "$ref": "#/definitions/stream" + }, + "minItems": 2, + "maxItems": 2 }, - { - "$ref": "#/refs/signal" - } - ], - "default": "mixed" - }, - "pattern": { - "anyOf": [ - { + "marktype": { "type": "string" }, - { - "$ref": "#/refs/signal" - } - ], - "default": "[\\w\"]+" - }, - "stopwords": { - "anyOf": [ - { + "markname": { "type": "string" }, - { - "$ref": "#/refs/signal" - } - ] - }, - "as": { - "oneOf": [ - { - "type": "array", - "items": { - "anyOf": [ - { - "type": "string" + "filter": { + "oneOf": [ + { + "$ref": "#/definitions/exprString" + }, + { + "type": "array", + "items": { + "$ref": "#/definitions/exprString" }, - { - "$ref": "#/refs/signal" - } - ] - } + "minItems": 1 + } + ] }, - { - "$ref": "#/refs/signal" + "throttle": { + "type": "number" + }, + "debounce": { + "type": "number" + }, + "consume": { + "type": "boolean" } - ], - "maxItems": 2, - "minItems": 2, - "default": [ - "text", - "count" - ] - } - }, - "required": [ - "type", - "field" - ], - "additionalProperties": false - }, - "crossTransform": { - "type": "object", - "properties": { - "type": { - "enum": [ - "cross" - ] - }, - "signal": { - "type": "string" - }, - "filter": { - "$ref": "#/refs/exprString" + } }, - "as": { + { "oneOf": [ { - "type": "array", - "items": { - "anyOf": [ - { - "type": "string" - }, - { - "$ref": "#/refs/signal" - } - ] - } + "type": "object", + "properties": { + "type": { + "type": "string" + }, + "source": { + "type": "string" + } + }, + "required": [ + "type" + ] + }, + { + "type": "object", + "properties": { + "stream": { + "$ref": "#/definitions/stream" + } + }, + "required": [ + "stream" + ] }, { - "$ref": "#/refs/signal" + "type": "object", + "properties": { + "merge": { + "type": "array", + "items": { + "$ref": "#/definitions/stream" + }, + "minItems": 1 + } + }, + "required": [ + "merge" + ] } - ], - "maxItems": 2, - "minItems": 2, - "default": [ - "a", - "b" ] } - }, - "required": [ - "type" - ], - "additionalProperties": false + ] }, - "densityTransform": { - "type": "object", - "properties": { - "type": { - "enum": [ - "density" - ] - }, - "signal": { + "title": { + "oneOf": [ + { "type": "string" }, - "extent": { - "oneOf": [ - { - "type": "array", - "items": { - "anyOf": [ - { - "type": "number" - }, - { - "$ref": "#/refs/signal" - } - ] - } + { + "type": "object", + "properties": { + "orient": { + "oneOf": [ + { + "enum": [ + "none", + "left", + "right", + "top", + "bottom" + ], + "default": "top" + }, + { + "$ref": "#/definitions/signalRef" + } + ] }, - { - "$ref": "#/refs/signal" - } - ], - "maxItems": 2, - "minItems": 2 - }, - "steps": { - "anyOf": [ - { - "type": "number" + "anchor": { + "oneOf": [ + { + "enum": [ + null, + "start", + "middle", + "end" + ] + }, + { + "$ref": "#/definitions/anchorValue" + } + ] }, - { - "$ref": "#/refs/signal" - } - ] - }, - "minsteps": { - "anyOf": [ - { - "type": "number" + "frame": { + "oneOf": [ + { + "enum": [ + "group", + "bounds" + ] + }, + { + "$ref": "#/definitions/stringValue" + } + ] }, - { - "$ref": "#/refs/signal" - } - ], - "default": 25 - }, - "maxsteps": { - "anyOf": [ - { - "type": "number" + "offset": { + "oneOf": [ + { + "type": "number" + }, + { + "$ref": "#/definitions/numberValue" + } + ] }, - { - "$ref": "#/refs/signal" - } - ], - "default": 200 - }, - "method": { - "anyOf": [ - { - "type": "string" + "aria": { + "type": "boolean" }, - { - "$ref": "#/refs/signal" - } - ], - "default": "pdf" - }, - "distribution": { - "oneOf": [ - { - "type": "object", - "properties": { - "function": { + "limit": { + "oneOf": [ + { + "type": "number" + }, + { + "$ref": "#/definitions/numberValue" + } + ] + }, + "zindex": { + "type": "number" + }, + "align": { + "oneOf": [ + { "enum": [ - "normal" + "left", + "right", + "center" ] }, - "mean": { - "anyOf": [ - { - "type": "number" - }, - { - "$ref": "#/refs/signal" - } - ] + { + "$ref": "#/definitions/alignValue" + } + ] + }, + "angle": { + "oneOf": [ + { + "type": "number" }, - "stdev": { - "anyOf": [ - { - "type": "number" - }, - { - "$ref": "#/refs/signal" - } - ], - "default": 1 + { + "$ref": "#/definitions/numberValue" } - }, - "required": [ - "function" - ], - "additionalProperties": false + ] }, - { - "type": "object", - "properties": { - "function": { + "baseline": { + "oneOf": [ + { "enum": [ - "lognormal" + "top", + "middle", + "bottom", + "alphabetic", + "line-top", + "line-bottom" ] }, - "mean": { - "anyOf": [ - { - "type": "number" - }, - { - "$ref": "#/refs/signal" - } + { + "$ref": "#/definitions/baselineValue" + } + ] + }, + "dx": { + "oneOf": [ + { + "type": "number" + }, + { + "$ref": "#/definitions/numberValue" + } + ] + }, + "dy": { + "oneOf": [ + { + "type": "number" + }, + { + "$ref": "#/definitions/numberValue" + } + ] + }, + "text": { + "$ref": "#/definitions/textOrSignal" + }, + "color": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + }, + { + "$ref": "#/definitions/colorValue" + } + ] + }, + "font": { + "oneOf": [ + { + "type": "string" + }, + { + "$ref": "#/definitions/stringValue" + } + ] + }, + "fontSize": { + "oneOf": [ + { + "type": "number" + }, + { + "$ref": "#/definitions/numberValue" + } + ] + }, + "fontStyle": { + "oneOf": [ + { + "type": "string" + }, + { + "$ref": "#/definitions/stringValue" + } + ] + }, + "fontWeight": { + "oneOf": [ + { + "enum": [ + null, + "normal", + "bold", + "lighter", + "bolder", + "100", + "200", + "300", + "400", + "500", + "600", + "700", + "800", + "900", + 100, + 200, + 300, + 400, + 500, + 600, + 700, + 800, + 900 ] }, - "stdev": { - "anyOf": [ - { - "type": "number" - }, - { - "$ref": "#/refs/signal" - } - ], - "default": 1 + { + "$ref": "#/definitions/fontWeightValue" + } + ] + }, + "lineHeight": { + "oneOf": [ + { + "type": "number" + }, + { + "$ref": "#/definitions/numberValue" } - }, - "required": [ - "function" - ], - "additionalProperties": false + ] }, - { - "type": "object", - "properties": { - "function": { - "enum": [ - "uniform" - ] + "subtitle": { + "$ref": "#/definitions/textOrSignal" + }, + "subtitleColor": { + "oneOf": [ + { + "type": "null" }, - "min": { - "anyOf": [ - { - "type": "number" - }, - { - "$ref": "#/refs/signal" - } - ] + { + "type": "string" }, - "max": { - "anyOf": [ - { - "type": "number" - }, - { - "$ref": "#/refs/signal" - } - ], - "default": 1 + { + "$ref": "#/definitions/colorValue" } - }, - "required": [ - "function" - ], - "additionalProperties": false + ] }, - { - "type": "object", - "properties": { - "function": { - "enum": [ - "kde" - ] + "subtitleFont": { + "oneOf": [ + { + "type": "string" }, - "field": { - "oneOf": [ - { - "$ref": "#/refs/scaleField" - }, - { - "$ref": "#/refs/paramField" - }, - { - "$ref": "#/refs/expr" - } - ] + { + "$ref": "#/definitions/stringValue" + } + ] + }, + "subtitleFontSize": { + "oneOf": [ + { + "type": "number" }, - "from": { + { + "$ref": "#/definitions/numberValue" + } + ] + }, + "subtitleFontStyle": { + "oneOf": [ + { "type": "string" }, - "bandwidth": { - "anyOf": [ - { - "type": "number" - }, - { - "$ref": "#/refs/signal" - } - ] + { + "$ref": "#/definitions/stringValue" } - }, - "required": [ - "function", - "field" - ], - "additionalProperties": false + ] }, - { - "type": "object", - "properties": { - "function": { + "subtitleFontWeight": { + "oneOf": [ + { "enum": [ - "mixture" + null, + "normal", + "bold", + "lighter", + "bolder", + "100", + "200", + "300", + "400", + "500", + "600", + "700", + "800", + "900", + 100, + 200, + 300, + 400, + 500, + 600, + 700, + 800, + 900 ] }, - "distributions": { - "oneOf": [ - { - "type": "array", - "items": {} - }, - { - "$ref": "#/refs/signal" + { + "$ref": "#/definitions/fontWeightValue" + } + ] + }, + "subtitleLineHeight": { + "oneOf": [ + { + "type": "number" + }, + { + "$ref": "#/definitions/numberValue" + } + ] + }, + "subtitlePadding": { + "$ref": "#/definitions/numberOrSignal" + }, + "encode": { + "anyOf": [ + { + "type": "object", + "additionalProperties": false, + "patternProperties": { + "^(?!interactive|name|style).+$": { + "$ref": "#/definitions/encodeEntry" } - ] + } }, - "weights": { - "oneOf": [ - { - "type": "array", - "items": { - "anyOf": [ - { - "type": "number" - }, - { - "$ref": "#/refs/signal" - } - ] - } + { + "type": "object", + "properties": { + "group": { + "$ref": "#/definitions/guideEncode" }, - { - "$ref": "#/refs/signal" + "title": { + "$ref": "#/definitions/guideEncode" + }, + "subtitle": { + "$ref": "#/definitions/guideEncode" } - ] + }, + "additionalProperties": false } - }, - "required": [ - "function" - ], - "additionalProperties": false + ] + }, + "name": { + "type": "string" + }, + "interactive": { + "type": "boolean" + }, + "style": { + "$ref": "#/definitions/style" } + }, + "additionalProperties": false + } + ] + }, + "transform": { + "oneOf": [ + { + "$ref": "#/definitions/crossfilterTransform" + }, + { + "$ref": "#/definitions/resolvefilterTransform" + }, + { + "$ref": "#/definitions/linkpathTransform" + }, + { + "$ref": "#/definitions/pieTransform" + }, + { + "$ref": "#/definitions/stackTransform" + }, + { + "$ref": "#/definitions/forceTransform" + }, + { + "$ref": "#/definitions/contourTransform" + }, + { + "$ref": "#/definitions/geojsonTransform" + }, + { + "$ref": "#/definitions/geopathTransform" + }, + { + "$ref": "#/definitions/geopointTransform" + }, + { + "$ref": "#/definitions/geoshapeTransform" + }, + { + "$ref": "#/definitions/graticuleTransform" + }, + { + "$ref": "#/definitions/heatmapTransform" + }, + { + "$ref": "#/definitions/isocontourTransform" + }, + { + "$ref": "#/definitions/kde2dTransform" + }, + { + "$ref": "#/definitions/nestTransform" + }, + { + "$ref": "#/definitions/packTransform" + }, + { + "$ref": "#/definitions/partitionTransform" + }, + { + "$ref": "#/definitions/stratifyTransform" + }, + { + "$ref": "#/definitions/treeTransform" + }, + { + "$ref": "#/definitions/treelinksTransform" + }, + { + "$ref": "#/definitions/treemapTransform" + }, + { + "$ref": "#/definitions/labelTransform" + }, + { + "$ref": "#/definitions/loessTransform" + }, + { + "$ref": "#/definitions/regressionTransform" + }, + { + "$ref": "#/definitions/aggregateTransform" + }, + { + "$ref": "#/definitions/binTransform" + }, + { + "$ref": "#/definitions/collectTransform" + }, + { + "$ref": "#/definitions/countpatternTransform" + }, + { + "$ref": "#/definitions/crossTransform" + }, + { + "$ref": "#/definitions/densityTransform" + }, + { + "$ref": "#/definitions/dotbinTransform" + }, + { + "$ref": "#/definitions/extentTransform" + }, + { + "$ref": "#/definitions/filterTransform" + }, + { + "$ref": "#/definitions/flattenTransform" + }, + { + "$ref": "#/definitions/foldTransform" + }, + { + "$ref": "#/definitions/formulaTransform" + }, + { + "$ref": "#/definitions/imputeTransform" + }, + { + "$ref": "#/definitions/joinaggregateTransform" + }, + { + "$ref": "#/definitions/kdeTransform" + }, + { + "$ref": "#/definitions/lookupTransform" + }, + { + "$ref": "#/definitions/pivotTransform" + }, + { + "$ref": "#/definitions/projectTransform" + }, + { + "$ref": "#/definitions/quantileTransform" + }, + { + "$ref": "#/definitions/sampleTransform" + }, + { + "$ref": "#/definitions/sequenceTransform" + }, + { + "$ref": "#/definitions/timeunitTransform" + }, + { + "$ref": "#/definitions/windowTransform" + }, + { + "$ref": "#/definitions/identifierTransform" + }, + { + "$ref": "#/definitions/voronoiTransform" + }, + { + "$ref": "#/definitions/wordcloudTransform" + } + ] + }, + "transformMark": { + "oneOf": [ + { + "$ref": "#/definitions/crossfilterTransform" + }, + { + "$ref": "#/definitions/resolvefilterTransform" + }, + { + "$ref": "#/definitions/linkpathTransform" + }, + { + "$ref": "#/definitions/pieTransform" + }, + { + "$ref": "#/definitions/stackTransform" + }, + { + "$ref": "#/definitions/forceTransform" + }, + { + "$ref": "#/definitions/geojsonTransform" + }, + { + "$ref": "#/definitions/geopathTransform" + }, + { + "$ref": "#/definitions/geopointTransform" + }, + { + "$ref": "#/definitions/geoshapeTransform" + }, + { + "$ref": "#/definitions/heatmapTransform" + }, + { + "$ref": "#/definitions/packTransform" + }, + { + "$ref": "#/definitions/partitionTransform" + }, + { + "$ref": "#/definitions/stratifyTransform" + }, + { + "$ref": "#/definitions/treeTransform" + }, + { + "$ref": "#/definitions/treemapTransform" + }, + { + "$ref": "#/definitions/labelTransform" + }, + { + "$ref": "#/definitions/binTransform" + }, + { + "$ref": "#/definitions/collectTransform" + }, + { + "$ref": "#/definitions/dotbinTransform" + }, + { + "$ref": "#/definitions/extentTransform" + }, + { + "$ref": "#/definitions/formulaTransform" + }, + { + "$ref": "#/definitions/joinaggregateTransform" + }, + { + "$ref": "#/definitions/lookupTransform" + }, + { + "$ref": "#/definitions/sampleTransform" + }, + { + "$ref": "#/definitions/timeunitTransform" + }, + { + "$ref": "#/definitions/windowTransform" + }, + { + "$ref": "#/definitions/identifierTransform" + }, + { + "$ref": "#/definitions/voronoiTransform" + }, + { + "$ref": "#/definitions/wordcloudTransform" + } + ] + }, + "crossfilterTransform": { + "type": "object", + "properties": { + "type": { + "enum": [ + "crossfilter" ] }, - "as": { + "signal": { + "type": "string" + }, + "fields": { "oneOf": [ { "type": "array", "items": { - "anyOf": [ + "oneOf": [ { - "type": "string" + "$ref": "#/definitions/scaleField" + }, + { + "$ref": "#/definitions/paramField" }, { - "$ref": "#/refs/signal" + "$ref": "#/definitions/expr" } ] } }, { - "$ref": "#/refs/signal" + "$ref": "#/definitions/signalRef" + } + ] + }, + "query": { + "oneOf": [ + { + "type": "array", + "items": {} + }, + { + "$ref": "#/definitions/signalRef" } - ], - "default": [ - "value", - "density" ] } }, "required": [ - "type" + "type", + "fields", + "query" ], "additionalProperties": false }, - "dotbinTransform": { + "resolvefilterTransform": { "type": "object", "properties": { "type": { "enum": [ - "dotbin" + "resolvefilter" ] }, "signal": { "type": "string" }, - "field": { + "ignore": { + "anyOf": [ + { + "type": "number" + }, + { + "$ref": "#/definitions/signalRef" + } + ] + }, + "filter": {} + }, + "required": [ + "type", + "ignore", + "filter" + ], + "additionalProperties": false + }, + "linkpathTransform": { + "type": "object", + "properties": { + "type": { + "enum": [ + "linkpath" + ] + }, + "signal": { + "type": "string" + }, + "sourceX": { "oneOf": [ { - "$ref": "#/refs/scaleField" + "$ref": "#/definitions/scaleField" }, { - "$ref": "#/refs/paramField" + "$ref": "#/definitions/paramField" }, { - "$ref": "#/refs/expr" + "$ref": "#/definitions/expr" } - ] + ], + "default": "source.x" }, - "groupby": { + "sourceY": { "oneOf": [ { - "type": "array", - "items": { - "oneOf": [ - { - "$ref": "#/refs/scaleField" - }, - { - "$ref": "#/refs/paramField" - }, - { - "$ref": "#/refs/expr" - } - ] - } + "$ref": "#/definitions/scaleField" }, { - "$ref": "#/refs/signal" + "$ref": "#/definitions/paramField" + }, + { + "$ref": "#/definitions/expr" } - ] + ], + "default": "source.y" }, - "step": { + "targetX": { + "oneOf": [ + { + "$ref": "#/definitions/scaleField" + }, + { + "$ref": "#/definitions/paramField" + }, + { + "$ref": "#/definitions/expr" + } + ], + "default": "target.x" + }, + "targetY": { + "oneOf": [ + { + "$ref": "#/definitions/scaleField" + }, + { + "$ref": "#/definitions/paramField" + }, + { + "$ref": "#/definitions/expr" + } + ], + "default": "target.y" + }, + "orient": { "anyOf": [ { - "type": "number" + "enum": [ + "horizontal", + "vertical", + "radial" + ] }, { - "$ref": "#/refs/signal" + "$ref": "#/definitions/signalRef" } - ] + ], + "default": "vertical" }, - "smooth": { + "shape": { "anyOf": [ { - "type": "boolean" + "enum": [ + "line", + "arc", + "curve", + "diagonal", + "orthogonal" + ] }, { - "$ref": "#/refs/signal" + "$ref": "#/definitions/signalRef" } - ] + ], + "default": "line" + }, + "require": { + "$ref": "#/definitions/signalRef" }, "as": { "anyOf": [ @@ -10218,24 +10781,23 @@ "type": "string" }, { - "$ref": "#/refs/signal" + "$ref": "#/definitions/signalRef" } ], - "default": "bin" + "default": "path" } }, "required": [ - "type", - "field" + "type" ], "additionalProperties": false }, - "extentTransform": { + "pieTransform": { "type": "object", "properties": { "type": { "enum": [ - "extent" + "pie" ] }, "signal": { @@ -10244,85 +10806,44 @@ "field": { "oneOf": [ { - "$ref": "#/refs/scaleField" + "$ref": "#/definitions/scaleField" }, { - "$ref": "#/refs/paramField" + "$ref": "#/definitions/paramField" }, { - "$ref": "#/refs/expr" + "$ref": "#/definitions/expr" } ] - } - }, - "required": [ - "type", - "field" - ], - "additionalProperties": false - }, - "filterTransform": { - "type": "object", - "properties": { - "type": { - "enum": [ - "filter" - ] - }, - "signal": { - "type": "string" }, - "expr": { - "$ref": "#/refs/exprString" - } - }, - "required": [ - "type", - "expr" - ], - "additionalProperties": false - }, - "flattenTransform": { - "type": "object", - "properties": { - "type": { - "enum": [ - "flatten" + "startAngle": { + "anyOf": [ + { + "type": "number" + }, + { + "$ref": "#/definitions/signalRef" + } ] }, - "signal": { - "type": "string" - }, - "fields": { - "oneOf": [ + "endAngle": { + "anyOf": [ { - "type": "array", - "items": { - "oneOf": [ - { - "$ref": "#/refs/scaleField" - }, - { - "$ref": "#/refs/paramField" - }, - { - "$ref": "#/refs/expr" - } - ] - } + "type": "number" }, { - "$ref": "#/refs/signal" + "$ref": "#/definitions/signalRef" } - ] + ], + "default": 6.283185307179586 }, - "index": { + "sort": { "anyOf": [ { - "type": "string" + "type": "boolean" }, { - "$ref": "#/refs/signal" + "$ref": "#/definitions/signalRef" } ] }, @@ -10336,57 +10857,93 @@ "type": "string" }, { - "$ref": "#/refs/signal" + "$ref": "#/definitions/signalRef" } ] - } + }, + "maxItems": 2, + "minItems": 2 }, { - "$ref": "#/refs/signal" + "$ref": "#/definitions/signalRef" } + ], + "default": [ + "startAngle", + "endAngle" ] } }, "required": [ - "type", - "fields" + "type" ], "additionalProperties": false }, - "foldTransform": { + "stackTransform": { "type": "object", "properties": { "type": { "enum": [ - "fold" + "stack" ] }, "signal": { "type": "string" }, - "fields": { + "field": { + "oneOf": [ + { + "$ref": "#/definitions/scaleField" + }, + { + "$ref": "#/definitions/paramField" + }, + { + "$ref": "#/definitions/expr" + } + ] + }, + "groupby": { "oneOf": [ { "type": "array", "items": { "oneOf": [ { - "$ref": "#/refs/scaleField" + "$ref": "#/definitions/scaleField" }, { - "$ref": "#/refs/paramField" + "$ref": "#/definitions/paramField" }, { - "$ref": "#/refs/expr" + "$ref": "#/definitions/expr" } ] } }, { - "$ref": "#/refs/signal" + "$ref": "#/definitions/signalRef" } ] }, + "sort": { + "$ref": "#/definitions/compare" + }, + "offset": { + "anyOf": [ + { + "enum": [ + "zero", + "center", + "normalize" + ] + }, + { + "$ref": "#/definitions/signalRef" + } + ], + "default": "zero" + }, "as": { "oneOf": [ { @@ -10397,272 +10954,412 @@ "type": "string" }, { - "$ref": "#/refs/signal" + "$ref": "#/definitions/signalRef" } ] - } + }, + "maxItems": 2, + "minItems": 2 }, { - "$ref": "#/refs/signal" + "$ref": "#/definitions/signalRef" } ], - "maxItems": 2, - "minItems": 2, "default": [ - "key", - "value" + "y0", + "y1" ] } }, "required": [ - "type", - "fields" + "type" ], "additionalProperties": false }, - "formulaTransform": { + "forceTransform": { "type": "object", "properties": { "type": { "enum": [ - "formula" + "force" ] }, "signal": { "type": "string" }, - "expr": { - "$ref": "#/refs/exprString" - }, - "as": { + "static": { "anyOf": [ { - "type": "string" + "type": "boolean" }, { - "$ref": "#/refs/signal" + "$ref": "#/definitions/signalRef" } ] }, - "initonly": { + "restart": { "anyOf": [ { "type": "boolean" }, { - "$ref": "#/refs/signal" + "$ref": "#/definitions/signalRef" } ] - } - }, - "required": [ - "type", - "expr", - "as" - ], - "additionalProperties": false - }, - "imputeTransform": { - "type": "object", - "properties": { - "type": { - "enum": [ - "impute" - ] - }, - "signal": { - "type": "string" }, - "field": { - "oneOf": [ + "iterations": { + "anyOf": [ { - "$ref": "#/refs/scaleField" + "type": "number" }, { - "$ref": "#/refs/paramField" + "$ref": "#/definitions/signalRef" + } + ], + "default": 300 + }, + "alpha": { + "anyOf": [ + { + "type": "number" }, { - "$ref": "#/refs/expr" + "$ref": "#/definitions/signalRef" } - ] + ], + "default": 1 }, - "key": { - "oneOf": [ + "alphaMin": { + "anyOf": [ { - "$ref": "#/refs/scaleField" + "type": "number" }, { - "$ref": "#/refs/paramField" + "$ref": "#/definitions/signalRef" + } + ], + "default": 0.001 + }, + "alphaTarget": { + "anyOf": [ + { + "type": "number" }, { - "$ref": "#/refs/expr" + "$ref": "#/definitions/signalRef" } ] }, - "keyvals": { - "oneOf": [ + "velocityDecay": { + "anyOf": [ { - "type": "array", - "items": {} + "type": "number" }, { - "$ref": "#/refs/signal" + "$ref": "#/definitions/signalRef" } - ] + ], + "default": 0.4 }, - "groupby": { - "oneOf": [ - { - "type": "array", - "items": { - "oneOf": [ - { - "$ref": "#/refs/scaleField" + "forces": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "force": { + "enum": [ + "center" + ] + }, + "x": { + "anyOf": [ + { + "type": "number" + }, + { + "$ref": "#/definitions/signalRef" + } + ] + }, + "y": { + "anyOf": [ + { + "type": "number" + }, + { + "$ref": "#/definitions/signalRef" + } + ] + } + }, + "required": [ + "force" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "force": { + "enum": [ + "collide" + ] + }, + "radius": { + "anyOf": [ + { + "type": "number" + }, + { + "$ref": "#/definitions/signalRef" + }, + { + "$ref": "#/definitions/expr" + }, + { + "$ref": "#/definitions/paramField" + } + ] }, - { - "$ref": "#/refs/paramField" + "strength": { + "anyOf": [ + { + "type": "number" + }, + { + "$ref": "#/definitions/signalRef" + } + ], + "default": 0.7 }, - { - "$ref": "#/refs/expr" + "iterations": { + "anyOf": [ + { + "type": "number" + }, + { + "$ref": "#/definitions/signalRef" + } + ], + "default": 1 } - ] - } - }, - { - "$ref": "#/refs/signal" - } - ] - }, - "method": { - "anyOf": [ - { - "enum": [ - "value", - "mean", - "median", - "max", - "min" - ] - }, - { - "$ref": "#/refs/signal" - } - ], - "default": "value" - }, - "value": {} - }, - "required": [ - "type", - "field", - "key" - ], - "additionalProperties": false - }, - "joinaggregateTransform": { - "type": "object", - "properties": { - "type": { - "enum": [ - "joinaggregate" - ] - }, - "signal": { - "type": "string" - }, - "groupby": { - "oneOf": [ - { - "type": "array", - "items": { - "oneOf": [ - { - "$ref": "#/refs/scaleField" + }, + "required": [ + "force" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "force": { + "enum": [ + "nbody" + ] }, - { - "$ref": "#/refs/paramField" + "strength": { + "anyOf": [ + { + "type": "number" + }, + { + "$ref": "#/definitions/signalRef" + } + ], + "default": -30 }, - { - "$ref": "#/refs/expr" + "theta": { + "anyOf": [ + { + "type": "number" + }, + { + "$ref": "#/definitions/signalRef" + } + ], + "default": 0.9 + }, + "distanceMin": { + "anyOf": [ + { + "type": "number" + }, + { + "$ref": "#/definitions/signalRef" + } + ], + "default": 1 + }, + "distanceMax": { + "anyOf": [ + { + "type": "number" + }, + { + "$ref": "#/definitions/signalRef" + } + ] } - ] - } - }, - { - "$ref": "#/refs/signal" - } - ] - }, - "fields": { - "oneOf": [ - { - "type": "array", - "items": { - "oneOf": [ - { - "$ref": "#/refs/scaleField" + }, + "required": [ + "force" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "force": { + "enum": [ + "link" + ] }, - { - "$ref": "#/refs/paramField" + "links": { + "type": "string" }, - { - "$ref": "#/refs/expr" + "id": { + "oneOf": [ + { + "$ref": "#/definitions/scaleField" + }, + { + "$ref": "#/definitions/paramField" + }, + { + "$ref": "#/definitions/expr" + } + ] }, - { - "type": "null" + "distance": { + "anyOf": [ + { + "type": "number" + }, + { + "$ref": "#/definitions/signalRef" + }, + { + "$ref": "#/definitions/expr" + }, + { + "$ref": "#/definitions/paramField" + } + ], + "default": 30 + }, + "strength": { + "anyOf": [ + { + "type": "number" + }, + { + "$ref": "#/definitions/signalRef" + }, + { + "$ref": "#/definitions/expr" + }, + { + "$ref": "#/definitions/paramField" + } + ] + }, + "iterations": { + "anyOf": [ + { + "type": "number" + }, + { + "$ref": "#/definitions/signalRef" + } + ], + "default": 1 } - ] - } - }, - { - "$ref": "#/refs/signal" - } - ] - }, - "ops": { - "oneOf": [ - { - "type": "array", - "items": { - "anyOf": [ - { + }, + "required": [ + "force" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "force": { + "enum": [ + "x" + ] + }, + "strength": { + "anyOf": [ + { + "type": "number" + }, + { + "$ref": "#/definitions/signalRef" + } + ], + "default": 0.1 + }, + "x": { + "oneOf": [ + { + "$ref": "#/definitions/scaleField" + }, + { + "$ref": "#/definitions/paramField" + }, + { + "$ref": "#/definitions/expr" + } + ] + } + }, + "required": [ + "force" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "force": { "enum": [ - "values", - "count", - "__count__", - "missing", - "valid", - "sum", - "product", - "mean", - "average", - "variance", - "variancep", - "stdev", - "stdevp", - "stderr", - "distinct", - "ci0", - "ci1", - "median", - "q1", - "q3", - "argmin", - "argmax", - "min", - "max" + "y" ] }, - { - "$ref": "#/refs/signal" + "strength": { + "anyOf": [ + { + "type": "number" + }, + { + "$ref": "#/definitions/signalRef" + } + ], + "default": 0.1 + }, + "y": { + "oneOf": [ + { + "$ref": "#/definitions/scaleField" + }, + { + "$ref": "#/definitions/paramField" + }, + { + "$ref": "#/definitions/expr" + } + ] } - ] + }, + "required": [ + "force" + ], + "additionalProperties": false } - }, - { - "$ref": "#/refs/signal" - } - ] + ] + } }, "as": { "oneOf": [ @@ -10674,30 +11371,20 @@ "type": "string" }, { - "$ref": "#/refs/signal" - }, - { - "type": "null" + "$ref": "#/definitions/signalRef" } ] } }, { - "$ref": "#/refs/signal" - } - ] - }, - "key": { - "oneOf": [ - { - "$ref": "#/refs/scaleField" - }, - { - "$ref": "#/refs/paramField" - }, - { - "$ref": "#/refs/expr" + "$ref": "#/definitions/signalRef" } + ], + "default": [ + "x", + "y", + "vx", + "vy" ] } }, @@ -10706,423 +11393,305 @@ ], "additionalProperties": false }, - "kdeTransform": { + "contourTransform": { "type": "object", "properties": { "type": { "enum": [ - "kde" + "contour" ] }, "signal": { "type": "string" }, - "groupby": { + "size": { "oneOf": [ { "type": "array", "items": { - "oneOf": [ - { - "$ref": "#/refs/scaleField" - }, + "anyOf": [ { - "$ref": "#/refs/paramField" + "type": "number" }, { - "$ref": "#/refs/expr" + "$ref": "#/definitions/signalRef" } ] - } + }, + "maxItems": 2, + "minItems": 2 }, { - "$ref": "#/refs/signal" + "$ref": "#/definitions/signalRef" } ] }, - "field": { + "values": { "oneOf": [ { - "$ref": "#/refs/scaleField" - }, - { - "$ref": "#/refs/paramField" + "type": "array", + "items": { + "anyOf": [ + { + "type": "number" + }, + { + "$ref": "#/definitions/signalRef" + } + ] + } }, { - "$ref": "#/refs/expr" + "$ref": "#/definitions/signalRef" } ] }, - "cumulative": { - "anyOf": [ + "x": { + "oneOf": [ { - "type": "boolean" + "$ref": "#/definitions/scaleField" }, { - "$ref": "#/refs/signal" - } - ] - }, - "counts": { - "anyOf": [ - { - "type": "boolean" + "$ref": "#/definitions/paramField" }, { - "$ref": "#/refs/signal" + "$ref": "#/definitions/expr" } ] }, - "bandwidth": { - "anyOf": [ + "y": { + "oneOf": [ { - "type": "number" + "$ref": "#/definitions/scaleField" + }, + { + "$ref": "#/definitions/paramField" }, { - "$ref": "#/refs/signal" + "$ref": "#/definitions/expr" } ] }, - "extent": { + "weight": { "oneOf": [ { - "type": "array", - "items": { - "anyOf": [ - { - "type": "number" - }, - { - "$ref": "#/refs/signal" - } - ] - } + "$ref": "#/definitions/scaleField" }, { - "$ref": "#/refs/signal" - } - ], - "maxItems": 2, - "minItems": 2 - }, - "resolve": { - "anyOf": [ - { - "enum": [ - "shared", - "independent" - ] + "$ref": "#/definitions/paramField" }, { - "$ref": "#/refs/signal" + "$ref": "#/definitions/expr" } - ], - "default": "independent" + ] }, - "steps": { + "cellSize": { "anyOf": [ { "type": "number" }, { - "$ref": "#/refs/signal" + "$ref": "#/definitions/signalRef" } ] }, - "minsteps": { + "bandwidth": { "anyOf": [ { "type": "number" }, { - "$ref": "#/refs/signal" + "$ref": "#/definitions/signalRef" } - ], - "default": 25 + ] }, - "maxsteps": { + "count": { "anyOf": [ { "type": "number" }, { - "$ref": "#/refs/signal" - } - ], - "default": 200 - }, - "as": { - "oneOf": [ - { - "type": "array", - "items": { - "anyOf": [ - { - "type": "string" - }, - { - "$ref": "#/refs/signal" - } - ] - } - }, - { - "$ref": "#/refs/signal" - } - ], - "default": [ - "value", - "density" - ] - } - }, - "required": [ - "type", - "field" - ], - "additionalProperties": false - }, - "lookupTransform": { - "type": "object", - "properties": { - "type": { - "enum": [ - "lookup" - ] - }, - "signal": { - "type": "string" - }, - "from": { - "type": "string" - }, - "key": { - "oneOf": [ - { - "$ref": "#/refs/scaleField" - }, - { - "$ref": "#/refs/paramField" - }, - { - "$ref": "#/refs/expr" + "$ref": "#/definitions/signalRef" } ] }, - "values": { - "oneOf": [ + "nice": { + "anyOf": [ { - "type": "array", - "items": { - "oneOf": [ - { - "$ref": "#/refs/scaleField" - }, - { - "$ref": "#/refs/paramField" - }, - { - "$ref": "#/refs/expr" - } - ] - } + "type": "boolean" }, { - "$ref": "#/refs/signal" + "$ref": "#/definitions/signalRef" } ] }, - "fields": { + "thresholds": { "oneOf": [ { "type": "array", "items": { - "oneOf": [ - { - "$ref": "#/refs/scaleField" - }, + "anyOf": [ { - "$ref": "#/refs/paramField" + "type": "number" }, { - "$ref": "#/refs/expr" + "$ref": "#/definitions/signalRef" } ] } }, { - "$ref": "#/refs/signal" + "$ref": "#/definitions/signalRef" } ] }, - "as": { - "oneOf": [ + "smooth": { + "anyOf": [ { - "type": "array", - "items": { - "anyOf": [ - { - "type": "string" - }, - { - "$ref": "#/refs/signal" - } - ] - } + "type": "boolean" }, { - "$ref": "#/refs/signal" + "$ref": "#/definitions/signalRef" } - ] - }, - "default": {} + ], + "default": true + } }, "required": [ "type", - "from", - "key", - "fields" + "size" ], "additionalProperties": false }, - "pivotTransform": { + "geojsonTransform": { "type": "object", "properties": { "type": { "enum": [ - "pivot" + "geojson" ] }, "signal": { "type": "string" }, - "groupby": { + "fields": { "oneOf": [ { "type": "array", "items": { "oneOf": [ { - "$ref": "#/refs/scaleField" + "$ref": "#/definitions/scaleField" }, { - "$ref": "#/refs/paramField" + "$ref": "#/definitions/paramField" }, { - "$ref": "#/refs/expr" + "$ref": "#/definitions/expr" } ] - } + }, + "maxItems": 2, + "minItems": 2 }, { - "$ref": "#/refs/signal" + "$ref": "#/definitions/signalRef" } ] }, - "field": { + "geojson": { "oneOf": [ { - "$ref": "#/refs/scaleField" + "$ref": "#/definitions/scaleField" }, { - "$ref": "#/refs/paramField" + "$ref": "#/definitions/paramField" }, { - "$ref": "#/refs/expr" + "$ref": "#/definitions/expr" } ] + } + }, + "required": [ + "type" + ], + "additionalProperties": false + }, + "geopathTransform": { + "type": "object", + "properties": { + "type": { + "enum": [ + "geopath" + ] }, - "value": { + "signal": { + "type": "string" + }, + "projection": { + "type": "string" + }, + "field": { "oneOf": [ { - "$ref": "#/refs/scaleField" + "$ref": "#/definitions/scaleField" }, { - "$ref": "#/refs/paramField" + "$ref": "#/definitions/paramField" }, { - "$ref": "#/refs/expr" + "$ref": "#/definitions/expr" } ] }, - "op": { + "pointRadius": { "anyOf": [ { - "enum": [ - "values", - "count", - "__count__", - "missing", - "valid", - "sum", - "product", - "mean", - "average", - "variance", - "variancep", - "stdev", - "stdevp", - "stderr", - "distinct", - "ci0", - "ci1", - "median", - "q1", - "q3", - "argmin", - "argmax", - "min", - "max" - ] + "type": "number" }, { - "$ref": "#/refs/signal" - } - ], - "default": "sum" - }, - "limit": { - "anyOf": [ + "$ref": "#/definitions/signalRef" + }, { - "type": "number" + "$ref": "#/definitions/expr" }, { - "$ref": "#/refs/signal" + "$ref": "#/definitions/paramField" } ] }, - "key": { - "oneOf": [ - { - "$ref": "#/refs/scaleField" - }, + "as": { + "anyOf": [ { - "$ref": "#/refs/paramField" + "type": "string" }, { - "$ref": "#/refs/expr" + "$ref": "#/definitions/signalRef" } - ] + ], + "default": "path" } }, "required": [ - "type", - "field", - "value" + "type" ], "additionalProperties": false }, - "projectTransform": { + "geopointTransform": { "type": "object", "properties": { "type": { "enum": [ - "project" + "geopoint" ] }, "signal": { "type": "string" }, + "projection": { + "type": "string" + }, "fields": { "oneOf": [ { @@ -11130,19 +11699,21 @@ "items": { "oneOf": [ { - "$ref": "#/refs/scaleField" + "$ref": "#/definitions/scaleField" }, { - "$ref": "#/refs/paramField" + "$ref": "#/definitions/paramField" }, { - "$ref": "#/refs/expr" + "$ref": "#/definitions/expr" } ] - } + }, + "maxItems": 2, + "minItems": 2 }, { - "$ref": "#/refs/signal" + "$ref": "#/definitions/signalRef" } ] }, @@ -11156,18 +11727,84 @@ "type": "string" }, { - "$ref": "#/refs/signal" - }, - { - "type": "null" + "$ref": "#/definitions/signalRef" } ] - } + }, + "maxItems": 2, + "minItems": 2 + }, + { + "$ref": "#/definitions/signalRef" + } + ], + "default": [ + "x", + "y" + ] + } + }, + "required": [ + "type", + "projection", + "fields" + ], + "additionalProperties": false + }, + "geoshapeTransform": { + "type": "object", + "properties": { + "type": { + "enum": [ + "geoshape" + ] + }, + "signal": { + "type": "string" + }, + "projection": { + "type": "string" + }, + "field": { + "oneOf": [ + { + "$ref": "#/definitions/scaleField" + }, + { + "$ref": "#/definitions/paramField" + }, + { + "$ref": "#/definitions/expr" + } + ], + "default": "datum" + }, + "pointRadius": { + "anyOf": [ + { + "type": "number" + }, + { + "$ref": "#/definitions/signalRef" }, { - "$ref": "#/refs/signal" + "$ref": "#/definitions/expr" + }, + { + "$ref": "#/definitions/paramField" } ] + }, + "as": { + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/definitions/signalRef" + } + ], + "default": "shape" } }, "required": [ @@ -11175,54 +11812,57 @@ ], "additionalProperties": false }, - "quantileTransform": { + "graticuleTransform": { "type": "object", "properties": { "type": { "enum": [ - "quantile" + "graticule" ] }, "signal": { "type": "string" }, - "groupby": { + "extent": { "oneOf": [ { "type": "array", - "items": { - "oneOf": [ - { - "$ref": "#/refs/scaleField" - }, - { - "$ref": "#/refs/paramField" - }, - { - "$ref": "#/refs/expr" - } - ] - } + "items": {}, + "maxItems": 2, + "minItems": 2 }, { - "$ref": "#/refs/signal" + "$ref": "#/definitions/signalRef" } ] }, - "field": { + "extentMajor": { "oneOf": [ { - "$ref": "#/refs/scaleField" + "type": "array", + "items": {}, + "maxItems": 2, + "minItems": 2 }, { - "$ref": "#/refs/paramField" + "$ref": "#/definitions/signalRef" + } + ] + }, + "extentMinor": { + "oneOf": [ + { + "type": "array", + "items": {}, + "maxItems": 2, + "minItems": 2 }, { - "$ref": "#/refs/expr" + "$ref": "#/definitions/signalRef" } ] }, - "probs": { + "step": { "oneOf": [ { "type": "array", @@ -11232,79 +11872,80 @@ "type": "number" }, { - "$ref": "#/refs/signal" + "$ref": "#/definitions/signalRef" } ] - } + }, + "maxItems": 2, + "minItems": 2 }, { - "$ref": "#/refs/signal" + "$ref": "#/definitions/signalRef" } ] }, - "step": { - "anyOf": [ + "stepMajor": { + "oneOf": [ { - "type": "number" + "type": "array", + "items": { + "anyOf": [ + { + "type": "number" + }, + { + "$ref": "#/definitions/signalRef" + } + ] + }, + "maxItems": 2, + "minItems": 2 }, { - "$ref": "#/refs/signal" + "$ref": "#/definitions/signalRef" } ], - "default": 0.01 + "default": [ + 90, + 360 + ] }, - "as": { + "stepMinor": { "oneOf": [ { "type": "array", "items": { "anyOf": [ { - "type": "string" + "type": "number" }, { - "$ref": "#/refs/signal" + "$ref": "#/definitions/signalRef" } ] - } + }, + "maxItems": 2, + "minItems": 2 }, { - "$ref": "#/refs/signal" + "$ref": "#/definitions/signalRef" } ], "default": [ - "prob", - "value" - ] - } - }, - "required": [ - "type", - "field" - ], - "additionalProperties": false - }, - "sampleTransform": { - "type": "object", - "properties": { - "type": { - "enum": [ - "sample" + 10, + 10 ] }, - "signal": { - "type": "string" - }, - "size": { + "precision": { "anyOf": [ { "type": "number" }, { - "$ref": "#/refs/signal" + "$ref": "#/definitions/signalRef" } ], - "default": 1000 + "default": 2.5 } }, "required": [ @@ -11312,47 +11953,75 @@ ], "additionalProperties": false }, - "sequenceTransform": { + "heatmapTransform": { "type": "object", "properties": { "type": { "enum": [ - "sequence" + "heatmap" + ] + }, + "signal": { + "type": "string" + }, + "field": { + "oneOf": [ + { + "$ref": "#/definitions/scaleField" + }, + { + "$ref": "#/definitions/paramField" + }, + { + "$ref": "#/definitions/expr" + } ] }, - "signal": { - "type": "string" - }, - "start": { + "color": { "anyOf": [ { - "type": "number" + "type": "string" + }, + { + "$ref": "#/definitions/signalRef" }, { - "$ref": "#/refs/signal" + "$ref": "#/definitions/expr" + }, + { + "$ref": "#/definitions/paramField" } ] }, - "stop": { + "opacity": { "anyOf": [ { "type": "number" }, { - "$ref": "#/refs/signal" + "$ref": "#/definitions/signalRef" + }, + { + "$ref": "#/definitions/expr" + }, + { + "$ref": "#/definitions/paramField" } ] }, - "step": { + "resolve": { "anyOf": [ { - "type": "number" + "enum": [ + "shared", + "independent" + ] }, { - "$ref": "#/refs/signal" + "$ref": "#/definitions/signalRef" } ], - "default": 1 + "default": "independent" }, "as": { "anyOf": [ @@ -11360,25 +12029,23 @@ "type": "string" }, { - "$ref": "#/refs/signal" + "$ref": "#/definitions/signalRef" } ], - "default": "data" + "default": "image" } }, "required": [ - "type", - "start", - "stop" + "type" ], "additionalProperties": false }, - "timeunitTransform": { + "isocontourTransform": { "type": "object", "properties": { "type": { "enum": [ - "timeunit" + "isocontour" ] }, "signal": { @@ -11387,304 +12054,260 @@ "field": { "oneOf": [ { - "$ref": "#/refs/scaleField" + "$ref": "#/definitions/scaleField" }, { - "$ref": "#/refs/paramField" + "$ref": "#/definitions/paramField" }, { - "$ref": "#/refs/expr" + "$ref": "#/definitions/expr" } ] }, - "interval": { - "anyOf": [ - { - "type": "boolean" - }, - { - "$ref": "#/refs/signal" - } - ], - "default": true - }, - "units": { + "thresholds": { "oneOf": [ { "type": "array", "items": { "anyOf": [ { - "type": "string" + "type": "number" }, { - "$ref": "#/refs/signal" + "$ref": "#/definitions/signalRef" } ] } }, { - "$ref": "#/refs/signal" + "$ref": "#/definitions/signalRef" } ] }, - "step": { + "levels": { "anyOf": [ { "type": "number" }, { - "$ref": "#/refs/signal" + "$ref": "#/definitions/signalRef" } - ], - "default": 1 + ] }, - "maxbins": { + "nice": { "anyOf": [ { - "type": "number" + "type": "boolean" + }, + { + "$ref": "#/definitions/signalRef" + } + ] + }, + "resolve": { + "anyOf": [ + { + "enum": [ + "shared", + "independent" + ] }, { - "$ref": "#/refs/signal" + "$ref": "#/definitions/signalRef" } ], - "default": 40 + "default": "independent" }, - "extent": { - "oneOf": [ + "zero": { + "anyOf": [ { - "type": "array", - "items": { - "anyOf": [ - { - "type": "number" - }, - { - "$ref": "#/refs/signal" - } - ] - } + "type": "boolean" }, { - "$ref": "#/refs/signal" + "$ref": "#/definitions/signalRef" } - ] + ], + "default": true }, - "timezone": { + "smooth": { "anyOf": [ { - "enum": [ - "local", - "utc" - ] + "type": "boolean" }, { - "$ref": "#/refs/signal" + "$ref": "#/definitions/signalRef" } ], - "default": "local" + "default": true }, - "as": { + "scale": { + "anyOf": [ + { + "type": "number" + }, + { + "$ref": "#/definitions/signalRef" + }, + { + "$ref": "#/definitions/expr" + }, + { + "$ref": "#/definitions/paramField" + } + ] + }, + "translate": { "oneOf": [ { "type": "array", "items": { "anyOf": [ { - "type": "string" + "type": "number" }, { - "$ref": "#/refs/signal" + "$ref": "#/definitions/signalRef" + }, + { + "$ref": "#/definitions/expr" + }, + { + "$ref": "#/definitions/paramField" } ] } }, { - "$ref": "#/refs/signal" + "$ref": "#/definitions/signalRef" } - ], - "maxItems": 2, - "minItems": 2, - "default": [ - "unit0", - "unit1" ] + }, + "as": { + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/definitions/signalRef" + }, + { + "type": "null" + } + ], + "default": "contour" } }, "required": [ - "type", - "field" + "type" ], "additionalProperties": false }, - "windowTransform": { + "kde2dTransform": { "type": "object", "properties": { "type": { "enum": [ - "window" + "kde2d" ] }, "signal": { "type": "string" }, - "sort": { - "$ref": "#/refs/compare" - }, - "groupby": { + "size": { "oneOf": [ { "type": "array", "items": { - "oneOf": [ - { - "$ref": "#/refs/scaleField" - }, + "anyOf": [ { - "$ref": "#/refs/paramField" + "type": "number" }, { - "$ref": "#/refs/expr" + "$ref": "#/definitions/signalRef" } ] - } + }, + "maxItems": 2, + "minItems": 2 }, { - "$ref": "#/refs/signal" + "$ref": "#/definitions/signalRef" } ] }, - "ops": { + "x": { "oneOf": [ { - "type": "array", - "items": { - "anyOf": [ - { - "enum": [ - "row_number", - "rank", - "dense_rank", - "percent_rank", - "cume_dist", - "ntile", - "lag", - "lead", - "first_value", - "last_value", - "nth_value", - "prev_value", - "next_value", - "values", - "count", - "__count__", - "missing", - "valid", - "sum", - "product", - "mean", - "average", - "variance", - "variancep", - "stdev", - "stdevp", - "stderr", - "distinct", - "ci0", - "ci1", - "median", - "q1", - "q3", - "argmin", - "argmax", - "min", - "max" - ] - }, - { - "$ref": "#/refs/signal" - } - ] - } + "$ref": "#/definitions/scaleField" + }, + { + "$ref": "#/definitions/paramField" }, { - "$ref": "#/refs/signal" + "$ref": "#/definitions/expr" } ] }, - "params": { + "y": { "oneOf": [ { - "type": "array", - "items": { - "anyOf": [ - { - "type": "number" - }, - { - "$ref": "#/refs/signal" - }, - { - "type": "null" - } - ] - } + "$ref": "#/definitions/scaleField" }, { - "$ref": "#/refs/signal" + "$ref": "#/definitions/paramField" + }, + { + "$ref": "#/definitions/expr" } ] }, - "fields": { + "weight": { "oneOf": [ { - "type": "array", - "items": { - "oneOf": [ - { - "$ref": "#/refs/scaleField" - }, - { - "$ref": "#/refs/paramField" - }, - { - "$ref": "#/refs/expr" - }, - { - "type": "null" - } - ] - } + "$ref": "#/definitions/scaleField" + }, + { + "$ref": "#/definitions/paramField" }, { - "$ref": "#/refs/signal" + "$ref": "#/definitions/expr" } ] }, - "as": { + "groupby": { "oneOf": [ { "type": "array", "items": { - "anyOf": [ + "oneOf": [ { - "type": "string" + "$ref": "#/definitions/scaleField" }, { - "$ref": "#/refs/signal" + "$ref": "#/definitions/paramField" }, { - "type": "null" + "$ref": "#/definitions/expr" } ] } }, { - "$ref": "#/refs/signal" + "$ref": "#/definitions/signalRef" + } + ] + }, + "cellSize": { + "anyOf": [ + { + "type": "number" + }, + { + "$ref": "#/definitions/signalRef" } ] }, - "frame": { + "bandwidth": { "oneOf": [ { "type": "array", @@ -11694,103 +12317,145 @@ "type": "number" }, { - "$ref": "#/refs/signal" - }, - { - "type": "null" + "$ref": "#/definitions/signalRef" } ] - } + }, + "maxItems": 2, + "minItems": 2 }, { - "$ref": "#/refs/signal" + "$ref": "#/definitions/signalRef" } - ], - "maxItems": 2, - "minItems": 2, - "default": [ - null, - 0 ] }, - "ignorePeers": { + "counts": { "anyOf": [ { "type": "boolean" }, { - "$ref": "#/refs/signal" + "$ref": "#/definitions/signalRef" } ] + }, + "as": { + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/definitions/signalRef" + } + ], + "default": "grid" } }, "required": [ - "type" + "type", + "size", + "x", + "y" ], "additionalProperties": false }, - "identifierTransform": { + "nestTransform": { "type": "object", "properties": { "type": { "enum": [ - "identifier" + "nest" ] }, "signal": { "type": "string" }, - "as": { + "keys": { + "oneOf": [ + { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/definitions/scaleField" + }, + { + "$ref": "#/definitions/paramField" + }, + { + "$ref": "#/definitions/expr" + } + ] + } + }, + { + "$ref": "#/definitions/signalRef" + } + ] + }, + "generate": { "anyOf": [ { - "type": "string" + "type": "boolean" }, { - "$ref": "#/refs/signal" + "$ref": "#/definitions/signalRef" } ] } }, "required": [ - "type", - "as" + "type" ], "additionalProperties": false }, - "voronoiTransform": { + "packTransform": { "type": "object", "properties": { "type": { "enum": [ - "voronoi" + "pack" ] }, "signal": { "type": "string" }, - "x": { + "field": { "oneOf": [ { - "$ref": "#/refs/scaleField" + "$ref": "#/definitions/scaleField" }, { - "$ref": "#/refs/paramField" + "$ref": "#/definitions/paramField" }, { - "$ref": "#/refs/expr" + "$ref": "#/definitions/expr" } ] }, - "y": { + "sort": { + "$ref": "#/definitions/compare" + }, + "padding": { + "anyOf": [ + { + "type": "number" + }, + { + "$ref": "#/definitions/signalRef" + } + ] + }, + "radius": { "oneOf": [ { - "$ref": "#/refs/scaleField" + "$ref": "#/definitions/scaleField" }, { - "$ref": "#/refs/paramField" + "$ref": "#/definitions/paramField" }, { - "$ref": "#/refs/expr" + "$ref": "#/definitions/expr" } ] }, @@ -11804,71 +12469,100 @@ "type": "number" }, { - "$ref": "#/refs/signal" + "$ref": "#/definitions/signalRef" } ] - } + }, + "maxItems": 2, + "minItems": 2 }, { - "$ref": "#/refs/signal" + "$ref": "#/definitions/signalRef" } - ], - "maxItems": 2, - "minItems": 2 + ] }, - "extent": { + "as": { "oneOf": [ { "type": "array", - "items": {} + "items": { + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/definitions/signalRef" + } + ] + }, + "maxItems": 5, + "minItems": 5 }, { - "$ref": "#/refs/signal" + "$ref": "#/definitions/signalRef" } ], - "maxItems": 2, - "minItems": 2, "default": [ - [ - -100000, - -100000 - ], - [ - 100000, - 100000 - ] + "x", + "y", + "r", + "depth", + "children" ] - }, - "as": { - "anyOf": [ - { - "type": "string" - }, - { - "$ref": "#/refs/signal" - } - ], - "default": "path" } }, "required": [ - "type", - "x", - "y" + "type" ], "additionalProperties": false }, - "wordcloudTransform": { + "partitionTransform": { "type": "object", "properties": { "type": { "enum": [ - "wordcloud" + "partition" ] }, "signal": { "type": "string" }, + "field": { + "oneOf": [ + { + "$ref": "#/definitions/scaleField" + }, + { + "$ref": "#/definitions/paramField" + }, + { + "$ref": "#/definitions/expr" + } + ] + }, + "sort": { + "$ref": "#/definitions/compare" + }, + "padding": { + "anyOf": [ + { + "type": "number" + }, + { + "$ref": "#/definitions/signalRef" + } + ] + }, + "round": { + "anyOf": [ + { + "type": "boolean" + }, + { + "$ref": "#/definitions/signalRef" + } + ] + }, "size": { "oneOf": [ { @@ -11879,87 +12573,141 @@ "type": "number" }, { - "$ref": "#/refs/signal" + "$ref": "#/definitions/signalRef" } ] - } + }, + "maxItems": 2, + "minItems": 2 }, { - "$ref": "#/refs/signal" + "$ref": "#/definitions/signalRef" } - ], - "maxItems": 2, - "minItems": 2 + ] }, - "font": { - "anyOf": [ - { - "type": "string" - }, - { - "$ref": "#/refs/signal" - }, + "as": { + "oneOf": [ { - "$ref": "#/refs/expr" + "type": "array", + "items": { + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/definitions/signalRef" + } + ] + }, + "maxItems": 6, + "minItems": 6 }, { - "$ref": "#/refs/paramField" + "$ref": "#/definitions/signalRef" } ], - "default": "sans-serif" + "default": [ + "x0", + "y0", + "x1", + "y1", + "depth", + "children" + ] + } + }, + "required": [ + "type" + ], + "additionalProperties": false + }, + "stratifyTransform": { + "type": "object", + "properties": { + "type": { + "enum": [ + "stratify" + ] }, - "fontStyle": { - "anyOf": [ - { - "type": "string" - }, + "signal": { + "type": "string" + }, + "key": { + "oneOf": [ { - "$ref": "#/refs/signal" + "$ref": "#/definitions/scaleField" }, { - "$ref": "#/refs/expr" + "$ref": "#/definitions/paramField" }, { - "$ref": "#/refs/paramField" + "$ref": "#/definitions/expr" } - ], - "default": "normal" + ] }, - "fontWeight": { - "anyOf": [ - { - "type": "string" - }, + "parentKey": { + "oneOf": [ { - "$ref": "#/refs/signal" + "$ref": "#/definitions/scaleField" }, { - "$ref": "#/refs/expr" + "$ref": "#/definitions/paramField" }, { - "$ref": "#/refs/paramField" + "$ref": "#/definitions/expr" } - ], - "default": "normal" + ] + } + }, + "required": [ + "type", + "key", + "parentKey" + ], + "additionalProperties": false + }, + "treeTransform": { + "type": "object", + "properties": { + "type": { + "enum": [ + "tree" + ] }, - "fontSize": { - "anyOf": [ + "signal": { + "type": "string" + }, + "field": { + "oneOf": [ { - "type": "number" + "$ref": "#/definitions/scaleField" }, { - "$ref": "#/refs/signal" + "$ref": "#/definitions/paramField" }, { - "$ref": "#/refs/expr" + "$ref": "#/definitions/expr" + } + ] + }, + "sort": { + "$ref": "#/definitions/compare" + }, + "method": { + "anyOf": [ + { + "enum": [ + "tidy", + "cluster" + ] }, { - "$ref": "#/refs/paramField" + "$ref": "#/definitions/signalRef" } ], - "default": 14 + "default": "tidy" }, - "fontSizeRange": { + "size": { "oneOf": [ { "type": "array", @@ -11969,77 +12717,50 @@ "type": "number" }, { - "$ref": "#/refs/signal" + "$ref": "#/definitions/signalRef" } ] - } - }, - { - "$ref": "#/refs/signal" - }, - { - "type": "null" - } - ], - "default": [ - 10, - 50 - ] - }, - "rotate": { - "anyOf": [ - { - "type": "number" - }, - { - "$ref": "#/refs/signal" - }, - { - "$ref": "#/refs/expr" + }, + "maxItems": 2, + "minItems": 2 }, { - "$ref": "#/refs/paramField" + "$ref": "#/definitions/signalRef" } ] }, - "text": { + "nodeSize": { "oneOf": [ { - "$ref": "#/refs/scaleField" - }, - { - "$ref": "#/refs/paramField" - }, - { - "$ref": "#/refs/expr" - } - ] - }, - "spiral": { - "anyOf": [ - { - "type": "string" + "type": "array", + "items": { + "anyOf": [ + { + "type": "number" + }, + { + "$ref": "#/definitions/signalRef" + } + ] + }, + "maxItems": 2, + "minItems": 2 }, { - "$ref": "#/refs/signal" + "$ref": "#/definitions/signalRef" } ] }, - "padding": { + "separation": { "anyOf": [ { - "type": "number" - }, - { - "$ref": "#/refs/signal" - }, - { - "$ref": "#/refs/expr" + "type": "boolean" }, { - "$ref": "#/refs/paramField" + "$ref": "#/definitions/signalRef" } - ] + ], + "default": true }, "as": { "oneOf": [ @@ -12051,25 +12772,22 @@ "type": "string" }, { - "$ref": "#/refs/signal" + "$ref": "#/definitions/signalRef" } ] - } + }, + "maxItems": 4, + "minItems": 4 }, { - "$ref": "#/refs/signal" + "$ref": "#/definitions/signalRef" } ], - "maxItems": 7, - "minItems": 7, "default": [ "x", "y", - "font", - "fontSize", - "fontStyle", - "fontWeight", - "angle" + "depth", + "children" ] } }, @@ -12077,3856 +12795,3449 @@ "type" ], "additionalProperties": false - } - }, - "refs": { - "labelOverlap": { - "oneOf": [ - { - "type": "boolean" - }, - { + }, + "treelinksTransform": { + "type": "object", + "properties": { + "type": { "enum": [ - "parity", - "greedy" + "treelinks" ] }, - { - "$ref": "#/refs/signal" + "signal": { + "type": "string" } - ] + }, + "required": [ + "type" + ], + "additionalProperties": false }, - "tickBand": { - "oneOf": [ - { + "treemapTransform": { + "type": "object", + "properties": { + "type": { "enum": [ - "center", - "extent" + "treemap" ] }, - { - "$ref": "#/refs/signal" - } - ] - }, - "tickCount": { - "oneOf": [ - { - "type": "number" + "signal": { + "type": "string" }, - { - "enum": [ - "millisecond", - "second", - "minute", - "hour", - "day", - "week", - "month", - "year" + "field": { + "oneOf": [ + { + "$ref": "#/definitions/scaleField" + }, + { + "$ref": "#/definitions/paramField" + }, + { + "$ref": "#/definitions/expr" + } ] }, - { - "type": "object", - "properties": { - "interval": { - "oneOf": [ - { - "enum": [ - "millisecond", - "second", - "minute", - "hour", - "day", - "week", - "month", - "year" - ] - }, - { - "$ref": "#/refs/signal" - } + "sort": { + "$ref": "#/definitions/compare" + }, + "method": { + "anyOf": [ + { + "enum": [ + "squarify", + "resquarify", + "binary", + "dice", + "slice", + "slicedice" ] }, - "step": { - "$ref": "#/refs/numberOrSignal" + { + "$ref": "#/definitions/signalRef" } - }, - "required": [ - "interval" ], - "additionalProperties": false + "default": "squarify" }, - { - "$ref": "#/refs/signal" - } - ] - }, - "element": { - "type": "string" - }, - "paramField": { - "type": "object", - "properties": { - "field": { - "type": "string" + "padding": { + "anyOf": [ + { + "type": "number" + }, + { + "$ref": "#/definitions/signalRef" + } + ] }, - "as": { - "type": "string" - } - }, - "required": [ - "field" - ], - "additionalProperties": false - }, - "field": { - "oneOf": [ - { - "type": "string" + "paddingInner": { + "anyOf": [ + { + "type": "number" + }, + { + "$ref": "#/definitions/signalRef" + } + ] }, - { - "$ref": "#/refs/signal" + "paddingOuter": { + "anyOf": [ + { + "type": "number" + }, + { + "$ref": "#/definitions/signalRef" + } + ] }, - { - "type": "object", - "properties": { - "datum": { - "$ref": "#/refs/field" + "paddingTop": { + "anyOf": [ + { + "type": "number" + }, + { + "$ref": "#/definitions/signalRef" } - }, - "required": [ - "datum" - ], - "additionalProperties": false + ] + }, + "paddingRight": { + "anyOf": [ + { + "type": "number" + }, + { + "$ref": "#/definitions/signalRef" + } + ] + }, + "paddingBottom": { + "anyOf": [ + { + "type": "number" + }, + { + "$ref": "#/definitions/signalRef" + } + ] }, - { - "type": "object", - "properties": { - "group": { - "$ref": "#/refs/field" + "paddingLeft": { + "anyOf": [ + { + "type": "number" }, - "level": { + { + "$ref": "#/definitions/signalRef" + } + ] + }, + "ratio": { + "anyOf": [ + { "type": "number" + }, + { + "$ref": "#/definitions/signalRef" } - }, - "required": [ - "group" ], - "additionalProperties": false + "default": 1.618033988749895 }, - { - "type": "object", - "properties": { - "parent": { - "$ref": "#/refs/field" + "round": { + "anyOf": [ + { + "type": "boolean" }, - "level": { - "type": "number" + { + "$ref": "#/definitions/signalRef" } - }, - "required": [ - "parent" - ], - "additionalProperties": false - } - ] - }, - "scale": { - "$ref": "#/refs/field" - }, - "stringModifiers": { - "type": "object", - "properties": { - "scale": { - "$ref": "#/refs/scale" - } - } - }, - "numberModifiers": { - "type": "object", - "properties": { - "exponent": { + ] + }, + "size": { "oneOf": [ { - "type": "number" + "type": "array", + "items": { + "anyOf": [ + { + "type": "number" + }, + { + "$ref": "#/definitions/signalRef" + } + ] + }, + "maxItems": 2, + "minItems": 2 }, { - "$ref": "#/refs/numberValue" + "$ref": "#/definitions/signalRef" } ] }, - "mult": { + "as": { "oneOf": [ { - "type": "number" + "type": "array", + "items": { + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/definitions/signalRef" + } + ] + }, + "maxItems": 6, + "minItems": 6 }, { - "$ref": "#/refs/numberValue" + "$ref": "#/definitions/signalRef" } + ], + "default": [ + "x0", + "y0", + "x1", + "y1", + "depth", + "children" + ] + } + }, + "required": [ + "type" + ], + "additionalProperties": false + }, + "labelTransform": { + "type": "object", + "properties": { + "type": { + "enum": [ + "label" ] }, - "offset": { + "signal": { + "type": "string" + }, + "size": { "oneOf": [ { - "type": "number" + "type": "array", + "items": { + "anyOf": [ + { + "type": "number" + }, + { + "$ref": "#/definitions/signalRef" + } + ] + }, + "maxItems": 2, + "minItems": 2 }, { - "$ref": "#/refs/numberValue" + "$ref": "#/definitions/signalRef" } ] }, - "round": { - "type": "boolean", - "default": false - }, - "scale": { - "$ref": "#/refs/scale" + "sort": { + "$ref": "#/definitions/compare" }, - "band": { + "anchor": { "oneOf": [ { - "type": "number" + "type": "array", + "items": { + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/definitions/signalRef" + } + ] + } }, { - "type": "boolean" + "$ref": "#/definitions/signalRef" } + ], + "default": [ + "top-left", + "left", + "bottom-left", + "top", + "bottom", + "top-right", + "right", + "bottom-right" ] }, - "extra": { - "type": "boolean" - } - } - }, - "anyValue": { - "oneOf": [ - { - "type": "array", - "items": { - "allOf": [ - { - "$ref": "#/defs/rule" - }, - { - "allOf": [ + "offset": { + "oneOf": [ + { + "type": "array", + "items": { + "anyOf": [ { - "$ref": "#/refs/stringModifiers" + "type": "number" }, { - "anyOf": [ - { - "oneOf": [ - { - "$ref": "#/refs/signal" - }, - { - "type": "object", - "properties": { - "value": {} - }, - "required": [ - "value" - ] - }, - { - "type": "object", - "properties": { - "field": { - "$ref": "#/refs/field" - } - }, - "required": [ - "field" - ] - }, - { - "type": "object", - "properties": { - "range": { - "oneOf": [ - { - "type": "number" - }, - { - "type": "boolean" - } - ] - } - }, - "required": [ - "range" - ] - } - ] - }, - { - "type": "object", - "required": [ - "scale", - "value" - ] - }, - { - "type": "object", - "required": [ - "scale", - "band" - ] - }, - { - "type": "object", - "required": [ - "offset" - ] - } - ] + "$ref": "#/definitions/signalRef" } ] } - ] - } + }, + { + "$ref": "#/definitions/signalRef" + } + ], + "default": [ + 1 + ] + }, + "padding": { + "anyOf": [ + { + "type": "number" + }, + { + "$ref": "#/definitions/signalRef" + }, + { + "type": "null" + } + ] + }, + "lineAnchor": { + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/definitions/signalRef" + } + ], + "default": "end" }, - { - "allOf": [ + "markIndex": { + "anyOf": [ { - "$ref": "#/refs/stringModifiers" + "type": "number" }, { - "anyOf": [ - { - "oneOf": [ - { - "$ref": "#/refs/signal" - }, - { - "type": "object", - "properties": { - "value": {} - }, - "required": [ - "value" - ] - }, - { - "type": "object", - "properties": { - "field": { - "$ref": "#/refs/field" - } - }, - "required": [ - "field" - ] - }, - { - "type": "object", - "properties": { - "range": { - "oneOf": [ - { - "type": "number" - }, - { - "type": "boolean" - } - ] - } - }, - "required": [ - "range" - ] - } - ] - }, - { - "type": "object", - "required": [ - "scale", - "value" - ] - }, - { - "type": "object", - "required": [ - "scale", - "band" - ] - }, - { - "type": "object", - "required": [ - "offset" - ] - } - ] + "$ref": "#/definitions/signalRef" } ] - } - ] - }, - "blendValue": { - "oneOf": [ - { - "type": "array", - "items": { - "allOf": [ - { - "$ref": "#/defs/rule" - }, - { - "allOf": [ + }, + "avoidBaseMark": { + "anyOf": [ + { + "type": "boolean" + }, + { + "$ref": "#/definitions/signalRef" + } + ], + "default": true + }, + "avoidMarks": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "#/definitions/signalRef" + } + ] + }, + "method": { + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/definitions/signalRef" + } + ], + "default": "naive" + }, + "as": { + "oneOf": [ + { + "type": "array", + "items": { + "anyOf": [ { - "$ref": "#/refs/stringModifiers" + "type": "string" }, { - "anyOf": [ - { - "oneOf": [ - { - "$ref": "#/refs/signal" - }, - { - "type": "object", - "properties": { - "value": { - "enum": [ - null, - "multiply", - "screen", - "overlay", - "darken", - "lighten", - "color-dodge", - "color-burn", - "hard-light", - "soft-light", - "difference", - "exclusion", - "hue", - "saturation", - "color", - "luminosity" - ] - } - }, - "required": [ - "value" - ] - }, - { - "type": "object", - "properties": { - "field": { - "$ref": "#/refs/field" - } - }, - "required": [ - "field" - ] - }, - { - "type": "object", - "properties": { - "range": { - "oneOf": [ - { - "type": "number" - }, - { - "type": "boolean" - } - ] - } - }, - "required": [ - "range" - ] - } - ] - }, - { - "type": "object", - "required": [ - "scale", - "value" - ] - }, - { - "type": "object", - "required": [ - "scale", - "band" - ] - }, - { - "type": "object", - "required": [ - "offset" - ] - } - ] + "$ref": "#/definitions/signalRef" + } + ] + }, + "maxItems": 5, + "minItems": 5 + }, + { + "$ref": "#/definitions/signalRef" + } + ], + "default": [ + "x", + "y", + "opacity", + "align", + "baseline" + ] + } + }, + "required": [ + "type", + "size" + ], + "additionalProperties": false + }, + "loessTransform": { + "type": "object", + "properties": { + "type": { + "enum": [ + "loess" + ] + }, + "signal": { + "type": "string" + }, + "x": { + "oneOf": [ + { + "$ref": "#/definitions/scaleField" + }, + { + "$ref": "#/definitions/paramField" + }, + { + "$ref": "#/definitions/expr" + } + ] + }, + "y": { + "oneOf": [ + { + "$ref": "#/definitions/scaleField" + }, + { + "$ref": "#/definitions/paramField" + }, + { + "$ref": "#/definitions/expr" + } + ] + }, + "groupby": { + "oneOf": [ + { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/definitions/scaleField" + }, + { + "$ref": "#/definitions/paramField" + }, + { + "$ref": "#/definitions/expr" } ] } - ] - } + }, + { + "$ref": "#/definitions/signalRef" + } + ] }, - { - "allOf": [ + "bandwidth": { + "anyOf": [ { - "$ref": "#/refs/stringModifiers" + "type": "number" }, { - "anyOf": [ - { - "oneOf": [ - { - "$ref": "#/refs/signal" - }, - { - "type": "object", - "properties": { - "value": { - "enum": [ - null, - "multiply", - "screen", - "overlay", - "darken", - "lighten", - "color-dodge", - "color-burn", - "hard-light", - "soft-light", - "difference", - "exclusion", - "hue", - "saturation", - "color", - "luminosity" - ] - } - }, - "required": [ - "value" - ] - }, - { - "type": "object", - "properties": { - "field": { - "$ref": "#/refs/field" - } - }, - "required": [ - "field" - ] - }, - { - "type": "object", - "properties": { - "range": { - "oneOf": [ - { - "type": "number" - }, - { - "type": "boolean" - } - ] - } - }, - "required": [ - "range" - ] - } - ] - }, - { - "type": "object", - "required": [ - "scale", - "value" - ] - }, - { - "type": "object", - "required": [ - "scale", - "band" - ] - }, - { - "type": "object", - "required": [ - "offset" - ] - } - ] + "$ref": "#/definitions/signalRef" + } + ], + "default": 0.3 + }, + "as": { + "oneOf": [ + { + "type": "array", + "items": { + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/definitions/signalRef" + } + ] + } + }, + { + "$ref": "#/definitions/signalRef" } ] } - ] + }, + "required": [ + "type", + "x", + "y" + ], + "additionalProperties": false }, - "numberValue": { - "oneOf": [ - { - "type": "array", - "items": { - "allOf": [ - { - "$ref": "#/defs/rule" - }, - { - "allOf": [ + "regressionTransform": { + "type": "object", + "properties": { + "type": { + "enum": [ + "regression" + ] + }, + "signal": { + "type": "string" + }, + "x": { + "oneOf": [ + { + "$ref": "#/definitions/scaleField" + }, + { + "$ref": "#/definitions/paramField" + }, + { + "$ref": "#/definitions/expr" + } + ] + }, + "y": { + "oneOf": [ + { + "$ref": "#/definitions/scaleField" + }, + { + "$ref": "#/definitions/paramField" + }, + { + "$ref": "#/definitions/expr" + } + ] + }, + "groupby": { + "oneOf": [ + { + "type": "array", + "items": { + "oneOf": [ { - "$ref": "#/refs/numberModifiers" + "$ref": "#/definitions/scaleField" }, { - "anyOf": [ - { - "oneOf": [ - { - "$ref": "#/refs/signal" - }, - { - "type": "object", - "properties": { - "value": { - "type": "number" - } - }, - "required": [ - "value" - ] - }, - { - "type": "object", - "properties": { - "field": { - "$ref": "#/refs/field" - } - }, - "required": [ - "field" - ] - }, - { - "type": "object", - "properties": { - "range": { - "oneOf": [ - { - "type": "number" - }, - { - "type": "boolean" - } - ] - } - }, - "required": [ - "range" - ] - } - ] - }, - { - "type": "object", - "required": [ - "scale", - "value" - ] - }, - { - "type": "object", - "required": [ - "scale", - "band" - ] - }, - { - "type": "object", - "required": [ - "offset" - ] - } - ] + "$ref": "#/definitions/paramField" + }, + { + "$ref": "#/definitions/expr" + } + ] + } + }, + { + "$ref": "#/definitions/signalRef" + } + ] + }, + "method": { + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/definitions/signalRef" + } + ], + "default": "linear" + }, + "order": { + "anyOf": [ + { + "type": "number" + }, + { + "$ref": "#/definitions/signalRef" + } + ], + "default": 3 + }, + "extent": { + "oneOf": [ + { + "type": "array", + "items": { + "anyOf": [ + { + "type": "number" + }, + { + "$ref": "#/definitions/signalRef" } ] - } - ] - } + }, + "maxItems": 2, + "minItems": 2 + }, + { + "$ref": "#/definitions/signalRef" + } + ] }, - { - "allOf": [ + "params": { + "anyOf": [ { - "$ref": "#/refs/numberModifiers" + "type": "boolean" }, { - "anyOf": [ - { - "oneOf": [ - { - "$ref": "#/refs/signal" - }, - { - "type": "object", - "properties": { - "value": { - "type": "number" - } - }, - "required": [ - "value" - ] - }, - { - "type": "object", - "properties": { - "field": { - "$ref": "#/refs/field" - } - }, - "required": [ - "field" - ] - }, - { - "type": "object", - "properties": { - "range": { - "oneOf": [ - { - "type": "number" - }, - { - "type": "boolean" - } - ] - } - }, - "required": [ - "range" - ] - } - ] - }, - { - "type": "object", - "required": [ - "scale", - "value" - ] - }, - { - "type": "object", - "required": [ - "scale", - "band" - ] - }, - { - "type": "object", - "required": [ - "offset" - ] - } - ] + "$ref": "#/definitions/signalRef" + } + ] + }, + "as": { + "oneOf": [ + { + "type": "array", + "items": { + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/definitions/signalRef" + } + ] + } + }, + { + "$ref": "#/definitions/signalRef" } ] } - ] + }, + "required": [ + "type", + "x", + "y" + ], + "additionalProperties": false }, - "stringValue": { - "oneOf": [ - { - "type": "array", - "items": { - "allOf": [ - { - "$ref": "#/defs/rule" - }, - { - "allOf": [ + "aggregateTransform": { + "type": "object", + "properties": { + "type": { + "enum": [ + "aggregate" + ] + }, + "signal": { + "type": "string" + }, + "groupby": { + "oneOf": [ + { + "type": "array", + "items": { + "oneOf": [ { - "$ref": "#/refs/stringModifiers" + "$ref": "#/definitions/scaleField" }, { - "anyOf": [ - { - "oneOf": [ - { - "$ref": "#/refs/signal" - }, - { - "type": "object", - "properties": { - "value": { - "type": "string" - } - }, - "required": [ - "value" - ] - }, - { - "type": "object", - "properties": { - "field": { - "$ref": "#/refs/field" - } - }, - "required": [ - "field" - ] - }, - { - "type": "object", - "properties": { - "range": { - "oneOf": [ - { - "type": "number" - }, - { - "type": "boolean" - } - ] - } - }, - "required": [ - "range" - ] - } - ] - }, - { - "type": "object", - "required": [ - "scale", - "value" - ] - }, - { - "type": "object", - "required": [ - "scale", - "band" - ] - }, - { - "type": "object", - "required": [ - "offset" - ] - } + "$ref": "#/definitions/paramField" + }, + { + "$ref": "#/definitions/expr" + } + ] + } + }, + { + "$ref": "#/definitions/signalRef" + } + ] + }, + "ops": { + "oneOf": [ + { + "type": "array", + "items": { + "anyOf": [ + { + "enum": [ + "values", + "count", + "__count__", + "missing", + "valid", + "sum", + "product", + "mean", + "average", + "variance", + "variancep", + "stdev", + "stdevp", + "stderr", + "distinct", + "ci0", + "ci1", + "median", + "q1", + "q3", + "min", + "max", + "argmin", + "argmax" ] + }, + { + "$ref": "#/definitions/signalRef" } ] } - ] - } + }, + { + "$ref": "#/definitions/signalRef" + } + ] }, - { - "allOf": [ + "fields": { + "oneOf": [ { - "$ref": "#/refs/stringModifiers" + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/definitions/scaleField" + }, + { + "$ref": "#/definitions/paramField" + }, + { + "$ref": "#/definitions/expr" + }, + { + "type": "null" + } + ] + } }, { - "anyOf": [ - { - "oneOf": [ - { - "$ref": "#/refs/signal" - }, - { - "type": "object", - "properties": { - "value": { - "type": "string" - } - }, - "required": [ - "value" - ] - }, - { - "type": "object", - "properties": { - "field": { - "$ref": "#/refs/field" - } - }, - "required": [ - "field" - ] - }, - { - "type": "object", - "properties": { - "range": { - "oneOf": [ - { - "type": "number" - }, - { - "type": "boolean" - } - ] - } - }, - "required": [ - "range" - ] - } - ] - }, - { - "type": "object", - "required": [ - "scale", - "value" - ] - }, - { - "type": "object", - "required": [ - "scale", - "band" - ] - }, - { - "type": "object", - "required": [ - "offset" - ] - } - ] + "$ref": "#/definitions/signalRef" } ] - } - ] - }, - "textValue": { - "oneOf": [ - { - "type": "array", - "items": { - "allOf": [ - { - "$ref": "#/defs/rule" - }, - { - "allOf": [ + }, + "as": { + "oneOf": [ + { + "type": "array", + "items": { + "anyOf": [ { - "$ref": "#/refs/stringModifiers" + "type": "string" }, { - "anyOf": [ - { - "oneOf": [ - { - "$ref": "#/refs/signal" - }, - { - "type": "object", - "properties": { - "value": { - "oneOf": [ - { - "type": "string" - }, - { - "type": "array", - "items": { - "type": "string" - } - } - ] - } - }, - "required": [ - "value" - ] - }, - { - "type": "object", - "properties": { - "field": { - "$ref": "#/refs/field" - } - }, - "required": [ - "field" - ] - }, - { - "type": "object", - "properties": { - "range": { - "oneOf": [ - { - "type": "number" - }, - { - "type": "boolean" - } - ] - } - }, - "required": [ - "range" - ] - } - ] - }, - { - "type": "object", - "required": [ - "scale", - "value" - ] - }, - { - "type": "object", - "required": [ - "scale", - "band" - ] - }, - { - "type": "object", - "required": [ - "offset" - ] - } - ] + "$ref": "#/definitions/signalRef" + }, + { + "type": "null" + } + ] + } + }, + { + "$ref": "#/definitions/signalRef" + } + ] + }, + "drop": { + "anyOf": [ + { + "type": "boolean" + }, + { + "$ref": "#/definitions/signalRef" + } + ], + "default": true + }, + "cross": { + "anyOf": [ + { + "type": "boolean" + }, + { + "$ref": "#/definitions/signalRef" + } + ] + }, + "key": { + "oneOf": [ + { + "$ref": "#/definitions/scaleField" + }, + { + "$ref": "#/definitions/paramField" + }, + { + "$ref": "#/definitions/expr" + } + ] + } + }, + "required": [ + "type" + ], + "additionalProperties": false + }, + "binTransform": { + "type": "object", + "properties": { + "type": { + "enum": [ + "bin" + ] + }, + "signal": { + "type": "string" + }, + "field": { + "oneOf": [ + { + "$ref": "#/definitions/scaleField" + }, + { + "$ref": "#/definitions/paramField" + }, + { + "$ref": "#/definitions/expr" + } + ] + }, + "interval": { + "anyOf": [ + { + "type": "boolean" + }, + { + "$ref": "#/definitions/signalRef" + } + ], + "default": true + }, + "anchor": { + "anyOf": [ + { + "type": "number" + }, + { + "$ref": "#/definitions/signalRef" + } + ] + }, + "maxbins": { + "anyOf": [ + { + "type": "number" + }, + { + "$ref": "#/definitions/signalRef" + } + ], + "default": 20 + }, + "base": { + "anyOf": [ + { + "type": "number" + }, + { + "$ref": "#/definitions/signalRef" + } + ], + "default": 10 + }, + "divide": { + "oneOf": [ + { + "type": "array", + "items": { + "anyOf": [ + { + "type": "number" + }, + { + "$ref": "#/definitions/signalRef" } ] } - ] - } - }, - { - "allOf": [ - { - "$ref": "#/refs/stringModifiers" }, { - "anyOf": [ - { - "oneOf": [ - { - "$ref": "#/refs/signal" - }, - { - "type": "object", - "properties": { - "value": { - "oneOf": [ - { - "type": "string" - }, - { - "type": "array", - "items": { - "type": "string" - } - } - ] - } - }, - "required": [ - "value" - ] - }, - { - "type": "object", - "properties": { - "field": { - "$ref": "#/refs/field" - } - }, - "required": [ - "field" - ] - }, - { - "type": "object", - "properties": { - "range": { - "oneOf": [ - { - "type": "number" - }, - { - "type": "boolean" - } - ] - } - }, - "required": [ - "range" - ] - } - ] - }, - { - "type": "object", - "required": [ - "scale", - "value" - ] - }, - { - "type": "object", - "required": [ - "scale", - "band" - ] - }, - { - "type": "object", - "required": [ - "offset" - ] - } - ] + "$ref": "#/definitions/signalRef" } + ], + "default": [ + 5, + 2 ] - } - ] - }, - "booleanValue": { - "oneOf": [ - { - "type": "array", - "items": { - "allOf": [ - { - "$ref": "#/defs/rule" - }, - { - "allOf": [ + }, + "extent": { + "oneOf": [ + { + "type": "array", + "items": { + "anyOf": [ { - "$ref": "#/refs/stringModifiers" + "type": "number" }, { - "anyOf": [ - { - "oneOf": [ - { - "$ref": "#/refs/signal" - }, - { - "type": "object", - "properties": { - "value": { - "type": "boolean" - } - }, - "required": [ - "value" - ] - }, - { - "type": "object", - "properties": { - "field": { - "$ref": "#/refs/field" - } - }, - "required": [ - "field" - ] - }, - { - "type": "object", - "properties": { - "range": { - "oneOf": [ - { - "type": "number" - }, - { - "type": "boolean" - } - ] - } - }, - "required": [ - "range" - ] - } - ] - }, - { - "type": "object", - "required": [ - "scale", - "value" - ] - }, - { - "type": "object", - "required": [ - "scale", - "band" - ] - }, - { - "type": "object", - "required": [ - "offset" - ] - } - ] + "$ref": "#/definitions/signalRef" + } + ] + }, + "maxItems": 2, + "minItems": 2 + }, + { + "$ref": "#/definitions/signalRef" + } + ] + }, + "span": { + "anyOf": [ + { + "type": "number" + }, + { + "$ref": "#/definitions/signalRef" + } + ] + }, + "step": { + "anyOf": [ + { + "type": "number" + }, + { + "$ref": "#/definitions/signalRef" + } + ] + }, + "steps": { + "oneOf": [ + { + "type": "array", + "items": { + "anyOf": [ + { + "type": "number" + }, + { + "$ref": "#/definitions/signalRef" } ] } - ] - } + }, + { + "$ref": "#/definitions/signalRef" + } + ] }, - { - "allOf": [ + "minstep": { + "anyOf": [ { - "$ref": "#/refs/stringModifiers" + "type": "number" }, { - "anyOf": [ - { - "oneOf": [ - { - "$ref": "#/refs/signal" - }, - { - "type": "object", - "properties": { - "value": { - "type": "boolean" - } - }, - "required": [ - "value" - ] - }, - { - "type": "object", - "properties": { - "field": { - "$ref": "#/refs/field" - } - }, - "required": [ - "field" - ] - }, - { - "type": "object", - "properties": { - "range": { - "oneOf": [ - { - "type": "number" - }, - { - "type": "boolean" - } - ] - } - }, - "required": [ - "range" - ] - } - ] - }, - { - "type": "object", - "required": [ - "scale", - "value" - ] - }, - { - "type": "object", - "required": [ - "scale", - "band" - ] - }, - { - "type": "object", - "required": [ - "offset" - ] - } - ] + "$ref": "#/definitions/signalRef" } ] - } - ] - }, - "arrayValue": { - "oneOf": [ - { - "type": "array", - "items": { - "allOf": [ - { - "$ref": "#/defs/rule" - }, - { - "allOf": [ + }, + "nice": { + "anyOf": [ + { + "type": "boolean" + }, + { + "$ref": "#/definitions/signalRef" + } + ], + "default": true + }, + "name": { + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/definitions/signalRef" + } + ] + }, + "as": { + "oneOf": [ + { + "type": "array", + "items": { + "anyOf": [ { - "$ref": "#/refs/stringModifiers" + "type": "string" }, { - "anyOf": [ - { - "oneOf": [ - { - "$ref": "#/refs/signal" - }, - { - "type": "object", - "properties": { - "value": { - "type": "array" - } - }, - "required": [ - "value" - ] - }, - { - "type": "object", - "properties": { - "field": { - "$ref": "#/refs/field" - } - }, - "required": [ - "field" - ] - }, - { - "type": "object", - "properties": { - "range": { - "oneOf": [ - { - "type": "number" - }, - { - "type": "boolean" - } - ] - } - }, - "required": [ - "range" - ] - } - ] - }, - { - "type": "object", - "required": [ - "scale", - "value" - ] - }, - { - "type": "object", - "required": [ - "scale", - "band" - ] - }, - { - "type": "object", - "required": [ - "offset" - ] - } - ] + "$ref": "#/definitions/signalRef" } ] - } - ] - } + }, + "maxItems": 2, + "minItems": 2 + }, + { + "$ref": "#/definitions/signalRef" + } + ], + "default": [ + "bin0", + "bin1" + ] + } + }, + "required": [ + "type", + "field", + "extent" + ], + "additionalProperties": false + }, + "collectTransform": { + "type": "object", + "properties": { + "type": { + "enum": [ + "collect" + ] + }, + "signal": { + "type": "string" + }, + "sort": { + "$ref": "#/definitions/compare" + } + }, + "required": [ + "type" + ], + "additionalProperties": false + }, + "countpatternTransform": { + "type": "object", + "properties": { + "type": { + "enum": [ + "countpattern" + ] + }, + "signal": { + "type": "string" }, - { - "allOf": [ + "field": { + "oneOf": [ { - "$ref": "#/refs/stringModifiers" + "$ref": "#/definitions/scaleField" }, { - "anyOf": [ - { - "oneOf": [ - { - "$ref": "#/refs/signal" - }, - { - "type": "object", - "properties": { - "value": { - "type": "array" - } - }, - "required": [ - "value" - ] - }, - { - "type": "object", - "properties": { - "field": { - "$ref": "#/refs/field" - } - }, - "required": [ - "field" - ] - }, - { - "type": "object", - "properties": { - "range": { - "oneOf": [ - { - "type": "number" - }, - { - "type": "boolean" - } - ] - } - }, - "required": [ - "range" - ] - } - ] - }, - { - "type": "object", - "required": [ - "scale", - "value" - ] - }, - { - "type": "object", - "required": [ - "scale", - "band" - ] - }, - { - "type": "object", - "required": [ - "offset" - ] - } + "$ref": "#/definitions/paramField" + }, + { + "$ref": "#/definitions/expr" + } + ] + }, + "case": { + "anyOf": [ + { + "enum": [ + "upper", + "lower", + "mixed" ] + }, + { + "$ref": "#/definitions/signalRef" + } + ], + "default": "mixed" + }, + "pattern": { + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/definitions/signalRef" + } + ], + "default": "[\\w\"]+" + }, + "stopwords": { + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/definitions/signalRef" } ] - } - ] - }, - "fontWeightValue": { - "oneOf": [ - { - "type": "array", - "items": { - "allOf": [ - { - "$ref": "#/defs/rule" - }, - { - "allOf": [ + }, + "as": { + "oneOf": [ + { + "type": "array", + "items": { + "anyOf": [ { - "$ref": "#/refs/stringModifiers" + "type": "string" }, { - "anyOf": [ - { - "oneOf": [ - { - "$ref": "#/refs/signal" - }, - { - "type": "object", - "properties": { - "value": { - "enum": [ - null, - "normal", - "bold", - "lighter", - "bolder", - "100", - "200", - "300", - "400", - "500", - "600", - "700", - "800", - "900", - 100, - 200, - 300, - 400, - 500, - 600, - 700, - 800, - 900 - ] - } - }, - "required": [ - "value" - ] - }, - { - "type": "object", - "properties": { - "field": { - "$ref": "#/refs/field" - } - }, - "required": [ - "field" - ] - }, - { - "type": "object", - "properties": { - "range": { - "oneOf": [ - { - "type": "number" - }, - { - "type": "boolean" - } - ] - } - }, - "required": [ - "range" - ] - } - ] - }, - { - "type": "object", - "required": [ - "scale", - "value" - ] - }, - { - "type": "object", - "required": [ - "scale", - "band" - ] - }, - { - "type": "object", - "required": [ - "offset" - ] - } - ] + "$ref": "#/definitions/signalRef" + } + ] + }, + "maxItems": 2, + "minItems": 2 + }, + { + "$ref": "#/definitions/signalRef" + } + ], + "default": [ + "text", + "count" + ] + } + }, + "required": [ + "type", + "field" + ], + "additionalProperties": false + }, + "crossTransform": { + "type": "object", + "properties": { + "type": { + "enum": [ + "cross" + ] + }, + "signal": { + "type": "string" + }, + "filter": { + "$ref": "#/definitions/exprString" + }, + "as": { + "oneOf": [ + { + "type": "array", + "items": { + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/definitions/signalRef" } ] - } - ] - } - }, - { - "allOf": [ - { - "$ref": "#/refs/stringModifiers" + }, + "maxItems": 2, + "minItems": 2 }, { - "anyOf": [ - { - "oneOf": [ - { - "$ref": "#/refs/signal" - }, - { - "type": "object", - "properties": { - "value": { - "enum": [ - null, - "normal", - "bold", - "lighter", - "bolder", - "100", - "200", - "300", - "400", - "500", - "600", - "700", - "800", - "900", - 100, - 200, - 300, - 400, - 500, - 600, - 700, - 800, - 900 - ] - } - }, - "required": [ - "value" - ] - }, - { - "type": "object", - "properties": { - "field": { - "$ref": "#/refs/field" - } - }, - "required": [ - "field" - ] - }, - { - "type": "object", - "properties": { - "range": { - "oneOf": [ - { - "type": "number" - }, - { - "type": "boolean" - } - ] - } - }, - "required": [ - "range" - ] - } - ] - }, - { - "type": "object", - "required": [ - "scale", - "value" - ] - }, - { - "type": "object", - "required": [ - "scale", - "band" - ] - }, - { - "type": "object", - "required": [ - "offset" - ] - } - ] + "$ref": "#/definitions/signalRef" } + ], + "default": [ + "a", + "b" ] } - ] + }, + "required": [ + "type" + ], + "additionalProperties": false }, - "anchorValue": { - "oneOf": [ - { - "type": "array", - "items": { - "allOf": [ - { - "$ref": "#/defs/rule" - }, - { - "allOf": [ + "densityTransform": { + "type": "object", + "properties": { + "type": { + "enum": [ + "density" + ] + }, + "signal": { + "type": "string" + }, + "extent": { + "oneOf": [ + { + "type": "array", + "items": { + "anyOf": [ { - "$ref": "#/refs/stringModifiers" + "type": "number" }, { - "anyOf": [ - { - "oneOf": [ - { - "$ref": "#/refs/signal" - }, - { - "type": "object", - "properties": { - "value": { - "enum": [ - "start", - "middle", - "end" - ] - } - }, - "required": [ - "value" - ] - }, - { - "type": "object", - "properties": { - "field": { - "$ref": "#/refs/field" - } - }, - "required": [ - "field" - ] - }, - { - "type": "object", - "properties": { - "range": { - "oneOf": [ - { - "type": "number" - }, - { - "type": "boolean" - } - ] - } - }, - "required": [ - "range" - ] - } - ] - }, - { - "type": "object", - "required": [ - "scale", - "value" - ] - }, - { - "type": "object", - "required": [ - "scale", - "band" - ] - }, - { - "type": "object", - "required": [ - "offset" - ] - } - ] + "$ref": "#/definitions/signalRef" } ] - } - ] - } + }, + "maxItems": 2, + "minItems": 2 + }, + { + "$ref": "#/definitions/signalRef" + } + ] }, - { - "allOf": [ + "steps": { + "anyOf": [ { - "$ref": "#/refs/stringModifiers" + "type": "number" + }, + { + "$ref": "#/definitions/signalRef" + } + ] + }, + "minsteps": { + "anyOf": [ + { + "type": "number" + }, + { + "$ref": "#/definitions/signalRef" + } + ], + "default": 25 + }, + "maxsteps": { + "anyOf": [ + { + "type": "number" + }, + { + "$ref": "#/definitions/signalRef" + } + ], + "default": 200 + }, + "method": { + "anyOf": [ + { + "type": "string" }, { - "anyOf": [ - { - "oneOf": [ + "$ref": "#/definitions/signalRef" + } + ], + "default": "pdf" + }, + "distribution": { + "oneOf": [ + { + "type": "object", + "properties": { + "function": { + "enum": [ + "normal" + ] + }, + "mean": { + "anyOf": [ { - "$ref": "#/refs/signal" + "type": "number" }, { - "type": "object", - "properties": { - "value": { - "enum": [ - "start", - "middle", - "end" - ] - } - }, - "required": [ - "value" - ] - }, + "$ref": "#/definitions/signalRef" + } + ] + }, + "stdev": { + "anyOf": [ { - "type": "object", - "properties": { - "field": { - "$ref": "#/refs/field" - } - }, - "required": [ - "field" - ] + "type": "number" }, { - "type": "object", - "properties": { - "range": { - "oneOf": [ - { - "type": "number" - }, - { - "type": "boolean" - } - ] - } - }, - "required": [ - "range" - ] + "$ref": "#/definitions/signalRef" } + ], + "default": 1 + } + }, + "required": [ + "function" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "function": { + "enum": [ + "lognormal" ] }, - { - "type": "object", - "required": [ - "scale", - "value" - ] - }, - { - "type": "object", - "required": [ - "scale", - "band" + "mean": { + "anyOf": [ + { + "type": "number" + }, + { + "$ref": "#/definitions/signalRef" + } ] }, - { - "type": "object", - "required": [ - "offset" - ] + "stdev": { + "anyOf": [ + { + "type": "number" + }, + { + "$ref": "#/definitions/signalRef" + } + ], + "default": 1 } - ] - } - ] - } - ] - }, - "alignValue": { - "oneOf": [ - { - "type": "array", - "items": { - "allOf": [ - { - "$ref": "#/defs/rule" }, - { - "allOf": [ - { - "$ref": "#/refs/stringModifiers" - }, - { - "anyOf": [ - { - "oneOf": [ - { - "$ref": "#/refs/signal" - }, - { - "type": "object", - "properties": { - "value": { - "enum": [ - "left", - "right", - "center" - ] - } - }, - "required": [ - "value" - ] - }, - { - "type": "object", - "properties": { - "field": { - "$ref": "#/refs/field" - } - }, - "required": [ - "field" - ] - }, - { - "type": "object", - "properties": { - "range": { - "oneOf": [ - { - "type": "number" - }, - { - "type": "boolean" - } - ] - } - }, - "required": [ - "range" - ] - } - ] - }, - { - "type": "object", - "required": [ - "scale", - "value" - ] - }, - { - "type": "object", - "required": [ - "scale", - "band" - ] - }, - { - "type": "object", - "required": [ - "offset" - ] - } - ] - } - ] - } - ] - } - }, - { - "allOf": [ - { - "$ref": "#/refs/stringModifiers" + "required": [ + "function" + ], + "additionalProperties": false }, { - "anyOf": [ - { - "oneOf": [ + "type": "object", + "properties": { + "function": { + "enum": [ + "uniform" + ] + }, + "min": { + "anyOf": [ { - "$ref": "#/refs/signal" + "type": "number" }, { - "type": "object", - "properties": { - "value": { - "enum": [ - "left", - "right", - "center" - ] - } - }, - "required": [ - "value" - ] + "$ref": "#/definitions/signalRef" + } + ] + }, + "max": { + "anyOf": [ + { + "type": "number" + }, + { + "$ref": "#/definitions/signalRef" + } + ], + "default": 1 + } + }, + "required": [ + "function" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "function": { + "enum": [ + "kde" + ] + }, + "field": { + "oneOf": [ + { + "$ref": "#/definitions/scaleField" }, { - "type": "object", - "properties": { - "field": { - "$ref": "#/refs/field" - } - }, - "required": [ - "field" - ] + "$ref": "#/definitions/paramField" }, { - "type": "object", - "properties": { - "range": { - "oneOf": [ - { - "type": "number" - }, - { - "type": "boolean" - } - ] - } - }, - "required": [ - "range" - ] + "$ref": "#/definitions/expr" } ] }, - { - "type": "object", - "required": [ - "scale", - "value" + "from": { + "type": "string" + }, + "bandwidth": { + "anyOf": [ + { + "type": "number" + }, + { + "$ref": "#/definitions/signalRef" + } + ] + } + }, + "required": [ + "function", + "field" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "function": { + "enum": [ + "mixture" ] }, - { - "type": "object", - "required": [ - "scale", - "band" + "distributions": { + "oneOf": [ + { + "type": "array", + "items": {} + }, + { + "$ref": "#/definitions/signalRef" + } ] }, - { - "type": "object", - "required": [ - "offset" + "weights": { + "oneOf": [ + { + "type": "array", + "items": { + "anyOf": [ + { + "type": "number" + }, + { + "$ref": "#/definitions/signalRef" + } + ] + } + }, + { + "$ref": "#/definitions/signalRef" + } ] } - ] + }, + "required": [ + "function" + ], + "additionalProperties": false + } + ] + }, + "as": { + "oneOf": [ + { + "type": "array", + "items": { + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/definitions/signalRef" + } + ] + } + }, + { + "$ref": "#/definitions/signalRef" } + ], + "default": [ + "value", + "density" ] } - ] + }, + "required": [ + "type" + ], + "additionalProperties": false }, - "baselineValue": { - "oneOf": [ - { - "type": "array", - "items": { - "allOf": [ - { - "$ref": "#/defs/rule" - }, - { - "allOf": [ + "dotbinTransform": { + "type": "object", + "properties": { + "type": { + "enum": [ + "dotbin" + ] + }, + "signal": { + "type": "string" + }, + "field": { + "oneOf": [ + { + "$ref": "#/definitions/scaleField" + }, + { + "$ref": "#/definitions/paramField" + }, + { + "$ref": "#/definitions/expr" + } + ] + }, + "groupby": { + "oneOf": [ + { + "type": "array", + "items": { + "oneOf": [ { - "$ref": "#/refs/stringModifiers" + "$ref": "#/definitions/scaleField" }, { - "anyOf": [ - { - "oneOf": [ - { - "$ref": "#/refs/signal" - }, - { - "type": "object", - "properties": { - "value": { - "enum": [ - "top", - "middle", - "bottom", - "alphabetic" - ] - } - }, - "required": [ - "value" - ] - }, - { - "type": "object", - "properties": { - "field": { - "$ref": "#/refs/field" - } - }, - "required": [ - "field" - ] - }, - { - "type": "object", - "properties": { - "range": { - "oneOf": [ - { - "type": "number" - }, - { - "type": "boolean" - } - ] - } - }, - "required": [ - "range" - ] - } - ] - }, - { - "type": "object", - "required": [ - "scale", - "value" - ] - }, - { - "type": "object", - "required": [ - "scale", - "band" - ] - }, - { - "type": "object", - "required": [ - "offset" - ] - } - ] + "$ref": "#/definitions/paramField" + }, + { + "$ref": "#/definitions/expr" } ] } - ] - } + }, + { + "$ref": "#/definitions/signalRef" + } + ] + }, + "step": { + "anyOf": [ + { + "type": "number" + }, + { + "$ref": "#/definitions/signalRef" + } + ] }, - { - "allOf": [ + "smooth": { + "anyOf": [ { - "$ref": "#/refs/stringModifiers" + "type": "boolean" }, { - "anyOf": [ - { - "oneOf": [ - { - "$ref": "#/refs/signal" - }, - { - "type": "object", - "properties": { - "value": { - "enum": [ - "top", - "middle", - "bottom", - "alphabetic" - ] - } - }, - "required": [ - "value" - ] - }, - { - "type": "object", - "properties": { - "field": { - "$ref": "#/refs/field" - } - }, - "required": [ - "field" - ] - }, - { - "type": "object", - "properties": { - "range": { - "oneOf": [ - { - "type": "number" - }, - { - "type": "boolean" - } - ] - } - }, - "required": [ - "range" - ] - } - ] - }, - { - "type": "object", - "required": [ - "scale", - "value" - ] - }, - { - "type": "object", - "required": [ - "scale", - "band" - ] - }, - { - "type": "object", - "required": [ - "offset" - ] - } - ] + "$ref": "#/definitions/signalRef" } ] + }, + "as": { + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/definitions/signalRef" + } + ], + "default": "bin" } - ] + }, + "required": [ + "type", + "field" + ], + "additionalProperties": false }, - "directionValue": { - "oneOf": [ - { - "type": "array", - "items": { - "allOf": [ - { - "$ref": "#/defs/rule" - }, - { - "allOf": [ + "extentTransform": { + "type": "object", + "properties": { + "type": { + "enum": [ + "extent" + ] + }, + "signal": { + "type": "string" + }, + "field": { + "oneOf": [ + { + "$ref": "#/definitions/scaleField" + }, + { + "$ref": "#/definitions/paramField" + }, + { + "$ref": "#/definitions/expr" + } + ] + } + }, + "required": [ + "type", + "field" + ], + "additionalProperties": false + }, + "filterTransform": { + "type": "object", + "properties": { + "type": { + "enum": [ + "filter" + ] + }, + "signal": { + "type": "string" + }, + "expr": { + "$ref": "#/definitions/exprString" + } + }, + "required": [ + "type", + "expr" + ], + "additionalProperties": false + }, + "flattenTransform": { + "type": "object", + "properties": { + "type": { + "enum": [ + "flatten" + ] + }, + "signal": { + "type": "string" + }, + "fields": { + "oneOf": [ + { + "type": "array", + "items": { + "oneOf": [ { - "$ref": "#/refs/stringModifiers" + "$ref": "#/definitions/scaleField" }, { - "anyOf": [ - { - "oneOf": [ - { - "$ref": "#/refs/signal" - }, - { - "type": "object", - "properties": { - "value": { - "enum": [ - "horizontal", - "vertical" - ] - } - }, - "required": [ - "value" - ] - }, - { - "type": "object", - "properties": { - "field": { - "$ref": "#/refs/field" - } - }, - "required": [ - "field" - ] - }, - { - "type": "object", - "properties": { - "range": { - "oneOf": [ - { - "type": "number" - }, - { - "type": "boolean" - } - ] - } - }, - "required": [ - "range" - ] - } - ] - }, - { - "type": "object", - "required": [ - "scale", - "value" - ] - }, - { - "type": "object", - "required": [ - "scale", - "band" - ] - }, - { - "type": "object", - "required": [ - "offset" - ] - } - ] + "$ref": "#/definitions/paramField" + }, + { + "$ref": "#/definitions/expr" + } + ] + } + }, + { + "$ref": "#/definitions/signalRef" + } + ] + }, + "index": { + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/definitions/signalRef" + } + ] + }, + "as": { + "oneOf": [ + { + "type": "array", + "items": { + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/definitions/signalRef" } ] } - ] - } - }, - { - "allOf": [ - { - "$ref": "#/refs/stringModifiers" }, { - "anyOf": [ - { - "oneOf": [ - { - "$ref": "#/refs/signal" - }, - { - "type": "object", - "properties": { - "value": { - "enum": [ - "horizontal", - "vertical" - ] - } - }, - "required": [ - "value" - ] - }, - { - "type": "object", - "properties": { - "field": { - "$ref": "#/refs/field" - } - }, - "required": [ - "field" - ] - }, - { - "type": "object", - "properties": { - "range": { - "oneOf": [ - { - "type": "number" - }, - { - "type": "boolean" - } - ] - } - }, - "required": [ - "range" - ] - } - ] - }, - { - "type": "object", - "required": [ - "scale", - "value" - ] - }, - { - "type": "object", - "required": [ - "scale", - "band" - ] - }, - { - "type": "object", - "required": [ - "offset" - ] - } - ] + "$ref": "#/definitions/signalRef" } ] } - ] + }, + "required": [ + "type", + "fields" + ], + "additionalProperties": false }, - "orientValue": { - "oneOf": [ - { - "type": "array", - "items": { - "allOf": [ - { - "$ref": "#/defs/rule" - }, - { - "allOf": [ + "foldTransform": { + "type": "object", + "properties": { + "type": { + "enum": [ + "fold" + ] + }, + "signal": { + "type": "string" + }, + "fields": { + "oneOf": [ + { + "type": "array", + "items": { + "oneOf": [ { - "$ref": "#/refs/stringModifiers" + "$ref": "#/definitions/scaleField" }, { - "anyOf": [ - { - "oneOf": [ - { - "$ref": "#/refs/signal" - }, - { - "type": "object", - "properties": { - "value": { - "enum": [ - "left", - "right", - "top", - "bottom" - ] - } - }, - "required": [ - "value" - ] - }, - { - "type": "object", - "properties": { - "field": { - "$ref": "#/refs/field" - } - }, - "required": [ - "field" - ] - }, - { - "type": "object", - "properties": { - "range": { - "oneOf": [ - { - "type": "number" - }, - { - "type": "boolean" - } - ] - } - }, - "required": [ - "range" - ] - } - ] - }, - { - "type": "object", - "required": [ - "scale", - "value" - ] - }, - { - "type": "object", - "required": [ - "scale", - "band" - ] - }, - { - "type": "object", - "required": [ - "offset" - ] - } - ] + "$ref": "#/definitions/paramField" + }, + { + "$ref": "#/definitions/expr" } ] } - ] - } + }, + { + "$ref": "#/definitions/signalRef" + } + ] + }, + "as": { + "oneOf": [ + { + "type": "array", + "items": { + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/definitions/signalRef" + } + ] + }, + "maxItems": 2, + "minItems": 2 + }, + { + "$ref": "#/definitions/signalRef" + } + ], + "default": [ + "key", + "value" + ] + } + }, + "required": [ + "type", + "fields" + ], + "additionalProperties": false + }, + "formulaTransform": { + "type": "object", + "properties": { + "type": { + "enum": [ + "formula" + ] + }, + "signal": { + "type": "string" + }, + "expr": { + "$ref": "#/definitions/exprString" + }, + "as": { + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/definitions/signalRef" + } + ] }, - { - "allOf": [ + "initonly": { + "anyOf": [ { - "$ref": "#/refs/stringModifiers" + "type": "boolean" }, { - "anyOf": [ - { - "oneOf": [ - { - "$ref": "#/refs/signal" - }, - { - "type": "object", - "properties": { - "value": { - "enum": [ - "left", - "right", - "top", - "bottom" - ] - } - }, - "required": [ - "value" - ] - }, - { - "type": "object", - "properties": { - "field": { - "$ref": "#/refs/field" - } - }, - "required": [ - "field" - ] - }, - { - "type": "object", - "properties": { - "range": { - "oneOf": [ - { - "type": "number" - }, - { - "type": "boolean" - } - ] - } - }, - "required": [ - "range" - ] - } - ] - }, - { - "type": "object", - "required": [ - "scale", - "value" - ] - }, - { - "type": "object", - "required": [ - "scale", - "band" - ] - }, - { - "type": "object", - "required": [ - "offset" - ] - } - ] + "$ref": "#/definitions/signalRef" } ] } - ] + }, + "required": [ + "type", + "expr", + "as" + ], + "additionalProperties": false }, - "strokeCapValue": { - "oneOf": [ - { - "type": "array", - "items": { - "allOf": [ - { - "$ref": "#/defs/rule" - }, - { - "allOf": [ + "imputeTransform": { + "type": "object", + "properties": { + "type": { + "enum": [ + "impute" + ] + }, + "signal": { + "type": "string" + }, + "field": { + "oneOf": [ + { + "$ref": "#/definitions/scaleField" + }, + { + "$ref": "#/definitions/paramField" + }, + { + "$ref": "#/definitions/expr" + } + ] + }, + "key": { + "oneOf": [ + { + "$ref": "#/definitions/scaleField" + }, + { + "$ref": "#/definitions/paramField" + }, + { + "$ref": "#/definitions/expr" + } + ] + }, + "keyvals": { + "oneOf": [ + { + "type": "array", + "items": {} + }, + { + "$ref": "#/definitions/signalRef" + } + ] + }, + "groupby": { + "oneOf": [ + { + "type": "array", + "items": { + "oneOf": [ { - "$ref": "#/refs/stringModifiers" + "$ref": "#/definitions/scaleField" }, { - "anyOf": [ - { - "oneOf": [ - { - "$ref": "#/refs/signal" - }, - { - "type": "object", - "properties": { - "value": { - "enum": [ - "butt", - "round", - "square" - ] - } - }, - "required": [ - "value" - ] - }, - { - "type": "object", - "properties": { - "field": { - "$ref": "#/refs/field" - } - }, - "required": [ - "field" - ] - }, - { - "type": "object", - "properties": { - "range": { - "oneOf": [ - { - "type": "number" - }, - { - "type": "boolean" - } - ] - } - }, - "required": [ - "range" - ] - } - ] - }, - { - "type": "object", - "required": [ - "scale", - "value" - ] - }, - { - "type": "object", - "required": [ - "scale", - "band" - ] - }, - { - "type": "object", - "required": [ - "offset" - ] - } - ] + "$ref": "#/definitions/paramField" + }, + { + "$ref": "#/definitions/expr" + } + ] + } + }, + { + "$ref": "#/definitions/signalRef" + } + ] + }, + "method": { + "anyOf": [ + { + "enum": [ + "value", + "mean", + "median", + "max", + "min" + ] + }, + { + "$ref": "#/definitions/signalRef" + } + ], + "default": "value" + }, + "value": {} + }, + "required": [ + "type", + "field", + "key" + ], + "additionalProperties": false + }, + "joinaggregateTransform": { + "type": "object", + "properties": { + "type": { + "enum": [ + "joinaggregate" + ] + }, + "signal": { + "type": "string" + }, + "groupby": { + "oneOf": [ + { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/definitions/scaleField" + }, + { + "$ref": "#/definitions/paramField" + }, + { + "$ref": "#/definitions/expr" } ] } - ] - } + }, + { + "$ref": "#/definitions/signalRef" + } + ] }, - { - "allOf": [ + "fields": { + "oneOf": [ { - "$ref": "#/refs/stringModifiers" + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/definitions/scaleField" + }, + { + "$ref": "#/definitions/paramField" + }, + { + "$ref": "#/definitions/expr" + }, + { + "type": "null" + } + ] + } }, { - "anyOf": [ - { - "oneOf": [ - { - "$ref": "#/refs/signal" - }, - { - "type": "object", - "properties": { - "value": { - "enum": [ - "butt", - "round", - "square" - ] - } - }, - "required": [ - "value" - ] - }, - { - "type": "object", - "properties": { - "field": { - "$ref": "#/refs/field" - } - }, - "required": [ - "field" - ] - }, - { - "type": "object", - "properties": { - "range": { - "oneOf": [ - { - "type": "number" - }, - { - "type": "boolean" - } - ] - } - }, - "required": [ - "range" - ] - } - ] - }, - { - "type": "object", - "required": [ - "scale", - "value" - ] - }, - { - "type": "object", - "required": [ - "scale", - "band" - ] - }, - { - "type": "object", - "required": [ - "offset" - ] - } - ] + "$ref": "#/definitions/signalRef" } ] - } - ] - }, - "strokeJoinValue": { - "oneOf": [ - { - "type": "array", - "items": { - "allOf": [ - { - "$ref": "#/defs/rule" - }, - { - "allOf": [ + }, + "ops": { + "oneOf": [ + { + "type": "array", + "items": { + "anyOf": [ { - "$ref": "#/refs/stringModifiers" + "enum": [ + "values", + "count", + "__count__", + "missing", + "valid", + "sum", + "product", + "mean", + "average", + "variance", + "variancep", + "stdev", + "stdevp", + "stderr", + "distinct", + "ci0", + "ci1", + "median", + "q1", + "q3", + "min", + "max", + "argmin", + "argmax" + ] }, { - "anyOf": [ - { - "oneOf": [ - { - "$ref": "#/refs/signal" - }, - { - "type": "object", - "properties": { - "value": { - "enum": [ - "miter", - "round", - "bevel" - ] - } - }, - "required": [ - "value" - ] - }, - { - "type": "object", - "properties": { - "field": { - "$ref": "#/refs/field" - } - }, - "required": [ - "field" - ] - }, - { - "type": "object", - "properties": { - "range": { - "oneOf": [ - { - "type": "number" - }, - { - "type": "boolean" - } - ] - } - }, - "required": [ - "range" - ] - } - ] - }, - { - "type": "object", - "required": [ - "scale", - "value" - ] - }, - { - "type": "object", - "required": [ - "scale", - "band" - ] - }, - { - "type": "object", - "required": [ - "offset" - ] - } - ] + "$ref": "#/definitions/signalRef" + } + ] + } + }, + { + "$ref": "#/definitions/signalRef" + } + ] + }, + "as": { + "oneOf": [ + { + "type": "array", + "items": { + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/definitions/signalRef" + }, + { + "type": "null" + } + ] + } + }, + { + "$ref": "#/definitions/signalRef" + } + ] + }, + "key": { + "oneOf": [ + { + "$ref": "#/definitions/scaleField" + }, + { + "$ref": "#/definitions/paramField" + }, + { + "$ref": "#/definitions/expr" + } + ] + } + }, + "required": [ + "type" + ], + "additionalProperties": false + }, + "kdeTransform": { + "type": "object", + "properties": { + "type": { + "enum": [ + "kde" + ] + }, + "signal": { + "type": "string" + }, + "groupby": { + "oneOf": [ + { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/definitions/scaleField" + }, + { + "$ref": "#/definitions/paramField" + }, + { + "$ref": "#/definitions/expr" } ] } - ] - } + }, + { + "$ref": "#/definitions/signalRef" + } + ] }, - { - "allOf": [ + "field": { + "oneOf": [ { - "$ref": "#/refs/stringModifiers" + "$ref": "#/definitions/scaleField" }, { - "anyOf": [ - { - "oneOf": [ - { - "$ref": "#/refs/signal" - }, - { - "type": "object", - "properties": { - "value": { - "enum": [ - "miter", - "round", - "bevel" - ] - } - }, - "required": [ - "value" - ] - }, - { - "type": "object", - "properties": { - "field": { - "$ref": "#/refs/field" - } - }, - "required": [ - "field" - ] - }, - { - "type": "object", - "properties": { - "range": { - "oneOf": [ - { - "type": "number" - }, - { - "type": "boolean" - } - ] - } - }, - "required": [ - "range" - ] - } - ] - }, - { - "type": "object", - "required": [ - "scale", - "value" - ] - }, - { - "type": "object", - "required": [ - "scale", - "band" - ] - }, - { - "type": "object", - "required": [ - "offset" - ] - } - ] + "$ref": "#/definitions/paramField" + }, + { + "$ref": "#/definitions/expr" } ] - } - ] - }, - "baseColorValue": { - "oneOf": [ - { - "allOf": [ + }, + "cumulative": { + "anyOf": [ { - "$ref": "#/refs/stringModifiers" + "type": "boolean" }, { - "anyOf": [ - { - "oneOf": [ - { - "$ref": "#/refs/signal" - }, - { - "type": "object", - "properties": { - "value": { - "oneOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - } - }, - "required": [ - "value" - ] - }, - { - "type": "object", - "properties": { - "field": { - "$ref": "#/refs/field" - } - }, - "required": [ - "field" - ] - }, - { - "type": "object", - "properties": { - "range": { - "oneOf": [ - { - "type": "number" - }, - { - "type": "boolean" - } - ] - } - }, - "required": [ - "range" - ] - } - ] - }, - { - "type": "object", - "required": [ - "scale", - "value" - ] - }, - { - "type": "object", - "required": [ - "scale", - "band" - ] - }, - { - "type": "object", - "required": [ - "offset" - ] - } + "$ref": "#/definitions/signalRef" + } + ] + }, + "counts": { + "anyOf": [ + { + "type": "boolean" + }, + { + "$ref": "#/definitions/signalRef" + } + ] + }, + "bandwidth": { + "anyOf": [ + { + "type": "number" + }, + { + "$ref": "#/definitions/signalRef" + } + ] + }, + "extent": { + "oneOf": [ + { + "type": "array", + "items": { + "anyOf": [ + { + "type": "number" + }, + { + "$ref": "#/definitions/signalRef" + } + ] + }, + "maxItems": 2, + "minItems": 2 + }, + { + "$ref": "#/definitions/signalRef" + } + ] + }, + "resolve": { + "anyOf": [ + { + "enum": [ + "shared", + "independent" ] + }, + { + "$ref": "#/definitions/signalRef" + } + ], + "default": "independent" + }, + "steps": { + "anyOf": [ + { + "type": "number" + }, + { + "$ref": "#/definitions/signalRef" } ] }, - { - "type": "object", - "properties": { - "value": { - "$ref": "#/refs/linearGradient" + "minsteps": { + "anyOf": [ + { + "type": "number" + }, + { + "$ref": "#/definitions/signalRef" } - }, - "required": [ - "value" ], - "additionalProperties": false + "default": 25 }, - { - "type": "object", - "properties": { - "value": { - "$ref": "#/refs/radialGradient" + "maxsteps": { + "anyOf": [ + { + "type": "number" + }, + { + "$ref": "#/definitions/signalRef" } - }, - "required": [ - "value" ], - "additionalProperties": false + "default": 200 }, - { - "type": "object", - "properties": { - "gradient": { - "$ref": "#/refs/scale" + "as": { + "oneOf": [ + { + "type": "array", + "items": { + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/definitions/signalRef" + } + ] + } }, - "start": { + { + "$ref": "#/definitions/signalRef" + } + ], + "default": [ + "value", + "density" + ] + } + }, + "required": [ + "type", + "field" + ], + "additionalProperties": false + }, + "lookupTransform": { + "type": "object", + "properties": { + "type": { + "enum": [ + "lookup" + ] + }, + "signal": { + "type": "string" + }, + "from": { + "type": "string" + }, + "key": { + "oneOf": [ + { + "$ref": "#/definitions/scaleField" + }, + { + "$ref": "#/definitions/paramField" + }, + { + "$ref": "#/definitions/expr" + } + ] + }, + "values": { + "oneOf": [ + { "type": "array", "items": { - "type": "number" - }, - "minItems": 2, - "maxItems": 2 + "oneOf": [ + { + "$ref": "#/definitions/scaleField" + }, + { + "$ref": "#/definitions/paramField" + }, + { + "$ref": "#/definitions/expr" + } + ] + } }, - "stop": { + { + "$ref": "#/definitions/signalRef" + } + ] + }, + "fields": { + "oneOf": [ + { "type": "array", "items": { - "type": "number" - }, - "minItems": 2, - "maxItems": 2 + "oneOf": [ + { + "$ref": "#/definitions/scaleField" + }, + { + "$ref": "#/definitions/paramField" + }, + { + "$ref": "#/definitions/expr" + } + ] + } }, - "count": { - "type": "number" + { + "$ref": "#/definitions/signalRef" } - }, - "required": [ - "gradient" - ], - "additionalProperties": false + ] }, - { - "type": "object", - "properties": { - "color": { - "oneOf": [ - { - "$ref": "#/refs/colorRGB" - }, - { - "$ref": "#/refs/colorHSL" - }, - { - "$ref": "#/refs/colorLAB" - }, - { - "$ref": "#/refs/colorHCL" - } + "as": { + "oneOf": [ + { + "type": "array", + "items": { + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/definitions/signalRef" + } + ] + } + }, + { + "$ref": "#/definitions/signalRef" + } + ] + }, + "default": {} + }, + "required": [ + "type", + "from", + "key", + "fields" + ], + "additionalProperties": false + }, + "pivotTransform": { + "type": "object", + "properties": { + "type": { + "enum": [ + "pivot" + ] + }, + "signal": { + "type": "string" + }, + "groupby": { + "oneOf": [ + { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/definitions/scaleField" + }, + { + "$ref": "#/definitions/paramField" + }, + { + "$ref": "#/definitions/expr" + } + ] + } + }, + { + "$ref": "#/definitions/signalRef" + } + ] + }, + "field": { + "oneOf": [ + { + "$ref": "#/definitions/scaleField" + }, + { + "$ref": "#/definitions/paramField" + }, + { + "$ref": "#/definitions/expr" + } + ] + }, + "value": { + "oneOf": [ + { + "$ref": "#/definitions/scaleField" + }, + { + "$ref": "#/definitions/paramField" + }, + { + "$ref": "#/definitions/expr" + } + ] + }, + "op": { + "anyOf": [ + { + "enum": [ + "values", + "count", + "__count__", + "missing", + "valid", + "sum", + "product", + "mean", + "average", + "variance", + "variancep", + "stdev", + "stdevp", + "stderr", + "distinct", + "ci0", + "ci1", + "median", + "q1", + "q3", + "min", + "max", + "argmin", + "argmax" ] + }, + { + "$ref": "#/definitions/signalRef" } - }, - "required": [ - "color" ], - "additionalProperties": false - } - ] - }, - "colorRGB": { - "type": "object", - "properties": { - "r": { - "$ref": "#/refs/numberValue" + "default": "sum" }, - "g": { - "$ref": "#/refs/numberValue" + "limit": { + "anyOf": [ + { + "type": "number" + }, + { + "$ref": "#/definitions/signalRef" + } + ] }, - "b": { - "$ref": "#/refs/numberValue" + "key": { + "oneOf": [ + { + "$ref": "#/definitions/scaleField" + }, + { + "$ref": "#/definitions/paramField" + }, + { + "$ref": "#/definitions/expr" + } + ] } }, "required": [ - "r", - "g", - "b" - ] + "type", + "field", + "value" + ], + "additionalProperties": false }, - "colorHSL": { + "projectTransform": { "type": "object", "properties": { - "h": { - "$ref": "#/refs/numberValue" + "type": { + "enum": [ + "project" + ] }, - "s": { - "$ref": "#/refs/numberValue" + "signal": { + "type": "string" }, - "l": { - "$ref": "#/refs/numberValue" + "fields": { + "oneOf": [ + { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/definitions/scaleField" + }, + { + "$ref": "#/definitions/paramField" + }, + { + "$ref": "#/definitions/expr" + } + ] + } + }, + { + "$ref": "#/definitions/signalRef" + } + ] + }, + "as": { + "oneOf": [ + { + "type": "array", + "items": { + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/definitions/signalRef" + }, + { + "type": "null" + } + ] + } + }, + { + "$ref": "#/definitions/signalRef" + } + ] } }, "required": [ - "h", - "s", - "l" - ] + "type" + ], + "additionalProperties": false }, - "colorLAB": { + "quantileTransform": { "type": "object", "properties": { - "l": { - "$ref": "#/refs/numberValue" + "type": { + "enum": [ + "quantile" + ] }, - "a": { - "$ref": "#/refs/numberValue" + "signal": { + "type": "string" }, - "b": { - "$ref": "#/refs/numberValue" + "groupby": { + "oneOf": [ + { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/definitions/scaleField" + }, + { + "$ref": "#/definitions/paramField" + }, + { + "$ref": "#/definitions/expr" + } + ] + } + }, + { + "$ref": "#/definitions/signalRef" + } + ] + }, + "field": { + "oneOf": [ + { + "$ref": "#/definitions/scaleField" + }, + { + "$ref": "#/definitions/paramField" + }, + { + "$ref": "#/definitions/expr" + } + ] + }, + "probs": { + "oneOf": [ + { + "type": "array", + "items": { + "anyOf": [ + { + "type": "number" + }, + { + "$ref": "#/definitions/signalRef" + } + ] + } + }, + { + "$ref": "#/definitions/signalRef" + } + ] + }, + "step": { + "anyOf": [ + { + "type": "number" + }, + { + "$ref": "#/definitions/signalRef" + } + ], + "default": 0.01 + }, + "as": { + "oneOf": [ + { + "type": "array", + "items": { + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/definitions/signalRef" + } + ] + } + }, + { + "$ref": "#/definitions/signalRef" + } + ], + "default": [ + "prob", + "value" + ] } }, "required": [ - "l", - "a", - "b" - ] + "type", + "field" + ], + "additionalProperties": false }, - "colorHCL": { + "sampleTransform": { "type": "object", "properties": { - "h": { - "$ref": "#/refs/numberValue" - }, - "c": { - "$ref": "#/refs/numberValue" + "type": { + "enum": [ + "sample" + ] }, - "l": { - "$ref": "#/refs/numberValue" - } - }, - "required": [ - "h", - "c", - "l" - ] - }, - "colorValue": { - "oneOf": [ - { - "type": "array", - "items": { - "allOf": [ - { - "$ref": "#/defs/rule" - }, - { - "$ref": "#/refs/baseColorValue" - } - ] - } + "signal": { + "type": "string" }, - { - "$ref": "#/refs/baseColorValue" + "size": { + "anyOf": [ + { + "type": "number" + }, + { + "$ref": "#/definitions/signalRef" + } + ], + "default": 1000 } - ] - }, - "gradientStops": { - "type": "array", - "items": { - "type": "object", - "properties": { - "offset": { - "type": "number" - }, - "color": { - "type": "string" - } - }, - "required": [ - "offset", - "color" - ], - "additionalProperties": false - } + }, + "required": [ + "type" + ], + "additionalProperties": false }, - "linearGradient": { + "sequenceTransform": { "type": "object", "properties": { - "gradient": { + "type": { "enum": [ - "linear" + "sequence" ] }, - "id": { + "signal": { "type": "string" }, - "x1": { - "type": "number" - }, - "y1": { - "type": "number" + "start": { + "anyOf": [ + { + "type": "number" + }, + { + "$ref": "#/definitions/signalRef" + } + ] }, - "x2": { - "type": "number" + "stop": { + "anyOf": [ + { + "type": "number" + }, + { + "$ref": "#/definitions/signalRef" + } + ] }, - "y2": { - "type": "number" + "step": { + "anyOf": [ + { + "type": "number" + }, + { + "$ref": "#/definitions/signalRef" + } + ], + "default": 1 }, - "stops": { - "$ref": "#/refs/gradientStops" + "as": { + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/definitions/signalRef" + } + ], + "default": "data" } }, "required": [ - "gradient", - "stops" + "type", + "start", + "stop" ], "additionalProperties": false }, - "radialGradient": { + "timeunitTransform": { "type": "object", "properties": { - "gradient": { + "type": { "enum": [ - "radial" + "timeunit" ] }, - "id": { + "signal": { "type": "string" }, - "x1": { - "type": "number" + "field": { + "oneOf": [ + { + "$ref": "#/definitions/scaleField" + }, + { + "$ref": "#/definitions/paramField" + }, + { + "$ref": "#/definitions/expr" + } + ] }, - "y1": { - "type": "number" + "interval": { + "anyOf": [ + { + "type": "boolean" + }, + { + "$ref": "#/definitions/signalRef" + } + ], + "default": true }, - "r1": { - "type": "number" + "units": { + "oneOf": [ + { + "type": "array", + "items": { + "anyOf": [ + { + "enum": [ + "year", + "quarter", + "month", + "week", + "date", + "day", + "dayofyear", + "hours", + "minutes", + "seconds", + "milliseconds" + ] + }, + { + "$ref": "#/definitions/signalRef" + } + ] + } + }, + { + "$ref": "#/definitions/signalRef" + } + ] }, - "x2": { - "type": "number" + "step": { + "anyOf": [ + { + "type": "number" + }, + { + "$ref": "#/definitions/signalRef" + } + ], + "default": 1 }, - "y2": { - "type": "number" + "maxbins": { + "anyOf": [ + { + "type": "number" + }, + { + "$ref": "#/definitions/signalRef" + } + ], + "default": 40 }, - "r2": { - "type": "number" + "extent": { + "oneOf": [ + { + "type": "array", + "items": { + "anyOf": [ + { + "type": "number" + }, + { + "$ref": "#/definitions/signalRef" + } + ] + } + }, + { + "$ref": "#/definitions/signalRef" + } + ] }, - "stops": { - "$ref": "#/refs/gradientStops" + "timezone": { + "anyOf": [ + { + "enum": [ + "local", + "utc" + ] + }, + { + "$ref": "#/definitions/signalRef" + } + ], + "default": "local" + }, + "as": { + "oneOf": [ + { + "type": "array", + "items": { + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/definitions/signalRef" + } + ] + }, + "maxItems": 2, + "minItems": 2 + }, + { + "$ref": "#/definitions/signalRef" + } + ], + "default": [ + "unit0", + "unit1" + ] } }, "required": [ - "gradient", - "stops" + "type", + "field" ], "additionalProperties": false }, - "expr": { + "windowTransform": { "type": "object", "properties": { - "expr": { + "type": { + "enum": [ + "window" + ] + }, + "signal": { "type": "string" }, - "as": { - "type": "string" - } - }, - "required": [ - "expr" - ] - }, - "exprString": { - "type": "string" - }, - "compare": { - "oneOf": [ - { - "type": "object", - "properties": { - "field": { - "oneOf": [ - { - "$ref": "#/refs/scaleField" - }, - { - "$ref": "#/refs/expr" - } - ] + "sort": { + "$ref": "#/definitions/compare" + }, + "groupby": { + "oneOf": [ + { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/definitions/scaleField" + }, + { + "$ref": "#/definitions/paramField" + }, + { + "$ref": "#/definitions/expr" + } + ] + } + }, + { + "$ref": "#/definitions/signalRef" + } + ] + }, + "ops": { + "oneOf": [ + { + "type": "array", + "items": { + "anyOf": [ + { + "enum": [ + "row_number", + "rank", + "dense_rank", + "percent_rank", + "cume_dist", + "ntile", + "lag", + "lead", + "first_value", + "last_value", + "nth_value", + "prev_value", + "next_value", + "values", + "count", + "__count__", + "missing", + "valid", + "sum", + "product", + "mean", + "average", + "variance", + "variancep", + "stdev", + "stdevp", + "stderr", + "distinct", + "ci0", + "ci1", + "median", + "q1", + "q3", + "min", + "max", + "argmin", + "argmax" + ] + }, + { + "$ref": "#/definitions/signalRef" + } + ] + } + }, + { + "$ref": "#/definitions/signalRef" + } + ] + }, + "params": { + "oneOf": [ + { + "type": "array", + "items": { + "anyOf": [ + { + "type": "number" + }, + { + "$ref": "#/definitions/signalRef" + }, + { + "type": "null" + } + ] + } }, - "order": { - "$ref": "#/refs/sortOrder" + { + "$ref": "#/definitions/signalRef" } - }, - "additionalProperties": false + ] }, - { - "type": "object", - "properties": { - "field": { + "fields": { + "oneOf": [ + { "type": "array", "items": { "oneOf": [ { - "$ref": "#/refs/scaleField" + "$ref": "#/definitions/scaleField" + }, + { + "$ref": "#/definitions/paramField" + }, + { + "$ref": "#/definitions/expr" }, { - "$ref": "#/refs/expr" + "type": "null" } ] } }, - "order": { + { + "$ref": "#/definitions/signalRef" + } + ] + }, + "as": { + "oneOf": [ + { "type": "array", "items": { - "$ref": "#/refs/sortOrder" + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/definitions/signalRef" + }, + { + "type": "null" + } + ] } + }, + { + "$ref": "#/definitions/signalRef" } - }, - "additionalProperties": false + ] + }, + "frame": { + "oneOf": [ + { + "type": "array", + "items": { + "anyOf": [ + { + "type": "number" + }, + { + "$ref": "#/definitions/signalRef" + }, + { + "type": "null" + } + ] + }, + "maxItems": 2, + "minItems": 2 + }, + { + "$ref": "#/definitions/signalRef" + } + ], + "default": [ + null, + 0 + ] + }, + "ignorePeers": { + "anyOf": [ + { + "type": "boolean" + }, + { + "$ref": "#/definitions/signalRef" + } + ] } - ] + }, + "required": [ + "type" + ], + "additionalProperties": false }, - "from": { + "identifierTransform": { "type": "object", "properties": { - "data": { + "type": { + "enum": [ + "identifier" + ] + }, + "signal": { "type": "string" + }, + "as": { + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/definitions/signalRef" + } + ] } }, + "required": [ + "type", + "as" + ], "additionalProperties": false }, - "facet": { + "voronoiTransform": { "type": "object", "properties": { - "data": { + "type": { + "enum": [ + "voronoi" + ] + }, + "signal": { "type": "string" }, - "facet": { + "x": { "oneOf": [ { - "type": "object", - "properties": { - "name": { - "type": "string" - }, - "data": { - "type": "string" - }, - "field": { - "type": "string" - } - }, - "required": [ - "name", - "data", - "field" - ], - "additionalProperties": false + "$ref": "#/definitions/scaleField" }, { - "type": "object", - "properties": { - "name": { - "type": "string" - }, - "data": { - "type": "string" - }, - "groupby": { - "oneOf": [ - { - "type": "string" - }, - { - "type": "array", - "items": { - "type": "string" - } - } - ] - }, - "aggregate": { - "type": "object", - "properties": { - "cross": { - "type": "boolean" - }, - "fields": { - "type": "array", - "items": { - "type": "string" - } - }, - "ops": { - "type": "array", - "items": { - "type": "string" - } - }, - "as": { - "type": "array", - "items": { - "type": "string" - } - } + "$ref": "#/definitions/paramField" + }, + { + "$ref": "#/definitions/expr" + } + ] + }, + "y": { + "oneOf": [ + { + "$ref": "#/definitions/scaleField" + }, + { + "$ref": "#/definitions/paramField" + }, + { + "$ref": "#/definitions/expr" + } + ] + }, + "size": { + "oneOf": [ + { + "type": "array", + "items": { + "anyOf": [ + { + "type": "number" }, - "additionalProperties": false - } + { + "$ref": "#/definitions/signalRef" + } + ] }, - "required": [ - "name", - "data", - "groupby" - ], - "additionalProperties": false + "maxItems": 2, + "minItems": 2 + }, + { + "$ref": "#/definitions/signalRef" } ] - } - }, - "required": [ - "facet" - ], - "additionalProperties": false - }, - "markclip": { - "oneOf": [ - { - "$ref": "#/refs/booleanOrSignal" }, - { - "type": "object", - "properties": { - "path": { - "$ref": "#/refs/stringOrSignal" + "extent": { + "oneOf": [ + { + "type": "array", + "items": {}, + "maxItems": 2, + "minItems": 2 + }, + { + "$ref": "#/definitions/signalRef" } - }, - "required": [ - "path" ], - "additionalProperties": false + "default": [ + [ + -100000, + -100000 + ], + [ + 100000, + 100000 + ] + ] }, - { - "type": "object", - "properties": { - "sphere": { - "$ref": "#/refs/stringOrSignal" + "as": { + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/definitions/signalRef" } - }, - "required": [ - "sphere" ], - "additionalProperties": false - } - ] - }, - "style": { - "oneOf": [ - { - "type": "string" - }, - { - "type": "array", - "items": { - "type": "string" - } + "default": "path" } - ] - }, - "marktype": { - "type": "string" - }, - "scaleField": { - "$ref": "#/refs/stringOrSignal" + }, + "required": [ + "type", + "x", + "y" + ], + "additionalProperties": false }, - "sortOrder": { - "oneOf": [ - { + "wordcloudTransform": { + "type": "object", + "properties": { + "type": { "enum": [ - "ascending", - "descending" + "wordcloud" ] }, - { - "$ref": "#/refs/signal" - } - ] - }, - "scaleBins": { - "oneOf": [ - { - "type": "array", - "items": { - "$ref": "#/refs/numberOrSignal" - } - }, - { - "type": "object", - "properties": { - "step": { - "$ref": "#/refs/numberOrSignal" - }, - "start": { - "$ref": "#/refs/numberOrSignal" - }, - "stop": { - "$ref": "#/refs/numberOrSignal" - } - }, - "required": [ - "step" - ], - "additionalProperties": false - }, - { - "$ref": "#/refs/signal" - } - ] - }, - "scaleInterpolate": { - "oneOf": [ - { + "signal": { "type": "string" }, - { - "$ref": "#/refs/signal" - }, - { - "type": "object", - "properties": { - "type": { - "$ref": "#/refs/stringOrSignal" + "size": { + "oneOf": [ + { + "type": "array", + "items": { + "anyOf": [ + { + "type": "number" + }, + { + "$ref": "#/definitions/signalRef" + } + ] + }, + "maxItems": 2, + "minItems": 2 }, - "gamma": { - "$ref": "#/refs/numberOrSignal" + { + "$ref": "#/definitions/signalRef" } - }, - "required": [ - "type" - ], - "additionalProperties": false - } - ] - }, - "scaleData": { - "oneOf": [ - { - "type": "object", - "properties": { - "data": { + ] + }, + "font": { + "anyOf": [ + { "type": "string" }, - "field": { - "$ref": "#/refs/stringOrSignal" + { + "$ref": "#/definitions/signalRef" }, - "sort": { - "oneOf": [ - { - "type": "boolean" - }, - { - "type": "object", - "properties": { - "field": { - "$ref": "#/refs/stringOrSignal" - }, - "op": { - "$ref": "#/refs/stringOrSignal" - }, - "order": { - "$ref": "#/refs/sortOrder" - } - }, - "additionalProperties": false - } - ] + { + "$ref": "#/definitions/expr" + }, + { + "$ref": "#/definitions/paramField" } - }, - "required": [ - "data", - "field" ], - "additionalProperties": false + "default": "sans-serif" }, - { - "type": "object", - "properties": { - "data": { + "fontStyle": { + "anyOf": [ + { "type": "string" }, - "fields": { - "type": "array", - "items": { - "$ref": "#/refs/stringOrSignal" - }, - "minItems": 1 + { + "$ref": "#/definitions/signalRef" }, - "sort": { - "oneOf": [ - { - "type": "boolean" - }, - { - "type": "object", - "properties": { - "op": { - "enum": [ - "count" - ] - }, - "order": { - "$ref": "#/refs/sortOrder" - } - }, - "additionalProperties": false - }, - { - "type": "object", - "properties": { - "field": { - "$ref": "#/refs/stringOrSignal" - }, - "op": { - "enum": [ - "count", - "min", - "max" - ] - }, - "order": { - "$ref": "#/refs/sortOrder" - } - }, - "required": [ - "field", - "op" - ], - "additionalProperties": false - } - ] + { + "$ref": "#/definitions/expr" + }, + { + "$ref": "#/definitions/paramField" } - }, - "required": [ - "data", - "fields" ], - "additionalProperties": false + "default": "normal" }, - { - "type": "object", - "properties": { - "fields": { + "fontWeight": { + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/definitions/signalRef" + }, + { + "$ref": "#/definitions/expr" + }, + { + "$ref": "#/definitions/paramField" + } + ], + "default": "normal" + }, + "fontSize": { + "anyOf": [ + { + "type": "number" + }, + { + "$ref": "#/definitions/signalRef" + }, + { + "$ref": "#/definitions/expr" + }, + { + "$ref": "#/definitions/paramField" + } + ], + "default": 14 + }, + "fontSizeRange": { + "oneOf": [ + { "type": "array", "items": { - "oneOf": [ - { - "type": "object", - "properties": { - "data": { - "type": "string" - }, - "field": { - "$ref": "#/refs/stringOrSignal" - } - }, - "required": [ - "data", - "field" - ], - "additionalProperties": false - }, + "anyOf": [ { - "type": "array", - "items": { - "oneOf": [ - { - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - } - ] - } + "type": "number" }, { - "$ref": "#/refs/signal" + "$ref": "#/definitions/signalRef" } ] - }, - "minItems": 1 + } }, - "sort": { - "oneOf": [ - { - "type": "boolean" - }, - { - "type": "object", - "properties": { - "op": { - "enum": [ - "count" - ] - }, - "order": { - "$ref": "#/refs/sortOrder" - } - }, - "additionalProperties": false - }, - { - "type": "object", - "properties": { - "field": { - "$ref": "#/refs/stringOrSignal" - }, - "op": { - "enum": [ - "count", - "min", - "max" - ] - }, - "order": { - "$ref": "#/refs/sortOrder" - } - }, - "required": [ - "field", - "op" - ], - "additionalProperties": false - } - ] + { + "$ref": "#/definitions/signalRef" + }, + { + "type": "null" } - }, - "required": [ - "fields" ], - "additionalProperties": false - } - ] - }, - "selector": { - "type": "string" - }, - "signal": { - "type": "object", - "properties": { - "signal": { - "type": "string" - } - }, - "required": [ - "signal" - ] - }, - "arrayOrSignal": { - "oneOf": [ - { - "type": "array" - }, - { - "$ref": "#/refs/signal" - } - ] - }, - "booleanOrSignal": { - "oneOf": [ - { - "type": "boolean" - }, - { - "$ref": "#/refs/signal" - } - ] - }, - "numberOrSignal": { - "oneOf": [ - { - "type": "number" + "default": [ + 10, + 50 + ] }, - { - "$ref": "#/refs/signal" - } - ] - }, - "stringOrSignal": { - "oneOf": [ - { - "type": "string" + "rotate": { + "anyOf": [ + { + "type": "number" + }, + { + "$ref": "#/definitions/signalRef" + }, + { + "$ref": "#/definitions/expr" + }, + { + "$ref": "#/definitions/paramField" + } + ] }, - { - "$ref": "#/refs/signal" - } - ] - }, - "textOrSignal": { - "oneOf": [ - { + "text": { "oneOf": [ + { + "$ref": "#/definitions/scaleField" + }, + { + "$ref": "#/definitions/paramField" + }, + { + "$ref": "#/definitions/expr" + } + ] + }, + "spiral": { + "anyOf": [ { "type": "string" }, + { + "$ref": "#/definitions/signalRef" + } + ] + }, + "padding": { + "anyOf": [ + { + "type": "number" + }, + { + "$ref": "#/definitions/signalRef" + }, + { + "$ref": "#/definitions/expr" + }, + { + "$ref": "#/definitions/paramField" + } + ] + }, + "as": { + "oneOf": [ { "type": "array", "items": { - "type": "string" - } + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/definitions/signalRef" + } + ] + }, + "maxItems": 7, + "minItems": 7 + }, + { + "$ref": "#/definitions/signalRef" } + ], + "default": [ + "x", + "y", + "font", + "fontSize", + "fontStyle", + "fontWeight", + "angle" ] - }, - { - "$ref": "#/refs/signal" } - ] + }, + "required": [ + "type" + ], + "additionalProperties": false } }, "type": "object", "allOf": [ { - "$ref": "#/defs/scope" + "$ref": "#/definitions/scope" }, { "properties": { @@ -15941,22 +16252,22 @@ "type": "string" }, "width": { - "$ref": "#/refs/numberOrSignal" + "$ref": "#/definitions/numberOrSignal" }, "height": { - "$ref": "#/refs/numberOrSignal" + "$ref": "#/definitions/numberOrSignal" }, "padding": { - "$ref": "#/defs/padding" + "$ref": "#/definitions/padding" }, "autosize": { - "$ref": "#/defs/autosize" + "$ref": "#/definitions/autosize" }, "background": { - "$ref": "#/defs/background" + "$ref": "#/definitions/background" }, "style": { - "$ref": "#/refs/style" + "$ref": "#/definitions/style" } } } diff --git a/altair/vegalite/v5/schema/__init__.py b/altair/vegalite/v5/schema/__init__.py index 424eec291..06c6c5deb 100644 --- a/altair/vegalite/v5/schema/__init__.py +++ b/altair/vegalite/v5/schema/__init__.py @@ -1,5 +1,5 @@ # flake8: noqa from .core import * from .channels import * -SCHEMA_VERSION = 'v5.2.0' -SCHEMA_URL = 'https://vega.github.io/schema/vega-lite/v5.2.0.json' +SCHEMA_VERSION = 'v5.5.0' +SCHEMA_URL = 'https://vega.github.io/schema/vega-lite/v5.5.0.json' diff --git a/altair/vegalite/v5/schema/channels.py b/altair/vegalite/v5/schema/channels.py index 602a492ba..e22cfcb4d 100644 --- a/altair/vegalite/v5/schema/channels.py +++ b/altair/vegalite/v5/schema/channels.py @@ -117,13 +117,13 @@ class Angle(FieldChannelMixin, core.FieldOrDatumDefWithConditionMarkPropFieldDef and at the middle of the band if set to ``0.5``. bin : anyOf(boolean, :class:`BinParams`, None) A flag for binning a ``quantitative`` field, `an object defining binning parameters - `__, or indicating that the - data for ``x`` or ``y`` channel are binned before they are imported into Vega-Lite ( - ``"binned"`` ). + `__, or indicating + that the data for ``x`` or ``y`` channel are binned before they are imported into + Vega-Lite ( ``"binned"`` ). If ``true``, default `binning parameters - `__ will be applied. + `__ will be applied. If ``"binned"``, this indicates that the data for the ``x`` (or ``y`` ) channel are already binned. You can map the bin-start field to ``x`` (or ``y`` ) and the bin-end @@ -502,13 +502,13 @@ class Color(FieldChannelMixin, core.FieldOrDatumDefWithConditionMarkPropFieldDef and at the middle of the band if set to ``0.5``. bin : anyOf(boolean, :class:`BinParams`, None) A flag for binning a ``quantitative`` field, `an object defining binning parameters - `__, or indicating that the - data for ``x`` or ``y`` channel are binned before they are imported into Vega-Lite ( - ``"binned"`` ). + `__, or indicating + that the data for ``x`` or ``y`` channel are binned before they are imported into + Vega-Lite ( ``"binned"`` ). If ``true``, default `binning parameters - `__ will be applied. + `__ will be applied. If ``"binned"``, this indicates that the data for the ``x`` (or ``y`` ) channel are already binned. You can map the bin-start field to ``x`` (or ``y`` ) and the bin-end @@ -900,13 +900,13 @@ class Column(FieldChannelMixin, core.RowColumnEncodingFieldDef): and at the middle of the band if set to ``0.5``. bin : anyOf(boolean, :class:`BinParams`, None) A flag for binning a ``quantitative`` field, `an object defining binning parameters - `__, or indicating that the - data for ``x`` or ``y`` channel are binned before they are imported into Vega-Lite ( - ``"binned"`` ). + `__, or indicating + that the data for ``x`` or ``y`` channel are binned before they are imported into + Vega-Lite ( ``"binned"`` ). If ``true``, default `binning parameters - `__ will be applied. + `__ will be applied. If ``"binned"``, this indicates that the data for the ``x`` (or ``y`` ) channel are already binned. You can map the bin-start field to ``x`` (or ``y`` ) and the bin-end @@ -1111,13 +1111,13 @@ class Description(FieldChannelMixin, core.StringFieldDefWithCondition): and at the middle of the band if set to ``0.5``. bin : anyOf(boolean, :class:`BinParams`, string, None) A flag for binning a ``quantitative`` field, `an object defining binning parameters - `__, or indicating that the - data for ``x`` or ``y`` channel are binned before they are imported into Vega-Lite ( - ``"binned"`` ). + `__, or indicating + that the data for ``x`` or ``y`` channel are binned before they are imported into + Vega-Lite ( ``"binned"`` ). If ``true``, default `binning parameters - `__ will be applied. + `__ will be applied. If ``"binned"``, this indicates that the data for the ``x`` (or ``y`` ) channel are already binned. You can map the bin-start field to ``x`` (or ``y`` ) and the bin-end @@ -1347,13 +1347,13 @@ class Detail(FieldChannelMixin, core.FieldDefWithoutScale): and at the middle of the band if set to ``0.5``. bin : anyOf(boolean, :class:`BinParams`, string, None) A flag for binning a ``quantitative`` field, `an object defining binning parameters - `__, or indicating that the - data for ``x`` or ``y`` channel are binned before they are imported into Vega-Lite ( - ``"binned"`` ). + `__, or indicating + that the data for ``x`` or ``y`` channel are binned before they are imported into + Vega-Lite ( ``"binned"`` ). If ``true``, default `binning parameters - `__ will be applied. + `__ will be applied. If ``"binned"``, this indicates that the data for the ``x`` (or ``y`` ) channel are already binned. You can map the bin-start field to ``x`` (or ``y`` ) and the bin-end @@ -1531,13 +1531,13 @@ class Facet(FieldChannelMixin, core.FacetEncodingFieldDef): and at the middle of the band if set to ``0.5``. bin : anyOf(boolean, :class:`BinParams`, None) A flag for binning a ``quantitative`` field, `an object defining binning parameters - `__, or indicating that the - data for ``x`` or ``y`` channel are binned before they are imported into Vega-Lite ( - ``"binned"`` ). + `__, or indicating + that the data for ``x`` or ``y`` channel are binned before they are imported into + Vega-Lite ( ``"binned"`` ). If ``true``, default `binning parameters - `__ will be applied. + `__ will be applied. If ``"binned"``, this indicates that the data for the ``x`` (or ``y`` ) channel are already binned. You can map the bin-start field to ``x`` (or ``y`` ) and the bin-end @@ -1777,13 +1777,13 @@ class Fill(FieldChannelMixin, core.FieldOrDatumDefWithConditionMarkPropFieldDefG and at the middle of the band if set to ``0.5``. bin : anyOf(boolean, :class:`BinParams`, None) A flag for binning a ``quantitative`` field, `an object defining binning parameters - `__, or indicating that the - data for ``x`` or ``y`` channel are binned before they are imported into Vega-Lite ( - ``"binned"`` ). + `__, or indicating + that the data for ``x`` or ``y`` channel are binned before they are imported into + Vega-Lite ( ``"binned"`` ). If ``true``, default `binning parameters - `__ will be applied. + `__ will be applied. If ``"binned"``, this indicates that the data for the ``x`` (or ``y`` ) channel are already binned. You can map the bin-start field to ``x`` (or ``y`` ) and the bin-end @@ -2163,13 +2163,13 @@ class FillOpacity(FieldChannelMixin, core.FieldOrDatumDefWithConditionMarkPropFi and at the middle of the band if set to ``0.5``. bin : anyOf(boolean, :class:`BinParams`, None) A flag for binning a ``quantitative`` field, `an object defining binning parameters - `__, or indicating that the - data for ``x`` or ``y`` channel are binned before they are imported into Vega-Lite ( - ``"binned"`` ). + `__, or indicating + that the data for ``x`` or ``y`` channel are binned before they are imported into + Vega-Lite ( ``"binned"`` ). If ``true``, default `binning parameters - `__ will be applied. + `__ will be applied. If ``"binned"``, this indicates that the data for the ``x`` (or ``y`` ) channel are already binned. You can map the bin-start field to ``x`` (or ``y`` ) and the bin-end @@ -2548,13 +2548,13 @@ class Href(FieldChannelMixin, core.StringFieldDefWithCondition): and at the middle of the band if set to ``0.5``. bin : anyOf(boolean, :class:`BinParams`, string, None) A flag for binning a ``quantitative`` field, `an object defining binning parameters - `__, or indicating that the - data for ``x`` or ``y`` channel are binned before they are imported into Vega-Lite ( - ``"binned"`` ). + `__, or indicating + that the data for ``x`` or ``y`` channel are binned before they are imported into + Vega-Lite ( ``"binned"`` ). If ``true``, default `binning parameters - `__ will be applied. + `__ will be applied. If ``"binned"``, this indicates that the data for the ``x`` (or ``y`` ) channel are already binned. You can map the bin-start field to ``x`` (or ``y`` ) and the bin-end @@ -2784,13 +2784,13 @@ class Key(FieldChannelMixin, core.FieldDefWithoutScale): and at the middle of the band if set to ``0.5``. bin : anyOf(boolean, :class:`BinParams`, string, None) A flag for binning a ``quantitative`` field, `an object defining binning parameters - `__, or indicating that the - data for ``x`` or ``y`` channel are binned before they are imported into Vega-Lite ( - ``"binned"`` ). + `__, or indicating + that the data for ``x`` or ``y`` channel are binned before they are imported into + Vega-Lite ( ``"binned"`` ). If ``true``, default `binning parameters - `__ will be applied. + `__ will be applied. If ``"binned"``, this indicates that the data for the ``x`` (or ``y`` ) channel are already binned. You can map the bin-start field to ``x`` (or ``y`` ) and the bin-end @@ -2951,13 +2951,13 @@ class Latitude(FieldChannelMixin, core.LatLongFieldDef): and at the middle of the band if set to ``0.5``. bin : None A flag for binning a ``quantitative`` field, `an object defining binning parameters - `__, or indicating that the - data for ``x`` or ``y`` channel are binned before they are imported into Vega-Lite ( - ``"binned"`` ). + `__, or indicating + that the data for ``x`` or ``y`` channel are binned before they are imported into + Vega-Lite ( ``"binned"`` ). If ``true``, default `binning parameters - `__ will be applied. + `__ will be applied. If ``"binned"``, this indicates that the data for the ``x`` (or ``y`` ) channel are already binned. You can map the bin-start field to ``x`` (or ``y`` ) and the bin-end @@ -3232,13 +3232,13 @@ class Latitude2(FieldChannelMixin, core.SecondaryFieldDef): and at the middle of the band if set to ``0.5``. bin : None A flag for binning a ``quantitative`` field, `an object defining binning parameters - `__, or indicating that the - data for ``x`` or ``y`` channel are binned before they are imported into Vega-Lite ( - ``"binned"`` ). + `__, or indicating + that the data for ``x`` or ``y`` channel are binned before they are imported into + Vega-Lite ( ``"binned"`` ). If ``true``, default `binning parameters - `__ will be applied. + `__ will be applied. If ``"binned"``, this indicates that the data for the ``x`` (or ``y`` ) channel are already binned. You can map the bin-start field to ``x`` (or ``y`` ) and the bin-end @@ -3464,13 +3464,13 @@ class Longitude(FieldChannelMixin, core.LatLongFieldDef): and at the middle of the band if set to ``0.5``. bin : None A flag for binning a ``quantitative`` field, `an object defining binning parameters - `__, or indicating that the - data for ``x`` or ``y`` channel are binned before they are imported into Vega-Lite ( - ``"binned"`` ). + `__, or indicating + that the data for ``x`` or ``y`` channel are binned before they are imported into + Vega-Lite ( ``"binned"`` ). If ``true``, default `binning parameters - `__ will be applied. + `__ will be applied. If ``"binned"``, this indicates that the data for the ``x`` (or ``y`` ) channel are already binned. You can map the bin-start field to ``x`` (or ``y`` ) and the bin-end @@ -3745,13 +3745,13 @@ class Longitude2(FieldChannelMixin, core.SecondaryFieldDef): and at the middle of the band if set to ``0.5``. bin : None A flag for binning a ``quantitative`` field, `an object defining binning parameters - `__, or indicating that the - data for ``x`` or ``y`` channel are binned before they are imported into Vega-Lite ( - ``"binned"`` ). + `__, or indicating + that the data for ``x`` or ``y`` channel are binned before they are imported into + Vega-Lite ( ``"binned"`` ). If ``true``, default `binning parameters - `__ will be applied. + `__ will be applied. If ``"binned"``, this indicates that the data for the ``x`` (or ``y`` ) channel are already binned. You can map the bin-start field to ``x`` (or ``y`` ) and the bin-end @@ -3979,13 +3979,13 @@ class Opacity(FieldChannelMixin, core.FieldOrDatumDefWithConditionMarkPropFieldD and at the middle of the band if set to ``0.5``. bin : anyOf(boolean, :class:`BinParams`, None) A flag for binning a ``quantitative`` field, `an object defining binning parameters - `__, or indicating that the - data for ``x`` or ``y`` channel are binned before they are imported into Vega-Lite ( - ``"binned"`` ). + `__, or indicating + that the data for ``x`` or ``y`` channel are binned before they are imported into + Vega-Lite ( ``"binned"`` ). If ``true``, default `binning parameters - `__ will be applied. + `__ will be applied. If ``"binned"``, this indicates that the data for the ``x`` (or ``y`` ) channel are already binned. You can map the bin-start field to ``x`` (or ``y`` ) and the bin-end @@ -4362,13 +4362,13 @@ class Order(FieldChannelMixin, core.OrderFieldDef): and at the middle of the band if set to ``0.5``. bin : anyOf(boolean, :class:`BinParams`, string, None) A flag for binning a ``quantitative`` field, `an object defining binning parameters - `__, or indicating that the - data for ``x`` or ``y`` channel are binned before they are imported into Vega-Lite ( - ``"binned"`` ). + `__, or indicating + that the data for ``x`` or ``y`` channel are binned before they are imported into + Vega-Lite ( ``"binned"`` ). If ``true``, default `binning parameters - `__ will be applied. + `__ will be applied. If ``"binned"``, this indicates that the data for the ``x`` (or ``y`` ) channel are already binned. You can map the bin-start field to ``x`` (or ``y`` ) and the bin-end @@ -4560,13 +4560,13 @@ class Radius(FieldChannelMixin, core.PositionFieldDefBase): and at the middle of the band if set to ``0.5``. bin : anyOf(boolean, :class:`BinParams`, string, None) A flag for binning a ``quantitative`` field, `an object defining binning parameters - `__, or indicating that the - data for ``x`` or ``y`` channel are binned before they are imported into Vega-Lite ( - ``"binned"`` ). + `__, or indicating + that the data for ``x`` or ``y`` channel are binned before they are imported into + Vega-Lite ( ``"binned"`` ). If ``true``, default `binning parameters - `__ will be applied. + `__ will be applied. If ``"binned"``, this indicates that the data for the ``x`` (or ``y`` ) channel are already binned. You can map the bin-start field to ``x`` (or ``y`` ) and the bin-end @@ -4660,8 +4660,9 @@ class Radius(FieldChannelMixin, core.PositionFieldDefBase): `__ chart). * ``"normalize"`` - stacking with normalized domain (for creating `normalized stacked bar and area charts - `__. - :raw-html:`
` + `__ and pie charts + `with percentage tooltip + `__ ). :raw-html:`
` - ``"center"`` - stacking with center baseline (for `streamgraph `__ ). * ``null`` or ``false`` - No-stacking. This will produce layered `bar @@ -4829,8 +4830,9 @@ class RadiusDatum(DatumChannelMixin, core.PositionDatumDefBase): `__ chart). * ``"normalize"`` - stacking with normalized domain (for creating `normalized stacked bar and area charts - `__. - :raw-html:`
` + `__ and pie charts + `with percentage tooltip + `__ ). :raw-html:`
` - ``"center"`` - stacking with center baseline (for `streamgraph `__ ). * ``null`` or ``false`` - No-stacking. This will produce layered `bar @@ -4990,13 +4992,13 @@ class Radius2(FieldChannelMixin, core.SecondaryFieldDef): and at the middle of the band if set to ``0.5``. bin : None A flag for binning a ``quantitative`` field, `an object defining binning parameters - `__, or indicating that the - data for ``x`` or ``y`` channel are binned before they are imported into Vega-Lite ( - ``"binned"`` ). + `__, or indicating + that the data for ``x`` or ``y`` channel are binned before they are imported into + Vega-Lite ( ``"binned"`` ). If ``true``, default `binning parameters - `__ will be applied. + `__ will be applied. If ``"binned"``, this indicates that the data for the ``x`` (or ``y`` ) channel are already binned. You can map the bin-start field to ``x`` (or ``y`` ) and the bin-end @@ -5236,13 +5238,13 @@ class Row(FieldChannelMixin, core.RowColumnEncodingFieldDef): and at the middle of the band if set to ``0.5``. bin : anyOf(boolean, :class:`BinParams`, None) A flag for binning a ``quantitative`` field, `an object defining binning parameters - `__, or indicating that the - data for ``x`` or ``y`` channel are binned before they are imported into Vega-Lite ( - ``"binned"`` ). + `__, or indicating + that the data for ``x`` or ``y`` channel are binned before they are imported into + Vega-Lite ( ``"binned"`` ). If ``true``, default `binning parameters - `__ will be applied. + `__ will be applied. If ``"binned"``, this indicates that the data for the ``x`` (or ``y`` ) channel are already binned. You can map the bin-start field to ``x`` (or ``y`` ) and the bin-end @@ -5447,13 +5449,13 @@ class Shape(FieldChannelMixin, core.FieldOrDatumDefWithConditionMarkPropFieldDef and at the middle of the band if set to ``0.5``. bin : anyOf(boolean, :class:`BinParams`, None) A flag for binning a ``quantitative`` field, `an object defining binning parameters - `__, or indicating that the - data for ``x`` or ``y`` channel are binned before they are imported into Vega-Lite ( - ``"binned"`` ). + `__, or indicating + that the data for ``x`` or ``y`` channel are binned before they are imported into + Vega-Lite ( ``"binned"`` ). If ``true``, default `binning parameters - `__ will be applied. + `__ will be applied. If ``"binned"``, this indicates that the data for the ``x`` (or ``y`` ) channel are already binned. You can map the bin-start field to ``x`` (or ``y`` ) and the bin-end @@ -5833,13 +5835,13 @@ class Size(FieldChannelMixin, core.FieldOrDatumDefWithConditionMarkPropFieldDefn and at the middle of the band if set to ``0.5``. bin : anyOf(boolean, :class:`BinParams`, None) A flag for binning a ``quantitative`` field, `an object defining binning parameters - `__, or indicating that the - data for ``x`` or ``y`` channel are binned before they are imported into Vega-Lite ( - ``"binned"`` ). + `__, or indicating + that the data for ``x`` or ``y`` channel are binned before they are imported into + Vega-Lite ( ``"binned"`` ). If ``true``, default `binning parameters - `__ will be applied. + `__ will be applied. If ``"binned"``, this indicates that the data for the ``x`` (or ``y`` ) channel are already binned. You can map the bin-start field to ``x`` (or ``y`` ) and the bin-end @@ -6218,13 +6220,13 @@ class Stroke(FieldChannelMixin, core.FieldOrDatumDefWithConditionMarkPropFieldDe and at the middle of the band if set to ``0.5``. bin : anyOf(boolean, :class:`BinParams`, None) A flag for binning a ``quantitative`` field, `an object defining binning parameters - `__, or indicating that the - data for ``x`` or ``y`` channel are binned before they are imported into Vega-Lite ( - ``"binned"`` ). + `__, or indicating + that the data for ``x`` or ``y`` channel are binned before they are imported into + Vega-Lite ( ``"binned"`` ). If ``true``, default `binning parameters - `__ will be applied. + `__ will be applied. If ``"binned"``, this indicates that the data for the ``x`` (or ``y`` ) channel are already binned. You can map the bin-start field to ``x`` (or ``y`` ) and the bin-end @@ -6604,13 +6606,13 @@ class StrokeDash(FieldChannelMixin, core.FieldOrDatumDefWithConditionMarkPropFie and at the middle of the band if set to ``0.5``. bin : anyOf(boolean, :class:`BinParams`, None) A flag for binning a ``quantitative`` field, `an object defining binning parameters - `__, or indicating that the - data for ``x`` or ``y`` channel are binned before they are imported into Vega-Lite ( - ``"binned"`` ). + `__, or indicating + that the data for ``x`` or ``y`` channel are binned before they are imported into + Vega-Lite ( ``"binned"`` ). If ``true``, default `binning parameters - `__ will be applied. + `__ will be applied. If ``"binned"``, this indicates that the data for the ``x`` (or ``y`` ) channel are already binned. You can map the bin-start field to ``x`` (or ``y`` ) and the bin-end @@ -6990,13 +6992,13 @@ class StrokeOpacity(FieldChannelMixin, core.FieldOrDatumDefWithConditionMarkProp and at the middle of the band if set to ``0.5``. bin : anyOf(boolean, :class:`BinParams`, None) A flag for binning a ``quantitative`` field, `an object defining binning parameters - `__, or indicating that the - data for ``x`` or ``y`` channel are binned before they are imported into Vega-Lite ( - ``"binned"`` ). + `__, or indicating + that the data for ``x`` or ``y`` channel are binned before they are imported into + Vega-Lite ( ``"binned"`` ). If ``true``, default `binning parameters - `__ will be applied. + `__ will be applied. If ``"binned"``, this indicates that the data for the ``x`` (or ``y`` ) channel are already binned. You can map the bin-start field to ``x`` (or ``y`` ) and the bin-end @@ -7375,13 +7377,13 @@ class StrokeWidth(FieldChannelMixin, core.FieldOrDatumDefWithConditionMarkPropFi and at the middle of the band if set to ``0.5``. bin : anyOf(boolean, :class:`BinParams`, None) A flag for binning a ``quantitative`` field, `an object defining binning parameters - `__, or indicating that the - data for ``x`` or ``y`` channel are binned before they are imported into Vega-Lite ( - ``"binned"`` ). + `__, or indicating + that the data for ``x`` or ``y`` channel are binned before they are imported into + Vega-Lite ( ``"binned"`` ). If ``true``, default `binning parameters - `__ will be applied. + `__ will be applied. If ``"binned"``, this indicates that the data for the ``x`` (or ``y`` ) channel are already binned. You can map the bin-start field to ``x`` (or ``y`` ) and the bin-end @@ -7760,13 +7762,13 @@ class Text(FieldChannelMixin, core.FieldOrDatumDefWithConditionStringFieldDefTex and at the middle of the band if set to ``0.5``. bin : anyOf(boolean, :class:`BinParams`, string, None) A flag for binning a ``quantitative`` field, `an object defining binning parameters - `__, or indicating that the - data for ``x`` or ``y`` channel are binned before they are imported into Vega-Lite ( - ``"binned"`` ). + `__, or indicating + that the data for ``x`` or ``y`` channel are binned before they are imported into + Vega-Lite ( ``"binned"`` ). If ``true``, default `binning parameters - `__ will be applied. + `__ will be applied. If ``"binned"``, this indicates that the data for the ``x`` (or ``y`` ) channel are already binned. You can map the bin-start field to ``x`` (or ``y`` ) and the bin-end @@ -8152,13 +8154,13 @@ class Theta(FieldChannelMixin, core.PositionFieldDefBase): and at the middle of the band if set to ``0.5``. bin : anyOf(boolean, :class:`BinParams`, string, None) A flag for binning a ``quantitative`` field, `an object defining binning parameters - `__, or indicating that the - data for ``x`` or ``y`` channel are binned before they are imported into Vega-Lite ( - ``"binned"`` ). + `__, or indicating + that the data for ``x`` or ``y`` channel are binned before they are imported into + Vega-Lite ( ``"binned"`` ). If ``true``, default `binning parameters - `__ will be applied. + `__ will be applied. If ``"binned"``, this indicates that the data for the ``x`` (or ``y`` ) channel are already binned. You can map the bin-start field to ``x`` (or ``y`` ) and the bin-end @@ -8252,8 +8254,9 @@ class Theta(FieldChannelMixin, core.PositionFieldDefBase): `__ chart). * ``"normalize"`` - stacking with normalized domain (for creating `normalized stacked bar and area charts - `__. - :raw-html:`
` + `__ and pie charts + `with percentage tooltip + `__ ). :raw-html:`
` - ``"center"`` - stacking with center baseline (for `streamgraph `__ ). * ``null`` or ``false`` - No-stacking. This will produce layered `bar @@ -8420,8 +8423,9 @@ class ThetaDatum(DatumChannelMixin, core.PositionDatumDefBase): `__ chart). * ``"normalize"`` - stacking with normalized domain (for creating `normalized stacked bar and area charts - `__. - :raw-html:`
` + `__ and pie charts + `with percentage tooltip + `__ ). :raw-html:`
` - ``"center"`` - stacking with center baseline (for `streamgraph `__ ). * ``null`` or ``false`` - No-stacking. This will produce layered `bar @@ -8581,13 +8585,13 @@ class Theta2(FieldChannelMixin, core.SecondaryFieldDef): and at the middle of the band if set to ``0.5``. bin : None A flag for binning a ``quantitative`` field, `an object defining binning parameters - `__, or indicating that the - data for ``x`` or ``y`` channel are binned before they are imported into Vega-Lite ( - ``"binned"`` ). + `__, or indicating + that the data for ``x`` or ``y`` channel are binned before they are imported into + Vega-Lite ( ``"binned"`` ). If ``true``, default `binning parameters - `__ will be applied. + `__ will be applied. If ``"binned"``, this indicates that the data for the ``x`` (or ``y`` ) channel are already binned. You can map the bin-start field to ``x`` (or ``y`` ) and the bin-end @@ -8815,13 +8819,13 @@ class Tooltip(FieldChannelMixin, core.StringFieldDefWithCondition): and at the middle of the band if set to ``0.5``. bin : anyOf(boolean, :class:`BinParams`, string, None) A flag for binning a ``quantitative`` field, `an object defining binning parameters - `__, or indicating that the - data for ``x`` or ``y`` channel are binned before they are imported into Vega-Lite ( - ``"binned"`` ). + `__, or indicating + that the data for ``x`` or ``y`` channel are binned before they are imported into + Vega-Lite ( ``"binned"`` ). If ``true``, default `binning parameters - `__ will be applied. + `__ will be applied. If ``"binned"``, this indicates that the data for the ``x`` (or ``y`` ) channel are already binned. You can map the bin-start field to ``x`` (or ``y`` ) and the bin-end @@ -9052,13 +9056,13 @@ class Url(FieldChannelMixin, core.StringFieldDefWithCondition): and at the middle of the band if set to ``0.5``. bin : anyOf(boolean, :class:`BinParams`, string, None) A flag for binning a ``quantitative`` field, `an object defining binning parameters - `__, or indicating that the - data for ``x`` or ``y`` channel are binned before they are imported into Vega-Lite ( - ``"binned"`` ). + `__, or indicating + that the data for ``x`` or ``y`` channel are binned before they are imported into + Vega-Lite ( ``"binned"`` ). If ``true``, default `binning parameters - `__ will be applied. + `__ will be applied. If ``"binned"``, this indicates that the data for the ``x`` (or ``y`` ) channel are already binned. You can map the bin-start field to ``x`` (or ``y`` ) and the bin-end @@ -9296,13 +9300,13 @@ class X(FieldChannelMixin, core.PositionFieldDef): and at the middle of the band if set to ``0.5``. bin : anyOf(boolean, :class:`BinParams`, string, None) A flag for binning a ``quantitative`` field, `an object defining binning parameters - `__, or indicating that the - data for ``x`` or ``y`` channel are binned before they are imported into Vega-Lite ( - ``"binned"`` ). + `__, or indicating + that the data for ``x`` or ``y`` channel are binned before they are imported into + Vega-Lite ( ``"binned"`` ). If ``true``, default `binning parameters - `__ will be applied. + `__ will be applied. If ``"binned"``, this indicates that the data for the ``x`` (or ``y`` ) channel are already binned. You can map the bin-start field to ``x`` (or ``y`` ) and the bin-end @@ -9404,8 +9408,9 @@ class X(FieldChannelMixin, core.PositionFieldDef): `__ chart). * ``"normalize"`` - stacking with normalized domain (for creating `normalized stacked bar and area charts - `__. - :raw-html:`
` + `__ and pie charts + `with percentage tooltip + `__ ). :raw-html:`
` - ``"center"`` - stacking with center baseline (for `streamgraph `__ ). * ``null`` or ``false`` - No-stacking. This will produce layered `bar @@ -9590,8 +9595,9 @@ class XDatum(DatumChannelMixin, core.PositionDatumDef): `__ chart). * ``"normalize"`` - stacking with normalized domain (for creating `normalized stacked bar and area charts - `__. - :raw-html:`
` + `__ and pie charts + `with percentage tooltip + `__ ). :raw-html:`
` - ``"center"`` - stacking with center baseline (for `streamgraph `__ ). * ``null`` or ``false`` - No-stacking. This will produce layered `bar @@ -9751,13 +9757,13 @@ class X2(FieldChannelMixin, core.SecondaryFieldDef): and at the middle of the band if set to ``0.5``. bin : None A flag for binning a ``quantitative`` field, `an object defining binning parameters - `__, or indicating that the - data for ``x`` or ``y`` channel are binned before they are imported into Vega-Lite ( - ``"binned"`` ). + `__, or indicating + that the data for ``x`` or ``y`` channel are binned before they are imported into + Vega-Lite ( ``"binned"`` ). If ``true``, default `binning parameters - `__ will be applied. + `__ will be applied. If ``"binned"``, this indicates that the data for the ``x`` (or ``y`` ) channel are already binned. You can map the bin-start field to ``x`` (or ``y`` ) and the bin-end @@ -9984,13 +9990,13 @@ class XError(FieldChannelMixin, core.SecondaryFieldDef): and at the middle of the band if set to ``0.5``. bin : None A flag for binning a ``quantitative`` field, `an object defining binning parameters - `__, or indicating that the - data for ``x`` or ``y`` channel are binned before they are imported into Vega-Lite ( - ``"binned"`` ). + `__, or indicating + that the data for ``x`` or ``y`` channel are binned before they are imported into + Vega-Lite ( ``"binned"`` ). If ``true``, default `binning parameters - `__ will be applied. + `__ will be applied. If ``"binned"``, this indicates that the data for the ``x`` (or ``y`` ) channel are already binned. You can map the bin-start field to ``x`` (or ``y`` ) and the bin-end @@ -10106,13 +10112,13 @@ class XError2(FieldChannelMixin, core.SecondaryFieldDef): and at the middle of the band if set to ``0.5``. bin : None A flag for binning a ``quantitative`` field, `an object defining binning parameters - `__, or indicating that the - data for ``x`` or ``y`` channel are binned before they are imported into Vega-Lite ( - ``"binned"`` ). + `__, or indicating + that the data for ``x`` or ``y`` channel are binned before they are imported into + Vega-Lite ( ``"binned"`` ). If ``true``, default `binning parameters - `__ will be applied. + `__ will be applied. If ``"binned"``, this indicates that the data for the ``x`` (or ``y`` ) channel are already binned. You can map the bin-start field to ``x`` (or ``y`` ) and the bin-end @@ -10226,13 +10232,13 @@ class XOffset(FieldChannelMixin, core.ScaleFieldDef): and at the middle of the band if set to ``0.5``. bin : anyOf(boolean, :class:`BinParams`, None) A flag for binning a ``quantitative`` field, `an object defining binning parameters - `__, or indicating that the - data for ``x`` or ``y`` channel are binned before they are imported into Vega-Lite ( - ``"binned"`` ). + `__, or indicating + that the data for ``x`` or ``y`` channel are binned before they are imported into + Vega-Lite ( ``"binned"`` ). If ``true``, default `binning parameters - `__ will be applied. + `__ will be applied. If ``"binned"``, this indicates that the data for the ``x`` (or ``y`` ) channel are already binned. You can map the bin-start field to ``x`` (or ``y`` ) and the bin-end @@ -10602,13 +10608,13 @@ class Y(FieldChannelMixin, core.PositionFieldDef): and at the middle of the band if set to ``0.5``. bin : anyOf(boolean, :class:`BinParams`, string, None) A flag for binning a ``quantitative`` field, `an object defining binning parameters - `__, or indicating that the - data for ``x`` or ``y`` channel are binned before they are imported into Vega-Lite ( - ``"binned"`` ). + `__, or indicating + that the data for ``x`` or ``y`` channel are binned before they are imported into + Vega-Lite ( ``"binned"`` ). If ``true``, default `binning parameters - `__ will be applied. + `__ will be applied. If ``"binned"``, this indicates that the data for the ``x`` (or ``y`` ) channel are already binned. You can map the bin-start field to ``x`` (or ``y`` ) and the bin-end @@ -10710,8 +10716,9 @@ class Y(FieldChannelMixin, core.PositionFieldDef): `__ chart). * ``"normalize"`` - stacking with normalized domain (for creating `normalized stacked bar and area charts - `__. - :raw-html:`
` + `__ and pie charts + `with percentage tooltip + `__ ). :raw-html:`
` - ``"center"`` - stacking with center baseline (for `streamgraph `__ ). * ``null`` or ``false`` - No-stacking. This will produce layered `bar @@ -10896,8 +10903,9 @@ class YDatum(DatumChannelMixin, core.PositionDatumDef): `__ chart). * ``"normalize"`` - stacking with normalized domain (for creating `normalized stacked bar and area charts - `__. - :raw-html:`
` + `__ and pie charts + `with percentage tooltip + `__ ). :raw-html:`
` - ``"center"`` - stacking with center baseline (for `streamgraph `__ ). * ``null`` or ``false`` - No-stacking. This will produce layered `bar @@ -11057,13 +11065,13 @@ class Y2(FieldChannelMixin, core.SecondaryFieldDef): and at the middle of the band if set to ``0.5``. bin : None A flag for binning a ``quantitative`` field, `an object defining binning parameters - `__, or indicating that the - data for ``x`` or ``y`` channel are binned before they are imported into Vega-Lite ( - ``"binned"`` ). + `__, or indicating + that the data for ``x`` or ``y`` channel are binned before they are imported into + Vega-Lite ( ``"binned"`` ). If ``true``, default `binning parameters - `__ will be applied. + `__ will be applied. If ``"binned"``, this indicates that the data for the ``x`` (or ``y`` ) channel are already binned. You can map the bin-start field to ``x`` (or ``y`` ) and the bin-end @@ -11290,13 +11298,13 @@ class YError(FieldChannelMixin, core.SecondaryFieldDef): and at the middle of the band if set to ``0.5``. bin : None A flag for binning a ``quantitative`` field, `an object defining binning parameters - `__, or indicating that the - data for ``x`` or ``y`` channel are binned before they are imported into Vega-Lite ( - ``"binned"`` ). + `__, or indicating + that the data for ``x`` or ``y`` channel are binned before they are imported into + Vega-Lite ( ``"binned"`` ). If ``true``, default `binning parameters - `__ will be applied. + `__ will be applied. If ``"binned"``, this indicates that the data for the ``x`` (or ``y`` ) channel are already binned. You can map the bin-start field to ``x`` (or ``y`` ) and the bin-end @@ -11412,13 +11420,13 @@ class YError2(FieldChannelMixin, core.SecondaryFieldDef): and at the middle of the band if set to ``0.5``. bin : None A flag for binning a ``quantitative`` field, `an object defining binning parameters - `__, or indicating that the - data for ``x`` or ``y`` channel are binned before they are imported into Vega-Lite ( - ``"binned"`` ). + `__, or indicating + that the data for ``x`` or ``y`` channel are binned before they are imported into + Vega-Lite ( ``"binned"`` ). If ``true``, default `binning parameters - `__ will be applied. + `__ will be applied. If ``"binned"``, this indicates that the data for the ``x`` (or ``y`` ) channel are already binned. You can map the bin-start field to ``x`` (or ``y`` ) and the bin-end @@ -11532,13 +11540,13 @@ class YOffset(FieldChannelMixin, core.ScaleFieldDef): and at the middle of the band if set to ``0.5``. bin : anyOf(boolean, :class:`BinParams`, None) A flag for binning a ``quantitative`` field, `an object defining binning parameters - `__, or indicating that the - data for ``x`` or ``y`` channel are binned before they are imported into Vega-Lite ( - ``"binned"`` ). + `__, or indicating + that the data for ``x`` or ``y`` channel are binned before they are imported into + Vega-Lite ( ``"binned"`` ). If ``true``, default `binning parameters - `__ will be applied. + `__ will be applied. If ``"binned"``, this indicates that the data for the ``x`` (or ``y`` ) channel are already binned. You can map the bin-start field to ``x`` (or ``y`` ) and the bin-end diff --git a/altair/vegalite/v5/schema/core.py b/altair/vegalite/v5/schema/core.py index a63d8cda4..23152c4bd 100644 --- a/altair/vegalite/v5/schema/core.py +++ b/altair/vegalite/v5/schema/core.py @@ -2636,13 +2636,13 @@ class ConditionalParameterStringFieldDef(ConditionalStringFieldDef): and at the middle of the band if set to ``0.5``. bin : anyOf(boolean, :class:`BinParams`, string, None) A flag for binning a ``quantitative`` field, `an object defining binning parameters - `__, or indicating that the - data for ``x`` or ``y`` channel are binned before they are imported into Vega-Lite ( - ``"binned"`` ). + `__, or indicating + that the data for ``x`` or ``y`` channel are binned before they are imported into + Vega-Lite ( ``"binned"`` ). If ``true``, default `binning parameters - `__ will be applied. + `__ will be applied. If ``"binned"``, this indicates that the data for the ``x`` (or ``y`` ) channel are already binned. You can map the bin-start field to ``x`` (or ``y`` ) and the bin-end @@ -2843,13 +2843,13 @@ class ConditionalPredicateStringFieldDef(ConditionalStringFieldDef): and at the middle of the band if set to ``0.5``. bin : anyOf(boolean, :class:`BinParams`, string, None) A flag for binning a ``quantitative`` field, `an object defining binning parameters - `__, or indicating that the - data for ``x`` or ``y`` channel are binned before they are imported into Vega-Lite ( - ``"binned"`` ). + `__, or indicating + that the data for ``x`` or ``y`` channel are binned before they are imported into + Vega-Lite ( ``"binned"`` ). If ``true``, default `binning parameters - `__ will be applied. + `__ will be applied. If ``"binned"``, this indicates that the data for the ``x`` (or ``y`` ) channel are already binned. You can map the bin-start field to ``x`` (or ``y`` ) and the bin-end @@ -3597,9 +3597,43 @@ class Config(VegaLiteSchema): option. mark : :class:`MarkConfig` Mark Config + normalizedNumberFormat : string + If normalizedNumberFormatType is not specified, D3 number format for axis labels, + text marks, and tooltips of normalized stacked fields (fields with ``stack: + "normalize"`` ). For example ``"s"`` for SI units. Use `D3's number format pattern + `__. + + If ``config.normalizedNumberFormatType`` is specified and + ``config.customFormatTypes`` is ``true``, this value will be passed as ``format`` + alongside ``datum.value`` to the ``config.numberFormatType`` function. **Default + value:** ``%`` + normalizedNumberFormatType : string + `Custom format type + `__ for + ``config.normalizedNumberFormat``. + + **Default value:** ``undefined`` -- This is equilvalent to call D3-format, which is + exposed as `format in Vega-Expression + `__. **Note:** You must also + set ``customFormatTypes`` to ``true`` to use this feature. numberFormat : string - D3 Number format for guide labels and text marks. For example ``"s"`` for SI units. - Use `D3's number format pattern `__. + If numberFormatType is not specified, D3 number format for guide labels, text marks, + and tooltips of non-normalized fields (fields *without* ``stack: "normalize"`` ). + For example ``"s"`` for SI units. Use `D3's number format pattern + `__. + + If ``config.numberFormatType`` is specified and ``config.customFormatTypes`` is + ``true``, this value will be passed as ``format`` alongside ``datum.value`` to the + ``config.numberFormatType`` function. + numberFormatType : string + `Custom format type + `__ for + ``config.numberFormat``. + + **Default value:** ``undefined`` -- This is equilvalent to call D3-format, which is + exposed as `format in Vega-Expression + `__. **Note:** You must also + set ``customFormatTypes`` to ``true`` to use this feature. padding : anyOf(:class:`Padding`, :class:`ExprRef`) The default visualization padding, in pixels, from the edge of the visualization canvas to the data rectangle. If a number, specifies padding for all sides. If an @@ -3607,7 +3641,7 @@ class Config(VegaLiteSchema): "bottom": 5}`` to specify padding for each side of the visualization. **Default value** : ``5`` - params : List(anyOf(:class:`VariableParameter`, :class:`TopLevelSelectionParameter`)) + params : List(:class:`TopLevelParameter`) Dynamic variables or selections that parameterize a visualization. point : :class:`MarkConfig` Point-Specific Config @@ -3651,6 +3685,16 @@ class Config(VegaLiteSchema): **Default value:** ``"%b %d, %Y"`` **Note:** Axes automatically determine the format for each label automatically so this config does not affect axes. + timeFormatType : string + `Custom format type + `__ for + ``config.timeFormat``. + + **Default value:** ``undefined`` -- This is equilvalent to call D3-time-format, + which is exposed as `timeFormat in Vega-Expression + `__. **Note:** You must + also set ``customFormatTypes`` to ``true`` and there must *not* be a ``timeUnit`` + defined to use this feature. title : :class:`TitleConfig` Title configuration, which determines default properties for all `titles `__. For a full list of title @@ -3677,11 +3721,13 @@ def __init__(self, arc=Undefined, area=Undefined, aria=Undefined, autosize=Undef errorbar=Undefined, facet=Undefined, fieldTitle=Undefined, font=Undefined, geoshape=Undefined, header=Undefined, headerColumn=Undefined, headerFacet=Undefined, headerRow=Undefined, image=Undefined, legend=Undefined, line=Undefined, - lineBreak=Undefined, locale=Undefined, mark=Undefined, numberFormat=Undefined, - padding=Undefined, params=Undefined, point=Undefined, projection=Undefined, - range=Undefined, rect=Undefined, rule=Undefined, scale=Undefined, selection=Undefined, - square=Undefined, style=Undefined, text=Undefined, tick=Undefined, - timeFormat=Undefined, title=Undefined, trail=Undefined, view=Undefined, **kwds): + lineBreak=Undefined, locale=Undefined, mark=Undefined, + normalizedNumberFormat=Undefined, normalizedNumberFormatType=Undefined, + numberFormat=Undefined, numberFormatType=Undefined, padding=Undefined, + params=Undefined, point=Undefined, projection=Undefined, range=Undefined, + rect=Undefined, rule=Undefined, scale=Undefined, selection=Undefined, square=Undefined, + style=Undefined, text=Undefined, tick=Undefined, timeFormat=Undefined, + timeFormatType=Undefined, title=Undefined, trail=Undefined, view=Undefined, **kwds): super(Config, self).__init__(arc=arc, area=area, aria=aria, autosize=autosize, axis=axis, axisBand=axisBand, axisBottom=axisBottom, axisDiscrete=axisDiscrete, axisLeft=axisLeft, axisPoint=axisPoint, @@ -3699,11 +3745,14 @@ def __init__(self, arc=Undefined, area=Undefined, aria=Undefined, autosize=Undef geoshape=geoshape, header=header, headerColumn=headerColumn, headerFacet=headerFacet, headerRow=headerRow, image=image, legend=legend, line=line, lineBreak=lineBreak, locale=locale, - mark=mark, numberFormat=numberFormat, padding=padding, - params=params, point=point, projection=projection, range=range, - rect=rect, rule=rule, scale=scale, selection=selection, - square=square, style=style, text=text, tick=tick, - timeFormat=timeFormat, title=title, trail=trail, view=view, **kwds) + mark=mark, normalizedNumberFormat=normalizedNumberFormat, + normalizedNumberFormatType=normalizedNumberFormatType, + numberFormat=numberFormat, numberFormatType=numberFormatType, + padding=padding, params=params, point=point, projection=projection, + range=range, rect=rect, rule=rule, scale=scale, + selection=selection, square=square, style=style, text=text, + tick=tick, timeFormat=timeFormat, timeFormatType=timeFormatType, + title=title, trail=trail, view=view, **kwds) class Cursor(VegaLiteSchema): @@ -4535,13 +4584,13 @@ class FacetEncodingFieldDef(VegaLiteSchema): and at the middle of the band if set to ``0.5``. bin : anyOf(boolean, :class:`BinParams`, None) A flag for binning a ``quantitative`` field, `an object defining binning parameters - `__, or indicating that the - data for ``x`` or ``y`` channel are binned before they are imported into Vega-Lite ( - ``"binned"`` ). + `__, or indicating + that the data for ``x`` or ``y`` channel are binned before they are imported into + Vega-Lite ( ``"binned"`` ). If ``true``, default `binning parameters - `__ will be applied. + `__ will be applied. If ``"binned"``, this indicates that the data for the ``x`` (or ``y`` ) channel are already binned. You can map the bin-start field to ``x`` (or ``y`` ) and the bin-end @@ -4777,13 +4826,13 @@ class FacetFieldDef(VegaLiteSchema): and at the middle of the band if set to ``0.5``. bin : anyOf(boolean, :class:`BinParams`, None) A flag for binning a ``quantitative`` field, `an object defining binning parameters - `__, or indicating that the - data for ``x`` or ``y`` channel are binned before they are imported into Vega-Lite ( - ``"binned"`` ). + `__, or indicating + that the data for ``x`` or ``y`` channel are binned before they are imported into + Vega-Lite ( ``"binned"`` ). If ``true``, default `binning parameters - `__ will be applied. + `__ will be applied. If ``"binned"``, this indicates that the data for the ``x`` (or ``y`` ) channel are already binned. You can map the bin-start field to ``x`` (or ``y`` ) and the bin-end @@ -5236,13 +5285,13 @@ class FieldDefWithoutScale(VegaLiteSchema): and at the middle of the band if set to ``0.5``. bin : anyOf(boolean, :class:`BinParams`, string, None) A flag for binning a ``quantitative`` field, `an object defining binning parameters - `__, or indicating that the - data for ``x`` or ``y`` channel are binned before they are imported into Vega-Lite ( - ``"binned"`` ). + `__, or indicating + that the data for ``x`` or ``y`` channel are binned before they are imported into + Vega-Lite ( ``"binned"`` ). If ``true``, default `binning parameters - `__ will be applied. + `__ will be applied. If ``"binned"``, this indicates that the data for the ``x`` (or ``y`` ) channel are already binned. You can map the bin-start field to ``x`` (or ``y`` ) and the bin-end @@ -5413,13 +5462,13 @@ class FieldOrDatumDefWithConditionStringFieldDefstring(VegaLiteSchema): and at the middle of the band if set to ``0.5``. bin : anyOf(boolean, :class:`BinParams`, string, None) A flag for binning a ``quantitative`` field, `an object defining binning parameters - `__, or indicating that the - data for ``x`` or ``y`` channel are binned before they are imported into Vega-Lite ( - ``"binned"`` ). + `__, or indicating + that the data for ``x`` or ``y`` channel are binned before they are imported into + Vega-Lite ( ``"binned"`` ). If ``true``, default `binning parameters - `__ will be applied. + `__ will be applied. If ``"binned"``, this indicates that the data for the ``x`` (or ``y`` ) channel are already binned. You can map the bin-start field to ``x`` (or ``y`` ) and the bin-end @@ -5690,7 +5739,7 @@ class GenericUnitSpecEncodingAnyMark(VegaLiteSchema): A key-value mapping between encoding channels and definition of fields. name : string Name of the visualization for later reference. - params : List(anyOf(:class:`VariableParameter`, :class:`SelectionParameter`)) + params : List(:class:`SelectionParameter`) An array of parameters that may either be simple variables, or more complex selections that map user input to data queries. projection : :class:`Projection` @@ -6635,13 +6684,13 @@ class LatLongFieldDef(LatLongDef): and at the middle of the band if set to ``0.5``. bin : None A flag for binning a ``quantitative`` field, `an object defining binning parameters - `__, or indicating that the - data for ``x`` or ``y`` channel are binned before they are imported into Vega-Lite ( - ``"binned"`` ). + `__, or indicating + that the data for ``x`` or ``y`` channel are binned before they are imported into + Vega-Lite ( ``"binned"`` ). If ``true``, default `binning parameters - `__ will be applied. + `__ will be applied. If ``"binned"``, this indicates that the data for the ``x`` (or ``y`` ) channel are already binned. You can map the bin-start field to ``x`` (or ``y`` ) and the bin-end @@ -8780,13 +8829,13 @@ class FieldOrDatumDefWithConditionMarkPropFieldDefGradientstringnull(ColorDef, M and at the middle of the band if set to ``0.5``. bin : anyOf(boolean, :class:`BinParams`, None) A flag for binning a ``quantitative`` field, `an object defining binning parameters - `__, or indicating that the - data for ``x`` or ``y`` channel are binned before they are imported into Vega-Lite ( - ``"binned"`` ). + `__, or indicating + that the data for ``x`` or ``y`` channel are binned before they are imported into + Vega-Lite ( ``"binned"`` ). If ``true``, default `binning parameters - `__ will be applied. + `__ will be applied. If ``"binned"``, this indicates that the data for the ``x`` (or ``y`` ) channel are already binned. You can map the bin-start field to ``x`` (or ``y`` ) and the bin-end @@ -9072,6 +9121,11 @@ class NamedData(DataSource): name : string Provide a placeholder name and bind data at runtime. + + New data may change the layout but Vega does not always resize the chart. To update + the layout when the data updates, set `autosize + `__ or explicitly use + `view.resize `__. format : :class:`DataFormat` An object that specifies the format for parsing the data. """ @@ -9305,13 +9359,13 @@ class FieldOrDatumDefWithConditionMarkPropFieldDefnumberArray(MarkPropDefnumberA and at the middle of the band if set to ``0.5``. bin : anyOf(boolean, :class:`BinParams`, None) A flag for binning a ``quantitative`` field, `an object defining binning parameters - `__, or indicating that the - data for ``x`` or ``y`` channel are binned before they are imported into Vega-Lite ( - ``"binned"`` ). + `__, or indicating + that the data for ``x`` or ``y`` channel are binned before they are imported into + Vega-Lite ( ``"binned"`` ). If ``true``, default `binning parameters - `__ will be applied. + `__ will be applied. If ``"binned"``, this indicates that the data for the ``x`` (or ``y`` ) channel are already binned. You can map the bin-start field to ``x`` (or ``y`` ) and the bin-end @@ -9686,13 +9740,13 @@ class FieldOrDatumDefWithConditionMarkPropFieldDefnumber(MarkPropDefnumber, Nume and at the middle of the band if set to ``0.5``. bin : anyOf(boolean, :class:`BinParams`, None) A flag for binning a ``quantitative`` field, `an object defining binning parameters - `__, or indicating that the - data for ``x`` or ``y`` channel are binned before they are imported into Vega-Lite ( - ``"binned"`` ). + `__, or indicating + that the data for ``x`` or ``y`` channel are binned before they are imported into + Vega-Lite ( ``"binned"`` ). If ``true``, default `binning parameters - `__ will be applied. + `__ will be applied. If ``"binned"``, this indicates that the data for the ``x`` (or ``y`` ) channel are already binned. You can map the bin-start field to ``x`` (or ``y`` ) and the bin-end @@ -9937,13 +9991,13 @@ class OrderFieldDef(VegaLiteSchema): and at the middle of the band if set to ``0.5``. bin : anyOf(boolean, :class:`BinParams`, string, None) A flag for binning a ``quantitative`` field, `an object defining binning parameters - `__, or indicating that the - data for ``x`` or ``y`` channel are binned before they are imported into Vega-Lite ( - ``"binned"`` ). + `__, or indicating + that the data for ``x`` or ``y`` channel are binned before they are imported into + Vega-Lite ( ``"binned"`` ). If ``true``, default `binning parameters - `__ will be applied. + `__ will be applied. If ``"binned"``, this indicates that the data for the ``x`` (or ``y`` ) channel are already binned. You can map the bin-start field to ``x`` (or ``y`` ) and the bin-end @@ -10934,8 +10988,9 @@ class PositionDatumDefBase(PolarDef): `__ chart). * ``"normalize"`` - stacking with normalized domain (for creating `normalized stacked bar and area charts - `__. - :raw-html:`
` + `__ and pie charts + `with percentage tooltip + `__ ). :raw-html:`
` - ``"center"`` - stacking with center baseline (for `streamgraph `__ ). * ``null`` or ``false`` - No-stacking. This will produce layered `bar @@ -11118,8 +11173,9 @@ class PositionDatumDef(PositionDef): `__ chart). * ``"normalize"`` - stacking with normalized domain (for creating `normalized stacked bar and area charts - `__. - :raw-html:`
` + `__ and pie charts + `with percentage tooltip + `__ ). :raw-html:`
` - ``"center"`` - stacking with center baseline (for `streamgraph `__ ). * ``null`` or ``false`` - No-stacking. This will produce layered `bar @@ -11263,13 +11319,13 @@ class PositionFieldDef(PositionDef): and at the middle of the band if set to ``0.5``. bin : anyOf(boolean, :class:`BinParams`, string, None) A flag for binning a ``quantitative`` field, `an object defining binning parameters - `__, or indicating that the - data for ``x`` or ``y`` channel are binned before they are imported into Vega-Lite ( - ``"binned"`` ). + `__, or indicating + that the data for ``x`` or ``y`` channel are binned before they are imported into + Vega-Lite ( ``"binned"`` ). If ``true``, default `binning parameters - `__ will be applied. + `__ will be applied. If ``"binned"``, this indicates that the data for the ``x`` (or ``y`` ) channel are already binned. You can map the bin-start field to ``x`` (or ``y`` ) and the bin-end @@ -11371,8 +11427,9 @@ class PositionFieldDef(PositionDef): `__ chart). * ``"normalize"`` - stacking with normalized domain (for creating `normalized stacked bar and area charts - `__. - :raw-html:`
` + `__ and pie charts + `with percentage tooltip + `__ ). :raw-html:`
` - ``"center"`` - stacking with center baseline (for `streamgraph `__ ). * ``null`` or ``false`` - No-stacking. This will produce layered `bar @@ -11518,13 +11575,13 @@ class PositionFieldDefBase(PolarDef): and at the middle of the band if set to ``0.5``. bin : anyOf(boolean, :class:`BinParams`, string, None) A flag for binning a ``quantitative`` field, `an object defining binning parameters - `__, or indicating that the - data for ``x`` or ``y`` channel are binned before they are imported into Vega-Lite ( - ``"binned"`` ). + `__, or indicating + that the data for ``x`` or ``y`` channel are binned before they are imported into + Vega-Lite ( ``"binned"`` ). If ``true``, default `binning parameters - `__ will be applied. + `__ will be applied. If ``"binned"``, this indicates that the data for the ``x`` (or ``y`` ) channel are already binned. You can map the bin-start field to ``x`` (or ``y`` ) and the bin-end @@ -11618,8 +11675,9 @@ class PositionFieldDefBase(PolarDef): `__ chart). * ``"normalize"`` - stacking with normalized domain (for creating `normalized stacked bar and area charts - `__. - :raw-html:`
` + `__ and pie charts + `with percentage tooltip + `__ ). :raw-html:`
` - ``"center"`` - stacking with center baseline (for `streamgraph `__ ). * ``null`` or ``false`` - No-stacking. This will produce layered `bar @@ -12864,13 +12922,13 @@ class RowColumnEncodingFieldDef(VegaLiteSchema): and at the middle of the band if set to ``0.5``. bin : anyOf(boolean, :class:`BinParams`, None) A flag for binning a ``quantitative`` field, `an object defining binning parameters - `__, or indicating that the - data for ``x`` or ``y`` channel are binned before they are imported into Vega-Lite ( - ``"binned"`` ). + `__, or indicating + that the data for ``x`` or ``y`` channel are binned before they are imported into + Vega-Lite ( ``"binned"`` ). If ``true``, default `binning parameters - `__ will be applied. + `__ will be applied. If ``"binned"``, this indicates that the data for the ``x`` (or ``y`` ) channel are already binned. You can map the bin-start field to ``x`` (or ``y`` ) and the bin-end @@ -13676,13 +13734,13 @@ class ScaleFieldDef(OffsetDef): and at the middle of the band if set to ``0.5``. bin : anyOf(boolean, :class:`BinParams`, None) A flag for binning a ``quantitative`` field, `an object defining binning parameters - `__, or indicating that the - data for ``x`` or ``y`` channel are binned before they are imported into Vega-Lite ( - ``"binned"`` ). + `__, or indicating + that the data for ``x`` or ``y`` channel are binned before they are imported into + Vega-Lite ( ``"binned"`` ). If ``true``, default `binning parameters - `__ will be applied. + `__ will be applied. If ``"binned"``, this indicates that the data for the ``x`` (or ``y`` ) channel are already binned. You can map the bin-start field to ``x`` (or ``y`` ) and the bin-end @@ -14021,13 +14079,13 @@ class SecondaryFieldDef(Position2Def): and at the middle of the band if set to ``0.5``. bin : None A flag for binning a ``quantitative`` field, `an object defining binning parameters - `__, or indicating that the - data for ``x`` or ``y`` channel are binned before they are imported into Vega-Lite ( - ``"binned"`` ). + `__, or indicating + that the data for ``x`` or ``y`` channel are binned before they are imported into + Vega-Lite ( ``"binned"`` ). If ``true``, default `binning parameters - `__ will be applied. + `__ will be applied. If ``"binned"``, this indicates that the data for the ``x`` (or ``y`` ) channel are already binned. You can map the bin-start field to ``x`` (or ``y`` ) and the bin-end @@ -14575,13 +14633,13 @@ class FieldOrDatumDefWithConditionMarkPropFieldDefTypeForShapestringnull(MarkPro and at the middle of the band if set to ``0.5``. bin : anyOf(boolean, :class:`BinParams`, None) A flag for binning a ``quantitative`` field, `an object defining binning parameters - `__, or indicating that the - data for ``x`` or ``y`` channel are binned before they are imported into Vega-Lite ( - ``"binned"`` ). + `__, or indicating + that the data for ``x`` or ``y`` channel are binned before they are imported into + Vega-Lite ( ``"binned"`` ). If ``true``, default `binning parameters - `__ will be applied. + `__ will be applied. If ``"binned"``, this indicates that the data for the ``x`` (or ``y`` ) channel are already binned. You can map the bin-start field to ``x`` (or ``y`` ) and the bin-end @@ -15386,7 +15444,7 @@ class FacetedUnitSpec(Spec, NonNormalizedSpec): documentation. name : string Name of the visualization for later reference. - params : List(anyOf(:class:`VariableParameter`, :class:`SelectionParameter`)) + params : List(:class:`SelectionParameter`) An array of parameters that may either be simple variables, or more complex selections that map user input to data queries. projection : :class:`Projection` @@ -16007,13 +16065,13 @@ class StringFieldDef(VegaLiteSchema): and at the middle of the band if set to ``0.5``. bin : anyOf(boolean, :class:`BinParams`, string, None) A flag for binning a ``quantitative`` field, `an object defining binning parameters - `__, or indicating that the - data for ``x`` or ``y`` channel are binned before they are imported into Vega-Lite ( - ``"binned"`` ). + `__, or indicating + that the data for ``x`` or ``y`` channel are binned before they are imported into + Vega-Lite ( ``"binned"`` ). If ``true``, default `binning parameters - `__ will be applied. + `__ will be applied. If ``"binned"``, this indicates that the data for the ``x`` (or ``y`` ) channel are already binned. You can map the bin-start field to ``x`` (or ``y`` ) and the bin-end @@ -16208,13 +16266,13 @@ class StringFieldDefWithCondition(VegaLiteSchema): and at the middle of the band if set to ``0.5``. bin : anyOf(boolean, :class:`BinParams`, string, None) A flag for binning a ``quantitative`` field, `an object defining binning parameters - `__, or indicating that the - data for ``x`` or ``y`` channel are binned before they are imported into Vega-Lite ( - ``"binned"`` ). + `__, or indicating + that the data for ``x`` or ``y`` channel are binned before they are imported into + Vega-Lite ( ``"binned"`` ). If ``true``, default `binning parameters - `__ will be applied. + `__ will be applied. If ``"binned"``, this indicates that the data for the ``x`` (or ``y`` ) channel are already binned. You can map the bin-start field to ``x`` (or ``y`` ) and the bin-end @@ -16742,13 +16800,13 @@ class FieldOrDatumDefWithConditionStringFieldDefText(TextDef): and at the middle of the band if set to ``0.5``. bin : anyOf(boolean, :class:`BinParams`, string, None) A flag for binning a ``quantitative`` field, `an object defining binning parameters - `__, or indicating that the - data for ``x`` or ``y`` channel are binned before they are imported into Vega-Lite ( - ``"binned"`` ). + `__, or indicating + that the data for ``x`` or ``y`` channel are binned before they are imported into + Vega-Lite ( ``"binned"`` ). If ``true``, default `binning parameters - `__ will be applied. + `__ will be applied. If ``"binned"``, this indicates that the data for the ``x`` (or ``y`` ) channel are already binned. You can map the bin-start field to ``x`` (or ``y`` ) and the bin-end @@ -17678,7 +17736,18 @@ def __init__(self, content=Undefined, **kwds): super(TooltipContent, self).__init__(content=content, **kwds) -class TopLevelSelectionParameter(VegaLiteSchema): +class TopLevelParameter(VegaLiteSchema): + """TopLevelParameter schema wrapper + + anyOf(:class:`VariableParameter`, :class:`TopLevelSelectionParameter`) + """ + _schema = {'$ref': '#/definitions/TopLevelParameter'} + + def __init__(self, *args, **kwds): + super(TopLevelParameter, self).__init__(*args, **kwds) + + +class TopLevelSelectionParameter(TopLevelParameter): """TopLevelSelectionParameter schema wrapper Mapping(required=[name, select]) @@ -17848,7 +17917,7 @@ class TopLevelConcatSpec(TopLevelSpec): "bottom": 5}`` to specify padding for each side of the visualization. **Default value** : ``5`` - params : List(anyOf(:class:`VariableParameter`, :class:`TopLevelSelectionParameter`)) + params : List(:class:`TopLevelParameter`) Dynamic variables or selections that parameterize a visualization. resolve : :class:`Resolve` Scale, axis, and legend resolutions for view composition specifications. @@ -17992,7 +18061,7 @@ class TopLevelFacetSpec(TopLevelSpec): "bottom": 5}`` to specify padding for each side of the visualization. **Default value** : ``5`` - params : List(anyOf(:class:`VariableParameter`, :class:`TopLevelSelectionParameter`)) + params : List(:class:`TopLevelParameter`) Dynamic variables or selections that parameterize a visualization. resolve : :class:`Resolve` Scale, axis, and legend resolutions for view composition specifications. @@ -18092,7 +18161,7 @@ class TopLevelHConcatSpec(TopLevelSpec): "bottom": 5}`` to specify padding for each side of the visualization. **Default value** : ``5`` - params : List(anyOf(:class:`VariableParameter`, :class:`TopLevelSelectionParameter`)) + params : List(:class:`TopLevelParameter`) Dynamic variables or selections that parameterize a visualization. resolve : :class:`Resolve` Scale, axis, and legend resolutions for view composition specifications. @@ -18199,7 +18268,7 @@ class TopLevelLayerSpec(TopLevelSpec): "bottom": 5}`` to specify padding for each side of the visualization. **Default value** : ``5`` - params : List(anyOf(:class:`VariableParameter`, :class:`TopLevelSelectionParameter`)) + params : List(:class:`TopLevelParameter`) Dynamic variables or selections that parameterize a visualization. projection : :class:`Projection` An object defining properties of the geographic projection shared by underlying @@ -18374,7 +18443,7 @@ class TopLevelUnitSpec(TopLevelSpec): "bottom": 5}`` to specify padding for each side of the visualization. **Default value** : ``5`` - params : List(anyOf(:class:`VariableParameter`, :class:`SelectionParameter`)) + params : List(:class:`TopLevelParameter`) An array of parameters that may either be simple variables, or more complex selections that map user input to data queries. projection : :class:`Projection` @@ -18505,7 +18574,7 @@ class TopLevelVConcatSpec(TopLevelSpec): "bottom": 5}`` to specify padding for each side of the visualization. **Default value** : ``5`` - params : List(anyOf(:class:`VariableParameter`, :class:`TopLevelSelectionParameter`)) + params : List(:class:`TopLevelParameter`) Dynamic variables or selections that parameterize a visualization. resolve : :class:`Resolve` Scale, axis, and legend resolutions for view composition specifications. @@ -19194,13 +19263,13 @@ class TypedFieldDef(VegaLiteSchema): and at the middle of the band if set to ``0.5``. bin : anyOf(boolean, :class:`BinParams`, string, None) A flag for binning a ``quantitative`` field, `an object defining binning parameters - `__, or indicating that the - data for ``x`` or ``y`` channel are binned before they are imported into Vega-Lite ( - ``"binned"`` ). + `__, or indicating + that the data for ``x`` or ``y`` channel are binned before they are imported into + Vega-Lite ( ``"binned"`` ). If ``true``, default `binning parameters - `__ will be applied. + `__ will be applied. If ``"binned"``, this indicates that the data for the ``x`` (or ``y`` ) channel are already binned. You can map the bin-start field to ``x`` (or ``y`` ) and the bin-end @@ -19370,7 +19439,7 @@ class UnitSpec(VegaLiteSchema): A key-value mapping between encoding channels and definition of fields. name : string Name of the visualization for later reference. - params : List(anyOf(:class:`VariableParameter`, :class:`SelectionParameter`)) + params : List(:class:`SelectionParameter`) An array of parameters that may either be simple variables, or more complex selections that map user input to data queries. projection : :class:`Projection` @@ -19434,7 +19503,7 @@ class UnitSpecWithFrame(VegaLiteSchema): documentation. name : string Name of the visualization for later reference. - params : List(anyOf(:class:`VariableParameter`, :class:`SelectionParameter`)) + params : List(:class:`SelectionParameter`) An array of parameters that may either be simple variables, or more complex selections that map user input to data queries. projection : :class:`Projection` @@ -19778,7 +19847,7 @@ def __init__(self, value=Undefined, **kwds): super(ValueDefnumberwidthheightExprRef, self).__init__(value=value, **kwds) -class VariableParameter(VegaLiteSchema): +class VariableParameter(TopLevelParameter): """VariableParameter schema wrapper Mapping(required=[name]) diff --git a/altair/vegalite/v5/schema/vega-lite-schema.json b/altair/vegalite/v5/schema/vega-lite-schema.json index cedaa872a..56bd01bbb 100644 --- a/altair/vegalite/v5/schema/vega-lite-schema.json +++ b/altair/vegalite/v5/schema/vega-lite-schema.json @@ -5814,7 +5814,7 @@ "type": "null" } ], - "description": "A flag for binning a `quantitative` field, [an object defining binning parameters](https://vega.github.io/vega-lite/docs/bin.html#params), or indicating that the data for `x` or `y` channel are binned before they are imported into Vega-Lite (`\"binned\"`).\n\n- If `true`, default [binning parameters](https://vega.github.io/vega-lite/docs/bin.html) will be applied.\n\n- If `\"binned\"`, this indicates that the data for the `x` (or `y`) channel are already binned. You can map the bin-start field to `x` (or `y`) and the bin-end field to `x2` (or `y2`). The scale and axis will be formatted similar to binning in Vega-Lite. To adjust the axis ticks based on the bin step, you can also set the axis's [`tickMinStep`](https://vega.github.io/vega-lite/docs/axis.html#ticks) property.\n\n__Default value:__ `false`\n\n__See also:__ [`bin`](https://vega.github.io/vega-lite/docs/bin.html) documentation." + "description": "A flag for binning a `quantitative` field, [an object defining binning parameters](https://vega.github.io/vega-lite/docs/bin.html#bin-parameters), or indicating that the data for `x` or `y` channel are binned before they are imported into Vega-Lite (`\"binned\"`).\n\n- If `true`, default [binning parameters](https://vega.github.io/vega-lite/docs/bin.html#bin-parameters) will be applied.\n\n- If `\"binned\"`, this indicates that the data for the `x` (or `y`) channel are already binned. You can map the bin-start field to `x` (or `y`) and the bin-end field to `x2` (or `y2`). The scale and axis will be formatted similar to binning in Vega-Lite. To adjust the axis ticks based on the bin step, you can also set the axis's [`tickMinStep`](https://vega.github.io/vega-lite/docs/axis.html#ticks) property.\n\n__Default value:__ `false`\n\n__See also:__ [`bin`](https://vega.github.io/vega-lite/docs/bin.html) documentation." }, "empty": { "description": "For selection parameters, the predicate of empty selections returns true by default. Override this behavior, by setting this property `empty: false`.", @@ -5992,7 +5992,7 @@ "type": "null" } ], - "description": "A flag for binning a `quantitative` field, [an object defining binning parameters](https://vega.github.io/vega-lite/docs/bin.html#params), or indicating that the data for `x` or `y` channel are binned before they are imported into Vega-Lite (`\"binned\"`).\n\n- If `true`, default [binning parameters](https://vega.github.io/vega-lite/docs/bin.html) will be applied.\n\n- If `\"binned\"`, this indicates that the data for the `x` (or `y`) channel are already binned. You can map the bin-start field to `x` (or `y`) and the bin-end field to `x2` (or `y2`). The scale and axis will be formatted similar to binning in Vega-Lite. To adjust the axis ticks based on the bin step, you can also set the axis's [`tickMinStep`](https://vega.github.io/vega-lite/docs/axis.html#ticks) property.\n\n__Default value:__ `false`\n\n__See also:__ [`bin`](https://vega.github.io/vega-lite/docs/bin.html) documentation." + "description": "A flag for binning a `quantitative` field, [an object defining binning parameters](https://vega.github.io/vega-lite/docs/bin.html#bin-parameters), or indicating that the data for `x` or `y` channel are binned before they are imported into Vega-Lite (`\"binned\"`).\n\n- If `true`, default [binning parameters](https://vega.github.io/vega-lite/docs/bin.html#bin-parameters) will be applied.\n\n- If `\"binned\"`, this indicates that the data for the `x` (or `y`) channel are already binned. You can map the bin-start field to `x` (or `y`) and the bin-end field to `x2` (or `y2`). The scale and axis will be formatted similar to binning in Vega-Lite. To adjust the axis ticks based on the bin step, you can also set the axis's [`tickMinStep`](https://vega.github.io/vega-lite/docs/axis.html#ticks) property.\n\n__Default value:__ `false`\n\n__See also:__ [`bin`](https://vega.github.io/vega-lite/docs/bin.html) documentation." }, "empty": { "description": "For selection parameters, the predicate of empty selections returns true by default. Override this behavior, by setting this property `empty: false`.", @@ -6172,7 +6172,7 @@ "type": "null" } ], - "description": "A flag for binning a `quantitative` field, [an object defining binning parameters](https://vega.github.io/vega-lite/docs/bin.html#params), or indicating that the data for `x` or `y` channel are binned before they are imported into Vega-Lite (`\"binned\"`).\n\n- If `true`, default [binning parameters](https://vega.github.io/vega-lite/docs/bin.html) will be applied.\n\n- If `\"binned\"`, this indicates that the data for the `x` (or `y`) channel are already binned. You can map the bin-start field to `x` (or `y`) and the bin-end field to `x2` (or `y2`). The scale and axis will be formatted similar to binning in Vega-Lite. To adjust the axis ticks based on the bin step, you can also set the axis's [`tickMinStep`](https://vega.github.io/vega-lite/docs/axis.html#ticks) property.\n\n__Default value:__ `false`\n\n__See also:__ [`bin`](https://vega.github.io/vega-lite/docs/bin.html) documentation." + "description": "A flag for binning a `quantitative` field, [an object defining binning parameters](https://vega.github.io/vega-lite/docs/bin.html#bin-parameters), or indicating that the data for `x` or `y` channel are binned before they are imported into Vega-Lite (`\"binned\"`).\n\n- If `true`, default [binning parameters](https://vega.github.io/vega-lite/docs/bin.html#bin-parameters) will be applied.\n\n- If `\"binned\"`, this indicates that the data for the `x` (or `y`) channel are already binned. You can map the bin-start field to `x` (or `y`) and the bin-end field to `x2` (or `y2`). The scale and axis will be formatted similar to binning in Vega-Lite. To adjust the axis ticks based on the bin step, you can also set the axis's [`tickMinStep`](https://vega.github.io/vega-lite/docs/axis.html#ticks) property.\n\n__Default value:__ `false`\n\n__See also:__ [`bin`](https://vega.github.io/vega-lite/docs/bin.html) documentation." }, "empty": { "description": "For selection parameters, the predicate of empty selections returns true by default. Override this behavior, by setting this property `empty: false`.", @@ -6839,7 +6839,7 @@ "type": "null" } ], - "description": "A flag for binning a `quantitative` field, [an object defining binning parameters](https://vega.github.io/vega-lite/docs/bin.html#params), or indicating that the data for `x` or `y` channel are binned before they are imported into Vega-Lite (`\"binned\"`).\n\n- If `true`, default [binning parameters](https://vega.github.io/vega-lite/docs/bin.html) will be applied.\n\n- If `\"binned\"`, this indicates that the data for the `x` (or `y`) channel are already binned. You can map the bin-start field to `x` (or `y`) and the bin-end field to `x2` (or `y2`). The scale and axis will be formatted similar to binning in Vega-Lite. To adjust the axis ticks based on the bin step, you can also set the axis's [`tickMinStep`](https://vega.github.io/vega-lite/docs/axis.html#ticks) property.\n\n__Default value:__ `false`\n\n__See also:__ [`bin`](https://vega.github.io/vega-lite/docs/bin.html) documentation." + "description": "A flag for binning a `quantitative` field, [an object defining binning parameters](https://vega.github.io/vega-lite/docs/bin.html#bin-parameters), or indicating that the data for `x` or `y` channel are binned before they are imported into Vega-Lite (`\"binned\"`).\n\n- If `true`, default [binning parameters](https://vega.github.io/vega-lite/docs/bin.html#bin-parameters) will be applied.\n\n- If `\"binned\"`, this indicates that the data for the `x` (or `y`) channel are already binned. You can map the bin-start field to `x` (or `y`) and the bin-end field to `x2` (or `y2`). The scale and axis will be formatted similar to binning in Vega-Lite. To adjust the axis ticks based on the bin step, you can also set the axis's [`tickMinStep`](https://vega.github.io/vega-lite/docs/axis.html#ticks) property.\n\n__Default value:__ `false`\n\n__See also:__ [`bin`](https://vega.github.io/vega-lite/docs/bin.html) documentation." }, "field": { "$ref": "#/definitions/Field", @@ -7009,7 +7009,7 @@ "type": "null" } ], - "description": "A flag for binning a `quantitative` field, [an object defining binning parameters](https://vega.github.io/vega-lite/docs/bin.html#params), or indicating that the data for `x` or `y` channel are binned before they are imported into Vega-Lite (`\"binned\"`).\n\n- If `true`, default [binning parameters](https://vega.github.io/vega-lite/docs/bin.html) will be applied.\n\n- If `\"binned\"`, this indicates that the data for the `x` (or `y`) channel are already binned. You can map the bin-start field to `x` (or `y`) and the bin-end field to `x2` (or `y2`). The scale and axis will be formatted similar to binning in Vega-Lite. To adjust the axis ticks based on the bin step, you can also set the axis's [`tickMinStep`](https://vega.github.io/vega-lite/docs/axis.html#ticks) property.\n\n__Default value:__ `false`\n\n__See also:__ [`bin`](https://vega.github.io/vega-lite/docs/bin.html) documentation." + "description": "A flag for binning a `quantitative` field, [an object defining binning parameters](https://vega.github.io/vega-lite/docs/bin.html#bin-parameters), or indicating that the data for `x` or `y` channel are binned before they are imported into Vega-Lite (`\"binned\"`).\n\n- If `true`, default [binning parameters](https://vega.github.io/vega-lite/docs/bin.html#bin-parameters) will be applied.\n\n- If `\"binned\"`, this indicates that the data for the `x` (or `y`) channel are already binned. You can map the bin-start field to `x` (or `y`) and the bin-end field to `x2` (or `y2`). The scale and axis will be formatted similar to binning in Vega-Lite. To adjust the axis ticks based on the bin step, you can also set the axis's [`tickMinStep`](https://vega.github.io/vega-lite/docs/axis.html#ticks) property.\n\n__Default value:__ `false`\n\n__See also:__ [`bin`](https://vega.github.io/vega-lite/docs/bin.html) documentation." }, "field": { "$ref": "#/definitions/Field", @@ -7181,7 +7181,7 @@ "type": "null" } ], - "description": "A flag for binning a `quantitative` field, [an object defining binning parameters](https://vega.github.io/vega-lite/docs/bin.html#params), or indicating that the data for `x` or `y` channel are binned before they are imported into Vega-Lite (`\"binned\"`).\n\n- If `true`, default [binning parameters](https://vega.github.io/vega-lite/docs/bin.html) will be applied.\n\n- If `\"binned\"`, this indicates that the data for the `x` (or `y`) channel are already binned. You can map the bin-start field to `x` (or `y`) and the bin-end field to `x2` (or `y2`). The scale and axis will be formatted similar to binning in Vega-Lite. To adjust the axis ticks based on the bin step, you can also set the axis's [`tickMinStep`](https://vega.github.io/vega-lite/docs/axis.html#ticks) property.\n\n__Default value:__ `false`\n\n__See also:__ [`bin`](https://vega.github.io/vega-lite/docs/bin.html) documentation." + "description": "A flag for binning a `quantitative` field, [an object defining binning parameters](https://vega.github.io/vega-lite/docs/bin.html#bin-parameters), or indicating that the data for `x` or `y` channel are binned before they are imported into Vega-Lite (`\"binned\"`).\n\n- If `true`, default [binning parameters](https://vega.github.io/vega-lite/docs/bin.html#bin-parameters) will be applied.\n\n- If `\"binned\"`, this indicates that the data for the `x` (or `y`) channel are already binned. You can map the bin-start field to `x` (or `y`) and the bin-end field to `x2` (or `y2`). The scale and axis will be formatted similar to binning in Vega-Lite. To adjust the axis ticks based on the bin step, you can also set the axis's [`tickMinStep`](https://vega.github.io/vega-lite/docs/axis.html#ticks) property.\n\n__Default value:__ `false`\n\n__See also:__ [`bin`](https://vega.github.io/vega-lite/docs/bin.html) documentation." }, "field": { "$ref": "#/definitions/Field", @@ -7643,8 +7643,20 @@ "$ref": "#/definitions/MarkConfig", "description": "Mark Config" }, + "normalizedNumberFormat": { + "description": "If normalizedNumberFormatType is not specified, D3 number format for axis labels, text marks, and tooltips of normalized stacked fields (fields with `stack: \"normalize\"`). For example `\"s\"` for SI units. Use [D3's number format pattern](https://github.com/d3/d3-format#locale_format).\n\nIf `config.normalizedNumberFormatType` is specified and `config.customFormatTypes` is `true`, this value will be passed as `format` alongside `datum.value` to the `config.numberFormatType` function. __Default value:__ `%`", + "type": "string" + }, + "normalizedNumberFormatType": { + "description": "[Custom format type](https://vega.github.io/vega-lite/docs/config.html#custom-format-type) for `config.normalizedNumberFormat`.\n\n__Default value:__ `undefined` -- This is equilvalent to call D3-format, which is exposed as [`format` in Vega-Expression](https://vega.github.io/vega/docs/expressions/#format). __Note:__ You must also set `customFormatTypes` to `true` to use this feature.", + "type": "string" + }, "numberFormat": { - "description": "D3 Number format for guide labels and text marks. For example `\"s\"` for SI units. Use [D3's number format pattern](https://github.com/d3/d3-format#locale_format).", + "description": "If numberFormatType is not specified, D3 number format for guide labels, text marks, and tooltips of non-normalized fields (fields *without* `stack: \"normalize\"`). For example `\"s\"` for SI units. Use [D3's number format pattern](https://github.com/d3/d3-format#locale_format).\n\nIf `config.numberFormatType` is specified and `config.customFormatTypes` is `true`, this value will be passed as `format` alongside `datum.value` to the `config.numberFormatType` function.", + "type": "string" + }, + "numberFormatType": { + "description": "[Custom format type](https://vega.github.io/vega-lite/docs/config.html#custom-format-type) for `config.numberFormat`.\n\n__Default value:__ `undefined` -- This is equilvalent to call D3-format, which is exposed as [`format` in Vega-Expression](https://vega.github.io/vega/docs/expressions/#format). __Note:__ You must also set `customFormatTypes` to `true` to use this feature.", "type": "string" }, "padding": { @@ -7661,14 +7673,7 @@ "params": { "description": "Dynamic variables or selections that parameterize a visualization.", "items": { - "anyOf": [ - { - "$ref": "#/definitions/VariableParameter" - }, - { - "$ref": "#/definitions/TopLevelSelectionParameter" - } - ] + "$ref": "#/definitions/TopLevelParameter" }, "type": "array" }, @@ -7720,6 +7725,10 @@ "description": "Default time format for raw time values (without time units) in text marks, legend labels and header labels.\n\n__Default value:__ `\"%b %d, %Y\"` __Note:__ Axes automatically determine the format for each label automatically so this config does not affect axes.", "type": "string" }, + "timeFormatType": { + "description": "[Custom format type](https://vega.github.io/vega-lite/docs/config.html#custom-format-type) for `config.timeFormat`.\n\n__Default value:__ `undefined` -- This is equilvalent to call D3-time-format, which is exposed as [`timeFormat` in Vega-Expression](https://vega.github.io/vega/docs/expressions/#timeFormat). __Note:__ You must also set `customFormatTypes` to `true` and there must *not* be a `timeUnit` defined to use this feature.", + "type": "string" + }, "title": { "$ref": "#/definitions/TitleConfig", "description": "Title configuration, which determines default properties for all [titles](https://vega.github.io/vega-lite/docs/title.html). For a full list of title configuration options, please see the [corresponding section of the title documentation](https://vega.github.io/vega-lite/docs/title.html#config)." @@ -8732,7 +8741,7 @@ "type": "null" } ], - "description": "A flag for binning a `quantitative` field, [an object defining binning parameters](https://vega.github.io/vega-lite/docs/bin.html#params), or indicating that the data for `x` or `y` channel are binned before they are imported into Vega-Lite (`\"binned\"`).\n\n- If `true`, default [binning parameters](https://vega.github.io/vega-lite/docs/bin.html) will be applied.\n\n- If `\"binned\"`, this indicates that the data for the `x` (or `y`) channel are already binned. You can map the bin-start field to `x` (or `y`) and the bin-end field to `x2` (or `y2`). The scale and axis will be formatted similar to binning in Vega-Lite. To adjust the axis ticks based on the bin step, you can also set the axis's [`tickMinStep`](https://vega.github.io/vega-lite/docs/axis.html#ticks) property.\n\n__Default value:__ `false`\n\n__See also:__ [`bin`](https://vega.github.io/vega-lite/docs/bin.html) documentation." + "description": "A flag for binning a `quantitative` field, [an object defining binning parameters](https://vega.github.io/vega-lite/docs/bin.html#bin-parameters), or indicating that the data for `x` or `y` channel are binned before they are imported into Vega-Lite (`\"binned\"`).\n\n- If `true`, default [binning parameters](https://vega.github.io/vega-lite/docs/bin.html#bin-parameters) will be applied.\n\n- If `\"binned\"`, this indicates that the data for the `x` (or `y`) channel are already binned. You can map the bin-start field to `x` (or `y`) and the bin-end field to `x2` (or `y2`). The scale and axis will be formatted similar to binning in Vega-Lite. To adjust the axis ticks based on the bin step, you can also set the axis's [`tickMinStep`](https://vega.github.io/vega-lite/docs/axis.html#ticks) property.\n\n__Default value:__ `false`\n\n__See also:__ [`bin`](https://vega.github.io/vega-lite/docs/bin.html) documentation." }, "bounds": { "description": "The bounds calculation method to use for determining the extent of a sub-plot. One of `full` (the default) or `flush`.\n\n- If set to `full`, the entire calculated bounds (including axes, title, and legend) will be used.\n- If set to `flush`, only the specified width and height values for the sub-view will be used. The `flush` setting can be useful when attempting to place sub-plots without axes or legends into a uniform grid structure.\n\n__Default value:__ `\"full\"`", @@ -8854,7 +8863,7 @@ "type": "null" } ], - "description": "A flag for binning a `quantitative` field, [an object defining binning parameters](https://vega.github.io/vega-lite/docs/bin.html#params), or indicating that the data for `x` or `y` channel are binned before they are imported into Vega-Lite (`\"binned\"`).\n\n- If `true`, default [binning parameters](https://vega.github.io/vega-lite/docs/bin.html) will be applied.\n\n- If `\"binned\"`, this indicates that the data for the `x` (or `y`) channel are already binned. You can map the bin-start field to `x` (or `y`) and the bin-end field to `x2` (or `y2`). The scale and axis will be formatted similar to binning in Vega-Lite. To adjust the axis ticks based on the bin step, you can also set the axis's [`tickMinStep`](https://vega.github.io/vega-lite/docs/axis.html#ticks) property.\n\n__Default value:__ `false`\n\n__See also:__ [`bin`](https://vega.github.io/vega-lite/docs/bin.html) documentation." + "description": "A flag for binning a `quantitative` field, [an object defining binning parameters](https://vega.github.io/vega-lite/docs/bin.html#bin-parameters), or indicating that the data for `x` or `y` channel are binned before they are imported into Vega-Lite (`\"binned\"`).\n\n- If `true`, default [binning parameters](https://vega.github.io/vega-lite/docs/bin.html#bin-parameters) will be applied.\n\n- If `\"binned\"`, this indicates that the data for the `x` (or `y`) channel are already binned. You can map the bin-start field to `x` (or `y`) and the bin-end field to `x2` (or `y2`). The scale and axis will be formatted similar to binning in Vega-Lite. To adjust the axis ticks based on the bin step, you can also set the axis's [`tickMinStep`](https://vega.github.io/vega-lite/docs/axis.html#ticks) property.\n\n__Default value:__ `false`\n\n__See also:__ [`bin`](https://vega.github.io/vega-lite/docs/bin.html) documentation." }, "field": { "$ref": "#/definitions/Field", @@ -9264,14 +9273,7 @@ "params": { "description": "An array of parameters that may either be simple variables, or more complex selections that map user input to data queries.", "items": { - "anyOf": [ - { - "$ref": "#/definitions/VariableParameter" - }, - { - "$ref": "#/definitions/SelectionParameter" - } - ] + "$ref": "#/definitions/SelectionParameter" }, "type": "array" }, @@ -9883,7 +9885,7 @@ "type": "null" } ], - "description": "A flag for binning a `quantitative` field, [an object defining binning parameters](https://vega.github.io/vega-lite/docs/bin.html#params), or indicating that the data for `x` or `y` channel are binned before they are imported into Vega-Lite (`\"binned\"`).\n\n- If `true`, default [binning parameters](https://vega.github.io/vega-lite/docs/bin.html) will be applied.\n\n- If `\"binned\"`, this indicates that the data for the `x` (or `y`) channel are already binned. You can map the bin-start field to `x` (or `y`) and the bin-end field to `x2` (or `y2`). The scale and axis will be formatted similar to binning in Vega-Lite. To adjust the axis ticks based on the bin step, you can also set the axis's [`tickMinStep`](https://vega.github.io/vega-lite/docs/axis.html#ticks) property.\n\n__Default value:__ `false`\n\n__See also:__ [`bin`](https://vega.github.io/vega-lite/docs/bin.html) documentation." + "description": "A flag for binning a `quantitative` field, [an object defining binning parameters](https://vega.github.io/vega-lite/docs/bin.html#bin-parameters), or indicating that the data for `x` or `y` channel are binned before they are imported into Vega-Lite (`\"binned\"`).\n\n- If `true`, default [binning parameters](https://vega.github.io/vega-lite/docs/bin.html#bin-parameters) will be applied.\n\n- If `\"binned\"`, this indicates that the data for the `x` (or `y`) channel are already binned. You can map the bin-start field to `x` (or `y`) and the bin-end field to `x2` (or `y2`). The scale and axis will be formatted similar to binning in Vega-Lite. To adjust the axis ticks based on the bin step, you can also set the axis's [`tickMinStep`](https://vega.github.io/vega-lite/docs/axis.html#ticks) property.\n\n__Default value:__ `false`\n\n__See also:__ [`bin`](https://vega.github.io/vega-lite/docs/bin.html) documentation." }, "condition": { "anyOf": [ @@ -9984,7 +9986,7 @@ "type": "null" } ], - "description": "A flag for binning a `quantitative` field, [an object defining binning parameters](https://vega.github.io/vega-lite/docs/bin.html#params), or indicating that the data for `x` or `y` channel are binned before they are imported into Vega-Lite (`\"binned\"`).\n\n- If `true`, default [binning parameters](https://vega.github.io/vega-lite/docs/bin.html) will be applied.\n\n- If `\"binned\"`, this indicates that the data for the `x` (or `y`) channel are already binned. You can map the bin-start field to `x` (or `y`) and the bin-end field to `x2` (or `y2`). The scale and axis will be formatted similar to binning in Vega-Lite. To adjust the axis ticks based on the bin step, you can also set the axis's [`tickMinStep`](https://vega.github.io/vega-lite/docs/axis.html#ticks) property.\n\n__Default value:__ `false`\n\n__See also:__ [`bin`](https://vega.github.io/vega-lite/docs/bin.html) documentation." + "description": "A flag for binning a `quantitative` field, [an object defining binning parameters](https://vega.github.io/vega-lite/docs/bin.html#bin-parameters), or indicating that the data for `x` or `y` channel are binned before they are imported into Vega-Lite (`\"binned\"`).\n\n- If `true`, default [binning parameters](https://vega.github.io/vega-lite/docs/bin.html#bin-parameters) will be applied.\n\n- If `\"binned\"`, this indicates that the data for the `x` (or `y`) channel are already binned. You can map the bin-start field to `x` (or `y`) and the bin-end field to `x2` (or `y2`). The scale and axis will be formatted similar to binning in Vega-Lite. To adjust the axis ticks based on the bin step, you can also set the axis's [`tickMinStep`](https://vega.github.io/vega-lite/docs/axis.html#ticks) property.\n\n__Default value:__ `false`\n\n__See also:__ [`bin`](https://vega.github.io/vega-lite/docs/bin.html) documentation." }, "condition": { "anyOf": [ @@ -10085,7 +10087,7 @@ "type": "null" } ], - "description": "A flag for binning a `quantitative` field, [an object defining binning parameters](https://vega.github.io/vega-lite/docs/bin.html#params), or indicating that the data for `x` or `y` channel are binned before they are imported into Vega-Lite (`\"binned\"`).\n\n- If `true`, default [binning parameters](https://vega.github.io/vega-lite/docs/bin.html) will be applied.\n\n- If `\"binned\"`, this indicates that the data for the `x` (or `y`) channel are already binned. You can map the bin-start field to `x` (or `y`) and the bin-end field to `x2` (or `y2`). The scale and axis will be formatted similar to binning in Vega-Lite. To adjust the axis ticks based on the bin step, you can also set the axis's [`tickMinStep`](https://vega.github.io/vega-lite/docs/axis.html#ticks) property.\n\n__Default value:__ `false`\n\n__See also:__ [`bin`](https://vega.github.io/vega-lite/docs/bin.html) documentation." + "description": "A flag for binning a `quantitative` field, [an object defining binning parameters](https://vega.github.io/vega-lite/docs/bin.html#bin-parameters), or indicating that the data for `x` or `y` channel are binned before they are imported into Vega-Lite (`\"binned\"`).\n\n- If `true`, default [binning parameters](https://vega.github.io/vega-lite/docs/bin.html#bin-parameters) will be applied.\n\n- If `\"binned\"`, this indicates that the data for the `x` (or `y`) channel are already binned. You can map the bin-start field to `x` (or `y`) and the bin-end field to `x2` (or `y2`). The scale and axis will be formatted similar to binning in Vega-Lite. To adjust the axis ticks based on the bin step, you can also set the axis's [`tickMinStep`](https://vega.github.io/vega-lite/docs/axis.html#ticks) property.\n\n__Default value:__ `false`\n\n__See also:__ [`bin`](https://vega.github.io/vega-lite/docs/bin.html) documentation." }, "condition": { "anyOf": [ @@ -10186,7 +10188,7 @@ "type": "null" } ], - "description": "A flag for binning a `quantitative` field, [an object defining binning parameters](https://vega.github.io/vega-lite/docs/bin.html#params), or indicating that the data for `x` or `y` channel are binned before they are imported into Vega-Lite (`\"binned\"`).\n\n- If `true`, default [binning parameters](https://vega.github.io/vega-lite/docs/bin.html) will be applied.\n\n- If `\"binned\"`, this indicates that the data for the `x` (or `y`) channel are already binned. You can map the bin-start field to `x` (or `y`) and the bin-end field to `x2` (or `y2`). The scale and axis will be formatted similar to binning in Vega-Lite. To adjust the axis ticks based on the bin step, you can also set the axis's [`tickMinStep`](https://vega.github.io/vega-lite/docs/axis.html#ticks) property.\n\n__Default value:__ `false`\n\n__See also:__ [`bin`](https://vega.github.io/vega-lite/docs/bin.html) documentation." + "description": "A flag for binning a `quantitative` field, [an object defining binning parameters](https://vega.github.io/vega-lite/docs/bin.html#bin-parameters), or indicating that the data for `x` or `y` channel are binned before they are imported into Vega-Lite (`\"binned\"`).\n\n- If `true`, default [binning parameters](https://vega.github.io/vega-lite/docs/bin.html#bin-parameters) will be applied.\n\n- If `\"binned\"`, this indicates that the data for the `x` (or `y`) channel are already binned. You can map the bin-start field to `x` (or `y`) and the bin-end field to `x2` (or `y2`). The scale and axis will be formatted similar to binning in Vega-Lite. To adjust the axis ticks based on the bin step, you can also set the axis's [`tickMinStep`](https://vega.github.io/vega-lite/docs/axis.html#ticks) property.\n\n__Default value:__ `false`\n\n__See also:__ [`bin`](https://vega.github.io/vega-lite/docs/bin.html) documentation." }, "condition": { "anyOf": [ @@ -10365,7 +10367,7 @@ "type": "null" } ], - "description": "A flag for binning a `quantitative` field, [an object defining binning parameters](https://vega.github.io/vega-lite/docs/bin.html#params), or indicating that the data for `x` or `y` channel are binned before they are imported into Vega-Lite (`\"binned\"`).\n\n- If `true`, default [binning parameters](https://vega.github.io/vega-lite/docs/bin.html) will be applied.\n\n- If `\"binned\"`, this indicates that the data for the `x` (or `y`) channel are already binned. You can map the bin-start field to `x` (or `y`) and the bin-end field to `x2` (or `y2`). The scale and axis will be formatted similar to binning in Vega-Lite. To adjust the axis ticks based on the bin step, you can also set the axis's [`tickMinStep`](https://vega.github.io/vega-lite/docs/axis.html#ticks) property.\n\n__Default value:__ `false`\n\n__See also:__ [`bin`](https://vega.github.io/vega-lite/docs/bin.html) documentation." + "description": "A flag for binning a `quantitative` field, [an object defining binning parameters](https://vega.github.io/vega-lite/docs/bin.html#bin-parameters), or indicating that the data for `x` or `y` channel are binned before they are imported into Vega-Lite (`\"binned\"`).\n\n- If `true`, default [binning parameters](https://vega.github.io/vega-lite/docs/bin.html#bin-parameters) will be applied.\n\n- If `\"binned\"`, this indicates that the data for the `x` (or `y`) channel are already binned. You can map the bin-start field to `x` (or `y`) and the bin-end field to `x2` (or `y2`). The scale and axis will be formatted similar to binning in Vega-Lite. To adjust the axis ticks based on the bin step, you can also set the axis's [`tickMinStep`](https://vega.github.io/vega-lite/docs/axis.html#ticks) property.\n\n__Default value:__ `false`\n\n__See also:__ [`bin`](https://vega.github.io/vega-lite/docs/bin.html) documentation." }, "condition": { "anyOf": [ @@ -10459,7 +10461,7 @@ "type": "null" } ], - "description": "A flag for binning a `quantitative` field, [an object defining binning parameters](https://vega.github.io/vega-lite/docs/bin.html#params), or indicating that the data for `x` or `y` channel are binned before they are imported into Vega-Lite (`\"binned\"`).\n\n- If `true`, default [binning parameters](https://vega.github.io/vega-lite/docs/bin.html) will be applied.\n\n- If `\"binned\"`, this indicates that the data for the `x` (or `y`) channel are already binned. You can map the bin-start field to `x` (or `y`) and the bin-end field to `x2` (or `y2`). The scale and axis will be formatted similar to binning in Vega-Lite. To adjust the axis ticks based on the bin step, you can also set the axis's [`tickMinStep`](https://vega.github.io/vega-lite/docs/axis.html#ticks) property.\n\n__Default value:__ `false`\n\n__See also:__ [`bin`](https://vega.github.io/vega-lite/docs/bin.html) documentation." + "description": "A flag for binning a `quantitative` field, [an object defining binning parameters](https://vega.github.io/vega-lite/docs/bin.html#bin-parameters), or indicating that the data for `x` or `y` channel are binned before they are imported into Vega-Lite (`\"binned\"`).\n\n- If `true`, default [binning parameters](https://vega.github.io/vega-lite/docs/bin.html#bin-parameters) will be applied.\n\n- If `\"binned\"`, this indicates that the data for the `x` (or `y`) channel are already binned. You can map the bin-start field to `x` (or `y`) and the bin-end field to `x2` (or `y2`). The scale and axis will be formatted similar to binning in Vega-Lite. To adjust the axis ticks based on the bin step, you can also set the axis's [`tickMinStep`](https://vega.github.io/vega-lite/docs/axis.html#ticks) property.\n\n__Default value:__ `false`\n\n__See also:__ [`bin`](https://vega.github.io/vega-lite/docs/bin.html) documentation." }, "condition": { "anyOf": [ @@ -11088,14 +11090,7 @@ "params": { "description": "An array of parameters that may either be simple variables, or more complex selections that map user input to data queries.", "items": { - "anyOf": [ - { - "$ref": "#/definitions/VariableParameter" - }, - { - "$ref": "#/definitions/SelectionParameter" - } - ] + "$ref": "#/definitions/SelectionParameter" }, "type": "array" }, @@ -12313,7 +12308,7 @@ "type": "number" }, "bin": { - "description": "A flag for binning a `quantitative` field, [an object defining binning parameters](https://vega.github.io/vega-lite/docs/bin.html#params), or indicating that the data for `x` or `y` channel are binned before they are imported into Vega-Lite (`\"binned\"`).\n\n- If `true`, default [binning parameters](https://vega.github.io/vega-lite/docs/bin.html) will be applied.\n\n- If `\"binned\"`, this indicates that the data for the `x` (or `y`) channel are already binned. You can map the bin-start field to `x` (or `y`) and the bin-end field to `x2` (or `y2`). The scale and axis will be formatted similar to binning in Vega-Lite. To adjust the axis ticks based on the bin step, you can also set the axis's [`tickMinStep`](https://vega.github.io/vega-lite/docs/axis.html#ticks) property.\n\n__Default value:__ `false`\n\n__See also:__ [`bin`](https://vega.github.io/vega-lite/docs/bin.html) documentation.", + "description": "A flag for binning a `quantitative` field, [an object defining binning parameters](https://vega.github.io/vega-lite/docs/bin.html#bin-parameters), or indicating that the data for `x` or `y` channel are binned before they are imported into Vega-Lite (`\"binned\"`).\n\n- If `true`, default [binning parameters](https://vega.github.io/vega-lite/docs/bin.html#bin-parameters) will be applied.\n\n- If `\"binned\"`, this indicates that the data for the `x` (or `y`) channel are already binned. You can map the bin-start field to `x` (or `y`) and the bin-end field to `x2` (or `y2`). The scale and axis will be formatted similar to binning in Vega-Lite. To adjust the axis ticks based on the bin step, you can also set the axis's [`tickMinStep`](https://vega.github.io/vega-lite/docs/axis.html#ticks) property.\n\n__Default value:__ `false`\n\n__See also:__ [`bin`](https://vega.github.io/vega-lite/docs/bin.html) documentation.", "type": "null" }, "field": { @@ -17346,7 +17341,7 @@ "description": "An object that specifies the format for parsing the data." }, "name": { - "description": "Provide a placeholder name and bind data at runtime.", + "description": "Provide a placeholder name and bind data at runtime.\n\nNew data may change the layout but Vega does not always resize the chart. To update the layout when the data updates, set [autosize](https://vega.github.io/vega-lite/docs/size.html#autosize) or explicitly use [view.resize](https://vega.github.io/vega/docs/api/view/#view_resize).", "type": "string" } }, @@ -17595,7 +17590,7 @@ "type": "null" } ], - "description": "A flag for binning a `quantitative` field, [an object defining binning parameters](https://vega.github.io/vega-lite/docs/bin.html#params), or indicating that the data for `x` or `y` channel are binned before they are imported into Vega-Lite (`\"binned\"`).\n\n- If `true`, default [binning parameters](https://vega.github.io/vega-lite/docs/bin.html) will be applied.\n\n- If `\"binned\"`, this indicates that the data for the `x` (or `y`) channel are already binned. You can map the bin-start field to `x` (or `y`) and the bin-end field to `x2` (or `y2`). The scale and axis will be formatted similar to binning in Vega-Lite. To adjust the axis ticks based on the bin step, you can also set the axis's [`tickMinStep`](https://vega.github.io/vega-lite/docs/axis.html#ticks) property.\n\n__Default value:__ `false`\n\n__See also:__ [`bin`](https://vega.github.io/vega-lite/docs/bin.html) documentation." + "description": "A flag for binning a `quantitative` field, [an object defining binning parameters](https://vega.github.io/vega-lite/docs/bin.html#bin-parameters), or indicating that the data for `x` or `y` channel are binned before they are imported into Vega-Lite (`\"binned\"`).\n\n- If `true`, default [binning parameters](https://vega.github.io/vega-lite/docs/bin.html#bin-parameters) will be applied.\n\n- If `\"binned\"`, this indicates that the data for the `x` (or `y`) channel are already binned. You can map the bin-start field to `x` (or `y`) and the bin-end field to `x2` (or `y2`). The scale and axis will be formatted similar to binning in Vega-Lite. To adjust the axis ticks based on the bin step, you can also set the axis's [`tickMinStep`](https://vega.github.io/vega-lite/docs/axis.html#ticks) property.\n\n__Default value:__ `false`\n\n__See also:__ [`bin`](https://vega.github.io/vega-lite/docs/bin.html) documentation." }, "field": { "$ref": "#/definitions/Field", @@ -18967,7 +18962,7 @@ "type": "boolean" } ], - "description": "Type of stacking offset if the field should be stacked. `stack` is only applicable for `x`, `y`, `theta`, and `radius` channels with continuous domains. For example, `stack` of `y` can be used to customize stacking for a vertical bar chart.\n\n`stack` can be one of the following values:\n- `\"zero\"` or `true`: stacking with baseline offset at zero value of the scale (for creating typical stacked [bar](https://vega.github.io/vega-lite/docs/stack.html#bar) and [area](https://vega.github.io/vega-lite/docs/stack.html#area) chart).\n- `\"normalize\"` - stacking with normalized domain (for creating [normalized stacked bar and area charts](https://vega.github.io/vega-lite/docs/stack.html#normalized).
\n-`\"center\"` - stacking with center baseline (for [streamgraph](https://vega.github.io/vega-lite/docs/stack.html#streamgraph)).\n- `null` or `false` - No-stacking. This will produce layered [bar](https://vega.github.io/vega-lite/docs/stack.html#layered-bar-chart) and area chart.\n\n__Default value:__ `zero` for plots with all of the following conditions are true: (1) the mark is `bar`, `area`, or `arc`; (2) the stacked measure channel (x or y) has a linear scale; (3) At least one of non-position channels mapped to an unaggregated field that is different from x and y. Otherwise, `null` by default.\n\n__See also:__ [`stack`](https://vega.github.io/vega-lite/docs/stack.html) documentation." + "description": "Type of stacking offset if the field should be stacked. `stack` is only applicable for `x`, `y`, `theta`, and `radius` channels with continuous domains. For example, `stack` of `y` can be used to customize stacking for a vertical bar chart.\n\n`stack` can be one of the following values:\n- `\"zero\"` or `true`: stacking with baseline offset at zero value of the scale (for creating typical stacked [bar](https://vega.github.io/vega-lite/docs/stack.html#bar) and [area](https://vega.github.io/vega-lite/docs/stack.html#area) chart).\n- `\"normalize\"` - stacking with normalized domain (for creating [normalized stacked bar and area charts](https://vega.github.io/vega-lite/docs/stack.html#normalized) and pie charts [with percentage tooltip](https://vega.github.io/vega-lite/docs/arc.html#tooltip)).
\n-`\"center\"` - stacking with center baseline (for [streamgraph](https://vega.github.io/vega-lite/docs/stack.html#streamgraph)).\n- `null` or `false` - No-stacking. This will produce layered [bar](https://vega.github.io/vega-lite/docs/stack.html#layered-bar-chart) and area chart.\n\n__Default value:__ `zero` for plots with all of the following conditions are true: (1) the mark is `bar`, `area`, or `arc`; (2) the stacked measure channel (x or y) has a linear scale; (3) At least one of non-position channels mapped to an unaggregated field that is different from x and y. Otherwise, `null` by default.\n\n__See also:__ [`stack`](https://vega.github.io/vega-lite/docs/stack.html) documentation." }, "title": { "anyOf": [ @@ -19036,7 +19031,7 @@ "type": "boolean" } ], - "description": "Type of stacking offset if the field should be stacked. `stack` is only applicable for `x`, `y`, `theta`, and `radius` channels with continuous domains. For example, `stack` of `y` can be used to customize stacking for a vertical bar chart.\n\n`stack` can be one of the following values:\n- `\"zero\"` or `true`: stacking with baseline offset at zero value of the scale (for creating typical stacked [bar](https://vega.github.io/vega-lite/docs/stack.html#bar) and [area](https://vega.github.io/vega-lite/docs/stack.html#area) chart).\n- `\"normalize\"` - stacking with normalized domain (for creating [normalized stacked bar and area charts](https://vega.github.io/vega-lite/docs/stack.html#normalized).
\n-`\"center\"` - stacking with center baseline (for [streamgraph](https://vega.github.io/vega-lite/docs/stack.html#streamgraph)).\n- `null` or `false` - No-stacking. This will produce layered [bar](https://vega.github.io/vega-lite/docs/stack.html#layered-bar-chart) and area chart.\n\n__Default value:__ `zero` for plots with all of the following conditions are true: (1) the mark is `bar`, `area`, or `arc`; (2) the stacked measure channel (x or y) has a linear scale; (3) At least one of non-position channels mapped to an unaggregated field that is different from x and y. Otherwise, `null` by default.\n\n__See also:__ [`stack`](https://vega.github.io/vega-lite/docs/stack.html) documentation." + "description": "Type of stacking offset if the field should be stacked. `stack` is only applicable for `x`, `y`, `theta`, and `radius` channels with continuous domains. For example, `stack` of `y` can be used to customize stacking for a vertical bar chart.\n\n`stack` can be one of the following values:\n- `\"zero\"` or `true`: stacking with baseline offset at zero value of the scale (for creating typical stacked [bar](https://vega.github.io/vega-lite/docs/stack.html#bar) and [area](https://vega.github.io/vega-lite/docs/stack.html#area) chart).\n- `\"normalize\"` - stacking with normalized domain (for creating [normalized stacked bar and area charts](https://vega.github.io/vega-lite/docs/stack.html#normalized) and pie charts [with percentage tooltip](https://vega.github.io/vega-lite/docs/arc.html#tooltip)).
\n-`\"center\"` - stacking with center baseline (for [streamgraph](https://vega.github.io/vega-lite/docs/stack.html#streamgraph)).\n- `null` or `false` - No-stacking. This will produce layered [bar](https://vega.github.io/vega-lite/docs/stack.html#layered-bar-chart) and area chart.\n\n__Default value:__ `zero` for plots with all of the following conditions are true: (1) the mark is `bar`, `area`, or `arc`; (2) the stacked measure channel (x or y) has a linear scale; (3) At least one of non-position channels mapped to an unaggregated field that is different from x and y. Otherwise, `null` by default.\n\n__See also:__ [`stack`](https://vega.github.io/vega-lite/docs/stack.html) documentation." }, "title": { "anyOf": [ @@ -19109,7 +19104,7 @@ "type": "null" } ], - "description": "A flag for binning a `quantitative` field, [an object defining binning parameters](https://vega.github.io/vega-lite/docs/bin.html#params), or indicating that the data for `x` or `y` channel are binned before they are imported into Vega-Lite (`\"binned\"`).\n\n- If `true`, default [binning parameters](https://vega.github.io/vega-lite/docs/bin.html) will be applied.\n\n- If `\"binned\"`, this indicates that the data for the `x` (or `y`) channel are already binned. You can map the bin-start field to `x` (or `y`) and the bin-end field to `x2` (or `y2`). The scale and axis will be formatted similar to binning in Vega-Lite. To adjust the axis ticks based on the bin step, you can also set the axis's [`tickMinStep`](https://vega.github.io/vega-lite/docs/axis.html#ticks) property.\n\n__Default value:__ `false`\n\n__See also:__ [`bin`](https://vega.github.io/vega-lite/docs/bin.html) documentation." + "description": "A flag for binning a `quantitative` field, [an object defining binning parameters](https://vega.github.io/vega-lite/docs/bin.html#bin-parameters), or indicating that the data for `x` or `y` channel are binned before they are imported into Vega-Lite (`\"binned\"`).\n\n- If `true`, default [binning parameters](https://vega.github.io/vega-lite/docs/bin.html#bin-parameters) will be applied.\n\n- If `\"binned\"`, this indicates that the data for the `x` (or `y`) channel are already binned. You can map the bin-start field to `x` (or `y`) and the bin-end field to `x2` (or `y2`). The scale and axis will be formatted similar to binning in Vega-Lite. To adjust the axis ticks based on the bin step, you can also set the axis's [`tickMinStep`](https://vega.github.io/vega-lite/docs/axis.html#ticks) property.\n\n__Default value:__ `false`\n\n__See also:__ [`bin`](https://vega.github.io/vega-lite/docs/bin.html) documentation." }, "field": { "$ref": "#/definitions/Field", @@ -19153,7 +19148,7 @@ "type": "boolean" } ], - "description": "Type of stacking offset if the field should be stacked. `stack` is only applicable for `x`, `y`, `theta`, and `radius` channels with continuous domains. For example, `stack` of `y` can be used to customize stacking for a vertical bar chart.\n\n`stack` can be one of the following values:\n- `\"zero\"` or `true`: stacking with baseline offset at zero value of the scale (for creating typical stacked [bar](https://vega.github.io/vega-lite/docs/stack.html#bar) and [area](https://vega.github.io/vega-lite/docs/stack.html#area) chart).\n- `\"normalize\"` - stacking with normalized domain (for creating [normalized stacked bar and area charts](https://vega.github.io/vega-lite/docs/stack.html#normalized).
\n-`\"center\"` - stacking with center baseline (for [streamgraph](https://vega.github.io/vega-lite/docs/stack.html#streamgraph)).\n- `null` or `false` - No-stacking. This will produce layered [bar](https://vega.github.io/vega-lite/docs/stack.html#layered-bar-chart) and area chart.\n\n__Default value:__ `zero` for plots with all of the following conditions are true: (1) the mark is `bar`, `area`, or `arc`; (2) the stacked measure channel (x or y) has a linear scale; (3) At least one of non-position channels mapped to an unaggregated field that is different from x and y. Otherwise, `null` by default.\n\n__See also:__ [`stack`](https://vega.github.io/vega-lite/docs/stack.html) documentation." + "description": "Type of stacking offset if the field should be stacked. `stack` is only applicable for `x`, `y`, `theta`, and `radius` channels with continuous domains. For example, `stack` of `y` can be used to customize stacking for a vertical bar chart.\n\n`stack` can be one of the following values:\n- `\"zero\"` or `true`: stacking with baseline offset at zero value of the scale (for creating typical stacked [bar](https://vega.github.io/vega-lite/docs/stack.html#bar) and [area](https://vega.github.io/vega-lite/docs/stack.html#area) chart).\n- `\"normalize\"` - stacking with normalized domain (for creating [normalized stacked bar and area charts](https://vega.github.io/vega-lite/docs/stack.html#normalized) and pie charts [with percentage tooltip](https://vega.github.io/vega-lite/docs/arc.html#tooltip)).
\n-`\"center\"` - stacking with center baseline (for [streamgraph](https://vega.github.io/vega-lite/docs/stack.html#streamgraph)).\n- `null` or `false` - No-stacking. This will produce layered [bar](https://vega.github.io/vega-lite/docs/stack.html#layered-bar-chart) and area chart.\n\n__Default value:__ `zero` for plots with all of the following conditions are true: (1) the mark is `bar`, `area`, or `arc`; (2) the stacked measure channel (x or y) has a linear scale; (3) At least one of non-position channels mapped to an unaggregated field that is different from x and y. Otherwise, `null` by default.\n\n__See also:__ [`stack`](https://vega.github.io/vega-lite/docs/stack.html) documentation." }, "timeUnit": { "anyOf": [ @@ -19213,7 +19208,7 @@ "type": "null" } ], - "description": "A flag for binning a `quantitative` field, [an object defining binning parameters](https://vega.github.io/vega-lite/docs/bin.html#params), or indicating that the data for `x` or `y` channel are binned before they are imported into Vega-Lite (`\"binned\"`).\n\n- If `true`, default [binning parameters](https://vega.github.io/vega-lite/docs/bin.html) will be applied.\n\n- If `\"binned\"`, this indicates that the data for the `x` (or `y`) channel are already binned. You can map the bin-start field to `x` (or `y`) and the bin-end field to `x2` (or `y2`). The scale and axis will be formatted similar to binning in Vega-Lite. To adjust the axis ticks based on the bin step, you can also set the axis's [`tickMinStep`](https://vega.github.io/vega-lite/docs/axis.html#ticks) property.\n\n__Default value:__ `false`\n\n__See also:__ [`bin`](https://vega.github.io/vega-lite/docs/bin.html) documentation." + "description": "A flag for binning a `quantitative` field, [an object defining binning parameters](https://vega.github.io/vega-lite/docs/bin.html#bin-parameters), or indicating that the data for `x` or `y` channel are binned before they are imported into Vega-Lite (`\"binned\"`).\n\n- If `true`, default [binning parameters](https://vega.github.io/vega-lite/docs/bin.html#bin-parameters) will be applied.\n\n- If `\"binned\"`, this indicates that the data for the `x` (or `y`) channel are already binned. You can map the bin-start field to `x` (or `y`) and the bin-end field to `x2` (or `y2`). The scale and axis will be formatted similar to binning in Vega-Lite. To adjust the axis ticks based on the bin step, you can also set the axis's [`tickMinStep`](https://vega.github.io/vega-lite/docs/axis.html#ticks) property.\n\n__Default value:__ `false`\n\n__See also:__ [`bin`](https://vega.github.io/vega-lite/docs/bin.html) documentation." }, "field": { "$ref": "#/definitions/Field", @@ -19246,7 +19241,7 @@ "type": "boolean" } ], - "description": "Type of stacking offset if the field should be stacked. `stack` is only applicable for `x`, `y`, `theta`, and `radius` channels with continuous domains. For example, `stack` of `y` can be used to customize stacking for a vertical bar chart.\n\n`stack` can be one of the following values:\n- `\"zero\"` or `true`: stacking with baseline offset at zero value of the scale (for creating typical stacked [bar](https://vega.github.io/vega-lite/docs/stack.html#bar) and [area](https://vega.github.io/vega-lite/docs/stack.html#area) chart).\n- `\"normalize\"` - stacking with normalized domain (for creating [normalized stacked bar and area charts](https://vega.github.io/vega-lite/docs/stack.html#normalized).
\n-`\"center\"` - stacking with center baseline (for [streamgraph](https://vega.github.io/vega-lite/docs/stack.html#streamgraph)).\n- `null` or `false` - No-stacking. This will produce layered [bar](https://vega.github.io/vega-lite/docs/stack.html#layered-bar-chart) and area chart.\n\n__Default value:__ `zero` for plots with all of the following conditions are true: (1) the mark is `bar`, `area`, or `arc`; (2) the stacked measure channel (x or y) has a linear scale; (3) At least one of non-position channels mapped to an unaggregated field that is different from x and y. Otherwise, `null` by default.\n\n__See also:__ [`stack`](https://vega.github.io/vega-lite/docs/stack.html) documentation." + "description": "Type of stacking offset if the field should be stacked. `stack` is only applicable for `x`, `y`, `theta`, and `radius` channels with continuous domains. For example, `stack` of `y` can be used to customize stacking for a vertical bar chart.\n\n`stack` can be one of the following values:\n- `\"zero\"` or `true`: stacking with baseline offset at zero value of the scale (for creating typical stacked [bar](https://vega.github.io/vega-lite/docs/stack.html#bar) and [area](https://vega.github.io/vega-lite/docs/stack.html#area) chart).\n- `\"normalize\"` - stacking with normalized domain (for creating [normalized stacked bar and area charts](https://vega.github.io/vega-lite/docs/stack.html#normalized) and pie charts [with percentage tooltip](https://vega.github.io/vega-lite/docs/arc.html#tooltip)).
\n-`\"center\"` - stacking with center baseline (for [streamgraph](https://vega.github.io/vega-lite/docs/stack.html#streamgraph)).\n- `null` or `false` - No-stacking. This will produce layered [bar](https://vega.github.io/vega-lite/docs/stack.html#layered-bar-chart) and area chart.\n\n__Default value:__ `zero` for plots with all of the following conditions are true: (1) the mark is `bar`, `area`, or `arc`; (2) the stacked measure channel (x or y) has a linear scale; (3) At least one of non-position channels mapped to an unaggregated field that is different from x and y. Otherwise, `null` by default.\n\n__See also:__ [`stack`](https://vega.github.io/vega-lite/docs/stack.html) documentation." }, "timeUnit": { "anyOf": [ @@ -20938,7 +20933,7 @@ "type": "null" } ], - "description": "A flag for binning a `quantitative` field, [an object defining binning parameters](https://vega.github.io/vega-lite/docs/bin.html#params), or indicating that the data for `x` or `y` channel are binned before they are imported into Vega-Lite (`\"binned\"`).\n\n- If `true`, default [binning parameters](https://vega.github.io/vega-lite/docs/bin.html) will be applied.\n\n- If `\"binned\"`, this indicates that the data for the `x` (or `y`) channel are already binned. You can map the bin-start field to `x` (or `y`) and the bin-end field to `x2` (or `y2`). The scale and axis will be formatted similar to binning in Vega-Lite. To adjust the axis ticks based on the bin step, you can also set the axis's [`tickMinStep`](https://vega.github.io/vega-lite/docs/axis.html#ticks) property.\n\n__Default value:__ `false`\n\n__See also:__ [`bin`](https://vega.github.io/vega-lite/docs/bin.html) documentation." + "description": "A flag for binning a `quantitative` field, [an object defining binning parameters](https://vega.github.io/vega-lite/docs/bin.html#bin-parameters), or indicating that the data for `x` or `y` channel are binned before they are imported into Vega-Lite (`\"binned\"`).\n\n- If `true`, default [binning parameters](https://vega.github.io/vega-lite/docs/bin.html#bin-parameters) will be applied.\n\n- If `\"binned\"`, this indicates that the data for the `x` (or `y`) channel are already binned. You can map the bin-start field to `x` (or `y`) and the bin-end field to `x2` (or `y2`). The scale and axis will be formatted similar to binning in Vega-Lite. To adjust the axis ticks based on the bin step, you can also set the axis's [`tickMinStep`](https://vega.github.io/vega-lite/docs/axis.html#ticks) property.\n\n__Default value:__ `false`\n\n__See also:__ [`bin`](https://vega.github.io/vega-lite/docs/bin.html) documentation." }, "center": { "description": "Boolean flag indicating if facet's subviews should be centered relative to their respective rows or columns.\n\n__Default value:__ `false`", @@ -21697,7 +21692,7 @@ "type": "null" } ], - "description": "A flag for binning a `quantitative` field, [an object defining binning parameters](https://vega.github.io/vega-lite/docs/bin.html#params), or indicating that the data for `x` or `y` channel are binned before they are imported into Vega-Lite (`\"binned\"`).\n\n- If `true`, default [binning parameters](https://vega.github.io/vega-lite/docs/bin.html) will be applied.\n\n- If `\"binned\"`, this indicates that the data for the `x` (or `y`) channel are already binned. You can map the bin-start field to `x` (or `y`) and the bin-end field to `x2` (or `y2`). The scale and axis will be formatted similar to binning in Vega-Lite. To adjust the axis ticks based on the bin step, you can also set the axis's [`tickMinStep`](https://vega.github.io/vega-lite/docs/axis.html#ticks) property.\n\n__Default value:__ `false`\n\n__See also:__ [`bin`](https://vega.github.io/vega-lite/docs/bin.html) documentation." + "description": "A flag for binning a `quantitative` field, [an object defining binning parameters](https://vega.github.io/vega-lite/docs/bin.html#bin-parameters), or indicating that the data for `x` or `y` channel are binned before they are imported into Vega-Lite (`\"binned\"`).\n\n- If `true`, default [binning parameters](https://vega.github.io/vega-lite/docs/bin.html#bin-parameters) will be applied.\n\n- If `\"binned\"`, this indicates that the data for the `x` (or `y`) channel are already binned. You can map the bin-start field to `x` (or `y`) and the bin-end field to `x2` (or `y2`). The scale and axis will be formatted similar to binning in Vega-Lite. To adjust the axis ticks based on the bin step, you can also set the axis's [`tickMinStep`](https://vega.github.io/vega-lite/docs/axis.html#ticks) property.\n\n__Default value:__ `false`\n\n__See also:__ [`bin`](https://vega.github.io/vega-lite/docs/bin.html) documentation." }, "field": { "$ref": "#/definitions/Field", @@ -21897,7 +21892,7 @@ "type": "number" }, "bin": { - "description": "A flag for binning a `quantitative` field, [an object defining binning parameters](https://vega.github.io/vega-lite/docs/bin.html#params), or indicating that the data for `x` or `y` channel are binned before they are imported into Vega-Lite (`\"binned\"`).\n\n- If `true`, default [binning parameters](https://vega.github.io/vega-lite/docs/bin.html) will be applied.\n\n- If `\"binned\"`, this indicates that the data for the `x` (or `y`) channel are already binned. You can map the bin-start field to `x` (or `y`) and the bin-end field to `x2` (or `y2`). The scale and axis will be formatted similar to binning in Vega-Lite. To adjust the axis ticks based on the bin step, you can also set the axis's [`tickMinStep`](https://vega.github.io/vega-lite/docs/axis.html#ticks) property.\n\n__Default value:__ `false`\n\n__See also:__ [`bin`](https://vega.github.io/vega-lite/docs/bin.html) documentation.", + "description": "A flag for binning a `quantitative` field, [an object defining binning parameters](https://vega.github.io/vega-lite/docs/bin.html#bin-parameters), or indicating that the data for `x` or `y` channel are binned before they are imported into Vega-Lite (`\"binned\"`).\n\n- If `true`, default [binning parameters](https://vega.github.io/vega-lite/docs/bin.html#bin-parameters) will be applied.\n\n- If `\"binned\"`, this indicates that the data for the `x` (or `y`) channel are already binned. You can map the bin-start field to `x` (or `y`) and the bin-end field to `x2` (or `y2`). The scale and axis will be formatted similar to binning in Vega-Lite. To adjust the axis ticks based on the bin step, you can also set the axis's [`tickMinStep`](https://vega.github.io/vega-lite/docs/axis.html#ticks) property.\n\n__Default value:__ `false`\n\n__See also:__ [`bin`](https://vega.github.io/vega-lite/docs/bin.html) documentation.", "type": "null" }, "field": { @@ -22356,7 +22351,7 @@ "type": "null" } ], - "description": "A flag for binning a `quantitative` field, [an object defining binning parameters](https://vega.github.io/vega-lite/docs/bin.html#params), or indicating that the data for `x` or `y` channel are binned before they are imported into Vega-Lite (`\"binned\"`).\n\n- If `true`, default [binning parameters](https://vega.github.io/vega-lite/docs/bin.html) will be applied.\n\n- If `\"binned\"`, this indicates that the data for the `x` (or `y`) channel are already binned. You can map the bin-start field to `x` (or `y`) and the bin-end field to `x2` (or `y2`). The scale and axis will be formatted similar to binning in Vega-Lite. To adjust the axis ticks based on the bin step, you can also set the axis's [`tickMinStep`](https://vega.github.io/vega-lite/docs/axis.html#ticks) property.\n\n__Default value:__ `false`\n\n__See also:__ [`bin`](https://vega.github.io/vega-lite/docs/bin.html) documentation." + "description": "A flag for binning a `quantitative` field, [an object defining binning parameters](https://vega.github.io/vega-lite/docs/bin.html#bin-parameters), or indicating that the data for `x` or `y` channel are binned before they are imported into Vega-Lite (`\"binned\"`).\n\n- If `true`, default [binning parameters](https://vega.github.io/vega-lite/docs/bin.html#bin-parameters) will be applied.\n\n- If `\"binned\"`, this indicates that the data for the `x` (or `y`) channel are already binned. You can map the bin-start field to `x` (or `y`) and the bin-end field to `x2` (or `y2`). The scale and axis will be formatted similar to binning in Vega-Lite. To adjust the axis ticks based on the bin step, you can also set the axis's [`tickMinStep`](https://vega.github.io/vega-lite/docs/axis.html#ticks) property.\n\n__Default value:__ `false`\n\n__See also:__ [`bin`](https://vega.github.io/vega-lite/docs/bin.html) documentation." }, "condition": { "anyOf": [ @@ -22515,7 +22510,7 @@ "type": "null" } ], - "description": "A flag for binning a `quantitative` field, [an object defining binning parameters](https://vega.github.io/vega-lite/docs/bin.html#params), or indicating that the data for `x` or `y` channel are binned before they are imported into Vega-Lite (`\"binned\"`).\n\n- If `true`, default [binning parameters](https://vega.github.io/vega-lite/docs/bin.html) will be applied.\n\n- If `\"binned\"`, this indicates that the data for the `x` (or `y`) channel are already binned. You can map the bin-start field to `x` (or `y`) and the bin-end field to `x2` (or `y2`). The scale and axis will be formatted similar to binning in Vega-Lite. To adjust the axis ticks based on the bin step, you can also set the axis's [`tickMinStep`](https://vega.github.io/vega-lite/docs/axis.html#ticks) property.\n\n__Default value:__ `false`\n\n__See also:__ [`bin`](https://vega.github.io/vega-lite/docs/bin.html) documentation." + "description": "A flag for binning a `quantitative` field, [an object defining binning parameters](https://vega.github.io/vega-lite/docs/bin.html#bin-parameters), or indicating that the data for `x` or `y` channel are binned before they are imported into Vega-Lite (`\"binned\"`).\n\n- If `true`, default [binning parameters](https://vega.github.io/vega-lite/docs/bin.html#bin-parameters) will be applied.\n\n- If `\"binned\"`, this indicates that the data for the `x` (or `y`) channel are already binned. You can map the bin-start field to `x` (or `y`) and the bin-end field to `x2` (or `y2`). The scale and axis will be formatted similar to binning in Vega-Lite. To adjust the axis ticks based on the bin step, you can also set the axis's [`tickMinStep`](https://vega.github.io/vega-lite/docs/axis.html#ticks) property.\n\n__Default value:__ `false`\n\n__See also:__ [`bin`](https://vega.github.io/vega-lite/docs/bin.html) documentation." }, "condition": { "anyOf": [ @@ -22684,7 +22679,7 @@ "type": "null" } ], - "description": "A flag for binning a `quantitative` field, [an object defining binning parameters](https://vega.github.io/vega-lite/docs/bin.html#params), or indicating that the data for `x` or `y` channel are binned before they are imported into Vega-Lite (`\"binned\"`).\n\n- If `true`, default [binning parameters](https://vega.github.io/vega-lite/docs/bin.html) will be applied.\n\n- If `\"binned\"`, this indicates that the data for the `x` (or `y`) channel are already binned. You can map the bin-start field to `x` (or `y`) and the bin-end field to `x2` (or `y2`). The scale and axis will be formatted similar to binning in Vega-Lite. To adjust the axis ticks based on the bin step, you can also set the axis's [`tickMinStep`](https://vega.github.io/vega-lite/docs/axis.html#ticks) property.\n\n__Default value:__ `false`\n\n__See also:__ [`bin`](https://vega.github.io/vega-lite/docs/bin.html) documentation." + "description": "A flag for binning a `quantitative` field, [an object defining binning parameters](https://vega.github.io/vega-lite/docs/bin.html#bin-parameters), or indicating that the data for `x` or `y` channel are binned before they are imported into Vega-Lite (`\"binned\"`).\n\n- If `true`, default [binning parameters](https://vega.github.io/vega-lite/docs/bin.html#bin-parameters) will be applied.\n\n- If `\"binned\"`, this indicates that the data for the `x` (or `y`) channel are already binned. You can map the bin-start field to `x` (or `y`) and the bin-end field to `x2` (or `y2`). The scale and axis will be formatted similar to binning in Vega-Lite. To adjust the axis ticks based on the bin step, you can also set the axis's [`tickMinStep`](https://vega.github.io/vega-lite/docs/axis.html#ticks) property.\n\n__Default value:__ `false`\n\n__See also:__ [`bin`](https://vega.github.io/vega-lite/docs/bin.html) documentation." }, "condition": { "anyOf": [ @@ -22823,7 +22818,7 @@ "type": "null" } ], - "description": "A flag for binning a `quantitative` field, [an object defining binning parameters](https://vega.github.io/vega-lite/docs/bin.html#params), or indicating that the data for `x` or `y` channel are binned before they are imported into Vega-Lite (`\"binned\"`).\n\n- If `true`, default [binning parameters](https://vega.github.io/vega-lite/docs/bin.html) will be applied.\n\n- If `\"binned\"`, this indicates that the data for the `x` (or `y`) channel are already binned. You can map the bin-start field to `x` (or `y`) and the bin-end field to `x2` (or `y2`). The scale and axis will be formatted similar to binning in Vega-Lite. To adjust the axis ticks based on the bin step, you can also set the axis's [`tickMinStep`](https://vega.github.io/vega-lite/docs/axis.html#ticks) property.\n\n__Default value:__ `false`\n\n__See also:__ [`bin`](https://vega.github.io/vega-lite/docs/bin.html) documentation." + "description": "A flag for binning a `quantitative` field, [an object defining binning parameters](https://vega.github.io/vega-lite/docs/bin.html#bin-parameters), or indicating that the data for `x` or `y` channel are binned before they are imported into Vega-Lite (`\"binned\"`).\n\n- If `true`, default [binning parameters](https://vega.github.io/vega-lite/docs/bin.html#bin-parameters) will be applied.\n\n- If `\"binned\"`, this indicates that the data for the `x` (or `y`) channel are already binned. You can map the bin-start field to `x` (or `y`) and the bin-end field to `x2` (or `y2`). The scale and axis will be formatted similar to binning in Vega-Lite. To adjust the axis ticks based on the bin step, you can also set the axis's [`tickMinStep`](https://vega.github.io/vega-lite/docs/axis.html#ticks) property.\n\n__Default value:__ `false`\n\n__See also:__ [`bin`](https://vega.github.io/vega-lite/docs/bin.html) documentation." }, "condition": { "anyOf": [ @@ -22988,7 +22983,7 @@ "type": "null" } ], - "description": "A flag for binning a `quantitative` field, [an object defining binning parameters](https://vega.github.io/vega-lite/docs/bin.html#params), or indicating that the data for `x` or `y` channel are binned before they are imported into Vega-Lite (`\"binned\"`).\n\n- If `true`, default [binning parameters](https://vega.github.io/vega-lite/docs/bin.html) will be applied.\n\n- If `\"binned\"`, this indicates that the data for the `x` (or `y`) channel are already binned. You can map the bin-start field to `x` (or `y`) and the bin-end field to `x2` (or `y2`). The scale and axis will be formatted similar to binning in Vega-Lite. To adjust the axis ticks based on the bin step, you can also set the axis's [`tickMinStep`](https://vega.github.io/vega-lite/docs/axis.html#ticks) property.\n\n__Default value:__ `false`\n\n__See also:__ [`bin`](https://vega.github.io/vega-lite/docs/bin.html) documentation." + "description": "A flag for binning a `quantitative` field, [an object defining binning parameters](https://vega.github.io/vega-lite/docs/bin.html#bin-parameters), or indicating that the data for `x` or `y` channel are binned before they are imported into Vega-Lite (`\"binned\"`).\n\n- If `true`, default [binning parameters](https://vega.github.io/vega-lite/docs/bin.html#bin-parameters) will be applied.\n\n- If `\"binned\"`, this indicates that the data for the `x` (or `y`) channel are already binned. You can map the bin-start field to `x` (or `y`) and the bin-end field to `x2` (or `y2`). The scale and axis will be formatted similar to binning in Vega-Lite. To adjust the axis ticks based on the bin step, you can also set the axis's [`tickMinStep`](https://vega.github.io/vega-lite/docs/axis.html#ticks) property.\n\n__Default value:__ `false`\n\n__See also:__ [`bin`](https://vega.github.io/vega-lite/docs/bin.html) documentation." }, "condition": { "anyOf": [ @@ -23151,7 +23146,7 @@ "type": "null" } ], - "description": "A flag for binning a `quantitative` field, [an object defining binning parameters](https://vega.github.io/vega-lite/docs/bin.html#params), or indicating that the data for `x` or `y` channel are binned before they are imported into Vega-Lite (`\"binned\"`).\n\n- If `true`, default [binning parameters](https://vega.github.io/vega-lite/docs/bin.html) will be applied.\n\n- If `\"binned\"`, this indicates that the data for the `x` (or `y`) channel are already binned. You can map the bin-start field to `x` (or `y`) and the bin-end field to `x2` (or `y2`). The scale and axis will be formatted similar to binning in Vega-Lite. To adjust the axis ticks based on the bin step, you can also set the axis's [`tickMinStep`](https://vega.github.io/vega-lite/docs/axis.html#ticks) property.\n\n__Default value:__ `false`\n\n__See also:__ [`bin`](https://vega.github.io/vega-lite/docs/bin.html) documentation." + "description": "A flag for binning a `quantitative` field, [an object defining binning parameters](https://vega.github.io/vega-lite/docs/bin.html#bin-parameters), or indicating that the data for `x` or `y` channel are binned before they are imported into Vega-Lite (`\"binned\"`).\n\n- If `true`, default [binning parameters](https://vega.github.io/vega-lite/docs/bin.html#bin-parameters) will be applied.\n\n- If `\"binned\"`, this indicates that the data for the `x` (or `y`) channel are already binned. You can map the bin-start field to `x` (or `y`) and the bin-end field to `x2` (or `y2`). The scale and axis will be formatted similar to binning in Vega-Lite. To adjust the axis ticks based on the bin step, you can also set the axis's [`tickMinStep`](https://vega.github.io/vega-lite/docs/axis.html#ticks) property.\n\n__Default value:__ `false`\n\n__See also:__ [`bin`](https://vega.github.io/vega-lite/docs/bin.html) documentation." }, "condition": { "anyOf": [ @@ -23280,7 +23275,7 @@ "type": "null" } ], - "description": "A flag for binning a `quantitative` field, [an object defining binning parameters](https://vega.github.io/vega-lite/docs/bin.html#params), or indicating that the data for `x` or `y` channel are binned before they are imported into Vega-Lite (`\"binned\"`).\n\n- If `true`, default [binning parameters](https://vega.github.io/vega-lite/docs/bin.html) will be applied.\n\n- If `\"binned\"`, this indicates that the data for the `x` (or `y`) channel are already binned. You can map the bin-start field to `x` (or `y`) and the bin-end field to `x2` (or `y2`). The scale and axis will be formatted similar to binning in Vega-Lite. To adjust the axis ticks based on the bin step, you can also set the axis's [`tickMinStep`](https://vega.github.io/vega-lite/docs/axis.html#ticks) property.\n\n__Default value:__ `false`\n\n__See also:__ [`bin`](https://vega.github.io/vega-lite/docs/bin.html) documentation." + "description": "A flag for binning a `quantitative` field, [an object defining binning parameters](https://vega.github.io/vega-lite/docs/bin.html#bin-parameters), or indicating that the data for `x` or `y` channel are binned before they are imported into Vega-Lite (`\"binned\"`).\n\n- If `true`, default [binning parameters](https://vega.github.io/vega-lite/docs/bin.html#bin-parameters) will be applied.\n\n- If `\"binned\"`, this indicates that the data for the `x` (or `y`) channel are already binned. You can map the bin-start field to `x` (or `y`) and the bin-end field to `x2` (or `y2`). The scale and axis will be formatted similar to binning in Vega-Lite. To adjust the axis ticks based on the bin step, you can also set the axis's [`tickMinStep`](https://vega.github.io/vega-lite/docs/axis.html#ticks) property.\n\n__Default value:__ `false`\n\n__See also:__ [`bin`](https://vega.github.io/vega-lite/docs/bin.html) documentation." }, "field": { "$ref": "#/definitions/Field", @@ -23329,7 +23324,7 @@ "type": "number" }, "bin": { - "description": "A flag for binning a `quantitative` field, [an object defining binning parameters](https://vega.github.io/vega-lite/docs/bin.html#params), or indicating that the data for `x` or `y` channel are binned before they are imported into Vega-Lite (`\"binned\"`).\n\n- If `true`, default [binning parameters](https://vega.github.io/vega-lite/docs/bin.html) will be applied.\n\n- If `\"binned\"`, this indicates that the data for the `x` (or `y`) channel are already binned. You can map the bin-start field to `x` (or `y`) and the bin-end field to `x2` (or `y2`). The scale and axis will be formatted similar to binning in Vega-Lite. To adjust the axis ticks based on the bin step, you can also set the axis's [`tickMinStep`](https://vega.github.io/vega-lite/docs/axis.html#ticks) property.\n\n__Default value:__ `false`\n\n__See also:__ [`bin`](https://vega.github.io/vega-lite/docs/bin.html) documentation.", + "description": "A flag for binning a `quantitative` field, [an object defining binning parameters](https://vega.github.io/vega-lite/docs/bin.html#bin-parameters), or indicating that the data for `x` or `y` channel are binned before they are imported into Vega-Lite (`\"binned\"`).\n\n- If `true`, default [binning parameters](https://vega.github.io/vega-lite/docs/bin.html#bin-parameters) will be applied.\n\n- If `\"binned\"`, this indicates that the data for the `x` (or `y`) channel are already binned. You can map the bin-start field to `x` (or `y`) and the bin-end field to `x2` (or `y2`). The scale and axis will be formatted similar to binning in Vega-Lite. To adjust the axis ticks based on the bin step, you can also set the axis's [`tickMinStep`](https://vega.github.io/vega-lite/docs/axis.html#ticks) property.\n\n__Default value:__ `false`\n\n__See also:__ [`bin`](https://vega.github.io/vega-lite/docs/bin.html) documentation.", "type": "null" }, "datum": { @@ -23406,7 +23401,7 @@ "type": "number" }, "bin": { - "description": "A flag for binning a `quantitative` field, [an object defining binning parameters](https://vega.github.io/vega-lite/docs/bin.html#params), or indicating that the data for `x` or `y` channel are binned before they are imported into Vega-Lite (`\"binned\"`).\n\n- If `true`, default [binning parameters](https://vega.github.io/vega-lite/docs/bin.html) will be applied.\n\n- If `\"binned\"`, this indicates that the data for the `x` (or `y`) channel are already binned. You can map the bin-start field to `x` (or `y`) and the bin-end field to `x2` (or `y2`). The scale and axis will be formatted similar to binning in Vega-Lite. To adjust the axis ticks based on the bin step, you can also set the axis's [`tickMinStep`](https://vega.github.io/vega-lite/docs/axis.html#ticks) property.\n\n__Default value:__ `false`\n\n__See also:__ [`bin`](https://vega.github.io/vega-lite/docs/bin.html) documentation.", + "description": "A flag for binning a `quantitative` field, [an object defining binning parameters](https://vega.github.io/vega-lite/docs/bin.html#bin-parameters), or indicating that the data for `x` or `y` channel are binned before they are imported into Vega-Lite (`\"binned\"`).\n\n- If `true`, default [binning parameters](https://vega.github.io/vega-lite/docs/bin.html#bin-parameters) will be applied.\n\n- If `\"binned\"`, this indicates that the data for the `x` (or `y`) channel are already binned. You can map the bin-start field to `x` (or `y`) and the bin-end field to `x2` (or `y2`). The scale and axis will be formatted similar to binning in Vega-Lite. To adjust the axis ticks based on the bin step, you can also set the axis's [`tickMinStep`](https://vega.github.io/vega-lite/docs/axis.html#ticks) property.\n\n__Default value:__ `false`\n\n__See also:__ [`bin`](https://vega.github.io/vega-lite/docs/bin.html) documentation.", "type": "null" }, "datum": { @@ -23492,7 +23487,7 @@ "type": "number" }, "bin": { - "description": "A flag for binning a `quantitative` field, [an object defining binning parameters](https://vega.github.io/vega-lite/docs/bin.html#params), or indicating that the data for `x` or `y` channel are binned before they are imported into Vega-Lite (`\"binned\"`).\n\n- If `true`, default [binning parameters](https://vega.github.io/vega-lite/docs/bin.html) will be applied.\n\n- If `\"binned\"`, this indicates that the data for the `x` (or `y`) channel are already binned. You can map the bin-start field to `x` (or `y`) and the bin-end field to `x2` (or `y2`). The scale and axis will be formatted similar to binning in Vega-Lite. To adjust the axis ticks based on the bin step, you can also set the axis's [`tickMinStep`](https://vega.github.io/vega-lite/docs/axis.html#ticks) property.\n\n__Default value:__ `false`\n\n__See also:__ [`bin`](https://vega.github.io/vega-lite/docs/bin.html) documentation.", + "description": "A flag for binning a `quantitative` field, [an object defining binning parameters](https://vega.github.io/vega-lite/docs/bin.html#bin-parameters), or indicating that the data for `x` or `y` channel are binned before they are imported into Vega-Lite (`\"binned\"`).\n\n- If `true`, default [binning parameters](https://vega.github.io/vega-lite/docs/bin.html#bin-parameters) will be applied.\n\n- If `\"binned\"`, this indicates that the data for the `x` (or `y`) channel are already binned. You can map the bin-start field to `x` (or `y`) and the bin-end field to `x2` (or `y2`). The scale and axis will be formatted similar to binning in Vega-Lite. To adjust the axis ticks based on the bin step, you can also set the axis's [`tickMinStep`](https://vega.github.io/vega-lite/docs/axis.html#ticks) property.\n\n__Default value:__ `false`\n\n__See also:__ [`bin`](https://vega.github.io/vega-lite/docs/bin.html) documentation.", "type": "null" }, "datum": { @@ -23569,7 +23564,7 @@ "type": "number" }, "bin": { - "description": "A flag for binning a `quantitative` field, [an object defining binning parameters](https://vega.github.io/vega-lite/docs/bin.html#params), or indicating that the data for `x` or `y` channel are binned before they are imported into Vega-Lite (`\"binned\"`).\n\n- If `true`, default [binning parameters](https://vega.github.io/vega-lite/docs/bin.html) will be applied.\n\n- If `\"binned\"`, this indicates that the data for the `x` (or `y`) channel are already binned. You can map the bin-start field to `x` (or `y`) and the bin-end field to `x2` (or `y2`). The scale and axis will be formatted similar to binning in Vega-Lite. To adjust the axis ticks based on the bin step, you can also set the axis's [`tickMinStep`](https://vega.github.io/vega-lite/docs/axis.html#ticks) property.\n\n__Default value:__ `false`\n\n__See also:__ [`bin`](https://vega.github.io/vega-lite/docs/bin.html) documentation.", + "description": "A flag for binning a `quantitative` field, [an object defining binning parameters](https://vega.github.io/vega-lite/docs/bin.html#bin-parameters), or indicating that the data for `x` or `y` channel are binned before they are imported into Vega-Lite (`\"binned\"`).\n\n- If `true`, default [binning parameters](https://vega.github.io/vega-lite/docs/bin.html#bin-parameters) will be applied.\n\n- If `\"binned\"`, this indicates that the data for the `x` (or `y`) channel are already binned. You can map the bin-start field to `x` (or `y`) and the bin-end field to `x2` (or `y2`). The scale and axis will be formatted similar to binning in Vega-Lite. To adjust the axis ticks based on the bin step, you can also set the axis's [`tickMinStep`](https://vega.github.io/vega-lite/docs/axis.html#ticks) property.\n\n__Default value:__ `false`\n\n__See also:__ [`bin`](https://vega.github.io/vega-lite/docs/bin.html) documentation.", "type": "null" }, "datum": { @@ -23666,7 +23661,7 @@ "type": "null" } ], - "description": "A flag for binning a `quantitative` field, [an object defining binning parameters](https://vega.github.io/vega-lite/docs/bin.html#params), or indicating that the data for `x` or `y` channel are binned before they are imported into Vega-Lite (`\"binned\"`).\n\n- If `true`, default [binning parameters](https://vega.github.io/vega-lite/docs/bin.html) will be applied.\n\n- If `\"binned\"`, this indicates that the data for the `x` (or `y`) channel are already binned. You can map the bin-start field to `x` (or `y`) and the bin-end field to `x2` (or `y2`). The scale and axis will be formatted similar to binning in Vega-Lite. To adjust the axis ticks based on the bin step, you can also set the axis's [`tickMinStep`](https://vega.github.io/vega-lite/docs/axis.html#ticks) property.\n\n__Default value:__ `false`\n\n__See also:__ [`bin`](https://vega.github.io/vega-lite/docs/bin.html) documentation." + "description": "A flag for binning a `quantitative` field, [an object defining binning parameters](https://vega.github.io/vega-lite/docs/bin.html#bin-parameters), or indicating that the data for `x` or `y` channel are binned before they are imported into Vega-Lite (`\"binned\"`).\n\n- If `true`, default [binning parameters](https://vega.github.io/vega-lite/docs/bin.html#bin-parameters) will be applied.\n\n- If `\"binned\"`, this indicates that the data for the `x` (or `y`) channel are already binned. You can map the bin-start field to `x` (or `y`) and the bin-end field to `x2` (or `y2`). The scale and axis will be formatted similar to binning in Vega-Lite. To adjust the axis ticks based on the bin step, you can also set the axis's [`tickMinStep`](https://vega.github.io/vega-lite/docs/axis.html#ticks) property.\n\n__Default value:__ `false`\n\n__See also:__ [`bin`](https://vega.github.io/vega-lite/docs/bin.html) documentation." }, "condition": { "anyOf": [ @@ -23846,7 +23841,7 @@ "type": "null" } ], - "description": "A flag for binning a `quantitative` field, [an object defining binning parameters](https://vega.github.io/vega-lite/docs/bin.html#params), or indicating that the data for `x` or `y` channel are binned before they are imported into Vega-Lite (`\"binned\"`).\n\n- If `true`, default [binning parameters](https://vega.github.io/vega-lite/docs/bin.html) will be applied.\n\n- If `\"binned\"`, this indicates that the data for the `x` (or `y`) channel are already binned. You can map the bin-start field to `x` (or `y`) and the bin-end field to `x2` (or `y2`). The scale and axis will be formatted similar to binning in Vega-Lite. To adjust the axis ticks based on the bin step, you can also set the axis's [`tickMinStep`](https://vega.github.io/vega-lite/docs/axis.html#ticks) property.\n\n__Default value:__ `false`\n\n__See also:__ [`bin`](https://vega.github.io/vega-lite/docs/bin.html) documentation." + "description": "A flag for binning a `quantitative` field, [an object defining binning parameters](https://vega.github.io/vega-lite/docs/bin.html#bin-parameters), or indicating that the data for `x` or `y` channel are binned before they are imported into Vega-Lite (`\"binned\"`).\n\n- If `true`, default [binning parameters](https://vega.github.io/vega-lite/docs/bin.html#bin-parameters) will be applied.\n\n- If `\"binned\"`, this indicates that the data for the `x` (or `y`) channel are already binned. You can map the bin-start field to `x` (or `y`) and the bin-end field to `x2` (or `y2`). The scale and axis will be formatted similar to binning in Vega-Lite. To adjust the axis ticks based on the bin step, you can also set the axis's [`tickMinStep`](https://vega.github.io/vega-lite/docs/axis.html#ticks) property.\n\n__Default value:__ `false`\n\n__See also:__ [`bin`](https://vega.github.io/vega-lite/docs/bin.html) documentation." }, "datum": { "anyOf": [ @@ -23896,7 +23891,7 @@ "type": "boolean" } ], - "description": "Type of stacking offset if the field should be stacked. `stack` is only applicable for `x`, `y`, `theta`, and `radius` channels with continuous domains. For example, `stack` of `y` can be used to customize stacking for a vertical bar chart.\n\n`stack` can be one of the following values:\n- `\"zero\"` or `true`: stacking with baseline offset at zero value of the scale (for creating typical stacked [bar](https://vega.github.io/vega-lite/docs/stack.html#bar) and [area](https://vega.github.io/vega-lite/docs/stack.html#area) chart).\n- `\"normalize\"` - stacking with normalized domain (for creating [normalized stacked bar and area charts](https://vega.github.io/vega-lite/docs/stack.html#normalized).
\n-`\"center\"` - stacking with center baseline (for [streamgraph](https://vega.github.io/vega-lite/docs/stack.html#streamgraph)).\n- `null` or `false` - No-stacking. This will produce layered [bar](https://vega.github.io/vega-lite/docs/stack.html#layered-bar-chart) and area chart.\n\n__Default value:__ `zero` for plots with all of the following conditions are true: (1) the mark is `bar`, `area`, or `arc`; (2) the stacked measure channel (x or y) has a linear scale; (3) At least one of non-position channels mapped to an unaggregated field that is different from x and y. Otherwise, `null` by default.\n\n__See also:__ [`stack`](https://vega.github.io/vega-lite/docs/stack.html) documentation." + "description": "Type of stacking offset if the field should be stacked. `stack` is only applicable for `x`, `y`, `theta`, and `radius` channels with continuous domains. For example, `stack` of `y` can be used to customize stacking for a vertical bar chart.\n\n`stack` can be one of the following values:\n- `\"zero\"` or `true`: stacking with baseline offset at zero value of the scale (for creating typical stacked [bar](https://vega.github.io/vega-lite/docs/stack.html#bar) and [area](https://vega.github.io/vega-lite/docs/stack.html#area) chart).\n- `\"normalize\"` - stacking with normalized domain (for creating [normalized stacked bar and area charts](https://vega.github.io/vega-lite/docs/stack.html#normalized) and pie charts [with percentage tooltip](https://vega.github.io/vega-lite/docs/arc.html#tooltip)).
\n-`\"center\"` - stacking with center baseline (for [streamgraph](https://vega.github.io/vega-lite/docs/stack.html#streamgraph)).\n- `null` or `false` - No-stacking. This will produce layered [bar](https://vega.github.io/vega-lite/docs/stack.html#layered-bar-chart) and area chart.\n\n__Default value:__ `zero` for plots with all of the following conditions are true: (1) the mark is `bar`, `area`, or `arc`; (2) the stacked measure channel (x or y) has a linear scale; (3) At least one of non-position channels mapped to an unaggregated field that is different from x and y. Otherwise, `null` by default.\n\n__See also:__ [`stack`](https://vega.github.io/vega-lite/docs/stack.html) documentation." }, "timeUnit": { "anyOf": [ @@ -23969,7 +23964,7 @@ "type": "number" }, "bin": { - "description": "A flag for binning a `quantitative` field, [an object defining binning parameters](https://vega.github.io/vega-lite/docs/bin.html#params), or indicating that the data for `x` or `y` channel are binned before they are imported into Vega-Lite (`\"binned\"`).\n\n- If `true`, default [binning parameters](https://vega.github.io/vega-lite/docs/bin.html) will be applied.\n\n- If `\"binned\"`, this indicates that the data for the `x` (or `y`) channel are already binned. You can map the bin-start field to `x` (or `y`) and the bin-end field to `x2` (or `y2`). The scale and axis will be formatted similar to binning in Vega-Lite. To adjust the axis ticks based on the bin step, you can also set the axis's [`tickMinStep`](https://vega.github.io/vega-lite/docs/axis.html#ticks) property.\n\n__Default value:__ `false`\n\n__See also:__ [`bin`](https://vega.github.io/vega-lite/docs/bin.html) documentation.", + "description": "A flag for binning a `quantitative` field, [an object defining binning parameters](https://vega.github.io/vega-lite/docs/bin.html#bin-parameters), or indicating that the data for `x` or `y` channel are binned before they are imported into Vega-Lite (`\"binned\"`).\n\n- If `true`, default [binning parameters](https://vega.github.io/vega-lite/docs/bin.html#bin-parameters) will be applied.\n\n- If `\"binned\"`, this indicates that the data for the `x` (or `y`) channel are already binned. You can map the bin-start field to `x` (or `y`) and the bin-end field to `x2` (or `y2`). The scale and axis will be formatted similar to binning in Vega-Lite. To adjust the axis ticks based on the bin step, you can also set the axis's [`tickMinStep`](https://vega.github.io/vega-lite/docs/axis.html#ticks) property.\n\n__Default value:__ `false`\n\n__See also:__ [`bin`](https://vega.github.io/vega-lite/docs/bin.html) documentation.", "type": "null" }, "datum": { @@ -24066,7 +24061,7 @@ "type": "null" } ], - "description": "A flag for binning a `quantitative` field, [an object defining binning parameters](https://vega.github.io/vega-lite/docs/bin.html#params), or indicating that the data for `x` or `y` channel are binned before they are imported into Vega-Lite (`\"binned\"`).\n\n- If `true`, default [binning parameters](https://vega.github.io/vega-lite/docs/bin.html) will be applied.\n\n- If `\"binned\"`, this indicates that the data for the `x` (or `y`) channel are already binned. You can map the bin-start field to `x` (or `y`) and the bin-end field to `x2` (or `y2`). The scale and axis will be formatted similar to binning in Vega-Lite. To adjust the axis ticks based on the bin step, you can also set the axis's [`tickMinStep`](https://vega.github.io/vega-lite/docs/axis.html#ticks) property.\n\n__Default value:__ `false`\n\n__See also:__ [`bin`](https://vega.github.io/vega-lite/docs/bin.html) documentation." + "description": "A flag for binning a `quantitative` field, [an object defining binning parameters](https://vega.github.io/vega-lite/docs/bin.html#bin-parameters), or indicating that the data for `x` or `y` channel are binned before they are imported into Vega-Lite (`\"binned\"`).\n\n- If `true`, default [binning parameters](https://vega.github.io/vega-lite/docs/bin.html#bin-parameters) will be applied.\n\n- If `\"binned\"`, this indicates that the data for the `x` (or `y`) channel are already binned. You can map the bin-start field to `x` (or `y`) and the bin-end field to `x2` (or `y2`). The scale and axis will be formatted similar to binning in Vega-Lite. To adjust the axis ticks based on the bin step, you can also set the axis's [`tickMinStep`](https://vega.github.io/vega-lite/docs/axis.html#ticks) property.\n\n__Default value:__ `false`\n\n__See also:__ [`bin`](https://vega.github.io/vega-lite/docs/bin.html) documentation." }, "condition": { "anyOf": [ @@ -24228,7 +24223,7 @@ "type": "null" } ], - "description": "A flag for binning a `quantitative` field, [an object defining binning parameters](https://vega.github.io/vega-lite/docs/bin.html#params), or indicating that the data for `x` or `y` channel are binned before they are imported into Vega-Lite (`\"binned\"`).\n\n- If `true`, default [binning parameters](https://vega.github.io/vega-lite/docs/bin.html) will be applied.\n\n- If `\"binned\"`, this indicates that the data for the `x` (or `y`) channel are already binned. You can map the bin-start field to `x` (or `y`) and the bin-end field to `x2` (or `y2`). The scale and axis will be formatted similar to binning in Vega-Lite. To adjust the axis ticks based on the bin step, you can also set the axis's [`tickMinStep`](https://vega.github.io/vega-lite/docs/axis.html#ticks) property.\n\n__Default value:__ `false`\n\n__See also:__ [`bin`](https://vega.github.io/vega-lite/docs/bin.html) documentation." + "description": "A flag for binning a `quantitative` field, [an object defining binning parameters](https://vega.github.io/vega-lite/docs/bin.html#bin-parameters), or indicating that the data for `x` or `y` channel are binned before they are imported into Vega-Lite (`\"binned\"`).\n\n- If `true`, default [binning parameters](https://vega.github.io/vega-lite/docs/bin.html#bin-parameters) will be applied.\n\n- If `\"binned\"`, this indicates that the data for the `x` (or `y`) channel are already binned. You can map the bin-start field to `x` (or `y`) and the bin-end field to `x2` (or `y2`). The scale and axis will be formatted similar to binning in Vega-Lite. To adjust the axis ticks based on the bin step, you can also set the axis's [`tickMinStep`](https://vega.github.io/vega-lite/docs/axis.html#ticks) property.\n\n__Default value:__ `false`\n\n__See also:__ [`bin`](https://vega.github.io/vega-lite/docs/bin.html) documentation." }, "condition": { "anyOf": [ @@ -24387,7 +24382,7 @@ "type": "null" } ], - "description": "A flag for binning a `quantitative` field, [an object defining binning parameters](https://vega.github.io/vega-lite/docs/bin.html#params), or indicating that the data for `x` or `y` channel are binned before they are imported into Vega-Lite (`\"binned\"`).\n\n- If `true`, default [binning parameters](https://vega.github.io/vega-lite/docs/bin.html) will be applied.\n\n- If `\"binned\"`, this indicates that the data for the `x` (or `y`) channel are already binned. You can map the bin-start field to `x` (or `y`) and the bin-end field to `x2` (or `y2`). The scale and axis will be formatted similar to binning in Vega-Lite. To adjust the axis ticks based on the bin step, you can also set the axis's [`tickMinStep`](https://vega.github.io/vega-lite/docs/axis.html#ticks) property.\n\n__Default value:__ `false`\n\n__See also:__ [`bin`](https://vega.github.io/vega-lite/docs/bin.html) documentation." + "description": "A flag for binning a `quantitative` field, [an object defining binning parameters](https://vega.github.io/vega-lite/docs/bin.html#bin-parameters), or indicating that the data for `x` or `y` channel are binned before they are imported into Vega-Lite (`\"binned\"`).\n\n- If `true`, default [binning parameters](https://vega.github.io/vega-lite/docs/bin.html#bin-parameters) will be applied.\n\n- If `\"binned\"`, this indicates that the data for the `x` (or `y`) channel are already binned. You can map the bin-start field to `x` (or `y`) and the bin-end field to `x2` (or `y2`). The scale and axis will be formatted similar to binning in Vega-Lite. To adjust the axis ticks based on the bin step, you can also set the axis's [`tickMinStep`](https://vega.github.io/vega-lite/docs/axis.html#ticks) property.\n\n__Default value:__ `false`\n\n__See also:__ [`bin`](https://vega.github.io/vega-lite/docs/bin.html) documentation." }, "condition": { "anyOf": [ @@ -24552,7 +24547,7 @@ "type": "null" } ], - "description": "A flag for binning a `quantitative` field, [an object defining binning parameters](https://vega.github.io/vega-lite/docs/bin.html#params), or indicating that the data for `x` or `y` channel are binned before they are imported into Vega-Lite (`\"binned\"`).\n\n- If `true`, default [binning parameters](https://vega.github.io/vega-lite/docs/bin.html) will be applied.\n\n- If `\"binned\"`, this indicates that the data for the `x` (or `y`) channel are already binned. You can map the bin-start field to `x` (or `y`) and the bin-end field to `x2` (or `y2`). The scale and axis will be formatted similar to binning in Vega-Lite. To adjust the axis ticks based on the bin step, you can also set the axis's [`tickMinStep`](https://vega.github.io/vega-lite/docs/axis.html#ticks) property.\n\n__Default value:__ `false`\n\n__See also:__ [`bin`](https://vega.github.io/vega-lite/docs/bin.html) documentation." + "description": "A flag for binning a `quantitative` field, [an object defining binning parameters](https://vega.github.io/vega-lite/docs/bin.html#bin-parameters), or indicating that the data for `x` or `y` channel are binned before they are imported into Vega-Lite (`\"binned\"`).\n\n- If `true`, default [binning parameters](https://vega.github.io/vega-lite/docs/bin.html#bin-parameters) will be applied.\n\n- If `\"binned\"`, this indicates that the data for the `x` (or `y`) channel are already binned. You can map the bin-start field to `x` (or `y`) and the bin-end field to `x2` (or `y2`). The scale and axis will be formatted similar to binning in Vega-Lite. To adjust the axis ticks based on the bin step, you can also set the axis's [`tickMinStep`](https://vega.github.io/vega-lite/docs/axis.html#ticks) property.\n\n__Default value:__ `false`\n\n__See also:__ [`bin`](https://vega.github.io/vega-lite/docs/bin.html) documentation." }, "condition": { "anyOf": [ @@ -24714,7 +24709,7 @@ "type": "null" } ], - "description": "A flag for binning a `quantitative` field, [an object defining binning parameters](https://vega.github.io/vega-lite/docs/bin.html#params), or indicating that the data for `x` or `y` channel are binned before they are imported into Vega-Lite (`\"binned\"`).\n\n- If `true`, default [binning parameters](https://vega.github.io/vega-lite/docs/bin.html) will be applied.\n\n- If `\"binned\"`, this indicates that the data for the `x` (or `y`) channel are already binned. You can map the bin-start field to `x` (or `y`) and the bin-end field to `x2` (or `y2`). The scale and axis will be formatted similar to binning in Vega-Lite. To adjust the axis ticks based on the bin step, you can also set the axis's [`tickMinStep`](https://vega.github.io/vega-lite/docs/axis.html#ticks) property.\n\n__Default value:__ `false`\n\n__See also:__ [`bin`](https://vega.github.io/vega-lite/docs/bin.html) documentation." + "description": "A flag for binning a `quantitative` field, [an object defining binning parameters](https://vega.github.io/vega-lite/docs/bin.html#bin-parameters), or indicating that the data for `x` or `y` channel are binned before they are imported into Vega-Lite (`\"binned\"`).\n\n- If `true`, default [binning parameters](https://vega.github.io/vega-lite/docs/bin.html#bin-parameters) will be applied.\n\n- If `\"binned\"`, this indicates that the data for the `x` (or `y`) channel are already binned. You can map the bin-start field to `x` (or `y`) and the bin-end field to `x2` (or `y2`). The scale and axis will be formatted similar to binning in Vega-Lite. To adjust the axis ticks based on the bin step, you can also set the axis's [`tickMinStep`](https://vega.github.io/vega-lite/docs/axis.html#ticks) property.\n\n__Default value:__ `false`\n\n__See also:__ [`bin`](https://vega.github.io/vega-lite/docs/bin.html) documentation." }, "condition": { "anyOf": [ @@ -24873,7 +24868,7 @@ "type": "null" } ], - "description": "A flag for binning a `quantitative` field, [an object defining binning parameters](https://vega.github.io/vega-lite/docs/bin.html#params), or indicating that the data for `x` or `y` channel are binned before they are imported into Vega-Lite (`\"binned\"`).\n\n- If `true`, default [binning parameters](https://vega.github.io/vega-lite/docs/bin.html) will be applied.\n\n- If `\"binned\"`, this indicates that the data for the `x` (or `y`) channel are already binned. You can map the bin-start field to `x` (or `y`) and the bin-end field to `x2` (or `y2`). The scale and axis will be formatted similar to binning in Vega-Lite. To adjust the axis ticks based on the bin step, you can also set the axis's [`tickMinStep`](https://vega.github.io/vega-lite/docs/axis.html#ticks) property.\n\n__Default value:__ `false`\n\n__See also:__ [`bin`](https://vega.github.io/vega-lite/docs/bin.html) documentation." + "description": "A flag for binning a `quantitative` field, [an object defining binning parameters](https://vega.github.io/vega-lite/docs/bin.html#bin-parameters), or indicating that the data for `x` or `y` channel are binned before they are imported into Vega-Lite (`\"binned\"`).\n\n- If `true`, default [binning parameters](https://vega.github.io/vega-lite/docs/bin.html#bin-parameters) will be applied.\n\n- If `\"binned\"`, this indicates that the data for the `x` (or `y`) channel are already binned. You can map the bin-start field to `x` (or `y`) and the bin-end field to `x2` (or `y2`). The scale and axis will be formatted similar to binning in Vega-Lite. To adjust the axis ticks based on the bin step, you can also set the axis's [`tickMinStep`](https://vega.github.io/vega-lite/docs/axis.html#ticks) property.\n\n__Default value:__ `false`\n\n__See also:__ [`bin`](https://vega.github.io/vega-lite/docs/bin.html) documentation." }, "condition": { "anyOf": [ @@ -25036,7 +25031,7 @@ "type": "null" } ], - "description": "A flag for binning a `quantitative` field, [an object defining binning parameters](https://vega.github.io/vega-lite/docs/bin.html#params), or indicating that the data for `x` or `y` channel are binned before they are imported into Vega-Lite (`\"binned\"`).\n\n- If `true`, default [binning parameters](https://vega.github.io/vega-lite/docs/bin.html) will be applied.\n\n- If `\"binned\"`, this indicates that the data for the `x` (or `y`) channel are already binned. You can map the bin-start field to `x` (or `y`) and the bin-end field to `x2` (or `y2`). The scale and axis will be formatted similar to binning in Vega-Lite. To adjust the axis ticks based on the bin step, you can also set the axis's [`tickMinStep`](https://vega.github.io/vega-lite/docs/axis.html#ticks) property.\n\n__Default value:__ `false`\n\n__See also:__ [`bin`](https://vega.github.io/vega-lite/docs/bin.html) documentation." + "description": "A flag for binning a `quantitative` field, [an object defining binning parameters](https://vega.github.io/vega-lite/docs/bin.html#bin-parameters), or indicating that the data for `x` or `y` channel are binned before they are imported into Vega-Lite (`\"binned\"`).\n\n- If `true`, default [binning parameters](https://vega.github.io/vega-lite/docs/bin.html#bin-parameters) will be applied.\n\n- If `\"binned\"`, this indicates that the data for the `x` (or `y`) channel are already binned. You can map the bin-start field to `x` (or `y`) and the bin-end field to `x2` (or `y2`). The scale and axis will be formatted similar to binning in Vega-Lite. To adjust the axis ticks based on the bin step, you can also set the axis's [`tickMinStep`](https://vega.github.io/vega-lite/docs/axis.html#ticks) property.\n\n__Default value:__ `false`\n\n__See also:__ [`bin`](https://vega.github.io/vega-lite/docs/bin.html) documentation." }, "condition": { "anyOf": [ @@ -25188,7 +25183,7 @@ "type": "null" } ], - "description": "A flag for binning a `quantitative` field, [an object defining binning parameters](https://vega.github.io/vega-lite/docs/bin.html#params), or indicating that the data for `x` or `y` channel are binned before they are imported into Vega-Lite (`\"binned\"`).\n\n- If `true`, default [binning parameters](https://vega.github.io/vega-lite/docs/bin.html) will be applied.\n\n- If `\"binned\"`, this indicates that the data for the `x` (or `y`) channel are already binned. You can map the bin-start field to `x` (or `y`) and the bin-end field to `x2` (or `y2`). The scale and axis will be formatted similar to binning in Vega-Lite. To adjust the axis ticks based on the bin step, you can also set the axis's [`tickMinStep`](https://vega.github.io/vega-lite/docs/axis.html#ticks) property.\n\n__Default value:__ `false`\n\n__See also:__ [`bin`](https://vega.github.io/vega-lite/docs/bin.html) documentation." + "description": "A flag for binning a `quantitative` field, [an object defining binning parameters](https://vega.github.io/vega-lite/docs/bin.html#bin-parameters), or indicating that the data for `x` or `y` channel are binned before they are imported into Vega-Lite (`\"binned\"`).\n\n- If `true`, default [binning parameters](https://vega.github.io/vega-lite/docs/bin.html#bin-parameters) will be applied.\n\n- If `\"binned\"`, this indicates that the data for the `x` (or `y`) channel are already binned. You can map the bin-start field to `x` (or `y`) and the bin-end field to `x2` (or `y2`). The scale and axis will be formatted similar to binning in Vega-Lite. To adjust the axis ticks based on the bin step, you can also set the axis's [`tickMinStep`](https://vega.github.io/vega-lite/docs/axis.html#ticks) property.\n\n__Default value:__ `false`\n\n__See also:__ [`bin`](https://vega.github.io/vega-lite/docs/bin.html) documentation." }, "datum": { "anyOf": [ @@ -25238,7 +25233,7 @@ "type": "boolean" } ], - "description": "Type of stacking offset if the field should be stacked. `stack` is only applicable for `x`, `y`, `theta`, and `radius` channels with continuous domains. For example, `stack` of `y` can be used to customize stacking for a vertical bar chart.\n\n`stack` can be one of the following values:\n- `\"zero\"` or `true`: stacking with baseline offset at zero value of the scale (for creating typical stacked [bar](https://vega.github.io/vega-lite/docs/stack.html#bar) and [area](https://vega.github.io/vega-lite/docs/stack.html#area) chart).\n- `\"normalize\"` - stacking with normalized domain (for creating [normalized stacked bar and area charts](https://vega.github.io/vega-lite/docs/stack.html#normalized).
\n-`\"center\"` - stacking with center baseline (for [streamgraph](https://vega.github.io/vega-lite/docs/stack.html#streamgraph)).\n- `null` or `false` - No-stacking. This will produce layered [bar](https://vega.github.io/vega-lite/docs/stack.html#layered-bar-chart) and area chart.\n\n__Default value:__ `zero` for plots with all of the following conditions are true: (1) the mark is `bar`, `area`, or `arc`; (2) the stacked measure channel (x or y) has a linear scale; (3) At least one of non-position channels mapped to an unaggregated field that is different from x and y. Otherwise, `null` by default.\n\n__See also:__ [`stack`](https://vega.github.io/vega-lite/docs/stack.html) documentation." + "description": "Type of stacking offset if the field should be stacked. `stack` is only applicable for `x`, `y`, `theta`, and `radius` channels with continuous domains. For example, `stack` of `y` can be used to customize stacking for a vertical bar chart.\n\n`stack` can be one of the following values:\n- `\"zero\"` or `true`: stacking with baseline offset at zero value of the scale (for creating typical stacked [bar](https://vega.github.io/vega-lite/docs/stack.html#bar) and [area](https://vega.github.io/vega-lite/docs/stack.html#area) chart).\n- `\"normalize\"` - stacking with normalized domain (for creating [normalized stacked bar and area charts](https://vega.github.io/vega-lite/docs/stack.html#normalized) and pie charts [with percentage tooltip](https://vega.github.io/vega-lite/docs/arc.html#tooltip)).
\n-`\"center\"` - stacking with center baseline (for [streamgraph](https://vega.github.io/vega-lite/docs/stack.html#streamgraph)).\n- `null` or `false` - No-stacking. This will produce layered [bar](https://vega.github.io/vega-lite/docs/stack.html#layered-bar-chart) and area chart.\n\n__Default value:__ `zero` for plots with all of the following conditions are true: (1) the mark is `bar`, `area`, or `arc`; (2) the stacked measure channel (x or y) has a linear scale; (3) At least one of non-position channels mapped to an unaggregated field that is different from x and y. Otherwise, `null` by default.\n\n__See also:__ [`stack`](https://vega.github.io/vega-lite/docs/stack.html) documentation." }, "timeUnit": { "anyOf": [ @@ -25311,7 +25306,7 @@ "type": "number" }, "bin": { - "description": "A flag for binning a `quantitative` field, [an object defining binning parameters](https://vega.github.io/vega-lite/docs/bin.html#params), or indicating that the data for `x` or `y` channel are binned before they are imported into Vega-Lite (`\"binned\"`).\n\n- If `true`, default [binning parameters](https://vega.github.io/vega-lite/docs/bin.html) will be applied.\n\n- If `\"binned\"`, this indicates that the data for the `x` (or `y`) channel are already binned. You can map the bin-start field to `x` (or `y`) and the bin-end field to `x2` (or `y2`). The scale and axis will be formatted similar to binning in Vega-Lite. To adjust the axis ticks based on the bin step, you can also set the axis's [`tickMinStep`](https://vega.github.io/vega-lite/docs/axis.html#ticks) property.\n\n__Default value:__ `false`\n\n__See also:__ [`bin`](https://vega.github.io/vega-lite/docs/bin.html) documentation.", + "description": "A flag for binning a `quantitative` field, [an object defining binning parameters](https://vega.github.io/vega-lite/docs/bin.html#bin-parameters), or indicating that the data for `x` or `y` channel are binned before they are imported into Vega-Lite (`\"binned\"`).\n\n- If `true`, default [binning parameters](https://vega.github.io/vega-lite/docs/bin.html#bin-parameters) will be applied.\n\n- If `\"binned\"`, this indicates that the data for the `x` (or `y`) channel are already binned. You can map the bin-start field to `x` (or `y`) and the bin-end field to `x2` (or `y2`). The scale and axis will be formatted similar to binning in Vega-Lite. To adjust the axis ticks based on the bin step, you can also set the axis's [`tickMinStep`](https://vega.github.io/vega-lite/docs/axis.html#ticks) property.\n\n__Default value:__ `false`\n\n__See also:__ [`bin`](https://vega.github.io/vega-lite/docs/bin.html) documentation.", "type": "null" }, "datum": { @@ -25432,7 +25427,7 @@ "type": "null" } ], - "description": "A flag for binning a `quantitative` field, [an object defining binning parameters](https://vega.github.io/vega-lite/docs/bin.html#params), or indicating that the data for `x` or `y` channel are binned before they are imported into Vega-Lite (`\"binned\"`).\n\n- If `true`, default [binning parameters](https://vega.github.io/vega-lite/docs/bin.html) will be applied.\n\n- If `\"binned\"`, this indicates that the data for the `x` (or `y`) channel are already binned. You can map the bin-start field to `x` (or `y`) and the bin-end field to `x2` (or `y2`). The scale and axis will be formatted similar to binning in Vega-Lite. To adjust the axis ticks based on the bin step, you can also set the axis's [`tickMinStep`](https://vega.github.io/vega-lite/docs/axis.html#ticks) property.\n\n__Default value:__ `false`\n\n__See also:__ [`bin`](https://vega.github.io/vega-lite/docs/bin.html) documentation." + "description": "A flag for binning a `quantitative` field, [an object defining binning parameters](https://vega.github.io/vega-lite/docs/bin.html#bin-parameters), or indicating that the data for `x` or `y` channel are binned before they are imported into Vega-Lite (`\"binned\"`).\n\n- If `true`, default [binning parameters](https://vega.github.io/vega-lite/docs/bin.html#bin-parameters) will be applied.\n\n- If `\"binned\"`, this indicates that the data for the `x` (or `y`) channel are already binned. You can map the bin-start field to `x` (or `y`) and the bin-end field to `x2` (or `y2`). The scale and axis will be formatted similar to binning in Vega-Lite. To adjust the axis ticks based on the bin step, you can also set the axis's [`tickMinStep`](https://vega.github.io/vega-lite/docs/axis.html#ticks) property.\n\n__Default value:__ `false`\n\n__See also:__ [`bin`](https://vega.github.io/vega-lite/docs/bin.html) documentation." }, "condition": { "anyOf": [ @@ -25572,7 +25567,7 @@ "type": "null" } ], - "description": "A flag for binning a `quantitative` field, [an object defining binning parameters](https://vega.github.io/vega-lite/docs/bin.html#params), or indicating that the data for `x` or `y` channel are binned before they are imported into Vega-Lite (`\"binned\"`).\n\n- If `true`, default [binning parameters](https://vega.github.io/vega-lite/docs/bin.html) will be applied.\n\n- If `\"binned\"`, this indicates that the data for the `x` (or `y`) channel are already binned. You can map the bin-start field to `x` (or `y`) and the bin-end field to `x2` (or `y2`). The scale and axis will be formatted similar to binning in Vega-Lite. To adjust the axis ticks based on the bin step, you can also set the axis's [`tickMinStep`](https://vega.github.io/vega-lite/docs/axis.html#ticks) property.\n\n__Default value:__ `false`\n\n__See also:__ [`bin`](https://vega.github.io/vega-lite/docs/bin.html) documentation." + "description": "A flag for binning a `quantitative` field, [an object defining binning parameters](https://vega.github.io/vega-lite/docs/bin.html#bin-parameters), or indicating that the data for `x` or `y` channel are binned before they are imported into Vega-Lite (`\"binned\"`).\n\n- If `true`, default [binning parameters](https://vega.github.io/vega-lite/docs/bin.html#bin-parameters) will be applied.\n\n- If `\"binned\"`, this indicates that the data for the `x` (or `y`) channel are already binned. You can map the bin-start field to `x` (or `y`) and the bin-end field to `x2` (or `y2`). The scale and axis will be formatted similar to binning in Vega-Lite. To adjust the axis ticks based on the bin step, you can also set the axis's [`tickMinStep`](https://vega.github.io/vega-lite/docs/axis.html#ticks) property.\n\n__Default value:__ `false`\n\n__See also:__ [`bin`](https://vega.github.io/vega-lite/docs/bin.html) documentation." }, "datum": { "anyOf": [ @@ -25633,7 +25628,7 @@ "type": "boolean" } ], - "description": "Type of stacking offset if the field should be stacked. `stack` is only applicable for `x`, `y`, `theta`, and `radius` channels with continuous domains. For example, `stack` of `y` can be used to customize stacking for a vertical bar chart.\n\n`stack` can be one of the following values:\n- `\"zero\"` or `true`: stacking with baseline offset at zero value of the scale (for creating typical stacked [bar](https://vega.github.io/vega-lite/docs/stack.html#bar) and [area](https://vega.github.io/vega-lite/docs/stack.html#area) chart).\n- `\"normalize\"` - stacking with normalized domain (for creating [normalized stacked bar and area charts](https://vega.github.io/vega-lite/docs/stack.html#normalized).
\n-`\"center\"` - stacking with center baseline (for [streamgraph](https://vega.github.io/vega-lite/docs/stack.html#streamgraph)).\n- `null` or `false` - No-stacking. This will produce layered [bar](https://vega.github.io/vega-lite/docs/stack.html#layered-bar-chart) and area chart.\n\n__Default value:__ `zero` for plots with all of the following conditions are true: (1) the mark is `bar`, `area`, or `arc`; (2) the stacked measure channel (x or y) has a linear scale; (3) At least one of non-position channels mapped to an unaggregated field that is different from x and y. Otherwise, `null` by default.\n\n__See also:__ [`stack`](https://vega.github.io/vega-lite/docs/stack.html) documentation." + "description": "Type of stacking offset if the field should be stacked. `stack` is only applicable for `x`, `y`, `theta`, and `radius` channels with continuous domains. For example, `stack` of `y` can be used to customize stacking for a vertical bar chart.\n\n`stack` can be one of the following values:\n- `\"zero\"` or `true`: stacking with baseline offset at zero value of the scale (for creating typical stacked [bar](https://vega.github.io/vega-lite/docs/stack.html#bar) and [area](https://vega.github.io/vega-lite/docs/stack.html#area) chart).\n- `\"normalize\"` - stacking with normalized domain (for creating [normalized stacked bar and area charts](https://vega.github.io/vega-lite/docs/stack.html#normalized) and pie charts [with percentage tooltip](https://vega.github.io/vega-lite/docs/arc.html#tooltip)).
\n-`\"center\"` - stacking with center baseline (for [streamgraph](https://vega.github.io/vega-lite/docs/stack.html#streamgraph)).\n- `null` or `false` - No-stacking. This will produce layered [bar](https://vega.github.io/vega-lite/docs/stack.html#layered-bar-chart) and area chart.\n\n__Default value:__ `zero` for plots with all of the following conditions are true: (1) the mark is `bar`, `area`, or `arc`; (2) the stacked measure channel (x or y) has a linear scale; (3) At least one of non-position channels mapped to an unaggregated field that is different from x and y. Otherwise, `null` by default.\n\n__See also:__ [`stack`](https://vega.github.io/vega-lite/docs/stack.html) documentation." }, "timeUnit": { "anyOf": [ @@ -25706,7 +25701,7 @@ "type": "number" }, "bin": { - "description": "A flag for binning a `quantitative` field, [an object defining binning parameters](https://vega.github.io/vega-lite/docs/bin.html#params), or indicating that the data for `x` or `y` channel are binned before they are imported into Vega-Lite (`\"binned\"`).\n\n- If `true`, default [binning parameters](https://vega.github.io/vega-lite/docs/bin.html) will be applied.\n\n- If `\"binned\"`, this indicates that the data for the `x` (or `y`) channel are already binned. You can map the bin-start field to `x` (or `y`) and the bin-end field to `x2` (or `y2`). The scale and axis will be formatted similar to binning in Vega-Lite. To adjust the axis ticks based on the bin step, you can also set the axis's [`tickMinStep`](https://vega.github.io/vega-lite/docs/axis.html#ticks) property.\n\n__Default value:__ `false`\n\n__See also:__ [`bin`](https://vega.github.io/vega-lite/docs/bin.html) documentation.", + "description": "A flag for binning a `quantitative` field, [an object defining binning parameters](https://vega.github.io/vega-lite/docs/bin.html#bin-parameters), or indicating that the data for `x` or `y` channel are binned before they are imported into Vega-Lite (`\"binned\"`).\n\n- If `true`, default [binning parameters](https://vega.github.io/vega-lite/docs/bin.html#bin-parameters) will be applied.\n\n- If `\"binned\"`, this indicates that the data for the `x` (or `y`) channel are already binned. You can map the bin-start field to `x` (or `y`) and the bin-end field to `x2` (or `y2`). The scale and axis will be formatted similar to binning in Vega-Lite. To adjust the axis ticks based on the bin step, you can also set the axis's [`tickMinStep`](https://vega.github.io/vega-lite/docs/axis.html#ticks) property.\n\n__Default value:__ `false`\n\n__See also:__ [`bin`](https://vega.github.io/vega-lite/docs/bin.html) documentation.", "type": "null" }, "datum": { @@ -25792,7 +25787,7 @@ "type": "number" }, "bin": { - "description": "A flag for binning a `quantitative` field, [an object defining binning parameters](https://vega.github.io/vega-lite/docs/bin.html#params), or indicating that the data for `x` or `y` channel are binned before they are imported into Vega-Lite (`\"binned\"`).\n\n- If `true`, default [binning parameters](https://vega.github.io/vega-lite/docs/bin.html) will be applied.\n\n- If `\"binned\"`, this indicates that the data for the `x` (or `y`) channel are already binned. You can map the bin-start field to `x` (or `y`) and the bin-end field to `x2` (or `y2`). The scale and axis will be formatted similar to binning in Vega-Lite. To adjust the axis ticks based on the bin step, you can also set the axis's [`tickMinStep`](https://vega.github.io/vega-lite/docs/axis.html#ticks) property.\n\n__Default value:__ `false`\n\n__See also:__ [`bin`](https://vega.github.io/vega-lite/docs/bin.html) documentation.", + "description": "A flag for binning a `quantitative` field, [an object defining binning parameters](https://vega.github.io/vega-lite/docs/bin.html#bin-parameters), or indicating that the data for `x` or `y` channel are binned before they are imported into Vega-Lite (`\"binned\"`).\n\n- If `true`, default [binning parameters](https://vega.github.io/vega-lite/docs/bin.html#bin-parameters) will be applied.\n\n- If `\"binned\"`, this indicates that the data for the `x` (or `y`) channel are already binned. You can map the bin-start field to `x` (or `y`) and the bin-end field to `x2` (or `y2`). The scale and axis will be formatted similar to binning in Vega-Lite. To adjust the axis ticks based on the bin step, you can also set the axis's [`tickMinStep`](https://vega.github.io/vega-lite/docs/axis.html#ticks) property.\n\n__Default value:__ `false`\n\n__See also:__ [`bin`](https://vega.github.io/vega-lite/docs/bin.html) documentation.", "type": "null" }, "field": { @@ -25842,7 +25837,7 @@ "type": "number" }, "bin": { - "description": "A flag for binning a `quantitative` field, [an object defining binning parameters](https://vega.github.io/vega-lite/docs/bin.html#params), or indicating that the data for `x` or `y` channel are binned before they are imported into Vega-Lite (`\"binned\"`).\n\n- If `true`, default [binning parameters](https://vega.github.io/vega-lite/docs/bin.html) will be applied.\n\n- If `\"binned\"`, this indicates that the data for the `x` (or `y`) channel are already binned. You can map the bin-start field to `x` (or `y`) and the bin-end field to `x2` (or `y2`). The scale and axis will be formatted similar to binning in Vega-Lite. To adjust the axis ticks based on the bin step, you can also set the axis's [`tickMinStep`](https://vega.github.io/vega-lite/docs/axis.html#ticks) property.\n\n__Default value:__ `false`\n\n__See also:__ [`bin`](https://vega.github.io/vega-lite/docs/bin.html) documentation.", + "description": "A flag for binning a `quantitative` field, [an object defining binning parameters](https://vega.github.io/vega-lite/docs/bin.html#bin-parameters), or indicating that the data for `x` or `y` channel are binned before they are imported into Vega-Lite (`\"binned\"`).\n\n- If `true`, default [binning parameters](https://vega.github.io/vega-lite/docs/bin.html#bin-parameters) will be applied.\n\n- If `\"binned\"`, this indicates that the data for the `x` (or `y`) channel are already binned. You can map the bin-start field to `x` (or `y`) and the bin-end field to `x2` (or `y2`). The scale and axis will be formatted similar to binning in Vega-Lite. To adjust the axis ticks based on the bin step, you can also set the axis's [`tickMinStep`](https://vega.github.io/vega-lite/docs/axis.html#ticks) property.\n\n__Default value:__ `false`\n\n__See also:__ [`bin`](https://vega.github.io/vega-lite/docs/bin.html) documentation.", "type": "null" }, "field": { @@ -25903,7 +25898,7 @@ "type": "null" } ], - "description": "A flag for binning a `quantitative` field, [an object defining binning parameters](https://vega.github.io/vega-lite/docs/bin.html#params), or indicating that the data for `x` or `y` channel are binned before they are imported into Vega-Lite (`\"binned\"`).\n\n- If `true`, default [binning parameters](https://vega.github.io/vega-lite/docs/bin.html) will be applied.\n\n- If `\"binned\"`, this indicates that the data for the `x` (or `y`) channel are already binned. You can map the bin-start field to `x` (or `y`) and the bin-end field to `x2` (or `y2`). The scale and axis will be formatted similar to binning in Vega-Lite. To adjust the axis ticks based on the bin step, you can also set the axis's [`tickMinStep`](https://vega.github.io/vega-lite/docs/axis.html#ticks) property.\n\n__Default value:__ `false`\n\n__See also:__ [`bin`](https://vega.github.io/vega-lite/docs/bin.html) documentation." + "description": "A flag for binning a `quantitative` field, [an object defining binning parameters](https://vega.github.io/vega-lite/docs/bin.html#bin-parameters), or indicating that the data for `x` or `y` channel are binned before they are imported into Vega-Lite (`\"binned\"`).\n\n- If `true`, default [binning parameters](https://vega.github.io/vega-lite/docs/bin.html#bin-parameters) will be applied.\n\n- If `\"binned\"`, this indicates that the data for the `x` (or `y`) channel are already binned. You can map the bin-start field to `x` (or `y`) and the bin-end field to `x2` (or `y2`). The scale and axis will be formatted similar to binning in Vega-Lite. To adjust the axis ticks based on the bin step, you can also set the axis's [`tickMinStep`](https://vega.github.io/vega-lite/docs/axis.html#ticks) property.\n\n__Default value:__ `false`\n\n__See also:__ [`bin`](https://vega.github.io/vega-lite/docs/bin.html) documentation." }, "datum": { "anyOf": [ @@ -26023,7 +26018,7 @@ "type": "null" } ], - "description": "A flag for binning a `quantitative` field, [an object defining binning parameters](https://vega.github.io/vega-lite/docs/bin.html#params), or indicating that the data for `x` or `y` channel are binned before they are imported into Vega-Lite (`\"binned\"`).\n\n- If `true`, default [binning parameters](https://vega.github.io/vega-lite/docs/bin.html) will be applied.\n\n- If `\"binned\"`, this indicates that the data for the `x` (or `y`) channel are already binned. You can map the bin-start field to `x` (or `y`) and the bin-end field to `x2` (or `y2`). The scale and axis will be formatted similar to binning in Vega-Lite. To adjust the axis ticks based on the bin step, you can also set the axis's [`tickMinStep`](https://vega.github.io/vega-lite/docs/axis.html#ticks) property.\n\n__Default value:__ `false`\n\n__See also:__ [`bin`](https://vega.github.io/vega-lite/docs/bin.html) documentation." + "description": "A flag for binning a `quantitative` field, [an object defining binning parameters](https://vega.github.io/vega-lite/docs/bin.html#bin-parameters), or indicating that the data for `x` or `y` channel are binned before they are imported into Vega-Lite (`\"binned\"`).\n\n- If `true`, default [binning parameters](https://vega.github.io/vega-lite/docs/bin.html#bin-parameters) will be applied.\n\n- If `\"binned\"`, this indicates that the data for the `x` (or `y`) channel are already binned. You can map the bin-start field to `x` (or `y`) and the bin-end field to `x2` (or `y2`). The scale and axis will be formatted similar to binning in Vega-Lite. To adjust the axis ticks based on the bin step, you can also set the axis's [`tickMinStep`](https://vega.github.io/vega-lite/docs/axis.html#ticks) property.\n\n__Default value:__ `false`\n\n__See also:__ [`bin`](https://vega.github.io/vega-lite/docs/bin.html) documentation." }, "datum": { "anyOf": [ @@ -26084,7 +26079,7 @@ "type": "boolean" } ], - "description": "Type of stacking offset if the field should be stacked. `stack` is only applicable for `x`, `y`, `theta`, and `radius` channels with continuous domains. For example, `stack` of `y` can be used to customize stacking for a vertical bar chart.\n\n`stack` can be one of the following values:\n- `\"zero\"` or `true`: stacking with baseline offset at zero value of the scale (for creating typical stacked [bar](https://vega.github.io/vega-lite/docs/stack.html#bar) and [area](https://vega.github.io/vega-lite/docs/stack.html#area) chart).\n- `\"normalize\"` - stacking with normalized domain (for creating [normalized stacked bar and area charts](https://vega.github.io/vega-lite/docs/stack.html#normalized).
\n-`\"center\"` - stacking with center baseline (for [streamgraph](https://vega.github.io/vega-lite/docs/stack.html#streamgraph)).\n- `null` or `false` - No-stacking. This will produce layered [bar](https://vega.github.io/vega-lite/docs/stack.html#layered-bar-chart) and area chart.\n\n__Default value:__ `zero` for plots with all of the following conditions are true: (1) the mark is `bar`, `area`, or `arc`; (2) the stacked measure channel (x or y) has a linear scale; (3) At least one of non-position channels mapped to an unaggregated field that is different from x and y. Otherwise, `null` by default.\n\n__See also:__ [`stack`](https://vega.github.io/vega-lite/docs/stack.html) documentation." + "description": "Type of stacking offset if the field should be stacked. `stack` is only applicable for `x`, `y`, `theta`, and `radius` channels with continuous domains. For example, `stack` of `y` can be used to customize stacking for a vertical bar chart.\n\n`stack` can be one of the following values:\n- `\"zero\"` or `true`: stacking with baseline offset at zero value of the scale (for creating typical stacked [bar](https://vega.github.io/vega-lite/docs/stack.html#bar) and [area](https://vega.github.io/vega-lite/docs/stack.html#area) chart).\n- `\"normalize\"` - stacking with normalized domain (for creating [normalized stacked bar and area charts](https://vega.github.io/vega-lite/docs/stack.html#normalized) and pie charts [with percentage tooltip](https://vega.github.io/vega-lite/docs/arc.html#tooltip)).
\n-`\"center\"` - stacking with center baseline (for [streamgraph](https://vega.github.io/vega-lite/docs/stack.html#streamgraph)).\n- `null` or `false` - No-stacking. This will produce layered [bar](https://vega.github.io/vega-lite/docs/stack.html#layered-bar-chart) and area chart.\n\n__Default value:__ `zero` for plots with all of the following conditions are true: (1) the mark is `bar`, `area`, or `arc`; (2) the stacked measure channel (x or y) has a linear scale; (3) At least one of non-position channels mapped to an unaggregated field that is different from x and y. Otherwise, `null` by default.\n\n__See also:__ [`stack`](https://vega.github.io/vega-lite/docs/stack.html) documentation." }, "timeUnit": { "anyOf": [ @@ -26157,7 +26152,7 @@ "type": "number" }, "bin": { - "description": "A flag for binning a `quantitative` field, [an object defining binning parameters](https://vega.github.io/vega-lite/docs/bin.html#params), or indicating that the data for `x` or `y` channel are binned before they are imported into Vega-Lite (`\"binned\"`).\n\n- If `true`, default [binning parameters](https://vega.github.io/vega-lite/docs/bin.html) will be applied.\n\n- If `\"binned\"`, this indicates that the data for the `x` (or `y`) channel are already binned. You can map the bin-start field to `x` (or `y`) and the bin-end field to `x2` (or `y2`). The scale and axis will be formatted similar to binning in Vega-Lite. To adjust the axis ticks based on the bin step, you can also set the axis's [`tickMinStep`](https://vega.github.io/vega-lite/docs/axis.html#ticks) property.\n\n__Default value:__ `false`\n\n__See also:__ [`bin`](https://vega.github.io/vega-lite/docs/bin.html) documentation.", + "description": "A flag for binning a `quantitative` field, [an object defining binning parameters](https://vega.github.io/vega-lite/docs/bin.html#bin-parameters), or indicating that the data for `x` or `y` channel are binned before they are imported into Vega-Lite (`\"binned\"`).\n\n- If `true`, default [binning parameters](https://vega.github.io/vega-lite/docs/bin.html#bin-parameters) will be applied.\n\n- If `\"binned\"`, this indicates that the data for the `x` (or `y`) channel are already binned. You can map the bin-start field to `x` (or `y`) and the bin-end field to `x2` (or `y2`). The scale and axis will be formatted similar to binning in Vega-Lite. To adjust the axis ticks based on the bin step, you can also set the axis's [`tickMinStep`](https://vega.github.io/vega-lite/docs/axis.html#ticks) property.\n\n__Default value:__ `false`\n\n__See also:__ [`bin`](https://vega.github.io/vega-lite/docs/bin.html) documentation.", "type": "null" }, "datum": { @@ -26243,7 +26238,7 @@ "type": "number" }, "bin": { - "description": "A flag for binning a `quantitative` field, [an object defining binning parameters](https://vega.github.io/vega-lite/docs/bin.html#params), or indicating that the data for `x` or `y` channel are binned before they are imported into Vega-Lite (`\"binned\"`).\n\n- If `true`, default [binning parameters](https://vega.github.io/vega-lite/docs/bin.html) will be applied.\n\n- If `\"binned\"`, this indicates that the data for the `x` (or `y`) channel are already binned. You can map the bin-start field to `x` (or `y`) and the bin-end field to `x2` (or `y2`). The scale and axis will be formatted similar to binning in Vega-Lite. To adjust the axis ticks based on the bin step, you can also set the axis's [`tickMinStep`](https://vega.github.io/vega-lite/docs/axis.html#ticks) property.\n\n__Default value:__ `false`\n\n__See also:__ [`bin`](https://vega.github.io/vega-lite/docs/bin.html) documentation.", + "description": "A flag for binning a `quantitative` field, [an object defining binning parameters](https://vega.github.io/vega-lite/docs/bin.html#bin-parameters), or indicating that the data for `x` or `y` channel are binned before they are imported into Vega-Lite (`\"binned\"`).\n\n- If `true`, default [binning parameters](https://vega.github.io/vega-lite/docs/bin.html#bin-parameters) will be applied.\n\n- If `\"binned\"`, this indicates that the data for the `x` (or `y`) channel are already binned. You can map the bin-start field to `x` (or `y`) and the bin-end field to `x2` (or `y2`). The scale and axis will be formatted similar to binning in Vega-Lite. To adjust the axis ticks based on the bin step, you can also set the axis's [`tickMinStep`](https://vega.github.io/vega-lite/docs/axis.html#ticks) property.\n\n__Default value:__ `false`\n\n__See also:__ [`bin`](https://vega.github.io/vega-lite/docs/bin.html) documentation.", "type": "null" }, "field": { @@ -26293,7 +26288,7 @@ "type": "number" }, "bin": { - "description": "A flag for binning a `quantitative` field, [an object defining binning parameters](https://vega.github.io/vega-lite/docs/bin.html#params), or indicating that the data for `x` or `y` channel are binned before they are imported into Vega-Lite (`\"binned\"`).\n\n- If `true`, default [binning parameters](https://vega.github.io/vega-lite/docs/bin.html) will be applied.\n\n- If `\"binned\"`, this indicates that the data for the `x` (or `y`) channel are already binned. You can map the bin-start field to `x` (or `y`) and the bin-end field to `x2` (or `y2`). The scale and axis will be formatted similar to binning in Vega-Lite. To adjust the axis ticks based on the bin step, you can also set the axis's [`tickMinStep`](https://vega.github.io/vega-lite/docs/axis.html#ticks) property.\n\n__Default value:__ `false`\n\n__See also:__ [`bin`](https://vega.github.io/vega-lite/docs/bin.html) documentation.", + "description": "A flag for binning a `quantitative` field, [an object defining binning parameters](https://vega.github.io/vega-lite/docs/bin.html#bin-parameters), or indicating that the data for `x` or `y` channel are binned before they are imported into Vega-Lite (`\"binned\"`).\n\n- If `true`, default [binning parameters](https://vega.github.io/vega-lite/docs/bin.html#bin-parameters) will be applied.\n\n- If `\"binned\"`, this indicates that the data for the `x` (or `y`) channel are already binned. You can map the bin-start field to `x` (or `y`) and the bin-end field to `x2` (or `y2`). The scale and axis will be formatted similar to binning in Vega-Lite. To adjust the axis ticks based on the bin step, you can also set the axis's [`tickMinStep`](https://vega.github.io/vega-lite/docs/axis.html#ticks) property.\n\n__Default value:__ `false`\n\n__See also:__ [`bin`](https://vega.github.io/vega-lite/docs/bin.html) documentation.", "type": "null" }, "field": { @@ -26354,7 +26349,7 @@ "type": "null" } ], - "description": "A flag for binning a `quantitative` field, [an object defining binning parameters](https://vega.github.io/vega-lite/docs/bin.html#params), or indicating that the data for `x` or `y` channel are binned before they are imported into Vega-Lite (`\"binned\"`).\n\n- If `true`, default [binning parameters](https://vega.github.io/vega-lite/docs/bin.html) will be applied.\n\n- If `\"binned\"`, this indicates that the data for the `x` (or `y`) channel are already binned. You can map the bin-start field to `x` (or `y`) and the bin-end field to `x2` (or `y2`). The scale and axis will be formatted similar to binning in Vega-Lite. To adjust the axis ticks based on the bin step, you can also set the axis's [`tickMinStep`](https://vega.github.io/vega-lite/docs/axis.html#ticks) property.\n\n__Default value:__ `false`\n\n__See also:__ [`bin`](https://vega.github.io/vega-lite/docs/bin.html) documentation." + "description": "A flag for binning a `quantitative` field, [an object defining binning parameters](https://vega.github.io/vega-lite/docs/bin.html#bin-parameters), or indicating that the data for `x` or `y` channel are binned before they are imported into Vega-Lite (`\"binned\"`).\n\n- If `true`, default [binning parameters](https://vega.github.io/vega-lite/docs/bin.html#bin-parameters) will be applied.\n\n- If `\"binned\"`, this indicates that the data for the `x` (or `y`) channel are already binned. You can map the bin-start field to `x` (or `y`) and the bin-end field to `x2` (or `y2`). The scale and axis will be formatted similar to binning in Vega-Lite. To adjust the axis ticks based on the bin step, you can also set the axis's [`tickMinStep`](https://vega.github.io/vega-lite/docs/axis.html#ticks) property.\n\n__Default value:__ `false`\n\n__See also:__ [`bin`](https://vega.github.io/vega-lite/docs/bin.html) documentation." }, "datum": { "anyOf": [ @@ -26782,7 +26777,7 @@ "type": "null" } ], - "description": "A flag for binning a `quantitative` field, [an object defining binning parameters](https://vega.github.io/vega-lite/docs/bin.html#params), or indicating that the data for `x` or `y` channel are binned before they are imported into Vega-Lite (`\"binned\"`).\n\n- If `true`, default [binning parameters](https://vega.github.io/vega-lite/docs/bin.html) will be applied.\n\n- If `\"binned\"`, this indicates that the data for the `x` (or `y`) channel are already binned. You can map the bin-start field to `x` (or `y`) and the bin-end field to `x2` (or `y2`). The scale and axis will be formatted similar to binning in Vega-Lite. To adjust the axis ticks based on the bin step, you can also set the axis's [`tickMinStep`](https://vega.github.io/vega-lite/docs/axis.html#ticks) property.\n\n__Default value:__ `false`\n\n__See also:__ [`bin`](https://vega.github.io/vega-lite/docs/bin.html) documentation." + "description": "A flag for binning a `quantitative` field, [an object defining binning parameters](https://vega.github.io/vega-lite/docs/bin.html#bin-parameters), or indicating that the data for `x` or `y` channel are binned before they are imported into Vega-Lite (`\"binned\"`).\n\n- If `true`, default [binning parameters](https://vega.github.io/vega-lite/docs/bin.html#bin-parameters) will be applied.\n\n- If `\"binned\"`, this indicates that the data for the `x` (or `y`) channel are already binned. You can map the bin-start field to `x` (or `y`) and the bin-end field to `x2` (or `y2`). The scale and axis will be formatted similar to binning in Vega-Lite. To adjust the axis ticks based on the bin step, you can also set the axis's [`tickMinStep`](https://vega.github.io/vega-lite/docs/axis.html#ticks) property.\n\n__Default value:__ `false`\n\n__See also:__ [`bin`](https://vega.github.io/vega-lite/docs/bin.html) documentation." }, "field": { "$ref": "#/definitions/Field", @@ -28436,14 +28431,7 @@ "params": { "description": "Dynamic variables or selections that parameterize a visualization.", "items": { - "anyOf": [ - { - "$ref": "#/definitions/VariableParameter" - }, - { - "$ref": "#/definitions/TopLevelSelectionParameter" - } - ] + "$ref": "#/definitions/TopLevelParameter" }, "type": "array" }, @@ -28580,14 +28568,7 @@ "params": { "description": "Dynamic variables or selections that parameterize a visualization.", "items": { - "anyOf": [ - { - "$ref": "#/definitions/VariableParameter" - }, - { - "$ref": "#/definitions/TopLevelSelectionParameter" - } - ] + "$ref": "#/definitions/TopLevelParameter" }, "type": "array" }, @@ -28710,14 +28691,7 @@ "params": { "description": "Dynamic variables or selections that parameterize a visualization.", "items": { - "anyOf": [ - { - "$ref": "#/definitions/VariableParameter" - }, - { - "$ref": "#/definitions/TopLevelSelectionParameter" - } - ] + "$ref": "#/definitions/TopLevelParameter" }, "type": "array" }, @@ -28868,14 +28842,7 @@ "params": { "description": "Dynamic variables or selections that parameterize a visualization.", "items": { - "anyOf": [ - { - "$ref": "#/definitions/VariableParameter" - }, - { - "$ref": "#/definitions/TopLevelSelectionParameter" - } - ] + "$ref": "#/definitions/TopLevelParameter" }, "type": "array" }, @@ -29041,14 +29008,7 @@ "params": { "description": "Dynamic variables or selections that parameterize a visualization.", "items": { - "anyOf": [ - { - "$ref": "#/definitions/VariableParameter" - }, - { - "$ref": "#/definitions/TopLevelSelectionParameter" - } - ] + "$ref": "#/definitions/TopLevelParameter" }, "type": "array" }, @@ -29219,14 +29179,7 @@ "params": { "description": "Dynamic variables or selections that parameterize a visualization.", "items": { - "anyOf": [ - { - "$ref": "#/definitions/VariableParameter" - }, - { - "$ref": "#/definitions/TopLevelSelectionParameter" - } - ] + "$ref": "#/definitions/TopLevelParameter" }, "type": "array" }, @@ -29407,14 +29360,7 @@ "params": { "description": "Dynamic variables or selections that parameterize a visualization.", "items": { - "anyOf": [ - { - "$ref": "#/definitions/VariableParameter" - }, - { - "$ref": "#/definitions/TopLevelSelectionParameter" - } - ] + "$ref": "#/definitions/TopLevelParameter" }, "type": "array" }, @@ -29474,6 +29420,16 @@ ], "type": "object" }, + "TopLevelParameter": { + "anyOf": [ + { + "$ref": "#/definitions/VariableParameter" + }, + { + "$ref": "#/definitions/TopLevelSelectionParameter" + } + ] + }, "TopLevelSelectionParameter": { "additionalProperties": false, "properties": { @@ -29707,14 +29663,7 @@ "params": { "description": "An array of parameters that may either be simple variables, or more complex selections that map user input to data queries.", "items": { - "anyOf": [ - { - "$ref": "#/definitions/VariableParameter" - }, - { - "$ref": "#/definitions/SelectionParameter" - } - ] + "$ref": "#/definitions/TopLevelParameter" }, "type": "array" }, @@ -29922,7 +29871,7 @@ "type": "null" } ], - "description": "A flag for binning a `quantitative` field, [an object defining binning parameters](https://vega.github.io/vega-lite/docs/bin.html#params), or indicating that the data for `x` or `y` channel are binned before they are imported into Vega-Lite (`\"binned\"`).\n\n- If `true`, default [binning parameters](https://vega.github.io/vega-lite/docs/bin.html) will be applied.\n\n- If `\"binned\"`, this indicates that the data for the `x` (or `y`) channel are already binned. You can map the bin-start field to `x` (or `y`) and the bin-end field to `x2` (or `y2`). The scale and axis will be formatted similar to binning in Vega-Lite. To adjust the axis ticks based on the bin step, you can also set the axis's [`tickMinStep`](https://vega.github.io/vega-lite/docs/axis.html#ticks) property.\n\n__Default value:__ `false`\n\n__See also:__ [`bin`](https://vega.github.io/vega-lite/docs/bin.html) documentation." + "description": "A flag for binning a `quantitative` field, [an object defining binning parameters](https://vega.github.io/vega-lite/docs/bin.html#bin-parameters), or indicating that the data for `x` or `y` channel are binned before they are imported into Vega-Lite (`\"binned\"`).\n\n- If `true`, default [binning parameters](https://vega.github.io/vega-lite/docs/bin.html#bin-parameters) will be applied.\n\n- If `\"binned\"`, this indicates that the data for the `x` (or `y`) channel are already binned. You can map the bin-start field to `x` (or `y`) and the bin-end field to `x2` (or `y2`). The scale and axis will be formatted similar to binning in Vega-Lite. To adjust the axis ticks based on the bin step, you can also set the axis's [`tickMinStep`](https://vega.github.io/vega-lite/docs/axis.html#ticks) property.\n\n__Default value:__ `false`\n\n__See also:__ [`bin`](https://vega.github.io/vega-lite/docs/bin.html) documentation." }, "field": { "$ref": "#/definitions/Field", @@ -30013,14 +29962,7 @@ "params": { "description": "An array of parameters that may either be simple variables, or more complex selections that map user input to data queries.", "items": { - "anyOf": [ - { - "$ref": "#/definitions/VariableParameter" - }, - { - "$ref": "#/definitions/SelectionParameter" - } - ] + "$ref": "#/definitions/SelectionParameter" }, "type": "array" }, diff --git a/doc/user_guide/API.rst b/doc/user_guide/API.rst index 573a1f697..58b6b5483 100644 --- a/doc/user_guide/API.rst +++ b/doc/user_guide/API.rst @@ -530,6 +530,7 @@ Low-Level Schema Wrappers TopLevelFacetSpec TopLevelHConcatSpec TopLevelLayerSpec + TopLevelParameter TopLevelRepeatSpec TopLevelSelectionParameter TopLevelSpec diff --git a/tools/generate_schema_wrapper.py b/tools/generate_schema_wrapper.py index 2520df997..228281df4 100644 --- a/tools/generate_schema_wrapper.py +++ b/tools/generate_schema_wrapper.py @@ -26,8 +26,8 @@ # Map of version name to github branch name. SCHEMA_VERSION = { - "vega": {"v5": "v5.10.0"}, - "vega-lite": {"v3": "v3.4.0", "v4": "v4.17.0", "v5": "v5.2.0"}, + "vega": {"v5": "v5.22.1"}, + "vega-lite": {"v3": "v3.4.0", "v4": "v4.17.0", "v5": "v5.5.0"}, } reLink = re.compile(r"(?<=\[)([^\]]+)(?=\]\([^\)]+\))", re.M) @@ -402,20 +402,19 @@ def generate_vega_schema_wrapper(schema_file): schemarepr=CodeSnippet("{}._rootschema".format(basename)), ) ) - for deflist in ["defs", "refs"]: - for name in rootschema[deflist]: - defschema = {"$ref": "#/{}/{}".format(deflist, name)} - defschema_repr = {"$ref": "#/{}/{}".format(deflist, name)} - contents.append( - schema_class( - get_valid_identifier(name), - schema=defschema, - schemarepr=defschema_repr, - rootschema=rootschema, - basename=basename, - rootschemarepr=CodeSnippet("Root._schema"), - ) + for name in rootschema["definitions"]: + defschema = {"$ref": f"#/definitions/{name}"} + defschema_repr = {"$ref": f"#/definitions/{name}"} + contents.append( + schema_class( + get_valid_identifier(name), + schema=defschema, + schemarepr=defschema_repr, + rootschema=rootschema, + basename=basename, + rootschemarepr=CodeSnippet("Root._schema"), ) + ) contents.append("") # end with newline return "\n".join(contents) From 19a7a843ea2e5cf730923ebc09e435127635a1da Mon Sep 17 00:00:00 2001 From: Christopher Davis Date: Tue, 25 Oct 2022 16:13:01 -0700 Subject: [PATCH 2/5] Lifting parameters to the top level In multi-view charts, all parameters will live on the top level. When necessary, the parameters will specify which constituent charts they should be attached to. --- altair/vegalite/v5/api.py | 309 ++++++++++++++++++++++++++- altair/vegalite/v5/tests/test_api.py | 8 + 2 files changed, 310 insertions(+), 7 deletions(-) diff --git a/altair/vegalite/v5/api.py b/altair/vegalite/v5/api.py index 8c468a207..3906ec164 100644 --- a/altair/vegalite/v5/api.py +++ b/altair/vegalite/v5/api.py @@ -6,6 +6,7 @@ import jsonschema import pandas as pd from toolz.curried import pipe as _pipe +import itertools from .schema import core, channels, mixins, Undefined, SCHEMA_URL @@ -162,7 +163,7 @@ class Parameter(expr.core.OperatorMixin, object): @classmethod def _get_name(cls): cls._counter += 1 - return "parameter{:03d}".format(cls._counter) + return f"param_{cls._counter}" def __init__(self, name): if name is None: @@ -332,6 +333,11 @@ def param(name=None, select=None, **kwds): if select is None: parameter.param = core.VariableParameter(name=parameter.name, **kwds) parameter.param_type = "variable" + elif "views" in kwds: + parameter.param = core.TopLevelSelectionParameter( + name=parameter.name, select=select, **kwds + ) + parameter.param_type = "selection" else: parameter.param = core.SelectionParameter( name=parameter.name, select=select, **kwds @@ -361,7 +367,7 @@ def selection(type=Undefined, **kwds): # We separate out the parameter keywords from the selection keywords param_kwds = {} - for kwd in {"name", "value", "bind", "empty", "init"}: + for kwd in {"name", "value", "bind", "empty", "init", "views"}: if kwd in kwds: param_kwds[kwd] = kwds.pop(kwd) @@ -2141,6 +2147,13 @@ def __init__( **kwargs, ) + _counter = 0 + + @classmethod + def _get_name(cls): + cls._counter += 1 + return f"view_{cls._counter}" + @classmethod def from_dict(cls, dct, validate=True): """Construct class from a dictionary representation @@ -2315,6 +2328,11 @@ def __init__( **kwds, ): _check_if_valid_subspec(spec, "RepeatChart") + _spec_as_list = [spec] + params, _spec_as_list = _combine_subchart_params(params, _spec_as_list) + spec = _spec_as_list[0] + if isinstance(spec, Chart): + params = _repeat_names(params, repeat) super(RepeatChart, self).__init__( repeat=repeat, spec=spec, @@ -2368,7 +2386,7 @@ def add_params(self, *params): return self copy = self.copy() copy.spec = copy.spec.add_params(*params) - return copy + return copy.copy() @utils.deprecation.deprecated( message="'add_selection' is deprecated. Use 'add_params' instead." @@ -2409,11 +2427,13 @@ def __init__(self, data=Undefined, concat=(), columns=Undefined, **kwargs): data=data, concat=list(concat), columns=columns, **kwargs ) self.data, self.concat = _combine_subchart_data(self.data, self.concat) + self.params, self.concat = _combine_subchart_params(self.params, self.concat) def __ior__(self, other): _check_if_valid_subspec(other, "ConcatChart") self.concat.append(other) self.data, self.concat = _combine_subchart_data(self.data, self.concat) + self.params, self.concat = _combine_subchart_params(self.params, self.concat) return self def __or__(self, other): @@ -2421,6 +2441,32 @@ def __or__(self, other): copy |= other return copy + def interactive(self, name=None, bind_x=True, bind_y=True): + """Make chart axes scales interactive + + Parameters + ---------- + name : string + The parameter name to use for the axes scales. This name should be + unique among all parameters within the chart. + bind_x : boolean, default True + If true, then bind the interactive scales to the x-axis + bind_y : boolean, default True + If true, then bind the interactive scales to the y-axis + + Returns + ------- + chart : + copy of self, with interactive axes added + + """ + encodings = [] + if bind_x: + encodings.append("x") + if bind_y: + encodings.append("y") + return self.add_params(selection_interval(bind="scales", encodings=encodings)) + def add_params(self, *params): """Add one or more parameters to the chart.""" if not params or not self.concat: @@ -2451,11 +2497,13 @@ def __init__(self, data=Undefined, hconcat=(), **kwargs): _check_if_valid_subspec(spec, "HConcatChart") super(HConcatChart, self).__init__(data=data, hconcat=list(hconcat), **kwargs) self.data, self.hconcat = _combine_subchart_data(self.data, self.hconcat) + self.params, self.hconcat = _combine_subchart_params(self.params, self.hconcat) def __ior__(self, other): _check_if_valid_subspec(other, "HConcatChart") self.hconcat.append(other) self.data, self.hconcat = _combine_subchart_data(self.data, self.hconcat) + self.params, self.hconcat = _combine_subchart_params(self.params, self.hconcat) return self def __or__(self, other): @@ -2463,6 +2511,32 @@ def __or__(self, other): copy |= other return copy + def interactive(self, name=None, bind_x=True, bind_y=True): + """Make chart axes scales interactive + + Parameters + ---------- + name : string + The parameter name to use for the axes scales. This name should be + unique among all parameters within the chart. + bind_x : boolean, default True + If true, then bind the interactive scales to the x-axis + bind_y : boolean, default True + If true, then bind the interactive scales to the y-axis + + Returns + ------- + chart : + copy of self, with interactive axes added + + """ + encodings = [] + if bind_x: + encodings.append("x") + if bind_y: + encodings.append("y") + return self.add_params(selection_interval(bind="scales", encodings=encodings)) + def add_params(self, *params): """Add one or more parameters to the chart.""" if not params or not self.hconcat: @@ -2493,11 +2567,13 @@ def __init__(self, data=Undefined, vconcat=(), **kwargs): _check_if_valid_subspec(spec, "VConcatChart") super(VConcatChart, self).__init__(data=data, vconcat=list(vconcat), **kwargs) self.data, self.vconcat = _combine_subchart_data(self.data, self.vconcat) + self.params, self.vconcat = _combine_subchart_params(self.params, self.vconcat) def __iand__(self, other): _check_if_valid_subspec(other, "VConcatChart") self.vconcat.append(other) self.data, self.vconcat = _combine_subchart_data(self.data, self.vconcat) + self.params, self.vconcat = _combine_subchart_params(self.params, self.vconcat) return self def __and__(self, other): @@ -2505,6 +2581,32 @@ def __and__(self, other): copy &= other return copy + def interactive(self, name=None, bind_x=True, bind_y=True): + """Make chart axes scales interactive + + Parameters + ---------- + name : string + The parameter name to use for the axes scales. This name should be + unique among all parameters within the chart. + bind_x : boolean, default True + If true, then bind the interactive scales to the x-axis + bind_y : boolean, default True + If true, then bind the interactive scales to the y-axis + + Returns + ------- + chart : + copy of self, with interactive axes added + + """ + encodings = [] + if bind_x: + encodings.append("x") + if bind_y: + encodings.append("y") + return self.add_params(selection_interval(bind="scales", encodings=encodings)) + def add_params(self, *params): """Add one or more parameters to the chart.""" if not params or not self.vconcat: @@ -2537,6 +2639,9 @@ def __init__(self, data=Undefined, layer=(), **kwargs): _check_if_can_be_layered(spec) super(LayerChart, self).__init__(data=data, layer=list(layer), **kwargs) self.data, self.layer = _combine_subchart_data(self.data, self.layer) + # Currently (Vega-Lite 5.5) the same param can't occur on two layers + self.layer = _remove_duplicate_params(self.layer) + self.params, self.layer = _combine_subchart_params(self.params, self.layer) # Some properties are not allowed within layer; we'll move to parent. layer_props = ("height", "width", "view") @@ -2550,6 +2655,7 @@ def __iadd__(self, other): _check_if_can_be_layered(other) self.layer.append(other) self.data, self.layer = _combine_subchart_data(self.data, self.layer) + self.params, self.layer = _combine_subchart_params(self.params, self.layer) return self def __add__(self, other): @@ -2598,7 +2704,7 @@ def add_params(self, *params): return self copy = self.copy() copy.layer[0] = copy.layer[0].add_params(*params) - return copy + return copy.copy() @utils.deprecation.deprecated( message="'add_selection' is deprecated. Use 'add_params' instead." @@ -2616,9 +2722,21 @@ def layer(*charts, **kwargs): class FacetChart(TopLevelMixin, core.TopLevelFacetSpec): """A Chart with layers within a single panel""" - def __init__(self, data=Undefined, spec=Undefined, facet=Undefined, **kwargs): + def __init__( + self, + data=Undefined, + spec=Undefined, + facet=Undefined, + params=Undefined, + **kwargs, + ): _check_if_valid_subspec(spec, "FacetChart") - super(FacetChart, self).__init__(data=data, spec=spec, facet=facet, **kwargs) + _spec_as_list = [spec] + params, _spec_as_list = _combine_subchart_params(params, _spec_as_list) + spec = _spec_as_list[0] + super(FacetChart, self).__init__( + data=data, spec=spec, facet=facet, params=params, **kwargs + ) def interactive(self, name=None, bind_x=True, bind_y=True): """Make chart axes scales interactive @@ -2649,7 +2767,7 @@ def add_params(self, *params): return self copy = self.copy() copy.spec = copy.spec.add_params(*params) - return copy + return copy.copy() @utils.deprecation.deprecated( message="'add_selection' is deprecated. Use 'add_params' instead." @@ -2706,6 +2824,183 @@ def remove_data(subchart): return data, subcharts +def _viewless_dict(param): + d = param.to_dict() + d.pop("views", None) + return d + + +def _needs_name(subchart): + # Only `Chart` objects need a name + if (subchart.name is not Undefined) or (not isinstance(subchart, Chart)): + return False + + # Variable parameters won't receive a views property. + if all([isinstance(p, core.VariableParameter) for p in subchart.params]): + return False + + return True + + +# Convert SelectionParameters to TopLevelSelectionParameters with a views property. +def _prepare_to_lift(param): + param = param.copy() + + if isinstance(param, core.VariableParameter): + return param + + if isinstance(param, core.SelectionParameter): + return core.TopLevelSelectionParameter(**param.to_dict(), views=[]) + + if param.views is Undefined: + param.views = [] + + return param + + +def _remove_duplicate_params(layer): + subcharts = [subchart.copy() for subchart in layer] + found_params = [] + + for subchart in subcharts: + + if (not hasattr(subchart, "params")) or (subchart.params is Undefined): + continue + + params = [] + + # Ensure the same selection parameter doesn't appear twice + for param in subchart.params: + if isinstance(param, core.VariableParameter): + params.append(param) + continue + + p = param.copy() + pd = _viewless_dict(p) + + if pd not in found_params: + params.append(p) + found_params.append(pd) + + if len(params) == 0: + subchart.params = Undefined + else: + subchart.params = params + + return subcharts + + +def _combine_subchart_params(params, subcharts): + + if params is Undefined: + params = [] + + # List of triples related to params, (param, dictionary minus views, views) + param_info = [] + + # Put parameters already found into `param_info` list. + for param in params: + p = _prepare_to_lift(param) + param_info.append( + ( + p, + _viewless_dict(p), + [] if isinstance(p, core.VariableParameter) else p.views, + ) + ) + + subcharts = [subchart.copy() for subchart in subcharts] + + for subchart in subcharts: + if (not hasattr(subchart, "params")) or (subchart.params is Undefined): + continue + + if _needs_name(subchart): + subchart.name = subchart._get_name() + + for param in subchart.params: + p = _prepare_to_lift(param) + pd = _viewless_dict(p) + + dlist = [d for _, d, _ in param_info] + found = pd in dlist + + if isinstance(p, core.VariableParameter) and found: + continue + + if isinstance(p, core.VariableParameter) and not found: + param_info.append((p, pd, [])) + continue + + # At this stage in the loop, p must be a TopLevelSelectionParameter. + + if isinstance(subchart, Chart) and (subchart.name not in p.views): + p.views.append(subchart.name) + + if found: + i = dlist.index(pd) + _, _, old_views = param_info[i] + new_views = [v for v in p.views if v not in old_views] + old_views += new_views + else: + param_info.append((p, pd, p.views)) + + subchart.params = Undefined + + for p, _, v in param_info: + if len(v) > 0: + p.views = v + + subparams = [p for p, _, _ in param_info] + + if len(subparams) == 0: + subparams = Undefined + + return subparams, subcharts + + +def _get_repeat_strings(repeat): + if isinstance(repeat, list): + return repeat + if isinstance(repeat, core.RepeatMapping): + rclist = [k for k in ["row", "column"] if repeat[k] is not Undefined] + rcstrings = [[f"{k}_{v}" for v in repeat[k]] for k in rclist] + return ["".join(s) for s in itertools.product(*rcstrings)] + + +def _extend_view_name(v, r): + # prevent the same extension from happening more than once + if v.endswith("child__" + r): + return v + else: + return v + "child__" + r + + +def _repeat_names(params, repeat): + if params is Undefined: + return params + + repeat = _get_repeat_strings(repeat) + params_named = [] + + for param in params: + if not isinstance(param, core.TopLevelSelectionParameter): + params_named.append(param) + continue + p = param.copy() + views = [] + repeat_strings = _get_repeat_strings(repeat) + for v in param.views: + if any([v.endswith(f"child__{r}") for r in repeat_strings]): + views.append(v) + else: + views += [_extend_view_name(v, r) for r in repeat_strings] + p.views = views + params_named.append(p) + + return params_named + + def _remove_layer_props(chart, subcharts, layer_props): def remove_prop(subchart, prop): # If subchart is a UnitSpec, then subchart["height"] raises a KeyError diff --git a/altair/vegalite/v5/tests/test_api.py b/altair/vegalite/v5/tests/test_api.py index 9bd52ef2e..cfb42fe07 100644 --- a/altair/vegalite/v5/tests/test_api.py +++ b/altair/vegalite/v5/tests/test_api.py @@ -606,7 +606,9 @@ def test_add_selection(): def test_repeat_add_selections(): base = alt.Chart("data.csv").mark_point() selection = alt.selection_point() + alt.Chart._counter = 0 chart1 = base.add_params(selection).repeat(list("ABC")) + alt.Chart._counter = 0 chart2 = base.repeat(list("ABC")).add_params(selection) assert chart1.to_dict() == chart2.to_dict() @@ -614,7 +616,9 @@ def test_repeat_add_selections(): def test_facet_add_selections(): base = alt.Chart("data.csv").mark_point() selection = alt.selection_point() + alt.Chart._counter = 0 chart1 = base.add_params(selection).facet("val:Q") + alt.Chart._counter = 0 chart2 = base.facet("val:Q").add_params(selection) assert chart1.to_dict() == chart2.to_dict() @@ -622,7 +626,9 @@ def test_facet_add_selections(): def test_layer_add_selection(): base = alt.Chart("data.csv").mark_point() selection = alt.selection_point() + alt.Chart._counter = 0 chart1 = alt.layer(base.add_params(selection), base) + alt.Chart._counter = 0 chart2 = alt.layer(base, base).add_params(selection) assert chart1.to_dict() == chart2.to_dict() @@ -631,7 +637,9 @@ def test_layer_add_selection(): def test_compound_add_selections(charttype): base = alt.Chart("data.csv").mark_point() selection = alt.selection_point() + alt.Chart._counter = 0 chart1 = charttype(base.add_params(selection), base.add_params(selection)) + alt.Chart._counter = 0 chart2 = charttype(base, base).add_params(selection) assert chart1.to_dict() == chart2.to_dict() From c01f36d42e544ba1917b13b55e345bb046ad9614 Mon Sep 17 00:00:00 2001 From: Christopher Davis Date: Tue, 25 Oct 2022 16:27:38 -0700 Subject: [PATCH 3/5] Allow layer to appear with row and column in repeat --- altair/vegalite/v5/api.py | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/altair/vegalite/v5/api.py b/altair/vegalite/v5/api.py index 3906ec164..1aaa61203 100644 --- a/altair/vegalite/v5/api.py +++ b/altair/vegalite/v5/api.py @@ -724,15 +724,11 @@ def repeat( ) elif repeat_specified and layer_specified: raise ValueError("repeat argument cannot be combined with layer argument.") - elif layer_specified and rowcol_specified: - raise ValueError( - "layer argument cannot be combined with row/column argument." - ) if repeat_specified: repeat = repeat elif layer_specified: - repeat = core.LayerRepeatMapping(layer=layer) + repeat = core.LayerRepeatMapping(layer=layer, row=row, column=column) else: repeat = core.RepeatMapping(row=row, column=column) @@ -2962,10 +2958,13 @@ def _combine_subchart_params(params, subcharts): def _get_repeat_strings(repeat): if isinstance(repeat, list): return repeat - if isinstance(repeat, core.RepeatMapping): - rclist = [k for k in ["row", "column"] if repeat[k] is not Undefined] - rcstrings = [[f"{k}_{v}" for v in repeat[k]] for k in rclist] - return ["".join(s) for s in itertools.product(*rcstrings)] + elif isinstance(repeat, core.LayerRepeatMapping): + klist = ["row", "column", "layer"] + elif isinstance(repeat, core.RepeatMapping): + klist = ["row", "column"] + rclist = [k for k in klist if repeat[k] is not Undefined] + rcstrings = [[f"{k}_{v}" for v in repeat[k]] for k in rclist] + return ["".join(s) for s in itertools.product(*rcstrings)] def _extend_view_name(v, r): From 78d159c7c6b2b7cdfb1f547dc8535d2b5aa14ff4 Mon Sep 17 00:00:00 2001 From: Christopher Davis Date: Thu, 27 Oct 2022 17:43:31 -0700 Subject: [PATCH 4/5] Serialization of expr Same changes as #2591 --- altair/vegalite/v5/api.py | 26 +++++++++++++++++--------- 1 file changed, 17 insertions(+), 9 deletions(-) diff --git a/altair/vegalite/v5/api.py b/altair/vegalite/v5/api.py index 1aaa61203..1ac8450ad 100644 --- a/altair/vegalite/v5/api.py +++ b/altair/vegalite/v5/api.py @@ -172,10 +172,7 @@ def __init__(self, name): def to_dict(self): if self.param_type == "variable": - if self.param.expr is Undefined: - return {"expr": self.name} - else: - return {"expr": repr(self.param.expr)} + return {"expr": self.name} elif self.param_type == "selection": return { "param": self.name.to_dict() @@ -209,13 +206,10 @@ def __repr__(self): return "Parameter({0!r}, {1})".format(self.name, self.param) def _to_expr(self): - if not hasattr(self.param, "expr") or self.param.expr is Undefined: - return self.name - else: - return self.param.expr + return self.name def _from_expr(self, expr): - return param(expr=expr) + return ParameterExpression(expr=expr) def __getattr__(self, field_name): if field_name.startswith("__") and field_name.endswith("__"): @@ -245,6 +239,20 @@ def __or__(self, other): return SelectionPredicateComposition({"or": [self.to_dict(), other.to_dict()]}) +class ParameterExpression(expr.core.OperatorMixin, object): + def __init__(self, expr): + self.expr = expr + + def to_dict(self): + return {"expr": repr(self.expr)} + + def _to_expr(self): + return repr(self.expr) + + def _from_expr(self, expr): + return ParameterExpression(expr=expr) + + class SelectionExpression(expr.core.OperatorMixin, object): def __init__(self, expr): self.expr = expr From 457cab09f360a8e7014ad70de254fb3553ef9816 Mon Sep 17 00:00:00 2001 From: Christopher Davis Date: Sat, 29 Oct 2022 06:41:47 -0700 Subject: [PATCH 5/5] Change vega to v5.21.0 and vega-lite to v5.2.0 Aligning versions with those used by altair_viewer. --- altair/vega/v5/schema/__init__.py | 4 +- altair/vegalite/v5/schema/__init__.py | 4 +- altair/vegalite/v5/schema/channels.py | 360 +++++++++--------- altair/vegalite/v5/schema/core.py | 303 ++++++--------- .../vegalite/v5/schema/vega-lite-schema.json | 268 ++++++++----- tools/generate_schema_wrapper.py | 4 +- 6 files changed, 462 insertions(+), 481 deletions(-) diff --git a/altair/vega/v5/schema/__init__.py b/altair/vega/v5/schema/__init__.py index 94bb7702d..ad8394df3 100644 --- a/altair/vega/v5/schema/__init__.py +++ b/altair/vega/v5/schema/__init__.py @@ -1,5 +1,5 @@ # flake8: noqa from .core import * -SCHEMA_VERSION = 'v5.22.1' -SCHEMA_URL = 'https://vega.github.io/schema/vega/v5.22.1.json' +SCHEMA_VERSION = 'v5.21.0' +SCHEMA_URL = 'https://vega.github.io/schema/vega/v5.21.0.json' diff --git a/altair/vegalite/v5/schema/__init__.py b/altair/vegalite/v5/schema/__init__.py index 06c6c5deb..424eec291 100644 --- a/altair/vegalite/v5/schema/__init__.py +++ b/altair/vegalite/v5/schema/__init__.py @@ -1,5 +1,5 @@ # flake8: noqa from .core import * from .channels import * -SCHEMA_VERSION = 'v5.5.0' -SCHEMA_URL = 'https://vega.github.io/schema/vega-lite/v5.5.0.json' +SCHEMA_VERSION = 'v5.2.0' +SCHEMA_URL = 'https://vega.github.io/schema/vega-lite/v5.2.0.json' diff --git a/altair/vegalite/v5/schema/channels.py b/altair/vegalite/v5/schema/channels.py index e22cfcb4d..602a492ba 100644 --- a/altair/vegalite/v5/schema/channels.py +++ b/altair/vegalite/v5/schema/channels.py @@ -117,13 +117,13 @@ class Angle(FieldChannelMixin, core.FieldOrDatumDefWithConditionMarkPropFieldDef and at the middle of the band if set to ``0.5``. bin : anyOf(boolean, :class:`BinParams`, None) A flag for binning a ``quantitative`` field, `an object defining binning parameters - `__, or indicating - that the data for ``x`` or ``y`` channel are binned before they are imported into - Vega-Lite ( ``"binned"`` ). + `__, or indicating that the + data for ``x`` or ``y`` channel are binned before they are imported into Vega-Lite ( + ``"binned"`` ). If ``true``, default `binning parameters - `__ will be applied. + `__ will be applied. If ``"binned"``, this indicates that the data for the ``x`` (or ``y`` ) channel are already binned. You can map the bin-start field to ``x`` (or ``y`` ) and the bin-end @@ -502,13 +502,13 @@ class Color(FieldChannelMixin, core.FieldOrDatumDefWithConditionMarkPropFieldDef and at the middle of the band if set to ``0.5``. bin : anyOf(boolean, :class:`BinParams`, None) A flag for binning a ``quantitative`` field, `an object defining binning parameters - `__, or indicating - that the data for ``x`` or ``y`` channel are binned before they are imported into - Vega-Lite ( ``"binned"`` ). + `__, or indicating that the + data for ``x`` or ``y`` channel are binned before they are imported into Vega-Lite ( + ``"binned"`` ). If ``true``, default `binning parameters - `__ will be applied. + `__ will be applied. If ``"binned"``, this indicates that the data for the ``x`` (or ``y`` ) channel are already binned. You can map the bin-start field to ``x`` (or ``y`` ) and the bin-end @@ -900,13 +900,13 @@ class Column(FieldChannelMixin, core.RowColumnEncodingFieldDef): and at the middle of the band if set to ``0.5``. bin : anyOf(boolean, :class:`BinParams`, None) A flag for binning a ``quantitative`` field, `an object defining binning parameters - `__, or indicating - that the data for ``x`` or ``y`` channel are binned before they are imported into - Vega-Lite ( ``"binned"`` ). + `__, or indicating that the + data for ``x`` or ``y`` channel are binned before they are imported into Vega-Lite ( + ``"binned"`` ). If ``true``, default `binning parameters - `__ will be applied. + `__ will be applied. If ``"binned"``, this indicates that the data for the ``x`` (or ``y`` ) channel are already binned. You can map the bin-start field to ``x`` (or ``y`` ) and the bin-end @@ -1111,13 +1111,13 @@ class Description(FieldChannelMixin, core.StringFieldDefWithCondition): and at the middle of the band if set to ``0.5``. bin : anyOf(boolean, :class:`BinParams`, string, None) A flag for binning a ``quantitative`` field, `an object defining binning parameters - `__, or indicating - that the data for ``x`` or ``y`` channel are binned before they are imported into - Vega-Lite ( ``"binned"`` ). + `__, or indicating that the + data for ``x`` or ``y`` channel are binned before they are imported into Vega-Lite ( + ``"binned"`` ). If ``true``, default `binning parameters - `__ will be applied. + `__ will be applied. If ``"binned"``, this indicates that the data for the ``x`` (or ``y`` ) channel are already binned. You can map the bin-start field to ``x`` (or ``y`` ) and the bin-end @@ -1347,13 +1347,13 @@ class Detail(FieldChannelMixin, core.FieldDefWithoutScale): and at the middle of the band if set to ``0.5``. bin : anyOf(boolean, :class:`BinParams`, string, None) A flag for binning a ``quantitative`` field, `an object defining binning parameters - `__, or indicating - that the data for ``x`` or ``y`` channel are binned before they are imported into - Vega-Lite ( ``"binned"`` ). + `__, or indicating that the + data for ``x`` or ``y`` channel are binned before they are imported into Vega-Lite ( + ``"binned"`` ). If ``true``, default `binning parameters - `__ will be applied. + `__ will be applied. If ``"binned"``, this indicates that the data for the ``x`` (or ``y`` ) channel are already binned. You can map the bin-start field to ``x`` (or ``y`` ) and the bin-end @@ -1531,13 +1531,13 @@ class Facet(FieldChannelMixin, core.FacetEncodingFieldDef): and at the middle of the band if set to ``0.5``. bin : anyOf(boolean, :class:`BinParams`, None) A flag for binning a ``quantitative`` field, `an object defining binning parameters - `__, or indicating - that the data for ``x`` or ``y`` channel are binned before they are imported into - Vega-Lite ( ``"binned"`` ). + `__, or indicating that the + data for ``x`` or ``y`` channel are binned before they are imported into Vega-Lite ( + ``"binned"`` ). If ``true``, default `binning parameters - `__ will be applied. + `__ will be applied. If ``"binned"``, this indicates that the data for the ``x`` (or ``y`` ) channel are already binned. You can map the bin-start field to ``x`` (or ``y`` ) and the bin-end @@ -1777,13 +1777,13 @@ class Fill(FieldChannelMixin, core.FieldOrDatumDefWithConditionMarkPropFieldDefG and at the middle of the band if set to ``0.5``. bin : anyOf(boolean, :class:`BinParams`, None) A flag for binning a ``quantitative`` field, `an object defining binning parameters - `__, or indicating - that the data for ``x`` or ``y`` channel are binned before they are imported into - Vega-Lite ( ``"binned"`` ). + `__, or indicating that the + data for ``x`` or ``y`` channel are binned before they are imported into Vega-Lite ( + ``"binned"`` ). If ``true``, default `binning parameters - `__ will be applied. + `__ will be applied. If ``"binned"``, this indicates that the data for the ``x`` (or ``y`` ) channel are already binned. You can map the bin-start field to ``x`` (or ``y`` ) and the bin-end @@ -2163,13 +2163,13 @@ class FillOpacity(FieldChannelMixin, core.FieldOrDatumDefWithConditionMarkPropFi and at the middle of the band if set to ``0.5``. bin : anyOf(boolean, :class:`BinParams`, None) A flag for binning a ``quantitative`` field, `an object defining binning parameters - `__, or indicating - that the data for ``x`` or ``y`` channel are binned before they are imported into - Vega-Lite ( ``"binned"`` ). + `__, or indicating that the + data for ``x`` or ``y`` channel are binned before they are imported into Vega-Lite ( + ``"binned"`` ). If ``true``, default `binning parameters - `__ will be applied. + `__ will be applied. If ``"binned"``, this indicates that the data for the ``x`` (or ``y`` ) channel are already binned. You can map the bin-start field to ``x`` (or ``y`` ) and the bin-end @@ -2548,13 +2548,13 @@ class Href(FieldChannelMixin, core.StringFieldDefWithCondition): and at the middle of the band if set to ``0.5``. bin : anyOf(boolean, :class:`BinParams`, string, None) A flag for binning a ``quantitative`` field, `an object defining binning parameters - `__, or indicating - that the data for ``x`` or ``y`` channel are binned before they are imported into - Vega-Lite ( ``"binned"`` ). + `__, or indicating that the + data for ``x`` or ``y`` channel are binned before they are imported into Vega-Lite ( + ``"binned"`` ). If ``true``, default `binning parameters - `__ will be applied. + `__ will be applied. If ``"binned"``, this indicates that the data for the ``x`` (or ``y`` ) channel are already binned. You can map the bin-start field to ``x`` (or ``y`` ) and the bin-end @@ -2784,13 +2784,13 @@ class Key(FieldChannelMixin, core.FieldDefWithoutScale): and at the middle of the band if set to ``0.5``. bin : anyOf(boolean, :class:`BinParams`, string, None) A flag for binning a ``quantitative`` field, `an object defining binning parameters - `__, or indicating - that the data for ``x`` or ``y`` channel are binned before they are imported into - Vega-Lite ( ``"binned"`` ). + `__, or indicating that the + data for ``x`` or ``y`` channel are binned before they are imported into Vega-Lite ( + ``"binned"`` ). If ``true``, default `binning parameters - `__ will be applied. + `__ will be applied. If ``"binned"``, this indicates that the data for the ``x`` (or ``y`` ) channel are already binned. You can map the bin-start field to ``x`` (or ``y`` ) and the bin-end @@ -2951,13 +2951,13 @@ class Latitude(FieldChannelMixin, core.LatLongFieldDef): and at the middle of the band if set to ``0.5``. bin : None A flag for binning a ``quantitative`` field, `an object defining binning parameters - `__, or indicating - that the data for ``x`` or ``y`` channel are binned before they are imported into - Vega-Lite ( ``"binned"`` ). + `__, or indicating that the + data for ``x`` or ``y`` channel are binned before they are imported into Vega-Lite ( + ``"binned"`` ). If ``true``, default `binning parameters - `__ will be applied. + `__ will be applied. If ``"binned"``, this indicates that the data for the ``x`` (or ``y`` ) channel are already binned. You can map the bin-start field to ``x`` (or ``y`` ) and the bin-end @@ -3232,13 +3232,13 @@ class Latitude2(FieldChannelMixin, core.SecondaryFieldDef): and at the middle of the band if set to ``0.5``. bin : None A flag for binning a ``quantitative`` field, `an object defining binning parameters - `__, or indicating - that the data for ``x`` or ``y`` channel are binned before they are imported into - Vega-Lite ( ``"binned"`` ). + `__, or indicating that the + data for ``x`` or ``y`` channel are binned before they are imported into Vega-Lite ( + ``"binned"`` ). If ``true``, default `binning parameters - `__ will be applied. + `__ will be applied. If ``"binned"``, this indicates that the data for the ``x`` (or ``y`` ) channel are already binned. You can map the bin-start field to ``x`` (or ``y`` ) and the bin-end @@ -3464,13 +3464,13 @@ class Longitude(FieldChannelMixin, core.LatLongFieldDef): and at the middle of the band if set to ``0.5``. bin : None A flag for binning a ``quantitative`` field, `an object defining binning parameters - `__, or indicating - that the data for ``x`` or ``y`` channel are binned before they are imported into - Vega-Lite ( ``"binned"`` ). + `__, or indicating that the + data for ``x`` or ``y`` channel are binned before they are imported into Vega-Lite ( + ``"binned"`` ). If ``true``, default `binning parameters - `__ will be applied. + `__ will be applied. If ``"binned"``, this indicates that the data for the ``x`` (or ``y`` ) channel are already binned. You can map the bin-start field to ``x`` (or ``y`` ) and the bin-end @@ -3745,13 +3745,13 @@ class Longitude2(FieldChannelMixin, core.SecondaryFieldDef): and at the middle of the band if set to ``0.5``. bin : None A flag for binning a ``quantitative`` field, `an object defining binning parameters - `__, or indicating - that the data for ``x`` or ``y`` channel are binned before they are imported into - Vega-Lite ( ``"binned"`` ). + `__, or indicating that the + data for ``x`` or ``y`` channel are binned before they are imported into Vega-Lite ( + ``"binned"`` ). If ``true``, default `binning parameters - `__ will be applied. + `__ will be applied. If ``"binned"``, this indicates that the data for the ``x`` (or ``y`` ) channel are already binned. You can map the bin-start field to ``x`` (or ``y`` ) and the bin-end @@ -3979,13 +3979,13 @@ class Opacity(FieldChannelMixin, core.FieldOrDatumDefWithConditionMarkPropFieldD and at the middle of the band if set to ``0.5``. bin : anyOf(boolean, :class:`BinParams`, None) A flag for binning a ``quantitative`` field, `an object defining binning parameters - `__, or indicating - that the data for ``x`` or ``y`` channel are binned before they are imported into - Vega-Lite ( ``"binned"`` ). + `__, or indicating that the + data for ``x`` or ``y`` channel are binned before they are imported into Vega-Lite ( + ``"binned"`` ). If ``true``, default `binning parameters - `__ will be applied. + `__ will be applied. If ``"binned"``, this indicates that the data for the ``x`` (or ``y`` ) channel are already binned. You can map the bin-start field to ``x`` (or ``y`` ) and the bin-end @@ -4362,13 +4362,13 @@ class Order(FieldChannelMixin, core.OrderFieldDef): and at the middle of the band if set to ``0.5``. bin : anyOf(boolean, :class:`BinParams`, string, None) A flag for binning a ``quantitative`` field, `an object defining binning parameters - `__, or indicating - that the data for ``x`` or ``y`` channel are binned before they are imported into - Vega-Lite ( ``"binned"`` ). + `__, or indicating that the + data for ``x`` or ``y`` channel are binned before they are imported into Vega-Lite ( + ``"binned"`` ). If ``true``, default `binning parameters - `__ will be applied. + `__ will be applied. If ``"binned"``, this indicates that the data for the ``x`` (or ``y`` ) channel are already binned. You can map the bin-start field to ``x`` (or ``y`` ) and the bin-end @@ -4560,13 +4560,13 @@ class Radius(FieldChannelMixin, core.PositionFieldDefBase): and at the middle of the band if set to ``0.5``. bin : anyOf(boolean, :class:`BinParams`, string, None) A flag for binning a ``quantitative`` field, `an object defining binning parameters - `__, or indicating - that the data for ``x`` or ``y`` channel are binned before they are imported into - Vega-Lite ( ``"binned"`` ). + `__, or indicating that the + data for ``x`` or ``y`` channel are binned before they are imported into Vega-Lite ( + ``"binned"`` ). If ``true``, default `binning parameters - `__ will be applied. + `__ will be applied. If ``"binned"``, this indicates that the data for the ``x`` (or ``y`` ) channel are already binned. You can map the bin-start field to ``x`` (or ``y`` ) and the bin-end @@ -4660,9 +4660,8 @@ class Radius(FieldChannelMixin, core.PositionFieldDefBase): `__ chart). * ``"normalize"`` - stacking with normalized domain (for creating `normalized stacked bar and area charts - `__ and pie charts - `with percentage tooltip - `__ ). :raw-html:`
` + `__. + :raw-html:`
` - ``"center"`` - stacking with center baseline (for `streamgraph `__ ). * ``null`` or ``false`` - No-stacking. This will produce layered `bar @@ -4830,9 +4829,8 @@ class RadiusDatum(DatumChannelMixin, core.PositionDatumDefBase): `__ chart). * ``"normalize"`` - stacking with normalized domain (for creating `normalized stacked bar and area charts - `__ and pie charts - `with percentage tooltip - `__ ). :raw-html:`
` + `__. + :raw-html:`
` - ``"center"`` - stacking with center baseline (for `streamgraph `__ ). * ``null`` or ``false`` - No-stacking. This will produce layered `bar @@ -4992,13 +4990,13 @@ class Radius2(FieldChannelMixin, core.SecondaryFieldDef): and at the middle of the band if set to ``0.5``. bin : None A flag for binning a ``quantitative`` field, `an object defining binning parameters - `__, or indicating - that the data for ``x`` or ``y`` channel are binned before they are imported into - Vega-Lite ( ``"binned"`` ). + `__, or indicating that the + data for ``x`` or ``y`` channel are binned before they are imported into Vega-Lite ( + ``"binned"`` ). If ``true``, default `binning parameters - `__ will be applied. + `__ will be applied. If ``"binned"``, this indicates that the data for the ``x`` (or ``y`` ) channel are already binned. You can map the bin-start field to ``x`` (or ``y`` ) and the bin-end @@ -5238,13 +5236,13 @@ class Row(FieldChannelMixin, core.RowColumnEncodingFieldDef): and at the middle of the band if set to ``0.5``. bin : anyOf(boolean, :class:`BinParams`, None) A flag for binning a ``quantitative`` field, `an object defining binning parameters - `__, or indicating - that the data for ``x`` or ``y`` channel are binned before they are imported into - Vega-Lite ( ``"binned"`` ). + `__, or indicating that the + data for ``x`` or ``y`` channel are binned before they are imported into Vega-Lite ( + ``"binned"`` ). If ``true``, default `binning parameters - `__ will be applied. + `__ will be applied. If ``"binned"``, this indicates that the data for the ``x`` (or ``y`` ) channel are already binned. You can map the bin-start field to ``x`` (or ``y`` ) and the bin-end @@ -5449,13 +5447,13 @@ class Shape(FieldChannelMixin, core.FieldOrDatumDefWithConditionMarkPropFieldDef and at the middle of the band if set to ``0.5``. bin : anyOf(boolean, :class:`BinParams`, None) A flag for binning a ``quantitative`` field, `an object defining binning parameters - `__, or indicating - that the data for ``x`` or ``y`` channel are binned before they are imported into - Vega-Lite ( ``"binned"`` ). + `__, or indicating that the + data for ``x`` or ``y`` channel are binned before they are imported into Vega-Lite ( + ``"binned"`` ). If ``true``, default `binning parameters - `__ will be applied. + `__ will be applied. If ``"binned"``, this indicates that the data for the ``x`` (or ``y`` ) channel are already binned. You can map the bin-start field to ``x`` (or ``y`` ) and the bin-end @@ -5835,13 +5833,13 @@ class Size(FieldChannelMixin, core.FieldOrDatumDefWithConditionMarkPropFieldDefn and at the middle of the band if set to ``0.5``. bin : anyOf(boolean, :class:`BinParams`, None) A flag for binning a ``quantitative`` field, `an object defining binning parameters - `__, or indicating - that the data for ``x`` or ``y`` channel are binned before they are imported into - Vega-Lite ( ``"binned"`` ). + `__, or indicating that the + data for ``x`` or ``y`` channel are binned before they are imported into Vega-Lite ( + ``"binned"`` ). If ``true``, default `binning parameters - `__ will be applied. + `__ will be applied. If ``"binned"``, this indicates that the data for the ``x`` (or ``y`` ) channel are already binned. You can map the bin-start field to ``x`` (or ``y`` ) and the bin-end @@ -6220,13 +6218,13 @@ class Stroke(FieldChannelMixin, core.FieldOrDatumDefWithConditionMarkPropFieldDe and at the middle of the band if set to ``0.5``. bin : anyOf(boolean, :class:`BinParams`, None) A flag for binning a ``quantitative`` field, `an object defining binning parameters - `__, or indicating - that the data for ``x`` or ``y`` channel are binned before they are imported into - Vega-Lite ( ``"binned"`` ). + `__, or indicating that the + data for ``x`` or ``y`` channel are binned before they are imported into Vega-Lite ( + ``"binned"`` ). If ``true``, default `binning parameters - `__ will be applied. + `__ will be applied. If ``"binned"``, this indicates that the data for the ``x`` (or ``y`` ) channel are already binned. You can map the bin-start field to ``x`` (or ``y`` ) and the bin-end @@ -6606,13 +6604,13 @@ class StrokeDash(FieldChannelMixin, core.FieldOrDatumDefWithConditionMarkPropFie and at the middle of the band if set to ``0.5``. bin : anyOf(boolean, :class:`BinParams`, None) A flag for binning a ``quantitative`` field, `an object defining binning parameters - `__, or indicating - that the data for ``x`` or ``y`` channel are binned before they are imported into - Vega-Lite ( ``"binned"`` ). + `__, or indicating that the + data for ``x`` or ``y`` channel are binned before they are imported into Vega-Lite ( + ``"binned"`` ). If ``true``, default `binning parameters - `__ will be applied. + `__ will be applied. If ``"binned"``, this indicates that the data for the ``x`` (or ``y`` ) channel are already binned. You can map the bin-start field to ``x`` (or ``y`` ) and the bin-end @@ -6992,13 +6990,13 @@ class StrokeOpacity(FieldChannelMixin, core.FieldOrDatumDefWithConditionMarkProp and at the middle of the band if set to ``0.5``. bin : anyOf(boolean, :class:`BinParams`, None) A flag for binning a ``quantitative`` field, `an object defining binning parameters - `__, or indicating - that the data for ``x`` or ``y`` channel are binned before they are imported into - Vega-Lite ( ``"binned"`` ). + `__, or indicating that the + data for ``x`` or ``y`` channel are binned before they are imported into Vega-Lite ( + ``"binned"`` ). If ``true``, default `binning parameters - `__ will be applied. + `__ will be applied. If ``"binned"``, this indicates that the data for the ``x`` (or ``y`` ) channel are already binned. You can map the bin-start field to ``x`` (or ``y`` ) and the bin-end @@ -7377,13 +7375,13 @@ class StrokeWidth(FieldChannelMixin, core.FieldOrDatumDefWithConditionMarkPropFi and at the middle of the band if set to ``0.5``. bin : anyOf(boolean, :class:`BinParams`, None) A flag for binning a ``quantitative`` field, `an object defining binning parameters - `__, or indicating - that the data for ``x`` or ``y`` channel are binned before they are imported into - Vega-Lite ( ``"binned"`` ). + `__, or indicating that the + data for ``x`` or ``y`` channel are binned before they are imported into Vega-Lite ( + ``"binned"`` ). If ``true``, default `binning parameters - `__ will be applied. + `__ will be applied. If ``"binned"``, this indicates that the data for the ``x`` (or ``y`` ) channel are already binned. You can map the bin-start field to ``x`` (or ``y`` ) and the bin-end @@ -7762,13 +7760,13 @@ class Text(FieldChannelMixin, core.FieldOrDatumDefWithConditionStringFieldDefTex and at the middle of the band if set to ``0.5``. bin : anyOf(boolean, :class:`BinParams`, string, None) A flag for binning a ``quantitative`` field, `an object defining binning parameters - `__, or indicating - that the data for ``x`` or ``y`` channel are binned before they are imported into - Vega-Lite ( ``"binned"`` ). + `__, or indicating that the + data for ``x`` or ``y`` channel are binned before they are imported into Vega-Lite ( + ``"binned"`` ). If ``true``, default `binning parameters - `__ will be applied. + `__ will be applied. If ``"binned"``, this indicates that the data for the ``x`` (or ``y`` ) channel are already binned. You can map the bin-start field to ``x`` (or ``y`` ) and the bin-end @@ -8154,13 +8152,13 @@ class Theta(FieldChannelMixin, core.PositionFieldDefBase): and at the middle of the band if set to ``0.5``. bin : anyOf(boolean, :class:`BinParams`, string, None) A flag for binning a ``quantitative`` field, `an object defining binning parameters - `__, or indicating - that the data for ``x`` or ``y`` channel are binned before they are imported into - Vega-Lite ( ``"binned"`` ). + `__, or indicating that the + data for ``x`` or ``y`` channel are binned before they are imported into Vega-Lite ( + ``"binned"`` ). If ``true``, default `binning parameters - `__ will be applied. + `__ will be applied. If ``"binned"``, this indicates that the data for the ``x`` (or ``y`` ) channel are already binned. You can map the bin-start field to ``x`` (or ``y`` ) and the bin-end @@ -8254,9 +8252,8 @@ class Theta(FieldChannelMixin, core.PositionFieldDefBase): `__ chart). * ``"normalize"`` - stacking with normalized domain (for creating `normalized stacked bar and area charts - `__ and pie charts - `with percentage tooltip - `__ ). :raw-html:`
` + `__. + :raw-html:`
` - ``"center"`` - stacking with center baseline (for `streamgraph `__ ). * ``null`` or ``false`` - No-stacking. This will produce layered `bar @@ -8423,9 +8420,8 @@ class ThetaDatum(DatumChannelMixin, core.PositionDatumDefBase): `__ chart). * ``"normalize"`` - stacking with normalized domain (for creating `normalized stacked bar and area charts - `__ and pie charts - `with percentage tooltip - `__ ). :raw-html:`
` + `__. + :raw-html:`
` - ``"center"`` - stacking with center baseline (for `streamgraph `__ ). * ``null`` or ``false`` - No-stacking. This will produce layered `bar @@ -8585,13 +8581,13 @@ class Theta2(FieldChannelMixin, core.SecondaryFieldDef): and at the middle of the band if set to ``0.5``. bin : None A flag for binning a ``quantitative`` field, `an object defining binning parameters - `__, or indicating - that the data for ``x`` or ``y`` channel are binned before they are imported into - Vega-Lite ( ``"binned"`` ). + `__, or indicating that the + data for ``x`` or ``y`` channel are binned before they are imported into Vega-Lite ( + ``"binned"`` ). If ``true``, default `binning parameters - `__ will be applied. + `__ will be applied. If ``"binned"``, this indicates that the data for the ``x`` (or ``y`` ) channel are already binned. You can map the bin-start field to ``x`` (or ``y`` ) and the bin-end @@ -8819,13 +8815,13 @@ class Tooltip(FieldChannelMixin, core.StringFieldDefWithCondition): and at the middle of the band if set to ``0.5``. bin : anyOf(boolean, :class:`BinParams`, string, None) A flag for binning a ``quantitative`` field, `an object defining binning parameters - `__, or indicating - that the data for ``x`` or ``y`` channel are binned before they are imported into - Vega-Lite ( ``"binned"`` ). + `__, or indicating that the + data for ``x`` or ``y`` channel are binned before they are imported into Vega-Lite ( + ``"binned"`` ). If ``true``, default `binning parameters - `__ will be applied. + `__ will be applied. If ``"binned"``, this indicates that the data for the ``x`` (or ``y`` ) channel are already binned. You can map the bin-start field to ``x`` (or ``y`` ) and the bin-end @@ -9056,13 +9052,13 @@ class Url(FieldChannelMixin, core.StringFieldDefWithCondition): and at the middle of the band if set to ``0.5``. bin : anyOf(boolean, :class:`BinParams`, string, None) A flag for binning a ``quantitative`` field, `an object defining binning parameters - `__, or indicating - that the data for ``x`` or ``y`` channel are binned before they are imported into - Vega-Lite ( ``"binned"`` ). + `__, or indicating that the + data for ``x`` or ``y`` channel are binned before they are imported into Vega-Lite ( + ``"binned"`` ). If ``true``, default `binning parameters - `__ will be applied. + `__ will be applied. If ``"binned"``, this indicates that the data for the ``x`` (or ``y`` ) channel are already binned. You can map the bin-start field to ``x`` (or ``y`` ) and the bin-end @@ -9300,13 +9296,13 @@ class X(FieldChannelMixin, core.PositionFieldDef): and at the middle of the band if set to ``0.5``. bin : anyOf(boolean, :class:`BinParams`, string, None) A flag for binning a ``quantitative`` field, `an object defining binning parameters - `__, or indicating - that the data for ``x`` or ``y`` channel are binned before they are imported into - Vega-Lite ( ``"binned"`` ). + `__, or indicating that the + data for ``x`` or ``y`` channel are binned before they are imported into Vega-Lite ( + ``"binned"`` ). If ``true``, default `binning parameters - `__ will be applied. + `__ will be applied. If ``"binned"``, this indicates that the data for the ``x`` (or ``y`` ) channel are already binned. You can map the bin-start field to ``x`` (or ``y`` ) and the bin-end @@ -9408,9 +9404,8 @@ class X(FieldChannelMixin, core.PositionFieldDef): `__ chart). * ``"normalize"`` - stacking with normalized domain (for creating `normalized stacked bar and area charts - `__ and pie charts - `with percentage tooltip - `__ ). :raw-html:`
` + `__. + :raw-html:`
` - ``"center"`` - stacking with center baseline (for `streamgraph `__ ). * ``null`` or ``false`` - No-stacking. This will produce layered `bar @@ -9595,9 +9590,8 @@ class XDatum(DatumChannelMixin, core.PositionDatumDef): `__ chart). * ``"normalize"`` - stacking with normalized domain (for creating `normalized stacked bar and area charts - `__ and pie charts - `with percentage tooltip - `__ ). :raw-html:`
` + `__. + :raw-html:`
` - ``"center"`` - stacking with center baseline (for `streamgraph `__ ). * ``null`` or ``false`` - No-stacking. This will produce layered `bar @@ -9757,13 +9751,13 @@ class X2(FieldChannelMixin, core.SecondaryFieldDef): and at the middle of the band if set to ``0.5``. bin : None A flag for binning a ``quantitative`` field, `an object defining binning parameters - `__, or indicating - that the data for ``x`` or ``y`` channel are binned before they are imported into - Vega-Lite ( ``"binned"`` ). + `__, or indicating that the + data for ``x`` or ``y`` channel are binned before they are imported into Vega-Lite ( + ``"binned"`` ). If ``true``, default `binning parameters - `__ will be applied. + `__ will be applied. If ``"binned"``, this indicates that the data for the ``x`` (or ``y`` ) channel are already binned. You can map the bin-start field to ``x`` (or ``y`` ) and the bin-end @@ -9990,13 +9984,13 @@ class XError(FieldChannelMixin, core.SecondaryFieldDef): and at the middle of the band if set to ``0.5``. bin : None A flag for binning a ``quantitative`` field, `an object defining binning parameters - `__, or indicating - that the data for ``x`` or ``y`` channel are binned before they are imported into - Vega-Lite ( ``"binned"`` ). + `__, or indicating that the + data for ``x`` or ``y`` channel are binned before they are imported into Vega-Lite ( + ``"binned"`` ). If ``true``, default `binning parameters - `__ will be applied. + `__ will be applied. If ``"binned"``, this indicates that the data for the ``x`` (or ``y`` ) channel are already binned. You can map the bin-start field to ``x`` (or ``y`` ) and the bin-end @@ -10112,13 +10106,13 @@ class XError2(FieldChannelMixin, core.SecondaryFieldDef): and at the middle of the band if set to ``0.5``. bin : None A flag for binning a ``quantitative`` field, `an object defining binning parameters - `__, or indicating - that the data for ``x`` or ``y`` channel are binned before they are imported into - Vega-Lite ( ``"binned"`` ). + `__, or indicating that the + data for ``x`` or ``y`` channel are binned before they are imported into Vega-Lite ( + ``"binned"`` ). If ``true``, default `binning parameters - `__ will be applied. + `__ will be applied. If ``"binned"``, this indicates that the data for the ``x`` (or ``y`` ) channel are already binned. You can map the bin-start field to ``x`` (or ``y`` ) and the bin-end @@ -10232,13 +10226,13 @@ class XOffset(FieldChannelMixin, core.ScaleFieldDef): and at the middle of the band if set to ``0.5``. bin : anyOf(boolean, :class:`BinParams`, None) A flag for binning a ``quantitative`` field, `an object defining binning parameters - `__, or indicating - that the data for ``x`` or ``y`` channel are binned before they are imported into - Vega-Lite ( ``"binned"`` ). + `__, or indicating that the + data for ``x`` or ``y`` channel are binned before they are imported into Vega-Lite ( + ``"binned"`` ). If ``true``, default `binning parameters - `__ will be applied. + `__ will be applied. If ``"binned"``, this indicates that the data for the ``x`` (or ``y`` ) channel are already binned. You can map the bin-start field to ``x`` (or ``y`` ) and the bin-end @@ -10608,13 +10602,13 @@ class Y(FieldChannelMixin, core.PositionFieldDef): and at the middle of the band if set to ``0.5``. bin : anyOf(boolean, :class:`BinParams`, string, None) A flag for binning a ``quantitative`` field, `an object defining binning parameters - `__, or indicating - that the data for ``x`` or ``y`` channel are binned before they are imported into - Vega-Lite ( ``"binned"`` ). + `__, or indicating that the + data for ``x`` or ``y`` channel are binned before they are imported into Vega-Lite ( + ``"binned"`` ). If ``true``, default `binning parameters - `__ will be applied. + `__ will be applied. If ``"binned"``, this indicates that the data for the ``x`` (or ``y`` ) channel are already binned. You can map the bin-start field to ``x`` (or ``y`` ) and the bin-end @@ -10716,9 +10710,8 @@ class Y(FieldChannelMixin, core.PositionFieldDef): `__ chart). * ``"normalize"`` - stacking with normalized domain (for creating `normalized stacked bar and area charts - `__ and pie charts - `with percentage tooltip - `__ ). :raw-html:`
` + `__. + :raw-html:`
` - ``"center"`` - stacking with center baseline (for `streamgraph `__ ). * ``null`` or ``false`` - No-stacking. This will produce layered `bar @@ -10903,9 +10896,8 @@ class YDatum(DatumChannelMixin, core.PositionDatumDef): `__ chart). * ``"normalize"`` - stacking with normalized domain (for creating `normalized stacked bar and area charts - `__ and pie charts - `with percentage tooltip - `__ ). :raw-html:`
` + `__. + :raw-html:`
` - ``"center"`` - stacking with center baseline (for `streamgraph `__ ). * ``null`` or ``false`` - No-stacking. This will produce layered `bar @@ -11065,13 +11057,13 @@ class Y2(FieldChannelMixin, core.SecondaryFieldDef): and at the middle of the band if set to ``0.5``. bin : None A flag for binning a ``quantitative`` field, `an object defining binning parameters - `__, or indicating - that the data for ``x`` or ``y`` channel are binned before they are imported into - Vega-Lite ( ``"binned"`` ). + `__, or indicating that the + data for ``x`` or ``y`` channel are binned before they are imported into Vega-Lite ( + ``"binned"`` ). If ``true``, default `binning parameters - `__ will be applied. + `__ will be applied. If ``"binned"``, this indicates that the data for the ``x`` (or ``y`` ) channel are already binned. You can map the bin-start field to ``x`` (or ``y`` ) and the bin-end @@ -11298,13 +11290,13 @@ class YError(FieldChannelMixin, core.SecondaryFieldDef): and at the middle of the band if set to ``0.5``. bin : None A flag for binning a ``quantitative`` field, `an object defining binning parameters - `__, or indicating - that the data for ``x`` or ``y`` channel are binned before they are imported into - Vega-Lite ( ``"binned"`` ). + `__, or indicating that the + data for ``x`` or ``y`` channel are binned before they are imported into Vega-Lite ( + ``"binned"`` ). If ``true``, default `binning parameters - `__ will be applied. + `__ will be applied. If ``"binned"``, this indicates that the data for the ``x`` (or ``y`` ) channel are already binned. You can map the bin-start field to ``x`` (or ``y`` ) and the bin-end @@ -11420,13 +11412,13 @@ class YError2(FieldChannelMixin, core.SecondaryFieldDef): and at the middle of the band if set to ``0.5``. bin : None A flag for binning a ``quantitative`` field, `an object defining binning parameters - `__, or indicating - that the data for ``x`` or ``y`` channel are binned before they are imported into - Vega-Lite ( ``"binned"`` ). + `__, or indicating that the + data for ``x`` or ``y`` channel are binned before they are imported into Vega-Lite ( + ``"binned"`` ). If ``true``, default `binning parameters - `__ will be applied. + `__ will be applied. If ``"binned"``, this indicates that the data for the ``x`` (or ``y`` ) channel are already binned. You can map the bin-start field to ``x`` (or ``y`` ) and the bin-end @@ -11540,13 +11532,13 @@ class YOffset(FieldChannelMixin, core.ScaleFieldDef): and at the middle of the band if set to ``0.5``. bin : anyOf(boolean, :class:`BinParams`, None) A flag for binning a ``quantitative`` field, `an object defining binning parameters - `__, or indicating - that the data for ``x`` or ``y`` channel are binned before they are imported into - Vega-Lite ( ``"binned"`` ). + `__, or indicating that the + data for ``x`` or ``y`` channel are binned before they are imported into Vega-Lite ( + ``"binned"`` ). If ``true``, default `binning parameters - `__ will be applied. + `__ will be applied. If ``"binned"``, this indicates that the data for the ``x`` (or ``y`` ) channel are already binned. You can map the bin-start field to ``x`` (or ``y`` ) and the bin-end diff --git a/altair/vegalite/v5/schema/core.py b/altair/vegalite/v5/schema/core.py index 23152c4bd..a63d8cda4 100644 --- a/altair/vegalite/v5/schema/core.py +++ b/altair/vegalite/v5/schema/core.py @@ -2636,13 +2636,13 @@ class ConditionalParameterStringFieldDef(ConditionalStringFieldDef): and at the middle of the band if set to ``0.5``. bin : anyOf(boolean, :class:`BinParams`, string, None) A flag for binning a ``quantitative`` field, `an object defining binning parameters - `__, or indicating - that the data for ``x`` or ``y`` channel are binned before they are imported into - Vega-Lite ( ``"binned"`` ). + `__, or indicating that the + data for ``x`` or ``y`` channel are binned before they are imported into Vega-Lite ( + ``"binned"`` ). If ``true``, default `binning parameters - `__ will be applied. + `__ will be applied. If ``"binned"``, this indicates that the data for the ``x`` (or ``y`` ) channel are already binned. You can map the bin-start field to ``x`` (or ``y`` ) and the bin-end @@ -2843,13 +2843,13 @@ class ConditionalPredicateStringFieldDef(ConditionalStringFieldDef): and at the middle of the band if set to ``0.5``. bin : anyOf(boolean, :class:`BinParams`, string, None) A flag for binning a ``quantitative`` field, `an object defining binning parameters - `__, or indicating - that the data for ``x`` or ``y`` channel are binned before they are imported into - Vega-Lite ( ``"binned"`` ). + `__, or indicating that the + data for ``x`` or ``y`` channel are binned before they are imported into Vega-Lite ( + ``"binned"`` ). If ``true``, default `binning parameters - `__ will be applied. + `__ will be applied. If ``"binned"``, this indicates that the data for the ``x`` (or ``y`` ) channel are already binned. You can map the bin-start field to ``x`` (or ``y`` ) and the bin-end @@ -3597,43 +3597,9 @@ class Config(VegaLiteSchema): option. mark : :class:`MarkConfig` Mark Config - normalizedNumberFormat : string - If normalizedNumberFormatType is not specified, D3 number format for axis labels, - text marks, and tooltips of normalized stacked fields (fields with ``stack: - "normalize"`` ). For example ``"s"`` for SI units. Use `D3's number format pattern - `__. - - If ``config.normalizedNumberFormatType`` is specified and - ``config.customFormatTypes`` is ``true``, this value will be passed as ``format`` - alongside ``datum.value`` to the ``config.numberFormatType`` function. **Default - value:** ``%`` - normalizedNumberFormatType : string - `Custom format type - `__ for - ``config.normalizedNumberFormat``. - - **Default value:** ``undefined`` -- This is equilvalent to call D3-format, which is - exposed as `format in Vega-Expression - `__. **Note:** You must also - set ``customFormatTypes`` to ``true`` to use this feature. numberFormat : string - If numberFormatType is not specified, D3 number format for guide labels, text marks, - and tooltips of non-normalized fields (fields *without* ``stack: "normalize"`` ). - For example ``"s"`` for SI units. Use `D3's number format pattern - `__. - - If ``config.numberFormatType`` is specified and ``config.customFormatTypes`` is - ``true``, this value will be passed as ``format`` alongside ``datum.value`` to the - ``config.numberFormatType`` function. - numberFormatType : string - `Custom format type - `__ for - ``config.numberFormat``. - - **Default value:** ``undefined`` -- This is equilvalent to call D3-format, which is - exposed as `format in Vega-Expression - `__. **Note:** You must also - set ``customFormatTypes`` to ``true`` to use this feature. + D3 Number format for guide labels and text marks. For example ``"s"`` for SI units. + Use `D3's number format pattern `__. padding : anyOf(:class:`Padding`, :class:`ExprRef`) The default visualization padding, in pixels, from the edge of the visualization canvas to the data rectangle. If a number, specifies padding for all sides. If an @@ -3641,7 +3607,7 @@ class Config(VegaLiteSchema): "bottom": 5}`` to specify padding for each side of the visualization. **Default value** : ``5`` - params : List(:class:`TopLevelParameter`) + params : List(anyOf(:class:`VariableParameter`, :class:`TopLevelSelectionParameter`)) Dynamic variables or selections that parameterize a visualization. point : :class:`MarkConfig` Point-Specific Config @@ -3685,16 +3651,6 @@ class Config(VegaLiteSchema): **Default value:** ``"%b %d, %Y"`` **Note:** Axes automatically determine the format for each label automatically so this config does not affect axes. - timeFormatType : string - `Custom format type - `__ for - ``config.timeFormat``. - - **Default value:** ``undefined`` -- This is equilvalent to call D3-time-format, - which is exposed as `timeFormat in Vega-Expression - `__. **Note:** You must - also set ``customFormatTypes`` to ``true`` and there must *not* be a ``timeUnit`` - defined to use this feature. title : :class:`TitleConfig` Title configuration, which determines default properties for all `titles `__. For a full list of title @@ -3721,13 +3677,11 @@ def __init__(self, arc=Undefined, area=Undefined, aria=Undefined, autosize=Undef errorbar=Undefined, facet=Undefined, fieldTitle=Undefined, font=Undefined, geoshape=Undefined, header=Undefined, headerColumn=Undefined, headerFacet=Undefined, headerRow=Undefined, image=Undefined, legend=Undefined, line=Undefined, - lineBreak=Undefined, locale=Undefined, mark=Undefined, - normalizedNumberFormat=Undefined, normalizedNumberFormatType=Undefined, - numberFormat=Undefined, numberFormatType=Undefined, padding=Undefined, - params=Undefined, point=Undefined, projection=Undefined, range=Undefined, - rect=Undefined, rule=Undefined, scale=Undefined, selection=Undefined, square=Undefined, - style=Undefined, text=Undefined, tick=Undefined, timeFormat=Undefined, - timeFormatType=Undefined, title=Undefined, trail=Undefined, view=Undefined, **kwds): + lineBreak=Undefined, locale=Undefined, mark=Undefined, numberFormat=Undefined, + padding=Undefined, params=Undefined, point=Undefined, projection=Undefined, + range=Undefined, rect=Undefined, rule=Undefined, scale=Undefined, selection=Undefined, + square=Undefined, style=Undefined, text=Undefined, tick=Undefined, + timeFormat=Undefined, title=Undefined, trail=Undefined, view=Undefined, **kwds): super(Config, self).__init__(arc=arc, area=area, aria=aria, autosize=autosize, axis=axis, axisBand=axisBand, axisBottom=axisBottom, axisDiscrete=axisDiscrete, axisLeft=axisLeft, axisPoint=axisPoint, @@ -3745,14 +3699,11 @@ def __init__(self, arc=Undefined, area=Undefined, aria=Undefined, autosize=Undef geoshape=geoshape, header=header, headerColumn=headerColumn, headerFacet=headerFacet, headerRow=headerRow, image=image, legend=legend, line=line, lineBreak=lineBreak, locale=locale, - mark=mark, normalizedNumberFormat=normalizedNumberFormat, - normalizedNumberFormatType=normalizedNumberFormatType, - numberFormat=numberFormat, numberFormatType=numberFormatType, - padding=padding, params=params, point=point, projection=projection, - range=range, rect=rect, rule=rule, scale=scale, - selection=selection, square=square, style=style, text=text, - tick=tick, timeFormat=timeFormat, timeFormatType=timeFormatType, - title=title, trail=trail, view=view, **kwds) + mark=mark, numberFormat=numberFormat, padding=padding, + params=params, point=point, projection=projection, range=range, + rect=rect, rule=rule, scale=scale, selection=selection, + square=square, style=style, text=text, tick=tick, + timeFormat=timeFormat, title=title, trail=trail, view=view, **kwds) class Cursor(VegaLiteSchema): @@ -4584,13 +4535,13 @@ class FacetEncodingFieldDef(VegaLiteSchema): and at the middle of the band if set to ``0.5``. bin : anyOf(boolean, :class:`BinParams`, None) A flag for binning a ``quantitative`` field, `an object defining binning parameters - `__, or indicating - that the data for ``x`` or ``y`` channel are binned before they are imported into - Vega-Lite ( ``"binned"`` ). + `__, or indicating that the + data for ``x`` or ``y`` channel are binned before they are imported into Vega-Lite ( + ``"binned"`` ). If ``true``, default `binning parameters - `__ will be applied. + `__ will be applied. If ``"binned"``, this indicates that the data for the ``x`` (or ``y`` ) channel are already binned. You can map the bin-start field to ``x`` (or ``y`` ) and the bin-end @@ -4826,13 +4777,13 @@ class FacetFieldDef(VegaLiteSchema): and at the middle of the band if set to ``0.5``. bin : anyOf(boolean, :class:`BinParams`, None) A flag for binning a ``quantitative`` field, `an object defining binning parameters - `__, or indicating - that the data for ``x`` or ``y`` channel are binned before they are imported into - Vega-Lite ( ``"binned"`` ). + `__, or indicating that the + data for ``x`` or ``y`` channel are binned before they are imported into Vega-Lite ( + ``"binned"`` ). If ``true``, default `binning parameters - `__ will be applied. + `__ will be applied. If ``"binned"``, this indicates that the data for the ``x`` (or ``y`` ) channel are already binned. You can map the bin-start field to ``x`` (or ``y`` ) and the bin-end @@ -5285,13 +5236,13 @@ class FieldDefWithoutScale(VegaLiteSchema): and at the middle of the band if set to ``0.5``. bin : anyOf(boolean, :class:`BinParams`, string, None) A flag for binning a ``quantitative`` field, `an object defining binning parameters - `__, or indicating - that the data for ``x`` or ``y`` channel are binned before they are imported into - Vega-Lite ( ``"binned"`` ). + `__, or indicating that the + data for ``x`` or ``y`` channel are binned before they are imported into Vega-Lite ( + ``"binned"`` ). If ``true``, default `binning parameters - `__ will be applied. + `__ will be applied. If ``"binned"``, this indicates that the data for the ``x`` (or ``y`` ) channel are already binned. You can map the bin-start field to ``x`` (or ``y`` ) and the bin-end @@ -5462,13 +5413,13 @@ class FieldOrDatumDefWithConditionStringFieldDefstring(VegaLiteSchema): and at the middle of the band if set to ``0.5``. bin : anyOf(boolean, :class:`BinParams`, string, None) A flag for binning a ``quantitative`` field, `an object defining binning parameters - `__, or indicating - that the data for ``x`` or ``y`` channel are binned before they are imported into - Vega-Lite ( ``"binned"`` ). + `__, or indicating that the + data for ``x`` or ``y`` channel are binned before they are imported into Vega-Lite ( + ``"binned"`` ). If ``true``, default `binning parameters - `__ will be applied. + `__ will be applied. If ``"binned"``, this indicates that the data for the ``x`` (or ``y`` ) channel are already binned. You can map the bin-start field to ``x`` (or ``y`` ) and the bin-end @@ -5739,7 +5690,7 @@ class GenericUnitSpecEncodingAnyMark(VegaLiteSchema): A key-value mapping between encoding channels and definition of fields. name : string Name of the visualization for later reference. - params : List(:class:`SelectionParameter`) + params : List(anyOf(:class:`VariableParameter`, :class:`SelectionParameter`)) An array of parameters that may either be simple variables, or more complex selections that map user input to data queries. projection : :class:`Projection` @@ -6684,13 +6635,13 @@ class LatLongFieldDef(LatLongDef): and at the middle of the band if set to ``0.5``. bin : None A flag for binning a ``quantitative`` field, `an object defining binning parameters - `__, or indicating - that the data for ``x`` or ``y`` channel are binned before they are imported into - Vega-Lite ( ``"binned"`` ). + `__, or indicating that the + data for ``x`` or ``y`` channel are binned before they are imported into Vega-Lite ( + ``"binned"`` ). If ``true``, default `binning parameters - `__ will be applied. + `__ will be applied. If ``"binned"``, this indicates that the data for the ``x`` (or ``y`` ) channel are already binned. You can map the bin-start field to ``x`` (or ``y`` ) and the bin-end @@ -8829,13 +8780,13 @@ class FieldOrDatumDefWithConditionMarkPropFieldDefGradientstringnull(ColorDef, M and at the middle of the band if set to ``0.5``. bin : anyOf(boolean, :class:`BinParams`, None) A flag for binning a ``quantitative`` field, `an object defining binning parameters - `__, or indicating - that the data for ``x`` or ``y`` channel are binned before they are imported into - Vega-Lite ( ``"binned"`` ). + `__, or indicating that the + data for ``x`` or ``y`` channel are binned before they are imported into Vega-Lite ( + ``"binned"`` ). If ``true``, default `binning parameters - `__ will be applied. + `__ will be applied. If ``"binned"``, this indicates that the data for the ``x`` (or ``y`` ) channel are already binned. You can map the bin-start field to ``x`` (or ``y`` ) and the bin-end @@ -9121,11 +9072,6 @@ class NamedData(DataSource): name : string Provide a placeholder name and bind data at runtime. - - New data may change the layout but Vega does not always resize the chart. To update - the layout when the data updates, set `autosize - `__ or explicitly use - `view.resize `__. format : :class:`DataFormat` An object that specifies the format for parsing the data. """ @@ -9359,13 +9305,13 @@ class FieldOrDatumDefWithConditionMarkPropFieldDefnumberArray(MarkPropDefnumberA and at the middle of the band if set to ``0.5``. bin : anyOf(boolean, :class:`BinParams`, None) A flag for binning a ``quantitative`` field, `an object defining binning parameters - `__, or indicating - that the data for ``x`` or ``y`` channel are binned before they are imported into - Vega-Lite ( ``"binned"`` ). + `__, or indicating that the + data for ``x`` or ``y`` channel are binned before they are imported into Vega-Lite ( + ``"binned"`` ). If ``true``, default `binning parameters - `__ will be applied. + `__ will be applied. If ``"binned"``, this indicates that the data for the ``x`` (or ``y`` ) channel are already binned. You can map the bin-start field to ``x`` (or ``y`` ) and the bin-end @@ -9740,13 +9686,13 @@ class FieldOrDatumDefWithConditionMarkPropFieldDefnumber(MarkPropDefnumber, Nume and at the middle of the band if set to ``0.5``. bin : anyOf(boolean, :class:`BinParams`, None) A flag for binning a ``quantitative`` field, `an object defining binning parameters - `__, or indicating - that the data for ``x`` or ``y`` channel are binned before they are imported into - Vega-Lite ( ``"binned"`` ). + `__, or indicating that the + data for ``x`` or ``y`` channel are binned before they are imported into Vega-Lite ( + ``"binned"`` ). If ``true``, default `binning parameters - `__ will be applied. + `__ will be applied. If ``"binned"``, this indicates that the data for the ``x`` (or ``y`` ) channel are already binned. You can map the bin-start field to ``x`` (or ``y`` ) and the bin-end @@ -9991,13 +9937,13 @@ class OrderFieldDef(VegaLiteSchema): and at the middle of the band if set to ``0.5``. bin : anyOf(boolean, :class:`BinParams`, string, None) A flag for binning a ``quantitative`` field, `an object defining binning parameters - `__, or indicating - that the data for ``x`` or ``y`` channel are binned before they are imported into - Vega-Lite ( ``"binned"`` ). + `__, or indicating that the + data for ``x`` or ``y`` channel are binned before they are imported into Vega-Lite ( + ``"binned"`` ). If ``true``, default `binning parameters - `__ will be applied. + `__ will be applied. If ``"binned"``, this indicates that the data for the ``x`` (or ``y`` ) channel are already binned. You can map the bin-start field to ``x`` (or ``y`` ) and the bin-end @@ -10988,9 +10934,8 @@ class PositionDatumDefBase(PolarDef): `__ chart). * ``"normalize"`` - stacking with normalized domain (for creating `normalized stacked bar and area charts - `__ and pie charts - `with percentage tooltip - `__ ). :raw-html:`
` + `__. + :raw-html:`
` - ``"center"`` - stacking with center baseline (for `streamgraph `__ ). * ``null`` or ``false`` - No-stacking. This will produce layered `bar @@ -11173,9 +11118,8 @@ class PositionDatumDef(PositionDef): `__ chart). * ``"normalize"`` - stacking with normalized domain (for creating `normalized stacked bar and area charts - `__ and pie charts - `with percentage tooltip - `__ ). :raw-html:`
` + `__. + :raw-html:`
` - ``"center"`` - stacking with center baseline (for `streamgraph `__ ). * ``null`` or ``false`` - No-stacking. This will produce layered `bar @@ -11319,13 +11263,13 @@ class PositionFieldDef(PositionDef): and at the middle of the band if set to ``0.5``. bin : anyOf(boolean, :class:`BinParams`, string, None) A flag for binning a ``quantitative`` field, `an object defining binning parameters - `__, or indicating - that the data for ``x`` or ``y`` channel are binned before they are imported into - Vega-Lite ( ``"binned"`` ). + `__, or indicating that the + data for ``x`` or ``y`` channel are binned before they are imported into Vega-Lite ( + ``"binned"`` ). If ``true``, default `binning parameters - `__ will be applied. + `__ will be applied. If ``"binned"``, this indicates that the data for the ``x`` (or ``y`` ) channel are already binned. You can map the bin-start field to ``x`` (or ``y`` ) and the bin-end @@ -11427,9 +11371,8 @@ class PositionFieldDef(PositionDef): `__ chart). * ``"normalize"`` - stacking with normalized domain (for creating `normalized stacked bar and area charts - `__ and pie charts - `with percentage tooltip - `__ ). :raw-html:`
` + `__. + :raw-html:`
` - ``"center"`` - stacking with center baseline (for `streamgraph `__ ). * ``null`` or ``false`` - No-stacking. This will produce layered `bar @@ -11575,13 +11518,13 @@ class PositionFieldDefBase(PolarDef): and at the middle of the band if set to ``0.5``. bin : anyOf(boolean, :class:`BinParams`, string, None) A flag for binning a ``quantitative`` field, `an object defining binning parameters - `__, or indicating - that the data for ``x`` or ``y`` channel are binned before they are imported into - Vega-Lite ( ``"binned"`` ). + `__, or indicating that the + data for ``x`` or ``y`` channel are binned before they are imported into Vega-Lite ( + ``"binned"`` ). If ``true``, default `binning parameters - `__ will be applied. + `__ will be applied. If ``"binned"``, this indicates that the data for the ``x`` (or ``y`` ) channel are already binned. You can map the bin-start field to ``x`` (or ``y`` ) and the bin-end @@ -11675,9 +11618,8 @@ class PositionFieldDefBase(PolarDef): `__ chart). * ``"normalize"`` - stacking with normalized domain (for creating `normalized stacked bar and area charts - `__ and pie charts - `with percentage tooltip - `__ ). :raw-html:`
` + `__. + :raw-html:`
` - ``"center"`` - stacking with center baseline (for `streamgraph `__ ). * ``null`` or ``false`` - No-stacking. This will produce layered `bar @@ -12922,13 +12864,13 @@ class RowColumnEncodingFieldDef(VegaLiteSchema): and at the middle of the band if set to ``0.5``. bin : anyOf(boolean, :class:`BinParams`, None) A flag for binning a ``quantitative`` field, `an object defining binning parameters - `__, or indicating - that the data for ``x`` or ``y`` channel are binned before they are imported into - Vega-Lite ( ``"binned"`` ). + `__, or indicating that the + data for ``x`` or ``y`` channel are binned before they are imported into Vega-Lite ( + ``"binned"`` ). If ``true``, default `binning parameters - `__ will be applied. + `__ will be applied. If ``"binned"``, this indicates that the data for the ``x`` (or ``y`` ) channel are already binned. You can map the bin-start field to ``x`` (or ``y`` ) and the bin-end @@ -13734,13 +13676,13 @@ class ScaleFieldDef(OffsetDef): and at the middle of the band if set to ``0.5``. bin : anyOf(boolean, :class:`BinParams`, None) A flag for binning a ``quantitative`` field, `an object defining binning parameters - `__, or indicating - that the data for ``x`` or ``y`` channel are binned before they are imported into - Vega-Lite ( ``"binned"`` ). + `__, or indicating that the + data for ``x`` or ``y`` channel are binned before they are imported into Vega-Lite ( + ``"binned"`` ). If ``true``, default `binning parameters - `__ will be applied. + `__ will be applied. If ``"binned"``, this indicates that the data for the ``x`` (or ``y`` ) channel are already binned. You can map the bin-start field to ``x`` (or ``y`` ) and the bin-end @@ -14079,13 +14021,13 @@ class SecondaryFieldDef(Position2Def): and at the middle of the band if set to ``0.5``. bin : None A flag for binning a ``quantitative`` field, `an object defining binning parameters - `__, or indicating - that the data for ``x`` or ``y`` channel are binned before they are imported into - Vega-Lite ( ``"binned"`` ). + `__, or indicating that the + data for ``x`` or ``y`` channel are binned before they are imported into Vega-Lite ( + ``"binned"`` ). If ``true``, default `binning parameters - `__ will be applied. + `__ will be applied. If ``"binned"``, this indicates that the data for the ``x`` (or ``y`` ) channel are already binned. You can map the bin-start field to ``x`` (or ``y`` ) and the bin-end @@ -14633,13 +14575,13 @@ class FieldOrDatumDefWithConditionMarkPropFieldDefTypeForShapestringnull(MarkPro and at the middle of the band if set to ``0.5``. bin : anyOf(boolean, :class:`BinParams`, None) A flag for binning a ``quantitative`` field, `an object defining binning parameters - `__, or indicating - that the data for ``x`` or ``y`` channel are binned before they are imported into - Vega-Lite ( ``"binned"`` ). + `__, or indicating that the + data for ``x`` or ``y`` channel are binned before they are imported into Vega-Lite ( + ``"binned"`` ). If ``true``, default `binning parameters - `__ will be applied. + `__ will be applied. If ``"binned"``, this indicates that the data for the ``x`` (or ``y`` ) channel are already binned. You can map the bin-start field to ``x`` (or ``y`` ) and the bin-end @@ -15444,7 +15386,7 @@ class FacetedUnitSpec(Spec, NonNormalizedSpec): documentation. name : string Name of the visualization for later reference. - params : List(:class:`SelectionParameter`) + params : List(anyOf(:class:`VariableParameter`, :class:`SelectionParameter`)) An array of parameters that may either be simple variables, or more complex selections that map user input to data queries. projection : :class:`Projection` @@ -16065,13 +16007,13 @@ class StringFieldDef(VegaLiteSchema): and at the middle of the band if set to ``0.5``. bin : anyOf(boolean, :class:`BinParams`, string, None) A flag for binning a ``quantitative`` field, `an object defining binning parameters - `__, or indicating - that the data for ``x`` or ``y`` channel are binned before they are imported into - Vega-Lite ( ``"binned"`` ). + `__, or indicating that the + data for ``x`` or ``y`` channel are binned before they are imported into Vega-Lite ( + ``"binned"`` ). If ``true``, default `binning parameters - `__ will be applied. + `__ will be applied. If ``"binned"``, this indicates that the data for the ``x`` (or ``y`` ) channel are already binned. You can map the bin-start field to ``x`` (or ``y`` ) and the bin-end @@ -16266,13 +16208,13 @@ class StringFieldDefWithCondition(VegaLiteSchema): and at the middle of the band if set to ``0.5``. bin : anyOf(boolean, :class:`BinParams`, string, None) A flag for binning a ``quantitative`` field, `an object defining binning parameters - `__, or indicating - that the data for ``x`` or ``y`` channel are binned before they are imported into - Vega-Lite ( ``"binned"`` ). + `__, or indicating that the + data for ``x`` or ``y`` channel are binned before they are imported into Vega-Lite ( + ``"binned"`` ). If ``true``, default `binning parameters - `__ will be applied. + `__ will be applied. If ``"binned"``, this indicates that the data for the ``x`` (or ``y`` ) channel are already binned. You can map the bin-start field to ``x`` (or ``y`` ) and the bin-end @@ -16800,13 +16742,13 @@ class FieldOrDatumDefWithConditionStringFieldDefText(TextDef): and at the middle of the band if set to ``0.5``. bin : anyOf(boolean, :class:`BinParams`, string, None) A flag for binning a ``quantitative`` field, `an object defining binning parameters - `__, or indicating - that the data for ``x`` or ``y`` channel are binned before they are imported into - Vega-Lite ( ``"binned"`` ). + `__, or indicating that the + data for ``x`` or ``y`` channel are binned before they are imported into Vega-Lite ( + ``"binned"`` ). If ``true``, default `binning parameters - `__ will be applied. + `__ will be applied. If ``"binned"``, this indicates that the data for the ``x`` (or ``y`` ) channel are already binned. You can map the bin-start field to ``x`` (or ``y`` ) and the bin-end @@ -17736,18 +17678,7 @@ def __init__(self, content=Undefined, **kwds): super(TooltipContent, self).__init__(content=content, **kwds) -class TopLevelParameter(VegaLiteSchema): - """TopLevelParameter schema wrapper - - anyOf(:class:`VariableParameter`, :class:`TopLevelSelectionParameter`) - """ - _schema = {'$ref': '#/definitions/TopLevelParameter'} - - def __init__(self, *args, **kwds): - super(TopLevelParameter, self).__init__(*args, **kwds) - - -class TopLevelSelectionParameter(TopLevelParameter): +class TopLevelSelectionParameter(VegaLiteSchema): """TopLevelSelectionParameter schema wrapper Mapping(required=[name, select]) @@ -17917,7 +17848,7 @@ class TopLevelConcatSpec(TopLevelSpec): "bottom": 5}`` to specify padding for each side of the visualization. **Default value** : ``5`` - params : List(:class:`TopLevelParameter`) + params : List(anyOf(:class:`VariableParameter`, :class:`TopLevelSelectionParameter`)) Dynamic variables or selections that parameterize a visualization. resolve : :class:`Resolve` Scale, axis, and legend resolutions for view composition specifications. @@ -18061,7 +17992,7 @@ class TopLevelFacetSpec(TopLevelSpec): "bottom": 5}`` to specify padding for each side of the visualization. **Default value** : ``5`` - params : List(:class:`TopLevelParameter`) + params : List(anyOf(:class:`VariableParameter`, :class:`TopLevelSelectionParameter`)) Dynamic variables or selections that parameterize a visualization. resolve : :class:`Resolve` Scale, axis, and legend resolutions for view composition specifications. @@ -18161,7 +18092,7 @@ class TopLevelHConcatSpec(TopLevelSpec): "bottom": 5}`` to specify padding for each side of the visualization. **Default value** : ``5`` - params : List(:class:`TopLevelParameter`) + params : List(anyOf(:class:`VariableParameter`, :class:`TopLevelSelectionParameter`)) Dynamic variables or selections that parameterize a visualization. resolve : :class:`Resolve` Scale, axis, and legend resolutions for view composition specifications. @@ -18268,7 +18199,7 @@ class TopLevelLayerSpec(TopLevelSpec): "bottom": 5}`` to specify padding for each side of the visualization. **Default value** : ``5`` - params : List(:class:`TopLevelParameter`) + params : List(anyOf(:class:`VariableParameter`, :class:`TopLevelSelectionParameter`)) Dynamic variables or selections that parameterize a visualization. projection : :class:`Projection` An object defining properties of the geographic projection shared by underlying @@ -18443,7 +18374,7 @@ class TopLevelUnitSpec(TopLevelSpec): "bottom": 5}`` to specify padding for each side of the visualization. **Default value** : ``5`` - params : List(:class:`TopLevelParameter`) + params : List(anyOf(:class:`VariableParameter`, :class:`SelectionParameter`)) An array of parameters that may either be simple variables, or more complex selections that map user input to data queries. projection : :class:`Projection` @@ -18574,7 +18505,7 @@ class TopLevelVConcatSpec(TopLevelSpec): "bottom": 5}`` to specify padding for each side of the visualization. **Default value** : ``5`` - params : List(:class:`TopLevelParameter`) + params : List(anyOf(:class:`VariableParameter`, :class:`TopLevelSelectionParameter`)) Dynamic variables or selections that parameterize a visualization. resolve : :class:`Resolve` Scale, axis, and legend resolutions for view composition specifications. @@ -19263,13 +19194,13 @@ class TypedFieldDef(VegaLiteSchema): and at the middle of the band if set to ``0.5``. bin : anyOf(boolean, :class:`BinParams`, string, None) A flag for binning a ``quantitative`` field, `an object defining binning parameters - `__, or indicating - that the data for ``x`` or ``y`` channel are binned before they are imported into - Vega-Lite ( ``"binned"`` ). + `__, or indicating that the + data for ``x`` or ``y`` channel are binned before they are imported into Vega-Lite ( + ``"binned"`` ). If ``true``, default `binning parameters - `__ will be applied. + `__ will be applied. If ``"binned"``, this indicates that the data for the ``x`` (or ``y`` ) channel are already binned. You can map the bin-start field to ``x`` (or ``y`` ) and the bin-end @@ -19439,7 +19370,7 @@ class UnitSpec(VegaLiteSchema): A key-value mapping between encoding channels and definition of fields. name : string Name of the visualization for later reference. - params : List(:class:`SelectionParameter`) + params : List(anyOf(:class:`VariableParameter`, :class:`SelectionParameter`)) An array of parameters that may either be simple variables, or more complex selections that map user input to data queries. projection : :class:`Projection` @@ -19503,7 +19434,7 @@ class UnitSpecWithFrame(VegaLiteSchema): documentation. name : string Name of the visualization for later reference. - params : List(:class:`SelectionParameter`) + params : List(anyOf(:class:`VariableParameter`, :class:`SelectionParameter`)) An array of parameters that may either be simple variables, or more complex selections that map user input to data queries. projection : :class:`Projection` @@ -19847,7 +19778,7 @@ def __init__(self, value=Undefined, **kwds): super(ValueDefnumberwidthheightExprRef, self).__init__(value=value, **kwds) -class VariableParameter(TopLevelParameter): +class VariableParameter(VegaLiteSchema): """VariableParameter schema wrapper Mapping(required=[name]) diff --git a/altair/vegalite/v5/schema/vega-lite-schema.json b/altair/vegalite/v5/schema/vega-lite-schema.json index 56bd01bbb..cedaa872a 100644 --- a/altair/vegalite/v5/schema/vega-lite-schema.json +++ b/altair/vegalite/v5/schema/vega-lite-schema.json @@ -5814,7 +5814,7 @@ "type": "null" } ], - "description": "A flag for binning a `quantitative` field, [an object defining binning parameters](https://vega.github.io/vega-lite/docs/bin.html#bin-parameters), or indicating that the data for `x` or `y` channel are binned before they are imported into Vega-Lite (`\"binned\"`).\n\n- If `true`, default [binning parameters](https://vega.github.io/vega-lite/docs/bin.html#bin-parameters) will be applied.\n\n- If `\"binned\"`, this indicates that the data for the `x` (or `y`) channel are already binned. You can map the bin-start field to `x` (or `y`) and the bin-end field to `x2` (or `y2`). The scale and axis will be formatted similar to binning in Vega-Lite. To adjust the axis ticks based on the bin step, you can also set the axis's [`tickMinStep`](https://vega.github.io/vega-lite/docs/axis.html#ticks) property.\n\n__Default value:__ `false`\n\n__See also:__ [`bin`](https://vega.github.io/vega-lite/docs/bin.html) documentation." + "description": "A flag for binning a `quantitative` field, [an object defining binning parameters](https://vega.github.io/vega-lite/docs/bin.html#params), or indicating that the data for `x` or `y` channel are binned before they are imported into Vega-Lite (`\"binned\"`).\n\n- If `true`, default [binning parameters](https://vega.github.io/vega-lite/docs/bin.html) will be applied.\n\n- If `\"binned\"`, this indicates that the data for the `x` (or `y`) channel are already binned. You can map the bin-start field to `x` (or `y`) and the bin-end field to `x2` (or `y2`). The scale and axis will be formatted similar to binning in Vega-Lite. To adjust the axis ticks based on the bin step, you can also set the axis's [`tickMinStep`](https://vega.github.io/vega-lite/docs/axis.html#ticks) property.\n\n__Default value:__ `false`\n\n__See also:__ [`bin`](https://vega.github.io/vega-lite/docs/bin.html) documentation." }, "empty": { "description": "For selection parameters, the predicate of empty selections returns true by default. Override this behavior, by setting this property `empty: false`.", @@ -5992,7 +5992,7 @@ "type": "null" } ], - "description": "A flag for binning a `quantitative` field, [an object defining binning parameters](https://vega.github.io/vega-lite/docs/bin.html#bin-parameters), or indicating that the data for `x` or `y` channel are binned before they are imported into Vega-Lite (`\"binned\"`).\n\n- If `true`, default [binning parameters](https://vega.github.io/vega-lite/docs/bin.html#bin-parameters) will be applied.\n\n- If `\"binned\"`, this indicates that the data for the `x` (or `y`) channel are already binned. You can map the bin-start field to `x` (or `y`) and the bin-end field to `x2` (or `y2`). The scale and axis will be formatted similar to binning in Vega-Lite. To adjust the axis ticks based on the bin step, you can also set the axis's [`tickMinStep`](https://vega.github.io/vega-lite/docs/axis.html#ticks) property.\n\n__Default value:__ `false`\n\n__See also:__ [`bin`](https://vega.github.io/vega-lite/docs/bin.html) documentation." + "description": "A flag for binning a `quantitative` field, [an object defining binning parameters](https://vega.github.io/vega-lite/docs/bin.html#params), or indicating that the data for `x` or `y` channel are binned before they are imported into Vega-Lite (`\"binned\"`).\n\n- If `true`, default [binning parameters](https://vega.github.io/vega-lite/docs/bin.html) will be applied.\n\n- If `\"binned\"`, this indicates that the data for the `x` (or `y`) channel are already binned. You can map the bin-start field to `x` (or `y`) and the bin-end field to `x2` (or `y2`). The scale and axis will be formatted similar to binning in Vega-Lite. To adjust the axis ticks based on the bin step, you can also set the axis's [`tickMinStep`](https://vega.github.io/vega-lite/docs/axis.html#ticks) property.\n\n__Default value:__ `false`\n\n__See also:__ [`bin`](https://vega.github.io/vega-lite/docs/bin.html) documentation." }, "empty": { "description": "For selection parameters, the predicate of empty selections returns true by default. Override this behavior, by setting this property `empty: false`.", @@ -6172,7 +6172,7 @@ "type": "null" } ], - "description": "A flag for binning a `quantitative` field, [an object defining binning parameters](https://vega.github.io/vega-lite/docs/bin.html#bin-parameters), or indicating that the data for `x` or `y` channel are binned before they are imported into Vega-Lite (`\"binned\"`).\n\n- If `true`, default [binning parameters](https://vega.github.io/vega-lite/docs/bin.html#bin-parameters) will be applied.\n\n- If `\"binned\"`, this indicates that the data for the `x` (or `y`) channel are already binned. You can map the bin-start field to `x` (or `y`) and the bin-end field to `x2` (or `y2`). The scale and axis will be formatted similar to binning in Vega-Lite. To adjust the axis ticks based on the bin step, you can also set the axis's [`tickMinStep`](https://vega.github.io/vega-lite/docs/axis.html#ticks) property.\n\n__Default value:__ `false`\n\n__See also:__ [`bin`](https://vega.github.io/vega-lite/docs/bin.html) documentation." + "description": "A flag for binning a `quantitative` field, [an object defining binning parameters](https://vega.github.io/vega-lite/docs/bin.html#params), or indicating that the data for `x` or `y` channel are binned before they are imported into Vega-Lite (`\"binned\"`).\n\n- If `true`, default [binning parameters](https://vega.github.io/vega-lite/docs/bin.html) will be applied.\n\n- If `\"binned\"`, this indicates that the data for the `x` (or `y`) channel are already binned. You can map the bin-start field to `x` (or `y`) and the bin-end field to `x2` (or `y2`). The scale and axis will be formatted similar to binning in Vega-Lite. To adjust the axis ticks based on the bin step, you can also set the axis's [`tickMinStep`](https://vega.github.io/vega-lite/docs/axis.html#ticks) property.\n\n__Default value:__ `false`\n\n__See also:__ [`bin`](https://vega.github.io/vega-lite/docs/bin.html) documentation." }, "empty": { "description": "For selection parameters, the predicate of empty selections returns true by default. Override this behavior, by setting this property `empty: false`.", @@ -6839,7 +6839,7 @@ "type": "null" } ], - "description": "A flag for binning a `quantitative` field, [an object defining binning parameters](https://vega.github.io/vega-lite/docs/bin.html#bin-parameters), or indicating that the data for `x` or `y` channel are binned before they are imported into Vega-Lite (`\"binned\"`).\n\n- If `true`, default [binning parameters](https://vega.github.io/vega-lite/docs/bin.html#bin-parameters) will be applied.\n\n- If `\"binned\"`, this indicates that the data for the `x` (or `y`) channel are already binned. You can map the bin-start field to `x` (or `y`) and the bin-end field to `x2` (or `y2`). The scale and axis will be formatted similar to binning in Vega-Lite. To adjust the axis ticks based on the bin step, you can also set the axis's [`tickMinStep`](https://vega.github.io/vega-lite/docs/axis.html#ticks) property.\n\n__Default value:__ `false`\n\n__See also:__ [`bin`](https://vega.github.io/vega-lite/docs/bin.html) documentation." + "description": "A flag for binning a `quantitative` field, [an object defining binning parameters](https://vega.github.io/vega-lite/docs/bin.html#params), or indicating that the data for `x` or `y` channel are binned before they are imported into Vega-Lite (`\"binned\"`).\n\n- If `true`, default [binning parameters](https://vega.github.io/vega-lite/docs/bin.html) will be applied.\n\n- If `\"binned\"`, this indicates that the data for the `x` (or `y`) channel are already binned. You can map the bin-start field to `x` (or `y`) and the bin-end field to `x2` (or `y2`). The scale and axis will be formatted similar to binning in Vega-Lite. To adjust the axis ticks based on the bin step, you can also set the axis's [`tickMinStep`](https://vega.github.io/vega-lite/docs/axis.html#ticks) property.\n\n__Default value:__ `false`\n\n__See also:__ [`bin`](https://vega.github.io/vega-lite/docs/bin.html) documentation." }, "field": { "$ref": "#/definitions/Field", @@ -7009,7 +7009,7 @@ "type": "null" } ], - "description": "A flag for binning a `quantitative` field, [an object defining binning parameters](https://vega.github.io/vega-lite/docs/bin.html#bin-parameters), or indicating that the data for `x` or `y` channel are binned before they are imported into Vega-Lite (`\"binned\"`).\n\n- If `true`, default [binning parameters](https://vega.github.io/vega-lite/docs/bin.html#bin-parameters) will be applied.\n\n- If `\"binned\"`, this indicates that the data for the `x` (or `y`) channel are already binned. You can map the bin-start field to `x` (or `y`) and the bin-end field to `x2` (or `y2`). The scale and axis will be formatted similar to binning in Vega-Lite. To adjust the axis ticks based on the bin step, you can also set the axis's [`tickMinStep`](https://vega.github.io/vega-lite/docs/axis.html#ticks) property.\n\n__Default value:__ `false`\n\n__See also:__ [`bin`](https://vega.github.io/vega-lite/docs/bin.html) documentation." + "description": "A flag for binning a `quantitative` field, [an object defining binning parameters](https://vega.github.io/vega-lite/docs/bin.html#params), or indicating that the data for `x` or `y` channel are binned before they are imported into Vega-Lite (`\"binned\"`).\n\n- If `true`, default [binning parameters](https://vega.github.io/vega-lite/docs/bin.html) will be applied.\n\n- If `\"binned\"`, this indicates that the data for the `x` (or `y`) channel are already binned. You can map the bin-start field to `x` (or `y`) and the bin-end field to `x2` (or `y2`). The scale and axis will be formatted similar to binning in Vega-Lite. To adjust the axis ticks based on the bin step, you can also set the axis's [`tickMinStep`](https://vega.github.io/vega-lite/docs/axis.html#ticks) property.\n\n__Default value:__ `false`\n\n__See also:__ [`bin`](https://vega.github.io/vega-lite/docs/bin.html) documentation." }, "field": { "$ref": "#/definitions/Field", @@ -7181,7 +7181,7 @@ "type": "null" } ], - "description": "A flag for binning a `quantitative` field, [an object defining binning parameters](https://vega.github.io/vega-lite/docs/bin.html#bin-parameters), or indicating that the data for `x` or `y` channel are binned before they are imported into Vega-Lite (`\"binned\"`).\n\n- If `true`, default [binning parameters](https://vega.github.io/vega-lite/docs/bin.html#bin-parameters) will be applied.\n\n- If `\"binned\"`, this indicates that the data for the `x` (or `y`) channel are already binned. You can map the bin-start field to `x` (or `y`) and the bin-end field to `x2` (or `y2`). The scale and axis will be formatted similar to binning in Vega-Lite. To adjust the axis ticks based on the bin step, you can also set the axis's [`tickMinStep`](https://vega.github.io/vega-lite/docs/axis.html#ticks) property.\n\n__Default value:__ `false`\n\n__See also:__ [`bin`](https://vega.github.io/vega-lite/docs/bin.html) documentation." + "description": "A flag for binning a `quantitative` field, [an object defining binning parameters](https://vega.github.io/vega-lite/docs/bin.html#params), or indicating that the data for `x` or `y` channel are binned before they are imported into Vega-Lite (`\"binned\"`).\n\n- If `true`, default [binning parameters](https://vega.github.io/vega-lite/docs/bin.html) will be applied.\n\n- If `\"binned\"`, this indicates that the data for the `x` (or `y`) channel are already binned. You can map the bin-start field to `x` (or `y`) and the bin-end field to `x2` (or `y2`). The scale and axis will be formatted similar to binning in Vega-Lite. To adjust the axis ticks based on the bin step, you can also set the axis's [`tickMinStep`](https://vega.github.io/vega-lite/docs/axis.html#ticks) property.\n\n__Default value:__ `false`\n\n__See also:__ [`bin`](https://vega.github.io/vega-lite/docs/bin.html) documentation." }, "field": { "$ref": "#/definitions/Field", @@ -7643,20 +7643,8 @@ "$ref": "#/definitions/MarkConfig", "description": "Mark Config" }, - "normalizedNumberFormat": { - "description": "If normalizedNumberFormatType is not specified, D3 number format for axis labels, text marks, and tooltips of normalized stacked fields (fields with `stack: \"normalize\"`). For example `\"s\"` for SI units. Use [D3's number format pattern](https://github.com/d3/d3-format#locale_format).\n\nIf `config.normalizedNumberFormatType` is specified and `config.customFormatTypes` is `true`, this value will be passed as `format` alongside `datum.value` to the `config.numberFormatType` function. __Default value:__ `%`", - "type": "string" - }, - "normalizedNumberFormatType": { - "description": "[Custom format type](https://vega.github.io/vega-lite/docs/config.html#custom-format-type) for `config.normalizedNumberFormat`.\n\n__Default value:__ `undefined` -- This is equilvalent to call D3-format, which is exposed as [`format` in Vega-Expression](https://vega.github.io/vega/docs/expressions/#format). __Note:__ You must also set `customFormatTypes` to `true` to use this feature.", - "type": "string" - }, "numberFormat": { - "description": "If numberFormatType is not specified, D3 number format for guide labels, text marks, and tooltips of non-normalized fields (fields *without* `stack: \"normalize\"`). For example `\"s\"` for SI units. Use [D3's number format pattern](https://github.com/d3/d3-format#locale_format).\n\nIf `config.numberFormatType` is specified and `config.customFormatTypes` is `true`, this value will be passed as `format` alongside `datum.value` to the `config.numberFormatType` function.", - "type": "string" - }, - "numberFormatType": { - "description": "[Custom format type](https://vega.github.io/vega-lite/docs/config.html#custom-format-type) for `config.numberFormat`.\n\n__Default value:__ `undefined` -- This is equilvalent to call D3-format, which is exposed as [`format` in Vega-Expression](https://vega.github.io/vega/docs/expressions/#format). __Note:__ You must also set `customFormatTypes` to `true` to use this feature.", + "description": "D3 Number format for guide labels and text marks. For example `\"s\"` for SI units. Use [D3's number format pattern](https://github.com/d3/d3-format#locale_format).", "type": "string" }, "padding": { @@ -7673,7 +7661,14 @@ "params": { "description": "Dynamic variables or selections that parameterize a visualization.", "items": { - "$ref": "#/definitions/TopLevelParameter" + "anyOf": [ + { + "$ref": "#/definitions/VariableParameter" + }, + { + "$ref": "#/definitions/TopLevelSelectionParameter" + } + ] }, "type": "array" }, @@ -7725,10 +7720,6 @@ "description": "Default time format for raw time values (without time units) in text marks, legend labels and header labels.\n\n__Default value:__ `\"%b %d, %Y\"` __Note:__ Axes automatically determine the format for each label automatically so this config does not affect axes.", "type": "string" }, - "timeFormatType": { - "description": "[Custom format type](https://vega.github.io/vega-lite/docs/config.html#custom-format-type) for `config.timeFormat`.\n\n__Default value:__ `undefined` -- This is equilvalent to call D3-time-format, which is exposed as [`timeFormat` in Vega-Expression](https://vega.github.io/vega/docs/expressions/#timeFormat). __Note:__ You must also set `customFormatTypes` to `true` and there must *not* be a `timeUnit` defined to use this feature.", - "type": "string" - }, "title": { "$ref": "#/definitions/TitleConfig", "description": "Title configuration, which determines default properties for all [titles](https://vega.github.io/vega-lite/docs/title.html). For a full list of title configuration options, please see the [corresponding section of the title documentation](https://vega.github.io/vega-lite/docs/title.html#config)." @@ -8741,7 +8732,7 @@ "type": "null" } ], - "description": "A flag for binning a `quantitative` field, [an object defining binning parameters](https://vega.github.io/vega-lite/docs/bin.html#bin-parameters), or indicating that the data for `x` or `y` channel are binned before they are imported into Vega-Lite (`\"binned\"`).\n\n- If `true`, default [binning parameters](https://vega.github.io/vega-lite/docs/bin.html#bin-parameters) will be applied.\n\n- If `\"binned\"`, this indicates that the data for the `x` (or `y`) channel are already binned. You can map the bin-start field to `x` (or `y`) and the bin-end field to `x2` (or `y2`). The scale and axis will be formatted similar to binning in Vega-Lite. To adjust the axis ticks based on the bin step, you can also set the axis's [`tickMinStep`](https://vega.github.io/vega-lite/docs/axis.html#ticks) property.\n\n__Default value:__ `false`\n\n__See also:__ [`bin`](https://vega.github.io/vega-lite/docs/bin.html) documentation." + "description": "A flag for binning a `quantitative` field, [an object defining binning parameters](https://vega.github.io/vega-lite/docs/bin.html#params), or indicating that the data for `x` or `y` channel are binned before they are imported into Vega-Lite (`\"binned\"`).\n\n- If `true`, default [binning parameters](https://vega.github.io/vega-lite/docs/bin.html) will be applied.\n\n- If `\"binned\"`, this indicates that the data for the `x` (or `y`) channel are already binned. You can map the bin-start field to `x` (or `y`) and the bin-end field to `x2` (or `y2`). The scale and axis will be formatted similar to binning in Vega-Lite. To adjust the axis ticks based on the bin step, you can also set the axis's [`tickMinStep`](https://vega.github.io/vega-lite/docs/axis.html#ticks) property.\n\n__Default value:__ `false`\n\n__See also:__ [`bin`](https://vega.github.io/vega-lite/docs/bin.html) documentation." }, "bounds": { "description": "The bounds calculation method to use for determining the extent of a sub-plot. One of `full` (the default) or `flush`.\n\n- If set to `full`, the entire calculated bounds (including axes, title, and legend) will be used.\n- If set to `flush`, only the specified width and height values for the sub-view will be used. The `flush` setting can be useful when attempting to place sub-plots without axes or legends into a uniform grid structure.\n\n__Default value:__ `\"full\"`", @@ -8863,7 +8854,7 @@ "type": "null" } ], - "description": "A flag for binning a `quantitative` field, [an object defining binning parameters](https://vega.github.io/vega-lite/docs/bin.html#bin-parameters), or indicating that the data for `x` or `y` channel are binned before they are imported into Vega-Lite (`\"binned\"`).\n\n- If `true`, default [binning parameters](https://vega.github.io/vega-lite/docs/bin.html#bin-parameters) will be applied.\n\n- If `\"binned\"`, this indicates that the data for the `x` (or `y`) channel are already binned. You can map the bin-start field to `x` (or `y`) and the bin-end field to `x2` (or `y2`). The scale and axis will be formatted similar to binning in Vega-Lite. To adjust the axis ticks based on the bin step, you can also set the axis's [`tickMinStep`](https://vega.github.io/vega-lite/docs/axis.html#ticks) property.\n\n__Default value:__ `false`\n\n__See also:__ [`bin`](https://vega.github.io/vega-lite/docs/bin.html) documentation." + "description": "A flag for binning a `quantitative` field, [an object defining binning parameters](https://vega.github.io/vega-lite/docs/bin.html#params), or indicating that the data for `x` or `y` channel are binned before they are imported into Vega-Lite (`\"binned\"`).\n\n- If `true`, default [binning parameters](https://vega.github.io/vega-lite/docs/bin.html) will be applied.\n\n- If `\"binned\"`, this indicates that the data for the `x` (or `y`) channel are already binned. You can map the bin-start field to `x` (or `y`) and the bin-end field to `x2` (or `y2`). The scale and axis will be formatted similar to binning in Vega-Lite. To adjust the axis ticks based on the bin step, you can also set the axis's [`tickMinStep`](https://vega.github.io/vega-lite/docs/axis.html#ticks) property.\n\n__Default value:__ `false`\n\n__See also:__ [`bin`](https://vega.github.io/vega-lite/docs/bin.html) documentation." }, "field": { "$ref": "#/definitions/Field", @@ -9273,7 +9264,14 @@ "params": { "description": "An array of parameters that may either be simple variables, or more complex selections that map user input to data queries.", "items": { - "$ref": "#/definitions/SelectionParameter" + "anyOf": [ + { + "$ref": "#/definitions/VariableParameter" + }, + { + "$ref": "#/definitions/SelectionParameter" + } + ] }, "type": "array" }, @@ -9885,7 +9883,7 @@ "type": "null" } ], - "description": "A flag for binning a `quantitative` field, [an object defining binning parameters](https://vega.github.io/vega-lite/docs/bin.html#bin-parameters), or indicating that the data for `x` or `y` channel are binned before they are imported into Vega-Lite (`\"binned\"`).\n\n- If `true`, default [binning parameters](https://vega.github.io/vega-lite/docs/bin.html#bin-parameters) will be applied.\n\n- If `\"binned\"`, this indicates that the data for the `x` (or `y`) channel are already binned. You can map the bin-start field to `x` (or `y`) and the bin-end field to `x2` (or `y2`). The scale and axis will be formatted similar to binning in Vega-Lite. To adjust the axis ticks based on the bin step, you can also set the axis's [`tickMinStep`](https://vega.github.io/vega-lite/docs/axis.html#ticks) property.\n\n__Default value:__ `false`\n\n__See also:__ [`bin`](https://vega.github.io/vega-lite/docs/bin.html) documentation." + "description": "A flag for binning a `quantitative` field, [an object defining binning parameters](https://vega.github.io/vega-lite/docs/bin.html#params), or indicating that the data for `x` or `y` channel are binned before they are imported into Vega-Lite (`\"binned\"`).\n\n- If `true`, default [binning parameters](https://vega.github.io/vega-lite/docs/bin.html) will be applied.\n\n- If `\"binned\"`, this indicates that the data for the `x` (or `y`) channel are already binned. You can map the bin-start field to `x` (or `y`) and the bin-end field to `x2` (or `y2`). The scale and axis will be formatted similar to binning in Vega-Lite. To adjust the axis ticks based on the bin step, you can also set the axis's [`tickMinStep`](https://vega.github.io/vega-lite/docs/axis.html#ticks) property.\n\n__Default value:__ `false`\n\n__See also:__ [`bin`](https://vega.github.io/vega-lite/docs/bin.html) documentation." }, "condition": { "anyOf": [ @@ -9986,7 +9984,7 @@ "type": "null" } ], - "description": "A flag for binning a `quantitative` field, [an object defining binning parameters](https://vega.github.io/vega-lite/docs/bin.html#bin-parameters), or indicating that the data for `x` or `y` channel are binned before they are imported into Vega-Lite (`\"binned\"`).\n\n- If `true`, default [binning parameters](https://vega.github.io/vega-lite/docs/bin.html#bin-parameters) will be applied.\n\n- If `\"binned\"`, this indicates that the data for the `x` (or `y`) channel are already binned. You can map the bin-start field to `x` (or `y`) and the bin-end field to `x2` (or `y2`). The scale and axis will be formatted similar to binning in Vega-Lite. To adjust the axis ticks based on the bin step, you can also set the axis's [`tickMinStep`](https://vega.github.io/vega-lite/docs/axis.html#ticks) property.\n\n__Default value:__ `false`\n\n__See also:__ [`bin`](https://vega.github.io/vega-lite/docs/bin.html) documentation." + "description": "A flag for binning a `quantitative` field, [an object defining binning parameters](https://vega.github.io/vega-lite/docs/bin.html#params), or indicating that the data for `x` or `y` channel are binned before they are imported into Vega-Lite (`\"binned\"`).\n\n- If `true`, default [binning parameters](https://vega.github.io/vega-lite/docs/bin.html) will be applied.\n\n- If `\"binned\"`, this indicates that the data for the `x` (or `y`) channel are already binned. You can map the bin-start field to `x` (or `y`) and the bin-end field to `x2` (or `y2`). The scale and axis will be formatted similar to binning in Vega-Lite. To adjust the axis ticks based on the bin step, you can also set the axis's [`tickMinStep`](https://vega.github.io/vega-lite/docs/axis.html#ticks) property.\n\n__Default value:__ `false`\n\n__See also:__ [`bin`](https://vega.github.io/vega-lite/docs/bin.html) documentation." }, "condition": { "anyOf": [ @@ -10087,7 +10085,7 @@ "type": "null" } ], - "description": "A flag for binning a `quantitative` field, [an object defining binning parameters](https://vega.github.io/vega-lite/docs/bin.html#bin-parameters), or indicating that the data for `x` or `y` channel are binned before they are imported into Vega-Lite (`\"binned\"`).\n\n- If `true`, default [binning parameters](https://vega.github.io/vega-lite/docs/bin.html#bin-parameters) will be applied.\n\n- If `\"binned\"`, this indicates that the data for the `x` (or `y`) channel are already binned. You can map the bin-start field to `x` (or `y`) and the bin-end field to `x2` (or `y2`). The scale and axis will be formatted similar to binning in Vega-Lite. To adjust the axis ticks based on the bin step, you can also set the axis's [`tickMinStep`](https://vega.github.io/vega-lite/docs/axis.html#ticks) property.\n\n__Default value:__ `false`\n\n__See also:__ [`bin`](https://vega.github.io/vega-lite/docs/bin.html) documentation." + "description": "A flag for binning a `quantitative` field, [an object defining binning parameters](https://vega.github.io/vega-lite/docs/bin.html#params), or indicating that the data for `x` or `y` channel are binned before they are imported into Vega-Lite (`\"binned\"`).\n\n- If `true`, default [binning parameters](https://vega.github.io/vega-lite/docs/bin.html) will be applied.\n\n- If `\"binned\"`, this indicates that the data for the `x` (or `y`) channel are already binned. You can map the bin-start field to `x` (or `y`) and the bin-end field to `x2` (or `y2`). The scale and axis will be formatted similar to binning in Vega-Lite. To adjust the axis ticks based on the bin step, you can also set the axis's [`tickMinStep`](https://vega.github.io/vega-lite/docs/axis.html#ticks) property.\n\n__Default value:__ `false`\n\n__See also:__ [`bin`](https://vega.github.io/vega-lite/docs/bin.html) documentation." }, "condition": { "anyOf": [ @@ -10188,7 +10186,7 @@ "type": "null" } ], - "description": "A flag for binning a `quantitative` field, [an object defining binning parameters](https://vega.github.io/vega-lite/docs/bin.html#bin-parameters), or indicating that the data for `x` or `y` channel are binned before they are imported into Vega-Lite (`\"binned\"`).\n\n- If `true`, default [binning parameters](https://vega.github.io/vega-lite/docs/bin.html#bin-parameters) will be applied.\n\n- If `\"binned\"`, this indicates that the data for the `x` (or `y`) channel are already binned. You can map the bin-start field to `x` (or `y`) and the bin-end field to `x2` (or `y2`). The scale and axis will be formatted similar to binning in Vega-Lite. To adjust the axis ticks based on the bin step, you can also set the axis's [`tickMinStep`](https://vega.github.io/vega-lite/docs/axis.html#ticks) property.\n\n__Default value:__ `false`\n\n__See also:__ [`bin`](https://vega.github.io/vega-lite/docs/bin.html) documentation." + "description": "A flag for binning a `quantitative` field, [an object defining binning parameters](https://vega.github.io/vega-lite/docs/bin.html#params), or indicating that the data for `x` or `y` channel are binned before they are imported into Vega-Lite (`\"binned\"`).\n\n- If `true`, default [binning parameters](https://vega.github.io/vega-lite/docs/bin.html) will be applied.\n\n- If `\"binned\"`, this indicates that the data for the `x` (or `y`) channel are already binned. You can map the bin-start field to `x` (or `y`) and the bin-end field to `x2` (or `y2`). The scale and axis will be formatted similar to binning in Vega-Lite. To adjust the axis ticks based on the bin step, you can also set the axis's [`tickMinStep`](https://vega.github.io/vega-lite/docs/axis.html#ticks) property.\n\n__Default value:__ `false`\n\n__See also:__ [`bin`](https://vega.github.io/vega-lite/docs/bin.html) documentation." }, "condition": { "anyOf": [ @@ -10367,7 +10365,7 @@ "type": "null" } ], - "description": "A flag for binning a `quantitative` field, [an object defining binning parameters](https://vega.github.io/vega-lite/docs/bin.html#bin-parameters), or indicating that the data for `x` or `y` channel are binned before they are imported into Vega-Lite (`\"binned\"`).\n\n- If `true`, default [binning parameters](https://vega.github.io/vega-lite/docs/bin.html#bin-parameters) will be applied.\n\n- If `\"binned\"`, this indicates that the data for the `x` (or `y`) channel are already binned. You can map the bin-start field to `x` (or `y`) and the bin-end field to `x2` (or `y2`). The scale and axis will be formatted similar to binning in Vega-Lite. To adjust the axis ticks based on the bin step, you can also set the axis's [`tickMinStep`](https://vega.github.io/vega-lite/docs/axis.html#ticks) property.\n\n__Default value:__ `false`\n\n__See also:__ [`bin`](https://vega.github.io/vega-lite/docs/bin.html) documentation." + "description": "A flag for binning a `quantitative` field, [an object defining binning parameters](https://vega.github.io/vega-lite/docs/bin.html#params), or indicating that the data for `x` or `y` channel are binned before they are imported into Vega-Lite (`\"binned\"`).\n\n- If `true`, default [binning parameters](https://vega.github.io/vega-lite/docs/bin.html) will be applied.\n\n- If `\"binned\"`, this indicates that the data for the `x` (or `y`) channel are already binned. You can map the bin-start field to `x` (or `y`) and the bin-end field to `x2` (or `y2`). The scale and axis will be formatted similar to binning in Vega-Lite. To adjust the axis ticks based on the bin step, you can also set the axis's [`tickMinStep`](https://vega.github.io/vega-lite/docs/axis.html#ticks) property.\n\n__Default value:__ `false`\n\n__See also:__ [`bin`](https://vega.github.io/vega-lite/docs/bin.html) documentation." }, "condition": { "anyOf": [ @@ -10461,7 +10459,7 @@ "type": "null" } ], - "description": "A flag for binning a `quantitative` field, [an object defining binning parameters](https://vega.github.io/vega-lite/docs/bin.html#bin-parameters), or indicating that the data for `x` or `y` channel are binned before they are imported into Vega-Lite (`\"binned\"`).\n\n- If `true`, default [binning parameters](https://vega.github.io/vega-lite/docs/bin.html#bin-parameters) will be applied.\n\n- If `\"binned\"`, this indicates that the data for the `x` (or `y`) channel are already binned. You can map the bin-start field to `x` (or `y`) and the bin-end field to `x2` (or `y2`). The scale and axis will be formatted similar to binning in Vega-Lite. To adjust the axis ticks based on the bin step, you can also set the axis's [`tickMinStep`](https://vega.github.io/vega-lite/docs/axis.html#ticks) property.\n\n__Default value:__ `false`\n\n__See also:__ [`bin`](https://vega.github.io/vega-lite/docs/bin.html) documentation." + "description": "A flag for binning a `quantitative` field, [an object defining binning parameters](https://vega.github.io/vega-lite/docs/bin.html#params), or indicating that the data for `x` or `y` channel are binned before they are imported into Vega-Lite (`\"binned\"`).\n\n- If `true`, default [binning parameters](https://vega.github.io/vega-lite/docs/bin.html) will be applied.\n\n- If `\"binned\"`, this indicates that the data for the `x` (or `y`) channel are already binned. You can map the bin-start field to `x` (or `y`) and the bin-end field to `x2` (or `y2`). The scale and axis will be formatted similar to binning in Vega-Lite. To adjust the axis ticks based on the bin step, you can also set the axis's [`tickMinStep`](https://vega.github.io/vega-lite/docs/axis.html#ticks) property.\n\n__Default value:__ `false`\n\n__See also:__ [`bin`](https://vega.github.io/vega-lite/docs/bin.html) documentation." }, "condition": { "anyOf": [ @@ -11090,7 +11088,14 @@ "params": { "description": "An array of parameters that may either be simple variables, or more complex selections that map user input to data queries.", "items": { - "$ref": "#/definitions/SelectionParameter" + "anyOf": [ + { + "$ref": "#/definitions/VariableParameter" + }, + { + "$ref": "#/definitions/SelectionParameter" + } + ] }, "type": "array" }, @@ -12308,7 +12313,7 @@ "type": "number" }, "bin": { - "description": "A flag for binning a `quantitative` field, [an object defining binning parameters](https://vega.github.io/vega-lite/docs/bin.html#bin-parameters), or indicating that the data for `x` or `y` channel are binned before they are imported into Vega-Lite (`\"binned\"`).\n\n- If `true`, default [binning parameters](https://vega.github.io/vega-lite/docs/bin.html#bin-parameters) will be applied.\n\n- If `\"binned\"`, this indicates that the data for the `x` (or `y`) channel are already binned. You can map the bin-start field to `x` (or `y`) and the bin-end field to `x2` (or `y2`). The scale and axis will be formatted similar to binning in Vega-Lite. To adjust the axis ticks based on the bin step, you can also set the axis's [`tickMinStep`](https://vega.github.io/vega-lite/docs/axis.html#ticks) property.\n\n__Default value:__ `false`\n\n__See also:__ [`bin`](https://vega.github.io/vega-lite/docs/bin.html) documentation.", + "description": "A flag for binning a `quantitative` field, [an object defining binning parameters](https://vega.github.io/vega-lite/docs/bin.html#params), or indicating that the data for `x` or `y` channel are binned before they are imported into Vega-Lite (`\"binned\"`).\n\n- If `true`, default [binning parameters](https://vega.github.io/vega-lite/docs/bin.html) will be applied.\n\n- If `\"binned\"`, this indicates that the data for the `x` (or `y`) channel are already binned. You can map the bin-start field to `x` (or `y`) and the bin-end field to `x2` (or `y2`). The scale and axis will be formatted similar to binning in Vega-Lite. To adjust the axis ticks based on the bin step, you can also set the axis's [`tickMinStep`](https://vega.github.io/vega-lite/docs/axis.html#ticks) property.\n\n__Default value:__ `false`\n\n__See also:__ [`bin`](https://vega.github.io/vega-lite/docs/bin.html) documentation.", "type": "null" }, "field": { @@ -17341,7 +17346,7 @@ "description": "An object that specifies the format for parsing the data." }, "name": { - "description": "Provide a placeholder name and bind data at runtime.\n\nNew data may change the layout but Vega does not always resize the chart. To update the layout when the data updates, set [autosize](https://vega.github.io/vega-lite/docs/size.html#autosize) or explicitly use [view.resize](https://vega.github.io/vega/docs/api/view/#view_resize).", + "description": "Provide a placeholder name and bind data at runtime.", "type": "string" } }, @@ -17590,7 +17595,7 @@ "type": "null" } ], - "description": "A flag for binning a `quantitative` field, [an object defining binning parameters](https://vega.github.io/vega-lite/docs/bin.html#bin-parameters), or indicating that the data for `x` or `y` channel are binned before they are imported into Vega-Lite (`\"binned\"`).\n\n- If `true`, default [binning parameters](https://vega.github.io/vega-lite/docs/bin.html#bin-parameters) will be applied.\n\n- If `\"binned\"`, this indicates that the data for the `x` (or `y`) channel are already binned. You can map the bin-start field to `x` (or `y`) and the bin-end field to `x2` (or `y2`). The scale and axis will be formatted similar to binning in Vega-Lite. To adjust the axis ticks based on the bin step, you can also set the axis's [`tickMinStep`](https://vega.github.io/vega-lite/docs/axis.html#ticks) property.\n\n__Default value:__ `false`\n\n__See also:__ [`bin`](https://vega.github.io/vega-lite/docs/bin.html) documentation." + "description": "A flag for binning a `quantitative` field, [an object defining binning parameters](https://vega.github.io/vega-lite/docs/bin.html#params), or indicating that the data for `x` or `y` channel are binned before they are imported into Vega-Lite (`\"binned\"`).\n\n- If `true`, default [binning parameters](https://vega.github.io/vega-lite/docs/bin.html) will be applied.\n\n- If `\"binned\"`, this indicates that the data for the `x` (or `y`) channel are already binned. You can map the bin-start field to `x` (or `y`) and the bin-end field to `x2` (or `y2`). The scale and axis will be formatted similar to binning in Vega-Lite. To adjust the axis ticks based on the bin step, you can also set the axis's [`tickMinStep`](https://vega.github.io/vega-lite/docs/axis.html#ticks) property.\n\n__Default value:__ `false`\n\n__See also:__ [`bin`](https://vega.github.io/vega-lite/docs/bin.html) documentation." }, "field": { "$ref": "#/definitions/Field", @@ -18962,7 +18967,7 @@ "type": "boolean" } ], - "description": "Type of stacking offset if the field should be stacked. `stack` is only applicable for `x`, `y`, `theta`, and `radius` channels with continuous domains. For example, `stack` of `y` can be used to customize stacking for a vertical bar chart.\n\n`stack` can be one of the following values:\n- `\"zero\"` or `true`: stacking with baseline offset at zero value of the scale (for creating typical stacked [bar](https://vega.github.io/vega-lite/docs/stack.html#bar) and [area](https://vega.github.io/vega-lite/docs/stack.html#area) chart).\n- `\"normalize\"` - stacking with normalized domain (for creating [normalized stacked bar and area charts](https://vega.github.io/vega-lite/docs/stack.html#normalized) and pie charts [with percentage tooltip](https://vega.github.io/vega-lite/docs/arc.html#tooltip)).
\n-`\"center\"` - stacking with center baseline (for [streamgraph](https://vega.github.io/vega-lite/docs/stack.html#streamgraph)).\n- `null` or `false` - No-stacking. This will produce layered [bar](https://vega.github.io/vega-lite/docs/stack.html#layered-bar-chart) and area chart.\n\n__Default value:__ `zero` for plots with all of the following conditions are true: (1) the mark is `bar`, `area`, or `arc`; (2) the stacked measure channel (x or y) has a linear scale; (3) At least one of non-position channels mapped to an unaggregated field that is different from x and y. Otherwise, `null` by default.\n\n__See also:__ [`stack`](https://vega.github.io/vega-lite/docs/stack.html) documentation." + "description": "Type of stacking offset if the field should be stacked. `stack` is only applicable for `x`, `y`, `theta`, and `radius` channels with continuous domains. For example, `stack` of `y` can be used to customize stacking for a vertical bar chart.\n\n`stack` can be one of the following values:\n- `\"zero\"` or `true`: stacking with baseline offset at zero value of the scale (for creating typical stacked [bar](https://vega.github.io/vega-lite/docs/stack.html#bar) and [area](https://vega.github.io/vega-lite/docs/stack.html#area) chart).\n- `\"normalize\"` - stacking with normalized domain (for creating [normalized stacked bar and area charts](https://vega.github.io/vega-lite/docs/stack.html#normalized).
\n-`\"center\"` - stacking with center baseline (for [streamgraph](https://vega.github.io/vega-lite/docs/stack.html#streamgraph)).\n- `null` or `false` - No-stacking. This will produce layered [bar](https://vega.github.io/vega-lite/docs/stack.html#layered-bar-chart) and area chart.\n\n__Default value:__ `zero` for plots with all of the following conditions are true: (1) the mark is `bar`, `area`, or `arc`; (2) the stacked measure channel (x or y) has a linear scale; (3) At least one of non-position channels mapped to an unaggregated field that is different from x and y. Otherwise, `null` by default.\n\n__See also:__ [`stack`](https://vega.github.io/vega-lite/docs/stack.html) documentation." }, "title": { "anyOf": [ @@ -19031,7 +19036,7 @@ "type": "boolean" } ], - "description": "Type of stacking offset if the field should be stacked. `stack` is only applicable for `x`, `y`, `theta`, and `radius` channels with continuous domains. For example, `stack` of `y` can be used to customize stacking for a vertical bar chart.\n\n`stack` can be one of the following values:\n- `\"zero\"` or `true`: stacking with baseline offset at zero value of the scale (for creating typical stacked [bar](https://vega.github.io/vega-lite/docs/stack.html#bar) and [area](https://vega.github.io/vega-lite/docs/stack.html#area) chart).\n- `\"normalize\"` - stacking with normalized domain (for creating [normalized stacked bar and area charts](https://vega.github.io/vega-lite/docs/stack.html#normalized) and pie charts [with percentage tooltip](https://vega.github.io/vega-lite/docs/arc.html#tooltip)).
\n-`\"center\"` - stacking with center baseline (for [streamgraph](https://vega.github.io/vega-lite/docs/stack.html#streamgraph)).\n- `null` or `false` - No-stacking. This will produce layered [bar](https://vega.github.io/vega-lite/docs/stack.html#layered-bar-chart) and area chart.\n\n__Default value:__ `zero` for plots with all of the following conditions are true: (1) the mark is `bar`, `area`, or `arc`; (2) the stacked measure channel (x or y) has a linear scale; (3) At least one of non-position channels mapped to an unaggregated field that is different from x and y. Otherwise, `null` by default.\n\n__See also:__ [`stack`](https://vega.github.io/vega-lite/docs/stack.html) documentation." + "description": "Type of stacking offset if the field should be stacked. `stack` is only applicable for `x`, `y`, `theta`, and `radius` channels with continuous domains. For example, `stack` of `y` can be used to customize stacking for a vertical bar chart.\n\n`stack` can be one of the following values:\n- `\"zero\"` or `true`: stacking with baseline offset at zero value of the scale (for creating typical stacked [bar](https://vega.github.io/vega-lite/docs/stack.html#bar) and [area](https://vega.github.io/vega-lite/docs/stack.html#area) chart).\n- `\"normalize\"` - stacking with normalized domain (for creating [normalized stacked bar and area charts](https://vega.github.io/vega-lite/docs/stack.html#normalized).
\n-`\"center\"` - stacking with center baseline (for [streamgraph](https://vega.github.io/vega-lite/docs/stack.html#streamgraph)).\n- `null` or `false` - No-stacking. This will produce layered [bar](https://vega.github.io/vega-lite/docs/stack.html#layered-bar-chart) and area chart.\n\n__Default value:__ `zero` for plots with all of the following conditions are true: (1) the mark is `bar`, `area`, or `arc`; (2) the stacked measure channel (x or y) has a linear scale; (3) At least one of non-position channels mapped to an unaggregated field that is different from x and y. Otherwise, `null` by default.\n\n__See also:__ [`stack`](https://vega.github.io/vega-lite/docs/stack.html) documentation." }, "title": { "anyOf": [ @@ -19104,7 +19109,7 @@ "type": "null" } ], - "description": "A flag for binning a `quantitative` field, [an object defining binning parameters](https://vega.github.io/vega-lite/docs/bin.html#bin-parameters), or indicating that the data for `x` or `y` channel are binned before they are imported into Vega-Lite (`\"binned\"`).\n\n- If `true`, default [binning parameters](https://vega.github.io/vega-lite/docs/bin.html#bin-parameters) will be applied.\n\n- If `\"binned\"`, this indicates that the data for the `x` (or `y`) channel are already binned. You can map the bin-start field to `x` (or `y`) and the bin-end field to `x2` (or `y2`). The scale and axis will be formatted similar to binning in Vega-Lite. To adjust the axis ticks based on the bin step, you can also set the axis's [`tickMinStep`](https://vega.github.io/vega-lite/docs/axis.html#ticks) property.\n\n__Default value:__ `false`\n\n__See also:__ [`bin`](https://vega.github.io/vega-lite/docs/bin.html) documentation." + "description": "A flag for binning a `quantitative` field, [an object defining binning parameters](https://vega.github.io/vega-lite/docs/bin.html#params), or indicating that the data for `x` or `y` channel are binned before they are imported into Vega-Lite (`\"binned\"`).\n\n- If `true`, default [binning parameters](https://vega.github.io/vega-lite/docs/bin.html) will be applied.\n\n- If `\"binned\"`, this indicates that the data for the `x` (or `y`) channel are already binned. You can map the bin-start field to `x` (or `y`) and the bin-end field to `x2` (or `y2`). The scale and axis will be formatted similar to binning in Vega-Lite. To adjust the axis ticks based on the bin step, you can also set the axis's [`tickMinStep`](https://vega.github.io/vega-lite/docs/axis.html#ticks) property.\n\n__Default value:__ `false`\n\n__See also:__ [`bin`](https://vega.github.io/vega-lite/docs/bin.html) documentation." }, "field": { "$ref": "#/definitions/Field", @@ -19148,7 +19153,7 @@ "type": "boolean" } ], - "description": "Type of stacking offset if the field should be stacked. `stack` is only applicable for `x`, `y`, `theta`, and `radius` channels with continuous domains. For example, `stack` of `y` can be used to customize stacking for a vertical bar chart.\n\n`stack` can be one of the following values:\n- `\"zero\"` or `true`: stacking with baseline offset at zero value of the scale (for creating typical stacked [bar](https://vega.github.io/vega-lite/docs/stack.html#bar) and [area](https://vega.github.io/vega-lite/docs/stack.html#area) chart).\n- `\"normalize\"` - stacking with normalized domain (for creating [normalized stacked bar and area charts](https://vega.github.io/vega-lite/docs/stack.html#normalized) and pie charts [with percentage tooltip](https://vega.github.io/vega-lite/docs/arc.html#tooltip)).
\n-`\"center\"` - stacking with center baseline (for [streamgraph](https://vega.github.io/vega-lite/docs/stack.html#streamgraph)).\n- `null` or `false` - No-stacking. This will produce layered [bar](https://vega.github.io/vega-lite/docs/stack.html#layered-bar-chart) and area chart.\n\n__Default value:__ `zero` for plots with all of the following conditions are true: (1) the mark is `bar`, `area`, or `arc`; (2) the stacked measure channel (x or y) has a linear scale; (3) At least one of non-position channels mapped to an unaggregated field that is different from x and y. Otherwise, `null` by default.\n\n__See also:__ [`stack`](https://vega.github.io/vega-lite/docs/stack.html) documentation." + "description": "Type of stacking offset if the field should be stacked. `stack` is only applicable for `x`, `y`, `theta`, and `radius` channels with continuous domains. For example, `stack` of `y` can be used to customize stacking for a vertical bar chart.\n\n`stack` can be one of the following values:\n- `\"zero\"` or `true`: stacking with baseline offset at zero value of the scale (for creating typical stacked [bar](https://vega.github.io/vega-lite/docs/stack.html#bar) and [area](https://vega.github.io/vega-lite/docs/stack.html#area) chart).\n- `\"normalize\"` - stacking with normalized domain (for creating [normalized stacked bar and area charts](https://vega.github.io/vega-lite/docs/stack.html#normalized).
\n-`\"center\"` - stacking with center baseline (for [streamgraph](https://vega.github.io/vega-lite/docs/stack.html#streamgraph)).\n- `null` or `false` - No-stacking. This will produce layered [bar](https://vega.github.io/vega-lite/docs/stack.html#layered-bar-chart) and area chart.\n\n__Default value:__ `zero` for plots with all of the following conditions are true: (1) the mark is `bar`, `area`, or `arc`; (2) the stacked measure channel (x or y) has a linear scale; (3) At least one of non-position channels mapped to an unaggregated field that is different from x and y. Otherwise, `null` by default.\n\n__See also:__ [`stack`](https://vega.github.io/vega-lite/docs/stack.html) documentation." }, "timeUnit": { "anyOf": [ @@ -19208,7 +19213,7 @@ "type": "null" } ], - "description": "A flag for binning a `quantitative` field, [an object defining binning parameters](https://vega.github.io/vega-lite/docs/bin.html#bin-parameters), or indicating that the data for `x` or `y` channel are binned before they are imported into Vega-Lite (`\"binned\"`).\n\n- If `true`, default [binning parameters](https://vega.github.io/vega-lite/docs/bin.html#bin-parameters) will be applied.\n\n- If `\"binned\"`, this indicates that the data for the `x` (or `y`) channel are already binned. You can map the bin-start field to `x` (or `y`) and the bin-end field to `x2` (or `y2`). The scale and axis will be formatted similar to binning in Vega-Lite. To adjust the axis ticks based on the bin step, you can also set the axis's [`tickMinStep`](https://vega.github.io/vega-lite/docs/axis.html#ticks) property.\n\n__Default value:__ `false`\n\n__See also:__ [`bin`](https://vega.github.io/vega-lite/docs/bin.html) documentation." + "description": "A flag for binning a `quantitative` field, [an object defining binning parameters](https://vega.github.io/vega-lite/docs/bin.html#params), or indicating that the data for `x` or `y` channel are binned before they are imported into Vega-Lite (`\"binned\"`).\n\n- If `true`, default [binning parameters](https://vega.github.io/vega-lite/docs/bin.html) will be applied.\n\n- If `\"binned\"`, this indicates that the data for the `x` (or `y`) channel are already binned. You can map the bin-start field to `x` (or `y`) and the bin-end field to `x2` (or `y2`). The scale and axis will be formatted similar to binning in Vega-Lite. To adjust the axis ticks based on the bin step, you can also set the axis's [`tickMinStep`](https://vega.github.io/vega-lite/docs/axis.html#ticks) property.\n\n__Default value:__ `false`\n\n__See also:__ [`bin`](https://vega.github.io/vega-lite/docs/bin.html) documentation." }, "field": { "$ref": "#/definitions/Field", @@ -19241,7 +19246,7 @@ "type": "boolean" } ], - "description": "Type of stacking offset if the field should be stacked. `stack` is only applicable for `x`, `y`, `theta`, and `radius` channels with continuous domains. For example, `stack` of `y` can be used to customize stacking for a vertical bar chart.\n\n`stack` can be one of the following values:\n- `\"zero\"` or `true`: stacking with baseline offset at zero value of the scale (for creating typical stacked [bar](https://vega.github.io/vega-lite/docs/stack.html#bar) and [area](https://vega.github.io/vega-lite/docs/stack.html#area) chart).\n- `\"normalize\"` - stacking with normalized domain (for creating [normalized stacked bar and area charts](https://vega.github.io/vega-lite/docs/stack.html#normalized) and pie charts [with percentage tooltip](https://vega.github.io/vega-lite/docs/arc.html#tooltip)).
\n-`\"center\"` - stacking with center baseline (for [streamgraph](https://vega.github.io/vega-lite/docs/stack.html#streamgraph)).\n- `null` or `false` - No-stacking. This will produce layered [bar](https://vega.github.io/vega-lite/docs/stack.html#layered-bar-chart) and area chart.\n\n__Default value:__ `zero` for plots with all of the following conditions are true: (1) the mark is `bar`, `area`, or `arc`; (2) the stacked measure channel (x or y) has a linear scale; (3) At least one of non-position channels mapped to an unaggregated field that is different from x and y. Otherwise, `null` by default.\n\n__See also:__ [`stack`](https://vega.github.io/vega-lite/docs/stack.html) documentation." + "description": "Type of stacking offset if the field should be stacked. `stack` is only applicable for `x`, `y`, `theta`, and `radius` channels with continuous domains. For example, `stack` of `y` can be used to customize stacking for a vertical bar chart.\n\n`stack` can be one of the following values:\n- `\"zero\"` or `true`: stacking with baseline offset at zero value of the scale (for creating typical stacked [bar](https://vega.github.io/vega-lite/docs/stack.html#bar) and [area](https://vega.github.io/vega-lite/docs/stack.html#area) chart).\n- `\"normalize\"` - stacking with normalized domain (for creating [normalized stacked bar and area charts](https://vega.github.io/vega-lite/docs/stack.html#normalized).
\n-`\"center\"` - stacking with center baseline (for [streamgraph](https://vega.github.io/vega-lite/docs/stack.html#streamgraph)).\n- `null` or `false` - No-stacking. This will produce layered [bar](https://vega.github.io/vega-lite/docs/stack.html#layered-bar-chart) and area chart.\n\n__Default value:__ `zero` for plots with all of the following conditions are true: (1) the mark is `bar`, `area`, or `arc`; (2) the stacked measure channel (x or y) has a linear scale; (3) At least one of non-position channels mapped to an unaggregated field that is different from x and y. Otherwise, `null` by default.\n\n__See also:__ [`stack`](https://vega.github.io/vega-lite/docs/stack.html) documentation." }, "timeUnit": { "anyOf": [ @@ -20933,7 +20938,7 @@ "type": "null" } ], - "description": "A flag for binning a `quantitative` field, [an object defining binning parameters](https://vega.github.io/vega-lite/docs/bin.html#bin-parameters), or indicating that the data for `x` or `y` channel are binned before they are imported into Vega-Lite (`\"binned\"`).\n\n- If `true`, default [binning parameters](https://vega.github.io/vega-lite/docs/bin.html#bin-parameters) will be applied.\n\n- If `\"binned\"`, this indicates that the data for the `x` (or `y`) channel are already binned. You can map the bin-start field to `x` (or `y`) and the bin-end field to `x2` (or `y2`). The scale and axis will be formatted similar to binning in Vega-Lite. To adjust the axis ticks based on the bin step, you can also set the axis's [`tickMinStep`](https://vega.github.io/vega-lite/docs/axis.html#ticks) property.\n\n__Default value:__ `false`\n\n__See also:__ [`bin`](https://vega.github.io/vega-lite/docs/bin.html) documentation." + "description": "A flag for binning a `quantitative` field, [an object defining binning parameters](https://vega.github.io/vega-lite/docs/bin.html#params), or indicating that the data for `x` or `y` channel are binned before they are imported into Vega-Lite (`\"binned\"`).\n\n- If `true`, default [binning parameters](https://vega.github.io/vega-lite/docs/bin.html) will be applied.\n\n- If `\"binned\"`, this indicates that the data for the `x` (or `y`) channel are already binned. You can map the bin-start field to `x` (or `y`) and the bin-end field to `x2` (or `y2`). The scale and axis will be formatted similar to binning in Vega-Lite. To adjust the axis ticks based on the bin step, you can also set the axis's [`tickMinStep`](https://vega.github.io/vega-lite/docs/axis.html#ticks) property.\n\n__Default value:__ `false`\n\n__See also:__ [`bin`](https://vega.github.io/vega-lite/docs/bin.html) documentation." }, "center": { "description": "Boolean flag indicating if facet's subviews should be centered relative to their respective rows or columns.\n\n__Default value:__ `false`", @@ -21692,7 +21697,7 @@ "type": "null" } ], - "description": "A flag for binning a `quantitative` field, [an object defining binning parameters](https://vega.github.io/vega-lite/docs/bin.html#bin-parameters), or indicating that the data for `x` or `y` channel are binned before they are imported into Vega-Lite (`\"binned\"`).\n\n- If `true`, default [binning parameters](https://vega.github.io/vega-lite/docs/bin.html#bin-parameters) will be applied.\n\n- If `\"binned\"`, this indicates that the data for the `x` (or `y`) channel are already binned. You can map the bin-start field to `x` (or `y`) and the bin-end field to `x2` (or `y2`). The scale and axis will be formatted similar to binning in Vega-Lite. To adjust the axis ticks based on the bin step, you can also set the axis's [`tickMinStep`](https://vega.github.io/vega-lite/docs/axis.html#ticks) property.\n\n__Default value:__ `false`\n\n__See also:__ [`bin`](https://vega.github.io/vega-lite/docs/bin.html) documentation." + "description": "A flag for binning a `quantitative` field, [an object defining binning parameters](https://vega.github.io/vega-lite/docs/bin.html#params), or indicating that the data for `x` or `y` channel are binned before they are imported into Vega-Lite (`\"binned\"`).\n\n- If `true`, default [binning parameters](https://vega.github.io/vega-lite/docs/bin.html) will be applied.\n\n- If `\"binned\"`, this indicates that the data for the `x` (or `y`) channel are already binned. You can map the bin-start field to `x` (or `y`) and the bin-end field to `x2` (or `y2`). The scale and axis will be formatted similar to binning in Vega-Lite. To adjust the axis ticks based on the bin step, you can also set the axis's [`tickMinStep`](https://vega.github.io/vega-lite/docs/axis.html#ticks) property.\n\n__Default value:__ `false`\n\n__See also:__ [`bin`](https://vega.github.io/vega-lite/docs/bin.html) documentation." }, "field": { "$ref": "#/definitions/Field", @@ -21892,7 +21897,7 @@ "type": "number" }, "bin": { - "description": "A flag for binning a `quantitative` field, [an object defining binning parameters](https://vega.github.io/vega-lite/docs/bin.html#bin-parameters), or indicating that the data for `x` or `y` channel are binned before they are imported into Vega-Lite (`\"binned\"`).\n\n- If `true`, default [binning parameters](https://vega.github.io/vega-lite/docs/bin.html#bin-parameters) will be applied.\n\n- If `\"binned\"`, this indicates that the data for the `x` (or `y`) channel are already binned. You can map the bin-start field to `x` (or `y`) and the bin-end field to `x2` (or `y2`). The scale and axis will be formatted similar to binning in Vega-Lite. To adjust the axis ticks based on the bin step, you can also set the axis's [`tickMinStep`](https://vega.github.io/vega-lite/docs/axis.html#ticks) property.\n\n__Default value:__ `false`\n\n__See also:__ [`bin`](https://vega.github.io/vega-lite/docs/bin.html) documentation.", + "description": "A flag for binning a `quantitative` field, [an object defining binning parameters](https://vega.github.io/vega-lite/docs/bin.html#params), or indicating that the data for `x` or `y` channel are binned before they are imported into Vega-Lite (`\"binned\"`).\n\n- If `true`, default [binning parameters](https://vega.github.io/vega-lite/docs/bin.html) will be applied.\n\n- If `\"binned\"`, this indicates that the data for the `x` (or `y`) channel are already binned. You can map the bin-start field to `x` (or `y`) and the bin-end field to `x2` (or `y2`). The scale and axis will be formatted similar to binning in Vega-Lite. To adjust the axis ticks based on the bin step, you can also set the axis's [`tickMinStep`](https://vega.github.io/vega-lite/docs/axis.html#ticks) property.\n\n__Default value:__ `false`\n\n__See also:__ [`bin`](https://vega.github.io/vega-lite/docs/bin.html) documentation.", "type": "null" }, "field": { @@ -22351,7 +22356,7 @@ "type": "null" } ], - "description": "A flag for binning a `quantitative` field, [an object defining binning parameters](https://vega.github.io/vega-lite/docs/bin.html#bin-parameters), or indicating that the data for `x` or `y` channel are binned before they are imported into Vega-Lite (`\"binned\"`).\n\n- If `true`, default [binning parameters](https://vega.github.io/vega-lite/docs/bin.html#bin-parameters) will be applied.\n\n- If `\"binned\"`, this indicates that the data for the `x` (or `y`) channel are already binned. You can map the bin-start field to `x` (or `y`) and the bin-end field to `x2` (or `y2`). The scale and axis will be formatted similar to binning in Vega-Lite. To adjust the axis ticks based on the bin step, you can also set the axis's [`tickMinStep`](https://vega.github.io/vega-lite/docs/axis.html#ticks) property.\n\n__Default value:__ `false`\n\n__See also:__ [`bin`](https://vega.github.io/vega-lite/docs/bin.html) documentation." + "description": "A flag for binning a `quantitative` field, [an object defining binning parameters](https://vega.github.io/vega-lite/docs/bin.html#params), or indicating that the data for `x` or `y` channel are binned before they are imported into Vega-Lite (`\"binned\"`).\n\n- If `true`, default [binning parameters](https://vega.github.io/vega-lite/docs/bin.html) will be applied.\n\n- If `\"binned\"`, this indicates that the data for the `x` (or `y`) channel are already binned. You can map the bin-start field to `x` (or `y`) and the bin-end field to `x2` (or `y2`). The scale and axis will be formatted similar to binning in Vega-Lite. To adjust the axis ticks based on the bin step, you can also set the axis's [`tickMinStep`](https://vega.github.io/vega-lite/docs/axis.html#ticks) property.\n\n__Default value:__ `false`\n\n__See also:__ [`bin`](https://vega.github.io/vega-lite/docs/bin.html) documentation." }, "condition": { "anyOf": [ @@ -22510,7 +22515,7 @@ "type": "null" } ], - "description": "A flag for binning a `quantitative` field, [an object defining binning parameters](https://vega.github.io/vega-lite/docs/bin.html#bin-parameters), or indicating that the data for `x` or `y` channel are binned before they are imported into Vega-Lite (`\"binned\"`).\n\n- If `true`, default [binning parameters](https://vega.github.io/vega-lite/docs/bin.html#bin-parameters) will be applied.\n\n- If `\"binned\"`, this indicates that the data for the `x` (or `y`) channel are already binned. You can map the bin-start field to `x` (or `y`) and the bin-end field to `x2` (or `y2`). The scale and axis will be formatted similar to binning in Vega-Lite. To adjust the axis ticks based on the bin step, you can also set the axis's [`tickMinStep`](https://vega.github.io/vega-lite/docs/axis.html#ticks) property.\n\n__Default value:__ `false`\n\n__See also:__ [`bin`](https://vega.github.io/vega-lite/docs/bin.html) documentation." + "description": "A flag for binning a `quantitative` field, [an object defining binning parameters](https://vega.github.io/vega-lite/docs/bin.html#params), or indicating that the data for `x` or `y` channel are binned before they are imported into Vega-Lite (`\"binned\"`).\n\n- If `true`, default [binning parameters](https://vega.github.io/vega-lite/docs/bin.html) will be applied.\n\n- If `\"binned\"`, this indicates that the data for the `x` (or `y`) channel are already binned. You can map the bin-start field to `x` (or `y`) and the bin-end field to `x2` (or `y2`). The scale and axis will be formatted similar to binning in Vega-Lite. To adjust the axis ticks based on the bin step, you can also set the axis's [`tickMinStep`](https://vega.github.io/vega-lite/docs/axis.html#ticks) property.\n\n__Default value:__ `false`\n\n__See also:__ [`bin`](https://vega.github.io/vega-lite/docs/bin.html) documentation." }, "condition": { "anyOf": [ @@ -22679,7 +22684,7 @@ "type": "null" } ], - "description": "A flag for binning a `quantitative` field, [an object defining binning parameters](https://vega.github.io/vega-lite/docs/bin.html#bin-parameters), or indicating that the data for `x` or `y` channel are binned before they are imported into Vega-Lite (`\"binned\"`).\n\n- If `true`, default [binning parameters](https://vega.github.io/vega-lite/docs/bin.html#bin-parameters) will be applied.\n\n- If `\"binned\"`, this indicates that the data for the `x` (or `y`) channel are already binned. You can map the bin-start field to `x` (or `y`) and the bin-end field to `x2` (or `y2`). The scale and axis will be formatted similar to binning in Vega-Lite. To adjust the axis ticks based on the bin step, you can also set the axis's [`tickMinStep`](https://vega.github.io/vega-lite/docs/axis.html#ticks) property.\n\n__Default value:__ `false`\n\n__See also:__ [`bin`](https://vega.github.io/vega-lite/docs/bin.html) documentation." + "description": "A flag for binning a `quantitative` field, [an object defining binning parameters](https://vega.github.io/vega-lite/docs/bin.html#params), or indicating that the data for `x` or `y` channel are binned before they are imported into Vega-Lite (`\"binned\"`).\n\n- If `true`, default [binning parameters](https://vega.github.io/vega-lite/docs/bin.html) will be applied.\n\n- If `\"binned\"`, this indicates that the data for the `x` (or `y`) channel are already binned. You can map the bin-start field to `x` (or `y`) and the bin-end field to `x2` (or `y2`). The scale and axis will be formatted similar to binning in Vega-Lite. To adjust the axis ticks based on the bin step, you can also set the axis's [`tickMinStep`](https://vega.github.io/vega-lite/docs/axis.html#ticks) property.\n\n__Default value:__ `false`\n\n__See also:__ [`bin`](https://vega.github.io/vega-lite/docs/bin.html) documentation." }, "condition": { "anyOf": [ @@ -22818,7 +22823,7 @@ "type": "null" } ], - "description": "A flag for binning a `quantitative` field, [an object defining binning parameters](https://vega.github.io/vega-lite/docs/bin.html#bin-parameters), or indicating that the data for `x` or `y` channel are binned before they are imported into Vega-Lite (`\"binned\"`).\n\n- If `true`, default [binning parameters](https://vega.github.io/vega-lite/docs/bin.html#bin-parameters) will be applied.\n\n- If `\"binned\"`, this indicates that the data for the `x` (or `y`) channel are already binned. You can map the bin-start field to `x` (or `y`) and the bin-end field to `x2` (or `y2`). The scale and axis will be formatted similar to binning in Vega-Lite. To adjust the axis ticks based on the bin step, you can also set the axis's [`tickMinStep`](https://vega.github.io/vega-lite/docs/axis.html#ticks) property.\n\n__Default value:__ `false`\n\n__See also:__ [`bin`](https://vega.github.io/vega-lite/docs/bin.html) documentation." + "description": "A flag for binning a `quantitative` field, [an object defining binning parameters](https://vega.github.io/vega-lite/docs/bin.html#params), or indicating that the data for `x` or `y` channel are binned before they are imported into Vega-Lite (`\"binned\"`).\n\n- If `true`, default [binning parameters](https://vega.github.io/vega-lite/docs/bin.html) will be applied.\n\n- If `\"binned\"`, this indicates that the data for the `x` (or `y`) channel are already binned. You can map the bin-start field to `x` (or `y`) and the bin-end field to `x2` (or `y2`). The scale and axis will be formatted similar to binning in Vega-Lite. To adjust the axis ticks based on the bin step, you can also set the axis's [`tickMinStep`](https://vega.github.io/vega-lite/docs/axis.html#ticks) property.\n\n__Default value:__ `false`\n\n__See also:__ [`bin`](https://vega.github.io/vega-lite/docs/bin.html) documentation." }, "condition": { "anyOf": [ @@ -22983,7 +22988,7 @@ "type": "null" } ], - "description": "A flag for binning a `quantitative` field, [an object defining binning parameters](https://vega.github.io/vega-lite/docs/bin.html#bin-parameters), or indicating that the data for `x` or `y` channel are binned before they are imported into Vega-Lite (`\"binned\"`).\n\n- If `true`, default [binning parameters](https://vega.github.io/vega-lite/docs/bin.html#bin-parameters) will be applied.\n\n- If `\"binned\"`, this indicates that the data for the `x` (or `y`) channel are already binned. You can map the bin-start field to `x` (or `y`) and the bin-end field to `x2` (or `y2`). The scale and axis will be formatted similar to binning in Vega-Lite. To adjust the axis ticks based on the bin step, you can also set the axis's [`tickMinStep`](https://vega.github.io/vega-lite/docs/axis.html#ticks) property.\n\n__Default value:__ `false`\n\n__See also:__ [`bin`](https://vega.github.io/vega-lite/docs/bin.html) documentation." + "description": "A flag for binning a `quantitative` field, [an object defining binning parameters](https://vega.github.io/vega-lite/docs/bin.html#params), or indicating that the data for `x` or `y` channel are binned before they are imported into Vega-Lite (`\"binned\"`).\n\n- If `true`, default [binning parameters](https://vega.github.io/vega-lite/docs/bin.html) will be applied.\n\n- If `\"binned\"`, this indicates that the data for the `x` (or `y`) channel are already binned. You can map the bin-start field to `x` (or `y`) and the bin-end field to `x2` (or `y2`). The scale and axis will be formatted similar to binning in Vega-Lite. To adjust the axis ticks based on the bin step, you can also set the axis's [`tickMinStep`](https://vega.github.io/vega-lite/docs/axis.html#ticks) property.\n\n__Default value:__ `false`\n\n__See also:__ [`bin`](https://vega.github.io/vega-lite/docs/bin.html) documentation." }, "condition": { "anyOf": [ @@ -23146,7 +23151,7 @@ "type": "null" } ], - "description": "A flag for binning a `quantitative` field, [an object defining binning parameters](https://vega.github.io/vega-lite/docs/bin.html#bin-parameters), or indicating that the data for `x` or `y` channel are binned before they are imported into Vega-Lite (`\"binned\"`).\n\n- If `true`, default [binning parameters](https://vega.github.io/vega-lite/docs/bin.html#bin-parameters) will be applied.\n\n- If `\"binned\"`, this indicates that the data for the `x` (or `y`) channel are already binned. You can map the bin-start field to `x` (or `y`) and the bin-end field to `x2` (or `y2`). The scale and axis will be formatted similar to binning in Vega-Lite. To adjust the axis ticks based on the bin step, you can also set the axis's [`tickMinStep`](https://vega.github.io/vega-lite/docs/axis.html#ticks) property.\n\n__Default value:__ `false`\n\n__See also:__ [`bin`](https://vega.github.io/vega-lite/docs/bin.html) documentation." + "description": "A flag for binning a `quantitative` field, [an object defining binning parameters](https://vega.github.io/vega-lite/docs/bin.html#params), or indicating that the data for `x` or `y` channel are binned before they are imported into Vega-Lite (`\"binned\"`).\n\n- If `true`, default [binning parameters](https://vega.github.io/vega-lite/docs/bin.html) will be applied.\n\n- If `\"binned\"`, this indicates that the data for the `x` (or `y`) channel are already binned. You can map the bin-start field to `x` (or `y`) and the bin-end field to `x2` (or `y2`). The scale and axis will be formatted similar to binning in Vega-Lite. To adjust the axis ticks based on the bin step, you can also set the axis's [`tickMinStep`](https://vega.github.io/vega-lite/docs/axis.html#ticks) property.\n\n__Default value:__ `false`\n\n__See also:__ [`bin`](https://vega.github.io/vega-lite/docs/bin.html) documentation." }, "condition": { "anyOf": [ @@ -23275,7 +23280,7 @@ "type": "null" } ], - "description": "A flag for binning a `quantitative` field, [an object defining binning parameters](https://vega.github.io/vega-lite/docs/bin.html#bin-parameters), or indicating that the data for `x` or `y` channel are binned before they are imported into Vega-Lite (`\"binned\"`).\n\n- If `true`, default [binning parameters](https://vega.github.io/vega-lite/docs/bin.html#bin-parameters) will be applied.\n\n- If `\"binned\"`, this indicates that the data for the `x` (or `y`) channel are already binned. You can map the bin-start field to `x` (or `y`) and the bin-end field to `x2` (or `y2`). The scale and axis will be formatted similar to binning in Vega-Lite. To adjust the axis ticks based on the bin step, you can also set the axis's [`tickMinStep`](https://vega.github.io/vega-lite/docs/axis.html#ticks) property.\n\n__Default value:__ `false`\n\n__See also:__ [`bin`](https://vega.github.io/vega-lite/docs/bin.html) documentation." + "description": "A flag for binning a `quantitative` field, [an object defining binning parameters](https://vega.github.io/vega-lite/docs/bin.html#params), or indicating that the data for `x` or `y` channel are binned before they are imported into Vega-Lite (`\"binned\"`).\n\n- If `true`, default [binning parameters](https://vega.github.io/vega-lite/docs/bin.html) will be applied.\n\n- If `\"binned\"`, this indicates that the data for the `x` (or `y`) channel are already binned. You can map the bin-start field to `x` (or `y`) and the bin-end field to `x2` (or `y2`). The scale and axis will be formatted similar to binning in Vega-Lite. To adjust the axis ticks based on the bin step, you can also set the axis's [`tickMinStep`](https://vega.github.io/vega-lite/docs/axis.html#ticks) property.\n\n__Default value:__ `false`\n\n__See also:__ [`bin`](https://vega.github.io/vega-lite/docs/bin.html) documentation." }, "field": { "$ref": "#/definitions/Field", @@ -23324,7 +23329,7 @@ "type": "number" }, "bin": { - "description": "A flag for binning a `quantitative` field, [an object defining binning parameters](https://vega.github.io/vega-lite/docs/bin.html#bin-parameters), or indicating that the data for `x` or `y` channel are binned before they are imported into Vega-Lite (`\"binned\"`).\n\n- If `true`, default [binning parameters](https://vega.github.io/vega-lite/docs/bin.html#bin-parameters) will be applied.\n\n- If `\"binned\"`, this indicates that the data for the `x` (or `y`) channel are already binned. You can map the bin-start field to `x` (or `y`) and the bin-end field to `x2` (or `y2`). The scale and axis will be formatted similar to binning in Vega-Lite. To adjust the axis ticks based on the bin step, you can also set the axis's [`tickMinStep`](https://vega.github.io/vega-lite/docs/axis.html#ticks) property.\n\n__Default value:__ `false`\n\n__See also:__ [`bin`](https://vega.github.io/vega-lite/docs/bin.html) documentation.", + "description": "A flag for binning a `quantitative` field, [an object defining binning parameters](https://vega.github.io/vega-lite/docs/bin.html#params), or indicating that the data for `x` or `y` channel are binned before they are imported into Vega-Lite (`\"binned\"`).\n\n- If `true`, default [binning parameters](https://vega.github.io/vega-lite/docs/bin.html) will be applied.\n\n- If `\"binned\"`, this indicates that the data for the `x` (or `y`) channel are already binned. You can map the bin-start field to `x` (or `y`) and the bin-end field to `x2` (or `y2`). The scale and axis will be formatted similar to binning in Vega-Lite. To adjust the axis ticks based on the bin step, you can also set the axis's [`tickMinStep`](https://vega.github.io/vega-lite/docs/axis.html#ticks) property.\n\n__Default value:__ `false`\n\n__See also:__ [`bin`](https://vega.github.io/vega-lite/docs/bin.html) documentation.", "type": "null" }, "datum": { @@ -23401,7 +23406,7 @@ "type": "number" }, "bin": { - "description": "A flag for binning a `quantitative` field, [an object defining binning parameters](https://vega.github.io/vega-lite/docs/bin.html#bin-parameters), or indicating that the data for `x` or `y` channel are binned before they are imported into Vega-Lite (`\"binned\"`).\n\n- If `true`, default [binning parameters](https://vega.github.io/vega-lite/docs/bin.html#bin-parameters) will be applied.\n\n- If `\"binned\"`, this indicates that the data for the `x` (or `y`) channel are already binned. You can map the bin-start field to `x` (or `y`) and the bin-end field to `x2` (or `y2`). The scale and axis will be formatted similar to binning in Vega-Lite. To adjust the axis ticks based on the bin step, you can also set the axis's [`tickMinStep`](https://vega.github.io/vega-lite/docs/axis.html#ticks) property.\n\n__Default value:__ `false`\n\n__See also:__ [`bin`](https://vega.github.io/vega-lite/docs/bin.html) documentation.", + "description": "A flag for binning a `quantitative` field, [an object defining binning parameters](https://vega.github.io/vega-lite/docs/bin.html#params), or indicating that the data for `x` or `y` channel are binned before they are imported into Vega-Lite (`\"binned\"`).\n\n- If `true`, default [binning parameters](https://vega.github.io/vega-lite/docs/bin.html) will be applied.\n\n- If `\"binned\"`, this indicates that the data for the `x` (or `y`) channel are already binned. You can map the bin-start field to `x` (or `y`) and the bin-end field to `x2` (or `y2`). The scale and axis will be formatted similar to binning in Vega-Lite. To adjust the axis ticks based on the bin step, you can also set the axis's [`tickMinStep`](https://vega.github.io/vega-lite/docs/axis.html#ticks) property.\n\n__Default value:__ `false`\n\n__See also:__ [`bin`](https://vega.github.io/vega-lite/docs/bin.html) documentation.", "type": "null" }, "datum": { @@ -23487,7 +23492,7 @@ "type": "number" }, "bin": { - "description": "A flag for binning a `quantitative` field, [an object defining binning parameters](https://vega.github.io/vega-lite/docs/bin.html#bin-parameters), or indicating that the data for `x` or `y` channel are binned before they are imported into Vega-Lite (`\"binned\"`).\n\n- If `true`, default [binning parameters](https://vega.github.io/vega-lite/docs/bin.html#bin-parameters) will be applied.\n\n- If `\"binned\"`, this indicates that the data for the `x` (or `y`) channel are already binned. You can map the bin-start field to `x` (or `y`) and the bin-end field to `x2` (or `y2`). The scale and axis will be formatted similar to binning in Vega-Lite. To adjust the axis ticks based on the bin step, you can also set the axis's [`tickMinStep`](https://vega.github.io/vega-lite/docs/axis.html#ticks) property.\n\n__Default value:__ `false`\n\n__See also:__ [`bin`](https://vega.github.io/vega-lite/docs/bin.html) documentation.", + "description": "A flag for binning a `quantitative` field, [an object defining binning parameters](https://vega.github.io/vega-lite/docs/bin.html#params), or indicating that the data for `x` or `y` channel are binned before they are imported into Vega-Lite (`\"binned\"`).\n\n- If `true`, default [binning parameters](https://vega.github.io/vega-lite/docs/bin.html) will be applied.\n\n- If `\"binned\"`, this indicates that the data for the `x` (or `y`) channel are already binned. You can map the bin-start field to `x` (or `y`) and the bin-end field to `x2` (or `y2`). The scale and axis will be formatted similar to binning in Vega-Lite. To adjust the axis ticks based on the bin step, you can also set the axis's [`tickMinStep`](https://vega.github.io/vega-lite/docs/axis.html#ticks) property.\n\n__Default value:__ `false`\n\n__See also:__ [`bin`](https://vega.github.io/vega-lite/docs/bin.html) documentation.", "type": "null" }, "datum": { @@ -23564,7 +23569,7 @@ "type": "number" }, "bin": { - "description": "A flag for binning a `quantitative` field, [an object defining binning parameters](https://vega.github.io/vega-lite/docs/bin.html#bin-parameters), or indicating that the data for `x` or `y` channel are binned before they are imported into Vega-Lite (`\"binned\"`).\n\n- If `true`, default [binning parameters](https://vega.github.io/vega-lite/docs/bin.html#bin-parameters) will be applied.\n\n- If `\"binned\"`, this indicates that the data for the `x` (or `y`) channel are already binned. You can map the bin-start field to `x` (or `y`) and the bin-end field to `x2` (or `y2`). The scale and axis will be formatted similar to binning in Vega-Lite. To adjust the axis ticks based on the bin step, you can also set the axis's [`tickMinStep`](https://vega.github.io/vega-lite/docs/axis.html#ticks) property.\n\n__Default value:__ `false`\n\n__See also:__ [`bin`](https://vega.github.io/vega-lite/docs/bin.html) documentation.", + "description": "A flag for binning a `quantitative` field, [an object defining binning parameters](https://vega.github.io/vega-lite/docs/bin.html#params), or indicating that the data for `x` or `y` channel are binned before they are imported into Vega-Lite (`\"binned\"`).\n\n- If `true`, default [binning parameters](https://vega.github.io/vega-lite/docs/bin.html) will be applied.\n\n- If `\"binned\"`, this indicates that the data for the `x` (or `y`) channel are already binned. You can map the bin-start field to `x` (or `y`) and the bin-end field to `x2` (or `y2`). The scale and axis will be formatted similar to binning in Vega-Lite. To adjust the axis ticks based on the bin step, you can also set the axis's [`tickMinStep`](https://vega.github.io/vega-lite/docs/axis.html#ticks) property.\n\n__Default value:__ `false`\n\n__See also:__ [`bin`](https://vega.github.io/vega-lite/docs/bin.html) documentation.", "type": "null" }, "datum": { @@ -23661,7 +23666,7 @@ "type": "null" } ], - "description": "A flag for binning a `quantitative` field, [an object defining binning parameters](https://vega.github.io/vega-lite/docs/bin.html#bin-parameters), or indicating that the data for `x` or `y` channel are binned before they are imported into Vega-Lite (`\"binned\"`).\n\n- If `true`, default [binning parameters](https://vega.github.io/vega-lite/docs/bin.html#bin-parameters) will be applied.\n\n- If `\"binned\"`, this indicates that the data for the `x` (or `y`) channel are already binned. You can map the bin-start field to `x` (or `y`) and the bin-end field to `x2` (or `y2`). The scale and axis will be formatted similar to binning in Vega-Lite. To adjust the axis ticks based on the bin step, you can also set the axis's [`tickMinStep`](https://vega.github.io/vega-lite/docs/axis.html#ticks) property.\n\n__Default value:__ `false`\n\n__See also:__ [`bin`](https://vega.github.io/vega-lite/docs/bin.html) documentation." + "description": "A flag for binning a `quantitative` field, [an object defining binning parameters](https://vega.github.io/vega-lite/docs/bin.html#params), or indicating that the data for `x` or `y` channel are binned before they are imported into Vega-Lite (`\"binned\"`).\n\n- If `true`, default [binning parameters](https://vega.github.io/vega-lite/docs/bin.html) will be applied.\n\n- If `\"binned\"`, this indicates that the data for the `x` (or `y`) channel are already binned. You can map the bin-start field to `x` (or `y`) and the bin-end field to `x2` (or `y2`). The scale and axis will be formatted similar to binning in Vega-Lite. To adjust the axis ticks based on the bin step, you can also set the axis's [`tickMinStep`](https://vega.github.io/vega-lite/docs/axis.html#ticks) property.\n\n__Default value:__ `false`\n\n__See also:__ [`bin`](https://vega.github.io/vega-lite/docs/bin.html) documentation." }, "condition": { "anyOf": [ @@ -23841,7 +23846,7 @@ "type": "null" } ], - "description": "A flag for binning a `quantitative` field, [an object defining binning parameters](https://vega.github.io/vega-lite/docs/bin.html#bin-parameters), or indicating that the data for `x` or `y` channel are binned before they are imported into Vega-Lite (`\"binned\"`).\n\n- If `true`, default [binning parameters](https://vega.github.io/vega-lite/docs/bin.html#bin-parameters) will be applied.\n\n- If `\"binned\"`, this indicates that the data for the `x` (or `y`) channel are already binned. You can map the bin-start field to `x` (or `y`) and the bin-end field to `x2` (or `y2`). The scale and axis will be formatted similar to binning in Vega-Lite. To adjust the axis ticks based on the bin step, you can also set the axis's [`tickMinStep`](https://vega.github.io/vega-lite/docs/axis.html#ticks) property.\n\n__Default value:__ `false`\n\n__See also:__ [`bin`](https://vega.github.io/vega-lite/docs/bin.html) documentation." + "description": "A flag for binning a `quantitative` field, [an object defining binning parameters](https://vega.github.io/vega-lite/docs/bin.html#params), or indicating that the data for `x` or `y` channel are binned before they are imported into Vega-Lite (`\"binned\"`).\n\n- If `true`, default [binning parameters](https://vega.github.io/vega-lite/docs/bin.html) will be applied.\n\n- If `\"binned\"`, this indicates that the data for the `x` (or `y`) channel are already binned. You can map the bin-start field to `x` (or `y`) and the bin-end field to `x2` (or `y2`). The scale and axis will be formatted similar to binning in Vega-Lite. To adjust the axis ticks based on the bin step, you can also set the axis's [`tickMinStep`](https://vega.github.io/vega-lite/docs/axis.html#ticks) property.\n\n__Default value:__ `false`\n\n__See also:__ [`bin`](https://vega.github.io/vega-lite/docs/bin.html) documentation." }, "datum": { "anyOf": [ @@ -23891,7 +23896,7 @@ "type": "boolean" } ], - "description": "Type of stacking offset if the field should be stacked. `stack` is only applicable for `x`, `y`, `theta`, and `radius` channels with continuous domains. For example, `stack` of `y` can be used to customize stacking for a vertical bar chart.\n\n`stack` can be one of the following values:\n- `\"zero\"` or `true`: stacking with baseline offset at zero value of the scale (for creating typical stacked [bar](https://vega.github.io/vega-lite/docs/stack.html#bar) and [area](https://vega.github.io/vega-lite/docs/stack.html#area) chart).\n- `\"normalize\"` - stacking with normalized domain (for creating [normalized stacked bar and area charts](https://vega.github.io/vega-lite/docs/stack.html#normalized) and pie charts [with percentage tooltip](https://vega.github.io/vega-lite/docs/arc.html#tooltip)).
\n-`\"center\"` - stacking with center baseline (for [streamgraph](https://vega.github.io/vega-lite/docs/stack.html#streamgraph)).\n- `null` or `false` - No-stacking. This will produce layered [bar](https://vega.github.io/vega-lite/docs/stack.html#layered-bar-chart) and area chart.\n\n__Default value:__ `zero` for plots with all of the following conditions are true: (1) the mark is `bar`, `area`, or `arc`; (2) the stacked measure channel (x or y) has a linear scale; (3) At least one of non-position channels mapped to an unaggregated field that is different from x and y. Otherwise, `null` by default.\n\n__See also:__ [`stack`](https://vega.github.io/vega-lite/docs/stack.html) documentation." + "description": "Type of stacking offset if the field should be stacked. `stack` is only applicable for `x`, `y`, `theta`, and `radius` channels with continuous domains. For example, `stack` of `y` can be used to customize stacking for a vertical bar chart.\n\n`stack` can be one of the following values:\n- `\"zero\"` or `true`: stacking with baseline offset at zero value of the scale (for creating typical stacked [bar](https://vega.github.io/vega-lite/docs/stack.html#bar) and [area](https://vega.github.io/vega-lite/docs/stack.html#area) chart).\n- `\"normalize\"` - stacking with normalized domain (for creating [normalized stacked bar and area charts](https://vega.github.io/vega-lite/docs/stack.html#normalized).
\n-`\"center\"` - stacking with center baseline (for [streamgraph](https://vega.github.io/vega-lite/docs/stack.html#streamgraph)).\n- `null` or `false` - No-stacking. This will produce layered [bar](https://vega.github.io/vega-lite/docs/stack.html#layered-bar-chart) and area chart.\n\n__Default value:__ `zero` for plots with all of the following conditions are true: (1) the mark is `bar`, `area`, or `arc`; (2) the stacked measure channel (x or y) has a linear scale; (3) At least one of non-position channels mapped to an unaggregated field that is different from x and y. Otherwise, `null` by default.\n\n__See also:__ [`stack`](https://vega.github.io/vega-lite/docs/stack.html) documentation." }, "timeUnit": { "anyOf": [ @@ -23964,7 +23969,7 @@ "type": "number" }, "bin": { - "description": "A flag for binning a `quantitative` field, [an object defining binning parameters](https://vega.github.io/vega-lite/docs/bin.html#bin-parameters), or indicating that the data for `x` or `y` channel are binned before they are imported into Vega-Lite (`\"binned\"`).\n\n- If `true`, default [binning parameters](https://vega.github.io/vega-lite/docs/bin.html#bin-parameters) will be applied.\n\n- If `\"binned\"`, this indicates that the data for the `x` (or `y`) channel are already binned. You can map the bin-start field to `x` (or `y`) and the bin-end field to `x2` (or `y2`). The scale and axis will be formatted similar to binning in Vega-Lite. To adjust the axis ticks based on the bin step, you can also set the axis's [`tickMinStep`](https://vega.github.io/vega-lite/docs/axis.html#ticks) property.\n\n__Default value:__ `false`\n\n__See also:__ [`bin`](https://vega.github.io/vega-lite/docs/bin.html) documentation.", + "description": "A flag for binning a `quantitative` field, [an object defining binning parameters](https://vega.github.io/vega-lite/docs/bin.html#params), or indicating that the data for `x` or `y` channel are binned before they are imported into Vega-Lite (`\"binned\"`).\n\n- If `true`, default [binning parameters](https://vega.github.io/vega-lite/docs/bin.html) will be applied.\n\n- If `\"binned\"`, this indicates that the data for the `x` (or `y`) channel are already binned. You can map the bin-start field to `x` (or `y`) and the bin-end field to `x2` (or `y2`). The scale and axis will be formatted similar to binning in Vega-Lite. To adjust the axis ticks based on the bin step, you can also set the axis's [`tickMinStep`](https://vega.github.io/vega-lite/docs/axis.html#ticks) property.\n\n__Default value:__ `false`\n\n__See also:__ [`bin`](https://vega.github.io/vega-lite/docs/bin.html) documentation.", "type": "null" }, "datum": { @@ -24061,7 +24066,7 @@ "type": "null" } ], - "description": "A flag for binning a `quantitative` field, [an object defining binning parameters](https://vega.github.io/vega-lite/docs/bin.html#bin-parameters), or indicating that the data for `x` or `y` channel are binned before they are imported into Vega-Lite (`\"binned\"`).\n\n- If `true`, default [binning parameters](https://vega.github.io/vega-lite/docs/bin.html#bin-parameters) will be applied.\n\n- If `\"binned\"`, this indicates that the data for the `x` (or `y`) channel are already binned. You can map the bin-start field to `x` (or `y`) and the bin-end field to `x2` (or `y2`). The scale and axis will be formatted similar to binning in Vega-Lite. To adjust the axis ticks based on the bin step, you can also set the axis's [`tickMinStep`](https://vega.github.io/vega-lite/docs/axis.html#ticks) property.\n\n__Default value:__ `false`\n\n__See also:__ [`bin`](https://vega.github.io/vega-lite/docs/bin.html) documentation." + "description": "A flag for binning a `quantitative` field, [an object defining binning parameters](https://vega.github.io/vega-lite/docs/bin.html#params), or indicating that the data for `x` or `y` channel are binned before they are imported into Vega-Lite (`\"binned\"`).\n\n- If `true`, default [binning parameters](https://vega.github.io/vega-lite/docs/bin.html) will be applied.\n\n- If `\"binned\"`, this indicates that the data for the `x` (or `y`) channel are already binned. You can map the bin-start field to `x` (or `y`) and the bin-end field to `x2` (or `y2`). The scale and axis will be formatted similar to binning in Vega-Lite. To adjust the axis ticks based on the bin step, you can also set the axis's [`tickMinStep`](https://vega.github.io/vega-lite/docs/axis.html#ticks) property.\n\n__Default value:__ `false`\n\n__See also:__ [`bin`](https://vega.github.io/vega-lite/docs/bin.html) documentation." }, "condition": { "anyOf": [ @@ -24223,7 +24228,7 @@ "type": "null" } ], - "description": "A flag for binning a `quantitative` field, [an object defining binning parameters](https://vega.github.io/vega-lite/docs/bin.html#bin-parameters), or indicating that the data for `x` or `y` channel are binned before they are imported into Vega-Lite (`\"binned\"`).\n\n- If `true`, default [binning parameters](https://vega.github.io/vega-lite/docs/bin.html#bin-parameters) will be applied.\n\n- If `\"binned\"`, this indicates that the data for the `x` (or `y`) channel are already binned. You can map the bin-start field to `x` (or `y`) and the bin-end field to `x2` (or `y2`). The scale and axis will be formatted similar to binning in Vega-Lite. To adjust the axis ticks based on the bin step, you can also set the axis's [`tickMinStep`](https://vega.github.io/vega-lite/docs/axis.html#ticks) property.\n\n__Default value:__ `false`\n\n__See also:__ [`bin`](https://vega.github.io/vega-lite/docs/bin.html) documentation." + "description": "A flag for binning a `quantitative` field, [an object defining binning parameters](https://vega.github.io/vega-lite/docs/bin.html#params), or indicating that the data for `x` or `y` channel are binned before they are imported into Vega-Lite (`\"binned\"`).\n\n- If `true`, default [binning parameters](https://vega.github.io/vega-lite/docs/bin.html) will be applied.\n\n- If `\"binned\"`, this indicates that the data for the `x` (or `y`) channel are already binned. You can map the bin-start field to `x` (or `y`) and the bin-end field to `x2` (or `y2`). The scale and axis will be formatted similar to binning in Vega-Lite. To adjust the axis ticks based on the bin step, you can also set the axis's [`tickMinStep`](https://vega.github.io/vega-lite/docs/axis.html#ticks) property.\n\n__Default value:__ `false`\n\n__See also:__ [`bin`](https://vega.github.io/vega-lite/docs/bin.html) documentation." }, "condition": { "anyOf": [ @@ -24382,7 +24387,7 @@ "type": "null" } ], - "description": "A flag for binning a `quantitative` field, [an object defining binning parameters](https://vega.github.io/vega-lite/docs/bin.html#bin-parameters), or indicating that the data for `x` or `y` channel are binned before they are imported into Vega-Lite (`\"binned\"`).\n\n- If `true`, default [binning parameters](https://vega.github.io/vega-lite/docs/bin.html#bin-parameters) will be applied.\n\n- If `\"binned\"`, this indicates that the data for the `x` (or `y`) channel are already binned. You can map the bin-start field to `x` (or `y`) and the bin-end field to `x2` (or `y2`). The scale and axis will be formatted similar to binning in Vega-Lite. To adjust the axis ticks based on the bin step, you can also set the axis's [`tickMinStep`](https://vega.github.io/vega-lite/docs/axis.html#ticks) property.\n\n__Default value:__ `false`\n\n__See also:__ [`bin`](https://vega.github.io/vega-lite/docs/bin.html) documentation." + "description": "A flag for binning a `quantitative` field, [an object defining binning parameters](https://vega.github.io/vega-lite/docs/bin.html#params), or indicating that the data for `x` or `y` channel are binned before they are imported into Vega-Lite (`\"binned\"`).\n\n- If `true`, default [binning parameters](https://vega.github.io/vega-lite/docs/bin.html) will be applied.\n\n- If `\"binned\"`, this indicates that the data for the `x` (or `y`) channel are already binned. You can map the bin-start field to `x` (or `y`) and the bin-end field to `x2` (or `y2`). The scale and axis will be formatted similar to binning in Vega-Lite. To adjust the axis ticks based on the bin step, you can also set the axis's [`tickMinStep`](https://vega.github.io/vega-lite/docs/axis.html#ticks) property.\n\n__Default value:__ `false`\n\n__See also:__ [`bin`](https://vega.github.io/vega-lite/docs/bin.html) documentation." }, "condition": { "anyOf": [ @@ -24547,7 +24552,7 @@ "type": "null" } ], - "description": "A flag for binning a `quantitative` field, [an object defining binning parameters](https://vega.github.io/vega-lite/docs/bin.html#bin-parameters), or indicating that the data for `x` or `y` channel are binned before they are imported into Vega-Lite (`\"binned\"`).\n\n- If `true`, default [binning parameters](https://vega.github.io/vega-lite/docs/bin.html#bin-parameters) will be applied.\n\n- If `\"binned\"`, this indicates that the data for the `x` (or `y`) channel are already binned. You can map the bin-start field to `x` (or `y`) and the bin-end field to `x2` (or `y2`). The scale and axis will be formatted similar to binning in Vega-Lite. To adjust the axis ticks based on the bin step, you can also set the axis's [`tickMinStep`](https://vega.github.io/vega-lite/docs/axis.html#ticks) property.\n\n__Default value:__ `false`\n\n__See also:__ [`bin`](https://vega.github.io/vega-lite/docs/bin.html) documentation." + "description": "A flag for binning a `quantitative` field, [an object defining binning parameters](https://vega.github.io/vega-lite/docs/bin.html#params), or indicating that the data for `x` or `y` channel are binned before they are imported into Vega-Lite (`\"binned\"`).\n\n- If `true`, default [binning parameters](https://vega.github.io/vega-lite/docs/bin.html) will be applied.\n\n- If `\"binned\"`, this indicates that the data for the `x` (or `y`) channel are already binned. You can map the bin-start field to `x` (or `y`) and the bin-end field to `x2` (or `y2`). The scale and axis will be formatted similar to binning in Vega-Lite. To adjust the axis ticks based on the bin step, you can also set the axis's [`tickMinStep`](https://vega.github.io/vega-lite/docs/axis.html#ticks) property.\n\n__Default value:__ `false`\n\n__See also:__ [`bin`](https://vega.github.io/vega-lite/docs/bin.html) documentation." }, "condition": { "anyOf": [ @@ -24709,7 +24714,7 @@ "type": "null" } ], - "description": "A flag for binning a `quantitative` field, [an object defining binning parameters](https://vega.github.io/vega-lite/docs/bin.html#bin-parameters), or indicating that the data for `x` or `y` channel are binned before they are imported into Vega-Lite (`\"binned\"`).\n\n- If `true`, default [binning parameters](https://vega.github.io/vega-lite/docs/bin.html#bin-parameters) will be applied.\n\n- If `\"binned\"`, this indicates that the data for the `x` (or `y`) channel are already binned. You can map the bin-start field to `x` (or `y`) and the bin-end field to `x2` (or `y2`). The scale and axis will be formatted similar to binning in Vega-Lite. To adjust the axis ticks based on the bin step, you can also set the axis's [`tickMinStep`](https://vega.github.io/vega-lite/docs/axis.html#ticks) property.\n\n__Default value:__ `false`\n\n__See also:__ [`bin`](https://vega.github.io/vega-lite/docs/bin.html) documentation." + "description": "A flag for binning a `quantitative` field, [an object defining binning parameters](https://vega.github.io/vega-lite/docs/bin.html#params), or indicating that the data for `x` or `y` channel are binned before they are imported into Vega-Lite (`\"binned\"`).\n\n- If `true`, default [binning parameters](https://vega.github.io/vega-lite/docs/bin.html) will be applied.\n\n- If `\"binned\"`, this indicates that the data for the `x` (or `y`) channel are already binned. You can map the bin-start field to `x` (or `y`) and the bin-end field to `x2` (or `y2`). The scale and axis will be formatted similar to binning in Vega-Lite. To adjust the axis ticks based on the bin step, you can also set the axis's [`tickMinStep`](https://vega.github.io/vega-lite/docs/axis.html#ticks) property.\n\n__Default value:__ `false`\n\n__See also:__ [`bin`](https://vega.github.io/vega-lite/docs/bin.html) documentation." }, "condition": { "anyOf": [ @@ -24868,7 +24873,7 @@ "type": "null" } ], - "description": "A flag for binning a `quantitative` field, [an object defining binning parameters](https://vega.github.io/vega-lite/docs/bin.html#bin-parameters), or indicating that the data for `x` or `y` channel are binned before they are imported into Vega-Lite (`\"binned\"`).\n\n- If `true`, default [binning parameters](https://vega.github.io/vega-lite/docs/bin.html#bin-parameters) will be applied.\n\n- If `\"binned\"`, this indicates that the data for the `x` (or `y`) channel are already binned. You can map the bin-start field to `x` (or `y`) and the bin-end field to `x2` (or `y2`). The scale and axis will be formatted similar to binning in Vega-Lite. To adjust the axis ticks based on the bin step, you can also set the axis's [`tickMinStep`](https://vega.github.io/vega-lite/docs/axis.html#ticks) property.\n\n__Default value:__ `false`\n\n__See also:__ [`bin`](https://vega.github.io/vega-lite/docs/bin.html) documentation." + "description": "A flag for binning a `quantitative` field, [an object defining binning parameters](https://vega.github.io/vega-lite/docs/bin.html#params), or indicating that the data for `x` or `y` channel are binned before they are imported into Vega-Lite (`\"binned\"`).\n\n- If `true`, default [binning parameters](https://vega.github.io/vega-lite/docs/bin.html) will be applied.\n\n- If `\"binned\"`, this indicates that the data for the `x` (or `y`) channel are already binned. You can map the bin-start field to `x` (or `y`) and the bin-end field to `x2` (or `y2`). The scale and axis will be formatted similar to binning in Vega-Lite. To adjust the axis ticks based on the bin step, you can also set the axis's [`tickMinStep`](https://vega.github.io/vega-lite/docs/axis.html#ticks) property.\n\n__Default value:__ `false`\n\n__See also:__ [`bin`](https://vega.github.io/vega-lite/docs/bin.html) documentation." }, "condition": { "anyOf": [ @@ -25031,7 +25036,7 @@ "type": "null" } ], - "description": "A flag for binning a `quantitative` field, [an object defining binning parameters](https://vega.github.io/vega-lite/docs/bin.html#bin-parameters), or indicating that the data for `x` or `y` channel are binned before they are imported into Vega-Lite (`\"binned\"`).\n\n- If `true`, default [binning parameters](https://vega.github.io/vega-lite/docs/bin.html#bin-parameters) will be applied.\n\n- If `\"binned\"`, this indicates that the data for the `x` (or `y`) channel are already binned. You can map the bin-start field to `x` (or `y`) and the bin-end field to `x2` (or `y2`). The scale and axis will be formatted similar to binning in Vega-Lite. To adjust the axis ticks based on the bin step, you can also set the axis's [`tickMinStep`](https://vega.github.io/vega-lite/docs/axis.html#ticks) property.\n\n__Default value:__ `false`\n\n__See also:__ [`bin`](https://vega.github.io/vega-lite/docs/bin.html) documentation." + "description": "A flag for binning a `quantitative` field, [an object defining binning parameters](https://vega.github.io/vega-lite/docs/bin.html#params), or indicating that the data for `x` or `y` channel are binned before they are imported into Vega-Lite (`\"binned\"`).\n\n- If `true`, default [binning parameters](https://vega.github.io/vega-lite/docs/bin.html) will be applied.\n\n- If `\"binned\"`, this indicates that the data for the `x` (or `y`) channel are already binned. You can map the bin-start field to `x` (or `y`) and the bin-end field to `x2` (or `y2`). The scale and axis will be formatted similar to binning in Vega-Lite. To adjust the axis ticks based on the bin step, you can also set the axis's [`tickMinStep`](https://vega.github.io/vega-lite/docs/axis.html#ticks) property.\n\n__Default value:__ `false`\n\n__See also:__ [`bin`](https://vega.github.io/vega-lite/docs/bin.html) documentation." }, "condition": { "anyOf": [ @@ -25183,7 +25188,7 @@ "type": "null" } ], - "description": "A flag for binning a `quantitative` field, [an object defining binning parameters](https://vega.github.io/vega-lite/docs/bin.html#bin-parameters), or indicating that the data for `x` or `y` channel are binned before they are imported into Vega-Lite (`\"binned\"`).\n\n- If `true`, default [binning parameters](https://vega.github.io/vega-lite/docs/bin.html#bin-parameters) will be applied.\n\n- If `\"binned\"`, this indicates that the data for the `x` (or `y`) channel are already binned. You can map the bin-start field to `x` (or `y`) and the bin-end field to `x2` (or `y2`). The scale and axis will be formatted similar to binning in Vega-Lite. To adjust the axis ticks based on the bin step, you can also set the axis's [`tickMinStep`](https://vega.github.io/vega-lite/docs/axis.html#ticks) property.\n\n__Default value:__ `false`\n\n__See also:__ [`bin`](https://vega.github.io/vega-lite/docs/bin.html) documentation." + "description": "A flag for binning a `quantitative` field, [an object defining binning parameters](https://vega.github.io/vega-lite/docs/bin.html#params), or indicating that the data for `x` or `y` channel are binned before they are imported into Vega-Lite (`\"binned\"`).\n\n- If `true`, default [binning parameters](https://vega.github.io/vega-lite/docs/bin.html) will be applied.\n\n- If `\"binned\"`, this indicates that the data for the `x` (or `y`) channel are already binned. You can map the bin-start field to `x` (or `y`) and the bin-end field to `x2` (or `y2`). The scale and axis will be formatted similar to binning in Vega-Lite. To adjust the axis ticks based on the bin step, you can also set the axis's [`tickMinStep`](https://vega.github.io/vega-lite/docs/axis.html#ticks) property.\n\n__Default value:__ `false`\n\n__See also:__ [`bin`](https://vega.github.io/vega-lite/docs/bin.html) documentation." }, "datum": { "anyOf": [ @@ -25233,7 +25238,7 @@ "type": "boolean" } ], - "description": "Type of stacking offset if the field should be stacked. `stack` is only applicable for `x`, `y`, `theta`, and `radius` channels with continuous domains. For example, `stack` of `y` can be used to customize stacking for a vertical bar chart.\n\n`stack` can be one of the following values:\n- `\"zero\"` or `true`: stacking with baseline offset at zero value of the scale (for creating typical stacked [bar](https://vega.github.io/vega-lite/docs/stack.html#bar) and [area](https://vega.github.io/vega-lite/docs/stack.html#area) chart).\n- `\"normalize\"` - stacking with normalized domain (for creating [normalized stacked bar and area charts](https://vega.github.io/vega-lite/docs/stack.html#normalized) and pie charts [with percentage tooltip](https://vega.github.io/vega-lite/docs/arc.html#tooltip)).
\n-`\"center\"` - stacking with center baseline (for [streamgraph](https://vega.github.io/vega-lite/docs/stack.html#streamgraph)).\n- `null` or `false` - No-stacking. This will produce layered [bar](https://vega.github.io/vega-lite/docs/stack.html#layered-bar-chart) and area chart.\n\n__Default value:__ `zero` for plots with all of the following conditions are true: (1) the mark is `bar`, `area`, or `arc`; (2) the stacked measure channel (x or y) has a linear scale; (3) At least one of non-position channels mapped to an unaggregated field that is different from x and y. Otherwise, `null` by default.\n\n__See also:__ [`stack`](https://vega.github.io/vega-lite/docs/stack.html) documentation." + "description": "Type of stacking offset if the field should be stacked. `stack` is only applicable for `x`, `y`, `theta`, and `radius` channels with continuous domains. For example, `stack` of `y` can be used to customize stacking for a vertical bar chart.\n\n`stack` can be one of the following values:\n- `\"zero\"` or `true`: stacking with baseline offset at zero value of the scale (for creating typical stacked [bar](https://vega.github.io/vega-lite/docs/stack.html#bar) and [area](https://vega.github.io/vega-lite/docs/stack.html#area) chart).\n- `\"normalize\"` - stacking with normalized domain (for creating [normalized stacked bar and area charts](https://vega.github.io/vega-lite/docs/stack.html#normalized).
\n-`\"center\"` - stacking with center baseline (for [streamgraph](https://vega.github.io/vega-lite/docs/stack.html#streamgraph)).\n- `null` or `false` - No-stacking. This will produce layered [bar](https://vega.github.io/vega-lite/docs/stack.html#layered-bar-chart) and area chart.\n\n__Default value:__ `zero` for plots with all of the following conditions are true: (1) the mark is `bar`, `area`, or `arc`; (2) the stacked measure channel (x or y) has a linear scale; (3) At least one of non-position channels mapped to an unaggregated field that is different from x and y. Otherwise, `null` by default.\n\n__See also:__ [`stack`](https://vega.github.io/vega-lite/docs/stack.html) documentation." }, "timeUnit": { "anyOf": [ @@ -25306,7 +25311,7 @@ "type": "number" }, "bin": { - "description": "A flag for binning a `quantitative` field, [an object defining binning parameters](https://vega.github.io/vega-lite/docs/bin.html#bin-parameters), or indicating that the data for `x` or `y` channel are binned before they are imported into Vega-Lite (`\"binned\"`).\n\n- If `true`, default [binning parameters](https://vega.github.io/vega-lite/docs/bin.html#bin-parameters) will be applied.\n\n- If `\"binned\"`, this indicates that the data for the `x` (or `y`) channel are already binned. You can map the bin-start field to `x` (or `y`) and the bin-end field to `x2` (or `y2`). The scale and axis will be formatted similar to binning in Vega-Lite. To adjust the axis ticks based on the bin step, you can also set the axis's [`tickMinStep`](https://vega.github.io/vega-lite/docs/axis.html#ticks) property.\n\n__Default value:__ `false`\n\n__See also:__ [`bin`](https://vega.github.io/vega-lite/docs/bin.html) documentation.", + "description": "A flag for binning a `quantitative` field, [an object defining binning parameters](https://vega.github.io/vega-lite/docs/bin.html#params), or indicating that the data for `x` or `y` channel are binned before they are imported into Vega-Lite (`\"binned\"`).\n\n- If `true`, default [binning parameters](https://vega.github.io/vega-lite/docs/bin.html) will be applied.\n\n- If `\"binned\"`, this indicates that the data for the `x` (or `y`) channel are already binned. You can map the bin-start field to `x` (or `y`) and the bin-end field to `x2` (or `y2`). The scale and axis will be formatted similar to binning in Vega-Lite. To adjust the axis ticks based on the bin step, you can also set the axis's [`tickMinStep`](https://vega.github.io/vega-lite/docs/axis.html#ticks) property.\n\n__Default value:__ `false`\n\n__See also:__ [`bin`](https://vega.github.io/vega-lite/docs/bin.html) documentation.", "type": "null" }, "datum": { @@ -25427,7 +25432,7 @@ "type": "null" } ], - "description": "A flag for binning a `quantitative` field, [an object defining binning parameters](https://vega.github.io/vega-lite/docs/bin.html#bin-parameters), or indicating that the data for `x` or `y` channel are binned before they are imported into Vega-Lite (`\"binned\"`).\n\n- If `true`, default [binning parameters](https://vega.github.io/vega-lite/docs/bin.html#bin-parameters) will be applied.\n\n- If `\"binned\"`, this indicates that the data for the `x` (or `y`) channel are already binned. You can map the bin-start field to `x` (or `y`) and the bin-end field to `x2` (or `y2`). The scale and axis will be formatted similar to binning in Vega-Lite. To adjust the axis ticks based on the bin step, you can also set the axis's [`tickMinStep`](https://vega.github.io/vega-lite/docs/axis.html#ticks) property.\n\n__Default value:__ `false`\n\n__See also:__ [`bin`](https://vega.github.io/vega-lite/docs/bin.html) documentation." + "description": "A flag for binning a `quantitative` field, [an object defining binning parameters](https://vega.github.io/vega-lite/docs/bin.html#params), or indicating that the data for `x` or `y` channel are binned before they are imported into Vega-Lite (`\"binned\"`).\n\n- If `true`, default [binning parameters](https://vega.github.io/vega-lite/docs/bin.html) will be applied.\n\n- If `\"binned\"`, this indicates that the data for the `x` (or `y`) channel are already binned. You can map the bin-start field to `x` (or `y`) and the bin-end field to `x2` (or `y2`). The scale and axis will be formatted similar to binning in Vega-Lite. To adjust the axis ticks based on the bin step, you can also set the axis's [`tickMinStep`](https://vega.github.io/vega-lite/docs/axis.html#ticks) property.\n\n__Default value:__ `false`\n\n__See also:__ [`bin`](https://vega.github.io/vega-lite/docs/bin.html) documentation." }, "condition": { "anyOf": [ @@ -25567,7 +25572,7 @@ "type": "null" } ], - "description": "A flag for binning a `quantitative` field, [an object defining binning parameters](https://vega.github.io/vega-lite/docs/bin.html#bin-parameters), or indicating that the data for `x` or `y` channel are binned before they are imported into Vega-Lite (`\"binned\"`).\n\n- If `true`, default [binning parameters](https://vega.github.io/vega-lite/docs/bin.html#bin-parameters) will be applied.\n\n- If `\"binned\"`, this indicates that the data for the `x` (or `y`) channel are already binned. You can map the bin-start field to `x` (or `y`) and the bin-end field to `x2` (or `y2`). The scale and axis will be formatted similar to binning in Vega-Lite. To adjust the axis ticks based on the bin step, you can also set the axis's [`tickMinStep`](https://vega.github.io/vega-lite/docs/axis.html#ticks) property.\n\n__Default value:__ `false`\n\n__See also:__ [`bin`](https://vega.github.io/vega-lite/docs/bin.html) documentation." + "description": "A flag for binning a `quantitative` field, [an object defining binning parameters](https://vega.github.io/vega-lite/docs/bin.html#params), or indicating that the data for `x` or `y` channel are binned before they are imported into Vega-Lite (`\"binned\"`).\n\n- If `true`, default [binning parameters](https://vega.github.io/vega-lite/docs/bin.html) will be applied.\n\n- If `\"binned\"`, this indicates that the data for the `x` (or `y`) channel are already binned. You can map the bin-start field to `x` (or `y`) and the bin-end field to `x2` (or `y2`). The scale and axis will be formatted similar to binning in Vega-Lite. To adjust the axis ticks based on the bin step, you can also set the axis's [`tickMinStep`](https://vega.github.io/vega-lite/docs/axis.html#ticks) property.\n\n__Default value:__ `false`\n\n__See also:__ [`bin`](https://vega.github.io/vega-lite/docs/bin.html) documentation." }, "datum": { "anyOf": [ @@ -25628,7 +25633,7 @@ "type": "boolean" } ], - "description": "Type of stacking offset if the field should be stacked. `stack` is only applicable for `x`, `y`, `theta`, and `radius` channels with continuous domains. For example, `stack` of `y` can be used to customize stacking for a vertical bar chart.\n\n`stack` can be one of the following values:\n- `\"zero\"` or `true`: stacking with baseline offset at zero value of the scale (for creating typical stacked [bar](https://vega.github.io/vega-lite/docs/stack.html#bar) and [area](https://vega.github.io/vega-lite/docs/stack.html#area) chart).\n- `\"normalize\"` - stacking with normalized domain (for creating [normalized stacked bar and area charts](https://vega.github.io/vega-lite/docs/stack.html#normalized) and pie charts [with percentage tooltip](https://vega.github.io/vega-lite/docs/arc.html#tooltip)).
\n-`\"center\"` - stacking with center baseline (for [streamgraph](https://vega.github.io/vega-lite/docs/stack.html#streamgraph)).\n- `null` or `false` - No-stacking. This will produce layered [bar](https://vega.github.io/vega-lite/docs/stack.html#layered-bar-chart) and area chart.\n\n__Default value:__ `zero` for plots with all of the following conditions are true: (1) the mark is `bar`, `area`, or `arc`; (2) the stacked measure channel (x or y) has a linear scale; (3) At least one of non-position channels mapped to an unaggregated field that is different from x and y. Otherwise, `null` by default.\n\n__See also:__ [`stack`](https://vega.github.io/vega-lite/docs/stack.html) documentation." + "description": "Type of stacking offset if the field should be stacked. `stack` is only applicable for `x`, `y`, `theta`, and `radius` channels with continuous domains. For example, `stack` of `y` can be used to customize stacking for a vertical bar chart.\n\n`stack` can be one of the following values:\n- `\"zero\"` or `true`: stacking with baseline offset at zero value of the scale (for creating typical stacked [bar](https://vega.github.io/vega-lite/docs/stack.html#bar) and [area](https://vega.github.io/vega-lite/docs/stack.html#area) chart).\n- `\"normalize\"` - stacking with normalized domain (for creating [normalized stacked bar and area charts](https://vega.github.io/vega-lite/docs/stack.html#normalized).
\n-`\"center\"` - stacking with center baseline (for [streamgraph](https://vega.github.io/vega-lite/docs/stack.html#streamgraph)).\n- `null` or `false` - No-stacking. This will produce layered [bar](https://vega.github.io/vega-lite/docs/stack.html#layered-bar-chart) and area chart.\n\n__Default value:__ `zero` for plots with all of the following conditions are true: (1) the mark is `bar`, `area`, or `arc`; (2) the stacked measure channel (x or y) has a linear scale; (3) At least one of non-position channels mapped to an unaggregated field that is different from x and y. Otherwise, `null` by default.\n\n__See also:__ [`stack`](https://vega.github.io/vega-lite/docs/stack.html) documentation." }, "timeUnit": { "anyOf": [ @@ -25701,7 +25706,7 @@ "type": "number" }, "bin": { - "description": "A flag for binning a `quantitative` field, [an object defining binning parameters](https://vega.github.io/vega-lite/docs/bin.html#bin-parameters), or indicating that the data for `x` or `y` channel are binned before they are imported into Vega-Lite (`\"binned\"`).\n\n- If `true`, default [binning parameters](https://vega.github.io/vega-lite/docs/bin.html#bin-parameters) will be applied.\n\n- If `\"binned\"`, this indicates that the data for the `x` (or `y`) channel are already binned. You can map the bin-start field to `x` (or `y`) and the bin-end field to `x2` (or `y2`). The scale and axis will be formatted similar to binning in Vega-Lite. To adjust the axis ticks based on the bin step, you can also set the axis's [`tickMinStep`](https://vega.github.io/vega-lite/docs/axis.html#ticks) property.\n\n__Default value:__ `false`\n\n__See also:__ [`bin`](https://vega.github.io/vega-lite/docs/bin.html) documentation.", + "description": "A flag for binning a `quantitative` field, [an object defining binning parameters](https://vega.github.io/vega-lite/docs/bin.html#params), or indicating that the data for `x` or `y` channel are binned before they are imported into Vega-Lite (`\"binned\"`).\n\n- If `true`, default [binning parameters](https://vega.github.io/vega-lite/docs/bin.html) will be applied.\n\n- If `\"binned\"`, this indicates that the data for the `x` (or `y`) channel are already binned. You can map the bin-start field to `x` (or `y`) and the bin-end field to `x2` (or `y2`). The scale and axis will be formatted similar to binning in Vega-Lite. To adjust the axis ticks based on the bin step, you can also set the axis's [`tickMinStep`](https://vega.github.io/vega-lite/docs/axis.html#ticks) property.\n\n__Default value:__ `false`\n\n__See also:__ [`bin`](https://vega.github.io/vega-lite/docs/bin.html) documentation.", "type": "null" }, "datum": { @@ -25787,7 +25792,7 @@ "type": "number" }, "bin": { - "description": "A flag for binning a `quantitative` field, [an object defining binning parameters](https://vega.github.io/vega-lite/docs/bin.html#bin-parameters), or indicating that the data for `x` or `y` channel are binned before they are imported into Vega-Lite (`\"binned\"`).\n\n- If `true`, default [binning parameters](https://vega.github.io/vega-lite/docs/bin.html#bin-parameters) will be applied.\n\n- If `\"binned\"`, this indicates that the data for the `x` (or `y`) channel are already binned. You can map the bin-start field to `x` (or `y`) and the bin-end field to `x2` (or `y2`). The scale and axis will be formatted similar to binning in Vega-Lite. To adjust the axis ticks based on the bin step, you can also set the axis's [`tickMinStep`](https://vega.github.io/vega-lite/docs/axis.html#ticks) property.\n\n__Default value:__ `false`\n\n__See also:__ [`bin`](https://vega.github.io/vega-lite/docs/bin.html) documentation.", + "description": "A flag for binning a `quantitative` field, [an object defining binning parameters](https://vega.github.io/vega-lite/docs/bin.html#params), or indicating that the data for `x` or `y` channel are binned before they are imported into Vega-Lite (`\"binned\"`).\n\n- If `true`, default [binning parameters](https://vega.github.io/vega-lite/docs/bin.html) will be applied.\n\n- If `\"binned\"`, this indicates that the data for the `x` (or `y`) channel are already binned. You can map the bin-start field to `x` (or `y`) and the bin-end field to `x2` (or `y2`). The scale and axis will be formatted similar to binning in Vega-Lite. To adjust the axis ticks based on the bin step, you can also set the axis's [`tickMinStep`](https://vega.github.io/vega-lite/docs/axis.html#ticks) property.\n\n__Default value:__ `false`\n\n__See also:__ [`bin`](https://vega.github.io/vega-lite/docs/bin.html) documentation.", "type": "null" }, "field": { @@ -25837,7 +25842,7 @@ "type": "number" }, "bin": { - "description": "A flag for binning a `quantitative` field, [an object defining binning parameters](https://vega.github.io/vega-lite/docs/bin.html#bin-parameters), or indicating that the data for `x` or `y` channel are binned before they are imported into Vega-Lite (`\"binned\"`).\n\n- If `true`, default [binning parameters](https://vega.github.io/vega-lite/docs/bin.html#bin-parameters) will be applied.\n\n- If `\"binned\"`, this indicates that the data for the `x` (or `y`) channel are already binned. You can map the bin-start field to `x` (or `y`) and the bin-end field to `x2` (or `y2`). The scale and axis will be formatted similar to binning in Vega-Lite. To adjust the axis ticks based on the bin step, you can also set the axis's [`tickMinStep`](https://vega.github.io/vega-lite/docs/axis.html#ticks) property.\n\n__Default value:__ `false`\n\n__See also:__ [`bin`](https://vega.github.io/vega-lite/docs/bin.html) documentation.", + "description": "A flag for binning a `quantitative` field, [an object defining binning parameters](https://vega.github.io/vega-lite/docs/bin.html#params), or indicating that the data for `x` or `y` channel are binned before they are imported into Vega-Lite (`\"binned\"`).\n\n- If `true`, default [binning parameters](https://vega.github.io/vega-lite/docs/bin.html) will be applied.\n\n- If `\"binned\"`, this indicates that the data for the `x` (or `y`) channel are already binned. You can map the bin-start field to `x` (or `y`) and the bin-end field to `x2` (or `y2`). The scale and axis will be formatted similar to binning in Vega-Lite. To adjust the axis ticks based on the bin step, you can also set the axis's [`tickMinStep`](https://vega.github.io/vega-lite/docs/axis.html#ticks) property.\n\n__Default value:__ `false`\n\n__See also:__ [`bin`](https://vega.github.io/vega-lite/docs/bin.html) documentation.", "type": "null" }, "field": { @@ -25898,7 +25903,7 @@ "type": "null" } ], - "description": "A flag for binning a `quantitative` field, [an object defining binning parameters](https://vega.github.io/vega-lite/docs/bin.html#bin-parameters), or indicating that the data for `x` or `y` channel are binned before they are imported into Vega-Lite (`\"binned\"`).\n\n- If `true`, default [binning parameters](https://vega.github.io/vega-lite/docs/bin.html#bin-parameters) will be applied.\n\n- If `\"binned\"`, this indicates that the data for the `x` (or `y`) channel are already binned. You can map the bin-start field to `x` (or `y`) and the bin-end field to `x2` (or `y2`). The scale and axis will be formatted similar to binning in Vega-Lite. To adjust the axis ticks based on the bin step, you can also set the axis's [`tickMinStep`](https://vega.github.io/vega-lite/docs/axis.html#ticks) property.\n\n__Default value:__ `false`\n\n__See also:__ [`bin`](https://vega.github.io/vega-lite/docs/bin.html) documentation." + "description": "A flag for binning a `quantitative` field, [an object defining binning parameters](https://vega.github.io/vega-lite/docs/bin.html#params), or indicating that the data for `x` or `y` channel are binned before they are imported into Vega-Lite (`\"binned\"`).\n\n- If `true`, default [binning parameters](https://vega.github.io/vega-lite/docs/bin.html) will be applied.\n\n- If `\"binned\"`, this indicates that the data for the `x` (or `y`) channel are already binned. You can map the bin-start field to `x` (or `y`) and the bin-end field to `x2` (or `y2`). The scale and axis will be formatted similar to binning in Vega-Lite. To adjust the axis ticks based on the bin step, you can also set the axis's [`tickMinStep`](https://vega.github.io/vega-lite/docs/axis.html#ticks) property.\n\n__Default value:__ `false`\n\n__See also:__ [`bin`](https://vega.github.io/vega-lite/docs/bin.html) documentation." }, "datum": { "anyOf": [ @@ -26018,7 +26023,7 @@ "type": "null" } ], - "description": "A flag for binning a `quantitative` field, [an object defining binning parameters](https://vega.github.io/vega-lite/docs/bin.html#bin-parameters), or indicating that the data for `x` or `y` channel are binned before they are imported into Vega-Lite (`\"binned\"`).\n\n- If `true`, default [binning parameters](https://vega.github.io/vega-lite/docs/bin.html#bin-parameters) will be applied.\n\n- If `\"binned\"`, this indicates that the data for the `x` (or `y`) channel are already binned. You can map the bin-start field to `x` (or `y`) and the bin-end field to `x2` (or `y2`). The scale and axis will be formatted similar to binning in Vega-Lite. To adjust the axis ticks based on the bin step, you can also set the axis's [`tickMinStep`](https://vega.github.io/vega-lite/docs/axis.html#ticks) property.\n\n__Default value:__ `false`\n\n__See also:__ [`bin`](https://vega.github.io/vega-lite/docs/bin.html) documentation." + "description": "A flag for binning a `quantitative` field, [an object defining binning parameters](https://vega.github.io/vega-lite/docs/bin.html#params), or indicating that the data for `x` or `y` channel are binned before they are imported into Vega-Lite (`\"binned\"`).\n\n- If `true`, default [binning parameters](https://vega.github.io/vega-lite/docs/bin.html) will be applied.\n\n- If `\"binned\"`, this indicates that the data for the `x` (or `y`) channel are already binned. You can map the bin-start field to `x` (or `y`) and the bin-end field to `x2` (or `y2`). The scale and axis will be formatted similar to binning in Vega-Lite. To adjust the axis ticks based on the bin step, you can also set the axis's [`tickMinStep`](https://vega.github.io/vega-lite/docs/axis.html#ticks) property.\n\n__Default value:__ `false`\n\n__See also:__ [`bin`](https://vega.github.io/vega-lite/docs/bin.html) documentation." }, "datum": { "anyOf": [ @@ -26079,7 +26084,7 @@ "type": "boolean" } ], - "description": "Type of stacking offset if the field should be stacked. `stack` is only applicable for `x`, `y`, `theta`, and `radius` channels with continuous domains. For example, `stack` of `y` can be used to customize stacking for a vertical bar chart.\n\n`stack` can be one of the following values:\n- `\"zero\"` or `true`: stacking with baseline offset at zero value of the scale (for creating typical stacked [bar](https://vega.github.io/vega-lite/docs/stack.html#bar) and [area](https://vega.github.io/vega-lite/docs/stack.html#area) chart).\n- `\"normalize\"` - stacking with normalized domain (for creating [normalized stacked bar and area charts](https://vega.github.io/vega-lite/docs/stack.html#normalized) and pie charts [with percentage tooltip](https://vega.github.io/vega-lite/docs/arc.html#tooltip)).
\n-`\"center\"` - stacking with center baseline (for [streamgraph](https://vega.github.io/vega-lite/docs/stack.html#streamgraph)).\n- `null` or `false` - No-stacking. This will produce layered [bar](https://vega.github.io/vega-lite/docs/stack.html#layered-bar-chart) and area chart.\n\n__Default value:__ `zero` for plots with all of the following conditions are true: (1) the mark is `bar`, `area`, or `arc`; (2) the stacked measure channel (x or y) has a linear scale; (3) At least one of non-position channels mapped to an unaggregated field that is different from x and y. Otherwise, `null` by default.\n\n__See also:__ [`stack`](https://vega.github.io/vega-lite/docs/stack.html) documentation." + "description": "Type of stacking offset if the field should be stacked. `stack` is only applicable for `x`, `y`, `theta`, and `radius` channels with continuous domains. For example, `stack` of `y` can be used to customize stacking for a vertical bar chart.\n\n`stack` can be one of the following values:\n- `\"zero\"` or `true`: stacking with baseline offset at zero value of the scale (for creating typical stacked [bar](https://vega.github.io/vega-lite/docs/stack.html#bar) and [area](https://vega.github.io/vega-lite/docs/stack.html#area) chart).\n- `\"normalize\"` - stacking with normalized domain (for creating [normalized stacked bar and area charts](https://vega.github.io/vega-lite/docs/stack.html#normalized).
\n-`\"center\"` - stacking with center baseline (for [streamgraph](https://vega.github.io/vega-lite/docs/stack.html#streamgraph)).\n- `null` or `false` - No-stacking. This will produce layered [bar](https://vega.github.io/vega-lite/docs/stack.html#layered-bar-chart) and area chart.\n\n__Default value:__ `zero` for plots with all of the following conditions are true: (1) the mark is `bar`, `area`, or `arc`; (2) the stacked measure channel (x or y) has a linear scale; (3) At least one of non-position channels mapped to an unaggregated field that is different from x and y. Otherwise, `null` by default.\n\n__See also:__ [`stack`](https://vega.github.io/vega-lite/docs/stack.html) documentation." }, "timeUnit": { "anyOf": [ @@ -26152,7 +26157,7 @@ "type": "number" }, "bin": { - "description": "A flag for binning a `quantitative` field, [an object defining binning parameters](https://vega.github.io/vega-lite/docs/bin.html#bin-parameters), or indicating that the data for `x` or `y` channel are binned before they are imported into Vega-Lite (`\"binned\"`).\n\n- If `true`, default [binning parameters](https://vega.github.io/vega-lite/docs/bin.html#bin-parameters) will be applied.\n\n- If `\"binned\"`, this indicates that the data for the `x` (or `y`) channel are already binned. You can map the bin-start field to `x` (or `y`) and the bin-end field to `x2` (or `y2`). The scale and axis will be formatted similar to binning in Vega-Lite. To adjust the axis ticks based on the bin step, you can also set the axis's [`tickMinStep`](https://vega.github.io/vega-lite/docs/axis.html#ticks) property.\n\n__Default value:__ `false`\n\n__See also:__ [`bin`](https://vega.github.io/vega-lite/docs/bin.html) documentation.", + "description": "A flag for binning a `quantitative` field, [an object defining binning parameters](https://vega.github.io/vega-lite/docs/bin.html#params), or indicating that the data for `x` or `y` channel are binned before they are imported into Vega-Lite (`\"binned\"`).\n\n- If `true`, default [binning parameters](https://vega.github.io/vega-lite/docs/bin.html) will be applied.\n\n- If `\"binned\"`, this indicates that the data for the `x` (or `y`) channel are already binned. You can map the bin-start field to `x` (or `y`) and the bin-end field to `x2` (or `y2`). The scale and axis will be formatted similar to binning in Vega-Lite. To adjust the axis ticks based on the bin step, you can also set the axis's [`tickMinStep`](https://vega.github.io/vega-lite/docs/axis.html#ticks) property.\n\n__Default value:__ `false`\n\n__See also:__ [`bin`](https://vega.github.io/vega-lite/docs/bin.html) documentation.", "type": "null" }, "datum": { @@ -26238,7 +26243,7 @@ "type": "number" }, "bin": { - "description": "A flag for binning a `quantitative` field, [an object defining binning parameters](https://vega.github.io/vega-lite/docs/bin.html#bin-parameters), or indicating that the data for `x` or `y` channel are binned before they are imported into Vega-Lite (`\"binned\"`).\n\n- If `true`, default [binning parameters](https://vega.github.io/vega-lite/docs/bin.html#bin-parameters) will be applied.\n\n- If `\"binned\"`, this indicates that the data for the `x` (or `y`) channel are already binned. You can map the bin-start field to `x` (or `y`) and the bin-end field to `x2` (or `y2`). The scale and axis will be formatted similar to binning in Vega-Lite. To adjust the axis ticks based on the bin step, you can also set the axis's [`tickMinStep`](https://vega.github.io/vega-lite/docs/axis.html#ticks) property.\n\n__Default value:__ `false`\n\n__See also:__ [`bin`](https://vega.github.io/vega-lite/docs/bin.html) documentation.", + "description": "A flag for binning a `quantitative` field, [an object defining binning parameters](https://vega.github.io/vega-lite/docs/bin.html#params), or indicating that the data for `x` or `y` channel are binned before they are imported into Vega-Lite (`\"binned\"`).\n\n- If `true`, default [binning parameters](https://vega.github.io/vega-lite/docs/bin.html) will be applied.\n\n- If `\"binned\"`, this indicates that the data for the `x` (or `y`) channel are already binned. You can map the bin-start field to `x` (or `y`) and the bin-end field to `x2` (or `y2`). The scale and axis will be formatted similar to binning in Vega-Lite. To adjust the axis ticks based on the bin step, you can also set the axis's [`tickMinStep`](https://vega.github.io/vega-lite/docs/axis.html#ticks) property.\n\n__Default value:__ `false`\n\n__See also:__ [`bin`](https://vega.github.io/vega-lite/docs/bin.html) documentation.", "type": "null" }, "field": { @@ -26288,7 +26293,7 @@ "type": "number" }, "bin": { - "description": "A flag for binning a `quantitative` field, [an object defining binning parameters](https://vega.github.io/vega-lite/docs/bin.html#bin-parameters), or indicating that the data for `x` or `y` channel are binned before they are imported into Vega-Lite (`\"binned\"`).\n\n- If `true`, default [binning parameters](https://vega.github.io/vega-lite/docs/bin.html#bin-parameters) will be applied.\n\n- If `\"binned\"`, this indicates that the data for the `x` (or `y`) channel are already binned. You can map the bin-start field to `x` (or `y`) and the bin-end field to `x2` (or `y2`). The scale and axis will be formatted similar to binning in Vega-Lite. To adjust the axis ticks based on the bin step, you can also set the axis's [`tickMinStep`](https://vega.github.io/vega-lite/docs/axis.html#ticks) property.\n\n__Default value:__ `false`\n\n__See also:__ [`bin`](https://vega.github.io/vega-lite/docs/bin.html) documentation.", + "description": "A flag for binning a `quantitative` field, [an object defining binning parameters](https://vega.github.io/vega-lite/docs/bin.html#params), or indicating that the data for `x` or `y` channel are binned before they are imported into Vega-Lite (`\"binned\"`).\n\n- If `true`, default [binning parameters](https://vega.github.io/vega-lite/docs/bin.html) will be applied.\n\n- If `\"binned\"`, this indicates that the data for the `x` (or `y`) channel are already binned. You can map the bin-start field to `x` (or `y`) and the bin-end field to `x2` (or `y2`). The scale and axis will be formatted similar to binning in Vega-Lite. To adjust the axis ticks based on the bin step, you can also set the axis's [`tickMinStep`](https://vega.github.io/vega-lite/docs/axis.html#ticks) property.\n\n__Default value:__ `false`\n\n__See also:__ [`bin`](https://vega.github.io/vega-lite/docs/bin.html) documentation.", "type": "null" }, "field": { @@ -26349,7 +26354,7 @@ "type": "null" } ], - "description": "A flag for binning a `quantitative` field, [an object defining binning parameters](https://vega.github.io/vega-lite/docs/bin.html#bin-parameters), or indicating that the data for `x` or `y` channel are binned before they are imported into Vega-Lite (`\"binned\"`).\n\n- If `true`, default [binning parameters](https://vega.github.io/vega-lite/docs/bin.html#bin-parameters) will be applied.\n\n- If `\"binned\"`, this indicates that the data for the `x` (or `y`) channel are already binned. You can map the bin-start field to `x` (or `y`) and the bin-end field to `x2` (or `y2`). The scale and axis will be formatted similar to binning in Vega-Lite. To adjust the axis ticks based on the bin step, you can also set the axis's [`tickMinStep`](https://vega.github.io/vega-lite/docs/axis.html#ticks) property.\n\n__Default value:__ `false`\n\n__See also:__ [`bin`](https://vega.github.io/vega-lite/docs/bin.html) documentation." + "description": "A flag for binning a `quantitative` field, [an object defining binning parameters](https://vega.github.io/vega-lite/docs/bin.html#params), or indicating that the data for `x` or `y` channel are binned before they are imported into Vega-Lite (`\"binned\"`).\n\n- If `true`, default [binning parameters](https://vega.github.io/vega-lite/docs/bin.html) will be applied.\n\n- If `\"binned\"`, this indicates that the data for the `x` (or `y`) channel are already binned. You can map the bin-start field to `x` (or `y`) and the bin-end field to `x2` (or `y2`). The scale and axis will be formatted similar to binning in Vega-Lite. To adjust the axis ticks based on the bin step, you can also set the axis's [`tickMinStep`](https://vega.github.io/vega-lite/docs/axis.html#ticks) property.\n\n__Default value:__ `false`\n\n__See also:__ [`bin`](https://vega.github.io/vega-lite/docs/bin.html) documentation." }, "datum": { "anyOf": [ @@ -26777,7 +26782,7 @@ "type": "null" } ], - "description": "A flag for binning a `quantitative` field, [an object defining binning parameters](https://vega.github.io/vega-lite/docs/bin.html#bin-parameters), or indicating that the data for `x` or `y` channel are binned before they are imported into Vega-Lite (`\"binned\"`).\n\n- If `true`, default [binning parameters](https://vega.github.io/vega-lite/docs/bin.html#bin-parameters) will be applied.\n\n- If `\"binned\"`, this indicates that the data for the `x` (or `y`) channel are already binned. You can map the bin-start field to `x` (or `y`) and the bin-end field to `x2` (or `y2`). The scale and axis will be formatted similar to binning in Vega-Lite. To adjust the axis ticks based on the bin step, you can also set the axis's [`tickMinStep`](https://vega.github.io/vega-lite/docs/axis.html#ticks) property.\n\n__Default value:__ `false`\n\n__See also:__ [`bin`](https://vega.github.io/vega-lite/docs/bin.html) documentation." + "description": "A flag for binning a `quantitative` field, [an object defining binning parameters](https://vega.github.io/vega-lite/docs/bin.html#params), or indicating that the data for `x` or `y` channel are binned before they are imported into Vega-Lite (`\"binned\"`).\n\n- If `true`, default [binning parameters](https://vega.github.io/vega-lite/docs/bin.html) will be applied.\n\n- If `\"binned\"`, this indicates that the data for the `x` (or `y`) channel are already binned. You can map the bin-start field to `x` (or `y`) and the bin-end field to `x2` (or `y2`). The scale and axis will be formatted similar to binning in Vega-Lite. To adjust the axis ticks based on the bin step, you can also set the axis's [`tickMinStep`](https://vega.github.io/vega-lite/docs/axis.html#ticks) property.\n\n__Default value:__ `false`\n\n__See also:__ [`bin`](https://vega.github.io/vega-lite/docs/bin.html) documentation." }, "field": { "$ref": "#/definitions/Field", @@ -28431,7 +28436,14 @@ "params": { "description": "Dynamic variables or selections that parameterize a visualization.", "items": { - "$ref": "#/definitions/TopLevelParameter" + "anyOf": [ + { + "$ref": "#/definitions/VariableParameter" + }, + { + "$ref": "#/definitions/TopLevelSelectionParameter" + } + ] }, "type": "array" }, @@ -28568,7 +28580,14 @@ "params": { "description": "Dynamic variables or selections that parameterize a visualization.", "items": { - "$ref": "#/definitions/TopLevelParameter" + "anyOf": [ + { + "$ref": "#/definitions/VariableParameter" + }, + { + "$ref": "#/definitions/TopLevelSelectionParameter" + } + ] }, "type": "array" }, @@ -28691,7 +28710,14 @@ "params": { "description": "Dynamic variables or selections that parameterize a visualization.", "items": { - "$ref": "#/definitions/TopLevelParameter" + "anyOf": [ + { + "$ref": "#/definitions/VariableParameter" + }, + { + "$ref": "#/definitions/TopLevelSelectionParameter" + } + ] }, "type": "array" }, @@ -28842,7 +28868,14 @@ "params": { "description": "Dynamic variables or selections that parameterize a visualization.", "items": { - "$ref": "#/definitions/TopLevelParameter" + "anyOf": [ + { + "$ref": "#/definitions/VariableParameter" + }, + { + "$ref": "#/definitions/TopLevelSelectionParameter" + } + ] }, "type": "array" }, @@ -29008,7 +29041,14 @@ "params": { "description": "Dynamic variables or selections that parameterize a visualization.", "items": { - "$ref": "#/definitions/TopLevelParameter" + "anyOf": [ + { + "$ref": "#/definitions/VariableParameter" + }, + { + "$ref": "#/definitions/TopLevelSelectionParameter" + } + ] }, "type": "array" }, @@ -29179,7 +29219,14 @@ "params": { "description": "Dynamic variables or selections that parameterize a visualization.", "items": { - "$ref": "#/definitions/TopLevelParameter" + "anyOf": [ + { + "$ref": "#/definitions/VariableParameter" + }, + { + "$ref": "#/definitions/TopLevelSelectionParameter" + } + ] }, "type": "array" }, @@ -29360,7 +29407,14 @@ "params": { "description": "Dynamic variables or selections that parameterize a visualization.", "items": { - "$ref": "#/definitions/TopLevelParameter" + "anyOf": [ + { + "$ref": "#/definitions/VariableParameter" + }, + { + "$ref": "#/definitions/TopLevelSelectionParameter" + } + ] }, "type": "array" }, @@ -29420,16 +29474,6 @@ ], "type": "object" }, - "TopLevelParameter": { - "anyOf": [ - { - "$ref": "#/definitions/VariableParameter" - }, - { - "$ref": "#/definitions/TopLevelSelectionParameter" - } - ] - }, "TopLevelSelectionParameter": { "additionalProperties": false, "properties": { @@ -29663,7 +29707,14 @@ "params": { "description": "An array of parameters that may either be simple variables, or more complex selections that map user input to data queries.", "items": { - "$ref": "#/definitions/TopLevelParameter" + "anyOf": [ + { + "$ref": "#/definitions/VariableParameter" + }, + { + "$ref": "#/definitions/SelectionParameter" + } + ] }, "type": "array" }, @@ -29871,7 +29922,7 @@ "type": "null" } ], - "description": "A flag for binning a `quantitative` field, [an object defining binning parameters](https://vega.github.io/vega-lite/docs/bin.html#bin-parameters), or indicating that the data for `x` or `y` channel are binned before they are imported into Vega-Lite (`\"binned\"`).\n\n- If `true`, default [binning parameters](https://vega.github.io/vega-lite/docs/bin.html#bin-parameters) will be applied.\n\n- If `\"binned\"`, this indicates that the data for the `x` (or `y`) channel are already binned. You can map the bin-start field to `x` (or `y`) and the bin-end field to `x2` (or `y2`). The scale and axis will be formatted similar to binning in Vega-Lite. To adjust the axis ticks based on the bin step, you can also set the axis's [`tickMinStep`](https://vega.github.io/vega-lite/docs/axis.html#ticks) property.\n\n__Default value:__ `false`\n\n__See also:__ [`bin`](https://vega.github.io/vega-lite/docs/bin.html) documentation." + "description": "A flag for binning a `quantitative` field, [an object defining binning parameters](https://vega.github.io/vega-lite/docs/bin.html#params), or indicating that the data for `x` or `y` channel are binned before they are imported into Vega-Lite (`\"binned\"`).\n\n- If `true`, default [binning parameters](https://vega.github.io/vega-lite/docs/bin.html) will be applied.\n\n- If `\"binned\"`, this indicates that the data for the `x` (or `y`) channel are already binned. You can map the bin-start field to `x` (or `y`) and the bin-end field to `x2` (or `y2`). The scale and axis will be formatted similar to binning in Vega-Lite. To adjust the axis ticks based on the bin step, you can also set the axis's [`tickMinStep`](https://vega.github.io/vega-lite/docs/axis.html#ticks) property.\n\n__Default value:__ `false`\n\n__See also:__ [`bin`](https://vega.github.io/vega-lite/docs/bin.html) documentation." }, "field": { "$ref": "#/definitions/Field", @@ -29962,7 +30013,14 @@ "params": { "description": "An array of parameters that may either be simple variables, or more complex selections that map user input to data queries.", "items": { - "$ref": "#/definitions/SelectionParameter" + "anyOf": [ + { + "$ref": "#/definitions/VariableParameter" + }, + { + "$ref": "#/definitions/SelectionParameter" + } + ] }, "type": "array" }, diff --git a/tools/generate_schema_wrapper.py b/tools/generate_schema_wrapper.py index 228281df4..4b9f2c942 100644 --- a/tools/generate_schema_wrapper.py +++ b/tools/generate_schema_wrapper.py @@ -26,8 +26,8 @@ # Map of version name to github branch name. SCHEMA_VERSION = { - "vega": {"v5": "v5.22.1"}, - "vega-lite": {"v3": "v3.4.0", "v4": "v4.17.0", "v5": "v5.5.0"}, + "vega": {"v5": "v5.21.0"}, + "vega-lite": {"v3": "v3.4.0", "v4": "v4.17.0", "v5": "v5.2.0"}, } reLink = re.compile(r"(?<=\[)([^\]]+)(?=\]\([^\)]+\))", re.M)