使用highcharts时遇到问题。我有系列日期数据(借记,月),并想要绘制图表。我可以图数据(仅借记卡),但是当我想添加日期时,有两个问题:
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 debug(@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组合来构建一个公司应用程序,但是这两个工具上有一个新的。
关于如何使这项工作的任何想法?
编辑11/11/2012: 经过一个小时的工作,它的工作原理!我做了一个帮手来做废话。
解决方案:
def getTimestamp(dateTime)
return (DateTime.parse(dateTime.year.to_s + '-' + dateTime.month.to_s + '-01')).to_i * 1000
end
对我来说看起来很脏(2个演员,dans hard day param)。但没有找到更清洁的方式。如果你有一个,请提示;)。