Skip to content

Instantly share code, notes, and snippets.

@rickychilcott
Last active February 12, 2022 20:34
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save rickychilcott/3d44395a172a109317ca2c7781d59d75 to your computer and use it in GitHub Desktop.
Save rickychilcott/3d44395a172a109317ca2c7781d59d75 to your computer and use it in GitHub Desktop.
Visual Studio Code Settings Sync Gist
{"lastUpload":"2022-02-12T20:34:47.219Z","extensionVersion":"v3.4.3"}
[
{
"metadata": {
"id": "fa57ae0e-d21e-40d8-a0bb-a58b5fd9ead3",
"publisherId": "ms-vscode.atom-keybindings",
"publisherDisplayName": "ms-vscode"
},
"name": "atom-keybindings",
"publisher": "ms-vscode",
"version": "3.0.9"
},
{
"metadata": {
"id": "d3836729-9cc1-42c1-b2af-d50071f57d29",
"publisherId": "formulahendry.auto-close-tag",
"publisherDisplayName": "formulahendry"
},
"name": "auto-close-tag",
"publisher": "formulahendry",
"version": "0.5.14"
},
{
"metadata": {
"id": "366a9f01-2d1b-48b9-b7df-014ff8dea46b",
"publisherId": "formulahendry.auto-complete-tag",
"publisherDisplayName": "formulahendry"
},
"name": "auto-complete-tag",
"publisher": "formulahendry",
"version": "0.1.0"
},
{
"metadata": {
"id": "6e440e71-8ed9-4f25-bb78-4b13096b8a03",
"publisherId": "formulahendry.auto-rename-tag",
"publisherDisplayName": "formulahendry"
},
"name": "auto-rename-tag",
"publisher": "formulahendry",
"version": "0.1.10"
},
{
"metadata": {
"id": "3cd12c20-0143-473f-b7f3-0d5f15cb7249",
"publisherId": "shakram02.bash-beautify",
"publisherDisplayName": "shakram02"
},
"name": "bash-beautify",
"publisher": "shakram02",
"version": "0.1.1"
},
{
"metadata": {
"id": "697255a9-3f36-44c8-b084-d3b91edfb23a",
"publisherId": "HookyQR.beautify",
"publisherDisplayName": "HookyQR"
},
"name": "beautify",
"publisher": "HookyQR",
"version": "1.5.0"
},
{
"metadata": {
"id": "2aa040bf-c73a-455d-8946-5c6cc83b8019",
"publisherId": "wmaurer.change-case",
"publisherDisplayName": "wmaurer"
},
"name": "change-case",
"publisher": "wmaurer",
"version": "1.0.0"
},
{
"metadata": {
"id": "39757d2a-1a37-40b9-b8b8-aa7ebd6e0cf9",
"publisherId": "karigari.chat",
"publisherDisplayName": "karigari"
},
"name": "chat",
"publisher": "karigari",
"version": "0.35.0"
},
{
"metadata": {
"id": "a6a0c5b2-d078-4bf5-a9ee-4e37054414b3",
"publisherId": "formulahendry.code-runner",
"publisherDisplayName": "formulahendry"
},
"name": "code-runner",
"publisher": "formulahendry",
"version": "0.11.7"
},
{
"metadata": {
"id": "e337c67b-55c2-4fef-8949-eb260e7fb7fd",
"publisherId": "Shan.code-settings-sync",
"publisherDisplayName": "Shan"
},
"name": "code-settings-sync",
"publisher": "Shan",
"version": "3.4.3"
},
{
"metadata": {
"id": "f6dbd813-b0a0-42c1-90ea-10dde9d925a7",
"publisherId": "streetsidesoftware.code-spell-checker",
"publisherDisplayName": "streetsidesoftware"
},
"name": "code-spell-checker",
"publisher": "streetsidesoftware",
"version": "2.1.6"
},
{
"metadata": {
"id": "23c4aeee-f844-43cd-b53e-1113e483f1a6",
"publisherId": "GitHub.copilot",
"publisherDisplayName": "GitHub"
},
"name": "copilot",
"publisher": "GitHub",
"version": "1.7.5003"
},
{
"metadata": {
"id": "2dede0e2-9c5e-4929-b7b1-dab37d906c07",
"publisherId": "kofno.crystal-ide",
"publisherDisplayName": "kofno"
},
"name": "crystal-ide",
"publisher": "kofno",
"version": "0.0.4"
},
{
"metadata": {
"id": "532533c9-a894-4a58-9eee-bbfbe7c06f71",
"publisherId": "mikestead.dotenv",
"publisherDisplayName": "mikestead"
},
"name": "dotenv",
"publisher": "mikestead",
"version": "1.0.1"
},
{
"metadata": {
"id": "5da0c8de-e8a6-4287-9ef1-632f0d6db9ad",
"publisherId": "CraigMaslowski.erb",
"publisherDisplayName": "CraigMaslowski"
},
"name": "erb",
"publisher": "CraigMaslowski",
"version": "0.0.1"
},
{
"metadata": {
"id": "32ee3ba0-82dc-421a-8c27-a3e4d7f78e39",
"publisherId": "ratismal.erb-types",
"publisherDisplayName": "ratismal"
},
"name": "erb-types",
"publisher": "ratismal",
"version": "0.0.2"
},
{
"metadata": {
"id": "31dab038-d2f7-47c2-894e-5c35684dbd0e",
"publisherId": "karunamurti.haml",
"publisherDisplayName": "karunamurti"
},
"name": "haml",
"publisher": "karunamurti",
"version": "1.4.0"
},
{
"metadata": {
"id": "aae00486-7e92-42b3-91b0-2b419e4f3875",
"publisherId": "vincaslt.highlight-matching-tag",
"publisherDisplayName": "vincaslt"
},
"name": "highlight-matching-tag",
"publisher": "vincaslt",
"version": "0.10.1"
},
{
"metadata": {
"id": "3f41e083-6bbe-48ba-9fb2-b938fc378d6b",
"publisherId": "Compulim.indent4to2",
"publisherDisplayName": "Compulim"
},
"name": "indent4to2",
"publisher": "Compulim",
"version": "0.1.2"
},
{
"metadata": {
"id": "a6226409-c077-4199-9efe-5fd4d91a253d",
"publisherId": "marp-team.marp-vscode",
"publisherDisplayName": "marp-team"
},
"name": "marp-vscode",
"publisher": "marp-team",
"version": "1.4.7"
},
{
"metadata": {
"id": "67e66172-30c7-4478-8f5d-6eac4ae755dc",
"publisherId": "mohsen1.prettify-json",
"publisherDisplayName": "mohsen1"
},
"name": "prettify-json",
"publisher": "mohsen1",
"version": "0.0.3"
},
{
"metadata": {
"id": "61048194-bd70-4abb-b039-d796bf6be01c",
"publisherId": "bung87.rails",
"publisherDisplayName": "bung87"
},
"name": "rails",
"publisher": "bung87",
"version": "0.17.8"
},
{
"metadata": {
"id": "d879ccb5-cbdb-45a1-bd74-5641ad0062df",
"publisherId": "Hridoy.rails-snippets",
"publisherDisplayName": "Hridoy"
},
"name": "rails-snippets",
"publisher": "Hridoy",
"version": "1.0.8"
},
{
"metadata": {
"id": "3792588c-3d35-442d-91ea-fe6a755e8155",
"publisherId": "mechatroner.rainbow-csv",
"publisherDisplayName": "mechatroner"
},
"name": "rainbow-csv",
"publisher": "mechatroner",
"version": "2.0.0"
},
{
"metadata": {
"id": "93ce222b-5f6f-49b7-9ab1-a0463c6238df",
"publisherId": "ms-vscode-remote.remote-containers",
"publisherDisplayName": "ms-vscode-remote"
},
"name": "remote-containers",
"publisher": "ms-vscode-remote",
"version": "0.217.4"
},
{
"metadata": {
"id": "ae062c8a-c68e-4b92-9ecf-8f1d4288b05d",
"publisherId": "rebornix.ruby",
"publisherDisplayName": "rebornix"
},
"name": "ruby",
"publisher": "rebornix",
"version": "0.28.1"
},
{
"metadata": {
"id": "00fe608a-8430-4f9e-92f7-825a998fd639",
"publisherId": "Kosai106.ruby-syntax-replacer",
"publisherDisplayName": "Kosai106"
},
"name": "ruby-syntax-replacer",
"publisher": "Kosai106",
"version": "1.0.11"
},
{
"metadata": {
"id": "66a5558f-9e27-4895-9c3e-dde3d657bc13",
"publisherId": "sianglim.slim",
"publisherDisplayName": "sianglim"
},
"name": "slim",
"publisher": "sianglim",
"version": "0.1.2"
},
{
"metadata": {
"id": "349e83e2-207c-4309-a8d2-dfa43f7ee0c9",
"publisherId": "castwide.solargraph",
"publisherDisplayName": "castwide"
},
"name": "solargraph",
"publisher": "castwide",
"version": "0.23.0"
},
{
"metadata": {
"id": "2538fb3a-730c-4259-9044-7cf831516769",
"publisherId": "dqisme.sync-scroll",
"publisherDisplayName": "dqisme"
},
"name": "sync-scroll",
"publisher": "dqisme",
"version": "1.3.0"
},
{
"metadata": {
"id": "e74697c7-82c2-42d0-9502-a19a602732df",
"publisherId": "dakara.transformer",
"publisherDisplayName": "dakara"
},
"name": "transformer",
"publisher": "dakara",
"version": "1.12.0"
},
{
"metadata": {
"id": "25ffd2ea-ef5b-4f40-9616-092c91332b2f",
"publisherId": "zamerick.vscode-caddyfile-syntax",
"publisherDisplayName": "zamerick"
},
"name": "vscode-caddyfile-syntax",
"publisher": "zamerick",
"version": "1.0.4"
},
{
"metadata": {
"id": "2f0eaac2-070b-4dc7-9b23-8dd4c970c11c",
"publisherId": "redhat.vscode-commons",
"publisherDisplayName": "redhat"
},
"name": "vscode-commons",
"publisher": "redhat",
"version": "0.0.6"
},
{
"metadata": {
"id": "0479fc1c-3d67-49f9-b087-fb9069afe48f",
"publisherId": "ms-azuretools.vscode-docker",
"publisherDisplayName": "ms-azuretools"
},
"name": "vscode-docker",
"publisher": "ms-azuretools",
"version": "1.19.0"
},
{
"metadata": {
"id": "03944bdc-9bcb-4ac2-b9b3-fdb050dd43e4",
"publisherId": "mrmlnc.vscode-duplicate",
"publisherDisplayName": "mrmlnc"
},
"name": "vscode-duplicate",
"publisher": "mrmlnc",
"version": "1.2.1"
},
{
"metadata": {
"id": "4bae79e0-35d7-4b4f-9ead-27fe376b4e78",
"publisherId": "aliariff.vscode-erb-beautify",
"publisherDisplayName": "aliariff"
},
"name": "vscode-erb-beautify",
"publisher": "aliariff",
"version": "0.3.5"
},
{
"metadata": {
"id": "583b2b34-2c1e-4634-8c0b-0b82e283ea3a",
"publisherId": "dbaeumer.vscode-eslint",
"publisherDisplayName": "dbaeumer"
},
"name": "vscode-eslint",
"publisher": "dbaeumer",
"version": "2.2.2"
},
{
"metadata": {
"id": "63cce059-9b09-4959-bba8-01be8a606850",
"publisherId": "bung87.vscode-gemfile",
"publisherDisplayName": "bung87"
},
"name": "vscode-gemfile",
"publisher": "bung87",
"version": "0.4.2"
},
{
"metadata": {
"id": "5a7017bf-c571-4d77-b902-6e56b16f539a",
"publisherId": "johnpapa.vscode-peacock",
"publisherDisplayName": "johnpapa"
},
"name": "vscode-peacock",
"publisher": "johnpapa",
"version": "4.0.0"
},
{
"metadata": {
"id": "cc4e97b3-c252-4e12-983f-ee5d2101c2cd",
"publisherId": "ms-ossdata.vscode-postgresql",
"publisherDisplayName": "ms-ossdata"
},
"name": "vscode-postgresql",
"publisher": "ms-ossdata",
"version": "0.3.0"
},
{
"metadata": {
"id": "708cfcd8-e0c6-49ca-9af6-b27a342d247b",
"publisherId": "wingrunr21.vscode-ruby",
"publisherDisplayName": "wingrunr21"
},
"name": "vscode-ruby",
"publisher": "wingrunr21",
"version": "0.28.0"
},
{
"metadata": {
"id": "beb68b20-7c55-471c-9b63-3486f9423566",
"publisherId": "mrmlnc.vscode-scss",
"publisherDisplayName": "mrmlnc"
},
"name": "vscode-scss",
"publisher": "mrmlnc",
"version": "0.10.0"
},
{
"metadata": {
"id": "2061917f-f76a-458a-8da9-f162de22b97e",
"publisherId": "redhat.vscode-yaml",
"publisherDisplayName": "redhat"
},
"name": "vscode-yaml",
"publisher": "redhat",
"version": "1.4.0"
},
{
"metadata": {
"id": "5a6dc0d5-dc02-4121-8e24-cad33a2ff0af",
"publisherId": "ms-vsliveshare.vsliveshare",
"publisherDisplayName": "ms-vsliveshare"
},
"name": "vsliveshare",
"publisher": "ms-vsliveshare",
"version": "1.0.5330"
},
{
"metadata": {
"id": "f38fdd1c-7ee2-47b1-90b9-77ecc90d4bff",
"publisherId": "ms-vsliveshare.vsliveshare-audio",
"publisherDisplayName": "ms-vsliveshare"
},
"name": "vsliveshare-audio",
"publisher": "ms-vsliveshare",
"version": "0.1.91"
},
{
"metadata": {
"id": "87caf16b-d487-45c0-877d-573fe319b015",
"publisherId": "ms-vsliveshare.vsliveshare-pack",
"publisherDisplayName": "ms-vsliveshare"
},
"name": "vsliveshare-pack",
"publisher": "ms-vsliveshare",
"version": "0.4.0"
},
{
"metadata": {
"id": "8b2af6ed-196d-4ab7-a537-2915197a6de1",
"publisherId": "lostintangent.vsls-whiteboard",
"publisherDisplayName": "lostintangent"
},
"name": "vsls-whiteboard",
"publisher": "lostintangent",
"version": "0.0.12"
}
]
{
"name": "slimcore",
"version": "2019.23.6",
"cobrand": "01",
"apiVersion": 7,
"main": "lib/slimcore.js",
"typings": "lib/slimcore.d.ts",
"os": [
"darwin"
],
"cpu": [
"x64"
],
"author": "Microsoft",
"license": "Commercial Confidential",
"private": true
}
{
"name": "slimcore",
"version": "2019.37.4",
"cobrand": "01",
"apiVersion": 7,
"main": "lib/slimcore.js",
"typings": "lib/slimcore.d.ts",
"os": [
"darwin"
],
"cpu": [
"x64"
],
"author": "Microsoft",
"license": "Commercial Confidential",
"private": true
}
{
"name": "slimcore",
"version": "2019.23.1",
"cobrand": "01",
"apiVersion": 7,
"main": "lib/slimcore.js",
"typings": "lib/slimcore.d.ts",
"os": [
"darwin"
],
"cpu": [
"x64"
],
"author": "Microsoft",
"license": "Commercial Confidential",
"private": true
}
{
"runtimeTarget": {
"name": ".NETCoreApp,Version=v3.0/osx-x64",
"signature": ""
},
"compilationOptions": {},
"targets": {
".NETCoreApp,Version=v3.0": {},
".NETCoreApp,Version=v3.0/osx-x64": {
"Microsoft.NETCore.App/3.0.0-rc2-19467-06": {
"dependencies": {
"Microsoft.NETCore.Platforms": "3.0.0"
}
},
"Microsoft.NETCore.App.Internal/3.0.0-rc2-19467-06": {
"dependencies": {
"Microsoft.NETCore.DotNetHostPolicy": "3.0.0",
"Microsoft.NETCore.Platforms": "3.0.0",
"Microsoft.NETCore.Targets": "3.0.0",
"NETStandard.Library": "2.1.0",
"runtime.osx-x64.Microsoft.NETCore.App": "3.0.0-rc2-19467-06"
}
},
"Microsoft.NETCore.DotNetHostPolicy/3.0.0": {
"dependencies": {
"runtime.osx-x64.Microsoft.NETCore.DotNetHostPolicy": "3.0.0"
}
},
"Microsoft.NETCore.Platforms/3.0.0": {},
"Microsoft.NETCore.Targets/3.0.0": {},
"NETStandard.Library/2.1.0": {
"dependencies": {
"Microsoft.NETCore.Platforms": "3.0.0"
}
},
"runtime.osx-x64.Microsoft.NETCore.App/3.0.0-rc2-19467-06": {
"runtime": {
"runtimes/osx-x64/lib/netcoreapp3.0/Microsoft.CSharp.dll": {
"assemblyVersion": "4.0.4.0",
"fileVersion": "4.700.19.46214"
},
"runtimes/osx-x64/lib/netcoreapp3.0/Microsoft.VisualBasic.Core.dll": {
"assemblyVersion": "10.0.4.0",
"fileVersion": "4.700.19.46214"
},
"runtimes/osx-x64/lib/netcoreapp3.0/Microsoft.VisualBasic.dll": {
"assemblyVersion": "10.0.0.0",
"fileVersion": "4.700.19.46214"
},
"runtimes/osx-x64/lib/netcoreapp3.0/Microsoft.Win32.Primitives.dll": {
"assemblyVersion": "4.1.1.0",
"fileVersion": "4.700.19.46214"
},
"runtimes/osx-x64/lib/netcoreapp3.0/Microsoft.Win32.Registry.dll": {
"assemblyVersion": "4.1.2.0",
"fileVersion": "4.700.19.46214"
},
"runtimes/osx-x64/lib/netcoreapp3.0/System.AppContext.dll": {
"assemblyVersion": "4.2.1.0",
"fileVersion": "4.700.19.46214"
},
"runtimes/osx-x64/lib/netcoreapp3.0/System.Buffers.dll": {
"assemblyVersion": "4.0.4.0",
"fileVersion": "4.700.19.46214"
},
"runtimes/osx-x64/lib/netcoreapp3.0/System.Collections.Concurrent.dll": {
"assemblyVersion": "4.0.14.0",
"fileVersion": "4.700.19.46214"
},
"runtimes/osx-x64/lib/netcoreapp3.0/System.Collections.Immutable.dll": {
"assemblyVersion": "1.2.4.0",
"fileVersion": "4.700.19.46214"
},
"runtimes/osx-x64/lib/netcoreapp3.0/System.Collections.NonGeneric.dll": {
"assemblyVersion": "4.1.1.0",
"fileVersion": "4.700.19.46214"
},
"runtimes/osx-x64/lib/netcoreapp3.0/System.Collections.Specialized.dll": {
"assemblyVersion": "4.1.1.0",
"fileVersion": "4.700.19.46214"
},
"runtimes/osx-x64/lib/netcoreapp3.0/System.Collections.dll": {
"assemblyVersion": "4.1.1.0",
"fileVersion": "4.700.19.46214"
},
"runtimes/osx-x64/lib/netcoreapp3.0/System.ComponentModel.Annotations.dll": {
"assemblyVersion": "4.3.0.0",
"fileVersion": "4.700.19.46214"
},
"runtimes/osx-x64/lib/netcoreapp3.0/System.ComponentModel.DataAnnotations.dll": {
"assemblyVersion": "4.0.0.0",
"fileVersion": "4.700.19.46214"
},
"runtimes/osx-x64/lib/netcoreapp3.0/System.ComponentModel.EventBasedAsync.dll": {
"assemblyVersion": "4.1.1.0",
"fileVersion": "4.700.19.46214"
},
"runtimes/osx-x64/lib/netcoreapp3.0/System.ComponentModel.Primitives.dll": {
"assemblyVersion": "4.2.1.0",
"fileVersion": "4.700.19.46214"
},
"runtimes/osx-x64/lib/netcoreapp3.0/System.ComponentModel.TypeConverter.dll": {
"assemblyVersion": "4.2.1.0",
"fileVersion": "4.700.19.46214"
},
"runtimes/osx-x64/lib/netcoreapp3.0/System.ComponentModel.dll": {
"assemblyVersion": "4.0.3.0",
"fileVersion": "4.700.19.46214"
},
"runtimes/osx-x64/lib/netcoreapp3.0/System.Configuration.dll": {
"assemblyVersion": "4.0.0.0",
"fileVersion": "4.700.19.46214"
},
"runtimes/osx-x64/lib/netcoreapp3.0/System.Console.dll": {
"assemblyVersion": "4.1.1.0",
"fileVersion": "4.700.19.46214"
},
"runtimes/osx-x64/lib/netcoreapp3.0/System.Core.dll": {
"assemblyVersion": "4.0.0.0",
"fileVersion": "4.700.19.46214"
},
"runtimes/osx-x64/lib/netcoreapp3.0/System.Data.Common.dll": {
"assemblyVersion": "4.2.1.0",
"fileVersion": "4.700.19.46214"
},
"runtimes/osx-x64/lib/netcoreapp3.0/System.Data.DataSetExtensions.dll": {
"assemblyVersion": "4.0.0.0",
"fileVersion": "4.700.19.46214"
},
"runtimes/osx-x64/lib/netcoreapp3.0/System.Data.dll": {
"assemblyVersion": "4.0.0.0",
"fileVersion": "4.700.19.46214"
},
"runtimes/osx-x64/lib/netcoreapp3.0/System.Diagnostics.Contracts.dll": {
"assemblyVersion": "4.0.3.0",
"fileVersion": "4.700.19.46214"
},
"runtimes/osx-x64/lib/netcoreapp3.0/System.Diagnostics.Debug.dll": {
"assemblyVersion": "4.1.1.0",
"fileVersion": "4.700.19.46214"
},
"runtimes/osx-x64/lib/netcoreapp3.0/System.Diagnostics.DiagnosticSource.dll": {
"assemblyVersion": "4.0.4.0",
"fileVersion": "4.700.19.46214"
},
"runtimes/osx-x64/lib/netcoreapp3.0/System.Diagnostics.FileVersionInfo.dll": {
"assemblyVersion": "4.0.3.0",
"fileVersion": "4.700.19.46214"
},
"runtimes/osx-x64/lib/netcoreapp3.0/System.Diagnostics.Process.dll": {
"assemblyVersion": "4.2.1.0",
"fileVersion": "4.700.19.46214"
},
"runtimes/osx-x64/lib/netcoreapp3.0/System.Diagnostics.StackTrace.dll": {
"assemblyVersion": "4.1.1.0",
"fileVersion": "4.700.19.46214"
},
"runtimes/osx-x64/lib/netcoreapp3.0/System.Diagnostics.TextWriterTraceListener.dll": {
"assemblyVersion": "4.1.1.0",
"fileVersion": "4.700.19.46214"
},
"runtimes/osx-x64/lib/netcoreapp3.0/System.Diagnostics.Tools.dll": {
"assemblyVersion": "4.1.1.0",
"fileVersion": "4.700.19.46214"
},
"runtimes/osx-x64/lib/netcoreapp3.0/System.Diagnostics.TraceSource.dll": {
"assemblyVersion": "4.1.1.0",
"fileVersion": "4.700.19.46214"
},
"runtimes/osx-x64/lib/netcoreapp3.0/System.Diagnostics.Tracing.dll": {
"assemblyVersion": "4.2.1.0",
"fileVersion": "4.700.19.46214"
},
"runtimes/osx-x64/lib/netcoreapp3.0/System.Drawing.Primitives.dll": {
"assemblyVersion": "4.2.0.0",
"fileVersion": "4.700.19.46214"
},
"runtimes/osx-x64/lib/netcoreapp3.0/System.Drawing.dll": {
"assemblyVersion": "4.0.0.0",
"fileVersion": "4.700.19.46214"
},
"runtimes/osx-x64/lib/netcoreapp3.0/System.Dynamic.Runtime.dll": {
"assemblyVersion": "4.1.1.0",
"fileVersion": "4.700.19.46214"
},
"runtimes/osx-x64/lib/netcoreapp3.0/System.Globalization.Calendars.dll": {
"assemblyVersion": "4.1.1.0",
"fileVersion": "4.700.19.46214"
},
"runtimes/osx-x64/lib/netcoreapp3.0/System.Globalization.Extensions.dll": {
"assemblyVersion": "4.1.1.0",
"fileVersion": "4.700.19.46214"
},
"runtimes/osx-x64/lib/netcoreapp3.0/System.Globalization.dll": {
"assemblyVersion": "4.1.1.0",
"fileVersion": "4.700.19.46214"
},
"runtimes/osx-x64/lib/netcoreapp3.0/System.IO.Compression.Brotli.dll": {
"assemblyVersion": "4.2.1.0",
"fileVersion": "4.700.19.46214"
},
"runtimes/osx-x64/lib/netcoreapp3.0/System.IO.Compression.FileSystem.dll": {
"assemblyVersion": "4.0.0.0",
"fileVersion": "4.700.19.46214"
},
"runtimes/osx-x64/lib/netcoreapp3.0/System.IO.Compression.ZipFile.dll": {
"assemblyVersion": "4.0.4.0",
"fileVersion": "4.700.19.46214"
},
"runtimes/osx-x64/lib/netcoreapp3.0/System.IO.Compression.dll": {
"assemblyVersion": "4.2.1.0",
"fileVersion": "4.700.19.46214"
},
"runtimes/osx-x64/lib/netcoreapp3.0/System.IO.FileSystem.AccessControl.dll": {
"assemblyVersion": "4.0.4.0",
"fileVersion": "4.700.19.46214"
},
"runtimes/osx-x64/lib/netcoreapp3.0/System.IO.FileSystem.DriveInfo.dll": {
"assemblyVersion": "4.1.1.0",
"fileVersion": "4.700.19.46214"
},
"runtimes/osx-x64/lib/netcoreapp3.0/System.IO.FileSystem.Primitives.dll": {
"assemblyVersion": "4.1.1.0",
"fileVersion": "4.700.19.46214"
},
"runtimes/osx-x64/lib/netcoreapp3.0/System.IO.FileSystem.Watcher.dll": {
"assemblyVersion": "4.1.1.0",
"fileVersion": "4.700.19.46214"
},
"runtimes/osx-x64/lib/netcoreapp3.0/System.IO.FileSystem.dll": {
"assemblyVersion": "4.1.1.0",
"fileVersion": "4.700.19.46214"
},
"runtimes/osx-x64/lib/netcoreapp3.0/System.IO.IsolatedStorage.dll": {
"assemblyVersion": "4.1.1.0",
"fileVersion": "4.700.19.46214"
},
"runtimes/osx-x64/lib/netcoreapp3.0/System.IO.MemoryMappedFiles.dll": {
"assemblyVersion": "4.1.1.0",
"fileVersion": "4.700.19.46214"
},
"runtimes/osx-x64/lib/netcoreapp3.0/System.IO.Pipes.AccessControl.dll": {
"assemblyVersion": "4.0.4.0",
"fileVersion": "4.700.19.46214"
},
"runtimes/osx-x64/lib/netcoreapp3.0/System.IO.Pipes.dll": {
"assemblyVersion": "4.1.1.0",
"fileVersion": "4.700.19.46214"
},
"runtimes/osx-x64/lib/netcoreapp3.0/System.IO.UnmanagedMemoryStream.dll": {
"assemblyVersion": "4.1.1.0",
"fileVersion": "4.700.19.46214"
},
"runtimes/osx-x64/lib/netcoreapp3.0/System.IO.dll": {
"assemblyVersion": "4.2.1.0",
"fileVersion": "4.700.19.46214"
},
"runtimes/osx-x64/lib/netcoreapp3.0/System.Linq.Expressions.dll": {
"assemblyVersion": "4.2.1.0",
"fileVersion": "4.700.19.46214"
},
"runtimes/osx-x64/lib/netcoreapp3.0/System.Linq.Parallel.dll": {
"assemblyVersion": "4.0.3.0",
"fileVersion": "4.700.19.46214"
},
"runtimes/osx-x64/lib/netcoreapp3.0/System.Linq.Queryable.dll": {
"assemblyVersion": "4.0.3.0",
"fileVersion": "4.700.19.46214"
},
"runtimes/osx-x64/lib/netcoreapp3.0/System.Linq.dll": {
"assemblyVersion": "4.2.1.0",
"fileVersion": "4.700.19.46214"
},
"runtimes/osx-x64/lib/netcoreapp3.0/System.Memory.dll": {
"assemblyVersion": "4.2.0.0",
"fileVersion": "4.700.19.46214"
},
"runtimes/osx-x64/lib/netcoreapp3.0/System.Net.Http.dll": {
"assemblyVersion": "4.2.1.0",
"fileVersion": "4.700.19.46214"
},
"runtimes/osx-x64/lib/netcoreapp3.0/System.Net.HttpListener.dll": {
"assemblyVersion": "4.0.1.0",
"fileVersion": "4.700.19.46214"
},
"runtimes/osx-x64/lib/netcoreapp3.0/System.Net.Mail.dll": {
"assemblyVersion": "4.0.1.0",
"fileVersion": "4.700.19.46214"
},
"runtimes/osx-x64/lib/netcoreapp3.0/System.Net.NameResolution.dll": {
"assemblyVersion": "4.1.1.0",
"fileVersion": "4.700.19.46214"
},
"runtimes/osx-x64/lib/netcoreapp3.0/System.Net.NetworkInformation.dll": {
"assemblyVersion": "4.2.1.0",
"fileVersion": "4.700.19.46214"
},
"runtimes/osx-x64/lib/netcoreapp3.0/System.Net.Ping.dll": {
"assemblyVersion": "4.1.1.0",
"fileVersion": "4.700.19.46214"
},
"runtimes/osx-x64/lib/netcoreapp3.0/System.Net.Primitives.dll": {
"assemblyVersion": "4.1.1.0",
"fileVersion": "4.700.19.46214"
},
"runtimes/osx-x64/lib/netcoreapp3.0/System.Net.Requests.dll": {
"assemblyVersion": "4.1.1.0",
"fileVersion": "4.700.19.46214"
},
"runtimes/osx-x64/lib/netcoreapp3.0/System.Net.Security.dll": {
"assemblyVersion": "4.1.1.0",
"fileVersion": "4.700.19.46214"
},
"runtimes/osx-x64/lib/netcoreapp3.0/System.Net.ServicePoint.dll": {
"assemblyVersion": "4.0.1.0",
"fileVersion": "4.700.19.46214"
},
"runtimes/osx-x64/lib/netcoreapp3.0/System.Net.Sockets.dll": {
"assemblyVersion": "4.2.1.0",
"fileVersion": "4.700.19.46214"
},
"runtimes/osx-x64/lib/netcoreapp3.0/System.Net.WebClient.dll": {
"assemblyVersion": "4.0.1.0",
"fileVersion": "4.700.19.46214"
},
"runtimes/osx-x64/lib/netcoreapp3.0/System.Net.WebHeaderCollection.dll": {
"assemblyVersion": "4.1.1.0",
"fileVersion": "4.700.19.46214"
},
"runtimes/osx-x64/lib/netcoreapp3.0/System.Net.WebProxy.dll": {
"assemblyVersion": "4.0.1.0",
"fileVersion": "4.700.19.46214"
},
"runtimes/osx-x64/lib/netcoreapp3.0/System.Net.WebSockets.Client.dll": {
"assemblyVersion": "4.1.1.0",
"fileVersion": "4.700.19.46214"
},
"runtimes/osx-x64/lib/netcoreapp3.0/System.Net.WebSockets.dll": {
"assemblyVersion": "4.1.1.0",
"fileVersion": "4.700.19.46214"
},
"runtimes/osx-x64/lib/netcoreapp3.0/System.Net.dll": {
"assemblyVersion": "4.0.0.0",
"fileVersion": "4.700.19.46214"
},
"runtimes/osx-x64/lib/netcoreapp3.0/System.Numerics.Vectors.dll": {
"assemblyVersion": "4.1.5.0",
"fileVersion": "4.700.19.46214"
},
"runtimes/osx-x64/lib/netcoreapp3.0/System.Numerics.dll": {
"assemblyVersion": "4.0.0.0",
"fileVersion": "4.700.19.46214"
},
"runtimes/osx-x64/lib/netcoreapp3.0/System.ObjectModel.dll": {
"assemblyVersion": "4.1.1.0",
"fileVersion": "4.700.19.46214"
},
"runtimes/osx-x64/lib/netcoreapp3.0/System.Private.DataContractSerialization.dll": {
"assemblyVersion": "4.1.4.0",
"fileVersion": "4.700.19.46214"
},
"runtimes/osx-x64/lib/netcoreapp3.0/System.Private.Uri.dll": {
"assemblyVersion": "4.0.5.0",
"fileVersion": "4.700.19.46214"
},
"runtimes/osx-x64/lib/netcoreapp3.0/System.Private.Xml.Linq.dll": {
"assemblyVersion": "4.0.1.0",
"fileVersion": "4.700.19.46214"
},
"runtimes/osx-x64/lib/netcoreapp3.0/System.Private.Xml.dll": {
"assemblyVersion": "4.0.1.0",
"fileVersion": "4.700.19.46214"
},
"runtimes/osx-x64/lib/netcoreapp3.0/System.Reflection.DispatchProxy.dll": {
"assemblyVersion": "4.0.5.0",
"fileVersion": "4.700.19.46214"
},
"runtimes/osx-x64/lib/netcoreapp3.0/System.Reflection.Emit.ILGeneration.dll": {
"assemblyVersion": "4.1.0.0",
"fileVersion": "4.700.19.46214"
},
"runtimes/osx-x64/lib/netcoreapp3.0/System.Reflection.Emit.Lightweight.dll": {
"assemblyVersion": "4.1.0.0",
"fileVersion": "4.700.19.46214"
},
"runtimes/osx-x64/lib/netcoreapp3.0/System.Reflection.Emit.dll": {
"assemblyVersion": "4.1.1.0",
"fileVersion": "4.700.19.46214"
},
"runtimes/osx-x64/lib/netcoreapp3.0/System.Reflection.Extensions.dll": {
"assemblyVersion": "4.1.1.0",
"fileVersion": "4.700.19.46214"
},
"runtimes/osx-x64/lib/netcoreapp3.0/System.Reflection.Metadata.dll": {
"assemblyVersion": "1.4.4.0",
"fileVersion": "4.700.19.46214"
},
"runtimes/osx-x64/lib/netcoreapp3.0/System.Reflection.Primitives.dll": {
"assemblyVersion": "4.1.1.0",
"fileVersion": "4.700.19.46214"
},
"runtimes/osx-x64/lib/netcoreapp3.0/System.Reflection.TypeExtensions.dll": {
"assemblyVersion": "4.1.4.0",
"fileVersion": "4.700.19.46214"
},
"runtimes/osx-x64/lib/netcoreapp3.0/System.Reflection.dll": {
"assemblyVersion": "4.2.1.0",
"fileVersion": "4.700.19.46214"
},
"runtimes/osx-x64/lib/netcoreapp3.0/System.Resources.Reader.dll": {
"assemblyVersion": "4.1.1.0",
"fileVersion": "4.700.19.46214"
},
"runtimes/osx-x64/lib/netcoreapp3.0/System.Resources.ResourceManager.dll": {
"assemblyVersion": "4.1.1.0",
"fileVersion": "4.700.19.46214"
},
"runtimes/osx-x64/lib/netcoreapp3.0/System.Resources.Writer.dll": {
"assemblyVersion": "4.1.1.0",
"fileVersion": "4.700.19.46214"
},
"runtimes/osx-x64/lib/netcoreapp3.0/System.Runtime.CompilerServices.Unsafe.dll": {
"assemblyVersion": "4.0.5.0",
"fileVersion": "4.0.0.0"
},
"runtimes/osx-x64/lib/netcoreapp3.0/System.Runtime.CompilerServices.VisualC.dll": {
"assemblyVersion": "4.1.1.0",
"fileVersion": "4.700.19.46214"
},
"runtimes/osx-x64/lib/netcoreapp3.0/System.Runtime.Extensions.dll": {
"assemblyVersion": "4.2.1.0",
"fileVersion": "4.700.19.46214"
},
"runtimes/osx-x64/lib/netcoreapp3.0/System.Runtime.Handles.dll": {
"assemblyVersion": "4.1.1.0",
"fileVersion": "4.700.19.46214"
},
"runtimes/osx-x64/lib/netcoreapp3.0/System.Runtime.InteropServices.RuntimeInformation.dll": {
"assemblyVersion": "4.0.3.0",
"fileVersion": "4.700.19.46214"
},
"runtimes/osx-x64/lib/netcoreapp3.0/System.Runtime.InteropServices.WindowsRuntime.dll": {
"assemblyVersion": "4.0.3.0",
"fileVersion": "4.700.19.46214"
},
"runtimes/osx-x64/lib/netcoreapp3.0/System.Runtime.InteropServices.dll": {
"assemblyVersion": "4.2.1.0",
"fileVersion": "4.700.19.46214"
},
"runtimes/osx-x64/lib/netcoreapp3.0/System.Runtime.Intrinsics.dll": {
"assemblyVersion": "4.0.0.0",
"fileVersion": "4.700.19.46214"
},
"runtimes/osx-x64/lib/netcoreapp3.0/System.Runtime.Loader.dll": {
"assemblyVersion": "4.1.0.0",
"fileVersion": "4.700.19.46214"
},
"runtimes/osx-x64/lib/netcoreapp3.0/System.Runtime.Numerics.dll": {
"assemblyVersion": "4.1.1.0",
"fileVersion": "4.700.19.46214"
},
"runtimes/osx-x64/lib/netcoreapp3.0/System.Runtime.Serialization.Formatters.dll": {
"assemblyVersion": "4.0.3.0",
"fileVersion": "4.700.19.46214"
},
"runtimes/osx-x64/lib/netcoreapp3.0/System.Runtime.Serialization.Json.dll": {
"assemblyVersion": "4.0.4.0",
"fileVersion": "4.700.19.46214"
},
"runtimes/osx-x64/lib/netcoreapp3.0/System.Runtime.Serialization.Primitives.dll": {
"assemblyVersion": "4.2.1.0",
"fileVersion": "4.700.19.46214"
},
"runtimes/osx-x64/lib/netcoreapp3.0/System.Runtime.Serialization.Xml.dll": {
"assemblyVersion": "4.1.4.0",
"fileVersion": "4.700.19.46214"
},
"runtimes/osx-x64/lib/netcoreapp3.0/System.Runtime.Serialization.dll": {
"assemblyVersion": "4.0.0.0",
"fileVersion": "4.700.19.46214"
},
"runtimes/osx-x64/lib/netcoreapp3.0/System.Runtime.WindowsRuntime.UI.Xaml.dll": {
"assemblyVersion": "4.0.4.0",
"fileVersion": "4.700.19.46214"
},
"runtimes/osx-x64/lib/netcoreapp3.0/System.Runtime.WindowsRuntime.dll": {
"assemblyVersion": "4.0.14.0",
"fileVersion": "4.700.19.46214"
},
"runtimes/osx-x64/lib/netcoreapp3.0/System.Runtime.dll": {
"assemblyVersion": "4.2.1.0",
"fileVersion": "4.700.19.46214"
},
"runtimes/osx-x64/lib/netcoreapp3.0/System.Security.AccessControl.dll": {
"assemblyVersion": "4.1.2.0",
"fileVersion": "4.700.19.46214"
},
"runtimes/osx-x64/lib/netcoreapp3.0/System.Security.Claims.dll": {
"assemblyVersion": "4.1.1.0",
"fileVersion": "4.700.19.46214"
},
"runtimes/osx-x64/lib/netcoreapp3.0/System.Security.Cryptography.Algorithms.dll": {
"assemblyVersion": "4.3.1.0",
"fileVersion": "4.700.19.46214"
},
"runtimes/osx-x64/lib/netcoreapp3.0/System.Security.Cryptography.Cng.dll": {
"assemblyVersion": "4.3.2.0",
"fileVersion": "4.700.19.46214"
},
"runtimes/osx-x64/lib/netcoreapp3.0/System.Security.Cryptography.Csp.dll": {
"assemblyVersion": "4.1.1.0",
"fileVersion": "4.700.19.46214"
},
"runtimes/osx-x64/lib/netcoreapp3.0/System.Security.Cryptography.Encoding.dll": {
"assemblyVersion": "4.1.1.0",
"fileVersion": "4.700.19.46214"
},
"runtimes/osx-x64/lib/netcoreapp3.0/System.Security.Cryptography.OpenSsl.dll": {
"assemblyVersion": "4.1.2.0",
"fileVersion": "4.700.19.46214"
},
"runtimes/osx-x64/lib/netcoreapp3.0/System.Security.Cryptography.Primitives.dll": {
"assemblyVersion": "4.1.1.0",
"fileVersion": "4.700.19.46214"
},
"runtimes/osx-x64/lib/netcoreapp3.0/System.Security.Cryptography.X509Certificates.dll": {
"assemblyVersion": "4.2.1.0",
"fileVersion": "4.700.19.46214"
},
"runtimes/osx-x64/lib/netcoreapp3.0/System.Security.Principal.Windows.dll": {
"assemblyVersion": "4.1.2.0",
"fileVersion": "4.700.19.46214"
},
"runtimes/osx-x64/lib/netcoreapp3.0/System.Security.Principal.dll": {
"assemblyVersion": "4.1.1.0",
"fileVersion": "4.700.19.46214"
},
"runtimes/osx-x64/lib/netcoreapp3.0/System.Security.SecureString.dll": {
"assemblyVersion": "4.1.1.0",
"fileVersion": "4.700.19.46214"
},
"runtimes/osx-x64/lib/netcoreapp3.0/System.Security.dll": {
"assemblyVersion": "4.0.0.0",
"fileVersion": "4.700.19.46214"
},
"runtimes/osx-x64/lib/netcoreapp3.0/System.ServiceModel.Web.dll": {
"assemblyVersion": "4.0.0.0",
"fileVersion": "4.700.19.46214"
},
"runtimes/osx-x64/lib/netcoreapp3.0/System.ServiceProcess.dll": {
"assemblyVersion": "4.0.0.0",
"fileVersion": "4.700.19.46214"
},
"runtimes/osx-x64/lib/netcoreapp3.0/System.Text.Encoding.CodePages.dll": {
"assemblyVersion": "4.1.2.0",
"fileVersion": "4.700.19.46214"
},
"runtimes/osx-x64/lib/netcoreapp3.0/System.Text.Encoding.Extensions.dll": {
"assemblyVersion": "4.1.1.0",
"fileVersion": "4.700.19.46214"
},
"runtimes/osx-x64/lib/netcoreapp3.0/System.Text.Encoding.dll": {
"assemblyVersion": "4.1.1.0",
"fileVersion": "4.700.19.46214"
},
"runtimes/osx-x64/lib/netcoreapp3.0/System.Text.Encodings.Web.dll": {
"assemblyVersion": "4.0.4.0",
"fileVersion": "4.700.19.46214"
},
"runtimes/osx-x64/lib/netcoreapp3.0/System.Text.Json.dll": {
"assemblyVersion": "4.0.0.0",
"fileVersion": "4.700.19.46214"
},
"runtimes/osx-x64/lib/netcoreapp3.0/System.Text.RegularExpressions.dll": {
"assemblyVersion": "4.2.1.0",
"fileVersion": "4.700.19.46214"
},
"runtimes/osx-x64/lib/netcoreapp3.0/System.Threading.Channels.dll": {
"assemblyVersion": "4.0.1.0",
"fileVersion": "4.700.19.46214"
},
"runtimes/osx-x64/lib/netcoreapp3.0/System.Threading.Overlapped.dll": {
"assemblyVersion": "4.1.1.0",
"fileVersion": "4.700.19.46214"
},
"runtimes/osx-x64/lib/netcoreapp3.0/System.Threading.Tasks.Dataflow.dll": {
"assemblyVersion": "4.6.4.0",
"fileVersion": "4.700.19.46214"
},
"runtimes/osx-x64/lib/netcoreapp3.0/System.Threading.Tasks.Extensions.dll": {
"assemblyVersion": "4.3.0.0",
"fileVersion": "4.700.19.46214"
},
"runtimes/osx-x64/lib/netcoreapp3.0/System.Threading.Tasks.Parallel.dll": {
"assemblyVersion": "4.0.3.0",
"fileVersion": "4.700.19.46214"
},
"runtimes/osx-x64/lib/netcoreapp3.0/System.Threading.Tasks.dll": {
"assemblyVersion": "4.1.1.0",
"fileVersion": "4.700.19.46214"
},
"runtimes/osx-x64/lib/netcoreapp3.0/System.Threading.Thread.dll": {
"assemblyVersion": "4.1.1.0",
"fileVersion": "4.700.19.46214"
},
"runtimes/osx-x64/lib/netcoreapp3.0/System.Threading.ThreadPool.dll": {
"assemblyVersion": "4.1.1.0",
"fileVersion": "4.700.19.46214"
},
"runtimes/osx-x64/lib/netcoreapp3.0/System.Threading.Timer.dll": {
"assemblyVersion": "4.1.1.0",
"fileVersion": "4.700.19.46214"
},
"runtimes/osx-x64/lib/netcoreapp3.0/System.Threading.dll": {
"assemblyVersion": "4.1.1.0",
"fileVersion": "4.700.19.46214"
},
"runtimes/osx-x64/lib/netcoreapp3.0/System.Transactions.Local.dll": {
"assemblyVersion": "4.0.1.0",
"fileVersion": "4.700.19.46214"
},
"runtimes/osx-x64/lib/netcoreapp3.0/System.Transactions.dll": {
"assemblyVersion": "4.0.0.0",
"fileVersion": "4.700.19.46214"
},
"runtimes/osx-x64/lib/netcoreapp3.0/System.ValueTuple.dll": {
"assemblyVersion": "4.0.4.0",
"fileVersion": "4.700.19.46214"
},
"runtimes/osx-x64/lib/netcoreapp3.0/System.Web.HttpUtility.dll": {
"assemblyVersion": "4.0.1.0",
"fileVersion": "4.700.19.46214"
},
"runtimes/osx-x64/lib/netcoreapp3.0/System.Web.dll": {
"assemblyVersion": "4.0.0.0",
"fileVersion": "4.700.19.46214"
},
"runtimes/osx-x64/lib/netcoreapp3.0/System.Windows.dll": {
"assemblyVersion": "4.0.0.0",
"fileVersion": "4.700.19.46214"
},
"runtimes/osx-x64/lib/netcoreapp3.0/System.Xml.Linq.dll": {
"assemblyVersion": "4.0.0.0",
"fileVersion": "4.700.19.46214"
},
"runtimes/osx-x64/lib/netcoreapp3.0/System.Xml.ReaderWriter.dll": {
"assemblyVersion": "4.2.1.0",
"fileVersion": "4.700.19.46214"
},
"runtimes/osx-x64/lib/netcoreapp3.0/System.Xml.Serialization.dll": {
"assemblyVersion": "4.0.0.0",
"fileVersion": "4.700.19.46214"
},
"runtimes/osx-x64/lib/netcoreapp3.0/System.Xml.XDocument.dll": {
"assemblyVersion": "4.1.1.0",
"fileVersion": "4.700.19.46214"
},
"runtimes/osx-x64/lib/netcoreapp3.0/System.Xml.XPath.XDocument.dll": {
"assemblyVersion": "4.1.1.0",
"fileVersion": "4.700.19.46214"
},
"runtimes/osx-x64/lib/netcoreapp3.0/System.Xml.XPath.dll": {
"assemblyVersion": "4.1.1.0",
"fileVersion": "4.700.19.46214"
},
"runtimes/osx-x64/lib/netcoreapp3.0/System.Xml.XmlDocument.dll": {
"assemblyVersion": "4.1.1.0",
"fileVersion": "4.700.19.46214"
},
"runtimes/osx-x64/lib/netcoreapp3.0/System.Xml.XmlSerializer.dll": {
"assemblyVersion": "4.1.1.0",
"fileVersion": "4.700.19.46214"
},
"runtimes/osx-x64/lib/netcoreapp3.0/System.Xml.dll": {
"assemblyVersion": "4.0.0.0",
"fileVersion": "4.700.19.46214"
},
"runtimes/osx-x64/lib/netcoreapp3.0/System.dll": {
"assemblyVersion": "4.0.0.0",
"fileVersion": "4.700.19.46214"
},
"runtimes/osx-x64/lib/netcoreapp3.0/WindowsBase.dll": {
"assemblyVersion": "4.0.0.0",
"fileVersion": "4.700.19.46214"
},
"runtimes/osx-x64/lib/netcoreapp3.0/mscorlib.dll": {
"assemblyVersion": "4.0.0.0",
"fileVersion": "4.700.19.46214"
},
"runtimes/osx-x64/lib/netcoreapp3.0/netstandard.dll": {
"assemblyVersion": "2.1.0.0",
"fileVersion": "4.700.19.46214"
}
},
"native": {
"runtimes/osx-x64/native/SOS_README.md": {
"fileVersion": "0.0.0.0"
},
"runtimes/osx-x64/native/System.Globalization.Native.dylib": {
"fileVersion": "0.0.0.0"
},
"runtimes/osx-x64/native/System.IO.Compression.Native.a": {
"fileVersion": "0.0.0.0"
},
"runtimes/osx-x64/native/System.IO.Compression.Native.dylib": {
"fileVersion": "0.0.0.0"
},
"runtimes/osx-x64/native/System.Native.a": {
"fileVersion": "0.0.0.0"
},
"runtimes/osx-x64/native/System.Native.dylib": {
"fileVersion": "0.0.0.0"
},
"runtimes/osx-x64/native/System.Net.Http.Native.a": {
"fileVersion": "0.0.0.0"
},
"runtimes/osx-x64/native/System.Net.Http.Native.dylib": {
"fileVersion": "0.0.0.0"
},
"runtimes/osx-x64/native/System.Net.Security.Native.a": {
"fileVersion": "0.0.0.0"
},
"runtimes/osx-x64/native/System.Net.Security.Native.dylib": {
"fileVersion": "0.0.0.0"
},
"runtimes/osx-x64/native/System.Private.CoreLib.dll": {
"assemblyVersion": "4.0.0.0",
"fileVersion": "4.700.19.46205"
},
"runtimes/osx-x64/native/System.Security.Cryptography.Native.Apple.a": {
"fileVersion": "0.0.0.0"
},
"runtimes/osx-x64/native/System.Security.Cryptography.Native.Apple.dylib": {
"fileVersion": "0.0.0.0"
},
"runtimes/osx-x64/native/System.Security.Cryptography.Native.OpenSsl.a": {
"fileVersion": "0.0.0.0"
},
"runtimes/osx-x64/native/System.Security.Cryptography.Native.OpenSsl.dylib": {
"fileVersion": "0.0.0.0"
},
"runtimes/osx-x64/native/libclrjit.dylib": {
"fileVersion": "0.0.0.0"
},
"runtimes/osx-x64/native/libcoreclr.dylib": {
"fileVersion": "0.0.0.0"
},
"runtimes/osx-x64/native/libdbgshim.dylib": {
"fileVersion": "0.0.0.0"
},
"runtimes/osx-x64/native/libmscordaccore.dylib": {
"fileVersion": "0.0.0.0"
},
"runtimes/osx-x64/native/libmscordbi.dylib": {
"fileVersion": "0.0.0.0"
}
}
},
"runtime.osx-x64.Microsoft.NETCore.DotNetHostPolicy/3.0.0": {
"native": {
"runtimes/osx-x64/native/libhostpolicy.dylib": {
"fileVersion": "0.0.0.0"
}
}
}
}
},
"libraries": {
"Microsoft.NETCore.App/3.0.0-rc2-19467-06": {
"type": "package",
"serviceable": true,
"sha512": "sha512-VSf+vkQAiKXGDcRy2r/VHHUktjfLiOA3uouxbztOX8i1q/3QfKw8dUN5G8zD4B/30je2XwygFCtX5CTmBLoUtA==",
"path": "microsoft.netcore.app/3.0.0-rc2-19467-06",
"hashPath": "microsoft.netcore.app.3.0.0-rc2-19467-06.nupkg.sha512"
},
"Microsoft.NETCore.App.Internal/3.0.0-rc2-19467-06": {
"type": "package",
"serviceable": true,
"sha512": "sha512-h9yz2fvjkq/4KndH2EYEAMgAr7VK+5UDD8ePxITiZ15zMqYxdZMjVnU0/P//oi18fhqv0hawRNoY1DNadi3/FQ==",
"path": "microsoft.netcore.app.internal/3.0.0-rc2-19467-06",
"hashPath": "microsoft.netcore.app.internal.3.0.0-rc2-19467-06.nupkg.sha512"
},
"Microsoft.NETCore.DotNetHostPolicy/3.0.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-SEImSINfJyqzKil9Iza3SqUbjb3tpbkjvXd5cBuKzEGudllIATiH1oFrG/D4nND6Voew+RC/kWR5NV8T5WSmMw=="
},
"Microsoft.NETCore.Platforms/3.0.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-TsETIgVJb/AKoYfSP+iCxkuly5d3inZjTdx/ItZLk2CxY85v8083OBS3uai84kK3/baLnS5/b5XGs6zR7SuuHQ==",
"path": "microsoft.netcore.platforms/3.0.0",
"hashPath": "microsoft.netcore.platforms.3.0.0.nupkg.sha512"
},
"Microsoft.NETCore.Targets/3.0.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-WOwoFoWQ+/njjM0pKbnkKTBo8q3NphEOtu1zMXbqRoWsI07JSXWSycgN3cdM+NlhkXxH4TNEFtI5Pjm94N6DLw==",
"path": "microsoft.netcore.targets/3.0.0",
"hashPath": "microsoft.netcore.targets.3.0.0.nupkg.sha512"
},
"NETStandard.Library/2.1.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-5HpvGyPsBaglPPgkcUYRyBuTc1KwVsaiYrrt6dLb9SC/VTClgTjXq3rHo7aXDiodwIwtbCJCLCq+ZPyjwkamjw==",
"path": "netstandard.library/2.1.0",
"hashPath": "netstandard.library.2.1.0.nupkg.sha512"
},
"runtime.osx-x64.Microsoft.NETCore.App/3.0.0-rc2-19467-06": {
"type": "package",
"serviceable": true,
"sha512": "sha512-ogOlvI9xzLA2ecW2AocMYubVo1M9+iqkb//Cf3BfDAqQt3cYMgQDTohAzWF356FzBroGUW+ijHSEsBup81tmVA==",
"path": "runtime.osx-x64.microsoft.netcore.app/3.0.0-rc2-19467-06",
"hashPath": "runtime.osx-x64.microsoft.netcore.app.3.0.0-rc2-19467-06.nupkg.sha512"
},
"runtime.osx-x64.Microsoft.NETCore.DotNetHostPolicy/3.0.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-kseTfiDa+5PHKeRfAUGqAPu+jYSadyQr/Jvi0EGQj5EBzLx6YKOo+hVWfErj/bOR2tsOvA37PGO/eDLcM3dtDg=="
}
},
"runtimes": {
"osx-x64": [
"osx",
"unix-x64",
"unix",
"any",
"base"
],
"osx": [
"unix",
"any",
"base"
],
"osx.10.10": [
"osx",
"unix",
"any",
"base"
],
"osx.10.10-x64": [
"osx.10.10",
"osx-x64",
"osx",
"unix-x64",
"unix",
"any",
"base"
],
"osx.10.11": [
"osx.10.10",
"osx",
"unix",
"any",
"base"
],
"osx.10.11-x64": [
"osx.10.11",
"osx.10.10-x64",
"osx.10.10",
"osx-x64",
"osx",
"unix-x64",
"unix",
"any",
"base"
],
"osx.10.12": [
"osx.10.11",
"osx.10.10",
"osx",
"unix",
"any",
"base"
],
"osx.10.12-x64": [
"osx.10.12",
"osx.10.11-x64",
"osx.10.11",
"osx.10.10-x64",
"osx.10.10",
"osx-x64",
"osx",
"unix-x64",
"unix",
"any",
"base"
],
"osx.10.13": [
"osx.10.12",
"osx.10.11",
"osx.10.10",
"osx",
"unix",
"any",
"base"
],
"osx.10.13-x64": [
"osx.10.13",
"osx.10.12-x64",
"osx.10.12",
"osx.10.11-x64",
"osx.10.11",
"osx.10.10-x64",
"osx.10.10",
"osx-x64",
"osx",
"unix-x64",
"unix",
"any",
"base"
],
"osx.10.14": [
"osx.10.13",
"osx.10.12",
"osx.10.11",
"osx.10.10",
"osx",
"unix",
"any",
"base"
],
"osx.10.14-x64": [
"osx.10.14",
"osx.10.13-x64",
"osx.10.13",
"osx.10.12-x64",
"osx.10.12",
"osx.10.11-x64",
"osx.10.11",
"osx.10.10-x64",
"osx.10.10",
"osx-x64",
"osx",
"unix-x64",
"unix",
"any",
"base"
],
"osx.10.15": [
"osx.10.14",
"osx.10.13",
"osx.10.12",
"osx.10.11",
"osx.10.10",
"osx",
"unix",
"any",
"base"
],
"osx.10.15-x64": [
"osx.10.15",
"osx.10.14-x64",
"osx.10.14",
"osx.10.13-x64",
"osx.10.13",
"osx.10.12-x64",
"osx.10.12",
"osx.10.11-x64",
"osx.10.11",
"osx.10.10-x64",
"osx.10.10",
"osx-x64",
"osx",
"unix-x64",
"unix",
"any",
"base"
]
}
}
{
"runtimeTarget": {
"name": ".NETCoreApp,Version=v3.1/osx-x64",
"signature": ""
},
"compilationOptions": {},
"targets": {
".NETCoreApp,Version=v3.1": {},
".NETCoreApp,Version=v3.1/osx-x64": {
"Microsoft.Build.Tasks.Git/1.1.0-beta-20206-02": {},
"Microsoft.NETCore.App/3.1.14-servicing.21165.2": {
"dependencies": {
"Microsoft.NETCore.Platforms": "3.1.6"
}
},
"Microsoft.NETCore.App.Internal/3.1.14-servicing.21165.2": {
"dependencies": {
"Microsoft.NETCore.DotNetHostPolicy": "3.1.14",
"Microsoft.NETCore.Platforms": "3.1.6",
"Microsoft.NETCore.Targets": "3.1.0",
"NETStandard.Library": "2.1.0",
"runtime.osx-x64.Microsoft.NETCore.App": "3.1.14-servicing.21165.2"
}
},
"Microsoft.NETCore.DotNetHostPolicy/3.1.14": {
"dependencies": {
"runtime.osx-x64.Microsoft.NETCore.DotNetHostPolicy": "3.1.14"
}
},
"Microsoft.NETCore.Platforms/3.1.6": {},
"Microsoft.NETCore.Targets/3.1.0": {},
"Microsoft.SourceLink.AzureRepos.Git/1.1.0-beta-20206-02": {
"dependencies": {
"Microsoft.Build.Tasks.Git": "1.1.0-beta-20206-02",
"Microsoft.SourceLink.Common": "1.1.0-beta-20206-02"
}
},
"Microsoft.SourceLink.Common/1.1.0-beta-20206-02": {},
"Microsoft.SourceLink.GitHub/1.1.0-beta-20206-02": {
"dependencies": {
"Microsoft.Build.Tasks.Git": "1.1.0-beta-20206-02",
"Microsoft.SourceLink.Common": "1.1.0-beta-20206-02"
}
},
"NETStandard.Library/2.1.0": {
"dependencies": {
"Microsoft.NETCore.Platforms": "3.1.6"
}
},
"runtime.osx-x64.Microsoft.NETCore.App/3.1.14-servicing.21165.2": {
"runtime": {
"runtimes/osx-x64/lib/netcoreapp3.1/Microsoft.CSharp.dll": {
"assemblyVersion": "4.0.5.0",
"fileVersion": "4.700.21.16208"
},
"runtimes/osx-x64/lib/netcoreapp3.1/Microsoft.VisualBasic.Core.dll": {
"assemblyVersion": "10.0.5.0",
"fileVersion": "4.700.21.16208"
},
"runtimes/osx-x64/lib/netcoreapp3.1/Microsoft.VisualBasic.dll": {
"assemblyVersion": "10.0.0.0",
"fileVersion": "4.700.21.16208"
},
"runtimes/osx-x64/lib/netcoreapp3.1/Microsoft.Win32.Primitives.dll": {
"assemblyVersion": "4.1.2.0",
"fileVersion": "4.700.21.16208"
},
"runtimes/osx-x64/lib/netcoreapp3.1/Microsoft.Win32.Registry.dll": {
"assemblyVersion": "4.1.3.0",
"fileVersion": "4.700.21.16208"
},
"runtimes/osx-x64/lib/netcoreapp3.1/System.AppContext.dll": {
"assemblyVersion": "4.2.2.0",
"fileVersion": "4.700.21.16208"
},
"runtimes/osx-x64/lib/netcoreapp3.1/System.Buffers.dll": {
"assemblyVersion": "4.0.5.0",
"fileVersion": "4.700.21.16208"
},
"runtimes/osx-x64/lib/netcoreapp3.1/System.Collections.Concurrent.dll": {
"assemblyVersion": "4.0.15.0",
"fileVersion": "4.700.21.16208"
},
"runtimes/osx-x64/lib/netcoreapp3.1/System.Collections.Immutable.dll": {
"assemblyVersion": "1.2.5.0",
"fileVersion": "4.700.21.16208"
},
"runtimes/osx-x64/lib/netcoreapp3.1/System.Collections.NonGeneric.dll": {
"assemblyVersion": "4.1.2.0",
"fileVersion": "4.700.21.16208"
},
"runtimes/osx-x64/lib/netcoreapp3.1/System.Collections.Specialized.dll": {
"assemblyVersion": "4.1.2.0",
"fileVersion": "4.700.21.16208"
},
"runtimes/osx-x64/lib/netcoreapp3.1/System.Collections.dll": {
"assemblyVersion": "4.1.2.0",
"fileVersion": "4.700.21.16208"
},
"runtimes/osx-x64/lib/netcoreapp3.1/System.ComponentModel.Annotations.dll": {
"assemblyVersion": "4.3.1.0",
"fileVersion": "4.700.21.16208"
},
"runtimes/osx-x64/lib/netcoreapp3.1/System.ComponentModel.DataAnnotations.dll": {
"assemblyVersion": "4.0.0.0",
"fileVersion": "4.700.21.16208"
},
"runtimes/osx-x64/lib/netcoreapp3.1/System.ComponentModel.EventBasedAsync.dll": {
"assemblyVersion": "4.1.2.0",
"fileVersion": "4.700.21.16208"
},
"runtimes/osx-x64/lib/netcoreapp3.1/System.ComponentModel.Primitives.dll": {
"assemblyVersion": "4.2.2.0",
"fileVersion": "4.700.21.16208"
},
"runtimes/osx-x64/lib/netcoreapp3.1/System.ComponentModel.TypeConverter.dll": {
"assemblyVersion": "4.2.2.0",
"fileVersion": "4.700.21.16208"
},
"runtimes/osx-x64/lib/netcoreapp3.1/System.ComponentModel.dll": {
"assemblyVersion": "4.0.4.0",
"fileVersion": "4.700.21.16208"
},
"runtimes/osx-x64/lib/netcoreapp3.1/System.Configuration.dll": {
"assemblyVersion": "4.0.0.0",
"fileVersion": "4.700.21.16208"
},
"runtimes/osx-x64/lib/netcoreapp3.1/System.Console.dll": {
"assemblyVersion": "4.1.2.0",
"fileVersion": "4.700.21.16208"
},
"runtimes/osx-x64/lib/netcoreapp3.1/System.Core.dll": {
"assemblyVersion": "4.0.0.0",
"fileVersion": "4.700.21.16208"
},
"runtimes/osx-x64/lib/netcoreapp3.1/System.Data.Common.dll": {
"assemblyVersion": "4.2.2.0",
"fileVersion": "4.700.21.16208"
},
"runtimes/osx-x64/lib/netcoreapp3.1/System.Data.DataSetExtensions.dll": {
"assemblyVersion": "4.0.1.0",
"fileVersion": "4.700.21.16208"
},
"runtimes/osx-x64/lib/netcoreapp3.1/System.Data.dll": {
"assemblyVersion": "4.0.0.0",
"fileVersion": "4.700.21.16208"
},
"runtimes/osx-x64/lib/netcoreapp3.1/System.Diagnostics.Contracts.dll": {
"assemblyVersion": "4.0.4.0",
"fileVersion": "4.700.21.16208"
},
"runtimes/osx-x64/lib/netcoreapp3.1/System.Diagnostics.Debug.dll": {
"assemblyVersion": "4.1.2.0",
"fileVersion": "4.700.21.16208"
},
"runtimes/osx-x64/lib/netcoreapp3.1/System.Diagnostics.DiagnosticSource.dll": {
"assemblyVersion": "4.0.5.0",
"fileVersion": "4.700.21.16208"
},
"runtimes/osx-x64/lib/netcoreapp3.1/System.Diagnostics.FileVersionInfo.dll": {
"assemblyVersion": "4.0.4.0",
"fileVersion": "4.700.21.16208"
},
"runtimes/osx-x64/lib/netcoreapp3.1/System.Diagnostics.Process.dll": {
"assemblyVersion": "4.2.2.0",
"fileVersion": "4.700.21.16208"
},
"runtimes/osx-x64/lib/netcoreapp3.1/System.Diagnostics.StackTrace.dll": {
"assemblyVersion": "4.1.2.0",
"fileVersion": "4.700.21.16208"
},
"runtimes/osx-x64/lib/netcoreapp3.1/System.Diagnostics.TextWriterTraceListener.dll": {
"assemblyVersion": "4.1.2.0",
"fileVersion": "4.700.21.16208"
},
"runtimes/osx-x64/lib/netcoreapp3.1/System.Diagnostics.Tools.dll": {
"assemblyVersion": "4.1.2.0",
"fileVersion": "4.700.21.16208"
},
"runtimes/osx-x64/lib/netcoreapp3.1/System.Diagnostics.TraceSource.dll": {
"assemblyVersion": "4.1.2.0",
"fileVersion": "4.700.21.16208"
},
"runtimes/osx-x64/lib/netcoreapp3.1/System.Diagnostics.Tracing.dll": {
"assemblyVersion": "4.2.2.0",
"fileVersion": "4.700.21.16208"
},
"runtimes/osx-x64/lib/netcoreapp3.1/System.Drawing.Primitives.dll": {
"assemblyVersion": "4.2.1.0",
"fileVersion": "4.700.21.16208"
},
"runtimes/osx-x64/lib/netcoreapp3.1/System.Drawing.dll": {
"assemblyVersion": "4.0.0.0",
"fileVersion": "4.700.21.16208"
},
"runtimes/osx-x64/lib/netcoreapp3.1/System.Dynamic.Runtime.dll": {
"assemblyVersion": "4.1.2.0",
"fileVersion": "4.700.21.16208"
},
"runtimes/osx-x64/lib/netcoreapp3.1/System.Globalization.Calendars.dll": {
"assemblyVersion": "4.1.2.0",
"fileVersion": "4.700.21.16208"
},
"runtimes/osx-x64/lib/netcoreapp3.1/System.Globalization.Extensions.dll": {
"assemblyVersion": "4.1.2.0",
"fileVersion": "4.700.21.16208"
},
"runtimes/osx-x64/lib/netcoreapp3.1/System.Globalization.dll": {
"assemblyVersion": "4.1.2.0",
"fileVersion": "4.700.21.16208"
},
"runtimes/osx-x64/lib/netcoreapp3.1/System.IO.Compression.Brotli.dll": {
"assemblyVersion": "4.2.2.0",
"fileVersion": "4.700.21.16208"
},
"runtimes/osx-x64/lib/netcoreapp3.1/System.IO.Compression.FileSystem.dll": {
"assemblyVersion": "4.0.0.0",
"fileVersion": "4.700.21.16208"
},
"runtimes/osx-x64/lib/netcoreapp3.1/System.IO.Compression.ZipFile.dll": {
"assemblyVersion": "4.0.5.0",
"fileVersion": "4.700.21.16208"
},
"runtimes/osx-x64/lib/netcoreapp3.1/System.IO.Compression.dll": {
"assemblyVersion": "4.2.2.0",
"fileVersion": "4.700.21.16208"
},
"runtimes/osx-x64/lib/netcoreapp3.1/System.IO.FileSystem.AccessControl.dll": {
"assemblyVersion": "4.0.5.0",
"fileVersion": "4.700.21.16208"
},
"runtimes/osx-x64/lib/netcoreapp3.1/System.IO.FileSystem.DriveInfo.dll": {
"assemblyVersion": "4.1.2.0",
"fileVersion": "4.700.21.16208"
},
"runtimes/osx-x64/lib/netcoreapp3.1/System.IO.FileSystem.Primitives.dll": {
"assemblyVersion": "4.1.2.0",
"fileVersion": "4.700.21.16208"
},
"runtimes/osx-x64/lib/netcoreapp3.1/System.IO.FileSystem.Watcher.dll": {
"assemblyVersion": "4.1.2.0",
"fileVersion": "4.700.21.16208"
},
"runtimes/osx-x64/lib/netcoreapp3.1/System.IO.FileSystem.dll": {
"assemblyVersion": "4.1.2.0",
"fileVersion": "4.700.21.16208"
},
"runtimes/osx-x64/lib/netcoreapp3.1/System.IO.IsolatedStorage.dll": {
"assemblyVersion": "4.1.2.0",
"fileVersion": "4.700.21.16208"
},
"runtimes/osx-x64/lib/netcoreapp3.1/System.IO.MemoryMappedFiles.dll": {
"assemblyVersion": "4.1.2.0",
"fileVersion": "4.700.21.16208"
},
"runtimes/osx-x64/lib/netcoreapp3.1/System.IO.Pipes.AccessControl.dll": {
"assemblyVersion": "4.0.5.0",
"fileVersion": "4.700.21.16208"
},
"runtimes/osx-x64/lib/netcoreapp3.1/System.IO.Pipes.dll": {
"assemblyVersion": "4.1.2.0",
"fileVersion": "4.700.21.16208"
},
"runtimes/osx-x64/lib/netcoreapp3.1/System.IO.UnmanagedMemoryStream.dll": {
"assemblyVersion": "4.1.2.0",
"fileVersion": "4.700.21.16208"
},
"runtimes/osx-x64/lib/netcoreapp3.1/System.IO.dll": {
"assemblyVersion": "4.2.2.0",
"fileVersion": "4.700.21.16208"
},
"runtimes/osx-x64/lib/netcoreapp3.1/System.Linq.Expressions.dll": {
"assemblyVersion": "4.2.2.0",
"fileVersion": "4.700.21.16208"
},
"runtimes/osx-x64/lib/netcoreapp3.1/System.Linq.Parallel.dll": {
"assemblyVersion": "4.0.4.0",
"fileVersion": "4.700.21.16208"
},
"runtimes/osx-x64/lib/netcoreapp3.1/System.Linq.Queryable.dll": {
"assemblyVersion": "4.0.4.0",
"fileVersion": "4.700.21.16208"
},
"runtimes/osx-x64/lib/netcoreapp3.1/System.Linq.dll": {
"assemblyVersion": "4.2.2.0",
"fileVersion": "4.700.21.16208"
},
"runtimes/osx-x64/lib/netcoreapp3.1/System.Memory.dll": {
"assemblyVersion": "4.2.1.0",
"fileVersion": "4.700.21.16208"
},
"runtimes/osx-x64/lib/netcoreapp3.1/System.Net.Http.dll": {
"assemblyVersion": "4.2.2.0",
"fileVersion": "4.700.21.16208"
},
"runtimes/osx-x64/lib/netcoreapp3.1/System.Net.HttpListener.dll": {
"assemblyVersion": "4.0.2.0",
"fileVersion": "4.700.21.16208"
},
"runtimes/osx-x64/lib/netcoreapp3.1/System.Net.Mail.dll": {
"assemblyVersion": "4.0.2.0",
"fileVersion": "4.700.21.16208"
},
"runtimes/osx-x64/lib/netcoreapp3.1/System.Net.NameResolution.dll": {
"assemblyVersion": "4.1.2.0",
"fileVersion": "4.700.21.16208"
},
"runtimes/osx-x64/lib/netcoreapp3.1/System.Net.NetworkInformation.dll": {
"assemblyVersion": "4.2.2.0",
"fileVersion": "4.700.21.16208"
},
"runtimes/osx-x64/lib/netcoreapp3.1/System.Net.Ping.dll": {
"assemblyVersion": "4.1.2.0",
"fileVersion": "4.700.21.16208"
},
"runtimes/osx-x64/lib/netcoreapp3.1/System.Net.Primitives.dll": {
"assemblyVersion": "4.1.2.0",
"fileVersion": "4.700.21.16208"
},
"runtimes/osx-x64/lib/netcoreapp3.1/System.Net.Requests.dll": {
"assemblyVersion": "4.1.2.0",
"fileVersion": "4.700.21.16208"
},
"runtimes/osx-x64/lib/netcoreapp3.1/System.Net.Security.dll": {
"assemblyVersion": "4.1.2.0",
"fileVersion": "4.700.21.16208"
},
"runtimes/osx-x64/lib/netcoreapp3.1/System.Net.ServicePoint.dll": {
"assemblyVersion": "4.0.2.0",
"fileVersion": "4.700.21.16208"
},
"runtimes/osx-x64/lib/netcoreapp3.1/System.Net.Sockets.dll": {
"assemblyVersion": "4.2.2.0",
"fileVersion": "4.700.21.16208"
},
"runtimes/osx-x64/lib/netcoreapp3.1/System.Net.WebClient.dll": {
"assemblyVersion": "4.0.2.0",
"fileVersion": "4.700.21.16208"
},
"runtimes/osx-x64/lib/netcoreapp3.1/System.Net.WebHeaderCollection.dll": {
"assemblyVersion": "4.1.2.0",
"fileVersion": "4.700.21.16208"
},
"runtimes/osx-x64/lib/netcoreapp3.1/System.Net.WebProxy.dll": {
"assemblyVersion": "4.0.2.0",
"fileVersion": "4.700.21.16208"
},
"runtimes/osx-x64/lib/netcoreapp3.1/System.Net.WebSockets.Client.dll": {
"assemblyVersion": "4.1.2.0",
"fileVersion": "4.700.21.16208"
},
"runtimes/osx-x64/lib/netcoreapp3.1/System.Net.WebSockets.dll": {
"assemblyVersion": "4.1.2.0",
"fileVersion": "4.700.21.16208"
},
"runtimes/osx-x64/lib/netcoreapp3.1/System.Net.dll": {
"assemblyVersion": "4.0.0.0",
"fileVersion": "4.700.21.16208"
},
"runtimes/osx-x64/lib/netcoreapp3.1/System.Numerics.Vectors.dll": {
"assemblyVersion": "4.1.6.0",
"fileVersion": "4.700.21.16208"
},
"runtimes/osx-x64/lib/netcoreapp3.1/System.Numerics.dll": {
"assemblyVersion": "4.0.0.0",
"fileVersion": "4.700.21.16208"
},
"runtimes/osx-x64/lib/netcoreapp3.1/System.ObjectModel.dll": {
"assemblyVersion": "4.1.2.0",
"fileVersion": "4.700.21.16208"
},
"runtimes/osx-x64/lib/netcoreapp3.1/System.Private.DataContractSerialization.dll": {
"assemblyVersion": "4.1.5.0",
"fileVersion": "4.700.21.16208"
},
"runtimes/osx-x64/lib/netcoreapp3.1/System.Private.Uri.dll": {
"assemblyVersion": "4.0.6.0",
"fileVersion": "4.700.21.16208"
},
"runtimes/osx-x64/lib/netcoreapp3.1/System.Private.Xml.Linq.dll": {
"assemblyVersion": "4.0.2.0",
"fileVersion": "4.700.21.16208"
},
"runtimes/osx-x64/lib/netcoreapp3.1/System.Private.Xml.dll": {
"assemblyVersion": "4.0.2.0",
"fileVersion": "4.700.21.16208"
},
"runtimes/osx-x64/lib/netcoreapp3.1/System.Reflection.DispatchProxy.dll": {
"assemblyVersion": "4.0.6.0",
"fileVersion": "4.700.21.16208"
},
"runtimes/osx-x64/lib/netcoreapp3.1/System.Reflection.Emit.ILGeneration.dll": {
"assemblyVersion": "4.1.1.0",
"fileVersion": "4.700.21.16208"
},
"runtimes/osx-x64/lib/netcoreapp3.1/System.Reflection.Emit.Lightweight.dll": {
"assemblyVersion": "4.1.1.0",
"fileVersion": "4.700.21.16208"
},
"runtimes/osx-x64/lib/netcoreapp3.1/System.Reflection.Emit.dll": {
"assemblyVersion": "4.1.2.0",
"fileVersion": "4.700.21.16208"
},
"runtimes/osx-x64/lib/netcoreapp3.1/System.Reflection.Extensions.dll": {
"assemblyVersion": "4.1.2.0",
"fileVersion": "4.700.21.16208"
},
"runtimes/osx-x64/lib/netcoreapp3.1/System.Reflection.Metadata.dll": {
"assemblyVersion": "1.4.5.0",
"fileVersion": "4.700.21.16208"
},
"runtimes/osx-x64/lib/netcoreapp3.1/System.Reflection.Primitives.dll": {
"assemblyVersion": "4.1.2.0",
"fileVersion": "4.700.21.16208"
},
"runtimes/osx-x64/lib/netcoreapp3.1/System.Reflection.TypeExtensions.dll": {
"assemblyVersion": "4.1.5.0",
"fileVersion": "4.700.21.16208"
},
"runtimes/osx-x64/lib/netcoreapp3.1/System.Reflection.dll": {
"assemblyVersion": "4.2.2.0",
"fileVersion": "4.700.21.16208"
},
"runtimes/osx-x64/lib/netcoreapp3.1/System.Resources.Reader.dll": {
"assemblyVersion": "4.1.2.0",
"fileVersion": "4.700.21.16208"
},
"runtimes/osx-x64/lib/netcoreapp3.1/System.Resources.ResourceManager.dll": {
"assemblyVersion": "4.1.2.0",
"fileVersion": "4.700.21.16208"
},
"runtimes/osx-x64/lib/netcoreapp3.1/System.Resources.Writer.dll": {
"assemblyVersion": "4.1.2.0",
"fileVersion": "4.700.21.16208"
},
"runtimes/osx-x64/lib/netcoreapp3.1/System.Runtime.CompilerServices.Unsafe.dll": {
"assemblyVersion": "4.0.6.0",
"fileVersion": "4.0.0.0"
},
"runtimes/osx-x64/lib/netcoreapp3.1/System.Runtime.CompilerServices.VisualC.dll": {
"assemblyVersion": "4.1.2.0",
"fileVersion": "4.700.21.16208"
},
"runtimes/osx-x64/lib/netcoreapp3.1/System.Runtime.Extensions.dll": {
"assemblyVersion": "4.2.2.0",
"fileVersion": "4.700.21.16208"
},
"runtimes/osx-x64/lib/netcoreapp3.1/System.Runtime.Handles.dll": {
"assemblyVersion": "4.1.2.0",
"fileVersion": "4.700.21.16208"
},
"runtimes/osx-x64/lib/netcoreapp3.1/System.Runtime.InteropServices.RuntimeInformation.dll": {
"assemblyVersion": "4.0.4.0",
"fileVersion": "4.700.21.16208"
},
"runtimes/osx-x64/lib/netcoreapp3.1/System.Runtime.InteropServices.WindowsRuntime.dll": {
"assemblyVersion": "4.0.4.0",
"fileVersion": "4.700.21.16208"
},
"runtimes/osx-x64/lib/netcoreapp3.1/System.Runtime.InteropServices.dll": {
"assemblyVersion": "4.2.2.0",
"fileVersion": "4.700.21.16208"
},
"runtimes/osx-x64/lib/netcoreapp3.1/System.Runtime.Intrinsics.dll": {
"assemblyVersion": "4.0.1.0",
"fileVersion": "4.700.21.16208"
},
"runtimes/osx-x64/lib/netcoreapp3.1/System.Runtime.Loader.dll": {
"assemblyVersion": "4.1.1.0",
"fileVersion": "4.700.21.16208"
},
"runtimes/osx-x64/lib/netcoreapp3.1/System.Runtime.Numerics.dll": {
"assemblyVersion": "4.1.2.0",
"fileVersion": "4.700.21.16208"
},
"runtimes/osx-x64/lib/netcoreapp3.1/System.Runtime.Serialization.Formatters.dll": {
"assemblyVersion": "4.0.4.0",
"fileVersion": "4.700.21.16208"
},
"runtimes/osx-x64/lib/netcoreapp3.1/System.Runtime.Serialization.Json.dll": {
"assemblyVersion": "4.0.5.0",
"fileVersion": "4.700.21.16208"
},
"runtimes/osx-x64/lib/netcoreapp3.1/System.Runtime.Serialization.Primitives.dll": {
"assemblyVersion": "4.2.2.0",
"fileVersion": "4.700.21.16208"
},
"runtimes/osx-x64/lib/netcoreapp3.1/System.Runtime.Serialization.Xml.dll": {
"assemblyVersion": "4.1.5.0",
"fileVersion": "4.700.21.16208"
},
"runtimes/osx-x64/lib/netcoreapp3.1/System.Runtime.Serialization.dll": {
"assemblyVersion": "4.0.0.0",
"fileVersion": "4.700.21.16208"
},
"runtimes/osx-x64/lib/netcoreapp3.1/System.Runtime.WindowsRuntime.UI.Xaml.dll": {
"assemblyVersion": "4.0.5.0",
"fileVersion": "4.700.21.16208"
},
"runtimes/osx-x64/lib/netcoreapp3.1/System.Runtime.WindowsRuntime.dll": {
"assemblyVersion": "4.0.15.0",
"fileVersion": "4.700.21.16208"
},
"runtimes/osx-x64/lib/netcoreapp3.1/System.Runtime.dll": {
"assemblyVersion": "4.2.2.0",
"fileVersion": "4.700.21.16208"
},
"runtimes/osx-x64/lib/netcoreapp3.1/System.Security.AccessControl.dll": {
"assemblyVersion": "4.1.3.0",
"fileVersion": "4.700.21.16208"
},
"runtimes/osx-x64/lib/netcoreapp3.1/System.Security.Claims.dll": {
"assemblyVersion": "4.1.2.0",
"fileVersion": "4.700.21.16208"
},
"runtimes/osx-x64/lib/netcoreapp3.1/System.Security.Cryptography.Algorithms.dll": {
"assemblyVersion": "4.3.2.0",
"fileVersion": "4.700.21.16208"
},
"runtimes/osx-x64/lib/netcoreapp3.1/System.Security.Cryptography.Cng.dll": {
"assemblyVersion": "4.3.3.0",
"fileVersion": "4.700.21.16208"
},
"runtimes/osx-x64/lib/netcoreapp3.1/System.Security.Cryptography.Csp.dll": {
"assemblyVersion": "4.1.2.0",
"fileVersion": "4.700.21.16208"
},
"runtimes/osx-x64/lib/netcoreapp3.1/System.Security.Cryptography.Encoding.dll": {
"assemblyVersion": "4.1.2.0",
"fileVersion": "4.700.21.16208"
},
"runtimes/osx-x64/lib/netcoreapp3.1/System.Security.Cryptography.OpenSsl.dll": {
"assemblyVersion": "4.1.3.0",
"fileVersion": "4.700.21.16208"
},
"runtimes/osx-x64/lib/netcoreapp3.1/System.Security.Cryptography.Primitives.dll": {
"assemblyVersion": "4.1.2.0",
"fileVersion": "4.700.21.16208"
},
"runtimes/osx-x64/lib/netcoreapp3.1/System.Security.Cryptography.X509Certificates.dll": {
"assemblyVersion": "4.2.2.0",
"fileVersion": "4.700.21.16208"
},
"runtimes/osx-x64/lib/netcoreapp3.1/System.Security.Principal.Windows.dll": {
"assemblyVersion": "4.1.3.0",
"fileVersion": "4.700.21.16208"
},
"runtimes/osx-x64/lib/netcoreapp3.1/System.Security.Principal.dll": {
"assemblyVersion": "4.1.2.0",
"fileVersion": "4.700.21.16208"
},
"runtimes/osx-x64/lib/netcoreapp3.1/System.Security.SecureString.dll": {
"assemblyVersion": "4.1.2.0",
"fileVersion": "4.700.21.16208"
},
"runtimes/osx-x64/lib/netcoreapp3.1/System.Security.dll": {
"assemblyVersion": "4.0.0.0",
"fileVersion": "4.700.21.16208"
},
"runtimes/osx-x64/lib/netcoreapp3.1/System.ServiceModel.Web.dll": {
"assemblyVersion": "4.0.0.0",
"fileVersion": "4.700.21.16208"
},
"runtimes/osx-x64/lib/netcoreapp3.1/System.ServiceProcess.dll": {
"assemblyVersion": "4.0.0.0",
"fileVersion": "4.700.21.16208"
},
"runtimes/osx-x64/lib/netcoreapp3.1/System.Text.Encoding.CodePages.dll": {
"assemblyVersion": "4.1.3.0",
"fileVersion": "4.700.21.16208"
},
"runtimes/osx-x64/lib/netcoreapp3.1/System.Text.Encoding.Extensions.dll": {
"assemblyVersion": "4.1.2.0",
"fileVersion": "4.700.21.16208"
},
"runtimes/osx-x64/lib/netcoreapp3.1/System.Text.Encoding.dll": {
"assemblyVersion": "4.1.2.0",
"fileVersion": "4.700.21.16208"
},
"runtimes/osx-x64/lib/netcoreapp3.1/System.Text.Encodings.Web.dll": {
"assemblyVersion": "4.0.5.1",
"fileVersion": "4.700.21.16208"
},
"runtimes/osx-x64/lib/netcoreapp3.1/System.Text.Json.dll": {
"assemblyVersion": "4.0.1.2",
"fileVersion": "4.700.21.16208"
},
"runtimes/osx-x64/lib/netcoreapp3.1/System.Text.RegularExpressions.dll": {
"assemblyVersion": "4.2.2.0",
"fileVersion": "4.700.21.16208"
},
"runtimes/osx-x64/lib/netcoreapp3.1/System.Threading.Channels.dll": {
"assemblyVersion": "4.0.2.0",
"fileVersion": "4.700.21.16208"
},
"runtimes/osx-x64/lib/netcoreapp3.1/System.Threading.Overlapped.dll": {
"assemblyVersion": "4.1.2.0",
"fileVersion": "4.700.21.16208"
},
"runtimes/osx-x64/lib/netcoreapp3.1/System.Threading.Tasks.Dataflow.dll": {
"assemblyVersion": "4.6.5.0",
"fileVersion": "4.700.21.16208"
},
"runtimes/osx-x64/lib/netcoreapp3.1/System.Threading.Tasks.Extensions.dll": {
"assemblyVersion": "4.3.1.0",
"fileVersion": "4.700.21.16208"
},
"runtimes/osx-x64/lib/netcoreapp3.1/System.Threading.Tasks.Parallel.dll": {
"assemblyVersion": "4.0.4.0",
"fileVersion": "4.700.21.16208"
},
"runtimes/osx-x64/lib/netcoreapp3.1/System.Threading.Tasks.dll": {
"assemblyVersion": "4.1.2.0",
"fileVersion": "4.700.21.16208"
},
"runtimes/osx-x64/lib/netcoreapp3.1/System.Threading.Thread.dll": {
"assemblyVersion": "4.1.2.0",
"fileVersion": "4.700.21.16208"
},
"runtimes/osx-x64/lib/netcoreapp3.1/System.Threading.ThreadPool.dll": {
"assemblyVersion": "4.1.2.0",
"fileVersion": "4.700.21.16208"
},
"runtimes/osx-x64/lib/netcoreapp3.1/System.Threading.Timer.dll": {
"assemblyVersion": "4.1.2.0",
"fileVersion": "4.700.21.16208"
},
"runtimes/osx-x64/lib/netcoreapp3.1/System.Threading.dll": {
"assemblyVersion": "4.1.2.0",
"fileVersion": "4.700.21.16208"
},
"runtimes/osx-x64/lib/netcoreapp3.1/System.Transactions.Local.dll": {
"assemblyVersion": "4.0.2.0",
"fileVersion": "4.700.21.16208"
},
"runtimes/osx-x64/lib/netcoreapp3.1/System.Transactions.dll": {
"assemblyVersion": "4.0.0.0",
"fileVersion": "4.700.21.16208"
},
"runtimes/osx-x64/lib/netcoreapp3.1/System.ValueTuple.dll": {
"assemblyVersion": "4.0.5.0",
"fileVersion": "4.700.21.16208"
},
"runtimes/osx-x64/lib/netcoreapp3.1/System.Web.HttpUtility.dll": {
"assemblyVersion": "4.0.2.0",
"fileVersion": "4.700.21.16208"
},
"runtimes/osx-x64/lib/netcoreapp3.1/System.Web.dll": {
"assemblyVersion": "4.0.0.0",
"fileVersion": "4.700.21.16208"
},
"runtimes/osx-x64/lib/netcoreapp3.1/System.Windows.dll": {
"assemblyVersion": "4.0.0.0",
"fileVersion": "4.700.21.16208"
},
"runtimes/osx-x64/lib/netcoreapp3.1/System.Xml.Linq.dll": {
"assemblyVersion": "4.0.0.0",
"fileVersion": "4.700.21.16208"
},
"runtimes/osx-x64/lib/netcoreapp3.1/System.Xml.ReaderWriter.dll": {
"assemblyVersion": "4.2.2.0",
"fileVersion": "4.700.21.16208"
},
"runtimes/osx-x64/lib/netcoreapp3.1/System.Xml.Serialization.dll": {
"assemblyVersion": "4.0.0.0",
"fileVersion": "4.700.21.16208"
},
"runtimes/osx-x64/lib/netcoreapp3.1/System.Xml.XDocument.dll": {
"assemblyVersion": "4.1.2.0",
"fileVersion": "4.700.21.16208"
},
"runtimes/osx-x64/lib/netcoreapp3.1/System.Xml.XPath.XDocument.dll": {
"assemblyVersion": "4.1.2.0",
"fileVersion": "4.700.21.16208"
},
"runtimes/osx-x64/lib/netcoreapp3.1/System.Xml.XPath.dll": {
"assemblyVersion": "4.1.2.0",
"fileVersion": "4.700.21.16208"
},
"runtimes/osx-x64/lib/netcoreapp3.1/System.Xml.XmlDocument.dll": {
"assemblyVersion": "4.1.2.0",
"fileVersion": "4.700.21.16208"
},
"runtimes/osx-x64/lib/netcoreapp3.1/System.Xml.XmlSerializer.dll": {
"assemblyVersion": "4.1.2.0",
"fileVersion": "4.700.21.16208"
},
"runtimes/osx-x64/lib/netcoreapp3.1/System.Xml.dll": {
"assemblyVersion": "4.0.0.0",
"fileVersion": "4.700.21.16208"
},
"runtimes/osx-x64/lib/netcoreapp3.1/System.dll": {
"assemblyVersion": "4.0.0.0",
"fileVersion": "4.700.21.16208"
},
"runtimes/osx-x64/lib/netcoreapp3.1/WindowsBase.dll": {
"assemblyVersion": "4.0.0.0",
"fileVersion": "4.700.21.16208"
},
"runtimes/osx-x64/lib/netcoreapp3.1/mscorlib.dll": {
"assemblyVersion": "4.0.0.0",
"fileVersion": "4.700.21.16208"
},
"runtimes/osx-x64/lib/netcoreapp3.1/netstandard.dll": {
"assemblyVersion": "2.1.0.0",
"fileVersion": "4.700.21.16208"
}
},
"native": {
"runtimes/osx-x64/native/SOS_README.md": {
"fileVersion": "0.0.0.0"
},
"runtimes/osx-x64/native/System.Globalization.Native.dylib": {
"fileVersion": "0.0.0.0"
},
"runtimes/osx-x64/native/System.IO.Compression.Native.a": {
"fileVersion": "0.0.0.0"
},
"runtimes/osx-x64/native/System.IO.Compression.Native.dylib": {
"fileVersion": "0.0.0.0"
},
"runtimes/osx-x64/native/System.Native.a": {
"fileVersion": "0.0.0.0"
},
"runtimes/osx-x64/native/System.Native.dylib": {
"fileVersion": "0.0.0.0"
},
"runtimes/osx-x64/native/System.Net.Http.Native.a": {
"fileVersion": "0.0.0.0"
},
"runtimes/osx-x64/native/System.Net.Http.Native.dylib": {
"fileVersion": "0.0.0.0"
},
"runtimes/osx-x64/native/System.Net.Security.Native.a": {
"fileVersion": "0.0.0.0"
},
"runtimes/osx-x64/native/System.Net.Security.Native.dylib": {
"fileVersion": "0.0.0.0"
},
"runtimes/osx-x64/native/System.Private.CoreLib.dll": {
"assemblyVersion": "4.0.0.0",
"fileVersion": "4.700.21.16201"
},
"runtimes/osx-x64/native/System.Security.Cryptography.Native.Apple.a": {
"fileVersion": "0.0.0.0"
},
"runtimes/osx-x64/native/System.Security.Cryptography.Native.Apple.dylib": {
"fileVersion": "0.0.0.0"
},
"runtimes/osx-x64/native/System.Security.Cryptography.Native.OpenSsl.a": {
"fileVersion": "0.0.0.0"
},
"runtimes/osx-x64/native/System.Security.Cryptography.Native.OpenSsl.dylib": {
"fileVersion": "0.0.0.0"
},
"runtimes/osx-x64/native/libclrjit.dylib": {
"fileVersion": "0.0.0.0"
},
"runtimes/osx-x64/native/libcoreclr.dylib": {
"fileVersion": "0.0.0.0"
},
"runtimes/osx-x64/native/libdbgshim.dylib": {
"fileVersion": "0.0.0.0"
},
"runtimes/osx-x64/native/libmscordaccore.dylib": {
"fileVersion": "0.0.0.0"
},
"runtimes/osx-x64/native/libmscordbi.dylib": {
"fileVersion": "0.0.0.0"
}
}
},
"runtime.osx-x64.Microsoft.NETCore.DotNetHostPolicy/3.1.14": {
"native": {
"runtimes/osx-x64/native/libhostpolicy.dylib": {
"fileVersion": "0.0.0.0"
}
}
},
"XliffTasks/1.0.0-beta.20206.1": {}
}
},
"libraries": {
"Microsoft.Build.Tasks.Git/1.1.0-beta-20206-02": {
"type": "package",
"serviceable": true,
"sha512": "sha512-hZ9leS9Yd9MHpqvviMftSJFDcLYu2h1DrapW1TDm1s1fgOy71c8HvArNMd3fseVkXmp3VTfGnkgcw0FR+TI6xw==",
"path": "microsoft.build.tasks.git/1.1.0-beta-20206-02",
"hashPath": "microsoft.build.tasks.git.1.1.0-beta-20206-02.nupkg.sha512"
},
"Microsoft.NETCore.App/3.1.14-servicing.21165.2": {
"type": "package",
"serviceable": true,
"sha512": "sha512-86cQvV1UImOU+I81vMlRg/ev72TsxMrdm9w5wx6KRwwxfsti1NPOJQYLzJtTgP92xh1yxgN29/gh4V9zdjemjA==",
"path": "microsoft.netcore.app/3.1.14-servicing.21165.2",
"hashPath": "microsoft.netcore.app.3.1.14-servicing.21165.2.nupkg.sha512"
},
"Microsoft.NETCore.App.Internal/3.1.14-servicing.21165.2": {
"type": "package",
"serviceable": true,
"sha512": "sha512-+WtBHLIFbdifeoygfBuHPVz7irsv74wJNnkVyOPAuacCzmkptvuwhlAUaClFNW/XWY0RoySmBz7szTmZw7u9aw==",
"path": "microsoft.netcore.app.internal/3.1.14-servicing.21165.2",
"hashPath": "microsoft.netcore.app.internal.3.1.14-servicing.21165.2.nupkg.sha512"
},
"Microsoft.NETCore.DotNetHostPolicy/3.1.14": {
"type": "package",
"serviceable": true,
"sha512": "sha512-GK/cjLz3Wsy4Tmy7D4sZSyygXtjP68bN16sdR7ffrY/PbpR/+NlLMFcgmZoeQZxAEp2wUBmD6fiRR55x4yZQtA=="
},
"Microsoft.NETCore.Platforms/3.1.6": {
"type": "package",
"serviceable": true,
"sha512": "sha512-dYUmSeSRdBCtIaBkeIIj9YH5XSLqQvpCV4krwVjETHOkC2A9C+S1Sq0MXeP6ktuuknzk99eJ3lcBYmeVj1iq5g==",
"path": "microsoft.netcore.platforms/3.1.6",
"hashPath": "microsoft.netcore.platforms.3.1.6.nupkg.sha512"
},
"Microsoft.NETCore.Targets/3.1.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-IAFeJxHy2vlTm3mhiZVP/jKE5DImLUMQc3OV8z5G4ZBeYNAlPSwjC5V/Vx14GIJU6Osmhr+XPmtWW0cv5jSmTw==",
"path": "microsoft.netcore.targets/3.1.0",
"hashPath": "microsoft.netcore.targets.3.1.0.nupkg.sha512"
},
"Microsoft.SourceLink.AzureRepos.Git/1.1.0-beta-20206-02": {
"type": "package",
"serviceable": true,
"sha512": "sha512-vVYhSds9TfraTQkGHHMDMVWnr3kCkTZ7vmqUmrXQBDJFXiWTuMoP5RRa9s1M/KmgB4szi5TOb7sOaHWKDT9qDA==",
"path": "microsoft.sourcelink.azurerepos.git/1.1.0-beta-20206-02",
"hashPath": "microsoft.sourcelink.azurerepos.git.1.1.0-beta-20206-02.nupkg.sha512"
},
"Microsoft.SourceLink.Common/1.1.0-beta-20206-02": {
"type": "package",
"serviceable": true,
"sha512": "sha512-aek0RTQ+4Bf11WvqaXajwYoaBWkX2edBjAr5XJOvhAsHX6/9vPOb7IpHAiE/NyCse7IcpGWslJZHNkv4UBEFqw==",
"path": "microsoft.sourcelink.common/1.1.0-beta-20206-02",
"hashPath": "microsoft.sourcelink.common.1.1.0-beta-20206-02.nupkg.sha512"
},
"Microsoft.SourceLink.GitHub/1.1.0-beta-20206-02": {
"type": "package",
"serviceable": true,
"sha512": "sha512-7A7P0EwL+lypaI/CEvG4IcpAlQeAt04uPPw1SO6Q9Jwz2nE9309pQXJ4TfP/RLL8IOObACidN66+gVR+bJDZHw==",
"path": "microsoft.sourcelink.github/1.1.0-beta-20206-02",
"hashPath": "microsoft.sourcelink.github.1.1.0-beta-20206-02.nupkg.sha512"
},
"NETStandard.Library/2.1.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-5HpvGyPsBaglPPgkcUYRyBuTc1KwVsaiYrrt6dLb9SC/VTClgTjXq3rHo7aXDiodwIwtbCJCLCq+ZPyjwkamjw==",
"path": "netstandard.library/2.1.0",
"hashPath": "netstandard.library.2.1.0.nupkg.sha512"
},
"runtime.osx-x64.Microsoft.NETCore.App/3.1.14-servicing.21165.2": {
"type": "package",
"serviceable": true,
"sha512": "sha512-DydhAckWuTAv7I6cQSFIbiChm+44zUy6tU3BF38ef2gN/UB9JOlQ68SoPbIwAZ33K2ZbvemGvnOU2hut9pQwBg==",
"path": "runtime.osx-x64.microsoft.netcore.app/3.1.14-servicing.21165.2",
"hashPath": "runtime.osx-x64.microsoft.netcore.app.3.1.14-servicing.21165.2.nupkg.sha512"
},
"runtime.osx-x64.Microsoft.NETCore.DotNetHostPolicy/3.1.14": {
"type": "package",
"serviceable": true,
"sha512": "sha512-3a2wISfaaaJI5Bgm/cwBvuuIjJ/v4TLidyJjBCvbzH564ryvuROAXiD0T9/bCyVjOMlh9AkRK7SERzCEl6O1hw=="
},
"XliffTasks/1.0.0-beta.20206.1": {
"type": "package",
"serviceable": true,
"sha512": "sha512-dyFKBJ/x+vbC8/0OJHKcUSVzL8jTU95Z3Dc3kosx7DxauQ/zZJRC8JSuXqhtni3zChRvA01yQFKLtVuoiZOx0g==",
"path": "xlifftasks/1.0.0-beta.20206.1",
"hashPath": "xlifftasks.1.0.0-beta.20206.1.nupkg.sha512"
}
},
"runtimes": {
"osx-x64": [
"osx",
"unix-x64",
"unix",
"any",
"base"
],
"osx": [
"unix",
"any",
"base"
],
"osx-arm64": [
"osx",
"unix-arm64",
"unix",
"any",
"base"
],
"osx.10.10": [
"osx",
"unix",
"any",
"base"
],
"osx.10.10-arm64": [
"osx.10.10",
"osx-arm64",
"osx",
"unix-arm64",
"unix",
"any",
"base"
],
"osx.10.10-x64": [
"osx.10.10",
"osx-x64",
"osx",
"unix-x64",
"unix",
"any",
"base"
],
"osx.10.11": [
"osx.10.10",
"osx",
"unix",
"any",
"base"
],
"osx.10.11-arm64": [
"osx.10.11",
"osx.10.10-arm64",
"osx.10.10",
"osx-arm64",
"osx",
"unix-arm64",
"unix",
"any",
"base"
],
"osx.10.11-x64": [
"osx.10.11",
"osx.10.10-x64",
"osx.10.10",
"osx-x64",
"osx",
"unix-x64",
"unix",
"any",
"base"
],
"osx.10.12": [
"osx.10.11",
"osx.10.10",
"osx",
"unix",
"any",
"base"
],
"osx.10.12-arm64": [
"osx.10.12",
"osx.10.11-arm64",
"osx.10.11",
"osx.10.10-arm64",
"osx.10.10",
"osx-arm64",
"osx",
"unix-arm64",
"unix",
"any",
"base"
],
"osx.10.12-x64": [
"osx.10.12",
"osx.10.11-x64",
"osx.10.11",
"osx.10.10-x64",
"osx.10.10",
"osx-x64",
"osx",
"unix-x64",
"unix",
"any",
"base"
],
"osx.10.13": [
"osx.10.12",
"osx.10.11",
"osx.10.10",
"osx",
"unix",
"any",
"base"
],
"osx.10.13-arm64": [
"osx.10.13",
"osx.10.12-arm64",
"osx.10.12",
"osx.10.11-arm64",
"osx.10.11",
"osx.10.10-arm64",
"osx.10.10",
"osx-arm64",
"osx",
"unix-arm64",
"unix",
"any",
"base"
],
"osx.10.13-x64": [
"osx.10.13",
"osx.10.12-x64",
"osx.10.12",
"osx.10.11-x64",
"osx.10.11",
"osx.10.10-x64",
"osx.10.10",
"osx-x64",
"osx",
"unix-x64",
"unix",
"any",
"base"
],
"osx.10.14": [
"osx.10.13",
"osx.10.12",
"osx.10.11",
"osx.10.10",
"osx",
"unix",
"any",
"base"
],
"osx.10.14-arm64": [
"osx.10.14",
"osx.10.13-arm64",
"osx.10.13",
"osx.10.12-arm64",
"osx.10.12",
"osx.10.11-arm64",
"osx.10.11",
"osx.10.10-arm64",
"osx.10.10",
"osx-arm64",
"osx",
"unix-arm64",
"unix",
"any",
"base"
],
"osx.10.14-x64": [
"osx.10.14",
"osx.10.13-x64",
"osx.10.13",
"osx.10.12-x64",
"osx.10.12",
"osx.10.11-x64",
"osx.10.11",
"osx.10.10-x64",
"osx.10.10",
"osx-x64",
"osx",
"unix-x64",
"unix",
"any",
"base"
],
"osx.10.15": [
"osx.10.14",
"osx.10.13",
"osx.10.12",
"osx.10.11",
"osx.10.10",
"osx",
"unix",
"any",
"base"
],
"osx.10.15-arm64": [
"osx.10.15",
"osx.10.14-arm64",
"osx.10.14",
"osx.10.13-arm64",
"osx.10.13",
"osx.10.12-arm64",
"osx.10.12",
"osx.10.11-arm64",
"osx.10.11",
"osx.10.10-arm64",
"osx.10.10",
"osx-arm64",
"osx",
"unix-arm64",
"unix",
"any",
"base"
],
"osx.10.15-x64": [
"osx.10.15",
"osx.10.14-x64",
"osx.10.14",
"osx.10.13-x64",
"osx.10.13",
"osx.10.12-x64",
"osx.10.12",
"osx.10.11-x64",
"osx.10.11",
"osx.10.10-x64",
"osx.10.10",
"osx-x64",
"osx",
"unix-x64",
"unix",
"any",
"base"
],
"osx.10.16": [
"osx.10.15",
"osx.10.14",
"osx.10.13",
"osx.10.12",
"osx.10.11",
"osx.10.10",
"osx",
"unix",
"any",
"base"
],
"osx.10.16-arm64": [
"osx.10.16",
"osx.10.15-arm64",
"osx.10.15",
"osx.10.14-arm64",
"osx.10.14",
"osx.10.13-arm64",
"osx.10.13",
"osx.10.12-arm64",
"osx.10.12",
"osx.10.11-arm64",
"osx.10.11",
"osx.10.10-arm64",
"osx.10.10",
"osx-arm64",
"osx",
"unix-arm64",
"unix",
"any",
"base"
],
"osx.10.16-x64": [
"osx.10.16",
"osx.10.15-x64",
"osx.10.15",
"osx.10.14-x64",
"osx.10.14",
"osx.10.13-x64",
"osx.10.13",
"osx.10.12-x64",
"osx.10.12",
"osx.10.11-x64",
"osx.10.11",
"osx.10.10-x64",
"osx.10.10",
"osx-x64",
"osx",
"unix-x64",
"unix",
"any",
"base"
],
"osx.11.0": [
"osx.10.16",
"osx.10.15",
"osx.10.14",
"osx.10.13",
"osx.10.12",
"osx.10.11",
"osx.10.10",
"osx",
"unix",
"any",
"base"
],
"osx.11.0-arm64": [
"osx.11.0",
"osx.10.16-arm64",
"osx.10.16",
"osx.10.15-arm64",
"osx.10.15",
"osx.10.14-arm64",
"osx.10.14",
"osx.10.13-arm64",
"osx.10.13",
"osx.10.12-arm64",
"osx.10.12",
"osx.10.11-arm64",
"osx.10.11",
"osx.10.10-arm64",
"osx.10.10",
"osx-arm64",
"osx",
"unix-arm64",
"unix",
"any",
"base"
],
"osx.11.0-x64": [
"osx.11.0",
"osx.10.16-x64",
"osx.10.16",
"osx.10.15-x64",
"osx.10.15",
"osx.10.14-x64",
"osx.10.14",
"osx.10.13-x64",
"osx.10.13",
"osx.10.12-x64",
"osx.10.12",
"osx.10.11-x64",
"osx.10.11",
"osx.10.10-x64",
"osx.10.10",
"osx-x64",
"osx",
"unix-x64",
"unix",
"any",
"base"
]
}
}
{
"runtimeTarget": {
"name": ".NETCoreApp,Version=v3.1/osx-x64",
"signature": ""
},
"compilationOptions": {},
"targets": {
".NETCoreApp,Version=v3.1": {},
".NETCoreApp,Version=v3.1/osx-x64": {
"Microsoft.Build.Tasks.Git/1.0.0-beta2-19367-01": {},
"Microsoft.NETCore.App/3.1.1-servicing.19608.4": {
"dependencies": {
"Microsoft.NETCore.Platforms": "3.1.0"
}
},
"Microsoft.NETCore.App.Internal/3.1.1-servicing.19608.4": {
"dependencies": {
"Microsoft.NETCore.DotNetHostPolicy": "3.1.1",
"Microsoft.NETCore.Platforms": "3.1.0",
"Microsoft.NETCore.Targets": "3.1.0",
"NETStandard.Library": "2.1.0",
"runtime.osx-x64.Microsoft.NETCore.App": "3.1.1-servicing.19608.4"
}
},
"Microsoft.NETCore.DotNetHostPolicy/3.1.1": {
"dependencies": {
"runtime.osx-x64.Microsoft.NETCore.DotNetHostPolicy": "3.1.1"
}
},
"Microsoft.NETCore.Platforms/3.1.0": {},
"Microsoft.NETCore.Targets/3.1.0": {},
"Microsoft.SourceLink.Common/1.0.0-beta2-19367-01": {},
"Microsoft.SourceLink.GitHub/1.0.0-beta2-19367-01": {
"dependencies": {
"Microsoft.Build.Tasks.Git": "1.0.0-beta2-19367-01",
"Microsoft.SourceLink.Common": "1.0.0-beta2-19367-01"
}
},
"Microsoft.SourceLink.Vsts.Git/1.0.0-beta2-19367-01": {
"dependencies": {
"Microsoft.Build.Tasks.Git": "1.0.0-beta2-19367-01",
"Microsoft.SourceLink.Common": "1.0.0-beta2-19367-01"
}
},
"NETStandard.Library/2.1.0": {
"dependencies": {
"Microsoft.NETCore.Platforms": "3.1.0"
}
},
"runtime.osx-x64.Microsoft.NETCore.App/3.1.1-servicing.19608.4": {
"runtime": {
"runtimes/osx-x64/lib/netcoreapp3.1/Microsoft.CSharp.dll": {
"assemblyVersion": "4.0.5.0",
"fileVersion": "4.700.19.60801"
},
"runtimes/osx-x64/lib/netcoreapp3.1/Microsoft.VisualBasic.Core.dll": {
"assemblyVersion": "10.0.5.0",
"fileVersion": "4.700.19.60801"
},
"runtimes/osx-x64/lib/netcoreapp3.1/Microsoft.VisualBasic.dll": {
"assemblyVersion": "10.0.0.0",
"fileVersion": "4.700.19.60801"
},
"runtimes/osx-x64/lib/netcoreapp3.1/Microsoft.Win32.Primitives.dll": {
"assemblyVersion": "4.1.2.0",
"fileVersion": "4.700.19.60801"
},
"runtimes/osx-x64/lib/netcoreapp3.1/Microsoft.Win32.Registry.dll": {
"assemblyVersion": "4.1.3.0",
"fileVersion": "4.700.19.60801"
},
"runtimes/osx-x64/lib/netcoreapp3.1/System.AppContext.dll": {
"assemblyVersion": "4.2.2.0",
"fileVersion": "4.700.19.60801"
},
"runtimes/osx-x64/lib/netcoreapp3.1/System.Buffers.dll": {
"assemblyVersion": "4.0.5.0",
"fileVersion": "4.700.19.60801"
},
"runtimes/osx-x64/lib/netcoreapp3.1/System.Collections.Concurrent.dll": {
"assemblyVersion": "4.0.15.0",
"fileVersion": "4.700.19.60801"
},
"runtimes/osx-x64/lib/netcoreapp3.1/System.Collections.Immutable.dll": {
"assemblyVersion": "1.2.5.0",
"fileVersion": "4.700.19.60801"
},
"runtimes/osx-x64/lib/netcoreapp3.1/System.Collections.NonGeneric.dll": {
"assemblyVersion": "4.1.2.0",
"fileVersion": "4.700.19.60801"
},
"runtimes/osx-x64/lib/netcoreapp3.1/System.Collections.Specialized.dll": {
"assemblyVersion": "4.1.2.0",
"fileVersion": "4.700.19.60801"
},
"runtimes/osx-x64/lib/netcoreapp3.1/System.Collections.dll": {
"assemblyVersion": "4.1.2.0",
"fileVersion": "4.700.19.60801"
},
"runtimes/osx-x64/lib/netcoreapp3.1/System.ComponentModel.Annotations.dll": {
"assemblyVersion": "4.3.1.0",
"fileVersion": "4.700.19.60801"
},
"runtimes/osx-x64/lib/netcoreapp3.1/System.ComponentModel.DataAnnotations.dll": {
"assemblyVersion": "4.0.0.0",
"fileVersion": "4.700.19.60801"
},
"runtimes/osx-x64/lib/netcoreapp3.1/System.ComponentModel.EventBasedAsync.dll": {
"assemblyVersion": "4.1.2.0",
"fileVersion": "4.700.19.60801"
},
"runtimes/osx-x64/lib/netcoreapp3.1/System.ComponentModel.Primitives.dll": {
"assemblyVersion": "4.2.2.0",
"fileVersion": "4.700.19.60801"
},
"runtimes/osx-x64/lib/netcoreapp3.1/System.ComponentModel.TypeConverter.dll": {
"assemblyVersion": "4.2.2.0",
"fileVersion": "4.700.19.60801"
},
"runtimes/osx-x64/lib/netcoreapp3.1/System.ComponentModel.dll": {
"assemblyVersion": "4.0.4.0",
"fileVersion": "4.700.19.60801"
},
"runtimes/osx-x64/lib/netcoreapp3.1/System.Configuration.dll": {
"assemblyVersion": "4.0.0.0",
"fileVersion": "4.700.19.60801"
},
"runtimes/osx-x64/lib/netcoreapp3.1/System.Console.dll": {
"assemblyVersion": "4.1.2.0",
"fileVersion": "4.700.19.60801"
},
"runtimes/osx-x64/lib/netcoreapp3.1/System.Core.dll": {
"assemblyVersion": "4.0.0.0",
"fileVersion": "4.700.19.60801"
},
"runtimes/osx-x64/lib/netcoreapp3.1/System.Data.Common.dll": {
"assemblyVersion": "4.2.2.0",
"fileVersion": "4.700.19.60801"
},
"runtimes/osx-x64/lib/netcoreapp3.1/System.Data.DataSetExtensions.dll": {
"assemblyVersion": "4.0.1.0",
"fileVersion": "4.700.19.60801"
},
"runtimes/osx-x64/lib/netcoreapp3.1/System.Data.dll": {
"assemblyVersion": "4.0.0.0",
"fileVersion": "4.700.19.60801"
},
"runtimes/osx-x64/lib/netcoreapp3.1/System.Diagnostics.Contracts.dll": {
"assemblyVersion": "4.0.4.0",
"fileVersion": "4.700.19.60801"
},
"runtimes/osx-x64/lib/netcoreapp3.1/System.Diagnostics.Debug.dll": {
"assemblyVersion": "4.1.2.0",
"fileVersion": "4.700.19.60801"
},
"runtimes/osx-x64/lib/netcoreapp3.1/System.Diagnostics.DiagnosticSource.dll": {
"assemblyVersion": "4.0.5.0",
"fileVersion": "4.700.19.60801"
},
"runtimes/osx-x64/lib/netcoreapp3.1/System.Diagnostics.FileVersionInfo.dll": {
"assemblyVersion": "4.0.4.0",
"fileVersion": "4.700.19.60801"
},
"runtimes/osx-x64/lib/netcoreapp3.1/System.Diagnostics.Process.dll": {
"assemblyVersion": "4.2.2.0",
"fileVersion": "4.700.19.60801"
},
"runtimes/osx-x64/lib/netcoreapp3.1/System.Diagnostics.StackTrace.dll": {
"assemblyVersion": "4.1.2.0",
"fileVersion": "4.700.19.60801"
},
"runtimes/osx-x64/lib/netcoreapp3.1/System.Diagnostics.TextWriterTraceListener.dll": {
"assemblyVersion": "4.1.2.0",
"fileVersion": "4.700.19.60801"
},
"runtimes/osx-x64/lib/netcoreapp3.1/System.Diagnostics.Tools.dll": {
"assemblyVersion": "4.1.2.0",
"fileVersion": "4.700.19.60801"
},
"runtimes/osx-x64/lib/netcoreapp3.1/System.Diagnostics.TraceSource.dll": {
"assemblyVersion": "4.1.2.0",
"fileVersion": "4.700.19.60801"
},
"runtimes/osx-x64/lib/netcoreapp3.1/System.Diagnostics.Tracing.dll": {
"assemblyVersion": "4.2.2.0",
"fileVersion": "4.700.19.60801"
},
"runtimes/osx-x64/lib/netcoreapp3.1/System.Drawing.Primitives.dll": {
"assemblyVersion": "4.2.1.0",
"fileVersion": "4.700.19.60801"
},
"runtimes/osx-x64/lib/netcoreapp3.1/System.Drawing.dll": {
"assemblyVersion": "4.0.0.0",
"fileVersion": "4.700.19.60801"
},
"runtimes/osx-x64/lib/netcoreapp3.1/System.Dynamic.Runtime.dll": {
"assemblyVersion": "4.1.2.0",
"fileVersion": "4.700.19.60801"
},
"runtimes/osx-x64/lib/netcoreapp3.1/System.Globalization.Calendars.dll": {
"assemblyVersion": "4.1.2.0",
"fileVersion": "4.700.19.60801"
},
"runtimes/osx-x64/lib/netcoreapp3.1/System.Globalization.Extensions.dll": {
"assemblyVersion": "4.1.2.0",
"fileVersion": "4.700.19.60801"
},
"runtimes/osx-x64/lib/netcoreapp3.1/System.Globalization.dll": {
"assemblyVersion": "4.1.2.0",
"fileVersion": "4.700.19.60801"
},
"runtimes/osx-x64/lib/netcoreapp3.1/System.IO.Compression.Brotli.dll": {
"assemblyVersion": "4.2.2.0",
"fileVersion": "4.700.19.60801"
},
"runtimes/osx-x64/lib/netcoreapp3.1/System.IO.Compression.FileSystem.dll": {
"assemblyVersion": "4.0.0.0",
"fileVersion": "4.700.19.60801"
},
"runtimes/osx-x64/lib/netcoreapp3.1/System.IO.Compression.ZipFile.dll": {
"assemblyVersion": "4.0.5.0",
"fileVersion": "4.700.19.60801"
},
"runtimes/osx-x64/lib/netcoreapp3.1/System.IO.Compression.dll": {
"assemblyVersion": "4.2.2.0",
"fileVersion": "4.700.19.60801"
},
"runtimes/osx-x64/lib/netcoreapp3.1/System.IO.FileSystem.AccessControl.dll": {
"assemblyVersion": "4.0.5.0",
"fileVersion": "4.700.19.60801"
},
"runtimes/osx-x64/lib/netcoreapp3.1/System.IO.FileSystem.DriveInfo.dll": {
"assemblyVersion": "4.1.2.0",
"fileVersion": "4.700.19.60801"
},
"runtimes/osx-x64/lib/netcoreapp3.1/System.IO.FileSystem.Primitives.dll": {
"assemblyVersion": "4.1.2.0",
"fileVersion": "4.700.19.60801"
},
"runtimes/osx-x64/lib/netcoreapp3.1/System.IO.FileSystem.Watcher.dll": {
"assemblyVersion": "4.1.2.0",
"fileVersion": "4.700.19.60801"
},
"runtimes/osx-x64/lib/netcoreapp3.1/System.IO.FileSystem.dll": {
"assemblyVersion": "4.1.2.0",
"fileVersion": "4.700.19.60801"
},
"runtimes/osx-x64/lib/netcoreapp3.1/System.IO.IsolatedStorage.dll": {
"assemblyVersion": "4.1.2.0",
"fileVersion": "4.700.19.60801"
},
"runtimes/osx-x64/lib/netcoreapp3.1/System.IO.MemoryMappedFiles.dll": {
"assemblyVersion": "4.1.2.0",
"fileVersion": "4.700.19.60801"
},
"runtimes/osx-x64/lib/netcoreapp3.1/System.IO.Pipes.AccessControl.dll": {
"assemblyVersion": "4.0.5.0",
"fileVersion": "4.700.19.60801"
},
"runtimes/osx-x64/lib/netcoreapp3.1/System.IO.Pipes.dll": {
"assemblyVersion": "4.1.2.0",
"fileVersion": "4.700.19.60801"
},
"runtimes/osx-x64/lib/netcoreapp3.1/System.IO.UnmanagedMemoryStream.dll": {
"assemblyVersion": "4.1.2.0",
"fileVersion": "4.700.19.60801"
},
"runtimes/osx-x64/lib/netcoreapp3.1/System.IO.dll": {
"assemblyVersion": "4.2.2.0",
"fileVersion": "4.700.19.60801"
},
"runtimes/osx-x64/lib/netcoreapp3.1/System.Linq.Expressions.dll": {
"assemblyVersion": "4.2.2.0",
"fileVersion": "4.700.19.60801"
},
"runtimes/osx-x64/lib/netcoreapp3.1/System.Linq.Parallel.dll": {
"assemblyVersion": "4.0.4.0",
"fileVersion": "4.700.19.60801"
},
"runtimes/osx-x64/lib/netcoreapp3.1/System.Linq.Queryable.dll": {
"assemblyVersion": "4.0.4.0",
"fileVersion": "4.700.19.60801"
},
"runtimes/osx-x64/lib/netcoreapp3.1/System.Linq.dll": {
"assemblyVersion": "4.2.2.0",
"fileVersion": "4.700.19.60801"
},
"runtimes/osx-x64/lib/netcoreapp3.1/System.Memory.dll": {
"assemblyVersion": "4.2.1.0",
"fileVersion": "4.700.19.60801"
},
"runtimes/osx-x64/lib/netcoreapp3.1/System.Net.Http.dll": {
"assemblyVersion": "4.2.2.0",
"fileVersion": "4.700.19.60801"
},
"runtimes/osx-x64/lib/netcoreapp3.1/System.Net.HttpListener.dll": {
"assemblyVersion": "4.0.2.0",
"fileVersion": "4.700.19.60801"
},
"runtimes/osx-x64/lib/netcoreapp3.1/System.Net.Mail.dll": {
"assemblyVersion": "4.0.2.0",
"fileVersion": "4.700.19.60801"
},
"runtimes/osx-x64/lib/netcoreapp3.1/System.Net.NameResolution.dll": {
"assemblyVersion": "4.1.2.0",
"fileVersion": "4.700.19.60801"
},
"runtimes/osx-x64/lib/netcoreapp3.1/System.Net.NetworkInformation.dll": {
"assemblyVersion": "4.2.2.0",
"fileVersion": "4.700.19.60801"
},
"runtimes/osx-x64/lib/netcoreapp3.1/System.Net.Ping.dll": {
"assemblyVersion": "4.1.2.0",
"fileVersion": "4.700.19.60801"
},
"runtimes/osx-x64/lib/netcoreapp3.1/System.Net.Primitives.dll": {
"assemblyVersion": "4.1.2.0",
"fileVersion": "4.700.19.60801"
},
"runtimes/osx-x64/lib/netcoreapp3.1/System.Net.Requests.dll": {
"assemblyVersion": "4.1.2.0",
"fileVersion": "4.700.19.60801"
},
"runtimes/osx-x64/lib/netcoreapp3.1/System.Net.Security.dll": {
"assemblyVersion": "4.1.2.0",
"fileVersion": "4.700.19.60801"
},
"runtimes/osx-x64/lib/netcoreapp3.1/System.Net.ServicePoint.dll": {
"assemblyVersion": "4.0.2.0",
"fileVersion": "4.700.19.60801"
},
"runtimes/osx-x64/lib/netcoreapp3.1/System.Net.Sockets.dll": {
"assemblyVersion": "4.2.2.0",
"fileVersion": "4.700.19.60801"
},
"runtimes/osx-x64/lib/netcoreapp3.1/System.Net.WebClient.dll": {
"assemblyVersion": "4.0.2.0",
"fileVersion": "4.700.19.60801"
},
"runtimes/osx-x64/lib/netcoreapp3.1/System.Net.WebHeaderCollection.dll": {
"assemblyVersion": "4.1.2.0",
"fileVersion": "4.700.19.60801"
},
"runtimes/osx-x64/lib/netcoreapp3.1/System.Net.WebProxy.dll": {
"assemblyVersion": "4.0.2.0",
"fileVersion": "4.700.19.60801"
},
"runtimes/osx-x64/lib/netcoreapp3.1/System.Net.WebSockets.Client.dll": {
"assemblyVersion": "4.1.2.0",
"fileVersion": "4.700.19.60801"
},
"runtimes/osx-x64/lib/netcoreapp3.1/System.Net.WebSockets.dll": {
"assemblyVersion": "4.1.2.0",
"fileVersion": "4.700.19.60801"
},
"runtimes/osx-x64/lib/netcoreapp3.1/System.Net.dll": {
"assemblyVersion": "4.0.0.0",
"fileVersion": "4.700.19.60801"
},
"runtimes/osx-x64/lib/netcoreapp3.1/System.Numerics.Vectors.dll": {
"assemblyVersion": "4.1.6.0",
"fileVersion": "4.700.19.60801"
},
"runtimes/osx-x64/lib/netcoreapp3.1/System.Numerics.dll": {
"assemblyVersion": "4.0.0.0",
"fileVersion": "4.700.19.60801"
},
"runtimes/osx-x64/lib/netcoreapp3.1/System.ObjectModel.dll": {
"assemblyVersion": "4.1.2.0",
"fileVersion": "4.700.19.60801"
},
"runtimes/osx-x64/lib/netcoreapp3.1/System.Private.DataContractSerialization.dll": {
"assemblyVersion": "4.1.5.0",
"fileVersion": "4.700.19.60801"
},
"runtimes/osx-x64/lib/netcoreapp3.1/System.Private.Uri.dll": {
"assemblyVersion": "4.0.6.0",
"fileVersion": "4.700.19.60801"
},
"runtimes/osx-x64/lib/netcoreapp3.1/System.Private.Xml.Linq.dll": {
"assemblyVersion": "4.0.2.0",
"fileVersion": "4.700.19.60801"
},
"runtimes/osx-x64/lib/netcoreapp3.1/System.Private.Xml.dll": {
"assemblyVersion": "4.0.2.0",
"fileVersion": "4.700.19.60801"
},
"runtimes/osx-x64/lib/netcoreapp3.1/System.Reflection.DispatchProxy.dll": {
"assemblyVersion": "4.0.6.0",
"fileVersion": "4.700.19.60801"
},
"runtimes/osx-x64/lib/netcoreapp3.1/System.Reflection.Emit.ILGeneration.dll": {
"assemblyVersion": "4.1.1.0",
"fileVersion": "4.700.19.60801"
},
"runtimes/osx-x64/lib/netcoreapp3.1/System.Reflection.Emit.Lightweight.dll": {
"assemblyVersion": "4.1.1.0",
"fileVersion": "4.700.19.60801"
},
"runtimes/osx-x64/lib/netcoreapp3.1/System.Reflection.Emit.dll": {
"assemblyVersion": "4.1.2.0",
"fileVersion": "4.700.19.60801"
},
"runtimes/osx-x64/lib/netcoreapp3.1/System.Reflection.Extensions.dll": {
"assemblyVersion": "4.1.2.0",
"fileVersion": "4.700.19.60801"
},
"runtimes/osx-x64/lib/netcoreapp3.1/System.Reflection.Metadata.dll": {
"assemblyVersion": "1.4.5.0",
"fileVersion": "4.700.19.60801"
},
"runtimes/osx-x64/lib/netcoreapp3.1/System.Reflection.Primitives.dll": {
"assemblyVersion": "4.1.2.0",
"fileVersion": "4.700.19.60801"
},
"runtimes/osx-x64/lib/netcoreapp3.1/System.Reflection.TypeExtensions.dll": {
"assemblyVersion": "4.1.5.0",
"fileVersion": "4.700.19.60801"
},
"runtimes/osx-x64/lib/netcoreapp3.1/System.Reflection.dll": {
"assemblyVersion": "4.2.2.0",
"fileVersion": "4.700.19.60801"
},
"runtimes/osx-x64/lib/netcoreapp3.1/System.Resources.Reader.dll": {
"assemblyVersion": "4.1.2.0",
"fileVersion": "4.700.19.60801"
},
"runtimes/osx-x64/lib/netcoreapp3.1/System.Resources.ResourceManager.dll": {
"assemblyVersion": "4.1.2.0",
"fileVersion": "4.700.19.60801"
},
"runtimes/osx-x64/lib/netcoreapp3.1/System.Resources.Writer.dll": {
"assemblyVersion": "4.1.2.0",
"fileVersion": "4.700.19.60801"
},
"runtimes/osx-x64/lib/netcoreapp3.1/System.Runtime.CompilerServices.Unsafe.dll": {
"assemblyVersion": "4.0.6.0",
"fileVersion": "4.0.0.0"
},
"runtimes/osx-x64/lib/netcoreapp3.1/System.Runtime.CompilerServices.VisualC.dll": {
"assemblyVersion": "4.1.2.0",
"fileVersion": "4.700.19.60801"
},
"runtimes/osx-x64/lib/netcoreapp3.1/System.Runtime.Extensions.dll": {
"assemblyVersion": "4.2.2.0",
"fileVersion": "4.700.19.60801"
},
"runtimes/osx-x64/lib/netcoreapp3.1/System.Runtime.Handles.dll": {
"assemblyVersion": "4.1.2.0",
"fileVersion": "4.700.19.60801"
},
"runtimes/osx-x64/lib/netcoreapp3.1/System.Runtime.InteropServices.RuntimeInformation.dll": {
"assemblyVersion": "4.0.4.0",
"fileVersion": "4.700.19.60801"
},
"runtimes/osx-x64/lib/netcoreapp3.1/System.Runtime.InteropServices.WindowsRuntime.dll": {
"assemblyVersion": "4.0.4.0",
"fileVersion": "4.700.19.60801"
},
"runtimes/osx-x64/lib/netcoreapp3.1/System.Runtime.InteropServices.dll": {
"assemblyVersion": "4.2.2.0",
"fileVersion": "4.700.19.60801"
},
"runtimes/osx-x64/lib/netcoreapp3.1/System.Runtime.Intrinsics.dll": {
"assemblyVersion": "4.0.1.0",
"fileVersion": "4.700.19.60801"
},
"runtimes/osx-x64/lib/netcoreapp3.1/System.Runtime.Loader.dll": {
"assemblyVersion": "4.1.1.0",
"fileVersion": "4.700.19.60801"
},
"runtimes/osx-x64/lib/netcoreapp3.1/System.Runtime.Numerics.dll": {
"assemblyVersion": "4.1.2.0",
"fileVersion": "4.700.19.60801"
},
"runtimes/osx-x64/lib/netcoreapp3.1/System.Runtime.Serialization.Formatters.dll": {
"assemblyVersion": "4.0.4.0",
"fileVersion": "4.700.19.60801"
},
"runtimes/osx-x64/lib/netcoreapp3.1/System.Runtime.Serialization.Json.dll": {
"assemblyVersion": "4.0.5.0",
"fileVersion": "4.700.19.60801"
},
"runtimes/osx-x64/lib/netcoreapp3.1/System.Runtime.Serialization.Primitives.dll": {
"assemblyVersion": "4.2.2.0",
"fileVersion": "4.700.19.60801"
},
"runtimes/osx-x64/lib/netcoreapp3.1/System.Runtime.Serialization.Xml.dll": {
"assemblyVersion": "4.1.5.0",
"fileVersion": "4.700.19.60801"
},
"runtimes/osx-x64/lib/netcoreapp3.1/System.Runtime.Serialization.dll": {
"assemblyVersion": "4.0.0.0",
"fileVersion": "4.700.19.60801"
},
"runtimes/osx-x64/lib/netcoreapp3.1/System.Runtime.WindowsRuntime.UI.Xaml.dll": {
"assemblyVersion": "4.0.5.0",
"fileVersion": "4.700.19.60801"
},
"runtimes/osx-x64/lib/netcoreapp3.1/System.Runtime.WindowsRuntime.dll": {
"assemblyVersion": "4.0.15.0",
"fileVersion": "4.700.19.60801"
},
"runtimes/osx-x64/lib/netcoreapp3.1/System.Runtime.dll": {
"assemblyVersion": "4.2.2.0",
"fileVersion": "4.700.19.60801"
},
"runtimes/osx-x64/lib/netcoreapp3.1/System.Security.AccessControl.dll": {
"assemblyVersion": "4.1.3.0",
"fileVersion": "4.700.19.60801"
},
"runtimes/osx-x64/lib/netcoreapp3.1/System.Security.Claims.dll": {
"assemblyVersion": "4.1.2.0",
"fileVersion": "4.700.19.60801"
},
"runtimes/osx-x64/lib/netcoreapp3.1/System.Security.Cryptography.Algorithms.dll": {
"assemblyVersion": "4.3.2.0",
"fileVersion": "4.700.19.60801"
},
"runtimes/osx-x64/lib/netcoreapp3.1/System.Security.Cryptography.Cng.dll": {
"assemblyVersion": "4.3.3.0",
"fileVersion": "4.700.19.60801"
},
"runtimes/osx-x64/lib/netcoreapp3.1/System.Security.Cryptography.Csp.dll": {
"assemblyVersion": "4.1.2.0",
"fileVersion": "4.700.19.60801"
},
"runtimes/osx-x64/lib/netcoreapp3.1/System.Security.Cryptography.Encoding.dll": {
"assemblyVersion": "4.1.2.0",
"fileVersion": "4.700.19.60801"
},
"runtimes/osx-x64/lib/netcoreapp3.1/System.Security.Cryptography.OpenSsl.dll": {
"assemblyVersion": "4.1.3.0",
"fileVersion": "4.700.19.60801"
},
"runtimes/osx-x64/lib/netcoreapp3.1/System.Security.Cryptography.Primitives.dll": {
"assemblyVersion": "4.1.2.0",
"fileVersion": "4.700.19.60801"
},
"runtimes/osx-x64/lib/netcoreapp3.1/System.Security.Cryptography.X509Certificates.dll": {
"assemblyVersion": "4.2.2.0",
"fileVersion": "4.700.19.60801"
},
"runtimes/osx-x64/lib/netcoreapp3.1/System.Security.Principal.Windows.dll": {
"assemblyVersion": "4.1.3.0",
"fileVersion": "4.700.19.60801"
},
"runtimes/osx-x64/lib/netcoreapp3.1/System.Security.Principal.dll": {
"assemblyVersion": "4.1.2.0",
"fileVersion": "4.700.19.60801"
},
"runtimes/osx-x64/lib/netcoreapp3.1/System.Security.SecureString.dll": {
"assemblyVersion": "4.1.2.0",
"fileVersion": "4.700.19.60801"
},
"runtimes/osx-x64/lib/netcoreapp3.1/System.Security.dll": {
"assemblyVersion": "4.0.0.0",
"fileVersion": "4.700.19.60801"
},
"runtimes/osx-x64/lib/netcoreapp3.1/System.ServiceModel.Web.dll": {
"assemblyVersion": "4.0.0.0",
"fileVersion": "4.700.19.60801"
},
"runtimes/osx-x64/lib/netcoreapp3.1/System.ServiceProcess.dll": {
"assemblyVersion": "4.0.0.0",
"fileVersion": "4.700.19.60801"
},
"runtimes/osx-x64/lib/netcoreapp3.1/System.Text.Encoding.CodePages.dll": {
"assemblyVersion": "4.1.3.0",
"fileVersion": "4.700.19.60801"
},
"runtimes/osx-x64/lib/netcoreapp3.1/System.Text.Encoding.Extensions.dll": {
"assemblyVersion": "4.1.2.0",
"fileVersion": "4.700.19.60801"
},
"runtimes/osx-x64/lib/netcoreapp3.1/System.Text.Encoding.dll": {
"assemblyVersion": "4.1.2.0",
"fileVersion": "4.700.19.60801"
},
"runtimes/osx-x64/lib/netcoreapp3.1/System.Text.Encodings.Web.dll": {
"assemblyVersion": "4.0.5.0",
"fileVersion": "4.700.19.60801"
},
"runtimes/osx-x64/lib/netcoreapp3.1/System.Text.Json.dll": {
"assemblyVersion": "4.0.1.0",
"fileVersion": "4.700.19.60801"
},
"runtimes/osx-x64/lib/netcoreapp3.1/System.Text.RegularExpressions.dll": {
"assemblyVersion": "4.2.2.0",
"fileVersion": "4.700.19.60801"
},
"runtimes/osx-x64/lib/netcoreapp3.1/System.Threading.Channels.dll": {
"assemblyVersion": "4.0.2.0",
"fileVersion": "4.700.19.60801"
},
"runtimes/osx-x64/lib/netcoreapp3.1/System.Threading.Overlapped.dll": {
"assemblyVersion": "4.1.2.0",
"fileVersion": "4.700.19.60801"
},
"runtimes/osx-x64/lib/netcoreapp3.1/System.Threading.Tasks.Dataflow.dll": {
"assemblyVersion": "4.6.5.0",
"fileVersion": "4.700.19.60801"
},
"runtimes/osx-x64/lib/netcoreapp3.1/System.Threading.Tasks.Extensions.dll": {
"assemblyVersion": "4.3.1.0",
"fileVersion": "4.700.19.60801"
},
"runtimes/osx-x64/lib/netcoreapp3.1/System.Threading.Tasks.Parallel.dll": {
"assemblyVersion": "4.0.4.0",
"fileVersion": "4.700.19.60801"
},
"runtimes/osx-x64/lib/netcoreapp3.1/System.Threading.Tasks.dll": {
"assemblyVersion": "4.1.2.0",
"fileVersion": "4.700.19.60801"
},
"runtimes/osx-x64/lib/netcoreapp3.1/System.Threading.Thread.dll": {
"assemblyVersion": "4.1.2.0",
"fileVersion": "4.700.19.60801"
},
"runtimes/osx-x64/lib/netcoreapp3.1/System.Threading.ThreadPool.dll": {
"assemblyVersion": "4.1.2.0",
"fileVersion": "4.700.19.60801"
},
"runtimes/osx-x64/lib/netcoreapp3.1/System.Threading.Timer.dll": {
"assemblyVersion": "4.1.2.0",
"fileVersion": "4.700.19.60801"
},
"runtimes/osx-x64/lib/netcoreapp3.1/System.Threading.dll": {
"assemblyVersion": "4.1.2.0",
"fileVersion": "4.700.19.60801"
},
"runtimes/osx-x64/lib/netcoreapp3.1/System.Transactions.Local.dll": {
"assemblyVersion": "4.0.2.0",
"fileVersion": "4.700.19.60801"
},
"runtimes/osx-x64/lib/netcoreapp3.1/System.Transactions.dll": {
"assemblyVersion": "4.0.0.0",
"fileVersion": "4.700.19.60801"
},
"runtimes/osx-x64/lib/netcoreapp3.1/System.ValueTuple.dll": {
"assemblyVersion": "4.0.5.0",
"fileVersion": "4.700.19.60801"
},
"runtimes/osx-x64/lib/netcoreapp3.1/System.Web.HttpUtility.dll": {
"assemblyVersion": "4.0.2.0",
"fileVersion": "4.700.19.60801"
},
"runtimes/osx-x64/lib/netcoreapp3.1/System.Web.dll": {
"assemblyVersion": "4.0.0.0",
"fileVersion": "4.700.19.60801"
},
"runtimes/osx-x64/lib/netcoreapp3.1/System.Windows.dll": {
"assemblyVersion": "4.0.0.0",
"fileVersion": "4.700.19.60801"
},
"runtimes/osx-x64/lib/netcoreapp3.1/System.Xml.Linq.dll": {
"assemblyVersion": "4.0.0.0",
"fileVersion": "4.700.19.60801"
},
"runtimes/osx-x64/lib/netcoreapp3.1/System.Xml.ReaderWriter.dll": {
"assemblyVersion": "4.2.2.0",
"fileVersion": "4.700.19.60801"
},
"runtimes/osx-x64/lib/netcoreapp3.1/System.Xml.Serialization.dll": {
"assemblyVersion": "4.0.0.0",
"fileVersion": "4.700.19.60801"
},
"runtimes/osx-x64/lib/netcoreapp3.1/System.Xml.XDocument.dll": {
"assemblyVersion": "4.1.2.0",
"fileVersion": "4.700.19.60801"
},
"runtimes/osx-x64/lib/netcoreapp3.1/System.Xml.XPath.XDocument.dll": {
"assemblyVersion": "4.1.2.0",
"fileVersion": "4.700.19.60801"
},
"runtimes/osx-x64/lib/netcoreapp3.1/System.Xml.XPath.dll": {
"assemblyVersion": "4.1.2.0",
"fileVersion": "4.700.19.60801"
},
"runtimes/osx-x64/lib/netcoreapp3.1/System.Xml.XmlDocument.dll": {
"assemblyVersion": "4.1.2.0",
"fileVersion": "4.700.19.60801"
},
"runtimes/osx-x64/lib/netcoreapp3.1/System.Xml.XmlSerializer.dll": {
"assemblyVersion": "4.1.2.0",
"fileVersion": "4.700.19.60801"
},
"runtimes/osx-x64/lib/netcoreapp3.1/System.Xml.dll": {
"assemblyVersion": "4.0.0.0",
"fileVersion": "4.700.19.60801"
},
"runtimes/osx-x64/lib/netcoreapp3.1/System.dll": {
"assemblyVersion": "4.0.0.0",
"fileVersion": "4.700.19.60801"
},
"runtimes/osx-x64/lib/netcoreapp3.1/WindowsBase.dll": {
"assemblyVersion": "4.0.0.0",
"fileVersion": "4.700.19.60801"
},
"runtimes/osx-x64/lib/netcoreapp3.1/mscorlib.dll": {
"assemblyVersion": "4.0.0.0",
"fileVersion": "4.700.19.60801"
},
"runtimes/osx-x64/lib/netcoreapp3.1/netstandard.dll": {
"assemblyVersion": "2.1.0.0",
"fileVersion": "4.700.19.60801"
}
},
"native": {
"runtimes/osx-x64/native/SOS_README.md": {
"fileVersion": "0.0.0.0"
},
"runtimes/osx-x64/native/System.Globalization.Native.dylib": {
"fileVersion": "0.0.0.0"
},
"runtimes/osx-x64/native/System.IO.Compression.Native.a": {
"fileVersion": "0.0.0.0"
},
"runtimes/osx-x64/native/System.IO.Compression.Native.dylib": {
"fileVersion": "0.0.0.0"
},
"runtimes/osx-x64/native/System.Native.a": {
"fileVersion": "0.0.0.0"
},
"runtimes/osx-x64/native/System.Native.dylib": {
"fileVersion": "0.0.0.0"
},
"runtimes/osx-x64/native/System.Net.Http.Native.a": {
"fileVersion": "0.0.0.0"
},
"runtimes/osx-x64/native/System.Net.Http.Native.dylib": {
"fileVersion": "0.0.0.0"
},
"runtimes/osx-x64/native/System.Net.Security.Native.a": {
"fileVersion": "0.0.0.0"
},
"runtimes/osx-x64/native/System.Net.Security.Native.dylib": {
"fileVersion": "0.0.0.0"
},
"runtimes/osx-x64/native/System.Private.CoreLib.dll": {
"assemblyVersion": "4.0.0.0",
"fileVersion": "4.700.19.60701"
},
"runtimes/osx-x64/native/System.Security.Cryptography.Native.Apple.a": {
"fileVersion": "0.0.0.0"
},
"runtimes/osx-x64/native/System.Security.Cryptography.Native.Apple.dylib": {
"fileVersion": "0.0.0.0"
},
"runtimes/osx-x64/native/System.Security.Cryptography.Native.OpenSsl.a": {
"fileVersion": "0.0.0.0"
},
"runtimes/osx-x64/native/System.Security.Cryptography.Native.OpenSsl.dylib": {
"fileVersion": "0.0.0.0"
},
"runtimes/osx-x64/native/libclrjit.dylib": {
"fileVersion": "0.0.0.0"
},
"runtimes/osx-x64/native/libcoreclr.dylib": {
"fileVersion": "0.0.0.0"
},
"runtimes/osx-x64/native/libdbgshim.dylib": {
"fileVersion": "0.0.0.0"
},
"runtimes/osx-x64/native/libmscordaccore.dylib": {
"fileVersion": "0.0.0.0"
},
"runtimes/osx-x64/native/libmscordbi.dylib": {
"fileVersion": "0.0.0.0"
}
}
},
"runtime.osx-x64.Microsoft.NETCore.DotNetHostPolicy/3.1.1": {
"native": {
"runtimes/osx-x64/native/libhostpolicy.dylib": {
"fileVersion": "0.0.0.0"
}
}
},
"XliffTasks/1.0.0-beta.19252.1": {}
}
},
"libraries": {
"Microsoft.Build.Tasks.Git/1.0.0-beta2-19367-01": {
"type": "package",
"serviceable": true,
"sha512": "sha512-3kbkb7aUF41YuJnQzoCJRbjb6bgYY3KHlJ9GGJZ30Y5ytdFusLAC5o3/kfE+Vm6slvu4EBgIwMUknL6U+Pu9uA==",
"path": "microsoft.build.tasks.git/1.0.0-beta2-19367-01",
"hashPath": "microsoft.build.tasks.git.1.0.0-beta2-19367-01.nupkg.sha512"
},
"Microsoft.NETCore.App/3.1.1-servicing.19608.4": {
"type": "package",
"serviceable": true,
"sha512": "sha512-U/haWBzFR6+KSdVKBjJm1bPPne/dR572GHR4B+fwXXo5iMC22T3rVXKmsF7o6mFJokaXZthzlI17GoD8Nr0ayA==",
"path": "microsoft.netcore.app/3.1.1-servicing.19608.4",
"hashPath": "microsoft.netcore.app.3.1.1-servicing.19608.4.nupkg.sha512"
},
"Microsoft.NETCore.App.Internal/3.1.1-servicing.19608.4": {
"type": "package",
"serviceable": true,
"sha512": "sha512-jqYBVH9UzM6EHydJdXi1KNmnT8z2hoCSVA96hBXDx4NXXm0kTa2hN6kAyraBT0GOwZdA34hDtQX82+c5sDB8IQ==",
"path": "microsoft.netcore.app.internal/3.1.1-servicing.19608.4",
"hashPath": "microsoft.netcore.app.internal.3.1.1-servicing.19608.4.nupkg.sha512"
},
"Microsoft.NETCore.DotNetHostPolicy/3.1.1": {
"type": "package",
"serviceable": true,
"sha512": "sha512-Mk7BZx2fYyEJUsSrAlSkhMOCVyZC6E28GLMFRphdQHT9/sGZywRy8FXnK5V0xDCLsAwQk7dfZqx9yFsDA5zbEw=="
},
"Microsoft.NETCore.Platforms/3.1.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-z7aeg8oHln2CuNulfhiLYxCVMPEwBl3rzicjvIX+4sUuCwvXw5oXQEtbiU2c0z4qYL5L3Kmx0mMA/+t/SbY67w==",
"path": "microsoft.netcore.platforms/3.1.0",
"hashPath": "microsoft.netcore.platforms.3.1.0.nupkg.sha512"
},
"Microsoft.NETCore.Targets/3.1.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-IAFeJxHy2vlTm3mhiZVP/jKE5DImLUMQc3OV8z5G4ZBeYNAlPSwjC5V/Vx14GIJU6Osmhr+XPmtWW0cv5jSmTw==",
"path": "microsoft.netcore.targets/3.1.0",
"hashPath": "microsoft.netcore.targets.3.1.0.nupkg.sha512"
},
"Microsoft.SourceLink.Common/1.0.0-beta2-19367-01": {
"type": "package",
"serviceable": true,
"sha512": "sha512-T6ZEkbRgqcmDoTQDn0ES4FcXiq6uOiqPmbb+hCnKQ/i45W3WjM1+hfNGmsXvTK/e/AqEGiqtXJIi9ZtmbHnzHQ==",
"path": "microsoft.sourcelink.common/1.0.0-beta2-19367-01",
"hashPath": "microsoft.sourcelink.common.1.0.0-beta2-19367-01.nupkg.sha512"
},
"Microsoft.SourceLink.GitHub/1.0.0-beta2-19367-01": {
"type": "package",
"serviceable": true,
"sha512": "sha512-+Zfc8EddeIPTy9w26xrMOqIL5k5fPICfoYGPMhvlCcmENVT0pslIvrOzRaEvv1UgUL1cjbGRO8SXa1HtoVEhPA==",
"path": "microsoft.sourcelink.github/1.0.0-beta2-19367-01",
"hashPath": "microsoft.sourcelink.github.1.0.0-beta2-19367-01.nupkg.sha512"
},
"Microsoft.SourceLink.Vsts.Git/1.0.0-beta2-19367-01": {
"type": "package",
"serviceable": true,
"sha512": "sha512-vfYRwh2jIQ5XFmqk9BebaGnj3tL9p1hkZ270NMXutiE7jCGH1zMB+3HCPec6DpnC4V3XX1oWlwAXoxNtXB90pQ==",
"path": "microsoft.sourcelink.vsts.git/1.0.0-beta2-19367-01",
"hashPath": "microsoft.sourcelink.vsts.git.1.0.0-beta2-19367-01.nupkg.sha512"
},
"NETStandard.Library/2.1.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-5HpvGyPsBaglPPgkcUYRyBuTc1KwVsaiYrrt6dLb9SC/VTClgTjXq3rHo7aXDiodwIwtbCJCLCq+ZPyjwkamjw==",
"path": "netstandard.library/2.1.0",
"hashPath": "netstandard.library.2.1.0.nupkg.sha512"
},
"runtime.osx-x64.Microsoft.NETCore.App/3.1.1-servicing.19608.4": {
"type": "package",
"serviceable": true,
"sha512": "sha512-QWOw3lKZgC+0o/DZS+McxkqL6HJGJGOb3Q5QAhp4X4wU2w5oXCzlqqi+BHWMdQ4eQgIQRhdQGc7kA1cAyOJHnA==",
"path": "runtime.osx-x64.microsoft.netcore.app/3.1.1-servicing.19608.4",
"hashPath": "runtime.osx-x64.microsoft.netcore.app.3.1.1-servicing.19608.4.nupkg.sha512"
},
"runtime.osx-x64.Microsoft.NETCore.DotNetHostPolicy/3.1.1": {
"type": "package",
"serviceable": true,
"sha512": "sha512-QrwzPwa3KtGW+5IM/T1XhkLqq//vuVyR5BP62Dv9aG0fJGcx2Y/mDVQz981e2lRRrL8lsbhg3k+Lyu+LVMKF7g=="
},
"XliffTasks/1.0.0-beta.19252.1": {
"type": "package",
"serviceable": true,
"sha512": "sha512-pf1QwugyHdppWF5Q+qLSIqFkPkyBJOTAbvDxMO7Cv8zRkLGR9/OfOrjgSrcnniA2OTfZVo7JzTdNbDNAKSRZIA==",
"path": "xlifftasks/1.0.0-beta.19252.1",
"hashPath": "xlifftasks.1.0.0-beta.19252.1.nupkg.sha512"
}
},
"runtimes": {
"osx-x64": [
"osx",
"unix-x64",
"unix",
"any",
"base"
],
"osx": [
"unix",
"any",
"base"
],
"osx.10.10": [
"osx",
"unix",
"any",
"base"
],
"osx.10.10-x64": [
"osx.10.10",
"osx-x64",
"osx",
"unix-x64",
"unix",
"any",
"base"
],
"osx.10.11": [
"osx.10.10",
"osx",
"unix",
"any",
"base"
],
"osx.10.11-x64": [
"osx.10.11",
"osx.10.10-x64",
"osx.10.10",
"osx-x64",
"osx",
"unix-x64",
"unix",
"any",
"base"
],
"osx.10.12": [
"osx.10.11",
"osx.10.10",
"osx",
"unix",
"any",
"base"
],
"osx.10.12-x64": [
"osx.10.12",
"osx.10.11-x64",
"osx.10.11",
"osx.10.10-x64",
"osx.10.10",
"osx-x64",
"osx",
"unix-x64",
"unix",
"any",
"base"
],
"osx.10.13": [
"osx.10.12",
"osx.10.11",
"osx.10.10",
"osx",
"unix",
"any",
"base"
],
"osx.10.13-x64": [
"osx.10.13",
"osx.10.12-x64",
"osx.10.12",
"osx.10.11-x64",
"osx.10.11",
"osx.10.10-x64",
"osx.10.10",
"osx-x64",
"osx",
"unix-x64",
"unix",
"any",
"base"
],
"osx.10.14": [
"osx.10.13",
"osx.10.12",
"osx.10.11",
"osx.10.10",
"osx",
"unix",
"any",
"base"
],
"osx.10.14-x64": [
"osx.10.14",
"osx.10.13-x64",
"osx.10.13",
"osx.10.12-x64",
"osx.10.12",
"osx.10.11-x64",
"osx.10.11",
"osx.10.10-x64",
"osx.10.10",
"osx-x64",
"osx",
"unix-x64",
"unix",
"any",
"base"
],
"osx.10.15": [
"osx.10.14",
"osx.10.13",
"osx.10.12",
"osx.10.11",
"osx.10.10",
"osx",
"unix",
"any",
"base"
],
"osx.10.15-x64": [
"osx.10.15",
"osx.10.14-x64",
"osx.10.14",
"osx.10.13-x64",
"osx.10.13",
"osx.10.12-x64",
"osx.10.12",
"osx.10.11-x64",
"osx.10.11",
"osx.10.10-x64",
"osx.10.10",
"osx-x64",
"osx",
"unix-x64",
"unix",
"any",
"base"
]
}
}
{"owner":"redhat.vscode-yaml","sessionId":"97353137-65e2-46f9-b297-5b68a883ebdc1625840413486","time":1625852561917}
{
"title": "JSON schema for ESLint configuration files",
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"definitions": {
"rule": {
"oneOf": [
{
"description": "ESLint rule\n\n0 - turns the rule off\n1 - turn the rule on as a warning (doesn't affect exit code)\n2 - turn the rule on as an error (exit code is 1 when triggered)\n",
"type": "integer",
"minimum": 0,
"maximum": 2
},
{
"description": "ESLint rule\n\n\"off\" - turns the rule off\n\"warn\" - turn the rule on as a warning (doesn't affect exit code)\n\"error\" - turn the rule on as an error (exit code is 1 when triggered)\n",
"type": "string",
"enum": [
"off", "warn", "error"
]
},
{
"type": "array"
}
]
},
"possibleErrors": {
"properties": {
"comma-dangle": { "$ref": "#/definitions/rule", "description": "Require or disallow trailing commas"},
"for-direction": {"$ref": "#/definitions/rule", "description": "Enforce “for” loop update clause moving the counter in the right direction"},
"getter-return": {"$ref": "#/definitions/rule", "description": "Enforce return statements in getters"},
"no-await-in-loop": {"$ref": "#/definitions/rule", "description": "Disallow await inside of loops"},
"no-compare-neg-zero": {"$ref": "#/definitions/rule", "description": "Disallow comparing against -0"},
"no-cond-assign": { "$ref": "#/definitions/rule", "description": "Disallow assignment operators in conditional expressions" },
"no-console": { "$ref": "#/definitions/rule", "description": "Disallow the use of console" },
"no-constant-condition": { "$ref": "#/definitions/rule", "description": "Disallow constant expressions in conditions" },
"no-control-regex": { "$ref": "#/definitions/rule", "description": "Disallow control characters in regular expressions" },
"no-debugger": { "$ref": "#/definitions/rule", "description": "Disallow the use of debugger" },
"no-dupe-args": { "$ref": "#/definitions/rule", "description": "Disallow duplicate arguments in function definitions" },
"no-dupe-keys": { "$ref": "#/definitions/rule", "description": "Disallow duplicate keys in object literals" },
"no-duplicate-case": { "$ref": "#/definitions/rule", "description": "Disallow duplicate case labels" },
"no-empty": { "$ref": "#/definitions/rule", "description": "Disallow empty block statements" },
"no-empty-character-class": { "$ref": "#/definitions/rule", "description": "Disallow empty character classes in regular expressions" },
"no-ex-assign": { "$ref": "#/definitions/rule", "description": "Disallow reassigning exceptions in catch clauses" },
"no-extra-boolean-cast": { "$ref": "#/definitions/rule", "description": "Disallow unnecessary boolean casts" },
"no-extra-parens": { "$ref": "#/definitions/rule", "description": "Disallow unnecessary parentheses" },
"no-extra-semi": { "$ref": "#/definitions/rule", "description": "Disallow unnecessary semicolons" },
"no-func-assign": { "$ref": "#/definitions/rule", "description": "Disallow reassigning function declarations" },
"no-inner-declarations": { "$ref": "#/definitions/rule", "description": "Disallow function or var declarations in nested blocks" },
"no-invalid-regexp": { "$ref": "#/definitions/rule", "description": "Disallow invalid regular expression strings in RegExp constructors" },
"no-irregular-whitespace": { "$ref": "#/definitions/rule", "description": "Disallow irregular whitespace outside of strings and comments" },
"no-negated-in-lhs": { "$ref": "#/definitions/rule", "description": "Disallow negating the left operand in in expressions (deprecated)"},
"no-obj-calls": { "$ref": "#/definitions/rule", "description": "Disallow calling global object properties as functions" },
"no-prototype-builtins": { "$ref": "#/definitions/rule", "description": "Disallow calling some Object.prototype methods directly on objects" },
"no-regex-spaces": { "$ref": "#/definitions/rule", "description": "Disallow multiple spaces in regular expressions" },
"no-sparse-arrays": { "$ref": "#/definitions/rule", "description": "Disallow sparse arrays" },
"no-template-curly-in-string": { "$ref": "#/definitions/rule", "description": "Disallow template literal placeholder syntax in regular strings" },
"no-unexpected-multiline": { "$ref": "#/definitions/rule", "description": "Disallow confusing multiline expressions" },
"no-unreachable": { "$ref": "#/definitions/rule", "description": "Disallow unreachable code after return, throw, continue, and break statements" },
"no-unsafe-finally": { "$ref": "#/definitions/rule", "description": "Disallow control flow statements in finally blocks" },
"no-unsafe-negation": { "$ref": "#/definitions/rule", "description": "Disallow negating the left operand of relational operators" },
"use-isnan": { "$ref": "#/definitions/rule", "description": "Require calls to isNaN() when checking for NaN" },
"valid-jsdoc": { "$ref": "#/definitions/rule", "description": "Enforce valid JSDoc comments" },
"valid-typeof": { "$ref": "#/definitions/rule", "description": "Enforce comparing typeof expressions against valid strings" }
}
},
"bestPractices": {
"properties": {
"accessor-pairs": { "$ref": "#/definitions/rule", "description": "Enforce getter and setter pairs in objects" },
"array-callback-return": { "$ref": "#/definitions/rule", "description": "Enforce return statements in callbacks of array methods" },
"block-scoped-var": { "$ref": "#/definitions/rule", "description": "Enforce the use of variables within the scope they are defined" },
"class-methods-use-this": { "$ref": "#/definitions/rule", "description": "Enforce that class methods utilize this" },
"complexity": { "$ref": "#/definitions/rule", "description": "Enforce a maximum cyclomatic complexity allowed in a program" },
"consistent-return": { "$ref": "#/definitions/rule", "description": "Require return statements to either always or never specify values" },
"curly": { "$ref": "#/definitions/rule", "description": "Enforce consistent brace style for all control statements" },
"default-case": { "$ref": "#/definitions/rule", "description": "Require default cases in switch statements" },
"dot-location": { "$ref": "#/definitions/rule", "description": "Enforce consistent newlines before and after dots" },
"dot-notation": { "$ref": "#/definitions/rule", "description": "Enforce dot notation whenever possible" },
"eqeqeq": { "$ref": "#/definitions/rule", "description": "Require the use of === and !==" },
"guard-for-in": { "$ref": "#/definitions/rule", "description": "Require for-in loops to include an if statement" },
"no-alert": { "$ref": "#/definitions/rule", "description": "Disallow the use of alert, confirm, and prompt" },
"no-caller": { "$ref": "#/definitions/rule", "description": "Disallow the use of arguments.caller or arguments.callee" },
"no-case-declarations": { "$ref": "#/definitions/rule", "description": "Disallow lexical declarations in case clauses" },
"no-div-regex": { "$ref": "#/definitions/rule", "description": "Disallow division operators explicitly at the beginning of regular expressions" },
"no-else-return": { "$ref": "#/definitions/rule", "description": "Disallow else blocks after return statements in if statements" },
"no-empty-function": { "$ref": "#/definitions/rule", "description": "Disallow empty functions" },
"no-empty-pattern": { "$ref": "#/definitions/rule", "description": "Disallow empty destructuring patterns" },
"no-eq-null": { "$ref": "#/definitions/rule", "description": "Disallow null comparisons without type-checking operators" },
"no-eval": { "$ref": "#/definitions/rule", "description": "Disallow the use of eval()" },
"no-extend-native": { "$ref": "#/definitions/rule", "description": "Disallow extending native types" },
"no-extra-bind": { "$ref": "#/definitions/rule", "description": "Disallow unnecessary calls to .bind()" },
"no-extra-label": { "$ref": "#/definitions/rule", "description": "Disallow unnecessary labels" },
"no-fallthrough": { "$ref": "#/definitions/rule", "description": "Disallow fallthrough of case statements" },
"no-floating-decimal": { "$ref": "#/definitions/rule", "description": "Disallow leading or trailing decimal points in numeric literals" },
"no-global-assign": { "$ref": "#/definitions/rule", "description": "Disallow assignments to native objects or read-only global variables" },
"no-implicit-coercion": { "$ref": "#/definitions/rule", "description": "Disallow shorthand type conversions" },
"no-implicit-globals": { "$ref": "#/definitions/rule", "description": "Disallow var and named function declarations in the global scope" },
"no-implied-eval": { "$ref": "#/definitions/rule", "description": "Disallow the use of eval()-like methods" },
"no-invalid-this": { "$ref": "#/definitions/rule", "description": "Disallow this keywords outside of classes or class-like objects" },
"no-iterator": { "$ref": "#/definitions/rule", "description": "Disallow the use of the __iterator__ property" },
"no-labels": { "$ref": "#/definitions/rule", "description": "Disallow labeled statements" },
"no-lone-blocks": { "$ref": "#/definitions/rule", "description": "Disallow unnecessary nested blocks" },
"no-loop-func": { "$ref": "#/definitions/rule", "description": "Disallow function declarations and expressions inside loop statements" },
"no-magic-numbers": { "$ref": "#/definitions/rule", "description": "Disallow magic numbers" },
"no-multi-spaces": { "$ref": "#/definitions/rule", "description": "Disallow multiple spaces" },
"no-multi-str": { "$ref": "#/definitions/rule", "description": "Disallow multiline strings" },
"no-native-reassign": { "$ref": "#/definitions/rule"},
"no-new": { "$ref": "#/definitions/rule", "description": "Disallow new operators outside of assignments or comparisons" },
"no-new-func": { "$ref": "#/definitions/rule", "description": "Disallow new operators with the Function object" },
"no-new-wrappers": { "$ref": "#/definitions/rule", "description": "Disallow new operators with the String, Number, and Boolean objects" },
"no-octal": { "$ref": "#/definitions/rule", "description": "Disallow octal literals" },
"no-octal-escape": { "$ref": "#/definitions/rule", "description": "Disallow octal escape sequences in string literals" },
"no-param-reassign": { "$ref": "#/definitions/rule", "description": "Disallow reassigning function parameters" },
"no-proto": { "$ref": "#/definitions/rule", "description": "Disallow the use of the __proto__ property" },
"no-redeclare": { "$ref": "#/definitions/rule", "description": "Disallow var redeclaration" },
"no-restricted-properties": { "$ref": "#/definitions/rule", "description": "Disallow certain properties on certain objects" },
"no-return-assign": { "$ref": "#/definitions/rule", "description": "Disallow assignment operators in return statements" },
"no-return-await": { "$ref": "#/definitions/rule", "description": "Disallow unnecessary return await" },
"no-script-url": { "$ref": "#/definitions/rule", "description": "Disallow javascript: urls" },
"no-self-assign": { "$ref": "#/definitions/rule", "description": "Disallow assignments where both sides are exactly the same" },
"no-self-compare": { "$ref": "#/definitions/rule", "description": "Disallow comparisons where both sides are exactly the same" },
"no-sequences": { "$ref": "#/definitions/rule", "description": "Disallow comma operators" },
"no-throw-literal": { "$ref": "#/definitions/rule", "description": "Disallow throwing literals as exceptions" },
"no-unmodified-loop-condition": { "$ref": "#/definitions/rule", "description": "Disallow unmodified loop conditions" },
"no-unused-expressions": { "$ref": "#/definitions/rule", "description": "Disallow unused expressions" },
"no-unused-labels": { "$ref": "#/definitions/rule", "description": "Disallow unused labels" },
"no-useless-call": { "$ref": "#/definitions/rule", "description": "Disallow unnecessary calls to .call() and .apply()" },
"no-useless-concat": { "$ref": "#/definitions/rule", "description": "Disallow unnecessary concatenation of literals or template literals" },
"no-useless-escape": { "$ref": "#/definitions/rule", "description": "Disallow unnecessary escape characters" },
"no-useless-return": { "$ref": "#/definitions/rule", "description": "Disallow redundant return statements" },
"no-void": { "$ref": "#/definitions/rule", "description": "Disallow void operators" },
"no-warning-comments": { "$ref": "#/definitions/rule", "description": "Disallow specified warning terms in comments" },
"no-with": { "$ref": "#/definitions/rule", "description": "Disallow with statements" },
"prefer-promise-reject-errors": { "$ref": "#/definitions/rule", "description": "Require using Error objects as Promise rejection reasons" },
"radix": { "$ref": "#/definitions/rule", "description": "Enforce the consistent use of the radix argument when using parseInt()" },
"require-await": { "$ref": "#/definitions/rule", "description": "Disallow async functions which have no await expression" },
"vars-on-top": { "$ref": "#/definitions/rule", "description": "Require var declarations be placed at the top of their containing scope" },
"wrap-iife": { "$ref": "#/definitions/rule", "description": "Require parentheses around immediate function invocations" },
"yoda": { "$ref": "#/definitions/rule", "description": "Require or Disallow “Yoda” conditions" }
}
},
"strictMode": {
"properties": {
"strict": { "$ref": "#/definitions/rule", "description": "require or disallow strict mode directives" }
}
},
"variables": {
"properties": {
"init-declarations": { "$ref": "#/definitions/rule", "description": "Require or disallow initialization in var declarations" },
"no-catch-shadow": { "$ref": "#/definitions/rule", "description": "Disallow catch clause parameters from shadowing variables in the outer scope" },
"no-delete-var": { "$ref": "#/definitions/rule", "description": "Disallow deleting variables" },
"no-label-var": { "$ref": "#/definitions/rule", "description": "Disallow labels that share a name with a variable" },
"no-restricted-globals": { "$ref": "#/definitions/rule", "description": "Disallow specified global variables" },
"no-shadow": { "$ref": "#/definitions/rule", "description": "Disallow var declarations from shadowing variables in the outer scope" },
"no-shadow-restricted-names": { "$ref": "#/definitions/rule", "description": "Disallow identifiers from shadowing restricted names" },
"no-undef": { "$ref": "#/definitions/rule", "description": "Disallow the use of undeclared variables unless mentioned in /*global */ comments" },
"no-undefined": { "$ref": "#/definitions/rule", "description": "Disallow the use of undefined as an identifier" },
"no-undef-init": { "$ref": "#/definitions/rule", "description": "Disallow initializing variables to undefined" },
"no-unused-vars": { "$ref": "#/definitions/rule", "description": "Disallow unused variables" },
"no-use-before-define": { "$ref": "#/definitions/rule", "description": "Disallow the use of variables before they are defined" }
}
},
"nodeAndCommonJs": {
"properties": {
"callback-return": { "$ref": "#/definitions/rule", "description": "Require return statements after callbacks" },
"global-require": { "$ref": "#/definitions/rule", "description": "Require require() calls to be placed at top-level module scope" },
"handle-callback-err": { "$ref": "#/definitions/rule", "description": "Require error handling in callbacks" },
"no-buffer-constructor": { "$ref": "#/definitions/rule", "description": "Disallow use of the Buffer() constructor" },
"no-mixed-requires": { "$ref": "#/definitions/rule", "description": "Disallow require calls to be mixed with regular var declarations" },
"no-new-require": { "$ref": "#/definitions/rule", "description": "Disallow new operators with calls to require" },
"no-path-concat": { "$ref": "#/definitions/rule", "description": "Disallow string concatenation with __dirname and __filename" },
"no-process-env": { "$ref": "#/definitions/rule", "description": "Disallow the use of process.env" },
"no-process-exit": { "$ref": "#/definitions/rule", "description": "Disallow the use of process.exit()" },
"no-restricted-modules": { "$ref": "#/definitions/rule", "description": "Disallow specified modules when loaded by require" },
"no-sync": { "$ref": "#/definitions/rule", "description": "Disallow synchronous methods" }
}
},
"stylisticIssues": {
"properties": {
"array-bracket-newline": { "$ref": "#/definitions/rule", "description": "Enforce line breaks after opening and before closing array brackets" },
"array-bracket-spacing": { "$ref": "#/definitions/rule", "description": "Enforce consistent spacing inside array brackets" },
"array-element-newline": { "$ref": "#/definitions/rule", "description": "Enforce line breaks after each array element" },
"block-spacing": { "$ref": "#/definitions/rule", "description": "Enforce consistent spacing inside single-line blocks" },
"brace-style": { "$ref": "#/definitions/rule", "description": "Enforce consistent brace style for blocks" },
"camelcase": { "$ref": "#/definitions/rule", "description": "Enforce camelcase naming convention" },
"capitalized-comments": { "$ref": "#/definitions/rule", "description": "Enforce or disallow capitalization of the first letter of a comment" },
"comma-dangle": { "$ref": "#/definitions/rule", "description": "Require or disallow trailing commas" },
"comma-spacing": { "$ref": "#/definitions/rule", "description": "Enforce consistent spacing before and after commas" },
"comma-style": { "$ref": "#/definitions/rule", "description": "Enforce consistent comma style" },
"computed-property-spacing": { "$ref": "#/definitions/rule", "description": "Enforce consistent spacing inside computed property brackets" },
"consistent-this": { "$ref": "#/definitions/rule", "description": "Enforce consistent naming when capturing the current execution context" },
"eol-last": { "$ref": "#/definitions/rule", "description": "Enforce at least one newline at the end of files" },
"func-call-spacing": { "$ref": "#/definitions/rule", "description": "Require or disallow spacing between function identifiers and their invocations" },
"func-name-matching": { "$ref": "#/definitions/rule", "description": "Require function names to match the name of the variable or property to which they are assigned" },
"func-names": { "$ref": "#/definitions/rule", "description": "Require or disallow named function expressions" },
"func-style": { "$ref": "#/definitions/rule", "description": "Enforce the consistent use of either function declarations or expressions" },
"function-call-argument-newline": { "$ref": "#/definitions/rule", "description": "Enforce line breaks between arguments of a function call" },
"function-paren-newline": { "$ref": "#/definitions/rule", "description": "Enforce consistent line breaks inside function parentheses" },
"id-blacklist": { "$ref": "#/definitions/rule", "description": "Disallow specified identifiers" },
"id-length": { "$ref": "#/definitions/rule", "description": "Enforce minimum and maximum identifier lengths" },
"id-match": { "$ref": "#/definitions/rule", "description": "Require identifiers to match a specified regular expression" },
"implicit-arrow-linebreak": { "$ref": "#/definitions/rule", "description": "Enforce the location of arrow function bodies" },
"indent": { "$ref": "#/definitions/rule", "description": "Enforce consistent indentation" },
"indent-legacy": { "$ref": "#/definitions/rule", "description": "Enforce consistent indentation (legacy, deprecated)" },
"jsx-quotes": { "$ref": "#/definitions/rule", "description": "Enforce the consistent use of either double or single quotes in JSX attributes" },
"key-spacing": { "$ref": "#/definitions/rule", "description": "Enforce consistent spacing between keys and values in object literal properties" },
"keyword-spacing": { "$ref": "#/definitions/rule", "description": "Enforce consistent spacing before and after keywords" },
"line-comment-position": { "$ref": "#/definitions/rule", "description": "Enforce position of line comments" },
"lines-between-class-members": { "$ref": "#/definitions/rule", "description": "Require or disallow an empty line between class members" },
"linebreak-style": { "$ref": "#/definitions/rule", "description": "Enforce consistent linebreak style" },
"lines-around-comment": { "$ref": "#/definitions/rule", "description": "Require empty lines around comments" },
"lines-around-directive": { "$ref": "#/definitions/rule", "description": "Require or disallow newlines around directives" },
"max-depth": { "$ref": "#/definitions/rule", "description": "Enforce a maximum depth that blocks can be nested" },
"max-len": { "$ref": "#/definitions/rule", "description": "Enforce a maximum line length" },
"max-lines": { "$ref": "#/definitions/rule", "description": "Enforce a maximum number of lines per file" },
"max-nested-callbacks": { "$ref": "#/definitions/rule", "description": "Enforce a maximum depth that callbacks can be nested" },
"max-params": { "$ref": "#/definitions/rule", "description": "Enforce a maximum number of parameters in function definitions" },
"max-statements": { "$ref": "#/definitions/rule", "description": "Enforce a maximum number of statements allowed in function blocks" },
"max-statements-per-line": { "$ref": "#/definitions/rule", "description": "Enforce a maximum number of statements allowed per line" },
"multiline-comment-style": { "$ref": "#/definitions/rule", "description": "Enforce a particular style for multiline comments" },
"multiline-ternary": { "$ref": "#/definitions/rule", "description": "Enforce newlines between operands of ternary expressions" },
"new-cap": { "$ref": "#/definitions/rule", "description": "Require constructor function names to begin with a capital letter" },
"newline-after-var": { "$ref": "#/definitions/rule", "description": "Require or disallow an empty line after var declarations" },
"newline-before-return": { "$ref": "#/definitions/rule", "description": "Require an empty line before return statements" },
"newline-per-chained-call": { "$ref": "#/definitions/rule", "description": "Require a newline after each call in a method chain" },
"new-parens": { "$ref": "#/definitions/rule", "description": "Require parentheses when invoking a constructor with no arguments" },
"no-array-constructor": { "$ref": "#/definitions/rule", "description": "Disallow Array constructors" },
"no-bitwise": { "$ref": "#/definitions/rule", "description": "Disallow bitwise operators" },
"no-continue": { "$ref": "#/definitions/rule", "description": "Disallow continue statements" },
"no-inline-comments": { "$ref": "#/definitions/rule", "description": "Disallow inline comments after code" },
"no-lonely-if": { "$ref": "#/definitions/rule", "description": "Disallow if statements as the only statement in else blocks" },
"no-mixed-operators": { "$ref": "#/definitions/rule", "description": "Disallow mixed binary operators" },
"no-mixed-spaces-and-tabs": { "$ref": "#/definitions/rule", "description": "Disallow mixed spaces and tabs for indentation" },
"no-multi-assign": { "$ref": "#/definitions/rule", "description": "Disallow use of chained assignment expressions" },
"no-multiple-empty-lines": { "$ref": "#/definitions/rule", "description": "Disallow multiple empty lines" },
"no-negated-condition": { "$ref": "#/definitions/rule", "description": "Disallow negated conditions" },
"no-nested-ternary": { "$ref": "#/definitions/rule", "description": "Disallow nested ternary expressions" },
"no-new-object": { "$ref": "#/definitions/rule", "description": "Disallow Object constructors" },
"no-plusplus": { "$ref": "#/definitions/rule", "description": "Disallow the unary operators ++ and --" },
"no-restricted-syntax": { "$ref": "#/definitions/rule", "description": "Disallow specified syntax" },
"no-spaced-func": { "$ref": "#/definitions/rule"},
"no-tabs": { "$ref": "#/definitions/rule", "description": "Disallow tabs in file" },
"no-ternary": { "$ref": "#/definitions/rule", "description": "Disallow ternary operators" },
"no-trailing-spaces": { "$ref": "#/definitions/rule", "description": "Disallow trailing whitespace at the end of lines" },
"no-underscore-dangle": { "$ref": "#/definitions/rule", "description": "Disallow dangling underscores in identifiers" },
"no-unneeded-ternary": { "$ref": "#/definitions/rule", "description": "Disallow ternary operators when simpler alternatives exist" },
"no-whitespace-before-property": { "$ref": "#/definitions/rule", "description": "Disallow whitespace before properties" },
"nonblock-statement-body-position": { "$ref": "#/definitions/rule", "description": "Enforce the location of single-line statements" },
"object-curly-newline": { "$ref": "#/definitions/rule", "description": "Enforce consistent line breaks inside braces" },
"object-curly-spacing": { "$ref": "#/definitions/rule", "description": "Enforce consistent spacing inside braces" },
"object-property-newline": { "$ref": "#/definitions/rule", "description": "Enforce placing object properties on separate lines" },
"object-shorthand": { "$ref": "#/definitions/rule"},
"one-var": { "$ref": "#/definitions/rule", "description": "Enforce variables to be declared either together or separately in functions" },
"one-var-declaration-per-line": { "$ref": "#/definitions/rule", "description": "Require or disallow newlines around var declarations" },
"operator-assignment": { "$ref": "#/definitions/rule", "description": "Require or disallow assignment operator shorthand where possible" },
"operator-linebreak": { "$ref": "#/definitions/rule", "description": "Enforce consistent linebreak style for operators" },
"padded-blocks": { "$ref": "#/definitions/rule", "description": "Require or disallow padding within blocks" },
"padding-line-between-statements": { "$ref": "#/definitions/rule", "description": "Require or disallow padding lines between statements" },
"quote-props": { "$ref": "#/definitions/rule", "description": "Require quotes around object literal property names" },
"quotes": { "$ref": "#/definitions/rule", "description": "Enforce the consistent use of either backticks, double, or single quotes" },
"require-jsdoc": { "$ref": "#/definitions/rule", "description": "Require JSDoc comments" },
"semi": { "$ref": "#/definitions/rule", "description": "Require or disallow semicolons instead of ASI" },
"semi-spacing": { "$ref": "#/definitions/rule", "description": "Enforce consistent spacing before and after semicolons" },
"semi-style": { "$ref": "#/definitions/rule", "description": "Enforce location of semicolons" },
"sort-keys": { "$ref": "#/definitions/rule", "description": "Requires object keys to be sorted" },
"sort-vars": { "$ref": "#/definitions/rule", "description": "Require variables within the same declaration block to be sorted" },
"space-before-blocks": { "$ref": "#/definitions/rule", "description": "Enforce consistent spacing before blocks" },
"space-before-function-paren": { "$ref": "#/definitions/rule", "description": "Enforce consistent spacing before function definition opening parenthesis" },
"spaced-comment": { "$ref": "#/definitions/rule", "description": "Enforce consistent spacing after the // or /* in a comment" },
"space-infix-ops": { "$ref": "#/definitions/rule", "description": "Require spacing around operators" },
"space-in-parens": { "$ref": "#/definitions/rule", "description": "Enforce consistent spacing inside parentheses" },
"space-unary-ops": { "$ref": "#/definitions/rule", "description": "Enforce consistent spacing before or after unary operators" },
"switch-colon-spacing": { "$ref": "#/definitions/rule", "description": "Enforce spacing around colons of switch statements" },
"template-tag-spacing": { "$ref": "#/definitions/rule", "description": "Require or disallow spacing between template tags and their literals" },
"unicode-bom": { "$ref": "#/definitions/rule", "description": "Require or disallow Unicode byte order mark (BOM)" },
"wrap-regex": { "$ref": "#/definitions/rule", "description": "Require parenthesis around regex literals" }
}
},
"ecmaScript6": {
"properties": {
"arrow-body-style": { "$ref": "#/definitions/rule", "description": "Require braces around arrow function bodies" },
"arrow-parens": { "$ref": "#/definitions/rule", "description": "Require parentheses around arrow function arguments" },
"arrow-spacing": { "$ref": "#/definitions/rule", "description": "Enforce consistent spacing before and after the arrow in arrow functions" },
"constructor-super": { "$ref": "#/definitions/rule", "description": "Require super() calls in constructors" },
"generator-star-spacing": { "$ref": "#/definitions/rule", "description": "Enforce consistent spacing around * operators in generator functions" },
"no-class-assign": { "$ref": "#/definitions/rule", "description": "Disallow reassigning class members" },
"no-confusing-arrow": { "$ref": "#/definitions/rule", "description": "Disallow arrow functions where they could be confused with comparisons" },
"no-const-assign": { "$ref": "#/definitions/rule", "description": "Disallow reassigning const variables" },
"no-dupe-class-members": { "$ref": "#/definitions/rule", "description": "Disallow duplicate class members" },
"no-duplicate-imports": { "$ref": "#/definitions/rule", "description": "Disallow duplicate module imports" },
"no-new-symbol": { "$ref": "#/definitions/rule", "description": "Disallow new operators with the Symbol object" },
"no-restricted-imports": { "$ref": "#/definitions/rule", "description": "Disallow specified modules when loaded by import" },
"no-this-before-super": { "$ref": "#/definitions/rule", "description": "Disallow this/super before calling super() in constructors" },
"no-useless-computed-key": { "$ref": "#/definitions/rule", "description": "Disallow unnecessary computed property keys in object literals" },
"no-useless-constructor": { "$ref": "#/definitions/rule", "description": "Disallow unnecessary constructors" },
"no-useless-rename": { "$ref": "#/definitions/rule", "description": "Disallow renaming import, export, and destructured assignments to the same name" },
"no-var": { "$ref": "#/definitions/rule", "description": "Require let or const instead of var" },
"object-shorthand": { "$ref": "#/definitions/rule", "description": "Require or disallow method and property shorthand syntax for object literals" },
"prefer-arrow-callback": { "$ref": "#/definitions/rule", "description": "Require arrow functions as callbacks" },
"prefer-const": { "$ref": "#/definitions/rule", "description": "Require const declarations for variables that are never reassigned after declared" },
"prefer-destructuring": { "$ref": "#/definitions/rule", "description": "Require destructuring from arrays and/or objects" },
"prefer-numeric-literals": { "$ref": "#/definitions/rule", "description": "Disallow parseInt() in favor of binary, octal, and hexadecimal literals" },
"prefer-reflect": { "$ref": "#/definitions/rule", "description": "Require Reflect methods where applicable" },
"prefer-rest-params": { "$ref": "#/definitions/rule", "description": "Require rest parameters instead of arguments" },
"prefer-spread": { "$ref": "#/definitions/rule", "description": "Require spread operators instead of .apply()" },
"prefer-template": { "$ref": "#/definitions/rule", "description": "Require template literals instead of string concatenation" },
"require-yield": { "$ref": "#/definitions/rule", "description": "Require generator functions to contain yield" },
"rest-spread-spacing": { "$ref": "#/definitions/rule", "description": "Enforce spacing between rest and spread operators and their expressions" },
"sort-imports": { "$ref": "#/definitions/rule", "description": "Enforce sorted import declarations within modules" },
"symbol-description": { "$ref": "#/definitions/rule", "description": "Require symbol descriptions" },
"template-curly-spacing": { "$ref": "#/definitions/rule", "description": "Require or disallow spacing around embedded expressions of template strings" },
"yield-star-spacing": { "$ref": "#/definitions/rule", "description": "Require or disallow spacing around the * in yield* expressions" }
}
},
"legacy": {
"properties": {
"max-depth": { "$ref": "#/definitions/rule" },
"max-len": { "$ref": "#/definitions/rule" },
"max-params": { "$ref": "#/definitions/rule" },
"max-statements": { "$ref": "#/definitions/rule" },
"no-bitwise": { "$ref": "#/definitions/rule" },
"no-plusplus": { "$ref": "#/definitions/rule" }
}
}
},
"properties": {
"ecmaFeatures": {
"description": "By default, ESLint supports only ECMAScript 5 syntax. You can override that setting to enable support for ECMAScript 6 as well as JSX by using configuration settings.",
"type": "object",
"properties": {
"arrowFunctions": { "type": "boolean" },
"binaryLiterals": { "type": "boolean" },
"blockBindings": { "type": "boolean" },
"classes": { "type": "boolean" },
"defaultParams": { "type": "boolean" },
"destructuring": { "type": "boolean" },
"experimentalObjectRestSpread": { "type": "boolean",
"description": "Enables support for the experimental object rest/spread properties (IMPORTANT: This is an experimental feature that may change significantly in the future. It’s recommended that you do not write rules relying on this functionality unless you are willing to incur maintenance cost when it changes.)"},
"forOf": { "type": "boolean" },
"generators": { "type": "boolean" },
"globalReturn": { "type": "boolean", "description": "allow return statements in the global scope" },
"impliedStrict": { "type": "boolean", "description": "enable global strict mode (if ecmaVersion is 5 or greater)" },
"jsx": { "type": "boolean", "description": "enable JSX" },
"modules": { "type": "boolean" },
"objectLiteralComputedProperties": { "type": "boolean" },
"objectLiteralDuplicateProperties": { "type": "boolean" },
"objectLiteralShorthandMethods": { "type": "boolean" },
"objectLiteralShorthandProperties": { "type": "boolean" },
"octalLiterals": { "type": "boolean" },
"regexUFlag": { "type": "boolean" },
"regexYFlag": { "type": "boolean" },
"restParams": { "type": "boolean" },
"spread": { "type": "boolean" },
"superInFunctions": { "type": "boolean" },
"templateStrings": { "type": "boolean" },
"unicodeCodePointEscapes": { "type": "boolean" }
}
},
"env": {
"description": "An environment defines global variables that are predefined.",
"type": "object",
"properties": {
"amd": {
"type": "boolean",
"description": "defines require() and define() as global variables as per the amd spec"
},
"applescript": {
"type": "boolean",
"description": "AppleScript global variables"
},
"atomtest": {
"type": "boolean",
"description": "Atom test helper globals"
},
"browser": {
"type": "boolean",
"description": "browser global variables"
},
"commonjs": {
"type": "boolean",
"description": "CommonJS global variables and CommonJS scoping (use this for browser-only code that uses Browserify/WebPack)"
},
"shared-node-browser": {
"type": "boolean",
"description": "Globals common to both Node and Browser"
},
"embertest": {
"type": "boolean",
"description": "Ember test helper globals"
},
"es6": {
"type": "boolean",
"description": "enable all ECMAScript 6 features except for modules"
},
"greasemonkey": {
"type": "boolean",
"description": "GreaseMonkey globals"
},
"jasmine": {
"type": "boolean",
"description": "adds all of the Jasmine testing global variables for version 1.3 and 2.0"
},
"jest": {
"type": "boolean",
"description": "Jest global variables"
},
"jquery": {
"type": "boolean",
"description": "jQuery global variables"
},
"meteor": {
"type": "boolean",
"description": "Meteor global variables"
},
"mocha": {
"type": "boolean",
"description": "adds all of the Mocha test global variables"
},
"mongo": {
"type": "boolean",
"description": "MongoDB global variables"
},
"nashorn": {
"type": "boolean",
"description": "Java 8 Nashorn global variables"
},
"node": {
"type": "boolean",
"description": "Node.js global variables and Node.js scoping"
},
"phantomjs": {
"type": "boolean",
"description": "PhantomJS global variables"
},
"prototypejs": {
"type": "boolean",
"description": "Prototype.js global variables"
},
"protractor": {
"type": "boolean",
"description": "Protractor global variables"
},
"qunit": {
"type": "boolean",
"description": "QUnit global variables"
},
"serviceworker": {
"type": "boolean",
"description": "Service Worker global variables"
},
"shelljs": {
"type": "boolean",
"description": "ShellJS global variables"
},
"webextensions": {
"type": "boolean",
"description": "WebExtensions globals"
},
"worker": {
"type": "boolean",
"description": "web workers global variables"
}
}
},
"extends": {
"description": "If you want to extend a specific configuration file, you can use the extends property and specify the path to the file. The path can be either relative or absolute.",
"type": [ "string", "array" ],
"items": {
"type": "string"
}
},
"globals": {
"description": "Set each global variable name equal to true to allow the variable to be overwritten or false to disallow overwriting.",
"type": "object",
"additionalProperties": {
"oneOf": [
{
"type": "string",
"enum": [
"readonly", "writable", "off"
]
},
{
"description": "The values false|\"readable\" and true|\"writeable\" are deprecated, they are equivalent to \"readonly\" and \"writable\", respectively.",
"type": "boolean"
}
]
}
},
"noInlineConfig": {
"description": "Prevent comments from changing config or rules",
"type": "boolean"
},
"parser": {
"type": "string"
},
"parserOptions": {
"description": "The JavaScript language options to be supported",
"type": "object",
"properties": {
"ecmaFeatures": {
"$ref": "#/properties/ecmaFeatures"
},
"ecmaVersion": {
"enum": [ 3, 5, 6, 2015, 7, 2016, 8, 2017, 9, 2018, 10, 2019, 11, 2020, 12, 2021, 13, 2022, "latest" ],
"default": 11,
"description": "Set to 3, 5, 6, 7, 8, 9, 10, 11 (default), 12, 13 or \"latest\" to specify the version of ECMAScript syntax you want to use. You can also set to 2015 (same as 6), 2016 (same as 7), 2017 (same as 8), 2018 (same as 9), 2019 (same as 10), 2020 (same as 11) or 2021 (same as 12) or 2022 (same as 13) to use the year-based naming. \"latest\" always enables the latest supported ECMAScript version."
},
"sourceType": {
"enum": [ "script", "module" ],
"default": "script",
"description": "set to \"script\" (default) or \"module\" if your code is in ECMAScript modules"
}
}
},
"plugins": {
"description": "ESLint supports the use of third-party plugins. Before using the plugin, you have to install it using npm.",
"type": "array",
"items": {
"type": "string"
}
},
"root": {
"description": "By default, ESLint will look for configuration files in all parent folders up to the root directory. This can be useful if you want all of your projects to follow a certain convention, but can sometimes lead to unexpected results. To limit ESLint to a specific project, set this to `true` in a configuration in the root of your project.",
"type": "boolean"
},
"ignorePatterns": {
"description": "Tell ESLint to ignore specific files and directories. Each value uses the same pattern as the `.eslintignore` file.",
"type": [ "string", "array" ],
"items": {
"type": "string"
}
},
"rules": {
"description": "ESLint comes with a large number of rules. You can modify which rules your project uses either using configuration comments or configuration files.",
"type": "object",
"allOf": [
{ "$ref": "#/definitions/possibleErrors" },
{ "$ref": "#/definitions/bestPractices" },
{ "$ref": "#/definitions/strictMode" },
{ "$ref": "#/definitions/variables" },
{ "$ref": "#/definitions/nodeAndCommonJs" },
{ "$ref": "#/definitions/stylisticIssues" },
{ "$ref": "#/definitions/ecmaScript6" },
{ "$ref": "#/definitions/legacy" }
]
},
"settings": {
"description": "ESLint supports adding shared settings into configuration file. You can add settings object to ESLint configuration file and it will be supplied to every rule that will be executed. This may be useful if you are adding custom rules and want them to have access to the same information and be easily configurable.",
"type": "object"
},
"overrides": {
"type": "array",
"description": "Allows to override configuration for files and folders, specified by glob patterns",
"items": {
"type": "object",
"properties": {
"files": {
"description": "Glob pattern for files to apply 'overrides' configuration, relative to the directory of the config file",
"oneOf": [
{
"type": "string"
},
{
"minItems": 1,
"type": "array",
"items": {
"type": "string"
}
}
]
},
"extends": {
"description": "If you want to extend a specific configuration file, you can use the extends property and specify the path to the file. The path can be either relative or absolute.",
"type": [ "string", "array" ],
"items": {
"type": "string"
}
},
"excludedFiles": {
"description": "If a file matches any of the 'excludedFiles' glob patterns, the 'overrides' configuration won’t apply",
"oneOf": [
{
"type": "string"
},
{
"type": "array",
"items": {
"type": "string"
}
}
]
},
"ecmaFeatures": {
"$ref": "#/properties/ecmaFeatures"
},
"env": {
"$ref": "#/properties/env"
},
"globals": {
"$ref": "#/properties/globals"
},
"parser": {
"$ref": "#/properties/parser"
},
"parserOptions": {
"$ref": "#/properties/parserOptions"
},
"plugins": {
"$ref": "#/properties/plugins"
},
"processor": {
"description": "To specify a processor, specify the plugin name and processor name joined by a forward slash",
"type": "string"
},
"rules": {
"$ref": "#/properties/rules"
},
"settings": {
"$ref": "#/properties/settings"
}
},
"additionalProperties": false,
"required": [
"files"
]
}
}
}
}
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "JSON schema for NPM package.json files",
"definitions": {
"person": {
"description": "A person who has been involved in creating or maintaining this package.",
"type": [
"object",
"string"
],
"required": [
"name"
],
"properties": {
"name": {
"type": "string"
},
"url": {
"type": "string",
"format": "uri"
},
"email": {
"type": "string",
"format": "email"
}
}
},
"dependency": {
"description": "Dependencies are specified with a simple hash of package name to version range. The version range is a string which has one or more space-separated descriptors. Dependencies can also be identified with a tarball or git URL.",
"type": "object",
"additionalProperties": {
"type": "string"
}
},
"scriptsInstallAfter": {
"description": "Run AFTER the package is installed.",
"type": "string"
},
"scriptsPublishAfter": {
"description": "Run AFTER the package is published.",
"type": "string"
},
"scriptsRestart": {
"description": "Run by the 'npm restart' command. Note: 'npm restart' will run the stop and start scripts if no restart script is provided.",
"type": "string"
},
"scriptsStart": {
"description": "Run by the 'npm start' command.",
"type": "string"
},
"scriptsStop": {
"description": "Run by the 'npm stop' command.",
"type": "string"
},
"scriptsTest": {
"description": "Run by the 'npm test' command.",
"type": "string"
},
"scriptsUninstallBefore": {
"description": "Run BEFORE the package is uninstalled.",
"type": "string"
},
"scriptsVersionBefore": {
"description": "Run BEFORE bump the package version.",
"type": "string"
},
"packageExportsEntryPath": {
"type": [
"string",
"null"
],
"description": "The module path that is resolved when this specifier is imported. Set to `null` to disallow importing this module.",
"pattern": "^\\./"
},
"packageExportsEntryObject": {
"type": "object",
"description": "Used to specify conditional exports, note that Conditional exports are unsupported in older environments, so it's recommended to use the fallback array option if support for those environments is a concern.",
"properties": {
"require": {
"$ref": "#/definitions/packageExportsEntryOrFallback",
"description": "The module path that is resolved when this specifier is imported as a CommonJS module using the `require(...)` function."
},
"import": {
"$ref": "#/definitions/packageExportsEntryOrFallback",
"description": "The module path that is resolved when this specifier is imported as an ECMAScript module using an `import` declaration or the dynamic `import(...)` function."
},
"node": {
"$ref": "#/definitions/packageExportsEntryOrFallback",
"description": "The module path that is resolved when this environment is Node.js."
},
"default": {
"$ref": "#/definitions/packageExportsEntryOrFallback",
"description": "The module path that is resolved when no other export type matches."
}
},
"patternProperties": {
"^(?![\\.0-9]).": {
"$ref": "#/definitions/packageExportsEntryOrFallback",
"description": "The module path that is resolved when this environment matches the property name."
}
},
"additionalProperties": false
},
"packageExportsEntry": {
"oneOf": [
{
"$ref": "#/definitions/packageExportsEntryPath"
},
{
"$ref": "#/definitions/packageExportsEntryObject"
}
]
},
"packageExportsFallback": {
"type": "array",
"description": "Used to allow fallbacks in case this environment doesn't support the preceding entries.",
"items": {
"$ref": "#/definitions/packageExportsEntry"
}
},
"packageExportsEntryOrFallback": {
"oneOf": [
{
"$ref": "#/definitions/packageExportsEntry"
},
{
"$ref": "#/definitions/packageExportsFallback"
}
]
}
},
"type": "object",
"patternProperties": {
"^_": {
"description": "Any property starting with _ is valid.",
"tsType": "any"
}
},
"properties": {
"name": {
"description": "The name of the package.",
"type": "string",
"maxLength": 214,
"minLength": 1,
"pattern": "^(?:@[a-z0-9-*~][a-z0-9-*._~]*/)?[a-z0-9-~][a-z0-9-._~]*$"
},
"version": {
"description": "Version must be parseable by node-semver, which is bundled with npm as a dependency.",
"type": "string"
},
"description": {
"description": "This helps people discover your package, as it's listed in 'npm search'.",
"type": "string"
},
"keywords": {
"description": "This helps people discover your package as it's listed in 'npm search'.",
"type": "array",
"items": {
"type": "string"
}
},
"homepage": {
"description": "The url to the project homepage.",
"type": "string"
},
"bugs": {
"description": "The url to your project's issue tracker and / or the email address to which issues should be reported. These are helpful for people who encounter issues with your package.",
"type": [
"object",
"string"
],
"properties": {
"url": {
"type": "string",
"description": "The url to your project's issue tracker.",
"format": "uri"
},
"email": {
"type": "string",
"description": "The email address to which issues should be reported.",
"format": "email"
}
}
},
"license": {
"type": "string",
"description": "You should specify a license for your package so that people know how they are permitted to use it, and any restrictions you're placing on it."
},
"licenses": {
"description": "DEPRECATED: Instead, use SPDX expressions, like this: { \"license\": \"ISC\" } or { \"license\": \"(MIT OR Apache-2.0)\" } see: 'https://docs.npmjs.com/files/package.json#license'.",
"type": "array",
"items": {
"type": "object",
"properties": {
"type": {
"type": "string"
},
"url": {
"type": "string",
"format": "uri"
}
}
}
},
"author": {
"$ref": "#/definitions/person"
},
"contributors": {
"description": "A list of people who contributed to this package.",
"type": "array",
"items": {
"$ref": "#/definitions/person"
}
},
"maintainers": {
"description": "A list of people who maintains this package.",
"type": "array",
"items": {
"$ref": "#/definitions/person"
}
},
"files": {
"description": "The 'files' field is an array of files to include in your project. If you name a folder in the array, then it will also include the files inside that folder.",
"type": "array",
"items": {
"type": "string"
}
},
"main": {
"description": "The main field is a module ID that is the primary entry point to your program.",
"type": "string"
},
"exports": {
"description": "The \"exports\" field is used to restrict external access to non-exported module files, also enables a module to import itself using \"name\".",
"oneOf": [
{
"$ref": "#/definitions/packageExportsEntryPath",
"description": "The module path that is resolved when the module specifier matches \"name\", shadows the \"main\" field."
},
{
"type": "object",
"properties": {
".": {
"$ref": "#/definitions/packageExportsEntryOrFallback",
"description": "The module path that is resolved when the module specifier matches \"name\", shadows the \"main\" field."
}
},
"patternProperties": {
"^\\./.+": {
"$ref": "#/definitions/packageExportsEntryOrFallback",
"description": "The module path prefix that is resolved when the module specifier starts with \"name/\", set to \"./*\" to allow external modules to import any subpath."
}
},
"additionalProperties": false
},
{
"$ref": "#/definitions/packageExportsEntryObject",
"description": "The module path that is resolved when the module specifier matches \"name\", shadows the \"main\" field."
},
{
"$ref": "#/definitions/packageExportsFallback",
"description": "The module path that is resolved when the module specifier matches \"name\", shadows the \"main\" field."
}
]
},
"bin": {
"type": [
"string",
"object"
],
"additionalProperties": {
"type": "string"
}
},
"type": {
"description": "When set to \"module\", the type field allows a package to specify all .js files within are ES modules. If the \"type\" field is omitted or set to \"commonjs\", all .js files are treated as CommonJS.",
"type": "string",
"enum": [
"commonjs",
"module"
],
"default": "commonjs"
},
"types": {
"description": "Set the types property to point to your bundled declaration file.",
"type": "string"
},
"typings": {
"description": "Note that the \"typings\" field is synonymous with \"types\", and could be used as well.",
"type": "string"
},
"typesVersions": {
"description": "The \"typesVersions\" field is used since TypeScript 3.1 to support features that were only made available in newer TypeScript versions.",
"type": "object",
"additionalProperties": {
"description": "Contains overrides for the TypeScript version that matches the version range matching the property key.",
"type": "object",
"properties": {
"*": {
"description": "Maps all file paths to the file paths specified in the array.",
"type": "array",
"items": {
"type": "string",
"pattern": "^[^*]*(?:\\*[^*]*)?$"
}
}
},
"patternProperties": {
"^[^*]+$": {
"description": "Maps the file path matching the property key to the file paths specified in the array.",
"type": "array",
"items": {
"type": "string"
}
},
"^[^*]*\\*[^*]*$": {
"description": "Maps file paths matching the pattern specified in property key to file paths specified in the array.",
"type": "array",
"items": {
"type": "string",
"pattern": "^[^*]*(?:\\*[^*]*)?$"
}
}
},
"additionalProperties": false
}
},
"man": {
"type": [
"array",
"string"
],
"description": "Specify either a single file or an array of filenames to put in place for the man program to find.",
"items": {
"type": "string"
}
},
"directories": {
"type": "object",
"properties": {
"bin": {
"description": "If you specify a 'bin' directory, then all the files in that folder will be used as the 'bin' hash.",
"type": "string"
},
"doc": {
"description": "Put markdown files in here. Eventually, these will be displayed nicely, maybe, someday.",
"type": "string"
},
"example": {
"description": "Put example scripts in here. Someday, it might be exposed in some clever way.",
"type": "string"
},
"lib": {
"description": "Tell people where the bulk of your library is. Nothing special is done with the lib folder in any way, but it's useful meta info.",
"type": "string"
},
"man": {
"description": "A folder that is full of man pages. Sugar to generate a 'man' array by walking the folder.",
"type": "string"
},
"test": {
"type": "string"
}
}
},
"repository": {
"description": "Specify the place where your code lives. This is helpful for people who want to contribute.",
"type": [
"object",
"string"
],
"properties": {
"type": {
"type": "string"
},
"url": {
"type": "string"
},
"directory": {
"type": "string"
}
}
},
"scripts": {
"description": "The 'scripts' member is an object hash of script commands that are run at various times in the lifecycle of your package. The key is the lifecycle event, and the value is the command to run at that point.",
"type": "object",
"properties": {
"lint": {
"type": "string",
"description": "Run code quality tools, e.g. ESLint, TSLint, etc."
},
"prepublish": {
"type": "string",
"description": "Run BEFORE the package is published (Also run on local npm install without any arguments)."
},
"prepare": {
"type": "string",
"description": "Run both BEFORE the package is packed and published, and on local npm install without any arguments. This is run AFTER prepublish, but BEFORE prepublishOnly."
},
"prepublishOnly": {
"type": "string",
"description": "Run BEFORE the package is prepared and packed, ONLY on npm publish."
},
"prepack": {
"type": "string",
"description": "run BEFORE a tarball is packed (on npm pack, npm publish, and when installing git dependencies)."
},
"postpack": {
"type": "string",
"description": "Run AFTER the tarball has been generated and moved to its final destination."
},
"publish": {
"type": "string",
"description": "Publishes a package to the registry so that it can be installed by name. See https://docs.npmjs.com/cli/v8/commands/npm-publish"
},
"postpublish": {
"$ref": "#/definitions/scriptsPublishAfter"
},
"preinstall": {
"type": "string",
"description": "Run BEFORE the package is installed."
},
"install": {
"$ref": "#/definitions/scriptsInstallAfter"
},
"postinstall": {
"$ref": "#/definitions/scriptsInstallAfter"
},
"preuninstall": {
"$ref": "#/definitions/scriptsUninstallBefore"
},
"uninstall": {
"$ref": "#/definitions/scriptsUninstallBefore"
},
"postuninstall": {
"type": "string",
"description": "Run AFTER the package is uninstalled."
},
"preversion": {
"$ref": "#/definitions/scriptsVersionBefore"
},
"version": {
"$ref": "#/definitions/scriptsVersionBefore"
},
"postversion": {
"type": "string",
"description": "Run AFTER bump the package version."
},
"pretest": {
"$ref": "#/definitions/scriptsTest"
},
"test": {
"$ref": "#/definitions/scriptsTest"
},
"posttest": {
"$ref": "#/definitions/scriptsTest"
},
"prestop": {
"$ref": "#/definitions/scriptsStop"
},
"stop": {
"$ref": "#/definitions/scriptsStop"
},
"poststop": {
"$ref": "#/definitions/scriptsStop"
},
"prestart": {
"$ref": "#/definitions/scriptsStart"
},
"start": {
"$ref": "#/definitions/scriptsStart"
},
"poststart": {
"$ref": "#/definitions/scriptsStart"
},
"prerestart": {
"$ref": "#/definitions/scriptsRestart"
},
"restart": {
"$ref": "#/definitions/scriptsRestart"
},
"postrestart": {
"$ref": "#/definitions/scriptsRestart"
},
"serve": {
"type": "string",
"description": "Start dev server to serve application files"
}
},
"additionalProperties": {
"type": "string",
"tsType": "string | undefined"
}
},
"config": {
"description": "A 'config' hash can be used to set configuration parameters used in package scripts that persist across upgrades.",
"type": "object",
"additionalProperties": true
},
"dependencies": {
"$ref": "#/definitions/dependency"
},
"devDependencies": {
"$ref": "#/definitions/dependency"
},
"optionalDependencies": {
"$ref": "#/definitions/dependency"
},
"peerDependencies": {
"$ref": "#/definitions/dependency"
},
"peerDependenciesMeta": {
"description": "When a user installs your package, warnings are emitted if packages specified in \"peerDependencies\" are not already installed. The \"peerDependenciesMeta\" field serves to provide more information on how your peer dependencies are utilized. Most commonly, it allows peer dependencies to be marked as optional. Metadata for this field is specified with a simple hash of the package name to a metadata object.",
"type": "object",
"additionalProperties": {
"type": "object",
"additionalProperties": true,
"properties": {
"optional": {
"description": "Specifies that this peer dependency is optional and should not be installed automatically.",
"type": "boolean"
}
}
}
},
"bundledDependencies": {
"description": "Array of package names that will be bundled when publishing the package.",
"oneOf": [
{
"type": "array",
"items": {
"type": "string"
}
},
{
"type": "boolean"
}
]
},
"bundleDependencies": {
"description": "DEPRECATED: This field is honored, but \"bundledDependencies\" is the correct field name.",
"oneOf": [
{
"type": "array",
"items": {
"type": "string"
}
},
{
"type": "boolean"
}
]
},
"resolutions": {
"description": "Resolutions is used to support selective version resolutions, which lets you define custom package versions or ranges inside your dependencies. See: https://classic.yarnpkg.com/en/docs/selective-version-resolutions",
"type": "object"
},
"packageManager": {
"description": "Defines which package manager is expected to be used when working on the current project. This field is currently experimental and needs to be opted-in; see https://nodejs.org/api/corepack.html",
"type": "string",
"pattern": "(npm|pnpm|yarn)@\\d+\\.\\d+\\.\\d+(-.+)?"
},
"engines": {
"type": "object",
"properties": {
"node": {
"type": "string"
}
},
"additionalProperties": {
"type": "string"
}
},
"engineStrict": {
"type": "boolean"
},
"os": {
"description": "Specify which operating systems your module will run on.",
"type": "array",
"items": {
"type": "string"
}
},
"cpu": {
"description": "Specify that your code only runs on certain cpu architectures.",
"type": "array",
"items": {
"type": "string"
}
},
"preferGlobal": {
"type": "boolean",
"description": "DEPRECATED: This option used to trigger an npm warning, but it will no longer warn. It is purely there for informational purposes. It is now recommended that you install any binaries as local devDependencies wherever possible."
},
"private": {
"description": "If set to true, then npm will refuse to publish it.",
"oneOf": [
{
"type": "boolean"
},
{
"enum": [
"false",
"true"
]
}
]
},
"publishConfig": {
"type": "object",
"properties": {
"access": {
"type": "string",
"enum": [
"public",
"restricted"
]
},
"tag": {
"type": "string"
},
"registry": {
"type": "string",
"format": "uri"
}
},
"additionalProperties": true
},
"dist": {
"type": "object",
"properties": {
"shasum": {
"type": "string"
},
"tarball": {
"type": "string"
}
}
},
"readme": {
"type": "string"
},
"module": {
"description": "An ECMAScript module ID that is the primary entry point to your program.",
"type": "string"
},
"esnext": {
"description": "A module ID with untranspiled code that is the primary entry point to your program.",
"type": [
"string",
"object"
],
"properties": {
"main": {
"type": "string"
},
"browser": {
"type": "string"
}
},
"additionalProperties": {
"type": "string"
}
},
"workspaces": {
"description": "Allows packages within a directory to depend on one another using direct linking of local files. Additionally, dependencies within a workspace are hoisted to the workspace root when possible to reduce duplication. Note: It's also a good idea to set \"private\" to true when using this feature.",
"anyOf": [
{
"type": "array",
"description": "Workspace package paths. Glob patterns are supported.",
"items": {
"type": "string"
}
},
{
"type": "object",
"properties": {
"packages": {
"type": "array",
"description": "Workspace package paths. Glob patterns are supported.",
"items": {
"type": "string"
}
},
"nohoist": {
"type": "array",
"description": "Packages to block from hoisting to the workspace root. Currently only supported in Yarn only.",
"items": {
"type": "string"
}
}
}
}
]
},
"jspm": {
"$ref": "#"
}
},
"anyOf": [
{
"type": "object",
"not": {
"required": [
"bundledDependencies",
"bundleDependencies"
]
}
},
{
"type": "object",
"not": {
"required": [
"bundleDependencies"
]
},
"required": [
"bundledDependencies"
]
},
{
"type": "object",
"not": {
"required": [
"bundledDependencies"
]
},
"required": [
"bundleDependencies"
]
}
]
}
This file has been truncated, but you can view the full file.
{
"$ref": "#/definitions/TopLevelSpec",
"$schema": "http://json-schema.org/draft-07/schema#",
"definitions": {
"Aggregate": {
"anyOf": [
{
"$ref": "#/definitions/NonArgAggregateOp"
},
{
"$ref": "#/definitions/ArgmaxDef"
},
{
"$ref": "#/definitions/ArgminDef"
}
]
},
"AggregateOp": {
"enum": [
"argmax",
"argmin",
"average",
"count",
"distinct",
"max",
"mean",
"median",
"min",
"missing",
"product",
"q1",
"q3",
"ci0",
"ci1",
"stderr",
"stdev",
"stdevp",
"sum",
"valid",
"values",
"variance",
"variancep"
],
"type": "string"
},
"AggregateTransform": {
"additionalProperties": false,
"properties": {
"aggregate": {
"description": "Array of objects that define fields to aggregate.",
"items": {
"$ref": "#/definitions/AggregatedFieldDef"
},
"type": "array"
},
"groupby": {
"description": "The data fields to group by. If not specified, a single group containing all data objects will be used.",
"items": {
"$ref": "#/definitions/FieldName"
},
"type": "array"
}
},
"required": [
"aggregate"
],
"type": "object"
},
"AggregatedFieldDef": {
"additionalProperties": false,
"properties": {
"as": {
"$ref": "#/definitions/FieldName",
"description": "The output field names to use for each aggregated field."
},
"field": {
"$ref": "#/definitions/FieldName",
"description": "The data field for which to compute aggregate function. This is required for all aggregation operations except `\"count\"`."
},
"op": {
"$ref": "#/definitions/AggregateOp",
"description": "The aggregation operation to apply to the fields (e.g., `\"sum\"`, `\"average\"`, or `\"count\"`). See the [full list of supported aggregation operations](https://vega.github.io/vega-lite/docs/aggregate.html#ops) for more information."
}
},
"required": [
"op",
"as"
],
"type": "object"
},
"Align": {
"enum": [
"left",
"center",
"right"
],
"type": "string"
},
"AllSortString": {
"anyOf": [
{
"$ref": "#/definitions/SortOrder"
},
{
"$ref": "#/definitions/SortByChannel"
},
{
"$ref": "#/definitions/SortByChannelDesc"
}
]
},
"AnyMark": {
"anyOf": [
{
"$ref": "#/definitions/CompositeMark"
},
{
"$ref": "#/definitions/CompositeMarkDef"
},
{
"$ref": "#/definitions/Mark"
},
{
"$ref": "#/definitions/MarkDef"
}
]
},
"AnyMarkConfig": {
"anyOf": [
{
"$ref": "#/definitions/MarkConfig"
},
{
"$ref": "#/definitions/AreaConfig"
},
{
"$ref": "#/definitions/BarConfig"
},
{
"$ref": "#/definitions/RectConfig"
},
{
"$ref": "#/definitions/LineConfig"
},
{
"$ref": "#/definitions/TickConfig"
}
]
},
"AreaConfig": {
"additionalProperties": false,
"properties": {
"align": {
"anyOf": [
{
"$ref": "#/definitions/Align"
},
{
"$ref": "#/definitions/ExprRef"
}
],
"description": "The horizontal alignment of the text or ranged marks (area, bar, image, rect, rule). One of `\"left\"`, `\"right\"`, `\"center\"`.\n\n__Note:__ Expression reference is *not* supported for range marks."
},
"angle": {
"anyOf": [
{
"description": "The rotation angle of the text, in degrees.",
"maximum": 360,
"minimum": 0,
"type": "number"
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"aria": {
"anyOf": [
{
"description": "A boolean flag indicating if [ARIA attributes](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA) should be included (SVG output only). If `false`, the \"aria-hidden\" attribute will be set on the output SVG element, removing the mark item from the ARIA accessibility tree.",
"type": "boolean"
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"ariaRole": {
"anyOf": [
{
"description": "Sets the type of user interface element of the mark item for [ARIA accessibility](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA) (SVG output only). If specified, this property determines the \"role\" attribute. Warning: this property is experimental and may be changed in the future.",
"type": "string"
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"ariaRoleDescription": {
"anyOf": [
{
"description": "A human-readable, author-localized description for the role of the mark item for [ARIA accessibility](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA) (SVG output only). If specified, this property determines the \"aria-roledescription\" attribute. Warning: this property is experimental and may be changed in the future.",
"type": "string"
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"aspect": {
"anyOf": [
{
"description": "Whether to keep aspect ratio of image marks.",
"type": "boolean"
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"baseline": {
"anyOf": [
{
"$ref": "#/definitions/TextBaseline"
},
{
"$ref": "#/definitions/ExprRef"
}
],
"description": "For text marks, the vertical text baseline. One of `\"alphabetic\"` (default), `\"top\"`, `\"middle\"`, `\"bottom\"`, `\"line-top\"`, `\"line-bottom\"`, or an expression reference that provides one of the valid values. The `\"line-top\"` and `\"line-bottom\"` values operate similarly to `\"top\"` and `\"bottom\"`, but are calculated relative to the `lineHeight` rather than `fontSize` alone.\n\nFor range marks, the vertical alignment of the marks. One of `\"top\"`, `\"middle\"`, `\"bottom\"`.\n\n__Note:__ Expression reference is *not* supported for range marks."
},
"blend": {
"anyOf": [
{
"$ref": "#/definitions/Blend",
"description": "The color blend mode for drawing an item on its current background. Any valid [CSS mix-blend-mode](https://developer.mozilla.org/en-US/docs/Web/CSS/mix-blend-mode) value can be used.\n\n__Default value: `\"source-over\"`"
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"color": {
"anyOf": [
{
"$ref": "#/definitions/Color"
},
{
"$ref": "#/definitions/Gradient"
},
{
"$ref": "#/definitions/ExprRef"
}
],
"description": "Default color.\n\n__Default value:__ <span style=\"color: #4682b4;\">&#9632;</span> `\"#4682b4\"`\n\n__Note:__\n- This property cannot be used in a [style config](https://vega.github.io/vega-lite/docs/mark.html#style-config).\n- The `fill` and `stroke` properties have higher precedence than `color` and will override `color`."
},
"cornerRadius": {
"anyOf": [
{
"description": "The radius in pixels of rounded rectangles or arcs' corners.\n\n__Default value:__ `0`",
"type": "number"
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"cornerRadiusBottomLeft": {
"anyOf": [
{
"description": "The radius in pixels of rounded rectangles' bottom left corner.\n\n__Default value:__ `0`",
"type": "number"
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"cornerRadiusBottomRight": {
"anyOf": [
{
"description": "The radius in pixels of rounded rectangles' bottom right corner.\n\n__Default value:__ `0`",
"type": "number"
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"cornerRadiusTopLeft": {
"anyOf": [
{
"description": "The radius in pixels of rounded rectangles' top right corner.\n\n__Default value:__ `0`",
"type": "number"
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"cornerRadiusTopRight": {
"anyOf": [
{
"description": "The radius in pixels of rounded rectangles' top left corner.\n\n__Default value:__ `0`",
"type": "number"
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"cursor": {
"anyOf": [
{
"$ref": "#/definitions/Cursor",
"description": "The mouse cursor used over the mark. Any valid [CSS cursor type](https://developer.mozilla.org/en-US/docs/Web/CSS/cursor#Values) can be used."
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"description": {
"anyOf": [
{
"description": "A text description of the mark item for [ARIA accessibility](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA) (SVG output only). If specified, this property determines the [\"aria-label\" attribute](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/ARIA_Techniques/Using_the_aria-label_attribute).",
"type": "string"
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"dir": {
"anyOf": [
{
"$ref": "#/definitions/TextDirection",
"description": "The direction of the text. One of `\"ltr\"` (left-to-right) or `\"rtl\"` (right-to-left). This property determines on which side is truncated in response to the limit parameter.\n\n__Default value:__ `\"ltr\"`"
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"dx": {
"anyOf": [
{
"description": "The horizontal offset, in pixels, between the text label and its anchor point. The offset is applied after rotation by the _angle_ property.",
"type": "number"
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"dy": {
"anyOf": [
{
"description": "The vertical offset, in pixels, between the text label and its anchor point. The offset is applied after rotation by the _angle_ property.",
"type": "number"
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"ellipsis": {
"anyOf": [
{
"description": "The ellipsis string for text truncated in response to the limit parameter.\n\n__Default value:__ `\"…\"`",
"type": "string"
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"endAngle": {
"anyOf": [
{
"description": "The end angle in radians for arc marks. A value of `0` indicates up (north), increasing values proceed clockwise.",
"type": "number"
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"fill": {
"anyOf": [
{
"$ref": "#/definitions/Color"
},
{
"$ref": "#/definitions/Gradient"
},
{
"type": "null"
},
{
"$ref": "#/definitions/ExprRef"
}
],
"description": "Default fill color. This property has higher precedence than `config.color`. Set to `null` to remove fill.\n\n__Default value:__ (None)"
},
"fillOpacity": {
"anyOf": [
{
"description": "The fill opacity (value between [0,1]).\n\n__Default value:__ `1`",
"maximum": 1,
"minimum": 0,
"type": "number"
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"filled": {
"description": "Whether the mark's color should be used as fill color instead of stroke color.\n\n__Default value:__ `false` for all `point`, `line`, and `rule` marks as well as `geoshape` marks for [`graticule`](https://vega.github.io/vega-lite/docs/data.html#graticule) data sources; otherwise, `true`.\n\n__Note:__ This property cannot be used in a [style config](https://vega.github.io/vega-lite/docs/mark.html#style-config).",
"type": "boolean"
},
"font": {
"anyOf": [
{
"description": "The typeface to set the text in (e.g., `\"Helvetica Neue\"`).",
"type": "string"
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"fontSize": {
"anyOf": [
{
"description": "The font size, in pixels.\n\n__Default value:__ `11`",
"minimum": 0,
"type": "number"
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"fontStyle": {
"anyOf": [
{
"$ref": "#/definitions/FontStyle",
"description": "The font style (e.g., `\"italic\"`)."
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"fontWeight": {
"anyOf": [
{
"$ref": "#/definitions/FontWeight",
"description": "The font weight. This can be either a string (e.g `\"bold\"`, `\"normal\"`) or a number (`100`, `200`, `300`, ..., `900` where `\"normal\"` = `400` and `\"bold\"` = `700`)."
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"height": {
"anyOf": [
{
"description": "Height of the marks.",
"type": "number"
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"href": {
"anyOf": [
{
"$ref": "#/definitions/URI",
"description": "A URL to load upon mouse click. If defined, the mark acts as a hyperlink."
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"innerRadius": {
"anyOf": [
{
"type": "number"
},
{
"$ref": "#/definitions/ExprRef"
}
],
"description": "The inner radius in pixels of arc marks. `innerRadius` is an alias for `radius2`.\n\n__Default value:__ `0`",
"minimum": 0
},
"interpolate": {
"anyOf": [
{
"$ref": "#/definitions/Interpolate",
"description": "The line interpolation method to use for line and area marks. One of the following:\n- `\"linear\"`: piecewise linear segments, as in a polyline.\n- `\"linear-closed\"`: close the linear segments to form a polygon.\n- `\"step\"`: alternate between horizontal and vertical segments, as in a step function.\n- `\"step-before\"`: alternate between vertical and horizontal segments, as in a step function.\n- `\"step-after\"`: alternate between horizontal and vertical segments, as in a step function.\n- `\"basis\"`: a B-spline, with control point duplication on the ends.\n- `\"basis-open\"`: an open B-spline; may not intersect the start or end.\n- `\"basis-closed\"`: a closed B-spline, as in a loop.\n- `\"cardinal\"`: a Cardinal spline, with control point duplication on the ends.\n- `\"cardinal-open\"`: an open Cardinal spline; may not intersect the start or end, but will intersect other control points.\n- `\"cardinal-closed\"`: a closed Cardinal spline, as in a loop.\n- `\"bundle\"`: equivalent to basis, except the tension parameter is used to straighten the spline.\n- `\"monotone\"`: cubic interpolation that preserves monotonicity in y."
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"invalid": {
"description": "Defines how Vega-Lite should handle marks for invalid values (`null` and `NaN`).\n- If set to `\"filter\"` (default), all data items with null values will be skipped (for line, trail, and area marks) or filtered (for other marks).\n- If `null`, all data items are included. In this case, invalid values will be interpreted as zeroes.",
"enum": [
"filter",
null
],
"type": [
"string",
"null"
]
},
"limit": {
"anyOf": [
{
"description": "The maximum length of the text mark in pixels. The text value will be automatically truncated if the rendered size exceeds the limit.\n\n__Default value:__ `0` -- indicating no limit",
"type": "number"
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"line": {
"anyOf": [
{
"type": "boolean"
},
{
"$ref": "#/definitions/OverlayMarkDef"
}
],
"description": "A flag for overlaying line on top of area marks, or an object defining the properties of the overlayed lines.\n\n- If this value is an empty object (`{}`) or `true`, lines with default properties will be used.\n\n- If this value is `false`, no lines would be automatically added to area marks.\n\n__Default value:__ `false`."
},
"lineBreak": {
"anyOf": [
{
"description": "A delimiter, such as a newline character, upon which to break text strings into multiple lines. This property is ignored if the text is array-valued.",
"type": "string"
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"lineHeight": {
"anyOf": [
{
"description": "The line height in pixels (the spacing between subsequent lines of text) for multi-line text marks.",
"type": "number"
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"opacity": {
"anyOf": [
{
"type": "number"
},
{
"$ref": "#/definitions/ExprRef"
}
],
"description": "The overall opacity (value between [0,1]).\n\n__Default value:__ `0.7` for non-aggregate plots with `point`, `tick`, `circle`, or `square` marks or layered `bar` charts and `1` otherwise.",
"maximum": 1,
"minimum": 0
},
"order": {
"description": "For line and trail marks, this `order` property can be set to `null` or `false` to make the lines use the original order in the data sources.",
"type": [
"null",
"boolean"
]
},
"orient": {
"$ref": "#/definitions/Orientation",
"description": "The orientation of a non-stacked bar, tick, area, and line charts. The value is either horizontal (default) or vertical.\n- For bar, rule and tick, this determines whether the size of the bar and tick should be applied to x or y dimension.\n- For area, this property determines the orient property of the Vega output.\n- For line and trail marks, this property determines the sort order of the points in the line if `config.sortLineBy` is not specified. For stacked charts, this is always determined by the orientation of the stack; therefore explicitly specified value will be ignored."
},
"outerRadius": {
"anyOf": [
{
"type": "number"
},
{
"$ref": "#/definitions/ExprRef"
}
],
"description": "The outer radius in pixels of arc marks. `outerRadius` is an alias for `radius`.\n\n__Default value:__ `0`",
"minimum": 0
},
"padAngle": {
"anyOf": [
{
"description": "The angular padding applied to sides of the arc, in radians.",
"type": "number"
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"point": {
"anyOf": [
{
"type": "boolean"
},
{
"$ref": "#/definitions/OverlayMarkDef"
},
{
"const": "transparent",
"type": "string"
}
],
"description": "A flag for overlaying points on top of line or area marks, or an object defining the properties of the overlayed points.\n\n- If this property is `\"transparent\"`, transparent points will be used (for enhancing tooltips and selections).\n\n- If this property is an empty object (`{}`) or `true`, filled points with default properties will be used.\n\n- If this property is `false`, no points would be automatically added to line or area marks.\n\n__Default value:__ `false`."
},
"radius": {
"anyOf": [
{
"type": "number"
},
{
"$ref": "#/definitions/ExprRef"
}
],
"description": "For arc mark, the primary (outer) radius in pixels.\n\nFor text marks, polar coordinate radial offset, in pixels, of the text from the origin determined by the `x` and `y` properties.\n\n__Default value:__ `min(plot_width, plot_height)/2`",
"minimum": 0
},
"radius2": {
"anyOf": [
{
"type": "number"
},
{
"$ref": "#/definitions/ExprRef"
}
],
"description": "The secondary (inner) radius in pixels of arc marks.\n\n__Default value:__ `0`",
"minimum": 0
},
"shape": {
"anyOf": [
{
"anyOf": [
{
"$ref": "#/definitions/SymbolShape"
},
{
"type": "string"
}
],
"description": "Shape of the point marks. Supported values include:\n- plotting shapes: `\"circle\"`, `\"square\"`, `\"cross\"`, `\"diamond\"`, `\"triangle-up\"`, `\"triangle-down\"`, `\"triangle-right\"`, or `\"triangle-left\"`.\n- the line symbol `\"stroke\"`\n- centered directional shapes `\"arrow\"`, `\"wedge\"`, or `\"triangle\"`\n- a custom [SVG path string](https://developer.mozilla.org/en-US/docs/Web/SVG/Tutorial/Paths) (For correct sizing, custom shape paths should be defined within a square bounding box with coordinates ranging from -1 to 1 along both the x and y dimensions.)\n\n__Default value:__ `\"circle\"`"
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"size": {
"anyOf": [
{
"type": "number"
},
{
"$ref": "#/definitions/ExprRef"
}
],
"description": "Default size for marks.\n- For `point`/`circle`/`square`, this represents the pixel area of the marks. Note that this value sets the area of the symbol; the side lengths will increase with the square root of this value.\n- For `bar`, this represents the band size of the bar, in pixels.\n- For `text`, this represents the font size, in pixels.\n\n__Default value:__\n- `30` for point, circle, square marks; width/height's `step`\n- `2` for bar marks with discrete dimensions;\n- `5` for bar marks with continuous dimensions;\n- `11` for text marks.",
"minimum": 0
},
"smooth": {
"anyOf": [
{
"description": "A boolean flag (default true) indicating if the image should be smoothed when resized. If false, individual pixels should be scaled directly rather than interpolated with smoothing. For SVG rendering, this option may not work in some browsers due to lack of standardization.",
"type": "boolean"
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"startAngle": {
"anyOf": [
{
"description": "The start angle in radians for arc marks. A value of `0` indicates up (north), increasing values proceed clockwise.",
"type": "number"
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"stroke": {
"anyOf": [
{
"$ref": "#/definitions/Color"
},
{
"$ref": "#/definitions/Gradient"
},
{
"type": "null"
},
{
"$ref": "#/definitions/ExprRef"
}
],
"description": "Default stroke color. This property has higher precedence than `config.color`. Set to `null` to remove stroke.\n\n__Default value:__ (None)"
},
"strokeCap": {
"anyOf": [
{
"$ref": "#/definitions/StrokeCap",
"description": "The stroke cap for line ending style. One of `\"butt\"`, `\"round\"`, or `\"square\"`.\n\n__Default value:__ `\"butt\"`"
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"strokeDash": {
"anyOf": [
{
"description": "An array of alternating stroke, space lengths for creating dashed or dotted lines.",
"items": {
"type": "number"
},
"type": "array"
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"strokeDashOffset": {
"anyOf": [
{
"description": "The offset (in pixels) into which to begin drawing with the stroke dash array.",
"type": "number"
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"strokeJoin": {
"anyOf": [
{
"$ref": "#/definitions/StrokeJoin",
"description": "The stroke line join method. One of `\"miter\"`, `\"round\"` or `\"bevel\"`.\n\n__Default value:__ `\"miter\"`"
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"strokeMiterLimit": {
"anyOf": [
{
"description": "The miter limit at which to bevel a line join.",
"type": "number"
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"strokeOffset": {
"anyOf": [
{
"description": "The offset in pixels at which to draw the group stroke and fill. If unspecified, the default behavior is to dynamically offset stroked groups such that 1 pixel stroke widths align with the pixel grid.",
"type": "number"
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"strokeOpacity": {
"anyOf": [
{
"description": "The stroke opacity (value between [0,1]).\n\n__Default value:__ `1`",
"maximum": 1,
"minimum": 0,
"type": "number"
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"strokeWidth": {
"anyOf": [
{
"description": "The stroke width, in pixels.",
"minimum": 0,
"type": "number"
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"tension": {
"anyOf": [
{
"description": "Depending on the interpolation type, sets the tension parameter (for line and area marks).",
"type": "number"
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"text": {
"anyOf": [
{
"$ref": "#/definitions/Text",
"description": "Placeholder text if the `text` channel is not specified"
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"theta": {
"anyOf": [
{
"type": "number"
},
{
"$ref": "#/definitions/ExprRef"
}
],
"description": "- For arc marks, the arc length in radians if theta2 is not specified, otherwise the start arc angle. (A value of 0 indicates up or “north”, increasing values proceed clockwise.)\n\n- For text marks, polar coordinate angle in radians.",
"maximum": 360,
"minimum": 0
},
"theta2": {
"anyOf": [
{
"type": "number"
},
{
"$ref": "#/definitions/ExprRef"
}
],
"description": "The end angle of arc marks in radians. A value of 0 indicates up or “north”, increasing values proceed clockwise."
},
"timeUnitBandPosition": {
"description": "Default relative band position for a time unit. If set to `0`, the marks will be positioned at the beginning of the time unit band step. If set to `0.5`, the marks will be positioned in the middle of the time unit band step.",
"type": "number"
},
"timeUnitBandSize": {
"description": "Default relative band size for a time unit. If set to `1`, the bandwidth of the marks will be equal to the time unit band step. If set to `0.5`, bandwidth of the marks will be half of the time unit band step.",
"type": "number"
},
"tooltip": {
"anyOf": [
{
"type": "number"
},
{
"type": "string"
},
{
"type": "boolean"
},
{
"$ref": "#/definitions/TooltipContent"
},
{
"$ref": "#/definitions/ExprRef"
},
{
"type": "null"
}
],
"description": "The tooltip text string to show upon mouse hover or an object defining which fields should the tooltip be derived from.\n\n- If `tooltip` is `true` or `{\"content\": \"encoding\"}`, then all fields from `encoding` will be used.\n- If `tooltip` is `{\"content\": \"data\"}`, then all fields that appear in the highlighted data point will be used.\n- If set to `null` or `false`, then no tooltip will be used.\n\nSee the [`tooltip`](https://vega.github.io/vega-lite/docs/tooltip.html) documentation for a detailed discussion about tooltip in Vega-Lite.\n\n__Default value:__ `null`"
},
"url": {
"anyOf": [
{
"$ref": "#/definitions/URI",
"description": "The URL of the image file for image marks."
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"width": {
"anyOf": [
{
"description": "Width of the marks.",
"type": "number"
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"x": {
"anyOf": [
{
"type": "number"
},
{
"const": "width",
"type": "string"
},
{
"$ref": "#/definitions/ExprRef"
}
],
"description": "X coordinates of the marks, or width of horizontal `\"bar\"` and `\"area\"` without specified `x2` or `width`.\n\nThe `value` of this channel can be a number or a string `\"width\"` for the width of the plot."
},
"x2": {
"anyOf": [
{
"type": "number"
},
{
"const": "width",
"type": "string"
},
{
"$ref": "#/definitions/ExprRef"
}
],
"description": "X2 coordinates for ranged `\"area\"`, `\"bar\"`, `\"rect\"`, and `\"rule\"`.\n\nThe `value` of this channel can be a number or a string `\"width\"` for the width of the plot."
},
"y": {
"anyOf": [
{
"type": "number"
},
{
"const": "height",
"type": "string"
},
{
"$ref": "#/definitions/ExprRef"
}
],
"description": "Y coordinates of the marks, or height of vertical `\"bar\"` and `\"area\"` without specified `y2` or `height`.\n\nThe `value` of this channel can be a number or a string `\"height\"` for the height of the plot."
},
"y2": {
"anyOf": [
{
"type": "number"
},
{
"const": "height",
"type": "string"
},
{
"$ref": "#/definitions/ExprRef"
}
],
"description": "Y2 coordinates for ranged `\"area\"`, `\"bar\"`, `\"rect\"`, and `\"rule\"`.\n\nThe `value` of this channel can be a number or a string `\"height\"` for the height of the plot."
}
},
"type": "object"
},
"ArgmaxDef": {
"additionalProperties": false,
"properties": {
"argmax": {
"$ref": "#/definitions/FieldName"
}
},
"required": [
"argmax"
],
"type": "object"
},
"ArgminDef": {
"additionalProperties": false,
"properties": {
"argmin": {
"$ref": "#/definitions/FieldName"
}
},
"required": [
"argmin"
],
"type": "object"
},
"AutoSizeParams": {
"additionalProperties": false,
"properties": {
"contains": {
"description": "Determines how size calculation should be performed, one of `\"content\"` or `\"padding\"`. The default setting (`\"content\"`) interprets the width and height settings as the data rectangle (plotting) dimensions, to which padding is then added. In contrast, the `\"padding\"` setting includes the padding within the view size calculations, such that the width and height settings indicate the **total** intended size of the view.\n\n__Default value__: `\"content\"`",
"enum": [
"content",
"padding"
],
"type": "string"
},
"resize": {
"description": "A boolean flag indicating if autosize layout should be re-calculated on every view update.\n\n__Default value__: `false`",
"type": "boolean"
},
"type": {
"$ref": "#/definitions/AutosizeType",
"description": "The sizing format type. One of `\"pad\"`, `\"fit\"`, `\"fit-x\"`, `\"fit-y\"`, or `\"none\"`. See the [autosize type](https://vega.github.io/vega-lite/docs/size.html#autosize) documentation for descriptions of each.\n\n__Default value__: `\"pad\"`"
}
},
"type": "object"
},
"AutosizeType": {
"enum": [
"pad",
"none",
"fit",
"fit-x",
"fit-y"
],
"type": "string"
},
"Axis": {
"additionalProperties": false,
"properties": {
"aria": {
"anyOf": [
{
"description": "A boolean flag indicating if [ARIA attributes](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA) should be included (SVG output only). If `false`, the \"aria-hidden\" attribute will be set on the output SVG group, removing the axis from the ARIA accessibility tree.\n\n__Default value:__ `true`",
"type": "boolean"
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"bandPosition": {
"anyOf": [
{
"description": "An interpolation fraction indicating where, for `band` scales, axis ticks should be positioned. A value of `0` places ticks at the left edge of their bands. A value of `0.5` places ticks in the middle of their bands.\n\n __Default value:__ `0.5`",
"type": "number"
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"description": {
"anyOf": [
{
"description": "A text description of this axis for [ARIA accessibility](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA) (SVG output only). If the `aria` property is true, for SVG output the [\"aria-label\" attribute](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/ARIA_Techniques/Using_the_aria-label_attribute) will be set to this description. If the description is unspecified it will be automatically generated.",
"type": "string"
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"domain": {
"description": "A boolean flag indicating if the domain (the axis baseline) should be included as part of the axis.\n\n__Default value:__ `true`",
"type": "boolean"
},
"domainCap": {
"anyOf": [
{
"$ref": "#/definitions/StrokeCap",
"description": "The stroke cap for the domain line's ending style. One of `\"butt\"`, `\"round\"` or `\"square\"`.\n\n__Default value:__ `\"butt\"`"
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"domainColor": {
"anyOf": [
{
"anyOf": [
{
"type": "null"
},
{
"$ref": "#/definitions/Color"
}
],
"description": "Color of axis domain line.\n\n__Default value:__ `\"gray\"`."
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"domainDash": {
"anyOf": [
{
"description": "An array of alternating [stroke, space] lengths for dashed domain lines.",
"items": {
"type": "number"
},
"type": "array"
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"domainDashOffset": {
"anyOf": [
{
"description": "The pixel offset at which to start drawing with the domain dash array.",
"type": "number"
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"domainOpacity": {
"anyOf": [
{
"description": "Opacity of the axis domain line.",
"type": "number"
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"domainWidth": {
"anyOf": [
{
"description": "Stroke width of axis domain line\n\n__Default value:__ `1`",
"type": "number"
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"format": {
"anyOf": [
{
"type": "string"
},
{
"$ref": "#/definitions/Dict"
}
],
"description": "When used with the default `\"number\"` and `\"time\"` format type, the text formatting pattern for labels of guides (axes, legends, headers) and text marks.\n\n- If the format type is `\"number\"` (e.g., for quantitative fields), this is D3's [number format pattern](https://github.com/d3/d3-format#locale_format).\n- If the format type is `\"time\"` (e.g., for temporal fields), this is D3's [time format pattern](https://github.com/d3/d3-time-format#locale_format).\n\nSee the [format documentation](https://vega.github.io/vega-lite/docs/format.html) for more examples.\n\nWhen used with a [custom `formatType`](https://vega.github.io/vega-lite/docs/config.html#custom-format-type), this value will be passed as `format` alongside `datum.value` to the registered function.\n\n__Default value:__ Derived from [numberFormat](https://vega.github.io/vega-lite/docs/config.html#format) config for number format and from [timeFormat](https://vega.github.io/vega-lite/docs/config.html#format) config for time format."
},
"formatType": {
"description": "The format type for labels. One of `\"number\"`, `\"time\"`, or a [registered custom format type](https://vega.github.io/vega-lite/docs/config.html#custom-format-type).\n\n__Default value:__\n- `\"time\"` for temporal fields and ordinal and nominal fields with `timeUnit`.\n- `\"number\"` for quantitative fields as well as ordinal and nominal fields without `timeUnit`.",
"type": "string"
},
"grid": {
"description": "A boolean flag indicating if grid lines should be included as part of the axis\n\n__Default value:__ `true` for [continuous scales](https://vega.github.io/vega-lite/docs/scale.html#continuous) that are not binned; otherwise, `false`.",
"type": "boolean"
},
"gridCap": {
"anyOf": [
{
"$ref": "#/definitions/StrokeCap",
"description": "The stroke cap for grid lines' ending style. One of `\"butt\"`, `\"round\"` or `\"square\"`.\n\n__Default value:__ `\"butt\"`"
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"gridColor": {
"anyOf": [
{
"anyOf": [
{
"type": "null"
},
{
"$ref": "#/definitions/Color"
}
],
"description": "Color of gridlines.\n\n__Default value:__ `\"lightGray\"`."
},
{
"$ref": "#/definitions/ExprRef"
},
{
"$ref": "#/definitions/ConditionalAxisColor"
}
]
},
"gridDash": {
"anyOf": [
{
"description": "An array of alternating [stroke, space] lengths for dashed grid lines.",
"items": {
"type": "number"
},
"type": "array"
},
{
"$ref": "#/definitions/ExprRef"
},
{
"$ref": "#/definitions/ConditionalAxisNumberArray"
}
]
},
"gridDashOffset": {
"anyOf": [
{
"description": "The pixel offset at which to start drawing with the grid dash array.",
"type": "number"
},
{
"$ref": "#/definitions/ExprRef"
},
{
"$ref": "#/definitions/ConditionalAxisNumber"
}
]
},
"gridOpacity": {
"anyOf": [
{
"description": "The stroke opacity of grid (value between [0,1])\n\n__Default value:__ `1`",
"maximum": 1,
"minimum": 0,
"type": "number"
},
{
"$ref": "#/definitions/ExprRef"
},
{
"$ref": "#/definitions/ConditionalAxisNumber"
}
]
},
"gridWidth": {
"anyOf": [
{
"description": "The grid width, in pixels.\n\n__Default value:__ `1`",
"minimum": 0,
"type": "number"
},
{
"$ref": "#/definitions/ExprRef"
},
{
"$ref": "#/definitions/ConditionalAxisNumber"
}
]
},
"labelAlign": {
"anyOf": [
{
"$ref": "#/definitions/Align",
"description": "Horizontal text alignment of axis tick labels, overriding the default setting for the current axis orientation."
},
{
"$ref": "#/definitions/ExprRef"
},
{
"$ref": "#/definitions/ConditionalAxisLabelAlign"
}
]
},
"labelAngle": {
"anyOf": [
{
"description": "The rotation angle of the axis labels.\n\n__Default value:__ `-90` for nominal and ordinal fields; `0` otherwise.",
"maximum": 360,
"minimum": -360,
"type": "number"
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"labelBaseline": {
"anyOf": [
{
"$ref": "#/definitions/TextBaseline",
"description": "Vertical text baseline of axis tick labels, overriding the default setting for the current axis orientation. One of `\"alphabetic\"` (default), `\"top\"`, `\"middle\"`, `\"bottom\"`, `\"line-top\"`, or `\"line-bottom\"`. The `\"line-top\"` and `\"line-bottom\"` values operate similarly to `\"top\"` and `\"bottom\"`, but are calculated relative to the *lineHeight* rather than *fontSize* alone."
},
{
"$ref": "#/definitions/ExprRef"
},
{
"$ref": "#/definitions/ConditionalAxisLabelBaseline"
}
]
},
"labelBound": {
"anyOf": [
{
"description": "Indicates if labels should be hidden if they exceed the axis range. If `false` (the default) no bounds overlap analysis is performed. If `true`, labels will be hidden if they exceed the axis range by more than 1 pixel. If this property is a number, it specifies the pixel tolerance: the maximum amount by which a label bounding box may exceed the axis range.\n\n__Default value:__ `false`.",
"type": [
"number",
"boolean"
]
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"labelColor": {
"anyOf": [
{
"anyOf": [
{
"type": "null"
},
{
"$ref": "#/definitions/Color"
}
],
"description": "The color of the tick label, can be in hex color code or regular color name."
},
{
"$ref": "#/definitions/ExprRef"
},
{
"$ref": "#/definitions/ConditionalAxisColor"
}
]
},
"labelExpr": {
"description": "[Vega expression](https://vega.github.io/vega/docs/expressions/) for customizing labels.\n\n__Note:__ The label text and value can be assessed via the `label` and `value` properties of the axis's backing `datum` object.",
"type": "string"
},
"labelFlush": {
"description": "Indicates if the first and last axis labels should be aligned flush with the scale range. Flush alignment for a horizontal axis will left-align the first label and right-align the last label. For vertical axes, bottom and top text baselines are applied instead. If this property is a number, it also indicates the number of pixels by which to offset the first and last labels; for example, a value of 2 will flush-align the first and last labels and also push them 2 pixels outward from the center of the axis. The additional adjustment can sometimes help the labels better visually group with corresponding axis ticks.\n\n__Default value:__ `true` for axis of a continuous x-scale. Otherwise, `false`.",
"type": [
"boolean",
"number"
]
},
"labelFlushOffset": {
"anyOf": [
{
"description": "Indicates the number of pixels by which to offset flush-adjusted labels. For example, a value of `2` will push flush-adjusted labels 2 pixels outward from the center of the axis. Offsets can help the labels better visually group with corresponding axis ticks.\n\n__Default value:__ `0`.",
"type": "number"
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"labelFont": {
"anyOf": [
{
"description": "The font of the tick label.",
"type": "string"
},
{
"$ref": "#/definitions/ExprRef"
},
{
"$ref": "#/definitions/ConditionalAxisString"
}
]
},
"labelFontSize": {
"anyOf": [
{
"description": "The font size of the label, in pixels.",
"minimum": 0,
"type": "number"
},
{
"$ref": "#/definitions/ExprRef"
},
{
"$ref": "#/definitions/ConditionalAxisNumber"
}
]
},
"labelFontStyle": {
"anyOf": [
{
"$ref": "#/definitions/FontStyle",
"description": "Font style of the title."
},
{
"$ref": "#/definitions/ExprRef"
},
{
"$ref": "#/definitions/ConditionalAxisLabelFontStyle"
}
]
},
"labelFontWeight": {
"anyOf": [
{
"$ref": "#/definitions/FontWeight",
"description": "Font weight of axis tick labels."
},
{
"$ref": "#/definitions/ExprRef"
},
{
"$ref": "#/definitions/ConditionalAxisLabelFontWeight"
}
]
},
"labelLimit": {
"anyOf": [
{
"description": "Maximum allowed pixel width of axis tick labels.\n\n__Default value:__ `180`",
"type": "number"
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"labelLineHeight": {
"anyOf": [
{
"description": "Line height in pixels for multi-line label text or label text with `\"line-top\"` or `\"line-bottom\"` baseline.",
"type": "number"
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"labelOffset": {
"anyOf": [
{
"description": "Position offset in pixels to apply to labels, in addition to tickOffset.\n\n__Default value:__ `0`",
"type": "number"
},
{
"$ref": "#/definitions/ExprRef"
},
{
"$ref": "#/definitions/ConditionalAxisNumber"
}
]
},
"labelOpacity": {
"anyOf": [
{
"description": "The opacity of the labels.",
"type": "number"
},
{
"$ref": "#/definitions/ExprRef"
},
{
"$ref": "#/definitions/ConditionalAxisNumber"
}
]
},
"labelOverlap": {
"anyOf": [
{
"$ref": "#/definitions/LabelOverlap"
},
{
"$ref": "#/definitions/ExprRef"
}
],
"description": "The strategy to use for resolving overlap of axis labels. If `false` (the default), no overlap reduction is attempted. If set to `true` or `\"parity\"`, a strategy of removing every other label is used (this works well for standard linear axes). If set to `\"greedy\"`, a linear scan of the labels is performed, removing any labels that overlaps with the last visible label (this often works better for log-scaled axes).\n\n__Default value:__ `true` for non-nominal fields with non-log scales; `\"greedy\"` for log scales; otherwise `false`."
},
"labelPadding": {
"anyOf": [
{
"description": "The padding in pixels between labels and ticks.\n\n__Default value:__ `2`",
"type": "number"
},
{
"$ref": "#/definitions/ExprRef"
},
{
"$ref": "#/definitions/ConditionalAxisNumber"
}
]
},
"labelSeparation": {
"anyOf": [
{
"description": "The minimum separation that must be between label bounding boxes for them to be considered non-overlapping (default `0`). This property is ignored if *labelOverlap* resolution is not enabled.",
"type": "number"
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"labels": {
"description": "A boolean flag indicating if labels should be included as part of the axis.\n\n__Default value:__ `true`.",
"type": "boolean"
},
"maxExtent": {
"anyOf": [
{
"description": "The maximum extent in pixels that axis ticks and labels should use. This determines a maximum offset value for axis titles.\n\n__Default value:__ `undefined`.",
"type": "number"
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"minExtent": {
"anyOf": [
{
"description": "The minimum extent in pixels that axis ticks and labels should use. This determines a minimum offset value for axis titles.\n\n__Default value:__ `30` for y-axis; `undefined` for x-axis.",
"type": "number"
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"offset": {
"anyOf": [
{
"type": "number"
},
{
"$ref": "#/definitions/ExprRef"
}
],
"description": "The offset, in pixels, by which to displace the axis from the edge of the enclosing group or data rectangle.\n\n__Default value:__ derived from the [axis config](https://vega.github.io/vega-lite/docs/config.html#facet-scale-config)'s `offset` (`0` by default)"
},
"orient": {
"anyOf": [
{
"$ref": "#/definitions/AxisOrient"
},
{
"$ref": "#/definitions/ExprRef"
}
],
"description": "The orientation of the axis. One of `\"top\"`, `\"bottom\"`, `\"left\"` or `\"right\"`. The orientation can be used to further specialize the axis type (e.g., a y-axis oriented towards the right edge of the chart).\n\n__Default value:__ `\"bottom\"` for x-axes and `\"left\"` for y-axes."
},
"position": {
"anyOf": [
{
"type": "number"
},
{
"$ref": "#/definitions/ExprRef"
}
],
"description": "The anchor position of the axis in pixels. For x-axes with top or bottom orientation, this sets the axis group x coordinate. For y-axes with left or right orientation, this sets the axis group y coordinate.\n\n__Default value__: `0`"
},
"style": {
"anyOf": [
{
"type": "string"
},
{
"items": {
"type": "string"
},
"type": "array"
}
],
"description": "A string or array of strings indicating the name of custom styles to apply to the axis. A style is a named collection of axis property defined within the [style configuration](https://vega.github.io/vega-lite/docs/mark.html#style-config). If style is an array, later styles will override earlier styles.\n\n__Default value:__ (none) __Note:__ Any specified style will augment the default style. For example, an x-axis mark with `\"style\": \"foo\"` will use `config.axisX` and `config.style.foo` (the specified style `\"foo\"` has higher precedence)."
},
"tickBand": {
"anyOf": [
{
"description": "For band scales, indicates if ticks and grid lines should be placed at the `\"center\"` of a band (default) or at the band `\"extent\"`s to indicate intervals",
"enum": [
"center",
"extent"
],
"type": "string"
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"tickCap": {
"anyOf": [
{
"$ref": "#/definitions/StrokeCap",
"description": "The stroke cap for the tick lines' ending style. One of `\"butt\"`, `\"round\"` or `\"square\"`.\n\n__Default value:__ `\"butt\"`"
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"tickColor": {
"anyOf": [
{
"anyOf": [
{
"type": "null"
},
{
"$ref": "#/definitions/Color"
}
],
"description": "The color of the axis's tick.\n\n__Default value:__ `\"gray\"`"
},
{
"$ref": "#/definitions/ExprRef"
},
{
"$ref": "#/definitions/ConditionalAxisColor"
}
]
},
"tickCount": {
"anyOf": [
{
"type": "number"
},
{
"$ref": "#/definitions/TimeInterval"
},
{
"$ref": "#/definitions/TimeIntervalStep"
},
{
"$ref": "#/definitions/ExprRef"
}
],
"description": "A desired number of ticks, for axes visualizing quantitative scales. The resulting number may be different so that values are \"nice\" (multiples of 2, 5, 10) and lie within the underlying scale's range.\n\nFor scales of type `\"time\"` or `\"utc\"`, the tick count can instead be a time interval specifier. Legal string values are `\"millisecond\"`, `\"second\"`, `\"minute\"`, `\"hour\"`, `\"day\"`, `\"week\"`, `\"month\"`, and `\"year\"`. Alternatively, an object-valued interval specifier of the form `{\"interval\": \"month\", \"step\": 3}` includes a desired number of interval steps. Here, ticks are generated for each quarter (Jan, Apr, Jul, Oct) boundary.\n\n__Default value__: Determine using a formula `ceil(width/40)` for x and `ceil(height/40)` for y.",
"minimum": 0
},
"tickDash": {
"anyOf": [
{
"description": "An array of alternating [stroke, space] lengths for dashed tick mark lines.",
"items": {
"type": "number"
},
"type": "array"
},
{
"$ref": "#/definitions/ExprRef"
},
{
"$ref": "#/definitions/ConditionalAxisNumberArray"
}
]
},
"tickDashOffset": {
"anyOf": [
{
"description": "The pixel offset at which to start drawing with the tick mark dash array.",
"type": "number"
},
{
"$ref": "#/definitions/ExprRef"
},
{
"$ref": "#/definitions/ConditionalAxisNumber"
}
]
},
"tickExtra": {
"description": "Boolean flag indicating if an extra axis tick should be added for the initial position of the axis. This flag is useful for styling axes for `band` scales such that ticks are placed on band boundaries rather in the middle of a band. Use in conjunction with `\"bandPosition\": 1` and an axis `\"padding\"` value of `0`.",
"type": "boolean"
},
"tickMinStep": {
"anyOf": [
{
"type": "number"
},
{
"$ref": "#/definitions/ExprRef"
}
],
"description": "The minimum desired step between axis ticks, in terms of scale domain values. For example, a value of `1` indicates that ticks should not be less than 1 unit apart. If `tickMinStep` is specified, the `tickCount` value will be adjusted, if necessary, to enforce the minimum step value."
},
"tickOffset": {
"anyOf": [
{
"description": "Position offset in pixels to apply to ticks, labels, and gridlines.",
"type": "number"
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"tickOpacity": {
"anyOf": [
{
"description": "Opacity of the ticks.",
"type": "number"
},
{
"$ref": "#/definitions/ExprRef"
},
{
"$ref": "#/definitions/ConditionalAxisNumber"
}
]
},
"tickRound": {
"description": "Boolean flag indicating if pixel position values should be rounded to the nearest integer.\n\n__Default value:__ `true`",
"type": "boolean"
},
"tickSize": {
"anyOf": [
{
"description": "The size in pixels of axis ticks.\n\n__Default value:__ `5`",
"minimum": 0,
"type": "number"
},
{
"$ref": "#/definitions/ExprRef"
},
{
"$ref": "#/definitions/ConditionalAxisNumber"
}
]
},
"tickWidth": {
"anyOf": [
{
"description": "The width, in pixels, of ticks.\n\n__Default value:__ `1`",
"minimum": 0,
"type": "number"
},
{
"$ref": "#/definitions/ExprRef"
},
{
"$ref": "#/definitions/ConditionalAxisNumber"
}
]
},
"ticks": {
"description": "Boolean value that determines whether the axis should include ticks.\n\n__Default value:__ `true`",
"type": "boolean"
},
"title": {
"anyOf": [
{
"$ref": "#/definitions/Text"
},
{
"type": "null"
}
],
"description": "A title for the field. If `null`, the title will be removed.\n\n__Default value:__ derived from the field's name and transformation function (`aggregate`, `bin` and `timeUnit`). If the field has an aggregate function, the function is displayed as part of the title (e.g., `\"Sum of Profit\"`). If the field is binned or has a time unit applied, the applied function is shown in parentheses (e.g., `\"Profit (binned)\"`, `\"Transaction Date (year-month)\"`). Otherwise, the title is simply the field name.\n\n__Notes__:\n\n1) You can customize the default field title format by providing the [`fieldTitle`](https://vega.github.io/vega-lite/docs/config.html#top-level-config) property in the [config](https://vega.github.io/vega-lite/docs/config.html) or [`fieldTitle` function via the `compile` function's options](https://vega.github.io/vega-lite/usage/compile.html#field-title).\n\n2) If both field definition's `title` and axis, header, or legend `title` are defined, axis/header/legend title will be used."
},
"titleAlign": {
"anyOf": [
{
"$ref": "#/definitions/Align",
"description": "Horizontal text alignment of axis titles."
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"titleAnchor": {
"anyOf": [
{
"$ref": "#/definitions/TitleAnchor",
"description": "Text anchor position for placing axis titles."
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"titleAngle": {
"anyOf": [
{
"description": "Angle in degrees of axis titles.",
"type": "number"
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"titleBaseline": {
"anyOf": [
{
"$ref": "#/definitions/TextBaseline",
"description": "Vertical text baseline for axis titles. One of `\"alphabetic\"` (default), `\"top\"`, `\"middle\"`, `\"bottom\"`, `\"line-top\"`, or `\"line-bottom\"`. The `\"line-top\"` and `\"line-bottom\"` values operate similarly to `\"top\"` and `\"bottom\"`, but are calculated relative to the *lineHeight* rather than *fontSize* alone."
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"titleColor": {
"anyOf": [
{
"anyOf": [
{
"type": "null"
},
{
"$ref": "#/definitions/Color"
}
],
"description": "Color of the title, can be in hex color code or regular color name."
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"titleFont": {
"anyOf": [
{
"description": "Font of the title. (e.g., `\"Helvetica Neue\"`).",
"type": "string"
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"titleFontSize": {
"anyOf": [
{
"description": "Font size of the title.",
"minimum": 0,
"type": "number"
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"titleFontStyle": {
"anyOf": [
{
"$ref": "#/definitions/FontStyle",
"description": "Font style of the title."
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"titleFontWeight": {
"anyOf": [
{
"$ref": "#/definitions/FontWeight",
"description": "Font weight of the title. This can be either a string (e.g `\"bold\"`, `\"normal\"`) or a number (`100`, `200`, `300`, ..., `900` where `\"normal\"` = `400` and `\"bold\"` = `700`)."
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"titleLimit": {
"anyOf": [
{
"description": "Maximum allowed pixel width of axis titles.",
"minimum": 0,
"type": "number"
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"titleLineHeight": {
"anyOf": [
{
"description": "Line height in pixels for multi-line title text or title text with `\"line-top\"` or `\"line-bottom\"` baseline.",
"type": "number"
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"titleOpacity": {
"anyOf": [
{
"description": "Opacity of the axis title.",
"type": "number"
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"titlePadding": {
"anyOf": [
{
"description": "The padding, in pixels, between title and axis.",
"type": "number"
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"titleX": {
"anyOf": [
{
"description": "X-coordinate of the axis title relative to the axis group.",
"type": "number"
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"titleY": {
"anyOf": [
{
"description": "Y-coordinate of the axis title relative to the axis group.",
"type": "number"
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"translate": {
"anyOf": [
{
"description": "Coordinate space translation offset for axis layout. By default, axes are translated by a 0.5 pixel offset for both the x and y coordinates in order to align stroked lines with the pixel grid. However, for vector graphics output these pixel-specific adjustments may be undesirable, in which case translate can be changed (for example, to zero).\n\n__Default value:__ `0.5`",
"type": "number"
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"values": {
"anyOf": [
{
"items": {
"type": "number"
},
"type": "array"
},
{
"items": {
"type": "string"
},
"type": "array"
},
{
"items": {
"type": "boolean"
},
"type": "array"
},
{
"items": {
"$ref": "#/definitions/DateTime"
},
"type": "array"
},
{
"$ref": "#/definitions/ExprRef"
}
],
"description": "Explicitly set the visible axis tick values."
},
"zindex": {
"description": "A non-negative integer indicating the z-index of the axis. If zindex is 0, axes should be drawn behind all chart elements. To put them in front, set `zindex` to `1` or more.\n\n__Default value:__ `0` (behind the marks).",
"minimum": 0,
"type": "number"
}
},
"type": "object"
},
"AxisConfig": {
"additionalProperties": false,
"properties": {
"aria": {
"anyOf": [
{
"description": "A boolean flag indicating if [ARIA attributes](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA) should be included (SVG output only). If `false`, the \"aria-hidden\" attribute will be set on the output SVG group, removing the axis from the ARIA accessibility tree.\n\n__Default value:__ `true`",
"type": "boolean"
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"bandPosition": {
"anyOf": [
{
"description": "An interpolation fraction indicating where, for `band` scales, axis ticks should be positioned. A value of `0` places ticks at the left edge of their bands. A value of `0.5` places ticks in the middle of their bands.\n\n __Default value:__ `0.5`",
"type": "number"
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"description": {
"anyOf": [
{
"description": "A text description of this axis for [ARIA accessibility](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA) (SVG output only). If the `aria` property is true, for SVG output the [\"aria-label\" attribute](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/ARIA_Techniques/Using_the_aria-label_attribute) will be set to this description. If the description is unspecified it will be automatically generated.",
"type": "string"
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"disable": {
"description": "Disable axis by default.",
"type": "boolean"
},
"domain": {
"description": "A boolean flag indicating if the domain (the axis baseline) should be included as part of the axis.\n\n__Default value:__ `true`",
"type": "boolean"
},
"domainCap": {
"anyOf": [
{
"$ref": "#/definitions/StrokeCap",
"description": "The stroke cap for the domain line's ending style. One of `\"butt\"`, `\"round\"` or `\"square\"`.\n\n__Default value:__ `\"butt\"`"
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"domainColor": {
"anyOf": [
{
"anyOf": [
{
"type": "null"
},
{
"$ref": "#/definitions/Color"
}
],
"description": "Color of axis domain line.\n\n__Default value:__ `\"gray\"`."
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"domainDash": {
"anyOf": [
{
"description": "An array of alternating [stroke, space] lengths for dashed domain lines.",
"items": {
"type": "number"
},
"type": "array"
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"domainDashOffset": {
"anyOf": [
{
"description": "The pixel offset at which to start drawing with the domain dash array.",
"type": "number"
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"domainOpacity": {
"anyOf": [
{
"description": "Opacity of the axis domain line.",
"type": "number"
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"domainWidth": {
"anyOf": [
{
"description": "Stroke width of axis domain line\n\n__Default value:__ `1`",
"type": "number"
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"format": {
"anyOf": [
{
"type": "string"
},
{
"$ref": "#/definitions/Dict"
}
],
"description": "When used with the default `\"number\"` and `\"time\"` format type, the text formatting pattern for labels of guides (axes, legends, headers) and text marks.\n\n- If the format type is `\"number\"` (e.g., for quantitative fields), this is D3's [number format pattern](https://github.com/d3/d3-format#locale_format).\n- If the format type is `\"time\"` (e.g., for temporal fields), this is D3's [time format pattern](https://github.com/d3/d3-time-format#locale_format).\n\nSee the [format documentation](https://vega.github.io/vega-lite/docs/format.html) for more examples.\n\nWhen used with a [custom `formatType`](https://vega.github.io/vega-lite/docs/config.html#custom-format-type), this value will be passed as `format` alongside `datum.value` to the registered function.\n\n__Default value:__ Derived from [numberFormat](https://vega.github.io/vega-lite/docs/config.html#format) config for number format and from [timeFormat](https://vega.github.io/vega-lite/docs/config.html#format) config for time format."
},
"formatType": {
"description": "The format type for labels. One of `\"number\"`, `\"time\"`, or a [registered custom format type](https://vega.github.io/vega-lite/docs/config.html#custom-format-type).\n\n__Default value:__\n- `\"time\"` for temporal fields and ordinal and nominal fields with `timeUnit`.\n- `\"number\"` for quantitative fields as well as ordinal and nominal fields without `timeUnit`.",
"type": "string"
},
"grid": {
"description": "A boolean flag indicating if grid lines should be included as part of the axis\n\n__Default value:__ `true` for [continuous scales](https://vega.github.io/vega-lite/docs/scale.html#continuous) that are not binned; otherwise, `false`.",
"type": "boolean"
},
"gridCap": {
"anyOf": [
{
"$ref": "#/definitions/StrokeCap",
"description": "The stroke cap for grid lines' ending style. One of `\"butt\"`, `\"round\"` or `\"square\"`.\n\n__Default value:__ `\"butt\"`"
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"gridColor": {
"anyOf": [
{
"anyOf": [
{
"type": "null"
},
{
"$ref": "#/definitions/Color"
}
],
"description": "Color of gridlines.\n\n__Default value:__ `\"lightGray\"`."
},
{
"$ref": "#/definitions/ExprRef"
},
{
"$ref": "#/definitions/ConditionalAxisColor"
}
]
},
"gridDash": {
"anyOf": [
{
"description": "An array of alternating [stroke, space] lengths for dashed grid lines.",
"items": {
"type": "number"
},
"type": "array"
},
{
"$ref": "#/definitions/ExprRef"
},
{
"$ref": "#/definitions/ConditionalAxisNumberArray"
}
]
},
"gridDashOffset": {
"anyOf": [
{
"description": "The pixel offset at which to start drawing with the grid dash array.",
"type": "number"
},
{
"$ref": "#/definitions/ExprRef"
},
{
"$ref": "#/definitions/ConditionalAxisNumber"
}
]
},
"gridOpacity": {
"anyOf": [
{
"description": "The stroke opacity of grid (value between [0,1])\n\n__Default value:__ `1`",
"maximum": 1,
"minimum": 0,
"type": "number"
},
{
"$ref": "#/definitions/ExprRef"
},
{
"$ref": "#/definitions/ConditionalAxisNumber"
}
]
},
"gridWidth": {
"anyOf": [
{
"description": "The grid width, in pixels.\n\n__Default value:__ `1`",
"minimum": 0,
"type": "number"
},
{
"$ref": "#/definitions/ExprRef"
},
{
"$ref": "#/definitions/ConditionalAxisNumber"
}
]
},
"labelAlign": {
"anyOf": [
{
"$ref": "#/definitions/Align",
"description": "Horizontal text alignment of axis tick labels, overriding the default setting for the current axis orientation."
},
{
"$ref": "#/definitions/ExprRef"
},
{
"$ref": "#/definitions/ConditionalAxisLabelAlign"
}
]
},
"labelAngle": {
"anyOf": [
{
"description": "The rotation angle of the axis labels.\n\n__Default value:__ `-90` for nominal and ordinal fields; `0` otherwise.",
"maximum": 360,
"minimum": -360,
"type": "number"
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"labelBaseline": {
"anyOf": [
{
"$ref": "#/definitions/TextBaseline",
"description": "Vertical text baseline of axis tick labels, overriding the default setting for the current axis orientation. One of `\"alphabetic\"` (default), `\"top\"`, `\"middle\"`, `\"bottom\"`, `\"line-top\"`, or `\"line-bottom\"`. The `\"line-top\"` and `\"line-bottom\"` values operate similarly to `\"top\"` and `\"bottom\"`, but are calculated relative to the *lineHeight* rather than *fontSize* alone."
},
{
"$ref": "#/definitions/ExprRef"
},
{
"$ref": "#/definitions/ConditionalAxisLabelBaseline"
}
]
},
"labelBound": {
"anyOf": [
{
"description": "Indicates if labels should be hidden if they exceed the axis range. If `false` (the default) no bounds overlap analysis is performed. If `true`, labels will be hidden if they exceed the axis range by more than 1 pixel. If this property is a number, it specifies the pixel tolerance: the maximum amount by which a label bounding box may exceed the axis range.\n\n__Default value:__ `false`.",
"type": [
"number",
"boolean"
]
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"labelColor": {
"anyOf": [
{
"anyOf": [
{
"type": "null"
},
{
"$ref": "#/definitions/Color"
}
],
"description": "The color of the tick label, can be in hex color code or regular color name."
},
{
"$ref": "#/definitions/ExprRef"
},
{
"$ref": "#/definitions/ConditionalAxisColor"
}
]
},
"labelExpr": {
"description": "[Vega expression](https://vega.github.io/vega/docs/expressions/) for customizing labels.\n\n__Note:__ The label text and value can be assessed via the `label` and `value` properties of the axis's backing `datum` object.",
"type": "string"
},
"labelFlush": {
"description": "Indicates if the first and last axis labels should be aligned flush with the scale range. Flush alignment for a horizontal axis will left-align the first label and right-align the last label. For vertical axes, bottom and top text baselines are applied instead. If this property is a number, it also indicates the number of pixels by which to offset the first and last labels; for example, a value of 2 will flush-align the first and last labels and also push them 2 pixels outward from the center of the axis. The additional adjustment can sometimes help the labels better visually group with corresponding axis ticks.\n\n__Default value:__ `true` for axis of a continuous x-scale. Otherwise, `false`.",
"type": [
"boolean",
"number"
]
},
"labelFlushOffset": {
"anyOf": [
{
"description": "Indicates the number of pixels by which to offset flush-adjusted labels. For example, a value of `2` will push flush-adjusted labels 2 pixels outward from the center of the axis. Offsets can help the labels better visually group with corresponding axis ticks.\n\n__Default value:__ `0`.",
"type": "number"
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"labelFont": {
"anyOf": [
{
"description": "The font of the tick label.",
"type": "string"
},
{
"$ref": "#/definitions/ExprRef"
},
{
"$ref": "#/definitions/ConditionalAxisString"
}
]
},
"labelFontSize": {
"anyOf": [
{
"description": "The font size of the label, in pixels.",
"minimum": 0,
"type": "number"
},
{
"$ref": "#/definitions/ExprRef"
},
{
"$ref": "#/definitions/ConditionalAxisNumber"
}
]
},
"labelFontStyle": {
"anyOf": [
{
"$ref": "#/definitions/FontStyle",
"description": "Font style of the title."
},
{
"$ref": "#/definitions/ExprRef"
},
{
"$ref": "#/definitions/ConditionalAxisLabelFontStyle"
}
]
},
"labelFontWeight": {
"anyOf": [
{
"$ref": "#/definitions/FontWeight",
"description": "Font weight of axis tick labels."
},
{
"$ref": "#/definitions/ExprRef"
},
{
"$ref": "#/definitions/ConditionalAxisLabelFontWeight"
}
]
},
"labelLimit": {
"anyOf": [
{
"description": "Maximum allowed pixel width of axis tick labels.\n\n__Default value:__ `180`",
"type": "number"
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"labelLineHeight": {
"anyOf": [
{
"description": "Line height in pixels for multi-line label text or label text with `\"line-top\"` or `\"line-bottom\"` baseline.",
"type": "number"
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"labelOffset": {
"anyOf": [
{
"description": "Position offset in pixels to apply to labels, in addition to tickOffset.\n\n__Default value:__ `0`",
"type": "number"
},
{
"$ref": "#/definitions/ExprRef"
},
{
"$ref": "#/definitions/ConditionalAxisNumber"
}
]
},
"labelOpacity": {
"anyOf": [
{
"description": "The opacity of the labels.",
"type": "number"
},
{
"$ref": "#/definitions/ExprRef"
},
{
"$ref": "#/definitions/ConditionalAxisNumber"
}
]
},
"labelOverlap": {
"anyOf": [
{
"$ref": "#/definitions/LabelOverlap"
},
{
"$ref": "#/definitions/ExprRef"
}
],
"description": "The strategy to use for resolving overlap of axis labels. If `false` (the default), no overlap reduction is attempted. If set to `true` or `\"parity\"`, a strategy of removing every other label is used (this works well for standard linear axes). If set to `\"greedy\"`, a linear scan of the labels is performed, removing any labels that overlaps with the last visible label (this often works better for log-scaled axes).\n\n__Default value:__ `true` for non-nominal fields with non-log scales; `\"greedy\"` for log scales; otherwise `false`."
},
"labelPadding": {
"anyOf": [
{
"description": "The padding in pixels between labels and ticks.\n\n__Default value:__ `2`",
"type": "number"
},
{
"$ref": "#/definitions/ExprRef"
},
{
"$ref": "#/definitions/ConditionalAxisNumber"
}
]
},
"labelSeparation": {
"anyOf": [
{
"description": "The minimum separation that must be between label bounding boxes for them to be considered non-overlapping (default `0`). This property is ignored if *labelOverlap* resolution is not enabled.",
"type": "number"
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"labels": {
"description": "A boolean flag indicating if labels should be included as part of the axis.\n\n__Default value:__ `true`.",
"type": "boolean"
},
"maxExtent": {
"anyOf": [
{
"description": "The maximum extent in pixels that axis ticks and labels should use. This determines a maximum offset value for axis titles.\n\n__Default value:__ `undefined`.",
"type": "number"
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"minExtent": {
"anyOf": [
{
"description": "The minimum extent in pixels that axis ticks and labels should use. This determines a minimum offset value for axis titles.\n\n__Default value:__ `30` for y-axis; `undefined` for x-axis.",
"type": "number"
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"offset": {
"anyOf": [
{
"type": "number"
},
{
"$ref": "#/definitions/ExprRef"
}
],
"description": "The offset, in pixels, by which to displace the axis from the edge of the enclosing group or data rectangle.\n\n__Default value:__ derived from the [axis config](https://vega.github.io/vega-lite/docs/config.html#facet-scale-config)'s `offset` (`0` by default)"
},
"orient": {
"anyOf": [
{
"$ref": "#/definitions/AxisOrient"
},
{
"$ref": "#/definitions/ExprRef"
}
],
"description": "The orientation of the axis. One of `\"top\"`, `\"bottom\"`, `\"left\"` or `\"right\"`. The orientation can be used to further specialize the axis type (e.g., a y-axis oriented towards the right edge of the chart).\n\n__Default value:__ `\"bottom\"` for x-axes and `\"left\"` for y-axes."
},
"position": {
"anyOf": [
{
"type": "number"
},
{
"$ref": "#/definitions/ExprRef"
}
],
"description": "The anchor position of the axis in pixels. For x-axes with top or bottom orientation, this sets the axis group x coordinate. For y-axes with left or right orientation, this sets the axis group y coordinate.\n\n__Default value__: `0`"
},
"style": {
"anyOf": [
{
"type": "string"
},
{
"items": {
"type": "string"
},
"type": "array"
}
],
"description": "A string or array of strings indicating the name of custom styles to apply to the axis. A style is a named collection of axis property defined within the [style configuration](https://vega.github.io/vega-lite/docs/mark.html#style-config). If style is an array, later styles will override earlier styles.\n\n__Default value:__ (none) __Note:__ Any specified style will augment the default style. For example, an x-axis mark with `\"style\": \"foo\"` will use `config.axisX` and `config.style.foo` (the specified style `\"foo\"` has higher precedence)."
},
"tickBand": {
"anyOf": [
{
"description": "For band scales, indicates if ticks and grid lines should be placed at the `\"center\"` of a band (default) or at the band `\"extent\"`s to indicate intervals",
"enum": [
"center",
"extent"
],
"type": "string"
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"tickCap": {
"anyOf": [
{
"$ref": "#/definitions/StrokeCap",
"description": "The stroke cap for the tick lines' ending style. One of `\"butt\"`, `\"round\"` or `\"square\"`.\n\n__Default value:__ `\"butt\"`"
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"tickColor": {
"anyOf": [
{
"anyOf": [
{
"type": "null"
},
{
"$ref": "#/definitions/Color"
}
],
"description": "The color of the axis's tick.\n\n__Default value:__ `\"gray\"`"
},
{
"$ref": "#/definitions/ExprRef"
},
{
"$ref": "#/definitions/ConditionalAxisColor"
}
]
},
"tickCount": {
"anyOf": [
{
"type": "number"
},
{
"$ref": "#/definitions/TimeInterval"
},
{
"$ref": "#/definitions/TimeIntervalStep"
},
{
"$ref": "#/definitions/ExprRef"
}
],
"description": "A desired number of ticks, for axes visualizing quantitative scales. The resulting number may be different so that values are \"nice\" (multiples of 2, 5, 10) and lie within the underlying scale's range.\n\nFor scales of type `\"time\"` or `\"utc\"`, the tick count can instead be a time interval specifier. Legal string values are `\"millisecond\"`, `\"second\"`, `\"minute\"`, `\"hour\"`, `\"day\"`, `\"week\"`, `\"month\"`, and `\"year\"`. Alternatively, an object-valued interval specifier of the form `{\"interval\": \"month\", \"step\": 3}` includes a desired number of interval steps. Here, ticks are generated for each quarter (Jan, Apr, Jul, Oct) boundary.\n\n__Default value__: Determine using a formula `ceil(width/40)` for x and `ceil(height/40)` for y.",
"minimum": 0
},
"tickDash": {
"anyOf": [
{
"description": "An array of alternating [stroke, space] lengths for dashed tick mark lines.",
"items": {
"type": "number"
},
"type": "array"
},
{
"$ref": "#/definitions/ExprRef"
},
{
"$ref": "#/definitions/ConditionalAxisNumberArray"
}
]
},
"tickDashOffset": {
"anyOf": [
{
"description": "The pixel offset at which to start drawing with the tick mark dash array.",
"type": "number"
},
{
"$ref": "#/definitions/ExprRef"
},
{
"$ref": "#/definitions/ConditionalAxisNumber"
}
]
},
"tickExtra": {
"description": "Boolean flag indicating if an extra axis tick should be added for the initial position of the axis. This flag is useful for styling axes for `band` scales such that ticks are placed on band boundaries rather in the middle of a band. Use in conjunction with `\"bandPosition\": 1` and an axis `\"padding\"` value of `0`.",
"type": "boolean"
},
"tickMinStep": {
"anyOf": [
{
"type": "number"
},
{
"$ref": "#/definitions/ExprRef"
}
],
"description": "The minimum desired step between axis ticks, in terms of scale domain values. For example, a value of `1` indicates that ticks should not be less than 1 unit apart. If `tickMinStep` is specified, the `tickCount` value will be adjusted, if necessary, to enforce the minimum step value."
},
"tickOffset": {
"anyOf": [
{
"description": "Position offset in pixels to apply to ticks, labels, and gridlines.",
"type": "number"
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"tickOpacity": {
"anyOf": [
{
"description": "Opacity of the ticks.",
"type": "number"
},
{
"$ref": "#/definitions/ExprRef"
},
{
"$ref": "#/definitions/ConditionalAxisNumber"
}
]
},
"tickRound": {
"description": "Boolean flag indicating if pixel position values should be rounded to the nearest integer.\n\n__Default value:__ `true`",
"type": "boolean"
},
"tickSize": {
"anyOf": [
{
"description": "The size in pixels of axis ticks.\n\n__Default value:__ `5`",
"minimum": 0,
"type": "number"
},
{
"$ref": "#/definitions/ExprRef"
},
{
"$ref": "#/definitions/ConditionalAxisNumber"
}
]
},
"tickWidth": {
"anyOf": [
{
"description": "The width, in pixels, of ticks.\n\n__Default value:__ `1`",
"minimum": 0,
"type": "number"
},
{
"$ref": "#/definitions/ExprRef"
},
{
"$ref": "#/definitions/ConditionalAxisNumber"
}
]
},
"ticks": {
"description": "Boolean value that determines whether the axis should include ticks.\n\n__Default value:__ `true`",
"type": "boolean"
},
"title": {
"anyOf": [
{
"$ref": "#/definitions/Text"
},
{
"type": "null"
}
],
"description": "A title for the field. If `null`, the title will be removed.\n\n__Default value:__ derived from the field's name and transformation function (`aggregate`, `bin` and `timeUnit`). If the field has an aggregate function, the function is displayed as part of the title (e.g., `\"Sum of Profit\"`). If the field is binned or has a time unit applied, the applied function is shown in parentheses (e.g., `\"Profit (binned)\"`, `\"Transaction Date (year-month)\"`). Otherwise, the title is simply the field name.\n\n__Notes__:\n\n1) You can customize the default field title format by providing the [`fieldTitle`](https://vega.github.io/vega-lite/docs/config.html#top-level-config) property in the [config](https://vega.github.io/vega-lite/docs/config.html) or [`fieldTitle` function via the `compile` function's options](https://vega.github.io/vega-lite/usage/compile.html#field-title).\n\n2) If both field definition's `title` and axis, header, or legend `title` are defined, axis/header/legend title will be used."
},
"titleAlign": {
"anyOf": [
{
"$ref": "#/definitions/Align",
"description": "Horizontal text alignment of axis titles."
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"titleAnchor": {
"anyOf": [
{
"$ref": "#/definitions/TitleAnchor",
"description": "Text anchor position for placing axis titles."
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"titleAngle": {
"anyOf": [
{
"description": "Angle in degrees of axis titles.",
"type": "number"
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"titleBaseline": {
"anyOf": [
{
"$ref": "#/definitions/TextBaseline",
"description": "Vertical text baseline for axis titles. One of `\"alphabetic\"` (default), `\"top\"`, `\"middle\"`, `\"bottom\"`, `\"line-top\"`, or `\"line-bottom\"`. The `\"line-top\"` and `\"line-bottom\"` values operate similarly to `\"top\"` and `\"bottom\"`, but are calculated relative to the *lineHeight* rather than *fontSize* alone."
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"titleColor": {
"anyOf": [
{
"anyOf": [
{
"type": "null"
},
{
"$ref": "#/definitions/Color"
}
],
"description": "Color of the title, can be in hex color code or regular color name."
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"titleFont": {
"anyOf": [
{
"description": "Font of the title. (e.g., `\"Helvetica Neue\"`).",
"type": "string"
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"titleFontSize": {
"anyOf": [
{
"description": "Font size of the title.",
"minimum": 0,
"type": "number"
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"titleFontStyle": {
"anyOf": [
{
"$ref": "#/definitions/FontStyle",
"description": "Font style of the title."
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"titleFontWeight": {
"anyOf": [
{
"$ref": "#/definitions/FontWeight",
"description": "Font weight of the title. This can be either a string (e.g `\"bold\"`, `\"normal\"`) or a number (`100`, `200`, `300`, ..., `900` where `\"normal\"` = `400` and `\"bold\"` = `700`)."
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"titleLimit": {
"anyOf": [
{
"description": "Maximum allowed pixel width of axis titles.",
"minimum": 0,
"type": "number"
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"titleLineHeight": {
"anyOf": [
{
"description": "Line height in pixels for multi-line title text or title text with `\"line-top\"` or `\"line-bottom\"` baseline.",
"type": "number"
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"titleOpacity": {
"anyOf": [
{
"description": "Opacity of the axis title.",
"type": "number"
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"titlePadding": {
"anyOf": [
{
"description": "The padding, in pixels, between title and axis.",
"type": "number"
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"titleX": {
"anyOf": [
{
"description": "X-coordinate of the axis title relative to the axis group.",
"type": "number"
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"titleY": {
"anyOf": [
{
"description": "Y-coordinate of the axis title relative to the axis group.",
"type": "number"
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"translate": {
"anyOf": [
{
"description": "Coordinate space translation offset for axis layout. By default, axes are translated by a 0.5 pixel offset for both the x and y coordinates in order to align stroked lines with the pixel grid. However, for vector graphics output these pixel-specific adjustments may be undesirable, in which case translate can be changed (for example, to zero).\n\n__Default value:__ `0.5`",
"type": "number"
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"values": {
"anyOf": [
{
"items": {
"type": "number"
},
"type": "array"
},
{
"items": {
"type": "string"
},
"type": "array"
},
{
"items": {
"type": "boolean"
},
"type": "array"
},
{
"items": {
"$ref": "#/definitions/DateTime"
},
"type": "array"
},
{
"$ref": "#/definitions/ExprRef"
}
],
"description": "Explicitly set the visible axis tick values."
},
"zindex": {
"description": "A non-negative integer indicating the z-index of the axis. If zindex is 0, axes should be drawn behind all chart elements. To put them in front, set `zindex` to `1` or more.\n\n__Default value:__ `0` (behind the marks).",
"minimum": 0,
"type": "number"
}
},
"type": "object"
},
"AxisOrient": {
"enum": [
"top",
"bottom",
"left",
"right"
],
"type": "string"
},
"AxisResolveMap": {
"additionalProperties": false,
"properties": {
"x": {
"$ref": "#/definitions/ResolveMode"
},
"y": {
"$ref": "#/definitions/ResolveMode"
}
},
"type": "object"
},
"BarConfig": {
"additionalProperties": false,
"properties": {
"align": {
"anyOf": [
{
"$ref": "#/definitions/Align"
},
{
"$ref": "#/definitions/ExprRef"
}
],
"description": "The horizontal alignment of the text or ranged marks (area, bar, image, rect, rule). One of `\"left\"`, `\"right\"`, `\"center\"`.\n\n__Note:__ Expression reference is *not* supported for range marks."
},
"angle": {
"anyOf": [
{
"description": "The rotation angle of the text, in degrees.",
"maximum": 360,
"minimum": 0,
"type": "number"
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"aria": {
"anyOf": [
{
"description": "A boolean flag indicating if [ARIA attributes](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA) should be included (SVG output only). If `false`, the \"aria-hidden\" attribute will be set on the output SVG element, removing the mark item from the ARIA accessibility tree.",
"type": "boolean"
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"ariaRole": {
"anyOf": [
{
"description": "Sets the type of user interface element of the mark item for [ARIA accessibility](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA) (SVG output only). If specified, this property determines the \"role\" attribute. Warning: this property is experimental and may be changed in the future.",
"type": "string"
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"ariaRoleDescription": {
"anyOf": [
{
"description": "A human-readable, author-localized description for the role of the mark item for [ARIA accessibility](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA) (SVG output only). If specified, this property determines the \"aria-roledescription\" attribute. Warning: this property is experimental and may be changed in the future.",
"type": "string"
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"aspect": {
"anyOf": [
{
"description": "Whether to keep aspect ratio of image marks.",
"type": "boolean"
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"baseline": {
"anyOf": [
{
"$ref": "#/definitions/TextBaseline"
},
{
"$ref": "#/definitions/ExprRef"
}
],
"description": "For text marks, the vertical text baseline. One of `\"alphabetic\"` (default), `\"top\"`, `\"middle\"`, `\"bottom\"`, `\"line-top\"`, `\"line-bottom\"`, or an expression reference that provides one of the valid values. The `\"line-top\"` and `\"line-bottom\"` values operate similarly to `\"top\"` and `\"bottom\"`, but are calculated relative to the `lineHeight` rather than `fontSize` alone.\n\nFor range marks, the vertical alignment of the marks. One of `\"top\"`, `\"middle\"`, `\"bottom\"`.\n\n__Note:__ Expression reference is *not* supported for range marks."
},
"binSpacing": {
"description": "Offset between bars for binned field. The ideal value for this is either 0 (preferred by statisticians) or 1 (Vega-Lite default, D3 example style).\n\n__Default value:__ `1`",
"minimum": 0,
"type": "number"
},
"blend": {
"anyOf": [
{
"$ref": "#/definitions/Blend",
"description": "The color blend mode for drawing an item on its current background. Any valid [CSS mix-blend-mode](https://developer.mozilla.org/en-US/docs/Web/CSS/mix-blend-mode) value can be used.\n\n__Default value: `\"source-over\"`"
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"color": {
"anyOf": [
{
"$ref": "#/definitions/Color"
},
{
"$ref": "#/definitions/Gradient"
},
{
"$ref": "#/definitions/ExprRef"
}
],
"description": "Default color.\n\n__Default value:__ <span style=\"color: #4682b4;\">&#9632;</span> `\"#4682b4\"`\n\n__Note:__\n- This property cannot be used in a [style config](https://vega.github.io/vega-lite/docs/mark.html#style-config).\n- The `fill` and `stroke` properties have higher precedence than `color` and will override `color`."
},
"continuousBandSize": {
"description": "The default size of the bars on continuous scales.\n\n__Default value:__ `5`",
"minimum": 0,
"type": "number"
},
"cornerRadius": {
"anyOf": [
{
"description": "The radius in pixels of rounded rectangles or arcs' corners.\n\n__Default value:__ `0`",
"type": "number"
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"cornerRadiusBottomLeft": {
"anyOf": [
{
"description": "The radius in pixels of rounded rectangles' bottom left corner.\n\n__Default value:__ `0`",
"type": "number"
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"cornerRadiusBottomRight": {
"anyOf": [
{
"description": "The radius in pixels of rounded rectangles' bottom right corner.\n\n__Default value:__ `0`",
"type": "number"
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"cornerRadiusEnd": {
"anyOf": [
{
"type": "number"
},
{
"$ref": "#/definitions/ExprRef"
}
],
"description": "- For vertical bars, top-left and top-right corner radius.\n\n- For horizontal bars, top-right and bottom-right corner radius."
},
"cornerRadiusTopLeft": {
"anyOf": [
{
"description": "The radius in pixels of rounded rectangles' top right corner.\n\n__Default value:__ `0`",
"type": "number"
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"cornerRadiusTopRight": {
"anyOf": [
{
"description": "The radius in pixels of rounded rectangles' top left corner.\n\n__Default value:__ `0`",
"type": "number"
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"cursor": {
"anyOf": [
{
"$ref": "#/definitions/Cursor",
"description": "The mouse cursor used over the mark. Any valid [CSS cursor type](https://developer.mozilla.org/en-US/docs/Web/CSS/cursor#Values) can be used."
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"description": {
"anyOf": [
{
"description": "A text description of the mark item for [ARIA accessibility](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA) (SVG output only). If specified, this property determines the [\"aria-label\" attribute](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/ARIA_Techniques/Using_the_aria-label_attribute).",
"type": "string"
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"dir": {
"anyOf": [
{
"$ref": "#/definitions/TextDirection",
"description": "The direction of the text. One of `\"ltr\"` (left-to-right) or `\"rtl\"` (right-to-left). This property determines on which side is truncated in response to the limit parameter.\n\n__Default value:__ `\"ltr\"`"
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"discreteBandSize": {
"anyOf": [
{
"type": "number"
},
{
"$ref": "#/definitions/RelativeBandSize"
}
],
"description": "The default size of the bars with discrete dimensions. If unspecified, the default size is `step-2`, which provides 2 pixel offset between bars.",
"minimum": 0
},
"dx": {
"anyOf": [
{
"description": "The horizontal offset, in pixels, between the text label and its anchor point. The offset is applied after rotation by the _angle_ property.",
"type": "number"
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"dy": {
"anyOf": [
{
"description": "The vertical offset, in pixels, between the text label and its anchor point. The offset is applied after rotation by the _angle_ property.",
"type": "number"
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"ellipsis": {
"anyOf": [
{
"description": "The ellipsis string for text truncated in response to the limit parameter.\n\n__Default value:__ `\"…\"`",
"type": "string"
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"endAngle": {
"anyOf": [
{
"description": "The end angle in radians for arc marks. A value of `0` indicates up (north), increasing values proceed clockwise.",
"type": "number"
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"fill": {
"anyOf": [
{
"$ref": "#/definitions/Color"
},
{
"$ref": "#/definitions/Gradient"
},
{
"type": "null"
},
{
"$ref": "#/definitions/ExprRef"
}
],
"description": "Default fill color. This property has higher precedence than `config.color`. Set to `null` to remove fill.\n\n__Default value:__ (None)"
},
"fillOpacity": {
"anyOf": [
{
"description": "The fill opacity (value between [0,1]).\n\n__Default value:__ `1`",
"maximum": 1,
"minimum": 0,
"type": "number"
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"filled": {
"description": "Whether the mark's color should be used as fill color instead of stroke color.\n\n__Default value:__ `false` for all `point`, `line`, and `rule` marks as well as `geoshape` marks for [`graticule`](https://vega.github.io/vega-lite/docs/data.html#graticule) data sources; otherwise, `true`.\n\n__Note:__ This property cannot be used in a [style config](https://vega.github.io/vega-lite/docs/mark.html#style-config).",
"type": "boolean"
},
"font": {
"anyOf": [
{
"description": "The typeface to set the text in (e.g., `\"Helvetica Neue\"`).",
"type": "string"
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"fontSize": {
"anyOf": [
{
"description": "The font size, in pixels.\n\n__Default value:__ `11`",
"minimum": 0,
"type": "number"
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"fontStyle": {
"anyOf": [
{
"$ref": "#/definitions/FontStyle",
"description": "The font style (e.g., `\"italic\"`)."
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"fontWeight": {
"anyOf": [
{
"$ref": "#/definitions/FontWeight",
"description": "The font weight. This can be either a string (e.g `\"bold\"`, `\"normal\"`) or a number (`100`, `200`, `300`, ..., `900` where `\"normal\"` = `400` and `\"bold\"` = `700`)."
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"height": {
"anyOf": [
{
"description": "Height of the marks.",
"type": "number"
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"href": {
"anyOf": [
{
"$ref": "#/definitions/URI",
"description": "A URL to load upon mouse click. If defined, the mark acts as a hyperlink."
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"innerRadius": {
"anyOf": [
{
"type": "number"
},
{
"$ref": "#/definitions/ExprRef"
}
],
"description": "The inner radius in pixels of arc marks. `innerRadius` is an alias for `radius2`.\n\n__Default value:__ `0`",
"minimum": 0
},
"interpolate": {
"anyOf": [
{
"$ref": "#/definitions/Interpolate",
"description": "The line interpolation method to use for line and area marks. One of the following:\n- `\"linear\"`: piecewise linear segments, as in a polyline.\n- `\"linear-closed\"`: close the linear segments to form a polygon.\n- `\"step\"`: alternate between horizontal and vertical segments, as in a step function.\n- `\"step-before\"`: alternate between vertical and horizontal segments, as in a step function.\n- `\"step-after\"`: alternate between horizontal and vertical segments, as in a step function.\n- `\"basis\"`: a B-spline, with control point duplication on the ends.\n- `\"basis-open\"`: an open B-spline; may not intersect the start or end.\n- `\"basis-closed\"`: a closed B-spline, as in a loop.\n- `\"cardinal\"`: a Cardinal spline, with control point duplication on the ends.\n- `\"cardinal-open\"`: an open Cardinal spline; may not intersect the start or end, but will intersect other control points.\n- `\"cardinal-closed\"`: a closed Cardinal spline, as in a loop.\n- `\"bundle\"`: equivalent to basis, except the tension parameter is used to straighten the spline.\n- `\"monotone\"`: cubic interpolation that preserves monotonicity in y."
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"invalid": {
"description": "Defines how Vega-Lite should handle marks for invalid values (`null` and `NaN`).\n- If set to `\"filter\"` (default), all data items with null values will be skipped (for line, trail, and area marks) or filtered (for other marks).\n- If `null`, all data items are included. In this case, invalid values will be interpreted as zeroes.",
"enum": [
"filter",
null
],
"type": [
"string",
"null"
]
},
"limit": {
"anyOf": [
{
"description": "The maximum length of the text mark in pixels. The text value will be automatically truncated if the rendered size exceeds the limit.\n\n__Default value:__ `0` -- indicating no limit",
"type": "number"
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"lineBreak": {
"anyOf": [
{
"description": "A delimiter, such as a newline character, upon which to break text strings into multiple lines. This property is ignored if the text is array-valued.",
"type": "string"
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"lineHeight": {
"anyOf": [
{
"description": "The line height in pixels (the spacing between subsequent lines of text) for multi-line text marks.",
"type": "number"
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"opacity": {
"anyOf": [
{
"type": "number"
},
{
"$ref": "#/definitions/ExprRef"
}
],
"description": "The overall opacity (value between [0,1]).\n\n__Default value:__ `0.7` for non-aggregate plots with `point`, `tick`, `circle`, or `square` marks or layered `bar` charts and `1` otherwise.",
"maximum": 1,
"minimum": 0
},
"order": {
"description": "For line and trail marks, this `order` property can be set to `null` or `false` to make the lines use the original order in the data sources.",
"type": [
"null",
"boolean"
]
},
"orient": {
"$ref": "#/definitions/Orientation",
"description": "The orientation of a non-stacked bar, tick, area, and line charts. The value is either horizontal (default) or vertical.\n- For bar, rule and tick, this determines whether the size of the bar and tick should be applied to x or y dimension.\n- For area, this property determines the orient property of the Vega output.\n- For line and trail marks, this property determines the sort order of the points in the line if `config.sortLineBy` is not specified. For stacked charts, this is always determined by the orientation of the stack; therefore explicitly specified value will be ignored."
},
"outerRadius": {
"anyOf": [
{
"type": "number"
},
{
"$ref": "#/definitions/ExprRef"
}
],
"description": "The outer radius in pixels of arc marks. `outerRadius` is an alias for `radius`.\n\n__Default value:__ `0`",
"minimum": 0
},
"padAngle": {
"anyOf": [
{
"description": "The angular padding applied to sides of the arc, in radians.",
"type": "number"
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"radius": {
"anyOf": [
{
"type": "number"
},
{
"$ref": "#/definitions/ExprRef"
}
],
"description": "For arc mark, the primary (outer) radius in pixels.\n\nFor text marks, polar coordinate radial offset, in pixels, of the text from the origin determined by the `x` and `y` properties.\n\n__Default value:__ `min(plot_width, plot_height)/2`",
"minimum": 0
},
"radius2": {
"anyOf": [
{
"type": "number"
},
{
"$ref": "#/definitions/ExprRef"
}
],
"description": "The secondary (inner) radius in pixels of arc marks.\n\n__Default value:__ `0`",
"minimum": 0
},
"shape": {
"anyOf": [
{
"anyOf": [
{
"$ref": "#/definitions/SymbolShape"
},
{
"type": "string"
}
],
"description": "Shape of the point marks. Supported values include:\n- plotting shapes: `\"circle\"`, `\"square\"`, `\"cross\"`, `\"diamond\"`, `\"triangle-up\"`, `\"triangle-down\"`, `\"triangle-right\"`, or `\"triangle-left\"`.\n- the line symbol `\"stroke\"`\n- centered directional shapes `\"arrow\"`, `\"wedge\"`, or `\"triangle\"`\n- a custom [SVG path string](https://developer.mozilla.org/en-US/docs/Web/SVG/Tutorial/Paths) (For correct sizing, custom shape paths should be defined within a square bounding box with coordinates ranging from -1 to 1 along both the x and y dimensions.)\n\n__Default value:__ `\"circle\"`"
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"size": {
"anyOf": [
{
"type": "number"
},
{
"$ref": "#/definitions/ExprRef"
}
],
"description": "Default size for marks.\n- For `point`/`circle`/`square`, this represents the pixel area of the marks. Note that this value sets the area of the symbol; the side lengths will increase with the square root of this value.\n- For `bar`, this represents the band size of the bar, in pixels.\n- For `text`, this represents the font size, in pixels.\n\n__Default value:__\n- `30` for point, circle, square marks; width/height's `step`\n- `2` for bar marks with discrete dimensions;\n- `5` for bar marks with continuous dimensions;\n- `11` for text marks.",
"minimum": 0
},
"smooth": {
"anyOf": [
{
"description": "A boolean flag (default true) indicating if the image should be smoothed when resized. If false, individual pixels should be scaled directly rather than interpolated with smoothing. For SVG rendering, this option may not work in some browsers due to lack of standardization.",
"type": "boolean"
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"startAngle": {
"anyOf": [
{
"description": "The start angle in radians for arc marks. A value of `0` indicates up (north), increasing values proceed clockwise.",
"type": "number"
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"stroke": {
"anyOf": [
{
"$ref": "#/definitions/Color"
},
{
"$ref": "#/definitions/Gradient"
},
{
"type": "null"
},
{
"$ref": "#/definitions/ExprRef"
}
],
"description": "Default stroke color. This property has higher precedence than `config.color`. Set to `null` to remove stroke.\n\n__Default value:__ (None)"
},
"strokeCap": {
"anyOf": [
{
"$ref": "#/definitions/StrokeCap",
"description": "The stroke cap for line ending style. One of `\"butt\"`, `\"round\"`, or `\"square\"`.\n\n__Default value:__ `\"butt\"`"
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"strokeDash": {
"anyOf": [
{
"description": "An array of alternating stroke, space lengths for creating dashed or dotted lines.",
"items": {
"type": "number"
},
"type": "array"
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"strokeDashOffset": {
"anyOf": [
{
"description": "The offset (in pixels) into which to begin drawing with the stroke dash array.",
"type": "number"
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"strokeJoin": {
"anyOf": [
{
"$ref": "#/definitions/StrokeJoin",
"description": "The stroke line join method. One of `\"miter\"`, `\"round\"` or `\"bevel\"`.\n\n__Default value:__ `\"miter\"`"
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"strokeMiterLimit": {
"anyOf": [
{
"description": "The miter limit at which to bevel a line join.",
"type": "number"
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"strokeOffset": {
"anyOf": [
{
"description": "The offset in pixels at which to draw the group stroke and fill. If unspecified, the default behavior is to dynamically offset stroked groups such that 1 pixel stroke widths align with the pixel grid.",
"type": "number"
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"strokeOpacity": {
"anyOf": [
{
"description": "The stroke opacity (value between [0,1]).\n\n__Default value:__ `1`",
"maximum": 1,
"minimum": 0,
"type": "number"
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"strokeWidth": {
"anyOf": [
{
"description": "The stroke width, in pixels.",
"minimum": 0,
"type": "number"
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"tension": {
"anyOf": [
{
"description": "Depending on the interpolation type, sets the tension parameter (for line and area marks).",
"type": "number"
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"text": {
"anyOf": [
{
"$ref": "#/definitions/Text",
"description": "Placeholder text if the `text` channel is not specified"
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"theta": {
"anyOf": [
{
"type": "number"
},
{
"$ref": "#/definitions/ExprRef"
}
],
"description": "- For arc marks, the arc length in radians if theta2 is not specified, otherwise the start arc angle. (A value of 0 indicates up or “north”, increasing values proceed clockwise.)\n\n- For text marks, polar coordinate angle in radians.",
"maximum": 360,
"minimum": 0
},
"theta2": {
"anyOf": [
{
"type": "number"
},
{
"$ref": "#/definitions/ExprRef"
}
],
"description": "The end angle of arc marks in radians. A value of 0 indicates up or “north”, increasing values proceed clockwise."
},
"timeUnitBandPosition": {
"description": "Default relative band position for a time unit. If set to `0`, the marks will be positioned at the beginning of the time unit band step. If set to `0.5`, the marks will be positioned in the middle of the time unit band step.",
"type": "number"
},
"timeUnitBandSize": {
"description": "Default relative band size for a time unit. If set to `1`, the bandwidth of the marks will be equal to the time unit band step. If set to `0.5`, bandwidth of the marks will be half of the time unit band step.",
"type": "number"
},
"tooltip": {
"anyOf": [
{
"type": "number"
},
{
"type": "string"
},
{
"type": "boolean"
},
{
"$ref": "#/definitions/TooltipContent"
},
{
"$ref": "#/definitions/ExprRef"
},
{
"type": "null"
}
],
"description": "The tooltip text string to show upon mouse hover or an object defining which fields should the tooltip be derived from.\n\n- If `tooltip` is `true` or `{\"content\": \"encoding\"}`, then all fields from `encoding` will be used.\n- If `tooltip` is `{\"content\": \"data\"}`, then all fields that appear in the highlighted data point will be used.\n- If set to `null` or `false`, then no tooltip will be used.\n\nSee the [`tooltip`](https://vega.github.io/vega-lite/docs/tooltip.html) documentation for a detailed discussion about tooltip in Vega-Lite.\n\n__Default value:__ `null`"
},
"url": {
"anyOf": [
{
"$ref": "#/definitions/URI",
"description": "The URL of the image file for image marks."
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"width": {
"anyOf": [
{
"description": "Width of the marks.",
"type": "number"
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"x": {
"anyOf": [
{
"type": "number"
},
{
"const": "width",
"type": "string"
},
{
"$ref": "#/definitions/ExprRef"
}
],
"description": "X coordinates of the marks, or width of horizontal `\"bar\"` and `\"area\"` without specified `x2` or `width`.\n\nThe `value` of this channel can be a number or a string `\"width\"` for the width of the plot."
},
"x2": {
"anyOf": [
{
"type": "number"
},
{
"const": "width",
"type": "string"
},
{
"$ref": "#/definitions/ExprRef"
}
],
"description": "X2 coordinates for ranged `\"area\"`, `\"bar\"`, `\"rect\"`, and `\"rule\"`.\n\nThe `value` of this channel can be a number or a string `\"width\"` for the width of the plot."
},
"y": {
"anyOf": [
{
"type": "number"
},
{
"const": "height",
"type": "string"
},
{
"$ref": "#/definitions/ExprRef"
}
],
"description": "Y coordinates of the marks, or height of vertical `\"bar\"` and `\"area\"` without specified `y2` or `height`.\n\nThe `value` of this channel can be a number or a string `\"height\"` for the height of the plot."
},
"y2": {
"anyOf": [
{
"type": "number"
},
{
"const": "height",
"type": "string"
},
{
"$ref": "#/definitions/ExprRef"
}
],
"description": "Y2 coordinates for ranged `\"area\"`, `\"bar\"`, `\"rect\"`, and `\"rule\"`.\n\nThe `value` of this channel can be a number or a string `\"height\"` for the height of the plot."
}
},
"type": "object"
},
"BaseTitleNoValueRefs": {
"additionalProperties": false,
"properties": {
"align": {
"$ref": "#/definitions/Align",
"description": "Horizontal text alignment for title text. One of `\"left\"`, `\"center\"`, or `\"right\"`."
},
"anchor": {
"anyOf": [
{
"$ref": "#/definitions/TitleAnchor",
"description": "The anchor position for placing the title and subtitle text. One of `\"start\"`, `\"middle\"`, or `\"end\"`. For example, with an orientation of top these anchor positions map to a left-, center-, or right-aligned title."
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"angle": {
"anyOf": [
{
"description": "Angle in degrees of title and subtitle text.",
"type": "number"
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"aria": {
"anyOf": [
{
"description": "A boolean flag indicating if [ARIA attributes](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA) should be included (SVG output only). If `false`, the \"aria-hidden\" attribute will be set on the output SVG group, removing the title from the ARIA accessibility tree.\n\n__Default value:__ `true`",
"type": "boolean"
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"baseline": {
"$ref": "#/definitions/TextBaseline",
"description": "Vertical text baseline for title and subtitle text. One of `\"alphabetic\"` (default), `\"top\"`, `\"middle\"`, `\"bottom\"`, `\"line-top\"`, or `\"line-bottom\"`. The `\"line-top\"` and `\"line-bottom\"` values operate similarly to `\"top\"` and `\"bottom\"`, but are calculated relative to the *lineHeight* rather than *fontSize* alone."
},
"color": {
"anyOf": [
{
"anyOf": [
{
"type": "null"
},
{
"$ref": "#/definitions/Color"
}
],
"description": "Text color for title text."
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"dx": {
"anyOf": [
{
"description": "Delta offset for title and subtitle text x-coordinate.",
"type": "number"
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"dy": {
"anyOf": [
{
"description": "Delta offset for title and subtitle text y-coordinate.",
"type": "number"
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"font": {
"anyOf": [
{
"description": "Font name for title text.",
"type": "string"
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"fontSize": {
"anyOf": [
{
"description": "Font size in pixels for title text.",
"minimum": 0,
"type": "number"
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"fontStyle": {
"anyOf": [
{
"$ref": "#/definitions/FontStyle",
"description": "Font style for title text."
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"fontWeight": {
"anyOf": [
{
"$ref": "#/definitions/FontWeight",
"description": "Font weight for title text. This can be either a string (e.g `\"bold\"`, `\"normal\"`) or a number (`100`, `200`, `300`, ..., `900` where `\"normal\"` = `400` and `\"bold\"` = `700`)."
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"frame": {
"anyOf": [
{
"anyOf": [
{
"$ref": "#/definitions/TitleFrame"
},
{
"type": "string"
}
],
"description": "The reference frame for the anchor position, one of `\"bounds\"` (to anchor relative to the full bounding box) or `\"group\"` (to anchor relative to the group width or height)."
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"limit": {
"anyOf": [
{
"description": "The maximum allowed length in pixels of title and subtitle text.",
"minimum": 0,
"type": "number"
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"lineHeight": {
"anyOf": [
{
"description": "Line height in pixels for multi-line title text or title text with `\"line-top\"` or `\"line-bottom\"` baseline.",
"type": "number"
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"offset": {
"anyOf": [
{
"description": "The orthogonal offset in pixels by which to displace the title group from its position along the edge of the chart.",
"type": "number"
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"orient": {
"anyOf": [
{
"$ref": "#/definitions/TitleOrient",
"description": "Default title orientation (`\"top\"`, `\"bottom\"`, `\"left\"`, or `\"right\"`)"
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"subtitleColor": {
"anyOf": [
{
"anyOf": [
{
"type": "null"
},
{
"$ref": "#/definitions/Color"
}
],
"description": "Text color for subtitle text."
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"subtitleFont": {
"anyOf": [
{
"description": "Font name for subtitle text.",
"type": "string"
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"subtitleFontSize": {
"anyOf": [
{
"description": "Font size in pixels for subtitle text.",
"minimum": 0,
"type": "number"
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"subtitleFontStyle": {
"anyOf": [
{
"$ref": "#/definitions/FontStyle",
"description": "Font style for subtitle text."
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"subtitleFontWeight": {
"anyOf": [
{
"$ref": "#/definitions/FontWeight",
"description": "Font weight for subtitle text. This can be either a string (e.g `\"bold\"`, `\"normal\"`) or a number (`100`, `200`, `300`, ..., `900` where `\"normal\"` = `400` and `\"bold\"` = `700`)."
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"subtitleLineHeight": {
"anyOf": [
{
"description": "Line height in pixels for multi-line subtitle text.",
"type": "number"
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"subtitlePadding": {
"anyOf": [
{
"description": "The padding in pixels between title and subtitle text.",
"type": "number"
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"zindex": {
"anyOf": [
{
"description": "The integer z-index indicating the layering of the title group relative to other axis, mark, and legend groups.\n\n__Default value:__ `0`.",
"minimum": 0,
"type": "number"
},
{
"$ref": "#/definitions/ExprRef"
}
]
}
},
"type": "object"
},
"Baseline": {
"enum": [
"top",
"middle",
"bottom"
],
"type": "string"
},
"BinExtent": {
"anyOf": [
{
"items": {
"type": "number"
},
"maxItems": 2,
"minItems": 2,
"type": "array"
},
{
"$ref": "#/definitions/ParameterExtent"
}
]
},
"BinParams": {
"additionalProperties": false,
"description": "Binning properties or boolean flag for determining whether to bin data or not.",
"properties": {
"anchor": {
"description": "A value in the binned domain at which to anchor the bins, shifting the bin boundaries if necessary to ensure that a boundary aligns with the anchor value.\n\n__Default value:__ the minimum bin extent value",
"type": "number"
},
"base": {
"description": "The number base to use for automatic bin determination (default is base 10).\n\n__Default value:__ `10`",
"type": "number"
},
"binned": {
"description": "When set to `true`, Vega-Lite treats the input data as already binned.",
"type": "boolean"
},
"divide": {
"description": "Scale factors indicating allowable subdivisions. The default value is [5, 2], which indicates that for base 10 numbers (the default base), the method may consider dividing bin sizes by 5 and/or 2. For example, for an initial step size of 10, the method can check if bin sizes of 2 (= 10/5), 5 (= 10/2), or 1 (= 10/(5*2)) might also satisfy the given constraints.\n\n__Default value:__ `[5, 2]`",
"items": {
"type": "number"
},
"maxItems": 2,
"minItems": 1,
"type": "array"
},
"extent": {
"$ref": "#/definitions/BinExtent",
"description": "A two-element (`[min, max]`) array indicating the range of desired bin values."
},
"maxbins": {
"description": "Maximum number of bins.\n\n__Default value:__ `6` for `row`, `column` and `shape` channels; `10` for other channels",
"minimum": 2,
"type": "number"
},
"minstep": {
"description": "A minimum allowable step size (particularly useful for integer values).",
"type": "number"
},
"nice": {
"description": "If true, attempts to make the bin boundaries use human-friendly boundaries, such as multiples of ten.\n\n__Default value:__ `true`",
"type": "boolean"
},
"step": {
"description": "An exact step size to use between bins.\n\n__Note:__ If provided, options such as maxbins will be ignored.",
"type": "number"
},
"steps": {
"description": "An array of allowable step sizes to choose from.",
"items": {
"type": "number"
},
"minItems": 1,
"type": "array"
}
},
"type": "object"
},
"BinTransform": {
"additionalProperties": false,
"properties": {
"as": {
"anyOf": [
{
"$ref": "#/definitions/FieldName"
},
{
"items": {
"$ref": "#/definitions/FieldName"
},
"type": "array"
}
],
"description": "The output fields at which to write the start and end bin values. This can be either a string or an array of strings with two elements denoting the name for the fields for bin start and bin end respectively. If a single string (e.g., `\"val\"`) is provided, the end field will be `\"val_end\"`."
},
"bin": {
"anyOf": [
{
"const": true,
"type": "boolean"
},
{
"$ref": "#/definitions/BinParams"
}
],
"description": "An object indicating bin properties, or simply `true` for using default bin parameters."
},
"field": {
"$ref": "#/definitions/FieldName",
"description": "The data field to bin."
}
},
"required": [
"bin",
"field",
"as"
],
"type": "object"
},
"BindCheckbox": {
"additionalProperties": false,
"properties": {
"debounce": {
"description": "If defined, delays event handling until the specified milliseconds have elapsed since the last event was fired.",
"type": "number"
},
"element": {
"$ref": "#/definitions/Element",
"description": "An optional CSS selector string indicating the parent element to which the input element should be added. By default, all input elements are added within the parent container of the Vega view."
},
"input": {
"const": "checkbox",
"type": "string"
},
"name": {
"description": "By default, the signal name is used to label input elements. This `name` property can be used instead to specify a custom label for the bound signal.",
"type": "string"
}
},
"required": [
"input"
],
"type": "object"
},
"BindDirect": {
"additionalProperties": false,
"properties": {
"debounce": {
"description": "If defined, delays event handling until the specified milliseconds have elapsed since the last event was fired.",
"type": "number"
},
"element": {
"anyOf": [
{
"$ref": "#/definitions/Element"
},
{
"additionalProperties": false,
"type": "object"
}
],
"description": "An input element that exposes a _value_ property and supports the [EventTarget](https://developer.mozilla.org/en-US/docs/Web/API/EventTarget) interface, or a CSS selector string to such an element. When the element updates and dispatches an event, the _value_ property will be used as the new, bound signal value. When the signal updates independent of the element, the _value_ property will be set to the signal value and a new event will be dispatched on the element."
},
"event": {
"description": "The event (default `\"input\"`) to listen for to track changes on the external element.",
"type": "string"
}
},
"required": [
"element"
],
"type": "object"
},
"BindInput": {
"additionalProperties": false,
"properties": {
"autocomplete": {
"description": "A hint for form autofill. See the [HTML autocomplete attribute](https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/autocomplete) for additional information.",
"type": "string"
},
"debounce": {
"description": "If defined, delays event handling until the specified milliseconds have elapsed since the last event was fired.",
"type": "number"
},
"element": {
"$ref": "#/definitions/Element",
"description": "An optional CSS selector string indicating the parent element to which the input element should be added. By default, all input elements are added within the parent container of the Vega view."
},
"input": {
"description": "The type of input element to use. The valid values are `\"checkbox\"`, `\"radio\"`, `\"range\"`, `\"select\"`, and any other legal [HTML form input type](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input).",
"type": "string"
},
"name": {
"description": "By default, the signal name is used to label input elements. This `name` property can be used instead to specify a custom label for the bound signal.",
"type": "string"
},
"placeholder": {
"description": "Text that appears in the form control when it has no value set.",
"type": "string"
}
},
"type": "object"
},
"BindRadioSelect": {
"additionalProperties": false,
"properties": {
"debounce": {
"description": "If defined, delays event handling until the specified milliseconds have elapsed since the last event was fired.",
"type": "number"
},
"element": {
"$ref": "#/definitions/Element",
"description": "An optional CSS selector string indicating the parent element to which the input element should be added. By default, all input elements are added within the parent container of the Vega view."
},
"input": {
"enum": [
"radio",
"select"
],
"type": "string"
},
"labels": {
"description": "An array of label strings to represent the `options` values. If unspecified, the `options` value will be coerced to a string and used as the label.",
"items": {
"type": "string"
},
"type": "array"
},
"name": {
"description": "By default, the signal name is used to label input elements. This `name` property can be used instead to specify a custom label for the bound signal.",
"type": "string"
},
"options": {
"description": "An array of options to select from.",
"items": {},
"type": "array"
}
},
"required": [
"input",
"options"
],
"type": "object"
},
"BindRange": {
"additionalProperties": false,
"properties": {
"debounce": {
"description": "If defined, delays event handling until the specified milliseconds have elapsed since the last event was fired.",
"type": "number"
},
"element": {
"$ref": "#/definitions/Element",
"description": "An optional CSS selector string indicating the parent element to which the input element should be added. By default, all input elements are added within the parent container of the Vega view."
},
"input": {
"const": "range",
"type": "string"
},
"max": {
"description": "Sets the maximum slider value. Defaults to the larger of the signal value and `100`.",
"type": "number"
},
"min": {
"description": "Sets the minimum slider value. Defaults to the smaller of the signal value and `0`.",
"type": "number"
},
"name": {
"description": "By default, the signal name is used to label input elements. This `name` property can be used instead to specify a custom label for the bound signal.",
"type": "string"
},
"step": {
"description": "Sets the minimum slider increment. If undefined, the step size will be automatically determined based on the `min` and `max` values.",
"type": "number"
}
},
"required": [
"input"
],
"type": "object"
},
"Binding": {
"anyOf": [
{
"$ref": "#/definitions/BindCheckbox"
},
{
"$ref": "#/definitions/BindRadioSelect"
},
{
"$ref": "#/definitions/BindRange"
},
{
"$ref": "#/definitions/BindInput"
},
{
"$ref": "#/definitions/BindDirect"
}
]
},
"Blend": {
"enum": [
null,
"multiply",
"screen",
"overlay",
"darken",
"lighten",
"color-dodge",
"color-burn",
"hard-light",
"soft-light",
"difference",
"exclusion",
"hue",
"saturation",
"color",
"luminosity"
],
"type": [
"null",
"string"
]
},
"BoxPlot": {
"const": "boxplot",
"type": "string"
},
"BoxPlotConfig": {
"additionalProperties": false,
"properties": {
"box": {
"anyOf": [
{
"type": "boolean"
},
{
"$ref": "#/definitions/MarkConfig"
}
]
},
"extent": {
"anyOf": [
{
"const": "min-max",
"type": "string"
},
{
"type": "number"
}
],
"description": "The extent of the whiskers. Available options include:\n- `\"min-max\"`: min and max are the lower and upper whiskers respectively.\n- A number representing multiple of the interquartile range. This number will be multiplied by the IQR to determine whisker boundary, which spans from the smallest data to the largest data within the range _[Q1 - k * IQR, Q3 + k * IQR]_ where _Q1_ and _Q3_ are the first and third quartiles while _IQR_ is the interquartile range (_Q3-Q1_).\n\n__Default value:__ `1.5`."
},
"median": {
"anyOf": [
{
"type": "boolean"
},
{
"$ref": "#/definitions/MarkConfig"
}
]
},
"outliers": {
"anyOf": [
{
"type": "boolean"
},
{
"$ref": "#/definitions/MarkConfig"
}
]
},
"rule": {
"anyOf": [
{
"type": "boolean"
},
{
"$ref": "#/definitions/MarkConfig"
}
]
},
"size": {
"description": "Size of the box and median tick of a box plot",
"type": "number"
},
"ticks": {
"anyOf": [
{
"type": "boolean"
},
{
"$ref": "#/definitions/MarkConfig"
}
]
}
},
"type": "object"
},
"BoxPlotDef": {
"additionalProperties": false,
"properties": {
"box": {
"anyOf": [
{
"type": "boolean"
},
{
"$ref": "#/definitions/MarkConfig"
}
]
},
"clip": {
"description": "Whether a composite mark be clipped to the enclosing group’s width and height.",
"type": "boolean"
},
"color": {
"anyOf": [
{
"$ref": "#/definitions/Color"
},
{
"$ref": "#/definitions/Gradient"
},
{
"$ref": "#/definitions/ExprRef"
}
],
"description": "Default color.\n\n__Default value:__ <span style=\"color: #4682b4;\">&#9632;</span> `\"#4682b4\"`\n\n__Note:__\n- This property cannot be used in a [style config](https://vega.github.io/vega-lite/docs/mark.html#style-config).\n- The `fill` and `stroke` properties have higher precedence than `color` and will override `color`."
},
"extent": {
"anyOf": [
{
"const": "min-max",
"type": "string"
},
{
"type": "number"
}
],
"description": "The extent of the whiskers. Available options include:\n- `\"min-max\"`: min and max are the lower and upper whiskers respectively.\n- A number representing multiple of the interquartile range. This number will be multiplied by the IQR to determine whisker boundary, which spans from the smallest data to the largest data within the range _[Q1 - k * IQR, Q3 + k * IQR]_ where _Q1_ and _Q3_ are the first and third quartiles while _IQR_ is the interquartile range (_Q3-Q1_).\n\n__Default value:__ `1.5`."
},
"median": {
"anyOf": [
{
"type": "boolean"
},
{
"$ref": "#/definitions/MarkConfig"
}
]
},
"opacity": {
"description": "The opacity (value between [0,1]) of the mark.",
"maximum": 1,
"minimum": 0,
"type": "number"
},
"orient": {
"$ref": "#/definitions/Orientation",
"description": "Orientation of the box plot. This is normally automatically determined based on types of fields on x and y channels. However, an explicit `orient` be specified when the orientation is ambiguous.\n\n__Default value:__ `\"vertical\"`."
},
"outliers": {
"anyOf": [
{
"type": "boolean"
},
{
"$ref": "#/definitions/MarkConfig"
}
]
},
"rule": {
"anyOf": [
{
"type": "boolean"
},
{
"$ref": "#/definitions/MarkConfig"
}
]
},
"size": {
"description": "Size of the box and median tick of a box plot",
"type": "number"
},
"ticks": {
"anyOf": [
{
"type": "boolean"
},
{
"$ref": "#/definitions/MarkConfig"
}
]
},
"type": {
"$ref": "#/definitions/BoxPlot",
"description": "The mark type. This could a primitive mark type (one of `\"bar\"`, `\"circle\"`, `\"square\"`, `\"tick\"`, `\"line\"`, `\"area\"`, `\"point\"`, `\"geoshape\"`, `\"rule\"`, and `\"text\"`) or a composite mark type (`\"boxplot\"`, `\"errorband\"`, `\"errorbar\"`)."
}
},
"required": [
"type"
],
"type": "object"
},
"BrushConfig": {
"additionalProperties": false,
"properties": {
"cursor": {
"$ref": "#/definitions/Cursor",
"description": "The mouse cursor used over the interval mark. Any valid [CSS cursor type](https://developer.mozilla.org/en-US/docs/Web/CSS/cursor#Values) can be used."
},
"fill": {
"$ref": "#/definitions/Color",
"description": "The fill color of the interval mark.\n\n__Default value:__ `\"#333333\"`"
},
"fillOpacity": {
"description": "The fill opacity of the interval mark (a value between `0` and `1`).\n\n__Default value:__ `0.125`",
"type": "number"
},
"stroke": {
"$ref": "#/definitions/Color",
"description": "The stroke color of the interval mark.\n\n__Default value:__ `\"#ffffff\"`"
},
"strokeDash": {
"description": "An array of alternating stroke and space lengths, for creating dashed or dotted lines.",
"items": {
"type": "number"
},
"type": "array"
},
"strokeDashOffset": {
"description": "The offset (in pixels) with which to begin drawing the stroke dash array.",
"type": "number"
},
"strokeOpacity": {
"description": "The stroke opacity of the interval mark (a value between `0` and `1`).",
"type": "number"
},
"strokeWidth": {
"description": "The stroke width of the interval mark.",
"type": "number"
}
},
"type": "object"
},
"CalculateTransform": {
"additionalProperties": false,
"properties": {
"as": {
"$ref": "#/definitions/FieldName",
"description": "The field for storing the computed formula value."
},
"calculate": {
"description": "A [expression](https://vega.github.io/vega-lite/docs/types.html#expression) string. Use the variable `datum` to refer to the current data object.",
"type": "string"
}
},
"required": [
"calculate",
"as"
],
"type": "object"
},
"Categorical": {
"enum": [
"accent",
"category10",
"category20",
"category20b",
"category20c",
"dark2",
"paired",
"pastel1",
"pastel2",
"set1",
"set2",
"set3",
"tableau10",
"tableau20"
],
"type": "string"
},
"Color": {
"anyOf": [
{
"$ref": "#/definitions/ColorName"
},
{
"$ref": "#/definitions/HexColor"
},
{
"type": "string"
}
]
},
"ColorDef": {
"$ref": "#/definitions/MarkPropDef<(Gradient|string|null)>"
},
"ColorName": {
"enum": [
"black",
"silver",
"gray",
"white",
"maroon",
"red",
"purple",
"fuchsia",
"green",
"lime",
"olive",
"yellow",
"navy",
"blue",
"teal",
"aqua",
"orange",
"aliceblue",
"antiquewhite",
"aquamarine",
"azure",
"beige",
"bisque",
"blanchedalmond",
"blueviolet",
"brown",
"burlywood",
"cadetblue",
"chartreuse",
"chocolate",
"coral",
"cornflowerblue",
"cornsilk",
"crimson",
"cyan",
"darkblue",
"darkcyan",
"darkgoldenrod",
"darkgray",
"darkgreen",
"darkgrey",
"darkkhaki",
"darkmagenta",
"darkolivegreen",
"darkorange",
"darkorchid",
"darkred",
"darksalmon",
"darkseagreen",
"darkslateblue",
"darkslategray",
"darkslategrey",
"darkturquoise",
"darkviolet",
"deeppink",
"deepskyblue",
"dimgray",
"dimgrey",
"dodgerblue",
"firebrick",
"floralwhite",
"forestgreen",
"gainsboro",
"ghostwhite",
"gold",
"goldenrod",
"greenyellow",
"grey",
"honeydew",
"hotpink",
"indianred",
"indigo",
"ivory",
"khaki",
"lavender",
"lavenderblush",
"lawngreen",
"lemonchiffon",
"lightblue",
"lightcoral",
"lightcyan",
"lightgoldenrodyellow",
"lightgray",
"lightgreen",
"lightgrey",
"lightpink",
"lightsalmon",
"lightseagreen",
"lightskyblue",
"lightslategray",
"lightslategrey",
"lightsteelblue",
"lightyellow",
"limegreen",
"linen",
"magenta",
"mediumaquamarine",
"mediumblue",
"mediumorchid",
"mediumpurple",
"mediumseagreen",
"mediumslateblue",
"mediumspringgreen",
"mediumturquoise",
"mediumvioletred",
"midnightblue",
"mintcream",
"mistyrose",
"moccasin",
"navajowhite",
"oldlace",
"olivedrab",
"orangered",
"orchid",
"palegoldenrod",
"palegreen",
"paleturquoise",
"palevioletred",
"papayawhip",
"peachpuff",
"peru",
"pink",
"plum",
"powderblue",
"rosybrown",
"royalblue",
"saddlebrown",
"salmon",
"sandybrown",
"seagreen",
"seashell",
"sienna",
"skyblue",
"slateblue",
"slategray",
"slategrey",
"snow",
"springgreen",
"steelblue",
"tan",
"thistle",
"tomato",
"turquoise",
"violet",
"wheat",
"whitesmoke",
"yellowgreen",
"rebeccapurple"
],
"type": "string"
},
"ColorScheme": {
"anyOf": [
{
"$ref": "#/definitions/Categorical"
},
{
"$ref": "#/definitions/SequentialSingleHue"
},
{
"$ref": "#/definitions/SequentialMultiHue"
},
{
"$ref": "#/definitions/Diverging"
},
{
"$ref": "#/definitions/Cyclical"
}
]
},
"Encoding": {
"additionalProperties": false,
"properties": {
"angle": {
"$ref": "#/definitions/NumericMarkPropDef",
"description": "Rotation angle of point and text marks."
},
"color": {
"$ref": "#/definitions/ColorDef",
"description": "Color of the marks – either fill or stroke color based on the `filled` property of mark definition. By default, `color` represents fill color for `\"area\"`, `\"bar\"`, `\"tick\"`, `\"text\"`, `\"trail\"`, `\"circle\"`, and `\"square\"` / stroke color for `\"line\"` and `\"point\"`.\n\n__Default value:__ If undefined, the default color depends on [mark config](https://vega.github.io/vega-lite/docs/config.html#mark-config)'s `color` property.\n\n_Note:_ 1) For fine-grained control over both fill and stroke colors of the marks, please use the `fill` and `stroke` channels. The `fill` or `stroke` encodings have higher precedence than `color`, thus may override the `color` encoding if conflicting encodings are specified. 2) See the scale documentation for more information about customizing [color scheme](https://vega.github.io/vega-lite/docs/scale.html#scheme)."
},
"description": {
"anyOf": [
{
"$ref": "#/definitions/StringFieldDefWithCondition"
},
{
"$ref": "#/definitions/StringValueDefWithCondition"
}
],
"description": "A text description of this mark for ARIA accessibility (SVG output only). For SVG output the `\"aria-label\"` attribute will be set to this description."
},
"detail": {
"anyOf": [
{
"$ref": "#/definitions/FieldDefWithoutScale"
},
{
"items": {
"$ref": "#/definitions/FieldDefWithoutScale"
},
"type": "array"
}
],
"description": "Additional levels of detail for grouping data in aggregate views and in line, trail, and area marks without mapping data to a specific visual channel."
},
"fill": {
"$ref": "#/definitions/ColorDef",
"description": "Fill color of the marks. __Default value:__ If undefined, the default color depends on [mark config](https://vega.github.io/vega-lite/docs/config.html#mark-config)'s `color` property.\n\n_Note:_ The `fill` encoding has higher precedence than `color`, thus may override the `color` encoding if conflicting encodings are specified."
},
"fillOpacity": {
"$ref": "#/definitions/NumericMarkPropDef",
"description": "Fill opacity of the marks.\n\n__Default value:__ If undefined, the default opacity depends on [mark config](https://vega.github.io/vega-lite/docs/config.html#mark-config)'s `fillOpacity` property."
},
"href": {
"anyOf": [
{
"$ref": "#/definitions/StringFieldDefWithCondition"
},
{
"$ref": "#/definitions/StringValueDefWithCondition"
}
],
"description": "A URL to load upon mouse click."
},
"key": {
"$ref": "#/definitions/FieldDefWithoutScale",
"description": "A data field to use as a unique key for data binding. When a visualization’s data is updated, the key value will be used to match data elements to existing mark instances. Use a key channel to enable object constancy for transitions over dynamic data."
},
"latitude": {
"$ref": "#/definitions/LatLongDef",
"description": "Latitude position of geographically projected marks."
},
"latitude2": {
"$ref": "#/definitions/Position2Def",
"description": "Latitude-2 position for geographically projected ranged `\"area\"`, `\"bar\"`, `\"rect\"`, and `\"rule\"`."
},
"longitude": {
"$ref": "#/definitions/LatLongDef",
"description": "Longitude position of geographically projected marks."
},
"longitude2": {
"$ref": "#/definitions/Position2Def",
"description": "Longitude-2 position for geographically projected ranged `\"area\"`, `\"bar\"`, `\"rect\"`, and `\"rule\"`."
},
"opacity": {
"$ref": "#/definitions/NumericMarkPropDef",
"description": "Opacity of the marks.\n\n__Default value:__ If undefined, the default opacity depends on [mark config](https://vega.github.io/vega-lite/docs/config.html#mark-config)'s `opacity` property."
},
"order": {
"anyOf": [
{
"$ref": "#/definitions/OrderFieldDef"
},
{
"items": {
"$ref": "#/definitions/OrderFieldDef"
},
"type": "array"
},
{
"$ref": "#/definitions/OrderValueDef"
}
],
"description": "Order of the marks.\n- For stacked marks, this `order` channel encodes [stack order](https://vega.github.io/vega-lite/docs/stack.html#order).\n- For line and trail marks, this `order` channel encodes order of data points in the lines. This can be useful for creating [a connected scatterplot](https://vega.github.io/vega-lite/examples/connected_scatterplot.html). Setting `order` to `{\"value\": null}` makes the line marks use the original order in the data sources.\n- Otherwise, this `order` channel encodes layer order of the marks.\n\n__Note__: In aggregate plots, `order` field should be `aggregate`d to avoid creating additional aggregation grouping."
},
"radius": {
"$ref": "#/definitions/PolarDef",
"description": "The outer radius in pixels of arc marks."
},
"radius2": {
"$ref": "#/definitions/Position2Def",
"description": "The inner radius in pixels of arc marks."
},
"shape": {
"$ref": "#/definitions/ShapeDef",
"description": "Shape of the mark.\n\n1. For `point` marks the supported values include: - plotting shapes: `\"circle\"`, `\"square\"`, `\"cross\"`, `\"diamond\"`, `\"triangle-up\"`, `\"triangle-down\"`, `\"triangle-right\"`, or `\"triangle-left\"`. - the line symbol `\"stroke\"` - centered directional shapes `\"arrow\"`, `\"wedge\"`, or `\"triangle\"` - a custom [SVG path string](https://developer.mozilla.org/en-US/docs/Web/SVG/Tutorial/Paths) (For correct sizing, custom shape paths should be defined within a square bounding box with coordinates ranging from -1 to 1 along both the x and y dimensions.)\n\n2. For `geoshape` marks it should be a field definition of the geojson data\n\n__Default value:__ If undefined, the default shape depends on [mark config](https://vega.github.io/vega-lite/docs/config.html#point-config)'s `shape` property. (`\"circle\"` if unset.)"
},
"size": {
"$ref": "#/definitions/NumericMarkPropDef",
"description": "Size of the mark.\n- For `\"point\"`, `\"square\"` and `\"circle\"`, – the symbol size, or pixel area of the mark.\n- For `\"bar\"` and `\"tick\"` – the bar and tick's size.\n- For `\"text\"` – the text's font size.\n- Size is unsupported for `\"line\"`, `\"area\"`, and `\"rect\"`. (Use `\"trail\"` instead of line with varying size)"
},
"stroke": {
"$ref": "#/definitions/ColorDef",
"description": "Stroke color of the marks. __Default value:__ If undefined, the default color depends on [mark config](https://vega.github.io/vega-lite/docs/config.html#mark-config)'s `color` property.\n\n_Note:_ The `stroke` encoding has higher precedence than `color`, thus may override the `color` encoding if conflicting encodings are specified."
},
"strokeDash": {
"$ref": "#/definitions/NumericArrayMarkPropDef",
"description": "Stroke dash of the marks.\n\n__Default value:__ `[1,0]` (No dash)."
},
"strokeOpacity": {
"$ref": "#/definitions/NumericMarkPropDef",
"description": "Stroke opacity of the marks.\n\n__Default value:__ If undefined, the default opacity depends on [mark config](https://vega.github.io/vega-lite/docs/config.html#mark-config)'s `strokeOpacity` property."
},
"strokeWidth": {
"$ref": "#/definitions/NumericMarkPropDef",
"description": "Stroke width of the marks.\n\n__Default value:__ If undefined, the default stroke width depends on [mark config](https://vega.github.io/vega-lite/docs/config.html#mark-config)'s `strokeWidth` property."
},
"text": {
"$ref": "#/definitions/TextDef",
"description": "Text of the `text` mark."
},
"theta": {
"$ref": "#/definitions/PolarDef",
"description": "- For arc marks, the arc length in radians if theta2 is not specified, otherwise the start arc angle. (A value of 0 indicates up or “north”, increasing values proceed clockwise.)\n\n- For text marks, polar coordinate angle in radians."
},
"theta2": {
"$ref": "#/definitions/Position2Def",
"description": "The end angle of arc marks in radians. A value of 0 indicates up or “north”, increasing values proceed clockwise."
},
"tooltip": {
"anyOf": [
{
"$ref": "#/definitions/StringFieldDefWithCondition"
},
{
"$ref": "#/definitions/StringValueDefWithCondition"
},
{
"items": {
"$ref": "#/definitions/StringFieldDef"
},
"type": "array"
},
{
"type": "null"
}
],
"description": "The tooltip text to show upon mouse hover. Specifying `tooltip` encoding overrides [the `tooltip` property in the mark definition](https://vega.github.io/vega-lite/docs/mark.html#mark-def).\n\nSee the [`tooltip`](https://vega.github.io/vega-lite/docs/tooltip.html) documentation for a detailed discussion about tooltip in Vega-Lite."
},
"url": {
"anyOf": [
{
"$ref": "#/definitions/StringFieldDefWithCondition"
},
{
"$ref": "#/definitions/StringValueDefWithCondition"
}
],
"description": "The URL of an image mark."
},
"x": {
"$ref": "#/definitions/PositionDef",
"description": "X coordinates of the marks, or width of horizontal `\"bar\"` and `\"area\"` without specified `x2` or `width`.\n\nThe `value` of this channel can be a number or a string `\"width\"` for the width of the plot."
},
"x2": {
"$ref": "#/definitions/Position2Def",
"description": "X2 coordinates for ranged `\"area\"`, `\"bar\"`, `\"rect\"`, and `\"rule\"`.\n\nThe `value` of this channel can be a number or a string `\"width\"` for the width of the plot."
},
"xError": {
"anyOf": [
{
"$ref": "#/definitions/SecondaryFieldDef"
},
{
"$ref": "#/definitions/ValueDef<number>"
}
],
"description": "Error value of x coordinates for error specified `\"errorbar\"` and `\"errorband\"`."
},
"xError2": {
"anyOf": [
{
"$ref": "#/definitions/SecondaryFieldDef"
},
{
"$ref": "#/definitions/ValueDef<number>"
}
],
"description": "Secondary error value of x coordinates for error specified `\"errorbar\"` and `\"errorband\"`."
},
"xOffset": {
"$ref": "#/definitions/OffsetDef",
"description": "Offset of x-position of the marks"
},
"y": {
"$ref": "#/definitions/PositionDef",
"description": "Y coordinates of the marks, or height of vertical `\"bar\"` and `\"area\"` without specified `y2` or `height`.\n\nThe `value` of this channel can be a number or a string `\"height\"` for the height of the plot."
},
"y2": {
"$ref": "#/definitions/Position2Def",
"description": "Y2 coordinates for ranged `\"area\"`, `\"bar\"`, `\"rect\"`, and `\"rule\"`.\n\nThe `value` of this channel can be a number or a string `\"height\"` for the height of the plot."
},
"yError": {
"anyOf": [
{
"$ref": "#/definitions/SecondaryFieldDef"
},
{
"$ref": "#/definitions/ValueDef<number>"
}
],
"description": "Error value of y coordinates for error specified `\"errorbar\"` and `\"errorband\"`."
},
"yError2": {
"anyOf": [
{
"$ref": "#/definitions/SecondaryFieldDef"
},
{
"$ref": "#/definitions/ValueDef<number>"
}
],
"description": "Secondary error value of y coordinates for error specified `\"errorbar\"` and `\"errorband\"`."
},
"yOffset": {
"$ref": "#/definitions/OffsetDef",
"description": "Offset of y-position of the marks"
}
},
"type": "object"
},
"CompositeMark": {
"anyOf": [
{
"$ref": "#/definitions/BoxPlot"
},
{
"$ref": "#/definitions/ErrorBar"
},
{
"$ref": "#/definitions/ErrorBand"
}
]
},
"CompositeMarkDef": {
"anyOf": [
{
"$ref": "#/definitions/BoxPlotDef"
},
{
"$ref": "#/definitions/ErrorBarDef"
},
{
"$ref": "#/definitions/ErrorBandDef"
}
]
},
"CompositionConfig": {
"additionalProperties": false,
"properties": {
"columns": {
"description": "The number of columns to include in the view composition layout.\n\n__Default value__: `undefined` -- An infinite number of columns (a single row) will be assumed. This is equivalent to `hconcat` (for `concat`) and to using the `column` channel (for `facet` and `repeat`).\n\n__Note__:\n\n1) This property is only for:\n- the general (wrappable) `concat` operator (not `hconcat`/`vconcat`)\n- the `facet` and `repeat` operator with one field/repetition definition (without row/column nesting)\n\n2) Setting the `columns` to `1` is equivalent to `vconcat` (for `concat`) and to using the `row` channel (for `facet` and `repeat`).",
"type": "number"
},
"spacing": {
"description": "The default spacing in pixels between composed sub-views.\n\n__Default value__: `20`",
"type": "number"
}
},
"type": "object"
},
"ConditionalMarkPropFieldOrDatumDef": {
"anyOf": [
{
"$ref": "#/definitions/ConditionalPredicate<MarkPropFieldOrDatumDef>"
},
{
"$ref": "#/definitions/ConditionalParameter<MarkPropFieldOrDatumDef>"
}
]
},
"ConditionalMarkPropFieldOrDatumDef<TypeForShape>": {
"anyOf": [
{
"$ref": "#/definitions/ConditionalPredicate<MarkPropFieldOrDatumDef<TypeForShape>>"
},
{
"$ref": "#/definitions/ConditionalParameter<MarkPropFieldOrDatumDef<TypeForShape>>"
}
]
},
"ConditionalStringFieldDef": {
"anyOf": [
{
"$ref": "#/definitions/ConditionalPredicate<StringFieldDef>"
},
{
"$ref": "#/definitions/ConditionalParameter<StringFieldDef>"
}
]
},
"ConditionalValueDef<(Gradient|string|null|ExprRef)>": {
"anyOf": [
{
"$ref": "#/definitions/ConditionalPredicate<ValueDef<(Gradient|string|null|ExprRef)>>"
},
{
"$ref": "#/definitions/ConditionalParameter<ValueDef<(Gradient|string|null|ExprRef)>>"
}
]
},
"ConditionalValueDef<(Text|ExprRef)>": {
"anyOf": [
{
"$ref": "#/definitions/ConditionalPredicate<ValueDef<(Text|ExprRef)>>"
},
{
"$ref": "#/definitions/ConditionalParameter<ValueDef<(Text|ExprRef)>>"
}
]
},
"ConditionalValueDef<(number[]|ExprRef)>": {
"anyOf": [
{
"$ref": "#/definitions/ConditionalPredicate<ValueDef<(number[]|ExprRef)>>"
},
{
"$ref": "#/definitions/ConditionalParameter<ValueDef<(number[]|ExprRef)>>"
}
]
},
"ConditionalValueDef<(number|ExprRef)>": {
"anyOf": [
{
"$ref": "#/definitions/ConditionalPredicate<ValueDef<(number|ExprRef)>>"
},
{
"$ref": "#/definitions/ConditionalParameter<ValueDef<(number|ExprRef)>>"
}
]
},
"ConditionalValueDef<(string|ExprRef)>": {
"anyOf": [
{
"$ref": "#/definitions/ConditionalPredicate<ValueDef<(string|ExprRef)>>"
},
{
"$ref": "#/definitions/ConditionalParameter<ValueDef<(string|ExprRef)>>"
}
]
},
"ConditionalValueDef<(string|null|ExprRef)>": {
"anyOf": [
{
"$ref": "#/definitions/ConditionalPredicate<ValueDef<(string|null|ExprRef)>>"
},
{
"$ref": "#/definitions/ConditionalParameter<ValueDef<(string|null|ExprRef)>>"
}
]
},
"ConditionalValueDef<number>": {
"anyOf": [
{
"$ref": "#/definitions/ConditionalPredicate<ValueDef<number>>"
},
{
"$ref": "#/definitions/ConditionalParameter<ValueDef<number>>"
}
]
},
"ConditionalAxisColor": {
"$ref": "#/definitions/ConditionalAxisProperty<(Color|null)>"
},
"ConditionalAxisLabelAlign": {
"$ref": "#/definitions/ConditionalAxisProperty<(Align|null)>"
},
"ConditionalAxisLabelBaseline": {
"$ref": "#/definitions/ConditionalAxisProperty<(TextBaseline|null)>"
},
"ConditionalAxisLabelFontStyle": {
"$ref": "#/definitions/ConditionalAxisProperty<(FontStyle|null)>"
},
"ConditionalAxisLabelFontWeight": {
"$ref": "#/definitions/ConditionalAxisProperty<(FontWeight|null)>"
},
"ConditionalAxisNumber": {
"$ref": "#/definitions/ConditionalAxisProperty<(number|null)>"
},
"ConditionalAxisNumberArray": {
"$ref": "#/definitions/ConditionalAxisProperty<(number[]|null)>"
},
"ConditionalAxisProperty<(Align|null)>": {
"anyOf": [
{
"additionalProperties": false,
"properties": {
"condition": {
"anyOf": [
{
"$ref": "#/definitions/ConditionalPredicate<(ValueDef<(Align|null)>|ExprRef)>"
},
{
"items": {
"$ref": "#/definitions/ConditionalPredicate<(ValueDef<(Align|null)>|ExprRef)>"
},
"type": "array"
}
]
},
"value": {
"anyOf": [
{
"$ref": "#/definitions/Align"
},
{
"type": "null"
}
],
"description": "A constant value in visual domain (e.g., `\"red\"` / `\"#0099ff\"` / [gradient definition](https://vega.github.io/vega-lite/docs/types.html#gradient) for color, values between `0` to `1` for opacity)."
}
},
"required": [
"condition",
"value"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"condition": {
"anyOf": [
{
"$ref": "#/definitions/ConditionalPredicate<(ValueDef<(Align|null)>|ExprRef)>"
},
{
"items": {
"$ref": "#/definitions/ConditionalPredicate<(ValueDef<(Align|null)>|ExprRef)>"
},
"type": "array"
}
]
},
"expr": {
"description": "Vega expression (which can refer to Vega-Lite parameters).",
"type": "string"
}
},
"required": [
"condition",
"expr"
],
"type": "object"
}
]
},
"ConditionalAxisProperty<(Color|null)>": {
"anyOf": [
{
"additionalProperties": false,
"properties": {
"condition": {
"anyOf": [
{
"$ref": "#/definitions/ConditionalPredicate<(ValueDef<(Color|null)>|ExprRef)>"
},
{
"items": {
"$ref": "#/definitions/ConditionalPredicate<(ValueDef<(Color|null)>|ExprRef)>"
},
"type": "array"
}
]
},
"value": {
"anyOf": [
{
"$ref": "#/definitions/Color"
},
{
"type": "null"
}
],
"description": "A constant value in visual domain (e.g., `\"red\"` / `\"#0099ff\"` / [gradient definition](https://vega.github.io/vega-lite/docs/types.html#gradient) for color, values between `0` to `1` for opacity)."
}
},
"required": [
"condition",
"value"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"condition": {
"anyOf": [
{
"$ref": "#/definitions/ConditionalPredicate<(ValueDef<(Color|null)>|ExprRef)>"
},
{
"items": {
"$ref": "#/definitions/ConditionalPredicate<(ValueDef<(Color|null)>|ExprRef)>"
},
"type": "array"
}
]
},
"expr": {
"description": "Vega expression (which can refer to Vega-Lite parameters).",
"type": "string"
}
},
"required": [
"condition",
"expr"
],
"type": "object"
}
]
},
"ConditionalAxisProperty<(FontStyle|null)>": {
"anyOf": [
{
"additionalProperties": false,
"properties": {
"condition": {
"anyOf": [
{
"$ref": "#/definitions/ConditionalPredicate<(ValueDef<(FontStyle|null)>|ExprRef)>"
},
{
"items": {
"$ref": "#/definitions/ConditionalPredicate<(ValueDef<(FontStyle|null)>|ExprRef)>"
},
"type": "array"
}
]
},
"value": {
"anyOf": [
{
"$ref": "#/definitions/FontStyle"
},
{
"type": "null"
}
],
"description": "A constant value in visual domain (e.g., `\"red\"` / `\"#0099ff\"` / [gradient definition](https://vega.github.io/vega-lite/docs/types.html#gradient) for color, values between `0` to `1` for opacity)."
}
},
"required": [
"condition",
"value"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"condition": {
"anyOf": [
{
"$ref": "#/definitions/ConditionalPredicate<(ValueDef<(FontStyle|null)>|ExprRef)>"
},
{
"items": {
"$ref": "#/definitions/ConditionalPredicate<(ValueDef<(FontStyle|null)>|ExprRef)>"
},
"type": "array"
}
]
},
"expr": {
"description": "Vega expression (which can refer to Vega-Lite parameters).",
"type": "string"
}
},
"required": [
"condition",
"expr"
],
"type": "object"
}
]
},
"ConditionalAxisProperty<(FontWeight|null)>": {
"anyOf": [
{
"additionalProperties": false,
"properties": {
"condition": {
"anyOf": [
{
"$ref": "#/definitions/ConditionalPredicate<(ValueDef<(FontWeight|null)>|ExprRef)>"
},
{
"items": {
"$ref": "#/definitions/ConditionalPredicate<(ValueDef<(FontWeight|null)>|ExprRef)>"
},
"type": "array"
}
]
},
"value": {
"anyOf": [
{
"$ref": "#/definitions/FontWeight"
},
{
"type": "null"
}
],
"description": "A constant value in visual domain (e.g., `\"red\"` / `\"#0099ff\"` / [gradient definition](https://vega.github.io/vega-lite/docs/types.html#gradient) for color, values between `0` to `1` for opacity)."
}
},
"required": [
"condition",
"value"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"condition": {
"anyOf": [
{
"$ref": "#/definitions/ConditionalPredicate<(ValueDef<(FontWeight|null)>|ExprRef)>"
},
{
"items": {
"$ref": "#/definitions/ConditionalPredicate<(ValueDef<(FontWeight|null)>|ExprRef)>"
},
"type": "array"
}
]
},
"expr": {
"description": "Vega expression (which can refer to Vega-Lite parameters).",
"type": "string"
}
},
"required": [
"condition",
"expr"
],
"type": "object"
}
]
},
"ConditionalAxisProperty<(TextBaseline|null)>": {
"anyOf": [
{
"additionalProperties": false,
"properties": {
"condition": {
"anyOf": [
{
"$ref": "#/definitions/ConditionalPredicate<(ValueDef<(TextBaseline|null)>|ExprRef)>"
},
{
"items": {
"$ref": "#/definitions/ConditionalPredicate<(ValueDef<(TextBaseline|null)>|ExprRef)>"
},
"type": "array"
}
]
},
"value": {
"anyOf": [
{
"$ref": "#/definitions/TextBaseline"
},
{
"type": "null"
}
],
"description": "A constant value in visual domain (e.g., `\"red\"` / `\"#0099ff\"` / [gradient definition](https://vega.github.io/vega-lite/docs/types.html#gradient) for color, values between `0` to `1` for opacity)."
}
},
"required": [
"condition",
"value"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"condition": {
"anyOf": [
{
"$ref": "#/definitions/ConditionalPredicate<(ValueDef<(TextBaseline|null)>|ExprRef)>"
},
{
"items": {
"$ref": "#/definitions/ConditionalPredicate<(ValueDef<(TextBaseline|null)>|ExprRef)>"
},
"type": "array"
}
]
},
"expr": {
"description": "Vega expression (which can refer to Vega-Lite parameters).",
"type": "string"
}
},
"required": [
"condition",
"expr"
],
"type": "object"
}
]
},
"ConditionalAxisProperty<(number[]|null)>": {
"anyOf": [
{
"additionalProperties": false,
"properties": {
"condition": {
"anyOf": [
{
"$ref": "#/definitions/ConditionalPredicate<(ValueDef<(number[]|null)>|ExprRef)>"
},
{
"items": {
"$ref": "#/definitions/ConditionalPredicate<(ValueDef<(number[]|null)>|ExprRef)>"
},
"type": "array"
}
]
},
"value": {
"anyOf": [
{
"items": {
"type": "number"
},
"type": "array"
},
{
"type": "null"
}
],
"description": "A constant value in visual domain (e.g., `\"red\"` / `\"#0099ff\"` / [gradient definition](https://vega.github.io/vega-lite/docs/types.html#gradient) for color, values between `0` to `1` for opacity)."
}
},
"required": [
"condition",
"value"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"condition": {
"anyOf": [
{
"$ref": "#/definitions/ConditionalPredicate<(ValueDef<(number[]|null)>|ExprRef)>"
},
{
"items": {
"$ref": "#/definitions/ConditionalPredicate<(ValueDef<(number[]|null)>|ExprRef)>"
},
"type": "array"
}
]
},
"expr": {
"description": "Vega expression (which can refer to Vega-Lite parameters).",
"type": "string"
}
},
"required": [
"condition",
"expr"
],
"type": "object"
}
]
},
"ConditionalAxisProperty<(number|null)>": {
"anyOf": [
{
"additionalProperties": false,
"properties": {
"condition": {
"anyOf": [
{
"$ref": "#/definitions/ConditionalPredicate<(ValueDef<(number|null)>|ExprRef)>"
},
{
"items": {
"$ref": "#/definitions/ConditionalPredicate<(ValueDef<(number|null)>|ExprRef)>"
},
"type": "array"
}
]
},
"value": {
"description": "A constant value in visual domain (e.g., `\"red\"` / `\"#0099ff\"` / [gradient definition](https://vega.github.io/vega-lite/docs/types.html#gradient) for color, values between `0` to `1` for opacity).",
"type": [
"number",
"null"
]
}
},
"required": [
"condition",
"value"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"condition": {
"anyOf": [
{
"$ref": "#/definitions/ConditionalPredicate<(ValueDef<(number|null)>|ExprRef)>"
},
{
"items": {
"$ref": "#/definitions/ConditionalPredicate<(ValueDef<(number|null)>|ExprRef)>"
},
"type": "array"
}
]
},
"expr": {
"description": "Vega expression (which can refer to Vega-Lite parameters).",
"type": "string"
}
},
"required": [
"condition",
"expr"
],
"type": "object"
}
]
},
"ConditionalAxisProperty<(string|null)>": {
"anyOf": [
{
"additionalProperties": false,
"properties": {
"condition": {
"anyOf": [
{
"$ref": "#/definitions/ConditionalPredicate<(ValueDef<(string|null)>|ExprRef)>"
},
{
"items": {
"$ref": "#/definitions/ConditionalPredicate<(ValueDef<(string|null)>|ExprRef)>"
},
"type": "array"
}
]
},
"value": {
"description": "A constant value in visual domain (e.g., `\"red\"` / `\"#0099ff\"` / [gradient definition](https://vega.github.io/vega-lite/docs/types.html#gradient) for color, values between `0` to `1` for opacity).",
"type": [
"string",
"null"
]
}
},
"required": [
"condition",
"value"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"condition": {
"anyOf": [
{
"$ref": "#/definitions/ConditionalPredicate<(ValueDef<(string|null)>|ExprRef)>"
},
{
"items": {
"$ref": "#/definitions/ConditionalPredicate<(ValueDef<(string|null)>|ExprRef)>"
},
"type": "array"
}
]
},
"expr": {
"description": "Vega expression (which can refer to Vega-Lite parameters).",
"type": "string"
}
},
"required": [
"condition",
"expr"
],
"type": "object"
}
]
},
"ConditionalAxisString": {
"$ref": "#/definitions/ConditionalAxisProperty<(string|null)>"
},
"ConditionalParameter<MarkPropFieldOrDatumDef>": {
"anyOf": [
{
"additionalProperties": false,
"properties": {
"aggregate": {
"$ref": "#/definitions/Aggregate",
"description": "Aggregation function for the field (e.g., `\"mean\"`, `\"sum\"`, `\"median\"`, `\"min\"`, `\"max\"`, `\"count\"`).\n\n__Default value:__ `undefined` (None)\n\n__See also:__ [`aggregate`](https://vega.github.io/vega-lite/docs/aggregate.html) documentation."
},
"bandPosition": {
"description": "Relative position on a band of a stacked, binned, time unit, or band scale. For example, the marks will be positioned at the beginning of the band if set to `0`, and at the middle of the band if set to `0.5`.",
"maximum": 1,
"minimum": 0,
"type": "number"
},
"bin": {
"anyOf": [
{
"type": "boolean"
},
{
"$ref": "#/definitions/BinParams"
},
{
"type": "null"
}
],
"description": "A flag for binning a `quantitative` field, [an object defining binning parameters](https://vega.github.io/vega-lite/docs/bin.html#params), or indicating that the data for `x` or `y` channel are binned before they are imported into Vega-Lite (`\"binned\"`).\n\n- If `true`, default [binning parameters](https://vega.github.io/vega-lite/docs/bin.html) will be applied.\n\n- If `\"binned\"`, this indicates that the data for the `x` (or `y`) channel are already binned. You can map the bin-start field to `x` (or `y`) and the bin-end field to `x2` (or `y2`). The scale and axis will be formatted similar to binning in Vega-Lite. To adjust the axis ticks based on the bin step, you can also set the axis's [`tickMinStep`](https://vega.github.io/vega-lite/docs/axis.html#ticks) property.\n\n__Default value:__ `false`\n\n__See also:__ [`bin`](https://vega.github.io/vega-lite/docs/bin.html) documentation."
},
"empty": {
"description": "For selection parameters, the predicate of empty selections returns true by default. Override this behavior, by setting this property `empty: false`.",
"type": "boolean"
},
"field": {
"$ref": "#/definitions/Field",
"description": "__Required.__ A string defining the name of the field from which to pull a data value or an object defining iterated values from the [`repeat`](https://vega.github.io/vega-lite/docs/repeat.html) operator.\n\n__See also:__ [`field`](https://vega.github.io/vega-lite/docs/field.html) documentation.\n\n__Notes:__ 1) Dots (`.`) and brackets (`[` and `]`) can be used to access nested objects (e.g., `\"field\": \"foo.bar\"` and `\"field\": \"foo['bar']\"`). If field names contain dots or brackets but are not nested, you can use `\\\\` to escape dots and brackets (e.g., `\"a\\\\.b\"` and `\"a\\\\[0\\\\]\"`). See more details about escaping in the [field documentation](https://vega.github.io/vega-lite/docs/field.html). 2) `field` is not required if `aggregate` is `count`."
},
"legend": {
"anyOf": [
{
"$ref": "#/definitions/Legend"
},
{
"type": "null"
}
],
"description": "An object defining properties of the legend. If `null`, the legend for the encoding channel will be removed.\n\n__Default value:__ If undefined, default [legend properties](https://vega.github.io/vega-lite/docs/legend.html) are applied.\n\n__See also:__ [`legend`](https://vega.github.io/vega-lite/docs/legend.html) documentation."
},
"param": {
"$ref": "#/definitions/ParameterName",
"description": "Filter using a parameter name."
},
"scale": {
"anyOf": [
{
"$ref": "#/definitions/Scale"
},
{
"type": "null"
}
],
"description": "An object defining properties of the channel's scale, which is the function that transforms values in the data domain (numbers, dates, strings, etc) to visual values (pixels, colors, sizes) of the encoding channels.\n\nIf `null`, the scale will be [disabled and the data value will be directly encoded](https://vega.github.io/vega-lite/docs/scale.html#disable).\n\n__Default value:__ If undefined, default [scale properties](https://vega.github.io/vega-lite/docs/scale.html) are applied.\n\n__See also:__ [`scale`](https://vega.github.io/vega-lite/docs/scale.html) documentation."
},
"sort": {
"$ref": "#/definitions/Sort",
"description": "Sort order for the encoded field.\n\nFor continuous fields (quantitative or temporal), `sort` can be either `\"ascending\"` or `\"descending\"`.\n\nFor discrete fields, `sort` can be one of the following:\n- `\"ascending\"` or `\"descending\"` -- for sorting by the values' natural order in JavaScript.\n- [A string indicating an encoding channel name to sort by](https://vega.github.io/vega-lite/docs/sort.html#sort-by-encoding) (e.g., `\"x\"` or `\"y\"`) with an optional minus prefix for descending sort (e.g., `\"-x\"` to sort by x-field, descending). This channel string is short-form of [a sort-by-encoding definition](https://vega.github.io/vega-lite/docs/sort.html#sort-by-encoding). For example, `\"sort\": \"-x\"` is equivalent to `\"sort\": {\"encoding\": \"x\", \"order\": \"descending\"}`.\n- [A sort field definition](https://vega.github.io/vega-lite/docs/sort.html#sort-field) for sorting by another field.\n- [An array specifying the field values in preferred order](https://vega.github.io/vega-lite/docs/sort.html#sort-array). In this case, the sort order will obey the values in the array, followed by any unspecified values in their original order. For discrete time field, values in the sort array can be [date-time definition objects](types#datetime). In addition, for time units `\"month\"` and `\"day\"`, the values can be the month or day names (case insensitive) or their 3-letter initials (e.g., `\"Mon\"`, `\"Tue\"`).\n- `null` indicating no sort.\n\n__Default value:__ `\"ascending\"`\n\n__Note:__ `null` and sorting by another channel is not supported for `row` and `column`.\n\n__See also:__ [`sort`](https://vega.github.io/vega-lite/docs/sort.html) documentation."
},
"timeUnit": {
"anyOf": [
{
"$ref": "#/definitions/TimeUnit"
},
{
"$ref": "#/definitions/TimeUnitParams"
}
],
"description": "Time unit (e.g., `year`, `yearmonth`, `month`, `hours`) for a temporal field. or [a temporal field that gets casted as ordinal](https://vega.github.io/vega-lite/docs/type.html#cast).\n\n__Default value:__ `undefined` (None)\n\n__See also:__ [`timeUnit`](https://vega.github.io/vega-lite/docs/timeunit.html) documentation."
},
"title": {
"anyOf": [
{
"$ref": "#/definitions/Text"
},
{
"type": "null"
}
],
"description": "A title for the field. If `null`, the title will be removed.\n\n__Default value:__ derived from the field's name and transformation function (`aggregate`, `bin` and `timeUnit`). If the field has an aggregate function, the function is displayed as part of the title (e.g., `\"Sum of Profit\"`). If the field is binned or has a time unit applied, the applied function is shown in parentheses (e.g., `\"Profit (binned)\"`, `\"Transaction Date (year-month)\"`). Otherwise, the title is simply the field name.\n\n__Notes__:\n\n1) You can customize the default field title format by providing the [`fieldTitle`](https://vega.github.io/vega-lite/docs/config.html#top-level-config) property in the [config](https://vega.github.io/vega-lite/docs/config.html) or [`fieldTitle` function via the `compile` function's options](https://vega.github.io/vega-lite/usage/compile.html#field-title).\n\n2) If both field definition's `title` and axis, header, or legend `title` are defined, axis/header/legend title will be used."
},
"type": {
"$ref": "#/definitions/StandardType",
"description": "The type of measurement (`\"quantitative\"`, `\"temporal\"`, `\"ordinal\"`, or `\"nominal\"`) for the encoded field or constant value (`datum`). It can also be a `\"geojson\"` type for encoding ['geoshape'](https://vega.github.io/vega-lite/docs/geoshape.html).\n\nVega-Lite automatically infers data types in many cases as discussed below. However, type is required for a field if: (1) the field is not nominal and the field encoding has no specified `aggregate` (except `argmin` and `argmax`), `bin`, scale type, custom `sort` order, nor `timeUnit` or (2) if you wish to use an ordinal scale for a field with `bin` or `timeUnit`.\n\n__Default value:__\n\n1) For a data `field`, `\"nominal\"` is the default data type unless the field encoding has `aggregate`, `channel`, `bin`, scale type, `sort`, or `timeUnit` that satisfies the following criteria:\n- `\"quantitative\"` is the default type if (1) the encoded field contains `bin` or `aggregate` except `\"argmin\"` and `\"argmax\"`, (2) the encoding channel is `latitude` or `longitude` channel or (3) if the specified scale type is [a quantitative scale](https://vega.github.io/vega-lite/docs/scale.html#type).\n- `\"temporal\"` is the default type if (1) the encoded field contains `timeUnit` or (2) the specified scale type is a time or utc scale\n- `ordinal\"\"` is the default type if (1) the encoded field contains a [custom `sort` order](https://vega.github.io/vega-lite/docs/sort.html#specifying-custom-sort-order), (2) the specified scale type is an ordinal/point/band scale, or (3) the encoding channel is `order`.\n\n2) For a constant value in data domain (`datum`):\n- `\"quantitative\"` if the datum is a number\n- `\"nominal\"` if the datum is a string\n- `\"temporal\"` if the datum is [a date time object](https://vega.github.io/vega-lite/docs/datetime.html)\n\n__Note:__\n- Data `type` describes the semantics of the data rather than the primitive data types (number, string, etc.). The same primitive data type can have different types of measurement. For example, numeric data can represent quantitative, ordinal, or nominal data.\n- Data values for a temporal field can be either a date-time string (e.g., `\"2015-03-07 12:32:17\"`, `\"17:01\"`, `\"2015-03-16\"`. `\"2015\"`) or a timestamp number (e.g., `1552199579097`).\n- When using with [`bin`](https://vega.github.io/vega-lite/docs/bin.html), the `type` property can be either `\"quantitative\"` (for using a linear bin scale) or [`\"ordinal\"` (for using an ordinal bin scale)](https://vega.github.io/vega-lite/docs/type.html#cast-bin).\n- When using with [`timeUnit`](https://vega.github.io/vega-lite/docs/timeunit.html), the `type` property can be either `\"temporal\"` (default, for using a temporal scale) or [`\"ordinal\"` (for using an ordinal scale)](https://vega.github.io/vega-lite/docs/type.html#cast-bin).\n- When using with [`aggregate`](https://vega.github.io/vega-lite/docs/aggregate.html), the `type` property refers to the post-aggregation data type. For example, we can calculate count `distinct` of a categorical field `\"cat\"` using `{\"aggregate\": \"distinct\", \"field\": \"cat\"}`. The `\"type\"` of the aggregate output is `\"quantitative\"`.\n- Secondary channels (e.g., `x2`, `y2`, `xError`, `yError`) do not have `type` as they must have exactly the same type as their primary channels (e.g., `x`, `y`).\n\n__See also:__ [`type`](https://vega.github.io/vega-lite/docs/type.html) documentation."
}
},
"required": [
"param"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"bandPosition": {
"description": "Relative position on a band of a stacked, binned, time unit, or band scale. For example, the marks will be positioned at the beginning of the band if set to `0`, and at the middle of the band if set to `0.5`.",
"maximum": 1,
"minimum": 0,
"type": "number"
},
"datum": {
"anyOf": [
{
"$ref": "#/definitions/PrimitiveValue"
},
{
"$ref": "#/definitions/DateTime"
},
{
"$ref": "#/definitions/ExprRef"
},
{
"$ref": "#/definitions/RepeatRef"
}
],
"description": "A constant value in data domain."
},
"empty": {
"description": "For selection parameters, the predicate of empty selections returns true by default. Override this behavior, by setting this property `empty: false`.",
"type": "boolean"
},
"legend": {
"anyOf": [
{
"$ref": "#/definitions/Legend"
},
{
"type": "null"
}
],
"description": "An object defining properties of the legend. If `null`, the legend for the encoding channel will be removed.\n\n__Default value:__ If undefined, default [legend properties](https://vega.github.io/vega-lite/docs/legend.html) are applied.\n\n__See also:__ [`legend`](https://vega.github.io/vega-lite/docs/legend.html) documentation."
},
"param": {
"$ref": "#/definitions/ParameterName",
"description": "Filter using a parameter name."
},
"scale": {
"anyOf": [
{
"$ref": "#/definitions/Scale"
},
{
"type": "null"
}
],
"description": "An object defining properties of the channel's scale, which is the function that transforms values in the data domain (numbers, dates, strings, etc) to visual values (pixels, colors, sizes) of the encoding channels.\n\nIf `null`, the scale will be [disabled and the data value will be directly encoded](https://vega.github.io/vega-lite/docs/scale.html#disable).\n\n__Default value:__ If undefined, default [scale properties](https://vega.github.io/vega-lite/docs/scale.html) are applied.\n\n__See also:__ [`scale`](https://vega.github.io/vega-lite/docs/scale.html) documentation."
},
"title": {
"anyOf": [
{
"$ref": "#/definitions/Text"
},
{
"type": "null"
}
],
"description": "A title for the field. If `null`, the title will be removed.\n\n__Default value:__ derived from the field's name and transformation function (`aggregate`, `bin` and `timeUnit`). If the field has an aggregate function, the function is displayed as part of the title (e.g., `\"Sum of Profit\"`). If the field is binned or has a time unit applied, the applied function is shown in parentheses (e.g., `\"Profit (binned)\"`, `\"Transaction Date (year-month)\"`). Otherwise, the title is simply the field name.\n\n__Notes__:\n\n1) You can customize the default field title format by providing the [`fieldTitle`](https://vega.github.io/vega-lite/docs/config.html#top-level-config) property in the [config](https://vega.github.io/vega-lite/docs/config.html) or [`fieldTitle` function via the `compile` function's options](https://vega.github.io/vega-lite/usage/compile.html#field-title).\n\n2) If both field definition's `title` and axis, header, or legend `title` are defined, axis/header/legend title will be used."
},
"type": {
"$ref": "#/definitions/Type",
"description": "The type of measurement (`\"quantitative\"`, `\"temporal\"`, `\"ordinal\"`, or `\"nominal\"`) for the encoded field or constant value (`datum`). It can also be a `\"geojson\"` type for encoding ['geoshape'](https://vega.github.io/vega-lite/docs/geoshape.html).\n\nVega-Lite automatically infers data types in many cases as discussed below. However, type is required for a field if: (1) the field is not nominal and the field encoding has no specified `aggregate` (except `argmin` and `argmax`), `bin`, scale type, custom `sort` order, nor `timeUnit` or (2) if you wish to use an ordinal scale for a field with `bin` or `timeUnit`.\n\n__Default value:__\n\n1) For a data `field`, `\"nominal\"` is the default data type unless the field encoding has `aggregate`, `channel`, `bin`, scale type, `sort`, or `timeUnit` that satisfies the following criteria:\n- `\"quantitative\"` is the default type if (1) the encoded field contains `bin` or `aggregate` except `\"argmin\"` and `\"argmax\"`, (2) the encoding channel is `latitude` or `longitude` channel or (3) if the specified scale type is [a quantitative scale](https://vega.github.io/vega-lite/docs/scale.html#type).\n- `\"temporal\"` is the default type if (1) the encoded field contains `timeUnit` or (2) the specified scale type is a time or utc scale\n- `ordinal\"\"` is the default type if (1) the encoded field contains a [custom `sort` order](https://vega.github.io/vega-lite/docs/sort.html#specifying-custom-sort-order), (2) the specified scale type is an ordinal/point/band scale, or (3) the encoding channel is `order`.\n\n2) For a constant value in data domain (`datum`):\n- `\"quantitative\"` if the datum is a number\n- `\"nominal\"` if the datum is a string\n- `\"temporal\"` if the datum is [a date time object](https://vega.github.io/vega-lite/docs/datetime.html)\n\n__Note:__\n- Data `type` describes the semantics of the data rather than the primitive data types (number, string, etc.). The same primitive data type can have different types of measurement. For example, numeric data can represent quantitative, ordinal, or nominal data.\n- Data values for a temporal field can be either a date-time string (e.g., `\"2015-03-07 12:32:17\"`, `\"17:01\"`, `\"2015-03-16\"`. `\"2015\"`) or a timestamp number (e.g., `1552199579097`).\n- When using with [`bin`](https://vega.github.io/vega-lite/docs/bin.html), the `type` property can be either `\"quantitative\"` (for using a linear bin scale) or [`\"ordinal\"` (for using an ordinal bin scale)](https://vega.github.io/vega-lite/docs/type.html#cast-bin).\n- When using with [`timeUnit`](https://vega.github.io/vega-lite/docs/timeunit.html), the `type` property can be either `\"temporal\"` (default, for using a temporal scale) or [`\"ordinal\"` (for using an ordinal scale)](https://vega.github.io/vega-lite/docs/type.html#cast-bin).\n- When using with [`aggregate`](https://vega.github.io/vega-lite/docs/aggregate.html), the `type` property refers to the post-aggregation data type. For example, we can calculate count `distinct` of a categorical field `\"cat\"` using `{\"aggregate\": \"distinct\", \"field\": \"cat\"}`. The `\"type\"` of the aggregate output is `\"quantitative\"`.\n- Secondary channels (e.g., `x2`, `y2`, `xError`, `yError`) do not have `type` as they must have exactly the same type as their primary channels (e.g., `x`, `y`).\n\n__See also:__ [`type`](https://vega.github.io/vega-lite/docs/type.html) documentation."
}
},
"required": [
"param"
],
"type": "object"
}
]
},
"ConditionalParameter<MarkPropFieldOrDatumDef<TypeForShape>>": {
"anyOf": [
{
"additionalProperties": false,
"properties": {
"aggregate": {
"$ref": "#/definitions/Aggregate",
"description": "Aggregation function for the field (e.g., `\"mean\"`, `\"sum\"`, `\"median\"`, `\"min\"`, `\"max\"`, `\"count\"`).\n\n__Default value:__ `undefined` (None)\n\n__See also:__ [`aggregate`](https://vega.github.io/vega-lite/docs/aggregate.html) documentation."
},
"bandPosition": {
"description": "Relative position on a band of a stacked, binned, time unit, or band scale. For example, the marks will be positioned at the beginning of the band if set to `0`, and at the middle of the band if set to `0.5`.",
"maximum": 1,
"minimum": 0,
"type": "number"
},
"bin": {
"anyOf": [
{
"type": "boolean"
},
{
"$ref": "#/definitions/BinParams"
},
{
"type": "null"
}
],
"description": "A flag for binning a `quantitative` field, [an object defining binning parameters](https://vega.github.io/vega-lite/docs/bin.html#params), or indicating that the data for `x` or `y` channel are binned before they are imported into Vega-Lite (`\"binned\"`).\n\n- If `true`, default [binning parameters](https://vega.github.io/vega-lite/docs/bin.html) will be applied.\n\n- If `\"binned\"`, this indicates that the data for the `x` (or `y`) channel are already binned. You can map the bin-start field to `x` (or `y`) and the bin-end field to `x2` (or `y2`). The scale and axis will be formatted similar to binning in Vega-Lite. To adjust the axis ticks based on the bin step, you can also set the axis's [`tickMinStep`](https://vega.github.io/vega-lite/docs/axis.html#ticks) property.\n\n__Default value:__ `false`\n\n__See also:__ [`bin`](https://vega.github.io/vega-lite/docs/bin.html) documentation."
},
"empty": {
"description": "For selection parameters, the predicate of empty selections returns true by default. Override this behavior, by setting this property `empty: false`.",
"type": "boolean"
},
"field": {
"$ref": "#/definitions/Field",
"description": "__Required.__ A string defining the name of the field from which to pull a data value or an object defining iterated values from the [`repeat`](https://vega.github.io/vega-lite/docs/repeat.html) operator.\n\n__See also:__ [`field`](https://vega.github.io/vega-lite/docs/field.html) documentation.\n\n__Notes:__ 1) Dots (`.`) and brackets (`[` and `]`) can be used to access nested objects (e.g., `\"field\": \"foo.bar\"` and `\"field\": \"foo['bar']\"`). If field names contain dots or brackets but are not nested, you can use `\\\\` to escape dots and brackets (e.g., `\"a\\\\.b\"` and `\"a\\\\[0\\\\]\"`). See more details about escaping in the [field documentation](https://vega.github.io/vega-lite/docs/field.html). 2) `field` is not required if `aggregate` is `count`."
},
"legend": {
"anyOf": [
{
"$ref": "#/definitions/Legend"
},
{
"type": "null"
}
],
"description": "An object defining properties of the legend. If `null`, the legend for the encoding channel will be removed.\n\n__Default value:__ If undefined, default [legend properties](https://vega.github.io/vega-lite/docs/legend.html) are applied.\n\n__See also:__ [`legend`](https://vega.github.io/vega-lite/docs/legend.html) documentation."
},
"param": {
"$ref": "#/definitions/ParameterName",
"description": "Filter using a parameter name."
},
"scale": {
"anyOf": [
{
"$ref": "#/definitions/Scale"
},
{
"type": "null"
}
],
"description": "An object defining properties of the channel's scale, which is the function that transforms values in the data domain (numbers, dates, strings, etc) to visual values (pixels, colors, sizes) of the encoding channels.\n\nIf `null`, the scale will be [disabled and the data value will be directly encoded](https://vega.github.io/vega-lite/docs/scale.html#disable).\n\n__Default value:__ If undefined, default [scale properties](https://vega.github.io/vega-lite/docs/scale.html) are applied.\n\n__See also:__ [`scale`](https://vega.github.io/vega-lite/docs/scale.html) documentation."
},
"sort": {
"$ref": "#/definitions/Sort",
"description": "Sort order for the encoded field.\n\nFor continuous fields (quantitative or temporal), `sort` can be either `\"ascending\"` or `\"descending\"`.\n\nFor discrete fields, `sort` can be one of the following:\n- `\"ascending\"` or `\"descending\"` -- for sorting by the values' natural order in JavaScript.\n- [A string indicating an encoding channel name to sort by](https://vega.github.io/vega-lite/docs/sort.html#sort-by-encoding) (e.g., `\"x\"` or `\"y\"`) with an optional minus prefix for descending sort (e.g., `\"-x\"` to sort by x-field, descending). This channel string is short-form of [a sort-by-encoding definition](https://vega.github.io/vega-lite/docs/sort.html#sort-by-encoding). For example, `\"sort\": \"-x\"` is equivalent to `\"sort\": {\"encoding\": \"x\", \"order\": \"descending\"}`.\n- [A sort field definition](https://vega.github.io/vega-lite/docs/sort.html#sort-field) for sorting by another field.\n- [An array specifying the field values in preferred order](https://vega.github.io/vega-lite/docs/sort.html#sort-array). In this case, the sort order will obey the values in the array, followed by any unspecified values in their original order. For discrete time field, values in the sort array can be [date-time definition objects](types#datetime). In addition, for time units `\"month\"` and `\"day\"`, the values can be the month or day names (case insensitive) or their 3-letter initials (e.g., `\"Mon\"`, `\"Tue\"`).\n- `null` indicating no sort.\n\n__Default value:__ `\"ascending\"`\n\n__Note:__ `null` and sorting by another channel is not supported for `row` and `column`.\n\n__See also:__ [`sort`](https://vega.github.io/vega-lite/docs/sort.html) documentation."
},
"timeUnit": {
"anyOf": [
{
"$ref": "#/definitions/TimeUnit"
},
{
"$ref": "#/definitions/TimeUnitParams"
}
],
"description": "Time unit (e.g., `year`, `yearmonth`, `month`, `hours`) for a temporal field. or [a temporal field that gets casted as ordinal](https://vega.github.io/vega-lite/docs/type.html#cast).\n\n__Default value:__ `undefined` (None)\n\n__See also:__ [`timeUnit`](https://vega.github.io/vega-lite/docs/timeunit.html) documentation."
},
"title": {
"anyOf": [
{
"$ref": "#/definitions/Text"
},
{
"type": "null"
}
],
"description": "A title for the field. If `null`, the title will be removed.\n\n__Default value:__ derived from the field's name and transformation function (`aggregate`, `bin` and `timeUnit`). If the field has an aggregate function, the function is displayed as part of the title (e.g., `\"Sum of Profit\"`). If the field is binned or has a time unit applied, the applied function is shown in parentheses (e.g., `\"Profit (binned)\"`, `\"Transaction Date (year-month)\"`). Otherwise, the title is simply the field name.\n\n__Notes__:\n\n1) You can customize the default field title format by providing the [`fieldTitle`](https://vega.github.io/vega-lite/docs/config.html#top-level-config) property in the [config](https://vega.github.io/vega-lite/docs/config.html) or [`fieldTitle` function via the `compile` function's options](https://vega.github.io/vega-lite/usage/compile.html#field-title).\n\n2) If both field definition's `title` and axis, header, or legend `title` are defined, axis/header/legend title will be used."
},
"type": {
"$ref": "#/definitions/TypeForShape",
"description": "The type of measurement (`\"quantitative\"`, `\"temporal\"`, `\"ordinal\"`, or `\"nominal\"`) for the encoded field or constant value (`datum`). It can also be a `\"geojson\"` type for encoding ['geoshape'](https://vega.github.io/vega-lite/docs/geoshape.html).\n\nVega-Lite automatically infers data types in many cases as discussed below. However, type is required for a field if: (1) the field is not nominal and the field encoding has no specified `aggregate` (except `argmin` and `argmax`), `bin`, scale type, custom `sort` order, nor `timeUnit` or (2) if you wish to use an ordinal scale for a field with `bin` or `timeUnit`.\n\n__Default value:__\n\n1) For a data `field`, `\"nominal\"` is the default data type unless the field encoding has `aggregate`, `channel`, `bin`, scale type, `sort`, or `timeUnit` that satisfies the following criteria:\n- `\"quantitative\"` is the default type if (1) the encoded field contains `bin` or `aggregate` except `\"argmin\"` and `\"argmax\"`, (2) the encoding channel is `latitude` or `longitude` channel or (3) if the specified scale type is [a quantitative scale](https://vega.github.io/vega-lite/docs/scale.html#type).\n- `\"temporal\"` is the default type if (1) the encoded field contains `timeUnit` or (2) the specified scale type is a time or utc scale\n- `ordinal\"\"` is the default type if (1) the encoded field contains a [custom `sort` order](https://vega.github.io/vega-lite/docs/sort.html#specifying-custom-sort-order), (2) the specified scale type is an ordinal/point/band scale, or (3) the encoding channel is `order`.\n\n2) For a constant value in data domain (`datum`):\n- `\"quantitative\"` if the datum is a number\n- `\"nominal\"` if the datum is a string\n- `\"temporal\"` if the datum is [a date time object](https://vega.github.io/vega-lite/docs/datetime.html)\n\n__Note:__\n- Data `type` describes the semantics of the data rather than the primitive data types (number, string, etc.). The same primitive data type can have different types of measurement. For example, numeric data can represent quantitative, ordinal, or nominal data.\n- Data values for a temporal field can be either a date-time string (e.g., `\"2015-03-07 12:32:17\"`, `\"17:01\"`, `\"2015-03-16\"`. `\"2015\"`) or a timestamp number (e.g., `1552199579097`).\n- When using with [`bin`](https://vega.github.io/vega-lite/docs/bin.html), the `type` property can be either `\"quantitative\"` (for using a linear bin scale) or [`\"ordinal\"` (for using an ordinal bin scale)](https://vega.github.io/vega-lite/docs/type.html#cast-bin).\n- When using with [`timeUnit`](https://vega.github.io/vega-lite/docs/timeunit.html), the `type` property can be either `\"temporal\"` (default, for using a temporal scale) or [`\"ordinal\"` (for using an ordinal scale)](https://vega.github.io/vega-lite/docs/type.html#cast-bin).\n- When using with [`aggregate`](https://vega.github.io/vega-lite/docs/aggregate.html), the `type` property refers to the post-aggregation data type. For example, we can calculate count `distinct` of a categorical field `\"cat\"` using `{\"aggregate\": \"distinct\", \"field\": \"cat\"}`. The `\"type\"` of the aggregate output is `\"quantitative\"`.\n- Secondary channels (e.g., `x2`, `y2`, `xError`, `yError`) do not have `type` as they must have exactly the same type as their primary channels (e.g., `x`, `y`).\n\n__See also:__ [`type`](https://vega.github.io/vega-lite/docs/type.html) documentation."
}
},
"required": [
"param"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"bandPosition": {
"description": "Relative position on a band of a stacked, binned, time unit, or band scale. For example, the marks will be positioned at the beginning of the band if set to `0`, and at the middle of the band if set to `0.5`.",
"maximum": 1,
"minimum": 0,
"type": "number"
},
"datum": {
"anyOf": [
{
"$ref": "#/definitions/PrimitiveValue"
},
{
"$ref": "#/definitions/DateTime"
},
{
"$ref": "#/definitions/ExprRef"
},
{
"$ref": "#/definitions/RepeatRef"
}
],
"description": "A constant value in data domain."
},
"empty": {
"description": "For selection parameters, the predicate of empty selections returns true by default. Override this behavior, by setting this property `empty: false`.",
"type": "boolean"
},
"legend": {
"anyOf": [
{
"$ref": "#/definitions/Legend"
},
{
"type": "null"
}
],
"description": "An object defining properties of the legend. If `null`, the legend for the encoding channel will be removed.\n\n__Default value:__ If undefined, default [legend properties](https://vega.github.io/vega-lite/docs/legend.html) are applied.\n\n__See also:__ [`legend`](https://vega.github.io/vega-lite/docs/legend.html) documentation."
},
"param": {
"$ref": "#/definitions/ParameterName",
"description": "Filter using a parameter name."
},
"scale": {
"anyOf": [
{
"$ref": "#/definitions/Scale"
},
{
"type": "null"
}
],
"description": "An object defining properties of the channel's scale, which is the function that transforms values in the data domain (numbers, dates, strings, etc) to visual values (pixels, colors, sizes) of the encoding channels.\n\nIf `null`, the scale will be [disabled and the data value will be directly encoded](https://vega.github.io/vega-lite/docs/scale.html#disable).\n\n__Default value:__ If undefined, default [scale properties](https://vega.github.io/vega-lite/docs/scale.html) are applied.\n\n__See also:__ [`scale`](https://vega.github.io/vega-lite/docs/scale.html) documentation."
},
"title": {
"anyOf": [
{
"$ref": "#/definitions/Text"
},
{
"type": "null"
}
],
"description": "A title for the field. If `null`, the title will be removed.\n\n__Default value:__ derived from the field's name and transformation function (`aggregate`, `bin` and `timeUnit`). If the field has an aggregate function, the function is displayed as part of the title (e.g., `\"Sum of Profit\"`). If the field is binned or has a time unit applied, the applied function is shown in parentheses (e.g., `\"Profit (binned)\"`, `\"Transaction Date (year-month)\"`). Otherwise, the title is simply the field name.\n\n__Notes__:\n\n1) You can customize the default field title format by providing the [`fieldTitle`](https://vega.github.io/vega-lite/docs/config.html#top-level-config) property in the [config](https://vega.github.io/vega-lite/docs/config.html) or [`fieldTitle` function via the `compile` function's options](https://vega.github.io/vega-lite/usage/compile.html#field-title).\n\n2) If both field definition's `title` and axis, header, or legend `title` are defined, axis/header/legend title will be used."
},
"type": {
"$ref": "#/definitions/Type",
"description": "The type of measurement (`\"quantitative\"`, `\"temporal\"`, `\"ordinal\"`, or `\"nominal\"`) for the encoded field or constant value (`datum`). It can also be a `\"geojson\"` type for encoding ['geoshape'](https://vega.github.io/vega-lite/docs/geoshape.html).\n\nVega-Lite automatically infers data types in many cases as discussed below. However, type is required for a field if: (1) the field is not nominal and the field encoding has no specified `aggregate` (except `argmin` and `argmax`), `bin`, scale type, custom `sort` order, nor `timeUnit` or (2) if you wish to use an ordinal scale for a field with `bin` or `timeUnit`.\n\n__Default value:__\n\n1) For a data `field`, `\"nominal\"` is the default data type unless the field encoding has `aggregate`, `channel`, `bin`, scale type, `sort`, or `timeUnit` that satisfies the following criteria:\n- `\"quantitative\"` is the default type if (1) the encoded field contains `bin` or `aggregate` except `\"argmin\"` and `\"argmax\"`, (2) the encoding channel is `latitude` or `longitude` channel or (3) if the specified scale type is [a quantitative scale](https://vega.github.io/vega-lite/docs/scale.html#type).\n- `\"temporal\"` is the default type if (1) the encoded field contains `timeUnit` or (2) the specified scale type is a time or utc scale\n- `ordinal\"\"` is the default type if (1) the encoded field contains a [custom `sort` order](https://vega.github.io/vega-lite/docs/sort.html#specifying-custom-sort-order), (2) the specified scale type is an ordinal/point/band scale, or (3) the encoding channel is `order`.\n\n2) For a constant value in data domain (`datum`):\n- `\"quantitative\"` if the datum is a number\n- `\"nominal\"` if the datum is a string\n- `\"temporal\"` if the datum is [a date time object](https://vega.github.io/vega-lite/docs/datetime.html)\n\n__Note:__\n- Data `type` describes the semantics of the data rather than the primitive data types (number, string, etc.). The same primitive data type can have different types of measurement. For example, numeric data can represent quantitative, ordinal, or nominal data.\n- Data values for a temporal field can be either a date-time string (e.g., `\"2015-03-07 12:32:17\"`, `\"17:01\"`, `\"2015-03-16\"`. `\"2015\"`) or a timestamp number (e.g., `1552199579097`).\n- When using with [`bin`](https://vega.github.io/vega-lite/docs/bin.html), the `type` property can be either `\"quantitative\"` (for using a linear bin scale) or [`\"ordinal\"` (for using an ordinal bin scale)](https://vega.github.io/vega-lite/docs/type.html#cast-bin).\n- When using with [`timeUnit`](https://vega.github.io/vega-lite/docs/timeunit.html), the `type` property can be either `\"temporal\"` (default, for using a temporal scale) or [`\"ordinal\"` (for using an ordinal scale)](https://vega.github.io/vega-lite/docs/type.html#cast-bin).\n- When using with [`aggregate`](https://vega.github.io/vega-lite/docs/aggregate.html), the `type` property refers to the post-aggregation data type. For example, we can calculate count `distinct` of a categorical field `\"cat\"` using `{\"aggregate\": \"distinct\", \"field\": \"cat\"}`. The `\"type\"` of the aggregate output is `\"quantitative\"`.\n- Secondary channels (e.g., `x2`, `y2`, `xError`, `yError`) do not have `type` as they must have exactly the same type as their primary channels (e.g., `x`, `y`).\n\n__See also:__ [`type`](https://vega.github.io/vega-lite/docs/type.html) documentation."
}
},
"required": [
"param"
],
"type": "object"
}
]
},
"ConditionalParameter<StringFieldDef>": {
"additionalProperties": false,
"properties": {
"aggregate": {
"$ref": "#/definitions/Aggregate",
"description": "Aggregation function for the field (e.g., `\"mean\"`, `\"sum\"`, `\"median\"`, `\"min\"`, `\"max\"`, `\"count\"`).\n\n__Default value:__ `undefined` (None)\n\n__See also:__ [`aggregate`](https://vega.github.io/vega-lite/docs/aggregate.html) documentation."
},
"bandPosition": {
"description": "Relative position on a band of a stacked, binned, time unit, or band scale. For example, the marks will be positioned at the beginning of the band if set to `0`, and at the middle of the band if set to `0.5`.",
"maximum": 1,
"minimum": 0,
"type": "number"
},
"bin": {
"anyOf": [
{
"type": "boolean"
},
{
"$ref": "#/definitions/BinParams"
},
{
"const": "binned",
"type": "string"
},
{
"type": "null"
}
],
"description": "A flag for binning a `quantitative` field, [an object defining binning parameters](https://vega.github.io/vega-lite/docs/bin.html#params), or indicating that the data for `x` or `y` channel are binned before they are imported into Vega-Lite (`\"binned\"`).\n\n- If `true`, default [binning parameters](https://vega.github.io/vega-lite/docs/bin.html) will be applied.\n\n- If `\"binned\"`, this indicates that the data for the `x` (or `y`) channel are already binned. You can map the bin-start field to `x` (or `y`) and the bin-end field to `x2` (or `y2`). The scale and axis will be formatted similar to binning in Vega-Lite. To adjust the axis ticks based on the bin step, you can also set the axis's [`tickMinStep`](https://vega.github.io/vega-lite/docs/axis.html#ticks) property.\n\n__Default value:__ `false`\n\n__See also:__ [`bin`](https://vega.github.io/vega-lite/docs/bin.html) documentation."
},
"empty": {
"description": "For selection parameters, the predicate of empty selections returns true by default. Override this behavior, by setting this property `empty: false`.",
"type": "boolean"
},
"field": {
"$ref": "#/definitions/Field",
"description": "__Required.__ A string defining the name of the field from which to pull a data value or an object defining iterated values from the [`repeat`](https://vega.github.io/vega-lite/docs/repeat.html) operator.\n\n__See also:__ [`field`](https://vega.github.io/vega-lite/docs/field.html) documentation.\n\n__Notes:__ 1) Dots (`.`) and brackets (`[` and `]`) can be used to access nested objects (e.g., `\"field\": \"foo.bar\"` and `\"field\": \"foo['bar']\"`). If field names contain dots or brackets but are not nested, you can use `\\\\` to escape dots and brackets (e.g., `\"a\\\\.b\"` and `\"a\\\\[0\\\\]\"`). See more details about escaping in the [field documentation](https://vega.github.io/vega-lite/docs/field.html). 2) `field` is not required if `aggregate` is `count`."
},
"format": {
"anyOf": [
{
"type": "string"
},
{
"$ref": "#/definitions/Dict"
}
],
"description": "When used with the default `\"number\"` and `\"time\"` format type, the text formatting pattern for labels of guides (axes, legends, headers) and text marks.\n\n- If the format type is `\"number\"` (e.g., for quantitative fields), this is D3's [number format pattern](https://github.com/d3/d3-format#locale_format).\n- If the format type is `\"time\"` (e.g., for temporal fields), this is D3's [time format pattern](https://github.com/d3/d3-time-format#locale_format).\n\nSee the [format documentation](https://vega.github.io/vega-lite/docs/format.html) for more examples.\n\nWhen used with a [custom `formatType`](https://vega.github.io/vega-lite/docs/config.html#custom-format-type), this value will be passed as `format` alongside `datum.value` to the registered function.\n\n__Default value:__ Derived from [numberFormat](https://vega.github.io/vega-lite/docs/config.html#format) config for number format and from [timeFormat](https://vega.github.io/vega-lite/docs/config.html#format) config for time format."
},
"formatType": {
"description": "The format type for labels. One of `\"number\"`, `\"time\"`, or a [registered custom format type](https://vega.github.io/vega-lite/docs/config.html#custom-format-type).\n\n__Default value:__\n- `\"time\"` for temporal fields and ordinal and nominal fields with `timeUnit`.\n- `\"number\"` for quantitative fields as well as ordinal and nominal fields without `timeUnit`.",
"type": "string"
},
"param": {
"$ref": "#/definitions/ParameterName",
"description": "Filter using a parameter name."
},
"timeUnit": {
"anyOf": [
{
"$ref": "#/definitions/TimeUnit"
},
{
"$ref": "#/definitions/TimeUnitParams"
}
],
"description": "Time unit (e.g., `year`, `yearmonth`, `month`, `hours`) for a temporal field. or [a temporal field that gets casted as ordinal](https://vega.github.io/vega-lite/docs/type.html#cast).\n\n__Default value:__ `undefined` (None)\n\n__See also:__ [`timeUnit`](https://vega.github.io/vega-lite/docs/timeunit.html) documentation."
},
"title": {
"anyOf": [
{
"$ref": "#/definitions/Text"
},
{
"type": "null"
}
],
"description": "A title for the field. If `null`, the title will be removed.\n\n__Default value:__ derived from the field's name and transformation function (`aggregate`, `bin` and `timeUnit`). If the field has an aggregate function, the function is displayed as part of the title (e.g., `\"Sum of Profit\"`). If the field is binned or has a time unit applied, the applied function is shown in parentheses (e.g., `\"Profit (binned)\"`, `\"Transaction Date (year-month)\"`). Otherwise, the title is simply the field name.\n\n__Notes__:\n\n1) You can customize the default field title format by providing the [`fieldTitle`](https://vega.github.io/vega-lite/docs/config.html#top-level-config) property in the [config](https://vega.github.io/vega-lite/docs/config.html) or [`fieldTitle` function via the `compile` function's options](https://vega.github.io/vega-lite/usage/compile.html#field-title).\n\n2) If both field definition's `title` and axis, header, or legend `title` are defined, axis/header/legend title will be used."
},
"type": {
"$ref": "#/definitions/StandardType",
"description": "The type of measurement (`\"quantitative\"`, `\"temporal\"`, `\"ordinal\"`, or `\"nominal\"`) for the encoded field or constant value (`datum`). It can also be a `\"geojson\"` type for encoding ['geoshape'](https://vega.github.io/vega-lite/docs/geoshape.html).\n\nVega-Lite automatically infers data types in many cases as discussed below. However, type is required for a field if: (1) the field is not nominal and the field encoding has no specified `aggregate` (except `argmin` and `argmax`), `bin`, scale type, custom `sort` order, nor `timeUnit` or (2) if you wish to use an ordinal scale for a field with `bin` or `timeUnit`.\n\n__Default value:__\n\n1) For a data `field`, `\"nominal\"` is the default data type unless the field encoding has `aggregate`, `channel`, `bin`, scale type, `sort`, or `timeUnit` that satisfies the following criteria:\n- `\"quantitative\"` is the default type if (1) the encoded field contains `bin` or `aggregate` except `\"argmin\"` and `\"argmax\"`, (2) the encoding channel is `latitude` or `longitude` channel or (3) if the specified scale type is [a quantitative scale](https://vega.github.io/vega-lite/docs/scale.html#type).\n- `\"temporal\"` is the default type if (1) the encoded field contains `timeUnit` or (2) the specified scale type is a time or utc scale\n- `ordinal\"\"` is the default type if (1) the encoded field contains a [custom `sort` order](https://vega.github.io/vega-lite/docs/sort.html#specifying-custom-sort-order), (2) the specified scale type is an ordinal/point/band scale, or (3) the encoding channel is `order`.\n\n2) For a constant value in data domain (`datum`):\n- `\"quantitative\"` if the datum is a number\n- `\"nominal\"` if the datum is a string\n- `\"temporal\"` if the datum is [a date time object](https://vega.github.io/vega-lite/docs/datetime.html)\n\n__Note:__\n- Data `type` describes the semantics of the data rather than the primitive data types (number, string, etc.). The same primitive data type can have different types of measurement. For example, numeric data can represent quantitative, ordinal, or nominal data.\n- Data values for a temporal field can be either a date-time string (e.g., `\"2015-03-07 12:32:17\"`, `\"17:01\"`, `\"2015-03-16\"`. `\"2015\"`) or a timestamp number (e.g., `1552199579097`).\n- When using with [`bin`](https://vega.github.io/vega-lite/docs/bin.html), the `type` property can be either `\"quantitative\"` (for using a linear bin scale) or [`\"ordinal\"` (for using an ordinal bin scale)](https://vega.github.io/vega-lite/docs/type.html#cast-bin).\n- When using with [`timeUnit`](https://vega.github.io/vega-lite/docs/timeunit.html), the `type` property can be either `\"temporal\"` (default, for using a temporal scale) or [`\"ordinal\"` (for using an ordinal scale)](https://vega.github.io/vega-lite/docs/type.html#cast-bin).\n- When using with [`aggregate`](https://vega.github.io/vega-lite/docs/aggregate.html), the `type` property refers to the post-aggregation data type. For example, we can calculate count `distinct` of a categorical field `\"cat\"` using `{\"aggregate\": \"distinct\", \"field\": \"cat\"}`. The `\"type\"` of the aggregate output is `\"quantitative\"`.\n- Secondary channels (e.g., `x2`, `y2`, `xError`, `yError`) do not have `type` as they must have exactly the same type as their primary channels (e.g., `x`, `y`).\n\n__See also:__ [`type`](https://vega.github.io/vega-lite/docs/type.html) documentation."
}
},
"required": [
"param"
],
"type": "object"
},
"ConditionalParameter<ValueDef<(Gradient|string|null|ExprRef)>>": {
"additionalProperties": false,
"properties": {
"empty": {
"description": "For selection parameters, the predicate of empty selections returns true by default. Override this behavior, by setting this property `empty: false`.",
"type": "boolean"
},
"param": {
"$ref": "#/definitions/ParameterName",
"description": "Filter using a parameter name."
},
"value": {
"anyOf": [
{
"$ref": "#/definitions/Gradient"
},
{
"type": "string"
},
{
"type": "null"
},
{
"$ref": "#/definitions/ExprRef"
}
],
"description": "A constant value in visual domain (e.g., `\"red\"` / `\"#0099ff\"` / [gradient definition](https://vega.github.io/vega-lite/docs/types.html#gradient) for color, values between `0` to `1` for opacity)."
}
},
"required": [
"param",
"value"
],
"type": "object"
},
"ConditionalParameter<ValueDef<(Text|ExprRef)>>": {
"additionalProperties": false,
"properties": {
"empty": {
"description": "For selection parameters, the predicate of empty selections returns true by default. Override this behavior, by setting this property `empty: false`.",
"type": "boolean"
},
"param": {
"$ref": "#/definitions/ParameterName",
"description": "Filter using a parameter name."
},
"value": {
"anyOf": [
{
"$ref": "#/definitions/Text"
},
{
"$ref": "#/definitions/ExprRef"
}
],
"description": "A constant value in visual domain (e.g., `\"red\"` / `\"#0099ff\"` / [gradient definition](https://vega.github.io/vega-lite/docs/types.html#gradient) for color, values between `0` to `1` for opacity)."
}
},
"required": [
"param",
"value"
],
"type": "object"
},
"ConditionalParameter<ValueDef<(number[]|ExprRef)>>": {
"additionalProperties": false,
"properties": {
"empty": {
"description": "For selection parameters, the predicate of empty selections returns true by default. Override this behavior, by setting this property `empty: false`.",
"type": "boolean"
},
"param": {
"$ref": "#/definitions/ParameterName",
"description": "Filter using a parameter name."
},
"value": {
"anyOf": [
{
"items": {
"type": "number"
},
"type": "array"
},
{
"$ref": "#/definitions/ExprRef"
}
],
"description": "A constant value in visual domain (e.g., `\"red\"` / `\"#0099ff\"` / [gradient definition](https://vega.github.io/vega-lite/docs/types.html#gradient) for color, values between `0` to `1` for opacity)."
}
},
"required": [
"param",
"value"
],
"type": "object"
},
"ConditionalParameter<ValueDef<(number|ExprRef)>>": {
"additionalProperties": false,
"properties": {
"empty": {
"description": "For selection parameters, the predicate of empty selections returns true by default. Override this behavior, by setting this property `empty: false`.",
"type": "boolean"
},
"param": {
"$ref": "#/definitions/ParameterName",
"description": "Filter using a parameter name."
},
"value": {
"anyOf": [
{
"type": "number"
},
{
"$ref": "#/definitions/ExprRef"
}
],
"description": "A constant value in visual domain (e.g., `\"red\"` / `\"#0099ff\"` / [gradient definition](https://vega.github.io/vega-lite/docs/types.html#gradient) for color, values between `0` to `1` for opacity)."
}
},
"required": [
"param",
"value"
],
"type": "object"
},
"ConditionalParameter<ValueDef<(string|ExprRef)>>": {
"additionalProperties": false,
"properties": {
"empty": {
"description": "For selection parameters, the predicate of empty selections returns true by default. Override this behavior, by setting this property `empty: false`.",
"type": "boolean"
},
"param": {
"$ref": "#/definitions/ParameterName",
"description": "Filter using a parameter name."
},
"value": {
"anyOf": [
{
"type": "string"
},
{
"$ref": "#/definitions/ExprRef"
}
],
"description": "A constant value in visual domain (e.g., `\"red\"` / `\"#0099ff\"` / [gradient definition](https://vega.github.io/vega-lite/docs/types.html#gradient) for color, values between `0` to `1` for opacity)."
}
},
"required": [
"param",
"value"
],
"type": "object"
},
"ConditionalParameter<ValueDef<(string|null|ExprRef)>>": {
"additionalProperties": false,
"properties": {
"empty": {
"description": "For selection parameters, the predicate of empty selections returns true by default. Override this behavior, by setting this property `empty: false`.",
"type": "boolean"
},
"param": {
"$ref": "#/definitions/ParameterName",
"description": "Filter using a parameter name."
},
"value": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
},
{
"$ref": "#/definitions/ExprRef"
}
],
"description": "A constant value in visual domain (e.g., `\"red\"` / `\"#0099ff\"` / [gradient definition](https://vega.github.io/vega-lite/docs/types.html#gradient) for color, values between `0` to `1` for opacity)."
}
},
"required": [
"param",
"value"
],
"type": "object"
},
"ConditionalParameter<ValueDef<number>>": {
"additionalProperties": false,
"properties": {
"empty": {
"description": "For selection parameters, the predicate of empty selections returns true by default. Override this behavior, by setting this property `empty: false`.",
"type": "boolean"
},
"param": {
"$ref": "#/definitions/ParameterName",
"description": "Filter using a parameter name."
},
"value": {
"description": "A constant value in visual domain (e.g., `\"red\"` / `\"#0099ff\"` / [gradient definition](https://vega.github.io/vega-lite/docs/types.html#gradient) for color, values between `0` to `1` for opacity).",
"type": "number"
}
},
"required": [
"param",
"value"
],
"type": "object"
},
"ConditionalPredicate<(ValueDef<(Align|null)>|ExprRef)>": {
"anyOf": [
{
"additionalProperties": false,
"properties": {
"test": {
"$ref": "#/definitions/PredicateComposition",
"description": "Predicate for triggering the condition"
},
"value": {
"anyOf": [
{
"$ref": "#/definitions/Align"
},
{
"type": "null"
}
],
"description": "A constant value in visual domain (e.g., `\"red\"` / `\"#0099ff\"` / [gradient definition](https://vega.github.io/vega-lite/docs/types.html#gradient) for color, values between `0` to `1` for opacity)."
}
},
"required": [
"test",
"value"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"expr": {
"description": "Vega expression (which can refer to Vega-Lite parameters).",
"type": "string"
},
"test": {
"$ref": "#/definitions/PredicateComposition",
"description": "Predicate for triggering the condition"
}
},
"required": [
"expr",
"test"
],
"type": "object"
}
]
},
"ConditionalPredicate<(ValueDef<(Color|null)>|ExprRef)>": {
"anyOf": [
{
"additionalProperties": false,
"properties": {
"test": {
"$ref": "#/definitions/PredicateComposition",
"description": "Predicate for triggering the condition"
},
"value": {
"anyOf": [
{
"$ref": "#/definitions/Color"
},
{
"type": "null"
}
],
"description": "A constant value in visual domain (e.g., `\"red\"` / `\"#0099ff\"` / [gradient definition](https://vega.github.io/vega-lite/docs/types.html#gradient) for color, values between `0` to `1` for opacity)."
}
},
"required": [
"test",
"value"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"expr": {
"description": "Vega expression (which can refer to Vega-Lite parameters).",
"type": "string"
},
"test": {
"$ref": "#/definitions/PredicateComposition",
"description": "Predicate for triggering the condition"
}
},
"required": [
"expr",
"test"
],
"type": "object"
}
]
},
"ConditionalPredicate<(ValueDef<(FontStyle|null)>|ExprRef)>": {
"anyOf": [
{
"additionalProperties": false,
"properties": {
"test": {
"$ref": "#/definitions/PredicateComposition",
"description": "Predicate for triggering the condition"
},
"value": {
"anyOf": [
{
"$ref": "#/definitions/FontStyle"
},
{
"type": "null"
}
],
"description": "A constant value in visual domain (e.g., `\"red\"` / `\"#0099ff\"` / [gradient definition](https://vega.github.io/vega-lite/docs/types.html#gradient) for color, values between `0` to `1` for opacity)."
}
},
"required": [
"test",
"value"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"expr": {
"description": "Vega expression (which can refer to Vega-Lite parameters).",
"type": "string"
},
"test": {
"$ref": "#/definitions/PredicateComposition",
"description": "Predicate for triggering the condition"
}
},
"required": [
"expr",
"test"
],
"type": "object"
}
]
},
"ConditionalPredicate<(ValueDef<(FontWeight|null)>|ExprRef)>": {
"anyOf": [
{
"additionalProperties": false,
"properties": {
"test": {
"$ref": "#/definitions/PredicateComposition",
"description": "Predicate for triggering the condition"
},
"value": {
"anyOf": [
{
"$ref": "#/definitions/FontWeight"
},
{
"type": "null"
}
],
"description": "A constant value in visual domain (e.g., `\"red\"` / `\"#0099ff\"` / [gradient definition](https://vega.github.io/vega-lite/docs/types.html#gradient) for color, values between `0` to `1` for opacity)."
}
},
"required": [
"test",
"value"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"expr": {
"description": "Vega expression (which can refer to Vega-Lite parameters).",
"type": "string"
},
"test": {
"$ref": "#/definitions/PredicateComposition",
"description": "Predicate for triggering the condition"
}
},
"required": [
"expr",
"test"
],
"type": "object"
}
]
},
"ConditionalPredicate<(ValueDef<(TextBaseline|null)>|ExprRef)>": {
"anyOf": [
{
"additionalProperties": false,
"properties": {
"test": {
"$ref": "#/definitions/PredicateComposition",
"description": "Predicate for triggering the condition"
},
"value": {
"anyOf": [
{
"$ref": "#/definitions/TextBaseline"
},
{
"type": "null"
}
],
"description": "A constant value in visual domain (e.g., `\"red\"` / `\"#0099ff\"` / [gradient definition](https://vega.github.io/vega-lite/docs/types.html#gradient) for color, values between `0` to `1` for opacity)."
}
},
"required": [
"test",
"value"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"expr": {
"description": "Vega expression (which can refer to Vega-Lite parameters).",
"type": "string"
},
"test": {
"$ref": "#/definitions/PredicateComposition",
"description": "Predicate for triggering the condition"
}
},
"required": [
"expr",
"test"
],
"type": "object"
}
]
},
"ConditionalPredicate<(ValueDef<(number[]|null)>|ExprRef)>": {
"anyOf": [
{
"additionalProperties": false,
"properties": {
"test": {
"$ref": "#/definitions/PredicateComposition",
"description": "Predicate for triggering the condition"
},
"value": {
"anyOf": [
{
"items": {
"type": "number"
},
"type": "array"
},
{
"type": "null"
}
],
"description": "A constant value in visual domain (e.g., `\"red\"` / `\"#0099ff\"` / [gradient definition](https://vega.github.io/vega-lite/docs/types.html#gradient) for color, values between `0` to `1` for opacity)."
}
},
"required": [
"test",
"value"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"expr": {
"description": "Vega expression (which can refer to Vega-Lite parameters).",
"type": "string"
},
"test": {
"$ref": "#/definitions/PredicateComposition",
"description": "Predicate for triggering the condition"
}
},
"required": [
"expr",
"test"
],
"type": "object"
}
]
},
"ConditionalPredicate<(ValueDef<(number|null)>|ExprRef)>": {
"anyOf": [
{
"additionalProperties": false,
"properties": {
"test": {
"$ref": "#/definitions/PredicateComposition",
"description": "Predicate for triggering the condition"
},
"value": {
"description": "A constant value in visual domain (e.g., `\"red\"` / `\"#0099ff\"` / [gradient definition](https://vega.github.io/vega-lite/docs/types.html#gradient) for color, values between `0` to `1` for opacity).",
"type": [
"number",
"null"
]
}
},
"required": [
"test",
"value"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"expr": {
"description": "Vega expression (which can refer to Vega-Lite parameters).",
"type": "string"
},
"test": {
"$ref": "#/definitions/PredicateComposition",
"description": "Predicate for triggering the condition"
}
},
"required": [
"expr",
"test"
],
"type": "object"
}
]
},
"ConditionalPredicate<(ValueDef<(string|null)>|ExprRef)>": {
"anyOf": [
{
"additionalProperties": false,
"properties": {
"test": {
"$ref": "#/definitions/PredicateComposition",
"description": "Predicate for triggering the condition"
},
"value": {
"description": "A constant value in visual domain (e.g., `\"red\"` / `\"#0099ff\"` / [gradient definition](https://vega.github.io/vega-lite/docs/types.html#gradient) for color, values between `0` to `1` for opacity).",
"type": [
"string",
"null"
]
}
},
"required": [
"test",
"value"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"expr": {
"description": "Vega expression (which can refer to Vega-Lite parameters).",
"type": "string"
},
"test": {
"$ref": "#/definitions/PredicateComposition",
"description": "Predicate for triggering the condition"
}
},
"required": [
"expr",
"test"
],
"type": "object"
}
]
},
"ConditionalPredicate<MarkPropFieldOrDatumDef>": {
"anyOf": [
{
"additionalProperties": false,
"properties": {
"aggregate": {
"$ref": "#/definitions/Aggregate",
"description": "Aggregation function for the field (e.g., `\"mean\"`, `\"sum\"`, `\"median\"`, `\"min\"`, `\"max\"`, `\"count\"`).\n\n__Default value:__ `undefined` (None)\n\n__See also:__ [`aggregate`](https://vega.github.io/vega-lite/docs/aggregate.html) documentation."
},
"bandPosition": {
"description": "Relative position on a band of a stacked, binned, time unit, or band scale. For example, the marks will be positioned at the beginning of the band if set to `0`, and at the middle of the band if set to `0.5`.",
"maximum": 1,
"minimum": 0,
"type": "number"
},
"bin": {
"anyOf": [
{
"type": "boolean"
},
{
"$ref": "#/definitions/BinParams"
},
{
"type": "null"
}
],
"description": "A flag for binning a `quantitative` field, [an object defining binning parameters](https://vega.github.io/vega-lite/docs/bin.html#params), or indicating that the data for `x` or `y` channel are binned before they are imported into Vega-Lite (`\"binned\"`).\n\n- If `true`, default [binning parameters](https://vega.github.io/vega-lite/docs/bin.html) will be applied.\n\n- If `\"binned\"`, this indicates that the data for the `x` (or `y`) channel are already binned. You can map the bin-start field to `x` (or `y`) and the bin-end field to `x2` (or `y2`). The scale and axis will be formatted similar to binning in Vega-Lite. To adjust the axis ticks based on the bin step, you can also set the axis's [`tickMinStep`](https://vega.github.io/vega-lite/docs/axis.html#ticks) property.\n\n__Default value:__ `false`\n\n__See also:__ [`bin`](https://vega.github.io/vega-lite/docs/bin.html) documentation."
},
"field": {
"$ref": "#/definitions/Field",
"description": "__Required.__ A string defining the name of the field from which to pull a data value or an object defining iterated values from the [`repeat`](https://vega.github.io/vega-lite/docs/repeat.html) operator.\n\n__See also:__ [`field`](https://vega.github.io/vega-lite/docs/field.html) documentation.\n\n__Notes:__ 1) Dots (`.`) and brackets (`[` and `]`) can be used to access nested objects (e.g., `\"field\": \"foo.bar\"` and `\"field\": \"foo['bar']\"`). If field names contain dots or brackets but are not nested, you can use `\\\\` to escape dots and brackets (e.g., `\"a\\\\.b\"` and `\"a\\\\[0\\\\]\"`). See more details about escaping in the [field documentation](https://vega.github.io/vega-lite/docs/field.html). 2) `field` is not required if `aggregate` is `count`."
},
"legend": {
"anyOf": [
{
"$ref": "#/definitions/Legend"
},
{
"type": "null"
}
],
"description": "An object defining properties of the legend. If `null`, the legend for the encoding channel will be removed.\n\n__Default value:__ If undefined, default [legend properties](https://vega.github.io/vega-lite/docs/legend.html) are applied.\n\n__See also:__ [`legend`](https://vega.github.io/vega-lite/docs/legend.html) documentation."
},
"scale": {
"anyOf": [
{
"$ref": "#/definitions/Scale"
},
{
"type": "null"
}
],
"description": "An object defining properties of the channel's scale, which is the function that transforms values in the data domain (numbers, dates, strings, etc) to visual values (pixels, colors, sizes) of the encoding channels.\n\nIf `null`, the scale will be [disabled and the data value will be directly encoded](https://vega.github.io/vega-lite/docs/scale.html#disable).\n\n__Default value:__ If undefined, default [scale properties](https://vega.github.io/vega-lite/docs/scale.html) are applied.\n\n__See also:__ [`scale`](https://vega.github.io/vega-lite/docs/scale.html) documentation."
},
"sort": {
"$ref": "#/definitions/Sort",
"description": "Sort order for the encoded field.\n\nFor continuous fields (quantitative or temporal), `sort` can be either `\"ascending\"` or `\"descending\"`.\n\nFor discrete fields, `sort` can be one of the following:\n- `\"ascending\"` or `\"descending\"` -- for sorting by the values' natural order in JavaScript.\n- [A string indicating an encoding channel name to sort by](https://vega.github.io/vega-lite/docs/sort.html#sort-by-encoding) (e.g., `\"x\"` or `\"y\"`) with an optional minus prefix for descending sort (e.g., `\"-x\"` to sort by x-field, descending). This channel string is short-form of [a sort-by-encoding definition](https://vega.github.io/vega-lite/docs/sort.html#sort-by-encoding). For example, `\"sort\": \"-x\"` is equivalent to `\"sort\": {\"encoding\": \"x\", \"order\": \"descending\"}`.\n- [A sort field definition](https://vega.github.io/vega-lite/docs/sort.html#sort-field) for sorting by another field.\n- [An array specifying the field values in preferred order](https://vega.github.io/vega-lite/docs/sort.html#sort-array). In this case, the sort order will obey the values in the array, followed by any unspecified values in their original order. For discrete time field, values in the sort array can be [date-time definition objects](types#datetime). In addition, for time units `\"month\"` and `\"day\"`, the values can be the month or day names (case insensitive) or their 3-letter initials (e.g., `\"Mon\"`, `\"Tue\"`).\n- `null` indicating no sort.\n\n__Default value:__ `\"ascending\"`\n\n__Note:__ `null` and sorting by another channel is not supported for `row` and `column`.\n\n__See also:__ [`sort`](https://vega.github.io/vega-lite/docs/sort.html) documentation."
},
"test": {
"$ref": "#/definitions/PredicateComposition",
"description": "Predicate for triggering the condition"
},
"timeUnit": {
"anyOf": [
{
"$ref": "#/definitions/TimeUnit"
},
{
"$ref": "#/definitions/TimeUnitParams"
}
],
"description": "Time unit (e.g., `year`, `yearmonth`, `month`, `hours`) for a temporal field. or [a temporal field that gets casted as ordinal](https://vega.github.io/vega-lite/docs/type.html#cast).\n\n__Default value:__ `undefined` (None)\n\n__See also:__ [`timeUnit`](https://vega.github.io/vega-lite/docs/timeunit.html) documentation."
},
"title": {
"anyOf": [
{
"$ref": "#/definitions/Text"
},
{
"type": "null"
}
],
"description": "A title for the field. If `null`, the title will be removed.\n\n__Default value:__ derived from the field's name and transformation function (`aggregate`, `bin` and `timeUnit`). If the field has an aggregate function, the function is displayed as part of the title (e.g., `\"Sum of Profit\"`). If the field is binned or has a time unit applied, the applied function is shown in parentheses (e.g., `\"Profit (binned)\"`, `\"Transaction Date (year-month)\"`). Otherwise, the title is simply the field name.\n\n__Notes__:\n\n1) You can customize the default field title format by providing the [`fieldTitle`](https://vega.github.io/vega-lite/docs/config.html#top-level-config) property in the [config](https://vega.github.io/vega-lite/docs/config.html) or [`fieldTitle` function via the `compile` function's options](https://vega.github.io/vega-lite/usage/compile.html#field-title).\n\n2) If both field definition's `title` and axis, header, or legend `title` are defined, axis/header/legend title will be used."
},
"type": {
"$ref": "#/definitions/StandardType",
"description": "The type of measurement (`\"quantitative\"`, `\"temporal\"`, `\"ordinal\"`, or `\"nominal\"`) for the encoded field or constant value (`datum`). It can also be a `\"geojson\"` type for encoding ['geoshape'](https://vega.github.io/vega-lite/docs/geoshape.html).\n\nVega-Lite automatically infers data types in many cases as discussed below. However, type is required for a field if: (1) the field is not nominal and the field encoding has no specified `aggregate` (except `argmin` and `argmax`), `bin`, scale type, custom `sort` order, nor `timeUnit` or (2) if you wish to use an ordinal scale for a field with `bin` or `timeUnit`.\n\n__Default value:__\n\n1) For a data `field`, `\"nominal\"` is the default data type unless the field encoding has `aggregate`, `channel`, `bin`, scale type, `sort`, or `timeUnit` that satisfies the following criteria:\n- `\"quantitative\"` is the default type if (1) the encoded field contains `bin` or `aggregate` except `\"argmin\"` and `\"argmax\"`, (2) the encoding channel is `latitude` or `longitude` channel or (3) if the specified scale type is [a quantitative scale](https://vega.github.io/vega-lite/docs/scale.html#type).\n- `\"temporal\"` is the default type if (1) the encoded field contains `timeUnit` or (2) the specified scale type is a time or utc scale\n- `ordinal\"\"` is the default type if (1) the encoded field contains a [custom `sort` order](https://vega.github.io/vega-lite/docs/sort.html#specifying-custom-sort-order), (2) the specified scale type is an ordinal/point/band scale, or (3) the encoding channel is `order`.\n\n2) For a constant value in data domain (`datum`):\n- `\"quantitative\"` if the datum is a number\n- `\"nominal\"` if the datum is a string\n- `\"temporal\"` if the datum is [a date time object](https://vega.github.io/vega-lite/docs/datetime.html)\n\n__Note:__\n- Data `type` describes the semantics of the data rather than the primitive data types (number, string, etc.). The same primitive data type can have different types of measurement. For example, numeric data can represent quantitative, ordinal, or nominal data.\n- Data values for a temporal field can be either a date-time string (e.g., `\"2015-03-07 12:32:17\"`, `\"17:01\"`, `\"2015-03-16\"`. `\"2015\"`) or a timestamp number (e.g., `1552199579097`).\n- When using with [`bin`](https://vega.github.io/vega-lite/docs/bin.html), the `type` property can be either `\"quantitative\"` (for using a linear bin scale) or [`\"ordinal\"` (for using an ordinal bin scale)](https://vega.github.io/vega-lite/docs/type.html#cast-bin).\n- When using with [`timeUnit`](https://vega.github.io/vega-lite/docs/timeunit.html), the `type` property can be either `\"temporal\"` (default, for using a temporal scale) or [`\"ordinal\"` (for using an ordinal scale)](https://vega.github.io/vega-lite/docs/type.html#cast-bin).\n- When using with [`aggregate`](https://vega.github.io/vega-lite/docs/aggregate.html), the `type` property refers to the post-aggregation data type. For example, we can calculate count `distinct` of a categorical field `\"cat\"` using `{\"aggregate\": \"distinct\", \"field\": \"cat\"}`. The `\"type\"` of the aggregate output is `\"quantitative\"`.\n- Secondary channels (e.g., `x2`, `y2`, `xError`, `yError`) do not have `type` as they must have exactly the same type as their primary channels (e.g., `x`, `y`).\n\n__See also:__ [`type`](https://vega.github.io/vega-lite/docs/type.html) documentation."
}
},
"required": [
"test"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"bandPosition": {
"description": "Relative position on a band of a stacked, binned, time unit, or band scale. For example, the marks will be positioned at the beginning of the band if set to `0`, and at the middle of the band if set to `0.5`.",
"maximum": 1,
"minimum": 0,
"type": "number"
},
"datum": {
"anyOf": [
{
"$ref": "#/definitions/PrimitiveValue"
},
{
"$ref": "#/definitions/DateTime"
},
{
"$ref": "#/definitions/ExprRef"
},
{
"$ref": "#/definitions/RepeatRef"
}
],
"description": "A constant value in data domain."
},
"legend": {
"anyOf": [
{
"$ref": "#/definitions/Legend"
},
{
"type": "null"
}
],
"description": "An object defining properties of the legend. If `null`, the legend for the encoding channel will be removed.\n\n__Default value:__ If undefined, default [legend properties](https://vega.github.io/vega-lite/docs/legend.html) are applied.\n\n__See also:__ [`legend`](https://vega.github.io/vega-lite/docs/legend.html) documentation."
},
"scale": {
"anyOf": [
{
"$ref": "#/definitions/Scale"
},
{
"type": "null"
}
],
"description": "An object defining properties of the channel's scale, which is the function that transforms values in the data domain (numbers, dates, strings, etc) to visual values (pixels, colors, sizes) of the encoding channels.\n\nIf `null`, the scale will be [disabled and the data value will be directly encoded](https://vega.github.io/vega-lite/docs/scale.html#disable).\n\n__Default value:__ If undefined, default [scale properties](https://vega.github.io/vega-lite/docs/scale.html) are applied.\n\n__See also:__ [`scale`](https://vega.github.io/vega-lite/docs/scale.html) documentation."
},
"test": {
"$ref": "#/definitions/PredicateComposition",
"description": "Predicate for triggering the condition"
},
"title": {
"anyOf": [
{
"$ref": "#/definitions/Text"
},
{
"type": "null"
}
],
"description": "A title for the field. If `null`, the title will be removed.\n\n__Default value:__ derived from the field's name and transformation function (`aggregate`, `bin` and `timeUnit`). If the field has an aggregate function, the function is displayed as part of the title (e.g., `\"Sum of Profit\"`). If the field is binned or has a time unit applied, the applied function is shown in parentheses (e.g., `\"Profit (binned)\"`, `\"Transaction Date (year-month)\"`). Otherwise, the title is simply the field name.\n\n__Notes__:\n\n1) You can customize the default field title format by providing the [`fieldTitle`](https://vega.github.io/vega-lite/docs/config.html#top-level-config) property in the [config](https://vega.github.io/vega-lite/docs/config.html) or [`fieldTitle` function via the `compile` function's options](https://vega.github.io/vega-lite/usage/compile.html#field-title).\n\n2) If both field definition's `title` and axis, header, or legend `title` are defined, axis/header/legend title will be used."
},
"type": {
"$ref": "#/definitions/Type",
"description": "The type of measurement (`\"quantitative\"`, `\"temporal\"`, `\"ordinal\"`, or `\"nominal\"`) for the encoded field or constant value (`datum`). It can also be a `\"geojson\"` type for encoding ['geoshape'](https://vega.github.io/vega-lite/docs/geoshape.html).\n\nVega-Lite automatically infers data types in many cases as discussed below. However, type is required for a field if: (1) the field is not nominal and the field encoding has no specified `aggregate` (except `argmin` and `argmax`), `bin`, scale type, custom `sort` order, nor `timeUnit` or (2) if you wish to use an ordinal scale for a field with `bin` or `timeUnit`.\n\n__Default value:__\n\n1) For a data `field`, `\"nominal\"` is the default data type unless the field encoding has `aggregate`, `channel`, `bin`, scale type, `sort`, or `timeUnit` that satisfies the following criteria:\n- `\"quantitative\"` is the default type if (1) the encoded field contains `bin` or `aggregate` except `\"argmin\"` and `\"argmax\"`, (2) the encoding channel is `latitude` or `longitude` channel or (3) if the specified scale type is [a quantitative scale](https://vega.github.io/vega-lite/docs/scale.html#type).\n- `\"temporal\"` is the default type if (1) the encoded field contains `timeUnit` or (2) the specified scale type is a time or utc scale\n- `ordinal\"\"` is the default type if (1) the encoded field contains a [custom `sort` order](https://vega.github.io/vega-lite/docs/sort.html#specifying-custom-sort-order), (2) the specified scale type is an ordinal/point/band scale, or (3) the encoding channel is `order`.\n\n2) For a constant value in data domain (`datum`):\n- `\"quantitative\"` if the datum is a number\n- `\"nominal\"` if the datum is a string\n- `\"temporal\"` if the datum is [a date time object](https://vega.github.io/vega-lite/docs/datetime.html)\n\n__Note:__\n- Data `type` describes the semantics of the data rather than the primitive data types (number, string, etc.). The same primitive data type can have different types of measurement. For example, numeric data can represent quantitative, ordinal, or nominal data.\n- Data values for a temporal field can be either a date-time string (e.g., `\"2015-03-07 12:32:17\"`, `\"17:01\"`, `\"2015-03-16\"`. `\"2015\"`) or a timestamp number (e.g., `1552199579097`).\n- When using with [`bin`](https://vega.github.io/vega-lite/docs/bin.html), the `type` property can be either `\"quantitative\"` (for using a linear bin scale) or [`\"ordinal\"` (for using an ordinal bin scale)](https://vega.github.io/vega-lite/docs/type.html#cast-bin).\n- When using with [`timeUnit`](https://vega.github.io/vega-lite/docs/timeunit.html), the `type` property can be either `\"temporal\"` (default, for using a temporal scale) or [`\"ordinal\"` (for using an ordinal scale)](https://vega.github.io/vega-lite/docs/type.html#cast-bin).\n- When using with [`aggregate`](https://vega.github.io/vega-lite/docs/aggregate.html), the `type` property refers to the post-aggregation data type. For example, we can calculate count `distinct` of a categorical field `\"cat\"` using `{\"aggregate\": \"distinct\", \"field\": \"cat\"}`. The `\"type\"` of the aggregate output is `\"quantitative\"`.\n- Secondary channels (e.g., `x2`, `y2`, `xError`, `yError`) do not have `type` as they must have exactly the same type as their primary channels (e.g., `x`, `y`).\n\n__See also:__ [`type`](https://vega.github.io/vega-lite/docs/type.html) documentation."
}
},
"required": [
"test"
],
"type": "object"
}
]
},
"ConditionalPredicate<MarkPropFieldOrDatumDef<TypeForShape>>": {
"anyOf": [
{
"additionalProperties": false,
"properties": {
"aggregate": {
"$ref": "#/definitions/Aggregate",
"description": "Aggregation function for the field (e.g., `\"mean\"`, `\"sum\"`, `\"median\"`, `\"min\"`, `\"max\"`, `\"count\"`).\n\n__Default value:__ `undefined` (None)\n\n__See also:__ [`aggregate`](https://vega.github.io/vega-lite/docs/aggregate.html) documentation."
},
"bandPosition": {
"description": "Relative position on a band of a stacked, binned, time unit, or band scale. For example, the marks will be positioned at the beginning of the band if set to `0`, and at the middle of the band if set to `0.5`.",
"maximum": 1,
"minimum": 0,
"type": "number"
},
"bin": {
"anyOf": [
{
"type": "boolean"
},
{
"$ref": "#/definitions/BinParams"
},
{
"type": "null"
}
],
"description": "A flag for binning a `quantitative` field, [an object defining binning parameters](https://vega.github.io/vega-lite/docs/bin.html#params), or indicating that the data for `x` or `y` channel are binned before they are imported into Vega-Lite (`\"binned\"`).\n\n- If `true`, default [binning parameters](https://vega.github.io/vega-lite/docs/bin.html) will be applied.\n\n- If `\"binned\"`, this indicates that the data for the `x` (or `y`) channel are already binned. You can map the bin-start field to `x` (or `y`) and the bin-end field to `x2` (or `y2`). The scale and axis will be formatted similar to binning in Vega-Lite. To adjust the axis ticks based on the bin step, you can also set the axis's [`tickMinStep`](https://vega.github.io/vega-lite/docs/axis.html#ticks) property.\n\n__Default value:__ `false`\n\n__See also:__ [`bin`](https://vega.github.io/vega-lite/docs/bin.html) documentation."
},
"field": {
"$ref": "#/definitions/Field",
"description": "__Required.__ A string defining the name of the field from which to pull a data value or an object defining iterated values from the [`repeat`](https://vega.github.io/vega-lite/docs/repeat.html) operator.\n\n__See also:__ [`field`](https://vega.github.io/vega-lite/docs/field.html) documentation.\n\n__Notes:__ 1) Dots (`.`) and brackets (`[` and `]`) can be used to access nested objects (e.g., `\"field\": \"foo.bar\"` and `\"field\": \"foo['bar']\"`). If field names contain dots or brackets but are not nested, you can use `\\\\` to escape dots and brackets (e.g., `\"a\\\\.b\"` and `\"a\\\\[0\\\\]\"`). See more details about escaping in the [field documentation](https://vega.github.io/vega-lite/docs/field.html). 2) `field` is not required if `aggregate` is `count`."
},
"legend": {
"anyOf": [
{
"$ref": "#/definitions/Legend"
},
{
"type": "null"
}
],
"description": "An object defining properties of the legend. If `null`, the legend for the encoding channel will be removed.\n\n__Default value:__ If undefined, default [legend properties](https://vega.github.io/vega-lite/docs/legend.html) are applied.\n\n__See also:__ [`legend`](https://vega.github.io/vega-lite/docs/legend.html) documentation."
},
"scale": {
"anyOf": [
{
"$ref": "#/definitions/Scale"
},
{
"type": "null"
}
],
"description": "An object defining properties of the channel's scale, which is the function that transforms values in the data domain (numbers, dates, strings, etc) to visual values (pixels, colors, sizes) of the encoding channels.\n\nIf `null`, the scale will be [disabled and the data value will be directly encoded](https://vega.github.io/vega-lite/docs/scale.html#disable).\n\n__Default value:__ If undefined, default [scale properties](https://vega.github.io/vega-lite/docs/scale.html) are applied.\n\n__See also:__ [`scale`](https://vega.github.io/vega-lite/docs/scale.html) documentation."
},
"sort": {
"$ref": "#/definitions/Sort",
"description": "Sort order for the encoded field.\n\nFor continuous fields (quantitative or temporal), `sort` can be either `\"ascending\"` or `\"descending\"`.\n\nFor discrete fields, `sort` can be one of the following:\n- `\"ascending\"` or `\"descending\"` -- for sorting by the values' natural order in JavaScript.\n- [A string indicating an encoding channel name to sort by](https://vega.github.io/vega-lite/docs/sort.html#sort-by-encoding) (e.g., `\"x\"` or `\"y\"`) with an optional minus prefix for descending sort (e.g., `\"-x\"` to sort by x-field, descending). This channel string is short-form of [a sort-by-encoding definition](https://vega.github.io/vega-lite/docs/sort.html#sort-by-encoding). For example, `\"sort\": \"-x\"` is equivalent to `\"sort\": {\"encoding\": \"x\", \"order\": \"descending\"}`.\n- [A sort field definition](https://vega.github.io/vega-lite/docs/sort.html#sort-field) for sorting by another field.\n- [An array specifying the field values in preferred order](https://vega.github.io/vega-lite/docs/sort.html#sort-array). In this case, the sort order will obey the values in the array, followed by any unspecified values in their original order. For discrete time field, values in the sort array can be [date-time definition objects](types#datetime). In addition, for time units `\"month\"` and `\"day\"`, the values can be the month or day names (case insensitive) or their 3-letter initials (e.g., `\"Mon\"`, `\"Tue\"`).\n- `null` indicating no sort.\n\n__Default value:__ `\"ascending\"`\n\n__Note:__ `null` and sorting by another channel is not supported for `row` and `column`.\n\n__See also:__ [`sort`](https://vega.github.io/vega-lite/docs/sort.html) documentation."
},
"test": {
"$ref": "#/definitions/PredicateComposition",
"description": "Predicate for triggering the condition"
},
"timeUnit": {
"anyOf": [
{
"$ref": "#/definitions/TimeUnit"
},
{
"$ref": "#/definitions/TimeUnitParams"
}
],
"description": "Time unit (e.g., `year`, `yearmonth`, `month`, `hours`) for a temporal field. or [a temporal field that gets casted as ordinal](https://vega.github.io/vega-lite/docs/type.html#cast).\n\n__Default value:__ `undefined` (None)\n\n__See also:__ [`timeUnit`](https://vega.github.io/vega-lite/docs/timeunit.html) documentation."
},
"title": {
"anyOf": [
{
"$ref": "#/definitions/Text"
},
{
"type": "null"
}
],
"description": "A title for the field. If `null`, the title will be removed.\n\n__Default value:__ derived from the field's name and transformation function (`aggregate`, `bin` and `timeUnit`). If the field has an aggregate function, the function is displayed as part of the title (e.g., `\"Sum of Profit\"`). If the field is binned or has a time unit applied, the applied function is shown in parentheses (e.g., `\"Profit (binned)\"`, `\"Transaction Date (year-month)\"`). Otherwise, the title is simply the field name.\n\n__Notes__:\n\n1) You can customize the default field title format by providing the [`fieldTitle`](https://vega.github.io/vega-lite/docs/config.html#top-level-config) property in the [config](https://vega.github.io/vega-lite/docs/config.html) or [`fieldTitle` function via the `compile` function's options](https://vega.github.io/vega-lite/usage/compile.html#field-title).\n\n2) If both field definition's `title` and axis, header, or legend `title` are defined, axis/header/legend title will be used."
},
"type": {
"$ref": "#/definitions/TypeForShape",
"description": "The type of measurement (`\"quantitative\"`, `\"temporal\"`, `\"ordinal\"`, or `\"nominal\"`) for the encoded field or constant value (`datum`). It can also be a `\"geojson\"` type for encoding ['geoshape'](https://vega.github.io/vega-lite/docs/geoshape.html).\n\nVega-Lite automatically infers data types in many cases as discussed below. However, type is required for a field if: (1) the field is not nominal and the field encoding has no specified `aggregate` (except `argmin` and `argmax`), `bin`, scale type, custom `sort` order, nor `timeUnit` or (2) if you wish to use an ordinal scale for a field with `bin` or `timeUnit`.\n\n__Default value:__\n\n1) For a data `field`, `\"nominal\"` is the default data type unless the field encoding has `aggregate`, `channel`, `bin`, scale type, `sort`, or `timeUnit` that satisfies the following criteria:\n- `\"quantitative\"` is the default type if (1) the encoded field contains `bin` or `aggregate` except `\"argmin\"` and `\"argmax\"`, (2) the encoding channel is `latitude` or `longitude` channel or (3) if the specified scale type is [a quantitative scale](https://vega.github.io/vega-lite/docs/scale.html#type).\n- `\"temporal\"` is the default type if (1) the encoded field contains `timeUnit` or (2) the specified scale type is a time or utc scale\n- `ordinal\"\"` is the default type if (1) the encoded field contains a [custom `sort` order](https://vega.github.io/vega-lite/docs/sort.html#specifying-custom-sort-order), (2) the specified scale type is an ordinal/point/band scale, or (3) the encoding channel is `order`.\n\n2) For a constant value in data domain (`datum`):\n- `\"quantitative\"` if the datum is a number\n- `\"nominal\"` if the datum is a string\n- `\"temporal\"` if the datum is [a date time object](https://vega.github.io/vega-lite/docs/datetime.html)\n\n__Note:__\n- Data `type` describes the semantics of the data rather than the primitive data types (number, string, etc.). The same primitive data type can have different types of measurement. For example, numeric data can represent quantitative, ordinal, or nominal data.\n- Data values for a temporal field can be either a date-time string (e.g., `\"2015-03-07 12:32:17\"`, `\"17:01\"`, `\"2015-03-16\"`. `\"2015\"`) or a timestamp number (e.g., `1552199579097`).\n- When using with [`bin`](https://vega.github.io/vega-lite/docs/bin.html), the `type` property can be either `\"quantitative\"` (for using a linear bin scale) or [`\"ordinal\"` (for using an ordinal bin scale)](https://vega.github.io/vega-lite/docs/type.html#cast-bin).\n- When using with [`timeUnit`](https://vega.github.io/vega-lite/docs/timeunit.html), the `type` property can be either `\"temporal\"` (default, for using a temporal scale) or [`\"ordinal\"` (for using an ordinal scale)](https://vega.github.io/vega-lite/docs/type.html#cast-bin).\n- When using with [`aggregate`](https://vega.github.io/vega-lite/docs/aggregate.html), the `type` property refers to the post-aggregation data type. For example, we can calculate count `distinct` of a categorical field `\"cat\"` using `{\"aggregate\": \"distinct\", \"field\": \"cat\"}`. The `\"type\"` of the aggregate output is `\"quantitative\"`.\n- Secondary channels (e.g., `x2`, `y2`, `xError`, `yError`) do not have `type` as they must have exactly the same type as their primary channels (e.g., `x`, `y`).\n\n__See also:__ [`type`](https://vega.github.io/vega-lite/docs/type.html) documentation."
}
},
"required": [
"test"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"bandPosition": {
"description": "Relative position on a band of a stacked, binned, time unit, or band scale. For example, the marks will be positioned at the beginning of the band if set to `0`, and at the middle of the band if set to `0.5`.",
"maximum": 1,
"minimum": 0,
"type": "number"
},
"datum": {
"anyOf": [
{
"$ref": "#/definitions/PrimitiveValue"
},
{
"$ref": "#/definitions/DateTime"
},
{
"$ref": "#/definitions/ExprRef"
},
{
"$ref": "#/definitions/RepeatRef"
}
],
"description": "A constant value in data domain."
},
"legend": {
"anyOf": [
{
"$ref": "#/definitions/Legend"
},
{
"type": "null"
}
],
"description": "An object defining properties of the legend. If `null`, the legend for the encoding channel will be removed.\n\n__Default value:__ If undefined, default [legend properties](https://vega.github.io/vega-lite/docs/legend.html) are applied.\n\n__See also:__ [`legend`](https://vega.github.io/vega-lite/docs/legend.html) documentation."
},
"scale": {
"anyOf": [
{
"$ref": "#/definitions/Scale"
},
{
"type": "null"
}
],
"description": "An object defining properties of the channel's scale, which is the function that transforms values in the data domain (numbers, dates, strings, etc) to visual values (pixels, colors, sizes) of the encoding channels.\n\nIf `null`, the scale will be [disabled and the data value will be directly encoded](https://vega.github.io/vega-lite/docs/scale.html#disable).\n\n__Default value:__ If undefined, default [scale properties](https://vega.github.io/vega-lite/docs/scale.html) are applied.\n\n__See also:__ [`scale`](https://vega.github.io/vega-lite/docs/scale.html) documentation."
},
"test": {
"$ref": "#/definitions/PredicateComposition",
"description": "Predicate for triggering the condition"
},
"title": {
"anyOf": [
{
"$ref": "#/definitions/Text"
},
{
"type": "null"
}
],
"description": "A title for the field. If `null`, the title will be removed.\n\n__Default value:__ derived from the field's name and transformation function (`aggregate`, `bin` and `timeUnit`). If the field has an aggregate function, the function is displayed as part of the title (e.g., `\"Sum of Profit\"`). If the field is binned or has a time unit applied, the applied function is shown in parentheses (e.g., `\"Profit (binned)\"`, `\"Transaction Date (year-month)\"`). Otherwise, the title is simply the field name.\n\n__Notes__:\n\n1) You can customize the default field title format by providing the [`fieldTitle`](https://vega.github.io/vega-lite/docs/config.html#top-level-config) property in the [config](https://vega.github.io/vega-lite/docs/config.html) or [`fieldTitle` function via the `compile` function's options](https://vega.github.io/vega-lite/usage/compile.html#field-title).\n\n2) If both field definition's `title` and axis, header, or legend `title` are defined, axis/header/legend title will be used."
},
"type": {
"$ref": "#/definitions/Type",
"description": "The type of measurement (`\"quantitative\"`, `\"temporal\"`, `\"ordinal\"`, or `\"nominal\"`) for the encoded field or constant value (`datum`). It can also be a `\"geojson\"` type for encoding ['geoshape'](https://vega.github.io/vega-lite/docs/geoshape.html).\n\nVega-Lite automatically infers data types in many cases as discussed below. However, type is required for a field if: (1) the field is not nominal and the field encoding has no specified `aggregate` (except `argmin` and `argmax`), `bin`, scale type, custom `sort` order, nor `timeUnit` or (2) if you wish to use an ordinal scale for a field with `bin` or `timeUnit`.\n\n__Default value:__\n\n1) For a data `field`, `\"nominal\"` is the default data type unless the field encoding has `aggregate`, `channel`, `bin`, scale type, `sort`, or `timeUnit` that satisfies the following criteria:\n- `\"quantitative\"` is the default type if (1) the encoded field contains `bin` or `aggregate` except `\"argmin\"` and `\"argmax\"`, (2) the encoding channel is `latitude` or `longitude` channel or (3) if the specified scale type is [a quantitative scale](https://vega.github.io/vega-lite/docs/scale.html#type).\n- `\"temporal\"` is the default type if (1) the encoded field contains `timeUnit` or (2) the specified scale type is a time or utc scale\n- `ordinal\"\"` is the default type if (1) the encoded field contains a [custom `sort` order](https://vega.github.io/vega-lite/docs/sort.html#specifying-custom-sort-order), (2) the specified scale type is an ordinal/point/band scale, or (3) the encoding channel is `order`.\n\n2) For a constant value in data domain (`datum`):\n- `\"quantitative\"` if the datum is a number\n- `\"nominal\"` if the datum is a string\n- `\"temporal\"` if the datum is [a date time object](https://vega.github.io/vega-lite/docs/datetime.html)\n\n__Note:__\n- Data `type` describes the semantics of the data rather than the primitive data types (number, string, etc.). The same primitive data type can have different types of measurement. For example, numeric data can represent quantitative, ordinal, or nominal data.\n- Data values for a temporal field can be either a date-time string (e.g., `\"2015-03-07 12:32:17\"`, `\"17:01\"`, `\"2015-03-16\"`. `\"2015\"`) or a timestamp number (e.g., `1552199579097`).\n- When using with [`bin`](https://vega.github.io/vega-lite/docs/bin.html), the `type` property can be either `\"quantitative\"` (for using a linear bin scale) or [`\"ordinal\"` (for using an ordinal bin scale)](https://vega.github.io/vega-lite/docs/type.html#cast-bin).\n- When using with [`timeUnit`](https://vega.github.io/vega-lite/docs/timeunit.html), the `type` property can be either `\"temporal\"` (default, for using a temporal scale) or [`\"ordinal\"` (for using an ordinal scale)](https://vega.github.io/vega-lite/docs/type.html#cast-bin).\n- When using with [`aggregate`](https://vega.github.io/vega-lite/docs/aggregate.html), the `type` property refers to the post-aggregation data type. For example, we can calculate count `distinct` of a categorical field `\"cat\"` using `{\"aggregate\": \"distinct\", \"field\": \"cat\"}`. The `\"type\"` of the aggregate output is `\"quantitative\"`.\n- Secondary channels (e.g., `x2`, `y2`, `xError`, `yError`) do not have `type` as they must have exactly the same type as their primary channels (e.g., `x`, `y`).\n\n__See also:__ [`type`](https://vega.github.io/vega-lite/docs/type.html) documentation."
}
},
"required": [
"test"
],
"type": "object"
}
]
},
"ConditionalPredicate<StringFieldDef>": {
"additionalProperties": false,
"properties": {
"aggregate": {
"$ref": "#/definitions/Aggregate",
"description": "Aggregation function for the field (e.g., `\"mean\"`, `\"sum\"`, `\"median\"`, `\"min\"`, `\"max\"`, `\"count\"`).\n\n__Default value:__ `undefined` (None)\n\n__See also:__ [`aggregate`](https://vega.github.io/vega-lite/docs/aggregate.html) documentation."
},
"bandPosition": {
"description": "Relative position on a band of a stacked, binned, time unit, or band scale. For example, the marks will be positioned at the beginning of the band if set to `0`, and at the middle of the band if set to `0.5`.",
"maximum": 1,
"minimum": 0,
"type": "number"
},
"bin": {
"anyOf": [
{
"type": "boolean"
},
{
"$ref": "#/definitions/BinParams"
},
{
"const": "binned",
"type": "string"
},
{
"type": "null"
}
],
"description": "A flag for binning a `quantitative` field, [an object defining binning parameters](https://vega.github.io/vega-lite/docs/bin.html#params), or indicating that the data for `x` or `y` channel are binned before they are imported into Vega-Lite (`\"binned\"`).\n\n- If `true`, default [binning parameters](https://vega.github.io/vega-lite/docs/bin.html) will be applied.\n\n- If `\"binned\"`, this indicates that the data for the `x` (or `y`) channel are already binned. You can map the bin-start field to `x` (or `y`) and the bin-end field to `x2` (or `y2`). The scale and axis will be formatted similar to binning in Vega-Lite. To adjust the axis ticks based on the bin step, you can also set the axis's [`tickMinStep`](https://vega.github.io/vega-lite/docs/axis.html#ticks) property.\n\n__Default value:__ `false`\n\n__See also:__ [`bin`](https://vega.github.io/vega-lite/docs/bin.html) documentation."
},
"field": {
"$ref": "#/definitions/Field",
"description": "__Required.__ A string defining the name of the field from which to pull a data value or an object defining iterated values from the [`repeat`](https://vega.github.io/vega-lite/docs/repeat.html) operator.\n\n__See also:__ [`field`](https://vega.github.io/vega-lite/docs/field.html) documentation.\n\n__Notes:__ 1) Dots (`.`) and brackets (`[` and `]`) can be used to access nested objects (e.g., `\"field\": \"foo.bar\"` and `\"field\": \"foo['bar']\"`). If field names contain dots or brackets but are not nested, you can use `\\\\` to escape dots and brackets (e.g., `\"a\\\\.b\"` and `\"a\\\\[0\\\\]\"`). See more details about escaping in the [field documentation](https://vega.github.io/vega-lite/docs/field.html). 2) `field` is not required if `aggregate` is `count`."
},
"format": {
"anyOf": [
{
"type": "string"
},
{
"$ref": "#/definitions/Dict"
}
],
"description": "When used with the default `\"number\"` and `\"time\"` format type, the text formatting pattern for labels of guides (axes, legends, headers) and text marks.\n\n- If the format type is `\"number\"` (e.g., for quantitative fields), this is D3's [number format pattern](https://github.com/d3/d3-format#locale_format).\n- If the format type is `\"time\"` (e.g., for temporal fields), this is D3's [time format pattern](https://github.com/d3/d3-time-format#locale_format).\n\nSee the [format documentation](https://vega.github.io/vega-lite/docs/format.html) for more examples.\n\nWhen used with a [custom `formatType`](https://vega.github.io/vega-lite/docs/config.html#custom-format-type), this value will be passed as `format` alongside `datum.value` to the registered function.\n\n__Default value:__ Derived from [numberFormat](https://vega.github.io/vega-lite/docs/config.html#format) config for number format and from [timeFormat](https://vega.github.io/vega-lite/docs/config.html#format) config for time format."
},
"formatType": {
"description": "The format type for labels. One of `\"number\"`, `\"time\"`, or a [registered custom format type](https://vega.github.io/vega-lite/docs/config.html#custom-format-type).\n\n__Default value:__\n- `\"time\"` for temporal fields and ordinal and nominal fields with `timeUnit`.\n- `\"number\"` for quantitative fields as well as ordinal and nominal fields without `timeUnit`.",
"type": "string"
},
"test": {
"$ref": "#/definitions/PredicateComposition",
"description": "Predicate for triggering the condition"
},
"timeUnit": {
"anyOf": [
{
"$ref": "#/definitions/TimeUnit"
},
{
"$ref": "#/definitions/TimeUnitParams"
}
],
"description": "Time unit (e.g., `year`, `yearmonth`, `month`, `hours`) for a temporal field. or [a temporal field that gets casted as ordinal](https://vega.github.io/vega-lite/docs/type.html#cast).\n\n__Default value:__ `undefined` (None)\n\n__See also:__ [`timeUnit`](https://vega.github.io/vega-lite/docs/timeunit.html) documentation."
},
"title": {
"anyOf": [
{
"$ref": "#/definitions/Text"
},
{
"type": "null"
}
],
"description": "A title for the field. If `null`, the title will be removed.\n\n__Default value:__ derived from the field's name and transformation function (`aggregate`, `bin` and `timeUnit`). If the field has an aggregate function, the function is displayed as part of the title (e.g., `\"Sum of Profit\"`). If the field is binned or has a time unit applied, the applied function is shown in parentheses (e.g., `\"Profit (binned)\"`, `\"Transaction Date (year-month)\"`). Otherwise, the title is simply the field name.\n\n__Notes__:\n\n1) You can customize the default field title format by providing the [`fieldTitle`](https://vega.github.io/vega-lite/docs/config.html#top-level-config) property in the [config](https://vega.github.io/vega-lite/docs/config.html) or [`fieldTitle` function via the `compile` function's options](https://vega.github.io/vega-lite/usage/compile.html#field-title).\n\n2) If both field definition's `title` and axis, header, or legend `title` are defined, axis/header/legend title will be used."
},
"type": {
"$ref": "#/definitions/StandardType",
"description": "The type of measurement (`\"quantitative\"`, `\"temporal\"`, `\"ordinal\"`, or `\"nominal\"`) for the encoded field or constant value (`datum`). It can also be a `\"geojson\"` type for encoding ['geoshape'](https://vega.github.io/vega-lite/docs/geoshape.html).\n\nVega-Lite automatically infers data types in many cases as discussed below. However, type is required for a field if: (1) the field is not nominal and the field encoding has no specified `aggregate` (except `argmin` and `argmax`), `bin`, scale type, custom `sort` order, nor `timeUnit` or (2) if you wish to use an ordinal scale for a field with `bin` or `timeUnit`.\n\n__Default value:__\n\n1) For a data `field`, `\"nominal\"` is the default data type unless the field encoding has `aggregate`, `channel`, `bin`, scale type, `sort`, or `timeUnit` that satisfies the following criteria:\n- `\"quantitative\"` is the default type if (1) the encoded field contains `bin` or `aggregate` except `\"argmin\"` and `\"argmax\"`, (2) the encoding channel is `latitude` or `longitude` channel or (3) if the specified scale type is [a quantitative scale](https://vega.github.io/vega-lite/docs/scale.html#type).\n- `\"temporal\"` is the default type if (1) the encoded field contains `timeUnit` or (2) the specified scale type is a time or utc scale\n- `ordinal\"\"` is the default type if (1) the encoded field contains a [custom `sort` order](https://vega.github.io/vega-lite/docs/sort.html#specifying-custom-sort-order), (2) the specified scale type is an ordinal/point/band scale, or (3) the encoding channel is `order`.\n\n2) For a constant value in data domain (`datum`):\n- `\"quantitative\"` if the datum is a number\n- `\"nominal\"` if the datum is a string\n- `\"temporal\"` if the datum is [a date time object](https://vega.github.io/vega-lite/docs/datetime.html)\n\n__Note:__\n- Data `type` describes the semantics of the data rather than the primitive data types (number, string, etc.). The same primitive data type can have different types of measurement. For example, numeric data can represent quantitative, ordinal, or nominal data.\n- Data values for a temporal field can be either a date-time string (e.g., `\"2015-03-07 12:32:17\"`, `\"17:01\"`, `\"2015-03-16\"`. `\"2015\"`) or a timestamp number (e.g., `1552199579097`).\n- When using with [`bin`](https://vega.github.io/vega-lite/docs/bin.html), the `type` property can be either `\"quantitative\"` (for using a linear bin scale) or [`\"ordinal\"` (for using an ordinal bin scale)](https://vega.github.io/vega-lite/docs/type.html#cast-bin).\n- When using with [`timeUnit`](https://vega.github.io/vega-lite/docs/timeunit.html), the `type` property can be either `\"temporal\"` (default, for using a temporal scale) or [`\"ordinal\"` (for using an ordinal scale)](https://vega.github.io/vega-lite/docs/type.html#cast-bin).\n- When using with [`aggregate`](https://vega.github.io/vega-lite/docs/aggregate.html), the `type` property refers to the post-aggregation data type. For example, we can calculate count `distinct` of a categorical field `\"cat\"` using `{\"aggregate\": \"distinct\", \"field\": \"cat\"}`. The `\"type\"` of the aggregate output is `\"quantitative\"`.\n- Secondary channels (e.g., `x2`, `y2`, `xError`, `yError`) do not have `type` as they must have exactly the same type as their primary channels (e.g., `x`, `y`).\n\n__See also:__ [`type`](https://vega.github.io/vega-lite/docs/type.html) documentation."
}
},
"required": [
"test"
],
"type": "object"
},
"ConditionalPredicate<ValueDef<(Gradient|string|null|ExprRef)>>": {
"additionalProperties": false,
"properties": {
"test": {
"$ref": "#/definitions/PredicateComposition",
"description": "Predicate for triggering the condition"
},
"value": {
"anyOf": [
{
"$ref": "#/definitions/Gradient"
},
{
"type": "string"
},
{
"type": "null"
},
{
"$ref": "#/definitions/ExprRef"
}
],
"description": "A constant value in visual domain (e.g., `\"red\"` / `\"#0099ff\"` / [gradient definition](https://vega.github.io/vega-lite/docs/types.html#gradient) for color, values between `0` to `1` for opacity)."
}
},
"required": [
"test",
"value"
],
"type": "object"
},
"ConditionalPredicate<ValueDef<(Text|ExprRef)>>": {
"additionalProperties": false,
"properties": {
"test": {
"$ref": "#/definitions/PredicateComposition",
"description": "Predicate for triggering the condition"
},
"value": {
"anyOf": [
{
"$ref": "#/definitions/Text"
},
{
"$ref": "#/definitions/ExprRef"
}
],
"description": "A constant value in visual domain (e.g., `\"red\"` / `\"#0099ff\"` / [gradient definition](https://vega.github.io/vega-lite/docs/types.html#gradient) for color, values between `0` to `1` for opacity)."
}
},
"required": [
"test",
"value"
],
"type": "object"
},
"ConditionalPredicate<ValueDef<(number[]|ExprRef)>>": {
"additionalProperties": false,
"properties": {
"test": {
"$ref": "#/definitions/PredicateComposition",
"description": "Predicate for triggering the condition"
},
"value": {
"anyOf": [
{
"items": {
"type": "number"
},
"type": "array"
},
{
"$ref": "#/definitions/ExprRef"
}
],
"description": "A constant value in visual domain (e.g., `\"red\"` / `\"#0099ff\"` / [gradient definition](https://vega.github.io/vega-lite/docs/types.html#gradient) for color, values between `0` to `1` for opacity)."
}
},
"required": [
"test",
"value"
],
"type": "object"
},
"ConditionalPredicate<ValueDef<(number|ExprRef)>>": {
"additionalProperties": false,
"properties": {
"test": {
"$ref": "#/definitions/PredicateComposition",
"description": "Predicate for triggering the condition"
},
"value": {
"anyOf": [
{
"type": "number"
},
{
"$ref": "#/definitions/ExprRef"
}
],
"description": "A constant value in visual domain (e.g., `\"red\"` / `\"#0099ff\"` / [gradient definition](https://vega.github.io/vega-lite/docs/types.html#gradient) for color, values between `0` to `1` for opacity)."
}
},
"required": [
"test",
"value"
],
"type": "object"
},
"ConditionalPredicate<ValueDef<(string|ExprRef)>>": {
"additionalProperties": false,
"properties": {
"test": {
"$ref": "#/definitions/PredicateComposition",
"description": "Predicate for triggering the condition"
},
"value": {
"anyOf": [
{
"type": "string"
},
{
"$ref": "#/definitions/ExprRef"
}
],
"description": "A constant value in visual domain (e.g., `\"red\"` / `\"#0099ff\"` / [gradient definition](https://vega.github.io/vega-lite/docs/types.html#gradient) for color, values between `0` to `1` for opacity)."
}
},
"required": [
"test",
"value"
],
"type": "object"
},
"ConditionalPredicate<ValueDef<(string|null|ExprRef)>>": {
"additionalProperties": false,
"properties": {
"test": {
"$ref": "#/definitions/PredicateComposition",
"description": "Predicate for triggering the condition"
},
"value": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
},
{
"$ref": "#/definitions/ExprRef"
}
],
"description": "A constant value in visual domain (e.g., `\"red\"` / `\"#0099ff\"` / [gradient definition](https://vega.github.io/vega-lite/docs/types.html#gradient) for color, values between `0` to `1` for opacity)."
}
},
"required": [
"test",
"value"
],
"type": "object"
},
"ConditionalPredicate<ValueDef<number>>": {
"additionalProperties": false,
"properties": {
"test": {
"$ref": "#/definitions/PredicateComposition",
"description": "Predicate for triggering the condition"
},
"value": {
"description": "A constant value in visual domain (e.g., `\"red\"` / `\"#0099ff\"` / [gradient definition](https://vega.github.io/vega-lite/docs/types.html#gradient) for color, values between `0` to `1` for opacity).",
"type": "number"
}
},
"required": [
"test",
"value"
],
"type": "object"
},
"Config": {
"additionalProperties": false,
"properties": {
"arc": {
"$ref": "#/definitions/RectConfig",
"description": "Arc-specific Config"
},
"area": {
"$ref": "#/definitions/AreaConfig",
"description": "Area-Specific Config"
},
"aria": {
"description": "A boolean flag indicating if ARIA default attributes should be included for marks and guides (SVG output only). If false, the `\"aria-hidden\"` attribute will be set for all guides, removing them from the ARIA accessibility tree and Vega-Lite will not generate default descriptions for marks.\n\n__Default value:__ `true`.",
"type": "boolean"
},
"autosize": {
"anyOf": [
{
"$ref": "#/definitions/AutosizeType"
},
{
"$ref": "#/definitions/AutoSizeParams"
}
],
"description": "How the visualization size should be determined. If a string, should be one of `\"pad\"`, `\"fit\"` or `\"none\"`. Object values can additionally specify parameters for content sizing and automatic resizing.\n\n__Default value__: `pad`"
},
"axis": {
"$ref": "#/definitions/AxisConfig",
"description": "Axis configuration, which determines default properties for all `x` and `y` [axes](https://vega.github.io/vega-lite/docs/axis.html). For a full list of axis configuration options, please see the [corresponding section of the axis documentation](https://vega.github.io/vega-lite/docs/axis.html#config)."
},
"axisBand": {
"$ref": "#/definitions/AxisConfig",
"description": "Config for axes with \"band\" scales."
},
"axisBottom": {
"$ref": "#/definitions/AxisConfig",
"description": "Config for x-axis along the bottom edge of the chart."
},
"axisDiscrete": {
"$ref": "#/definitions/AxisConfig",
"description": "Config for axes with \"point\" or \"band\" scales."
},
"axisLeft": {
"$ref": "#/definitions/AxisConfig",
"description": "Config for y-axis along the left edge of the chart."
},
"axisPoint": {
"$ref": "#/definitions/AxisConfig",
"description": "Config for axes with \"point\" scales."
},
"axisQuantitative": {
"$ref": "#/definitions/AxisConfig",
"description": "Config for quantitative axes."
},
"axisRight": {
"$ref": "#/definitions/AxisConfig",
"description": "Config for y-axis along the right edge of the chart."
},
"axisTemporal": {
"$ref": "#/definitions/AxisConfig",
"description": "Config for temporal axes."
},
"axisTop": {
"$ref": "#/definitions/AxisConfig",
"description": "Config for x-axis along the top edge of the chart."
},
"axisX": {
"$ref": "#/definitions/AxisConfig",
"description": "X-axis specific config."
},
"axisXBand": {
"$ref": "#/definitions/AxisConfig",
"description": "Config for x-axes with \"band\" scales."
},
"axisXDiscrete": {
"$ref": "#/definitions/AxisConfig",
"description": "Config for x-axes with \"point\" or \"band\" scales."
},
"axisXPoint": {
"$ref": "#/definitions/AxisConfig",
"description": "Config for x-axes with \"point\" scales."
},
"axisXQuantitative": {
"$ref": "#/definitions/AxisConfig",
"description": "Config for x-quantitative axes."
},
"axisXTemporal": {
"$ref": "#/definitions/AxisConfig",
"description": "Config for x-temporal axes."
},
"axisY": {
"$ref": "#/definitions/AxisConfig",
"description": "Y-axis specific config."
},
"axisYBand": {
"$ref": "#/definitions/AxisConfig",
"description": "Config for y-axes with \"band\" scales."
},
"axisYDiscrete": {
"$ref": "#/definitions/AxisConfig",
"description": "Config for y-axes with \"point\" or \"band\" scales."
},
"axisYPoint": {
"$ref": "#/definitions/AxisConfig",
"description": "Config for y-axes with \"point\" scales."
},
"axisYQuantitative": {
"$ref": "#/definitions/AxisConfig",
"description": "Config for y-quantitative axes."
},
"axisYTemporal": {
"$ref": "#/definitions/AxisConfig",
"description": "Config for y-temporal axes."
},
"background": {
"anyOf": [
{
"$ref": "#/definitions/Color"
},
{
"$ref": "#/definitions/ExprRef"
}
],
"description": "CSS color property to use as the background of the entire view.\n\n__Default value:__ `\"white\"`"
},
"bar": {
"$ref": "#/definitions/BarConfig",
"description": "Bar-Specific Config"
},
"boxplot": {
"$ref": "#/definitions/BoxPlotConfig",
"description": "Box Config"
},
"circle": {
"$ref": "#/definitions/MarkConfig",
"description": "Circle-Specific Config"
},
"concat": {
"$ref": "#/definitions/CompositionConfig",
"description": "Default configuration for all concatenation and repeat view composition operators (`concat`, `hconcat`, `vconcat`, and `repeat`)"
},
"countTitle": {
"description": "Default axis and legend title for count fields.\n\n__Default value:__ `'Count of Records`.",
"type": "string"
},
"customFormatTypes": {
"description": "Allow the `formatType` property for text marks and guides to accept a custom formatter function [registered as a Vega expression](https://vega.github.io/vega-lite/usage/compile.html#format-type).",
"type": "boolean"
},
"errorband": {
"$ref": "#/definitions/ErrorBandConfig",
"description": "ErrorBand Config"
},
"errorbar": {
"$ref": "#/definitions/ErrorBarConfig",
"description": "ErrorBar Config"
},
"facet": {
"$ref": "#/definitions/CompositionConfig",
"description": "Default configuration for the `facet` view composition operator"
},
"fieldTitle": {
"description": "Defines how Vega-Lite generates title for fields. There are three possible styles:\n- `\"verbal\"` (Default) - displays function in a verbal style (e.g., \"Sum of field\", \"Year-month of date\", \"field (binned)\").\n- `\"function\"` - displays function using parentheses and capitalized texts (e.g., \"SUM(field)\", \"YEARMONTH(date)\", \"BIN(field)\").\n- `\"plain\"` - displays only the field name without functions (e.g., \"field\", \"date\", \"field\").",
"enum": [
"verbal",
"functional",
"plain"
],
"type": "string"
},
"font": {
"description": "Default font for all text marks, titles, and labels.",
"type": "string"
},
"geoshape": {
"$ref": "#/definitions/MarkConfig",
"description": "Geoshape-Specific Config"
},
"header": {
"$ref": "#/definitions/HeaderConfig",
"description": "Header configuration, which determines default properties for all [headers](https://vega.github.io/vega-lite/docs/header.html).\n\nFor a full list of header configuration options, please see the [corresponding section of in the header documentation](https://vega.github.io/vega-lite/docs/header.html#config)."
},
"headerColumn": {
"$ref": "#/definitions/HeaderConfig",
"description": "Header configuration, which determines default properties for column [headers](https://vega.github.io/vega-lite/docs/header.html).\n\nFor a full list of header configuration options, please see the [corresponding section of in the header documentation](https://vega.github.io/vega-lite/docs/header.html#config)."
},
"headerFacet": {
"$ref": "#/definitions/HeaderConfig",
"description": "Header configuration, which determines default properties for non-row/column facet [headers](https://vega.github.io/vega-lite/docs/header.html).\n\nFor a full list of header configuration options, please see the [corresponding section of in the header documentation](https://vega.github.io/vega-lite/docs/header.html#config)."
},
"headerRow": {
"$ref": "#/definitions/HeaderConfig",
"description": "Header configuration, which determines default properties for row [headers](https://vega.github.io/vega-lite/docs/header.html).\n\nFor a full list of header configuration options, please see the [corresponding section of in the header documentation](https://vega.github.io/vega-lite/docs/header.html#config)."
},
"image": {
"$ref": "#/definitions/RectConfig",
"description": "Image-specific Config"
},
"legend": {
"$ref": "#/definitions/LegendConfig",
"description": "Legend configuration, which determines default properties for all [legends](https://vega.github.io/vega-lite/docs/legend.html). For a full list of legend configuration options, please see the [corresponding section of in the legend documentation](https://vega.github.io/vega-lite/docs/legend.html#config)."
},
"line": {
"$ref": "#/definitions/LineConfig",
"description": "Line-Specific Config"
},
"lineBreak": {
"anyOf": [
{
"type": "string"
},
{
"$ref": "#/definitions/ExprRef"
}
],
"description": "A delimiter, such as a newline character, upon which to break text strings into multiple lines. This property provides a global default for text marks, which is overridden by mark or style config settings, and by the lineBreak mark encoding channel. If signal-valued, either string or regular expression (regexp) values are valid."
},
"locale": {
"$ref": "#/definitions/Locale",
"description": "Locale definitions for string parsing and formatting of number and date values. The locale object should contain `number` and/or `time` properties with [locale definitions](https://vega.github.io/vega/docs/api/locale/). Locale definitions provided in the config block may be overridden by the View constructor locale option."
},
"mark": {
"$ref": "#/definitions/MarkConfig",
"description": "Mark Config"
},
"numberFormat": {
"description": "D3 Number format for guide labels and text marks. For example `\"s\"` for SI units. Use [D3's number format pattern](https://github.com/d3/d3-format#locale_format).",
"type": "string"
},
"padding": {
"anyOf": [
{
"$ref": "#/definitions/Padding"
},
{
"$ref": "#/definitions/ExprRef"
}
],
"description": "The default visualization padding, in pixels, from the edge of the visualization canvas to the data rectangle. If a number, specifies padding for all sides. If an object, the value should have the format `{\"left\": 5, \"top\": 5, \"right\": 5, \"bottom\": 5}` to specify padding for each side of the visualization.\n\n__Default value__: `5`"
},
"params": {
"description": "Dynamic variables or selections that parameterize a visualization.",
"items": {
"anyOf": [
{
"$ref": "#/definitions/VariableParameter"
},
{
"$ref": "#/definitions/TopLevelSelectionParameter"
}
]
},
"type": "array"
},
"point": {
"$ref": "#/definitions/MarkConfig",
"description": "Point-Specific Config"
},
"projection": {
"$ref": "#/definitions/ProjectionConfig",
"description": "Projection configuration, which determines default properties for all [projections](https://vega.github.io/vega-lite/docs/projection.html). For a full list of projection configuration options, please see the [corresponding section of the projection documentation](https://vega.github.io/vega-lite/docs/projection.html#config)."
},
"range": {
"$ref": "#/definitions/RangeConfig",
"description": "An object hash that defines default range arrays or schemes for using with scales. For a full list of scale range configuration options, please see the [corresponding section of the scale documentation](https://vega.github.io/vega-lite/docs/scale.html#config)."
},
"rect": {
"$ref": "#/definitions/RectConfig",
"description": "Rect-Specific Config"
},
"rule": {
"$ref": "#/definitions/MarkConfig",
"description": "Rule-Specific Config"
},
"scale": {
"$ref": "#/definitions/ScaleConfig",
"description": "Scale configuration determines default properties for all [scales](https://vega.github.io/vega-lite/docs/scale.html). For a full list of scale configuration options, please see the [corresponding section of the scale documentation](https://vega.github.io/vega-lite/docs/scale.html#config)."
},
"selection": {
"$ref": "#/definitions/SelectionConfig",
"description": "An object hash for defining default properties for each type of selections."
},
"square": {
"$ref": "#/definitions/MarkConfig",
"description": "Square-Specific Config"
},
"style": {
"$ref": "#/definitions/StyleConfigIndex",
"description": "An object hash that defines key-value mappings to determine default properties for marks with a given [style](https://vega.github.io/vega-lite/docs/mark.html#mark-def). The keys represent styles names; the values have to be valid [mark configuration objects](https://vega.github.io/vega-lite/docs/mark.html#config)."
},
"text": {
"$ref": "#/definitions/MarkConfig",
"description": "Text-Specific Config"
},
"tick": {
"$ref": "#/definitions/TickConfig",
"description": "Tick-Specific Config"
},
"timeFormat": {
"description": "Default time format for raw time values (without time units) in text marks, legend labels and header labels.\n\n__Default value:__ `\"%b %d, %Y\"` __Note:__ Axes automatically determine the format for each label automatically so this config does not affect axes.",
"type": "string"
},
"title": {
"$ref": "#/definitions/TitleConfig",
"description": "Title configuration, which determines default properties for all [titles](https://vega.github.io/vega-lite/docs/title.html). For a full list of title configuration options, please see the [corresponding section of the title documentation](https://vega.github.io/vega-lite/docs/title.html#config)."
},
"trail": {
"$ref": "#/definitions/LineConfig",
"description": "Trail-Specific Config"
},
"view": {
"$ref": "#/definitions/ViewConfig",
"description": "Default properties for [single view plots](https://vega.github.io/vega-lite/docs/spec.html#single)."
}
},
"type": "object"
},
"CsvDataFormat": {
"additionalProperties": false,
"properties": {
"parse": {
"anyOf": [
{
"$ref": "#/definitions/Parse"
},
{
"type": "null"
}
],
"description": "If set to `null`, disable type inference based on the spec and only use type inference based on the data. Alternatively, a parsing directive object can be provided for explicit data types. Each property of the object corresponds to a field name, and the value to the desired data type (one of `\"number\"`, `\"boolean\"`, `\"date\"`, or null (do not parse the field)). For example, `\"parse\": {\"modified_on\": \"date\"}` parses the `modified_on` field in each input record a Date value.\n\nFor `\"date\"`, we parse data based using JavaScript's [`Date.parse()`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/parse). For Specific date formats can be provided (e.g., `{foo: \"date:'%m%d%Y'\"}`), using the [d3-time-format syntax](https://github.com/d3/d3-time-format#locale_format). UTC date format parsing is supported similarly (e.g., `{foo: \"utc:'%m%d%Y'\"}`). See more about [UTC time](https://vega.github.io/vega-lite/docs/timeunit.html#utc)"
},
"type": {
"description": "Type of input data: `\"json\"`, `\"csv\"`, `\"tsv\"`, `\"dsv\"`.\n\n__Default value:__ The default format type is determined by the extension of the file URL. If no extension is detected, `\"json\"` will be used by default.",
"enum": [
"csv",
"tsv"
],
"type": "string"
}
},
"type": "object"
},
"Cursor": {
"enum": [
"auto",
"default",
"none",
"context-menu",
"help",
"pointer",
"progress",
"wait",
"cell",
"crosshair",
"text",
"vertical-text",
"alias",
"copy",
"move",
"no-drop",
"not-allowed",
"e-resize",
"n-resize",
"ne-resize",
"nw-resize",
"s-resize",
"se-resize",
"sw-resize",
"w-resize",
"ew-resize",
"ns-resize",
"nesw-resize",
"nwse-resize",
"col-resize",
"row-resize",
"all-scroll",
"zoom-in",
"zoom-out",
"grab",
"grabbing"
],
"type": "string"
},
"Cyclical": {
"enum": [
"rainbow",
"sinebow"
],
"type": "string"
},
"Data": {
"anyOf": [
{
"$ref": "#/definitions/DataSource"
},
{
"$ref": "#/definitions/Generator"
}
]
},
"DataFormat": {
"anyOf": [
{
"$ref": "#/definitions/CsvDataFormat"
},
{
"$ref": "#/definitions/DsvDataFormat"
},
{
"$ref": "#/definitions/JsonDataFormat"
},
{
"$ref": "#/definitions/TopoDataFormat"
}
]
},
"DataSource": {
"anyOf": [
{
"$ref": "#/definitions/UrlData"
},
{
"$ref": "#/definitions/InlineData"
},
{
"$ref": "#/definitions/NamedData"
}
]
},
"Datasets": {
"$ref": "#/definitions/Dict<InlineDataset>"
},
"DateTime": {
"additionalProperties": false,
"description": "Object for defining datetime in Vega-Lite Filter. If both month and quarter are provided, month has higher precedence. `day` cannot be combined with other date. We accept string for month and day names.",
"properties": {
"date": {
"description": "Integer value representing the date (day of the month) from 1-31.",
"maximum": 31,
"minimum": 1,
"type": "number"
},
"day": {
"anyOf": [
{
"$ref": "#/definitions/Day"
},
{
"type": "string"
}
],
"description": "Value representing the day of a week. This can be one of: (1) integer value -- `1` represents Monday; (2) case-insensitive day name (e.g., `\"Monday\"`); (3) case-insensitive, 3-character short day name (e.g., `\"Mon\"`).\n\n**Warning:** A DateTime definition object with `day`** should not be combined with `year`, `quarter`, `month`, or `date`."
},
"hours": {
"description": "Integer value representing the hour of a day from 0-23.",
"maximum": 24,
"minimum": 0,
"type": "number"
},
"milliseconds": {
"description": "Integer value representing the millisecond segment of time.",
"maximum": 1000,
"minimum": 0,
"type": "number"
},
"minutes": {
"description": "Integer value representing the minute segment of time from 0-59.",
"maximum": 60,
"minimum": 0,
"type": "number"
},
"month": {
"anyOf": [
{
"$ref": "#/definitions/Month"
},
{
"type": "string"
}
],
"description": "One of: (1) integer value representing the month from `1`-`12`. `1` represents January; (2) case-insensitive month name (e.g., `\"January\"`); (3) case-insensitive, 3-character short month name (e.g., `\"Jan\"`)."
},
"quarter": {
"description": "Integer value representing the quarter of the year (from 1-4).",
"maximum": 4,
"minimum": 1,
"type": "number"
},
"seconds": {
"description": "Integer value representing the second segment (0-59) of a time value",
"maximum": 60,
"minimum": 0,
"type": "number"
},
"utc": {
"description": "A boolean flag indicating if date time is in utc time. If false, the date time is in local time",
"type": "boolean"
},
"year": {
"description": "Integer value representing the year.",
"type": "number"
}
},
"type": "object"
},
"DatumDef": {
"additionalProperties": false,
"properties": {
"bandPosition": {
"description": "Relative position on a band of a stacked, binned, time unit, or band scale. For example, the marks will be positioned at the beginning of the band if set to `0`, and at the middle of the band if set to `0.5`.",
"maximum": 1,
"minimum": 0,
"type": "number"
},
"datum": {
"anyOf": [
{
"$ref": "#/definitions/PrimitiveValue"
},
{
"$ref": "#/definitions/DateTime"
},
{
"$ref": "#/definitions/ExprRef"
},
{
"$ref": "#/definitions/RepeatRef"
}
],
"description": "A constant value in data domain."
},
"title": {
"anyOf": [
{
"$ref": "#/definitions/Text"
},
{
"type": "null"
}
],
"description": "A title for the field. If `null`, the title will be removed.\n\n__Default value:__ derived from the field's name and transformation function (`aggregate`, `bin` and `timeUnit`). If the field has an aggregate function, the function is displayed as part of the title (e.g., `\"Sum of Profit\"`). If the field is binned or has a time unit applied, the applied function is shown in parentheses (e.g., `\"Profit (binned)\"`, `\"Transaction Date (year-month)\"`). Otherwise, the title is simply the field name.\n\n__Notes__:\n\n1) You can customize the default field title format by providing the [`fieldTitle`](https://vega.github.io/vega-lite/docs/config.html#top-level-config) property in the [config](https://vega.github.io/vega-lite/docs/config.html) or [`fieldTitle` function via the `compile` function's options](https://vega.github.io/vega-lite/usage/compile.html#field-title).\n\n2) If both field definition's `title` and axis, header, or legend `title` are defined, axis/header/legend title will be used."
},
"type": {
"$ref": "#/definitions/Type",
"description": "The type of measurement (`\"quantitative\"`, `\"temporal\"`, `\"ordinal\"`, or `\"nominal\"`) for the encoded field or constant value (`datum`). It can also be a `\"geojson\"` type for encoding ['geoshape'](https://vega.github.io/vega-lite/docs/geoshape.html).\n\nVega-Lite automatically infers data types in many cases as discussed below. However, type is required for a field if: (1) the field is not nominal and the field encoding has no specified `aggregate` (except `argmin` and `argmax`), `bin`, scale type, custom `sort` order, nor `timeUnit` or (2) if you wish to use an ordinal scale for a field with `bin` or `timeUnit`.\n\n__Default value:__\n\n1) For a data `field`, `\"nominal\"` is the default data type unless the field encoding has `aggregate`, `channel`, `bin`, scale type, `sort`, or `timeUnit` that satisfies the following criteria:\n- `\"quantitative\"` is the default type if (1) the encoded field contains `bin` or `aggregate` except `\"argmin\"` and `\"argmax\"`, (2) the encoding channel is `latitude` or `longitude` channel or (3) if the specified scale type is [a quantitative scale](https://vega.github.io/vega-lite/docs/scale.html#type).\n- `\"temporal\"` is the default type if (1) the encoded field contains `timeUnit` or (2) the specified scale type is a time or utc scale\n- `ordinal\"\"` is the default type if (1) the encoded field contains a [custom `sort` order](https://vega.github.io/vega-lite/docs/sort.html#specifying-custom-sort-order), (2) the specified scale type is an ordinal/point/band scale, or (3) the encoding channel is `order`.\n\n2) For a constant value in data domain (`datum`):\n- `\"quantitative\"` if the datum is a number\n- `\"nominal\"` if the datum is a string\n- `\"temporal\"` if the datum is [a date time object](https://vega.github.io/vega-lite/docs/datetime.html)\n\n__Note:__\n- Data `type` describes the semantics of the data rather than the primitive data types (number, string, etc.). The same primitive data type can have different types of measurement. For example, numeric data can represent quantitative, ordinal, or nominal data.\n- Data values for a temporal field can be either a date-time string (e.g., `\"2015-03-07 12:32:17\"`, `\"17:01\"`, `\"2015-03-16\"`. `\"2015\"`) or a timestamp number (e.g., `1552199579097`).\n- When using with [`bin`](https://vega.github.io/vega-lite/docs/bin.html), the `type` property can be either `\"quantitative\"` (for using a linear bin scale) or [`\"ordinal\"` (for using an ordinal bin scale)](https://vega.github.io/vega-lite/docs/type.html#cast-bin).\n- When using with [`timeUnit`](https://vega.github.io/vega-lite/docs/timeunit.html), the `type` property can be either `\"temporal\"` (default, for using a temporal scale) or [`\"ordinal\"` (for using an ordinal scale)](https://vega.github.io/vega-lite/docs/type.html#cast-bin).\n- When using with [`aggregate`](https://vega.github.io/vega-lite/docs/aggregate.html), the `type` property refers to the post-aggregation data type. For example, we can calculate count `distinct` of a categorical field `\"cat\"` using `{\"aggregate\": \"distinct\", \"field\": \"cat\"}`. The `\"type\"` of the aggregate output is `\"quantitative\"`.\n- Secondary channels (e.g., `x2`, `y2`, `xError`, `yError`) do not have `type` as they must have exactly the same type as their primary channels (e.g., `x`, `y`).\n\n__See also:__ [`type`](https://vega.github.io/vega-lite/docs/type.html) documentation."
}
},
"type": "object"
},
"Day": {
"maximum": 7,
"minimum": 1,
"type": "number"
},
"DensityTransform": {
"additionalProperties": false,
"properties": {
"as": {
"description": "The output fields for the sample value and corresponding density estimate.\n\n__Default value:__ `[\"value\", \"density\"]`",
"items": {
"$ref": "#/definitions/FieldName"
},
"maxItems": 2,
"minItems": 2,
"type": "array"
},
"bandwidth": {
"description": "The bandwidth (standard deviation) of the Gaussian kernel. If unspecified or set to zero, the bandwidth value is automatically estimated from the input data using Scott’s rule.",
"type": "number"
},
"counts": {
"description": "A boolean flag indicating if the output values should be probability estimates (false) or smoothed counts (true).\n\n__Default value:__ `false`",
"type": "boolean"
},
"cumulative": {
"description": "A boolean flag indicating whether to produce density estimates (false) or cumulative density estimates (true).\n\n__Default value:__ `false`",
"type": "boolean"
},
"density": {
"$ref": "#/definitions/FieldName",
"description": "The data field for which to perform density estimation."
},
"extent": {
"description": "A [min, max] domain from which to sample the distribution. If unspecified, the extent will be determined by the observed minimum and maximum values of the density value field.",
"items": {
"type": "number"
},
"maxItems": 2,
"minItems": 2,
"type": "array"
},
"groupby": {
"description": "The data fields to group by. If not specified, a single group containing all data objects will be used.",
"items": {
"$ref": "#/definitions/FieldName"
},
"type": "array"
},
"maxsteps": {
"description": "The maximum number of samples to take along the extent domain for plotting the density.\n\n__Default value:__ `200`",
"type": "number"
},
"minsteps": {
"description": "The minimum number of samples to take along the extent domain for plotting the density.\n\n__Default value:__ `25`",
"type": "number"
},
"steps": {
"description": "The exact number of samples to take along the extent domain for plotting the density. If specified, overrides both minsteps and maxsteps to set an exact number of uniform samples. Potentially useful in conjunction with a fixed extent to ensure consistent sample points for stacked densities.",
"type": "number"
}
},
"required": [
"density"
],
"type": "object"
},
"DerivedStream": {
"additionalProperties": false,
"properties": {
"between": {
"items": {
"$ref": "#/definitions/Stream"
},
"type": "array"
},
"consume": {
"type": "boolean"
},
"debounce": {
"type": "number"
},
"filter": {
"anyOf": [
{
"$ref": "#/definitions/Expr"
},
{
"items": {
"$ref": "#/definitions/Expr"
},
"type": "array"
}
]
},
"markname": {
"type": "string"
},
"marktype": {
"$ref": "#/definitions/MarkType"
},
"stream": {
"$ref": "#/definitions/Stream"
},
"throttle": {
"type": "number"
}
},
"required": [
"stream"
],
"type": "object"
},
"Dict<InlineDataset>": {
"additionalProperties": {
"$ref": "#/definitions/InlineDataset"
},
"type": "object"
},
"Dict<SelectionInit>": {
"additionalProperties": {
"$ref": "#/definitions/SelectionInit"
},
"type": "object"
},
"Dict<SelectionInitInterval>": {
"additionalProperties": {
"$ref": "#/definitions/SelectionInitInterval"
},
"type": "object"
},
"Dict": {
"additionalProperties": {},
"type": "object"
},
"Diverging": {
"enum": [
"blueorange",
"blueorange-3",
"blueorange-4",
"blueorange-5",
"blueorange-6",
"blueorange-7",
"blueorange-8",
"blueorange-9",
"blueorange-10",
"blueorange-11",
"brownbluegreen",
"brownbluegreen-3",
"brownbluegreen-4",
"brownbluegreen-5",
"brownbluegreen-6",
"brownbluegreen-7",
"brownbluegreen-8",
"brownbluegreen-9",
"brownbluegreen-10",
"brownbluegreen-11",
"purplegreen",
"purplegreen-3",
"purplegreen-4",
"purplegreen-5",
"purplegreen-6",
"purplegreen-7",
"purplegreen-8",
"purplegreen-9",
"purplegreen-10",
"purplegreen-11",
"pinkyellowgreen",
"pinkyellowgreen-3",
"pinkyellowgreen-4",
"pinkyellowgreen-5",
"pinkyellowgreen-6",
"pinkyellowgreen-7",
"pinkyellowgreen-8",
"pinkyellowgreen-9",
"pinkyellowgreen-10",
"pinkyellowgreen-11",
"purpleorange",
"purpleorange-3",
"purpleorange-4",
"purpleorange-5",
"purpleorange-6",
"purpleorange-7",
"purpleorange-8",
"purpleorange-9",
"purpleorange-10",
"purpleorange-11",
"redblue",
"redblue-3",
"redblue-4",
"redblue-5",
"redblue-6",
"redblue-7",
"redblue-8",
"redblue-9",
"redblue-10",
"redblue-11",
"redgrey",
"redgrey-3",
"redgrey-4",
"redgrey-5",
"redgrey-6",
"redgrey-7",
"redgrey-8",
"redgrey-9",
"redgrey-10",
"redgrey-11",
"redyellowblue",
"redyellowblue-3",
"redyellowblue-4",
"redyellowblue-5",
"redyellowblue-6",
"redyellowblue-7",
"redyellowblue-8",
"redyellowblue-9",
"redyellowblue-10",
"redyellowblue-11",
"redyellowgreen",
"redyellowgreen-3",
"redyellowgreen-4",
"redyellowgreen-5",
"redyellowgreen-6",
"redyellowgreen-7",
"redyellowgreen-8",
"redyellowgreen-9",
"redyellowgreen-10",
"redyellowgreen-11",
"spectral",
"spectral-3",
"spectral-4",
"spectral-5",
"spectral-6",
"spectral-7",
"spectral-8",
"spectral-9",
"spectral-10",
"spectral-11"
],
"type": "string"
},
"DomainUnionWith": {
"additionalProperties": false,
"properties": {
"unionWith": {
"anyOf": [
{
"items": {
"type": "number"
},
"type": "array"
},
{
"items": {
"type": "string"
},
"type": "array"
},
{
"items": {
"type": "boolean"
},
"type": "array"
},
{
"items": {
"$ref": "#/definitions/DateTime"
},
"type": "array"
}
],
"description": "Customized domain values to be union with the field's values or explicitly defined domain. Should be an array of valid scale domain values."
}
},
"required": [
"unionWith"
],
"type": "object"
},
"DsvDataFormat": {
"additionalProperties": false,
"properties": {
"delimiter": {
"description": "The delimiter between records. The delimiter must be a single character (i.e., a single 16-bit code unit); so, ASCII delimiters are fine, but emoji delimiters are not.",
"maxLength": 1,
"minLength": 1,
"type": "string"
},
"parse": {
"anyOf": [
{
"$ref": "#/definitions/Parse"
},
{
"type": "null"
}
],
"description": "If set to `null`, disable type inference based on the spec and only use type inference based on the data. Alternatively, a parsing directive object can be provided for explicit data types. Each property of the object corresponds to a field name, and the value to the desired data type (one of `\"number\"`, `\"boolean\"`, `\"date\"`, or null (do not parse the field)). For example, `\"parse\": {\"modified_on\": \"date\"}` parses the `modified_on` field in each input record a Date value.\n\nFor `\"date\"`, we parse data based using JavaScript's [`Date.parse()`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/parse). For Specific date formats can be provided (e.g., `{foo: \"date:'%m%d%Y'\"}`), using the [d3-time-format syntax](https://github.com/d3/d3-time-format#locale_format). UTC date format parsing is supported similarly (e.g., `{foo: \"utc:'%m%d%Y'\"}`). See more about [UTC time](https://vega.github.io/vega-lite/docs/timeunit.html#utc)"
},
"type": {
"const": "dsv",
"description": "Type of input data: `\"json\"`, `\"csv\"`, `\"tsv\"`, `\"dsv\"`.\n\n__Default value:__ The default format type is determined by the extension of the file URL. If no extension is detected, `\"json\"` will be used by default.",
"type": "string"
}
},
"required": [
"delimiter"
],
"type": "object"
},
"Element": {
"type": "string"
},
"EncodingSortField": {
"additionalProperties": false,
"description": "A sort definition for sorting a discrete scale in an encoding field definition.",
"properties": {
"field": {
"$ref": "#/definitions/Field",
"description": "The data [field](https://vega.github.io/vega-lite/docs/field.html) to sort by.\n\n__Default value:__ If unspecified, defaults to the field specified in the outer data reference."
},
"op": {
"$ref": "#/definitions/NonArgAggregateOp",
"description": "An [aggregate operation](https://vega.github.io/vega-lite/docs/aggregate.html#ops) to perform on the field prior to sorting (e.g., `\"count\"`, `\"mean\"` and `\"median\"`). An aggregation is required when there are multiple values of the sort field for each encoded data field. The input data objects will be aggregated, grouped by the encoded data field.\n\nFor a full list of operations, please see the documentation for [aggregate](https://vega.github.io/vega-lite/docs/aggregate.html#ops).\n\n__Default value:__ `\"sum\"` for stacked plots. Otherwise, `\"min\"`."
},
"order": {
"anyOf": [
{
"$ref": "#/definitions/SortOrder"
},
{
"type": "null"
}
],
"description": "The sort order. One of `\"ascending\"` (default), `\"descending\"`, or `null` (no not sort)."
}
},
"type": "object"
},
"ErrorBand": {
"const": "errorband",
"type": "string"
},
"ErrorBandConfig": {
"additionalProperties": false,
"properties": {
"band": {
"anyOf": [
{
"type": "boolean"
},
{
"$ref": "#/definitions/MarkConfig"
}
]
},
"borders": {
"anyOf": [
{
"type": "boolean"
},
{
"$ref": "#/definitions/MarkConfig"
}
]
},
"extent": {
"$ref": "#/definitions/ErrorBarExtent",
"description": "The extent of the band. Available options include:\n- `\"ci\"`: Extend the band to the confidence interval of the mean.\n- `\"stderr\"`: The size of band are set to the value of standard error, extending from the mean.\n- `\"stdev\"`: The size of band are set to the value of standard deviation, extending from the mean.\n- `\"iqr\"`: Extend the band to the q1 and q3.\n\n__Default value:__ `\"stderr\"`."
},
"interpolate": {
"$ref": "#/definitions/Interpolate",
"description": "The line interpolation method for the error band. One of the following:\n- `\"linear\"`: piecewise linear segments, as in a polyline.\n- `\"linear-closed\"`: close the linear segments to form a polygon.\n- `\"step\"`: a piecewise constant function (a step function) consisting of alternating horizontal and vertical lines. The y-value changes at the midpoint of each pair of adjacent x-values.\n- `\"step-before\"`: a piecewise constant function (a step function) consisting of alternating horizontal and vertical lines. The y-value changes before the x-value.\n- `\"step-after\"`: a piecewise constant function (a step function) consisting of alternating horizontal and vertical lines. The y-value changes after the x-value.\n- `\"basis\"`: a B-spline, with control point duplication on the ends.\n- `\"basis-open\"`: an open B-spline; may not intersect the start or end.\n- `\"basis-closed\"`: a closed B-spline, as in a loop.\n- `\"cardinal\"`: a Cardinal spline, with control point duplication on the ends.\n- `\"cardinal-open\"`: an open Cardinal spline; may not intersect the start or end, but will intersect other control points.\n- `\"cardinal-closed\"`: a closed Cardinal spline, as in a loop.\n- `\"bundle\"`: equivalent to basis, except the tension parameter is used to straighten the spline.\n- `\"monotone\"`: cubic interpolation that preserves monotonicity in y."
},
"tension": {
"description": "The tension parameter for the interpolation type of the error band.",
"maximum": 1,
"minimum": 0,
"type": "number"
}
},
"type": "object"
},
"ErrorBandDef": {
"additionalProperties": false,
"properties": {
"band": {
"anyOf": [
{
"type": "boolean"
},
{
"$ref": "#/definitions/MarkConfig"
}
]
},
"borders": {
"anyOf": [
{
"type": "boolean"
},
{
"$ref": "#/definitions/MarkConfig"
}
]
},
"clip": {
"description": "Whether a composite mark be clipped to the enclosing group’s width and height.",
"type": "boolean"
},
"color": {
"anyOf": [
{
"$ref": "#/definitions/Color"
},
{
"$ref": "#/definitions/Gradient"
},
{
"$ref": "#/definitions/ExprRef"
}
],
"description": "Default color.\n\n__Default value:__ <span style=\"color: #4682b4;\">&#9632;</span> `\"#4682b4\"`\n\n__Note:__\n- This property cannot be used in a [style config](https://vega.github.io/vega-lite/docs/mark.html#style-config).\n- The `fill` and `stroke` properties have higher precedence than `color` and will override `color`."
},
"extent": {
"$ref": "#/definitions/ErrorBarExtent",
"description": "The extent of the band. Available options include:\n- `\"ci\"`: Extend the band to the confidence interval of the mean.\n- `\"stderr\"`: The size of band are set to the value of standard error, extending from the mean.\n- `\"stdev\"`: The size of band are set to the value of standard deviation, extending from the mean.\n- `\"iqr\"`: Extend the band to the q1 and q3.\n\n__Default value:__ `\"stderr\"`."
},
"interpolate": {
"$ref": "#/definitions/Interpolate",
"description": "The line interpolation method for the error band. One of the following:\n- `\"linear\"`: piecewise linear segments, as in a polyline.\n- `\"linear-closed\"`: close the linear segments to form a polygon.\n- `\"step\"`: a piecewise constant function (a step function) consisting of alternating horizontal and vertical lines. The y-value changes at the midpoint of each pair of adjacent x-values.\n- `\"step-before\"`: a piecewise constant function (a step function) consisting of alternating horizontal and vertical lines. The y-value changes before the x-value.\n- `\"step-after\"`: a piecewise constant function (a step function) consisting of alternating horizontal and vertical lines. The y-value changes after the x-value.\n- `\"basis\"`: a B-spline, with control point duplication on the ends.\n- `\"basis-open\"`: an open B-spline; may not intersect the start or end.\n- `\"basis-closed\"`: a closed B-spline, as in a loop.\n- `\"cardinal\"`: a Cardinal spline, with control point duplication on the ends.\n- `\"cardinal-open\"`: an open Cardinal spline; may not intersect the start or end, but will intersect other control points.\n- `\"cardinal-closed\"`: a closed Cardinal spline, as in a loop.\n- `\"bundle\"`: equivalent to basis, except the tension parameter is used to straighten the spline.\n- `\"monotone\"`: cubic interpolation that preserves monotonicity in y."
},
"opacity": {
"description": "The opacity (value between [0,1]) of the mark.",
"maximum": 1,
"minimum": 0,
"type": "number"
},
"orient": {
"$ref": "#/definitions/Orientation",
"description": "Orientation of the error band. This is normally automatically determined, but can be specified when the orientation is ambiguous and cannot be automatically determined."
},
"tension": {
"description": "The tension parameter for the interpolation type of the error band.",
"maximum": 1,
"minimum": 0,
"type": "number"
},
"type": {
"$ref": "#/definitions/ErrorBand",
"description": "The mark type. This could a primitive mark type (one of `\"bar\"`, `\"circle\"`, `\"square\"`, `\"tick\"`, `\"line\"`, `\"area\"`, `\"point\"`, `\"geoshape\"`, `\"rule\"`, and `\"text\"`) or a composite mark type (`\"boxplot\"`, `\"errorband\"`, `\"errorbar\"`)."
}
},
"required": [
"type"
],
"type": "object"
},
"ErrorBar": {
"const": "errorbar",
"type": "string"
},
"ErrorBarConfig": {
"additionalProperties": false,
"properties": {
"extent": {
"$ref": "#/definitions/ErrorBarExtent",
"description": "The extent of the rule. Available options include:\n- `\"ci\"`: Extend the rule to the confidence interval of the mean.\n- `\"stderr\"`: The size of rule are set to the value of standard error, extending from the mean.\n- `\"stdev\"`: The size of rule are set to the value of standard deviation, extending from the mean.\n- `\"iqr\"`: Extend the rule to the q1 and q3.\n\n__Default value:__ `\"stderr\"`."
},
"rule": {
"anyOf": [
{
"type": "boolean"
},
{
"$ref": "#/definitions/MarkConfig"
}
]
},
"size": {
"description": "Size of the ticks of an error bar",
"type": "number"
},
"thickness": {
"description": "Thickness of the ticks and the bar of an error bar",
"type": "number"
},
"ticks": {
"anyOf": [
{
"type": "boolean"
},
{
"$ref": "#/definitions/MarkConfig"
}
]
}
},
"type": "object"
},
"ErrorBarDef": {
"additionalProperties": false,
"properties": {
"clip": {
"description": "Whether a composite mark be clipped to the enclosing group’s width and height.",
"type": "boolean"
},
"color": {
"anyOf": [
{
"$ref": "#/definitions/Color"
},
{
"$ref": "#/definitions/Gradient"
},
{
"$ref": "#/definitions/ExprRef"
}
],
"description": "Default color.\n\n__Default value:__ <span style=\"color: #4682b4;\">&#9632;</span> `\"#4682b4\"`\n\n__Note:__\n- This property cannot be used in a [style config](https://vega.github.io/vega-lite/docs/mark.html#style-config).\n- The `fill` and `stroke` properties have higher precedence than `color` and will override `color`."
},
"extent": {
"$ref": "#/definitions/ErrorBarExtent",
"description": "The extent of the rule. Available options include:\n- `\"ci\"`: Extend the rule to the confidence interval of the mean.\n- `\"stderr\"`: The size of rule are set to the value of standard error, extending from the mean.\n- `\"stdev\"`: The size of rule are set to the value of standard deviation, extending from the mean.\n- `\"iqr\"`: Extend the rule to the q1 and q3.\n\n__Default value:__ `\"stderr\"`."
},
"opacity": {
"description": "The opacity (value between [0,1]) of the mark.",
"maximum": 1,
"minimum": 0,
"type": "number"
},
"orient": {
"$ref": "#/definitions/Orientation",
"description": "Orientation of the error bar. This is normally automatically determined, but can be specified when the orientation is ambiguous and cannot be automatically determined."
},
"rule": {
"anyOf": [
{
"type": "boolean"
},
{
"$ref": "#/definitions/MarkConfig"
}
]
},
"size": {
"description": "Size of the ticks of an error bar",
"type": "number"
},
"thickness": {
"description": "Thickness of the ticks and the bar of an error bar",
"type": "number"
},
"ticks": {
"anyOf": [
{
"type": "boolean"
},
{
"$ref": "#/definitions/MarkConfig"
}
]
},
"type": {
"$ref": "#/definitions/ErrorBar",
"description": "The mark type. This could a primitive mark type (one of `\"bar\"`, `\"circle\"`, `\"square\"`, `\"tick\"`, `\"line\"`, `\"area\"`, `\"point\"`, `\"geoshape\"`, `\"rule\"`, and `\"text\"`) or a composite mark type (`\"boxplot\"`, `\"errorband\"`, `\"errorbar\"`)."
}
},
"required": [
"type"
],
"type": "object"
},
"ErrorBarExtent": {
"enum": [
"ci",
"iqr",
"stderr",
"stdev"
],
"type": "string"
},
"EventStream": {
"anyOf": [
{
"additionalProperties": false,
"properties": {
"between": {
"items": {
"$ref": "#/definitions/Stream"
},
"type": "array"
},
"consume": {
"type": "boolean"
},
"debounce": {
"type": "number"
},
"filter": {
"anyOf": [
{
"$ref": "#/definitions/Expr"
},
{
"items": {
"$ref": "#/definitions/Expr"
},
"type": "array"
}
]
},
"markname": {
"type": "string"
},
"marktype": {
"$ref": "#/definitions/MarkType"
},
"source": {
"enum": [
"view",
"scope"
],
"type": "string"
},
"throttle": {
"type": "number"
},
"type": {
"$ref": "#/definitions/EventType"
}
},
"required": [
"type"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"between": {
"items": {
"$ref": "#/definitions/Stream"
},
"type": "array"
},
"consume": {
"type": "boolean"
},
"debounce": {
"type": "number"
},
"filter": {
"anyOf": [
{
"$ref": "#/definitions/Expr"
},
{
"items": {
"$ref": "#/definitions/Expr"
},
"type": "array"
}
]
},
"markname": {
"type": "string"
},
"marktype": {
"$ref": "#/definitions/MarkType"
},
"source": {
"const": "window",
"type": "string"
},
"throttle": {
"type": "number"
},
"type": {
"$ref": "#/definitions/WindowEventType"
}
},
"required": [
"source",
"type"
],
"type": "object"
}
]
},
"EventType": {
"enum": [
"click",
"dblclick",
"dragenter",
"dragleave",
"dragover",
"keydown",
"keypress",
"keyup",
"mousedown",
"mousemove",
"mouseout",
"mouseover",
"mouseup",
"mousewheel",
"timer",
"touchend",
"touchmove",
"touchstart",
"wheel"
],
"type": "string"
},
"Expr": {
"type": "string"
},
"ExprRef": {
"additionalProperties": false,
"properties": {
"expr": {
"description": "Vega expression (which can refer to Vega-Lite parameters).",
"type": "string"
}
},
"required": [
"expr"
],
"type": "object"
},
"FacetEncodingFieldDef": {
"additionalProperties": false,
"properties": {
"aggregate": {
"$ref": "#/definitions/Aggregate",
"description": "Aggregation function for the field (e.g., `\"mean\"`, `\"sum\"`, `\"median\"`, `\"min\"`, `\"max\"`, `\"count\"`).\n\n__Default value:__ `undefined` (None)\n\n__See also:__ [`aggregate`](https://vega.github.io/vega-lite/docs/aggregate.html) documentation."
},
"align": {
"anyOf": [
{
"$ref": "#/definitions/LayoutAlign"
},
{
"$ref": "#/definitions/RowCol<LayoutAlign>"
}
],
"description": "The alignment to apply to grid rows and columns. The supported string values are `\"all\"`, `\"each\"`, and `\"none\"`.\n\n- For `\"none\"`, a flow layout will be used, in which adjacent subviews are simply placed one after the other.\n- For `\"each\"`, subviews will be aligned into a clean grid structure, but each row or column may be of variable size.\n- For `\"all\"`, subviews will be aligned and each row or column will be sized identically based on the maximum observed size. String values for this property will be applied to both grid rows and columns.\n\nAlternatively, an object value of the form `{\"row\": string, \"column\": string}` can be used to supply different alignments for rows and columns.\n\n__Default value:__ `\"all\"`."
},
"bandPosition": {
"description": "Relative position on a band of a stacked, binned, time unit, or band scale. For example, the marks will be positioned at the beginning of the band if set to `0`, and at the middle of the band if set to `0.5`.",
"maximum": 1,
"minimum": 0,
"type": "number"
},
"bin": {
"anyOf": [
{
"type": "boolean"
},
{
"$ref": "#/definitions/BinParams"
},
{
"type": "null"
}
],
"description": "A flag for binning a `quantitative` field, [an object defining binning parameters](https://vega.github.io/vega-lite/docs/bin.html#params), or indicating that the data for `x` or `y` channel are binned before they are imported into Vega-Lite (`\"binned\"`).\n\n- If `true`, default [binning parameters](https://vega.github.io/vega-lite/docs/bin.html) will be applied.\n\n- If `\"binned\"`, this indicates that the data for the `x` (or `y`) channel are already binned. You can map the bin-start field to `x` (or `y`) and the bin-end field to `x2` (or `y2`). The scale and axis will be formatted similar to binning in Vega-Lite. To adjust the axis ticks based on the bin step, you can also set the axis's [`tickMinStep`](https://vega.github.io/vega-lite/docs/axis.html#ticks) property.\n\n__Default value:__ `false`\n\n__See also:__ [`bin`](https://vega.github.io/vega-lite/docs/bin.html) documentation."
},
"bounds": {
"description": "The bounds calculation method to use for determining the extent of a sub-plot. One of `full` (the default) or `flush`.\n\n- If set to `full`, the entire calculated bounds (including axes, title, and legend) will be used.\n- If set to `flush`, only the specified width and height values for the sub-view will be used. The `flush` setting can be useful when attempting to place sub-plots without axes or legends into a uniform grid structure.\n\n__Default value:__ `\"full\"`",
"enum": [
"full",
"flush"
],
"type": "string"
},
"center": {
"anyOf": [
{
"type": "boolean"
},
{
"$ref": "#/definitions/RowCol<boolean>"
}
],
"description": "Boolean flag indicating if subviews should be centered relative to their respective rows or columns.\n\nAn object value of the form `{\"row\": boolean, \"column\": boolean}` can be used to supply different centering values for rows and columns.\n\n__Default value:__ `false`"
},
"columns": {
"description": "The number of columns to include in the view composition layout.\n\n__Default value__: `undefined` -- An infinite number of columns (a single row) will be assumed. This is equivalent to `hconcat` (for `concat`) and to using the `column` channel (for `facet` and `repeat`).\n\n__Note__:\n\n1) This property is only for:\n- the general (wrappable) `concat` operator (not `hconcat`/`vconcat`)\n- the `facet` and `repeat` operator with one field/repetition definition (without row/column nesting)\n\n2) Setting the `columns` to `1` is equivalent to `vconcat` (for `concat`) and to using the `row` channel (for `facet` and `repeat`).",
"type": "number"
},
"field": {
"$ref": "#/definitions/Field",
"description": "__Required.__ A string defining the name of the field from which to pull a data value or an object defining iterated values from the [`repeat`](https://vega.github.io/vega-lite/docs/repeat.html) operator.\n\n__See also:__ [`field`](https://vega.github.io/vega-lite/docs/field.html) documentation.\n\n__Notes:__ 1) Dots (`.`) and brackets (`[` and `]`) can be used to access nested objects (e.g., `\"field\": \"foo.bar\"` and `\"field\": \"foo['bar']\"`). If field names contain dots or brackets but are not nested, you can use `\\\\` to escape dots and brackets (e.g., `\"a\\\\.b\"` and `\"a\\\\[0\\\\]\"`). See more details about escaping in the [field documentation](https://vega.github.io/vega-lite/docs/field.html). 2) `field` is not required if `aggregate` is `count`."
},
"header": {
"anyOf": [
{
"$ref": "#/definitions/Header"
},
{
"type": "null"
}
],
"description": "An object defining properties of a facet's header."
},
"sort": {
"anyOf": [
{
"$ref": "#/definitions/SortArray"
},
{
"$ref": "#/definitions/SortOrder"
},
{
"$ref": "#/definitions/EncodingSortField"
},
{
"type": "null"
}
],
"description": "Sort order for the encoded field.\n\nFor continuous fields (quantitative or temporal), `sort` can be either `\"ascending\"` or `\"descending\"`.\n\nFor discrete fields, `sort` can be one of the following:\n- `\"ascending\"` or `\"descending\"` -- for sorting by the values' natural order in JavaScript.\n- [A sort field definition](https://vega.github.io/vega-lite/docs/sort.html#sort-field) for sorting by another field.\n- [An array specifying the field values in preferred order](https://vega.github.io/vega-lite/docs/sort.html#sort-array). In this case, the sort order will obey the values in the array, followed by any unspecified values in their original order. For discrete time field, values in the sort array can be [date-time definition objects](types#datetime). In addition, for time units `\"month\"` and `\"day\"`, the values can be the month or day names (case insensitive) or their 3-letter initials (e.g., `\"Mon\"`, `\"Tue\"`).\n- `null` indicating no sort.\n\n__Default value:__ `\"ascending\"`\n\n__Note:__ `null` is not supported for `row` and `column`."
},
"spacing": {
"anyOf": [
{
"type": "number"
},
{
"$ref": "#/definitions/RowCol<number>"
}
],
"description": "The spacing in pixels between sub-views of the composition operator. An object of the form `{\"row\": number, \"column\": number}` can be used to set different spacing values for rows and columns.\n\n__Default value__: Depends on `\"spacing\"` property of [the view composition configuration](https://vega.github.io/vega-lite/docs/config.html#view-config) (`20` by default)"
},
"timeUnit": {
"anyOf": [
{
"$ref": "#/definitions/TimeUnit"
},
{
"$ref": "#/definitions/TimeUnitParams"
}
],
"description": "Time unit (e.g., `year`, `yearmonth`, `month`, `hours`) for a temporal field. or [a temporal field that gets casted as ordinal](https://vega.github.io/vega-lite/docs/type.html#cast).\n\n__Default value:__ `undefined` (None)\n\n__See also:__ [`timeUnit`](https://vega.github.io/vega-lite/docs/timeunit.html) documentation."
},
"title": {
"anyOf": [
{
"$ref": "#/definitions/Text"
},
{
"type": "null"
}
],
"description": "A title for the field. If `null`, the title will be removed.\n\n__Default value:__ derived from the field's name and transformation function (`aggregate`, `bin` and `timeUnit`). If the field has an aggregate function, the function is displayed as part of the title (e.g., `\"Sum of Profit\"`). If the field is binned or has a time unit applied, the applied function is shown in parentheses (e.g., `\"Profit (binned)\"`, `\"Transaction Date (year-month)\"`). Otherwise, the title is simply the field name.\n\n__Notes__:\n\n1) You can customize the default field title format by providing the [`fieldTitle`](https://vega.github.io/vega-lite/docs/config.html#top-level-config) property in the [config](https://vega.github.io/vega-lite/docs/config.html) or [`fieldTitle` function via the `compile` function's options](https://vega.github.io/vega-lite/usage/compile.html#field-title).\n\n2) If both field definition's `title` and axis, header, or legend `title` are defined, axis/header/legend title will be used."
},
"type": {
"$ref": "#/definitions/StandardType",
"description": "The type of measurement (`\"quantitative\"`, `\"temporal\"`, `\"ordinal\"`, or `\"nominal\"`) for the encoded field or constant value (`datum`). It can also be a `\"geojson\"` type for encoding ['geoshape'](https://vega.github.io/vega-lite/docs/geoshape.html).\n\nVega-Lite automatically infers data types in many cases as discussed below. However, type is required for a field if: (1) the field is not nominal and the field encoding has no specified `aggregate` (except `argmin` and `argmax`), `bin`, scale type, custom `sort` order, nor `timeUnit` or (2) if you wish to use an ordinal scale for a field with `bin` or `timeUnit`.\n\n__Default value:__\n\n1) For a data `field`, `\"nominal\"` is the default data type unless the field encoding has `aggregate`, `channel`, `bin`, scale type, `sort`, or `timeUnit` that satisfies the following criteria:\n- `\"quantitative\"` is the default type if (1) the encoded field contains `bin` or `aggregate` except `\"argmin\"` and `\"argmax\"`, (2) the encoding channel is `latitude` or `longitude` channel or (3) if the specified scale type is [a quantitative scale](https://vega.github.io/vega-lite/docs/scale.html#type).\n- `\"temporal\"` is the default type if (1) the encoded field contains `timeUnit` or (2) the specified scale type is a time or utc scale\n- `ordinal\"\"` is the default type if (1) the encoded field contains a [custom `sort` order](https://vega.github.io/vega-lite/docs/sort.html#specifying-custom-sort-order), (2) the specified scale type is an ordinal/point/band scale, or (3) the encoding channel is `order`.\n\n2) For a constant value in data domain (`datum`):\n- `\"quantitative\"` if the datum is a number\n- `\"nominal\"` if the datum is a string\n- `\"temporal\"` if the datum is [a date time object](https://vega.github.io/vega-lite/docs/datetime.html)\n\n__Note:__\n- Data `type` describes the semantics of the data rather than the primitive data types (number, string, etc.). The same primitive data type can have different types of measurement. For example, numeric data can represent quantitative, ordinal, or nominal data.\n- Data values for a temporal field can be either a date-time string (e.g., `\"2015-03-07 12:32:17\"`, `\"17:01\"`, `\"2015-03-16\"`. `\"2015\"`) or a timestamp number (e.g., `1552199579097`).\n- When using with [`bin`](https://vega.github.io/vega-lite/docs/bin.html), the `type` property can be either `\"quantitative\"` (for using a linear bin scale) or [`\"ordinal\"` (for using an ordinal bin scale)](https://vega.github.io/vega-lite/docs/type.html#cast-bin).\n- When using with [`timeUnit`](https://vega.github.io/vega-lite/docs/timeunit.html), the `type` property can be either `\"temporal\"` (default, for using a temporal scale) or [`\"ordinal\"` (for using an ordinal scale)](https://vega.github.io/vega-lite/docs/type.html#cast-bin).\n- When using with [`aggregate`](https://vega.github.io/vega-lite/docs/aggregate.html), the `type` property refers to the post-aggregation data type. For example, we can calculate count `distinct` of a categorical field `\"cat\"` using `{\"aggregate\": \"distinct\", \"field\": \"cat\"}`. The `\"type\"` of the aggregate output is `\"quantitative\"`.\n- Secondary channels (e.g., `x2`, `y2`, `xError`, `yError`) do not have `type` as they must have exactly the same type as their primary channels (e.g., `x`, `y`).\n\n__See also:__ [`type`](https://vega.github.io/vega-lite/docs/type.html) documentation."
}
},
"type": "object"
},
"FacetFieldDef": {
"additionalProperties": false,
"properties": {
"aggregate": {
"$ref": "#/definitions/Aggregate",
"description": "Aggregation function for the field (e.g., `\"mean\"`, `\"sum\"`, `\"median\"`, `\"min\"`, `\"max\"`, `\"count\"`).\n\n__Default value:__ `undefined` (None)\n\n__See also:__ [`aggregate`](https://vega.github.io/vega-lite/docs/aggregate.html) documentation."
},
"bandPosition": {
"description": "Relative position on a band of a stacked, binned, time unit, or band scale. For example, the marks will be positioned at the beginning of the band if set to `0`, and at the middle of the band if set to `0.5`.",
"maximum": 1,
"minimum": 0,
"type": "number"
},
"bin": {
"anyOf": [
{
"type": "boolean"
},
{
"$ref": "#/definitions/BinParams"
},
{
"type": "null"
}
],
"description": "A flag for binning a `quantitative` field, [an object defining binning parameters](https://vega.github.io/vega-lite/docs/bin.html#params), or indicating that the data for `x` or `y` channel are binned before they are imported into Vega-Lite (`\"binned\"`).\n\n- If `true`, default [binning parameters](https://vega.github.io/vega-lite/docs/bin.html) will be applied.\n\n- If `\"binned\"`, this indicates that the data for the `x` (or `y`) channel are already binned. You can map the bin-start field to `x` (or `y`) and the bin-end field to `x2` (or `y2`). The scale and axis will be formatted similar to binning in Vega-Lite. To adjust the axis ticks based on the bin step, you can also set the axis's [`tickMinStep`](https://vega.github.io/vega-lite/docs/axis.html#ticks) property.\n\n__Default value:__ `false`\n\n__See also:__ [`bin`](https://vega.github.io/vega-lite/docs/bin.html) documentation."
},
"field": {
"$ref": "#/definitions/Field",
"description": "__Required.__ A string defining the name of the field from which to pull a data value or an object defining iterated values from the [`repeat`](https://vega.github.io/vega-lite/docs/repeat.html) operator.\n\n__See also:__ [`field`](https://vega.github.io/vega-lite/docs/field.html) documentation.\n\n__Notes:__ 1) Dots (`.`) and brackets (`[` and `]`) can be used to access nested objects (e.g., `\"field\": \"foo.bar\"` and `\"field\": \"foo['bar']\"`). If field names contain dots or brackets but are not nested, you can use `\\\\` to escape dots and brackets (e.g., `\"a\\\\.b\"` and `\"a\\\\[0\\\\]\"`). See more details about escaping in the [field documentation](https://vega.github.io/vega-lite/docs/field.html). 2) `field` is not required if `aggregate` is `count`."
},
"header": {
"anyOf": [
{
"$ref": "#/definitions/Header"
},
{
"type": "null"
}
],
"description": "An object defining properties of a facet's header."
},
"sort": {
"anyOf": [
{
"$ref": "#/definitions/SortArray"
},
{
"$ref": "#/definitions/SortOrder"
},
{
"$ref": "#/definitions/EncodingSortField"
},
{
"type": "null"
}
],
"description": "Sort order for the encoded field.\n\nFor continuous fields (quantitative or temporal), `sort` can be either `\"ascending\"` or `\"descending\"`.\n\nFor discrete fields, `sort` can be one of the following:\n- `\"ascending\"` or `\"descending\"` -- for sorting by the values' natural order in JavaScript.\n- [A sort field definition](https://vega.github.io/vega-lite/docs/sort.html#sort-field) for sorting by another field.\n- [An array specifying the field values in preferred order](https://vega.github.io/vega-lite/docs/sort.html#sort-array). In this case, the sort order will obey the values in the array, followed by any unspecified values in their original order. For discrete time field, values in the sort array can be [date-time definition objects](types#datetime). In addition, for time units `\"month\"` and `\"day\"`, the values can be the month or day names (case insensitive) or their 3-letter initials (e.g., `\"Mon\"`, `\"Tue\"`).\n- `null` indicating no sort.\n\n__Default value:__ `\"ascending\"`\n\n__Note:__ `null` is not supported for `row` and `column`."
},
"timeUnit": {
"anyOf": [
{
"$ref": "#/definitions/TimeUnit"
},
{
"$ref": "#/definitions/TimeUnitParams"
}
],
"description": "Time unit (e.g., `year`, `yearmonth`, `month`, `hours`) for a temporal field. or [a temporal field that gets casted as ordinal](https://vega.github.io/vega-lite/docs/type.html#cast).\n\n__Default value:__ `undefined` (None)\n\n__See also:__ [`timeUnit`](https://vega.github.io/vega-lite/docs/timeunit.html) documentation."
},
"title": {
"anyOf": [
{
"$ref": "#/definitions/Text"
},
{
"type": "null"
}
],
"description": "A title for the field. If `null`, the title will be removed.\n\n__Default value:__ derived from the field's name and transformation function (`aggregate`, `bin` and `timeUnit`). If the field has an aggregate function, the function is displayed as part of the title (e.g., `\"Sum of Profit\"`). If the field is binned or has a time unit applied, the applied function is shown in parentheses (e.g., `\"Profit (binned)\"`, `\"Transaction Date (year-month)\"`). Otherwise, the title is simply the field name.\n\n__Notes__:\n\n1) You can customize the default field title format by providing the [`fieldTitle`](https://vega.github.io/vega-lite/docs/config.html#top-level-config) property in the [config](https://vega.github.io/vega-lite/docs/config.html) or [`fieldTitle` function via the `compile` function's options](https://vega.github.io/vega-lite/usage/compile.html#field-title).\n\n2) If both field definition's `title` and axis, header, or legend `title` are defined, axis/header/legend title will be used."
},
"type": {
"$ref": "#/definitions/StandardType",
"description": "The type of measurement (`\"quantitative\"`, `\"temporal\"`, `\"ordinal\"`, or `\"nominal\"`) for the encoded field or constant value (`datum`). It can also be a `\"geojson\"` type for encoding ['geoshape'](https://vega.github.io/vega-lite/docs/geoshape.html).\n\nVega-Lite automatically infers data types in many cases as discussed below. However, type is required for a field if: (1) the field is not nominal and the field encoding has no specified `aggregate` (except `argmin` and `argmax`), `bin`, scale type, custom `sort` order, nor `timeUnit` or (2) if you wish to use an ordinal scale for a field with `bin` or `timeUnit`.\n\n__Default value:__\n\n1) For a data `field`, `\"nominal\"` is the default data type unless the field encoding has `aggregate`, `channel`, `bin`, scale type, `sort`, or `timeUnit` that satisfies the following criteria:\n- `\"quantitative\"` is the default type if (1) the encoded field contains `bin` or `aggregate` except `\"argmin\"` and `\"argmax\"`, (2) the encoding channel is `latitude` or `longitude` channel or (3) if the specified scale type is [a quantitative scale](https://vega.github.io/vega-lite/docs/scale.html#type).\n- `\"temporal\"` is the default type if (1) the encoded field contains `timeUnit` or (2) the specified scale type is a time or utc scale\n- `ordinal\"\"` is the default type if (1) the encoded field contains a [custom `sort` order](https://vega.github.io/vega-lite/docs/sort.html#specifying-custom-sort-order), (2) the specified scale type is an ordinal/point/band scale, or (3) the encoding channel is `order`.\n\n2) For a constant value in data domain (`datum`):\n- `\"quantitative\"` if the datum is a number\n- `\"nominal\"` if the datum is a string\n- `\"temporal\"` if the datum is [a date time object](https://vega.github.io/vega-lite/docs/datetime.html)\n\n__Note:__\n- Data `type` describes the semantics of the data rather than the primitive data types (number, string, etc.). The same primitive data type can have different types of measurement. For example, numeric data can represent quantitative, ordinal, or nominal data.\n- Data values for a temporal field can be either a date-time string (e.g., `\"2015-03-07 12:32:17\"`, `\"17:01\"`, `\"2015-03-16\"`. `\"2015\"`) or a timestamp number (e.g., `1552199579097`).\n- When using with [`bin`](https://vega.github.io/vega-lite/docs/bin.html), the `type` property can be either `\"quantitative\"` (for using a linear bin scale) or [`\"ordinal\"` (for using an ordinal bin scale)](https://vega.github.io/vega-lite/docs/type.html#cast-bin).\n- When using with [`timeUnit`](https://vega.github.io/vega-lite/docs/timeunit.html), the `type` property can be either `\"temporal\"` (default, for using a temporal scale) or [`\"ordinal\"` (for using an ordinal scale)](https://vega.github.io/vega-lite/docs/type.html#cast-bin).\n- When using with [`aggregate`](https://vega.github.io/vega-lite/docs/aggregate.html), the `type` property refers to the post-aggregation data type. For example, we can calculate count `distinct` of a categorical field `\"cat\"` using `{\"aggregate\": \"distinct\", \"field\": \"cat\"}`. The `\"type\"` of the aggregate output is `\"quantitative\"`.\n- Secondary channels (e.g., `x2`, `y2`, `xError`, `yError`) do not have `type` as they must have exactly the same type as their primary channels (e.g., `x`, `y`).\n\n__See also:__ [`type`](https://vega.github.io/vega-lite/docs/type.html) documentation."
}
},
"type": "object"
},
"FacetMapping": {
"additionalProperties": false,
"properties": {
"column": {
"$ref": "#/definitions/FacetFieldDef",
"description": "A field definition for the horizontal facet of trellis plots."
},
"row": {
"$ref": "#/definitions/FacetFieldDef",
"description": "A field definition for the vertical facet of trellis plots."
}
},
"type": "object"
},
"FacetedEncoding": {
"additionalProperties": false,
"properties": {
"angle": {
"$ref": "#/definitions/NumericMarkPropDef",
"description": "Rotation angle of point and text marks."
},
"color": {
"$ref": "#/definitions/ColorDef",
"description": "Color of the marks – either fill or stroke color based on the `filled` property of mark definition. By default, `color` represents fill color for `\"area\"`, `\"bar\"`, `\"tick\"`, `\"text\"`, `\"trail\"`, `\"circle\"`, and `\"square\"` / stroke color for `\"line\"` and `\"point\"`.\n\n__Default value:__ If undefined, the default color depends on [mark config](https://vega.github.io/vega-lite/docs/config.html#mark-config)'s `color` property.\n\n_Note:_ 1) For fine-grained control over both fill and stroke colors of the marks, please use the `fill` and `stroke` channels. The `fill` or `stroke` encodings have higher precedence than `color`, thus may override the `color` encoding if conflicting encodings are specified. 2) See the scale documentation for more information about customizing [color scheme](https://vega.github.io/vega-lite/docs/scale.html#scheme)."
},
"column": {
"$ref": "#/definitions/RowColumnEncodingFieldDef",
"description": "A field definition for the horizontal facet of trellis plots."
},
"description": {
"anyOf": [
{
"$ref": "#/definitions/StringFieldDefWithCondition"
},
{
"$ref": "#/definitions/StringValueDefWithCondition"
}
],
"description": "A text description of this mark for ARIA accessibility (SVG output only). For SVG output the `\"aria-label\"` attribute will be set to this description."
},
"detail": {
"anyOf": [
{
"$ref": "#/definitions/FieldDefWithoutScale"
},
{
"items": {
"$ref": "#/definitions/FieldDefWithoutScale"
},
"type": "array"
}
],
"description": "Additional levels of detail for grouping data in aggregate views and in line, trail, and area marks without mapping data to a specific visual channel."
},
"facet": {
"$ref": "#/definitions/FacetEncodingFieldDef",
"description": "A field definition for the (flexible) facet of trellis plots.\n\nIf either `row` or `column` is specified, this channel will be ignored."
},
"fill": {
"$ref": "#/definitions/ColorDef",
"description": "Fill color of the marks. __Default value:__ If undefined, the default color depends on [mark config](https://vega.github.io/vega-lite/docs/config.html#mark-config)'s `color` property.\n\n_Note:_ The `fill` encoding has higher precedence than `color`, thus may override the `color` encoding if conflicting encodings are specified."
},
"fillOpacity": {
"$ref": "#/definitions/NumericMarkPropDef",
"description": "Fill opacity of the marks.\n\n__Default value:__ If undefined, the default opacity depends on [mark config](https://vega.github.io/vega-lite/docs/config.html#mark-config)'s `fillOpacity` property."
},
"href": {
"anyOf": [
{
"$ref": "#/definitions/StringFieldDefWithCondition"
},
{
"$ref": "#/definitions/StringValueDefWithCondition"
}
],
"description": "A URL to load upon mouse click."
},
"key": {
"$ref": "#/definitions/FieldDefWithoutScale",
"description": "A data field to use as a unique key for data binding. When a visualization’s data is updated, the key value will be used to match data elements to existing mark instances. Use a key channel to enable object constancy for transitions over dynamic data."
},
"latitude": {
"$ref": "#/definitions/LatLongDef",
"description": "Latitude position of geographically projected marks."
},
"latitude2": {
"$ref": "#/definitions/Position2Def",
"description": "Latitude-2 position for geographically projected ranged `\"area\"`, `\"bar\"`, `\"rect\"`, and `\"rule\"`."
},
"longitude": {
"$ref": "#/definitions/LatLongDef",
"description": "Longitude position of geographically projected marks."
},
"longitude2": {
"$ref": "#/definitions/Position2Def",
"description": "Longitude-2 position for geographically projected ranged `\"area\"`, `\"bar\"`, `\"rect\"`, and `\"rule\"`."
},
"opacity": {
"$ref": "#/definitions/NumericMarkPropDef",
"description": "Opacity of the marks.\n\n__Default value:__ If undefined, the default opacity depends on [mark config](https://vega.github.io/vega-lite/docs/config.html#mark-config)'s `opacity` property."
},
"order": {
"anyOf": [
{
"$ref": "#/definitions/OrderFieldDef"
},
{
"items": {
"$ref": "#/definitions/OrderFieldDef"
},
"type": "array"
},
{
"$ref": "#/definitions/OrderValueDef"
}
],
"description": "Order of the marks.\n- For stacked marks, this `order` channel encodes [stack order](https://vega.github.io/vega-lite/docs/stack.html#order).\n- For line and trail marks, this `order` channel encodes order of data points in the lines. This can be useful for creating [a connected scatterplot](https://vega.github.io/vega-lite/examples/connected_scatterplot.html). Setting `order` to `{\"value\": null}` makes the line marks use the original order in the data sources.\n- Otherwise, this `order` channel encodes layer order of the marks.\n\n__Note__: In aggregate plots, `order` field should be `aggregate`d to avoid creating additional aggregation grouping."
},
"radius": {
"$ref": "#/definitions/PolarDef",
"description": "The outer radius in pixels of arc marks."
},
"radius2": {
"$ref": "#/definitions/Position2Def",
"description": "The inner radius in pixels of arc marks."
},
"row": {
"$ref": "#/definitions/RowColumnEncodingFieldDef",
"description": "A field definition for the vertical facet of trellis plots."
},
"shape": {
"$ref": "#/definitions/ShapeDef",
"description": "Shape of the mark.\n\n1. For `point` marks the supported values include: - plotting shapes: `\"circle\"`, `\"square\"`, `\"cross\"`, `\"diamond\"`, `\"triangle-up\"`, `\"triangle-down\"`, `\"triangle-right\"`, or `\"triangle-left\"`. - the line symbol `\"stroke\"` - centered directional shapes `\"arrow\"`, `\"wedge\"`, or `\"triangle\"` - a custom [SVG path string](https://developer.mozilla.org/en-US/docs/Web/SVG/Tutorial/Paths) (For correct sizing, custom shape paths should be defined within a square bounding box with coordinates ranging from -1 to 1 along both the x and y dimensions.)\n\n2. For `geoshape` marks it should be a field definition of the geojson data\n\n__Default value:__ If undefined, the default shape depends on [mark config](https://vega.github.io/vega-lite/docs/config.html#point-config)'s `shape` property. (`\"circle\"` if unset.)"
},
"size": {
"$ref": "#/definitions/NumericMarkPropDef",
"description": "Size of the mark.\n- For `\"point\"`, `\"square\"` and `\"circle\"`, – the symbol size, or pixel area of the mark.\n- For `\"bar\"` and `\"tick\"` – the bar and tick's size.\n- For `\"text\"` – the text's font size.\n- Size is unsupported for `\"line\"`, `\"area\"`, and `\"rect\"`. (Use `\"trail\"` instead of line with varying size)"
},
"stroke": {
"$ref": "#/definitions/ColorDef",
"description": "Stroke color of the marks. __Default value:__ If undefined, the default color depends on [mark config](https://vega.github.io/vega-lite/docs/config.html#mark-config)'s `color` property.\n\n_Note:_ The `stroke` encoding has higher precedence than `color`, thus may override the `color` encoding if conflicting encodings are specified."
},
"strokeDash": {
"$ref": "#/definitions/NumericArrayMarkPropDef",
"description": "Stroke dash of the marks.\n\n__Default value:__ `[1,0]` (No dash)."
},
"strokeOpacity": {
"$ref": "#/definitions/NumericMarkPropDef",
"description": "Stroke opacity of the marks.\n\n__Default value:__ If undefined, the default opacity depends on [mark config](https://vega.github.io/vega-lite/docs/config.html#mark-config)'s `strokeOpacity` property."
},
"strokeWidth": {
"$ref": "#/definitions/NumericMarkPropDef",
"description": "Stroke width of the marks.\n\n__Default value:__ If undefined, the default stroke width depends on [mark config](https://vega.github.io/vega-lite/docs/config.html#mark-config)'s `strokeWidth` property."
},
"text": {
"$ref": "#/definitions/TextDef",
"description": "Text of the `text` mark."
},
"theta": {
"$ref": "#/definitions/PolarDef",
"description": "- For arc marks, the arc length in radians if theta2 is not specified, otherwise the start arc angle. (A value of 0 indicates up or “north”, increasing values proceed clockwise.)\n\n- For text marks, polar coordinate angle in radians."
},
"theta2": {
"$ref": "#/definitions/Position2Def",
"description": "The end angle of arc marks in radians. A value of 0 indicates up or “north”, increasing values proceed clockwise."
},
"tooltip": {
"anyOf": [
{
"$ref": "#/definitions/StringFieldDefWithCondition"
},
{
"$ref": "#/definitions/StringValueDefWithCondition"
},
{
"items": {
"$ref": "#/definitions/StringFieldDef"
},
"type": "array"
},
{
"type": "null"
}
],
"description": "The tooltip text to show upon mouse hover. Specifying `tooltip` encoding overrides [the `tooltip` property in the mark definition](https://vega.github.io/vega-lite/docs/mark.html#mark-def).\n\nSee the [`tooltip`](https://vega.github.io/vega-lite/docs/tooltip.html) documentation for a detailed discussion about tooltip in Vega-Lite."
},
"url": {
"anyOf": [
{
"$ref": "#/definitions/StringFieldDefWithCondition"
},
{
"$ref": "#/definitions/StringValueDefWithCondition"
}
],
"description": "The URL of an image mark."
},
"x": {
"$ref": "#/definitions/PositionDef",
"description": "X coordinates of the marks, or width of horizontal `\"bar\"` and `\"area\"` without specified `x2` or `width`.\n\nThe `value` of this channel can be a number or a string `\"width\"` for the width of the plot."
},
"x2": {
"$ref": "#/definitions/Position2Def",
"description": "X2 coordinates for ranged `\"area\"`, `\"bar\"`, `\"rect\"`, and `\"rule\"`.\n\nThe `value` of this channel can be a number or a string `\"width\"` for the width of the plot."
},
"xError": {
"anyOf": [
{
"$ref": "#/definitions/SecondaryFieldDef"
},
{
"$ref": "#/definitions/ValueDef<number>"
}
],
"description": "Error value of x coordinates for error specified `\"errorbar\"` and `\"errorband\"`."
},
"xError2": {
"anyOf": [
{
"$ref": "#/definitions/SecondaryFieldDef"
},
{
"$ref": "#/definitions/ValueDef<number>"
}
],
"description": "Secondary error value of x coordinates for error specified `\"errorbar\"` and `\"errorband\"`."
},
"xOffset": {
"$ref": "#/definitions/OffsetDef",
"description": "Offset of x-position of the marks"
},
"y": {
"$ref": "#/definitions/PositionDef",
"description": "Y coordinates of the marks, or height of vertical `\"bar\"` and `\"area\"` without specified `y2` or `height`.\n\nThe `value` of this channel can be a number or a string `\"height\"` for the height of the plot."
},
"y2": {
"$ref": "#/definitions/Position2Def",
"description": "Y2 coordinates for ranged `\"area\"`, `\"bar\"`, `\"rect\"`, and `\"rule\"`.\n\nThe `value` of this channel can be a number or a string `\"height\"` for the height of the plot."
},
"yError": {
"anyOf": [
{
"$ref": "#/definitions/SecondaryFieldDef"
},
{
"$ref": "#/definitions/ValueDef<number>"
}
],
"description": "Error value of y coordinates for error specified `\"errorbar\"` and `\"errorband\"`."
},
"yError2": {
"anyOf": [
{
"$ref": "#/definitions/SecondaryFieldDef"
},
{
"$ref": "#/definitions/ValueDef<number>"
}
],
"description": "Secondary error value of y coordinates for error specified `\"errorbar\"` and `\"errorband\"`."
},
"yOffset": {
"$ref": "#/definitions/OffsetDef",
"description": "Offset of y-position of the marks"
}
},
"type": "object"
},
"FacetedUnitSpec": {
"additionalProperties": false,
"description": "Unit spec that can have a composite mark and row or column channels (shorthand for a facet spec).",
"properties": {
"align": {
"anyOf": [
{
"$ref": "#/definitions/LayoutAlign"
},
{
"$ref": "#/definitions/RowCol<LayoutAlign>"
}
],
"description": "The alignment to apply to grid rows and columns. The supported string values are `\"all\"`, `\"each\"`, and `\"none\"`.\n\n- For `\"none\"`, a flow layout will be used, in which adjacent subviews are simply placed one after the other.\n- For `\"each\"`, subviews will be aligned into a clean grid structure, but each row or column may be of variable size.\n- For `\"all\"`, subviews will be aligned and each row or column will be sized identically based on the maximum observed size. String values for this property will be applied to both grid rows and columns.\n\nAlternatively, an object value of the form `{\"row\": string, \"column\": string}` can be used to supply different alignments for rows and columns.\n\n__Default value:__ `\"all\"`."
},
"bounds": {
"description": "The bounds calculation method to use for determining the extent of a sub-plot. One of `full` (the default) or `flush`.\n\n- If set to `full`, the entire calculated bounds (including axes, title, and legend) will be used.\n- If set to `flush`, only the specified width and height values for the sub-view will be used. The `flush` setting can be useful when attempting to place sub-plots without axes or legends into a uniform grid structure.\n\n__Default value:__ `\"full\"`",
"enum": [
"full",
"flush"
],
"type": "string"
},
"center": {
"anyOf": [
{
"type": "boolean"
},
{
"$ref": "#/definitions/RowCol<boolean>"
}
],
"description": "Boolean flag indicating if subviews should be centered relative to their respective rows or columns.\n\nAn object value of the form `{\"row\": boolean, \"column\": boolean}` can be used to supply different centering values for rows and columns.\n\n__Default value:__ `false`"
},
"data": {
"anyOf": [
{
"$ref": "#/definitions/Data"
},
{
"type": "null"
}
],
"description": "An object describing the data source. Set to `null` to ignore the parent's data source. If no data is set, it is derived from the parent."
},
"description": {
"description": "Description of this mark for commenting purpose.",
"type": "string"
},
"encoding": {
"$ref": "#/definitions/FacetedEncoding",
"description": "A key-value mapping between encoding channels and definition of fields."
},
"height": {
"anyOf": [
{
"type": "number"
},
{
"const": "container",
"type": "string"
},
{
"$ref": "#/definitions/Step"
}
],
"description": "The height of a visualization.\n\n- For a plot with a continuous y-field, height should be a number.\n- For a plot with either a discrete y-field or no y-field, height can be either a number indicating a fixed height or an object in the form of `{step: number}` defining the height per discrete step. (No y-field is equivalent to having one discrete step.)\n- To enable responsive sizing on height, it should be set to `\"container\"`.\n\n__Default value:__ Based on `config.view.continuousHeight` for a plot with a continuous y-field and `config.view.discreteHeight` otherwise.\n\n__Note:__ For plots with [`row` and `column` channels](https://vega.github.io/vega-lite/docs/encoding.html#facet), this represents the height of a single view and the `\"container\"` option cannot be used.\n\n__See also:__ [`height`](https://vega.github.io/vega-lite/docs/size.html) documentation."
},
"mark": {
"$ref": "#/definitions/AnyMark",
"description": "A string describing the mark type (one of `\"bar\"`, `\"circle\"`, `\"square\"`, `\"tick\"`, `\"line\"`, `\"area\"`, `\"point\"`, `\"rule\"`, `\"geoshape\"`, and `\"text\"`) or a [mark definition object](https://vega.github.io/vega-lite/docs/mark.html#mark-def)."
},
"name": {
"description": "Name of the visualization for later reference.",
"type": "string"
},
"params": {
"description": "An array of parameters that may either be simple variables, or more complex selections that map user input to data queries.",
"items": {
"anyOf": [
{
"$ref": "#/definitions/VariableParameter"
},
{
"$ref": "#/definitions/SelectionParameter"
}
]
},
"type": "array"
},
"projection": {
"$ref": "#/definitions/Projection",
"description": "An object defining properties of geographic projection, which will be applied to `shape` path for `\"geoshape\"` marks and to `latitude` and `\"longitude\"` channels for other marks."
},
"resolve": {
"$ref": "#/definitions/Resolve",
"description": "Scale, axis, and legend resolutions for view composition specifications."
},
"spacing": {
"anyOf": [
{
"type": "number"
},
{
"$ref": "#/definitions/RowCol<number>"
}
],
"description": "The spacing in pixels between sub-views of the composition operator. An object of the form `{\"row\": number, \"column\": number}` can be used to set different spacing values for rows and columns.\n\n__Default value__: Depends on `\"spacing\"` property of [the view composition configuration](https://vega.github.io/vega-lite/docs/config.html#view-config) (`20` by default)"
},
"title": {
"anyOf": [
{
"$ref": "#/definitions/Text"
},
{
"$ref": "#/definitions/TitleParams"
}
],
"description": "Title for the plot."
},
"transform": {
"description": "An array of data transformations such as filter and new field calculation.",
"items": {
"$ref": "#/definitions/Transform"
},
"type": "array"
},
"view": {
"$ref": "#/definitions/ViewBackground",
"description": "An object defining the view background's fill and stroke.\n\n__Default value:__ none (transparent)"
},
"width": {
"anyOf": [
{
"type": "number"
},
{
"const": "container",
"type": "string"
},
{
"$ref": "#/definitions/Step"
}
],
"description": "The width of a visualization.\n\n- For a plot with a continuous x-field, width should be a number.\n- For a plot with either a discrete x-field or no x-field, width can be either a number indicating a fixed width or an object in the form of `{step: number}` defining the width per discrete step. (No x-field is equivalent to having one discrete step.)\n- To enable responsive sizing on width, it should be set to `\"container\"`.\n\n__Default value:__ Based on `config.view.continuousWidth` for a plot with a continuous x-field and `config.view.discreteWidth` otherwise.\n\n__Note:__ For plots with [`row` and `column` channels](https://vega.github.io/vega-lite/docs/encoding.html#facet), this represents the width of a single view and the `\"container\"` option cannot be used.\n\n__See also:__ [`width`](https://vega.github.io/vega-lite/docs/size.html) documentation."
}
},
"required": [
"mark"
],
"type": "object"
},
"Field": {
"anyOf": [
{
"$ref": "#/definitions/FieldName"
},
{
"$ref": "#/definitions/RepeatRef"
}
]
},
"FieldDefWithoutScale": {
"$ref": "#/definitions/TypedFieldDef",
"description": "Field Def without scale (and without bin: \"binned\" support)."
},
"FieldEqualPredicate": {
"additionalProperties": false,
"properties": {
"equal": {
"anyOf": [
{
"type": "string"
},
{
"type": "number"
},
{
"type": "boolean"
},
{
"$ref": "#/definitions/DateTime"
},
{
"$ref": "#/definitions/ExprRef"
}
],
"description": "The value that the field should be equal to."
},
"field": {
"$ref": "#/definitions/FieldName",
"description": "Field to be tested."
},
"timeUnit": {
"anyOf": [
{
"$ref": "#/definitions/TimeUnit"
},
{
"$ref": "#/definitions/TimeUnitParams"
}
],
"description": "Time unit for the field to be tested."
}
},
"required": [
"equal",
"field"
],
"type": "object"
},
"FieldGTEPredicate": {
"additionalProperties": false,
"properties": {
"field": {
"$ref": "#/definitions/FieldName",
"description": "Field to be tested."
},
"gte": {
"anyOf": [
{
"type": "string"
},
{
"type": "number"
},
{
"$ref": "#/definitions/DateTime"
},
{
"$ref": "#/definitions/ExprRef"
}
],
"description": "The value that the field should be greater than or equals to."
},
"timeUnit": {
"anyOf": [
{
"$ref": "#/definitions/TimeUnit"
},
{
"$ref": "#/definitions/TimeUnitParams"
}
],
"description": "Time unit for the field to be tested."
}
},
"required": [
"field",
"gte"
],
"type": "object"
},
"FieldGTPredicate": {
"additionalProperties": false,
"properties": {
"field": {
"$ref": "#/definitions/FieldName",
"description": "Field to be tested."
},
"gt": {
"anyOf": [
{
"type": "string"
},
{
"type": "number"
},
{
"$ref": "#/definitions/DateTime"
},
{
"$ref": "#/definitions/ExprRef"
}
],
"description": "The value that the field should be greater than."
},
"timeUnit": {
"anyOf": [
{
"$ref": "#/definitions/TimeUnit"
},
{
"$ref": "#/definitions/TimeUnitParams"
}
],
"description": "Time unit for the field to be tested."
}
},
"required": [
"field",
"gt"
],
"type": "object"
},
"FieldLTEPredicate": {
"additionalProperties": false,
"properties": {
"field": {
"$ref": "#/definitions/FieldName",
"description": "Field to be tested."
},
"lte": {
"anyOf": [
{
"type": "string"
},
{
"type": "number"
},
{
"$ref": "#/definitions/DateTime"
},
{
"$ref": "#/definitions/ExprRef"
}
],
"description": "The value that the field should be less than or equals to."
},
"timeUnit": {
"anyOf": [
{
"$ref": "#/definitions/TimeUnit"
},
{
"$ref": "#/definitions/TimeUnitParams"
}
],
"description": "Time unit for the field to be tested."
}
},
"required": [
"field",
"lte"
],
"type": "object"
},
"FieldLTPredicate": {
"additionalProperties": false,
"properties": {
"field": {
"$ref": "#/definitions/FieldName",
"description": "Field to be tested."
},
"lt": {
"anyOf": [
{
"type": "string"
},
{
"type": "number"
},
{
"$ref": "#/definitions/DateTime"
},
{
"$ref": "#/definitions/ExprRef"
}
],
"description": "The value that the field should be less than."
},
"timeUnit": {
"anyOf": [
{
"$ref": "#/definitions/TimeUnit"
},
{
"$ref": "#/definitions/TimeUnitParams"
}
],
"description": "Time unit for the field to be tested."
}
},
"required": [
"field",
"lt"
],
"type": "object"
},
"FieldName": {
"type": "string"
},
"FieldOneOfPredicate": {
"additionalProperties": false,
"properties": {
"field": {
"$ref": "#/definitions/FieldName",
"description": "Field to be tested."
},
"oneOf": {
"anyOf": [
{
"items": {
"type": "string"
},
"type": "array"
},
{
"items": {
"type": "number"
},
"type": "array"
},
{
"items": {
"type": "boolean"
},
"type": "array"
},
{
"items": {
"$ref": "#/definitions/DateTime"
},
"type": "array"
}
],
"description": "A set of values that the `field`'s value should be a member of, for a data item included in the filtered data."
},
"timeUnit": {
"anyOf": [
{
"$ref": "#/definitions/TimeUnit"
},
{
"$ref": "#/definitions/TimeUnitParams"
}
],
"description": "Time unit for the field to be tested."
}
},
"required": [
"field",
"oneOf"
],
"type": "object"
},
"FieldOrDatumDefWithCondition<DatumDef,(Gradient|string|null)>": {
"additionalProperties": false,
"description": "A FieldDef with Condition<ValueDef> { condition: {value: ...}, field: ..., ... }",
"properties": {
"bandPosition": {
"description": "Relative position on a band of a stacked, binned, time unit, or band scale. For example, the marks will be positioned at the beginning of the band if set to `0`, and at the middle of the band if set to `0.5`.",
"maximum": 1,
"minimum": 0,
"type": "number"
},
"condition": {
"anyOf": [
{
"$ref": "#/definitions/ConditionalValueDef<(Gradient|string|null|ExprRef)>"
},
{
"items": {
"$ref": "#/definitions/ConditionalValueDef<(Gradient|string|null|ExprRef)>"
},
"type": "array"
}
],
"description": "One or more value definition(s) with [a parameter or a test predicate](https://vega.github.io/vega-lite/docs/condition.html).\n\n__Note:__ A field definition's `condition` property can only contain [conditional value definitions](https://vega.github.io/vega-lite/docs/condition.html#value) since Vega-Lite only allows at most one encoded field per encoding channel."
},
"datum": {
"anyOf": [
{
"$ref": "#/definitions/PrimitiveValue"
},
{
"$ref": "#/definitions/DateTime"
},
{
"$ref": "#/definitions/ExprRef"
},
{
"$ref": "#/definitions/RepeatRef"
}
],
"description": "A constant value in data domain."
},
"title": {
"anyOf": [
{
"$ref": "#/definitions/Text"
},
{
"type": "null"
}
],
"description": "A title for the field. If `null`, the title will be removed.\n\n__Default value:__ derived from the field's name and transformation function (`aggregate`, `bin` and `timeUnit`). If the field has an aggregate function, the function is displayed as part of the title (e.g., `\"Sum of Profit\"`). If the field is binned or has a time unit applied, the applied function is shown in parentheses (e.g., `\"Profit (binned)\"`, `\"Transaction Date (year-month)\"`). Otherwise, the title is simply the field name.\n\n__Notes__:\n\n1) You can customize the default field title format by providing the [`fieldTitle`](https://vega.github.io/vega-lite/docs/config.html#top-level-config) property in the [config](https://vega.github.io/vega-lite/docs/config.html) or [`fieldTitle` function via the `compile` function's options](https://vega.github.io/vega-lite/usage/compile.html#field-title).\n\n2) If both field definition's `title` and axis, header, or legend `title` are defined, axis/header/legend title will be used."
},
"type": {
"$ref": "#/definitions/Type",
"description": "The type of measurement (`\"quantitative\"`, `\"temporal\"`, `\"ordinal\"`, or `\"nominal\"`) for the encoded field or constant value (`datum`). It can also be a `\"geojson\"` type for encoding ['geoshape'](https://vega.github.io/vega-lite/docs/geoshape.html).\n\nVega-Lite automatically infers data types in many cases as discussed below. However, type is required for a field if: (1) the field is not nominal and the field encoding has no specified `aggregate` (except `argmin` and `argmax`), `bin`, scale type, custom `sort` order, nor `timeUnit` or (2) if you wish to use an ordinal scale for a field with `bin` or `timeUnit`.\n\n__Default value:__\n\n1) For a data `field`, `\"nominal\"` is the default data type unless the field encoding has `aggregate`, `channel`, `bin`, scale type, `sort`, or `timeUnit` that satisfies the following criteria:\n- `\"quantitative\"` is the default type if (1) the encoded field contains `bin` or `aggregate` except `\"argmin\"` and `\"argmax\"`, (2) the encoding channel is `latitude` or `longitude` channel or (3) if the specified scale type is [a quantitative scale](https://vega.github.io/vega-lite/docs/scale.html#type).\n- `\"temporal\"` is the default type if (1) the encoded field contains `timeUnit` or (2) the specified scale type is a time or utc scale\n- `ordinal\"\"` is the default type if (1) the encoded field contains a [custom `sort` order](https://vega.github.io/vega-lite/docs/sort.html#specifying-custom-sort-order), (2) the specified scale type is an ordinal/point/band scale, or (3) the encoding channel is `order`.\n\n2) For a constant value in data domain (`datum`):\n- `\"quantitative\"` if the datum is a number\n- `\"nominal\"` if the datum is a string\n- `\"temporal\"` if the datum is [a date time object](https://vega.github.io/vega-lite/docs/datetime.html)\n\n__Note:__\n- Data `type` describes the semantics of the data rather than the primitive data types (number, string, etc.). The same primitive data type can have different types of measurement. For example, numeric data can represent quantitative, ordinal, or nominal data.\n- Data values for a temporal field can be either a date-time string (e.g., `\"2015-03-07 12:32:17\"`, `\"17:01\"`, `\"2015-03-16\"`. `\"2015\"`) or a timestamp number (e.g., `1552199579097`).\n- When using with [`bin`](https://vega.github.io/vega-lite/docs/bin.html), the `type` property can be either `\"quantitative\"` (for using a linear bin scale) or [`\"ordinal\"` (for using an ordinal bin scale)](https://vega.github.io/vega-lite/docs/type.html#cast-bin).\n- When using with [`timeUnit`](https://vega.github.io/vega-lite/docs/timeunit.html), the `type` property can be either `\"temporal\"` (default, for using a temporal scale) or [`\"ordinal\"` (for using an ordinal scale)](https://vega.github.io/vega-lite/docs/type.html#cast-bin).\n- When using with [`aggregate`](https://vega.github.io/vega-lite/docs/aggregate.html), the `type` property refers to the post-aggregation data type. For example, we can calculate count `distinct` of a categorical field `\"cat\"` using `{\"aggregate\": \"distinct\", \"field\": \"cat\"}`. The `\"type\"` of the aggregate output is `\"quantitative\"`.\n- Secondary channels (e.g., `x2`, `y2`, `xError`, `yError`) do not have `type` as they must have exactly the same type as their primary channels (e.g., `x`, `y`).\n\n__See also:__ [`type`](https://vega.github.io/vega-lite/docs/type.html) documentation."
}
},
"type": "object"
},
"FieldOrDatumDefWithCondition<DatumDef,(string|null)>": {
"additionalProperties": false,
"description": "A FieldDef with Condition<ValueDef> { condition: {value: ...}, field: ..., ... }",
"properties": {
"bandPosition": {
"description": "Relative position on a band of a stacked, binned, time unit, or band scale. For example, the marks will be positioned at the beginning of the band if set to `0`, and at the middle of the band if set to `0.5`.",
"maximum": 1,
"minimum": 0,
"type": "number"
},
"condition": {
"anyOf": [
{
"$ref": "#/definitions/ConditionalValueDef<(string|null|ExprRef)>"
},
{
"items": {
"$ref": "#/definitions/ConditionalValueDef<(string|null|ExprRef)>"
},
"type": "array"
}
],
"description": "One or more value definition(s) with [a parameter or a test predicate](https://vega.github.io/vega-lite/docs/condition.html).\n\n__Note:__ A field definition's `condition` property can only contain [conditional value definitions](https://vega.github.io/vega-lite/docs/condition.html#value) since Vega-Lite only allows at most one encoded field per encoding channel."
},
"datum": {
"anyOf": [
{
"$ref": "#/definitions/PrimitiveValue"
},
{
"$ref": "#/definitions/DateTime"
},
{
"$ref": "#/definitions/ExprRef"
},
{
"$ref": "#/definitions/RepeatRef"
}
],
"description": "A constant value in data domain."
},
"title": {
"anyOf": [
{
"$ref": "#/definitions/Text"
},
{
"type": "null"
}
],
"description": "A title for the field. If `null`, the title will be removed.\n\n__Default value:__ derived from the field's name and transformation function (`aggregate`, `bin` and `timeUnit`). If the field has an aggregate function, the function is displayed as part of the title (e.g., `\"Sum of Profit\"`). If the field is binned or has a time unit applied, the applied function is shown in parentheses (e.g., `\"Profit (binned)\"`, `\"Transaction Date (year-month)\"`). Otherwise, the title is simply the field name.\n\n__Notes__:\n\n1) You can customize the default field title format by providing the [`fieldTitle`](https://vega.github.io/vega-lite/docs/config.html#top-level-config) property in the [config](https://vega.github.io/vega-lite/docs/config.html) or [`fieldTitle` function via the `compile` function's options](https://vega.github.io/vega-lite/usage/compile.html#field-title).\n\n2) If both field definition's `title` and axis, header, or legend `title` are defined, axis/header/legend title will be used."
},
"type": {
"$ref": "#/definitions/Type",
"description": "The type of measurement (`\"quantitative\"`, `\"temporal\"`, `\"ordinal\"`, or `\"nominal\"`) for the encoded field or constant value (`datum`). It can also be a `\"geojson\"` type for encoding ['geoshape'](https://vega.github.io/vega-lite/docs/geoshape.html).\n\nVega-Lite automatically infers data types in many cases as discussed below. However, type is required for a field if: (1) the field is not nominal and the field encoding has no specified `aggregate` (except `argmin` and `argmax`), `bin`, scale type, custom `sort` order, nor `timeUnit` or (2) if you wish to use an ordinal scale for a field with `bin` or `timeUnit`.\n\n__Default value:__\n\n1) For a data `field`, `\"nominal\"` is the default data type unless the field encoding has `aggregate`, `channel`, `bin`, scale type, `sort`, or `timeUnit` that satisfies the following criteria:\n- `\"quantitative\"` is the default type if (1) the encoded field contains `bin` or `aggregate` except `\"argmin\"` and `\"argmax\"`, (2) the encoding channel is `latitude` or `longitude` channel or (3) if the specified scale type is [a quantitative scale](https://vega.github.io/vega-lite/docs/scale.html#type).\n- `\"temporal\"` is the default type if (1) the encoded field contains `timeUnit` or (2) the specified scale type is a time or utc scale\n- `ordinal\"\"` is the default type if (1) the encoded field contains a [custom `sort` order](https://vega.github.io/vega-lite/docs/sort.html#specifying-custom-sort-order), (2) the specified scale type is an ordinal/point/band scale, or (3) the encoding channel is `order`.\n\n2) For a constant value in data domain (`datum`):\n- `\"quantitative\"` if the datum is a number\n- `\"nominal\"` if the datum is a string\n- `\"temporal\"` if the datum is [a date time object](https://vega.github.io/vega-lite/docs/datetime.html)\n\n__Note:__\n- Data `type` describes the semantics of the data rather than the primitive data types (number, string, etc.). The same primitive data type can have different types of measurement. For example, numeric data can represent quantitative, ordinal, or nominal data.\n- Data values for a temporal field can be either a date-time string (e.g., `\"2015-03-07 12:32:17\"`, `\"17:01\"`, `\"2015-03-16\"`. `\"2015\"`) or a timestamp number (e.g., `1552199579097`).\n- When using with [`bin`](https://vega.github.io/vega-lite/docs/bin.html), the `type` property can be either `\"quantitative\"` (for using a linear bin scale) or [`\"ordinal\"` (for using an ordinal bin scale)](https://vega.github.io/vega-lite/docs/type.html#cast-bin).\n- When using with [`timeUnit`](https://vega.github.io/vega-lite/docs/timeunit.html), the `type` property can be either `\"temporal\"` (default, for using a temporal scale) or [`\"ordinal\"` (for using an ordinal scale)](https://vega.github.io/vega-lite/docs/type.html#cast-bin).\n- When using with [`aggregate`](https://vega.github.io/vega-lite/docs/aggregate.html), the `type` property refers to the post-aggregation data type. For example, we can calculate count `distinct` of a categorical field `\"cat\"` using `{\"aggregate\": \"distinct\", \"field\": \"cat\"}`. The `\"type\"` of the aggregate output is `\"quantitative\"`.\n- Secondary channels (e.g., `x2`, `y2`, `xError`, `yError`) do not have `type` as they must have exactly the same type as their primary channels (e.g., `x`, `y`).\n\n__See also:__ [`type`](https://vega.github.io/vega-lite/docs/type.html) documentation."
}
},
"type": "object"
},
"FieldOrDatumDefWithCondition<DatumDef,number>": {
"additionalProperties": false,
"description": "A FieldDef with Condition<ValueDef> { condition: {value: ...}, field: ..., ... }",
"properties": {
"bandPosition": {
"description": "Relative position on a band of a stacked, binned, time unit, or band scale. For example, the marks will be positioned at the beginning of the band if set to `0`, and at the middle of the band if set to `0.5`.",
"maximum": 1,
"minimum": 0,
"type": "number"
},
"condition": {
"anyOf": [
{
"$ref": "#/definitions/ConditionalValueDef<(number|ExprRef)>"
},
{
"items": {
"$ref": "#/definitions/ConditionalValueDef<(number|ExprRef)>"
},
"type": "array"
}
],
"description": "One or more value definition(s) with [a parameter or a test predicate](https://vega.github.io/vega-lite/docs/condition.html).\n\n__Note:__ A field definition's `condition` property can only contain [conditional value definitions](https://vega.github.io/vega-lite/docs/condition.html#value) since Vega-Lite only allows at most one encoded field per encoding channel."
},
"datum": {
"anyOf": [
{
"$ref": "#/definitions/PrimitiveValue"
},
{
"$ref": "#/definitions/DateTime"
},
{
"$ref": "#/definitions/ExprRef"
},
{
"$ref": "#/definitions/RepeatRef"
}
],
"description": "A constant value in data domain."
},
"title": {
"anyOf": [
{
"$ref": "#/definitions/Text"
},
{
"type": "null"
}
],
"description": "A title for the field. If `null`, the title will be removed.\n\n__Default value:__ derived from the field's name and transformation function (`aggregate`, `bin` and `timeUnit`). If the field has an aggregate function, the function is displayed as part of the title (e.g., `\"Sum of Profit\"`). If the field is binned or has a time unit applied, the applied function is shown in parentheses (e.g., `\"Profit (binned)\"`, `\"Transaction Date (year-month)\"`). Otherwise, the title is simply the field name.\n\n__Notes__:\n\n1) You can customize the default field title format by providing the [`fieldTitle`](https://vega.github.io/vega-lite/docs/config.html#top-level-config) property in the [config](https://vega.github.io/vega-lite/docs/config.html) or [`fieldTitle` function via the `compile` function's options](https://vega.github.io/vega-lite/usage/compile.html#field-title).\n\n2) If both field definition's `title` and axis, header, or legend `title` are defined, axis/header/legend title will be used."
},
"type": {
"$ref": "#/definitions/Type",
"description": "The type of measurement (`\"quantitative\"`, `\"temporal\"`, `\"ordinal\"`, or `\"nominal\"`) for the encoded field or constant value (`datum`). It can also be a `\"geojson\"` type for encoding ['geoshape'](https://vega.github.io/vega-lite/docs/geoshape.html).\n\nVega-Lite automatically infers data types in many cases as discussed below. However, type is required for a field if: (1) the field is not nominal and the field encoding has no specified `aggregate` (except `argmin` and `argmax`), `bin`, scale type, custom `sort` order, nor `timeUnit` or (2) if you wish to use an ordinal scale for a field with `bin` or `timeUnit`.\n\n__Default value:__\n\n1) For a data `field`, `\"nominal\"` is the default data type unless the field encoding has `aggregate`, `channel`, `bin`, scale type, `sort`, or `timeUnit` that satisfies the following criteria:\n- `\"quantitative\"` is the default type if (1) the encoded field contains `bin` or `aggregate` except `\"argmin\"` and `\"argmax\"`, (2) the encoding channel is `latitude` or `longitude` channel or (3) if the specified scale type is [a quantitative scale](https://vega.github.io/vega-lite/docs/scale.html#type).\n- `\"temporal\"` is the default type if (1) the encoded field contains `timeUnit` or (2) the specified scale type is a time or utc scale\n- `ordinal\"\"` is the default type if (1) the encoded field contains a [custom `sort` order](https://vega.github.io/vega-lite/docs/sort.html#specifying-custom-sort-order), (2) the specified scale type is an ordinal/point/band scale, or (3) the encoding channel is `order`.\n\n2) For a constant value in data domain (`datum`):\n- `\"quantitative\"` if the datum is a number\n- `\"nominal\"` if the datum is a string\n- `\"temporal\"` if the datum is [a date time object](https://vega.github.io/vega-lite/docs/datetime.html)\n\n__Note:__\n- Data `type` describes the semantics of the data rather than the primitive data types (number, string, etc.). The same primitive data type can have different types of measurement. For example, numeric data can represent quantitative, ordinal, or nominal data.\n- Data values for a temporal field can be either a date-time string (e.g., `\"2015-03-07 12:32:17\"`, `\"17:01\"`, `\"2015-03-16\"`. `\"2015\"`) or a timestamp number (e.g., `1552199579097`).\n- When using with [`bin`](https://vega.github.io/vega-lite/docs/bin.html), the `type` property can be either `\"quantitative\"` (for using a linear bin scale) or [`\"ordinal\"` (for using an ordinal bin scale)](https://vega.github.io/vega-lite/docs/type.html#cast-bin).\n- When using with [`timeUnit`](https://vega.github.io/vega-lite/docs/timeunit.html), the `type` property can be either `\"temporal\"` (default, for using a temporal scale) or [`\"ordinal\"` (for using an ordinal scale)](https://vega.github.io/vega-lite/docs/type.html#cast-bin).\n- When using with [`aggregate`](https://vega.github.io/vega-lite/docs/aggregate.html), the `type` property refers to the post-aggregation data type. For example, we can calculate count `distinct` of a categorical field `\"cat\"` using `{\"aggregate\": \"distinct\", \"field\": \"cat\"}`. The `\"type\"` of the aggregate output is `\"quantitative\"`.\n- Secondary channels (e.g., `x2`, `y2`, `xError`, `yError`) do not have `type` as they must have exactly the same type as their primary channels (e.g., `x`, `y`).\n\n__See also:__ [`type`](https://vega.github.io/vega-lite/docs/type.html) documentation."
}
},
"type": "object"
},
"FieldOrDatumDefWithCondition<DatumDef,number[]>": {
"additionalProperties": false,
"description": "A FieldDef with Condition<ValueDef> { condition: {value: ...}, field: ..., ... }",
"properties": {
"bandPosition": {
"description": "Relative position on a band of a stacked, binned, time unit, or band scale. For example, the marks will be positioned at the beginning of the band if set to `0`, and at the middle of the band if set to `0.5`.",
"maximum": 1,
"minimum": 0,
"type": "number"
},
"condition": {
"anyOf": [
{
"$ref": "#/definitions/ConditionalValueDef<(number[]|ExprRef)>"
},
{
"items": {
"$ref": "#/definitions/ConditionalValueDef<(number[]|ExprRef)>"
},
"type": "array"
}
],
"description": "One or more value definition(s) with [a parameter or a test predicate](https://vega.github.io/vega-lite/docs/condition.html).\n\n__Note:__ A field definition's `condition` property can only contain [conditional value definitions](https://vega.github.io/vega-lite/docs/condition.html#value) since Vega-Lite only allows at most one encoded field per encoding channel."
},
"datum": {
"anyOf": [
{
"$ref": "#/definitions/PrimitiveValue"
},
{
"$ref": "#/definitions/DateTime"
},
{
"$ref": "#/definitions/ExprRef"
},
{
"$ref": "#/definitions/RepeatRef"
}
],
"description": "A constant value in data domain."
},
"title": {
"anyOf": [
{
"$ref": "#/definitions/Text"
},
{
"type": "null"
}
],
"description": "A title for the field. If `null`, the title will be removed.\n\n__Default value:__ derived from the field's name and transformation function (`aggregate`, `bin` and `timeUnit`). If the field has an aggregate function, the function is displayed as part of the title (e.g., `\"Sum of Profit\"`). If the field is binned or has a time unit applied, the applied function is shown in parentheses (e.g., `\"Profit (binned)\"`, `\"Transaction Date (year-month)\"`). Otherwise, the title is simply the field name.\n\n__Notes__:\n\n1) You can customize the default field title format by providing the [`fieldTitle`](https://vega.github.io/vega-lite/docs/config.html#top-level-config) property in the [config](https://vega.github.io/vega-lite/docs/config.html) or [`fieldTitle` function via the `compile` function's options](https://vega.github.io/vega-lite/usage/compile.html#field-title).\n\n2) If both field definition's `title` and axis, header, or legend `title` are defined, axis/header/legend title will be used."
},
"type": {
"$ref": "#/definitions/Type",
"description": "The type of measurement (`\"quantitative\"`, `\"temporal\"`, `\"ordinal\"`, or `\"nominal\"`) for the encoded field or constant value (`datum`). It can also be a `\"geojson\"` type for encoding ['geoshape'](https://vega.github.io/vega-lite/docs/geoshape.html).\n\nVega-Lite automatically infers data types in many cases as discussed below. However, type is required for a field if: (1) the field is not nominal and the field encoding has no specified `aggregate` (except `argmin` and `argmax`), `bin`, scale type, custom `sort` order, nor `timeUnit` or (2) if you wish to use an ordinal scale for a field with `bin` or `timeUnit`.\n\n__Default value:__\n\n1) For a data `field`, `\"nominal\"` is the default data type unless the field encoding has `aggregate`, `channel`, `bin`, scale type, `sort`, or `timeUnit` that satisfies the following criteria:\n- `\"quantitative\"` is the default type if (1) the encoded field contains `bin` or `aggregate` except `\"argmin\"` and `\"argmax\"`, (2) the encoding channel is `latitude` or `longitude` channel or (3) if the specified scale type is [a quantitative scale](https://vega.github.io/vega-lite/docs/scale.html#type).\n- `\"temporal\"` is the default type if (1) the encoded field contains `timeUnit` or (2) the specified scale type is a time or utc scale\n- `ordinal\"\"` is the default type if (1) the encoded field contains a [custom `sort` order](https://vega.github.io/vega-lite/docs/sort.html#specifying-custom-sort-order), (2) the specified scale type is an ordinal/point/band scale, or (3) the encoding channel is `order`.\n\n2) For a constant value in data domain (`datum`):\n- `\"quantitative\"` if the datum is a number\n- `\"nominal\"` if the datum is a string\n- `\"temporal\"` if the datum is [a date time object](https://vega.github.io/vega-lite/docs/datetime.html)\n\n__Note:__\n- Data `type` describes the semantics of the data rather than the primitive data types (number, string, etc.). The same primitive data type can have different types of measurement. For example, numeric data can represent quantitative, ordinal, or nominal data.\n- Data values for a temporal field can be either a date-time string (e.g., `\"2015-03-07 12:32:17\"`, `\"17:01\"`, `\"2015-03-16\"`. `\"2015\"`) or a timestamp number (e.g., `1552199579097`).\n- When using with [`bin`](https://vega.github.io/vega-lite/docs/bin.html), the `type` property can be either `\"quantitative\"` (for using a linear bin scale) or [`\"ordinal\"` (for using an ordinal bin scale)](https://vega.github.io/vega-lite/docs/type.html#cast-bin).\n- When using with [`timeUnit`](https://vega.github.io/vega-lite/docs/timeunit.html), the `type` property can be either `\"temporal\"` (default, for using a temporal scale) or [`\"ordinal\"` (for using an ordinal scale)](https://vega.github.io/vega-lite/docs/type.html#cast-bin).\n- When using with [`aggregate`](https://vega.github.io/vega-lite/docs/aggregate.html), the `type` property refers to the post-aggregation data type. For example, we can calculate count `distinct` of a categorical field `\"cat\"` using `{\"aggregate\": \"distinct\", \"field\": \"cat\"}`. The `\"type\"` of the aggregate output is `\"quantitative\"`.\n- Secondary channels (e.g., `x2`, `y2`, `xError`, `yError`) do not have `type` as they must have exactly the same type as their primary channels (e.g., `x`, `y`).\n\n__See also:__ [`type`](https://vega.github.io/vega-lite/docs/type.html) documentation."
}
},
"type": "object"
},
"FieldOrDatumDefWithCondition<MarkPropFieldDef,(Gradient|string|null)>": {
"additionalProperties": false,
"description": "A FieldDef with Condition<ValueDef> { condition: {value: ...}, field: ..., ... }",
"properties": {
"aggregate": {
"$ref": "#/definitions/Aggregate",
"description": "Aggregation function for the field (e.g., `\"mean\"`, `\"sum\"`, `\"median\"`, `\"min\"`, `\"max\"`, `\"count\"`).\n\n__Default value:__ `undefined` (None)\n\n__See also:__ [`aggregate`](https://vega.github.io/vega-lite/docs/aggregate.html) documentation."
},
"bandPosition": {
"description": "Relative position on a band of a stacked, binned, time unit, or band scale. For example, the marks will be positioned at the beginning of the band if set to `0`, and at the middle of the band if set to `0.5`.",
"maximum": 1,
"minimum": 0,
"type": "number"
},
"bin": {
"anyOf": [
{
"type": "boolean"
},
{
"$ref": "#/definitions/BinParams"
},
{
"type": "null"
}
],
"description": "A flag for binning a `quantitative` field, [an object defining binning parameters](https://vega.github.io/vega-lite/docs/bin.html#params), or indicating that the data for `x` or `y` channel are binned before they are imported into Vega-Lite (`\"binned\"`).\n\n- If `true`, default [binning parameters](https://vega.github.io/vega-lite/docs/bin.html) will be applied.\n\n- If `\"binned\"`, this indicates that the data for the `x` (or `y`) channel are already binned. You can map the bin-start field to `x` (or `y`) and the bin-end field to `x2` (or `y2`). The scale and axis will be formatted similar to binning in Vega-Lite. To adjust the axis ticks based on the bin step, you can also set the axis's [`tickMinStep`](https://vega.github.io/vega-lite/docs/axis.html#ticks) property.\n\n__Default value:__ `false`\n\n__See also:__ [`bin`](https://vega.github.io/vega-lite/docs/bin.html) documentation."
},
"condition": {
"anyOf": [
{
"$ref": "#/definitions/ConditionalValueDef<(Gradient|string|null|ExprRef)>"
},
{
"items": {
"$ref": "#/definitions/ConditionalValueDef<(Gradient|string|null|ExprRef)>"
},
"type": "array"
}
],
"description": "One or more value definition(s) with [a parameter or a test predicate](https://vega.github.io/vega-lite/docs/condition.html).\n\n__Note:__ A field definition's `condition` property can only contain [conditional value definitions](https://vega.github.io/vega-lite/docs/condition.html#value) since Vega-Lite only allows at most one encoded field per encoding channel."
},
"field": {
"$ref": "#/definitions/Field",
"description": "__Required.__ A string defining the name of the field from which to pull a data value or an object defining iterated values from the [`repeat`](https://vega.github.io/vega-lite/docs/repeat.html) operator.\n\n__See also:__ [`field`](https://vega.github.io/vega-lite/docs/field.html) documentation.\n\n__Notes:__ 1) Dots (`.`) and brackets (`[` and `]`) can be used to access nested objects (e.g., `\"field\": \"foo.bar\"` and `\"field\": \"foo['bar']\"`). If field names contain dots or brackets but are not nested, you can use `\\\\` to escape dots and brackets (e.g., `\"a\\\\.b\"` and `\"a\\\\[0\\\\]\"`). See more details about escaping in the [field documentation](https://vega.github.io/vega-lite/docs/field.html). 2) `field` is not required if `aggregate` is `count`."
},
"legend": {
"anyOf": [
{
"$ref": "#/definitions/Legend"
},
{
"type": "null"
}
],
"description": "An object defining properties of the legend. If `null`, the legend for the encoding channel will be removed.\n\n__Default value:__ If undefined, default [legend properties](https://vega.github.io/vega-lite/docs/legend.html) are applied.\n\n__See also:__ [`legend`](https://vega.github.io/vega-lite/docs/legend.html) documentation."
},
"scale": {
"anyOf": [
{
"$ref": "#/definitions/Scale"
},
{
"type": "null"
}
],
"description": "An object defining properties of the channel's scale, which is the function that transforms values in the data domain (numbers, dates, strings, etc) to visual values (pixels, colors, sizes) of the encoding channels.\n\nIf `null`, the scale will be [disabled and the data value will be directly encoded](https://vega.github.io/vega-lite/docs/scale.html#disable).\n\n__Default value:__ If undefined, default [scale properties](https://vega.github.io/vega-lite/docs/scale.html) are applied.\n\n__See also:__ [`scale`](https://vega.github.io/vega-lite/docs/scale.html) documentation."
},
"sort": {
"$ref": "#/definitions/Sort",
"description": "Sort order for the encoded field.\n\nFor continuous fields (quantitative or temporal), `sort` can be either `\"ascending\"` or `\"descending\"`.\n\nFor discrete fields, `sort` can be one of the following:\n- `\"ascending\"` or `\"descending\"` -- for sorting by the values' natural order in JavaScript.\n- [A string indicating an encoding channel name to sort by](https://vega.github.io/vega-lite/docs/sort.html#sort-by-encoding) (e.g., `\"x\"` or `\"y\"`) with an optional minus prefix for descending sort (e.g., `\"-x\"` to sort by x-field, descending). This channel string is short-form of [a sort-by-encoding definition](https://vega.github.io/vega-lite/docs/sort.html#sort-by-encoding). For example, `\"sort\": \"-x\"` is equivalent to `\"sort\": {\"encoding\": \"x\", \"order\": \"descending\"}`.\n- [A sort field definition](https://vega.github.io/vega-lite/docs/sort.html#sort-field) for sorting by another field.\n- [An array specifying the field values in preferred order](https://vega.github.io/vega-lite/docs/sort.html#sort-array). In this case, the sort order will obey the values in the array, followed by any unspecified values in their original order. For discrete time field, values in the sort array can be [date-time definition objects](types#datetime). In addition, for time units `\"month\"` and `\"day\"`, the values can be the month or day names (case insensitive) or their 3-letter initials (e.g., `\"Mon\"`, `\"Tue\"`).\n- `null` indicating no sort.\n\n__Default value:__ `\"ascending\"`\n\n__Note:__ `null` and sorting by another channel is not supported for `row` and `column`.\n\n__See also:__ [`sort`](https://vega.github.io/vega-lite/docs/sort.html) documentation."
},
"timeUnit": {
"anyOf": [
{
"$ref": "#/definitions/TimeUnit"
},
{
"$ref": "#/definitions/TimeUnitParams"
}
],
"description": "Time unit (e.g., `year`, `yearmonth`, `month`, `hours`) for a temporal field. or [a temporal field that gets casted as ordinal](https://vega.github.io/vega-lite/docs/type.html#cast).\n\n__Default value:__ `undefined` (None)\n\n__See also:__ [`timeUnit`](https://vega.github.io/vega-lite/docs/timeunit.html) documentation."
},
"title": {
"anyOf": [
{
"$ref": "#/definitions/Text"
},
{
"type": "null"
}
],
"description": "A title for the field. If `null`, the title will be removed.\n\n__Default value:__ derived from the field's name and transformation function (`aggregate`, `bin` and `timeUnit`). If the field has an aggregate function, the function is displayed as part of the title (e.g., `\"Sum of Profit\"`). If the field is binned or has a time unit applied, the applied function is shown in parentheses (e.g., `\"Profit (binned)\"`, `\"Transaction Date (year-month)\"`). Otherwise, the title is simply the field name.\n\n__Notes__:\n\n1) You can customize the default field title format by providing the [`fieldTitle`](https://vega.github.io/vega-lite/docs/config.html#top-level-config) property in the [config](https://vega.github.io/vega-lite/docs/config.html) or [`fieldTitle` function via the `compile` function's options](https://vega.github.io/vega-lite/usage/compile.html#field-title).\n\n2) If both field definition's `title` and axis, header, or legend `title` are defined, axis/header/legend title will be used."
},
"type": {
"$ref": "#/definitions/StandardType",
"description": "The type of measurement (`\"quantitative\"`, `\"temporal\"`, `\"ordinal\"`, or `\"nominal\"`) for the encoded field or constant value (`datum`). It can also be a `\"geojson\"` type for encoding ['geoshape'](https://vega.github.io/vega-lite/docs/geoshape.html).\n\nVega-Lite automatically infers data types in many cases as discussed below. However, type is required for a field if: (1) the field is not nominal and the field encoding has no specified `aggregate` (except `argmin` and `argmax`), `bin`, scale type, custom `sort` order, nor `timeUnit` or (2) if you wish to use an ordinal scale for a field with `bin` or `timeUnit`.\n\n__Default value:__\n\n1) For a data `field`, `\"nominal\"` is the default data type unless the field encoding has `aggregate`, `channel`, `bin`, scale type, `sort`, or `timeUnit` that satisfies the following criteria:\n- `\"quantitative\"` is the default type if (1) the encoded field contains `bin` or `aggregate` except `\"argmin\"` and `\"argmax\"`, (2) the encoding channel is `latitude` or `longitude` channel or (3) if the specified scale type is [a quantitative scale](https://vega.github.io/vega-lite/docs/scale.html#type).\n- `\"temporal\"` is the default type if (1) the encoded field contains `timeUnit` or (2) the specified scale type is a time or utc scale\n- `ordinal\"\"` is the default type if (1) the encoded field contains a [custom `sort` order](https://vega.github.io/vega-lite/docs/sort.html#specifying-custom-sort-order), (2) the specified scale type is an ordinal/point/band scale, or (3) the encoding channel is `order`.\n\n2) For a constant value in data domain (`datum`):\n- `\"quantitative\"` if the datum is a number\n- `\"nominal\"` if the datum is a string\n- `\"temporal\"` if the datum is [a date time object](https://vega.github.io/vega-lite/docs/datetime.html)\n\n__Note:__\n- Data `type` describes the semantics of the data rather than the primitive data types (number, string, etc.). The same primitive data type can have different types of measurement. For example, numeric data can represent quantitative, ordinal, or nominal data.\n- Data values for a temporal field can be either a date-time string (e.g., `\"2015-03-07 12:32:17\"`, `\"17:01\"`, `\"2015-03-16\"`. `\"2015\"`) or a timestamp number (e.g., `1552199579097`).\n- When using with [`bin`](https://vega.github.io/vega-lite/docs/bin.html), the `type` property can be either `\"quantitative\"` (for using a linear bin scale) or [`\"ordinal\"` (for using an ordinal bin scale)](https://vega.github.io/vega-lite/docs/type.html#cast-bin).\n- When using with [`timeUnit`](https://vega.github.io/vega-lite/docs/timeunit.html), the `type` property can be either `\"temporal\"` (default, for using a temporal scale) or [`\"ordinal\"` (for using an ordinal scale)](https://vega.github.io/vega-lite/docs/type.html#cast-bin).\n- When using with [`aggregate`](https://vega.github.io/vega-lite/docs/aggregate.html), the `type` property refers to the post-aggregation data type. For example, we can calculate count `distinct` of a categorical field `\"cat\"` using `{\"aggregate\": \"distinct\", \"field\": \"cat\"}`. The `\"type\"` of the aggregate output is `\"quantitative\"`.\n- Secondary channels (e.g., `x2`, `y2`, `xError`, `yError`) do not have `type` as they must have exactly the same type as their primary channels (e.g., `x`, `y`).\n\n__See also:__ [`type`](https://vega.github.io/vega-lite/docs/type.html) documentation."
}
},
"type": "object"
},
"FieldOrDatumDefWithCondition<MarkPropFieldDef,number>": {
"additionalProperties": false,
"description": "A FieldDef with Condition<ValueDef> { condition: {value: ...}, field: ..., ... }",
"properties": {
"aggregate": {
"$ref": "#/definitions/Aggregate",
"description": "Aggregation function for the field (e.g., `\"mean\"`, `\"sum\"`, `\"median\"`, `\"min\"`, `\"max\"`, `\"count\"`).\n\n__Default value:__ `undefined` (None)\n\n__See also:__ [`aggregate`](https://vega.github.io/vega-lite/docs/aggregate.html) documentation."
},
"bandPosition": {
"description": "Relative position on a band of a stacked, binned, time unit, or band scale. For example, the marks will be positioned at the beginning of the band if set to `0`, and at the middle of the band if set to `0.5`.",
"maximum": 1,
"minimum": 0,
"type": "number"
},
"bin": {
"anyOf": [
{
"type": "boolean"
},
{
"$ref": "#/definitions/BinParams"
},
{
"type": "null"
}
],
"description": "A flag for binning a `quantitative` field, [an object defining binning parameters](https://vega.github.io/vega-lite/docs/bin.html#params), or indicating that the data for `x` or `y` channel are binned before they are imported into Vega-Lite (`\"binned\"`).\n\n- If `true`, default [binning parameters](https://vega.github.io/vega-lite/docs/bin.html) will be applied.\n\n- If `\"binned\"`, this indicates that the data for the `x` (or `y`) channel are already binned. You can map the bin-start field to `x` (or `y`) and the bin-end field to `x2` (or `y2`). The scale and axis will be formatted similar to binning in Vega-Lite. To adjust the axis ticks based on the bin step, you can also set the axis's [`tickMinStep`](https://vega.github.io/vega-lite/docs/axis.html#ticks) property.\n\n__Default value:__ `false`\n\n__See also:__ [`bin`](https://vega.github.io/vega-lite/docs/bin.html) documentation."
},
"condition": {
"anyOf": [
{
"$ref": "#/definitions/ConditionalValueDef<(number|ExprRef)>"
},
{
"items": {
"$ref": "#/definitions/ConditionalValueDef<(number|ExprRef)>"
},
"type": "array"
}
],
"description": "One or more value definition(s) with [a parameter or a test predicate](https://vega.github.io/vega-lite/docs/condition.html).\n\n__Note:__ A field definition's `condition` property can only contain [conditional value definitions](https://vega.github.io/vega-lite/docs/condition.html#value) since Vega-Lite only allows at most one encoded field per encoding channel."
},
"field": {
"$ref": "#/definitions/Field",
"description": "__Required.__ A string defining the name of the field from which to pull a data value or an object defining iterated values from the [`repeat`](https://vega.github.io/vega-lite/docs/repeat.html) operator.\n\n__See also:__ [`field`](https://vega.github.io/vega-lite/docs/field.html) documentation.\n\n__Notes:__ 1) Dots (`.`) and brackets (`[` and `]`) can be used to access nested objects (e.g., `\"field\": \"foo.bar\"` and `\"field\": \"foo['bar']\"`). If field names contain dots or brackets but are not nested, you can use `\\\\` to escape dots and brackets (e.g., `\"a\\\\.b\"` and `\"a\\\\[0\\\\]\"`). See more details about escaping in the [field documentation](https://vega.github.io/vega-lite/docs/field.html). 2) `field` is not required if `aggregate` is `count`."
},
"legend": {
"anyOf": [
{
"$ref": "#/definitions/Legend"
},
{
"type": "null"
}
],
"description": "An object defining properties of the legend. If `null`, the legend for the encoding channel will be removed.\n\n__Default value:__ If undefined, default [legend properties](https://vega.github.io/vega-lite/docs/legend.html) are applied.\n\n__See also:__ [`legend`](https://vega.github.io/vega-lite/docs/legend.html) documentation."
},
"scale": {
"anyOf": [
{
"$ref": "#/definitions/Scale"
},
{
"type": "null"
}
],
"description": "An object defining properties of the channel's scale, which is the function that transforms values in the data domain (numbers, dates, strings, etc) to visual values (pixels, colors, sizes) of the encoding channels.\n\nIf `null`, the scale will be [disabled and the data value will be directly encoded](https://vega.github.io/vega-lite/docs/scale.html#disable).\n\n__Default value:__ If undefined, default [scale properties](https://vega.github.io/vega-lite/docs/scale.html) are applied.\n\n__See also:__ [`scale`](https://vega.github.io/vega-lite/docs/scale.html) documentation."
},
"sort": {
"$ref": "#/definitions/Sort",
"description": "Sort order for the encoded field.\n\nFor continuous fields (quantitative or temporal), `sort` can be either `\"ascending\"` or `\"descending\"`.\n\nFor discrete fields, `sort` can be one of the following:\n- `\"ascending\"` or `\"descending\"` -- for sorting by the values' natural order in JavaScript.\n- [A string indicating an encoding channel name to sort by](https://vega.github.io/vega-lite/docs/sort.html#sort-by-encoding) (e.g., `\"x\"` or `\"y\"`) with an optional minus prefix for descending sort (e.g., `\"-x\"` to sort by x-field, descending). This channel string is short-form of [a sort-by-encoding definition](https://vega.github.io/vega-lite/docs/sort.html#sort-by-encoding). For example, `\"sort\": \"-x\"` is equivalent to `\"sort\": {\"encoding\": \"x\", \"order\": \"descending\"}`.\n- [A sort field definition](https://vega.github.io/vega-lite/docs/sort.html#sort-field) for sorting by another field.\n- [An array specifying the field values in preferred order](https://vega.github.io/vega-lite/docs/sort.html#sort-array). In this case, the sort order will obey the values in the array, followed by any unspecified values in their original order. For discrete time field, values in the sort array can be [date-time definition objects](types#datetime). In addition, for time units `\"month\"` and `\"day\"`, the values can be the month or day names (case insensitive) or their 3-letter initials (e.g., `\"Mon\"`, `\"Tue\"`).\n- `null` indicating no sort.\n\n__Default value:__ `\"ascending\"`\n\n__Note:__ `null` and sorting by another channel is not supported for `row` and `column`.\n\n__See also:__ [`sort`](https://vega.github.io/vega-lite/docs/sort.html) documentation."
},
"timeUnit": {
"anyOf": [
{
"$ref": "#/definitions/TimeUnit"
},
{
"$ref": "#/definitions/TimeUnitParams"
}
],
"description": "Time unit (e.g., `year`, `yearmonth`, `month`, `hours`) for a temporal field. or [a temporal field that gets casted as ordinal](https://vega.github.io/vega-lite/docs/type.html#cast).\n\n__Default value:__ `undefined` (None)\n\n__See also:__ [`timeUnit`](https://vega.github.io/vega-lite/docs/timeunit.html) documentation."
},
"title": {
"anyOf": [
{
"$ref": "#/definitions/Text"
},
{
"type": "null"
}
],
"description": "A title for the field. If `null`, the title will be removed.\n\n__Default value:__ derived from the field's name and transformation function (`aggregate`, `bin` and `timeUnit`). If the field has an aggregate function, the function is displayed as part of the title (e.g., `\"Sum of Profit\"`). If the field is binned or has a time unit applied, the applied function is shown in parentheses (e.g., `\"Profit (binned)\"`, `\"Transaction Date (year-month)\"`). Otherwise, the title is simply the field name.\n\n__Notes__:\n\n1) You can customize the default field title format by providing the [`fieldTitle`](https://vega.github.io/vega-lite/docs/config.html#top-level-config) property in the [config](https://vega.github.io/vega-lite/docs/config.html) or [`fieldTitle` function via the `compile` function's options](https://vega.github.io/vega-lite/usage/compile.html#field-title).\n\n2) If both field definition's `title` and axis, header, or legend `title` are defined, axis/header/legend title will be used."
},
"type": {
"$ref": "#/definitions/StandardType",
"description": "The type of measurement (`\"quantitative\"`, `\"temporal\"`, `\"ordinal\"`, or `\"nominal\"`) for the encoded field or constant value (`datum`). It can also be a `\"geojson\"` type for encoding ['geoshape'](https://vega.github.io/vega-lite/docs/geoshape.html).\n\nVega-Lite automatically infers data types in many cases as discussed below. However, type is required for a field if: (1) the field is not nominal and the field encoding has no specified `aggregate` (except `argmin` and `argmax`), `bin`, scale type, custom `sort` order, nor `timeUnit` or (2) if you wish to use an ordinal scale for a field with `bin` or `timeUnit`.\n\n__Default value:__\n\n1) For a data `field`, `\"nominal\"` is the default data type unless the field encoding has `aggregate`, `channel`, `bin`, scale type, `sort`, or `timeUnit` that satisfies the following criteria:\n- `\"quantitative\"` is the default type if (1) the encoded field contains `bin` or `aggregate` except `\"argmin\"` and `\"argmax\"`, (2) the encoding channel is `latitude` or `longitude` channel or (3) if the specified scale type is [a quantitative scale](https://vega.github.io/vega-lite/docs/scale.html#type).\n- `\"temporal\"` is the default type if (1) the encoded field contains `timeUnit` or (2) the specified scale type is a time or utc scale\n- `ordinal\"\"` is the default type if (1) the encoded field contains a [custom `sort` order](https://vega.github.io/vega-lite/docs/sort.html#specifying-custom-sort-order), (2) the specified scale type is an ordinal/point/band scale, or (3) the encoding channel is `order`.\n\n2) For a constant value in data domain (`datum`):\n- `\"quantitative\"` if the datum is a number\n- `\"nominal\"` if the datum is a string\n- `\"temporal\"` if the datum is [a date time object](https://vega.github.io/vega-lite/docs/datetime.html)\n\n__Note:__\n- Data `type` describes the semantics of the data rather than the primitive data types (number, string, etc.). The same primitive data type can have different types of measurement. For example, numeric data can represent quantitative, ordinal, or nominal data.\n- Data values for a temporal field can be either a date-time string (e.g., `\"2015-03-07 12:32:17\"`, `\"17:01\"`, `\"2015-03-16\"`. `\"2015\"`) or a timestamp number (e.g., `1552199579097`).\n- When using with [`bin`](https://vega.github.io/vega-lite/docs/bin.html), the `type` property can be either `\"quantitative\"` (for using a linear bin scale) or [`\"ordinal\"` (for using an ordinal bin scale)](https://vega.github.io/vega-lite/docs/type.html#cast-bin).\n- When using with [`timeUnit`](https://vega.github.io/vega-lite/docs/timeunit.html), the `type` property can be either `\"temporal\"` (default, for using a temporal scale) or [`\"ordinal\"` (for using an ordinal scale)](https://vega.github.io/vega-lite/docs/type.html#cast-bin).\n- When using with [`aggregate`](https://vega.github.io/vega-lite/docs/aggregate.html), the `type` property refers to the post-aggregation data type. For example, we can calculate count `distinct` of a categorical field `\"cat\"` using `{\"aggregate\": \"distinct\", \"field\": \"cat\"}`. The `\"type\"` of the aggregate output is `\"quantitative\"`.\n- Secondary channels (e.g., `x2`, `y2`, `xError`, `yError`) do not have `type` as they must have exactly the same type as their primary channels (e.g., `x`, `y`).\n\n__See also:__ [`type`](https://vega.github.io/vega-lite/docs/type.html) documentation."
}
},
"type": "object"
},
"FieldOrDatumDefWithCondition<MarkPropFieldDef,number[]>": {
"additionalProperties": false,
"description": "A FieldDef with Condition<ValueDef> { condition: {value: ...}, field: ..., ... }",
"properties": {
"aggregate": {
"$ref": "#/definitions/Aggregate",
"description": "Aggregation function for the field (e.g., `\"mean\"`, `\"sum\"`, `\"median\"`, `\"min\"`, `\"max\"`, `\"count\"`).\n\n__Default value:__ `undefined` (None)\n\n__See also:__ [`aggregate`](https://vega.github.io/vega-lite/docs/aggregate.html) documentation."
},
"bandPosition": {
"description": "Relative position on a band of a stacked, binned, time unit, or band scale. For example, the marks will be positioned at the beginning of the band if set to `0`, and at the middle of the band if set to `0.5`.",
"maximum": 1,
"minimum": 0,
"type": "number"
},
"bin": {
"anyOf": [
{
"type": "boolean"
},
{
"$ref": "#/definitions/BinParams"
},
{
"type": "null"
}
],
"description": "A flag for binning a `quantitative` field, [an object defining binning parameters](https://vega.github.io/vega-lite/docs/bin.html#params), or indicating that the data for `x` or `y` channel are binned before they are imported into Vega-Lite (`\"binned\"`).\n\n- If `true`, default [binning parameters](https://vega.github.io/vega-lite/docs/bin.html) will be applied.\n\n- If `\"binned\"`, this indicates that the data for the `x` (or `y`) channel are already binned. You can map the bin-start field to `x` (or `y`) and the bin-end field to `x2` (or `y2`). The scale and axis will be formatted similar to binning in Vega-Lite. To adjust the axis ticks based on the bin step, you can also set the axis's [`tickMinStep`](https://vega.github.io/vega-lite/docs/axis.html#ticks) property.\n\n__Default value:__ `false`\n\n__See also:__ [`bin`](https://vega.github.io/vega-lite/docs/bin.html) documentation."
},
"condition": {
"anyOf": [
{
"$ref": "#/definitions/ConditionalValueDef<(number[]|ExprRef)>"
},
{
"items": {
"$ref": "#/definitions/ConditionalValueDef<(number[]|ExprRef)>"
},
"type": "array"
}
],
"description": "One or more value definition(s) with [a parameter or a test predicate](https://vega.github.io/vega-lite/docs/condition.html).\n\n__Note:__ A field definition's `condition` property can only contain [conditional value definitions](https://vega.github.io/vega-lite/docs/condition.html#value) since Vega-Lite only allows at most one encoded field per encoding channel."
},
"field": {
"$ref": "#/definitions/Field",
"description": "__Required.__ A string defining the name of the field from which to pull a data value or an object defining iterated values from the [`repeat`](https://vega.github.io/vega-lite/docs/repeat.html) operator.\n\n__See also:__ [`field`](https://vega.github.io/vega-lite/docs/field.html) documentation.\n\n__Notes:__ 1) Dots (`.`) and brackets (`[` and `]`) can be used to access nested objects (e.g., `\"field\": \"foo.bar\"` and `\"field\": \"foo['bar']\"`). If field names contain dots or brackets but are not nested, you can use `\\\\` to escape dots and brackets (e.g., `\"a\\\\.b\"` and `\"a\\\\[0\\\\]\"`). See more details about escaping in the [field documentation](https://vega.github.io/vega-lite/docs/field.html). 2) `field` is not required if `aggregate` is `count`."
},
"legend": {
"anyOf": [
{
"$ref": "#/definitions/Legend"
},
{
"type": "null"
}
],
"description": "An object defining properties of the legend. If `null`, the legend for the encoding channel will be removed.\n\n__Default value:__ If undefined, default [legend properties](https://vega.github.io/vega-lite/docs/legend.html) are applied.\n\n__See also:__ [`legend`](https://vega.github.io/vega-lite/docs/legend.html) documentation."
},
"scale": {
"anyOf": [
{
"$ref": "#/definitions/Scale"
},
{
"type": "null"
}
],
"description": "An object defining properties of the channel's scale, which is the function that transforms values in the data domain (numbers, dates, strings, etc) to visual values (pixels, colors, sizes) of the encoding channels.\n\nIf `null`, the scale will be [disabled and the data value will be directly encoded](https://vega.github.io/vega-lite/docs/scale.html#disable).\n\n__Default value:__ If undefined, default [scale properties](https://vega.github.io/vega-lite/docs/scale.html) are applied.\n\n__See also:__ [`scale`](https://vega.github.io/vega-lite/docs/scale.html) documentation."
},
"sort": {
"$ref": "#/definitions/Sort",
"description": "Sort order for the encoded field.\n\nFor continuous fields (quantitative or temporal), `sort` can be either `\"ascending\"` or `\"descending\"`.\n\nFor discrete fields, `sort` can be one of the following:\n- `\"ascending\"` or `\"descending\"` -- for sorting by the values' natural order in JavaScript.\n- [A string indicating an encoding channel name to sort by](https://vega.github.io/vega-lite/docs/sort.html#sort-by-encoding) (e.g., `\"x\"` or `\"y\"`) with an optional minus prefix for descending sort (e.g., `\"-x\"` to sort by x-field, descending). This channel string is short-form of [a sort-by-encoding definition](https://vega.github.io/vega-lite/docs/sort.html#sort-by-encoding). For example, `\"sort\": \"-x\"` is equivalent to `\"sort\": {\"encoding\": \"x\", \"order\": \"descending\"}`.\n- [A sort field definition](https://vega.github.io/vega-lite/docs/sort.html#sort-field) for sorting by another field.\n- [An array specifying the field values in preferred order](https://vega.github.io/vega-lite/docs/sort.html#sort-array). In this case, the sort order will obey the values in the array, followed by any unspecified values in their original order. For discrete time field, values in the sort array can be [date-time definition objects](types#datetime). In addition, for time units `\"month\"` and `\"day\"`, the values can be the month or day names (case insensitive) or their 3-letter initials (e.g., `\"Mon\"`, `\"Tue\"`).\n- `null` indicating no sort.\n\n__Default value:__ `\"ascending\"`\n\n__Note:__ `null` and sorting by another channel is not supported for `row` and `column`.\n\n__See also:__ [`sort`](https://vega.github.io/vega-lite/docs/sort.html) documentation."
},
"timeUnit": {
"anyOf": [
{
"$ref": "#/definitions/TimeUnit"
},
{
"$ref": "#/definitions/TimeUnitParams"
}
],
"description": "Time unit (e.g., `year`, `yearmonth`, `month`, `hours`) for a temporal field. or [a temporal field that gets casted as ordinal](https://vega.github.io/vega-lite/docs/type.html#cast).\n\n__Default value:__ `undefined` (None)\n\n__See also:__ [`timeUnit`](https://vega.github.io/vega-lite/docs/timeunit.html) documentation."
},
"title": {
"anyOf": [
{
"$ref": "#/definitions/Text"
},
{
"type": "null"
}
],
"description": "A title for the field. If `null`, the title will be removed.\n\n__Default value:__ derived from the field's name and transformation function (`aggregate`, `bin` and `timeUnit`). If the field has an aggregate function, the function is displayed as part of the title (e.g., `\"Sum of Profit\"`). If the field is binned or has a time unit applied, the applied function is shown in parentheses (e.g., `\"Profit (binned)\"`, `\"Transaction Date (year-month)\"`). Otherwise, the title is simply the field name.\n\n__Notes__:\n\n1) You can customize the default field title format by providing the [`fieldTitle`](https://vega.github.io/vega-lite/docs/config.html#top-level-config) property in the [config](https://vega.github.io/vega-lite/docs/config.html) or [`fieldTitle` function via the `compile` function's options](https://vega.github.io/vega-lite/usage/compile.html#field-title).\n\n2) If both field definition's `title` and axis, header, or legend `title` are defined, axis/header/legend title will be used."
},
"type": {
"$ref": "#/definitions/StandardType",
"description": "The type of measurement (`\"quantitative\"`, `\"temporal\"`, `\"ordinal\"`, or `\"nominal\"`) for the encoded field or constant value (`datum`). It can also be a `\"geojson\"` type for encoding ['geoshape'](https://vega.github.io/vega-lite/docs/geoshape.html).\n\nVega-Lite automatically infers data types in many cases as discussed below. However, type is required for a field if: (1) the field is not nominal and the field encoding has no specified `aggregate` (except `argmin` and `argmax`), `bin`, scale type, custom `sort` order, nor `timeUnit` or (2) if you wish to use an ordinal scale for a field with `bin` or `timeUnit`.\n\n__Default value:__\n\n1) For a data `field`, `\"nominal\"` is the default data type unless the field encoding has `aggregate`, `channel`, `bin`, scale type, `sort`, or `timeUnit` that satisfies the following criteria:\n- `\"quantitative\"` is the default type if (1) the encoded field contains `bin` or `aggregate` except `\"argmin\"` and `\"argmax\"`, (2) the encoding channel is `latitude` or `longitude` channel or (3) if the specified scale type is [a quantitative scale](https://vega.github.io/vega-lite/docs/scale.html#type).\n- `\"temporal\"` is the default type if (1) the encoded field contains `timeUnit` or (2) the specified scale type is a time or utc scale\n- `ordinal\"\"` is the default type if (1) the encoded field contains a [custom `sort` order](https://vega.github.io/vega-lite/docs/sort.html#specifying-custom-sort-order), (2) the specified scale type is an ordinal/point/band scale, or (3) the encoding channel is `order`.\n\n2) For a constant value in data domain (`datum`):\n- `\"quantitative\"` if the datum is a number\n- `\"nominal\"` if the datum is a string\n- `\"temporal\"` if the datum is [a date time object](https://vega.github.io/vega-lite/docs/datetime.html)\n\n__Note:__\n- Data `type` describes the semantics of the data rather than the primitive data types (number, string, etc.). The same primitive data type can have different types of measurement. For example, numeric data can represent quantitative, ordinal, or nominal data.\n- Data values for a temporal field can be either a date-time string (e.g., `\"2015-03-07 12:32:17\"`, `\"17:01\"`, `\"2015-03-16\"`. `\"2015\"`) or a timestamp number (e.g., `1552199579097`).\n- When using with [`bin`](https://vega.github.io/vega-lite/docs/bin.html), the `type` property can be either `\"quantitative\"` (for using a linear bin scale) or [`\"ordinal\"` (for using an ordinal bin scale)](https://vega.github.io/vega-lite/docs/type.html#cast-bin).\n- When using with [`timeUnit`](https://vega.github.io/vega-lite/docs/timeunit.html), the `type` property can be either `\"temporal\"` (default, for using a temporal scale) or [`\"ordinal\"` (for using an ordinal scale)](https://vega.github.io/vega-lite/docs/type.html#cast-bin).\n- When using with [`aggregate`](https://vega.github.io/vega-lite/docs/aggregate.html), the `type` property refers to the post-aggregation data type. For example, we can calculate count `distinct` of a categorical field `\"cat\"` using `{\"aggregate\": \"distinct\", \"field\": \"cat\"}`. The `\"type\"` of the aggregate output is `\"quantitative\"`.\n- Secondary channels (e.g., `x2`, `y2`, `xError`, `yError`) do not have `type` as they must have exactly the same type as their primary channels (e.g., `x`, `y`).\n\n__See also:__ [`type`](https://vega.github.io/vega-lite/docs/type.html) documentation."
}
},
"type": "object"
},
"FieldOrDatumDefWithCondition<MarkPropFieldDef<TypeForShape>,(string|null)>": {
"additionalProperties": false,
"description": "A FieldDef with Condition<ValueDef> { condition: {value: ...}, field: ..., ... }",
"properties": {
"aggregate": {
"$ref": "#/definitions/Aggregate",
"description": "Aggregation function for the field (e.g., `\"mean\"`, `\"sum\"`, `\"median\"`, `\"min\"`, `\"max\"`, `\"count\"`).\n\n__Default value:__ `undefined` (None)\n\n__See also:__ [`aggregate`](https://vega.github.io/vega-lite/docs/aggregate.html) documentation."
},
"bandPosition": {
"description": "Relative position on a band of a stacked, binned, time unit, or band scale. For example, the marks will be positioned at the beginning of the band if set to `0`, and at the middle of the band if set to `0.5`.",
"maximum": 1,
"minimum": 0,
"type": "number"
},
"bin": {
"anyOf": [
{
"type": "boolean"
},
{
"$ref": "#/definitions/BinParams"
},
{
"type": "null"
}
],
"description": "A flag for binning a `quantitative` field, [an object defining binning parameters](https://vega.github.io/vega-lite/docs/bin.html#params), or indicating that the data for `x` or `y` channel are binned before they are imported into Vega-Lite (`\"binned\"`).\n\n- If `true`, default [binning parameters](https://vega.github.io/vega-lite/docs/bin.html) will be applied.\n\n- If `\"binned\"`, this indicates that the data for the `x` (or `y`) channel are already binned. You can map the bin-start field to `x` (or `y`) and the bin-end field to `x2` (or `y2`). The scale and axis will be formatted similar to binning in Vega-Lite. To adjust the axis ticks based on the bin step, you can also set the axis's [`tickMinStep`](https://vega.github.io/vega-lite/docs/axis.html#ticks) property.\n\n__Default value:__ `false`\n\n__See also:__ [`bin`](https://vega.github.io/vega-lite/docs/bin.html) documentation."
},
"condition": {
"anyOf": [
{
"$ref": "#/definitions/ConditionalValueDef<(string|null|ExprRef)>"
},
{
"items": {
"$ref": "#/definitions/ConditionalValueDef<(string|null|ExprRef)>"
},
"type": "array"
}
],
"description": "One or more value definition(s) with [a parameter or a test predicate](https://vega.github.io/vega-lite/docs/condition.html).\n\n__Note:__ A field definition's `condition` property can only contain [conditional value definitions](https://vega.github.io/vega-lite/docs/condition.html#value) since Vega-Lite only allows at most one encoded field per encoding channel."
},
"field": {
"$ref": "#/definitions/Field",
"description": "__Required.__ A string defining the name of the field from which to pull a data value or an object defining iterated values from the [`repeat`](https://vega.github.io/vega-lite/docs/repeat.html) operator.\n\n__See also:__ [`field`](https://vega.github.io/vega-lite/docs/field.html) documentation.\n\n__Notes:__ 1) Dots (`.`) and brackets (`[` and `]`) can be used to access nested objects (e.g., `\"field\": \"foo.bar\"` and `\"field\": \"foo['bar']\"`). If field names contain dots or brackets but are not nested, you can use `\\\\` to escape dots and brackets (e.g., `\"a\\\\.b\"` and `\"a\\\\[0\\\\]\"`). See more details about escaping in the [field documentation](https://vega.github.io/vega-lite/docs/field.html). 2) `field` is not required if `aggregate` is `count`."
},
"legend": {
"anyOf": [
{
"$ref": "#/definitions/Legend"
},
{
"type": "null"
}
],
"description": "An object defining properties of the legend. If `null`, the legend for the encoding channel will be removed.\n\n__Default value:__ If undefined, default [legend properties](https://vega.github.io/vega-lite/docs/legend.html) are applied.\n\n__See also:__ [`legend`](https://vega.github.io/vega-lite/docs/legend.html) documentation."
},
"scale": {
"anyOf": [
{
"$ref": "#/definitions/Scale"
},
{
"type": "null"
}
],
"description": "An object defining properties of the channel's scale, which is the function that transforms values in the data domain (numbers, dates, strings, etc) to visual values (pixels, colors, sizes) of the encoding channels.\n\nIf `null`, the scale will be [disabled and the data value will be directly encoded](https://vega.github.io/vega-lite/docs/scale.html#disable).\n\n__Default value:__ If undefined, default [scale properties](https://vega.github.io/vega-lite/docs/scale.html) are applied.\n\n__See also:__ [`scale`](https://vega.github.io/vega-lite/docs/scale.html) documentation."
},
"sort": {
"$ref": "#/definitions/Sort",
"description": "Sort order for the encoded field.\n\nFor continuous fields (quantitative or temporal), `sort` can be either `\"ascending\"` or `\"descending\"`.\n\nFor discrete fields, `sort` can be one of the following:\n- `\"ascending\"` or `\"descending\"` -- for sorting by the values' natural order in JavaScript.\n- [A string indicating an encoding channel name to sort by](https://vega.github.io/vega-lite/docs/sort.html#sort-by-encoding) (e.g., `\"x\"` or `\"y\"`) with an optional minus prefix for descending sort (e.g., `\"-x\"` to sort by x-field, descending). This channel string is short-form of [a sort-by-encoding definition](https://vega.github.io/vega-lite/docs/sort.html#sort-by-encoding). For example, `\"sort\": \"-x\"` is equivalent to `\"sort\": {\"encoding\": \"x\", \"order\": \"descending\"}`.\n- [A sort field definition](https://vega.github.io/vega-lite/docs/sort.html#sort-field) for sorting by another field.\n- [An array specifying the field values in preferred order](https://vega.github.io/vega-lite/docs/sort.html#sort-array). In this case, the sort order will obey the values in the array, followed by any unspecified values in their original order. For discrete time field, values in the sort array can be [date-time definition objects](types#datetime). In addition, for time units `\"month\"` and `\"day\"`, the values can be the month or day names (case insensitive) or their 3-letter initials (e.g., `\"Mon\"`, `\"Tue\"`).\n- `null` indicating no sort.\n\n__Default value:__ `\"ascending\"`\n\n__Note:__ `null` and sorting by another channel is not supported for `row` and `column`.\n\n__See also:__ [`sort`](https://vega.github.io/vega-lite/docs/sort.html) documentation."
},
"timeUnit": {
"anyOf": [
{
"$ref": "#/definitions/TimeUnit"
},
{
"$ref": "#/definitions/TimeUnitParams"
}
],
"description": "Time unit (e.g., `year`, `yearmonth`, `month`, `hours`) for a temporal field. or [a temporal field that gets casted as ordinal](https://vega.github.io/vega-lite/docs/type.html#cast).\n\n__Default value:__ `undefined` (None)\n\n__See also:__ [`timeUnit`](https://vega.github.io/vega-lite/docs/timeunit.html) documentation."
},
"title": {
"anyOf": [
{
"$ref": "#/definitions/Text"
},
{
"type": "null"
}
],
"description": "A title for the field. If `null`, the title will be removed.\n\n__Default value:__ derived from the field's name and transformation function (`aggregate`, `bin` and `timeUnit`). If the field has an aggregate function, the function is displayed as part of the title (e.g., `\"Sum of Profit\"`). If the field is binned or has a time unit applied, the applied function is shown in parentheses (e.g., `\"Profit (binned)\"`, `\"Transaction Date (year-month)\"`). Otherwise, the title is simply the field name.\n\n__Notes__:\n\n1) You can customize the default field title format by providing the [`fieldTitle`](https://vega.github.io/vega-lite/docs/config.html#top-level-config) property in the [config](https://vega.github.io/vega-lite/docs/config.html) or [`fieldTitle` function via the `compile` function's options](https://vega.github.io/vega-lite/usage/compile.html#field-title).\n\n2) If both field definition's `title` and axis, header, or legend `title` are defined, axis/header/legend title will be used."
},
"type": {
"$ref": "#/definitions/TypeForShape",
"description": "The type of measurement (`\"quantitative\"`, `\"temporal\"`, `\"ordinal\"`, or `\"nominal\"`) for the encoded field or constant value (`datum`). It can also be a `\"geojson\"` type for encoding ['geoshape'](https://vega.github.io/vega-lite/docs/geoshape.html).\n\nVega-Lite automatically infers data types in many cases as discussed below. However, type is required for a field if: (1) the field is not nominal and the field encoding has no specified `aggregate` (except `argmin` and `argmax`), `bin`, scale type, custom `sort` order, nor `timeUnit` or (2) if you wish to use an ordinal scale for a field with `bin` or `timeUnit`.\n\n__Default value:__\n\n1) For a data `field`, `\"nominal\"` is the default data type unless the field encoding has `aggregate`, `channel`, `bin`, scale type, `sort`, or `timeUnit` that satisfies the following criteria:\n- `\"quantitative\"` is the default type if (1) the encoded field contains `bin` or `aggregate` except `\"argmin\"` and `\"argmax\"`, (2) the encoding channel is `latitude` or `longitude` channel or (3) if the specified scale type is [a quantitative scale](https://vega.github.io/vega-lite/docs/scale.html#type).\n- `\"temporal\"` is the default type if (1) the encoded field contains `timeUnit` or (2) the specified scale type is a time or utc scale\n- `ordinal\"\"` is the default type if (1) the encoded field contains a [custom `sort` order](https://vega.github.io/vega-lite/docs/sort.html#specifying-custom-sort-order), (2) the specified scale type is an ordinal/point/band scale, or (3) the encoding channel is `order`.\n\n2) For a constant value in data domain (`datum`):\n- `\"quantitative\"` if the datum is a number\n- `\"nominal\"` if the datum is a string\n- `\"temporal\"` if the datum is [a date time object](https://vega.github.io/vega-lite/docs/datetime.html)\n\n__Note:__\n- Data `type` describes the semantics of the data rather than the primitive data types (number, string, etc.). The same primitive data type can have different types of measurement. For example, numeric data can represent quantitative, ordinal, or nominal data.\n- Data values for a temporal field can be either a date-time string (e.g., `\"2015-03-07 12:32:17\"`, `\"17:01\"`, `\"2015-03-16\"`. `\"2015\"`) or a timestamp number (e.g., `1552199579097`).\n- When using with [`bin`](https://vega.github.io/vega-lite/docs/bin.html), the `type` property can be either `\"quantitative\"` (for using a linear bin scale) or [`\"ordinal\"` (for using an ordinal bin scale)](https://vega.github.io/vega-lite/docs/type.html#cast-bin).\n- When using with [`timeUnit`](https://vega.github.io/vega-lite/docs/timeunit.html), the `type` property can be either `\"temporal\"` (default, for using a temporal scale) or [`\"ordinal\"` (for using an ordinal scale)](https://vega.github.io/vega-lite/docs/type.html#cast-bin).\n- When using with [`aggregate`](https://vega.github.io/vega-lite/docs/aggregate.html), the `type` property refers to the post-aggregation data type. For example, we can calculate count `distinct` of a categorical field `\"cat\"` using `{\"aggregate\": \"distinct\", \"field\": \"cat\"}`. The `\"type\"` of the aggregate output is `\"quantitative\"`.\n- Secondary channels (e.g., `x2`, `y2`, `xError`, `yError`) do not have `type` as they must have exactly the same type as their primary channels (e.g., `x`, `y`).\n\n__See also:__ [`type`](https://vega.github.io/vega-lite/docs/type.html) documentation."
}
},
"type": "object"
},
"FieldOrDatumDefWithCondition<StringDatumDef,Text>": {
"additionalProperties": false,
"description": "A FieldDef with Condition<ValueDef> { condition: {value: ...}, field: ..., ... }",
"properties": {
"bandPosition": {
"description": "Relative position on a band of a stacked, binned, time unit, or band scale. For example, the marks will be positioned at the beginning of the band if set to `0`, and at the middle of the band if set to `0.5`.",
"maximum": 1,
"minimum": 0,
"type": "number"
},
"condition": {
"anyOf": [
{
"$ref": "#/definitions/ConditionalValueDef<(Text|ExprRef)>"
},
{
"items": {
"$ref": "#/definitions/ConditionalValueDef<(Text|ExprRef)>"
},
"type": "array"
}
],
"description": "One or more value definition(s) with [a parameter or a test predicate](https://vega.github.io/vega-lite/docs/condition.html).\n\n__Note:__ A field definition's `condition` property can only contain [conditional value definitions](https://vega.github.io/vega-lite/docs/condition.html#value) since Vega-Lite only allows at most one encoded field per encoding channel."
},
"datum": {
"anyOf": [
{
"$ref": "#/definitions/PrimitiveValue"
},
{
"$ref": "#/definitions/DateTime"
},
{
"$ref": "#/definitions/ExprRef"
},
{
"$ref": "#/definitions/RepeatRef"
}
],
"description": "A constant value in data domain."
},
"format": {
"anyOf": [
{
"type": "string"
},
{
"$ref": "#/definitions/Dict"
}
],
"description": "When used with the default `\"number\"` and `\"time\"` format type, the text formatting pattern for labels of guides (axes, legends, headers) and text marks.\n\n- If the format type is `\"number\"` (e.g., for quantitative fields), this is D3's [number format pattern](https://github.com/d3/d3-format#locale_format).\n- If the format type is `\"time\"` (e.g., for temporal fields), this is D3's [time format pattern](https://github.com/d3/d3-time-format#locale_format).\n\nSee the [format documentation](https://vega.github.io/vega-lite/docs/format.html) for more examples.\n\nWhen used with a [custom `formatType`](https://vega.github.io/vega-lite/docs/config.html#custom-format-type), this value will be passed as `format` alongside `datum.value` to the registered function.\n\n__Default value:__ Derived from [numberFormat](https://vega.github.io/vega-lite/docs/config.html#format) config for number format and from [timeFormat](https://vega.github.io/vega-lite/docs/config.html#format) config for time format."
},
"formatType": {
"description": "The format type for labels. One of `\"number\"`, `\"time\"`, or a [registered custom format type](https://vega.github.io/vega-lite/docs/config.html#custom-format-type).\n\n__Default value:__\n- `\"time\"` for temporal fields and ordinal and nominal fields with `timeUnit`.\n- `\"number\"` for quantitative fields as well as ordinal and nominal fields without `timeUnit`.",
"type": "string"
},
"title": {
"anyOf": [
{
"$ref": "#/definitions/Text"
},
{
"type": "null"
}
],
"description": "A title for the field. If `null`, the title will be removed.\n\n__Default value:__ derived from the field's name and transformation function (`aggregate`, `bin` and `timeUnit`). If the field has an aggregate function, the function is displayed as part of the title (e.g., `\"Sum of Profit\"`). If the field is binned or has a time unit applied, the applied function is shown in parentheses (e.g., `\"Profit (binned)\"`, `\"Transaction Date (year-month)\"`). Otherwise, the title is simply the field name.\n\n__Notes__:\n\n1) You can customize the default field title format by providing the [`fieldTitle`](https://vega.github.io/vega-lite/docs/config.html#top-level-config) property in the [config](https://vega.github.io/vega-lite/docs/config.html) or [`fieldTitle` function via the `compile` function's options](https://vega.github.io/vega-lite/usage/compile.html#field-title).\n\n2) If both field definition's `title` and axis, header, or legend `title` are defined, axis/header/legend title will be used."
},
"type": {
"$ref": "#/definitions/Type",
"description": "The type of measurement (`\"quantitative\"`, `\"temporal\"`, `\"ordinal\"`, or `\"nominal\"`) for the encoded field or constant value (`datum`). It can also be a `\"geojson\"` type for encoding ['geoshape'](https://vega.github.io/vega-lite/docs/geoshape.html).\n\nVega-Lite automatically infers data types in many cases as discussed below. However, type is required for a field if: (1) the field is not nominal and the field encoding has no specified `aggregate` (except `argmin` and `argmax`), `bin`, scale type, custom `sort` order, nor `timeUnit` or (2) if you wish to use an ordinal scale for a field with `bin` or `timeUnit`.\n\n__Default value:__\n\n1) For a data `field`, `\"nominal\"` is the default data type unless the field encoding has `aggregate`, `channel`, `bin`, scale type, `sort`, or `timeUnit` that satisfies the following criteria:\n- `\"quantitative\"` is the default type if (1) the encoded field contains `bin` or `aggregate` except `\"argmin\"` and `\"argmax\"`, (2) the encoding channel is `latitude` or `longitude` channel or (3) if the specified scale type is [a quantitative scale](https://vega.github.io/vega-lite/docs/scale.html#type).\n- `\"temporal\"` is the default type if (1) the encoded field contains `timeUnit` or (2) the specified scale type is a time or utc scale\n- `ordinal\"\"` is the default type if (1) the encoded field contains a [custom `sort` order](https://vega.github.io/vega-lite/docs/sort.html#specifying-custom-sort-order), (2) the specified scale type is an ordinal/point/band scale, or (3) the encoding channel is `order`.\n\n2) For a constant value in data domain (`datum`):\n- `\"quantitative\"` if the datum is a number\n- `\"nominal\"` if the datum is a string\n- `\"temporal\"` if the datum is [a date time object](https://vega.github.io/vega-lite/docs/datetime.html)\n\n__Note:__\n- Data `type` describes the semantics of the data rather than the primitive data types (number, string, etc.). The same primitive data type can have different types of measurement. For example, numeric data can represent quantitative, ordinal, or nominal data.\n- Data values for a temporal field can be either a date-time string (e.g., `\"2015-03-07 12:32:17\"`, `\"17:01\"`, `\"2015-03-16\"`. `\"2015\"`) or a timestamp number (e.g., `1552199579097`).\n- When using with [`bin`](https://vega.github.io/vega-lite/docs/bin.html), the `type` property can be either `\"quantitative\"` (for using a linear bin scale) or [`\"ordinal\"` (for using an ordinal bin scale)](https://vega.github.io/vega-lite/docs/type.html#cast-bin).\n- When using with [`timeUnit`](https://vega.github.io/vega-lite/docs/timeunit.html), the `type` property can be either `\"temporal\"` (default, for using a temporal scale) or [`\"ordinal\"` (for using an ordinal scale)](https://vega.github.io/vega-lite/docs/type.html#cast-bin).\n- When using with [`aggregate`](https://vega.github.io/vega-lite/docs/aggregate.html), the `type` property refers to the post-aggregation data type. For example, we can calculate count `distinct` of a categorical field `\"cat\"` using `{\"aggregate\": \"distinct\", \"field\": \"cat\"}`. The `\"type\"` of the aggregate output is `\"quantitative\"`.\n- Secondary channels (e.g., `x2`, `y2`, `xError`, `yError`) do not have `type` as they must have exactly the same type as their primary channels (e.g., `x`, `y`).\n\n__See also:__ [`type`](https://vega.github.io/vega-lite/docs/type.html) documentation."
}
},
"type": "object"
},
"FieldOrDatumDefWithCondition<StringFieldDef,Text>": {
"additionalProperties": false,
"description": "A FieldDef with Condition<ValueDef> { condition: {value: ...}, field: ..., ... }",
"properties": {
"aggregate": {
"$ref": "#/definitions/Aggregate",
"description": "Aggregation function for the field (e.g., `\"mean\"`, `\"sum\"`, `\"median\"`, `\"min\"`, `\"max\"`, `\"count\"`).\n\n__Default value:__ `undefined` (None)\n\n__See also:__ [`aggregate`](https://vega.github.io/vega-lite/docs/aggregate.html) documentation."
},
"bandPosition": {
"description": "Relative position on a band of a stacked, binned, time unit, or band scale. For example, the marks will be positioned at the beginning of the band if set to `0`, and at the middle of the band if set to `0.5`.",
"maximum": 1,
"minimum": 0,
"type": "number"
},
"bin": {
"anyOf": [
{
"type": "boolean"
},
{
"$ref": "#/definitions/BinParams"
},
{
"const": "binned",
"type": "string"
},
{
"type": "null"
}
],
"description": "A flag for binning a `quantitative` field, [an object defining binning parameters](https://vega.github.io/vega-lite/docs/bin.html#params), or indicating that the data for `x` or `y` channel are binned before they are imported into Vega-Lite (`\"binned\"`).\n\n- If `true`, default [binning parameters](https://vega.github.io/vega-lite/docs/bin.html) will be applied.\n\n- If `\"binned\"`, this indicates that the data for the `x` (or `y`) channel are already binned. You can map the bin-start field to `x` (or `y`) and the bin-end field to `x2` (or `y2`). The scale and axis will be formatted similar to binning in Vega-Lite. To adjust the axis ticks based on the bin step, you can also set the axis's [`tickMinStep`](https://vega.github.io/vega-lite/docs/axis.html#ticks) property.\n\n__Default value:__ `false`\n\n__See also:__ [`bin`](https://vega.github.io/vega-lite/docs/bin.html) documentation."
},
"condition": {
"anyOf": [
{
"$ref": "#/definitions/ConditionalValueDef<(Text|ExprRef)>"
},
{
"items": {
"$ref": "#/definitions/ConditionalValueDef<(Text|ExprRef)>"
},
"type": "array"
}
],
"description": "One or more value definition(s) with [a parameter or a test predicate](https://vega.github.io/vega-lite/docs/condition.html).\n\n__Note:__ A field definition's `condition` property can only contain [conditional value definitions](https://vega.github.io/vega-lite/docs/condition.html#value) since Vega-Lite only allows at most one encoded field per encoding channel."
},
"field": {
"$ref": "#/definitions/Field",
"description": "__Required.__ A string defining the name of the field from which to pull a data value or an object defining iterated values from the [`repeat`](https://vega.github.io/vega-lite/docs/repeat.html) operator.\n\n__See also:__ [`field`](https://vega.github.io/vega-lite/docs/field.html) documentation.\n\n__Notes:__ 1) Dots (`.`) and brackets (`[` and `]`) can be used to access nested objects (e.g., `\"field\": \"foo.bar\"` and `\"field\": \"foo['bar']\"`). If field names contain dots or brackets but are not nested, you can use `\\\\` to escape dots and brackets (e.g., `\"a\\\\.b\"` and `\"a\\\\[0\\\\]\"`). See more details about escaping in the [field documentation](https://vega.github.io/vega-lite/docs/field.html). 2) `field` is not required if `aggregate` is `count`."
},
"format": {
"anyOf": [
{
"type": "string"
},
{
"$ref": "#/definitions/Dict"
}
],
"description": "When used with the default `\"number\"` and `\"time\"` format type, the text formatting pattern for labels of guides (axes, legends, headers) and text marks.\n\n- If the format type is `\"number\"` (e.g., for quantitative fields), this is D3's [number format pattern](https://github.com/d3/d3-format#locale_format).\n- If the format type is `\"time\"` (e.g., for temporal fields), this is D3's [time format pattern](https://github.com/d3/d3-time-format#locale_format).\n\nSee the [format documentation](https://vega.github.io/vega-lite/docs/format.html) for more examples.\n\nWhen used with a [custom `formatType`](https://vega.github.io/vega-lite/docs/config.html#custom-format-type), this value will be passed as `format` alongside `datum.value` to the registered function.\n\n__Default value:__ Derived from [numberFormat](https://vega.github.io/vega-lite/docs/config.html#format) config for number format and from [timeFormat](https://vega.github.io/vega-lite/docs/config.html#format) config for time format."
},
"formatType": {
"description": "The format type for labels. One of `\"number\"`, `\"time\"`, or a [registered custom format type](https://vega.github.io/vega-lite/docs/config.html#custom-format-type).\n\n__Default value:__\n- `\"time\"` for temporal fields and ordinal and nominal fields with `timeUnit`.\n- `\"number\"` for quantitative fields as well as ordinal and nominal fields without `timeUnit`.",
"type": "string"
},
"timeUnit": {
"anyOf": [
{
"$ref": "#/definitions/TimeUnit"
},
{
"$ref": "#/definitions/TimeUnitParams"
}
],
"description": "Time unit (e.g., `year`, `yearmonth`, `month`, `hours`) for a temporal field. or [a temporal field that gets casted as ordinal](https://vega.github.io/vega-lite/docs/type.html#cast).\n\n__Default value:__ `undefined` (None)\n\n__See also:__ [`timeUnit`](https://vega.github.io/vega-lite/docs/timeunit.html) documentation."
},
"title": {
"anyOf": [
{
"$ref": "#/definitions/Text"
},
{
"type": "null"
}
],
"description": "A title for the field. If `null`, the title will be removed.\n\n__Default value:__ derived from the field's name and transformation function (`aggregate`, `bin` and `timeUnit`). If the field has an aggregate function, the function is displayed as part of the title (e.g., `\"Sum of Profit\"`). If the field is binned or has a time unit applied, the applied function is shown in parentheses (e.g., `\"Profit (binned)\"`, `\"Transaction Date (year-month)\"`). Otherwise, the title is simply the field name.\n\n__Notes__:\n\n1) You can customize the default field title format by providing the [`fieldTitle`](https://vega.github.io/vega-lite/docs/config.html#top-level-config) property in the [config](https://vega.github.io/vega-lite/docs/config.html) or [`fieldTitle` function via the `compile` function's options](https://vega.github.io/vega-lite/usage/compile.html#field-title).\n\n2) If both field definition's `title` and axis, header, or legend `title` are defined, axis/header/legend title will be used."
},
"type": {
"$ref": "#/definitions/StandardType",
"description": "The type of measurement (`\"quantitative\"`, `\"temporal\"`, `\"ordinal\"`, or `\"nominal\"`) for the encoded field or constant value (`datum`). It can also be a `\"geojson\"` type for encoding ['geoshape'](https://vega.github.io/vega-lite/docs/geoshape.html).\n\nVega-Lite automatically infers data types in many cases as discussed below. However, type is required for a field if: (1) the field is not nominal and the field encoding has no specified `aggregate` (except `argmin` and `argmax`), `bin`, scale type, custom `sort` order, nor `timeUnit` or (2) if you wish to use an ordinal scale for a field with `bin` or `timeUnit`.\n\n__Default value:__\n\n1) For a data `field`, `\"nominal\"` is the default data type unless the field encoding has `aggregate`, `channel`, `bin`, scale type, `sort`, or `timeUnit` that satisfies the following criteria:\n- `\"quantitative\"` is the default type if (1) the encoded field contains `bin` or `aggregate` except `\"argmin\"` and `\"argmax\"`, (2) the encoding channel is `latitude` or `longitude` channel or (3) if the specified scale type is [a quantitative scale](https://vega.github.io/vega-lite/docs/scale.html#type).\n- `\"temporal\"` is the default type if (1) the encoded field contains `timeUnit` or (2) the specified scale type is a time or utc scale\n- `ordinal\"\"` is the default type if (1) the encoded field contains a [custom `sort` order](https://vega.github.io/vega-lite/docs/sort.html#specifying-custom-sort-order), (2) the specified scale type is an ordinal/point/band scale, or (3) the encoding channel is `order`.\n\n2) For a constant value in data domain (`datum`):\n- `\"quantitative\"` if the datum is a number\n- `\"nominal\"` if the datum is a string\n- `\"temporal\"` if the datum is [a date time object](https://vega.github.io/vega-lite/docs/datetime.html)\n\n__Note:__\n- Data `type` describes the semantics of the data rather than the primitive data types (number, string, etc.). The same primitive data type can have different types of measurement. For example, numeric data can represent quantitative, ordinal, or nominal data.\n- Data values for a temporal field can be either a date-time string (e.g., `\"2015-03-07 12:32:17\"`, `\"17:01\"`, `\"2015-03-16\"`. `\"2015\"`) or a timestamp number (e.g., `1552199579097`).\n- When using with [`bin`](https://vega.github.io/vega-lite/docs/bin.html), the `type` property can be either `\"quantitative\"` (for using a linear bin scale) or [`\"ordinal\"` (for using an ordinal bin scale)](https://vega.github.io/vega-lite/docs/type.html#cast-bin).\n- When using with [`timeUnit`](https://vega.github.io/vega-lite/docs/timeunit.html), the `type` property can be either `\"temporal\"` (default, for using a temporal scale) or [`\"ordinal\"` (for using an ordinal scale)](https://vega.github.io/vega-lite/docs/type.html#cast-bin).\n- When using with [`aggregate`](https://vega.github.io/vega-lite/docs/aggregate.html), the `type` property refers to the post-aggregation data type. For example, we can calculate count `distinct` of a categorical field `\"cat\"` using `{\"aggregate\": \"distinct\", \"field\": \"cat\"}`. The `\"type\"` of the aggregate output is `\"quantitative\"`.\n- Secondary channels (e.g., `x2`, `y2`, `xError`, `yError`) do not have `type` as they must have exactly the same type as their primary channels (e.g., `x`, `y`).\n\n__See also:__ [`type`](https://vega.github.io/vega-lite/docs/type.html) documentation."
}
},
"type": "object"
},
"FieldOrDatumDefWithCondition<StringFieldDef,string>": {
"additionalProperties": false,
"description": "A FieldDef with Condition<ValueDef> { condition: {value: ...}, field: ..., ... }",
"properties": {
"aggregate": {
"$ref": "#/definitions/Aggregate",
"description": "Aggregation function for the field (e.g., `\"mean\"`, `\"sum\"`, `\"median\"`, `\"min\"`, `\"max\"`, `\"count\"`).\n\n__Default value:__ `undefined` (None)\n\n__See also:__ [`aggregate`](https://vega.github.io/vega-lite/docs/aggregate.html) documentation."
},
"bandPosition": {
"description": "Relative position on a band of a stacked, binned, time unit, or band scale. For example, the marks will be positioned at the beginning of the band if set to `0`, and at the middle of the band if set to `0.5`.",
"maximum": 1,
"minimum": 0,
"type": "number"
},
"bin": {
"anyOf": [
{
"type": "boolean"
},
{
"$ref": "#/definitions/BinParams"
},
{
"const": "binned",
"type": "string"
},
{
"type": "null"
}
],
"description": "A flag for binning a `quantitative` field, [an object defining binning parameters](https://vega.github.io/vega-lite/docs/bin.html#params), or indicating that the data for `x` or `y` channel are binned before they are imported into Vega-Lite (`\"binned\"`).\n\n- If `true`, default [binning parameters](https://vega.github.io/vega-lite/docs/bin.html) will be applied.\n\n- If `\"binned\"`, this indicates that the data for the `x` (or `y`) channel are already binned. You can map the bin-start field to `x` (or `y`) and the bin-end field to `x2` (or `y2`). The scale and axis will be formatted similar to binning in Vega-Lite. To adjust the axis ticks based on the bin step, you can also set the axis's [`tickMinStep`](https://vega.github.io/vega-lite/docs/axis.html#ticks) property.\n\n__Default value:__ `false`\n\n__See also:__ [`bin`](https://vega.github.io/vega-lite/docs/bin.html) documentation."
},
"condition": {
"anyOf": [
{
"$ref": "#/definitions/ConditionalValueDef<(string|ExprRef)>"
},
{
"items": {
"$ref": "#/definitions/ConditionalValueDef<(string|ExprRef)>"
},
"type": "array"
}
],
"description": "One or more value definition(s) with [a parameter or a test predicate](https://vega.github.io/vega-lite/docs/condition.html).\n\n__Note:__ A field definition's `condition` property can only contain [conditional value definitions](https://vega.github.io/vega-lite/docs/condition.html#value) since Vega-Lite only allows at most one encoded field per encoding channel."
},
"field": {
"$ref": "#/definitions/Field",
"description": "__Required.__ A string defining the name of the field from which to pull a data value or an object defining iterated values from the [`repeat`](https://vega.github.io/vega-lite/docs/repeat.html) operator.\n\n__See also:__ [`field`](https://vega.github.io/vega-lite/docs/field.html) documentation.\n\n__Notes:__ 1) Dots (`.`) and brackets (`[` and `]`) can be used to access nested objects (e.g., `\"field\": \"foo.bar\"` and `\"field\": \"foo['bar']\"`). If field names contain dots or brackets but are not nested, you can use `\\\\` to escape dots and brackets (e.g., `\"a\\\\.b\"` and `\"a\\\\[0\\\\]\"`). See more details about escaping in the [field documentation](https://vega.github.io/vega-lite/docs/field.html). 2) `field` is not required if `aggregate` is `count`."
},
"format": {
"anyOf": [
{
"type": "string"
},
{
"$ref": "#/definitions/Dict"
}
],
"description": "When used with the default `\"number\"` and `\"time\"` format type, the text formatting pattern for labels of guides (axes, legends, headers) and text marks.\n\n- If the format type is `\"number\"` (e.g., for quantitative fields), this is D3's [number format pattern](https://github.com/d3/d3-format#locale_format).\n- If the format type is `\"time\"` (e.g., for temporal fields), this is D3's [time format pattern](https://github.com/d3/d3-time-format#locale_format).\n\nSee the [format documentation](https://vega.github.io/vega-lite/docs/format.html) for more examples.\n\nWhen used with a [custom `formatType`](https://vega.github.io/vega-lite/docs/config.html#custom-format-type), this value will be passed as `format` alongside `datum.value` to the registered function.\n\n__Default value:__ Derived from [numberFormat](https://vega.github.io/vega-lite/docs/config.html#format) config for number format and from [timeFormat](https://vega.github.io/vega-lite/docs/config.html#format) config for time format."
},
"formatType": {
"description": "The format type for labels. One of `\"number\"`, `\"time\"`, or a [registered custom format type](https://vega.github.io/vega-lite/docs/config.html#custom-format-type).\n\n__Default value:__\n- `\"time\"` for temporal fields and ordinal and nominal fields with `timeUnit`.\n- `\"number\"` for quantitative fields as well as ordinal and nominal fields without `timeUnit`.",
"type": "string"
},
"timeUnit": {
"anyOf": [
{
"$ref": "#/definitions/TimeUnit"
},
{
"$ref": "#/definitions/TimeUnitParams"
}
],
"description": "Time unit (e.g., `year`, `yearmonth`, `month`, `hours`) for a temporal field. or [a temporal field that gets casted as ordinal](https://vega.github.io/vega-lite/docs/type.html#cast).\n\n__Default value:__ `undefined` (None)\n\n__See also:__ [`timeUnit`](https://vega.github.io/vega-lite/docs/timeunit.html) documentation."
},
"title": {
"anyOf": [
{
"$ref": "#/definitions/Text"
},
{
"type": "null"
}
],
"description": "A title for the field. If `null`, the title will be removed.\n\n__Default value:__ derived from the field's name and transformation function (`aggregate`, `bin` and `timeUnit`). If the field has an aggregate function, the function is displayed as part of the title (e.g., `\"Sum of Profit\"`). If the field is binned or has a time unit applied, the applied function is shown in parentheses (e.g., `\"Profit (binned)\"`, `\"Transaction Date (year-month)\"`). Otherwise, the title is simply the field name.\n\n__Notes__:\n\n1) You can customize the default field title format by providing the [`fieldTitle`](https://vega.github.io/vega-lite/docs/config.html#top-level-config) property in the [config](https://vega.github.io/vega-lite/docs/config.html) or [`fieldTitle` function via the `compile` function's options](https://vega.github.io/vega-lite/usage/compile.html#field-title).\n\n2) If both field definition's `title` and axis, header, or legend `title` are defined, axis/header/legend title will be used."
},
"type": {
"$ref": "#/definitions/StandardType",
"description": "The type of measurement (`\"quantitative\"`, `\"temporal\"`, `\"ordinal\"`, or `\"nominal\"`) for the encoded field or constant value (`datum`). It can also be a `\"geojson\"` type for encoding ['geoshape'](https://vega.github.io/vega-lite/docs/geoshape.html).\n\nVega-Lite automatically infers data types in many cases as discussed below. However, type is required for a field if: (1) the field is not nominal and the field encoding has no specified `aggregate` (except `argmin` and `argmax`), `bin`, scale type, custom `sort` order, nor `timeUnit` or (2) if you wish to use an ordinal scale for a field with `bin` or `timeUnit`.\n\n__Default value:__\n\n1) For a data `field`, `\"nominal\"` is the default data type unless the field encoding has `aggregate`, `channel`, `bin`, scale type, `sort`, or `timeUnit` that satisfies the following criteria:\n- `\"quantitative\"` is the default type if (1) the encoded field contains `bin` or `aggregate` except `\"argmin\"` and `\"argmax\"`, (2) the encoding channel is `latitude` or `longitude` channel or (3) if the specified scale type is [a quantitative scale](https://vega.github.io/vega-lite/docs/scale.html#type).\n- `\"temporal\"` is the default type if (1) the encoded field contains `timeUnit` or (2) the specified scale type is a time or utc scale\n- `ordinal\"\"` is the default type if (1) the encoded field contains a [custom `sort` order](https://vega.github.io/vega-lite/docs/sort.html#specifying-custom-sort-order), (2) the specified scale type is an ordinal/point/band scale, or (3) the encoding channel is `order`.\n\n2) For a constant value in data domain (`datum`):\n- `\"quantitative\"` if the datum is a number\n- `\"nominal\"` if the datum is a string\n- `\"temporal\"` if the datum is [a date time object](https://vega.github.io/vega-lite/docs/datetime.html)\n\n__Note:__\n- Data `type` describes the semantics of the data rather than the primitive data types (number, string, etc.). The same primitive data type can have different types of measurement. For example, numeric data can represent quantitative, ordinal, or nominal data.\n- Data values for a temporal field can be either a date-time string (e.g., `\"2015-03-07 12:32:17\"`, `\"17:01\"`, `\"2015-03-16\"`. `\"2015\"`) or a timestamp number (e.g., `1552199579097`).\n- When using with [`bin`](https://vega.github.io/vega-lite/docs/bin.html), the `type` property can be either `\"quantitative\"` (for using a linear bin scale) or [`\"ordinal\"` (for using an ordinal bin scale)](https://vega.github.io/vega-lite/docs/type.html#cast-bin).\n- When using with [`timeUnit`](https://vega.github.io/vega-lite/docs/timeunit.html), the `type` property can be either `\"temporal\"` (default, for using a temporal scale) or [`\"ordinal\"` (for using an ordinal scale)](https://vega.github.io/vega-lite/docs/type.html#cast-bin).\n- When using with [`aggregate`](https://vega.github.io/vega-lite/docs/aggregate.html), the `type` property refers to the post-aggregation data type. For example, we can calculate count `distinct` of a categorical field `\"cat\"` using `{\"aggregate\": \"distinct\", \"field\": \"cat\"}`. The `\"type\"` of the aggregate output is `\"quantitative\"`.\n- Secondary channels (e.g., `x2`, `y2`, `xError`, `yError`) do not have `type` as they must have exactly the same type as their primary channels (e.g., `x`, `y`).\n\n__See also:__ [`type`](https://vega.github.io/vega-lite/docs/type.html) documentation."
}
},
"type": "object"
},
"FieldRange": {
"additionalProperties": false,
"properties": {
"field": {
"type": "string"
}
},
"required": [
"field"
],
"type": "object"
},
"FieldRangePredicate": {
"additionalProperties": false,
"properties": {
"field": {
"$ref": "#/definitions/FieldName",
"description": "Field to be tested."
},
"range": {
"anyOf": [
{
"items": {
"anyOf": [
{
"type": "number"
},
{
"$ref": "#/definitions/DateTime"
},
{
"type": "null"
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"type": "array"
},
{
"$ref": "#/definitions/ExprRef"
}
],
"description": "An array of inclusive minimum and maximum values for a field value of a data item to be included in the filtered data.",
"maxItems": 2,
"minItems": 2
},
"timeUnit": {
"anyOf": [
{
"$ref": "#/definitions/TimeUnit"
},
{
"$ref": "#/definitions/TimeUnitParams"
}
],
"description": "Time unit for the field to be tested."
}
},
"required": [
"field",
"range"
],
"type": "object"
},
"FieldValidPredicate": {
"additionalProperties": false,
"properties": {
"field": {
"$ref": "#/definitions/FieldName",
"description": "Field to be tested."
},
"timeUnit": {
"anyOf": [
{
"$ref": "#/definitions/TimeUnit"
},
{
"$ref": "#/definitions/TimeUnitParams"
}
],
"description": "Time unit for the field to be tested."
},
"valid": {
"description": "If set to true the field's value has to be valid, meaning both not `null` and not [`NaN`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/NaN).",
"type": "boolean"
}
},
"required": [
"field",
"valid"
],
"type": "object"
},
"FilterTransform": {
"additionalProperties": false,
"properties": {
"filter": {
"$ref": "#/definitions/PredicateComposition",
"description": "The `filter` property must be a predication definition, which can take one of the following forms:\n\n1) an [expression](https://vega.github.io/vega-lite/docs/types.html#expression) string, where `datum` can be used to refer to the current data object. For example, `{filter: \"datum.b2 > 60\"}` would make the output data includes only items that have values in the field `b2` over 60.\n\n2) one of the [field predicates](https://vega.github.io/vega-lite/docs/predicate.html#field-predicate): [`equal`](https://vega.github.io/vega-lite/docs/predicate.html#field-equal-predicate), [`lt`](https://vega.github.io/vega-lite/docs/predicate.html#lt-predicate), [`lte`](https://vega.github.io/vega-lite/docs/predicate.html#lte-predicate), [`gt`](https://vega.github.io/vega-lite/docs/predicate.html#gt-predicate), [`gte`](https://vega.github.io/vega-lite/docs/predicate.html#gte-predicate), [`range`](https://vega.github.io/vega-lite/docs/predicate.html#range-predicate), [`oneOf`](https://vega.github.io/vega-lite/docs/predicate.html#one-of-predicate), or [`valid`](https://vega.github.io/vega-lite/docs/predicate.html#valid-predicate),\n\n3) a [selection predicate](https://vega.github.io/vega-lite/docs/predicate.html#selection-predicate), which define the names of a selection that the data point should belong to (or a logical composition of selections).\n\n4) a [logical composition](https://vega.github.io/vega-lite/docs/predicate.html#composition) of (1), (2), or (3)."
}
},
"required": [
"filter"
],
"type": "object"
},
"Fit": {
"anyOf": [
{
"$ref": "#/definitions/GeoJsonFeature"
},
{
"$ref": "#/definitions/GeoJsonFeatureCollection"
},
{
"items": {
"$ref": "#/definitions/GeoJsonFeature"
},
"type": "array"
}
]
},
"FlattenTransform": {
"additionalProperties": false,
"properties": {
"as": {
"description": "The output field names for extracted array values.\n\n__Default value:__ The field name of the corresponding array field",
"items": {
"$ref": "#/definitions/FieldName"
},
"type": "array"
},
"flatten": {
"description": "An array of one or more data fields containing arrays to flatten. If multiple fields are specified, their array values should have a parallel structure, ideally with the same length. If the lengths of parallel arrays do not match, the longest array will be used with `null` values added for missing entries.",
"items": {
"$ref": "#/definitions/FieldName"
},
"type": "array"
}
},
"required": [
"flatten"
],
"type": "object"
},
"FoldTransform": {
"additionalProperties": false,
"properties": {
"as": {
"description": "The output field names for the key and value properties produced by the fold transform. __Default value:__ `[\"key\", \"value\"]`",
"items": {
"$ref": "#/definitions/FieldName"
},
"maxItems": 2,
"minItems": 2,
"type": "array"
},
"fold": {
"description": "An array of data fields indicating the properties to fold.",
"items": {
"$ref": "#/definitions/FieldName"
},
"type": "array"
}
},
"required": [
"fold"
],
"type": "object"
},
"FontStyle": {
"type": "string"
},
"FontWeight": {
"enum": [
"normal",
"bold",
"lighter",
"bolder",
100,
200,
300,
400,
500,
600,
700,
800,
900
],
"type": [
"string",
"number"
]
},
"Generator": {
"anyOf": [
{
"$ref": "#/definitions/SequenceGenerator"
},
{
"$ref": "#/definitions/SphereGenerator"
},
{
"$ref": "#/definitions/GraticuleGenerator"
}
]
},
"ConcatSpec<GenericSpec>": {
"additionalProperties": false,
"description": "Base interface for a generalized concatenation specification.",
"properties": {
"align": {
"anyOf": [
{
"$ref": "#/definitions/LayoutAlign"
},
{
"$ref": "#/definitions/RowCol<LayoutAlign>"
}
],
"description": "The alignment to apply to grid rows and columns. The supported string values are `\"all\"`, `\"each\"`, and `\"none\"`.\n\n- For `\"none\"`, a flow layout will be used, in which adjacent subviews are simply placed one after the other.\n- For `\"each\"`, subviews will be aligned into a clean grid structure, but each row or column may be of variable size.\n- For `\"all\"`, subviews will be aligned and each row or column will be sized identically based on the maximum observed size. String values for this property will be applied to both grid rows and columns.\n\nAlternatively, an object value of the form `{\"row\": string, \"column\": string}` can be used to supply different alignments for rows and columns.\n\n__Default value:__ `\"all\"`."
},
"bounds": {
"description": "The bounds calculation method to use for determining the extent of a sub-plot. One of `full` (the default) or `flush`.\n\n- If set to `full`, the entire calculated bounds (including axes, title, and legend) will be used.\n- If set to `flush`, only the specified width and height values for the sub-view will be used. The `flush` setting can be useful when attempting to place sub-plots without axes or legends into a uniform grid structure.\n\n__Default value:__ `\"full\"`",
"enum": [
"full",
"flush"
],
"type": "string"
},
"center": {
"anyOf": [
{
"type": "boolean"
},
{
"$ref": "#/definitions/RowCol<boolean>"
}
],
"description": "Boolean flag indicating if subviews should be centered relative to their respective rows or columns.\n\nAn object value of the form `{\"row\": boolean, \"column\": boolean}` can be used to supply different centering values for rows and columns.\n\n__Default value:__ `false`"
},
"columns": {
"description": "The number of columns to include in the view composition layout.\n\n__Default value__: `undefined` -- An infinite number of columns (a single row) will be assumed. This is equivalent to `hconcat` (for `concat`) and to using the `column` channel (for `facet` and `repeat`).\n\n__Note__:\n\n1) This property is only for:\n- the general (wrappable) `concat` operator (not `hconcat`/`vconcat`)\n- the `facet` and `repeat` operator with one field/repetition definition (without row/column nesting)\n\n2) Setting the `columns` to `1` is equivalent to `vconcat` (for `concat`) and to using the `row` channel (for `facet` and `repeat`).",
"type": "number"
},
"concat": {
"description": "A list of views to be concatenated.",
"items": {
"$ref": "#/definitions/Spec"
},
"type": "array"
},
"data": {
"anyOf": [
{
"$ref": "#/definitions/Data"
},
{
"type": "null"
}
],
"description": "An object describing the data source. Set to `null` to ignore the parent's data source. If no data is set, it is derived from the parent."
},
"description": {
"description": "Description of this mark for commenting purpose.",
"type": "string"
},
"name": {
"description": "Name of the visualization for later reference.",
"type": "string"
},
"resolve": {
"$ref": "#/definitions/Resolve",
"description": "Scale, axis, and legend resolutions for view composition specifications."
},
"spacing": {
"anyOf": [
{
"type": "number"
},
{
"$ref": "#/definitions/RowCol<number>"
}
],
"description": "The spacing in pixels between sub-views of the composition operator. An object of the form `{\"row\": number, \"column\": number}` can be used to set different spacing values for rows and columns.\n\n__Default value__: Depends on `\"spacing\"` property of [the view composition configuration](https://vega.github.io/vega-lite/docs/config.html#view-config) (`20` by default)"
},
"title": {
"anyOf": [
{
"$ref": "#/definitions/Text"
},
{
"$ref": "#/definitions/TitleParams"
}
],
"description": "Title for the plot."
},
"transform": {
"description": "An array of data transformations such as filter and new field calculation.",
"items": {
"$ref": "#/definitions/Transform"
},
"type": "array"
}
},
"required": [
"concat"
],
"type": "object"
},
"FacetSpec": {
"additionalProperties": false,
"description": "Base interface for a facet specification.",
"properties": {
"align": {
"anyOf": [
{
"$ref": "#/definitions/LayoutAlign"
},
{
"$ref": "#/definitions/RowCol<LayoutAlign>"
}
],
"description": "The alignment to apply to grid rows and columns. The supported string values are `\"all\"`, `\"each\"`, and `\"none\"`.\n\n- For `\"none\"`, a flow layout will be used, in which adjacent subviews are simply placed one after the other.\n- For `\"each\"`, subviews will be aligned into a clean grid structure, but each row or column may be of variable size.\n- For `\"all\"`, subviews will be aligned and each row or column will be sized identically based on the maximum observed size. String values for this property will be applied to both grid rows and columns.\n\nAlternatively, an object value of the form `{\"row\": string, \"column\": string}` can be used to supply different alignments for rows and columns.\n\n__Default value:__ `\"all\"`."
},
"bounds": {
"description": "The bounds calculation method to use for determining the extent of a sub-plot. One of `full` (the default) or `flush`.\n\n- If set to `full`, the entire calculated bounds (including axes, title, and legend) will be used.\n- If set to `flush`, only the specified width and height values for the sub-view will be used. The `flush` setting can be useful when attempting to place sub-plots without axes or legends into a uniform grid structure.\n\n__Default value:__ `\"full\"`",
"enum": [
"full",
"flush"
],
"type": "string"
},
"center": {
"anyOf": [
{
"type": "boolean"
},
{
"$ref": "#/definitions/RowCol<boolean>"
}
],
"description": "Boolean flag indicating if subviews should be centered relative to their respective rows or columns.\n\nAn object value of the form `{\"row\": boolean, \"column\": boolean}` can be used to supply different centering values for rows and columns.\n\n__Default value:__ `false`"
},
"columns": {
"description": "The number of columns to include in the view composition layout.\n\n__Default value__: `undefined` -- An infinite number of columns (a single row) will be assumed. This is equivalent to `hconcat` (for `concat`) and to using the `column` channel (for `facet` and `repeat`).\n\n__Note__:\n\n1) This property is only for:\n- the general (wrappable) `concat` operator (not `hconcat`/`vconcat`)\n- the `facet` and `repeat` operator with one field/repetition definition (without row/column nesting)\n\n2) Setting the `columns` to `1` is equivalent to `vconcat` (for `concat`) and to using the `row` channel (for `facet` and `repeat`).",
"type": "number"
},
"data": {
"anyOf": [
{
"$ref": "#/definitions/Data"
},
{
"type": "null"
}
],
"description": "An object describing the data source. Set to `null` to ignore the parent's data source. If no data is set, it is derived from the parent."
},
"description": {
"description": "Description of this mark for commenting purpose.",
"type": "string"
},
"facet": {
"anyOf": [
{
"$ref": "#/definitions/FacetFieldDef"
},
{
"$ref": "#/definitions/FacetMapping"
}
],
"description": "Definition for how to facet the data. One of: 1) [a field definition for faceting the plot by one field](https://vega.github.io/vega-lite/docs/facet.html#field-def) 2) [An object that maps `row` and `column` channels to their field definitions](https://vega.github.io/vega-lite/docs/facet.html#mapping)"
},
"name": {
"description": "Name of the visualization for later reference.",
"type": "string"
},
"resolve": {
"$ref": "#/definitions/Resolve",
"description": "Scale, axis, and legend resolutions for view composition specifications."
},
"spacing": {
"anyOf": [
{
"type": "number"
},
{
"$ref": "#/definitions/RowCol<number>"
}
],
"description": "The spacing in pixels between sub-views of the composition operator. An object of the form `{\"row\": number, \"column\": number}` can be used to set different spacing values for rows and columns.\n\n__Default value__: Depends on `\"spacing\"` property of [the view composition configuration](https://vega.github.io/vega-lite/docs/config.html#view-config) (`20` by default)"
},
"spec": {
"anyOf": [
{
"$ref": "#/definitions/LayerSpec"
},
{
"$ref": "#/definitions/FacetedUnitSpec"
}
],
"description": "A specification of the view that gets faceted."
},
"title": {
"anyOf": [
{
"$ref": "#/definitions/Text"
},
{
"$ref": "#/definitions/TitleParams"
}
],
"description": "Title for the plot."
},
"transform": {
"description": "An array of data transformations such as filter and new field calculation.",
"items": {
"$ref": "#/definitions/Transform"
},
"type": "array"
}
},
"required": [
"facet",
"spec"
],
"type": "object"
},
"HConcatSpec<GenericSpec>": {
"additionalProperties": false,
"description": "Base interface for a horizontal concatenation specification.",
"properties": {
"bounds": {
"description": "The bounds calculation method to use for determining the extent of a sub-plot. One of `full` (the default) or `flush`.\n\n- If set to `full`, the entire calculated bounds (including axes, title, and legend) will be used.\n- If set to `flush`, only the specified width and height values for the sub-view will be used. The `flush` setting can be useful when attempting to place sub-plots without axes or legends into a uniform grid structure.\n\n__Default value:__ `\"full\"`",
"enum": [
"full",
"flush"
],
"type": "string"
},
"center": {
"description": "Boolean flag indicating if subviews should be centered relative to their respective rows or columns.\n\n__Default value:__ `false`",
"type": "boolean"
},
"data": {
"anyOf": [
{
"$ref": "#/definitions/Data"
},
{
"type": "null"
}
],
"description": "An object describing the data source. Set to `null` to ignore the parent's data source. If no data is set, it is derived from the parent."
},
"description": {
"description": "Description of this mark for commenting purpose.",
"type": "string"
},
"hconcat": {
"description": "A list of views to be concatenated and put into a row.",
"items": {
"$ref": "#/definitions/Spec"
},
"type": "array"
},
"name": {
"description": "Name of the visualization for later reference.",
"type": "string"
},
"resolve": {
"$ref": "#/definitions/Resolve",
"description": "Scale, axis, and legend resolutions for view composition specifications."
},
"spacing": {
"description": "The spacing in pixels between sub-views of the concat operator.\n\n__Default value__: `10`",
"type": "number"
},
"title": {
"anyOf": [
{
"$ref": "#/definitions/Text"
},
{
"$ref": "#/definitions/TitleParams"
}
],
"description": "Title for the plot."
},
"transform": {
"description": "An array of data transformations such as filter and new field calculation.",
"items": {
"$ref": "#/definitions/Transform"
},
"type": "array"
}
},
"required": [
"hconcat"
],
"type": "object"
},
"Spec": {
"anyOf": [
{
"$ref": "#/definitions/FacetedUnitSpec"
},
{
"$ref": "#/definitions/LayerSpec"
},
{
"$ref": "#/definitions/RepeatSpec"
},
{
"$ref": "#/definitions/FacetSpec"
},
{
"$ref": "#/definitions/ConcatSpec<GenericSpec>"
},
{
"$ref": "#/definitions/VConcatSpec<GenericSpec>"
},
{
"$ref": "#/definitions/HConcatSpec<GenericSpec>"
}
],
"description": "Any specification in Vega-Lite."
},
"GenericUnitSpec<Encoding,AnyMark>": {
"additionalProperties": false,
"description": "Base interface for a unit (single-view) specification.",
"properties": {
"data": {
"anyOf": [
{
"$ref": "#/definitions/Data"
},
{
"type": "null"
}
],
"description": "An object describing the data source. Set to `null` to ignore the parent's data source. If no data is set, it is derived from the parent."
},
"description": {
"description": "Description of this mark for commenting purpose.",
"type": "string"
},
"encoding": {
"$ref": "#/definitions/Encoding",
"description": "A key-value mapping between encoding channels and definition of fields."
},
"mark": {
"$ref": "#/definitions/AnyMark",
"description": "A string describing the mark type (one of `\"bar\"`, `\"circle\"`, `\"square\"`, `\"tick\"`, `\"line\"`, `\"area\"`, `\"point\"`, `\"rule\"`, `\"geoshape\"`, and `\"text\"`) or a [mark definition object](https://vega.github.io/vega-lite/docs/mark.html#mark-def)."
},
"name": {
"description": "Name of the visualization for later reference.",
"type": "string"
},
"params": {
"description": "An array of parameters that may either be simple variables, or more complex selections that map user input to data queries.",
"items": {
"anyOf": [
{
"$ref": "#/definitions/VariableParameter"
},
{
"$ref": "#/definitions/SelectionParameter"
}
]
},
"type": "array"
},
"projection": {
"$ref": "#/definitions/Projection",
"description": "An object defining properties of geographic projection, which will be applied to `shape` path for `\"geoshape\"` marks and to `latitude` and `\"longitude\"` channels for other marks."
},
"title": {
"anyOf": [
{
"$ref": "#/definitions/Text"
},
{
"$ref": "#/definitions/TitleParams"
}
],
"description": "Title for the plot."
},
"transform": {
"description": "An array of data transformations such as filter and new field calculation.",
"items": {
"$ref": "#/definitions/Transform"
},
"type": "array"
}
},
"required": [
"mark"
],
"type": "object"
},
"VConcatSpec<GenericSpec>": {
"additionalProperties": false,
"description": "Base interface for a vertical concatenation specification.",
"properties": {
"bounds": {
"description": "The bounds calculation method to use for determining the extent of a sub-plot. One of `full` (the default) or `flush`.\n\n- If set to `full`, the entire calculated bounds (including axes, title, and legend) will be used.\n- If set to `flush`, only the specified width and height values for the sub-view will be used. The `flush` setting can be useful when attempting to place sub-plots without axes or legends into a uniform grid structure.\n\n__Default value:__ `\"full\"`",
"enum": [
"full",
"flush"
],
"type": "string"
},
"center": {
"description": "Boolean flag indicating if subviews should be centered relative to their respective rows or columns.\n\n__Default value:__ `false`",
"type": "boolean"
},
"data": {
"anyOf": [
{
"$ref": "#/definitions/Data"
},
{
"type": "null"
}
],
"description": "An object describing the data source. Set to `null` to ignore the parent's data source. If no data is set, it is derived from the parent."
},
"description": {
"description": "Description of this mark for commenting purpose.",
"type": "string"
},
"name": {
"description": "Name of the visualization for later reference.",
"type": "string"
},
"resolve": {
"$ref": "#/definitions/Resolve",
"description": "Scale, axis, and legend resolutions for view composition specifications."
},
"spacing": {
"description": "The spacing in pixels between sub-views of the concat operator.\n\n__Default value__: `10`",
"type": "number"
},
"title": {
"anyOf": [
{
"$ref": "#/definitions/Text"
},
{
"$ref": "#/definitions/TitleParams"
}
],
"description": "Title for the plot."
},
"transform": {
"description": "An array of data transformations such as filter and new field calculation.",
"items": {
"$ref": "#/definitions/Transform"
},
"type": "array"
},
"vconcat": {
"description": "A list of views to be concatenated and put into a column.",
"items": {
"$ref": "#/definitions/Spec"
},
"type": "array"
}
},
"required": [
"vconcat"
],
"type": "object"
},
"GeoJsonFeature": {},
"GeoJsonFeatureCollection": {},
"Gradient": {
"anyOf": [
{
"$ref": "#/definitions/LinearGradient"
},
{
"$ref": "#/definitions/RadialGradient"
}
]
},
"GradientStop": {
"additionalProperties": false,
"properties": {
"color": {
"$ref": "#/definitions/Color",
"description": "The color value at this point in the gradient."
},
"offset": {
"description": "The offset fraction for the color stop, indicating its position within the gradient.",
"type": "number"
}
},
"required": [
"offset",
"color"
],
"type": "object"
},
"GraticuleGenerator": {
"additionalProperties": false,
"properties": {
"graticule": {
"anyOf": [
{
"const": true,
"type": "boolean"
},
{
"$ref": "#/definitions/GraticuleParams"
}
],
"description": "Generate graticule GeoJSON data for geographic reference lines."
},
"name": {
"description": "Provide a placeholder name and bind data at runtime.",
"type": "string"
}
},
"required": [
"graticule"
],
"type": "object"
},
"GraticuleParams": {
"additionalProperties": false,
"properties": {
"extent": {
"$ref": "#/definitions/Vector2<Vector2<number>>",
"description": "Sets both the major and minor extents to the same values."
},
"extentMajor": {
"$ref": "#/definitions/Vector2<Vector2<number>>",
"description": "The major extent of the graticule as a two-element array of coordinates."
},
"extentMinor": {
"$ref": "#/definitions/Vector2<Vector2<number>>",
"description": "The minor extent of the graticule as a two-element array of coordinates."
},
"precision": {
"description": "The precision of the graticule in degrees.\n\n__Default value:__ `2.5`",
"type": "number"
},
"step": {
"$ref": "#/definitions/Vector2<number>",
"description": "Sets both the major and minor step angles to the same values."
},
"stepMajor": {
"$ref": "#/definitions/Vector2<number>",
"description": "The major step angles of the graticule.\n\n\n__Default value:__ `[90, 360]`"
},
"stepMinor": {
"$ref": "#/definitions/Vector2<number>",
"description": "The minor step angles of the graticule.\n\n__Default value:__ `[10, 10]`"
}
},
"type": "object"
},
"Header": {
"additionalProperties": false,
"description": "Headers of row / column channels for faceted plots.",
"properties": {
"format": {
"anyOf": [
{
"type": "string"
},
{
"$ref": "#/definitions/Dict"
}
],
"description": "When used with the default `\"number\"` and `\"time\"` format type, the text formatting pattern for labels of guides (axes, legends, headers) and text marks.\n\n- If the format type is `\"number\"` (e.g., for quantitative fields), this is D3's [number format pattern](https://github.com/d3/d3-format#locale_format).\n- If the format type is `\"time\"` (e.g., for temporal fields), this is D3's [time format pattern](https://github.com/d3/d3-time-format#locale_format).\n\nSee the [format documentation](https://vega.github.io/vega-lite/docs/format.html) for more examples.\n\nWhen used with a [custom `formatType`](https://vega.github.io/vega-lite/docs/config.html#custom-format-type), this value will be passed as `format` alongside `datum.value` to the registered function.\n\n__Default value:__ Derived from [numberFormat](https://vega.github.io/vega-lite/docs/config.html#format) config for number format and from [timeFormat](https://vega.github.io/vega-lite/docs/config.html#format) config for time format."
},
"formatType": {
"description": "The format type for labels. One of `\"number\"`, `\"time\"`, or a [registered custom format type](https://vega.github.io/vega-lite/docs/config.html#custom-format-type).\n\n__Default value:__\n- `\"time\"` for temporal fields and ordinal and nominal fields with `timeUnit`.\n- `\"number\"` for quantitative fields as well as ordinal and nominal fields without `timeUnit`.",
"type": "string"
},
"labelAlign": {
"anyOf": [
{
"$ref": "#/definitions/Align"
},
{
"$ref": "#/definitions/ExprRef"
}
],
"description": "Horizontal text alignment of header labels. One of `\"left\"`, `\"center\"`, or `\"right\"`."
},
"labelAnchor": {
"$ref": "#/definitions/TitleAnchor",
"description": "The anchor position for placing the labels. One of `\"start\"`, `\"middle\"`, or `\"end\"`. For example, with a label orientation of top these anchor positions map to a left-, center-, or right-aligned label."
},
"labelAngle": {
"description": "The rotation angle of the header labels.\n\n__Default value:__ `0` for column header, `-90` for row header.",
"maximum": 360,
"minimum": -360,
"type": "number"
},
"labelBaseline": {
"anyOf": [
{
"$ref": "#/definitions/TextBaseline"
},
{
"$ref": "#/definitions/ExprRef"
}
],
"description": "The vertical text baseline for the header labels. One of `\"alphabetic\"` (default), `\"top\"`, `\"middle\"`, `\"bottom\"`, `\"line-top\"`, or `\"line-bottom\"`. The `\"line-top\"` and `\"line-bottom\"` values operate similarly to `\"top\"` and `\"bottom\"`, but are calculated relative to the `titleLineHeight` rather than `titleFontSize` alone."
},
"labelColor": {
"anyOf": [
{
"$ref": "#/definitions/Color"
},
{
"$ref": "#/definitions/ExprRef"
}
],
"description": "The color of the header label, can be in hex color code or regular color name."
},
"labelExpr": {
"description": "[Vega expression](https://vega.github.io/vega/docs/expressions/) for customizing labels.\n\n__Note:__ The label text and value can be assessed via the `label` and `value` properties of the header's backing `datum` object.",
"type": "string"
},
"labelFont": {
"anyOf": [
{
"type": "string"
},
{
"$ref": "#/definitions/ExprRef"
}
],
"description": "The font of the header label."
},
"labelFontSize": {
"anyOf": [
{
"type": "number"
},
{
"$ref": "#/definitions/ExprRef"
}
],
"description": "The font size of the header label, in pixels.",
"minimum": 0
},
"labelFontStyle": {
"anyOf": [
{
"$ref": "#/definitions/FontStyle"
},
{
"$ref": "#/definitions/ExprRef"
}
],
"description": "The font style of the header label."
},
"labelFontWeight": {
"anyOf": [
{
"$ref": "#/definitions/FontWeight"
},
{
"$ref": "#/definitions/ExprRef"
}
],
"description": "The font weight of the header label."
},
"labelLimit": {
"anyOf": [
{
"type": "number"
},
{
"$ref": "#/definitions/ExprRef"
}
],
"description": "The maximum length of the header label in pixels. The text value will be automatically truncated if the rendered size exceeds the limit.\n\n__Default value:__ `0`, indicating no limit"
},
"labelLineHeight": {
"anyOf": [
{
"type": "number"
},
{
"$ref": "#/definitions/ExprRef"
}
],
"description": "Line height in pixels for multi-line header labels or title text with `\"line-top\"` or `\"line-bottom\"` baseline."
},
"labelOrient": {
"$ref": "#/definitions/Orient",
"description": "The orientation of the header label. One of `\"top\"`, `\"bottom\"`, `\"left\"` or `\"right\"`."
},
"labelPadding": {
"anyOf": [
{
"type": "number"
},
{
"$ref": "#/definitions/ExprRef"
}
],
"description": "The padding, in pixel, between facet header's label and the plot.\n\n__Default value:__ `10`"
},
"labels": {
"description": "A boolean flag indicating if labels should be included as part of the header.\n\n__Default value:__ `true`.",
"type": "boolean"
},
"orient": {
"$ref": "#/definitions/Orient",
"description": "Shortcut for setting both labelOrient and titleOrient."
},
"title": {
"anyOf": [
{
"$ref": "#/definitions/Text"
},
{
"type": "null"
}
],
"description": "A title for the field. If `null`, the title will be removed.\n\n__Default value:__ derived from the field's name and transformation function (`aggregate`, `bin` and `timeUnit`). If the field has an aggregate function, the function is displayed as part of the title (e.g., `\"Sum of Profit\"`). If the field is binned or has a time unit applied, the applied function is shown in parentheses (e.g., `\"Profit (binned)\"`, `\"Transaction Date (year-month)\"`). Otherwise, the title is simply the field name.\n\n__Notes__:\n\n1) You can customize the default field title format by providing the [`fieldTitle`](https://vega.github.io/vega-lite/docs/config.html#top-level-config) property in the [config](https://vega.github.io/vega-lite/docs/config.html) or [`fieldTitle` function via the `compile` function's options](https://vega.github.io/vega-lite/usage/compile.html#field-title).\n\n2) If both field definition's `title` and axis, header, or legend `title` are defined, axis/header/legend title will be used."
},
"titleAlign": {
"anyOf": [
{
"$ref": "#/definitions/Align"
},
{
"$ref": "#/definitions/ExprRef"
}
],
"description": "Horizontal text alignment (to the anchor) of header titles."
},
"titleAnchor": {
"$ref": "#/definitions/TitleAnchor",
"description": "The anchor position for placing the title. One of `\"start\"`, `\"middle\"`, or `\"end\"`. For example, with an orientation of top these anchor positions map to a left-, center-, or right-aligned title."
},
"titleAngle": {
"description": "The rotation angle of the header title.\n\n__Default value:__ `0`.",
"maximum": 360,
"minimum": -360,
"type": "number"
},
"titleBaseline": {
"anyOf": [
{
"$ref": "#/definitions/TextBaseline"
},
{
"$ref": "#/definitions/ExprRef"
}
],
"description": "The vertical text baseline for the header title. One of `\"alphabetic\"` (default), `\"top\"`, `\"middle\"`, `\"bottom\"`, `\"line-top\"`, or `\"line-bottom\"`. The `\"line-top\"` and `\"line-bottom\"` values operate similarly to `\"top\"` and `\"bottom\"`, but are calculated relative to the `titleLineHeight` rather than `titleFontSize` alone.\n\n__Default value:__ `\"middle\"`"
},
"titleColor": {
"anyOf": [
{
"$ref": "#/definitions/Color"
},
{
"$ref": "#/definitions/ExprRef"
}
],
"description": "Color of the header title, can be in hex color code or regular color name."
},
"titleFont": {
"anyOf": [
{
"type": "string"
},
{
"$ref": "#/definitions/ExprRef"
}
],
"description": "Font of the header title. (e.g., `\"Helvetica Neue\"`)."
},
"titleFontSize": {
"anyOf": [
{
"type": "number"
},
{
"$ref": "#/definitions/ExprRef"
}
],
"description": "Font size of the header title.",
"minimum": 0
},
"titleFontStyle": {
"anyOf": [
{
"$ref": "#/definitions/FontStyle"
},
{
"$ref": "#/definitions/ExprRef"
}
],
"description": "The font style of the header title."
},
"titleFontWeight": {
"anyOf": [
{
"$ref": "#/definitions/FontWeight"
},
{
"$ref": "#/definitions/ExprRef"
}
],
"description": "Font weight of the header title. This can be either a string (e.g `\"bold\"`, `\"normal\"`) or a number (`100`, `200`, `300`, ..., `900` where `\"normal\"` = `400` and `\"bold\"` = `700`)."
},
"titleLimit": {
"anyOf": [
{
"type": "number"
},
{
"$ref": "#/definitions/ExprRef"
}
],
"description": "The maximum length of the header title in pixels. The text value will be automatically truncated if the rendered size exceeds the limit.\n\n__Default value:__ `0`, indicating no limit"
},
"titleLineHeight": {
"anyOf": [
{
"type": "number"
},
{
"$ref": "#/definitions/ExprRef"
}
],
"description": "Line height in pixels for multi-line header title text or title text with `\"line-top\"` or `\"line-bottom\"` baseline."
},
"titleOrient": {
"$ref": "#/definitions/Orient",
"description": "The orientation of the header title. One of `\"top\"`, `\"bottom\"`, `\"left\"` or `\"right\"`."
},
"titlePadding": {
"anyOf": [
{
"type": "number"
},
{
"$ref": "#/definitions/ExprRef"
}
],
"description": "The padding, in pixel, between facet header's title and the label.\n\n__Default value:__ `10`"
}
},
"type": "object"
},
"HeaderConfig": {
"additionalProperties": false,
"properties": {
"format": {
"anyOf": [
{
"type": "string"
},
{
"$ref": "#/definitions/Dict"
}
],
"description": "When used with the default `\"number\"` and `\"time\"` format type, the text formatting pattern for labels of guides (axes, legends, headers) and text marks.\n\n- If the format type is `\"number\"` (e.g., for quantitative fields), this is D3's [number format pattern](https://github.com/d3/d3-format#locale_format).\n- If the format type is `\"time\"` (e.g., for temporal fields), this is D3's [time format pattern](https://github.com/d3/d3-time-format#locale_format).\n\nSee the [format documentation](https://vega.github.io/vega-lite/docs/format.html) for more examples.\n\nWhen used with a [custom `formatType`](https://vega.github.io/vega-lite/docs/config.html#custom-format-type), this value will be passed as `format` alongside `datum.value` to the registered function.\n\n__Default value:__ Derived from [numberFormat](https://vega.github.io/vega-lite/docs/config.html#format) config for number format and from [timeFormat](https://vega.github.io/vega-lite/docs/config.html#format) config for time format."
},
"formatType": {
"description": "The format type for labels. One of `\"number\"`, `\"time\"`, or a [registered custom format type](https://vega.github.io/vega-lite/docs/config.html#custom-format-type).\n\n__Default value:__\n- `\"time\"` for temporal fields and ordinal and nominal fields with `timeUnit`.\n- `\"number\"` for quantitative fields as well as ordinal and nominal fields without `timeUnit`.",
"type": "string"
},
"labelAlign": {
"anyOf": [
{
"$ref": "#/definitions/Align"
},
{
"$ref": "#/definitions/ExprRef"
}
],
"description": "Horizontal text alignment of header labels. One of `\"left\"`, `\"center\"`, or `\"right\"`."
},
"labelAnchor": {
"$ref": "#/definitions/TitleAnchor",
"description": "The anchor position for placing the labels. One of `\"start\"`, `\"middle\"`, or `\"end\"`. For example, with a label orientation of top these anchor positions map to a left-, center-, or right-aligned label."
},
"labelAngle": {
"description": "The rotation angle of the header labels.\n\n__Default value:__ `0` for column header, `-90` for row header.",
"maximum": 360,
"minimum": -360,
"type": "number"
},
"labelBaseline": {
"anyOf": [
{
"$ref": "#/definitions/TextBaseline"
},
{
"$ref": "#/definitions/ExprRef"
}
],
"description": "The vertical text baseline for the header labels. One of `\"alphabetic\"` (default), `\"top\"`, `\"middle\"`, `\"bottom\"`, `\"line-top\"`, or `\"line-bottom\"`. The `\"line-top\"` and `\"line-bottom\"` values operate similarly to `\"top\"` and `\"bottom\"`, but are calculated relative to the `titleLineHeight` rather than `titleFontSize` alone."
},
"labelColor": {
"anyOf": [
{
"$ref": "#/definitions/Color"
},
{
"$ref": "#/definitions/ExprRef"
}
],
"description": "The color of the header label, can be in hex color code or regular color name."
},
"labelExpr": {
"description": "[Vega expression](https://vega.github.io/vega/docs/expressions/) for customizing labels.\n\n__Note:__ The label text and value can be assessed via the `label` and `value` properties of the header's backing `datum` object.",
"type": "string"
},
"labelFont": {
"anyOf": [
{
"type": "string"
},
{
"$ref": "#/definitions/ExprRef"
}
],
"description": "The font of the header label."
},
"labelFontSize": {
"anyOf": [
{
"type": "number"
},
{
"$ref": "#/definitions/ExprRef"
}
],
"description": "The font size of the header label, in pixels.",
"minimum": 0
},
"labelFontStyle": {
"anyOf": [
{
"$ref": "#/definitions/FontStyle"
},
{
"$ref": "#/definitions/ExprRef"
}
],
"description": "The font style of the header label."
},
"labelFontWeight": {
"anyOf": [
{
"$ref": "#/definitions/FontWeight"
},
{
"$ref": "#/definitions/ExprRef"
}
],
"description": "The font weight of the header label."
},
"labelLimit": {
"anyOf": [
{
"type": "number"
},
{
"$ref": "#/definitions/ExprRef"
}
],
"description": "The maximum length of the header label in pixels. The text value will be automatically truncated if the rendered size exceeds the limit.\n\n__Default value:__ `0`, indicating no limit"
},
"labelLineHeight": {
"anyOf": [
{
"type": "number"
},
{
"$ref": "#/definitions/ExprRef"
}
],
"description": "Line height in pixels for multi-line header labels or title text with `\"line-top\"` or `\"line-bottom\"` baseline."
},
"labelOrient": {
"$ref": "#/definitions/Orient",
"description": "The orientation of the header label. One of `\"top\"`, `\"bottom\"`, `\"left\"` or `\"right\"`."
},
"labelPadding": {
"anyOf": [
{
"type": "number"
},
{
"$ref": "#/definitions/ExprRef"
}
],
"description": "The padding, in pixel, between facet header's label and the plot.\n\n__Default value:__ `10`"
},
"labels": {
"description": "A boolean flag indicating if labels should be included as part of the header.\n\n__Default value:__ `true`.",
"type": "boolean"
},
"orient": {
"$ref": "#/definitions/Orient",
"description": "Shortcut for setting both labelOrient and titleOrient."
},
"title": {
"description": "Set to null to disable title for the axis, legend, or header.",
"type": "null"
},
"titleAlign": {
"anyOf": [
{
"$ref": "#/definitions/Align"
},
{
"$ref": "#/definitions/ExprRef"
}
],
"description": "Horizontal text alignment (to the anchor) of header titles."
},
"titleAnchor": {
"$ref": "#/definitions/TitleAnchor",
"description": "The anchor position for placing the title. One of `\"start\"`, `\"middle\"`, or `\"end\"`. For example, with an orientation of top these anchor positions map to a left-, center-, or right-aligned title."
},
"titleAngle": {
"description": "The rotation angle of the header title.\n\n__Default value:__ `0`.",
"maximum": 360,
"minimum": -360,
"type": "number"
},
"titleBaseline": {
"anyOf": [
{
"$ref": "#/definitions/TextBaseline"
},
{
"$ref": "#/definitions/ExprRef"
}
],
"description": "The vertical text baseline for the header title. One of `\"alphabetic\"` (default), `\"top\"`, `\"middle\"`, `\"bottom\"`, `\"line-top\"`, or `\"line-bottom\"`. The `\"line-top\"` and `\"line-bottom\"` values operate similarly to `\"top\"` and `\"bottom\"`, but are calculated relative to the `titleLineHeight` rather than `titleFontSize` alone.\n\n__Default value:__ `\"middle\"`"
},
"titleColor": {
"anyOf": [
{
"$ref": "#/definitions/Color"
},
{
"$ref": "#/definitions/ExprRef"
}
],
"description": "Color of the header title, can be in hex color code or regular color name."
},
"titleFont": {
"anyOf": [
{
"type": "string"
},
{
"$ref": "#/definitions/ExprRef"
}
],
"description": "Font of the header title. (e.g., `\"Helvetica Neue\"`)."
},
"titleFontSize": {
"anyOf": [
{
"type": "number"
},
{
"$ref": "#/definitions/ExprRef"
}
],
"description": "Font size of the header title.",
"minimum": 0
},
"titleFontStyle": {
"anyOf": [
{
"$ref": "#/definitions/FontStyle"
},
{
"$ref": "#/definitions/ExprRef"
}
],
"description": "The font style of the header title."
},
"titleFontWeight": {
"anyOf": [
{
"$ref": "#/definitions/FontWeight"
},
{
"$ref": "#/definitions/ExprRef"
}
],
"description": "Font weight of the header title. This can be either a string (e.g `\"bold\"`, `\"normal\"`) or a number (`100`, `200`, `300`, ..., `900` where `\"normal\"` = `400` and `\"bold\"` = `700`)."
},
"titleLimit": {
"anyOf": [
{
"type": "number"
},
{
"$ref": "#/definitions/ExprRef"
}
],
"description": "The maximum length of the header title in pixels. The text value will be automatically truncated if the rendered size exceeds the limit.\n\n__Default value:__ `0`, indicating no limit"
},
"titleLineHeight": {
"anyOf": [
{
"type": "number"
},
{
"$ref": "#/definitions/ExprRef"
}
],
"description": "Line height in pixels for multi-line header title text or title text with `\"line-top\"` or `\"line-bottom\"` baseline."
},
"titleOrient": {
"$ref": "#/definitions/Orient",
"description": "The orientation of the header title. One of `\"top\"`, `\"bottom\"`, `\"left\"` or `\"right\"`."
},
"titlePadding": {
"anyOf": [
{
"type": "number"
},
{
"$ref": "#/definitions/ExprRef"
}
],
"description": "The padding, in pixel, between facet header's title and the label.\n\n__Default value:__ `10`"
}
},
"type": "object"
},
"HexColor": {
"format": "color-hex",
"type": "string"
},
"ImputeMethod": {
"enum": [
"value",
"median",
"max",
"min",
"mean"
],
"type": "string"
},
"ImputeParams": {
"additionalProperties": false,
"properties": {
"frame": {
"description": "A frame specification as a two-element array used to control the window over which the specified method is applied. The array entries should either be a number indicating the offset from the current data object, or null to indicate unbounded rows preceding or following the current data object. For example, the value `[-5, 5]` indicates that the window should include five objects preceding and five objects following the current object.\n\n__Default value:__: `[null, null]` indicating that the window includes all objects.",
"items": {
"type": [
"null",
"number"
]
},
"maxItems": 2,
"minItems": 2,
"type": "array"
},
"keyvals": {
"anyOf": [
{
"items": {},
"type": "array"
},
{
"$ref": "#/definitions/ImputeSequence"
}
],
"description": "Defines the key values that should be considered for imputation. An array of key values or an object defining a [number sequence](https://vega.github.io/vega-lite/docs/impute.html#sequence-def).\n\nIf provided, this will be used in addition to the key values observed within the input data. If not provided, the values will be derived from all unique values of the `key` field. For `impute` in `encoding`, the key field is the x-field if the y-field is imputed, or vice versa.\n\nIf there is no impute grouping, this property _must_ be specified."
},
"method": {
"$ref": "#/definitions/ImputeMethod",
"description": "The imputation method to use for the field value of imputed data objects. One of `\"value\"`, `\"mean\"`, `\"median\"`, `\"max\"` or `\"min\"`.\n\n__Default value:__ `\"value\"`"
},
"value": {
"description": "The field value to use when the imputation `method` is `\"value\"`."
}
},
"type": "object"
},
"ImputeSequence": {
"additionalProperties": false,
"properties": {
"start": {
"description": "The starting value of the sequence. __Default value:__ `0`",
"type": "number"
},
"step": {
"description": "The step value between sequence entries. __Default value:__ `1` or `-1` if `stop < start`",
"type": "number"
},
"stop": {
"description": "The ending value(exclusive) of the sequence.",
"type": "number"
}
},
"required": [
"stop"
],
"type": "object"
},
"ImputeTransform": {
"additionalProperties": false,
"properties": {
"frame": {
"description": "A frame specification as a two-element array used to control the window over which the specified method is applied. The array entries should either be a number indicating the offset from the current data object, or null to indicate unbounded rows preceding or following the current data object. For example, the value `[-5, 5]` indicates that the window should include five objects preceding and five objects following the current object.\n\n__Default value:__: `[null, null]` indicating that the window includes all objects.",
"items": {
"type": [
"null",
"number"
]
},
"maxItems": 2,
"minItems": 2,
"type": "array"
},
"groupby": {
"description": "An optional array of fields by which to group the values. Imputation will then be performed on a per-group basis.",
"items": {
"$ref": "#/definitions/FieldName"
},
"type": "array"
},
"impute": {
"$ref": "#/definitions/FieldName",
"description": "The data field for which the missing values should be imputed."
},
"key": {
"$ref": "#/definitions/FieldName",
"description": "A key field that uniquely identifies data objects within a group. Missing key values (those occurring in the data but not in the current group) will be imputed."
},
"keyvals": {
"anyOf": [
{
"items": {},
"type": "array"
},
{
"$ref": "#/definitions/ImputeSequence"
}
],
"description": "Defines the key values that should be considered for imputation. An array of key values or an object defining a [number sequence](https://vega.github.io/vega-lite/docs/impute.html#sequence-def).\n\nIf provided, this will be used in addition to the key values observed within the input data. If not provided, the values will be derived from all unique values of the `key` field. For `impute` in `encoding`, the key field is the x-field if the y-field is imputed, or vice versa.\n\nIf there is no impute grouping, this property _must_ be specified."
},
"method": {
"$ref": "#/definitions/ImputeMethod",
"description": "The imputation method to use for the field value of imputed data objects. One of `\"value\"`, `\"mean\"`, `\"median\"`, `\"max\"` or `\"min\"`.\n\n__Default value:__ `\"value\"`"
},
"value": {
"description": "The field value to use when the imputation `method` is `\"value\"`."
}
},
"required": [
"impute",
"key"
],
"type": "object"
},
"InlineData": {
"additionalProperties": false,
"properties": {
"format": {
"$ref": "#/definitions/DataFormat",
"description": "An object that specifies the format for parsing the data."
},
"name": {
"description": "Provide a placeholder name and bind data at runtime.",
"type": "string"
},
"values": {
"$ref": "#/definitions/InlineDataset",
"description": "The full data set, included inline. This can be an array of objects or primitive values, an object, or a string. Arrays of primitive values are ingested as objects with a `data` property. Strings are parsed according to the specified format type."
}
},
"required": [
"values"
],
"type": "object"
},
"InlineDataset": {
"anyOf": [
{
"items": {
"type": "number"
},
"type": "array"
},
{
"items": {
"type": "string"
},
"type": "array"
},
{
"items": {
"type": "boolean"
},
"type": "array"
},
{
"items": {
"type": "object"
},
"type": "array"
},
{
"type": "string"
},
{
"type": "object"
}
]
},
"Interpolate": {
"enum": [
"basis",
"basis-open",
"basis-closed",
"bundle",
"cardinal",
"cardinal-open",
"cardinal-closed",
"catmull-rom",
"linear",
"linear-closed",
"monotone",
"natural",
"step",
"step-before",
"step-after"
],
"type": "string"
},
"IntervalSelectionConfig": {
"additionalProperties": false,
"properties": {
"clear": {
"anyOf": [
{
"$ref": "#/definitions/Stream"
},
{
"type": "string"
},
{
"type": "boolean"
}
],
"description": "Clears the selection, emptying it of all values. This property can be a [Event Stream](https://vega.github.io/vega/docs/event-streams/) or `false` to disable clear.\n\n__Default value:__ `dblclick`.\n\n__See also:__ [`clear` examples ](https://vega.github.io/vega-lite/docs/selection.html#clear) in the documentation."
},
"encodings": {
"description": "An array of encoding channels. The corresponding data field values must match for a data tuple to fall within the selection.\n\n__See also:__ The [projection with `encodings` and `fields` section](https://vega.github.io/vega-lite/docs/selection.html#project) in the documentation.",
"items": {
"$ref": "#/definitions/SingleDefUnitChannel"
},
"type": "array"
},
"mark": {
"$ref": "#/definitions/BrushConfig",
"description": "An interval selection also adds a rectangle mark to depict the extents of the interval. The `mark` property can be used to customize the appearance of the mark.\n\n__See also:__ [`mark` examples](https://vega.github.io/vega-lite/docs/selection.html#mark) in the documentation."
},
"on": {
"anyOf": [
{
"$ref": "#/definitions/Stream"
},
{
"type": "string"
}
],
"description": "A [Vega event stream](https://vega.github.io/vega/docs/event-streams/) (object or selector) that triggers the selection. For interval selections, the event stream must specify a [start and end](https://vega.github.io/vega/docs/event-streams/#between-filters).\n\n__See also:__ [`on` examples](https://vega.github.io/vega-lite/docs/selection.html#on) in the documentation."
},
"resolve": {
"$ref": "#/definitions/SelectionResolution",
"description": "With layered and multi-view displays, a strategy that determines how selections' data queries are resolved when applied in a filter transform, conditional encoding rule, or scale domain.\n\nOne of:\n- `\"global\"` -- only one brush exists for the entire SPLOM. When the user begins to drag, any previous brushes are cleared, and a new one is constructed.\n- `\"union\"` -- each cell contains its own brush, and points are highlighted if they lie within _any_ of these individual brushes.\n- `\"intersect\"` -- each cell contains its own brush, and points are highlighted only if they fall within _all_ of these individual brushes.\n\n__Default value:__ `global`.\n\n__See also:__ [`resolve` examples](https://vega.github.io/vega-lite/docs/selection.html#resolve) in the documentation."
},
"translate": {
"description": "When truthy, allows a user to interactively move an interval selection back-and-forth. Can be `true`, `false` (to disable panning), or a [Vega event stream definition](https://vega.github.io/vega/docs/event-streams/) which must include a start and end event to trigger continuous panning. Discrete panning (e.g., pressing the left/right arrow keys) will be supported in future versions.\n\n__Default value:__ `true`, which corresponds to `[mousedown, window:mouseup] > window:mousemove!`. This default allows users to clicks and drags within an interval selection to reposition it.\n\n__See also:__ [`translate` examples](https://vega.github.io/vega-lite/docs/selection.html#translate) in the documentation.",
"type": [
"string",
"boolean"
]
},
"type": {
"const": "interval",
"description": "Determines the default event processing and data query for the selection. Vega-Lite currently supports two selection types:\n\n- `\"point\"` -- to select multiple discrete data values; the first value is selected on `click` and additional values toggled on shift-click.\n- `\"interval\"` -- to select a continuous range of data values on `drag`.",
"type": "string"
},
"zoom": {
"description": "When truthy, allows a user to interactively resize an interval selection. Can be `true`, `false` (to disable zooming), or a [Vega event stream definition](https://vega.github.io/vega/docs/event-streams/). Currently, only `wheel` events are supported, but custom event streams can still be used to specify filters, debouncing, and throttling. Future versions will expand the set of events that can trigger this transformation.\n\n__Default value:__ `true`, which corresponds to `wheel!`. This default allows users to use the mouse wheel to resize an interval selection.\n\n__See also:__ [`zoom` examples](https://vega.github.io/vega-lite/docs/selection.html#zoom) in the documentation.",
"type": [
"string",
"boolean"
]
}
},
"required": [
"type"
],
"type": "object"
},
"IntervalSelectionConfigWithoutType": {
"additionalProperties": false,
"properties": {
"clear": {
"anyOf": [
{
"$ref": "#/definitions/Stream"
},
{
"type": "string"
},
{
"type": "boolean"
}
],
"description": "Clears the selection, emptying it of all values. This property can be a [Event Stream](https://vega.github.io/vega/docs/event-streams/) or `false` to disable clear.\n\n__Default value:__ `dblclick`.\n\n__See also:__ [`clear` examples ](https://vega.github.io/vega-lite/docs/selection.html#clear) in the documentation."
},
"encodings": {
"description": "An array of encoding channels. The corresponding data field values must match for a data tuple to fall within the selection.\n\n__See also:__ The [projection with `encodings` and `fields` section](https://vega.github.io/vega-lite/docs/selection.html#project) in the documentation.",
"items": {
"$ref": "#/definitions/SingleDefUnitChannel"
},
"type": "array"
},
"mark": {
"$ref": "#/definitions/BrushConfig",
"description": "An interval selection also adds a rectangle mark to depict the extents of the interval. The `mark` property can be used to customize the appearance of the mark.\n\n__See also:__ [`mark` examples](https://vega.github.io/vega-lite/docs/selection.html#mark) in the documentation."
},
"on": {
"anyOf": [
{
"$ref": "#/definitions/Stream"
},
{
"type": "string"
}
],
"description": "A [Vega event stream](https://vega.github.io/vega/docs/event-streams/) (object or selector) that triggers the selection. For interval selections, the event stream must specify a [start and end](https://vega.github.io/vega/docs/event-streams/#between-filters).\n\n__See also:__ [`on` examples](https://vega.github.io/vega-lite/docs/selection.html#on) in the documentation."
},
"resolve": {
"$ref": "#/definitions/SelectionResolution",
"description": "With layered and multi-view displays, a strategy that determines how selections' data queries are resolved when applied in a filter transform, conditional encoding rule, or scale domain.\n\nOne of:\n- `\"global\"` -- only one brush exists for the entire SPLOM. When the user begins to drag, any previous brushes are cleared, and a new one is constructed.\n- `\"union\"` -- each cell contains its own brush, and points are highlighted if they lie within _any_ of these individual brushes.\n- `\"intersect\"` -- each cell contains its own brush, and points are highlighted only if they fall within _all_ of these individual brushes.\n\n__Default value:__ `global`.\n\n__See also:__ [`resolve` examples](https://vega.github.io/vega-lite/docs/selection.html#resolve) in the documentation."
},
"translate": {
"description": "When truthy, allows a user to interactively move an interval selection back-and-forth. Can be `true`, `false` (to disable panning), or a [Vega event stream definition](https://vega.github.io/vega/docs/event-streams/) which must include a start and end event to trigger continuous panning. Discrete panning (e.g., pressing the left/right arrow keys) will be supported in future versions.\n\n__Default value:__ `true`, which corresponds to `[mousedown, window:mouseup] > window:mousemove!`. This default allows users to clicks and drags within an interval selection to reposition it.\n\n__See also:__ [`translate` examples](https://vega.github.io/vega-lite/docs/selection.html#translate) in the documentation.",
"type": [
"string",
"boolean"
]
},
"zoom": {
"description": "When truthy, allows a user to interactively resize an interval selection. Can be `true`, `false` (to disable zooming), or a [Vega event stream definition](https://vega.github.io/vega/docs/event-streams/). Currently, only `wheel` events are supported, but custom event streams can still be used to specify filters, debouncing, and throttling. Future versions will expand the set of events that can trigger this transformation.\n\n__Default value:__ `true`, which corresponds to `wheel!`. This default allows users to use the mouse wheel to resize an interval selection.\n\n__See also:__ [`zoom` examples](https://vega.github.io/vega-lite/docs/selection.html#zoom) in the documentation.",
"type": [
"string",
"boolean"
]
}
},
"type": "object"
},
"JoinAggregateFieldDef": {
"additionalProperties": false,
"properties": {
"as": {
"$ref": "#/definitions/FieldName",
"description": "The output name for the join aggregate operation."
},
"field": {
"$ref": "#/definitions/FieldName",
"description": "The data field for which to compute the aggregate function. This can be omitted for functions that do not operate over a field such as `\"count\"`."
},
"op": {
"$ref": "#/definitions/AggregateOp",
"description": "The aggregation operation to apply (e.g., `\"sum\"`, `\"average\"` or `\"count\"`). See the list of all supported operations [here](https://vega.github.io/vega-lite/docs/aggregate.html#ops)."
}
},
"required": [
"op",
"as"
],
"type": "object"
},
"JoinAggregateTransform": {
"additionalProperties": false,
"properties": {
"groupby": {
"description": "The data fields for partitioning the data objects into separate groups. If unspecified, all data points will be in a single group.",
"items": {
"$ref": "#/definitions/FieldName"
},
"type": "array"
},
"joinaggregate": {
"description": "The definition of the fields in the join aggregate, and what calculations to use.",
"items": {
"$ref": "#/definitions/JoinAggregateFieldDef"
},
"type": "array"
}
},
"required": [
"joinaggregate"
],
"type": "object"
},
"JsonDataFormat": {
"additionalProperties": false,
"properties": {
"parse": {
"anyOf": [
{
"$ref": "#/definitions/Parse"
},
{
"type": "null"
}
],
"description": "If set to `null`, disable type inference based on the spec and only use type inference based on the data. Alternatively, a parsing directive object can be provided for explicit data types. Each property of the object corresponds to a field name, and the value to the desired data type (one of `\"number\"`, `\"boolean\"`, `\"date\"`, or null (do not parse the field)). For example, `\"parse\": {\"modified_on\": \"date\"}` parses the `modified_on` field in each input record a Date value.\n\nFor `\"date\"`, we parse data based using JavaScript's [`Date.parse()`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/parse). For Specific date formats can be provided (e.g., `{foo: \"date:'%m%d%Y'\"}`), using the [d3-time-format syntax](https://github.com/d3/d3-time-format#locale_format). UTC date format parsing is supported similarly (e.g., `{foo: \"utc:'%m%d%Y'\"}`). See more about [UTC time](https://vega.github.io/vega-lite/docs/timeunit.html#utc)"
},
"property": {
"description": "The JSON property containing the desired data. This parameter can be used when the loaded JSON file may have surrounding structure or meta-data. For example `\"property\": \"values.features\"` is equivalent to retrieving `json.values.features` from the loaded JSON object.",
"type": "string"
},
"type": {
"const": "json",
"description": "Type of input data: `\"json\"`, `\"csv\"`, `\"tsv\"`, `\"dsv\"`.\n\n__Default value:__ The default format type is determined by the extension of the file URL. If no extension is detected, `\"json\"` will be used by default.",
"type": "string"
}
},
"type": "object"
},
"LabelOverlap": {
"anyOf": [
{
"type": "boolean"
},
{
"const": "parity",
"type": "string"
},
{
"const": "greedy",
"type": "string"
}
]
},
"LatLongDef": {
"anyOf": [
{
"$ref": "#/definitions/LatLongFieldDef"
},
{
"$ref": "#/definitions/DatumDef"
}
]
},
"LatLongFieldDef": {
"additionalProperties": false,
"properties": {
"aggregate": {
"$ref": "#/definitions/Aggregate",
"description": "Aggregation function for the field (e.g., `\"mean\"`, `\"sum\"`, `\"median\"`, `\"min\"`, `\"max\"`, `\"count\"`).\n\n__Default value:__ `undefined` (None)\n\n__See also:__ [`aggregate`](https://vega.github.io/vega-lite/docs/aggregate.html) documentation."
},
"bandPosition": {
"description": "Relative position on a band of a stacked, binned, time unit, or band scale. For example, the marks will be positioned at the beginning of the band if set to `0`, and at the middle of the band if set to `0.5`.",
"maximum": 1,
"minimum": 0,
"type": "number"
},
"bin": {
"description": "A flag for binning a `quantitative` field, [an object defining binning parameters](https://vega.github.io/vega-lite/docs/bin.html#params), or indicating that the data for `x` or `y` channel are binned before they are imported into Vega-Lite (`\"binned\"`).\n\n- If `true`, default [binning parameters](https://vega.github.io/vega-lite/docs/bin.html) will be applied.\n\n- If `\"binned\"`, this indicates that the data for the `x` (or `y`) channel are already binned. You can map the bin-start field to `x` (or `y`) and the bin-end field to `x2` (or `y2`). The scale and axis will be formatted similar to binning in Vega-Lite. To adjust the axis ticks based on the bin step, you can also set the axis's [`tickMinStep`](https://vega.github.io/vega-lite/docs/axis.html#ticks) property.\n\n__Default value:__ `false`\n\n__See also:__ [`bin`](https://vega.github.io/vega-lite/docs/bin.html) documentation.",
"type": "null"
},
"field": {
"$ref": "#/definitions/Field",
"description": "__Required.__ A string defining the name of the field from which to pull a data value or an object defining iterated values from the [`repeat`](https://vega.github.io/vega-lite/docs/repeat.html) operator.\n\n__See also:__ [`field`](https://vega.github.io/vega-lite/docs/field.html) documentation.\n\n__Notes:__ 1) Dots (`.`) and brackets (`[` and `]`) can be used to access nested objects (e.g., `\"field\": \"foo.bar\"` and `\"field\": \"foo['bar']\"`). If field names contain dots or brackets but are not nested, you can use `\\\\` to escape dots and brackets (e.g., `\"a\\\\.b\"` and `\"a\\\\[0\\\\]\"`). See more details about escaping in the [field documentation](https://vega.github.io/vega-lite/docs/field.html). 2) `field` is not required if `aggregate` is `count`."
},
"timeUnit": {
"anyOf": [
{
"$ref": "#/definitions/TimeUnit"
},
{
"$ref": "#/definitions/TimeUnitParams"
}
],
"description": "Time unit (e.g., `year`, `yearmonth`, `month`, `hours`) for a temporal field. or [a temporal field that gets casted as ordinal](https://vega.github.io/vega-lite/docs/type.html#cast).\n\n__Default value:__ `undefined` (None)\n\n__See also:__ [`timeUnit`](https://vega.github.io/vega-lite/docs/timeunit.html) documentation."
},
"title": {
"anyOf": [
{
"$ref": "#/definitions/Text"
},
{
"type": "null"
}
],
"description": "A title for the field. If `null`, the title will be removed.\n\n__Default value:__ derived from the field's name and transformation function (`aggregate`, `bin` and `timeUnit`). If the field has an aggregate function, the function is displayed as part of the title (e.g., `\"Sum of Profit\"`). If the field is binned or has a time unit applied, the applied function is shown in parentheses (e.g., `\"Profit (binned)\"`, `\"Transaction Date (year-month)\"`). Otherwise, the title is simply the field name.\n\n__Notes__:\n\n1) You can customize the default field title format by providing the [`fieldTitle`](https://vega.github.io/vega-lite/docs/config.html#top-level-config) property in the [config](https://vega.github.io/vega-lite/docs/config.html) or [`fieldTitle` function via the `compile` function's options](https://vega.github.io/vega-lite/usage/compile.html#field-title).\n\n2) If both field definition's `title` and axis, header, or legend `title` are defined, axis/header/legend title will be used."
},
"type": {
"const": "quantitative",
"description": "The type of measurement (`\"quantitative\"`, `\"temporal\"`, `\"ordinal\"`, or `\"nominal\"`) for the encoded field or constant value (`datum`). It can also be a `\"geojson\"` type for encoding ['geoshape'](https://vega.github.io/vega-lite/docs/geoshape.html).\n\nVega-Lite automatically infers data types in many cases as discussed below. However, type is required for a field if: (1) the field is not nominal and the field encoding has no specified `aggregate` (except `argmin` and `argmax`), `bin`, scale type, custom `sort` order, nor `timeUnit` or (2) if you wish to use an ordinal scale for a field with `bin` or `timeUnit`.\n\n__Default value:__\n\n1) For a data `field`, `\"nominal\"` is the default data type unless the field encoding has `aggregate`, `channel`, `bin`, scale type, `sort`, or `timeUnit` that satisfies the following criteria:\n- `\"quantitative\"` is the default type if (1) the encoded field contains `bin` or `aggregate` except `\"argmin\"` and `\"argmax\"`, (2) the encoding channel is `latitude` or `longitude` channel or (3) if the specified scale type is [a quantitative scale](https://vega.github.io/vega-lite/docs/scale.html#type).\n- `\"temporal\"` is the default type if (1) the encoded field contains `timeUnit` or (2) the specified scale type is a time or utc scale\n- `ordinal\"\"` is the default type if (1) the encoded field contains a [custom `sort` order](https://vega.github.io/vega-lite/docs/sort.html#specifying-custom-sort-order), (2) the specified scale type is an ordinal/point/band scale, or (3) the encoding channel is `order`.\n\n2) For a constant value in data domain (`datum`):\n- `\"quantitative\"` if the datum is a number\n- `\"nominal\"` if the datum is a string\n- `\"temporal\"` if the datum is [a date time object](https://vega.github.io/vega-lite/docs/datetime.html)\n\n__Note:__\n- Data `type` describes the semantics of the data rather than the primitive data types (number, string, etc.). The same primitive data type can have different types of measurement. For example, numeric data can represent quantitative, ordinal, or nominal data.\n- Data values for a temporal field can be either a date-time string (e.g., `\"2015-03-07 12:32:17\"`, `\"17:01\"`, `\"2015-03-16\"`. `\"2015\"`) or a timestamp number (e.g., `1552199579097`).\n- When using with [`bin`](https://vega.github.io/vega-lite/docs/bin.html), the `type` property can be either `\"quantitative\"` (for using a linear bin scale) or [`\"ordinal\"` (for using an ordinal bin scale)](https://vega.github.io/vega-lite/docs/type.html#cast-bin).\n- When using with [`timeUnit`](https://vega.github.io/vega-lite/docs/timeunit.html), the `type` property can be either `\"temporal\"` (default, for using a temporal scale) or [`\"ordinal\"` (for using an ordinal scale)](https://vega.github.io/vega-lite/docs/type.html#cast-bin).\n- When using with [`aggregate`](https://vega.github.io/vega-lite/docs/aggregate.html), the `type` property refers to the post-aggregation data type. For example, we can calculate count `distinct` of a categorical field `\"cat\"` using `{\"aggregate\": \"distinct\", \"field\": \"cat\"}`. The `\"type\"` of the aggregate output is `\"quantitative\"`.\n- Secondary channels (e.g., `x2`, `y2`, `xError`, `yError`) do not have `type` as they must have exactly the same type as their primary channels (e.g., `x`, `y`).\n\n__See also:__ [`type`](https://vega.github.io/vega-lite/docs/type.html) documentation.",
"type": "string"
}
},
"type": "object"
},
"LayerRepeatMapping": {
"additionalProperties": false,
"properties": {
"column": {
"description": "An array of fields to be repeated horizontally.",
"items": {
"type": "string"
},
"type": "array"
},
"layer": {
"description": "An array of fields to be repeated as layers.",
"items": {
"type": "string"
},
"type": "array"
},
"row": {
"description": "An array of fields to be repeated vertically.",
"items": {
"type": "string"
},
"type": "array"
}
},
"required": [
"layer"
],
"type": "object"
},
"LayerRepeatSpec": {
"additionalProperties": false,
"properties": {
"align": {
"anyOf": [
{
"$ref": "#/definitions/LayoutAlign"
},
{
"$ref": "#/definitions/RowCol<LayoutAlign>"
}
],
"description": "The alignment to apply to grid rows and columns. The supported string values are `\"all\"`, `\"each\"`, and `\"none\"`.\n\n- For `\"none\"`, a flow layout will be used, in which adjacent subviews are simply placed one after the other.\n- For `\"each\"`, subviews will be aligned into a clean grid structure, but each row or column may be of variable size.\n- For `\"all\"`, subviews will be aligned and each row or column will be sized identically based on the maximum observed size. String values for this property will be applied to both grid rows and columns.\n\nAlternatively, an object value of the form `{\"row\": string, \"column\": string}` can be used to supply different alignments for rows and columns.\n\n__Default value:__ `\"all\"`."
},
"bounds": {
"description": "The bounds calculation method to use for determining the extent of a sub-plot. One of `full` (the default) or `flush`.\n\n- If set to `full`, the entire calculated bounds (including axes, title, and legend) will be used.\n- If set to `flush`, only the specified width and height values for the sub-view will be used. The `flush` setting can be useful when attempting to place sub-plots without axes or legends into a uniform grid structure.\n\n__Default value:__ `\"full\"`",
"enum": [
"full",
"flush"
],
"type": "string"
},
"center": {
"anyOf": [
{
"type": "boolean"
},
{
"$ref": "#/definitions/RowCol<boolean>"
}
],
"description": "Boolean flag indicating if subviews should be centered relative to their respective rows or columns.\n\nAn object value of the form `{\"row\": boolean, \"column\": boolean}` can be used to supply different centering values for rows and columns.\n\n__Default value:__ `false`"
},
"columns": {
"description": "The number of columns to include in the view composition layout.\n\n__Default value__: `undefined` -- An infinite number of columns (a single row) will be assumed. This is equivalent to `hconcat` (for `concat`) and to using the `column` channel (for `facet` and `repeat`).\n\n__Note__:\n\n1) This property is only for:\n- the general (wrappable) `concat` operator (not `hconcat`/`vconcat`)\n- the `facet` and `repeat` operator with one field/repetition definition (without row/column nesting)\n\n2) Setting the `columns` to `1` is equivalent to `vconcat` (for `concat`) and to using the `row` channel (for `facet` and `repeat`).",
"type": "number"
},
"data": {
"anyOf": [
{
"$ref": "#/definitions/Data"
},
{
"type": "null"
}
],
"description": "An object describing the data source. Set to `null` to ignore the parent's data source. If no data is set, it is derived from the parent."
},
"description": {
"description": "Description of this mark for commenting purpose.",
"type": "string"
},
"name": {
"description": "Name of the visualization for later reference.",
"type": "string"
},
"repeat": {
"$ref": "#/definitions/LayerRepeatMapping",
"description": "Definition for fields to be repeated. One of: 1) An array of fields to be repeated. If `\"repeat\"` is an array, the field can be referred to as `{\"repeat\": \"repeat\"}`. The repeated views are laid out in a wrapped row. You can set the number of columns to control the wrapping. 2) An object that maps `\"row\"` and/or `\"column\"` to the listed fields to be repeated along the particular orientations. The objects `{\"repeat\": \"row\"}` and `{\"repeat\": \"column\"}` can be used to refer to the repeated field respectively."
},
"resolve": {
"$ref": "#/definitions/Resolve",
"description": "Scale, axis, and legend resolutions for view composition specifications."
},
"spacing": {
"anyOf": [
{
"type": "number"
},
{
"$ref": "#/definitions/RowCol<number>"
}
],
"description": "The spacing in pixels between sub-views of the composition operator. An object of the form `{\"row\": number, \"column\": number}` can be used to set different spacing values for rows and columns.\n\n__Default value__: Depends on `\"spacing\"` property of [the view composition configuration](https://vega.github.io/vega-lite/docs/config.html#view-config) (`20` by default)"
},
"spec": {
"anyOf": [
{
"$ref": "#/definitions/LayerSpec"
},
{
"$ref": "#/definitions/UnitSpec"
}
],
"description": "A specification of the view that gets repeated."
},
"title": {
"anyOf": [
{
"$ref": "#/definitions/Text"
},
{
"$ref": "#/definitions/TitleParams"
}
],
"description": "Title for the plot."
},
"transform": {
"description": "An array of data transformations such as filter and new field calculation.",
"items": {
"$ref": "#/definitions/Transform"
},
"type": "array"
}
},
"required": [
"repeat",
"spec"
],
"type": "object"
},
"LayerSpec": {
"additionalProperties": false,
"description": "A full layered plot specification, which may contains `encoding` and `projection` properties that will be applied to underlying unit (single-view) specifications.",
"properties": {
"data": {
"anyOf": [
{
"$ref": "#/definitions/Data"
},
{
"type": "null"
}
],
"description": "An object describing the data source. Set to `null` to ignore the parent's data source. If no data is set, it is derived from the parent."
},
"description": {
"description": "Description of this mark for commenting purpose.",
"type": "string"
},
"encoding": {
"$ref": "#/definitions/SharedEncoding",
"description": "A shared key-value mapping between encoding channels and definition of fields in the underlying layers."
},
"height": {
"anyOf": [
{
"type": "number"
},
{
"const": "container",
"type": "string"
},
{
"$ref": "#/definitions/Step"
}
],
"description": "The height of a visualization.\n\n- For a plot with a continuous y-field, height should be a number.\n- For a plot with either a discrete y-field or no y-field, height can be either a number indicating a fixed height or an object in the form of `{step: number}` defining the height per discrete step. (No y-field is equivalent to having one discrete step.)\n- To enable responsive sizing on height, it should be set to `\"container\"`.\n\n__Default value:__ Based on `config.view.continuousHeight` for a plot with a continuous y-field and `config.view.discreteHeight` otherwise.\n\n__Note:__ For plots with [`row` and `column` channels](https://vega.github.io/vega-lite/docs/encoding.html#facet), this represents the height of a single view and the `\"container\"` option cannot be used.\n\n__See also:__ [`height`](https://vega.github.io/vega-lite/docs/size.html) documentation."
},
"layer": {
"description": "Layer or single view specifications to be layered.\n\n__Note__: Specifications inside `layer` cannot use `row` and `column` channels as layering facet specifications is not allowed. Instead, use the [facet operator](https://vega.github.io/vega-lite/docs/facet.html) and place a layer inside a facet.",
"items": {
"anyOf": [
{
"$ref": "#/definitions/LayerSpec"
},
{
"$ref": "#/definitions/UnitSpec"
}
]
},
"type": "array"
},
"name": {
"description": "Name of the visualization for later reference.",
"type": "string"
},
"projection": {
"$ref": "#/definitions/Projection",
"description": "An object defining properties of the geographic projection shared by underlying layers."
},
"resolve": {
"$ref": "#/definitions/Resolve",
"description": "Scale, axis, and legend resolutions for view composition specifications."
},
"title": {
"anyOf": [
{
"$ref": "#/definitions/Text"
},
{
"$ref": "#/definitions/TitleParams"
}
],
"description": "Title for the plot."
},
"transform": {
"description": "An array of data transformations such as filter and new field calculation.",
"items": {
"$ref": "#/definitions/Transform"
},
"type": "array"
},
"view": {
"$ref": "#/definitions/ViewBackground",
"description": "An object defining the view background's fill and stroke.\n\n__Default value:__ none (transparent)"
},
"width": {
"anyOf": [
{
"type": "number"
},
{
"const": "container",
"type": "string"
},
{
"$ref": "#/definitions/Step"
}
],
"description": "The width of a visualization.\n\n- For a plot with a continuous x-field, width should be a number.\n- For a plot with either a discrete x-field or no x-field, width can be either a number indicating a fixed width or an object in the form of `{step: number}` defining the width per discrete step. (No x-field is equivalent to having one discrete step.)\n- To enable responsive sizing on width, it should be set to `\"container\"`.\n\n__Default value:__ Based on `config.view.continuousWidth` for a plot with a continuous x-field and `config.view.discreteWidth` otherwise.\n\n__Note:__ For plots with [`row` and `column` channels](https://vega.github.io/vega-lite/docs/encoding.html#facet), this represents the width of a single view and the `\"container\"` option cannot be used.\n\n__See also:__ [`width`](https://vega.github.io/vega-lite/docs/size.html) documentation."
}
},
"required": [
"layer"
],
"type": "object"
},
"LayoutAlign": {
"enum": [
"all",
"each",
"none"
],
"type": "string"
},
"Legend": {
"additionalProperties": false,
"description": "Properties of a legend or boolean flag for determining whether to show it.",
"properties": {
"aria": {
"anyOf": [
{
"description": "A boolean flag indicating if [ARIA attributes](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA) should be included (SVG output only). If `false`, the \"aria-hidden\" attribute will be set on the output SVG group, removing the legend from the ARIA accessibility tree.\n\n__Default value:__ `true`",
"type": "boolean"
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"clipHeight": {
"anyOf": [
{
"description": "The height in pixels to clip symbol legend entries and limit their size.",
"type": "number"
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"columnPadding": {
"anyOf": [
{
"description": "The horizontal padding in pixels between symbol legend entries.\n\n__Default value:__ `10`.",
"type": "number"
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"columns": {
"anyOf": [
{
"description": "The number of columns in which to arrange symbol legend entries. A value of `0` or lower indicates a single row with one column per entry.",
"type": "number"
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"cornerRadius": {
"anyOf": [
{
"description": "Corner radius for the full legend.",
"type": "number"
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"description": {
"anyOf": [
{
"description": "A text description of this legend for [ARIA accessibility](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA) (SVG output only). If the `aria` property is true, for SVG output the [\"aria-label\" attribute](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/ARIA_Techniques/Using_the_aria-label_attribute) will be set to this description. If the description is unspecified it will be automatically generated.",
"type": "string"
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"direction": {
"$ref": "#/definitions/Orientation",
"description": "The direction of the legend, one of `\"vertical\"` or `\"horizontal\"`.\n\n__Default value:__\n- For top-/bottom-`orient`ed legends, `\"horizontal\"`\n- For left-/right-`orient`ed legends, `\"vertical\"`\n- For top/bottom-left/right-`orient`ed legends, `\"horizontal\"` for gradient legends and `\"vertical\"` for symbol legends."
},
"fillColor": {
"anyOf": [
{
"anyOf": [
{
"type": "null"
},
{
"$ref": "#/definitions/Color"
}
],
"description": "Background fill color for the full legend."
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"format": {
"anyOf": [
{
"type": "string"
},
{
"$ref": "#/definitions/Dict"
}
],
"description": "When used with the default `\"number\"` and `\"time\"` format type, the text formatting pattern for labels of guides (axes, legends, headers) and text marks.\n\n- If the format type is `\"number\"` (e.g., for quantitative fields), this is D3's [number format pattern](https://github.com/d3/d3-format#locale_format).\n- If the format type is `\"time\"` (e.g., for temporal fields), this is D3's [time format pattern](https://github.com/d3/d3-time-format#locale_format).\n\nSee the [format documentation](https://vega.github.io/vega-lite/docs/format.html) for more examples.\n\nWhen used with a [custom `formatType`](https://vega.github.io/vega-lite/docs/config.html#custom-format-type), this value will be passed as `format` alongside `datum.value` to the registered function.\n\n__Default value:__ Derived from [numberFormat](https://vega.github.io/vega-lite/docs/config.html#format) config for number format and from [timeFormat](https://vega.github.io/vega-lite/docs/config.html#format) config for time format."
},
"formatType": {
"description": "The format type for labels. One of `\"number\"`, `\"time\"`, or a [registered custom format type](https://vega.github.io/vega-lite/docs/config.html#custom-format-type).\n\n__Default value:__\n- `\"time\"` for temporal fields and ordinal and nominal fields with `timeUnit`.\n- `\"number\"` for quantitative fields as well as ordinal and nominal fields without `timeUnit`.",
"type": "string"
},
"gradientLength": {
"anyOf": [
{
"description": "The length in pixels of the primary axis of a color gradient. This value corresponds to the height of a vertical gradient or the width of a horizontal gradient.\n\n__Default value:__ `200`.",
"minimum": 0,
"type": "number"
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"gradientOpacity": {
"anyOf": [
{
"description": "Opacity of the color gradient.",
"type": "number"
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"gradientStrokeColor": {
"anyOf": [
{
"anyOf": [
{
"type": "null"
},
{
"$ref": "#/definitions/Color"
}
],
"description": "The color of the gradient stroke, can be in hex color code or regular color name.\n\n__Default value:__ `\"lightGray\"`."
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"gradientStrokeWidth": {
"anyOf": [
{
"description": "The width of the gradient stroke, in pixels.\n\n__Default value:__ `0`.",
"minimum": 0,
"type": "number"
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"gradientThickness": {
"anyOf": [
{
"description": "The thickness in pixels of the color gradient. This value corresponds to the width of a vertical gradient or the height of a horizontal gradient.\n\n__Default value:__ `16`.",
"minimum": 0,
"type": "number"
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"gridAlign": {
"anyOf": [
{
"$ref": "#/definitions/LayoutAlign",
"description": "The alignment to apply to symbol legends rows and columns. The supported string values are `\"all\"`, `\"each\"` (the default), and `none`. For more information, see the [grid layout documentation](https://vega.github.io/vega/docs/layout).\n\n__Default value:__ `\"each\"`."
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"labelAlign": {
"anyOf": [
{
"$ref": "#/definitions/Align",
"description": "The alignment of the legend label, can be left, center, or right."
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"labelBaseline": {
"anyOf": [
{
"$ref": "#/definitions/TextBaseline",
"description": "The position of the baseline of legend label, can be `\"top\"`, `\"middle\"`, `\"bottom\"`, or `\"alphabetic\"`.\n\n__Default value:__ `\"middle\"`."
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"labelColor": {
"anyOf": [
{
"anyOf": [
{
"type": "null"
},
{
"$ref": "#/definitions/Color"
}
],
"description": "The color of the legend label, can be in hex color code or regular color name."
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"labelExpr": {
"description": "[Vega expression](https://vega.github.io/vega/docs/expressions/) for customizing labels.\n\n__Note:__ The label text and value can be assessed via the `label` and `value` properties of the legend's backing `datum` object.",
"type": "string"
},
"labelFont": {
"anyOf": [
{
"description": "The font of the legend label.",
"type": "string"
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"labelFontSize": {
"anyOf": [
{
"description": "The font size of legend label.\n\n__Default value:__ `10`.",
"minimum": 0,
"type": "number"
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"labelFontStyle": {
"anyOf": [
{
"$ref": "#/definitions/FontStyle",
"description": "The font style of legend label."
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"labelFontWeight": {
"anyOf": [
{
"$ref": "#/definitions/FontWeight",
"description": "The font weight of legend label."
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"labelLimit": {
"anyOf": [
{
"description": "Maximum allowed pixel width of legend tick labels.\n\n__Default value:__ `160`.",
"type": "number"
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"labelOffset": {
"anyOf": [
{
"description": "The offset of the legend label.\n\n__Default value:__ `4`.",
"minimum": 0,
"type": "number"
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"labelOpacity": {
"anyOf": [
{
"description": "Opacity of labels.",
"type": "number"
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"labelOverlap": {
"anyOf": [
{
"$ref": "#/definitions/LabelOverlap",
"description": "The strategy to use for resolving overlap of labels in gradient legends. If `false`, no overlap reduction is attempted. If set to `true` (default) or `\"parity\"`, a strategy of removing every other label is used. If set to `\"greedy\"`, a linear scan of the labels is performed, removing any label that overlaps with the last visible label (this often works better for log-scaled axes).\n\n__Default value:__ `true`."
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"labelPadding": {
"anyOf": [
{
"description": "Padding in pixels between the legend and legend labels.",
"type": "number"
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"labelSeparation": {
"anyOf": [
{
"description": "The minimum separation that must be between label bounding boxes for them to be considered non-overlapping (default `0`). This property is ignored if *labelOverlap* resolution is not enabled.",
"type": "number"
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"legendX": {
"anyOf": [
{
"description": "Custom x-position for legend with orient \"none\".",
"type": "number"
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"legendY": {
"anyOf": [
{
"description": "Custom y-position for legend with orient \"none\".",
"type": "number"
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"offset": {
"anyOf": [
{
"description": "The offset in pixels by which to displace the legend from the data rectangle and axes.\n\n__Default value:__ `18`.",
"type": "number"
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"orient": {
"$ref": "#/definitions/LegendOrient",
"description": "The orientation of the legend, which determines how the legend is positioned within the scene. One of `\"left\"`, `\"right\"`, `\"top\"`, `\"bottom\"`, `\"top-left\"`, `\"top-right\"`, `\"bottom-left\"`, `\"bottom-right\"`, `\"none\"`.\n\n__Default value:__ `\"right\"`"
},
"padding": {
"anyOf": [
{
"description": "The padding between the border and content of the legend group.\n\n__Default value:__ `0`.",
"type": "number"
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"rowPadding": {
"anyOf": [
{
"description": "The vertical padding in pixels between symbol legend entries.\n\n__Default value:__ `2`.",
"type": "number"
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"strokeColor": {
"anyOf": [
{
"anyOf": [
{
"type": "null"
},
{
"$ref": "#/definitions/Color"
}
],
"description": "Border stroke color for the full legend."
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"symbolDash": {
"anyOf": [
{
"description": "An array of alternating [stroke, space] lengths for dashed symbol strokes.",
"items": {
"type": "number"
},
"type": "array"
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"symbolDashOffset": {
"anyOf": [
{
"description": "The pixel offset at which to start drawing with the symbol stroke dash array.",
"type": "number"
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"symbolFillColor": {
"anyOf": [
{
"anyOf": [
{
"type": "null"
},
{
"$ref": "#/definitions/Color"
}
],
"description": "The color of the legend symbol,"
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"symbolLimit": {
"anyOf": [
{
"description": "The maximum number of allowed entries for a symbol legend. Additional entries will be dropped.",
"type": "number"
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"symbolOffset": {
"anyOf": [
{
"description": "Horizontal pixel offset for legend symbols.\n\n__Default value:__ `0`.",
"type": "number"
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"symbolOpacity": {
"anyOf": [
{
"description": "Opacity of the legend symbols.",
"type": "number"
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"symbolSize": {
"anyOf": [
{
"description": "The size of the legend symbol, in pixels.\n\n__Default value:__ `100`.",
"minimum": 0,
"type": "number"
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"symbolStrokeColor": {
"anyOf": [
{
"anyOf": [
{
"type": "null"
},
{
"$ref": "#/definitions/Color"
}
],
"description": "Stroke color for legend symbols."
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"symbolStrokeWidth": {
"anyOf": [
{
"description": "The width of the symbol's stroke.\n\n__Default value:__ `1.5`.",
"minimum": 0,
"type": "number"
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"symbolType": {
"anyOf": [
{
"$ref": "#/definitions/SymbolShape",
"description": "The symbol shape. One of the plotting shapes `circle` (default), `square`, `cross`, `diamond`, `triangle-up`, `triangle-down`, `triangle-right`, or `triangle-left`, the line symbol `stroke`, or one of the centered directional shapes `arrow`, `wedge`, or `triangle`. Alternatively, a custom [SVG path string](https://developer.mozilla.org/en-US/docs/Web/SVG/Tutorial/Paths) can be provided. For correct sizing, custom shape paths should be defined within a square bounding box with coordinates ranging from -1 to 1 along both the x and y dimensions.\n\n__Default value:__ `\"circle\"`."
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"tickCount": {
"anyOf": [
{
"$ref": "#/definitions/TickCount",
"description": "The desired number of tick values for quantitative legends."
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"tickMinStep": {
"anyOf": [
{
"type": "number"
},
{
"$ref": "#/definitions/ExprRef"
}
],
"description": "The minimum desired step between legend ticks, in terms of scale domain values. For example, a value of `1` indicates that ticks should not be less than 1 unit apart. If `tickMinStep` is specified, the `tickCount` value will be adjusted, if necessary, to enforce the minimum step value.\n\n__Default value__: `undefined`"
},
"title": {
"anyOf": [
{
"$ref": "#/definitions/Text"
},
{
"type": "null"
}
],
"description": "A title for the field. If `null`, the title will be removed.\n\n__Default value:__ derived from the field's name and transformation function (`aggregate`, `bin` and `timeUnit`). If the field has an aggregate function, the function is displayed as part of the title (e.g., `\"Sum of Profit\"`). If the field is binned or has a time unit applied, the applied function is shown in parentheses (e.g., `\"Profit (binned)\"`, `\"Transaction Date (year-month)\"`). Otherwise, the title is simply the field name.\n\n__Notes__:\n\n1) You can customize the default field title format by providing the [`fieldTitle`](https://vega.github.io/vega-lite/docs/config.html#top-level-config) property in the [config](https://vega.github.io/vega-lite/docs/config.html) or [`fieldTitle` function via the `compile` function's options](https://vega.github.io/vega-lite/usage/compile.html#field-title).\n\n2) If both field definition's `title` and axis, header, or legend `title` are defined, axis/header/legend title will be used."
},
"titleAlign": {
"anyOf": [
{
"$ref": "#/definitions/Align",
"description": "Horizontal text alignment for legend titles.\n\n__Default value:__ `\"left\"`."
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"titleAnchor": {
"anyOf": [
{
"$ref": "#/definitions/TitleAnchor",
"description": "Text anchor position for placing legend titles."
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"titleBaseline": {
"anyOf": [
{
"$ref": "#/definitions/TextBaseline",
"description": "Vertical text baseline for legend titles. One of `\"alphabetic\"` (default), `\"top\"`, `\"middle\"`, `\"bottom\"`, `\"line-top\"`, or `\"line-bottom\"`. The `\"line-top\"` and `\"line-bottom\"` values operate similarly to `\"top\"` and `\"bottom\"`, but are calculated relative to the *lineHeight* rather than *fontSize* alone.\n\n__Default value:__ `\"top\"`."
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"titleColor": {
"anyOf": [
{
"anyOf": [
{
"type": "null"
},
{
"$ref": "#/definitions/Color"
}
],
"description": "The color of the legend title, can be in hex color code or regular color name."
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"titleFont": {
"anyOf": [
{
"description": "The font of the legend title.",
"type": "string"
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"titleFontSize": {
"anyOf": [
{
"description": "The font size of the legend title.",
"type": "number"
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"titleFontStyle": {
"anyOf": [
{
"$ref": "#/definitions/FontStyle",
"description": "The font style of the legend title."
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"titleFontWeight": {
"anyOf": [
{
"$ref": "#/definitions/FontWeight",
"description": "The font weight of the legend title. This can be either a string (e.g `\"bold\"`, `\"normal\"`) or a number (`100`, `200`, `300`, ..., `900` where `\"normal\"` = `400` and `\"bold\"` = `700`)."
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"titleLimit": {
"anyOf": [
{
"description": "Maximum allowed pixel width of legend titles.\n\n__Default value:__ `180`.",
"minimum": 0,
"type": "number"
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"titleLineHeight": {
"anyOf": [
{
"description": "Line height in pixels for multi-line title text or title text with `\"line-top\"` or `\"line-bottom\"` baseline.",
"type": "number"
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"titleOpacity": {
"anyOf": [
{
"description": "Opacity of the legend title.",
"type": "number"
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"titleOrient": {
"anyOf": [
{
"$ref": "#/definitions/Orient",
"description": "Orientation of the legend title."
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"titlePadding": {
"anyOf": [
{
"description": "The padding, in pixels, between title and legend.\n\n__Default value:__ `5`.",
"type": "number"
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"type": {
"description": "The type of the legend. Use `\"symbol\"` to create a discrete legend and `\"gradient\"` for a continuous color gradient.\n\n__Default value:__ `\"gradient\"` for non-binned quantitative fields and temporal fields; `\"symbol\"` otherwise.",
"enum": [
"symbol",
"gradient"
],
"type": "string"
},
"values": {
"anyOf": [
{
"items": {
"type": "number"
},
"type": "array"
},
{
"items": {
"type": "string"
},
"type": "array"
},
{
"items": {
"type": "boolean"
},
"type": "array"
},
{
"items": {
"$ref": "#/definitions/DateTime"
},
"type": "array"
},
{
"$ref": "#/definitions/ExprRef"
}
],
"description": "Explicitly set the visible legend values."
},
"zindex": {
"description": "A non-negative integer indicating the z-index of the legend. If zindex is 0, legend should be drawn behind all chart elements. To put them in front, use zindex = 1.",
"minimum": 0,
"type": "number"
}
},
"type": "object"
},
"LegendBinding": {
"anyOf": [
{
"const": "legend",
"type": "string"
},
{
"$ref": "#/definitions/LegendStreamBinding"
}
]
},
"LegendConfig": {
"additionalProperties": false,
"properties": {
"aria": {
"anyOf": [
{
"description": "A boolean flag indicating if [ARIA attributes](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA) should be included (SVG output only). If `false`, the \"aria-hidden\" attribute will be set on the output SVG group, removing the legend from the ARIA accessibility tree.\n\n__Default value:__ `true`",
"type": "boolean"
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"clipHeight": {
"anyOf": [
{
"description": "The height in pixels to clip symbol legend entries and limit their size.",
"type": "number"
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"columnPadding": {
"anyOf": [
{
"description": "The horizontal padding in pixels between symbol legend entries.\n\n__Default value:__ `10`.",
"type": "number"
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"columns": {
"anyOf": [
{
"description": "The number of columns in which to arrange symbol legend entries. A value of `0` or lower indicates a single row with one column per entry.",
"type": "number"
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"cornerRadius": {
"anyOf": [
{
"description": "Corner radius for the full legend.",
"type": "number"
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"description": {
"anyOf": [
{
"description": "A text description of this legend for [ARIA accessibility](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA) (SVG output only). If the `aria` property is true, for SVG output the [\"aria-label\" attribute](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/ARIA_Techniques/Using_the_aria-label_attribute) will be set to this description. If the description is unspecified it will be automatically generated.",
"type": "string"
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"direction": {
"$ref": "#/definitions/Orientation",
"description": "The direction of the legend, one of `\"vertical\"` or `\"horizontal\"`.\n\n__Default value:__\n- For top-/bottom-`orient`ed legends, `\"horizontal\"`\n- For left-/right-`orient`ed legends, `\"vertical\"`\n- For top/bottom-left/right-`orient`ed legends, `\"horizontal\"` for gradient legends and `\"vertical\"` for symbol legends."
},
"disable": {
"description": "Disable legend by default",
"type": "boolean"
},
"fillColor": {
"anyOf": [
{
"anyOf": [
{
"type": "null"
},
{
"$ref": "#/definitions/Color"
}
],
"description": "Background fill color for the full legend."
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"gradientDirection": {
"anyOf": [
{
"$ref": "#/definitions/Orientation",
"description": "The default direction (`\"horizontal\"` or `\"vertical\"`) for gradient legends.\n\n__Default value:__ `\"vertical\"`."
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"gradientHorizontalMaxLength": {
"description": "Max legend length for a horizontal gradient when `config.legend.gradientLength` is undefined.\n\n__Default value:__ `200`",
"type": "number"
},
"gradientHorizontalMinLength": {
"description": "Min legend length for a horizontal gradient when `config.legend.gradientLength` is undefined.\n\n__Default value:__ `100`",
"type": "number"
},
"gradientLabelLimit": {
"anyOf": [
{
"description": "The maximum allowed length in pixels of color ramp gradient labels.",
"type": "number"
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"gradientLabelOffset": {
"anyOf": [
{
"description": "Vertical offset in pixels for color ramp gradient labels.\n\n__Default value:__ `2`.",
"type": "number"
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"gradientLength": {
"anyOf": [
{
"description": "The length in pixels of the primary axis of a color gradient. This value corresponds to the height of a vertical gradient or the width of a horizontal gradient.\n\n__Default value:__ `200`.",
"minimum": 0,
"type": "number"
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"gradientOpacity": {
"anyOf": [
{
"description": "Opacity of the color gradient.",
"type": "number"
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"gradientStrokeColor": {
"anyOf": [
{
"anyOf": [
{
"type": "null"
},
{
"$ref": "#/definitions/Color"
}
],
"description": "The color of the gradient stroke, can be in hex color code or regular color name.\n\n__Default value:__ `\"lightGray\"`."
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"gradientStrokeWidth": {
"anyOf": [
{
"description": "The width of the gradient stroke, in pixels.\n\n__Default value:__ `0`.",
"minimum": 0,
"type": "number"
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"gradientThickness": {
"anyOf": [
{
"description": "The thickness in pixels of the color gradient. This value corresponds to the width of a vertical gradient or the height of a horizontal gradient.\n\n__Default value:__ `16`.",
"minimum": 0,
"type": "number"
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"gradientVerticalMaxLength": {
"description": "Max legend length for a vertical gradient when `config.legend.gradientLength` is undefined.\n\n__Default value:__ `200`",
"type": "number"
},
"gradientVerticalMinLength": {
"description": "Min legend length for a vertical gradient when `config.legend.gradientLength` is undefined.\n\n__Default value:__ `100`",
"type": "number"
},
"gridAlign": {
"anyOf": [
{
"$ref": "#/definitions/LayoutAlign",
"description": "The alignment to apply to symbol legends rows and columns. The supported string values are `\"all\"`, `\"each\"` (the default), and `none`. For more information, see the [grid layout documentation](https://vega.github.io/vega/docs/layout).\n\n__Default value:__ `\"each\"`."
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"labelAlign": {
"anyOf": [
{
"$ref": "#/definitions/Align",
"description": "The alignment of the legend label, can be left, center, or right."
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"labelBaseline": {
"anyOf": [
{
"$ref": "#/definitions/TextBaseline",
"description": "The position of the baseline of legend label, can be `\"top\"`, `\"middle\"`, `\"bottom\"`, or `\"alphabetic\"`.\n\n__Default value:__ `\"middle\"`."
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"labelColor": {
"anyOf": [
{
"anyOf": [
{
"type": "null"
},
{
"$ref": "#/definitions/Color"
}
],
"description": "The color of the legend label, can be in hex color code or regular color name."
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"labelFont": {
"anyOf": [
{
"description": "The font of the legend label.",
"type": "string"
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"labelFontSize": {
"anyOf": [
{
"description": "The font size of legend label.\n\n__Default value:__ `10`.",
"minimum": 0,
"type": "number"
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"labelFontStyle": {
"anyOf": [
{
"$ref": "#/definitions/FontStyle",
"description": "The font style of legend label."
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"labelFontWeight": {
"anyOf": [
{
"$ref": "#/definitions/FontWeight",
"description": "The font weight of legend label."
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"labelLimit": {
"anyOf": [
{
"description": "Maximum allowed pixel width of legend tick labels.\n\n__Default value:__ `160`.",
"type": "number"
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"labelOffset": {
"anyOf": [
{
"description": "The offset of the legend label.\n\n__Default value:__ `4`.",
"minimum": 0,
"type": "number"
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"labelOpacity": {
"anyOf": [
{
"description": "Opacity of labels.",
"type": "number"
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"labelOverlap": {
"anyOf": [
{
"$ref": "#/definitions/LabelOverlap"
},
{
"$ref": "#/definitions/ExprRef"
}
],
"description": "The strategy to use for resolving overlap of labels in gradient legends. If `false`, no overlap reduction is attempted. If set to `true` or `\"parity\"`, a strategy of removing every other label is used. If set to `\"greedy\"`, a linear scan of the labels is performed, removing any label that overlaps with the last visible label (this often works better for log-scaled axes).\n\n__Default value:__ `\"greedy\"` for `log scales otherwise `true`."
},
"labelPadding": {
"anyOf": [
{
"description": "Padding in pixels between the legend and legend labels.",
"type": "number"
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"labelSeparation": {
"anyOf": [
{
"description": "The minimum separation that must be between label bounding boxes for them to be considered non-overlapping (default `0`). This property is ignored if *labelOverlap* resolution is not enabled.",
"type": "number"
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"layout": {
"$ref": "#/definitions/ExprRef"
},
"legendX": {
"anyOf": [
{
"description": "Custom x-position for legend with orient \"none\".",
"type": "number"
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"legendY": {
"anyOf": [
{
"description": "Custom y-position for legend with orient \"none\".",
"type": "number"
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"offset": {
"anyOf": [
{
"description": "The offset in pixels by which to displace the legend from the data rectangle and axes.\n\n__Default value:__ `18`.",
"type": "number"
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"orient": {
"$ref": "#/definitions/LegendOrient",
"description": "The orientation of the legend, which determines how the legend is positioned within the scene. One of `\"left\"`, `\"right\"`, `\"top\"`, `\"bottom\"`, `\"top-left\"`, `\"top-right\"`, `\"bottom-left\"`, `\"bottom-right\"`, `\"none\"`.\n\n__Default value:__ `\"right\"`"
},
"padding": {
"anyOf": [
{
"description": "The padding between the border and content of the legend group.\n\n__Default value:__ `0`.",
"type": "number"
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"rowPadding": {
"anyOf": [
{
"description": "The vertical padding in pixels between symbol legend entries.\n\n__Default value:__ `2`.",
"type": "number"
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"strokeColor": {
"anyOf": [
{
"anyOf": [
{
"type": "null"
},
{
"$ref": "#/definitions/Color"
}
],
"description": "Border stroke color for the full legend."
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"strokeDash": {
"anyOf": [
{
"description": "Border stroke dash pattern for the full legend.",
"items": {
"type": "number"
},
"type": "array"
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"strokeWidth": {
"anyOf": [
{
"description": "Border stroke width for the full legend.",
"type": "number"
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"symbolBaseFillColor": {
"anyOf": [
{
"anyOf": [
{
"type": "null"
},
{
"$ref": "#/definitions/Color"
}
],
"description": "Default fill color for legend symbols. Only applied if there is no `\"fill\"` scale color encoding for the legend.\n\n__Default value:__ `\"transparent\"`."
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"symbolBaseStrokeColor": {
"anyOf": [
{
"anyOf": [
{
"type": "null"
},
{
"$ref": "#/definitions/Color"
}
],
"description": "Default stroke color for legend symbols. Only applied if there is no `\"fill\"` scale color encoding for the legend.\n\n__Default value:__ `\"gray\"`."
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"symbolDash": {
"anyOf": [
{
"description": "An array of alternating [stroke, space] lengths for dashed symbol strokes.",
"items": {
"type": "number"
},
"type": "array"
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"symbolDashOffset": {
"anyOf": [
{
"description": "The pixel offset at which to start drawing with the symbol stroke dash array.",
"type": "number"
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"symbolDirection": {
"anyOf": [
{
"$ref": "#/definitions/Orientation",
"description": "The default direction (`\"horizontal\"` or `\"vertical\"`) for symbol legends.\n\n__Default value:__ `\"vertical\"`."
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"symbolFillColor": {
"anyOf": [
{
"anyOf": [
{
"type": "null"
},
{
"$ref": "#/definitions/Color"
}
],
"description": "The color of the legend symbol,"
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"symbolLimit": {
"anyOf": [
{
"description": "The maximum number of allowed entries for a symbol legend. Additional entries will be dropped.",
"type": "number"
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"symbolOffset": {
"anyOf": [
{
"description": "Horizontal pixel offset for legend symbols.\n\n__Default value:__ `0`.",
"type": "number"
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"symbolOpacity": {
"anyOf": [
{
"description": "Opacity of the legend symbols.",
"type": "number"
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"symbolSize": {
"anyOf": [
{
"description": "The size of the legend symbol, in pixels.\n\n__Default value:__ `100`.",
"minimum": 0,
"type": "number"
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"symbolStrokeColor": {
"anyOf": [
{
"anyOf": [
{
"type": "null"
},
{
"$ref": "#/definitions/Color"
}
],
"description": "Stroke color for legend symbols."
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"symbolStrokeWidth": {
"anyOf": [
{
"description": "The width of the symbol's stroke.\n\n__Default value:__ `1.5`.",
"minimum": 0,
"type": "number"
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"symbolType": {
"anyOf": [
{
"$ref": "#/definitions/SymbolShape",
"description": "The symbol shape. One of the plotting shapes `circle` (default), `square`, `cross`, `diamond`, `triangle-up`, `triangle-down`, `triangle-right`, or `triangle-left`, the line symbol `stroke`, or one of the centered directional shapes `arrow`, `wedge`, or `triangle`. Alternatively, a custom [SVG path string](https://developer.mozilla.org/en-US/docs/Web/SVG/Tutorial/Paths) can be provided. For correct sizing, custom shape paths should be defined within a square bounding box with coordinates ranging from -1 to 1 along both the x and y dimensions.\n\n__Default value:__ `\"circle\"`."
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"tickCount": {
"anyOf": [
{
"$ref": "#/definitions/TickCount",
"description": "The desired number of tick values for quantitative legends."
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"title": {
"description": "Set to null to disable title for the axis, legend, or header.",
"type": "null"
},
"titleAlign": {
"anyOf": [
{
"$ref": "#/definitions/Align",
"description": "Horizontal text alignment for legend titles.\n\n__Default value:__ `\"left\"`."
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"titleAnchor": {
"anyOf": [
{
"$ref": "#/definitions/TitleAnchor",
"description": "Text anchor position for placing legend titles."
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"titleBaseline": {
"anyOf": [
{
"$ref": "#/definitions/TextBaseline",
"description": "Vertical text baseline for legend titles. One of `\"alphabetic\"` (default), `\"top\"`, `\"middle\"`, `\"bottom\"`, `\"line-top\"`, or `\"line-bottom\"`. The `\"line-top\"` and `\"line-bottom\"` values operate similarly to `\"top\"` and `\"bottom\"`, but are calculated relative to the *lineHeight* rather than *fontSize* alone.\n\n__Default value:__ `\"top\"`."
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"titleColor": {
"anyOf": [
{
"anyOf": [
{
"type": "null"
},
{
"$ref": "#/definitions/Color"
}
],
"description": "The color of the legend title, can be in hex color code or regular color name."
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"titleFont": {
"anyOf": [
{
"description": "The font of the legend title.",
"type": "string"
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"titleFontSize": {
"anyOf": [
{
"description": "The font size of the legend title.",
"type": "number"
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"titleFontStyle": {
"anyOf": [
{
"$ref": "#/definitions/FontStyle",
"description": "The font style of the legend title."
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"titleFontWeight": {
"anyOf": [
{
"$ref": "#/definitions/FontWeight",
"description": "The font weight of the legend title. This can be either a string (e.g `\"bold\"`, `\"normal\"`) or a number (`100`, `200`, `300`, ..., `900` where `\"normal\"` = `400` and `\"bold\"` = `700`)."
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"titleLimit": {
"anyOf": [
{
"description": "Maximum allowed pixel width of legend titles.\n\n__Default value:__ `180`.",
"minimum": 0,
"type": "number"
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"titleLineHeight": {
"anyOf": [
{
"description": "Line height in pixels for multi-line title text or title text with `\"line-top\"` or `\"line-bottom\"` baseline.",
"type": "number"
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"titleOpacity": {
"anyOf": [
{
"description": "Opacity of the legend title.",
"type": "number"
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"titleOrient": {
"anyOf": [
{
"$ref": "#/definitions/Orient",
"description": "Orientation of the legend title."
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"titlePadding": {
"anyOf": [
{
"description": "The padding, in pixels, between title and legend.\n\n__Default value:__ `5`.",
"type": "number"
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"unselectedOpacity": {
"description": "The opacity of unselected legend entries.\n\n__Default value:__ 0.35.",
"type": "number"
},
"zindex": {
"anyOf": [
{
"description": "The integer z-index indicating the layering of the legend group relative to other axis, mark, and legend groups.",
"minimum": 0,
"type": "number"
},
{
"$ref": "#/definitions/ExprRef"
}
]
}
},
"type": "object"
},
"LegendOrient": {
"enum": [
"none",
"left",
"right",
"top",
"bottom",
"top-left",
"top-right",
"bottom-left",
"bottom-right"
],
"type": "string"
},
"LegendResolveMap": {
"additionalProperties": false,
"properties": {
"angle": {
"$ref": "#/definitions/ResolveMode"
},
"color": {
"$ref": "#/definitions/ResolveMode"
},
"fill": {
"$ref": "#/definitions/ResolveMode"
},
"fillOpacity": {
"$ref": "#/definitions/ResolveMode"
},
"opacity": {
"$ref": "#/definitions/ResolveMode"
},
"shape": {
"$ref": "#/definitions/ResolveMode"
},
"size": {
"$ref": "#/definitions/ResolveMode"
},
"stroke": {
"$ref": "#/definitions/ResolveMode"
},
"strokeDash": {
"$ref": "#/definitions/ResolveMode"
},
"strokeOpacity": {
"$ref": "#/definitions/ResolveMode"
},
"strokeWidth": {
"$ref": "#/definitions/ResolveMode"
}
},
"type": "object"
},
"LegendStreamBinding": {
"additionalProperties": false,
"properties": {
"legend": {
"anyOf": [
{
"type": "string"
},
{
"$ref": "#/definitions/Stream"
}
]
}
},
"required": [
"legend"
],
"type": "object"
},
"LineConfig": {
"additionalProperties": false,
"properties": {
"align": {
"anyOf": [
{
"$ref": "#/definitions/Align"
},
{
"$ref": "#/definitions/ExprRef"
}
],
"description": "The horizontal alignment of the text or ranged marks (area, bar, image, rect, rule). One of `\"left\"`, `\"right\"`, `\"center\"`.\n\n__Note:__ Expression reference is *not* supported for range marks."
},
"angle": {
"anyOf": [
{
"description": "The rotation angle of the text, in degrees.",
"maximum": 360,
"minimum": 0,
"type": "number"
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"aria": {
"anyOf": [
{
"description": "A boolean flag indicating if [ARIA attributes](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA) should be included (SVG output only). If `false`, the \"aria-hidden\" attribute will be set on the output SVG element, removing the mark item from the ARIA accessibility tree.",
"type": "boolean"
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"ariaRole": {
"anyOf": [
{
"description": "Sets the type of user interface element of the mark item for [ARIA accessibility](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA) (SVG output only). If specified, this property determines the \"role\" attribute. Warning: this property is experimental and may be changed in the future.",
"type": "string"
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"ariaRoleDescription": {
"anyOf": [
{
"description": "A human-readable, author-localized description for the role of the mark item for [ARIA accessibility](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA) (SVG output only). If specified, this property determines the \"aria-roledescription\" attribute. Warning: this property is experimental and may be changed in the future.",
"type": "string"
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"aspect": {
"anyOf": [
{
"description": "Whether to keep aspect ratio of image marks.",
"type": "boolean"
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"baseline": {
"anyOf": [
{
"$ref": "#/definitions/TextBaseline"
},
{
"$ref": "#/definitions/ExprRef"
}
],
"description": "For text marks, the vertical text baseline. One of `\"alphabetic\"` (default), `\"top\"`, `\"middle\"`, `\"bottom\"`, `\"line-top\"`, `\"line-bottom\"`, or an expression reference that provides one of the valid values. The `\"line-top\"` and `\"line-bottom\"` values operate similarly to `\"top\"` and `\"bottom\"`, but are calculated relative to the `lineHeight` rather than `fontSize` alone.\n\nFor range marks, the vertical alignment of the marks. One of `\"top\"`, `\"middle\"`, `\"bottom\"`.\n\n__Note:__ Expression reference is *not* supported for range marks."
},
"blend": {
"anyOf": [
{
"$ref": "#/definitions/Blend",
"description": "The color blend mode for drawing an item on its current background. Any valid [CSS mix-blend-mode](https://developer.mozilla.org/en-US/docs/Web/CSS/mix-blend-mode) value can be used.\n\n__Default value: `\"source-over\"`"
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"color": {
"anyOf": [
{
"$ref": "#/definitions/Color"
},
{
"$ref": "#/definitions/Gradient"
},
{
"$ref": "#/definitions/ExprRef"
}
],
"description": "Default color.\n\n__Default value:__ <span style=\"color: #4682b4;\">&#9632;</span> `\"#4682b4\"`\n\n__Note:__\n- This property cannot be used in a [style config](https://vega.github.io/vega-lite/docs/mark.html#style-config).\n- The `fill` and `stroke` properties have higher precedence than `color` and will override `color`."
},
"cornerRadius": {
"anyOf": [
{
"description": "The radius in pixels of rounded rectangles or arcs' corners.\n\n__Default value:__ `0`",
"type": "number"
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"cornerRadiusBottomLeft": {
"anyOf": [
{
"description": "The radius in pixels of rounded rectangles' bottom left corner.\n\n__Default value:__ `0`",
"type": "number"
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"cornerRadiusBottomRight": {
"anyOf": [
{
"description": "The radius in pixels of rounded rectangles' bottom right corner.\n\n__Default value:__ `0`",
"type": "number"
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"cornerRadiusTopLeft": {
"anyOf": [
{
"description": "The radius in pixels of rounded rectangles' top right corner.\n\n__Default value:__ `0`",
"type": "number"
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"cornerRadiusTopRight": {
"anyOf": [
{
"description": "The radius in pixels of rounded rectangles' top left corner.\n\n__Default value:__ `0`",
"type": "number"
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"cursor": {
"anyOf": [
{
"$ref": "#/definitions/Cursor",
"description": "The mouse cursor used over the mark. Any valid [CSS cursor type](https://developer.mozilla.org/en-US/docs/Web/CSS/cursor#Values) can be used."
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"description": {
"anyOf": [
{
"description": "A text description of the mark item for [ARIA accessibility](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA) (SVG output only). If specified, this property determines the [\"aria-label\" attribute](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/ARIA_Techniques/Using_the_aria-label_attribute).",
"type": "string"
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"dir": {
"anyOf": [
{
"$ref": "#/definitions/TextDirection",
"description": "The direction of the text. One of `\"ltr\"` (left-to-right) or `\"rtl\"` (right-to-left). This property determines on which side is truncated in response to the limit parameter.\n\n__Default value:__ `\"ltr\"`"
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"dx": {
"anyOf": [
{
"description": "The horizontal offset, in pixels, between the text label and its anchor point. The offset is applied after rotation by the _angle_ property.",
"type": "number"
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"dy": {
"anyOf": [
{
"description": "The vertical offset, in pixels, between the text label and its anchor point. The offset is applied after rotation by the _angle_ property.",
"type": "number"
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"ellipsis": {
"anyOf": [
{
"description": "The ellipsis string for text truncated in response to the limit parameter.\n\n__Default value:__ `\"…\"`",
"type": "string"
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"endAngle": {
"anyOf": [
{
"description": "The end angle in radians for arc marks. A value of `0` indicates up (north), increasing values proceed clockwise.",
"type": "number"
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"fill": {
"anyOf": [
{
"$ref": "#/definitions/Color"
},
{
"$ref": "#/definitions/Gradient"
},
{
"type": "null"
},
{
"$ref": "#/definitions/ExprRef"
}
],
"description": "Default fill color. This property has higher precedence than `config.color`. Set to `null` to remove fill.\n\n__Default value:__ (None)"
},
"fillOpacity": {
"anyOf": [
{
"description": "The fill opacity (value between [0,1]).\n\n__Default value:__ `1`",
"maximum": 1,
"minimum": 0,
"type": "number"
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"filled": {
"description": "Whether the mark's color should be used as fill color instead of stroke color.\n\n__Default value:__ `false` for all `point`, `line`, and `rule` marks as well as `geoshape` marks for [`graticule`](https://vega.github.io/vega-lite/docs/data.html#graticule) data sources; otherwise, `true`.\n\n__Note:__ This property cannot be used in a [style config](https://vega.github.io/vega-lite/docs/mark.html#style-config).",
"type": "boolean"
},
"font": {
"anyOf": [
{
"description": "The typeface to set the text in (e.g., `\"Helvetica Neue\"`).",
"type": "string"
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"fontSize": {
"anyOf": [
{
"description": "The font size, in pixels.\n\n__Default value:__ `11`",
"minimum": 0,
"type": "number"
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"fontStyle": {
"anyOf": [
{
"$ref": "#/definitions/FontStyle",
"description": "The font style (e.g., `\"italic\"`)."
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"fontWeight": {
"anyOf": [
{
"$ref": "#/definitions/FontWeight",
"description": "The font weight. This can be either a string (e.g `\"bold\"`, `\"normal\"`) or a number (`100`, `200`, `300`, ..., `900` where `\"normal\"` = `400` and `\"bold\"` = `700`)."
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"height": {
"anyOf": [
{
"description": "Height of the marks.",
"type": "number"
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"href": {
"anyOf": [
{
"$ref": "#/definitions/URI",
"description": "A URL to load upon mouse click. If defined, the mark acts as a hyperlink."
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"innerRadius": {
"anyOf": [
{
"type": "number"
},
{
"$ref": "#/definitions/ExprRef"
}
],
"description": "The inner radius in pixels of arc marks. `innerRadius` is an alias for `radius2`.\n\n__Default value:__ `0`",
"minimum": 0
},
"interpolate": {
"anyOf": [
{
"$ref": "#/definitions/Interpolate",
"description": "The line interpolation method to use for line and area marks. One of the following:\n- `\"linear\"`: piecewise linear segments, as in a polyline.\n- `\"linear-closed\"`: close the linear segments to form a polygon.\n- `\"step\"`: alternate between horizontal and vertical segments, as in a step function.\n- `\"step-before\"`: alternate between vertical and horizontal segments, as in a step function.\n- `\"step-after\"`: alternate between horizontal and vertical segments, as in a step function.\n- `\"basis\"`: a B-spline, with control point duplication on the ends.\n- `\"basis-open\"`: an open B-spline; may not intersect the start or end.\n- `\"basis-closed\"`: a closed B-spline, as in a loop.\n- `\"cardinal\"`: a Cardinal spline, with control point duplication on the ends.\n- `\"cardinal-open\"`: an open Cardinal spline; may not intersect the start or end, but will intersect other control points.\n- `\"cardinal-closed\"`: a closed Cardinal spline, as in a loop.\n- `\"bundle\"`: equivalent to basis, except the tension parameter is used to straighten the spline.\n- `\"monotone\"`: cubic interpolation that preserves monotonicity in y."
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"invalid": {
"description": "Defines how Vega-Lite should handle marks for invalid values (`null` and `NaN`).\n- If set to `\"filter\"` (default), all data items with null values will be skipped (for line, trail, and area marks) or filtered (for other marks).\n- If `null`, all data items are included. In this case, invalid values will be interpreted as zeroes.",
"enum": [
"filter",
null
],
"type": [
"string",
"null"
]
},
"limit": {
"anyOf": [
{
"description": "The maximum length of the text mark in pixels. The text value will be automatically truncated if the rendered size exceeds the limit.\n\n__Default value:__ `0` -- indicating no limit",
"type": "number"
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"lineBreak": {
"anyOf": [
{
"description": "A delimiter, such as a newline character, upon which to break text strings into multiple lines. This property is ignored if the text is array-valued.",
"type": "string"
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"lineHeight": {
"anyOf": [
{
"description": "The line height in pixels (the spacing between subsequent lines of text) for multi-line text marks.",
"type": "number"
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"opacity": {
"anyOf": [
{
"type": "number"
},
{
"$ref": "#/definitions/ExprRef"
}
],
"description": "The overall opacity (value between [0,1]).\n\n__Default value:__ `0.7` for non-aggregate plots with `point`, `tick`, `circle`, or `square` marks or layered `bar` charts and `1` otherwise.",
"maximum": 1,
"minimum": 0
},
"order": {
"description": "For line and trail marks, this `order` property can be set to `null` or `false` to make the lines use the original order in the data sources.",
"type": [
"null",
"boolean"
]
},
"orient": {
"$ref": "#/definitions/Orientation",
"description": "The orientation of a non-stacked bar, tick, area, and line charts. The value is either horizontal (default) or vertical.\n- For bar, rule and tick, this determines whether the size of the bar and tick should be applied to x or y dimension.\n- For area, this property determines the orient property of the Vega output.\n- For line and trail marks, this property determines the sort order of the points in the line if `config.sortLineBy` is not specified. For stacked charts, this is always determined by the orientation of the stack; therefore explicitly specified value will be ignored."
},
"outerRadius": {
"anyOf": [
{
"type": "number"
},
{
"$ref": "#/definitions/ExprRef"
}
],
"description": "The outer radius in pixels of arc marks. `outerRadius` is an alias for `radius`.\n\n__Default value:__ `0`",
"minimum": 0
},
"padAngle": {
"anyOf": [
{
"description": "The angular padding applied to sides of the arc, in radians.",
"type": "number"
},
{
"$ref": "#/definitions/ExprRef"
}
]
},
"point": {
"anyOf": [
{
"type": "boolean"
},
{
"$ref": "#/definitions/OverlayMarkDef"
},
{
"const":
View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment