英文:
Hide a mark based on a condition
问题
{
"layer": [
{
"mark": "line",
"encoding": {
"x": {"field": "date", "type": "temporal"},
"y": {"field": "price", "type": "quantitative"},
"color": {"field": "symbol", "type": "nominal"}
}
},
{
"mark": "rule",
"encoding": {
"y": {"field": "price", "aggregate": "mean"},
"size": {"value": 2},
"color": {"field": "symbol"}
}
}
}
}
英文:
I'm wondering if it's possible to show just one of the marks based on a condition or something that is fed by a parameter dynamically.
{
"$schema": "https://vega.github.io/schema/vega-lite/v5.json",
"data": {"url": "data/stocks.csv"},
"layer": [
{
"mark": "line",
"encoding": {
"x": {"field": "date", "type": "temporal"},
"y": {"field": "price", "type": "quantitative"},
"color": {"field": "symbol", "type": "nominal"}
}
},
{
"mark": "rule",
"encoding": {
"y": {"field": "price", "aggregate": "mean"},
"size": {"value": 2},
"color": {"field": "symbol"}
}
}
]
}
I want to create a parameter where a user is able to select one of the two values "line" or "rule." Based on the selection one of the two marks is shown, and the other is hidden.
The data does not change.
答案1
得分: 2
{
"$schema": "https://vega.github.io/schema/vega-lite/v5.json",
"data": {"url": "data/stocks.csv"},
"params": [
{
"name": "choice",
"value": "rule",
"bind": {"input": "radio", "options": ["rule", "line"]}
}
],
"layer": [
{
"mark": "line",
"encoding": {
"x": {"field": "date", "type": "temporal"},
"y": {"field": "price", "type": "quantitative"},
"color": {"field": "symbol", "type": "nominal"},
"opacity": {
"condition": {"test": "choice == 'rule'", "value": 0},
"value": 1
}
}
},
{
"mark": "rule",
"encoding": {
"y": {"field": "price", "aggregate": "mean"},
"size": {"value": 2},
"color": {"field": "symbol"},
"opacity": {
"condition": {"test": "choice == 'line'", "value": 0},
"value": 1
}
}
}
]
}
英文:
Here you go.
{
"$schema": "https://vega.github.io/schema/vega-lite/v5.json",
"data": {"url": "data/stocks.csv"},
"params": [
{
"name": "choice",
"value": "rule",
"bind": {"input": "radio", "options": ["rule", "line"]}
}
],
"layer": [
{
"mark": "line",
"encoding": {
"x": {"field": "date", "type": "temporal"},
"y": {"field": "price", "type": "quantitative"},
"color": {"field": "symbol", "type": "nominal"},
"opacity": {
"condition": {"test": "choice == 'rule'", "value": 0},
"value": 1
}
}
},
{
"mark": "rule",
"encoding": {
"y": {"field": "price", "aggregate": "mean"},
"size": {"value": 2},
"color": {"field": "symbol"},
"opacity": {
"condition": {"test": "choice == 'line'", "value": 0},
"value": 1
}
}
}
]
}
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论