【问题标题】:How to join points by line?如何逐行连接点?
【发布时间】:2017-06-01 19:01:51
【问题描述】:

我在我的项目中使用了 chartkick 和 gem "groupdate"。

<%= area_chart SugarLevel.group_by_minute(created_at).sum(:mmol) %>

我想继续从一个点到另一个点。我对 groupdate 做错了什么。如果某一分钟没有数据,则该行必须从上一点开始,并必须在下一点结束。

它必须是没有间隙的图形。像那样:

【问题讨论】:

  • 你从哪里得到第二张图片,也许它的图形名称不同。
  • 我从油漆中得到了这张图片。这是它应该是什么样子的示例。
  • 不,我没有在他们的网站上看到这样的例子。是的,我对其他图表宝石持开放态度。

标签: ruby-on-rails chartkick


【解决方案1】:

gem "groupdate" group_by_something 中的方法使用Hash 来存储数据。例如:

 @hash = SugarLevel.group_by_minute(:created_at).sum(:mmol) # => {Thu, 01 Jun 2017 17:39:00 UTC +00:00=>#<BigDecimal:2add9a8,'0.77E1',18(18)>, Thu, 01 Jun 2017 17:40:00 UTC +00:00=>0, Thu, 01 Jun 2017 17:41:00 UTC +00:00=>0, Thu, 01 Jun 2017 17:42:00 UTC +00:00=>0, Thu, 01 Jun 2017 17:43:00 UTC +00:00=>0}

我们可以根据需要清除这个哈希:

@hash.select{|k, v| v != 0} # Select all keys which do not consist 0

最终,我们可以把它放在一个视图中:&lt;%= area_chart @hash %&gt;

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-05-05
    • 1970-01-01
    • 1970-01-01
    • 2020-10-14
    • 2016-10-13
    相关资源
    最近更新 更多