2011-08-21 14 views
6

x軸に 'from'と 'to'の日付値を指定した日付を入力する方法はありますか?ハイチャートX軸に日付を指定して日付と時刻を指定する

基本的に、ユーザーはHTML Webインターフェイスで「開始日」と「終了日」を入力します。 24/08/2011 - 28/08/2011

これは、ユーザーが[グラフの表示]ボタンを押したときに値がjQueryを使用してキャッチされるHTMLテキストフィールドを介して行われます。

x軸が「開始日」の2日前に開始し、「終了日」の2日後に終了するスプライン・チャートを作成したいとします。

は、したがって、上記の例では、ユーザーが用意されています

from -> 24/08/2011 
to -> 28/08/2011 

ので

x-axis start -> 22/08/2011 
x-axis ends -> 30/08/2011 

を、私はまた、それに対応する日付として表示された24時間の間隔を持っていると思います。

| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
|___________________________________________________ 
    |  |  |  |  |  |  |  |  | 
22/08 23/08 24/08 25/08 26/08 27/08 28/08 29/08 30/08 

EDIT:

私は次のコードが見つかりました:

series: [{ 
     type: 'spline', 
     name: 'USD to EUR', 
     pointInterval: 24 * 3600 * 10, 
     pointStart: Date.UTC(<?php echo($year); ?>, 0, <?php echo($day);?>), 
     data: [ 
      0.8446, 0.8445, 0.8444 
    ] 
     }] 

をしかし、私はちょうどHighChartsをする時間間隔を等しくする方法を見つけ出すことはできませんそのため、x軸は次のようになりますデータの一部..私は明らかにpointIntervalと関係があります...

24 * 3600は1日の秒数ですが、* 10は何ですか?正確に24時間間隔を表示するにはどうすればよいですか?

+2

超曖昧な質問です。 MOAR INFOZが必要です – adlawson

+0

あなたは問題を理解していますが、私たちはそれを理解していません:) 10分離れてからもう一度見てから、もう少しコンテキストを含めるように編集してください。私はあなたが何かの真ん中にいるときに尋ねるのは難しいことを知っていますし、緊急の感覚が高まっています。 –

+0

@ティム、何を説明する必要がありますか?私はフロントエンドで私に提供される最小値と最大値を持っています。私はハイチャートにこれらを供給し、間隔を日として設定し、日付の間に自動的に値を設定したい – user559142

答えて

10

以下は参考になる参考資料です。

  • Highcharts API xAxis
    • はまた、あなたが出始める助けるためにサンプル jsfiddleを作成しました。

      X軸は

      xAxis: { 
          type: "datetime", 
          dateTimeLabelFormats: { 
           day: '%m-%d' 
          }, 
          tickInterval: 24 * 3600 * 1000, 
          min: Date.UTC(<?php echo $date_from;?>), 
          max: Date.UTC(<?php echo $date_to;?>) 
      } 
      

      基本的には、何これはtickIntervalので、「日時」にX軸の種類を設定して行うことはそれはそれは86400000 millisecondsずつ増加し、またベースのX軸の書式を設定されているのです理解します必要な場合はdate format
      $date_from$date_toは、フォーム提出を処理するPHPのようになります。

      $date_from = date("Y, m, d",strtotime($_POST['from']) - 2*86400); 
      $date_to = date("Y, m, d",strtotime($_POST['to']) + 2*86400); 
      
    +0

    私は現在、日付範囲のピッカーでhigchartsに取り組んでいます。私は、AJAXを使用してjson配列の新しい呼び出しを行い、データを削除してリセットするつもりでした。あなたの答えでこのメソッドを使用すると、すべてのデータをシリーズにロードしてから、最大の日付を自分の日付範囲のピッカーに設定し、テーブルを再描画したり、更新したりできますか?あなたがhttp://api.highcharts.com/highcharts#Chart.redraw()](http://api.highcharts.com/highcharts# [、私はこれがあなたのために働く必要がありますね、そのAPIを調べること@Anagio – Anagio

    +0

    Chart.redraw())。はい、私はあなたが変更をロードし、正しいフィールド/パラメータ(グラフの実際のDOMではなく)を更新し、それを再描画できると思います。 – ace

    関連する問題