You can go to the blockbuilder and to fork this block and create your own visualizations. Check out the Vega-Lite website for more information, tutorials, and documentation. Happy hacking!
forked from domoritz's block: Vega-Lite block example
| license: mit |
You can go to the blockbuilder and to fork this block and create your own visualizations. Check out the Vega-Lite website for more information, tutorials, and documentation. Happy hacking!
forked from domoritz's block: Vega-Lite block example
| <!DOCTYPE html> | |
| <head> | |
| <meta charset="utf-8"> | |
| <script src="https://cdnjs.cloudflare.com/ajax/libs/vega/3.0.0-beta.34/vega.js"></script> | |
| <script src="https://cdnjs.cloudflare.com/ajax/libs/vega-lite/2.0.0-beta.4/vega-lite.js"></script> | |
| <script src="https://cdnjs.cloudflare.com/ajax/libs/vega-embed/3.0.0-beta.18/vega-embed.js"></script> | |
| <style> | |
| body { | |
| font-family: sans-serif; | |
| } | |
| .vega-actions a { | |
| padding: 0.2em; | |
| } | |
| </style> | |
| </head> | |
| <body> | |
| <div id="vis"></div> | |
| <script> | |
| // const spec = "stackarea.vega.v3.json"; | |
| // const spec = "stackarea.v2.json"; | |
| const spec = "stackarea.work.v3.json"; | |
| var values = | |
| [{"bounds": [1493382600000,1493383499999], "value":8574741,"start":"2017-04-28T20:30:00", "categories": "ABC"}, | |
| {"bounds": [1493382600000,1493383499999], "value":7574741,"start":"2017-04-28T20:45:00", "categories": "ABC"}, | |
| {"bounds": [1493382600000,1493383499999], "value":8074741,"start":"2017-04-28T21:00:00", "categories": "ABC"}]; | |
| var count = 0; | |
| function cb (error, res) { | |
| window.setInterval(function () { | |
| if (count < 3) { | |
| console.log("count " + count) | |
| var changeSet = vega.changeset().insert(values[count++]); | |
| res.view.change('table', changeSet).run(); | |
| } | |
| }, 1000); | |
| } | |
| vega.embed('#vis', spec, | |
| {"mode": "vega-lite"}, | |
| cb); | |
| </script> | |
| </body> |
| { | |
| "width": 1000, | |
| "height": 600, | |
| "data": {"name": "table" | |
| }, | |
| "mark": "area", | |
| "encoding": { | |
| "x": { | |
| "timeUnit": "yearmonthutcyearmonthdatehoursminutes", | |
| "field": "start", | |
| "type": "temporal", | |
| "scale": {"nice": "minute"}, | |
| "axis": { | |
| "domain": false, | |
| "format": "%Y%m%d %H%M", | |
| "labelAngle": 0 | |
| } | |
| }, | |
| "y": { | |
| "aggregate": "sum", | |
| "field": "value", | |
| "type": "quantitative" | |
| }, | |
| "color": { | |
| "field": "categories", | |
| "type": "nominal", | |
| "scale": {"scheme": "category20b"} | |
| } | |
| } | |
| } |
| { | |
| "$schema": "http://vega.github.io/schema/vega/v3.0.json", | |
| "autosize": "pad", | |
| "padding": 5, | |
| "data": [ | |
| { | |
| "name": "table", | |
| "transform": [ | |
| { | |
| "type": "filter", | |
| "expr": "datum[\"start\"] !== null && !isNaN(datum[\"start\"]) && datum[\"value\"] !== null && !isNaN(datum[\"value\"])" | |
| }, | |
| { | |
| "type": "formula", | |
| "as": "yearmonthutcyearmonthdatehoursminutes_start", | |
| "expr": "datetime(year(datum[\"start\"]), month(datum[\"start\"]), date(datum[\"start\"]), hours(datum[\"start\"]), minutes(datum[\"start\"]), 0, 0)" | |
| }, | |
| { | |
| "type": "aggregate", | |
| "groupby": [ | |
| "yearmonthutcyearmonthdatehoursminutes_start", | |
| "categories" | |
| ], | |
| "ops": ["sum"], | |
| "fields": ["value"] | |
| }, | |
| { | |
| "type": "impute", | |
| "field": "sum_value", | |
| "groupby": ["categories"], | |
| "orderby": ["yearmonthutcyearmonthdatehoursminutes_start"], | |
| "method": "value", | |
| "value": 0 | |
| }, | |
| { | |
| "type": "stack", | |
| "groupby": ["yearmonthutcyearmonthdatehoursminutes_start"], | |
| "field": "sum_value", | |
| "sort": {"field": ["categories"],"order": ["descending"]}, | |
| "as": ["sum_value_start","sum_value_end"], | |
| "offset": "zero" | |
| }, | |
| { | |
| "type": "collect", | |
| "sort": { | |
| "field": "yearmonthutcyearmonthdatehoursminutes_start", | |
| "order": "descending" | |
| } | |
| } | |
| ], | |
| "format": {"parse": {"start": "date","value": "number"}} | |
| } | |
| ], | |
| "signals": [ | |
| {"name": "width","update": "1000"}, | |
| {"name": "height","update": "600"}, | |
| { | |
| "name": "unit", | |
| "value": {}, | |
| "on": [ | |
| { | |
| "events": "mousemove", | |
| "update": "group()._id ? group() : unit" | |
| } | |
| ] | |
| } | |
| ], | |
| "marks": [ | |
| { | |
| "name": "nested_main_group", | |
| "type": "group", | |
| "encode": { | |
| "update": { | |
| "width": {"signal": "width"}, | |
| "height": {"signal": "height"}, | |
| "fill": {"value": "transparent"} | |
| } | |
| }, | |
| "marks": [ | |
| { | |
| "name": "pathgroup", | |
| "type": "group", | |
| "from": { | |
| "facet": { | |
| "name": "faceted_path_main", | |
| "data": "table", | |
| "groupby": ["categories"] | |
| } | |
| }, | |
| "encode": { | |
| "update": { | |
| "width": {"field": {"group": "width"}}, | |
| "height": {"field": {"group": "height"}} | |
| } | |
| }, | |
| "marks": [ | |
| { | |
| "name": "marks", | |
| "type": "area", | |
| "from": {"data": "faceted_path_main"}, | |
| "encode": { | |
| "update": { | |
| "x": { | |
| "scale": "x", | |
| "field": "yearmonthutcyearmonthdatehoursminutes_start" | |
| }, | |
| "y": {"scale": "y","field": "sum_value_end"}, | |
| "y2": {"scale": "y","field": "sum_value_start"}, | |
| "fill": {"scale": "color","field": "categories"}, | |
| "orient": {"value": "vertical"} | |
| } | |
| } | |
| } | |
| ] | |
| } | |
| ] | |
| } | |
| ], | |
| "scales": [ | |
| { | |
| "name": "x", | |
| "type": "time", | |
| "domain": { | |
| "data": "table", | |
| "field": "yearmonthutcyearmonthdatehoursminutes_start" | |
| }, | |
| "range": [0,1000], | |
| "round": true, | |
| "nice": "minute" | |
| }, | |
| { | |
| "name": "y", | |
| "type": "linear", | |
| "domain": { | |
| "data": "table", | |
| "fields": ["sum_value_start","sum_value_end"] | |
| }, | |
| "range": [600,0], | |
| "round": true, | |
| "nice": true, | |
| "zero": true | |
| }, | |
| { | |
| "name": "color", | |
| "type": "ordinal", | |
| "domain": {"data": "table","field": "categories","sort": true}, | |
| "range": {"scheme": "category20b"} | |
| } | |
| ], | |
| "axes": [ | |
| { | |
| "scale": "x", | |
| "domain": false, | |
| "orient": "bottom", | |
| "tickCount": 5, | |
| "title": "YEARMONTHUTCYEARMONTHDATEHOURSMINUTES(start)", | |
| "zindex": 1, | |
| "encode": { | |
| "labels": { | |
| "update": { | |
| "text": { | |
| "signal": "timeFormat(datum.value, '%Y%m%d %H%M')" | |
| }, | |
| "angle": {"value": 0} | |
| } | |
| } | |
| } | |
| }, | |
| { | |
| "scale": "x", | |
| "domain": false, | |
| "grid": true, | |
| "labels": false, | |
| "orient": "bottom", | |
| "tickCount": 5, | |
| "ticks": false, | |
| "zindex": 0, | |
| "gridScale": "y" | |
| }, | |
| { | |
| "scale": "y", | |
| "format": "s", | |
| "orient": "left", | |
| "title": "SUM(value)", | |
| "zindex": 1 | |
| }, | |
| { | |
| "scale": "y", | |
| "domain": false, | |
| "format": "s", | |
| "grid": true, | |
| "labels": false, | |
| "orient": "left", | |
| "ticks": false, | |
| "zindex": 0, | |
| "gridScale": "x" | |
| } | |
| ], | |
| "legends": [{"fill": "color","title": "categories"}] | |
| } |
| { | |
| "$schema": "http://vega.github.io/schema/vega/v3.0.json", | |
| "autosize": "pad", | |
| "padding": 5, | |
| "data": [ | |
| { | |
| "name": "table", | |
| "transform": [ | |
| { | |
| "type": "filter", | |
| "expr": "datum[\"start\"] !== null && datum[\"value\"] !== null && !isNaN(datum[\"value\"])" | |
| }, | |
| { | |
| "type": "formula", | |
| "as": "yearmonthutcyearmonthdatehoursminutes_start", | |
| "expr": "datetime(year(datum[\"start\"]), month(datum[\"start\"]), date(datum[\"start\"]), hours(datum[\"start\"]), minutes(datum[\"start\"]), 0, 0)" | |
| }, | |
| { | |
| "type": "aggregate", | |
| "groupby": [ | |
| "yearmonthutcyearmonthdatehoursminutes_start", | |
| "categories" | |
| ], | |
| "ops": ["sum"], | |
| "fields": ["value"] | |
| }, | |
| { | |
| "type": "impute", | |
| "field": "sum_value", | |
| "groupby": ["categories"], | |
| "orderby": ["yearmonthutcyearmonthdatehoursminutes_start"], | |
| "method": "value", | |
| "value": 0 | |
| }, | |
| { | |
| "type": "stack", | |
| "groupby": ["yearmonthutcyearmonthdatehoursminutes_start"], | |
| "field": "sum_value", | |
| "sort": {"field": ["categories"],"order": ["descending"]}, | |
| "as": ["sum_value_start","sum_value_end"], | |
| "offset": "zero" | |
| }, | |
| { | |
| "type": "collect", | |
| "sort": { | |
| "field": "yearmonthutcyearmonthdatehoursminutes_start", | |
| "order": "descending" | |
| } | |
| } | |
| ], | |
| "format": {"parse": {"start": "date","value": "number"}} | |
| } | |
| ], | |
| "signals": [ | |
| {"name": "width","update": "1000"}, | |
| {"name": "height","update": "600"}, | |
| { | |
| "name": "unit", | |
| "value": {}, | |
| "on": [ | |
| { | |
| "events": "mousemove", | |
| "update": "group()._id ? group() : unit" | |
| } | |
| ] | |
| } | |
| ], | |
| "marks": [ | |
| { | |
| "name": "nested_main_group", | |
| "type": "group", | |
| "encode": { | |
| "update": { | |
| "width": {"signal": "width"}, | |
| "height": {"signal": "height"}, | |
| "fill": {"value": "transparent"} | |
| } | |
| }, | |
| "marks": [ | |
| { | |
| "name": "pathgroup", | |
| "type": "group", | |
| "from": { | |
| "facet": { | |
| "name": "faceted_path_main", | |
| "data": "table", | |
| "groupby": ["categories"] | |
| } | |
| }, | |
| "encode": { | |
| "update": { | |
| "width": {"field": {"group": "width"}}, | |
| "height": {"field": {"group": "height"}} | |
| } | |
| }, | |
| "marks": [ | |
| { | |
| "name": "marks", | |
| "type": "area", | |
| "from": {"data": "faceted_path_main"}, | |
| "encode": { | |
| "update": { | |
| "x": { | |
| "scale": "x", | |
| "field": "yearmonthutcyearmonthdatehoursminutes_start" | |
| }, | |
| "y": {"scale": "y","field": "sum_value_end"}, | |
| "y2": {"scale": "y","field": "sum_value_start"}, | |
| "fill": {"scale": "color","field": "categories"}, | |
| "orient": {"value": "vertical"} | |
| } | |
| } | |
| } | |
| ] | |
| } | |
| ] | |
| } | |
| ], | |
| "scales": [ | |
| { | |
| "name": "x", | |
| "type": "time", | |
| "domain": { | |
| "data": "table", | |
| "field": "yearmonthutcyearmonthdatehoursminutes_start" | |
| }, | |
| "range": [0,1000], | |
| "round": true, | |
| "nice": "minute" | |
| }, | |
| { | |
| "name": "y", | |
| "type": "linear", | |
| "domain": { | |
| "data": "table", | |
| "fields": ["sum_value_start","sum_value_end"] | |
| }, | |
| "range": [600,0], | |
| "round": true, | |
| "nice": true, | |
| "zero": true | |
| }, | |
| { | |
| "name": "color", | |
| "type": "ordinal", | |
| "domain": {"data": "table","field": "categories","sort": true}, | |
| "range": {"scheme": "category20b"} | |
| } | |
| ], | |
| "axes": [ | |
| { | |
| "scale": "x", | |
| "domain": false, | |
| "orient": "bottom", | |
| "tickCount": 5, | |
| "title": "YEARMONTHUTCYEARMONTHDATEHOURSMINUTES(start)", | |
| "zindex": 1, | |
| "encode": { | |
| "labels": { | |
| "update": { | |
| "text": { | |
| "signal": "timeFormat(datum.value, '%Y%m%d %H%M')" | |
| }, | |
| "angle": {"value": 0} | |
| } | |
| } | |
| } | |
| }, | |
| { | |
| "scale": "x", | |
| "domain": false, | |
| "grid": true, | |
| "labels": false, | |
| "orient": "bottom", | |
| "tickCount": 5, | |
| "ticks": false, | |
| "zindex": 0, | |
| "gridScale": "y" | |
| }, | |
| { | |
| "scale": "y", | |
| "format": "s", | |
| "orient": "left", | |
| "title": "SUM(value)", | |
| "zindex": 1 | |
| }, | |
| { | |
| "scale": "y", | |
| "domain": false, | |
| "format": "s", | |
| "grid": true, | |
| "labels": false, | |
| "orient": "left", | |
| "ticks": false, | |
| "zindex": 0, | |
| "gridScale": "x" | |
| } | |
| ], | |
| "legends": [{"fill": "color","title": "categories"}] | |
| } |