2011-08-21 79 views
6

如何可能填充日期給定'日期'和'到'日期值x軸?填寫Highcharts X軸與日期給定一個從和迄今

實質上,用戶將在我的HTML Web界面中輸入「from」和「to」日期;例如,24/08/2011 - 28/08/2011

這將通過HTML文本字段的值在用戶按下「查看圖表」按鈕時使用jQuery捕獲。

我想創建一個樣條曲線圖,其x軸從「開始」日期前2天開始,在「到」日期後2天結束。

因此,在上面的例子中,用戶提供了:

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

因此

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

我還希望它有顯示爲它們相應的日期,間隔24小時。因此,x軸應該是這個樣子:

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

編輯:

我發現下面的代碼:

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如何等同的時間間隔向部分數據..我知道顯然它必須與pointInterval ...

我可以猜測,24 * 3600是一天中的秒數,但是什麼是* 10?我如何才能讓它顯示24小時的間隔?

+2

超模糊的問題。需要MOAR INFOZ – adlawson

+0

您瞭解您的問題,但我們不會:)走開十分鐘,然後再看一遍,然後編輯它以包含更多的上下文。我知道很難問你什麼時候處於某種事情的緊張狀態。 –

+0

@Tim,你需要我解釋什麼?我在前端爲我提供了最小和最大範圍。我想將這些填入highcharts中,並將間隔設置爲天數並自動填充日期之間... – user559142

回答

10

這裏有一些應該幫助你的參考。

還創建了一個樣本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;?>) 
} 

基本上,這樣做是設定x軸的類型爲「日期時間」這樣的tickInterval明白這就是它是由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數組移除和重置數據進行新的調用。在答案中使用該方法可能會將所有數據加載到系列中,然後將最小最大日期設置爲日期範圍選擇器中的內容,並重新繪製表格或刷新它? – Anagio

+0

@Anagio你可以查看他們的API,我想這應該適合你,[http://api.highcharts.com/highcharts#Chart.redraw()](http://api.highcharts.com/highcharts# Chart.redraw())。是的,我認爲您可以加載更改並更新正確的字段/參數(不是圖表的實際DOM),然後重新繪製它。 – ace