我有一条具有固定 y 值的线标记,并且我希望它根据二进制值(值为 0 和 1)进行分割。
这里有一个例子(基于这个),线标记为红色,布尔值high_price
基于价格是否超过 400。
我曾尝试根据的值来设置不透明度,high_price
它在 2006 年的左侧起作用(尽管不透明度似乎不是完全为零),但它仍然停留在不透明度 1,即使high_price
在 2006 年之后的值在 0 和 1 之间变化了几次。
我怎样才能得到它,当high_price
为零时,线不可见,而当为一时,线完全可见?
{
"$schema": "https://vega.github.io/schema/vega-lite/v5.json",
"description": "Google's stock price over time.",
"data": {"url": "data/stocks.csv"},
"transform": [{"filter": "datum.symbol==='GOOG'"}],
"encoding": {
"x": {"field": "date", "type": "temporal"}
},
"layer": [{
"mark": "area",
"encoding": {
"y": {"field": "price", "type": "quantitative"}
}
},
{
"transform": [
{
"calculate": "datum.price > 400 ? 1 : 0",
"as": "high_price"
}
],
"mark": {"type": "line", "size": 5},
"encoding": {
"y": {
"value": 201
},
"opacity": {
"legend": null,
"field": "high_price",
"type": "quantitative"
},
"color": {"value": "red"}
}
}]
}
像这样吗?