Skip to content

Instantly share code, notes, and snippets.

@davidanthoff
Created May 29, 2019 15:48
Show Gist options
  • Save davidanthoff/934ba86e3644b429ac07c0e4752f6068 to your computer and use it in GitHub Desktop.
Save davidanthoff/934ba86e3644b429ac07c0e4752f6068 to your computer and use it in GitHub Desktop.
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Some random information about Julia"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"If you managed to get all setup problems out of the way already, you can work through this notebook to learn a bit more about Julia and some of the packages we are using in the hands on sessions."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"You can assign values to variables with the `=` sign, and then later reference them again:"
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"5"
]
},
"execution_count": 1,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"x = 5"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"10"
]
},
"execution_count": 2,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"2 * x"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"You call functions with the normal `f(x)` syntax, for example to print the content of variable `x`:"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"5\n"
]
}
],
"source": [
"println(x)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"You can create vectors with the `[]` syntax:"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"3-element Array{Int64,1}:\n",
" 4\n",
" 5\n",
" 6"
]
},
"execution_count": 4,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"y = [4,5,6]"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"You can use indexing notation to extract individual elements out of a vector:"
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"5"
]
},
"execution_count": 5,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"y[2]"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Note that Julia uses 1-based indexing, so the first element has index 1."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"You can load a package into the currently running Julia session with the `using` command:"
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {},
"outputs": [],
"source": [
"using Statistics"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"And then you can call functions from that package:"
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"5.0"
]
},
"execution_count": 7,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"mean(y)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Julia supports normal strings that are in quotation marks:"
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"\"This is a string\""
]
},
"execution_count": 8,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"x = \"This is a string\""
]
},
{
"cell_type": "code",
"execution_count": 9,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"This is a string\n"
]
}
],
"source": [
"println(x)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Julia also supports something called a symbol, that is a little like a string, but different in some not important ways. Symbols are often used to pass parameters to functions. A symbol is created with a colon:"
]
},
{
"cell_type": "code",
"execution_count": 10,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
":foo"
]
},
"execution_count": 10,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"x = :foo"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## DataFrames"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"[DataFrames.jl](https://github.com/JuliaData/DataFrames.jl) is a package the provides a data type for tabular data. You can create such a new table by passing the values for each column as a vector to the `DataFrame` function (really, it is a constructor, for the computer geeks in the audience):"
]
},
{
"cell_type": "code",
"execution_count": 11,
"metadata": {},
"outputs": [],
"source": [
"using DataFrames"
]
},
{
"cell_type": "code",
"execution_count": 12,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<table class=\"data-frame\"><thead><tr><th></th><th>children</th><th>name</th><th>age</th></tr><tr><th></th><th>Int64</th><th>String</th><th>Float64</th></tr></thead><tbody><p>3 rows × 3 columns</p><tr><th>1</th><td>0</td><td>John</td><td>23.0</td></tr><tr><th>2</th><td>2</td><td>Mary</td><td>45.0</td></tr><tr><th>3</th><td>3</td><td>Sally</td><td>57.0</td></tr></tbody></table>"
],
"text/latex": [
"\\begin{tabular}{r|ccc}\n",
"\t& children & name & age\\\\\n",
"\t\\hline\n",
"\t& Int64 & String & Float64\\\\\n",
"\t\\hline\n",
"\t1 & 0 & John & 23.0 \\\\\n",
"\t2 & 2 & Mary & 45.0 \\\\\n",
"\t3 & 3 & Sally & 57.0 \\\\\n",
"\\end{tabular}\n"
],
"text/plain": [
"3×3 DataFrame\n",
"│ Row │ children │ name │ age │\n",
"│ │ \u001b[90mInt64\u001b[39m │ \u001b[90mString\u001b[39m │ \u001b[90mFloat64\u001b[39m │\n",
"├─────┼──────────┼────────┼─────────┤\n",
"│ 1 │ 0 │ John │ 23.0 │\n",
"│ 2 │ 2 │ Mary │ 45.0 │\n",
"│ 3 │ 3 │ Sally │ 57.0 │"
]
},
"execution_count": 12,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df = DataFrame(children = [0,2,3], name = [\"John\", \"Mary\", \"Sally\"], age=[23., 45., 57.])"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"[Query.jl](https://github.com/queryverse/Query.jl) is a package that allows you to manipulate tabular data (like for example dplry in R). We can use it to for example filter a `DataFrame`:"
]
},
{
"cell_type": "code",
"execution_count": 13,
"metadata": {},
"outputs": [],
"source": [
"using Query"
]
},
{
"cell_type": "code",
"execution_count": 14,
"metadata": {},
"outputs": [
{
"data": {
"application/vnd.dataresource+json": {
"data": [
{
"age": 45,
"children": 2,
"name": "Mary"
},
{
"age": 57,
"children": 3,
"name": "Sally"
}
],
"schema": {
"fields": [
{
"name": "children",
"type": "integer"
},
{
"name": "name",
"type": "string"
},
{
"name": "age",
"type": "number"
}
]
}
},
"text/html": [
"<table><thead><tr><th>children</th><th>name</th><th>age</th></tr></thead><tbody><tr><td>2</td><td>&quot;Mary&quot;</td><td>45.0</td></tr><tr><td>3</td><td>&quot;Sally&quot;</td><td>57.0</td></tr></tbody></table>"
],
"text/plain": [
"2x3 query result\n",
"children │ name │ age \n",
"─────────┼───────┼─────\n",
"2 │ Mary │ 45.0\n",
"3 │ Sally │ 57.0"
]
},
"execution_count": 14,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df |> @filter(_.age>30)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Note how we pipe the data here from the original dataframe through a filter object. We can construct quite elaborate pipelines this way, for example we might want to save the result of the filter into a file. We can do that with the [CSVFiles.jl](https://github.com/queryverse/CSVFiles.jl) package:"
]
},
{
"cell_type": "code",
"execution_count": 15,
"metadata": {},
"outputs": [],
"source": [
"using CSVFiles"
]
},
{
"cell_type": "code",
"execution_count": 16,
"metadata": {},
"outputs": [],
"source": [
"df |> @filter(_.age>30) |> save(\"foo.csv\")"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"You can take a look at the documentation for these packages to learn more about their capabilities: [DataFrames docs](http://juliadata.github.io/DataFrames.jl/stable/), [Query docs](https://www.queryverse.org/Query.jl/stable/))."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Plotting"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"We are using the [VegaLite.jl](https://github.com/fredo-dedup/VegaLite.jl) package for our plotting needs in the workshop. VegaLite requires all data that we want to plot to come as a table, so we'll first create a `DataFrame` with some random numbers:"
]
},
{
"cell_type": "code",
"execution_count": 17,
"metadata": {},
"outputs": [],
"source": [
"using DataFrames, VegaLite"
]
},
{
"cell_type": "code",
"execution_count": 18,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<table class=\"data-frame\"><thead><tr><th></th><th>col_a</th><th>col_b</th></tr><tr><th></th><th>Float64</th><th>Float64</th></tr></thead><tbody><p>10 rows × 2 columns</p><tr><th>1</th><td>0.0113869</td><td>0.663426</td></tr><tr><th>2</th><td>0.84066</td><td>0.161438</td></tr><tr><th>3</th><td>0.86769</td><td>0.301254</td></tr><tr><th>4</th><td>0.18668</td><td>0.931829</td></tr><tr><th>5</th><td>0.879364</td><td>0.885399</td></tr><tr><th>6</th><td>0.618373</td><td>0.359592</td></tr><tr><th>7</th><td>0.637617</td><td>0.919954</td></tr><tr><th>8</th><td>0.363998</td><td>0.0611925</td></tr><tr><th>9</th><td>0.329344</td><td>0.831638</td></tr><tr><th>10</th><td>0.058039</td><td>0.77092</td></tr></tbody></table>"
],
"text/latex": [
"\\begin{tabular}{r|cc}\n",
"\t& col\\_a & col\\_b\\\\\n",
"\t\\hline\n",
"\t& Float64 & Float64\\\\\n",
"\t\\hline\n",
"\t1 & 0.0113869 & 0.663426 \\\\\n",
"\t2 & 0.84066 & 0.161438 \\\\\n",
"\t3 & 0.86769 & 0.301254 \\\\\n",
"\t4 & 0.18668 & 0.931829 \\\\\n",
"\t5 & 0.879364 & 0.885399 \\\\\n",
"\t6 & 0.618373 & 0.359592 \\\\\n",
"\t7 & 0.637617 & 0.919954 \\\\\n",
"\t8 & 0.363998 & 0.0611925 \\\\\n",
"\t9 & 0.329344 & 0.831638 \\\\\n",
"\t10 & 0.058039 & 0.77092 \\\\\n",
"\\end{tabular}\n"
],
"text/plain": [
"10×2 DataFrame\n",
"│ Row │ col_a │ col_b │\n",
"│ │ \u001b[90mFloat64\u001b[39m │ \u001b[90mFloat64\u001b[39m │\n",
"├─────┼───────────┼───────────┤\n",
"│ 1 │ 0.0113869 │ 0.663426 │\n",
"│ 2 │ 0.84066 │ 0.161438 │\n",
"│ 3 │ 0.86769 │ 0.301254 │\n",
"│ 4 │ 0.18668 │ 0.931829 │\n",
"│ 5 │ 0.879364 │ 0.885399 │\n",
"│ 6 │ 0.618373 │ 0.359592 │\n",
"│ 7 │ 0.637617 │ 0.919954 │\n",
"│ 8 │ 0.363998 │ 0.0611925 │\n",
"│ 9 │ 0.329344 │ 0.831638 │\n",
"│ 10 │ 0.058039 │ 0.77092 │"
]
},
"execution_count": 18,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df = DataFrame(col_a=rand(10), col_b=rand(10))"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"We then pipe this data into a definition of a plot. The definition of a plot always starts with a call to `@vlplot`. Here is a simple example:"
]
},
{
"cell_type": "code",
"execution_count": 19,
"metadata": {},
"outputs": [
{
"data": {
"application/vnd.vegalite.v2+json": {
"data": {
"values": [
{
"col_a": 0.011386880912190422,
"col_b": 0.6634259266131171
},
{
"col_a": 0.840660109153583,
"col_b": 0.16143805536185396
},
{
"col_a": 0.8676903166589138,
"col_b": 0.30125434380042604
},
{
"col_a": 0.18668043053315175,
"col_b": 0.9318287864494113
},
{
"col_a": 0.879364127934575,
"col_b": 0.8853993027545464
},
{
"col_a": 0.6183734439241908,
"col_b": 0.35959174445828723
},
{
"col_a": 0.6376167267898476,
"col_b": 0.9199544232916976
},
{
"col_a": 0.36399755441339443,
"col_b": 0.06119252681783105
},
{
"col_a": 0.32934399814743176,
"col_b": 0.831638026009099
},
{
"col_a": 0.05803896490353666,
"col_b": 0.77092029888881
}
]
},
"encoding": {
"x": {
"field": "col_a",
"type": "quantitative"
},
"y": {
"field": "col_b",
"type": "quantitative"
}
},
"mark": "point"
},
"image/png": "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",
"image/svg+xml": [
"<?xml version=\"1.0\" encoding=\"utf-8\"?>\n",
"<!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.1//EN\" \"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\">\n",
"<svg class=\"marks\" width=\"260\" height=\"251\" viewBox=\"0 0 260 251\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\"><g transform=\"translate(54,11)\"><g class=\"mark-group role-frame root\"><g transform=\"translate(0,0)\"><path class=\"background\" d=\"M0.5,0.5h200v200h-200Z\" style=\"fill: none; stroke: #ddd;\"></path><g><g class=\"mark-group role-axis\"><g transform=\"translate(0.5,200.5)\"><path class=\"background\" d=\"M0,0h0v0h0Z\" style=\"pointer-events: none; fill: none;\"></path><g><g class=\"mark-rule role-axis-grid\" style=\"pointer-events: none;\"><line transform=\"translate(0,-200)\" x2=\"0\" y2=\"200\" style=\"fill: none; stroke: #ddd; stroke-width: 1; opacity: 1;\"></line><line transform=\"translate(44,-200)\" x2=\"0\" y2=\"200\" style=\"fill: none; stroke: #ddd; stroke-width: 1; opacity: 1;\"></line><line transform=\"translate(89,-200)\" x2=\"0\" y2=\"200\" style=\"fill: none; stroke: #ddd; stroke-width: 1; opacity: 1;\"></line><line transform=\"translate(133,-200)\" x2=\"0\" y2=\"200\" style=\"fill: none; stroke: #ddd; stroke-width: 1; opacity: 1;\"></line><line transform=\"translate(178,-200)\" x2=\"0\" y2=\"200\" style=\"fill: none; stroke: #ddd; stroke-width: 1; opacity: 1;\"></line></g></g></g></g><g class=\"mark-group role-axis\"><g transform=\"translate(0.5,0.5)\"><path class=\"background\" d=\"M0,0h0v0h0Z\" style=\"pointer-events: none; fill: none;\"></path><g><g class=\"mark-rule role-axis-grid\" style=\"pointer-events: none;\"><line transform=\"translate(0,200)\" x2=\"200\" y2=\"0\" style=\"fill: none; stroke: #ddd; stroke-width: 1; opacity: 1;\"></line><line transform=\"translate(0,160)\" x2=\"200\" y2=\"0\" style=\"fill: none; stroke: #ddd; stroke-width: 1; opacity: 1;\"></line><line transform=\"translate(0,120)\" x2=\"200\" y2=\"0\" style=\"fill: none; stroke: #ddd; stroke-width: 1; opacity: 1;\"></line><line transform=\"translate(0,80)\" x2=\"200\" y2=\"0\" style=\"fill: none; stroke: #ddd; stroke-width: 1; opacity: 1;\"></line><line transform=\"translate(0,40)\" x2=\"200\" y2=\"0\" style=\"fill: none; stroke: #ddd; stroke-width: 1; opacity: 1;\"></line><line transform=\"translate(0,0)\" x2=\"200\" y2=\"0\" style=\"fill: none; stroke: #ddd; stroke-width: 1; opacity: 1;\"></line></g></g></g></g><g class=\"mark-symbol role-mark marks\"><path transform=\"translate(2.5304179804867606,67.3148146773766)\" d=\"M2.7386127875258306,0A2.7386127875258306,2.7386127875258306,0,1,1,-2.7386127875258306,0A2.7386127875258306,2.7386127875258306,0,1,1,2.7386127875258306,0\" style=\"fill: none; stroke: #4c78a8; stroke-width: 2; opacity: 0.7;\"></path><path transform=\"translate(186.81335758968513,167.7123889276292)\" d=\"M2.7386127875258306,0A2.7386127875258306,2.7386127875258306,0,1,1,-2.7386127875258306,0A2.7386127875258306,2.7386127875258306,0,1,1,2.7386127875258306,0\" style=\"fill: none; stroke: #4c78a8; stroke-width: 2; opacity: 0.7;\"></path><path transform=\"translate(192.82007036864752,139.7491312399148)\" d=\"M2.7386127875258306,0A2.7386127875258306,2.7386127875258306,0,1,1,-2.7386127875258306,0A2.7386127875258306,2.7386127875258306,0,1,1,2.7386127875258306,0\" style=\"fill: none; stroke: #4c78a8; stroke-width: 2; opacity: 0.7;\"></path><path transform=\"translate(41.484540118478165,13.634242710117746)\" d=\"M2.7386127875258306,0A2.7386127875258306,2.7386127875258306,0,1,1,-2.7386127875258306,0A2.7386127875258306,2.7386127875258306,0,1,1,2.7386127875258306,0\" style=\"fill: none; stroke: #4c78a8; stroke-width: 2; opacity: 0.7;\"></path><path transform=\"translate(195.41425065212778,22.920139449090726)\" d=\"M2.7386127875258306,0A2.7386127875258306,2.7386127875258306,0,1,1,-2.7386127875258306,0A2.7386127875258306,2.7386127875258306,0,1,1,2.7386127875258306,0\" style=\"fill: none; stroke: #4c78a8; stroke-width: 2; opacity: 0.7;\"></path><path transform=\"translate(137.4163208720424,128.08165110834256)\" d=\"M2.7386127875258306,0A2.7386127875258306,2.7386127875258306,0,1,1,-2.7386127875258306,0A2.7386127875258306,2.7386127875258306,0,1,1,2.7386127875258306,0\" style=\"fill: none; stroke: #4c78a8; stroke-width: 2; opacity: 0.7;\"></path><path transform=\"translate(141.69260595329948,16.009115341660475)\" d=\"M2.7386127875258306,0A2.7386127875258306,2.7386127875258306,0,1,1,-2.7386127875258306,0A2.7386127875258306,2.7386127875258306,0,1,1,2.7386127875258306,0\" style=\"fill: none; stroke: #4c78a8; stroke-width: 2; opacity: 0.7;\"></path><path transform=\"translate(80.88834542519876,187.76149463643378)\" d=\"M2.7386127875258306,0A2.7386127875258306,2.7386127875258306,0,1,1,-2.7386127875258306,0A2.7386127875258306,2.7386127875258306,0,1,1,2.7386127875258306,0\" style=\"fill: none; stroke: #4c78a8; stroke-width: 2; opacity: 0.7;\"></path><path transform=\"translate(73.18755514387372,33.67239479818019)\" d=\"M2.7386127875258306,0A2.7386127875258306,2.7386127875258306,0,1,1,-2.7386127875258306,0A2.7386127875258306,2.7386127875258306,0,1,1,2.7386127875258306,0\" style=\"fill: none; stroke: #4c78a8; stroke-width: 2; opacity: 0.7;\"></path><path transform=\"translate(12.89754775634148,45.815940222238)\" d=\"M2.7386127875258306,0A2.7386127875258306,2.7386127875258306,0,1,1,-2.7386127875258306,0A2.7386127875258306,2.7386127875258306,0,1,1,2.7386127875258306,0\" style=\"fill: none; stroke: #4c78a8; stroke-width: 2; opacity: 0.7;\"></path></g><g class=\"mark-group role-axis\"><g transform=\"translate(0.5,200.5)\"><path class=\"background\" d=\"M0,0h0v0h0Z\" style=\"pointer-events: none; fill: none;\"></path><g><g class=\"mark-rule role-axis-tick\" style=\"pointer-events: none;\"><line transform=\"translate(0,0)\" x2=\"0\" y2=\"5\" style=\"fill: none; stroke: #888; stroke-width: 1; opacity: 1;\"></line><line transform=\"translate(44,0)\" x2=\"0\" y2=\"5\" style=\"fill: none; stroke: #888; stroke-width: 1; opacity: 1;\"></line><line transform=\"translate(89,0)\" x2=\"0\" y2=\"5\" style=\"fill: none; stroke: #888; stroke-width: 1; opacity: 1;\"></line><line transform=\"translate(133,0)\" x2=\"0\" y2=\"5\" style=\"fill: none; stroke: #888; stroke-width: 1; opacity: 1;\"></line><line transform=\"translate(178,0)\" x2=\"0\" y2=\"5\" style=\"fill: none; stroke: #888; stroke-width: 1; opacity: 1;\"></line></g><g class=\"mark-text role-axis-label\" style=\"pointer-events: none;\"><text text-anchor=\"start\" transform=\"translate(0,15)\" style=\"font-family: sans-serif; font-size: 10px; fill: #000; opacity: 1;\">0.0</text><text text-anchor=\"middle\" transform=\"translate(44.44444444444445,15)\" style=\"font-family: sans-serif; font-size: 10px; fill: #000; opacity: 1;\">0.2</text><text text-anchor=\"middle\" transform=\"translate(88.8888888888889,15)\" style=\"font-family: sans-serif; font-size: 10px; fill: #000; opacity: 1;\">0.4</text><text text-anchor=\"middle\" transform=\"translate(133.33333333333331,15)\" style=\"font-family: sans-serif; font-size: 10px; fill: #000; opacity: 1;\">0.6</text><text text-anchor=\"middle\" transform=\"translate(177.7777777777778,15)\" style=\"font-family: sans-serif; font-size: 10px; fill: #000; opacity: 1;\">0.8</text></g><g class=\"mark-rule role-axis-domain\" style=\"pointer-events: none;\"><line transform=\"translate(0,0)\" x2=\"200\" y2=\"0\" style=\"fill: none; stroke: #888; stroke-width: 1; opacity: 1;\"></line></g><g class=\"mark-text role-axis-title\" style=\"pointer-events: none;\"><text text-anchor=\"middle\" transform=\"translate(100,31)\" style=\"font-family: sans-serif; font-size: 11px; font-weight: bold; fill: #000; opacity: 1;\">col_a</text></g></g></g></g><g class=\"mark-group role-axis\"><g transform=\"translate(0.5,0.5)\"><path class=\"background\" d=\"M0,0h0v0h0Z\" style=\"pointer-events: none; fill: none;\"></path><g><g class=\"mark-rule role-axis-tick\" style=\"pointer-events: none;\"><line transform=\"translate(0,200)\" x2=\"-5\" y2=\"0\" style=\"fill: none; stroke: #888; stroke-width: 1; opacity: 1;\"></line><line transform=\"translate(0,160)\" x2=\"-5\" y2=\"0\" style=\"fill: none; stroke: #888; stroke-width: 1; opacity: 1;\"></line><line transform=\"translate(0,120)\" x2=\"-5\" y2=\"0\" style=\"fill: none; stroke: #888; stroke-width: 1; opacity: 1;\"></line><line transform=\"translate(0,80)\" x2=\"-5\" y2=\"0\" style=\"fill: none; stroke: #888; stroke-width: 1; opacity: 1;\"></line><line transform=\"translate(0,40)\" x2=\"-5\" y2=\"0\" style=\"fill: none; stroke: #888; stroke-width: 1; opacity: 1;\"></line><line transform=\"translate(0,0)\" x2=\"-5\" y2=\"0\" style=\"fill: none; stroke: #888; stroke-width: 1; opacity: 1;\"></line></g><g class=\"mark-text role-axis-label\" style=\"pointer-events: none;\"><text text-anchor=\"end\" transform=\"translate(-7,203)\" style=\"font-family: sans-serif; font-size: 10px; fill: #000; opacity: 1;\">0.0</text><text text-anchor=\"end\" transform=\"translate(-7,163)\" style=\"font-family: sans-serif; font-size: 10px; fill: #000; opacity: 1;\">0.2</text><text text-anchor=\"end\" transform=\"translate(-7,123)\" style=\"font-family: sans-serif; font-size: 10px; fill: #000; opacity: 1;\">0.4</text><text text-anchor=\"end\" transform=\"translate(-7,83)\" style=\"font-family: sans-serif; font-size: 10px; fill: #000; opacity: 1;\">0.6</text><text text-anchor=\"end\" transform=\"translate(-7,43)\" style=\"font-family: sans-serif; font-size: 10px; fill: #000; opacity: 1;\">0.8</text><text text-anchor=\"end\" transform=\"translate(-7,3)\" style=\"font-family: sans-serif; font-size: 10px; fill: #000; opacity: 1;\">1.0</text></g><g class=\"mark-rule role-axis-domain\" style=\"pointer-events: none;\"><line transform=\"translate(0,200)\" x2=\"0\" y2=\"-200\" style=\"fill: none; stroke: #888; stroke-width: 1; opacity: 1;\"></line></g><g class=\"mark-text role-axis-title\" style=\"pointer-events: none;\"><text text-anchor=\"middle\" transform=\"translate(-36,100) rotate(-90) translate(0,-2)\" style=\"font-family: sans-serif; font-size: 11px; font-weight: bold; fill: #000; opacity: 1;\">col_b</text></g></g></g></g></g></g></g></g></svg>"
],
"text/plain": [
"VegaLite.VLSpec{:plot}"
]
},
"execution_count": 19,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df |> @vlplot(:point, x=:col_a, y=:col_b)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"The first argument to the `@vlplot` call here determines what kind of visual we want to plot, and then we \"bind\" (or encode) how various properties, for example the x position of each point, get their values from the data (in this case from the column called `col_a`).\n",
"\n",
"You can also store a plot in a variable. In the following two cells I'm creating two distinct plots and store them in two variables:"
]
},
{
"cell_type": "code",
"execution_count": 20,
"metadata": {},
"outputs": [
{
"data": {
"application/vnd.vegalite.v2+json": {
"data": {
"values": [
{
"a": 0.9577808612799206,
"b": 0.22987456542154217
},
{
"a": 0.7784695657107854,
"b": 0.6063686130599766
},
{
"a": 0.7017375789518794,
"b": 0.5019958266977222
},
{
"a": 0.4028837298853778,
"b": 0.7488124547755601
},
{
"a": 0.5631713106598546,
"b": 0.5861414126133104
},
{
"a": 0.5113290973243718,
"b": 0.5782366867199948
},
{
"a": 0.9410030669644756,
"b": 0.7270261547031827
},
{
"a": 0.7075566999252778,
"b": 0.22158243385296528
},
{
"a": 0.7735675923460374,
"b": 0.29696989625846926
},
{
"a": 0.12825675771759504,
"b": 0.9766405144870403
}
]
},
"encoding": {
"x": {
"field": "a",
"type": "quantitative"
},
"y": {
"field": "b",
"type": "quantitative"
}
},
"mark": "point"
},
"image/png": "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",
"image/svg+xml": [
"<?xml version=\"1.0\" encoding=\"utf-8\"?>\n",
"<!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.1//EN\" \"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\">\n",
"<svg class=\"marks\" width=\"260\" height=\"251\" viewBox=\"0 0 260 251\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\"><g transform=\"translate(54,11)\"><g class=\"mark-group role-frame root\"><g transform=\"translate(0,0)\"><path class=\"background\" d=\"M0.5,0.5h200v200h-200Z\" style=\"fill: none; stroke: #ddd;\"></path><g><g class=\"mark-group role-axis\"><g transform=\"translate(0.5,200.5)\"><path class=\"background\" d=\"M0,0h0v0h0Z\" style=\"pointer-events: none; fill: none;\"></path><g><g class=\"mark-rule role-axis-grid\" style=\"pointer-events: none;\"><line transform=\"translate(0,-200)\" x2=\"0\" y2=\"200\" style=\"fill: none; stroke: #ddd; stroke-width: 1; opacity: 1;\"></line><line transform=\"translate(40,-200)\" x2=\"0\" y2=\"200\" style=\"fill: none; stroke: #ddd; stroke-width: 1; opacity: 1;\"></line><line transform=\"translate(80,-200)\" x2=\"0\" y2=\"200\" style=\"fill: none; stroke: #ddd; stroke-width: 1; opacity: 1;\"></line><line transform=\"translate(120,-200)\" x2=\"0\" y2=\"200\" style=\"fill: none; stroke: #ddd; stroke-width: 1; opacity: 1;\"></line><line transform=\"translate(160,-200)\" x2=\"0\" y2=\"200\" style=\"fill: none; stroke: #ddd; stroke-width: 1; opacity: 1;\"></line><line transform=\"translate(200,-200)\" x2=\"0\" y2=\"200\" style=\"fill: none; stroke: #ddd; stroke-width: 1; opacity: 1;\"></line></g></g></g></g><g class=\"mark-group role-axis\"><g transform=\"translate(0.5,0.5)\"><path class=\"background\" d=\"M0,0h0v0h0Z\" style=\"pointer-events: none; fill: none;\"></path><g><g class=\"mark-rule role-axis-grid\" style=\"pointer-events: none;\"><line transform=\"translate(0,200)\" x2=\"200\" y2=\"0\" style=\"fill: none; stroke: #ddd; stroke-width: 1; opacity: 1;\"></line><line transform=\"translate(0,160)\" x2=\"200\" y2=\"0\" style=\"fill: none; stroke: #ddd; stroke-width: 1; opacity: 1;\"></line><line transform=\"translate(0,120)\" x2=\"200\" y2=\"0\" style=\"fill: none; stroke: #ddd; stroke-width: 1; opacity: 1;\"></line><line transform=\"translate(0,80)\" x2=\"200\" y2=\"0\" style=\"fill: none; stroke: #ddd; stroke-width: 1; opacity: 1;\"></line><line transform=\"translate(0,40)\" x2=\"200\" y2=\"0\" style=\"fill: none; stroke: #ddd; stroke-width: 1; opacity: 1;\"></line><line transform=\"translate(0,0)\" x2=\"200\" y2=\"0\" style=\"fill: none; stroke: #ddd; stroke-width: 1; opacity: 1;\"></line></g></g></g></g><g class=\"mark-symbol role-mark marks\"><path transform=\"translate(191.5561722559841,154.02508691569156)\" d=\"M2.7386127875258306,0A2.7386127875258306,2.7386127875258306,0,1,1,-2.7386127875258306,0A2.7386127875258306,2.7386127875258306,0,1,1,2.7386127875258306,0\" style=\"fill: none; stroke: #4c78a8; stroke-width: 2; opacity: 0.7;\"></path><path transform=\"translate(155.69391314215707,78.72627738800469)\" d=\"M2.7386127875258306,0A2.7386127875258306,2.7386127875258306,0,1,1,-2.7386127875258306,0A2.7386127875258306,2.7386127875258306,0,1,1,2.7386127875258306,0\" style=\"fill: none; stroke: #4c78a8; stroke-width: 2; opacity: 0.7;\"></path><path transform=\"translate(140.34751579037587,99.60083466045555)\" d=\"M2.7386127875258306,0A2.7386127875258306,2.7386127875258306,0,1,1,-2.7386127875258306,0A2.7386127875258306,2.7386127875258306,0,1,1,2.7386127875258306,0\" style=\"fill: none; stroke: #4c78a8; stroke-width: 2; opacity: 0.7;\"></path><path transform=\"translate(80.57674597707556,50.237509044887986)\" d=\"M2.7386127875258306,0A2.7386127875258306,2.7386127875258306,0,1,1,-2.7386127875258306,0A2.7386127875258306,2.7386127875258306,0,1,1,2.7386127875258306,0\" style=\"fill: none; stroke: #4c78a8; stroke-width: 2; opacity: 0.7;\"></path><path transform=\"translate(112.63426213197091,82.77171747733792)\" d=\"M2.7386127875258306,0A2.7386127875258306,2.7386127875258306,0,1,1,-2.7386127875258306,0A2.7386127875258306,2.7386127875258306,0,1,1,2.7386127875258306,0\" style=\"fill: none; stroke: #4c78a8; stroke-width: 2; opacity: 0.7;\"></path><path transform=\"translate(102.26581946487437,84.35266265600103)\" d=\"M2.7386127875258306,0A2.7386127875258306,2.7386127875258306,0,1,1,-2.7386127875258306,0A2.7386127875258306,2.7386127875258306,0,1,1,2.7386127875258306,0\" style=\"fill: none; stroke: #4c78a8; stroke-width: 2; opacity: 0.7;\"></path><path transform=\"translate(188.20061339289512,54.59476905936347)\" d=\"M2.7386127875258306,0A2.7386127875258306,2.7386127875258306,0,1,1,-2.7386127875258306,0A2.7386127875258306,2.7386127875258306,0,1,1,2.7386127875258306,0\" style=\"fill: none; stroke: #4c78a8; stroke-width: 2; opacity: 0.7;\"></path><path transform=\"translate(141.51133998505557,155.68351322940694)\" d=\"M2.7386127875258306,0A2.7386127875258306,2.7386127875258306,0,1,1,-2.7386127875258306,0A2.7386127875258306,2.7386127875258306,0,1,1,2.7386127875258306,0\" style=\"fill: none; stroke: #4c78a8; stroke-width: 2; opacity: 0.7;\"></path><path transform=\"translate(154.7135184692075,140.60602074830615)\" d=\"M2.7386127875258306,0A2.7386127875258306,2.7386127875258306,0,1,1,-2.7386127875258306,0A2.7386127875258306,2.7386127875258306,0,1,1,2.7386127875258306,0\" style=\"fill: none; stroke: #4c78a8; stroke-width: 2; opacity: 0.7;\"></path><path transform=\"translate(25.651351543519006,4.671897102591942)\" d=\"M2.7386127875258306,0A2.7386127875258306,2.7386127875258306,0,1,1,-2.7386127875258306,0A2.7386127875258306,2.7386127875258306,0,1,1,2.7386127875258306,0\" style=\"fill: none; stroke: #4c78a8; stroke-width: 2; opacity: 0.7;\"></path></g><g class=\"mark-group role-axis\"><g transform=\"translate(0.5,200.5)\"><path class=\"background\" d=\"M0,0h0v0h0Z\" style=\"pointer-events: none; fill: none;\"></path><g><g class=\"mark-rule role-axis-tick\" style=\"pointer-events: none;\"><line transform=\"translate(0,0)\" x2=\"0\" y2=\"5\" style=\"fill: none; stroke: #888; stroke-width: 1; opacity: 1;\"></line><line transform=\"translate(40,0)\" x2=\"0\" y2=\"5\" style=\"fill: none; stroke: #888; stroke-width: 1; opacity: 1;\"></line><line transform=\"translate(80,0)\" x2=\"0\" y2=\"5\" style=\"fill: none; stroke: #888; stroke-width: 1; opacity: 1;\"></line><line transform=\"translate(120,0)\" x2=\"0\" y2=\"5\" style=\"fill: none; stroke: #888; stroke-width: 1; opacity: 1;\"></line><line transform=\"translate(160,0)\" x2=\"0\" y2=\"5\" style=\"fill: none; stroke: #888; stroke-width: 1; opacity: 1;\"></line><line transform=\"translate(200,0)\" x2=\"0\" y2=\"5\" style=\"fill: none; stroke: #888; stroke-width: 1; opacity: 1;\"></line></g><g class=\"mark-text role-axis-label\" style=\"pointer-events: none;\"><text text-anchor=\"start\" transform=\"translate(0,15)\" style=\"font-family: sans-serif; font-size: 10px; fill: #000; opacity: 1;\">0.0</text><text text-anchor=\"middle\" transform=\"translate(40,15)\" style=\"font-family: sans-serif; font-size: 10px; fill: #000; opacity: 1;\">0.2</text><text text-anchor=\"middle\" transform=\"translate(80,15)\" style=\"font-family: sans-serif; font-size: 10px; fill: #000; opacity: 1;\">0.4</text><text text-anchor=\"middle\" transform=\"translate(120,15)\" style=\"font-family: sans-serif; font-size: 10px; fill: #000; opacity: 1;\">0.6</text><text text-anchor=\"middle\" transform=\"translate(160,15)\" style=\"font-family: sans-serif; font-size: 10px; fill: #000; opacity: 1;\">0.8</text><text text-anchor=\"end\" transform=\"translate(200,15)\" style=\"font-family: sans-serif; font-size: 10px; fill: #000; opacity: 1;\">1.0</text></g><g class=\"mark-rule role-axis-domain\" style=\"pointer-events: none;\"><line transform=\"translate(0,0)\" x2=\"200\" y2=\"0\" style=\"fill: none; stroke: #888; stroke-width: 1; opacity: 1;\"></line></g><g class=\"mark-text role-axis-title\" style=\"pointer-events: none;\"><text text-anchor=\"middle\" transform=\"translate(100,31)\" style=\"font-family: sans-serif; font-size: 11px; font-weight: bold; fill: #000; opacity: 1;\">a</text></g></g></g></g><g class=\"mark-group role-axis\"><g transform=\"translate(0.5,0.5)\"><path class=\"background\" d=\"M0,0h0v0h0Z\" style=\"pointer-events: none; fill: none;\"></path><g><g class=\"mark-rule role-axis-tick\" style=\"pointer-events: none;\"><line transform=\"translate(0,200)\" x2=\"-5\" y2=\"0\" style=\"fill: none; stroke: #888; stroke-width: 1; opacity: 1;\"></line><line transform=\"translate(0,160)\" x2=\"-5\" y2=\"0\" style=\"fill: none; stroke: #888; stroke-width: 1; opacity: 1;\"></line><line transform=\"translate(0,120)\" x2=\"-5\" y2=\"0\" style=\"fill: none; stroke: #888; stroke-width: 1; opacity: 1;\"></line><line transform=\"translate(0,80)\" x2=\"-5\" y2=\"0\" style=\"fill: none; stroke: #888; stroke-width: 1; opacity: 1;\"></line><line transform=\"translate(0,40)\" x2=\"-5\" y2=\"0\" style=\"fill: none; stroke: #888; stroke-width: 1; opacity: 1;\"></line><line transform=\"translate(0,0)\" x2=\"-5\" y2=\"0\" style=\"fill: none; stroke: #888; stroke-width: 1; opacity: 1;\"></line></g><g class=\"mark-text role-axis-label\" style=\"pointer-events: none;\"><text text-anchor=\"end\" transform=\"translate(-7,203)\" style=\"font-family: sans-serif; font-size: 10px; fill: #000; opacity: 1;\">0.0</text><text text-anchor=\"end\" transform=\"translate(-7,163)\" style=\"font-family: sans-serif; font-size: 10px; fill: #000; opacity: 1;\">0.2</text><text text-anchor=\"end\" transform=\"translate(-7,123)\" style=\"font-family: sans-serif; font-size: 10px; fill: #000; opacity: 1;\">0.4</text><text text-anchor=\"end\" transform=\"translate(-7,83)\" style=\"font-family: sans-serif; font-size: 10px; fill: #000; opacity: 1;\">0.6</text><text text-anchor=\"end\" transform=\"translate(-7,43)\" style=\"font-family: sans-serif; font-size: 10px; fill: #000; opacity: 1;\">0.8</text><text text-anchor=\"end\" transform=\"translate(-7,3)\" style=\"font-family: sans-serif; font-size: 10px; fill: #000; opacity: 1;\">1.0</text></g><g class=\"mark-rule role-axis-domain\" style=\"pointer-events: none;\"><line transform=\"translate(0,200)\" x2=\"0\" y2=\"-200\" style=\"fill: none; stroke: #888; stroke-width: 1; opacity: 1;\"></line></g><g class=\"mark-text role-axis-title\" style=\"pointer-events: none;\"><text text-anchor=\"middle\" transform=\"translate(-36,100) rotate(-90) translate(0,-2)\" style=\"font-family: sans-serif; font-size: 11px; font-weight: bold; fill: #000; opacity: 1;\">b</text></g></g></g></g></g></g></g></g></svg>"
],
"text/plain": [
"VegaLite.VLSpec{:plot}"
]
},
"execution_count": 20,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"p1 = DataFrame(a=rand(10), b=rand(10)) |> @vlplot(:point, x=:a, y=:b)"
]
},
{
"cell_type": "code",
"execution_count": 21,
"metadata": {},
"outputs": [
{
"data": {
"application/vnd.vegalite.v2+json": {
"data": {
"values": [
{
"a": 2.9628086867698666,
"b": 1.5589085371454492
},
{
"a": 1.6993907043597956,
"b": 8.276308678049292
},
{
"a": 9.48756651482399,
"b": 7.5234328835201065
},
{
"a": 3.2102163215172586,
"b": 0.6883335184001016
},
{
"a": 5.973894419893961,
"b": 6.234258905592038
},
{
"a": 4.49085725901579,
"b": 7.828075491907365
},
{
"a": 5.085319544737628,
"b": 2.0802948080067107
},
{
"a": 5.9066895464119895,
"b": 1.6698398669303471
},
{
"a": 8.01948237118225,
"b": 4.3457258546830495
},
{
"a": 3.8530104309209046,
"b": 2.0926928586607985
}
]
},
"encoding": {
"x": {
"field": "a",
"type": "quantitative"
},
"y": {
"field": "b",
"type": "quantitative"
}
},
"mark": "point"
},
"image/png": "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",
"image/svg+xml": [
"<?xml version=\"1.0\" encoding=\"utf-8\"?>\n",
"<!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.1//EN\" \"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\">\n",
"<svg class=\"marks\" width=\"258\" height=\"245\" viewBox=\"0 0 258 245\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\"><g transform=\"translate(52,5)\"><g class=\"mark-group role-frame root\"><g transform=\"translate(0,0)\"><path class=\"background\" d=\"M0.5,0.5h200v200h-200Z\" style=\"fill: none; stroke: #ddd;\"></path><g><g class=\"mark-group role-axis\"><g transform=\"translate(0.5,200.5)\"><path class=\"background\" d=\"M0,0h0v0h0Z\" style=\"pointer-events: none; fill: none;\"></path><g><g class=\"mark-rule role-axis-grid\" style=\"pointer-events: none;\"><line transform=\"translate(0,-200)\" x2=\"0\" y2=\"200\" style=\"fill: none; stroke: #ddd; stroke-width: 1; opacity: 1;\"></line><line transform=\"translate(40,-200)\" x2=\"0\" y2=\"200\" style=\"fill: none; stroke: #ddd; stroke-width: 1; opacity: 1;\"></line><line transform=\"translate(80,-200)\" x2=\"0\" y2=\"200\" style=\"fill: none; stroke: #ddd; stroke-width: 1; opacity: 1;\"></line><line transform=\"translate(120,-200)\" x2=\"0\" y2=\"200\" style=\"fill: none; stroke: #ddd; stroke-width: 1; opacity: 1;\"></line><line transform=\"translate(160,-200)\" x2=\"0\" y2=\"200\" style=\"fill: none; stroke: #ddd; stroke-width: 1; opacity: 1;\"></line><line transform=\"translate(200,-200)\" x2=\"0\" y2=\"200\" style=\"fill: none; stroke: #ddd; stroke-width: 1; opacity: 1;\"></line></g></g></g></g><g class=\"mark-group role-axis\"><g transform=\"translate(0.5,0.5)\"><path class=\"background\" d=\"M0,0h0v0h0Z\" style=\"pointer-events: none; fill: none;\"></path><g><g class=\"mark-rule role-axis-grid\" style=\"pointer-events: none;\"><line transform=\"translate(0,200)\" x2=\"200\" y2=\"0\" style=\"fill: none; stroke: #ddd; stroke-width: 1; opacity: 1;\"></line><line transform=\"translate(0,156)\" x2=\"200\" y2=\"0\" style=\"fill: none; stroke: #ddd; stroke-width: 1; opacity: 1;\"></line><line transform=\"translate(0,111)\" x2=\"200\" y2=\"0\" style=\"fill: none; stroke: #ddd; stroke-width: 1; opacity: 1;\"></line><line transform=\"translate(0,67)\" x2=\"200\" y2=\"0\" style=\"fill: none; stroke: #ddd; stroke-width: 1; opacity: 1;\"></line><line transform=\"translate(0,22)\" x2=\"200\" y2=\"0\" style=\"fill: none; stroke: #ddd; stroke-width: 1; opacity: 1;\"></line></g></g></g></g><g class=\"mark-symbol role-mark marks\"><path transform=\"translate(59.25617373539733,165.35758806343446)\" d=\"M2.7386127875258306,0A2.7386127875258306,2.7386127875258306,0,1,1,-2.7386127875258306,0A2.7386127875258306,2.7386127875258306,0,1,1,2.7386127875258306,0\" style=\"fill: none; stroke: #4c78a8; stroke-width: 2; opacity: 0.7;\"></path><path transform=\"translate(33.987814087195915,16.082029376682414)\" d=\"M2.7386127875258306,0A2.7386127875258306,2.7386127875258306,0,1,1,-2.7386127875258306,0A2.7386127875258306,2.7386127875258306,0,1,1,2.7386127875258306,0\" style=\"fill: none; stroke: #4c78a8; stroke-width: 2; opacity: 0.7;\"></path><path transform=\"translate(189.7513302964798,32.812602588442076)\" d=\"M2.7386127875258306,0A2.7386127875258306,2.7386127875258306,0,1,1,-2.7386127875258306,0A2.7386127875258306,2.7386127875258306,0,1,1,2.7386127875258306,0\" style=\"fill: none; stroke: #4c78a8; stroke-width: 2; opacity: 0.7;\"></path><path transform=\"translate(64.20432643034518,184.70369959110886)\" d=\"M2.7386127875258306,0A2.7386127875258306,2.7386127875258306,0,1,1,-2.7386127875258306,0A2.7386127875258306,2.7386127875258306,0,1,1,2.7386127875258306,0\" style=\"fill: none; stroke: #4c78a8; stroke-width: 2; opacity: 0.7;\"></path><path transform=\"translate(119.47788839787923,61.46091320906581)\" d=\"M2.7386127875258306,0A2.7386127875258306,2.7386127875258306,0,1,1,-2.7386127875258306,0A2.7386127875258306,2.7386127875258306,0,1,1,2.7386127875258306,0\" style=\"fill: none; stroke: #4c78a8; stroke-width: 2; opacity: 0.7;\"></path><path transform=\"translate(89.8171451803158,26.042766846502985)\" d=\"M2.7386127875258306,0A2.7386127875258306,2.7386127875258306,0,1,1,-2.7386127875258306,0A2.7386127875258306,2.7386127875258306,0,1,1,2.7386127875258306,0\" style=\"fill: none; stroke: #4c78a8; stroke-width: 2; opacity: 0.7;\"></path><path transform=\"translate(101.70639089475256,153.77122648873976)\" d=\"M2.7386127875258306,0A2.7386127875258306,2.7386127875258306,0,1,1,-2.7386127875258306,0A2.7386127875258306,2.7386127875258306,0,1,1,2.7386127875258306,0\" style=\"fill: none; stroke: #4c78a8; stroke-width: 2; opacity: 0.7;\"></path><path transform=\"translate(118.13379092823979,162.89244740154783)\" d=\"M2.7386127875258306,0A2.7386127875258306,2.7386127875258306,0,1,1,-2.7386127875258306,0A2.7386127875258306,2.7386127875258306,0,1,1,2.7386127875258306,0\" style=\"fill: none; stroke: #4c78a8; stroke-width: 2; opacity: 0.7;\"></path><path transform=\"translate(160.389647423645,103.42831434037669)\" d=\"M2.7386127875258306,0A2.7386127875258306,2.7386127875258306,0,1,1,-2.7386127875258306,0A2.7386127875258306,2.7386127875258306,0,1,1,2.7386127875258306,0\" style=\"fill: none; stroke: #4c78a8; stroke-width: 2; opacity: 0.7;\"></path><path transform=\"translate(77.06020861841809,153.49571425198226)\" d=\"M2.7386127875258306,0A2.7386127875258306,2.7386127875258306,0,1,1,-2.7386127875258306,0A2.7386127875258306,2.7386127875258306,0,1,1,2.7386127875258306,0\" style=\"fill: none; stroke: #4c78a8; stroke-width: 2; opacity: 0.7;\"></path></g><g class=\"mark-group role-axis\"><g transform=\"translate(0.5,200.5)\"><path class=\"background\" d=\"M0,0h0v0h0Z\" style=\"pointer-events: none; fill: none;\"></path><g><g class=\"mark-rule role-axis-tick\" style=\"pointer-events: none;\"><line transform=\"translate(0,0)\" x2=\"0\" y2=\"5\" style=\"fill: none; stroke: #888; stroke-width: 1; opacity: 1;\"></line><line transform=\"translate(40,0)\" x2=\"0\" y2=\"5\" style=\"fill: none; stroke: #888; stroke-width: 1; opacity: 1;\"></line><line transform=\"translate(80,0)\" x2=\"0\" y2=\"5\" style=\"fill: none; stroke: #888; stroke-width: 1; opacity: 1;\"></line><line transform=\"translate(120,0)\" x2=\"0\" y2=\"5\" style=\"fill: none; stroke: #888; stroke-width: 1; opacity: 1;\"></line><line transform=\"translate(160,0)\" x2=\"0\" y2=\"5\" style=\"fill: none; stroke: #888; stroke-width: 1; opacity: 1;\"></line><line transform=\"translate(200,0)\" x2=\"0\" y2=\"5\" style=\"fill: none; stroke: #888; stroke-width: 1; opacity: 1;\"></line></g><g class=\"mark-text role-axis-label\" style=\"pointer-events: none;\"><text text-anchor=\"start\" transform=\"translate(0,15)\" style=\"font-family: sans-serif; font-size: 10px; fill: #000; opacity: 1;\">0</text><text text-anchor=\"middle\" transform=\"translate(40,15)\" style=\"font-family: sans-serif; font-size: 10px; fill: #000; opacity: 1;\">2</text><text text-anchor=\"middle\" transform=\"translate(80,15)\" style=\"font-family: sans-serif; font-size: 10px; fill: #000; opacity: 1;\">4</text><text text-anchor=\"middle\" transform=\"translate(120,15)\" style=\"font-family: sans-serif; font-size: 10px; fill: #000; opacity: 1;\">6</text><text text-anchor=\"middle\" transform=\"translate(160,15)\" style=\"font-family: sans-serif; font-size: 10px; fill: #000; opacity: 1;\">8</text><text text-anchor=\"end\" transform=\"translate(200,15)\" style=\"font-family: sans-serif; font-size: 10px; fill: #000; opacity: 1;\">10</text></g><g class=\"mark-rule role-axis-domain\" style=\"pointer-events: none;\"><line transform=\"translate(0,0)\" x2=\"200\" y2=\"0\" style=\"fill: none; stroke: #888; stroke-width: 1; opacity: 1;\"></line></g><g class=\"mark-text role-axis-title\" style=\"pointer-events: none;\"><text text-anchor=\"middle\" transform=\"translate(100,31)\" style=\"font-family: sans-serif; font-size: 11px; font-weight: bold; fill: #000; opacity: 1;\">a</text></g></g></g></g><g class=\"mark-group role-axis\"><g transform=\"translate(0.5,0.5)\"><path class=\"background\" d=\"M0,0h0v0h0Z\" style=\"pointer-events: none; fill: none;\"></path><g><g class=\"mark-rule role-axis-tick\" style=\"pointer-events: none;\"><line transform=\"translate(0,200)\" x2=\"-5\" y2=\"0\" style=\"fill: none; stroke: #888; stroke-width: 1; opacity: 1;\"></line><line transform=\"translate(0,156)\" x2=\"-5\" y2=\"0\" style=\"fill: none; stroke: #888; stroke-width: 1; opacity: 1;\"></line><line transform=\"translate(0,111)\" x2=\"-5\" y2=\"0\" style=\"fill: none; stroke: #888; stroke-width: 1; opacity: 1;\"></line><line transform=\"translate(0,67)\" x2=\"-5\" y2=\"0\" style=\"fill: none; stroke: #888; stroke-width: 1; opacity: 1;\"></line><line transform=\"translate(0,22)\" x2=\"-5\" y2=\"0\" style=\"fill: none; stroke: #888; stroke-width: 1; opacity: 1;\"></line></g><g class=\"mark-text role-axis-label\" style=\"pointer-events: none;\"><text text-anchor=\"end\" transform=\"translate(-7,203)\" style=\"font-family: sans-serif; font-size: 10px; fill: #000; opacity: 1;\">0</text><text text-anchor=\"end\" transform=\"translate(-7,158.55555555555554)\" style=\"font-family: sans-serif; font-size: 10px; fill: #000; opacity: 1;\">2</text><text text-anchor=\"end\" transform=\"translate(-7,114.11111111111111)\" style=\"font-family: sans-serif; font-size: 10px; fill: #000; opacity: 1;\">4</text><text text-anchor=\"end\" transform=\"translate(-7,69.66666666666669)\" style=\"font-family: sans-serif; font-size: 10px; fill: #000; opacity: 1;\">6</text><text text-anchor=\"end\" transform=\"translate(-7,25.22222222222223)\" style=\"font-family: sans-serif; font-size: 10px; fill: #000; opacity: 1;\">8</text></g><g class=\"mark-rule role-axis-domain\" style=\"pointer-events: none;\"><line transform=\"translate(0,200)\" x2=\"0\" y2=\"-200\" style=\"fill: none; stroke: #888; stroke-width: 1; opacity: 1;\"></line></g><g class=\"mark-text role-axis-title\" style=\"pointer-events: none;\"><text text-anchor=\"middle\" transform=\"translate(-34,100) rotate(-90) translate(0,-2)\" style=\"font-family: sans-serif; font-size: 11px; font-weight: bold; fill: #000; opacity: 1;\">b</text></g></g></g></g></g></g></g></g></svg>"
],
"text/plain": [
"VegaLite.VLSpec{:plot}"
]
},
"execution_count": 21,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"p2 = DataFrame(a=10 .* rand(10), b=10 .* rand(10)) |> @vlplot(:point, x=:a, y=:b)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"We can now combine these two plots into one by using something similar to the array creation syntax:"
]
},
{
"cell_type": "code",
"execution_count": 22,
"metadata": {},
"outputs": [
{
"data": {
"application/vnd.vegalite.v2+json": {
"hconcat": [
{
"data": {
"values": [
{
"a": 0.9577808612799206,
"b": 0.22987456542154217
},
{
"a": 0.7784695657107854,
"b": 0.6063686130599766
},
{
"a": 0.7017375789518794,
"b": 0.5019958266977222
},
{
"a": 0.4028837298853778,
"b": 0.7488124547755601
},
{
"a": 0.5631713106598546,
"b": 0.5861414126133104
},
{
"a": 0.5113290973243718,
"b": 0.5782366867199948
},
{
"a": 0.9410030669644756,
"b": 0.7270261547031827
},
{
"a": 0.7075566999252778,
"b": 0.22158243385296528
},
{
"a": 0.7735675923460374,
"b": 0.29696989625846926
},
{
"a": 0.12825675771759504,
"b": 0.9766405144870403
}
]
},
"encoding": {
"x": {
"field": "a",
"type": "quantitative"
},
"y": {
"field": "b",
"type": "quantitative"
}
},
"mark": "point"
},
{
"data": {
"values": [
{
"a": 2.9628086867698666,
"b": 1.5589085371454492
},
{
"a": 1.6993907043597956,
"b": 8.276308678049292
},
{
"a": 9.48756651482399,
"b": 7.5234328835201065
},
{
"a": 3.2102163215172586,
"b": 0.6883335184001016
},
{
"a": 5.973894419893961,
"b": 6.234258905592038
},
{
"a": 4.49085725901579,
"b": 7.828075491907365
},
{
"a": 5.085319544737628,
"b": 2.0802948080067107
},
{
"a": 5.9066895464119895,
"b": 1.6698398669303471
},
{
"a": 8.01948237118225,
"b": 4.3457258546830495
},
{
"a": 3.8530104309209046,
"b": 2.0926928586607985
}
]
},
"encoding": {
"x": {
"field": "a",
"type": "quantitative"
},
"y": {
"field": "b",
"type": "quantitative"
}
},
"mark": "point"
}
]
},
"image/png": "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",
"image/svg+xml": [
"<?xml version=\"1.0\" encoding=\"utf-8\"?>\n",
"<!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.1//EN\" \"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\">\n",
"<svg class=\"marks\" width=\"522\" height=\"253\" viewBox=\"0 0 522 253\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\"><g transform=\"translate(55,12)\"><g class=\"mark-group role-frame root\"><g transform=\"translate(0,0)\"><path class=\"background\" d=\"M0,0h0v200h0Z\" style=\"fill: none;\"></path><g><g class=\"mark-group role-scope concat_0_group\"><g transform=\"translate(0,0)\"><path class=\"background\" d=\"M0.5,0.5h200v200h-200Z\" style=\"fill: none; stroke: #ddd;\"></path><g><g class=\"mark-group role-axis\"><g transform=\"translate(0.5,200.5)\"><path class=\"background\" d=\"M0,0h0v0h0Z\" style=\"pointer-events: none; fill: none;\"></path><g><g class=\"mark-rule role-axis-grid\" style=\"pointer-events: none;\"><line transform=\"translate(0,-200)\" x2=\"0\" y2=\"200\" style=\"fill: none; stroke: #ddd; stroke-width: 1; opacity: 1;\"></line><line transform=\"translate(40,-200)\" x2=\"0\" y2=\"200\" style=\"fill: none; stroke: #ddd; stroke-width: 1; opacity: 1;\"></line><line transform=\"translate(80,-200)\" x2=\"0\" y2=\"200\" style=\"fill: none; stroke: #ddd; stroke-width: 1; opacity: 1;\"></line><line transform=\"translate(120,-200)\" x2=\"0\" y2=\"200\" style=\"fill: none; stroke: #ddd; stroke-width: 1; opacity: 1;\"></line><line transform=\"translate(160,-200)\" x2=\"0\" y2=\"200\" style=\"fill: none; stroke: #ddd; stroke-width: 1; opacity: 1;\"></line><line transform=\"translate(200,-200)\" x2=\"0\" y2=\"200\" style=\"fill: none; stroke: #ddd; stroke-width: 1; opacity: 1;\"></line></g></g></g></g><g class=\"mark-group role-axis\"><g transform=\"translate(0.5,0.5)\"><path class=\"background\" d=\"M0,0h0v0h0Z\" style=\"pointer-events: none; fill: none;\"></path><g><g class=\"mark-rule role-axis-grid\" style=\"pointer-events: none;\"><line transform=\"translate(0,200)\" x2=\"200\" y2=\"0\" style=\"fill: none; stroke: #ddd; stroke-width: 1; opacity: 1;\"></line><line transform=\"translate(0,160)\" x2=\"200\" y2=\"0\" style=\"fill: none; stroke: #ddd; stroke-width: 1; opacity: 1;\"></line><line transform=\"translate(0,120)\" x2=\"200\" y2=\"0\" style=\"fill: none; stroke: #ddd; stroke-width: 1; opacity: 1;\"></line><line transform=\"translate(0,80)\" x2=\"200\" y2=\"0\" style=\"fill: none; stroke: #ddd; stroke-width: 1; opacity: 1;\"></line><line transform=\"translate(0,40)\" x2=\"200\" y2=\"0\" style=\"fill: none; stroke: #ddd; stroke-width: 1; opacity: 1;\"></line><line transform=\"translate(0,0)\" x2=\"200\" y2=\"0\" style=\"fill: none; stroke: #ddd; stroke-width: 1; opacity: 1;\"></line></g></g></g></g><g class=\"mark-symbol role-mark concat_0_marks\"><path transform=\"translate(191.5561722559841,154.02508691569156)\" d=\"M2.7386127875258306,0A2.7386127875258306,2.7386127875258306,0,1,1,-2.7386127875258306,0A2.7386127875258306,2.7386127875258306,0,1,1,2.7386127875258306,0\" style=\"fill: none; stroke: #4c78a8; stroke-width: 2; opacity: 0.7;\"></path><path transform=\"translate(155.69391314215707,78.72627738800469)\" d=\"M2.7386127875258306,0A2.7386127875258306,2.7386127875258306,0,1,1,-2.7386127875258306,0A2.7386127875258306,2.7386127875258306,0,1,1,2.7386127875258306,0\" style=\"fill: none; stroke: #4c78a8; stroke-width: 2; opacity: 0.7;\"></path><path transform=\"translate(140.34751579037587,99.60083466045555)\" d=\"M2.7386127875258306,0A2.7386127875258306,2.7386127875258306,0,1,1,-2.7386127875258306,0A2.7386127875258306,2.7386127875258306,0,1,1,2.7386127875258306,0\" style=\"fill: none; stroke: #4c78a8; stroke-width: 2; opacity: 0.7;\"></path><path transform=\"translate(80.57674597707556,50.237509044887986)\" d=\"M2.7386127875258306,0A2.7386127875258306,2.7386127875258306,0,1,1,-2.7386127875258306,0A2.7386127875258306,2.7386127875258306,0,1,1,2.7386127875258306,0\" style=\"fill: none; stroke: #4c78a8; stroke-width: 2; opacity: 0.7;\"></path><path transform=\"translate(112.63426213197091,82.77171747733792)\" d=\"M2.7386127875258306,0A2.7386127875258306,2.7386127875258306,0,1,1,-2.7386127875258306,0A2.7386127875258306,2.7386127875258306,0,1,1,2.7386127875258306,0\" style=\"fill: none; stroke: #4c78a8; stroke-width: 2; opacity: 0.7;\"></path><path transform=\"translate(102.26581946487437,84.35266265600103)\" d=\"M2.7386127875258306,0A2.7386127875258306,2.7386127875258306,0,1,1,-2.7386127875258306,0A2.7386127875258306,2.7386127875258306,0,1,1,2.7386127875258306,0\" style=\"fill: none; stroke: #4c78a8; stroke-width: 2; opacity: 0.7;\"></path><path transform=\"translate(188.20061339289512,54.59476905936347)\" d=\"M2.7386127875258306,0A2.7386127875258306,2.7386127875258306,0,1,1,-2.7386127875258306,0A2.7386127875258306,2.7386127875258306,0,1,1,2.7386127875258306,0\" style=\"fill: none; stroke: #4c78a8; stroke-width: 2; opacity: 0.7;\"></path><path transform=\"translate(141.51133998505557,155.68351322940694)\" d=\"M2.7386127875258306,0A2.7386127875258306,2.7386127875258306,0,1,1,-2.7386127875258306,0A2.7386127875258306,2.7386127875258306,0,1,1,2.7386127875258306,0\" style=\"fill: none; stroke: #4c78a8; stroke-width: 2; opacity: 0.7;\"></path><path transform=\"translate(154.7135184692075,140.60602074830615)\" d=\"M2.7386127875258306,0A2.7386127875258306,2.7386127875258306,0,1,1,-2.7386127875258306,0A2.7386127875258306,2.7386127875258306,0,1,1,2.7386127875258306,0\" style=\"fill: none; stroke: #4c78a8; stroke-width: 2; opacity: 0.7;\"></path><path transform=\"translate(25.651351543519006,4.671897102591942)\" d=\"M2.7386127875258306,0A2.7386127875258306,2.7386127875258306,0,1,1,-2.7386127875258306,0A2.7386127875258306,2.7386127875258306,0,1,1,2.7386127875258306,0\" style=\"fill: none; stroke: #4c78a8; stroke-width: 2; opacity: 0.7;\"></path></g><g class=\"mark-group role-axis\"><g transform=\"translate(0.5,200.5)\"><path class=\"background\" d=\"M0,0h0v0h0Z\" style=\"pointer-events: none; fill: none;\"></path><g><g class=\"mark-rule role-axis-tick\" style=\"pointer-events: none;\"><line transform=\"translate(0,0)\" x2=\"0\" y2=\"5\" style=\"fill: none; stroke: #888; stroke-width: 1; opacity: 1;\"></line><line transform=\"translate(40,0)\" x2=\"0\" y2=\"5\" style=\"fill: none; stroke: #888; stroke-width: 1; opacity: 1;\"></line><line transform=\"translate(80,0)\" x2=\"0\" y2=\"5\" style=\"fill: none; stroke: #888; stroke-width: 1; opacity: 1;\"></line><line transform=\"translate(120,0)\" x2=\"0\" y2=\"5\" style=\"fill: none; stroke: #888; stroke-width: 1; opacity: 1;\"></line><line transform=\"translate(160,0)\" x2=\"0\" y2=\"5\" style=\"fill: none; stroke: #888; stroke-width: 1; opacity: 1;\"></line><line transform=\"translate(200,0)\" x2=\"0\" y2=\"5\" style=\"fill: none; stroke: #888; stroke-width: 1; opacity: 1;\"></line></g><g class=\"mark-text role-axis-label\" style=\"pointer-events: none;\"><text text-anchor=\"start\" transform=\"translate(0,15)\" style=\"font-family: sans-serif; font-size: 10px; fill: #000; opacity: 1;\">0.0</text><text text-anchor=\"middle\" transform=\"translate(40,15)\" style=\"font-family: sans-serif; font-size: 10px; fill: #000; opacity: 1;\">0.2</text><text text-anchor=\"middle\" transform=\"translate(80,15)\" style=\"font-family: sans-serif; font-size: 10px; fill: #000; opacity: 1;\">0.4</text><text text-anchor=\"middle\" transform=\"translate(120,15)\" style=\"font-family: sans-serif; font-size: 10px; fill: #000; opacity: 1;\">0.6</text><text text-anchor=\"middle\" transform=\"translate(160,15)\" style=\"font-family: sans-serif; font-size: 10px; fill: #000; opacity: 1;\">0.8</text><text text-anchor=\"end\" transform=\"translate(200,15)\" style=\"font-family: sans-serif; font-size: 10px; fill: #000; opacity: 1;\">1.0</text></g><g class=\"mark-rule role-axis-domain\" style=\"pointer-events: none;\"><line transform=\"translate(0,0)\" x2=\"200\" y2=\"0\" style=\"fill: none; stroke: #888; stroke-width: 1; opacity: 1;\"></line></g><g class=\"mark-text role-axis-title\" style=\"pointer-events: none;\"><text text-anchor=\"middle\" transform=\"translate(100,31)\" style=\"font-family: sans-serif; font-size: 11px; font-weight: bold; fill: #000; opacity: 1;\">a</text></g></g></g></g><g class=\"mark-group role-axis\"><g transform=\"translate(0.5,0.5)\"><path class=\"background\" d=\"M0,0h0v0h0Z\" style=\"pointer-events: none; fill: none;\"></path><g><g class=\"mark-rule role-axis-tick\" style=\"pointer-events: none;\"><line transform=\"translate(0,200)\" x2=\"-5\" y2=\"0\" style=\"fill: none; stroke: #888; stroke-width: 1; opacity: 1;\"></line><line transform=\"translate(0,160)\" x2=\"-5\" y2=\"0\" style=\"fill: none; stroke: #888; stroke-width: 1; opacity: 1;\"></line><line transform=\"translate(0,120)\" x2=\"-5\" y2=\"0\" style=\"fill: none; stroke: #888; stroke-width: 1; opacity: 1;\"></line><line transform=\"translate(0,80)\" x2=\"-5\" y2=\"0\" style=\"fill: none; stroke: #888; stroke-width: 1; opacity: 1;\"></line><line transform=\"translate(0,40)\" x2=\"-5\" y2=\"0\" style=\"fill: none; stroke: #888; stroke-width: 1; opacity: 1;\"></line><line transform=\"translate(0,0)\" x2=\"-5\" y2=\"0\" style=\"fill: none; stroke: #888; stroke-width: 1; opacity: 1;\"></line></g><g class=\"mark-text role-axis-label\" style=\"pointer-events: none;\"><text text-anchor=\"end\" transform=\"translate(-7,203)\" style=\"font-family: sans-serif; font-size: 10px; fill: #000; opacity: 1;\">0.0</text><text text-anchor=\"end\" transform=\"translate(-7,163)\" style=\"font-family: sans-serif; font-size: 10px; fill: #000; opacity: 1;\">0.2</text><text text-anchor=\"end\" transform=\"translate(-7,123)\" style=\"font-family: sans-serif; font-size: 10px; fill: #000; opacity: 1;\">0.4</text><text text-anchor=\"end\" transform=\"translate(-7,83)\" style=\"font-family: sans-serif; font-size: 10px; fill: #000; opacity: 1;\">0.6</text><text text-anchor=\"end\" transform=\"translate(-7,43)\" style=\"font-family: sans-serif; font-size: 10px; fill: #000; opacity: 1;\">0.8</text><text text-anchor=\"end\" transform=\"translate(-7,3)\" style=\"font-family: sans-serif; font-size: 10px; fill: #000; opacity: 1;\">1.0</text></g><g class=\"mark-rule role-axis-domain\" style=\"pointer-events: none;\"><line transform=\"translate(0,200)\" x2=\"0\" y2=\"-200\" style=\"fill: none; stroke: #888; stroke-width: 1; opacity: 1;\"></line></g><g class=\"mark-text role-axis-title\" style=\"pointer-events: none;\"><text text-anchor=\"middle\" transform=\"translate(-36,100) rotate(-90) translate(0,-2)\" style=\"font-family: sans-serif; font-size: 11px; font-weight: bold; fill: #000; opacity: 1;\">b</text></g></g></g></g></g></g></g><g class=\"mark-group role-scope concat_1_group\"><g transform=\"translate(260,0)\"><path class=\"background\" d=\"M0.5,0.5h200v200h-200Z\" style=\"fill: none; stroke: #ddd;\"></path><g><g class=\"mark-group role-axis\"><g transform=\"translate(0.5,200.5)\"><path class=\"background\" d=\"M0,0h0v0h0Z\" style=\"pointer-events: none; fill: none;\"></path><g><g class=\"mark-rule role-axis-grid\" style=\"pointer-events: none;\"><line transform=\"translate(0,-200)\" x2=\"0\" y2=\"200\" style=\"fill: none; stroke: #ddd; stroke-width: 1; opacity: 1;\"></line><line transform=\"translate(40,-200)\" x2=\"0\" y2=\"200\" style=\"fill: none; stroke: #ddd; stroke-width: 1; opacity: 1;\"></line><line transform=\"translate(80,-200)\" x2=\"0\" y2=\"200\" style=\"fill: none; stroke: #ddd; stroke-width: 1; opacity: 1;\"></line><line transform=\"translate(120,-200)\" x2=\"0\" y2=\"200\" style=\"fill: none; stroke: #ddd; stroke-width: 1; opacity: 1;\"></line><line transform=\"translate(160,-200)\" x2=\"0\" y2=\"200\" style=\"fill: none; stroke: #ddd; stroke-width: 1; opacity: 1;\"></line><line transform=\"translate(200,-200)\" x2=\"0\" y2=\"200\" style=\"fill: none; stroke: #ddd; stroke-width: 1; opacity: 1;\"></line></g></g></g></g><g class=\"mark-group role-axis\"><g transform=\"translate(0.5,0.5)\"><path class=\"background\" d=\"M0,0h0v0h0Z\" style=\"pointer-events: none; fill: none;\"></path><g><g class=\"mark-rule role-axis-grid\" style=\"pointer-events: none;\"><line transform=\"translate(0,200)\" x2=\"200\" y2=\"0\" style=\"fill: none; stroke: #ddd; stroke-width: 1; opacity: 1;\"></line><line transform=\"translate(0,156)\" x2=\"200\" y2=\"0\" style=\"fill: none; stroke: #ddd; stroke-width: 1; opacity: 1;\"></line><line transform=\"translate(0,111)\" x2=\"200\" y2=\"0\" style=\"fill: none; stroke: #ddd; stroke-width: 1; opacity: 1;\"></line><line transform=\"translate(0,67)\" x2=\"200\" y2=\"0\" style=\"fill: none; stroke: #ddd; stroke-width: 1; opacity: 1;\"></line><line transform=\"translate(0,22)\" x2=\"200\" y2=\"0\" style=\"fill: none; stroke: #ddd; stroke-width: 1; opacity: 1;\"></line></g></g></g></g><g class=\"mark-symbol role-mark concat_1_marks\"><path transform=\"translate(59.25617373539733,165.35758806343446)\" d=\"M2.7386127875258306,0A2.7386127875258306,2.7386127875258306,0,1,1,-2.7386127875258306,0A2.7386127875258306,2.7386127875258306,0,1,1,2.7386127875258306,0\" style=\"fill: none; stroke: #4c78a8; stroke-width: 2; opacity: 0.7;\"></path><path transform=\"translate(33.987814087195915,16.082029376682414)\" d=\"M2.7386127875258306,0A2.7386127875258306,2.7386127875258306,0,1,1,-2.7386127875258306,0A2.7386127875258306,2.7386127875258306,0,1,1,2.7386127875258306,0\" style=\"fill: none; stroke: #4c78a8; stroke-width: 2; opacity: 0.7;\"></path><path transform=\"translate(189.7513302964798,32.812602588442076)\" d=\"M2.7386127875258306,0A2.7386127875258306,2.7386127875258306,0,1,1,-2.7386127875258306,0A2.7386127875258306,2.7386127875258306,0,1,1,2.7386127875258306,0\" style=\"fill: none; stroke: #4c78a8; stroke-width: 2; opacity: 0.7;\"></path><path transform=\"translate(64.20432643034518,184.70369959110886)\" d=\"M2.7386127875258306,0A2.7386127875258306,2.7386127875258306,0,1,1,-2.7386127875258306,0A2.7386127875258306,2.7386127875258306,0,1,1,2.7386127875258306,0\" style=\"fill: none; stroke: #4c78a8; stroke-width: 2; opacity: 0.7;\"></path><path transform=\"translate(119.47788839787923,61.46091320906581)\" d=\"M2.7386127875258306,0A2.7386127875258306,2.7386127875258306,0,1,1,-2.7386127875258306,0A2.7386127875258306,2.7386127875258306,0,1,1,2.7386127875258306,0\" style=\"fill: none; stroke: #4c78a8; stroke-width: 2; opacity: 0.7;\"></path><path transform=\"translate(89.8171451803158,26.042766846502985)\" d=\"M2.7386127875258306,0A2.7386127875258306,2.7386127875258306,0,1,1,-2.7386127875258306,0A2.7386127875258306,2.7386127875258306,0,1,1,2.7386127875258306,0\" style=\"fill: none; stroke: #4c78a8; stroke-width: 2; opacity: 0.7;\"></path><path transform=\"translate(101.70639089475256,153.77122648873976)\" d=\"M2.7386127875258306,0A2.7386127875258306,2.7386127875258306,0,1,1,-2.7386127875258306,0A2.7386127875258306,2.7386127875258306,0,1,1,2.7386127875258306,0\" style=\"fill: none; stroke: #4c78a8; stroke-width: 2; opacity: 0.7;\"></path><path transform=\"translate(118.13379092823979,162.89244740154783)\" d=\"M2.7386127875258306,0A2.7386127875258306,2.7386127875258306,0,1,1,-2.7386127875258306,0A2.7386127875258306,2.7386127875258306,0,1,1,2.7386127875258306,0\" style=\"fill: none; stroke: #4c78a8; stroke-width: 2; opacity: 0.7;\"></path><path transform=\"translate(160.389647423645,103.42831434037669)\" d=\"M2.7386127875258306,0A2.7386127875258306,2.7386127875258306,0,1,1,-2.7386127875258306,0A2.7386127875258306,2.7386127875258306,0,1,1,2.7386127875258306,0\" style=\"fill: none; stroke: #4c78a8; stroke-width: 2; opacity: 0.7;\"></path><path transform=\"translate(77.06020861841809,153.49571425198226)\" d=\"M2.7386127875258306,0A2.7386127875258306,2.7386127875258306,0,1,1,-2.7386127875258306,0A2.7386127875258306,2.7386127875258306,0,1,1,2.7386127875258306,0\" style=\"fill: none; stroke: #4c78a8; stroke-width: 2; opacity: 0.7;\"></path></g><g class=\"mark-group role-axis\"><g transform=\"translate(0.5,200.5)\"><path class=\"background\" d=\"M0,0h0v0h0Z\" style=\"pointer-events: none; fill: none;\"></path><g><g class=\"mark-rule role-axis-tick\" style=\"pointer-events: none;\"><line transform=\"translate(0,0)\" x2=\"0\" y2=\"5\" style=\"fill: none; stroke: #888; stroke-width: 1; opacity: 1;\"></line><line transform=\"translate(40,0)\" x2=\"0\" y2=\"5\" style=\"fill: none; stroke: #888; stroke-width: 1; opacity: 1;\"></line><line transform=\"translate(80,0)\" x2=\"0\" y2=\"5\" style=\"fill: none; stroke: #888; stroke-width: 1; opacity: 1;\"></line><line transform=\"translate(120,0)\" x2=\"0\" y2=\"5\" style=\"fill: none; stroke: #888; stroke-width: 1; opacity: 1;\"></line><line transform=\"translate(160,0)\" x2=\"0\" y2=\"5\" style=\"fill: none; stroke: #888; stroke-width: 1; opacity: 1;\"></line><line transform=\"translate(200,0)\" x2=\"0\" y2=\"5\" style=\"fill: none; stroke: #888; stroke-width: 1; opacity: 1;\"></line></g><g class=\"mark-text role-axis-label\" style=\"pointer-events: none;\"><text text-anchor=\"start\" transform=\"translate(0,15)\" style=\"font-family: sans-serif; font-size: 10px; fill: #000; opacity: 1;\">0</text><text text-anchor=\"middle\" transform=\"translate(40,15)\" style=\"font-family: sans-serif; font-size: 10px; fill: #000; opacity: 1;\">2</text><text text-anchor=\"middle\" transform=\"translate(80,15)\" style=\"font-family: sans-serif; font-size: 10px; fill: #000; opacity: 1;\">4</text><text text-anchor=\"middle\" transform=\"translate(120,15)\" style=\"font-family: sans-serif; font-size: 10px; fill: #000; opacity: 1;\">6</text><text text-anchor=\"middle\" transform=\"translate(160,15)\" style=\"font-family: sans-serif; font-size: 10px; fill: #000; opacity: 1;\">8</text><text text-anchor=\"end\" transform=\"translate(200,15)\" style=\"font-family: sans-serif; font-size: 10px; fill: #000; opacity: 1;\">10</text></g><g class=\"mark-rule role-axis-domain\" style=\"pointer-events: none;\"><line transform=\"translate(0,0)\" x2=\"200\" y2=\"0\" style=\"fill: none; stroke: #888; stroke-width: 1; opacity: 1;\"></line></g><g class=\"mark-text role-axis-title\" style=\"pointer-events: none;\"><text text-anchor=\"middle\" transform=\"translate(100,31)\" style=\"font-family: sans-serif; font-size: 11px; font-weight: bold; fill: #000; opacity: 1;\">a</text></g></g></g></g><g class=\"mark-group role-axis\"><g transform=\"translate(0.5,0.5)\"><path class=\"background\" d=\"M0,0h0v0h0Z\" style=\"pointer-events: none; fill: none;\"></path><g><g class=\"mark-rule role-axis-tick\" style=\"pointer-events: none;\"><line transform=\"translate(0,200)\" x2=\"-5\" y2=\"0\" style=\"fill: none; stroke: #888; stroke-width: 1; opacity: 1;\"></line><line transform=\"translate(0,156)\" x2=\"-5\" y2=\"0\" style=\"fill: none; stroke: #888; stroke-width: 1; opacity: 1;\"></line><line transform=\"translate(0,111)\" x2=\"-5\" y2=\"0\" style=\"fill: none; stroke: #888; stroke-width: 1; opacity: 1;\"></line><line transform=\"translate(0,67)\" x2=\"-5\" y2=\"0\" style=\"fill: none; stroke: #888; stroke-width: 1; opacity: 1;\"></line><line transform=\"translate(0,22)\" x2=\"-5\" y2=\"0\" style=\"fill: none; stroke: #888; stroke-width: 1; opacity: 1;\"></line></g><g class=\"mark-text role-axis-label\" style=\"pointer-events: none;\"><text text-anchor=\"end\" transform=\"translate(-7,203)\" style=\"font-family: sans-serif; font-size: 10px; fill: #000; opacity: 1;\">0</text><text text-anchor=\"end\" transform=\"translate(-7,158.55555555555554)\" style=\"font-family: sans-serif; font-size: 10px; fill: #000; opacity: 1;\">2</text><text text-anchor=\"end\" transform=\"translate(-7,114.11111111111111)\" style=\"font-family: sans-serif; font-size: 10px; fill: #000; opacity: 1;\">4</text><text text-anchor=\"end\" transform=\"translate(-7,69.66666666666669)\" style=\"font-family: sans-serif; font-size: 10px; fill: #000; opacity: 1;\">6</text><text text-anchor=\"end\" transform=\"translate(-7,25.22222222222223)\" style=\"font-family: sans-serif; font-size: 10px; fill: #000; opacity: 1;\">8</text></g><g class=\"mark-rule role-axis-domain\" style=\"pointer-events: none;\"><line transform=\"translate(0,200)\" x2=\"0\" y2=\"-200\" style=\"fill: none; stroke: #888; stroke-width: 1; opacity: 1;\"></line></g><g class=\"mark-text role-axis-title\" style=\"pointer-events: none;\"><text text-anchor=\"middle\" transform=\"translate(-34,100) rotate(-90) translate(0,-2)\" style=\"font-family: sans-serif; font-size: 11px; font-weight: bold; fill: #000; opacity: 1;\">b</text></g></g></g></g></g></g></g></g></g></g></g></svg>"
],
"text/plain": [
"VegaLite.VLSpec{:plot}"
]
},
"execution_count": 22,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"[p1 p2]"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Note how these two plots now have different axis. We can use VegaLite's composition features to modify this. The following example creates a plot definition that has the y axis shared between any panels in the plot, and then adds the two plots we have to this plot:"
]
},
{
"cell_type": "code",
"execution_count": 23,
"metadata": {},
"outputs": [
{
"data": {
"application/vnd.vegalite.v2+json": {
"hconcat": [
{
"data": {
"values": [
{
"a": 0.9577808612799206,
"b": 0.22987456542154217
},
{
"a": 0.7784695657107854,
"b": 0.6063686130599766
},
{
"a": 0.7017375789518794,
"b": 0.5019958266977222
},
{
"a": 0.4028837298853778,
"b": 0.7488124547755601
},
{
"a": 0.5631713106598546,
"b": 0.5861414126133104
},
{
"a": 0.5113290973243718,
"b": 0.5782366867199948
},
{
"a": 0.9410030669644756,
"b": 0.7270261547031827
},
{
"a": 0.7075566999252778,
"b": 0.22158243385296528
},
{
"a": 0.7735675923460374,
"b": 0.29696989625846926
},
{
"a": 0.12825675771759504,
"b": 0.9766405144870403
}
]
},
"encoding": {
"x": {
"field": "a",
"type": "quantitative"
},
"y": {
"field": "b",
"type": "quantitative"
}
},
"mark": "point"
},
{
"data": {
"values": [
{
"a": 2.9628086867698666,
"b": 1.5589085371454492
},
{
"a": 1.6993907043597956,
"b": 8.276308678049292
},
{
"a": 9.48756651482399,
"b": 7.5234328835201065
},
{
"a": 3.2102163215172586,
"b": 0.6883335184001016
},
{
"a": 5.973894419893961,
"b": 6.234258905592038
},
{
"a": 4.49085725901579,
"b": 7.828075491907365
},
{
"a": 5.085319544737628,
"b": 2.0802948080067107
},
{
"a": 5.9066895464119895,
"b": 1.6698398669303471
},
{
"a": 8.01948237118225,
"b": 4.3457258546830495
},
{
"a": 3.8530104309209046,
"b": 2.0926928586607985
}
]
},
"encoding": {
"x": {
"field": "a",
"type": "quantitative"
},
"y": {
"field": "b",
"type": "quantitative"
}
},
"mark": "point"
}
],
"resolve": {
"scale": {
"x": "independent",
"y": "shared"
}
}
},
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAggAAAD3CAYAAAB4p6yGAAAABmJLR0QA/wD/AP+gvaeTAAAdQklEQVR4nO3deXxddZ3/8ffn3CRNukBlsZRlRFpQCooDg/oDHduRgUmTFhASWjYfiEOHcRSq0CSFkctDadKisuloUQZRStJUBLuksjjtwxnQETuMCshWGRBkk6VAs957Pr8/kkDMaZs0ufeee5LX8/G4j9z9vHOb8328+z3LlQAAAAAAAAAAAAAAAAAAAAAAAArB4g6QD2vXrvUjjjgi7hhA0ZoxY8aYXPd3hPEA2LXxNB6oqanJ486wK1u3biXfKJBvdIo9X64xHowO+UYnyfmCQgYBAADJQEEAAAARFAQAABBBQQAAABEUBAAAEEFBAAAAERQEAAAQQUEAAAARFAQAABBBQQAAABElcQcAgLFsXn3LsZKOCkP3wO3BdVcv+J+4MwHDwQwCAORJdV3LRS592aWTLbBTPKUrq+pb/jnuXMBwUBAAIA+qGpo/LtMJkra76WZZcIu7tZtUOW9Jy0fjzgcMhU0MAJAHFtqxMilU+P22xjN/KknVdau7JF0Qmo6V9Mt4EwK7xgwCAOSBm5X2Xkm1v31nKmyXJAtUGk8qYPiYQQCAPDDT7+T6mCn8dPWS1k5TGIRZnW0mhdnwd3HnA4bCDAIA5EHFk3aXyx42s3crCP/VA11mpn1c+k3b8oX3xp0PGErSCoIPuAAY34p6PFizpja7vfz3l0v+75JtkXyLm3934tbgCpkVZWZgoCRtYrhI0sWSruu7flHfdQDjTyLGg83pdEbSHX0XIFGSNIPwuKTaQbcBjE+MB0CeWdwBdlP/tNz9ko6XpMbGxrSZXTH4iTU1NYXMBSTKjBkzkrbu7wjjQcxCdz323Jt68bUOTSgN9N79pmi/qeVxx8JuGgvjwUpJlX3XK/tu71BTU1NRb9/bunUr+UaBfKNT7PmGifGgQHaWb3b65vKq+uZvVNe3rHvnsnpt9ZLm04shX7FIcr4kbWKQpMMG/QQwfjEexGhS18QzTHaou55z2XWh7Da5sh7Y2XO/tOo9cefD6CVpJ8VF6p1SvLbvduKnRACMGONBzMx1tCRlveeany4/5zFJqqprmWrSXC9JfUjS07EGxKglqSBIDAIA3sF4ECOXl5ikVBD09N8XmHpckgVKxZcMuZK0ggAAKA6/kfRXpuCiefUtt2ZN08JQlWbmKbffxh0Oo0dBAADstp5M96rSVNnRZnaIS18OXL1zOqH/eO2KM56MOx9Gj4IAANhtd3/t3O2z0zdfPKV74nwPdbjM3wxVcl/bitP/O+5s49VJS2+fXprNnCPzQ93tdVP25+ubFq4f6Zk7KQgAgBHZnD6vU1Jr3DkgVS65/cBUtvsamZVLkpnvJwXvr25Y/Z710jdH8p5JO8wRAAAMEgTd58msXG7/GWaDf1QYfMWlDkknVdXffsiI3jPHGQEAQIGZ7H2S1Clb2XZ17QvrV9T+Sq5NkmSWef9I3pOCAABAwrnrLUkqC8Jp/feZ2TRJCsPex3YX+yAAAJBwQRDc5x7WBq7Lqutb7nbpYMmPcdmb3bLfjOg9c5wRAAAU2J9eea1F8i2S9pK0wKSPStoeyK+5d3nttpG8JzMIAAAk3JYbF/VIunJ+ffOHQukw9+D1TIU9cFe69tWRvicFAQCAscHXNi18UNKDuXgzNjEAAIAICgIAAIigIAAAgAgKAgAAiKAgAACACAoCAACIoCAAAIAICgIAAIigIAAAgAgKAgAAiKAgAACACAoCAACIoCAAAIAICgIAAIigIAAAgAgKAgAAiKAgAACACAoCAACIoCAAAICIkrgDAACwu06oa91zgof7d/Vk444yZlEQAACJUbO4taKjLLxQFs6RST/Y9JSq61Z/Lts+5Xsbb5jbFXe+sYRNDACAxNg+wf9JpjkudUj6fSqQZP4PqUnbzos721hDQQAAJML8JTdNCaQ5cu/MBD0XrW9asOSUjxwkyXrkwUk16dayuDOOJRQEAEAiZFKTpktukj1z17JznpekvaZMkLu/IPOS7p7stLgzjiUUBABAImR6up+Ty106uKr+9kMk6YXXOiTT/pL1PPvyGy/EnXEsSVpBqJTkfZeZMWcBEC/Gg3Hm7q+du90tWG+mMqnnG1V1Ld9Z98BzMillZndsuXFRT9wZx5IkHcUwU1KbJIs7CIDYMR6MUxPL9f32ds+aWbVMBwQmhaG3tk98pDnubGNNkgpClaSL4w4BoCgwHoxTa9K13ZJump3edMvknpennXfCjGcPnXnSD+PONRYlaRPDLEnXiilFAIwH497m9JzM+qtqnwuMSaR8SdInu1LSnZI2qnfb4ymSFjU2NqbN7IrBT66pqSlwPCA5ZsyYkaR1f0cYD4AcGQPjgSrVOygMvh7R1NTkBUk0Qlu3biXfKJBvdIo93zAxHhQI+UYnyfmStA/CRkmXq3c6UUrW7AeA3GI8APIsSQVBko6POwCAosF4AORRknZSBAAABUJBAAAAERQEAAAQQUEAAAARFAQAABBBQQAAABEUBAAAEEFBAAAAERQEAAAQQUEAAAARFAQAABBBQQAAABEUBAAAEEFBAAAAERQEAAAQQUEAAAARFAQAABBBQQAAABEUBAAAEEFBAAAAERQEAAAQQUEAAAARFAQAABBBQQAAABEUBAAAEEFBAAAAERQEAAAQMZKCMFOSD7jcl9NEAJKE8QAYo0ZSEG4ZdPs4MSgA4xXjAbATcy9t3e9Pr7Srpq51z7izjMRICsJxkm6UZH2XG/vuAzD+MB4Ag1TVr3pXVUPLlUEq/O76Xz+nDvMfzqtrWTQ7vakk7my7YyQF4UZJjwy4faek+3MTB0DCMB4Af8mk1JfMdbSkbfvvVSF373FT9aSOlxbEHW53DLfN+A7uuzaXQQAkBuMBsBMnX9Z8YDaroyS9li3P/Ev1sQeedddvnm8wt69JXiVplXa8DhUdjmIAACBHwqztJ0nuenJj+uw3JKmtccHjcn/TTJMr07dOiTfh8A13BsHymgJAkjAeADthQfiMh4HMNOvky5oPkqTKhtXHy30PSa/2l4YkYAYBAIAcWbvszBdl2iRpUjYTXL9q81NKueokSWar4023eygIAADkUPatPb5lrvUuD7d3ZeTSW/LwxvWNZ2yMO9vuSNQhFwAAFLuNN8ztkrRydjp901mfWNjzwSPed5YSsmPiQEmcQahUAj9oAHnBeICitTmdzkwqL5ES+jeatIIwU9LlcYcAUBQYD4A8SlpBuEXS8XGHAFAUGA+APErS4Uor1XuWto3qna4xSWpsbEyb2RWDn1xTU1PYdECCzJgxI0nr/o4wHgA5MgbGA92nYX5rXFNTU1Fv79m6dSv5RoF8o1Ps+YaJ8aBAyDc6Sc6XpKMYBk4luphaBMYzxgMgz5K2DwIAACiApBaExG8vAZAzjAdAHiS1IAAAgDyiIAAAgAgKAgAAiKAgAACACAoCAACIoCAAAIAICgIAAIigIAAAgAgKAgAAiKAgAACACAoCAACIoCAAAIAICgIAAIigIAAAgAgKAgAAiKAgAACACAoCAACIoCAAAIAICgIAAIigIAAAgAgKAgAAiKAgAACACAoCAACIoCAAAIAICgIAAIigIAAAgAgKAgAAiKAgAACACAoCAACIoCAAAIAICgIAAIigIAAAgAgKAgAAiKAgAADeNn/pbdOqL2s9QO4WdxbEqyTuAACA+M1taDkscF8chnagFKqqYfWfU/XN1+dyGVX1qw4xBee6a4aZXg3d/qOt6Yy1MvNcLge5QUEAgHHupMWte5l7WtIUd/3Z5D1mNj3rdvlrb3XnZBnVl/7oUHlmhUwl1js3MTUwHVJd33LgeulbOVkIcipJmxgqJXnf5b6YswCIF+NBDpVV+Akmn+LSLyf+Ifjs+uULF7mrzUxlDz3zem4WUpL5jEwlLm0sKZ9wjiubllunLDjp5MuaD8rNQpBLSSoIGyVZ3+Uh9Q4QAMYnxoMcyoY6QJIChb9Ys6Y2K8lT2fA+SdrW3pOLRZhch0rm4fY9brozferrG5rO2uLu90lumWzwvlwsBLmVpIIAAMgHzz4nSaHs+NnpdIkkC1Opj0vS1ImlOVmCu96U3EomvLV/331mgfaXpEC+LRcLQW4lcR+EmZKOlLQo7iAAYsd4kANlFRV3Zzq6TjazD0/qPPx7VXUtGZlPc1f3ke+ZmpNlmOvnMn3KS8Irq+pXb5aHMyQd7rJXrPz1h3OyEORUEg9jcQ3I3djYmDazKwY/qaampqChgCSZMWNGEtf9HWE8yJGXt3Vq80Mvqn+nxCkVpfr4rH114D6TcvL+2dB1z/8+r2de3v72fRVlKZ1w1HRN36siJ8vAyIyF8WCmegeDITU1NRX1ITNbt24l3yiQb3SKPd8wMR7kSWVD674nLb19uvqKV67zVS1tObK6vvnUuXWr/3b+kpumjPb9iu3zGyzJ+ZK0iaGq72f/L3OjmFYExivGgzzZ2Fj7cj7ff8OyBQ+pd8dSFLkkFYTr+i4AwHgwHrlb9dLWSpd/xFwVbvZwdyYbd6oxi6MYAACJUF3feqncLzTX0ZION/fT7/jFszrxkh/kZkcJ/IUkzSAAAHagJt1a1t4ezpD5u8Ig9US+NxPEoap+1TGSf9zlb8r1zTBIvR64f3Zbe7fKgrJaSTfHnXGsYQYBABKsqv72Q9o7wust0Aoza0iF4U1VS5rPH2tftmSeOkKSgiC4c8PyhfdvbKx9JBXayt4HdWSs4cYoCgIAJNTs9KZyefdlZjpAZk9Ldr9LPRbYKdX1zdVx58slS1mnJCn0Pfrv8yDco/dn32PIKTYxAEBCTWl/8UMe2LtN9lj5k1a3Zk1tdl59y7EufdktOFHSurgz5koYlvxaypwlV1VVfXMos9fD0E+VJA/9V3HnG4uYQQCAhHKzfSUplD/e9x0K6sp0PyJJJu0bZ7Zc29B02h9kfoubApOdaq7zzGzqe949SR+ueHTMFKFiQkEAgITylD8lSeY6/qSlP5wudytLlZ3W+6CeijVcHmxoXPBjy2YuMfdml90RWslXT/zQdKXT6TDubGMRmxgAIKE2LFvwcFX96gfN/K9Lw7KV1Q2ru2WaIJebwlvjzpcP668+6wlJT/TfvuGzW2NMM7YxgwAAyeUTu6zRXW2St8tVJun/wlTw5XXLz+QLkDAqzCAAQIKtuaa2Q9K3JX2n8vNtZRtvmNsVdyaMDcwgAMDY4JQD5BIFAQAARFAQAABABAUBAABEsJPiCFRfuurQoLT04Iz08qQyPbImXdsddyYAAHKJgrAbKj/fNiE16c0vSn5cGIYKJLV36Lm5X1rV2Pb1s56OOx8AALnCJobdUDLpjXMkP07StjD0e1z6PzMdYCWputnpTZQtAMCYQUHYDaH87yTzVMob2lYsvH57+bTFkj9rpoMmtb94aNz5AADIFQrCMNWkW8vMbbK79/zkqwuelaTN6TkZc3taksKU7RVvQgAAcoeCMExr0rXdbvqjmcqqLlt9xuz0ppL5l9z2QTf9jWRuGRsTJwQ/+bLmg/7w4luqqr/9ELlb3HkAAPFgu/luCf5d8iss9LMmd754VljS26/cva3t6jNeiDncqNQsbq1on+BfyGb9Y/f+7/My9VxX1dD6cFnDLVff0fjpV+LOh0Hcbe7S1VWBdLxckyU91lMe3HZXuvbVuKMBGBsoCLthQ1Ptlvn1zVeEbmdLOkTyl+W6e+JTqTvizjZaHWX+GZN/zOVvHjJtsh565vU/m/yIbpV/UdLlkjzujHhHdf3qxTLNGXDXwaUd4f87teGWL1DoMDt9c/nkjonnuOl4k0+W/HFX2fc2NJ32h7izITkoCLtpbdPCByU9GHeOXJqdTpd4h/+duWVS7pec8KHpC+/93Z8+396R/bZJHzxp6e373bXstOfjzllsampaU2+9NzU9G25/7e6vnbu9UMutbGidJQ/nSNoeml8Tul5MmZ1n0tHdmnCOpGsLlQVFySZ1Vlwu86Pe2UZoH5D3XD2vrnXxuuW1z8SYDQlCQYDe1fXePXtMZS69snb5wj9ds2ir1qRr36qqb3la0tQJ8n0ljbggzF9627RMNvioeThVZk9saFrwC5lFZiSq6le9S6HNtyB1sMtftmzJPeuvPv2JHb1n3OY2tFS3e3huSmFFKpjg1fWrf9Hp9m/3Lq/dlu9lp7LZWQpMofynbY0L/1uS5i9pXhkGttJCm5Xv5aO4VdWvOtqko1z6c0nKv9z9xp4vlUx+c5Hkfx+6ny1pWdwZkQzspAjd0fjpV+V6w+R7Vy1ZPUeS5tXddoTJZsnl7dlwxCeBqqprPi7M2jcD02ctCE43s4bqpauXzU7fXD7weSdf1nyQFHzLguB0yf/GpEpPZa7uz1NMqpc0fzJwLTJZubv+KA+7JD+u3LJ1hdix08y2S5K59nn7ztD3kSSXF2wmA8XJ3WZIUmDBf/zkqoV/3HjD3K6MrFmSTD4z3nRIEmYQIElu0q0u/bMF/sWb790qt6BJcrn7nfeuGNn/ik9J3zE109n1BUnlMm2Sgmc8zFaa7MgpnRVnS/pe/3OzWV1osinuekAWbFCYOdKC4HQ3/dOJl/zgV/mYwp9Xd9vHQkudKPd9zPRUKuUtP7lq4R+Hep2bnWaSPNQ1G1Ys2HRK+o6pPR1d15jZB+YtbX6fPvuRXEf9CyUVZVt6Oru7zIK/rVrSklGJXshmvcokucJf5HXhKHpByl5RKLn7jP77UsrMlAK5jP1TMGzMIECStG75go1hGF7vrhd7sqEkvSb5rROfSn1/pO/Z09X5AUmT3PXA+sYF31jfWPujUtNXJCl0fbT/eTXp1jJ5cLi7usP2PZZvaKrdsmHFmbe42W/NfGJJWXnOT0JVXd98hltQZ/K/NtNBkv42k7Frqy/90a6X5W4y7S+XT3zKfi5Jd6ZPfT0I7MHe3yt1YK6zDnZH+lMveWjfcvceC/RJC3WWmU111wPtFY//ON/LR3HrzKZ+Ldcbkh9TXdeyvLqu5YseBpdIkpv9LO58SA5mEPC2thVn3iPpnq8//sT57z/s0HNH+37uPslkkvRa/31d5dlXU50lkvnE/vte1r7hZL0oM7OSvf+Y6r/f3EslKciGOT2C4tSGW/buCYMFbp71MPyWa8LvS1KZT0n+9x5kL5B06U5fbOaqa3lBpgPaD8l+RNL985fcNCUbhkeZmRT6c7nMujMbVpyx6aSltz+ayvZ8ODBNdgWPblheu6UQy0Zxu3d57bb5S3+0PAwzl8g0S9Isk7lca9uW194Vdz4kBwUBEaWp3EwspbzkETd3yWfPrVv9G2UyT1tn6mxJMtcj/c/bnJ6TqWpo+a25Hx12Tb1sXl3rxlDhByQd7vI3J3anHs9JoD49Kj1M5iWSftlXijQ7venfJnW8+AmTZh5zwcrSLTcu6tnZ693CO03B52RBXVV989asgv1MPkXS74+d+Ohj0rG5jLtTfUeW/KQgC0OirF12+m9PvOQHF04oKZslhVM8VfLY+qtqC1JeMXZQEJA365bXPjOvvmWtTCeb/FKVvj05sL0nVXbTwOdmrOc7pWFpk8k/6OYf7N3Tz3rk/s0119R25DJXYGXbQ89I8r0lmSSf8ubzU70kKHWpY8vKCzK6cdFOX9/WdOZdVQ2rpwXyT3uoo0xhR2jB/5RZ53XpdDo855xzchkXGJG+/XYeiDsHkouCgLxa17Tge9VLm5+SB7MlvUuhP9Gd7W6++2sLXhr4vLuWnfN8Tbr1c+2dYaW5vTe08KXSlP9sODsN7q43yvZ+fFLnS6+YdGhVffPlkj0auj5pJpP5Dg/BfJu7zW1o+bRcp7rU4bIKl561lK284ypOUARg7KAgIO/WL1v4M0lD7hy1Jl37lqQ1+c6zOT2nc25d69dlYYMUHGfSyZKXS3pqwoTMj3b12qqlLfNMdpqkHskelMKDzOwAz4ZLj7lg5cW72jSRT/9Q33xwidun3OxAc72QDWz9xsbaR4Z+JQDsGEcxYFxqW177Ow/KV8h9grunXNrmbtbdUbK8+tJVOz2SwVyVkuSyq9Y3nZGeWJG60KVnTPqraXtOPqJwv8E7qutajipR8A2Z5pj8UJl/PBWGTfMaWj8RRx4AYwMFAeNWEHadb6btZnanzK6Q/Fcy7eFBarF6900YzNzt3ZL5xHL9Tur9lk9z6/2fesr2K2D8gbE+J3mpudYHChabe7NM5h5eeMwFK0vjyQQg6SgIGJfmfem2fSQdLOnVt8rffdWGpjPu3V7x6DJ3/dlMB829tHXaDl7mkp6R3Do6s1VS72mkZf5hSSoJS54q2C/Q56R0614yny7Xq+uazrhxbVPtk+uWL7zNXU9KmjRt7z3fW+hMAMYGCgLGpe4JE0olyV09m9NzspK0OZ3OSuqSpNKy7A7/5x2Ybuu9Zp+prm+5NRsGKyXtJdmWtStqc3o45nDsIXVL5jJNmH3l9ydIvV8iZbJJkpQKg85CZwIwNlAQMC7dtey0F/pmC6ZV1zcvqmxonVVV3/KPZjpArld/8tUFz+7odeuaFjxgHi6X7CVJe5qUCUO/pzvTdbVi+ErsNenat2T+sKRJkzsqrqyuu21exwy/XObT3fXcuqaanB8FAmB8SNpRDPdJOk7S/ZKOjzkLks1T5teHCv5VUlXKw6ree5UJ3W/Y1aGO65af+V+S/qsyfesekx8u275mTW22QJl3KMj6DWEQfEXms6RgVl9P2eaBvrHLQzaTj/EAyKMkzSBUSnpIvTuPPSTponjjIOnWNi18MOzJLHbX3XI9EoZ+T4n54rYVC389nNdvTJ/9RtzlQJLWrlj4p4ou+xeZfdsVrHPz71Z48Lm2xgUF3+RRQIwHQJ4laQbhFEl39l2/s+82MCptXz/raUk3xJ1jtPrONtkWd44CYjwA8izv312fQyvVOxBsVO//Hk6RtKixsTFtZlcMfGJpaal6emI5Xw1Q9Pbdd1+df/75SVr3d4TxAMiBMTIeaKV6BwL1/Vy5syc2NTUV9XZX8o0O+Uan2PMNE+NBgZBvdJKcL0n7IAycRjxFEqeRBcYvxgMgz5JUEDZKOlK9u2gfKem6eOMAiBHjAZBnSdpJUeJQJgDvYDwA8ihJMwjD5u5Xxp1hV8g3OuQbnWLPl2vF/vuSb3TINzrFng8AAAAAAAAAAKDI3KfevZzvG+Hj+c5Q2fdYvjPsynA+g/6ccRgq38DPcGahQg0wVD4fcMm3gecGGKwQf+vFrtg+g2JY/4cjzvV/KHGv/0Mp5Pq/K4PHhmGtC2NyJ8U+Q52rvRDnch9qGRv7Hut/fGeDe74M5zOYKenyQoYaYKh8M9V7euH+z/DJgqYbOt9Fki7ue/ziHTyeSy7pgp08xvcWFOdnEPf6Pxxxrv9DiXv9H0oh1/9dGTw2DHtdGMsFYfC52mft5uOFyBC34eS7RfEdTjZUvir1rnhxGSrf45JqB93OF1PvtxruSLH/HRYCn8HIxLn+DyXu9X8ohVz/d2Xw2DDsdWEsF4Qkmanek71sjDvIICslfTXuELswS9K1Kt4pxo3q/TpiV+9AUWz/vigOrP8jw/qfZxSE4vCEirOlH6neKbz+7WfFuJ10rnob8lxJl8acZbCVeiffV7WL7wvAuMb6P3Ks/3k0lgvCzs7V3t80C3Eu96EyzOy7Htc3aQ2V73i9s31PKvwgtjv/hnEYKp8kHTboZyEV8m+92BXjZxD3+j+UuNf/ocS9/g9HnOv/zhTjuhCLHe2pOXDwjusohv4MF+kv93KNo2EO9RkNvC8Ow/03LNZ8hdqLeeByLhpwXyH/1otdsX0GxbD+D1fce+HvTNzr/1CK4SiGHY0NxbYuAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEWq/zzzOzrNJ4DxhfEAwE71n/u72L6SFUDhMR4A49zgL6NhQADGL8YDAJLeGQz6pxFXigEBGK8YDxIoiDsAxqxZg24fGUsKAMWA8QDAXxg4lcg2R2B8YzwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAbvx/9NahQnYzlT4AAAAASUVORK5CYII=",
"image/svg+xml": [
"<?xml version=\"1.0\" encoding=\"utf-8\"?>\n",
"<!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.1//EN\" \"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\">\n",
"<svg class=\"marks\" width=\"520\" height=\"247\" viewBox=\"0 0 520 247\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\"><g transform=\"translate(53,6)\"><g class=\"mark-group role-frame root\"><g transform=\"translate(0,0)\"><path class=\"background\" d=\"M0,0h0v200h0Z\" style=\"fill: none;\"></path><g><g class=\"mark-group role-scope concat_0_group\"><g transform=\"translate(0,0)\"><path class=\"background\" d=\"M0.5,0.5h200v200h-200Z\" style=\"fill: none; stroke: #ddd;\"></path><g><g class=\"mark-group role-axis\"><g transform=\"translate(0.5,200.5)\"><path class=\"background\" d=\"M0,0h0v0h0Z\" style=\"pointer-events: none; fill: none;\"></path><g><g class=\"mark-rule role-axis-grid\" style=\"pointer-events: none;\"><line transform=\"translate(0,-200)\" x2=\"0\" y2=\"200\" style=\"fill: none; stroke: #ddd; stroke-width: 1; opacity: 1;\"></line><line transform=\"translate(40,-200)\" x2=\"0\" y2=\"200\" style=\"fill: none; stroke: #ddd; stroke-width: 1; opacity: 1;\"></line><line transform=\"translate(80,-200)\" x2=\"0\" y2=\"200\" style=\"fill: none; stroke: #ddd; stroke-width: 1; opacity: 1;\"></line><line transform=\"translate(120,-200)\" x2=\"0\" y2=\"200\" style=\"fill: none; stroke: #ddd; stroke-width: 1; opacity: 1;\"></line><line transform=\"translate(160,-200)\" x2=\"0\" y2=\"200\" style=\"fill: none; stroke: #ddd; stroke-width: 1; opacity: 1;\"></line><line transform=\"translate(200,-200)\" x2=\"0\" y2=\"200\" style=\"fill: none; stroke: #ddd; stroke-width: 1; opacity: 1;\"></line></g></g></g></g><g class=\"mark-group role-axis\"><g transform=\"translate(0.5,0.5)\"><path class=\"background\" d=\"M0,0h0v0h0Z\" style=\"pointer-events: none; fill: none;\"></path><g><g class=\"mark-rule role-axis-grid\" style=\"pointer-events: none;\"><line transform=\"translate(0,200)\" x2=\"200\" y2=\"0\" style=\"fill: none; stroke: #ddd; stroke-width: 1; opacity: 1;\"></line><line transform=\"translate(0,156)\" x2=\"200\" y2=\"0\" style=\"fill: none; stroke: #ddd; stroke-width: 1; opacity: 1;\"></line><line transform=\"translate(0,111)\" x2=\"200\" y2=\"0\" style=\"fill: none; stroke: #ddd; stroke-width: 1; opacity: 1;\"></line><line transform=\"translate(0,67)\" x2=\"200\" y2=\"0\" style=\"fill: none; stroke: #ddd; stroke-width: 1; opacity: 1;\"></line><line transform=\"translate(0,22)\" x2=\"200\" y2=\"0\" style=\"fill: none; stroke: #ddd; stroke-width: 1; opacity: 1;\"></line></g></g></g></g><g class=\"mark-symbol role-mark concat_0_marks\"><path transform=\"translate(191.5561722559841,194.89167632396573)\" d=\"M2.7386127875258306,0A2.7386127875258306,2.7386127875258306,0,1,1,-2.7386127875258306,0A2.7386127875258306,2.7386127875258306,0,1,1,2.7386127875258306,0\" style=\"fill: none; stroke: #4c78a8; stroke-width: 2; opacity: 0.7;\"></path><path transform=\"translate(155.69391314215707,186.5251419320005)\" d=\"M2.7386127875258306,0A2.7386127875258306,2.7386127875258306,0,1,1,-2.7386127875258306,0A2.7386127875258306,2.7386127875258306,0,1,1,2.7386127875258306,0\" style=\"fill: none; stroke: #4c78a8; stroke-width: 2; opacity: 0.7;\"></path><path transform=\"translate(140.34751579037587,188.84453718449507)\" d=\"M2.7386127875258306,0A2.7386127875258306,2.7386127875258306,0,1,1,-2.7386127875258306,0A2.7386127875258306,2.7386127875258306,0,1,1,2.7386127875258306,0\" style=\"fill: none; stroke: #4c78a8; stroke-width: 2; opacity: 0.7;\"></path><path transform=\"translate(80.57674597707556,183.35972322720977)\" d=\"M2.7386127875258306,0A2.7386127875258306,2.7386127875258306,0,1,1,-2.7386127875258306,0A2.7386127875258306,2.7386127875258306,0,1,1,2.7386127875258306,0\" style=\"fill: none; stroke: #4c78a8; stroke-width: 2; opacity: 0.7;\"></path><path transform=\"translate(112.63426213197091,186.97463527525977)\" d=\"M2.7386127875258306,0A2.7386127875258306,2.7386127875258306,0,1,1,-2.7386127875258306,0A2.7386127875258306,2.7386127875258306,0,1,1,2.7386127875258306,0\" style=\"fill: none; stroke: #4c78a8; stroke-width: 2; opacity: 0.7;\"></path><path transform=\"translate(102.26581946487437,187.1502958506668)\" d=\"M2.7386127875258306,0A2.7386127875258306,2.7386127875258306,0,1,1,-2.7386127875258306,0A2.7386127875258306,2.7386127875258306,0,1,1,2.7386127875258306,0\" style=\"fill: none; stroke: #4c78a8; stroke-width: 2; opacity: 0.7;\"></path><path transform=\"translate(188.20061339289512,183.84386322881818)\" d=\"M2.7386127875258306,0A2.7386127875258306,2.7386127875258306,0,1,1,-2.7386127875258306,0A2.7386127875258306,2.7386127875258306,0,1,1,2.7386127875258306,0\" style=\"fill: none; stroke: #4c78a8; stroke-width: 2; opacity: 0.7;\"></path><path transform=\"translate(141.51133998505557,195.07594591437854)\" d=\"M2.7386127875258306,0A2.7386127875258306,2.7386127875258306,0,1,1,-2.7386127875258306,0A2.7386127875258306,2.7386127875258306,0,1,1,2.7386127875258306,0\" style=\"fill: none; stroke: #4c78a8; stroke-width: 2; opacity: 0.7;\"></path><path transform=\"translate(154.7135184692075,193.40066897203403)\" d=\"M2.7386127875258306,0A2.7386127875258306,2.7386127875258306,0,1,1,-2.7386127875258306,0A2.7386127875258306,2.7386127875258306,0,1,1,2.7386127875258306,0\" style=\"fill: none; stroke: #4c78a8; stroke-width: 2; opacity: 0.7;\"></path><path transform=\"translate(25.651351543519006,178.29687745584354)\" d=\"M2.7386127875258306,0A2.7386127875258306,2.7386127875258306,0,1,1,-2.7386127875258306,0A2.7386127875258306,2.7386127875258306,0,1,1,2.7386127875258306,0\" style=\"fill: none; stroke: #4c78a8; stroke-width: 2; opacity: 0.7;\"></path></g><g class=\"mark-group role-axis\"><g transform=\"translate(0.5,200.5)\"><path class=\"background\" d=\"M0,0h0v0h0Z\" style=\"pointer-events: none; fill: none;\"></path><g><g class=\"mark-rule role-axis-tick\" style=\"pointer-events: none;\"><line transform=\"translate(0,0)\" x2=\"0\" y2=\"5\" style=\"fill: none; stroke: #888; stroke-width: 1; opacity: 1;\"></line><line transform=\"translate(40,0)\" x2=\"0\" y2=\"5\" style=\"fill: none; stroke: #888; stroke-width: 1; opacity: 1;\"></line><line transform=\"translate(80,0)\" x2=\"0\" y2=\"5\" style=\"fill: none; stroke: #888; stroke-width: 1; opacity: 1;\"></line><line transform=\"translate(120,0)\" x2=\"0\" y2=\"5\" style=\"fill: none; stroke: #888; stroke-width: 1; opacity: 1;\"></line><line transform=\"translate(160,0)\" x2=\"0\" y2=\"5\" style=\"fill: none; stroke: #888; stroke-width: 1; opacity: 1;\"></line><line transform=\"translate(200,0)\" x2=\"0\" y2=\"5\" style=\"fill: none; stroke: #888; stroke-width: 1; opacity: 1;\"></line></g><g class=\"mark-text role-axis-label\" style=\"pointer-events: none;\"><text text-anchor=\"start\" transform=\"translate(0,15)\" style=\"font-family: sans-serif; font-size: 10px; fill: #000; opacity: 1;\">0.0</text><text text-anchor=\"middle\" transform=\"translate(40,15)\" style=\"font-family: sans-serif; font-size: 10px; fill: #000; opacity: 1;\">0.2</text><text text-anchor=\"middle\" transform=\"translate(80,15)\" style=\"font-family: sans-serif; font-size: 10px; fill: #000; opacity: 1;\">0.4</text><text text-anchor=\"middle\" transform=\"translate(120,15)\" style=\"font-family: sans-serif; font-size: 10px; fill: #000; opacity: 1;\">0.6</text><text text-anchor=\"middle\" transform=\"translate(160,15)\" style=\"font-family: sans-serif; font-size: 10px; fill: #000; opacity: 1;\">0.8</text><text text-anchor=\"end\" transform=\"translate(200,15)\" style=\"font-family: sans-serif; font-size: 10px; fill: #000; opacity: 1;\">1.0</text></g><g class=\"mark-rule role-axis-domain\" style=\"pointer-events: none;\"><line transform=\"translate(0,0)\" x2=\"200\" y2=\"0\" style=\"fill: none; stroke: #888; stroke-width: 1; opacity: 1;\"></line></g><g class=\"mark-text role-axis-title\" style=\"pointer-events: none;\"><text text-anchor=\"middle\" transform=\"translate(100,31)\" style=\"font-family: sans-serif; font-size: 11px; font-weight: bold; fill: #000; opacity: 1;\">a</text></g></g></g></g><g class=\"mark-group role-axis\"><g transform=\"translate(0.5,0.5)\"><path class=\"background\" d=\"M0,0h0v0h0Z\" style=\"pointer-events: none; fill: none;\"></path><g><g class=\"mark-rule role-axis-tick\" style=\"pointer-events: none;\"><line transform=\"translate(0,200)\" x2=\"-5\" y2=\"0\" style=\"fill: none; stroke: #888; stroke-width: 1; opacity: 1;\"></line><line transform=\"translate(0,156)\" x2=\"-5\" y2=\"0\" style=\"fill: none; stroke: #888; stroke-width: 1; opacity: 1;\"></line><line transform=\"translate(0,111)\" x2=\"-5\" y2=\"0\" style=\"fill: none; stroke: #888; stroke-width: 1; opacity: 1;\"></line><line transform=\"translate(0,67)\" x2=\"-5\" y2=\"0\" style=\"fill: none; stroke: #888; stroke-width: 1; opacity: 1;\"></line><line transform=\"translate(0,22)\" x2=\"-5\" y2=\"0\" style=\"fill: none; stroke: #888; stroke-width: 1; opacity: 1;\"></line></g><g class=\"mark-text role-axis-label\" style=\"pointer-events: none;\"><text text-anchor=\"end\" transform=\"translate(-7,203)\" style=\"font-family: sans-serif; font-size: 10px; fill: #000; opacity: 1;\">0</text><text text-anchor=\"end\" transform=\"translate(-7,158.55555555555554)\" style=\"font-family: sans-serif; font-size: 10px; fill: #000; opacity: 1;\">2</text><text text-anchor=\"end\" transform=\"translate(-7,114.11111111111111)\" style=\"font-family: sans-serif; font-size: 10px; fill: #000; opacity: 1;\">4</text><text text-anchor=\"end\" transform=\"translate(-7,69.66666666666669)\" style=\"font-family: sans-serif; font-size: 10px; fill: #000; opacity: 1;\">6</text><text text-anchor=\"end\" transform=\"translate(-7,25.22222222222223)\" style=\"font-family: sans-serif; font-size: 10px; fill: #000; opacity: 1;\">8</text></g><g class=\"mark-rule role-axis-domain\" style=\"pointer-events: none;\"><line transform=\"translate(0,200)\" x2=\"0\" y2=\"-200\" style=\"fill: none; stroke: #888; stroke-width: 1; opacity: 1;\"></line></g><g class=\"mark-text role-axis-title\" style=\"pointer-events: none;\"><text text-anchor=\"middle\" transform=\"translate(-34,100) rotate(-90) translate(0,-2)\" style=\"font-family: sans-serif; font-size: 11px; font-weight: bold; fill: #000; opacity: 1;\">b</text></g></g></g></g></g></g></g><g class=\"mark-group role-scope concat_1_group\"><g transform=\"translate(260,0)\"><path class=\"background\" d=\"M0.5,0.5h200v200h-200Z\" style=\"fill: none; stroke: #ddd;\"></path><g><g class=\"mark-group role-axis\"><g transform=\"translate(0.5,200.5)\"><path class=\"background\" d=\"M0,0h0v0h0Z\" style=\"pointer-events: none; fill: none;\"></path><g><g class=\"mark-rule role-axis-grid\" style=\"pointer-events: none;\"><line transform=\"translate(0,-200)\" x2=\"0\" y2=\"200\" style=\"fill: none; stroke: #ddd; stroke-width: 1; opacity: 1;\"></line><line transform=\"translate(40,-200)\" x2=\"0\" y2=\"200\" style=\"fill: none; stroke: #ddd; stroke-width: 1; opacity: 1;\"></line><line transform=\"translate(80,-200)\" x2=\"0\" y2=\"200\" style=\"fill: none; stroke: #ddd; stroke-width: 1; opacity: 1;\"></line><line transform=\"translate(120,-200)\" x2=\"0\" y2=\"200\" style=\"fill: none; stroke: #ddd; stroke-width: 1; opacity: 1;\"></line><line transform=\"translate(160,-200)\" x2=\"0\" y2=\"200\" style=\"fill: none; stroke: #ddd; stroke-width: 1; opacity: 1;\"></line><line transform=\"translate(200,-200)\" x2=\"0\" y2=\"200\" style=\"fill: none; stroke: #ddd; stroke-width: 1; opacity: 1;\"></line></g></g></g></g><g class=\"mark-group role-axis\"><g transform=\"translate(0.5,0.5)\"><path class=\"background\" d=\"M0,0h0v0h0Z\" style=\"pointer-events: none; fill: none;\"></path><g><g class=\"mark-rule role-axis-grid\" style=\"pointer-events: none;\"><line transform=\"translate(0,200)\" x2=\"200\" y2=\"0\" style=\"fill: none; stroke: #ddd; stroke-width: 1; opacity: 1;\"></line><line transform=\"translate(0,156)\" x2=\"200\" y2=\"0\" style=\"fill: none; stroke: #ddd; stroke-width: 1; opacity: 1;\"></line><line transform=\"translate(0,111)\" x2=\"200\" y2=\"0\" style=\"fill: none; stroke: #ddd; stroke-width: 1; opacity: 1;\"></line><line transform=\"translate(0,67)\" x2=\"200\" y2=\"0\" style=\"fill: none; stroke: #ddd; stroke-width: 1; opacity: 1;\"></line><line transform=\"translate(0,22)\" x2=\"200\" y2=\"0\" style=\"fill: none; stroke: #ddd; stroke-width: 1; opacity: 1;\"></line></g></g></g></g><g class=\"mark-symbol role-mark concat_1_marks\"><path transform=\"translate(59.25617373539733,165.35758806343446)\" d=\"M2.7386127875258306,0A2.7386127875258306,2.7386127875258306,0,1,1,-2.7386127875258306,0A2.7386127875258306,2.7386127875258306,0,1,1,2.7386127875258306,0\" style=\"fill: none; stroke: #4c78a8; stroke-width: 2; opacity: 0.7;\"></path><path transform=\"translate(33.987814087195915,16.082029376682414)\" d=\"M2.7386127875258306,0A2.7386127875258306,2.7386127875258306,0,1,1,-2.7386127875258306,0A2.7386127875258306,2.7386127875258306,0,1,1,2.7386127875258306,0\" style=\"fill: none; stroke: #4c78a8; stroke-width: 2; opacity: 0.7;\"></path><path transform=\"translate(189.7513302964798,32.812602588442076)\" d=\"M2.7386127875258306,0A2.7386127875258306,2.7386127875258306,0,1,1,-2.7386127875258306,0A2.7386127875258306,2.7386127875258306,0,1,1,2.7386127875258306,0\" style=\"fill: none; stroke: #4c78a8; stroke-width: 2; opacity: 0.7;\"></path><path transform=\"translate(64.20432643034518,184.70369959110886)\" d=\"M2.7386127875258306,0A2.7386127875258306,2.7386127875258306,0,1,1,-2.7386127875258306,0A2.7386127875258306,2.7386127875258306,0,1,1,2.7386127875258306,0\" style=\"fill: none; stroke: #4c78a8; stroke-width: 2; opacity: 0.7;\"></path><path transform=\"translate(119.47788839787923,61.46091320906581)\" d=\"M2.7386127875258306,0A2.7386127875258306,2.7386127875258306,0,1,1,-2.7386127875258306,0A2.7386127875258306,2.7386127875258306,0,1,1,2.7386127875258306,0\" style=\"fill: none; stroke: #4c78a8; stroke-width: 2; opacity: 0.7;\"></path><path transform=\"translate(89.8171451803158,26.042766846502985)\" d=\"M2.7386127875258306,0A2.7386127875258306,2.7386127875258306,0,1,1,-2.7386127875258306,0A2.7386127875258306,2.7386127875258306,0,1,1,2.7386127875258306,0\" style=\"fill: none; stroke: #4c78a8; stroke-width: 2; opacity: 0.7;\"></path><path transform=\"translate(101.70639089475256,153.77122648873976)\" d=\"M2.7386127875258306,0A2.7386127875258306,2.7386127875258306,0,1,1,-2.7386127875258306,0A2.7386127875258306,2.7386127875258306,0,1,1,2.7386127875258306,0\" style=\"fill: none; stroke: #4c78a8; stroke-width: 2; opacity: 0.7;\"></path><path transform=\"translate(118.13379092823979,162.89244740154783)\" d=\"M2.7386127875258306,0A2.7386127875258306,2.7386127875258306,0,1,1,-2.7386127875258306,0A2.7386127875258306,2.7386127875258306,0,1,1,2.7386127875258306,0\" style=\"fill: none; stroke: #4c78a8; stroke-width: 2; opacity: 0.7;\"></path><path transform=\"translate(160.389647423645,103.42831434037669)\" d=\"M2.7386127875258306,0A2.7386127875258306,2.7386127875258306,0,1,1,-2.7386127875258306,0A2.7386127875258306,2.7386127875258306,0,1,1,2.7386127875258306,0\" style=\"fill: none; stroke: #4c78a8; stroke-width: 2; opacity: 0.7;\"></path><path transform=\"translate(77.06020861841809,153.49571425198226)\" d=\"M2.7386127875258306,0A2.7386127875258306,2.7386127875258306,0,1,1,-2.7386127875258306,0A2.7386127875258306,2.7386127875258306,0,1,1,2.7386127875258306,0\" style=\"fill: none; stroke: #4c78a8; stroke-width: 2; opacity: 0.7;\"></path></g><g class=\"mark-group role-axis\"><g transform=\"translate(0.5,200.5)\"><path class=\"background\" d=\"M0,0h0v0h0Z\" style=\"pointer-events: none; fill: none;\"></path><g><g class=\"mark-rule role-axis-tick\" style=\"pointer-events: none;\"><line transform=\"translate(0,0)\" x2=\"0\" y2=\"5\" style=\"fill: none; stroke: #888; stroke-width: 1; opacity: 1;\"></line><line transform=\"translate(40,0)\" x2=\"0\" y2=\"5\" style=\"fill: none; stroke: #888; stroke-width: 1; opacity: 1;\"></line><line transform=\"translate(80,0)\" x2=\"0\" y2=\"5\" style=\"fill: none; stroke: #888; stroke-width: 1; opacity: 1;\"></line><line transform=\"translate(120,0)\" x2=\"0\" y2=\"5\" style=\"fill: none; stroke: #888; stroke-width: 1; opacity: 1;\"></line><line transform=\"translate(160,0)\" x2=\"0\" y2=\"5\" style=\"fill: none; stroke: #888; stroke-width: 1; opacity: 1;\"></line><line transform=\"translate(200,0)\" x2=\"0\" y2=\"5\" style=\"fill: none; stroke: #888; stroke-width: 1; opacity: 1;\"></line></g><g class=\"mark-text role-axis-label\" style=\"pointer-events: none;\"><text text-anchor=\"start\" transform=\"translate(0,15)\" style=\"font-family: sans-serif; font-size: 10px; fill: #000; opacity: 1;\">0</text><text text-anchor=\"middle\" transform=\"translate(40,15)\" style=\"font-family: sans-serif; font-size: 10px; fill: #000; opacity: 1;\">2</text><text text-anchor=\"middle\" transform=\"translate(80,15)\" style=\"font-family: sans-serif; font-size: 10px; fill: #000; opacity: 1;\">4</text><text text-anchor=\"middle\" transform=\"translate(120,15)\" style=\"font-family: sans-serif; font-size: 10px; fill: #000; opacity: 1;\">6</text><text text-anchor=\"middle\" transform=\"translate(160,15)\" style=\"font-family: sans-serif; font-size: 10px; fill: #000; opacity: 1;\">8</text><text text-anchor=\"end\" transform=\"translate(200,15)\" style=\"font-family: sans-serif; font-size: 10px; fill: #000; opacity: 1;\">10</text></g><g class=\"mark-rule role-axis-domain\" style=\"pointer-events: none;\"><line transform=\"translate(0,0)\" x2=\"200\" y2=\"0\" style=\"fill: none; stroke: #888; stroke-width: 1; opacity: 1;\"></line></g><g class=\"mark-text role-axis-title\" style=\"pointer-events: none;\"><text text-anchor=\"middle\" transform=\"translate(100,31)\" style=\"font-family: sans-serif; font-size: 11px; font-weight: bold; fill: #000; opacity: 1;\">a</text></g></g></g></g><g class=\"mark-group role-axis\"><g transform=\"translate(0.5,0.5)\"><path class=\"background\" d=\"M0,0h0v0h0Z\" style=\"pointer-events: none; fill: none;\"></path><g><g class=\"mark-rule role-axis-tick\" style=\"pointer-events: none;\"><line transform=\"translate(0,200)\" x2=\"-5\" y2=\"0\" style=\"fill: none; stroke: #888; stroke-width: 1; opacity: 1;\"></line><line transform=\"translate(0,156)\" x2=\"-5\" y2=\"0\" style=\"fill: none; stroke: #888; stroke-width: 1; opacity: 1;\"></line><line transform=\"translate(0,111)\" x2=\"-5\" y2=\"0\" style=\"fill: none; stroke: #888; stroke-width: 1; opacity: 1;\"></line><line transform=\"translate(0,67)\" x2=\"-5\" y2=\"0\" style=\"fill: none; stroke: #888; stroke-width: 1; opacity: 1;\"></line><line transform=\"translate(0,22)\" x2=\"-5\" y2=\"0\" style=\"fill: none; stroke: #888; stroke-width: 1; opacity: 1;\"></line></g><g class=\"mark-text role-axis-label\" style=\"pointer-events: none;\"><text text-anchor=\"end\" transform=\"translate(-7,203)\" style=\"font-family: sans-serif; font-size: 10px; fill: #000; opacity: 1;\">0</text><text text-anchor=\"end\" transform=\"translate(-7,158.55555555555554)\" style=\"font-family: sans-serif; font-size: 10px; fill: #000; opacity: 1;\">2</text><text text-anchor=\"end\" transform=\"translate(-7,114.11111111111111)\" style=\"font-family: sans-serif; font-size: 10px; fill: #000; opacity: 1;\">4</text><text text-anchor=\"end\" transform=\"translate(-7,69.66666666666669)\" style=\"font-family: sans-serif; font-size: 10px; fill: #000; opacity: 1;\">6</text><text text-anchor=\"end\" transform=\"translate(-7,25.22222222222223)\" style=\"font-family: sans-serif; font-size: 10px; fill: #000; opacity: 1;\">8</text></g><g class=\"mark-rule role-axis-domain\" style=\"pointer-events: none;\"><line transform=\"translate(0,200)\" x2=\"0\" y2=\"-200\" style=\"fill: none; stroke: #888; stroke-width: 1; opacity: 1;\"></line></g><g class=\"mark-text role-axis-title\" style=\"pointer-events: none;\"><text text-anchor=\"middle\" transform=\"translate(-34,100) rotate(-90) translate(0,-2)\" style=\"font-family: sans-serif; font-size: 11px; font-weight: bold; fill: #000; opacity: 1;\">b</text></g></g></g></g></g></g></g></g></g></g></g></svg>"
],
"text/plain": [
"VegaLite.VLSpec{:plot}"
]
},
"execution_count": 23,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"@vlplot(resolve={scale={y=:shared}}) + [p1 p2]"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"You can explore the documnetation for VegaLite [here](https://github.com/fredo-dedup/VegaLite.jl)."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Defining Functions"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"You can easily define your own functions, in the following way:"
]
},
{
"cell_type": "code",
"execution_count": 24,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"my_func (generic function with 1 method)"
]
},
"execution_count": 24,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"function my_func(x, y)\n",
" return x*y\n",
"end"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"At that point you can call this function like any other function:"
]
},
{
"cell_type": "code",
"execution_count": 25,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"15"
]
},
"execution_count": 25,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"my_func(3, 5)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"There is also a shorter syntax for smaller functions:"
]
},
{
"cell_type": "code",
"execution_count": 26,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"my_func2 (generic function with 1 method)"
]
},
"execution_count": 26,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"my_func2(x,y) = x + y"
]
},
{
"cell_type": "code",
"execution_count": 27,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"10"
]
},
"execution_count": 27,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"my_func2(4, 6)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## More documentation"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"If you are done with all of this, and we are still fighting with computer problems of some of the other workshop participants, you can also start to look through the general julia [documentation](https://docs.julialang.org/en/v1.1/)."
]
}
],
"metadata": {
"kernelspec": {
"display_name": "Julia 1.1.1",
"language": "julia",
"name": "julia-1.1"
},
"language_info": {
"file_extension": ".jl",
"mimetype": "application/julia",
"name": "julia",
"version": "1.1.1"
}
},
"nbformat": 4,
"nbformat_minor": 2
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment