Graph Axibase时间序列数据库-过滤掉时间图表上的负值

Graph Axibase时间序列数据库-过滤掉时间图表上的负值,graph,charts,time-series,axibase,Graph,Charts,Time Series,Axibase,我正在使用社区版10552来存储我的光伏和太阳高度数据。太阳高度值在夜间为负值,我不想在图表上看到它们 如何仅查看正值?有人知道可以实现这一点的设置或技巧吗 以下是我当前的配置: [widget] type = chart title = PV power timespan = 3 day entity = pvout.25630 [series] label = Sun Altitude at (-35.3089, 149.2004) metric = sun_alt

我正在使用社区版10552来存储我的光伏和太阳高度数据。太阳高度值在夜间为负值,我不想在图表上看到它们

如何仅查看正值?有人知道可以实现这一点的设置或技巧吗

以下是我当前的配置:

[widget]
  type = chart
  title = PV power
  timespan = 3 day
  entity = pvout.25630

[series]
  label = Sun Altitude at (-35.3089, 149.2004)
  metric = sun_altitude
  color = orange
   [tags]
    lat = -35.3089 
    lon = 149.2004
下面是我目前实际看到的屏幕截图:

以下是图表实验室中的一个示例:

好问题

有几种方法可以隐藏或过滤掉负值:

[widget]
  type = chart
  title = PV power
  timespan = 3 day
  entity = pvout.25630

[series]
  metric = sun_altitude
  display = false
  alias = sun_alt

 [tags]
  lat=-35.3089 
  lon=149.2004

[series]
  label = Sun Altitude at (-35.3089, 149.2004)
  value = Math.max(0, value('sun_alt'))
  color = orange
  • 设置使用表达式修改或筛选系列值:

    [widget]
      type = chart
      title = PV power
      timespan = 3 day
      entity = pvout.25630
    
    [series]
      label = Sun Altitude at (-35.3089, 149.2004)
      metric = sun_altitude
      color = orange
    
      replace-value = value < 0 ? null : value
    
      [tags]
       lat=-35.3089 
       lon=149.2004
    
  • 结果:

  • 如果使用脚本计算太阳高度,则可以使用
    Math.max
    函数:

    [widget]
      type = chart
      title = PV power
      timespan = 3 day
    
    [series]
      label = Altitude
      #API: SunCalc.getPosition = function (date, lat, lng)
      value = var pos = SunCalc.getPosition(new Date(time), -35.3089, 149.2004);
      value = return Math.max(0, pos.altitude)
      frequency = 30 minute
      color = orange
    
  • 结果:

  • 可用于创建计算序列,不包括负值:

    [widget]
      type = chart
      title = PV power
      timespan = 3 day
      entity = pvout.25630
    
    [series]
      metric = sun_altitude
      display = false
      alias = sun_alt
    
     [tags]
      lat=-35.3089 
      lon=149.2004
    
    [series]
      label = Sun Altitude at (-35.3089, 149.2004)
      value = Math.max(0, value('sun_alt'))
      color = orange
    
  • 在本例中,我们隐藏原始序列并指定一个别名,然后使用
    value=Math.max(0,value('sun_alt'))
    方程创建一个没有负值的新计算序列

    结果: