[英]detect overlapping of circle and change xaxis domain from (0,max) to (min,max)
[英]Get min and max from data field to use in domain scale
我有一個Vega圖表,我需要動態計算x軸域。 閱讀文檔,我看到我可能有兩個選擇:
我的數據轉換聚合min max實現如下:
{
'name': 'minMaxSales',
'source': 'monthlySales',
'transform': { 'type': 'aggregate', 'fields': ['datum.sales_total', 'datum.sales_total'], 'ops': ['min', 'max'], 'as': ['minSales', 'maxSales'] }
}
X比例定義:
'scales': [
{
'name': 'x',
'type': 'linear',
'round': false,
'nice': false,
'zero': true,
'domain': {
'data': 'minMaxSales'
},
'range': 'width'
}
]
我的數據轉換范圍解決方案代碼如下:
{
'name': 'minMaxSales',
'source': 'monthlySales',
'transform': { 'type': 'extent', 'field': 'datum.sales_total', 'signal': 'extent' }
}
X比例定義的相同代碼。
在這兩種情況下,我都會收到以下錯誤:
vue.runtime.esm.js:1832 TypeError: data.transform.forEach is not a function
at parseData (data.js:11)
......
transform
應該是一個對象數組( 見這里 )。 你需要做的就是在{ 'type': 'aggregate', 'fields': ['datum.sales_total', 'datum.sales_total'], 'ops': ['min', 'max'], 'as': ['minSales', 'maxSales'] }
附近添加方括號( []
) { 'type': 'aggregate', 'fields': ['datum.sales_total', 'datum.sales_total'], 'ops': ['min', 'max'], 'as': ['minSales', 'maxSales'] }
它應該可以正常工作。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.