<graph>
Jump to navigation
Jump to search
Описание:
Внимание! |
<graph> |
Позволяет внедрять визуализации Vega
- Автор:
- Александр Машин
width
:- ширина в пикселях
heighr
:- высота в пикселях
Визуализация
Синтаксис:<graph width="ширина в пикселях" heighr="высота в пикселях">описание на языке Vega</graph>
| ||
---|---|---|
Тематические статьи | ||
Техническая справка | ||
Тэги MediaWiki: | ||
Общие правила | ||
<graph>
— предоставляемый определённым образом настроенным расширением External data тег MediaWiki, позволяющий внедрять в страницы визуализации, отрисованные программой Vega.
Визуализация описывается особым языком, являющимся подмножеством JSON.
Особенностью реализации является то, что визуализация отрисовывается и на стороне сервера, и на стороне клиента. Первое созраняет визуализацию в средах без JavaScript, например, при экспорте в PDF, второе делает визуализации интерактивными в браузере.
Примеры[edit source]
Викитекст | Вывод |
---|---|
<graph width="400">{ "$schema": "https://vega.github.io/schema/vega/v5.json", "description": "A basic bar chart example, with value labels shown upon mouse hover.", "width": 400, "height": 200, "padding": 5, "data": [ { "name": "table", "values": [ {"category": "A", "amount": 28}, {"category": "B", "amount": 55}, {"category": "C", "amount": 43}, {"category": "D", "amount": 91}, {"category": "E", "amount": 81}, {"category": "F", "amount": 53}, {"category": "G", "amount": 19}, {"category": "H", "amount": 87} ] } ], "signals": [ { "name": "tooltip", "value": {}, "on": [ {"events": "rect:mouseover", "update": "datum"}, {"events": "rect:mouseout", "update": "{}"} ] } ], "scales": [ { "name": "xscale", "type": "band", "domain": {"data": "table", "field": "category"}, "range": "width", "padding": 0.05, "round": true }, { "name": "yscale", "domain": {"data": "table", "field": "amount"}, "nice": true, "range": "height" } ], "axes": [ { "orient": "bottom", "scale": "xscale" }, { "orient": "left", "scale": "yscale" } ], "marks": [ { "type": "rect", "from": {"data":"table"}, "encode": { "enter": { "x": {"scale": "xscale", "field": "category"}, "width": {"scale": "xscale", "band": 1}, "y": {"scale": "yscale", "field": "amount"}, "y2": {"scale": "yscale", "value": 0} }, "update": { "fill": {"value": "steelblue"} }, "hover": { "fill": {"value": "red"} } } }, { "type": "text", "encode": { "enter": { "align": {"value": "center"}, "baseline": {"value": "bottom"}, "fill": {"value": "#333"} }, "update": { "x": {"scale": "xscale", "signal": "tooltip.category", "band": 0.5}, "y": {"scale": "yscale", "signal": "tooltip.amount", "offset": -2}, "text": {"signal": "tooltip.amount"}, "fillOpacity": [ {"test": "datum === tooltip", "value": 0}, {"value": 1} ] } } } ] }</graph> |
|
<graph width="400">{ "$schema": "https://vega.github.io/schema/vega/v5.json", "description": "A plot of 2016 annual global precipitation data from the NOAA Climate Forecast System (CFS) v2.", "width": 600, "height": 300, "autosize": "fit-x", "signals": [ { "name": "projection", "value": "naturalEarth1", "bind": {"input": "select", "options": [ "azimuthalEqualArea", "equalEarth", "equirectangular", "naturalEarth1", "mollweide", "orthographic" ]} }, { "name": "scale", "value": 110, "bind": {"input": "range", "min": 50, "max": 400, "step": 5} }, { "name": "rotate0", "value": 0, "bind": {"input": "range", "min": -180, "max": 180, "step": 1} }, { "name": "rotate1", "value": 0, "bind": {"input": "range", "min": 0, "max": 360, "step": 1} }, { "name": "rotate2", "value": 0, "bind": {"input": "range", "min": 0, "max": 360, "step": 1} }, { "name": "opacity", "value": 0.5, "bind": {"input": "range", "min": 0, "max": 1, "step": 0.01} }, { "name": "levels", "value": 6, "bind": {"input": "range", "min": 2, "max": 12, "step": 1} }, { "name": "stop", "value": 3000 }, { "name": "step", "update": "stop / levels" } ], "data": [ { "name": "precipitation", "url": "https://vega.github.io/vega/data/annual-precip.json" }, { "name": "contours", "source": "precipitation", "transform": [ { "type": "isocontour", "thresholds": {"signal": "sequence(step, stop, step)"} } ] }, { "name": "world", "url": "https://vega.github.io/vega/data/world-110m.json", "format": {"type": "topojson", "feature": "countries"} } ], "projections": [ { "name": "projection", "type": {"signal": "projection"}, "scale": {"signal": "scale"}, "rotate": {"signal": "[rotate0, rotate1, rotate2]"}, "translate": {"signal": "[width/2, height/2]"} } ], "scales": [ { "name": "color", "type": "quantize", "domain": {"signal": "[0, stop]"}, "range": {"scheme": "bluepurple", "count": {"signal": "levels"} } } ], "marks": [ { "type": "shape", "clip": true, "from": {"data": "world"}, "encode": { "update": { "strokeWidth": {"value": 1}, "stroke": {"value": "#eee"}, "fill": {"value": "#ddd"} } }, "transform": [ { "type": "geoshape", "projection": "projection" } ] }, { "type": "shape", "clip": true, "from": { "data": "contours"}, "encode": { "update": { "fill": {"scale": "color", "field": "contour.value"}, "fillOpacity": {"signal": "opacity"} } }, "transform": [ { "type": "geoshape", "field": "datum.contour", "projection": "projection" } ] } ], "legends": [ { "title": "Annual Precipitation (mm)", "fill": "color", "orient": "bottom", "offset": 5, "type": "gradient", "gradientLength": 300, "gradientThickness": 12, "titlePadding": 10, "titleOrient": "left", "titleAnchor": "end", "direction": "horizontal" } ], "config": { "legend": {"layout": {"anchor": "middle"} } } }</graph> |