【问题标题】:Chartkick and groupdate gems are show only one point at graph, graph should be several linesChartkick 和 groupdate gems 只在图表上显示一个点,图表应该是几行
【发布时间】:2015-10-14 08:35:00
【问题描述】:

我创建了 ruby​​ on rails 应用程序来显示某些公司在某个时间段的股票价值。我使用下一个宝石:chartkickgroupdatestock_quote

我的 Shema.db:

  create_table "companies", force: :cascade do |t|
    t.string   "symbol"
    t.datetime "current_date"
    t.float    "value"
    t.datetime "created_at",   null: false
    t.datetime "updated_at",   null: false
  end

用seeds.rb填充数据库:

Company.delete_all
d1 = Date.new(2014, 9, 1)
d2 = Date.new(2015, 9, 1)

stocks = StockQuote::Stock.history("aapl", d1, d2)
stocks.each do |stock|
    company = Company.new
    company.symbol = stock.Symbol.to_s
    company.current_date = stock.Date
    company.value = stock.Volume
    company.save
end

stocks = StockQuote::Stock.history("tsla", d1, d2)
stocks.each do |stock|
    company = Company.new
    company.symbol = stock.Symbol.to_s
    company.current_date = stock.Date
    company.value = stock.Volume
    company.save
end

stocks = StockQuote::Stock.history("yhoo", d1, d2)
stocks.each do |stock|
    company = Company.new
    company.symbol = stock.Symbol.to_s
    company.current_date = stock.Date
    company.value = stock.Volume
    company.save
end

在控制器中:

  def show
    @company = Company.all
  end

在 show.html.erb 中,我输入了来自 http://ankane.github.io/chartkick/ 的代码:

<div class="row">
  <div class="col-xs-12">
    <h3>Values By Day 2 years by companies</h3>
    <%= line_chart @company.group(:symbol).group_by_day(:current_date, format: "%B %d, %Y").count, discrete: true %>
  </div>
</div>

图表应该是多条线,并且在图表上只有一个点:

我应该怎么做,改变,添加???

【问题讨论】:

    标签: ruby-on-rails ruby graph stockquotes chartkick


    【解决方案1】:

    也许他们在这个问题之后改变了 API,但他们展示了一个多行系列的例子。 http://chartkick.com/

    <%= line_chart Feat.group(:goal_id).group_by_week(:created_at).count %>
    

    那就试试吧

    <%= line_chart @company.group(:symbol).group_by_day(:current_date).count %>
    

    您正在按current_date 而非:created_at 进行分组,它们都设置为相同的值:

    company.current_date = stock.Date
    

    我不知道它会返回什么,因为它看起来不像一个属性值。我收到undefined method Date 错误。

    【讨论】:

    • API 已经稳定了一段时间,所以文档应该是最新的 :)
    猜你喜欢
    • 1970-01-01
    • 2018-12-07
    • 2017-10-26
    • 2021-12-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多