英文:
Hide a mark based on a condition
问题
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.
我在想是否可以根据条件或通过动态参数提供的内容仅显示其中一个标记。
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.
我想创建一个参数,使用户能够选择两个值中的一个,"line"或"rule"。根据选择,其中一个标记将被显示,而另一个将被隐藏。
The data does not change.
数据不会改变。
英文:
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
}
}
}
]
}
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论