Extension:Graph/Demo/OverviewDetail
پرش به ناوبری
پرش به جستجو
From http://vega.github.io/vega-editor/?spec=overview+detail <graph mode=interactive title="Zoomable Graph"> {
"version": 2, "width": 600, "height": 400,
"signals": [ { "name": "brush_start", "streams": [{ "type": "@overview:mousedown", "expr": "eventX()", "scale": {"name": "xOverview", "invert": true} }] }, { "name": "brush_end", "init": {"expr": "datetime('Jan 1 2000')"}, "streams": [{ "type": "@overview:mousedown, [@overview:mousedown, window:mouseup] > window:mousemove", "expr": "clamp(eventX(), 0, 720)", "scale": {"name": "xOverview", "invert": true} }] }, { "name": "min_date", "init": {"expr": "datetime('Jan 1 2000')"}, "expr": "time(brush_start) === time(brush_end) ? datetime('Jan 1 2000') : min(brush_start, brush_end)" }, { "name": "max_date", "init": {"expr": "datetime('Mar 1 2010')"}, "expr": "time(brush_start) === time(brush_end) ? datetime('Mar 1 2010') : max(brush_start, brush_end)" } ],
"data": [ { "name": "sp500", "url": "wikiraw:///Extension:Graph/data/sp500-csv", "format": {"type": "csv", "parse": {"price": "number", "date": "date"}} } ],
"scales": [ { "name": "xOverview", "type": "time", "range": [0, 720], "domain": {"data": "sp500", "field": "date"} }, { "name": "yOverview", "type": "linear", "range": [70, 0], "nice": true, "domain": {"data": "sp500", "field": "price"} }, { "name": "xDetail", "type": "time", "range": [0, 720], "domainMin": {"signal": "min_date"}, "domainMax": {"signal": "max_date"} }, { "name": "yDetail", "type": "linear", "range": [390, 0], "nice": true, "domain": {"data": "sp500", "field": "price"} } ],
"marks": [ { "type": "group", "name": "detail", "properties": { "enter": { "height": {"value": 390}, "width": {"value": 720} } }, "axes": [ {"type": "x", "scale": "xDetail"}, {"type": "y", "scale": "yDetail"} ], "marks": [ { "type": "group", "properties": { "enter": { "height": {"field": {"group": "height"}}, "width": {"field": {"group": "width"}}, "clip": {"value": true} } }, "marks": [ { "type": "area", "from": {"data": "sp500"}, "properties": { "update": { "x": {"scale": "xDetail", "field": "date"}, "y": {"scale": "yDetail", "field": "price"}, "y2": {"scale": "yDetail", "value": 0}, "fill": {"value": "steelblue"} } } } ] } ] },
{ "type": "group", "name": "overview", "properties": { "enter": { "x": {"value": 0}, "y": {"value": 430}, "height": {"value": 70}, "width": {"value": 720} } }, "axes": [ {"type": "x", "scale": "xOverview"} ], "marks": [ { "type": "area", "from": {"data": "sp500"}, "properties": { "update": { "x": {"scale": "xOverview", "field": "date"}, "y": {"scale": "yOverview", "field": "price"}, "y2": {"scale": "yOverview", "value": 0}, "fill": {"value": "steelblue"} } } }, { "type": "rect", "properties":{ "enter":{ "y": {"value": 0}, "height": {"value":70}, "fill": {"value": "#333"}, "fillOpacity": {"value":0.2} }, "update":{ "x": {"scale": "xOverview", "signal": "brush_start"}, "x2": {"scale": "xOverview", "signal": "brush_end"} } } } ] }
]
} </graph>