高图有问题。我有带有日期数据(借方,月份)的系列,并想要绘制它。我可以绘制数据(仅限借方),但是当我想添加日期时间时,有两个问题:
- x_axis 数据显示错误 (00:00:00.00)(00:00:00.00),预计月-年 (08/2012)
- 工具提示告诉我“日期无效”
def index
@ops = getConstantOps()
@js_data = []
@ops.each { |f|
tmp = [f.date_operation,f.debit]
@js_data.push(tmp)
}
@h = LazyHighCharts::HighChart.new('graph') do |f|
f.options[:chart][:defaultSeriesType] = "area"
f.x_axis({:type =>'datetime'} )
f.series( :name=>'Ops', :data=>@js_data)
end
Ruby 调试(@js_data) 说
{--- !ruby/object:LazyHighCharts::HighChart
collection_filter:
data:
- :name: Ops
:data:
- - 2010-07-08
- 387.0
- - 2010-08-09
- 476.0
- - 2010-09-08
- 443.0}
所以我不需要使用“pointInterval”和“pointStart”,因为有几个月我没有任何 Ops。这就是为什么我需要一个二维数组作为数据参数。我正在测试 ruby/highcharts 组合来构建公司应用程序,但在这两个工具上却是全新的。
关于如何使这项工作的任何想法?
编辑 2012 年 11 月 11 日:经过几个小时的工作,它起作用了!我做了一个帮手来做废话。
解决方案 :
def getTimestamp(dateTime)
return (DateTime.parse(dateTime.year.to_s + '-' + dateTime.month.to_s + '-01')).to_i * 1000
end
对我来说它看起来很脏(2 次施法,dans hard day param)。但没有找到更清洁的方法。如果你有一个,请建议;)。