2011-08-21 78 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