1

ハイチャートで問題が発生しました。日付付きデータ (借方、月) の系列があり、それをグラフ化したいと考えています。データをグラフ化できます (借方のみ) が、日時を追加したい場合、次の 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)。しかし、よりクリーンな方法が見つかりませんでした。お持ちの場合は、お勧めします ;)。

4

0 に答える 0