Created
February 14, 2024 00:01
-
-
Save nicolaskruchten/0cb32324c7a114a66bd51ca2bcfa4bab to your computer and use it in GitHub Desktop.
Vega spec from Tue Feb 13 2024
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| { | |
| "$schema": "https://vega.github.io/schema/vega/v5.json", | |
| "data": [ | |
| {"name": "interval_intervalselection_0_store"}, | |
| {"name": "click_pointselection_0_store"}, | |
| {"name": "legend_pointselection_0_store"}, | |
| {"name": "legend_pointhover_0_store"}, | |
| {"name": "dataframe_2"}, | |
| {"name": "data_0"}, | |
| { | |
| "name": "column_domain", | |
| "values": [ | |
| {"year_date": 946702800000, "count": 48}, | |
| {"year_date": 978325200000, "count": 48}, | |
| {"year_date": 1009861200000, "count": 48}, | |
| {"year_date": 1041397200000, "count": 48}, | |
| {"year_date": 1072933200000, "count": 53}, | |
| {"year_date": 1104555600000, "count": 60}, | |
| {"year_date": 1136091600000, "count": 60}, | |
| {"year_date": 1167627600000, "count": 60}, | |
| {"year_date": 1199163600000, "count": 60}, | |
| {"year_date": 1230786000000, "count": 60}, | |
| {"year_date": 1262322000000, "count": 15} | |
| ], | |
| "transform": [ | |
| { | |
| "type": "formula", | |
| "expr": "toDate(datum['year_date'])", | |
| "as": "year_date" | |
| } | |
| ] | |
| }, | |
| {"name": "data_3"}, | |
| { | |
| "name": "data_3_x_domain_symbol", | |
| "values": [ | |
| {"symbol": "MSFT"}, | |
| {"symbol": "AMZN"}, | |
| {"symbol": "IBM"}, | |
| {"symbol": "GOOG"}, | |
| {"symbol": "AAPL"} | |
| ] | |
| }, | |
| { | |
| "name": "data_3_y_domain_sum_price", | |
| "values": [{"min": 85.52, "max": 6585.1}] | |
| }, | |
| { | |
| "name": "data_0_color_domain_symbol", | |
| "values": [ | |
| {"sort_field": 4, "symbol": "MSFT"}, | |
| {"sort_field": 1, "symbol": "AMZN"}, | |
| {"sort_field": 3, "symbol": "IBM"}, | |
| {"sort_field": 2, "symbol": "GOOG"}, | |
| {"sort_field": 0, "symbol": "AAPL"} | |
| ] | |
| }, | |
| { | |
| "name": "data_0_facet_facet0", | |
| "values": [ | |
| { | |
| "symbol": "MSFT", | |
| "year_date": 946702800000, | |
| "sum_price": 356.07999999999987 | |
| }, | |
| {"symbol": "MSFT", "year_date": 978325200000, "sum_price": 304.17}, | |
| {"symbol": "MSFT", "year_date": 1009861200000, "sum_price": 261.92}, | |
| {"symbol": "MSFT", "year_date": 1041397200000, "sum_price": 251.21}, | |
| {"symbol": "MSFT", "year_date": 1072933200000, "sum_price": 272.09}, | |
| { | |
| "symbol": "MSFT", | |
| "year_date": 1104555600000, | |
| "sum_price": 286.15000000000003 | |
| }, | |
| {"symbol": "MSFT", "year_date": 1136091600000, "sum_price": 297.1}, | |
| { | |
| "symbol": "MSFT", | |
| "year_date": 1167627600000, | |
| "sum_price": 351.40999999999997 | |
| }, | |
| { | |
| "symbol": "MSFT", | |
| "year_date": 1199163600000, | |
| "sum_price": 302.50000000000006 | |
| }, | |
| {"symbol": "MSFT", "year_date": 1230786000000, "sum_price": 274.47}, | |
| {"symbol": "MSFT", "year_date": 1262322000000, "sum_price": 85.52}, | |
| {"symbol": "AMZN", "year_date": 946702800000, "sum_price": 527.17}, | |
| {"symbol": "AMZN", "year_date": 978325200000, "sum_price": 140.87}, | |
| {"symbol": "AMZN", "year_date": 1009861200000, "sum_price": 200.68}, | |
| { | |
| "symbol": "AMZN", | |
| "year_date": 1041397200000, | |
| "sum_price": 468.20000000000005 | |
| }, | |
| {"symbol": "AMZN", "year_date": 1072933200000, "sum_price": 519.21}, | |
| {"symbol": "AMZN", "year_date": 1104555600000, "sum_price": 482.25}, | |
| { | |
| "symbol": "AMZN", | |
| "year_date": 1136091600000, | |
| "sum_price": 435.02000000000004 | |
| }, | |
| {"symbol": "AMZN", "year_date": 1167627600000, "sum_price": 839.43}, | |
| { | |
| "symbol": "AMZN", | |
| "year_date": 1199163600000, | |
| "sum_price": 828.1800000000001 | |
| }, | |
| { | |
| "symbol": "AMZN", | |
| "year_date": 1230786000000, | |
| "sum_price": 1088.7700000000002 | |
| }, | |
| {"symbol": "AMZN", "year_date": 1262322000000, "sum_price": 372.63}, | |
| {"symbol": "IBM", "year_date": 946702800000, "sum_price": 1162.97}, | |
| { | |
| "symbol": "IBM", | |
| "year_date": 978325200000, | |
| "sum_price": 1163.6200000000001 | |
| }, | |
| { | |
| "symbol": "IBM", | |
| "year_date": 1009861200000, | |
| "sum_price": 901.4999999999999 | |
| }, | |
| {"symbol": "IBM", "year_date": 1041397200000, "sum_price": 927.69}, | |
| { | |
| "symbol": "IBM", | |
| "year_date": 1072933200000, | |
| "sum_price": 1006.6299999999999 | |
| }, | |
| {"symbol": "IBM", "year_date": 1104555600000, "sum_price": 929.97}, | |
| { | |
| "symbol": "IBM", | |
| "year_date": 1136091600000, | |
| "sum_price": 944.6100000000002 | |
| }, | |
| { | |
| "symbol": "IBM", | |
| "year_date": 1167627600000, | |
| "sum_price": 1215.3200000000002 | |
| }, | |
| { | |
| "symbol": "IBM", | |
| "year_date": 1199163600000, | |
| "sum_price": 1286.7000000000003 | |
| }, | |
| {"symbol": "IBM", "year_date": 1230786000000, "sum_price": 1311.56}, | |
| {"symbol": "IBM", "year_date": 1262322000000, "sum_price": 374.56}, | |
| {"symbol": "GOOG", "year_date": 1072933200000, "sum_price": 797.38}, | |
| { | |
| "symbol": "GOOG", | |
| "year_date": 1104555600000, | |
| "sum_price": 3437.6699999999996 | |
| }, | |
| {"symbol": "GOOG", "year_date": 1136091600000, "sum_price": 4983.08}, | |
| {"symbol": "GOOG", "year_date": 1167627600000, "sum_price": 6585.1}, | |
| {"symbol": "GOOG", "year_date": 1199163600000, "sum_price": 5459.99}, | |
| { | |
| "symbol": "GOOG", | |
| "year_date": 1230786000000, | |
| "sum_price": 5399.040000000001 | |
| }, | |
| {"symbol": "GOOG", "year_date": 1262322000000, "sum_price": 1616.93}, | |
| {"symbol": "AAPL", "year_date": 946702800000, "sum_price": 260.98}, | |
| { | |
| "symbol": "AAPL", | |
| "year_date": 978325200000, | |
| "sum_price": 122.11000000000003 | |
| }, | |
| { | |
| "symbol": "AAPL", | |
| "year_date": 1009861200000, | |
| "sum_price": 112.89999999999998 | |
| }, | |
| { | |
| "symbol": "AAPL", | |
| "year_date": 1041397200000, | |
| "sum_price": 112.16999999999999 | |
| }, | |
| {"symbol": "AAPL", "year_date": 1072933200000, "sum_price": 224.68}, | |
| { | |
| "symbol": "AAPL", | |
| "year_date": 1104555600000, | |
| "sum_price": 578.0600000000001 | |
| }, | |
| {"symbol": "AAPL", "year_date": 1136091600000, "sum_price": 864.52}, | |
| {"symbol": "AAPL", "year_date": 1167627600000, "sum_price": 1600.24}, | |
| {"symbol": "AAPL", "year_date": 1199163600000, "sum_price": 1661.77}, | |
| { | |
| "symbol": "AAPL", | |
| "year_date": 1230786000000, | |
| "sum_price": 1804.7200000000003 | |
| }, | |
| {"symbol": "AAPL", "year_date": 1262322000000, "sum_price": 619.7} | |
| ], | |
| "transform": [ | |
| { | |
| "type": "formula", | |
| "expr": "toDate(datum['year_date'])", | |
| "as": "year_date" | |
| } | |
| ] | |
| } | |
| ], | |
| "signals": [ | |
| { | |
| "name": "unit", | |
| "value": {}, | |
| "on": [ | |
| {"events": "pointermove", "update": "isTuple(group()) ? group() : unit"} | |
| ] | |
| }, | |
| { | |
| "name": "legend_pointhover_0_symbol_legend", | |
| "value": null, | |
| "on": [ | |
| { | |
| "events": [ | |
| { | |
| "source": "view", | |
| "markname": "symbol_legend_symbols", | |
| "type": "click" | |
| }, | |
| { | |
| "source": "view", | |
| "markname": "symbol_legend_labels", | |
| "type": "click" | |
| }, | |
| { | |
| "source": "view", | |
| "markname": "symbol_legend_entries", | |
| "type": "click" | |
| } | |
| ], | |
| "update": "isDefined(datum.value) ? datum.value : item().items[0].items[0].datum.value", | |
| "force": true | |
| }, | |
| { | |
| "events": [{"source": "view", "type": "click"}], | |
| "update": "!event.item || !datum ? null : legend_pointhover_0_symbol_legend", | |
| "force": true | |
| } | |
| ] | |
| }, | |
| { | |
| "name": "legend_pointselection_0_symbol_legend", | |
| "value": null, | |
| "on": [ | |
| { | |
| "events": [ | |
| { | |
| "source": "view", | |
| "markname": "symbol_legend_symbols", | |
| "type": "click" | |
| }, | |
| { | |
| "source": "view", | |
| "markname": "symbol_legend_labels", | |
| "type": "click" | |
| }, | |
| { | |
| "source": "view", | |
| "markname": "symbol_legend_entries", | |
| "type": "click" | |
| } | |
| ], | |
| "update": "isDefined(datum.value) ? datum.value : item().items[0].items[0].datum.value", | |
| "force": true | |
| }, | |
| { | |
| "events": [{"source": "view", "type": "click"}], | |
| "update": "!event.item || !datum ? null : legend_pointselection_0_symbol_legend", | |
| "force": true | |
| } | |
| ] | |
| }, | |
| { | |
| "name": "interval_intervalselection_0", | |
| "update": "vlSelectionResolve(\"interval_intervalselection_0_store\", \"union\")" | |
| }, | |
| { | |
| "name": "click_pointselection_0", | |
| "update": "vlSelectionResolve(\"click_pointselection_0_store\", \"union\", true, true)" | |
| }, | |
| { | |
| "name": "legend_pointselection_0", | |
| "update": "vlSelectionResolve(\"legend_pointselection_0_store\", \"union\", true, true)" | |
| }, | |
| { | |
| "name": "legend_pointhover_0", | |
| "update": "vlSelectionResolve(\"legend_pointhover_0_store\", \"union\", true, true)" | |
| }, | |
| { | |
| "name": "cursor", | |
| "value": "default", | |
| "on": [ | |
| { | |
| "events": "mousemove", | |
| "update": "if(isDefined((group()).bounds), if(item().mark.marktype != 'group', 'default', 'crosshair'), 'default')" | |
| } | |
| ] | |
| }, | |
| { | |
| "name": "width", | |
| "init": "isFinite(containerSize()[0]) ? containerSize()[0] : 120", | |
| "on": [ | |
| { | |
| "events": "window:resize", | |
| "update": "isFinite(containerSize()[0]) ? containerSize()[0] : 120" | |
| } | |
| ] | |
| }, | |
| { | |
| "name": "height", | |
| "init": "isFinite(containerSize()[1]) ? containerSize()[1] : 120", | |
| "on": [ | |
| { | |
| "events": "window:resize", | |
| "update": "isFinite(containerSize()[1]) ? containerSize()[1] : 120" | |
| } | |
| ] | |
| }, | |
| { | |
| "name": "child_width", | |
| "update": "length(data('column_domain')) > 0? width / length(data('column_domain')) - 1: 120" | |
| }, | |
| {"name": "min_width", "update": "120 * length(data('column_domain'))"}, | |
| {"name": "child_height", "update": "height"}, | |
| {"name": "min_height", "update": "240"} | |
| ], | |
| "marks": [ | |
| { | |
| "type": "group", | |
| "name": "column-title", | |
| "title": { | |
| "text": "date", | |
| "style": "guide-title", | |
| "offset": 10, | |
| "color": "#01011b" | |
| }, | |
| "role": "column-title" | |
| }, | |
| { | |
| "type": "group", | |
| "name": "row_header", | |
| "encode": {"update": {"height": {"signal": "child_height"}}}, | |
| "axes": [ | |
| { | |
| "scale": "y", | |
| "tickCount": {"signal": "ceil(child_height/40)"}, | |
| "zindex": 0, | |
| "labelFlush": false, | |
| "title": "Sum of price", | |
| "orient": "left", | |
| "labelOverlap": true, | |
| "grid": false, | |
| "labels": true, | |
| "encode": {"labels": {"update": {"text": {"signal": "datum.value"}}}}, | |
| "ticks": true | |
| } | |
| ], | |
| "role": "row-header" | |
| }, | |
| { | |
| "type": "group", | |
| "name": "column_header", | |
| "from": {"data": "column_domain"}, | |
| "sort": {"field": "datum[\"year_date\"]", "order": "ascending"}, | |
| "encode": {"update": {"width": {"signal": "child_width"}}}, | |
| "title": { | |
| "text": { | |
| "signal": "timeFormat(parent[\"year_date\"], timeUnitSpecifier([\"year\"], {\"year-month\":\"%b %Y \",\"year-month-date\":\"%b %d, %Y \"}))" | |
| }, | |
| "offset": 10, | |
| "frame": "group", | |
| "style": "guide-label", | |
| "color": "#01011b" | |
| }, | |
| "role": "column-header" | |
| }, | |
| { | |
| "type": "group", | |
| "name": "column_footer", | |
| "from": {"data": "column_domain"}, | |
| "sort": {"field": "datum[\"year_date\"]", "order": "ascending"}, | |
| "encode": {"update": {"width": {"signal": "child_width"}}}, | |
| "axes": [ | |
| { | |
| "scale": "x", | |
| "labelBaseline": "middle", | |
| "zindex": 0, | |
| "labelOverlap": "greedy", | |
| "labelFlush": false, | |
| "grid": false, | |
| "labels": true, | |
| "ticks": true, | |
| "title": "symbol", | |
| "labelAngle": 270, | |
| "labelAlign": "right", | |
| "orient": "bottom" | |
| } | |
| ], | |
| "role": "column-footer" | |
| }, | |
| { | |
| "type": "group", | |
| "name": "cell", | |
| "from": { | |
| "facet": { | |
| "data": "data_0_facet_facet0", | |
| "name": "facet", | |
| "groupby": ["year_date"] | |
| } | |
| }, | |
| "sort": {"field": ["datum[\"year_date\"]"], "order": ["ascending"]}, | |
| "encode": { | |
| "update": { | |
| "height": {"signal": "child_height"}, | |
| "width": {"signal": "child_width"} | |
| } | |
| }, | |
| "data": [ | |
| { | |
| "name": "data_0", | |
| "source": "facet", | |
| "transform": [ | |
| { | |
| "type": "filter", | |
| "expr": "isValid(datum[\"sum_price\"]) && isFinite(+datum[\"sum_price\"])" | |
| }, | |
| {"type": "project", "fields": ["sum_price", "symbol"]} | |
| ] | |
| } | |
| ], | |
| "signals": [ | |
| { | |
| "name": "facet", | |
| "value": {}, | |
| "on": [ | |
| { | |
| "events": [{"source": "scope", "type": "pointermove"}], | |
| "update": "isTuple(facet) ? facet : group(\"cell\").datum" | |
| } | |
| ] | |
| }, | |
| { | |
| "name": "interval_intervalselection_0_x", | |
| "value": [], | |
| "on": [ | |
| { | |
| "events": { | |
| "source": "scope", | |
| "filter": [ | |
| "!event.item || event.item.mark.name !== \"interval_intervalselection_0_brush\"" | |
| ], | |
| "type": "pointerdown" | |
| }, | |
| "update": "[x(unit), x(unit)]" | |
| }, | |
| { | |
| "events": { | |
| "source": "window", | |
| "between": [ | |
| { | |
| "source": "scope", | |
| "filter": [ | |
| "!event.item || event.item.mark.name !== \"interval_intervalselection_0_brush\"" | |
| ], | |
| "type": "pointerdown" | |
| }, | |
| {"source": "window", "type": "pointerup"} | |
| ], | |
| "type": "pointermove", | |
| "consume": true | |
| }, | |
| "update": "[interval_intervalselection_0_x[0], clamp(x(unit), 0, child_width)]" | |
| }, | |
| { | |
| "events": { | |
| "signal": "interval_intervalselection_0_scale_trigger" | |
| }, | |
| "update": "[0, 0]" | |
| }, | |
| { | |
| "events": [{"source": "view", "type": "dblclick"}], | |
| "update": "[0, 0]" | |
| }, | |
| { | |
| "events": { | |
| "signal": "interval_intervalselection_0_translate_delta" | |
| }, | |
| "update": "clampRange(panLinear(interval_intervalselection_0_translate_anchor.extent_x, interval_intervalselection_0_translate_delta.x / span(interval_intervalselection_0_translate_anchor.extent_x)), 0, child_width)" | |
| } | |
| ] | |
| }, | |
| { | |
| "name": "interval_intervalselection_0_symbol", | |
| "on": [ | |
| { | |
| "events": {"signal": "interval_intervalselection_0_x"}, | |
| "update": "interval_intervalselection_0_x[0] === interval_intervalselection_0_x[1] ? null : invert(\"x\", interval_intervalselection_0_x)" | |
| } | |
| ] | |
| }, | |
| { | |
| "name": "interval_intervalselection_0_scale_trigger", | |
| "value": {}, | |
| "on": [ | |
| { | |
| "events": [{"scale": "x"}], | |
| "update": "(!isArray(interval_intervalselection_0_symbol) || (invert(\"x\", interval_intervalselection_0_x)[0] === interval_intervalselection_0_symbol[0] && invert(\"x\", interval_intervalselection_0_x)[1] === interval_intervalselection_0_symbol[1])) ? interval_intervalselection_0_scale_trigger : {}" | |
| } | |
| ] | |
| }, | |
| { | |
| "name": "interval_intervalselection_0_tuple", | |
| "on": [ | |
| { | |
| "events": [{"signal": "interval_intervalselection_0_symbol"}], | |
| "update": "interval_intervalselection_0_symbol ? {unit: \"child_layer_0_layer_0_layer_0\" + '__facet_column_' + (facet[\"year_date\"]), fields: interval_intervalselection_0_tuple_fields, values: [interval_intervalselection_0_symbol]} : null" | |
| } | |
| ] | |
| }, | |
| { | |
| "name": "interval_intervalselection_0_tuple_fields", | |
| "value": [{"field": "symbol", "channel": "x", "type": "E"}] | |
| }, | |
| { | |
| "name": "interval_intervalselection_0_translate_anchor", | |
| "value": {}, | |
| "on": [ | |
| { | |
| "events": [ | |
| { | |
| "source": "scope", | |
| "markname": "interval_intervalselection_0_brush", | |
| "type": "pointerdown" | |
| } | |
| ], | |
| "update": "{x: x(unit), y: y(unit), extent_x: slice(interval_intervalselection_0_x)}" | |
| } | |
| ] | |
| }, | |
| { | |
| "name": "interval_intervalselection_0_translate_delta", | |
| "value": {}, | |
| "on": [ | |
| { | |
| "events": [ | |
| { | |
| "source": "window", | |
| "between": [ | |
| { | |
| "source": "scope", | |
| "markname": "interval_intervalselection_0_brush", | |
| "type": "pointerdown" | |
| }, | |
| {"source": "window", "type": "pointerup"} | |
| ], | |
| "type": "pointermove", | |
| "consume": true | |
| } | |
| ], | |
| "update": "{x: interval_intervalselection_0_translate_anchor.x - x(unit), y: interval_intervalselection_0_translate_anchor.y - y(unit)}" | |
| } | |
| ] | |
| }, | |
| { | |
| "name": "interval_intervalselection_0_modify", | |
| "on": [ | |
| { | |
| "events": {"signal": "interval_intervalselection_0_tuple"}, | |
| "update": "modify(\"interval_intervalselection_0_store\", interval_intervalselection_0_tuple, true)" | |
| } | |
| ] | |
| }, | |
| { | |
| "name": "click_pointselection_0_tuple", | |
| "on": [ | |
| { | |
| "events": [{"source": "scope", "type": "click"}], | |
| "update": "datum && item().mark.marktype !== 'group' && indexof(item().mark.role, 'legend') < 0 && indexof(item().mark.name, 'interval_intervalselection_0_brush') < 0 ? {unit: \"child_layer_0_layer_0_layer_0\" + '__facet_column_' + (facet[\"year_date\"]), fields: click_pointselection_0_tuple_fields, values: [(item().isVoronoi ? datum.datum : datum)[\"symbol\"]]} : null", | |
| "force": true | |
| }, | |
| { | |
| "events": [{"source": "view", "type": "dblclick"}], | |
| "update": "null" | |
| } | |
| ] | |
| }, | |
| { | |
| "name": "click_pointselection_0_tuple_fields", | |
| "value": [{"field": "symbol", "channel": "x", "type": "E"}] | |
| }, | |
| { | |
| "name": "click_pointselection_0_toggle", | |
| "value": false, | |
| "on": [ | |
| { | |
| "events": [{"source": "scope", "type": "click"}], | |
| "update": "false" | |
| }, | |
| { | |
| "events": [{"source": "view", "type": "dblclick"}], | |
| "update": "false" | |
| } | |
| ] | |
| }, | |
| { | |
| "name": "click_pointselection_0_modify", | |
| "on": [ | |
| { | |
| "events": {"signal": "click_pointselection_0_tuple"}, | |
| "update": "modify(\"click_pointselection_0_store\", click_pointselection_0_toggle ? null : click_pointselection_0_tuple, click_pointselection_0_toggle ? null : true, click_pointselection_0_toggle ? click_pointselection_0_tuple : null)" | |
| } | |
| ] | |
| }, | |
| { | |
| "name": "legend_pointselection_0_tuple", | |
| "update": "legend_pointselection_0_symbol_legend !== null ? {fields: legend_pointselection_0_tuple_fields, values: [legend_pointselection_0_symbol_legend]} : null" | |
| }, | |
| { | |
| "name": "legend_pointselection_0_tuple_fields", | |
| "value": [{"field": "symbol", "channel": "color", "type": "E"}] | |
| }, | |
| { | |
| "name": "legend_pointselection_0_toggle", | |
| "value": false, | |
| "on": [ | |
| { | |
| "events": {"merge": [{"source": "view", "type": "click"}]}, | |
| "update": "event.shiftKey" | |
| } | |
| ] | |
| }, | |
| { | |
| "name": "legend_pointselection_0_modify", | |
| "on": [ | |
| { | |
| "events": {"signal": "legend_pointselection_0_tuple"}, | |
| "update": "modify(\"legend_pointselection_0_store\", legend_pointselection_0_toggle ? null : legend_pointselection_0_tuple, legend_pointselection_0_toggle ? null : true, legend_pointselection_0_toggle ? legend_pointselection_0_tuple : null)" | |
| } | |
| ] | |
| }, | |
| { | |
| "name": "legend_pointhover_0_tuple", | |
| "update": "legend_pointhover_0_symbol_legend !== null ? {fields: legend_pointhover_0_tuple_fields, values: [legend_pointhover_0_symbol_legend]} : null" | |
| }, | |
| { | |
| "name": "legend_pointhover_0_tuple_fields", | |
| "value": [{"field": "symbol", "channel": "color", "type": "E"}] | |
| }, | |
| { | |
| "name": "legend_pointhover_0_toggle", | |
| "value": false, | |
| "on": [ | |
| { | |
| "events": {"merge": [{"source": "view", "type": "click"}]}, | |
| "update": "event.shiftKey" | |
| } | |
| ] | |
| }, | |
| { | |
| "name": "legend_pointhover_0_modify", | |
| "on": [ | |
| { | |
| "events": {"signal": "legend_pointhover_0_tuple"}, | |
| "update": "modify(\"legend_pointhover_0_store\", legend_pointhover_0_toggle ? null : legend_pointhover_0_tuple, legend_pointhover_0_toggle ? null : true, legend_pointhover_0_toggle ? legend_pointhover_0_tuple : null)" | |
| } | |
| ] | |
| } | |
| ], | |
| "marks": [ | |
| { | |
| "type": "rect", | |
| "name": "interval_intervalselection_0_brush_bg", | |
| "encode": { | |
| "enter": { | |
| "fill": {"value": "#669EFF"}, | |
| "fillOpacity": {"value": 0.07} | |
| }, | |
| "update": { | |
| "y": [ | |
| { | |
| "value": 0, | |
| "test": "data(\"interval_intervalselection_0_store\").length && data(\"interval_intervalselection_0_store\")[0].unit === \"child_layer_0_layer_0_layer_0\" + '__facet_column_' + (facet[\"year_date\"])" | |
| }, | |
| {"value": 0} | |
| ], | |
| "x2": [ | |
| { | |
| "signal": "interval_intervalselection_0_x[1]", | |
| "test": "data(\"interval_intervalselection_0_store\").length && data(\"interval_intervalselection_0_store\")[0].unit === \"child_layer_0_layer_0_layer_0\" + '__facet_column_' + (facet[\"year_date\"])" | |
| }, | |
| {"value": 0} | |
| ], | |
| "y2": [ | |
| { | |
| "field": { | |
| "signal": null, | |
| "datum": null, | |
| "group": "height", | |
| "parent": null | |
| }, | |
| "test": "data(\"interval_intervalselection_0_store\").length && data(\"interval_intervalselection_0_store\")[0].unit === \"child_layer_0_layer_0_layer_0\" + '__facet_column_' + (facet[\"year_date\"])" | |
| }, | |
| {"value": 0} | |
| ], | |
| "x": [ | |
| { | |
| "signal": "interval_intervalselection_0_x[0]", | |
| "test": "data(\"interval_intervalselection_0_store\").length && data(\"interval_intervalselection_0_store\")[0].unit === \"child_layer_0_layer_0_layer_0\" + '__facet_column_' + (facet[\"year_date\"])" | |
| }, | |
| {"value": 0} | |
| ] | |
| } | |
| }, | |
| "clip": true | |
| }, | |
| { | |
| "type": "rect", | |
| "name": "child_layer_0_layer_0_layer_0_marks", | |
| "from": {"data": "data_0"}, | |
| "encode": { | |
| "update": { | |
| "cursor": {"value": "pointer"}, | |
| "y": {"field": "sum_price", "scale": "y"}, | |
| "fill": {"field": "symbol", "scale": "color"}, | |
| "x": {"field": "symbol", "scale": "x"}, | |
| "y2": {"value": 0, "scale": "y"}, | |
| "ariaRoleDescription": {"value": "bar"}, | |
| "description": { | |
| "signal": "\"symbol: \" + (isValid(datum[\"symbol\"]) ? datum[\"symbol\"] : \"\"+datum[\"symbol\"]) + \"; Sum of price: \" + (datum[\"sum_price\"])" | |
| }, | |
| "opacity": [ | |
| { | |
| "value": 0.3, | |
| "test": "!((!length(data(\"interval_intervalselection_0_store\")) || vlSelectionTest(\"interval_intervalselection_0_store\", datum)) && (!length(data(\"click_pointselection_0_store\")) || vlSelectionTest(\"click_pointselection_0_store\", datum)) && ((length(data(\"legend_pointselection_0_store\")) && vlSelectionTest(\"legend_pointselection_0_store\", datum)) || (!length(data(\"legend_pointhover_0_store\")) || vlSelectionTest(\"legend_pointhover_0_store\", datum))))" | |
| }, | |
| {"value": 1} | |
| ], | |
| "tooltip": { | |
| "signal": "{\"symbol\": isValid(datum[\"symbol\"]) ? datum[\"symbol\"] : \"\"+datum[\"symbol\"], \"Sum of price\": datum[\"sum_price\"]}" | |
| }, | |
| "width": {"signal": "max(0.25, bandwidth('x'))"} | |
| } | |
| }, | |
| "style": ["bar"], | |
| "clip": true, | |
| "interactive": true | |
| }, | |
| { | |
| "type": "rect", | |
| "name": "interval_intervalselection_0_brush", | |
| "encode": { | |
| "enter": {"fill": {"value": "transparent"}}, | |
| "update": { | |
| "x": [ | |
| { | |
| "signal": "interval_intervalselection_0_x[0]", | |
| "test": "data(\"interval_intervalselection_0_store\").length && data(\"interval_intervalselection_0_store\")[0].unit === \"child_layer_0_layer_0_layer_0\" + '__facet_column_' + (facet[\"year_date\"])" | |
| }, | |
| {"value": 0} | |
| ], | |
| "y2": [ | |
| { | |
| "field": { | |
| "signal": null, | |
| "datum": null, | |
| "group": "height", | |
| "parent": null | |
| }, | |
| "test": "data(\"interval_intervalselection_0_store\").length && data(\"interval_intervalselection_0_store\")[0].unit === \"child_layer_0_layer_0_layer_0\" + '__facet_column_' + (facet[\"year_date\"])" | |
| }, | |
| {"value": 0} | |
| ], | |
| "strokeOpacity": [ | |
| { | |
| "value": 0.4, | |
| "test": "interval_intervalselection_0_x[0] !== interval_intervalselection_0_x[1]" | |
| }, | |
| {} | |
| ], | |
| "x2": [ | |
| { | |
| "signal": "interval_intervalselection_0_x[1]", | |
| "test": "data(\"interval_intervalselection_0_store\").length && data(\"interval_intervalselection_0_store\")[0].unit === \"child_layer_0_layer_0_layer_0\" + '__facet_column_' + (facet[\"year_date\"])" | |
| }, | |
| {"value": 0} | |
| ], | |
| "y": [ | |
| { | |
| "value": 0, | |
| "test": "data(\"interval_intervalselection_0_store\").length && data(\"interval_intervalselection_0_store\")[0].unit === \"child_layer_0_layer_0_layer_0\" + '__facet_column_' + (facet[\"year_date\"])" | |
| }, | |
| {"value": 0} | |
| ], | |
| "stroke": [ | |
| { | |
| "value": "#669EFF", | |
| "test": "interval_intervalselection_0_x[0] !== interval_intervalselection_0_x[1]" | |
| }, | |
| {} | |
| ] | |
| } | |
| }, | |
| "clip": true | |
| } | |
| ], | |
| "axes": [ | |
| { | |
| "scale": "x", | |
| "zindex": 0, | |
| "minExtent": 0, | |
| "ticks": false, | |
| "gridScale": "y", | |
| "labels": false, | |
| "domain": false, | |
| "aria": false, | |
| "orient": "bottom", | |
| "maxExtent": 0, | |
| "grid": true | |
| }, | |
| { | |
| "scale": "y", | |
| "labels": false, | |
| "zindex": 0, | |
| "grid": true, | |
| "orient": "left", | |
| "aria": false, | |
| "tickCount": {"signal": "ceil(child_height/40)"}, | |
| "maxExtent": 0, | |
| "domain": false, | |
| "gridScale": "x", | |
| "ticks": false, | |
| "minExtent": 0 | |
| } | |
| ], | |
| "style": "cell" | |
| } | |
| ], | |
| "scales": [ | |
| { | |
| "name": "x", | |
| "type": "band", | |
| "domain": { | |
| "data": "data_3_x_domain_symbol", | |
| "field": "symbol", | |
| "sort": true | |
| }, | |
| "range": [0, {"signal": "child_width"}], | |
| "paddingInner": 0.1, | |
| "paddingOuter": 0.05 | |
| }, | |
| { | |
| "name": "y", | |
| "type": "linear", | |
| "domain": [ | |
| {"signal": "(data(\"data_3_y_domain_sum_price\")[0] || {}).min"}, | |
| {"signal": "(data(\"data_3_y_domain_sum_price\")[0] || {}).max"} | |
| ], | |
| "range": [{"signal": "child_height"}, 0], | |
| "nice": true, | |
| "zero": true | |
| }, | |
| { | |
| "name": "color", | |
| "type": "ordinal", | |
| "domain": { | |
| "data": "data_0_color_domain_symbol", | |
| "field": "symbol", | |
| "sort": {"op": "max", "field": "sort_field"} | |
| }, | |
| "range": [ | |
| "#3e277a", | |
| "#b28fc9", | |
| "#2458b3", | |
| "#669eff", | |
| "#00998c", | |
| "#14ccbd", | |
| "#d99e0b", | |
| "#ffc940", | |
| "#717a94", | |
| "#b1b6c4", | |
| "#6a5898", | |
| "#9588b6", | |
| "#c1b9d4", | |
| "#ece9f2", | |
| "#008075", | |
| "#63a5a5", | |
| "#c6cad4", | |
| "#c4799b", | |
| "#c22762" | |
| ], | |
| "interpolate": "hcl" | |
| } | |
| ], | |
| "usermeta": { | |
| "selectionConfigs": { | |
| "interval_intervalselection_0": { | |
| "type": "interval", | |
| "datetimeFields": [], | |
| "derived": [] | |
| }, | |
| "click_pointselection_0": { | |
| "type": "point", | |
| "datetimeFields": [], | |
| "derived": [] | |
| }, | |
| "legend_pointselection_0": { | |
| "type": "point", | |
| "datetimeFields": [], | |
| "derived": [] | |
| } | |
| }, | |
| "warnings": [] | |
| }, | |
| "background": "#ffffff", | |
| "legends": [ | |
| { | |
| "symbolOpacity": 1, | |
| "title": "symbol", | |
| "fill": "color", | |
| "symbolType": "square", | |
| "encode": { | |
| "labels": { | |
| "name": "symbol_legend_labels", | |
| "interactive": true, | |
| "update": { | |
| "opacity": [ | |
| { | |
| "test": "(!length(data(\"legend_pointselection_0_store\")) || (legend_pointselection_0[\"symbol\"] && indexof(legend_pointselection_0[\"symbol\"], datum.value) >= 0)) || (!length(data(\"legend_pointhover_0_store\")) || (legend_pointhover_0[\"symbol\"] && indexof(legend_pointhover_0[\"symbol\"], datum.value) >= 0))", | |
| "value": 1 | |
| }, | |
| {"value": 0.35} | |
| ] | |
| } | |
| }, | |
| "symbols": { | |
| "name": "symbol_legend_symbols", | |
| "interactive": true, | |
| "update": { | |
| "opacity": [ | |
| { | |
| "test": "(!length(data(\"legend_pointselection_0_store\")) || (legend_pointselection_0[\"symbol\"] && indexof(legend_pointselection_0[\"symbol\"], datum.value) >= 0)) || (!length(data(\"legend_pointhover_0_store\")) || (legend_pointhover_0[\"symbol\"] && indexof(legend_pointhover_0[\"symbol\"], datum.value) >= 0))", | |
| "value": 1 | |
| }, | |
| {"value": 0.35} | |
| ] | |
| } | |
| }, | |
| "entries": { | |
| "name": "symbol_legend_entries", | |
| "interactive": true, | |
| "update": {"fill": {"value": "transparent"}} | |
| } | |
| } | |
| } | |
| ], | |
| "layout": { | |
| "padding": 20, | |
| "offset": {"columnTitle": 10}, | |
| "columns": {"signal": "length(data('column_domain'))"}, | |
| "bounds": "full", | |
| "align": "all" | |
| }, | |
| "config": { | |
| "customFormatTypes": true, | |
| "tooltipFormat": {"timeFormat": "%b %d, %Y %H:%M:%S"}, | |
| "legend": { | |
| "orient": "right", | |
| "titleColor": "#01011b", | |
| "labelColor": "#01011b", | |
| "titleFontWeight": 500, | |
| "titlePadding": 8 | |
| }, | |
| "style": { | |
| "guide-label": { | |
| "font": "\"IBM Plex Sans\", system-ui, -apple-system, BlinkMacSystemFont, sans-serif" | |
| }, | |
| "guide-title": { | |
| "font": "\"IBM Plex Sans\", system-ui, -apple-system, BlinkMacSystemFont, sans-serif" | |
| }, | |
| "group-title": { | |
| "font": "\"IBM Plex Sans\", system-ui, -apple-system, BlinkMacSystemFont, sans-serif" | |
| }, | |
| "group-subtitle": { | |
| "font": "\"IBM Plex Sans\", system-ui, -apple-system, BlinkMacSystemFont, sans-serif" | |
| }, | |
| "text": { | |
| "font": "\"IBM Plex Sans\", system-ui, -apple-system, BlinkMacSystemFont, sans-serif" | |
| }, | |
| "cell": {"stroke": "#ecedf2"} | |
| }, | |
| "axis": { | |
| "labelColor": "#01011b", | |
| "tickColor": "#ecedf2", | |
| "titleColor": "#01011b", | |
| "titleFontWeight": 500, | |
| "titlePadding": 15, | |
| "gridColor": "#ecedf2", | |
| "domainColor": "#ecedf2" | |
| } | |
| }, | |
| "autosize": {"type": "fit", "resize": false, "contains": "padding"}, | |
| "padding": {"bottom": 20, "right": 20} | |
| } |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment