Zing 图表:如何在表单 post 上的两个时间戳之间自动设置缩放?

Zing Charts : How to automatically set zoom between two timestamps on form post?

我有一个 Zingchart 面积图,在 X 轴上绘制了时间。它只是显示在时间尺度上发生的事件。 像这样:

如您所见,x 轴上有日期和时间。我有一个表格,用户可以在其中 select 开始时间和结束时间 我希望图表仅在图表上显示该时间范围,就像缩放功能一样,但应该在发布表格时自动发生。

这是我想要的输出

上午 8 点到上午 10 点之间的图表日期:15-2-2017

我已经尝试 selecting 查询 w.r.t 运行时间(绿色条)。但它打破了图表,因为有时图表不理解从哪里绘制下一个值,因为它不在用户 selected 时间范围内。

SQL 查询是:

 $query = "SELECT * FROM `Admill1` WHERE ((Date>='$from' AND Date<='$to') AND (RunTime BETWEEN '$fr_time' AND '$to_time' )) ORDER BY SNo ASC";

所以唯一的选择是在前端进行。我想将图形缩放动态设置为用户在表单中发布的时间范围。

如果您需要更多信息,请告诉我。任何帮助将不胜感激,谢谢。

在您的区域图上缩放到一组特定的时间非常简单。

您的 scaleX 配置可能与此类似:

scaleX:{ minValue:1262308703000, 步骤:86400000, 缩放:真实, zoomToValues: [1262654303000,1264727903000], //时间戳 转变:{ 类型:'date' } },

zoomToValues:[起始时间戳,结束时间戳] 是您需要利用来放大特定时间范围的属性。这些值必须在标尺的最小值和最大值内才能工作。您只需要传递缩放范围(以毫秒为单位的开始和结束时间戳)。

这是一个演示:

https://demos.zingchart.com/view/G1US5EP7

以上答案非常有效。我正在发布我如何在我的代码中为其他人使用上述答案。

  1. 将 php 中的时间转换为 unix 时间。
  2. 在 zingchart 脚本中嵌入 PHP 代码。

    <?php 
    
    $from = "2017-02-16";
    $to = "2017-02-16";
    $fr_time = "08:00:00";
    $to_time = "10:00:00";    
    
    $from_gmt = $from . " " . $fr_time . " " . "GMT+5";
    $from_unix = strtotime($from_gmt) . "000";
    $to_gmt = $to . " " . $to_time . " " . "GMT+5";
    
    $to_unix = strtotime($to_gmt) . "000";
    
    ?>
    
    
     <script>
      ...
      ...
    
     "scaleX": {
                "zooming": true,
                "item": {
                    "angle": -90,
                    "color": "#696969"
                },
                "items-overlap": false,
                "max-items": 30,
                "step": "minute",
    
                <?php 
    
                if($ignoretime == "no")
                {
    
                   echo "zoomToValues: [$from_unix,$to_unix],"; 
    
                }
    
                ?>
    
                "transform": {
                    "type": "date",
                    "all": "%d.%m.%Y<br />%H:%i:%s",
                    "item": {
                        "visible": false
                    }
                }
            },
    
          ...
          ...
    
       </script>