From 637820ada0c611d69d38fc019cd0e615a3f835d4 Mon Sep 17 00:00:00 2001 From: mattijn Date: Sun, 8 Jan 2023 20:12:29 +0100 Subject: [PATCH 01/14] restructure, put template code together --- tools/generate_schema_wrapper.py | 146 +++++++++++++++---------------- 1 file changed, 71 insertions(+), 75 deletions(-) diff --git a/tools/generate_schema_wrapper.py b/tools/generate_schema_wrapper.py index a073457f8..3c9244a15 100644 --- a/tools/generate_schema_wrapper.py +++ b/tools/generate_schema_wrapper.py @@ -28,46 +28,17 @@ SCHEMA_VERSION = { # Uncomment old vega-lite versions here when there are breaking changing # that we don't want to backport - "vega": {"v5": "v5.21.0"}, + "vega": {"v5": "v5.21.0"}, "vega-lite": {"v5": "v5.2.0"}, } reLink = re.compile(r"(?<=\[)([^\]]+)(?=\]\([^\)]+\))", re.M) reSpecial = re.compile(r"[*_]{2,3}|`", re.M) - -class SchemaGenerator(codegen.SchemaGenerator): - schema_class_template = textwrap.dedent( - ''' - class {classname}({basename}): - """{docstring}""" - _schema = {schema!r} - - {init_code} - ''' - ) - - def _process_description(self, description): - description = "".join( - [ - reSpecial.sub("", d) if i % 2 else d - for i, d in enumerate(reLink.split(description)) - ] - ) # remove formatting from links - description = m2r.convert(description) - description = description.replace(m2r.prolog, "") - description = description.replace(":raw-html-m2r:", ":raw-html:") - description = description.replace(r"\ ,", ",") - description = description.replace(r"\ ", " ") - # turn explicit references into anonymous references - description = description.replace(">`_", ">`__") - description += "\n" - return description.strip() - - -def schema_class(*args, **kwargs): - return SchemaGenerator(*args, **kwargs).schema_class() - +HEADER = """\ +# The contents of this file are automatically written by +# tools/generate_schema_wrapper.py. Do not modify directly. +""" SCHEMA_URL_TEMPLATE = "https://vega.github.io/schema/" "{library}/{version}.json" @@ -174,6 +145,72 @@ def to_dict(self, validate=True, ignore=(), context=None): context=context) """ +MARK_METHOD = ''' +def mark_{mark}({def_arglist}): + """Set the chart's mark to '{mark}' + + For information on additional arguments, see :class:`{mark_def}` + """ + kwds = dict({dict_arglist}) + copy = self.copy(deep=False) + if any(val is not Undefined for val in kwds.values()): + copy.mark = core.{mark_def}(type="{mark}", **kwds) + else: + copy.mark = "{mark}" + return copy +''' + +CONFIG_METHOD = """ +@use_signature(core.{classname}) +def {method}(self, *args, **kwargs): + copy = self.copy(deep=False) + copy.config = core.{classname}(*args, **kwargs) + return copy +""" + +CONFIG_PROP_METHOD = """ +@use_signature(core.{classname}) +def configure_{prop}(self, *args, **kwargs): + copy = self.copy(deep=['config']) + if copy.config is Undefined: + copy.config = core.Config() + copy.config["{prop}"] = core.{classname}(*args, **kwargs) + return copy +""" + + +class SchemaGenerator(codegen.SchemaGenerator): + schema_class_template = textwrap.dedent( + ''' + class {classname}({basename}): + """{docstring}""" + _schema = {schema!r} + + {init_code} + ''' + ) + + def _process_description(self, description): + description = "".join( + [ + reSpecial.sub("", d) if i % 2 else d + for i, d in enumerate(reLink.split(description)) + ] + ) # remove formatting from links + description = m2r.convert(description) + description = description.replace(m2r.prolog, "") + description = description.replace(":raw-html-m2r:", ":raw-html:") + description = description.replace(r"\ ,", ",") + description = description.replace(r"\ ", " ") + # turn explicit references into anonymous references + description = description.replace(">`_", ">`__") + description += "\n" + return description.strip() + + +def schema_class(*args, **kwargs): + return SchemaGenerator(*args, **kwargs).schema_class() + class FieldSchemaGenerator(SchemaGenerator): schema_class_template = textwrap.dedent( @@ -223,12 +260,6 @@ class {classname}(DatumChannelMixin, core.{basename}): ) -HEADER = """\ -# The contents of this file are automatically written by -# tools/generate_schema_wrapper.py. Do not modify directly. -""" - - def schema_url(library, version): version = SCHEMA_VERSION[library][version] return SCHEMA_URL_TEMPLATE.format(library=library, version=version) @@ -502,22 +533,6 @@ def generate_vegalite_channel_wrappers(schemafile, version, imports=None): return "\n".join(contents) -MARK_METHOD = ''' -def mark_{mark}({def_arglist}): - """Set the chart's mark to '{mark}' - - For information on additional arguments, see :class:`{mark_def}` - """ - kwds = dict({dict_arglist}) - copy = self.copy(deep=False) - if any(val is not Undefined for val in kwds.values()): - copy.mark = core.{mark_def}(type="{mark}", **kwds) - else: - copy.mark = "{mark}" - return copy -''' - - def generate_vegalite_mark_mixin(schemafile, markdefs): with open(schemafile, encoding="utf8") as f: schema = json.load(f) @@ -563,25 +578,6 @@ def generate_vegalite_mark_mixin(schemafile, markdefs): return imports, "\n".join(code) -CONFIG_METHOD = """ -@use_signature(core.{classname}) -def {method}(self, *args, **kwargs): - copy = self.copy(deep=False) - copy.config = core.{classname}(*args, **kwargs) - return copy -""" - -CONFIG_PROP_METHOD = """ -@use_signature(core.{classname}) -def configure_{prop}(self, *args, **kwargs): - copy = self.copy(deep=['config']) - if copy.config is Undefined: - copy.config = core.Config() - copy.config["{prop}"] = core.{classname}(*args, **kwargs) - return copy -""" - - def generate_vegalite_config_mixin(schemafile): imports = ["from . import core", "from altair.utils import use_signature"] code = [ From 92af2c656570576a6cda5460398437cf32ad9140 Mon Sep 17 00:00:00 2001 From: mattijn Date: Sun, 8 Jan 2023 20:52:06 +0100 Subject: [PATCH 02/14] remove vega5 schema generation wrapper code --- tools/generate_schema_wrapper.py | 82 ++------------------------------ 1 file changed, 4 insertions(+), 78 deletions(-) diff --git a/tools/generate_schema_wrapper.py b/tools/generate_schema_wrapper.py index 3c9244a15..e4b307375 100644 --- a/tools/generate_schema_wrapper.py +++ b/tools/generate_schema_wrapper.py @@ -26,9 +26,6 @@ # Map of version name to github branch name. SCHEMA_VERSION = { - # Uncomment old vega-lite versions here when there are breaking changing - # that we don't want to backport - "vega": {"v5": "v5.21.0"}, "vega-lite": {"v5": "v5.2.0"}, } @@ -208,10 +205,6 @@ def _process_description(self, description): return description.strip() -def schema_class(*args, **kwargs): - return SchemaGenerator(*args, **kwargs).schema_class() - - class FieldSchemaGenerator(SchemaGenerator): schema_class_template = textwrap.dedent( ''' @@ -260,6 +253,10 @@ class {classname}(DatumChannelMixin, core.{basename}): ) +def schema_class(*args, **kwargs): + return SchemaGenerator(*args, **kwargs).schema_class() + + def schema_url(library, version): version = SCHEMA_VERSION[library][version] return SCHEMA_URL_TEMPLATE.format(library=library, version=version) @@ -424,44 +421,6 @@ def generate_vegalite_schema_wrapper(schema_file): return "\n".join(contents) -def generate_vega_schema_wrapper(schema_file): - """Generate a schema wrapper at the given path.""" - # TODO: generate simple tests for each wrapper - basename = "VegaSchema" - - with open(schema_file, encoding="utf8") as f: - rootschema = json.load(f) - contents = [ - HEADER, - "from altair.utils.schemapi import SchemaBase, Undefined, _subclasses", - LOAD_SCHEMA.format(schemafile="vega-schema.json"), - ] - contents.append(BASE_SCHEMA.format(basename=basename)) - contents.append( - schema_class( - "Root", - schema=rootschema, - basename=basename, - schemarepr=CodeSnippet("{}._rootschema".format(basename)), - ) - ) - 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) - - def generate_vegalite_channel_wrappers(schemafile, version, imports=None): # TODO: generate __all__ for top of file with open(schemafile, encoding="utf8") as f: @@ -660,38 +619,6 @@ def vegalite_main(skip_download=False): f.write(config_mixin) -def vega_main(skip_download=False): - library = "vega" - - for version in SCHEMA_VERSION[library]: - path = abspath(join(dirname(__file__), "..", "altair", "vega", version)) - schemapath = os.path.join(path, "schema") - schemafile = download_schemafile( - library=library, - version=version, - schemapath=schemapath, - skip_download=skip_download, - ) - - # Generate __init__.py file - outfile = join(schemapath, "__init__.py") - print("Writing {}".format(outfile)) - with open(outfile, "w", encoding="utf8") as f: - f.write("# flake8: noqa\n") - f.write("from .core import *\n\n") - f.write( - "SCHEMA_VERSION = {!r}\n" "".format(SCHEMA_VERSION[library][version]) - ) - f.write("SCHEMA_URL = {!r}\n" "".format(schema_url(library, version))) - - # Generate the core schema wrappers - outfile = join(schemapath, "core.py") - print("Generating\n {}\n ->{}".format(schemafile, outfile)) - file_contents = generate_vega_schema_wrapper(schemafile) - with open(outfile, "w", encoding="utf8") as f: - f.write(file_contents) - - def main(): parser = argparse.ArgumentParser( prog="generate_schema_wrapper.py", description="Generate the Altair package." @@ -702,7 +629,6 @@ def main(): args = parser.parse_args() copy_schemapi_util() vegalite_main(args.skip_download) - vega_main(args.skip_download) generate_api_docs.write_api_file() From 3d440ba9092d0f8c52ba83f94586e7f053e30e17 Mon Sep 17 00:00:00 2001 From: mattijn Date: Sun, 8 Jan 2023 20:53:09 +0100 Subject: [PATCH 03/14] remove vega folder from altair --- altair/vega/__init__.py | 2 - altair/vega/data.py | 47 - altair/vega/display.py | 12 - altair/vega/v5/__init__.py | 14 - altair/vega/v5/data.py | 29 - altair/vega/v5/display.py | 110 - altair/vega/v5/schema/__init__.py | 5 - altair/vega/v5/schema/core.py | 3433 ----- altair/vega/v5/schema/vega-schema.json | 16275 ----------------------- 9 files changed, 19927 deletions(-) delete mode 100644 altair/vega/__init__.py delete mode 100644 altair/vega/data.py delete mode 100644 altair/vega/display.py delete mode 100644 altair/vega/v5/__init__.py delete mode 100644 altair/vega/v5/data.py delete mode 100644 altair/vega/v5/display.py delete mode 100644 altair/vega/v5/schema/__init__.py delete mode 100644 altair/vega/v5/schema/core.py delete mode 100644 altair/vega/v5/schema/vega-schema.json diff --git a/altair/vega/__init__.py b/altair/vega/__init__.py deleted file mode 100644 index eec9f692d..000000000 --- a/altair/vega/__init__.py +++ /dev/null @@ -1,2 +0,0 @@ -# flake8: noqa -from .v5 import * diff --git a/altair/vega/data.py b/altair/vega/data.py deleted file mode 100644 index 8ad01f3b5..000000000 --- a/altair/vega/data.py +++ /dev/null @@ -1,47 +0,0 @@ -import pandas as pd -from toolz import curried -from ..utils.core import sanitize_dataframe -from ..utils.data import ( - MaxRowsError, - curry, - pipe, - sample, - to_csv, - to_json, - to_values, - check_data_type, -) - - -@curried.curry -def limit_rows(data, max_rows=5000): - """Raise MaxRowsError if the data model has more than max_rows.""" - if not isinstance(data, (list, pd.DataFrame)): - raise TypeError("Expected dict or DataFrame, got: {}".format(type(data))) - if len(data) > max_rows: - raise MaxRowsError( - "The number of rows in your dataset is greater than the max of {}".format( - max_rows - ) - ) - return data - - -@curried.curry -def default_data_transformer(data): - return curried.pipe(data, limit_rows, to_values) - - -__all__ = ( - "MaxRowsError", - "curry", - "default_data_transformer", - "limit_rows", - "pipe", - "sanitize_dataframe", - "sample", - "to_csv", - "to_json", - "to_values", - "check_data_type", -) diff --git a/altair/vega/display.py b/altair/vega/display.py deleted file mode 100644 index adc3167ca..000000000 --- a/altair/vega/display.py +++ /dev/null @@ -1,12 +0,0 @@ -from ..utils.display import Displayable, default_renderer_base, json_renderer_base -from ..utils.display import MimeBundleType, RendererType, HTMLRenderer - - -__all__ = ( - "Displayable", - "default_renderer_base", - "json_renderer_base", - "MimeBundleType", - "RendererType", - "HTMLRenderer", -) diff --git a/altair/vega/v5/__init__.py b/altair/vega/v5/__init__.py deleted file mode 100644 index 39d36c1d6..000000000 --- a/altair/vega/v5/__init__.py +++ /dev/null @@ -1,14 +0,0 @@ -# flake8: noqa -from .display import vega, Vega, renderers -from .schema import * - -from .data import ( - pipe, - curry, - limit_rows, - sample, - to_json, - to_csv, - to_values, - default_data_transformer, -) diff --git a/altair/vega/v5/data.py b/altair/vega/v5/data.py deleted file mode 100644 index 78273363d..000000000 --- a/altair/vega/v5/data.py +++ /dev/null @@ -1,29 +0,0 @@ -from ..data import ( - MaxRowsError, - curry, - default_data_transformer, - limit_rows, - pipe, - sample, - to_csv, - to_json, - to_values, -) - - -# ============================================================================== -# Vega 5 data transformers -# ============================================================================== - - -__all__ = ( - "MaxRowsError", - "curry", - "default_data_transformer", - "limit_rows", - "pipe", - "sample", - "to_csv", - "to_json", - "to_values", -) diff --git a/altair/vega/v5/display.py b/altair/vega/v5/display.py deleted file mode 100644 index 3e7f39a60..000000000 --- a/altair/vega/v5/display.py +++ /dev/null @@ -1,110 +0,0 @@ -import os - -from ...utils import PluginRegistry -from ..display import Displayable -from ..display import default_renderer_base -from ..display import json_renderer_base -from ..display import RendererType -from ..display import HTMLRenderer - -from .schema import SCHEMA_VERSION - -VEGA_VERSION = SCHEMA_VERSION.lstrip("v") -VEGAEMBED_VERSION = "3" - - -# ============================================================================== -# Vega 5 renderer logic -# ============================================================================== - - -# The MIME type for Vega 5 releases. -VEGA_MIME_TYPE = "application/vnd.vega.v5+json" # type: str - -# The entry point group that can be used by other packages to declare other -# renderers that will be auto-detected. Explicit registration is also -# allowed by the PluginRegistery API. -ENTRY_POINT_GROUP = "altair.vega.v5.renderer" # type: str - -# The display message when rendering fails -DEFAULT_DISPLAY = """\ - - -If you see this message, it means the renderer has not been properly enabled -for the frontend that you are using. For more information, see -https://altair-viz.github.io/user_guide/troubleshooting.html -""" - -renderers = PluginRegistry[RendererType](entry_point_group=ENTRY_POINT_GROUP) - - -here = os.path.dirname(os.path.realpath(__file__)) - - -def default_renderer(spec): - return default_renderer_base(spec, VEGA_MIME_TYPE, DEFAULT_DISPLAY) - - -def json_renderer(spec): - return json_renderer_base(spec, DEFAULT_DISPLAY) - - -colab_renderer = HTMLRenderer( - mode="vega", - fullhtml=True, - requirejs=False, - output_div="altair-viz", - vega_version=VEGA_VERSION, - vegaembed_version=VEGAEMBED_VERSION, -) - - -kaggle_renderer = HTMLRenderer( - mode="vega", - fullhtml=False, - requirejs=True, - vega_version=VEGA_VERSION, - vegaembed_version=VEGAEMBED_VERSION, -) - - -html_renderer = HTMLRenderer( - mode="vega", - template="universal", - vega_version=VEGA_VERSION, - vegaembed_version=VEGAEMBED_VERSION, -) - - -renderers.register("default", default_renderer) -renderers.register("html", html_renderer) -renderers.register("jupyterlab", default_renderer) -renderers.register("nteract", default_renderer) -renderers.register("colab", colab_renderer) -renderers.register("kaggle", kaggle_renderer) -renderers.register("json", json_renderer) -renderers.enable("default") - - -class Vega(Displayable): - """An IPython/Jupyter display class for rendering Vega 5.""" - - renderers = renderers - schema_path = (__name__, "schema/vega-schema.json") - - -def vega(spec, validate=True): - """Render and optionally validate a Vega 5 spec. - - This will use the currently enabled renderer to render the spec. - - Parameters - ========== - spec: dict - A fully compliant Vega 5 spec, with the data portion fully processed. - validate: bool - Should the spec be validated against the Vega 5 schema? - """ - from IPython.display import display - - display(Vega(spec, validate=validate)) diff --git a/altair/vega/v5/schema/__init__.py b/altair/vega/v5/schema/__init__.py deleted file mode 100644 index ad8394df3..000000000 --- a/altair/vega/v5/schema/__init__.py +++ /dev/null @@ -1,5 +0,0 @@ -# flake8: noqa -from .core import * - -SCHEMA_VERSION = 'v5.21.0' -SCHEMA_URL = 'https://vega.github.io/schema/vega/v5.21.0.json' diff --git a/altair/vega/v5/schema/core.py b/altair/vega/v5/schema/core.py deleted file mode 100644 index 29714f972..000000000 --- a/altair/vega/v5/schema/core.py +++ /dev/null @@ -1,3433 +0,0 @@ -# The contents of this file are automatically written by -# tools/generate_schema_wrapper.py. Do not modify directly. - -from altair.utils.schemapi import SchemaBase, Undefined, _subclasses - -import pkgutil -import json - -def load_schema(): - """Load the json schema associated with this module's functions""" - return json.loads(pkgutil.get_data(__name__, 'vega-schema.json').decode('utf-8')) - - -class VegaSchema(SchemaBase): - _rootschema = load_schema() - @classmethod - def _default_wrapper_classes(cls): - return _subclasses(VegaSchema) - - -class Root(VegaSchema): - """Root schema wrapper - - allOf(:class:`scope`, Mapping(required=[])) - """ - _schema = VegaSchema._rootschema - - def __init__(self, autosize=Undefined, axes=Undefined, background=Undefined, config=Undefined, - data=Undefined, description=Undefined, encode=Undefined, height=Undefined, - layout=Undefined, legends=Undefined, marks=Undefined, padding=Undefined, - projections=Undefined, scales=Undefined, signals=Undefined, style=Undefined, - title=Undefined, usermeta=Undefined, width=Undefined, **kwds): - super(Root, self).__init__(autosize=autosize, axes=axes, background=background, config=config, - data=data, description=description, encode=encode, height=height, - layout=layout, legends=legends, marks=marks, padding=padding, - projections=projections, scales=scales, signals=signals, style=style, - title=title, usermeta=usermeta, width=width, **kwds) - - -class autosize(VegaSchema): - """autosize schema wrapper - - oneOf(enum('pad', 'fit', 'fit-x', 'fit-y', 'none'), Mapping(required=[type]), - :class:`signalRef`) - """ - _schema = {'$ref': '#/definitions/autosize'} - - def __init__(self, *args, **kwds): - super(autosize, self).__init__(*args, **kwds) - - -class axis(VegaSchema): - """axis schema wrapper - - Mapping(required=[orient, scale]) - - Attributes - ---------- - - 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`) - - domainDashOffset : oneOf(float, :class:`numberValue`) - - domainOpacity : oneOf(float, :class:`numberValue`) - - domainWidth : oneOf(float, :class:`numberValue`) - - encode : Mapping(required=[]) - - format : oneOf(string, Mapping(required=[]), :class:`signalRef`) - - 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`) - - gridDashOffset : oneOf(float, :class:`numberValue`) - - gridOpacity : oneOf(float, :class:`numberValue`) - - gridScale : string - - gridWidth : oneOf(float, :class:`numberValue`) - - labelAlign : oneOf(enum('left', 'right', 'center'), :class:`alignValue`) - - labelAngle : oneOf(float, :class:`numberValue`) - - labelBaseline : oneOf(enum('top', 'middle', 'bottom', 'alphabetic', 'line-top', 'line-bottom'), :class:`baselineValue`) - - labelBound : oneOf(boolean, float, :class:`signalRef`) - - labelColor : oneOf(None, string, :class:`colorValue`) - - labelFlush : oneOf(boolean, float, :class:`signalRef`) - - labelFlushOffset : :class:`numberOrSignal` - - labelFont : oneOf(string, :class:`stringValue`) - - labelFontSize : oneOf(float, :class:`numberValue`) - - labelFontStyle : oneOf(string, :class:`stringValue`) - - labelFontWeight : oneOf(enum(None, 'normal', 'bold', 'lighter', 'bolder', '100', '200', '300', '400', '500', '600', '700', '800', '900', 100, 200, 300, 400, 500, 600, 700, 800, 900), :class:`fontWeightValue`) - - labelLimit : oneOf(float, :class:`numberValue`) - - labelLineHeight : oneOf(float, :class:`numberValue`) - - labelOffset : oneOf(float, :class:`numberValue`) - - labelOpacity : oneOf(float, :class:`numberValue`) - - labelOverlap : :class:`labelOverlap` - - labelPadding : oneOf(float, :class:`numberValue`) - - labelSeparation : :class:`numberOrSignal` - - labels : boolean - - maxExtent : oneOf(float, :class:`numberValue`) - - minExtent : oneOf(float, :class:`numberValue`) - - offset : oneOf(float, :class:`numberValue`) - - position : oneOf(float, :class:`numberValue`) - - tickBand : :class:`tickBand` - - tickCap : oneOf(string, :class:`stringValue`) - - tickColor : oneOf(None, string, :class:`colorValue`) - - tickCount : :class:`tickCount` - - tickDash : oneOf(List(float), :class:`arrayValue`) - - tickDashOffset : oneOf(float, :class:`numberValue`) - - tickExtra : :class:`booleanOrSignal` - - tickMinStep : :class:`numberOrSignal` - - tickOffset : oneOf(float, :class:`numberValue`) - - tickOpacity : oneOf(float, :class:`numberValue`) - - tickRound : oneOf(boolean, :class:`booleanValue`) - - tickSize : oneOf(float, :class:`numberValue`) - - tickWidth : oneOf(float, :class:`numberValue`) - - ticks : boolean - - title : :class:`textOrSignal` - - titleAlign : oneOf(enum('left', 'right', 'center'), :class:`alignValue`) - - titleAnchor : oneOf(enum(None, 'start', 'middle', 'end'), :class:`anchorValue`) - - titleAngle : oneOf(float, :class:`numberValue`) - - titleBaseline : oneOf(enum('top', 'middle', 'bottom', 'alphabetic', 'line-top', 'line-bottom'), :class:`baselineValue`) - - titleColor : oneOf(None, string, :class:`colorValue`) - - titleFont : oneOf(string, :class:`stringValue`) - - titleFontSize : oneOf(float, :class:`numberValue`) - - titleFontStyle : oneOf(string, :class:`stringValue`) - - titleFontWeight : oneOf(enum(None, 'normal', 'bold', 'lighter', 'bolder', '100', '200', '300', '400', '500', '600', '700', '800', '900', 100, 200, 300, 400, 500, 600, 700, 800, 900), :class:`fontWeightValue`) - - titleLimit : oneOf(float, :class:`numberValue`) - - titleLineHeight : oneOf(float, :class:`numberValue`) - - titleOpacity : oneOf(float, :class:`numberValue`) - - titlePadding : oneOf(float, :class:`numberValue`) - - titleX : oneOf(float, :class:`numberValue`) - - titleY : oneOf(float, :class:`numberValue`) - - translate : oneOf(float, :class:`numberValue`) - - values : :class:`arrayOrSignal` - - zindex : float - - """ - _schema = {'$ref': '#/definitions/axis'} - - 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, - labelFlush=Undefined, labelFlushOffset=Undefined, labelFont=Undefined, - labelFontSize=Undefined, labelFontStyle=Undefined, labelFontWeight=Undefined, - 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, 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, 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, - labelLineHeight=labelLineHeight, labelOffset=labelOffset, - labelOpacity=labelOpacity, labelOverlap=labelOverlap, - labelPadding=labelPadding, labelSeparation=labelSeparation, - labels=labels, maxExtent=maxExtent, minExtent=minExtent, - offset=offset, position=position, tickBand=tickBand, tickCap=tickCap, - tickColor=tickColor, tickCount=tickCount, tickDash=tickDash, - tickDashOffset=tickDashOffset, tickExtra=tickExtra, - tickMinStep=tickMinStep, tickOffset=tickOffset, - tickOpacity=tickOpacity, tickRound=tickRound, tickSize=tickSize, - tickWidth=tickWidth, ticks=ticks, title=title, titleAlign=titleAlign, - titleAnchor=titleAnchor, titleAngle=titleAngle, - titleBaseline=titleBaseline, titleColor=titleColor, - titleFont=titleFont, titleFontSize=titleFontSize, - titleFontStyle=titleFontStyle, titleFontWeight=titleFontWeight, - titleLimit=titleLimit, titleLineHeight=titleLineHeight, - titleOpacity=titleOpacity, titlePadding=titlePadding, titleX=titleX, - titleY=titleY, translate=translate, values=values, zindex=zindex, - **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:`signalRef`) - """ - _schema = {'$ref': '#/definitions/background'} - - def __init__(self, *args, **kwds): - super(background, self).__init__(*args, **kwds) - - -class bind(VegaSchema): - """bind schema wrapper - - oneOf(Mapping(required=[input]), Mapping(required=[input, options]), - Mapping(required=[input]), Mapping(required=[input]), Mapping(required=[element])) - """ - _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': '#/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 - - Mapping(required=[]) - - Attributes - ---------- - - test : string - - """ - _schema = {'$ref': '#/definitions/rule'} - - def __init__(self, test=Undefined, **kwds): - super(rule, self).__init__(test=test, **kwds) - - -class encodeEntry(VegaSchema): - """encodeEntry schema wrapper - - Mapping(required=[]) - - Attributes - ---------- - - align : :class:`alignValue` - - angle : :class:`numberValue` - - aria : :class:`booleanValue` - - ariaRole : :class:`stringValue` - - ariaRoleDescription : :class:`stringValue` - - aspect : :class:`booleanValue` - - baseline : :class:`baselineValue` - - blend : :class:`blendValue` - - clip : :class:`booleanValue` - - cornerRadius : :class:`numberValue` - - cornerRadiusBottomLeft : :class:`numberValue` - - cornerRadiusBottomRight : :class:`numberValue` - - cornerRadiusTopLeft : :class:`numberValue` - - cornerRadiusTopRight : :class:`numberValue` - - cursor : :class:`stringValue` - - defined : :class:`booleanValue` - - description : :class:`stringValue` - - dir : :class:`stringValue` - - dx : :class:`numberValue` - - dy : :class:`numberValue` - - ellipsis : :class:`stringValue` - - endAngle : :class:`numberValue` - - fill : :class:`colorValue` - - fillOpacity : :class:`numberValue` - - font : :class:`stringValue` - - fontSize : :class:`numberValue` - - fontStyle : :class:`stringValue` - - fontWeight : :class:`fontWeightValue` - - height : :class:`numberValue` - - innerRadius : :class:`numberValue` - - interpolate : :class:`stringValue` - - limit : :class:`numberValue` - - lineBreak : :class:`stringValue` - - lineHeight : :class:`numberValue` - - opacity : :class:`numberValue` - - orient : :class:`directionValue` - - outerRadius : :class:`numberValue` - - padAngle : :class:`numberValue` - - path : :class:`stringValue` - - radius : :class:`numberValue` - - scaleX : :class:`numberValue` - - scaleY : :class:`numberValue` - - shape : :class:`stringValue` - - size : :class:`numberValue` - - smooth : :class:`booleanValue` - - startAngle : :class:`numberValue` - - stroke : :class:`colorValue` - - strokeCap : :class:`strokeCapValue` - - strokeDash : :class:`arrayValue` - - strokeDashOffset : :class:`numberValue` - - strokeForeground : :class:`booleanValue` - - strokeJoin : :class:`strokeJoinValue` - - strokeMiterLimit : :class:`numberValue` - - strokeOffset : :class:`numberValue` - - strokeOpacity : :class:`numberValue` - - strokeWidth : :class:`numberValue` - - tension : :class:`numberValue` - - text : :class:`textValue` - - theta : :class:`numberValue` - - tooltip : :class:`anyValue` - - url : :class:`stringValue` - - width : :class:`numberValue` - - x : :class:`numberValue` - - x2 : :class:`numberValue` - - xc : :class:`numberValue` - - y : :class:`numberValue` - - y2 : :class:`numberValue` - - yc : :class:`numberValue` - - zindex : :class:`numberValue` - - """ - _schema = {'$ref': '#/definitions/encodeEntry'} - - 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, - lineHeight=Undefined, opacity=Undefined, orient=Undefined, outerRadius=Undefined, - padAngle=Undefined, path=Undefined, radius=Undefined, scaleX=Undefined, - scaleY=Undefined, shape=Undefined, size=Undefined, smooth=Undefined, - startAngle=Undefined, stroke=Undefined, strokeCap=Undefined, strokeDash=Undefined, - strokeDashOffset=Undefined, strokeForeground=Undefined, strokeJoin=Undefined, - strokeMiterLimit=Undefined, strokeOffset=Undefined, strokeOpacity=Undefined, - 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, 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, 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, - strokeMiterLimit=strokeMiterLimit, strokeOffset=strokeOffset, - strokeOpacity=strokeOpacity, strokeWidth=strokeWidth, - tension=tension, text=text, theta=theta, tooltip=tooltip, - url=url, width=width, x=x, x2=x2, xc=xc, y=y, y2=y2, yc=yc, - zindex=zindex, **kwds) - - -class encode(VegaSchema): - """encode schema wrapper - - Mapping(required=[]) - """ - _schema = {'$ref': '#/definitions/encode'} - - def __init__(self, **kwds): - super(encode, self).__init__(**kwds) - - -class field(VegaSchema): - """field schema wrapper - - oneOf(string, :class:`signalRef`, Mapping(required=[datum]), Mapping(required=[group]), - Mapping(required=[parent])) - """ - _schema = {'$ref': '#/definitions/field'} - - def __init__(self, *args, **kwds): - super(field, self).__init__(*args, **kwds) - - -class stringModifiers(VegaSchema): - """stringModifiers schema wrapper - - Mapping(required=[]) - - Attributes - ---------- - - scale : :class:`field` - - """ - _schema = {'$ref': '#/definitions/stringModifiers'} - - def __init__(self, scale=Undefined, **kwds): - super(stringModifiers, self).__init__(scale=scale, **kwds) - - -class numberModifiers(VegaSchema): - """numberModifiers schema wrapper - - Mapping(required=[]) - - Attributes - ---------- - - band : oneOf(float, boolean) - - exponent : oneOf(float, :class:`numberValue`) - - extra : boolean - - mult : oneOf(float, :class:`numberValue`) - - offset : oneOf(float, :class:`numberValue`) - - round : boolean - - scale : :class:`field` - - """ - _schema = {'$ref': '#/definitions/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) - - -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': '#/definitions/anyValue'} - - def __init__(self, *args, **kwds): - super(anyValue, self).__init__(*args, **kwds) - - -class blendValue(VegaSchema): - """blendValue 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': '#/definitions/blendValue'} - - def __init__(self, *args, **kwds): - super(blendValue, self).__init__(*args, **kwds) - - -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': '#/definitions/numberValue'} - - def __init__(self, *args, **kwds): - super(numberValue, self).__init__(*args, **kwds) - - -class stringValue(VegaSchema): - """stringValue 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': '#/definitions/stringValue'} - - def __init__(self, *args, **kwds): - super(stringValue, self).__init__(*args, **kwds) - - -class textValue(VegaSchema): - """textValue 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': '#/definitions/textValue'} - - def __init__(self, *args, **kwds): - super(textValue, self).__init__(*args, **kwds) - - -class booleanValue(VegaSchema): - """booleanValue 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': '#/definitions/booleanValue'} - - def __init__(self, *args, **kwds): - super(booleanValue, self).__init__(*args, **kwds) - - -class arrayValue(VegaSchema): - """arrayValue 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': '#/definitions/arrayValue'} - - def __init__(self, *args, **kwds): - super(arrayValue, self).__init__(*args, **kwds) - - -class fontWeightValue(VegaSchema): - """fontWeightValue 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': '#/definitions/fontWeightValue'} - - def __init__(self, *args, **kwds): - super(fontWeightValue, self).__init__(*args, **kwds) - - -class anchorValue(VegaSchema): - """anchorValue 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': '#/definitions/anchorValue'} - - def __init__(self, *args, **kwds): - super(anchorValue, self).__init__(*args, **kwds) - - -class alignValue(VegaSchema): - """alignValue 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': '#/definitions/alignValue'} - - def __init__(self, *args, **kwds): - super(alignValue, self).__init__(*args, **kwds) - - -class baselineValue(VegaSchema): - """baselineValue 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': '#/definitions/baselineValue'} - - def __init__(self, *args, **kwds): - super(baselineValue, self).__init__(*args, **kwds) - - -class directionValue(VegaSchema): - """directionValue 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': '#/definitions/directionValue'} - - def __init__(self, *args, **kwds): - super(directionValue, self).__init__(*args, **kwds) - - -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': '#/definitions/orientValue'} - - def __init__(self, *args, **kwds): - super(orientValue, self).__init__(*args, **kwds) - - -class strokeCapValue(VegaSchema): - """strokeCapValue 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': '#/definitions/strokeCapValue'} - - def __init__(self, *args, **kwds): - super(strokeCapValue, self).__init__(*args, **kwds) - - -class strokeJoinValue(VegaSchema): - """strokeJoinValue 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': '#/definitions/strokeJoinValue'} - - def __init__(self, *args, **kwds): - super(strokeJoinValue, self).__init__(*args, **kwds) - - -class baseColorValue(VegaSchema): - """baseColorValue schema wrapper - - 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'} - - def __init__(self, *args, **kwds): - super(baseColorValue, self).__init__(*args, **kwds) - - -class colorRGB(VegaSchema): - """colorRGB schema wrapper - - Mapping(required=[r, g, b]) - - Attributes - ---------- - - b : :class:`numberValue` - - g : :class:`numberValue` - - r : :class:`numberValue` - - """ - _schema = {'$ref': '#/definitions/colorRGB'} - - def __init__(self, b=Undefined, g=Undefined, r=Undefined, **kwds): - super(colorRGB, self).__init__(b=b, g=g, r=r, **kwds) - - -class colorHSL(VegaSchema): - """colorHSL schema wrapper - - Mapping(required=[h, s, l]) - - Attributes - ---------- - - h : :class:`numberValue` - - l : :class:`numberValue` - - s : :class:`numberValue` - - """ - _schema = {'$ref': '#/definitions/colorHSL'} - - def __init__(self, h=Undefined, l=Undefined, s=Undefined, **kwds): - super(colorHSL, self).__init__(h=h, l=l, s=s, **kwds) - - -class colorLAB(VegaSchema): - """colorLAB schema wrapper - - Mapping(required=[l, a, b]) - - Attributes - ---------- - - a : :class:`numberValue` - - b : :class:`numberValue` - - l : :class:`numberValue` - - """ - _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 colorHCL(VegaSchema): - """colorHCL schema wrapper - - Mapping(required=[h, c, l]) - - Attributes - ---------- - - c : :class:`numberValue` - - h : :class:`numberValue` - - l : :class:`numberValue` - - """ - _schema = {'$ref': '#/definitions/colorHCL'} - - def __init__(self, c=Undefined, h=Undefined, l=Undefined, **kwds): - super(colorHCL, self).__init__(c=c, h=h, l=l, **kwds) - - -class colorValue(VegaSchema): - """colorValue schema wrapper - - oneOf(List(allOf(:class:`rule`, :class:`baseColorValue`)), :class:`baseColorValue`) - """ - _schema = {'$ref': '#/definitions/colorValue'} - - def __init__(self, *args, **kwds): - super(colorValue, self).__init__(*args, **kwds) - - -class gradientStops(VegaSchema): - """gradientStops schema wrapper - - List(Mapping(required=[offset, color])) - """ - _schema = {'$ref': '#/definitions/gradientStops'} - - def __init__(self, *args): - super(gradientStops, self).__init__(*args) - - -class linearGradient(VegaSchema): - """linearGradient schema wrapper - - Mapping(required=[gradient, stops]) - - Attributes - ---------- - - gradient : enum('linear') - - stops : :class:`gradientStops` - - id : string - - x1 : float - - x2 : float - - y1 : float - - y2 : float - - """ - _schema = {'$ref': '#/definitions/linearGradient'} - - 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 radialGradient(VegaSchema): - """radialGradient schema wrapper - - Mapping(required=[gradient, stops]) - - Attributes - ---------- - - gradient : enum('radial') - - stops : :class:`gradientStops` - - id : string - - r1 : float - - r2 : float - - x1 : float - - x2 : float - - y1 : float - - y2 : float - - """ - _schema = {'$ref': '#/definitions/radialGradient'} - - 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 expr(VegaSchema): - """expr schema wrapper - - Mapping(required=[expr]) - - Attributes - ---------- - - expr : string - - as : string - - """ - _schema = {'$ref': '#/definitions/expr'} - - def __init__(self, expr=Undefined, **kwds): - super(expr, self).__init__(expr=expr, **kwds) - - -class exprString(VegaSchema): - """exprString schema wrapper - - string - """ - _schema = {'$ref': '#/definitions/exprString'} - - def __init__(self, *args): - super(exprString, self).__init__(*args) - - -class layout(VegaSchema): - """layout schema wrapper - - 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 - ---------- - - interactive : boolean - - name : string - - style : :class:`style` - - """ - _schema = {'$ref': '#/definitions/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 - - 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': '#/definitions/legend'} - - 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 compare(VegaSchema): - """compare schema wrapper - - oneOf(Mapping(required=[]), Mapping(required=[])) - """ - _schema = {'$ref': '#/definitions/compare'} - - def __init__(self, *args, **kwds): - super(compare, self).__init__(*args, **kwds) - - -class from_(VegaSchema): - """from_ schema wrapper - - Mapping(required=[]) - - Attributes - ---------- - - data : string - - """ - _schema = {'$ref': '#/definitions/from'} - - def __init__(self, data=Undefined, **kwds): - super(from_, self).__init__(data=data, **kwds) - - -class facet(VegaSchema): - """facet schema wrapper - - Mapping(required=[facet]) - - Attributes - ---------- - - facet : oneOf(Mapping(required=[name, data, field]), Mapping(required=[name, data, groupby])) - - data : string - - """ - _schema = {'$ref': '#/definitions/facet'} - - def __init__(self, facet=Undefined, data=Undefined, **kwds): - super(facet, self).__init__(facet=facet, data=data, **kwds) - - -class mark(VegaSchema): - """mark schema wrapper - - Mapping(required=[type]) - - Attributes - ---------- - - type : :class:`marktype` - - aria : boolean - - clip : :class:`markclip` - - description : string - - encode : :class:`encode` - - interactive : :class:`booleanOrSignal` - - key : string - - name : string - - on : :class:`onMarkTrigger` - - role : string - - sort : :class:`compare` - - style : :class:`style` - - transform : List(:class:`transformMark`) - - """ - _schema = {'$ref': '#/definitions/mark'} - - 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 markclip(VegaSchema): - """markclip schema wrapper - - oneOf(:class:`booleanOrSignal`, Mapping(required=[path]), Mapping(required=[sphere])) - """ - _schema = {'$ref': '#/definitions/markclip'} - - def __init__(self, *args, **kwds): - super(markclip, self).__init__(*args, **kwds) - - -class markGroup(VegaSchema): - """markGroup schema wrapper - - 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) - - -class markVisual(VegaSchema): - """markVisual schema wrapper - - allOf(Mapping(required=[]), :class:`mark`) - """ - _schema = {'$ref': '#/definitions/markVisual'} - - 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 style(VegaSchema): - """style schema wrapper - - oneOf(string, List(string)) - """ - _schema = {'$ref': '#/definitions/style'} - - def __init__(self, *args, **kwds): - super(style, self).__init__(*args, **kwds) - - -class marktype(VegaSchema): - """marktype schema wrapper - - string - """ - _schema = {'$ref': '#/definitions/marktype'} - - def __init__(self, *args): - super(marktype, self).__init__(*args) - - -class listener(VegaSchema): - """listener schema wrapper - - oneOf(:class:`signalRef`, Mapping(required=[scale]), :class:`stream`) - """ - _schema = {'$ref': '#/definitions/listener'} - - def __init__(self, *args, **kwds): - super(listener, self).__init__(*args, **kwds) - - -class onEvents(VegaSchema): - """onEvents schema wrapper - - List(allOf(Mapping(required=[events]), oneOf(Mapping(required=[encode]), - Mapping(required=[update])))) - """ - _schema = {'$ref': '#/definitions/onEvents'} - - def __init__(self, *args): - super(onEvents, self).__init__(*args) - - -class onTrigger(VegaSchema): - """onTrigger schema wrapper - - List(Mapping(required=[trigger])) - """ - _schema = {'$ref': '#/definitions/onTrigger'} - - def __init__(self, *args): - super(onTrigger, self).__init__(*args) - - -class onMarkTrigger(VegaSchema): - """onMarkTrigger schema wrapper - - List(Mapping(required=[trigger])) - """ - _schema = {'$ref': '#/definitions/onMarkTrigger'} - - def __init__(self, *args): - super(onMarkTrigger, self).__init__(*args) - - -class padding(VegaSchema): - """padding schema wrapper - - oneOf(float, Mapping(required=[]), :class:`signalRef`) - """ - _schema = {'$ref': '#/definitions/padding'} - - def __init__(self, *args, **kwds): - super(padding, self).__init__(*args, **kwds) - - -class projection(VegaSchema): - """projection schema wrapper - - Mapping(required=[name]) - - Attributes - ---------- - - name : string - - center : oneOf(List(:class:`numberOrSignal`), :class:`signalRef`) - - clipAngle : :class:`numberOrSignal` - - clipExtent : oneOf(List(oneOf(List(:class:`numberOrSignal`), :class:`signalRef`)), :class:`signalRef`) - - extent : oneOf(List(oneOf(List(:class:`numberOrSignal`), :class:`signalRef`)), :class:`signalRef`) - - fit : oneOf(Mapping(required=[]), List(Any)) - - parallels : oneOf(List(:class:`numberOrSignal`), :class:`signalRef`) - - pointRadius : :class:`numberOrSignal` - - precision : :class:`numberOrSignal` - - rotate : oneOf(List(:class:`numberOrSignal`), :class:`signalRef`) - - scale : :class:`numberOrSignal` - - size : oneOf(List(:class:`numberOrSignal`), :class:`signalRef`) - - translate : oneOf(List(:class:`numberOrSignal`), :class:`signalRef`) - - type : :class:`stringOrSignal` - - """ - _schema = {'$ref': '#/definitions/projection'} - - 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) - - -class scale(VegaSchema): - """scale 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])) - """ - _schema = {'$ref': '#/definitions/scale'} - - def __init__(self, *args, **kwds): - super(scale, self).__init__(*args, **kwds) - - -class scaleField(VegaSchema): - """scaleField schema wrapper - - oneOf(string, :class:`signalRef`) - """ - _schema = {'$ref': '#/definitions/scaleField'} - - def __init__(self, *args, **kwds): - super(scaleField, self).__init__(*args, **kwds) - - -class sortOrder(VegaSchema): - """sortOrder schema wrapper - - oneOf(enum('ascending', 'descending'), :class:`signalRef`) - """ - _schema = {'$ref': '#/definitions/sortOrder'} - - def __init__(self, *args, **kwds): - super(sortOrder, self).__init__(*args, **kwds) - - -class scaleBins(VegaSchema): - """scaleBins schema wrapper - - oneOf(List(:class:`numberOrSignal`), Mapping(required=[step]), :class:`signalRef`) - """ - _schema = {'$ref': '#/definitions/scaleBins'} - - def __init__(self, *args, **kwds): - super(scaleBins, self).__init__(*args, **kwds) - - -class scaleInterpolate(VegaSchema): - """scaleInterpolate schema wrapper - - oneOf(string, :class:`signalRef`, Mapping(required=[type])) - """ - _schema = {'$ref': '#/definitions/scaleInterpolate'} - - def __init__(self, *args, **kwds): - super(scaleInterpolate, self).__init__(*args, **kwds) - - -class scaleData(VegaSchema): - """scaleData schema wrapper - - oneOf(Mapping(required=[data, field]), Mapping(required=[data, fields]), - Mapping(required=[fields])) - """ - _schema = {'$ref': '#/definitions/scaleData'} - - def __init__(self, *args, **kwds): - super(scaleData, self).__init__(*args, **kwds) - - -class scope(VegaSchema): - """scope schema wrapper - - Mapping(required=[]) - - Attributes - ---------- - - axes : List(:class:`axis`) - - data : List(:class:`data`) - - encode : :class:`encode` - - layout : :class:`layout` - - legends : List(:class:`legend`) - - marks : List(oneOf(:class:`markGroup`, :class:`markVisual`)) - - projections : List(:class:`projection`) - - scales : List(:class:`scale`) - - signals : List(:class:`signal`) - - title : :class:`title` - - usermeta : Mapping(required=[]) - - """ - _schema = {'$ref': '#/definitions/scope'} - - 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) - - -class selector(VegaSchema): - """selector schema wrapper - - string - """ - _schema = {'$ref': '#/definitions/selector'} - - def __init__(self, *args): - super(selector, self).__init__(*args) - - -class signal(VegaSchema): - """signal schema wrapper - - oneOf(Mapping(required=[name, push]), Mapping(required=[name]), Mapping(required=[name, - init])) - """ - _schema = {'$ref': '#/definitions/signal'} - - def __init__(self, *args, **kwds): - super(signal, self).__init__(*args, **kwds) - - -class signalName(VegaSchema): - """signalName schema wrapper - - not enum('parent', 'datum', 'event', 'item') - """ - _schema = {'$ref': '#/definitions/signalName'} - - def __init__(self, *args): - super(signalName, self).__init__(*args) - - -class signalRef(VegaSchema): - """signalRef schema wrapper - - Mapping(required=[signal]) - - Attributes - ---------- - - signal : string - - """ - _schema = {'$ref': '#/definitions/signalRef'} - - def __init__(self, signal=Undefined, **kwds): - super(signalRef, self).__init__(signal=signal, **kwds) - - -class arrayOrSignal(VegaSchema): - """arrayOrSignal schema wrapper - - oneOf(List(Any), :class:`signalRef`) - """ - _schema = {'$ref': '#/definitions/arrayOrSignal'} - - def __init__(self, *args, **kwds): - super(arrayOrSignal, self).__init__(*args, **kwds) - - -class booleanOrSignal(VegaSchema): - """booleanOrSignal schema wrapper - - oneOf(boolean, :class:`signalRef`) - """ - _schema = {'$ref': '#/definitions/booleanOrSignal'} - - def __init__(self, *args, **kwds): - super(booleanOrSignal, self).__init__(*args, **kwds) - - -class numberOrSignal(VegaSchema): - """numberOrSignal schema wrapper - - oneOf(float, :class:`signalRef`) - """ - _schema = {'$ref': '#/definitions/numberOrSignal'} - - def __init__(self, *args, **kwds): - super(numberOrSignal, self).__init__(*args, **kwds) - - -class stringOrSignal(VegaSchema): - """stringOrSignal schema wrapper - - oneOf(string, :class:`signalRef`) - """ - _schema = {'$ref': '#/definitions/stringOrSignal'} - - def __init__(self, *args, **kwds): - super(stringOrSignal, self).__init__(*args, **kwds) - - -class textOrSignal(VegaSchema): - """textOrSignal schema wrapper - - oneOf(oneOf(string, List(string)), :class:`signalRef`) - """ - _schema = {'$ref': '#/definitions/textOrSignal'} - - def __init__(self, *args, **kwds): - super(textOrSignal, self).__init__(*args, **kwds) - - -class stream(VegaSchema): - """stream schema wrapper - - allOf(Mapping(required=[]), oneOf(Mapping(required=[type]), Mapping(required=[stream]), - Mapping(required=[merge]))) - """ - _schema = {'$ref': '#/definitions/stream'} - - 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) - - -class title(VegaSchema): - """title schema wrapper - - oneOf(string, Mapping(required=[])) - """ - _schema = {'$ref': '#/definitions/title'} - - def __init__(self, *args, **kwds): - super(title, self).__init__(*args, **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:`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'} - - def __init__(self, *args, **kwds): - super(transform, self).__init__(*args, **kwds) - - -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': '#/definitions/transformMark'} - - def __init__(self, *args, **kwds): - super(transformMark, self).__init__(*args, **kwds) - - -class crossfilterTransform(VegaSchema): - """crossfilterTransform schema wrapper - - Mapping(required=[type, fields, query]) - - Attributes - ---------- - - fields : oneOf(List(oneOf(:class:`scaleField`, :class:`paramField`, :class:`expr`)), :class:`signalRef`) - - query : oneOf(List(Any), :class:`signalRef`) - - type : enum('crossfilter') - - signal : string - - """ - _schema = {'$ref': '#/definitions/crossfilterTransform'} - - 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 resolvefilterTransform(VegaSchema): - """resolvefilterTransform schema wrapper - - Mapping(required=[type, ignore, filter]) - - Attributes - ---------- - - filter : Any - - ignore : anyOf(float, :class:`signalRef`) - - type : enum('resolvefilter') - - signal : string - - """ - _schema = {'$ref': '#/definitions/resolvefilterTransform'} - - 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 linkpathTransform(VegaSchema): - """linkpathTransform schema wrapper - - Mapping(required=[type]) - - Attributes - ---------- - - type : enum('linkpath') - - orient : anyOf(enum('horizontal', 'vertical', 'radial'), :class:`signalRef`) - - require : :class:`signalRef` - - shape : anyOf(enum('line', 'arc', 'curve', 'diagonal', 'orthogonal'), :class:`signalRef`) - - signal : string - - sourceX : oneOf(:class:`scaleField`, :class:`paramField`, :class:`expr`) - - sourceY : oneOf(:class:`scaleField`, :class:`paramField`, :class:`expr`) - - targetX : oneOf(:class:`scaleField`, :class:`paramField`, :class:`expr`) - - targetY : oneOf(:class:`scaleField`, :class:`paramField`, :class:`expr`) - - as : anyOf(string, :class:`signalRef`) - - """ - _schema = {'$ref': '#/definitions/linkpathTransform'} - - 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) - - -class pieTransform(VegaSchema): - """pieTransform schema wrapper - - Mapping(required=[type]) - - Attributes - ---------- - - type : enum('pie') - - endAngle : anyOf(float, :class:`signalRef`) - - field : oneOf(:class:`scaleField`, :class:`paramField`, :class:`expr`) - - signal : string - - sort : anyOf(boolean, :class:`signalRef`) - - startAngle : anyOf(float, :class:`signalRef`) - - as : oneOf(List(anyOf(string, :class:`signalRef`)), :class:`signalRef`) - - """ - _schema = {'$ref': '#/definitions/pieTransform'} - - 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 stackTransform(VegaSchema): - """stackTransform schema wrapper - - Mapping(required=[type]) - - Attributes - ---------- - - type : enum('stack') - - field : oneOf(:class:`scaleField`, :class:`paramField`, :class:`expr`) - - groupby : oneOf(List(oneOf(:class:`scaleField`, :class:`paramField`, :class:`expr`)), :class:`signalRef`) - - offset : anyOf(enum('zero', 'center', 'normalize'), :class:`signalRef`) - - signal : string - - sort : :class:`compare` - - as : oneOf(List(anyOf(string, :class:`signalRef`)), :class:`signalRef`) - - """ - _schema = {'$ref': '#/definitions/stackTransform'} - - 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 forceTransform(VegaSchema): - """forceTransform schema wrapper - - Mapping(required=[type]) - - Attributes - ---------- - - type : enum('force') - - alpha : anyOf(float, :class:`signalRef`) - - alphaMin : anyOf(float, :class:`signalRef`) - - alphaTarget : anyOf(float, :class:`signalRef`) - - forces : List(oneOf(Mapping(required=[force]), Mapping(required=[force]), Mapping(required=[force]), Mapping(required=[force]), Mapping(required=[force]), Mapping(required=[force]))) - - iterations : anyOf(float, :class:`signalRef`) - - restart : anyOf(boolean, :class:`signalRef`) - - signal : string - - static : anyOf(boolean, :class:`signalRef`) - - velocityDecay : anyOf(float, :class:`signalRef`) - - as : oneOf(List(anyOf(string, :class:`signalRef`)), :class:`signalRef`) - - """ - _schema = {'$ref': '#/definitions/forceTransform'} - - 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 contourTransform(VegaSchema): - """contourTransform schema wrapper - - Mapping(required=[type, size]) - - Attributes - ---------- - - size : oneOf(List(anyOf(float, :class:`signalRef`)), :class:`signalRef`) - - type : enum('contour') - - bandwidth : anyOf(float, :class:`signalRef`) - - cellSize : anyOf(float, :class:`signalRef`) - - count : anyOf(float, :class:`signalRef`) - - nice : anyOf(boolean, :class:`signalRef`) - - signal : string - - 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': '#/definitions/contourTransform'} - - 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 geojsonTransform(VegaSchema): - """geojsonTransform schema wrapper - - Mapping(required=[type]) - - Attributes - ---------- - - type : enum('geojson') - - fields : oneOf(List(oneOf(:class:`scaleField`, :class:`paramField`, :class:`expr`)), :class:`signalRef`) - - geojson : oneOf(:class:`scaleField`, :class:`paramField`, :class:`expr`) - - signal : string - - """ - _schema = {'$ref': '#/definitions/geojsonTransform'} - - 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) - - -class geopathTransform(VegaSchema): - """geopathTransform schema wrapper - - Mapping(required=[type]) - - Attributes - ---------- - - type : enum('geopath') - - field : oneOf(:class:`scaleField`, :class:`paramField`, :class:`expr`) - - pointRadius : anyOf(float, :class:`signalRef`, :class:`expr`, :class:`paramField`) - - projection : string - - signal : string - - as : anyOf(string, :class:`signalRef`) - - """ - _schema = {'$ref': '#/definitions/geopathTransform'} - - 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 geopointTransform(VegaSchema): - """geopointTransform schema wrapper - - Mapping(required=[type, projection, fields]) - - Attributes - ---------- - - fields : oneOf(List(oneOf(:class:`scaleField`, :class:`paramField`, :class:`expr`)), :class:`signalRef`) - - projection : string - - type : enum('geopoint') - - signal : string - - as : oneOf(List(anyOf(string, :class:`signalRef`)), :class:`signalRef`) - - """ - _schema = {'$ref': '#/definitions/geopointTransform'} - - 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 geoshapeTransform(VegaSchema): - """geoshapeTransform schema wrapper - - Mapping(required=[type]) - - Attributes - ---------- - - type : enum('geoshape') - - field : oneOf(:class:`scaleField`, :class:`paramField`, :class:`expr`) - - pointRadius : anyOf(float, :class:`signalRef`, :class:`expr`, :class:`paramField`) - - projection : string - - signal : string - - as : anyOf(string, :class:`signalRef`) - - """ - _schema = {'$ref': '#/definitions/geoshapeTransform'} - - 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 graticuleTransform(VegaSchema): - """graticuleTransform schema wrapper - - Mapping(required=[type]) - - Attributes - ---------- - - type : enum('graticule') - - 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 - - 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': '#/definitions/graticuleTransform'} - - 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 heatmapTransform(VegaSchema): - """heatmapTransform schema wrapper - - Mapping(required=[type]) - - Attributes - ---------- - - type : enum('heatmap') - - color : anyOf(string, :class:`signalRef`, :class:`expr`, :class:`paramField`) - - field : oneOf(:class:`scaleField`, :class:`paramField`, :class:`expr`) - - opacity : anyOf(float, :class:`signalRef`, :class:`expr`, :class:`paramField`) - - resolve : anyOf(enum('shared', 'independent'), :class:`signalRef`) - - signal : string - - as : anyOf(string, :class:`signalRef`) - - """ - _schema = {'$ref': '#/definitions/heatmapTransform'} - - 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 isocontourTransform(VegaSchema): - """isocontourTransform schema wrapper - - Mapping(required=[type]) - - Attributes - ---------- - - type : enum('isocontour') - - field : oneOf(:class:`scaleField`, :class:`paramField`, :class:`expr`) - - levels : anyOf(float, :class:`signalRef`) - - 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:`signalRef`) - - thresholds : oneOf(List(anyOf(float, :class:`signalRef`)), :class:`signalRef`) - - translate : oneOf(List(anyOf(float, :class:`signalRef`, :class:`expr`, :class:`paramField`)), :class:`signalRef`) - - zero : anyOf(boolean, :class:`signalRef`) - - as : anyOf(string, :class:`signalRef`, None) - - """ - _schema = {'$ref': '#/definitions/isocontourTransform'} - - 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 kde2dTransform(VegaSchema): - """kde2dTransform schema wrapper - - Mapping(required=[type, size, x, y]) - - Attributes - ---------- - - size : oneOf(List(anyOf(float, :class:`signalRef`)), :class:`signalRef`) - - type : enum('kde2d') - - x : oneOf(:class:`scaleField`, :class:`paramField`, :class:`expr`) - - y : oneOf(:class:`scaleField`, :class:`paramField`, :class:`expr`) - - bandwidth : oneOf(List(anyOf(float, :class:`signalRef`)), :class:`signalRef`) - - cellSize : anyOf(float, :class:`signalRef`) - - counts : anyOf(boolean, :class:`signalRef`) - - groupby : oneOf(List(oneOf(:class:`scaleField`, :class:`paramField`, :class:`expr`)), :class:`signalRef`) - - signal : string - - weight : oneOf(:class:`scaleField`, :class:`paramField`, :class:`expr`) - - as : anyOf(string, :class:`signalRef`) - - """ - _schema = {'$ref': '#/definitions/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 nestTransform(VegaSchema): - """nestTransform schema wrapper - - Mapping(required=[type]) - - Attributes - ---------- - - type : enum('nest') - - generate : anyOf(boolean, :class:`signalRef`) - - keys : oneOf(List(oneOf(:class:`scaleField`, :class:`paramField`, :class:`expr`)), :class:`signalRef`) - - signal : string - - """ - _schema = {'$ref': '#/definitions/nestTransform'} - - 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 packTransform(VegaSchema): - """packTransform schema wrapper - - Mapping(required=[type]) - - Attributes - ---------- - - type : enum('pack') - - field : oneOf(:class:`scaleField`, :class:`paramField`, :class:`expr`) - - padding : anyOf(float, :class:`signalRef`) - - radius : oneOf(:class:`scaleField`, :class:`paramField`, :class:`expr`) - - signal : string - - size : oneOf(List(anyOf(float, :class:`signalRef`)), :class:`signalRef`) - - sort : :class:`compare` - - as : oneOf(List(anyOf(string, :class:`signalRef`)), :class:`signalRef`) - - """ - _schema = {'$ref': '#/definitions/packTransform'} - - 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 partitionTransform(VegaSchema): - """partitionTransform schema wrapper - - Mapping(required=[type]) - - Attributes - ---------- - - type : enum('partition') - - field : oneOf(:class:`scaleField`, :class:`paramField`, :class:`expr`) - - padding : anyOf(float, :class:`signalRef`) - - round : anyOf(boolean, :class:`signalRef`) - - signal : string - - size : oneOf(List(anyOf(float, :class:`signalRef`)), :class:`signalRef`) - - sort : :class:`compare` - - as : oneOf(List(anyOf(string, :class:`signalRef`)), :class:`signalRef`) - - """ - _schema = {'$ref': '#/definitions/partitionTransform'} - - 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 stratifyTransform(VegaSchema): - """stratifyTransform schema wrapper - - Mapping(required=[type, key, parentKey]) - - Attributes - ---------- - - key : oneOf(:class:`scaleField`, :class:`paramField`, :class:`expr`) - - parentKey : oneOf(:class:`scaleField`, :class:`paramField`, :class:`expr`) - - type : enum('stratify') - - signal : string - - """ - _schema = {'$ref': '#/definitions/stratifyTransform'} - - 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 treeTransform(VegaSchema): - """treeTransform schema wrapper - - Mapping(required=[type]) - - Attributes - ---------- - - type : enum('tree') - - field : oneOf(:class:`scaleField`, :class:`paramField`, :class:`expr`) - - method : anyOf(enum('tidy', 'cluster'), :class:`signalRef`) - - nodeSize : oneOf(List(anyOf(float, :class:`signalRef`)), :class:`signalRef`) - - separation : anyOf(boolean, :class:`signalRef`) - - signal : string - - size : oneOf(List(anyOf(float, :class:`signalRef`)), :class:`signalRef`) - - sort : :class:`compare` - - as : oneOf(List(anyOf(string, :class:`signalRef`)), :class:`signalRef`) - - """ - _schema = {'$ref': '#/definitions/treeTransform'} - - 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 treelinksTransform(VegaSchema): - """treelinksTransform schema wrapper - - Mapping(required=[type]) - - Attributes - ---------- - - type : enum('treelinks') - - signal : string - - """ - _schema = {'$ref': '#/definitions/treelinksTransform'} - - def __init__(self, type=Undefined, signal=Undefined, **kwds): - super(treelinksTransform, self).__init__(type=type, signal=signal, **kwds) - - -class treemapTransform(VegaSchema): - """treemapTransform schema wrapper - - Mapping(required=[type]) - - Attributes - ---------- - - type : enum('treemap') - - field : oneOf(:class:`scaleField`, :class:`paramField`, :class:`expr`) - - method : anyOf(enum('squarify', 'resquarify', 'binary', 'dice', 'slice', 'slicedice'), :class:`signalRef`) - - padding : anyOf(float, :class:`signalRef`) - - paddingBottom : anyOf(float, :class:`signalRef`) - - paddingInner : anyOf(float, :class:`signalRef`) - - paddingLeft : anyOf(float, :class:`signalRef`) - - paddingOuter : anyOf(float, :class:`signalRef`) - - paddingRight : anyOf(float, :class:`signalRef`) - - paddingTop : anyOf(float, :class:`signalRef`) - - ratio : anyOf(float, :class:`signalRef`) - - round : anyOf(boolean, :class:`signalRef`) - - signal : string - - size : oneOf(List(anyOf(float, :class:`signalRef`)), :class:`signalRef`) - - sort : :class:`compare` - - as : oneOf(List(anyOf(string, :class:`signalRef`)), :class:`signalRef`) - - """ - _schema = {'$ref': '#/definitions/treemapTransform'} - - 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 labelTransform(VegaSchema): - """labelTransform schema wrapper - - Mapping(required=[type, size]) - - Attributes - ---------- - - size : oneOf(List(anyOf(float, :class:`signalRef`)), :class:`signalRef`) - - type : enum('label') - - anchor : oneOf(List(anyOf(string, :class:`signalRef`)), :class:`signalRef`) - - avoidBaseMark : anyOf(boolean, :class:`signalRef`) - - avoidMarks : oneOf(List(string), :class:`signalRef`) - - lineAnchor : anyOf(string, :class:`signalRef`) - - markIndex : anyOf(float, :class:`signalRef`) - - method : anyOf(string, :class:`signalRef`) - - offset : oneOf(List(anyOf(float, :class:`signalRef`)), :class:`signalRef`) - - padding : anyOf(float, :class:`signalRef`, None) - - signal : string - - sort : :class:`compare` - - as : oneOf(List(anyOf(string, :class:`signalRef`)), :class:`signalRef`) - - """ - _schema = {'$ref': '#/definitions/labelTransform'} - - 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 loessTransform(VegaSchema): - """loessTransform schema wrapper - - Mapping(required=[type, x, y]) - - Attributes - ---------- - - type : enum('loess') - - x : oneOf(:class:`scaleField`, :class:`paramField`, :class:`expr`) - - y : oneOf(:class:`scaleField`, :class:`paramField`, :class:`expr`) - - bandwidth : anyOf(float, :class:`signalRef`) - - groupby : oneOf(List(oneOf(:class:`scaleField`, :class:`paramField`, :class:`expr`)), :class:`signalRef`) - - signal : string - - as : oneOf(List(anyOf(string, :class:`signalRef`)), :class:`signalRef`) - - """ - _schema = {'$ref': '#/definitions/loessTransform'} - - 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 regressionTransform(VegaSchema): - """regressionTransform schema wrapper - - Mapping(required=[type, x, y]) - - Attributes - ---------- - - type : enum('regression') - - x : oneOf(:class:`scaleField`, :class:`paramField`, :class:`expr`) - - y : oneOf(:class:`scaleField`, :class:`paramField`, :class:`expr`) - - extent : oneOf(List(anyOf(float, :class:`signalRef`)), :class:`signalRef`) - - groupby : oneOf(List(oneOf(:class:`scaleField`, :class:`paramField`, :class:`expr`)), :class:`signalRef`) - - method : anyOf(string, :class:`signalRef`) - - order : anyOf(float, :class:`signalRef`) - - params : anyOf(boolean, :class:`signalRef`) - - signal : string - - as : oneOf(List(anyOf(string, :class:`signalRef`)), :class:`signalRef`) - - """ - _schema = {'$ref': '#/definitions/regressionTransform'} - - 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 aggregateTransform(VegaSchema): - """aggregateTransform schema wrapper - - Mapping(required=[type]) - - Attributes - ---------- - - type : enum('aggregate') - - cross : anyOf(boolean, :class:`signalRef`) - - drop : anyOf(boolean, :class:`signalRef`) - - fields : oneOf(List(oneOf(:class:`scaleField`, :class:`paramField`, :class:`expr`, None)), :class:`signalRef`) - - groupby : oneOf(List(oneOf(:class:`scaleField`, :class:`paramField`, :class:`expr`)), :class:`signalRef`) - - 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`) - - signal : string - - as : oneOf(List(anyOf(string, :class:`signalRef`, None)), :class:`signalRef`) - - """ - _schema = {'$ref': '#/definitions/aggregateTransform'} - - 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 binTransform(VegaSchema): - """binTransform schema wrapper - - Mapping(required=[type, field, extent]) - - Attributes - ---------- - - 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`) - - base : anyOf(float, :class:`signalRef`) - - divide : oneOf(List(anyOf(float, :class:`signalRef`)), :class:`signalRef`) - - interval : anyOf(boolean, :class:`signalRef`) - - maxbins : anyOf(float, :class:`signalRef`) - - minstep : anyOf(float, :class:`signalRef`) - - name : anyOf(string, :class:`signalRef`) - - nice : anyOf(boolean, :class:`signalRef`) - - signal : string - - span : anyOf(float, :class:`signalRef`) - - step : anyOf(float, :class:`signalRef`) - - steps : oneOf(List(anyOf(float, :class:`signalRef`)), :class:`signalRef`) - - as : oneOf(List(anyOf(string, :class:`signalRef`)), :class:`signalRef`) - - """ - _schema = {'$ref': '#/definitions/binTransform'} - - 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 collectTransform(VegaSchema): - """collectTransform schema wrapper - - Mapping(required=[type]) - - Attributes - ---------- - - type : enum('collect') - - signal : string - - sort : :class:`compare` - - """ - _schema = {'$ref': '#/definitions/collectTransform'} - - def __init__(self, type=Undefined, signal=Undefined, sort=Undefined, **kwds): - super(collectTransform, self).__init__(type=type, signal=signal, sort=sort, **kwds) - - -class countpatternTransform(VegaSchema): - """countpatternTransform schema wrapper - - Mapping(required=[type, field]) - - Attributes - ---------- - - field : oneOf(:class:`scaleField`, :class:`paramField`, :class:`expr`) - - type : enum('countpattern') - - case : anyOf(enum('upper', 'lower', 'mixed'), :class:`signalRef`) - - pattern : anyOf(string, :class:`signalRef`) - - signal : string - - stopwords : anyOf(string, :class:`signalRef`) - - as : oneOf(List(anyOf(string, :class:`signalRef`)), :class:`signalRef`) - - """ - _schema = {'$ref': '#/definitions/countpatternTransform'} - - 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 crossTransform(VegaSchema): - """crossTransform schema wrapper - - Mapping(required=[type]) - - Attributes - ---------- - - type : enum('cross') - - filter : :class:`exprString` - - signal : string - - as : oneOf(List(anyOf(string, :class:`signalRef`)), :class:`signalRef`) - - """ - _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 densityTransform(VegaSchema): - """densityTransform 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])) - - extent : oneOf(List(anyOf(float, :class:`signalRef`)), :class:`signalRef`) - - maxsteps : anyOf(float, :class:`signalRef`) - - method : anyOf(string, :class:`signalRef`) - - minsteps : anyOf(float, :class:`signalRef`) - - signal : string - - steps : anyOf(float, :class:`signalRef`) - - as : oneOf(List(anyOf(string, :class:`signalRef`)), :class:`signalRef`) - - """ - _schema = {'$ref': '#/definitions/densityTransform'} - - 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 dotbinTransform(VegaSchema): - """dotbinTransform schema wrapper - - Mapping(required=[type, field]) - - Attributes - ---------- - - field : oneOf(:class:`scaleField`, :class:`paramField`, :class:`expr`) - - type : enum('dotbin') - - groupby : oneOf(List(oneOf(:class:`scaleField`, :class:`paramField`, :class:`expr`)), :class:`signalRef`) - - signal : string - - smooth : anyOf(boolean, :class:`signalRef`) - - step : anyOf(float, :class:`signalRef`) - - as : anyOf(string, :class:`signalRef`) - - """ - _schema = {'$ref': '#/definitions/dotbinTransform'} - - 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 extentTransform(VegaSchema): - """extentTransform schema wrapper - - Mapping(required=[type, field]) - - Attributes - ---------- - - field : oneOf(:class:`scaleField`, :class:`paramField`, :class:`expr`) - - type : enum('extent') - - signal : string - - """ - _schema = {'$ref': '#/definitions/extentTransform'} - - def __init__(self, field=Undefined, type=Undefined, signal=Undefined, **kwds): - super(extentTransform, self).__init__(field=field, type=type, signal=signal, **kwds) - - -class filterTransform(VegaSchema): - """filterTransform schema wrapper - - Mapping(required=[type, expr]) - - Attributes - ---------- - - expr : :class:`exprString` - - type : enum('filter') - - signal : string - - """ - _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 flattenTransform(VegaSchema): - """flattenTransform schema wrapper - - Mapping(required=[type, fields]) - - Attributes - ---------- - - fields : oneOf(List(oneOf(:class:`scaleField`, :class:`paramField`, :class:`expr`)), :class:`signalRef`) - - type : enum('flatten') - - index : anyOf(string, :class:`signalRef`) - - signal : string - - as : oneOf(List(anyOf(string, :class:`signalRef`)), :class:`signalRef`) - - """ - _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 foldTransform(VegaSchema): - """foldTransform schema wrapper - - Mapping(required=[type, fields]) - - Attributes - ---------- - - fields : oneOf(List(oneOf(:class:`scaleField`, :class:`paramField`, :class:`expr`)), :class:`signalRef`) - - type : enum('fold') - - signal : string - - as : oneOf(List(anyOf(string, :class:`signalRef`)), :class:`signalRef`) - - """ - _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 formulaTransform(VegaSchema): - """formulaTransform schema wrapper - - Mapping(required=[type, expr, as]) - - Attributes - ---------- - - expr : :class:`exprString` - - type : enum('formula') - - initonly : anyOf(boolean, :class:`signalRef`) - - signal : string - - as : anyOf(string, :class:`signalRef`) - - """ - _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 imputeTransform(VegaSchema): - """imputeTransform schema wrapper - - Mapping(required=[type, field, key]) - - 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:`signalRef`) - - keyvals : oneOf(List(Any), :class:`signalRef`) - - method : anyOf(enum('value', 'mean', 'median', 'max', 'min'), :class:`signalRef`) - - signal : string - - value : Any - - """ - _schema = {'$ref': '#/definitions/imputeTransform'} - - 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 joinaggregateTransform(VegaSchema): - """joinaggregateTransform schema wrapper - - Mapping(required=[type]) - - Attributes - ---------- - - type : enum('joinaggregate') - - fields : oneOf(List(oneOf(:class:`scaleField`, :class:`paramField`, :class:`expr`, None)), :class:`signalRef`) - - groupby : oneOf(List(oneOf(:class:`scaleField`, :class:`paramField`, :class:`expr`)), :class:`signalRef`) - - 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`) - - signal : string - - as : oneOf(List(anyOf(string, :class:`signalRef`, None)), :class:`signalRef`) - - """ - _schema = {'$ref': '#/definitions/joinaggregateTransform'} - - 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 kdeTransform(VegaSchema): - """kdeTransform schema wrapper - - Mapping(required=[type, field]) - - Attributes - ---------- - - field : oneOf(:class:`scaleField`, :class:`paramField`, :class:`expr`) - - type : enum('kde') - - bandwidth : anyOf(float, :class:`signalRef`) - - counts : anyOf(boolean, :class:`signalRef`) - - cumulative : anyOf(boolean, :class:`signalRef`) - - extent : oneOf(List(anyOf(float, :class:`signalRef`)), :class:`signalRef`) - - groupby : oneOf(List(oneOf(:class:`scaleField`, :class:`paramField`, :class:`expr`)), :class:`signalRef`) - - maxsteps : anyOf(float, :class:`signalRef`) - - minsteps : anyOf(float, :class:`signalRef`) - - resolve : anyOf(enum('shared', 'independent'), :class:`signalRef`) - - signal : string - - steps : anyOf(float, :class:`signalRef`) - - as : oneOf(List(anyOf(string, :class:`signalRef`)), :class:`signalRef`) - - """ - _schema = {'$ref': '#/definitions/kdeTransform'} - - 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 lookupTransform(VegaSchema): - """lookupTransform schema wrapper - - Mapping(required=[type, from, key, fields]) - - Attributes - ---------- - - fields : oneOf(List(oneOf(:class:`scaleField`, :class:`paramField`, :class:`expr`)), :class:`signalRef`) - - key : oneOf(:class:`scaleField`, :class:`paramField`, :class:`expr`) - - type : enum('lookup') - - default : Any - - signal : string - - values : oneOf(List(oneOf(:class:`scaleField`, :class:`paramField`, :class:`expr`)), :class:`signalRef`) - - as : oneOf(List(anyOf(string, :class:`signalRef`)), :class:`signalRef`) - - from : string - - """ - _schema = {'$ref': '#/definitions/lookupTransform'} - - 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) - - -class pivotTransform(VegaSchema): - """pivotTransform schema wrapper - - Mapping(required=[type, field, value]) - - 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:`signalRef`) - - key : oneOf(:class:`scaleField`, :class:`paramField`, :class:`expr`) - - limit : anyOf(float, :class:`signalRef`) - - 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 - - """ - _schema = {'$ref': '#/definitions/pivotTransform'} - - 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) - - -class projectTransform(VegaSchema): - """projectTransform schema wrapper - - Mapping(required=[type]) - - Attributes - ---------- - - type : enum('project') - - fields : oneOf(List(oneOf(:class:`scaleField`, :class:`paramField`, :class:`expr`)), :class:`signalRef`) - - signal : string - - as : oneOf(List(anyOf(string, :class:`signalRef`, None)), :class:`signalRef`) - - """ - _schema = {'$ref': '#/definitions/projectTransform'} - - def __init__(self, type=Undefined, fields=Undefined, signal=Undefined, **kwds): - super(projectTransform, self).__init__(type=type, fields=fields, signal=signal, **kwds) - - -class quantileTransform(VegaSchema): - """quantileTransform schema wrapper - - Mapping(required=[type, field]) - - Attributes - ---------- - - field : oneOf(:class:`scaleField`, :class:`paramField`, :class:`expr`) - - type : enum('quantile') - - groupby : oneOf(List(oneOf(:class:`scaleField`, :class:`paramField`, :class:`expr`)), :class:`signalRef`) - - probs : oneOf(List(anyOf(float, :class:`signalRef`)), :class:`signalRef`) - - signal : string - - step : anyOf(float, :class:`signalRef`) - - as : oneOf(List(anyOf(string, :class:`signalRef`)), :class:`signalRef`) - - """ - _schema = {'$ref': '#/definitions/quantileTransform'} - - 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 sampleTransform(VegaSchema): - """sampleTransform schema wrapper - - Mapping(required=[type]) - - Attributes - ---------- - - type : enum('sample') - - signal : string - - size : anyOf(float, :class:`signalRef`) - - """ - _schema = {'$ref': '#/definitions/sampleTransform'} - - def __init__(self, type=Undefined, signal=Undefined, size=Undefined, **kwds): - super(sampleTransform, self).__init__(type=type, signal=signal, size=size, **kwds) - - -class sequenceTransform(VegaSchema): - """sequenceTransform schema wrapper - - Mapping(required=[type, start, stop]) - - Attributes - ---------- - - start : anyOf(float, :class:`signalRef`) - - stop : anyOf(float, :class:`signalRef`) - - type : enum('sequence') - - signal : string - - step : anyOf(float, :class:`signalRef`) - - as : anyOf(string, :class:`signalRef`) - - """ - _schema = {'$ref': '#/definitions/sequenceTransform'} - - 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 timeunitTransform(VegaSchema): - """timeunitTransform schema wrapper - - Mapping(required=[type, field]) - - Attributes - ---------- - - field : oneOf(:class:`scaleField`, :class:`paramField`, :class:`expr`) - - type : enum('timeunit') - - extent : oneOf(List(anyOf(float, :class:`signalRef`)), :class:`signalRef`) - - interval : anyOf(boolean, :class:`signalRef`) - - maxbins : anyOf(float, :class:`signalRef`) - - signal : string - - step : anyOf(float, :class:`signalRef`) - - 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`) - - as : oneOf(List(anyOf(string, :class:`signalRef`)), :class:`signalRef`) - - """ - _schema = {'$ref': '#/definitions/timeunitTransform'} - - 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 windowTransform(VegaSchema): - """windowTransform schema wrapper - - Mapping(required=[type]) - - Attributes - ---------- - - type : enum('window') - - fields : oneOf(List(oneOf(:class:`scaleField`, :class:`paramField`, :class:`expr`, None)), :class:`signalRef`) - - frame : oneOf(List(anyOf(float, :class:`signalRef`, None)), :class:`signalRef`) - - groupby : oneOf(List(oneOf(:class:`scaleField`, :class:`paramField`, :class:`expr`)), :class:`signalRef`) - - ignorePeers : anyOf(boolean, :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', 'min', 'max', 'argmin', 'argmax'), :class:`signalRef`)), :class:`signalRef`) - - params : oneOf(List(anyOf(float, :class:`signalRef`, None)), :class:`signalRef`) - - signal : string - - sort : :class:`compare` - - as : oneOf(List(anyOf(string, :class:`signalRef`, None)), :class:`signalRef`) - - """ - _schema = {'$ref': '#/definitions/windowTransform'} - - 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 identifierTransform(VegaSchema): - """identifierTransform schema wrapper - - Mapping(required=[type, as]) - - Attributes - ---------- - - type : enum('identifier') - - signal : string - - as : anyOf(string, :class:`signalRef`) - - """ - _schema = {'$ref': '#/definitions/identifierTransform'} - - def __init__(self, type=Undefined, signal=Undefined, **kwds): - super(identifierTransform, self).__init__(type=type, signal=signal, **kwds) - - -class voronoiTransform(VegaSchema): - """voronoiTransform schema wrapper - - Mapping(required=[type, x, y]) - - Attributes - ---------- - - type : enum('voronoi') - - x : oneOf(:class:`scaleField`, :class:`paramField`, :class:`expr`) - - y : oneOf(:class:`scaleField`, :class:`paramField`, :class:`expr`) - - extent : oneOf(List(Any), :class:`signalRef`) - - signal : string - - size : oneOf(List(anyOf(float, :class:`signalRef`)), :class:`signalRef`) - - as : anyOf(string, :class:`signalRef`) - - """ - _schema = {'$ref': '#/definitions/voronoiTransform'} - - 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) - - -class wordcloudTransform(VegaSchema): - """wordcloudTransform schema wrapper - - Mapping(required=[type]) - - Attributes - ---------- - - type : enum('wordcloud') - - font : anyOf(string, :class:`signalRef`, :class:`expr`, :class:`paramField`) - - fontSize : anyOf(float, :class:`signalRef`, :class:`expr`, :class:`paramField`) - - fontSizeRange : oneOf(List(anyOf(float, :class:`signalRef`)), :class:`signalRef`, None) - - fontStyle : anyOf(string, :class:`signalRef`, :class:`expr`, :class:`paramField`) - - fontWeight : anyOf(string, :class:`signalRef`, :class:`expr`, :class:`paramField`) - - padding : anyOf(float, :class:`signalRef`, :class:`expr`, :class:`paramField`) - - rotate : anyOf(float, :class:`signalRef`, :class:`expr`, :class:`paramField`) - - signal : string - - size : oneOf(List(anyOf(float, :class:`signalRef`)), :class:`signalRef`) - - spiral : anyOf(string, :class:`signalRef`) - - text : oneOf(:class:`scaleField`, :class:`paramField`, :class:`expr`) - - as : oneOf(List(anyOf(string, :class:`signalRef`)), :class:`signalRef`) - - """ - _schema = {'$ref': '#/definitions/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) - diff --git a/altair/vega/v5/schema/vega-schema.json b/altair/vega/v5/schema/vega-schema.json deleted file mode 100644 index f7b8fa90c..000000000 --- a/altair/vega/v5/schema/vega-schema.json +++ /dev/null @@ -1,16275 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "Vega Visualization Specification Language", - "definitions": { - "autosize": { - "oneOf": [ - { - "enum": [ - "pad", - "fit", - "fit-x", - "fit-y", - "none" - ], - "default": "pad" - }, - { - "type": "object", - "properties": { - "type": { - "enum": [ - "pad", - "fit", - "fit-x", - "fit-y", - "none" - ], - "default": "pad" - }, - "resize": { - "type": "boolean" - }, - "contains": { - "enum": [ - "content", - "padding" - ] - } - }, - "required": [ - "type" - ], - "additionalProperties": false - }, - { - "$ref": "#/definitions/signalRef" - } - ] - }, - "axis": { - "type": "object", - "properties": { - "orient": { - "oneOf": [ - { - "enum": [ - "top", - "bottom", - "left", - "right" - ] - }, - { - "$ref": "#/definitions/signalRef" - } - ] - }, - "scale": { - "type": "string" - }, - "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" - }, - "minutes": { - "type": "string" - }, - "seconds": { - "type": "string" - }, - "milliseconds": { - "type": "string" - } - }, - "additionalProperties": false - }, - { - "$ref": "#/definitions/signalRef" - } - ] - }, - "formatType": { - "oneOf": [ - { - "enum": [ - "number", - "time", - "utc" - ] - }, - { - "$ref": "#/definitions/signalRef" - } - ] - }, - "minExtent": { - "oneOf": [ - { - "type": "number" - }, - { - "$ref": "#/definitions/numberValue" - } - ] - }, - "maxExtent": { - "oneOf": [ - { - "type": "number" - }, - { - "$ref": "#/definitions/numberValue" - } - ] - }, - "offset": { - "oneOf": [ - { - "type": "number" - }, - { - "$ref": "#/definitions/numberValue" - } - ] - }, - "position": { - "oneOf": [ - { - "type": "number" - }, - { - "$ref": "#/definitions/numberValue" - } - ] - }, - "bandPosition": { - "oneOf": [ - { - "type": "number" - }, - { - "$ref": "#/definitions/numberValue" - } - ] - }, - "translate": { - "oneOf": [ - { - "type": "number" - }, - { - "$ref": "#/definitions/numberValue" - } - ] - }, - "values": { - "$ref": "#/definitions/arrayOrSignal" - }, - "zindex": { - "type": "number" - }, - "aria": { - "type": "boolean" - }, - "description": { - "type": "string" - }, - "title": { - "$ref": "#/definitions/textOrSignal" - }, - "titlePadding": { - "oneOf": [ - { - "type": "number" - }, - { - "$ref": "#/definitions/numberValue" - } - ] - }, - "titleAlign": { - "oneOf": [ - { - "enum": [ - "left", - "right", - "center" - ] - }, - { - "$ref": "#/definitions/alignValue" - } - ] - }, - "titleAnchor": { - "oneOf": [ - { - "enum": [ - null, - "start", - "middle", - "end" - ] - }, - { - "$ref": "#/definitions/anchorValue" - } - ] - }, - "titleAngle": { - "oneOf": [ - { - "type": "number" - }, - { - "$ref": "#/definitions/numberValue" - } - ] - }, - "titleX": { - "oneOf": [ - { - "type": "number" - }, - { - "$ref": "#/definitions/numberValue" - } - ] - }, - "titleY": { - "oneOf": [ - { - "type": "number" - }, - { - "$ref": "#/definitions/numberValue" - } - ] - }, - "titleBaseline": { - "oneOf": [ - { - "enum": [ - "top", - "middle", - "bottom", - "alphabetic", - "line-top", - "line-bottom" - ] - }, - { - "$ref": "#/definitions/baselineValue" - } - ] - }, - "titleColor": { - "oneOf": [ - { - "type": "null" - }, - { - "type": "string" - }, - { - "$ref": "#/definitions/colorValue" - } - ] - }, - "titleFont": { - "oneOf": [ - { - "type": "string" - }, - { - "$ref": "#/definitions/stringValue" - } - ] - }, - "titleFontSize": { - "oneOf": [ - { - "type": "number" - }, - { - "$ref": "#/definitions/numberValue" - } - ] - }, - "titleFontStyle": { - "oneOf": [ - { - "type": "string" - }, - { - "$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": "#/definitions/fontWeightValue" - } - ] - }, - "titleLimit": { - "oneOf": [ - { - "type": "number" - }, - { - "$ref": "#/definitions/numberValue" - } - ] - }, - "titleLineHeight": { - "oneOf": [ - { - "type": "number" - }, - { - "$ref": "#/definitions/numberValue" - } - ] - }, - "titleOpacity": { - "oneOf": [ - { - "type": "number" - }, - { - "$ref": "#/definitions/numberValue" - } - ] - }, - "domain": { - "type": "boolean" - }, - "domainCap": { - "oneOf": [ - { - "type": "string" - }, - { - "$ref": "#/definitions/stringValue" - } - ] - }, - "domainColor": { - "oneOf": [ - { - "type": "null" - }, - { - "type": "string" - }, - { - "$ref": "#/definitions/colorValue" - } - ] - }, - "domainDash": { - "oneOf": [ - { - "type": "array", - "items": { - "type": "number" - } - }, - { - "$ref": "#/definitions/arrayValue" - } - ] - }, - "domainDashOffset": { - "oneOf": [ - { - "type": "number" - }, - { - "$ref": "#/definitions/numberValue" - } - ] - }, - "domainOpacity": { - "oneOf": [ - { - "type": "number" - }, - { - "$ref": "#/definitions/numberValue" - } - ] - }, - "domainWidth": { - "oneOf": [ - { - "type": "number" - }, - { - "$ref": "#/definitions/numberValue" - } - ] - }, - "ticks": { - "type": "boolean" - }, - "tickBand": { - "$ref": "#/definitions/tickBand" - }, - "tickCap": { - "oneOf": [ - { - "type": "string" - }, - { - "$ref": "#/definitions/stringValue" - } - ] - }, - "tickColor": { - "oneOf": [ - { - "type": "null" - }, - { - "type": "string" - }, - { - "$ref": "#/definitions/colorValue" - } - ] - }, - "tickDash": { - "oneOf": [ - { - "type": "array", - "items": { - "type": "number" - } - }, - { - "$ref": "#/definitions/arrayValue" - } - ] - }, - "tickDashOffset": { - "oneOf": [ - { - "type": "number" - }, - { - "$ref": "#/definitions/numberValue" - } - ] - }, - "tickOffset": { - "oneOf": [ - { - "type": "number" - }, - { - "$ref": "#/definitions/numberValue" - } - ] - }, - "tickOpacity": { - "oneOf": [ - { - "type": "number" - }, - { - "$ref": "#/definitions/numberValue" - } - ] - }, - "tickRound": { - "oneOf": [ - { - "type": "boolean" - }, - { - "$ref": "#/definitions/booleanValue" - } - ] - }, - "tickSize": { - "oneOf": [ - { - "type": "number" - }, - { - "$ref": "#/definitions/numberValue" - } - ] - }, - "tickWidth": { - "oneOf": [ - { - "type": "number" - }, - { - "$ref": "#/definitions/numberValue" - } - ] - }, - "tickCount": { - "$ref": "#/definitions/tickCount" - }, - "tickExtra": { - "$ref": "#/definitions/booleanOrSignal" - }, - "tickMinStep": { - "$ref": "#/definitions/numberOrSignal" - }, - "grid": { - "type": "boolean" - }, - "gridScale": { - "type": "string" - }, - "gridCap": { - "oneOf": [ - { - "type": "string" - }, - { - "$ref": "#/definitions/stringValue" - } - ] - }, - "gridColor": { - "oneOf": [ - { - "type": "null" - }, - { - "type": "string" - }, - { - "$ref": "#/definitions/colorValue" - } - ] - }, - "gridDash": { - "oneOf": [ - { - "type": "array", - "items": { - "type": "number" - } - }, - { - "$ref": "#/definitions/arrayValue" - } - ] - }, - "gridDashOffset": { - "oneOf": [ - { - "type": "number" - }, - { - "$ref": "#/definitions/numberValue" - } - ] - }, - "gridOpacity": { - "oneOf": [ - { - "type": "number" - }, - { - "$ref": "#/definitions/numberValue" - } - ] - }, - "gridWidth": { - "oneOf": [ - { - "type": "number" - }, - { - "$ref": "#/definitions/numberValue" - } - ] - }, - "labels": { - "type": "boolean" - }, - "labelAlign": { - "oneOf": [ - { - "enum": [ - "left", - "right", - "center" - ] - }, - { - "$ref": "#/definitions/alignValue" - } - ] - }, - "labelBaseline": { - "oneOf": [ - { - "enum": [ - "top", - "middle", - "bottom", - "alphabetic", - "line-top", - "line-bottom" - ] - }, - { - "$ref": "#/definitions/baselineValue" - } - ] - }, - "labelBound": { - "oneOf": [ - { - "type": "boolean" - }, - { - "type": "number" - }, - { - "$ref": "#/definitions/signalRef" - } - ] - }, - "labelFlush": { - "oneOf": [ - { - "type": "boolean" - }, - { - "type": "number" - }, - { - "$ref": "#/definitions/signalRef" - } - ] - }, - "labelFlushOffset": { - "$ref": "#/definitions/numberOrSignal" - }, - "labelOverlap": { - "$ref": "#/definitions/labelOverlap" - }, - "labelAngle": { - "oneOf": [ - { - "type": "number" - }, - { - "$ref": "#/definitions/numberValue" - } - ] - }, - "labelColor": { - "oneOf": [ - { - "type": "null" - }, - { - "type": "string" - }, - { - "$ref": "#/definitions/colorValue" - } - ] - }, - "labelFont": { - "oneOf": [ - { - "type": "string" - }, - { - "$ref": "#/definitions/stringValue" - } - ] - }, - "labelFontSize": { - "oneOf": [ - { - "type": "number" - }, - { - "$ref": "#/definitions/numberValue" - } - ] - }, - "labelFontWeight": { - "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": "#/definitions/fontWeightValue" - } - ] - }, - "labelFontStyle": { - "oneOf": [ - { - "type": "string" - }, - { - "$ref": "#/definitions/stringValue" - } - ] - }, - "labelLimit": { - "oneOf": [ - { - "type": "number" - }, - { - "$ref": "#/definitions/numberValue" - } - ] - }, - "labelLineHeight": { - "oneOf": [ - { - "type": "number" - }, - { - "$ref": "#/definitions/numberValue" - } - ] - }, - "labelOpacity": { - "oneOf": [ - { - "type": "number" - }, - { - "$ref": "#/definitions/numberValue" - } - ] - }, - "labelOffset": { - "oneOf": [ - { - "type": "number" - }, - { - "$ref": "#/definitions/numberValue" - } - ] - }, - "labelPadding": { - "oneOf": [ - { - "type": "number" - }, - { - "$ref": "#/definitions/numberValue" - } - ] - }, - "labelSeparation": { - "$ref": "#/definitions/numberOrSignal" - }, - "encode": { - "type": "object", - "properties": { - "axis": { - "$ref": "#/definitions/guideEncode" - }, - "ticks": { - "$ref": "#/definitions/guideEncode" - }, - "labels": { - "$ref": "#/definitions/guideEncode" - }, - "title": { - "$ref": "#/definitions/guideEncode" - }, - "grid": { - "$ref": "#/definitions/guideEncode" - }, - "domain": { - "$ref": "#/definitions/guideEncode" - } - }, - "additionalProperties": false - } - }, - "required": [ - "orient", - "scale" - ], - "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": "#/definitions/stringOrSignal" - }, - "bind": { - "oneOf": [ - { - "type": "object", - "properties": { - "input": { - "enum": [ - "checkbox" - ] - }, - "element": { - "$ref": "#/definitions/element" - }, - "debounce": { - "type": "number" - }, - "name": { - "type": "string" - } - }, - "required": [ - "input" - ], - "additionalProperties": false - }, - { - "type": "object", - "properties": { - "input": { - "enum": [ - "radio", - "select" - ] - }, - "element": { - "$ref": "#/definitions/element" - }, - "options": { - "type": "array" - }, - "labels": { - "type": "array", - "items": { - "type": "string" - } - }, - "debounce": { - "type": "number" - }, - "name": { - "type": "string" - } - }, - "required": [ - "input", - "options" - ], - "additionalProperties": false - }, - { - "type": "object", - "properties": { - "input": { - "enum": [ - "range" - ] - }, - "element": { - "$ref": "#/definitions/element" - }, - "min": { - "type": "number" - }, - "max": { - "type": "number" - }, - "step": { - "type": "number" - }, - "debounce": { - "type": "number" - }, - "name": { - "type": "string" - } - }, - "required": [ - "input" - ], - "additionalProperties": false - }, - { - "type": "object", - "properties": { - "input": { - "not": { - "enum": [ - "checkbox", - "radio", - "range", - "select" - ] - } - }, - "element": { - "$ref": "#/definitions/element" - }, - "debounce": { - "type": "number" - }, - "name": { - "type": "string" - } - }, - "required": [ - "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": [ - { - "type": "object", - "properties": { - "name": { - "type": "string" - }, - "transform": { - "type": "array", - "items": { - "$ref": "#/definitions/transform" - } - }, - "on": { - "$ref": "#/definitions/onTrigger" - } - }, - "required": [ - "name" - ], - "additionalProperties": false - }, - { - "type": "object", - "properties": { - "source": { - "oneOf": [ - { - "type": "string" - }, - { - "type": "array", - "items": { - "type": "string" - }, - "minItems": 1 - } - ] - }, - "name": { - "type": "string" - }, - "transform": { - "type": "array", - "items": { - "$ref": "#/definitions/transform" - } - }, - "on": { - "$ref": "#/definitions/onTrigger" - } - }, - "required": [ - "source", - "name" - ], - "additionalProperties": false - }, - { - "type": "object", - "properties": { - "url": { - "$ref": "#/definitions/stringOrSignal" - }, - "format": { - "oneOf": [ - { - "anyOf": [ - { - "type": "object", - "properties": { - "type": { - "$ref": "#/definitions/stringOrSignal" - }, - "parse": { - "oneOf": [ - { - "enum": [ - "auto" - ] - }, - { - "type": "object", - "properties": {}, - "additionalProperties": { - "oneOf": [ - { - "enum": [ - "boolean", - "number", - "date", - "string" - ] - }, - { - "type": "string", - "pattern": "^(date|utc):.*$" - } - ] - } - }, - { - "$ref": "#/definitions/signalRef" - } - ] - } - } - }, - { - "type": "object", - "properties": { - "type": { - "enum": [ - "json" - ] - }, - "parse": { - "oneOf": [ - { - "enum": [ - "auto" - ] - }, - { - "type": "object", - "properties": {}, - "additionalProperties": { - "oneOf": [ - { - "enum": [ - "boolean", - "number", - "date", - "string" - ] - }, - { - "type": "string", - "pattern": "^(date|utc):.*$" - } - ] - } - }, - { - "$ref": "#/definitions/signalRef" - } - ] - }, - "property": { - "$ref": "#/definitions/stringOrSignal" - }, - "copy": { - "$ref": "#/definitions/booleanOrSignal" - } - }, - "additionalProperties": false - }, - { - "type": "object", - "properties": { - "type": { - "enum": [ - "csv", - "tsv" - ] - }, - "header": { - "type": "array", - "items": { - "type": "string" - } - }, - "parse": { - "oneOf": [ - { - "enum": [ - "auto" - ] - }, - { - "type": "object", - "properties": {}, - "additionalProperties": { - "oneOf": [ - { - "enum": [ - "boolean", - "number", - "date", - "string" - ] - }, - { - "type": "string", - "pattern": "^(date|utc):.*$" - } - ] - } - }, - { - "$ref": "#/definitions/signalRef" - } - ] - } - }, - "required": [ - "type" - ], - "additionalProperties": false - }, - { - "type": "object", - "properties": { - "type": { - "enum": [ - "dsv" - ] - }, - "delimiter": { - "type": "string" - }, - "header": { - "type": "array", - "items": { - "type": "string" - } - }, - "parse": { - "oneOf": [ - { - "enum": [ - "auto" - ] - }, - { - "type": "object", - "properties": {}, - "additionalProperties": { - "oneOf": [ - { - "enum": [ - "boolean", - "number", - "date", - "string" - ] - }, - { - "type": "string", - "pattern": "^(date|utc):.*$" - } - ] - } - }, - { - "$ref": "#/definitions/signalRef" - } - ] - } - }, - "required": [ - "type", - "delimiter" - ], - "additionalProperties": false - }, - { - "oneOf": [ - { - "type": "object", - "properties": { - "type": { - "enum": [ - "topojson" - ] - }, - "feature": { - "$ref": "#/definitions/stringOrSignal" - }, - "property": { - "$ref": "#/definitions/stringOrSignal" - } - }, - "required": [ - "type", - "feature" - ], - "additionalProperties": false - }, - { - "type": "object", - "properties": { - "type": { - "enum": [ - "topojson" - ] - }, - "mesh": { - "$ref": "#/definitions/stringOrSignal" - }, - "property": { - "$ref": "#/definitions/stringOrSignal" - }, - "filter": { - "enum": [ - "interior", - "exterior", - null - ] - } - }, - "required": [ - "type", - "mesh" - ], - "additionalProperties": false - } - ] - } - ] - }, - { - "$ref": "#/definitions/signalRef" - } - ] - }, - "async": { - "$ref": "#/definitions/booleanOrSignal" - }, - "name": { - "type": "string" - }, - "transform": { - "type": "array", - "items": { - "$ref": "#/definitions/transform" - } - }, - "on": { - "$ref": "#/definitions/onTrigger" - } - }, - "required": [ - "url", - "name" - ], - "additionalProperties": false - }, - { - "type": "object", - "properties": { - "values": { - "oneOf": [ - {}, - { - "$ref": "#/definitions/signalRef" - } - ] - }, - "format": { - "oneOf": [ - { - "anyOf": [ - { - "type": "object", - "properties": { - "type": { - "$ref": "#/definitions/stringOrSignal" - }, - "parse": { - "oneOf": [ - { - "enum": [ - "auto" - ] - }, - { - "type": "object", - "properties": {}, - "additionalProperties": { - "oneOf": [ - { - "enum": [ - "boolean", - "number", - "date", - "string" - ] - }, - { - "type": "string", - "pattern": "^(date|utc):.*$" - } - ] - } - }, - { - "$ref": "#/definitions/signalRef" - } - ] - } - } - }, - { - "type": "object", - "properties": { - "type": { - "enum": [ - "json" - ] - }, - "parse": { - "oneOf": [ - { - "enum": [ - "auto" - ] - }, - { - "type": "object", - "properties": {}, - "additionalProperties": { - "oneOf": [ - { - "enum": [ - "boolean", - "number", - "date", - "string" - ] - }, - { - "type": "string", - "pattern": "^(date|utc):.*$" - } - ] - } - }, - { - "$ref": "#/definitions/signalRef" - } - ] - }, - "property": { - "$ref": "#/definitions/stringOrSignal" - }, - "copy": { - "$ref": "#/definitions/booleanOrSignal" - } - }, - "additionalProperties": false - }, - { - "type": "object", - "properties": { - "type": { - "enum": [ - "csv", - "tsv" - ] - }, - "header": { - "type": "array", - "items": { - "type": "string" - } - }, - "parse": { - "oneOf": [ - { - "enum": [ - "auto" - ] - }, - { - "type": "object", - "properties": {}, - "additionalProperties": { - "oneOf": [ - { - "enum": [ - "boolean", - "number", - "date", - "string" - ] - }, - { - "type": "string", - "pattern": "^(date|utc):.*$" - } - ] - } - }, - { - "$ref": "#/definitions/signalRef" - } - ] - } - }, - "required": [ - "type" - ], - "additionalProperties": false - }, - { - "type": "object", - "properties": { - "type": { - "enum": [ - "dsv" - ] - }, - "delimiter": { - "type": "string" - }, - "header": { - "type": "array", - "items": { - "type": "string" - } - }, - "parse": { - "oneOf": [ - { - "enum": [ - "auto" - ] - }, - { - "type": "object", - "properties": {}, - "additionalProperties": { - "oneOf": [ - { - "enum": [ - "boolean", - "number", - "date", - "string" - ] - }, - { - "type": "string", - "pattern": "^(date|utc):.*$" - } - ] - } - }, - { - "$ref": "#/definitions/signalRef" - } - ] - } - }, - "required": [ - "type", - "delimiter" - ], - "additionalProperties": false - }, - { - "oneOf": [ - { - "type": "object", - "properties": { - "type": { - "enum": [ - "topojson" - ] - }, - "feature": { - "$ref": "#/definitions/stringOrSignal" - }, - "property": { - "$ref": "#/definitions/stringOrSignal" - } - }, - "required": [ - "type", - "feature" - ], - "additionalProperties": false - }, - { - "type": "object", - "properties": { - "type": { - "enum": [ - "topojson" - ] - }, - "mesh": { - "$ref": "#/definitions/stringOrSignal" - }, - "property": { - "$ref": "#/definitions/stringOrSignal" - }, - "filter": { - "enum": [ - "interior", - "exterior", - null - ] - } - }, - "required": [ - "type", - "mesh" - ], - "additionalProperties": false - } - ] - } - ] - }, - { - "$ref": "#/definitions/signalRef" - } - ] - }, - "async": { - "$ref": "#/definitions/booleanOrSignal" - }, - "name": { - "type": "string" - }, - "transform": { - "type": "array", - "items": { - "$ref": "#/definitions/transform" - } - }, - "on": { - "$ref": "#/definitions/onTrigger" - } - }, - "required": [ - "values", - "name" - ], - "additionalProperties": false - } - ] - }, - "paramField": { - "type": "object", - "properties": { - "field": { - "type": "string" - }, - "as": { - "type": "string" - } - }, - "required": [ - "field" - ], - "additionalProperties": false - }, - "rule": { - "type": "object", - "properties": { - "test": { - "type": "string" - } - } - }, - "encodeEntry": { - "type": "object", - "properties": { - "x": { - "$ref": "#/definitions/numberValue" - }, - "x2": { - "$ref": "#/definitions/numberValue" - }, - "xc": { - "$ref": "#/definitions/numberValue" - }, - "width": { - "$ref": "#/definitions/numberValue" - }, - "y": { - "$ref": "#/definitions/numberValue" - }, - "y2": { - "$ref": "#/definitions/numberValue" - }, - "yc": { - "$ref": "#/definitions/numberValue" - }, - "height": { - "$ref": "#/definitions/numberValue" - }, - "opacity": { - "$ref": "#/definitions/numberValue" - }, - "fill": { - "$ref": "#/definitions/colorValue" - }, - "fillOpacity": { - "$ref": "#/definitions/numberValue" - }, - "stroke": { - "$ref": "#/definitions/colorValue" - }, - "strokeOpacity": { - "$ref": "#/definitions/numberValue" - }, - "strokeWidth": { - "$ref": "#/definitions/numberValue" - }, - "strokeCap": { - "$ref": "#/definitions/strokeCapValue" - }, - "strokeDash": { - "$ref": "#/definitions/arrayValue" - }, - "strokeDashOffset": { - "$ref": "#/definitions/numberValue" - }, - "strokeJoin": { - "$ref": "#/definitions/strokeJoinValue" - }, - "strokeMiterLimit": { - "$ref": "#/definitions/numberValue" - }, - "blend": { - "$ref": "#/definitions/blendValue" - }, - "cursor": { - "$ref": "#/definitions/stringValue" - }, - "tooltip": { - "$ref": "#/definitions/anyValue" - }, - "zindex": { - "$ref": "#/definitions/numberValue" - }, - "description": { - "$ref": "#/definitions/stringValue" - }, - "aria": { - "$ref": "#/definitions/booleanValue" - }, - "ariaRole": { - "$ref": "#/definitions/stringValue" - }, - "ariaRoleDescription": { - "$ref": "#/definitions/stringValue" - }, - "clip": { - "$ref": "#/definitions/booleanValue" - }, - "strokeForeground": { - "$ref": "#/definitions/booleanValue" - }, - "strokeOffset": { - "$ref": "#/definitions/numberValue" - }, - "cornerRadius": { - "$ref": "#/definitions/numberValue" - }, - "cornerRadiusTopLeft": { - "$ref": "#/definitions/numberValue" - }, - "cornerRadiusTopRight": { - "$ref": "#/definitions/numberValue" - }, - "cornerRadiusBottomRight": { - "$ref": "#/definitions/numberValue" - }, - "cornerRadiusBottomLeft": { - "$ref": "#/definitions/numberValue" - }, - "angle": { - "$ref": "#/definitions/numberValue" - }, - "size": { - "$ref": "#/definitions/numberValue" - }, - "shape": { - "$ref": "#/definitions/stringValue" - }, - "path": { - "$ref": "#/definitions/stringValue" - }, - "scaleX": { - "$ref": "#/definitions/numberValue" - }, - "scaleY": { - "$ref": "#/definitions/numberValue" - }, - "innerRadius": { - "$ref": "#/definitions/numberValue" - }, - "outerRadius": { - "$ref": "#/definitions/numberValue" - }, - "startAngle": { - "$ref": "#/definitions/numberValue" - }, - "endAngle": { - "$ref": "#/definitions/numberValue" - }, - "padAngle": { - "$ref": "#/definitions/numberValue" - }, - "interpolate": { - "$ref": "#/definitions/stringValue" - }, - "tension": { - "$ref": "#/definitions/numberValue" - }, - "orient": { - "$ref": "#/definitions/directionValue" - }, - "defined": { - "$ref": "#/definitions/booleanValue" - }, - "url": { - "$ref": "#/definitions/stringValue" - }, - "align": { - "$ref": "#/definitions/alignValue" - }, - "baseline": { - "$ref": "#/definitions/baselineValue" - }, - "aspect": { - "$ref": "#/definitions/booleanValue" - }, - "smooth": { - "$ref": "#/definitions/booleanValue" - }, - "text": { - "$ref": "#/definitions/textValue" - }, - "dir": { - "$ref": "#/definitions/stringValue" - }, - "ellipsis": { - "$ref": "#/definitions/stringValue" - }, - "limit": { - "$ref": "#/definitions/numberValue" - }, - "lineBreak": { - "$ref": "#/definitions/stringValue" - }, - "lineHeight": { - "$ref": "#/definitions/numberValue" - }, - "dx": { - "$ref": "#/definitions/numberValue" - }, - "dy": { - "$ref": "#/definitions/numberValue" - }, - "radius": { - "$ref": "#/definitions/numberValue" - }, - "theta": { - "$ref": "#/definitions/numberValue" - }, - "font": { - "$ref": "#/definitions/stringValue" - }, - "fontSize": { - "$ref": "#/definitions/numberValue" - }, - "fontWeight": { - "$ref": "#/definitions/fontWeightValue" - }, - "fontStyle": { - "$ref": "#/definitions/stringValue" - } - }, - "additionalProperties": true - }, - "encode": { - "type": "object", - "additionalProperties": false, - "patternProperties": { - "^.+$": { - "$ref": "#/definitions/encodeEntry" - } - } - }, - "field": { - "oneOf": [ - { - "type": "string" - }, - { - "$ref": "#/definitions/signalRef" - }, - { - "type": "object", - "properties": { - "datum": { - "$ref": "#/definitions/field" - } - }, - "required": [ - "datum" - ], - "additionalProperties": false - }, - { - "type": "object", - "properties": { - "group": { - "$ref": "#/definitions/field" - }, - "level": { - "type": "number" - } - }, - "required": [ - "group" - ], - "additionalProperties": false - }, - { - "type": "object", - "properties": { - "parent": { - "$ref": "#/definitions/field" - }, - "level": { - "type": "number" - } - }, - "required": [ - "parent" - ], - "additionalProperties": false - } - ] - }, - "stringModifiers": { - "type": "object", - "properties": { - "scale": { - "$ref": "#/definitions/field" - } - } - }, - "numberModifiers": { - "type": "object", - "properties": { - "exponent": { - "oneOf": [ - { - "type": "number" - }, - { - "$ref": "#/definitions/numberValue" - } - ] - }, - "mult": { - "oneOf": [ - { - "type": "number" - }, - { - "$ref": "#/definitions/numberValue" - } - ] - }, - "offset": { - "oneOf": [ - { - "type": "number" - }, - { - "$ref": "#/definitions/numberValue" - } - ] - }, - "round": { - "type": "boolean", - "default": false - }, - "scale": { - "$ref": "#/definitions/field" - }, - "band": { - "oneOf": [ - { - "type": "number" - }, - { - "type": "boolean" - } - ] - }, - "extra": { - "type": "boolean" - } - } - }, - "anyValue": { - "oneOf": [ - { - "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" - }, - { - "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" - ] - } - ] - } - ] - } - ] - }, - "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" - }, - { - "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" - ] - } - ] - } - ] - } - ] - }, - "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" - }, - { - "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" - ] - } - ] - } - ] - } - ] - }, - "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" - ] - } - ] - } - ] - } - ] - } - }, - { - "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" - ] - } - ] - } - ] - } - ] - }, - "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" - }, - { - "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" - ] - } - ] - } - ] - } - ] - }, - "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" - }, - { - "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" - ] - } - ] - } - ] - } - ] - }, - "arrayValue": { - "oneOf": [ - { - "type": "array", - "items": { - "allOf": [ - { - "$ref": "#/definitions/rule" - }, - { - "allOf": [ - { - "$ref": "#/definitions/stringModifiers" - }, - { - "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" - ] - } - ] - } - ] - } - ] - } - }, - { - "allOf": [ - { - "$ref": "#/definitions/stringModifiers" - }, - { - "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" - ] - } - ] - } - ] - } - ] - }, - "fontWeightValue": { - "oneOf": [ - { - "type": "array", - "items": { - "allOf": [ - { - "$ref": "#/definitions/rule" - }, - { - "allOf": [ - { - "$ref": "#/definitions/stringModifiers" - }, - { - "anyOf": [ - { - "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": "object", - "required": [ - "scale", - "value" - ] - }, - { - "type": "object", - "required": [ - "scale", - "band" - ] - }, - { - "type": "object", - "required": [ - "offset" - ] - } - ] - } - ] - } - ] - } - }, - { - "allOf": [ - { - "$ref": "#/definitions/stringModifiers" - }, - { - "anyOf": [ - { - "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": "object", - "required": [ - "scale", - "value" - ] - }, - { - "type": "object", - "required": [ - "scale", - "band" - ] - }, - { - "type": "object", - "required": [ - "offset" - ] - } - ] - } - ] - } - ] - }, - "anchorValue": { - "oneOf": [ - { - "type": "array", - "items": { - "allOf": [ - { - "$ref": "#/definitions/rule" - }, - { - "allOf": [ - { - "$ref": "#/definitions/stringModifiers" - }, - { - "anyOf": [ - { - "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": "object", - "required": [ - "scale", - "value" - ] - }, - { - "type": "object", - "required": [ - "scale", - "band" - ] - }, - { - "type": "object", - "required": [ - "offset" - ] - } - ] - } - ] - } - ] - } - }, - { - "allOf": [ - { - "$ref": "#/definitions/stringModifiers" - }, - { - "anyOf": [ - { - "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": "object", - "required": [ - "scale", - "value" - ] - }, - { - "type": "object", - "required": [ - "scale", - "band" - ] - }, - { - "type": "object", - "required": [ - "offset" - ] - } - ] - } - ] - } - ] - }, - "alignValue": { - "oneOf": [ - { - "type": "array", - "items": { - "allOf": [ - { - "$ref": "#/definitions/rule" - }, - { - "allOf": [ - { - "$ref": "#/definitions/stringModifiers" - }, - { - "anyOf": [ - { - "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": "object", - "required": [ - "scale", - "value" - ] - }, - { - "type": "object", - "required": [ - "scale", - "band" - ] - }, - { - "type": "object", - "required": [ - "offset" - ] - } - ] - } - ] - } - ] - } - }, - { - "allOf": [ - { - "$ref": "#/definitions/stringModifiers" - }, - { - "anyOf": [ - { - "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": "object", - "required": [ - "scale", - "value" - ] - }, - { - "type": "object", - "required": [ - "scale", - "band" - ] - }, - { - "type": "object", - "required": [ - "offset" - ] - } - ] - } - ] - } - ] - }, - "baselineValue": { - "oneOf": [ - { - "type": "array", - "items": { - "allOf": [ - { - "$ref": "#/definitions/rule" - }, - { - "allOf": [ - { - "$ref": "#/definitions/stringModifiers" - }, - { - "anyOf": [ - { - "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": "object", - "required": [ - "scale", - "value" - ] - }, - { - "type": "object", - "required": [ - "scale", - "band" - ] - }, - { - "type": "object", - "required": [ - "offset" - ] - } - ] - } - ] - } - ] - } - }, - { - "allOf": [ - { - "$ref": "#/definitions/stringModifiers" - }, - { - "anyOf": [ - { - "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": "object", - "required": [ - "scale", - "value" - ] - }, - { - "type": "object", - "required": [ - "scale", - "band" - ] - }, - { - "type": "object", - "required": [ - "offset" - ] - } - ] - } - ] - } - ] - }, - "directionValue": { - "oneOf": [ - { - "type": "array", - "items": { - "allOf": [ - { - "$ref": "#/definitions/rule" - }, - { - "allOf": [ - { - "$ref": "#/definitions/stringModifiers" - }, - { - "anyOf": [ - { - "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": "object", - "required": [ - "scale", - "value" - ] - }, - { - "type": "object", - "required": [ - "scale", - "band" - ] - }, - { - "type": "object", - "required": [ - "offset" - ] - } - ] - } - ] - } - ] - } - }, - { - "allOf": [ - { - "$ref": "#/definitions/stringModifiers" - }, - { - "anyOf": [ - { - "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": "object", - "required": [ - "scale", - "value" - ] - }, - { - "type": "object", - "required": [ - "scale", - "band" - ] - }, - { - "type": "object", - "required": [ - "offset" - ] - } - ] - } - ] - } - ] - }, - "orientValue": { - "oneOf": [ - { - "type": "array", - "items": { - "allOf": [ - { - "$ref": "#/definitions/rule" - }, - { - "allOf": [ - { - "$ref": "#/definitions/stringModifiers" - }, - { - "anyOf": [ - { - "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": "object", - "required": [ - "scale", - "value" - ] - }, - { - "type": "object", - "required": [ - "scale", - "band" - ] - }, - { - "type": "object", - "required": [ - "offset" - ] - } - ] - } - ] - } - ] - } - }, - { - "allOf": [ - { - "$ref": "#/definitions/stringModifiers" - }, - { - "anyOf": [ - { - "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": "object", - "required": [ - "scale", - "value" - ] - }, - { - "type": "object", - "required": [ - "scale", - "band" - ] - }, - { - "type": "object", - "required": [ - "offset" - ] - } - ] - } - ] - } - ] - }, - "strokeCapValue": { - "oneOf": [ - { - "type": "array", - "items": { - "allOf": [ - { - "$ref": "#/definitions/rule" - }, - { - "allOf": [ - { - "$ref": "#/definitions/stringModifiers" - }, - { - "anyOf": [ - { - "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": "object", - "required": [ - "scale", - "value" - ] - }, - { - "type": "object", - "required": [ - "scale", - "band" - ] - }, - { - "type": "object", - "required": [ - "offset" - ] - } - ] - } - ] - } - ] - } - }, - { - "allOf": [ - { - "$ref": "#/definitions/stringModifiers" - }, - { - "anyOf": [ - { - "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": "object", - "required": [ - "scale", - "value" - ] - }, - { - "type": "object", - "required": [ - "scale", - "band" - ] - }, - { - "type": "object", - "required": [ - "offset" - ] - } - ] - } - ] - } - ] - }, - "strokeJoinValue": { - "oneOf": [ - { - "type": "array", - "items": { - "allOf": [ - { - "$ref": "#/definitions/rule" - }, - { - "allOf": [ - { - "$ref": "#/definitions/stringModifiers" - }, - { - "anyOf": [ - { - "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": "object", - "required": [ - "scale", - "value" - ] - }, - { - "type": "object", - "required": [ - "scale", - "band" - ] - }, - { - "type": "object", - "required": [ - "offset" - ] - } - ] - } - ] - } - ] - } - }, - { - "allOf": [ - { - "$ref": "#/definitions/stringModifiers" - }, - { - "anyOf": [ - { - "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": "object", - "required": [ - "scale", - "value" - ] - }, - { - "type": "object", - "required": [ - "scale", - "band" - ] - }, - { - "type": "object", - "required": [ - "offset" - ] - } - ] - } - ] - } - ] - }, - "baseColorValue": { - "oneOf": [ - { - "allOf": [ - { - "$ref": "#/definitions/stringModifiers" - }, - { - "anyOf": [ - { - "oneOf": [ - { - "$ref": "#/definitions/signalRef" - }, - { - "type": "object", - "properties": { - "value": { - "oneOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - } - }, - "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" - ] - } - ] - } - ] - }, - { - "type": "object", - "properties": { - "value": { - "$ref": "#/definitions/linearGradient" - } - }, - "required": [ - "value" - ], - "additionalProperties": false - }, - { - "type": "object", - "properties": { - "value": { - "$ref": "#/definitions/radialGradient" - } - }, - "required": [ - "value" - ], - "additionalProperties": false - }, - { - "type": "object", - "properties": { - "gradient": { - "$ref": "#/definitions/field" - }, - "start": { - "type": "array", - "items": { - "type": "number" - }, - "minItems": 2, - "maxItems": 2 - }, - "stop": { - "type": "array", - "items": { - "type": "number" - }, - "minItems": 2, - "maxItems": 2 - }, - "count": { - "type": "number" - } - }, - "required": [ - "gradient" - ], - "additionalProperties": false - }, - { - "type": "object", - "properties": { - "color": { - "oneOf": [ - { - "$ref": "#/definitions/colorRGB" - }, - { - "$ref": "#/definitions/colorHSL" - }, - { - "$ref": "#/definitions/colorLAB" - }, - { - "$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": { - "row": { - "oneOf": [ - { - "enum": [ - "all", - "each", - "none" - ] - }, - { - "$ref": "#/definitions/signalRef" - } - ] - }, - "column": { - "oneOf": [ - { - "enum": [ - "all", - "each", - "none" - ] - }, - { - "$ref": "#/definitions/signalRef" - } - ] - } - }, - "additionalProperties": false - } - ] - }, - "bounds": { - "oneOf": [ - { - "enum": [ - "full", - "flush" - ] - }, - { - "$ref": "#/definitions/signalRef" - } - ] - }, - "center": { - "oneOf": [ - { - "type": "boolean" - }, - { - "$ref": "#/definitions/signalRef" - }, - { - "type": "object", - "properties": { - "row": { - "$ref": "#/definitions/booleanOrSignal" - }, - "column": { - "$ref": "#/definitions/booleanOrSignal" - } - }, - "additionalProperties": false - } - ] - }, - "columns": { - "$ref": "#/definitions/numberOrSignal" - }, - "padding": { - "oneOf": [ - { - "type": "number" - }, - { - "$ref": "#/definitions/signalRef" - }, - { - "type": "object", - "properties": { - "row": { - "$ref": "#/definitions/numberOrSignal" - }, - "column": { - "$ref": "#/definitions/numberOrSignal" - } - }, - "additionalProperties": false - } - ] - }, - "offset": { - "oneOf": [ - { - "type": "number" - }, - { - "$ref": "#/definitions/signalRef" - }, - { - "type": "object", - "properties": { - "rowHeader": { - "$ref": "#/definitions/numberOrSignal" - }, - "rowFooter": { - "$ref": "#/definitions/numberOrSignal" - }, - "rowTitle": { - "$ref": "#/definitions/numberOrSignal" - }, - "columnHeader": { - "$ref": "#/definitions/numberOrSignal" - }, - "columnFooter": { - "$ref": "#/definitions/numberOrSignal" - }, - "columnTitle": { - "$ref": "#/definitions/numberOrSignal" - } - }, - "additionalProperties": false - } - ] - }, - "headerBand": { - "oneOf": [ - { - "$ref": "#/definitions/numberOrSignal" - }, - { - "type": "null" - }, - { - "type": "object", - "properties": { - "row": { - "$ref": "#/definitions/numberOrSignal" - }, - "column": { - "$ref": "#/definitions/numberOrSignal" - } - }, - "additionalProperties": false - } - ] - }, - "footerBand": { - "oneOf": [ - { - "$ref": "#/definitions/numberOrSignal" - }, - { - "type": "null" - }, - { - "type": "object", - "properties": { - "row": { - "$ref": "#/definitions/numberOrSignal" - }, - "column": { - "$ref": "#/definitions/numberOrSignal" - } - }, - "additionalProperties": false - } - ] - }, - "titleBand": { - "oneOf": [ - { - "$ref": "#/definitions/numberOrSignal" - }, - { - "type": "null" - }, - { - "type": "object", - "properties": { - "row": { - "$ref": "#/definitions/numberOrSignal" - }, - "column": { - "$ref": "#/definitions/numberOrSignal" - } - }, - "additionalProperties": false - } - ] - }, - "titleAnchor": { - "oneOf": [ - { - "oneOf": [ - { - "enum": [ - "start", - "end" - ] - }, - { - "$ref": "#/definitions/signalRef" - } - ] - }, - { - "type": "object", - "properties": { - "row": { - "oneOf": [ - { - "enum": [ - "start", - "end" - ] - }, - { - "$ref": "#/definitions/signalRef" - } - ] - }, - "column": { - "oneOf": [ - { - "enum": [ - "start", - "end" - ] - }, - { - "$ref": "#/definitions/signalRef" - } - ] - } - }, - "additionalProperties": false - } - ] - } - }, - "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" - }, - "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": "#/definitions/signalRef" - } - ] - }, - "tickCount": { - "$ref": "#/definitions/tickCount" - }, - "tickMinStep": { - "$ref": "#/definitions/numberOrSignal" - }, - "symbolLimit": { - "$ref": "#/definitions/numberOrSignal" - }, - "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": "string" - }, - { - "$ref": "#/definitions/colorValue" - } - ] - }, - "offset": { - "oneOf": [ - { - "type": "number" - }, - { - "$ref": "#/definitions/numberValue" - } - ] - }, - "padding": { - "oneOf": [ - { - "type": "number" - }, - { - "$ref": "#/definitions/numberValue" - } - ] - }, - "strokeColor": { - "oneOf": [ - { - "type": "null" - }, - { - "type": "string" - }, - { - "$ref": "#/definitions/colorValue" - } - ] - }, - "legendX": { - "oneOf": [ - { - "type": "number" - }, - { - "$ref": "#/definitions/numberValue" - } - ] - }, - "legendY": { - "oneOf": [ - { - "type": "number" - }, - { - "$ref": "#/definitions/numberValue" - } - ] - }, - "title": { - "$ref": "#/definitions/textOrSignal" - }, - "titleAlign": { - "oneOf": [ - { - "enum": [ - "left", - "right", - "center" - ] - }, - { - "$ref": "#/definitions/alignValue" - } - ] - }, - "titleAnchor": { - "oneOf": [ - { - "enum": [ - null, - "start", - "middle", - "end" - ] - }, - { - "$ref": "#/definitions/anchorValue" - } - ] - }, - "titleBaseline": { - "oneOf": [ - { - "enum": [ - "top", - "middle", - "bottom", - "alphabetic", - "line-top", - "line-bottom" - ] - }, - { - "$ref": "#/definitions/baselineValue" - } - ] - }, - "titleColor": { - "oneOf": [ - { - "type": "null" - }, - { - "type": "string" - }, - { - "$ref": "#/definitions/colorValue" - } - ] - }, - "titleFont": { - "oneOf": [ - { - "type": "string" - }, - { - "$ref": "#/definitions/stringValue" - } - ] - }, - "titleFontSize": { - "oneOf": [ - { - "type": "number" - }, - { - "$ref": "#/definitions/numberValue" - } - ] - }, - "titleFontStyle": { - "oneOf": [ - { - "type": "string" - }, - { - "$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": "#/definitions/fontWeightValue" - } - ] - }, - "titleLimit": { - "oneOf": [ - { - "type": "number" - }, - { - "$ref": "#/definitions/numberValue" - } - ] - }, - "titleLineHeight": { - "oneOf": [ - { - "type": "number" - }, - { - "$ref": "#/definitions/numberValue" - } - ] - }, - "titleOpacity": { - "oneOf": [ - { - "type": "number" - }, - { - "$ref": "#/definitions/numberValue" - } - ] - }, - "titleOrient": { - "oneOf": [ - { - "enum": [ - "left", - "right", - "top", - "bottom" - ] - }, - { - "$ref": "#/definitions/orientValue" - } - ] - }, - "titlePadding": { - "oneOf": [ - { - "type": "number" - }, - { - "$ref": "#/definitions/numberValue" - } - ] - }, - "gradientLength": { - "$ref": "#/definitions/numberOrSignal" - }, - "gradientOpacity": { - "oneOf": [ - { - "type": "number" - }, - { - "$ref": "#/definitions/numberValue" - } - ] - }, - "gradientStrokeColor": { - "oneOf": [ - { - "type": "null" - }, - { - "type": "string" - }, - { - "$ref": "#/definitions/colorValue" - } - ] - }, - "gradientStrokeWidth": { - "oneOf": [ - { - "type": "number" - }, - { - "$ref": "#/definitions/numberValue" - } - ] - }, - "gradientThickness": { - "$ref": "#/definitions/numberOrSignal" - }, - "clipHeight": { - "$ref": "#/definitions/numberOrSignal" - }, - "columns": { - "$ref": "#/definitions/numberOrSignal" - }, - "columnPadding": { - "$ref": "#/definitions/numberOrSignal" - }, - "rowPadding": { - "$ref": "#/definitions/numberOrSignal" - }, - "gridAlign": { - "oneOf": [ - { - "enum": [ - "all", - "each", - "none" - ] - }, - { - "$ref": "#/definitions/signalRef" - } - ] - }, - "symbolDash": { - "oneOf": [ - { - "type": "array", - "items": { - "type": "number" - } - }, - { - "$ref": "#/definitions/arrayValue" - } - ] - }, - "symbolDashOffset": { - "oneOf": [ - { - "type": "number" - }, - { - "$ref": "#/definitions/numberValue" - } - ] - }, - "symbolFillColor": { - "oneOf": [ - { - "type": "null" - }, - { - "type": "string" - }, - { - "$ref": "#/definitions/colorValue" - } - ] - }, - "symbolOffset": { - "oneOf": [ - { - "type": "number" - }, - { - "$ref": "#/definitions/numberValue" - } - ] - }, - "symbolOpacity": { - "oneOf": [ - { - "type": "number" - }, - { - "$ref": "#/definitions/numberValue" - } - ] - }, - "symbolSize": { - "oneOf": [ - { - "type": "number" - }, - { - "$ref": "#/definitions/numberValue" - } - ] - }, - "symbolStrokeColor": { - "oneOf": [ - { - "type": "null" - }, - { - "type": "string" - }, - { - "$ref": "#/definitions/colorValue" - } - ] - }, - "symbolStrokeWidth": { - "oneOf": [ - { - "type": "number" - }, - { - "$ref": "#/definitions/numberValue" - } - ] - }, - "symbolType": { - "oneOf": [ - { - "type": "string" - }, - { - "$ref": "#/definitions/stringValue" - } - ] - }, - "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" - }, - "minutes": { - "type": "string" - }, - "seconds": { - "type": "string" - }, - "milliseconds": { - "type": "string" - } - }, - "additionalProperties": false - }, - { - "$ref": "#/definitions/signalRef" - } - ] - }, - "formatType": { - "oneOf": [ - { - "enum": [ - "number", - "time", - "utc" - ] - }, - { - "$ref": "#/definitions/signalRef" - } - ] - }, - "labelAlign": { - "oneOf": [ - { - "enum": [ - "left", - "right", - "center" - ] - }, - { - "$ref": "#/definitions/alignValue" - } - ] - }, - "labelBaseline": { - "oneOf": [ - { - "enum": [ - "top", - "middle", - "bottom", - "alphabetic", - "line-top", - "line-bottom" - ] - }, - { - "$ref": "#/definitions/baselineValue" - } - ] - }, - "labelColor": { - "oneOf": [ - { - "type": "null" - }, - { - "type": "string" - }, - { - "$ref": "#/definitions/colorValue" - } - ] - }, - "labelFont": { - "oneOf": [ - { - "type": "string" - }, - { - "$ref": "#/definitions/stringValue" - } - ] - }, - "labelFontSize": { - "oneOf": [ - { - "type": "number" - }, - { - "$ref": "#/definitions/numberValue" - } - ] - }, - "labelFontStyle": { - "oneOf": [ - { - "type": "string" - }, - { - "$ref": "#/definitions/stringValue" - } - ] - }, - "labelFontWeight": { - "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": "#/definitions/fontWeightValue" - } - ] - }, - "labelLimit": { - "oneOf": [ - { - "type": "number" - }, - { - "$ref": "#/definitions/numberValue" - } - ] - }, - "labelOffset": { - "oneOf": [ - { - "type": "number" - }, - { - "$ref": "#/definitions/numberValue" - } - ] - }, - "labelOpacity": { - "oneOf": [ - { - "type": "number" - }, - { - "$ref": "#/definitions/numberValue" - } - ] - }, - "labelOverlap": { - "$ref": "#/definitions/labelOverlap" - }, - "labelSeparation": { - "$ref": "#/definitions/numberOrSignal" - }, - "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 - }, - { - "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" - ] - } - ] - } - ] - }, - "compare": { - "oneOf": [ - { - "type": "object", - "properties": { - "field": { - "oneOf": [ - { - "$ref": "#/definitions/scaleField" - }, - { - "$ref": "#/definitions/expr" - } - ] - }, - "order": { - "$ref": "#/definitions/sortOrder" - } - }, - "additionalProperties": false - }, - { - "type": "object", - "properties": { - "field": { - "type": "array", - "items": { - "oneOf": [ - { - "$ref": "#/definitions/scaleField" - }, - { - "$ref": "#/definitions/expr" - } - ] - } - }, - "order": { - "type": "array", - "items": { - "$ref": "#/definitions/sortOrder" - } - } - }, - "additionalProperties": false - } - ] - }, - "from": { - "type": "object", - "properties": { - "data": { - "type": "string" - } - }, - "additionalProperties": false - }, - "facet": { - "type": "object", - "properties": { - "data": { - "type": "string" - }, - "facet": { - "oneOf": [ - { - "type": "object", - "properties": { - "name": { - "type": "string" - }, - "data": { - "type": "string" - }, - "field": { - "type": "string" - } - }, - "required": [ - "name", - "data", - "field" - ], - "additionalProperties": false - }, - { - "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 - } - ] - } - }, - "required": [ - "facet" - ], - "additionalProperties": false - }, - "mark": { - "type": "object", - "properties": { - "type": { - "$ref": "#/definitions/marktype" - }, - "role": { - "type": "string" - }, - "name": { - "type": "string" - }, - "description": { - "type": "string" - }, - "aria": { - "type": "boolean" - }, - "style": { - "$ref": "#/definitions/style" - }, - "key": { - "type": "string" - }, - "clip": { - "$ref": "#/definitions/markclip" - }, - "sort": { - "$ref": "#/definitions/compare" - }, - "interactive": { - "$ref": "#/definitions/booleanOrSignal" - }, - "encode": { - "$ref": "#/definitions/encode" - }, - "transform": { - "type": "array", - "items": { - "$ref": "#/definitions/transformMark" - } - }, - "on": { - "$ref": "#/definitions/onMarkTrigger" - } - }, - "required": [ - "type" - ] - }, - "markclip": { - "oneOf": [ - { - "$ref": "#/definitions/booleanOrSignal" - }, - { - "type": "object", - "properties": { - "path": { - "$ref": "#/definitions/stringOrSignal" - } - }, - "required": [ - "path" - ], - "additionalProperties": false - }, - { - "type": "object", - "properties": { - "sphere": { - "$ref": "#/definitions/stringOrSignal" - } - }, - "required": [ - "sphere" - ], - "additionalProperties": false - } - ] - }, - "markGroup": { - "allOf": [ - { - "type": "object", - "properties": { - "type": { - "enum": [ - "group" - ] - }, - "from": { - "oneOf": [ - { - "$ref": "#/definitions/from" - }, - { - "$ref": "#/definitions/facet" - } - ] - } - }, - "required": [ - "type" - ] - }, - { - "$ref": "#/definitions/mark" - }, - { - "$ref": "#/definitions/scope" - } - ] - }, - "markVisual": { - "allOf": [ - { - "type": "object", - "properties": { - "type": { - "not": { - "enum": [ - "group" - ] - } - }, - "from": { - "$ref": "#/definitions/from" - } - } - }, - { - "$ref": "#/definitions/mark" - } - ] - }, - "style": { - "oneOf": [ - { - "type": "string" - }, - { - "type": "array", - "items": { - "type": "string" - } - } - ] - }, - "marktype": { - "type": "string" - }, - "listener": { - "oneOf": [ - { - "$ref": "#/definitions/signalRef" - }, - { - "type": "object", - "properties": { - "scale": { - "type": "string" - } - }, - "required": [ - "scale" - ] - }, - { - "$ref": "#/definitions/stream" - } - ] - }, - "onEvents": { - "type": "array", - "items": { - "allOf": [ - { - "type": "object", - "properties": { - "events": { - "oneOf": [ - { - "$ref": "#/definitions/selector" - }, - { - "$ref": "#/definitions/listener" - }, - { - "type": "array", - "items": { - "$ref": "#/definitions/listener" - }, - "minItems": 1 - } - ] - }, - "force": { - "type": "boolean" - } - }, - "required": [ - "events" - ] - }, - { - "oneOf": [ - { - "type": "object", - "properties": { - "encode": { - "type": "string" - } - }, - "required": [ - "encode" - ] - }, - { - "type": "object", - "properties": { - "update": { - "oneOf": [ - { - "$ref": "#/definitions/exprString" - }, - { - "$ref": "#/definitions/expr" - }, - { - "$ref": "#/definitions/signalRef" - }, - { - "type": "object", - "properties": { - "value": {} - }, - "required": [ - "value" - ] - } - ] - } - }, - "required": [ - "update" - ] - } - ] - } - ] - } - }, - "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": "#/definitions/signalRef" - } - ] - }, - "scale": { - "$ref": "#/definitions/numberOrSignal" - }, - "translate": { - "oneOf": [ - { - "type": "array", - "items": { - "$ref": "#/definitions/numberOrSignal" - }, - "minItems": 2, - "maxItems": 2 - }, - { - "$ref": "#/definitions/signalRef" - } - ] - }, - "center": { - "oneOf": [ - { - "type": "array", - "items": { - "$ref": "#/definitions/numberOrSignal" - }, - "minItems": 2, - "maxItems": 2 - }, - { - "$ref": "#/definitions/signalRef" - } - ] - }, - "rotate": { - "oneOf": [ - { - "type": "array", - "items": { - "$ref": "#/definitions/numberOrSignal" - }, - "minItems": 2, - "maxItems": 3 - }, - { - "$ref": "#/definitions/signalRef" - } - ] - }, - "parallels": { - "oneOf": [ - { - "type": "array", - "items": { - "$ref": "#/definitions/numberOrSignal" - }, - "minItems": 2, - "maxItems": 2 - }, - { - "$ref": "#/definitions/signalRef" - } - ] - }, - "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 - }, - { - "$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": "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" - } - ] - }, - "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": [ - { - "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 - }, - { - "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": "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" - } - ] - }, - "reverse": { - "$ref": "#/definitions/booleanOrSignal" - }, - "round": { - "$ref": "#/definitions/booleanOrSignal" - } - }, - "required": [ - "type", - "name" - ], - "additionalProperties": false - }, - { - "type": "object", - "properties": { - "type": { - "enum": [ - "band" - ] - }, - "paddingInner": { - "$ref": "#/definitions/numberOrSignal" - }, - "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" - } - ] - }, - "padding": { - "$ref": "#/definitions/numberOrSignal" - }, - "paddingOuter": { - "$ref": "#/definitions/numberOrSignal" - }, - "align": { - "$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" - } - ] - }, - "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": [ - "point" - ] - }, - "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" - } - ] - }, - "padding": { - "$ref": "#/definitions/numberOrSignal" - }, - "paddingOuter": { - "$ref": "#/definitions/numberOrSignal" - }, - "align": { - "$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" - } - ] - }, - "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": [ - "quantize", - "threshold" - ] - }, - "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" - } - ] - }, - "interpolate": { - "$ref": "#/definitions/scaleInterpolate" - }, - "nice": { - "oneOf": [ - { - "type": "boolean" - }, - { - "type": "number" - }, - { - "$ref": "#/definitions/signalRef" - } - ] - }, - "zero": { - "$ref": "#/definitions/booleanOrSignal" - }, - "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" - } - ] - }, - "reverse": { - "$ref": "#/definitions/booleanOrSignal" - }, - "round": { - "$ref": "#/definitions/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" - }, - { - "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" - } - ] - }, - "interpolate": { - "$ref": "#/definitions/scaleInterpolate" - }, - "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" - } - ] - }, - "reverse": { - "$ref": "#/definitions/booleanOrSignal" - }, - "round": { - "$ref": "#/definitions/booleanOrSignal" - } - }, - "required": [ - "type", - "name" - ], - "additionalProperties": false - }, - { - "type": "object", - "properties": { - "type": { - "enum": [ - "bin-ordinal" - ] - }, - "bins": { - "$ref": "#/definitions/scaleBins" - }, - "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" - } - ] - }, - "interpolate": { - "$ref": "#/definitions/scaleInterpolate" - }, - "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" - } - ] - }, - "reverse": { - "$ref": "#/definitions/booleanOrSignal" - }, - "round": { - "$ref": "#/definitions/booleanOrSignal" - } - }, - "required": [ - "type", - "name" - ], - "additionalProperties": false - }, - { - "type": "object", - "properties": { - "type": { - "enum": [ - "time", - "utc" - ] - }, - "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 - } - ] - }, - "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" - } - ] - }, - "bins": { - "$ref": "#/definitions/scaleBins" - }, - "interpolate": { - "$ref": "#/definitions/scaleInterpolate" - }, - "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" - } - ] - }, - "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": [ - "linear", - "sqrt", - "sequential" - ] - }, - "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" - } - ] - }, - "bins": { - "$ref": "#/definitions/scaleBins" - }, - "interpolate": { - "$ref": "#/definitions/scaleInterpolate" - }, - "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" - } - ] - }, - "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" - ], - "additionalProperties": false - }, - { - "type": "object", - "properties": { - "type": { - "enum": [ - "log" - ] - }, - "base": { - "$ref": "#/definitions/numberOrSignal" - }, - "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" - } - ] - }, - "bins": { - "$ref": "#/definitions/scaleBins" - }, - "interpolate": { - "$ref": "#/definitions/scaleInterpolate" - }, - "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" - } - ] - }, - "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": [ - "pow" - ] - }, - "exponent": { - "$ref": "#/definitions/numberOrSignal" - }, - "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" - } - ] - }, - "bins": { - "$ref": "#/definitions/scaleBins" - }, - "interpolate": { - "$ref": "#/definitions/scaleInterpolate" - }, - "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" - } - ] - }, - "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": [ - "symlog" - ] - }, - "constant": { - "$ref": "#/definitions/numberOrSignal" - }, - "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" - } - ] - }, - "bins": { - "$ref": "#/definitions/scaleBins" - }, - "interpolate": { - "$ref": "#/definitions/scaleInterpolate" - }, - "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" - } - ] - }, - "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 - } - ] - }, - "scaleField": { - "$ref": "#/definitions/stringOrSignal" - }, - "sortOrder": { - "oneOf": [ - { - "enum": [ - "ascending", - "descending" - ] - }, - { - "$ref": "#/definitions/signalRef" - } - ] - }, - "scaleBins": { - "oneOf": [ - { - "type": "array", - "items": { - "$ref": "#/definitions/numberOrSignal" - } - }, - { - "type": "object", - "properties": { - "step": { - "$ref": "#/definitions/numberOrSignal" - }, - "start": { - "$ref": "#/definitions/numberOrSignal" - }, - "stop": { - "$ref": "#/definitions/numberOrSignal" - } - }, - "required": [ - "step" - ], - "additionalProperties": false - }, - { - "$ref": "#/definitions/signalRef" - } - ] - }, - "scaleInterpolate": { - "oneOf": [ - { - "type": "string" - }, - { - "$ref": "#/definitions/signalRef" - }, - { - "type": "object", - "properties": { - "type": { - "$ref": "#/definitions/stringOrSignal" - }, - "gamma": { - "$ref": "#/definitions/numberOrSignal" - } - }, - "required": [ - "type" - ], - "additionalProperties": false - } - ] - }, - "scaleData": { - "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 - } - ] - }, - "scope": { - "type": "object", - "properties": { - "encode": { - "$ref": "#/definitions/encode" - }, - "layout": { - "$ref": "#/definitions/layout" - }, - "signals": { - "type": "array", - "items": { - "$ref": "#/definitions/signal" - } - }, - "data": { - "type": "array", - "items": { - "$ref": "#/definitions/data" - } - }, - "scales": { - "type": "array", - "items": { - "$ref": "#/definitions/scale" - } - }, - "projections": { - "type": "array", - "items": { - "$ref": "#/definitions/projection" - } - }, - "axes": { - "type": "array", - "items": { - "$ref": "#/definitions/axis" - } - }, - "legends": { - "type": "array", - "items": { - "$ref": "#/definitions/legend" - } - }, - "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" - }, - "description": { - "type": "string" - }, - "push": { - "enum": [ - "outer" - ] - }, - "on": { - "$ref": "#/definitions/onEvents" - } - }, - "required": [ - "name", - "push" - ], - "additionalProperties": false - }, - { - "type": "object", - "properties": { - "name": { - "$ref": "#/definitions/signalName" - }, - "description": { - "type": "string" - }, - "value": {}, - "react": { - "type": "boolean", - "default": true - }, - "update": { - "$ref": "#/definitions/exprString" - }, - "on": { - "$ref": "#/definitions/onEvents" - }, - "bind": { - "$ref": "#/definitions/bind" - } - }, - "required": [ - "name" - ], - "additionalProperties": false - }, - { - "type": "object", - "properties": { - "name": { - "$ref": "#/definitions/signalName" - }, - "description": { - "type": "string" - }, - "value": {}, - "init": { - "$ref": "#/definitions/exprString" - }, - "on": { - "$ref": "#/definitions/onEvents" - }, - "bind": { - "$ref": "#/definitions/bind" - } - }, - "required": [ - "name", - "init" - ], - "additionalProperties": false - } - ] - }, - "signalName": { - "type": "string", - "not": { - "enum": [ - "parent", - "datum", - "event", - "item" - ] - } - }, - "signalRef": { - "type": "object", - "properties": { - "signal": { - "type": "string" - } - }, - "required": [ - "signal" - ] - }, - "arrayOrSignal": { - "oneOf": [ - { - "type": "array" - }, - { - "$ref": "#/definitions/signalRef" - } - ] - }, - "booleanOrSignal": { - "oneOf": [ - { - "type": "boolean" - }, - { - "$ref": "#/definitions/signalRef" - } - ] - }, - "numberOrSignal": { - "oneOf": [ - { - "type": "number" - }, - { - "$ref": "#/definitions/signalRef" - } - ] - }, - "stringOrSignal": { - "oneOf": [ - { - "type": "string" - }, - { - "$ref": "#/definitions/signalRef" - } - ] - }, - "textOrSignal": { - "oneOf": [ - { - "oneOf": [ - { - "type": "string" - }, - { - "type": "array", - "items": { - "type": "string" - } - } - ] - }, - { - "$ref": "#/definitions/signalRef" - } - ] - }, - "stream": { - "allOf": [ - { - "type": "object", - "properties": { - "between": { - "type": "array", - "items": { - "$ref": "#/definitions/stream" - }, - "minItems": 2, - "maxItems": 2 - }, - "marktype": { - "type": "string" - }, - "markname": { - "type": "string" - }, - "filter": { - "oneOf": [ - { - "$ref": "#/definitions/exprString" - }, - { - "type": "array", - "items": { - "$ref": "#/definitions/exprString" - }, - "minItems": 1 - } - ] - }, - "throttle": { - "type": "number" - }, - "debounce": { - "type": "number" - }, - "consume": { - "type": "boolean" - } - } - }, - { - "oneOf": [ - { - "type": "object", - "properties": { - "type": { - "type": "string" - }, - "source": { - "type": "string" - } - }, - "required": [ - "type" - ] - }, - { - "type": "object", - "properties": { - "stream": { - "$ref": "#/definitions/stream" - } - }, - "required": [ - "stream" - ] - }, - { - "type": "object", - "properties": { - "merge": { - "type": "array", - "items": { - "$ref": "#/definitions/stream" - }, - "minItems": 1 - } - }, - "required": [ - "merge" - ] - } - ] - } - ] - }, - "title": { - "oneOf": [ - { - "type": "string" - }, - { - "type": "object", - "properties": { - "orient": { - "oneOf": [ - { - "enum": [ - "none", - "left", - "right", - "top", - "bottom" - ], - "default": "top" - }, - { - "$ref": "#/definitions/signalRef" - } - ] - }, - "anchor": { - "oneOf": [ - { - "enum": [ - null, - "start", - "middle", - "end" - ] - }, - { - "$ref": "#/definitions/anchorValue" - } - ] - }, - "frame": { - "oneOf": [ - { - "enum": [ - "group", - "bounds" - ] - }, - { - "$ref": "#/definitions/stringValue" - } - ] - }, - "offset": { - "oneOf": [ - { - "type": "number" - }, - { - "$ref": "#/definitions/numberValue" - } - ] - }, - "aria": { - "type": "boolean" - }, - "limit": { - "oneOf": [ - { - "type": "number" - }, - { - "$ref": "#/definitions/numberValue" - } - ] - }, - "zindex": { - "type": "number" - }, - "align": { - "oneOf": [ - { - "enum": [ - "left", - "right", - "center" - ] - }, - { - "$ref": "#/definitions/alignValue" - } - ] - }, - "angle": { - "oneOf": [ - { - "type": "number" - }, - { - "$ref": "#/definitions/numberValue" - } - ] - }, - "baseline": { - "oneOf": [ - { - "enum": [ - "top", - "middle", - "bottom", - "alphabetic", - "line-top", - "line-bottom" - ] - }, - { - "$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 - ] - }, - { - "$ref": "#/definitions/fontWeightValue" - } - ] - }, - "lineHeight": { - "oneOf": [ - { - "type": "number" - }, - { - "$ref": "#/definitions/numberValue" - } - ] - }, - "subtitle": { - "$ref": "#/definitions/textOrSignal" - }, - "subtitleColor": { - "oneOf": [ - { - "type": "null" - }, - { - "type": "string" - }, - { - "$ref": "#/definitions/colorValue" - } - ] - }, - "subtitleFont": { - "oneOf": [ - { - "type": "string" - }, - { - "$ref": "#/definitions/stringValue" - } - ] - }, - "subtitleFontSize": { - "oneOf": [ - { - "type": "number" - }, - { - "$ref": "#/definitions/numberValue" - } - ] - }, - "subtitleFontStyle": { - "oneOf": [ - { - "type": "string" - }, - { - "$ref": "#/definitions/stringValue" - } - ] - }, - "subtitleFontWeight": { - "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": "#/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" - } - } - }, - { - "type": "object", - "properties": { - "group": { - "$ref": "#/definitions/guideEncode" - }, - "title": { - "$ref": "#/definitions/guideEncode" - }, - "subtitle": { - "$ref": "#/definitions/guideEncode" - } - }, - "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" - ] - }, - "signal": { - "type": "string" - }, - "fields": { - "oneOf": [ - { - "type": "array", - "items": { - "oneOf": [ - { - "$ref": "#/definitions/scaleField" - }, - { - "$ref": "#/definitions/paramField" - }, - { - "$ref": "#/definitions/expr" - } - ] - } - }, - { - "$ref": "#/definitions/signalRef" - } - ] - }, - "query": { - "oneOf": [ - { - "type": "array", - "items": {} - }, - { - "$ref": "#/definitions/signalRef" - } - ] - } - }, - "required": [ - "type", - "fields", - "query" - ], - "additionalProperties": false - }, - "resolvefilterTransform": { - "type": "object", - "properties": { - "type": { - "enum": [ - "resolvefilter" - ] - }, - "signal": { - "type": "string" - }, - "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": "#/definitions/scaleField" - }, - { - "$ref": "#/definitions/paramField" - }, - { - "$ref": "#/definitions/expr" - } - ], - "default": "source.x" - }, - "sourceY": { - "oneOf": [ - { - "$ref": "#/definitions/scaleField" - }, - { - "$ref": "#/definitions/paramField" - }, - { - "$ref": "#/definitions/expr" - } - ], - "default": "source.y" - }, - "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": [ - { - "enum": [ - "horizontal", - "vertical", - "radial" - ] - }, - { - "$ref": "#/definitions/signalRef" - } - ], - "default": "vertical" - }, - "shape": { - "anyOf": [ - { - "enum": [ - "line", - "arc", - "curve", - "diagonal", - "orthogonal" - ] - }, - { - "$ref": "#/definitions/signalRef" - } - ], - "default": "line" - }, - "require": { - "$ref": "#/definitions/signalRef" - }, - "as": { - "anyOf": [ - { - "type": "string" - }, - { - "$ref": "#/definitions/signalRef" - } - ], - "default": "path" - } - }, - "required": [ - "type" - ], - "additionalProperties": false - }, - "pieTransform": { - "type": "object", - "properties": { - "type": { - "enum": [ - "pie" - ] - }, - "signal": { - "type": "string" - }, - "field": { - "oneOf": [ - { - "$ref": "#/definitions/scaleField" - }, - { - "$ref": "#/definitions/paramField" - }, - { - "$ref": "#/definitions/expr" - } - ] - }, - "startAngle": { - "anyOf": [ - { - "type": "number" - }, - { - "$ref": "#/definitions/signalRef" - } - ] - }, - "endAngle": { - "anyOf": [ - { - "type": "number" - }, - { - "$ref": "#/definitions/signalRef" - } - ], - "default": 6.283185307179586 - }, - "sort": { - "anyOf": [ - { - "type": "boolean" - }, - { - "$ref": "#/definitions/signalRef" - } - ] - }, - "as": { - "oneOf": [ - { - "type": "array", - "items": { - "anyOf": [ - { - "type": "string" - }, - { - "$ref": "#/definitions/signalRef" - } - ] - }, - "maxItems": 2, - "minItems": 2 - }, - { - "$ref": "#/definitions/signalRef" - } - ], - "default": [ - "startAngle", - "endAngle" - ] - } - }, - "required": [ - "type" - ], - "additionalProperties": false - }, - "stackTransform": { - "type": "object", - "properties": { - "type": { - "enum": [ - "stack" - ] - }, - "signal": { - "type": "string" - }, - "field": { - "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" - } - ] - }, - "sort": { - "$ref": "#/definitions/compare" - }, - "offset": { - "anyOf": [ - { - "enum": [ - "zero", - "center", - "normalize" - ] - }, - { - "$ref": "#/definitions/signalRef" - } - ], - "default": "zero" - }, - "as": { - "oneOf": [ - { - "type": "array", - "items": { - "anyOf": [ - { - "type": "string" - }, - { - "$ref": "#/definitions/signalRef" - } - ] - }, - "maxItems": 2, - "minItems": 2 - }, - { - "$ref": "#/definitions/signalRef" - } - ], - "default": [ - "y0", - "y1" - ] - } - }, - "required": [ - "type" - ], - "additionalProperties": false - }, - "forceTransform": { - "type": "object", - "properties": { - "type": { - "enum": [ - "force" - ] - }, - "signal": { - "type": "string" - }, - "static": { - "anyOf": [ - { - "type": "boolean" - }, - { - "$ref": "#/definitions/signalRef" - } - ] - }, - "restart": { - "anyOf": [ - { - "type": "boolean" - }, - { - "$ref": "#/definitions/signalRef" - } - ] - }, - "iterations": { - "anyOf": [ - { - "type": "number" - }, - { - "$ref": "#/definitions/signalRef" - } - ], - "default": 300 - }, - "alpha": { - "anyOf": [ - { - "type": "number" - }, - { - "$ref": "#/definitions/signalRef" - } - ], - "default": 1 - }, - "alphaMin": { - "anyOf": [ - { - "type": "number" - }, - { - "$ref": "#/definitions/signalRef" - } - ], - "default": 0.001 - }, - "alphaTarget": { - "anyOf": [ - { - "type": "number" - }, - { - "$ref": "#/definitions/signalRef" - } - ] - }, - "velocityDecay": { - "anyOf": [ - { - "type": "number" - }, - { - "$ref": "#/definitions/signalRef" - } - ], - "default": 0.4 - }, - "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" - } - ] - }, - "strength": { - "anyOf": [ - { - "type": "number" - }, - { - "$ref": "#/definitions/signalRef" - } - ], - "default": 0.7 - }, - "iterations": { - "anyOf": [ - { - "type": "number" - }, - { - "$ref": "#/definitions/signalRef" - } - ], - "default": 1 - } - }, - "required": [ - "force" - ], - "additionalProperties": false - }, - { - "type": "object", - "properties": { - "force": { - "enum": [ - "nbody" - ] - }, - "strength": { - "anyOf": [ - { - "type": "number" - }, - { - "$ref": "#/definitions/signalRef" - } - ], - "default": -30 - }, - "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" - } - ] - } - }, - "required": [ - "force" - ], - "additionalProperties": false - }, - { - "type": "object", - "properties": { - "force": { - "enum": [ - "link" - ] - }, - "links": { - "type": "string" - }, - "id": { - "oneOf": [ - { - "$ref": "#/definitions/scaleField" - }, - { - "$ref": "#/definitions/paramField" - }, - { - "$ref": "#/definitions/expr" - } - ] - }, - "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 - } - }, - "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": [ - "y" - ] - }, - "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 - } - ] - } - }, - "as": { - "oneOf": [ - { - "type": "array", - "items": { - "anyOf": [ - { - "type": "string" - }, - { - "$ref": "#/definitions/signalRef" - } - ] - } - }, - { - "$ref": "#/definitions/signalRef" - } - ], - "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": "#/definitions/signalRef" - } - ] - }, - "maxItems": 2, - "minItems": 2 - }, - { - "$ref": "#/definitions/signalRef" - } - ] - }, - "values": { - "oneOf": [ - { - "type": "array", - "items": { - "anyOf": [ - { - "type": "number" - }, - { - "$ref": "#/definitions/signalRef" - } - ] - } - }, - { - "$ref": "#/definitions/signalRef" - } - ] - }, - "x": { - "oneOf": [ - { - "$ref": "#/definitions/scaleField" - }, - { - "$ref": "#/definitions/paramField" - }, - { - "$ref": "#/definitions/expr" - } - ] - }, - "y": { - "oneOf": [ - { - "$ref": "#/definitions/scaleField" - }, - { - "$ref": "#/definitions/paramField" - }, - { - "$ref": "#/definitions/expr" - } - ] - }, - "weight": { - "oneOf": [ - { - "$ref": "#/definitions/scaleField" - }, - { - "$ref": "#/definitions/paramField" - }, - { - "$ref": "#/definitions/expr" - } - ] - }, - "cellSize": { - "anyOf": [ - { - "type": "number" - }, - { - "$ref": "#/definitions/signalRef" - } - ] - }, - "bandwidth": { - "anyOf": [ - { - "type": "number" - }, - { - "$ref": "#/definitions/signalRef" - } - ] - }, - "count": { - "anyOf": [ - { - "type": "number" - }, - { - "$ref": "#/definitions/signalRef" - } - ] - }, - "nice": { - "anyOf": [ - { - "type": "boolean" - }, - { - "$ref": "#/definitions/signalRef" - } - ] - }, - "thresholds": { - "oneOf": [ - { - "type": "array", - "items": { - "anyOf": [ - { - "type": "number" - }, - { - "$ref": "#/definitions/signalRef" - } - ] - } - }, - { - "$ref": "#/definitions/signalRef" - } - ] - }, - "smooth": { - "anyOf": [ - { - "type": "boolean" - }, - { - "$ref": "#/definitions/signalRef" - } - ], - "default": true - } - }, - "required": [ - "type", - "size" - ], - "additionalProperties": false - }, - "geojsonTransform": { - "type": "object", - "properties": { - "type": { - "enum": [ - "geojson" - ] - }, - "signal": { - "type": "string" - }, - "fields": { - "oneOf": [ - { - "type": "array", - "items": { - "oneOf": [ - { - "$ref": "#/definitions/scaleField" - }, - { - "$ref": "#/definitions/paramField" - }, - { - "$ref": "#/definitions/expr" - } - ] - }, - "maxItems": 2, - "minItems": 2 - }, - { - "$ref": "#/definitions/signalRef" - } - ] - }, - "geojson": { - "oneOf": [ - { - "$ref": "#/definitions/scaleField" - }, - { - "$ref": "#/definitions/paramField" - }, - { - "$ref": "#/definitions/expr" - } - ] - } - }, - "required": [ - "type" - ], - "additionalProperties": false - }, - "geopathTransform": { - "type": "object", - "properties": { - "type": { - "enum": [ - "geopath" - ] - }, - "signal": { - "type": "string" - }, - "projection": { - "type": "string" - }, - "field": { - "oneOf": [ - { - "$ref": "#/definitions/scaleField" - }, - { - "$ref": "#/definitions/paramField" - }, - { - "$ref": "#/definitions/expr" - } - ] - }, - "pointRadius": { - "anyOf": [ - { - "type": "number" - }, - { - "$ref": "#/definitions/signalRef" - }, - { - "$ref": "#/definitions/expr" - }, - { - "$ref": "#/definitions/paramField" - } - ] - }, - "as": { - "anyOf": [ - { - "type": "string" - }, - { - "$ref": "#/definitions/signalRef" - } - ], - "default": "path" - } - }, - "required": [ - "type" - ], - "additionalProperties": false - }, - "geopointTransform": { - "type": "object", - "properties": { - "type": { - "enum": [ - "geopoint" - ] - }, - "signal": { - "type": "string" - }, - "projection": { - "type": "string" - }, - "fields": { - "oneOf": [ - { - "type": "array", - "items": { - "oneOf": [ - { - "$ref": "#/definitions/scaleField" - }, - { - "$ref": "#/definitions/paramField" - }, - { - "$ref": "#/definitions/expr" - } - ] - }, - "maxItems": 2, - "minItems": 2 - }, - { - "$ref": "#/definitions/signalRef" - } - ] - }, - "as": { - "oneOf": [ - { - "type": "array", - "items": { - "anyOf": [ - { - "type": "string" - }, - { - "$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": "#/definitions/expr" - }, - { - "$ref": "#/definitions/paramField" - } - ] - }, - "as": { - "anyOf": [ - { - "type": "string" - }, - { - "$ref": "#/definitions/signalRef" - } - ], - "default": "shape" - } - }, - "required": [ - "type" - ], - "additionalProperties": false - }, - "graticuleTransform": { - "type": "object", - "properties": { - "type": { - "enum": [ - "graticule" - ] - }, - "signal": { - "type": "string" - }, - "extent": { - "oneOf": [ - { - "type": "array", - "items": {}, - "maxItems": 2, - "minItems": 2 - }, - { - "$ref": "#/definitions/signalRef" - } - ] - }, - "extentMajor": { - "oneOf": [ - { - "type": "array", - "items": {}, - "maxItems": 2, - "minItems": 2 - }, - { - "$ref": "#/definitions/signalRef" - } - ] - }, - "extentMinor": { - "oneOf": [ - { - "type": "array", - "items": {}, - "maxItems": 2, - "minItems": 2 - }, - { - "$ref": "#/definitions/signalRef" - } - ] - }, - "step": { - "oneOf": [ - { - "type": "array", - "items": { - "anyOf": [ - { - "type": "number" - }, - { - "$ref": "#/definitions/signalRef" - } - ] - }, - "maxItems": 2, - "minItems": 2 - }, - { - "$ref": "#/definitions/signalRef" - } - ] - }, - "stepMajor": { - "oneOf": [ - { - "type": "array", - "items": { - "anyOf": [ - { - "type": "number" - }, - { - "$ref": "#/definitions/signalRef" - } - ] - }, - "maxItems": 2, - "minItems": 2 - }, - { - "$ref": "#/definitions/signalRef" - } - ], - "default": [ - 90, - 360 - ] - }, - "stepMinor": { - "oneOf": [ - { - "type": "array", - "items": { - "anyOf": [ - { - "type": "number" - }, - { - "$ref": "#/definitions/signalRef" - } - ] - }, - "maxItems": 2, - "minItems": 2 - }, - { - "$ref": "#/definitions/signalRef" - } - ], - "default": [ - 10, - 10 - ] - }, - "precision": { - "anyOf": [ - { - "type": "number" - }, - { - "$ref": "#/definitions/signalRef" - } - ], - "default": 2.5 - } - }, - "required": [ - "type" - ], - "additionalProperties": false - }, - "heatmapTransform": { - "type": "object", - "properties": { - "type": { - "enum": [ - "heatmap" - ] - }, - "signal": { - "type": "string" - }, - "field": { - "oneOf": [ - { - "$ref": "#/definitions/scaleField" - }, - { - "$ref": "#/definitions/paramField" - }, - { - "$ref": "#/definitions/expr" - } - ] - }, - "color": { - "anyOf": [ - { - "type": "string" - }, - { - "$ref": "#/definitions/signalRef" - }, - { - "$ref": "#/definitions/expr" - }, - { - "$ref": "#/definitions/paramField" - } - ] - }, - "opacity": { - "anyOf": [ - { - "type": "number" - }, - { - "$ref": "#/definitions/signalRef" - }, - { - "$ref": "#/definitions/expr" - }, - { - "$ref": "#/definitions/paramField" - } - ] - }, - "resolve": { - "anyOf": [ - { - "enum": [ - "shared", - "independent" - ] - }, - { - "$ref": "#/definitions/signalRef" - } - ], - "default": "independent" - }, - "as": { - "anyOf": [ - { - "type": "string" - }, - { - "$ref": "#/definitions/signalRef" - } - ], - "default": "image" - } - }, - "required": [ - "type" - ], - "additionalProperties": false - }, - "isocontourTransform": { - "type": "object", - "properties": { - "type": { - "enum": [ - "isocontour" - ] - }, - "signal": { - "type": "string" - }, - "field": { - "oneOf": [ - { - "$ref": "#/definitions/scaleField" - }, - { - "$ref": "#/definitions/paramField" - }, - { - "$ref": "#/definitions/expr" - } - ] - }, - "thresholds": { - "oneOf": [ - { - "type": "array", - "items": { - "anyOf": [ - { - "type": "number" - }, - { - "$ref": "#/definitions/signalRef" - } - ] - } - }, - { - "$ref": "#/definitions/signalRef" - } - ] - }, - "levels": { - "anyOf": [ - { - "type": "number" - }, - { - "$ref": "#/definitions/signalRef" - } - ] - }, - "nice": { - "anyOf": [ - { - "type": "boolean" - }, - { - "$ref": "#/definitions/signalRef" - } - ] - }, - "resolve": { - "anyOf": [ - { - "enum": [ - "shared", - "independent" - ] - }, - { - "$ref": "#/definitions/signalRef" - } - ], - "default": "independent" - }, - "zero": { - "anyOf": [ - { - "type": "boolean" - }, - { - "$ref": "#/definitions/signalRef" - } - ], - "default": true - }, - "smooth": { - "anyOf": [ - { - "type": "boolean" - }, - { - "$ref": "#/definitions/signalRef" - } - ], - "default": true - }, - "scale": { - "anyOf": [ - { - "type": "number" - }, - { - "$ref": "#/definitions/signalRef" - }, - { - "$ref": "#/definitions/expr" - }, - { - "$ref": "#/definitions/paramField" - } - ] - }, - "translate": { - "oneOf": [ - { - "type": "array", - "items": { - "anyOf": [ - { - "type": "number" - }, - { - "$ref": "#/definitions/signalRef" - }, - { - "$ref": "#/definitions/expr" - }, - { - "$ref": "#/definitions/paramField" - } - ] - } - }, - { - "$ref": "#/definitions/signalRef" - } - ] - }, - "as": { - "anyOf": [ - { - "type": "string" - }, - { - "$ref": "#/definitions/signalRef" - }, - { - "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": "#/definitions/signalRef" - } - ] - }, - "maxItems": 2, - "minItems": 2 - }, - { - "$ref": "#/definitions/signalRef" - } - ] - }, - "x": { - "oneOf": [ - { - "$ref": "#/definitions/scaleField" - }, - { - "$ref": "#/definitions/paramField" - }, - { - "$ref": "#/definitions/expr" - } - ] - }, - "y": { - "oneOf": [ - { - "$ref": "#/definitions/scaleField" - }, - { - "$ref": "#/definitions/paramField" - }, - { - "$ref": "#/definitions/expr" - } - ] - }, - "weight": { - "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" - } - ] - }, - "cellSize": { - "anyOf": [ - { - "type": "number" - }, - { - "$ref": "#/definitions/signalRef" - } - ] - }, - "bandwidth": { - "oneOf": [ - { - "type": "array", - "items": { - "anyOf": [ - { - "type": "number" - }, - { - "$ref": "#/definitions/signalRef" - } - ] - }, - "maxItems": 2, - "minItems": 2 - }, - { - "$ref": "#/definitions/signalRef" - } - ] - }, - "counts": { - "anyOf": [ - { - "type": "boolean" - }, - { - "$ref": "#/definitions/signalRef" - } - ] - }, - "as": { - "anyOf": [ - { - "type": "string" - }, - { - "$ref": "#/definitions/signalRef" - } - ], - "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": "#/definitions/scaleField" - }, - { - "$ref": "#/definitions/paramField" - }, - { - "$ref": "#/definitions/expr" - } - ] - } - }, - { - "$ref": "#/definitions/signalRef" - } - ] - }, - "generate": { - "anyOf": [ - { - "type": "boolean" - }, - { - "$ref": "#/definitions/signalRef" - } - ] - } - }, - "required": [ - "type" - ], - "additionalProperties": false - }, - "packTransform": { - "type": "object", - "properties": { - "type": { - "enum": [ - "pack" - ] - }, - "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" - } - ] - }, - "radius": { - "oneOf": [ - { - "$ref": "#/definitions/scaleField" - }, - { - "$ref": "#/definitions/paramField" - }, - { - "$ref": "#/definitions/expr" - } - ] - }, - "size": { - "oneOf": [ - { - "type": "array", - "items": { - "anyOf": [ - { - "type": "number" - }, - { - "$ref": "#/definitions/signalRef" - } - ] - }, - "maxItems": 2, - "minItems": 2 - }, - { - "$ref": "#/definitions/signalRef" - } - ] - }, - "as": { - "oneOf": [ - { - "type": "array", - "items": { - "anyOf": [ - { - "type": "string" - }, - { - "$ref": "#/definitions/signalRef" - } - ] - }, - "maxItems": 5, - "minItems": 5 - }, - { - "$ref": "#/definitions/signalRef" - } - ], - "default": [ - "x", - "y", - "r", - "depth", - "children" - ] - } - }, - "required": [ - "type" - ], - "additionalProperties": false - }, - "partitionTransform": { - "type": "object", - "properties": { - "type": { - "enum": [ - "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": [ - { - "type": "array", - "items": { - "anyOf": [ - { - "type": "number" - }, - { - "$ref": "#/definitions/signalRef" - } - ] - }, - "maxItems": 2, - "minItems": 2 - }, - { - "$ref": "#/definitions/signalRef" - } - ] - }, - "as": { - "oneOf": [ - { - "type": "array", - "items": { - "anyOf": [ - { - "type": "string" - }, - { - "$ref": "#/definitions/signalRef" - } - ] - }, - "maxItems": 6, - "minItems": 6 - }, - { - "$ref": "#/definitions/signalRef" - } - ], - "default": [ - "x0", - "y0", - "x1", - "y1", - "depth", - "children" - ] - } - }, - "required": [ - "type" - ], - "additionalProperties": false - }, - "stratifyTransform": { - "type": "object", - "properties": { - "type": { - "enum": [ - "stratify" - ] - }, - "signal": { - "type": "string" - }, - "key": { - "oneOf": [ - { - "$ref": "#/definitions/scaleField" - }, - { - "$ref": "#/definitions/paramField" - }, - { - "$ref": "#/definitions/expr" - } - ] - }, - "parentKey": { - "oneOf": [ - { - "$ref": "#/definitions/scaleField" - }, - { - "$ref": "#/definitions/paramField" - }, - { - "$ref": "#/definitions/expr" - } - ] - } - }, - "required": [ - "type", - "key", - "parentKey" - ], - "additionalProperties": false - }, - "treeTransform": { - "type": "object", - "properties": { - "type": { - "enum": [ - "tree" - ] - }, - "signal": { - "type": "string" - }, - "field": { - "oneOf": [ - { - "$ref": "#/definitions/scaleField" - }, - { - "$ref": "#/definitions/paramField" - }, - { - "$ref": "#/definitions/expr" - } - ] - }, - "sort": { - "$ref": "#/definitions/compare" - }, - "method": { - "anyOf": [ - { - "enum": [ - "tidy", - "cluster" - ] - }, - { - "$ref": "#/definitions/signalRef" - } - ], - "default": "tidy" - }, - "size": { - "oneOf": [ - { - "type": "array", - "items": { - "anyOf": [ - { - "type": "number" - }, - { - "$ref": "#/definitions/signalRef" - } - ] - }, - "maxItems": 2, - "minItems": 2 - }, - { - "$ref": "#/definitions/signalRef" - } - ] - }, - "nodeSize": { - "oneOf": [ - { - "type": "array", - "items": { - "anyOf": [ - { - "type": "number" - }, - { - "$ref": "#/definitions/signalRef" - } - ] - }, - "maxItems": 2, - "minItems": 2 - }, - { - "$ref": "#/definitions/signalRef" - } - ] - }, - "separation": { - "anyOf": [ - { - "type": "boolean" - }, - { - "$ref": "#/definitions/signalRef" - } - ], - "default": true - }, - "as": { - "oneOf": [ - { - "type": "array", - "items": { - "anyOf": [ - { - "type": "string" - }, - { - "$ref": "#/definitions/signalRef" - } - ] - }, - "maxItems": 4, - "minItems": 4 - }, - { - "$ref": "#/definitions/signalRef" - } - ], - "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": "#/definitions/scaleField" - }, - { - "$ref": "#/definitions/paramField" - }, - { - "$ref": "#/definitions/expr" - } - ] - }, - "sort": { - "$ref": "#/definitions/compare" - }, - "method": { - "anyOf": [ - { - "enum": [ - "squarify", - "resquarify", - "binary", - "dice", - "slice", - "slicedice" - ] - }, - { - "$ref": "#/definitions/signalRef" - } - ], - "default": "squarify" - }, - "padding": { - "anyOf": [ - { - "type": "number" - }, - { - "$ref": "#/definitions/signalRef" - } - ] - }, - "paddingInner": { - "anyOf": [ - { - "type": "number" - }, - { - "$ref": "#/definitions/signalRef" - } - ] - }, - "paddingOuter": { - "anyOf": [ - { - "type": "number" - }, - { - "$ref": "#/definitions/signalRef" - } - ] - }, - "paddingTop": { - "anyOf": [ - { - "type": "number" - }, - { - "$ref": "#/definitions/signalRef" - } - ] - }, - "paddingRight": { - "anyOf": [ - { - "type": "number" - }, - { - "$ref": "#/definitions/signalRef" - } - ] - }, - "paddingBottom": { - "anyOf": [ - { - "type": "number" - }, - { - "$ref": "#/definitions/signalRef" - } - ] - }, - "paddingLeft": { - "anyOf": [ - { - "type": "number" - }, - { - "$ref": "#/definitions/signalRef" - } - ] - }, - "ratio": { - "anyOf": [ - { - "type": "number" - }, - { - "$ref": "#/definitions/signalRef" - } - ], - "default": 1.618033988749895 - }, - "round": { - "anyOf": [ - { - "type": "boolean" - }, - { - "$ref": "#/definitions/signalRef" - } - ] - }, - "size": { - "oneOf": [ - { - "type": "array", - "items": { - "anyOf": [ - { - "type": "number" - }, - { - "$ref": "#/definitions/signalRef" - } - ] - }, - "maxItems": 2, - "minItems": 2 - }, - { - "$ref": "#/definitions/signalRef" - } - ] - }, - "as": { - "oneOf": [ - { - "type": "array", - "items": { - "anyOf": [ - { - "type": "string" - }, - { - "$ref": "#/definitions/signalRef" - } - ] - }, - "maxItems": 6, - "minItems": 6 - }, - { - "$ref": "#/definitions/signalRef" - } - ], - "default": [ - "x0", - "y0", - "x1", - "y1", - "depth", - "children" - ] - } - }, - "required": [ - "type" - ], - "additionalProperties": false - }, - "labelTransform": { - "type": "object", - "properties": { - "type": { - "enum": [ - "label" - ] - }, - "signal": { - "type": "string" - }, - "size": { - "oneOf": [ - { - "type": "array", - "items": { - "anyOf": [ - { - "type": "number" - }, - { - "$ref": "#/definitions/signalRef" - } - ] - }, - "maxItems": 2, - "minItems": 2 - }, - { - "$ref": "#/definitions/signalRef" - } - ] - }, - "sort": { - "$ref": "#/definitions/compare" - }, - "anchor": { - "oneOf": [ - { - "type": "array", - "items": { - "anyOf": [ - { - "type": "string" - }, - { - "$ref": "#/definitions/signalRef" - } - ] - } - }, - { - "$ref": "#/definitions/signalRef" - } - ], - "default": [ - "top-left", - "left", - "bottom-left", - "top", - "bottom", - "top-right", - "right", - "bottom-right" - ] - }, - "offset": { - "oneOf": [ - { - "type": "array", - "items": { - "anyOf": [ - { - "type": "number" - }, - { - "$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" - }, - "markIndex": { - "anyOf": [ - { - "type": "number" - }, - { - "$ref": "#/definitions/signalRef" - } - ] - }, - "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": [ - { - "type": "string" - }, - { - "$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" - } - ] - }, - "bandwidth": { - "anyOf": [ - { - "type": "number" - }, - { - "$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 - }, - "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": "#/definitions/scaleField" - }, - { - "$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" - } - ] - }, - "params": { - "anyOf": [ - { - "type": "boolean" - }, - { - "$ref": "#/definitions/signalRef" - } - ] - }, - "as": { - "oneOf": [ - { - "type": "array", - "items": { - "anyOf": [ - { - "type": "string" - }, - { - "$ref": "#/definitions/signalRef" - } - ] - } - }, - { - "$ref": "#/definitions/signalRef" - } - ] - } - }, - "required": [ - "type", - "x", - "y" - ], - "additionalProperties": false - }, - "aggregateTransform": { - "type": "object", - "properties": { - "type": { - "enum": [ - "aggregate" - ] - }, - "signal": { - "type": "string" - }, - "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": [ - "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" - } - ] - }, - "fields": { - "oneOf": [ - { - "type": "array", - "items": { - "oneOf": [ - { - "$ref": "#/definitions/scaleField" - }, - { - "$ref": "#/definitions/paramField" - }, - { - "$ref": "#/definitions/expr" - }, - { - "type": "null" - } - ] - } - }, - { - "$ref": "#/definitions/signalRef" - } - ] - }, - "as": { - "oneOf": [ - { - "type": "array", - "items": { - "anyOf": [ - { - "type": "string" - }, - { - "$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" - } - ] - } - }, - { - "$ref": "#/definitions/signalRef" - } - ], - "default": [ - 5, - 2 - ] - }, - "extent": { - "oneOf": [ - { - "type": "array", - "items": { - "anyOf": [ - { - "type": "number" - }, - { - "$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" - } - ] - }, - "minstep": { - "anyOf": [ - { - "type": "number" - }, - { - "$ref": "#/definitions/signalRef" - } - ] - }, - "nice": { - "anyOf": [ - { - "type": "boolean" - }, - { - "$ref": "#/definitions/signalRef" - } - ], - "default": true - }, - "name": { - "anyOf": [ - { - "type": "string" - }, - { - "$ref": "#/definitions/signalRef" - } - ] - }, - "as": { - "oneOf": [ - { - "type": "array", - "items": { - "anyOf": [ - { - "type": "string" - }, - { - "$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" - }, - "field": { - "oneOf": [ - { - "$ref": "#/definitions/scaleField" - }, - { - "$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" - } - ] - }, - "as": { - "oneOf": [ - { - "type": "array", - "items": { - "anyOf": [ - { - "type": "string" - }, - { - "$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" - } - ] - }, - "maxItems": 2, - "minItems": 2 - }, - { - "$ref": "#/definitions/signalRef" - } - ], - "default": [ - "a", - "b" - ] - } - }, - "required": [ - "type" - ], - "additionalProperties": false - }, - "densityTransform": { - "type": "object", - "properties": { - "type": { - "enum": [ - "density" - ] - }, - "signal": { - "type": "string" - }, - "extent": { - "oneOf": [ - { - "type": "array", - "items": { - "anyOf": [ - { - "type": "number" - }, - { - "$ref": "#/definitions/signalRef" - } - ] - }, - "maxItems": 2, - "minItems": 2 - }, - { - "$ref": "#/definitions/signalRef" - } - ] - }, - "steps": { - "anyOf": [ - { - "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" - }, - { - "$ref": "#/definitions/signalRef" - } - ], - "default": "pdf" - }, - "distribution": { - "oneOf": [ - { - "type": "object", - "properties": { - "function": { - "enum": [ - "normal" - ] - }, - "mean": { - "anyOf": [ - { - "type": "number" - }, - { - "$ref": "#/definitions/signalRef" - } - ] - }, - "stdev": { - "anyOf": [ - { - "type": "number" - }, - { - "$ref": "#/definitions/signalRef" - } - ], - "default": 1 - } - }, - "required": [ - "function" - ], - "additionalProperties": false - }, - { - "type": "object", - "properties": { - "function": { - "enum": [ - "lognormal" - ] - }, - "mean": { - "anyOf": [ - { - "type": "number" - }, - { - "$ref": "#/definitions/signalRef" - } - ] - }, - "stdev": { - "anyOf": [ - { - "type": "number" - }, - { - "$ref": "#/definitions/signalRef" - } - ], - "default": 1 - } - }, - "required": [ - "function" - ], - "additionalProperties": false - }, - { - "type": "object", - "properties": { - "function": { - "enum": [ - "uniform" - ] - }, - "min": { - "anyOf": [ - { - "type": "number" - }, - { - "$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" - }, - { - "$ref": "#/definitions/paramField" - }, - { - "$ref": "#/definitions/expr" - } - ] - }, - "from": { - "type": "string" - }, - "bandwidth": { - "anyOf": [ - { - "type": "number" - }, - { - "$ref": "#/definitions/signalRef" - } - ] - } - }, - "required": [ - "function", - "field" - ], - "additionalProperties": false - }, - { - "type": "object", - "properties": { - "function": { - "enum": [ - "mixture" - ] - }, - "distributions": { - "oneOf": [ - { - "type": "array", - "items": {} - }, - { - "$ref": "#/definitions/signalRef" - } - ] - }, - "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 - }, - "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": "#/definitions/scaleField" - }, - { - "$ref": "#/definitions/paramField" - }, - { - "$ref": "#/definitions/expr" - } - ] - } - }, - { - "$ref": "#/definitions/signalRef" - } - ] - }, - "step": { - "anyOf": [ - { - "type": "number" - }, - { - "$ref": "#/definitions/signalRef" - } - ] - }, - "smooth": { - "anyOf": [ - { - "type": "boolean" - }, - { - "$ref": "#/definitions/signalRef" - } - ] - }, - "as": { - "anyOf": [ - { - "type": "string" - }, - { - "$ref": "#/definitions/signalRef" - } - ], - "default": "bin" - } - }, - "required": [ - "type", - "field" - ], - "additionalProperties": false - }, - "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": "#/definitions/scaleField" - }, - { - "$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" - } - ] - } - }, - { - "$ref": "#/definitions/signalRef" - } - ] - } - }, - "required": [ - "type", - "fields" - ], - "additionalProperties": false - }, - "foldTransform": { - "type": "object", - "properties": { - "type": { - "enum": [ - "fold" - ] - }, - "signal": { - "type": "string" - }, - "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" - } - ] - }, - "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" - } - ] - }, - "initonly": { - "anyOf": [ - { - "type": "boolean" - }, - { - "$ref": "#/definitions/signalRef" - } - ] - } - }, - "required": [ - "type", - "expr", - "as" - ], - "additionalProperties": false - }, - "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": "#/definitions/scaleField" - }, - { - "$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" - } - ] - }, - "fields": { - "oneOf": [ - { - "type": "array", - "items": { - "oneOf": [ - { - "$ref": "#/definitions/scaleField" - }, - { - "$ref": "#/definitions/paramField" - }, - { - "$ref": "#/definitions/expr" - }, - { - "type": "null" - } - ] - } - }, - { - "$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" - } - ] - }, - "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" - } - ] - }, - "field": { - "oneOf": [ - { - "$ref": "#/definitions/scaleField" - }, - { - "$ref": "#/definitions/paramField" - }, - { - "$ref": "#/definitions/expr" - } - ] - }, - "cumulative": { - "anyOf": [ - { - "type": "boolean" - }, - { - "$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" - } - ] - }, - "minsteps": { - "anyOf": [ - { - "type": "number" - }, - { - "$ref": "#/definitions/signalRef" - } - ], - "default": 25 - }, - "maxsteps": { - "anyOf": [ - { - "type": "number" - }, - { - "$ref": "#/definitions/signalRef" - } - ], - "default": 200 - }, - "as": { - "oneOf": [ - { - "type": "array", - "items": { - "anyOf": [ - { - "type": "string" - }, - { - "$ref": "#/definitions/signalRef" - } - ] - } - }, - { - "$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": { - "oneOf": [ - { - "$ref": "#/definitions/scaleField" - }, - { - "$ref": "#/definitions/paramField" - }, - { - "$ref": "#/definitions/expr" - } - ] - } - }, - { - "$ref": "#/definitions/signalRef" - } - ] - }, - "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" - } - ] - } - }, - { - "$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" - } - ], - "default": "sum" - }, - "limit": { - "anyOf": [ - { - "type": "number" - }, - { - "$ref": "#/definitions/signalRef" - } - ] - }, - "key": { - "oneOf": [ - { - "$ref": "#/definitions/scaleField" - }, - { - "$ref": "#/definitions/paramField" - }, - { - "$ref": "#/definitions/expr" - } - ] - } - }, - "required": [ - "type", - "field", - "value" - ], - "additionalProperties": false - }, - "projectTransform": { - "type": "object", - "properties": { - "type": { - "enum": [ - "project" - ] - }, - "signal": { - "type": "string" - }, - "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": [ - "type" - ], - "additionalProperties": false - }, - "quantileTransform": { - "type": "object", - "properties": { - "type": { - "enum": [ - "quantile" - ] - }, - "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" - } - ] - }, - "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": [ - "type", - "field" - ], - "additionalProperties": false - }, - "sampleTransform": { - "type": "object", - "properties": { - "type": { - "enum": [ - "sample" - ] - }, - "signal": { - "type": "string" - }, - "size": { - "anyOf": [ - { - "type": "number" - }, - { - "$ref": "#/definitions/signalRef" - } - ], - "default": 1000 - } - }, - "required": [ - "type" - ], - "additionalProperties": false - }, - "sequenceTransform": { - "type": "object", - "properties": { - "type": { - "enum": [ - "sequence" - ] - }, - "signal": { - "type": "string" - }, - "start": { - "anyOf": [ - { - "type": "number" - }, - { - "$ref": "#/definitions/signalRef" - } - ] - }, - "stop": { - "anyOf": [ - { - "type": "number" - }, - { - "$ref": "#/definitions/signalRef" - } - ] - }, - "step": { - "anyOf": [ - { - "type": "number" - }, - { - "$ref": "#/definitions/signalRef" - } - ], - "default": 1 - }, - "as": { - "anyOf": [ - { - "type": "string" - }, - { - "$ref": "#/definitions/signalRef" - } - ], - "default": "data" - } - }, - "required": [ - "type", - "start", - "stop" - ], - "additionalProperties": false - }, - "timeunitTransform": { - "type": "object", - "properties": { - "type": { - "enum": [ - "timeunit" - ] - }, - "signal": { - "type": "string" - }, - "field": { - "oneOf": [ - { - "$ref": "#/definitions/scaleField" - }, - { - "$ref": "#/definitions/paramField" - }, - { - "$ref": "#/definitions/expr" - } - ] - }, - "interval": { - "anyOf": [ - { - "type": "boolean" - }, - { - "$ref": "#/definitions/signalRef" - } - ], - "default": true - }, - "units": { - "oneOf": [ - { - "type": "array", - "items": { - "anyOf": [ - { - "enum": [ - "year", - "quarter", - "month", - "week", - "date", - "day", - "dayofyear", - "hours", - "minutes", - "seconds", - "milliseconds" - ] - }, - { - "$ref": "#/definitions/signalRef" - } - ] - } - }, - { - "$ref": "#/definitions/signalRef" - } - ] - }, - "step": { - "anyOf": [ - { - "type": "number" - }, - { - "$ref": "#/definitions/signalRef" - } - ], - "default": 1 - }, - "maxbins": { - "anyOf": [ - { - "type": "number" - }, - { - "$ref": "#/definitions/signalRef" - } - ], - "default": 40 - }, - "extent": { - "oneOf": [ - { - "type": "array", - "items": { - "anyOf": [ - { - "type": "number" - }, - { - "$ref": "#/definitions/signalRef" - } - ] - } - }, - { - "$ref": "#/definitions/signalRef" - } - ] - }, - "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": [ - "type", - "field" - ], - "additionalProperties": false - }, - "windowTransform": { - "type": "object", - "properties": { - "type": { - "enum": [ - "window" - ] - }, - "signal": { - "type": "string" - }, - "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" - } - ] - } - }, - { - "$ref": "#/definitions/signalRef" - } - ] - }, - "fields": { - "oneOf": [ - { - "type": "array", - "items": { - "oneOf": [ - { - "$ref": "#/definitions/scaleField" - }, - { - "$ref": "#/definitions/paramField" - }, - { - "$ref": "#/definitions/expr" - }, - { - "type": "null" - } - ] - } - }, - { - "$ref": "#/definitions/signalRef" - } - ] - }, - "as": { - "oneOf": [ - { - "type": "array", - "items": { - "anyOf": [ - { - "type": "string" - }, - { - "$ref": "#/definitions/signalRef" - }, - { - "type": "null" - } - ] - } - }, - { - "$ref": "#/definitions/signalRef" - } - ] - }, - "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 - }, - "identifierTransform": { - "type": "object", - "properties": { - "type": { - "enum": [ - "identifier" - ] - }, - "signal": { - "type": "string" - }, - "as": { - "anyOf": [ - { - "type": "string" - }, - { - "$ref": "#/definitions/signalRef" - } - ] - } - }, - "required": [ - "type", - "as" - ], - "additionalProperties": false - }, - "voronoiTransform": { - "type": "object", - "properties": { - "type": { - "enum": [ - "voronoi" - ] - }, - "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" - } - ] - }, - "size": { - "oneOf": [ - { - "type": "array", - "items": { - "anyOf": [ - { - "type": "number" - }, - { - "$ref": "#/definitions/signalRef" - } - ] - }, - "maxItems": 2, - "minItems": 2 - }, - { - "$ref": "#/definitions/signalRef" - } - ] - }, - "extent": { - "oneOf": [ - { - "type": "array", - "items": {}, - "maxItems": 2, - "minItems": 2 - }, - { - "$ref": "#/definitions/signalRef" - } - ], - "default": [ - [ - -100000, - -100000 - ], - [ - 100000, - 100000 - ] - ] - }, - "as": { - "anyOf": [ - { - "type": "string" - }, - { - "$ref": "#/definitions/signalRef" - } - ], - "default": "path" - } - }, - "required": [ - "type", - "x", - "y" - ], - "additionalProperties": false - }, - "wordcloudTransform": { - "type": "object", - "properties": { - "type": { - "enum": [ - "wordcloud" - ] - }, - "signal": { - "type": "string" - }, - "size": { - "oneOf": [ - { - "type": "array", - "items": { - "anyOf": [ - { - "type": "number" - }, - { - "$ref": "#/definitions/signalRef" - } - ] - }, - "maxItems": 2, - "minItems": 2 - }, - { - "$ref": "#/definitions/signalRef" - } - ] - }, - "font": { - "anyOf": [ - { - "type": "string" - }, - { - "$ref": "#/definitions/signalRef" - }, - { - "$ref": "#/definitions/expr" - }, - { - "$ref": "#/definitions/paramField" - } - ], - "default": "sans-serif" - }, - "fontStyle": { - "anyOf": [ - { - "type": "string" - }, - { - "$ref": "#/definitions/signalRef" - }, - { - "$ref": "#/definitions/expr" - }, - { - "$ref": "#/definitions/paramField" - } - ], - "default": "normal" - }, - "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": { - "anyOf": [ - { - "type": "number" - }, - { - "$ref": "#/definitions/signalRef" - } - ] - } - }, - { - "$ref": "#/definitions/signalRef" - }, - { - "type": "null" - } - ], - "default": [ - 10, - 50 - ] - }, - "rotate": { - "anyOf": [ - { - "type": "number" - }, - { - "$ref": "#/definitions/signalRef" - }, - { - "$ref": "#/definitions/expr" - }, - { - "$ref": "#/definitions/paramField" - } - ] - }, - "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": { - "anyOf": [ - { - "type": "string" - }, - { - "$ref": "#/definitions/signalRef" - } - ] - }, - "maxItems": 7, - "minItems": 7 - }, - { - "$ref": "#/definitions/signalRef" - } - ], - "default": [ - "x", - "y", - "font", - "fontSize", - "fontStyle", - "fontWeight", - "angle" - ] - } - }, - "required": [ - "type" - ], - "additionalProperties": false - } - }, - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/scope" - }, - { - "properties": { - "$schema": { - "type": "string", - "format": "uri" - }, - "config": { - "type": "object" - }, - "description": { - "type": "string" - }, - "width": { - "$ref": "#/definitions/numberOrSignal" - }, - "height": { - "$ref": "#/definitions/numberOrSignal" - }, - "padding": { - "$ref": "#/definitions/padding" - }, - "autosize": { - "$ref": "#/definitions/autosize" - }, - "background": { - "$ref": "#/definitions/background" - }, - "style": { - "$ref": "#/definitions/style" - } - } - } - ] -} \ No newline at end of file From cb72d6d17e1090e6fdef56e1f97841a9a7649122 Mon Sep 17 00:00:00 2001 From: mattijn Date: Sun, 8 Jan 2023 20:56:40 +0100 Subject: [PATCH 04/14] remove vega v5 magic functions --- altair/__init__.py | 3 +- altair/_magics.py | 74 ++-------------------------------------------- 2 files changed, 3 insertions(+), 74 deletions(-) diff --git a/altair/__init__.py b/altair/__init__.py index fe7539bfd..86b9498ee 100644 --- a/altair/__init__.py +++ b/altair/__init__.py @@ -5,7 +5,6 @@ def load_ipython_extension(ipython): - from ._magics import vega, vegalite + from ._magics import vegalite - ipython.register_magic_function(vega, "cell") ipython.register_magic_function(vegalite, "cell") diff --git a/altair/_magics.py b/altair/_magics.py index 2757df735..8790a70f4 100644 --- a/altair/_magics.py +++ b/altair/_magics.py @@ -1,7 +1,7 @@ """ -Magic functions for rendering vega/vega-lite specifications +Magic functions for rendering vega-lite specifications """ -__all__ = ["vega", "vegalite"] +__all__ = ["vegalite"] import json import warnings @@ -14,7 +14,6 @@ from altair.vegalite import v3 as vegalite_v3 from altair.vegalite import v4 as vegalite_v4 from altair.vegalite import v5 as vegalite_v5 -from altair.vega import v5 as vega_v5 try: import yaml @@ -25,7 +24,6 @@ RENDERERS = { - "vega": {"5": vega_v5.Vega}, "vega-lite": { "3": vegalite_v3.VegaLite, "4": vegalite_v4.VegaLite, @@ -35,10 +33,6 @@ TRANSFORMERS = { - "vega": { - # Vega doesn't yet have specific data transformers; use vegalite - "5": vegalite_v5.data_transformers, - }, "vega-lite": { "3": vegalite_v3.data_transformers, "4": vegalite_v4.data_transformers, @@ -76,70 +70,6 @@ def _get_variable(name): return ip.user_ns[name] -@magic_arguments.magic_arguments() -@magic_arguments.argument( - "data", - nargs="*", - help="local variable name of a pandas DataFrame to be used as the dataset", -) -@magic_arguments.argument("-v", "--version", dest="version", default="v5") -@magic_arguments.argument("-j", "--json", dest="json", action="store_true") -def vega(line, cell): - """Cell magic for displaying Vega visualizations in CoLab. - - %%vega [name1:variable1 name2:variable2 ...] [--json] [--version='v5'] - - Visualize the contents of the cell using Vega, optionally specifying - one or more pandas DataFrame objects to be used as the datasets. - - If --json is passed, then input is parsed as json rather than yaml. - """ - args = magic_arguments.parse_argstring(vega, line) - - existing_versions = {"v5": "5"} - version = existing_versions[args.version] - assert version in RENDERERS["vega"] - Vega = RENDERERS["vega"][version] - data_transformers = TRANSFORMERS["vega"][version] - - def namevar(s): - s = s.split(":") - if len(s) == 1: - return s[0], s[0] - elif len(s) == 2: - return s[0], s[1] - else: - raise ValueError("invalid identifier: '{}'".format(s)) - - try: - data = list(map(namevar, args.data)) - except ValueError: - raise ValueError("Could not parse arguments: '{}'".format(line)) - - if args.json: - spec = json.loads(cell) - elif not YAML_AVAILABLE: - try: - spec = json.loads(cell) - except json.JSONDecodeError: - raise ValueError( - "%%vega: spec is not valid JSON. " - "Install pyyaml to parse spec as yaml" - ) - else: - spec = yaml.load(cell, Loader=yaml.SafeLoader) - - if data: - spec["data"] = [] - for name, val in data: - val = _get_variable(val) - prepped = _prepare_data(val, data_transformers) - prepped["name"] = name - spec["data"].append(prepped) - - return Vega(spec) - - @magic_arguments.magic_arguments() @magic_arguments.argument( "data", From 9c009737588a7a43bf11b8fb2144c105b5182449 Mon Sep 17 00:00:00 2001 From: mattijn Date: Sun, 8 Jan 2023 21:05:40 +0100 Subject: [PATCH 05/14] remove vega as option for mimebundle --- altair/utils/mimebundle.py | 32 +++++++++++++------------------- 1 file changed, 13 insertions(+), 19 deletions(-) diff --git a/altair/utils/mimebundle.py b/altair/utils/mimebundle.py index caa21f3ae..376cefef8 100644 --- a/altair/utils/mimebundle.py +++ b/altair/utils/mimebundle.py @@ -12,18 +12,18 @@ def spec_to_mimebundle( engine=None, **kwargs, ): - """Convert a vega/vega-lite specification to a mimebundle + """Convert a vega-lite specification to a mimebundle The mimebundle type is controlled by the ``format`` argument, which can be - one of the following ['html', 'json', 'png', 'svg', 'pdf', 'vega', 'vega-lite'] + one of the following ['html', 'json', 'png', 'svg', 'pdf', 'vega-lite'] Parameters ---------- spec : dict a dictionary representing a vega-lite plot spec - format : string {'html', 'json', 'png', 'svg', 'pdf', 'vega', 'vega-lite'} + format : string {'html', 'json', 'png', 'svg', 'pdf', 'vega-lite'} the file format to be saved. - mode : string {'vega', 'vega-lite'} + mode : string {'vega-lite'} The rendering mode. vega_version : string The version of vega.js to use @@ -43,17 +43,13 @@ def spec_to_mimebundle( Note ---- - The png, svg, pdf, and vega outputs require the altair_saver package + The png, svg, and pdf outputs require the vl-convert or altair_saver package to be installed. """ - if mode not in ["vega", "vega-lite"]: - raise ValueError("mode must be either 'vega' or 'vega-lite'") - - if mode == "vega" and format == "vega": - if vega_version is None: - raise ValueError("Must specify vega_version") - return {"application/vnd.vega.v{}+json".format(vega_version[0]): spec} - if format in ["png", "svg", "pdf", "vega"]: + if mode not in ["vega-lite"]: + raise ValueError("mode must be 'vega-lite'") + + if format in ["png", "svg", "pdf"]: return _spec_to_mimebundle_with_engine( spec, format, mode, engine=engine, **kwargs ) @@ -69,8 +65,6 @@ def spec_to_mimebundle( return {"text/html": html} if format == "vega-lite": assert mode == "vega-lite" # sanity check: should never be False - if mode == "vega": - raise ValueError("Cannot convert a vega spec to vegalite") if vegalite_version is None: raise ValueError("Must specify vegalite_version") return {"application/vnd.vegalite.v{}+json".format(vegalite_version[0]): spec} @@ -78,7 +72,7 @@ def spec_to_mimebundle( return {"application/json": spec} raise ValueError( "format must be one of " - "['html', 'json', 'png', 'svg', 'pdf', 'vega', 'vega-lite']" + "['html', 'json', 'png', 'svg', 'pdf', 'vega-lite']" ) @@ -89,9 +83,9 @@ def _spec_to_mimebundle_with_engine(spec, format, mode, **kwargs): ---------- spec : dict a dictionary representing a vega-lite plot spec - format : string {'png', 'svg', 'pdf', 'vega'} + format : string {'png', 'svg', 'pdf'} the format of the mimebundle to be returned - mode : string {'vega', 'vega-lite'} + mode : string {'vega-lite'} The rendering mode. engine: string {'vl-convert', 'altair_saver'} the conversion engine to use @@ -147,7 +141,7 @@ def _validate_normalize_engine(engine, format): engine : {None, 'vl-convert', 'altair_saver'} the user-provided engine string - format : string {'png', 'svg', 'pdf', 'vega'} + format : string {'png', 'svg', 'pdf'} the format of the mimebundle to be returned """ # Try to import vl_convert From ecc8262de4423d7ffcc88ce0897ad36376298398 Mon Sep 17 00:00:00 2001 From: mattijn Date: Sun, 8 Jan 2023 21:07:34 +0100 Subject: [PATCH 06/14] remove vega as option for save.py --- altair/utils/save.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/altair/utils/save.py b/altair/utils/save.py index 3ba845b0a..d649d9fe7 100644 --- a/altair/utils/save.py +++ b/altair/utils/save.py @@ -101,8 +101,8 @@ def save( else: mode = "vega-lite" - if mode not in ["vega", "vega-lite"]: - raise ValueError("mode must be 'vega' or 'vega-lite', " "not '{}'".format(mode)) + if mode not in ["vega-lite"]: + raise ValueError("mode must be 'vega-lite', " "not '{}'".format(mode)) if mode == "vega-lite" and vegalite_version is None: raise ValueError("must specify vega-lite version") From 7b0673078c16c826aad5942e3777df8d56072915 Mon Sep 17 00:00:00 2001 From: mattijn Date: Sun, 8 Jan 2023 21:10:50 +0100 Subject: [PATCH 07/14] remove vega test from test_mimebundle --- tests/utils/tests/test_mimebundle.py | 134 --------------------------- 1 file changed, 134 deletions(-) diff --git a/tests/utils/tests/test_mimebundle.py b/tests/utils/tests/test_mimebundle.py index db6b579fe..630fad738 100644 --- a/tests/utils/tests/test_mimebundle.py +++ b/tests/utils/tests/test_mimebundle.py @@ -40,133 +40,6 @@ def vegalite_spec(): } -@pytest.fixture -def vega_spec(): - return { - "$schema": "https://vega.github.io/schema/vega/v5.json", - "axes": [ - { - "aria": False, - "domain": False, - "grid": True, - "gridScale": "x", - "labels": False, - "maxExtent": 0, - "minExtent": 0, - "orient": "left", - "scale": "y", - "tickCount": {"signal": "ceil(height/40)"}, - "ticks": False, - "zindex": 0, - }, - { - "grid": False, - "labelAlign": "right", - "labelAngle": 270, - "labelBaseline": "middle", - "orient": "bottom", - "scale": "x", - "title": "a", - "zindex": 0, - }, - { - "grid": False, - "labelOverlap": True, - "orient": "left", - "scale": "y", - "tickCount": {"signal": "ceil(height/40)"}, - "title": "b", - "zindex": 0, - }, - ], - "background": "white", - "data": [ - { - "name": "source_0", - "values": [ - {"a": "A", "b": 28}, - {"a": "B", "b": 55}, - {"a": "C", "b": 43}, - {"a": "D", "b": 91}, - {"a": "E", "b": 81}, - {"a": "F", "b": 53}, - {"a": "G", "b": 19}, - {"a": "H", "b": 87}, - {"a": "I", "b": 52}, - ], - }, - { - "name": "data_0", - "source": "source_0", - "transform": [ - { - "as": ["b_start", "b_end"], - "field": "b", - "groupby": ["a"], - "offset": "zero", - "sort": {"field": [], "order": []}, - "type": "stack", - }, - { - "expr": 'isValid(datum["b"]) && isFinite(+datum["b"])', - "type": "filter", - }, - ], - }, - ], - "description": "A simple bar chart with embedded data.", - "height": 200, - "marks": [ - { - "encode": { - "update": { - "ariaRoleDescription": {"value": "bar"}, - "description": { - "signal": '"a: " + (isValid(datum["a"]) ? datum["a"] : ""+datum["a"]) + "; b: " + (format(datum["b"], ""))' - }, - "fill": {"value": "#4c78a8"}, - "width": {"band": 1, "scale": "x"}, - "x": {"field": "a", "scale": "x"}, - "y": {"field": "b_end", "scale": "y"}, - "y2": {"field": "b_start", "scale": "y"}, - } - }, - "from": {"data": "data_0"}, - "name": "marks", - "style": ["bar"], - "type": "rect", - } - ], - "padding": 5, - "scales": [ - { - "domain": {"data": "data_0", "field": "a", "sort": True}, - "name": "x", - "paddingInner": 0.1, - "paddingOuter": 0.05, - "range": {"step": {"signal": "x_step"}}, - "type": "band", - }, - { - "domain": {"data": "data_0", "fields": ["b_start", "b_end"]}, - "name": "y", - "nice": True, - "range": [{"signal": "height"}, 0], - "type": "linear", - "zero": True, - }, - ], - "signals": [ - {"name": "x_step", "value": 20}, - { - "name": "width", - "update": "bandspace(domain('x').length, 0.1, 0.05) * x_step", - }, - ], - "style": "cell", - } - - @pytest.mark.save_engine @pytest.mark.parametrize("engine", ["vl-convert", "altair_saver", None]) def test_vegalite_to_vega_mimebundle(engine, vegalite_spec, vega_spec): @@ -214,13 +87,6 @@ def test_spec_to_vegalite_mimebundle(vegalite_spec): assert bundle == {"application/vnd.vegalite.v5+json": vegalite_spec} -def test_spec_to_vega_mimebundle(vega_spec): - bundle = spec_to_mimebundle( - spec=vega_spec, mode="vega", format="vega", vega_version=alt.VEGA_VERSION - ) - assert bundle == {"application/vnd.vega.v5+json": vega_spec} - - def test_spec_to_json_mimebundle(): bundle = spec_to_mimebundle( spec=vegalite_spec, From a628d064db7ece109732b3de11944048bb50646a Mon Sep 17 00:00:00 2001 From: mattijn Date: Sun, 8 Jan 2023 21:12:59 +0100 Subject: [PATCH 08/14] remove vega tests folder --- tests/vega/__init__.py | 0 tests/vega/tests/__init__.py | 0 tests/vega/tests/test_import.py | 5 ----- 3 files changed, 5 deletions(-) delete mode 100644 tests/vega/__init__.py delete mode 100644 tests/vega/tests/__init__.py delete mode 100644 tests/vega/tests/test_import.py diff --git a/tests/vega/__init__.py b/tests/vega/__init__.py deleted file mode 100644 index e69de29bb..000000000 diff --git a/tests/vega/tests/__init__.py b/tests/vega/tests/__init__.py deleted file mode 100644 index e69de29bb..000000000 diff --git a/tests/vega/tests/test_import.py b/tests/vega/tests/test_import.py deleted file mode 100644 index c569b86b7..000000000 --- a/tests/vega/tests/test_import.py +++ /dev/null @@ -1,5 +0,0 @@ -from altair.vega import SCHEMA_VERSION, SCHEMA_URL - - -def test_schema_version(): - assert SCHEMA_VERSION in SCHEMA_URL From 3e5fdf2f09a2b16e2875a40eb35165260086359b Mon Sep 17 00:00:00 2001 From: mattijn Date: Sun, 8 Jan 2023 21:23:32 +0100 Subject: [PATCH 09/14] update NOTES_FOR_MAINTAINERS --- NOTES_FOR_MAINTAINERS.md | 15 ++++++--------- 1 file changed, 6 insertions(+), 9 deletions(-) diff --git a/NOTES_FOR_MAINTAINERS.md b/NOTES_FOR_MAINTAINERS.md index c4b06479d..255589b65 100644 --- a/NOTES_FOR_MAINTAINERS.md +++ b/NOTES_FOR_MAINTAINERS.md @@ -5,10 +5,7 @@ The core Python API for Altair can be found in the following locations: -- ``altair/vegalite/v2/schema/`` -- ``altair/vegalite/v1/schema/`` -- ``altair/vega/v3/schema/`` -- ``altair/vega/v2/schema/`` +- ``altair/vegalite/v5/schema/`` All the files within these directories are created automatically by running the following script from the root of the repository: @@ -19,7 +16,7 @@ $ python tools/generate_schema_wrapper.py This script does a couple things: -- downloads the appropriate schema files from the specified vega and vega-lite +- downloads the appropriate schema files from the specified vega-lite release versions & copies the JSON file to the appropriate ``schema`` directory - generates basic low-level schemapi wrappers from the definitions within @@ -27,11 +24,11 @@ This script does a couple things: - generates a second layer of higher level wrappers for some vega-lite functionality; this is put in ``schema/channels.py`` and ``schema/mixins.py`` -The script output is designed to be deterministic; if vega/vega-lite versions -are not changed, then running the script should overwrite the schema wrappers +The script output is designed to be deterministic; if the vega-lite version +is not changed, then running the script should overwrite the schema wrappers with identical copies. -## Updating the Vega & Vega-Lite versions +## Updating the Vega-Lite version The vega & vega-lite versions for the Python code can be updated by manually changing the ``SCHEMA_VERSION`` definition within @@ -40,7 +37,7 @@ changing the ``SCHEMA_VERSION`` definition within This will update all of the automatically-generated files in the ``schema`` directory for each version, but please note that it will *not* update other pieces (for example, the core of the Altair API, including methods and -doc strings within ``altair/vegalite/v2/api.py``. +doc strings within ``altair/vegalite/v5/api.py``. These additional methods have fairly good test coverage, so running the test suite should identify any inconsistencies: ``` From 052750c62d3f6ed931eb5d239a4d9c3a90bdfafc Mon Sep 17 00:00:00 2001 From: mattijn Date: Sun, 8 Jan 2023 21:25:43 +0100 Subject: [PATCH 10/14] update pyproject and setup files --- pyproject.toml | 3 +-- setup.cfg | 2 +- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index c9928fca0..6099e5d3a 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -11,8 +11,7 @@ exclude = ''' | dist | doc | tests/examples_arguments_syntax - | tests/examples_methods_syntax - | altair/vega/v\d*/schema + | tests/examples_methods_syntax | altair/vegalite/v\d*/schema )/ ''' diff --git a/setup.cfg b/setup.cfg index 710db246a..fc33fc4c6 100644 --- a/setup.cfg +++ b/setup.cfg @@ -9,7 +9,7 @@ exclude = __pycache__, tests/examples_arguments_syntax, tests/examples_methods_syntax, - altair/vega*/v?/schema + altair/vegalite/v?/schema [metadata] description-file = README.md From f27234c45a9060a182b928c6f8dce31c7407163a Mon Sep 17 00:00:00 2001 From: mattijn Date: Sun, 8 Jan 2023 21:27:07 +0100 Subject: [PATCH 11/14] remove vega tests from test_magics --- tests/tests/test_magics.py | 105 ------------------------------------- 1 file changed, 105 deletions(-) diff --git a/tests/tests/test_magics.py b/tests/tests/test_magics.py index 91e28ec50..d794c7336 100644 --- a/tests/tests/test_magics.py +++ b/tests/tests/test_magics.py @@ -10,7 +10,6 @@ pass from altair.vegalite.v5 import VegaLite -from altair.vega.v5 import Vega DATA_RECORDS = [ @@ -38,80 +37,6 @@ ) -VEGA_SPEC = { - "$schema": "https://vega.github.io/schema/vega/v5.json", - "axes": [ - {"orient": "bottom", "scale": "xscale"}, - {"orient": "left", "scale": "yscale"}, - ], - "data": [{"name": "table", "values": DATA_RECORDS}], - "height": 200, - "marks": [ - { - "encode": { - "enter": { - "width": {"band": 1, "scale": "xscale"}, - "x": {"field": "category", "scale": "xscale"}, - "y": {"field": "amount", "scale": "yscale"}, - "y2": {"scale": "yscale", "value": 0}, - }, - "hover": {"fill": {"value": "red"}}, - "update": {"fill": {"value": "steelblue"}}, - }, - "from": {"data": "table"}, - "type": "rect", - }, - { - "encode": { - "enter": { - "align": {"value": "center"}, - "baseline": {"value": "bottom"}, - "fill": {"value": "#333"}, - }, - "update": { - "fillOpacity": [ - {"test": "datum === tooltip", "value": 0}, - {"value": 1}, - ], - "text": {"signal": "tooltip.amount"}, - "x": {"band": 0.5, "scale": "xscale", "signal": "tooltip.category"}, - "y": {"offset": -2, "scale": "yscale", "signal": "tooltip.amount"}, - }, - }, - "type": "text", - }, - ], - "padding": 5, - "scales": [ - { - "domain": {"data": "table", "field": "category"}, - "name": "xscale", - "padding": 0.05, - "range": "width", - "round": True, - "type": "band", - }, - { - "domain": {"data": "table", "field": "amount"}, - "name": "yscale", - "nice": True, - "range": "height", - }, - ], - "signals": [ - { - "name": "tooltip", - "on": [ - {"events": "rect:mouseover", "update": "datum"}, - {"events": "rect:mouseout", "update": "{}"}, - ], - "value": {}, - } - ], - "width": 400, -} - - VEGALITE_SPEC = { "$schema": "https://vega.github.io/schema/vega-lite/v5.json", "data": {"values": DATA_RECORDS}, @@ -144,33 +69,3 @@ def test_vegalite_magic_pandas_data(): result = _ipshell.run_cell("%%vegalite table\n" + json.dumps(spec)) assert isinstance(result.result, VegaLite) assert VEGALITE_SPEC == result.result.spec - - -@pytest.mark.skipif(not IPYTHON_AVAILABLE, reason="requires ipython") -def test_vega_magic_data_included(): - result = _ipshell.run_cell("%%vega\n" + json.dumps(VEGA_SPEC)) - assert isinstance(result.result, Vega) - assert VEGA_SPEC == result.result.spec - - -@pytest.mark.skipif(not IPYTHON_AVAILABLE, reason="requires ipython") -def test_vega_magic_json_flag(): - result = _ipshell.run_cell("%%vega --json\n" + json.dumps(VEGA_SPEC)) - assert isinstance(result.result, Vega) - assert VEGA_SPEC == result.result.spec - - -@pytest.mark.skipif(not IPYTHON_AVAILABLE, reason="requires ipython") -def test_vega_magic_pandas_data(): - spec = {key: val for key, val in VEGA_SPEC.items() if key != "data"} - result = _ipshell.run_cell("%%vega table\n" + json.dumps(spec)) - assert isinstance(result.result, Vega) - assert VEGA_SPEC == result.result.spec - - -@pytest.mark.skipif(not IPYTHON_AVAILABLE, reason="requires ipython") -def test_vega_magic_pandas_data_renamed(): - spec = {key: val for key, val in VEGA_SPEC.items() if key != "data"} - result = _ipshell.run_cell("%%vega table:the_data\n" + json.dumps(spec)) - assert isinstance(result.result, Vega) - assert VEGA_SPEC == result.result.spec From a288f35f5a91b25e13bafc5f29438a9329b4bd4a Mon Sep 17 00:00:00 2001 From: mattijn Date: Sun, 8 Jan 2023 21:36:49 +0100 Subject: [PATCH 12/14] remove vega docs from importing.rst --- doc/user_guide/importing.rst | 14 +++----------- 1 file changed, 3 insertions(+), 11 deletions(-) diff --git a/doc/user_guide/importing.rst b/doc/user_guide/importing.rst index 5cb7d19dd..4a85a4f4c 100644 --- a/doc/user_guide/importing.rst +++ b/doc/user_guide/importing.rst @@ -1,14 +1,13 @@ .. _importing: -Importing Vega & Vega-Lite Versions +Importing Vega-Lite Versions =================================== The main Altair API is based on version 5.X of `Vega-Lite`_. The core of the API, found in the ``altair.vegalite.v5.schema`` module, is programmatically generated from the Vega-Lite schema. -Altair additionally provides wrappers for some of the previous `Vega-Lite`_ schemas -and the current `Vega`_ schema (``altair.vega.v5``). +Altair additionally provides wrappers for some of the previous `Vega-Lite`_ schemas. So, for example, if you would like to create Altair plots targeting Vega-Lite version 3, you can use:: @@ -19,15 +18,8 @@ and then proceed to use the Altair version 3 API. .. note:: - We strongly recommend all users transition to Vega-Lite 5.x and Vega 5.x. + We strongly recommend all users transition to Vega-Lite 5.x. These versions support many new features, are more stable, and Altair 5 works best with them. -Because Altair has focused primarily on the vega-lite API, the vega wrappers are -far less developed than the vega-lite wrappers, though it is possible to -create Vega plots using a very low-level Python interface that mirrors the -schema itself. - - .. _Vega-Lite: http://vega.github.io/vega-lite/ -.. _Vega: http://vega.github.io/vega/ From 6b82076c5d8a1adfe3459a5f1df7e6880e3ec1d0 Mon Sep 17 00:00:00 2001 From: mattijn Date: Sun, 8 Jan 2023 21:45:34 +0100 Subject: [PATCH 13/14] remove `test_vegalite_to_vega_mimebundle` in test_mimebundle --- tests/utils/tests/test_mimebundle.py | 37 ---------------------------- 1 file changed, 37 deletions(-) diff --git a/tests/utils/tests/test_mimebundle.py b/tests/utils/tests/test_mimebundle.py index 630fad738..36dc7398a 100644 --- a/tests/utils/tests/test_mimebundle.py +++ b/tests/utils/tests/test_mimebundle.py @@ -40,43 +40,6 @@ def vegalite_spec(): } -@pytest.mark.save_engine -@pytest.mark.parametrize("engine", ["vl-convert", "altair_saver", None]) -def test_vegalite_to_vega_mimebundle(engine, vegalite_spec, vega_spec): - if engine == "vl-convert" and vlc is None: - pytest.skip("vl_convert not importable; cannot run mimebundle tests") - elif engine == "altair_saver" and altair_saver is None: - pytest.skip("altair_saver not importable; cannot run mimebundle tests") - elif vlc is None and altair_saver is None: - pytest.skip( - "Neither altair_saver nor vl_convert are importable;" - + " cannot run mimebundle tests" - ) - - # temporary fix for https://github.com/vega/vega-lite/issues/7776 - def delete_none(axes): - for axis in axes: - for key, value in list(axis.items()): - if value is None: - del axis[key] - return axes - - bundle = spec_to_mimebundle( - spec=vegalite_spec, - format="vega", - mode="vega-lite", - vega_version=alt.VEGA_VERSION, - vegalite_version=alt.VEGALITE_VERSION, - vegaembed_version=alt.VEGAEMBED_VERSION, - engine=engine, - ) - - bundle["application/vnd.vega.v5+json"]["axes"] = delete_none( - bundle["application/vnd.vega.v5+json"]["axes"] - ) - assert bundle == {"application/vnd.vega.v5+json": vega_spec} - - def test_spec_to_vegalite_mimebundle(vegalite_spec): bundle = spec_to_mimebundle( spec=vegalite_spec, From c596abe3b05307666a8c4d66d08a2fdc74d71130 Mon Sep 17 00:00:00 2001 From: mattijn Date: Sun, 8 Jan 2023 22:29:34 +0100 Subject: [PATCH 14/14] black --- altair/utils/mimebundle.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/altair/utils/mimebundle.py b/altair/utils/mimebundle.py index 376cefef8..19e0608ba 100644 --- a/altair/utils/mimebundle.py +++ b/altair/utils/mimebundle.py @@ -71,8 +71,7 @@ def spec_to_mimebundle( if format == "json": return {"application/json": spec} raise ValueError( - "format must be one of " - "['html', 'json', 'png', 'svg', 'pdf', 'vega-lite']" + "format must be one of ['html', 'json', 'png', 'svg', 'pdf', 'vega-lite']" )