首页 > 解决方案 > 使用数组作为输入时,如何在 dygraphs 中获取误差线和滚动窗口?

问题描述

我有以下代码使用 dygraphs 生成一个虚拟时间序列图:

<script src="//cdnjs.cloudflare.com/ajax/libs/dygraph/2.1.0/dygraph.min.js"></script>
<link rel="stylesheet" href="//cdnjs.cloudflare.com/ajax/libs/dygraph/2.1.0/dygraph.min.css" />
</head>
<body>
<div id="graphdiv3"
  style="width:1000px; height:600px;"></div>
<script type="text/javascript">
  g3 = new Dygraph(
    document.getElementById("graphdiv3"),
    [
                [new Date("2009/07/12"),10,100],
                [new Date("2009/07/13"),20,80],
                [new Date("2009/07/14"),70,80],
                [new Date("2009/07/15"),50,60],
                [new Date("2009/07/16"),10,100],
                [new Date("2009/07/17"),20,80],
                [new Date("2009/07/18"),50,60],
                [new Date("2009/07/19"),70,80],
                [new Date("2009/07/20"),10,100],
                [new Date("2009/07/21"),20,80],
                [new Date("2009/07/22"),50,60],
                [new Date("2009/07/23"),70,80]
              ],
              {
                labels: [ "x", "A", "B" ]
                
    }
  );
</script>
</body>
</html>

但是,当我使用 errorBars: true 或 showRoller: true 时,

图表不呈现。

有人可以帮我吗?

当我使用 csv 输入时,errorBars 和 showRoller 工作正常。

标签: javascripthtmltime-seriesdygraphs

解决方案


应该没有任何问题showRoller

  g3 = new Dygraph(
    document.getElementById("graph"),
    [
      [new Date("2009/07/12"),10,100],
      [new Date("2009/07/13"),20,80],
      [new Date("2009/07/14"),70,80],
      [new Date("2009/07/15"),50,60],
      [new Date("2009/07/16"),10,100],
      [new Date("2009/07/17"),20,80],
      [new Date("2009/07/18"),50,60],
      [new Date("2009/07/19"),70,80],
      [new Date("2009/07/20"),10,100],
      [new Date("2009/07/21"),20,80],
      [new Date("2009/07/22"),50,60],
      [new Date("2009/07/23"),70,80]
    ],
    {
      labels: [ "x", "A", "B" ],
      showRoller: true,
    }
  );

演示

如果要显示误差线,则需要使用不同的数据格式(因为您需要说明每个数据点的误差线有多大)。有关更多信息,请参阅dygraphs 数据格式文档。


推荐阅读