{ "name": "signal_date", "init": {}, "streams": [ { "type": "mousemove", "expr": "clamp(eventX(), 0, eventGroup('root').width)", "scale": {"name": "scale_x","invert": true} }, {"type": "mouseout","expr": "{}"} ]}"fillOpacity": [ { "test": "if(signal_date.length > 0, true, false)", "value": 0 }, {"value": 1}]{ "data": [ { "name": "table", "values": [ {"date": "2016-08-07","value": 28}, {"date": "2016-08-14","value": 55}, {"date": "2016-08-21","value": 18}, {"date": "2016-08-28","value": 24}, {"date": "2016-09-04","value": 49} ], "transform": [ { "type": "formula", "field": "date", "expr": "datetime(datum.date)" } ] } ], "signals": [ { "name": "signal_date", "init": {}, "streams": [ { "type": "mousemove", "expr": "clamp(eventX(), 0, eventGroup('root').width)", "scale": {"name": "scale_x","invert": true} }, {"type": "mouseout","expr": "{}"} ] } ], "scales": [ { "name": "scale_x", "type": "time", "range": "width", "domain": {"data": "table","field": "date"} }, { "name": "scale_y", "type": "linear", "range": "height", "domain": {"data": "table","field": "value"}, "nice": true } ], "axes": [ { "type": "x", "scale": "scale_x", "title": "Date", "ticks": 5 }, {"type": "y","scale": "scale_y","title": "Value"} ], "marks": [ { "type": "line", "from": {"data": "table"}, "properties": { "update": { "x": {"scale": "scale_x","field": "date"}, "y": {"scale": "scale_y","field": "value"}, "stroke": {"value": "red"} } } }, { "type": "rule", "properties": { "update": { "x": {"scale": "scale_x","signal": "signal_date"}, "y": {"value": 0}, "y2": {"field": {"group": "height"}}, "stroke": {"value": "green"}, "fillOpacity": [ { "test": "if(signal_date.length > 0, true, false)", "value": 0 }, {"value": 1} ] } } } ]}{ name: "signal_date", init: null, streams: [ { type: "mousemove", expr: "clamp(eventX(), 0, eventGroup('root').width)", scale: { name: "scale_x", invert: true } }, { type: "mouseout", expr: "null" } ]}x: [ { test: "signal_date !== null", scale: "scale_x", signal: "signal_date" }, { value: 0 }]strokeOpacity: [ { test: "signal_date === null", value: 0 }, { value: 1 }]Error: <rect> attribute width: A negative value is not valid. ("-110104")