ハイチャートで問題が発生しました。日付付きデータ (借方、月) の系列があり、それをグラフ化したいと考えています。データをグラフ化できます (借方のみ) が、日時を追加したい場合、次の 2 つの問題があります。
- x_axis データが正しく表示されない (00:00:00.00)(00:00:00.00)、月年 (2012 年 8 月) を期待
- ツールチップに「無効な日付」と表示された
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 がないためです。そのため、データ パラメータとして 2 次元配列が必要です。会社のアプリを構築するために ruby/highcharts の組み合わせをテストしていますが、これら 2 つのツールはまったく新しいものです。
これを機能させる方法についてのアイデアはありますか?
EDIT 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)。しかし、よりクリーンな方法が見つかりませんでした。お持ちの場合は、お勧めします ;)。