簡體   English   中英

從數據字段中獲取最小值和最大值以在域規模中使用

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM