Javascript 谷歌图表显示,一天的时间从8:00开始,到7:45结束

Javascript 谷歌图表显示,一天的时间从8:00开始,到7:45结束,javascript,html,google-visualization,Javascript,Html,Google Visualization,我在谷歌图表上遇到了一些问题。我有一个谷歌面积图: <script type="text/javascript"> google.load("visualization", "1", {packages:["corechart"]}); google.setOnLoadCallback(drawChart); function drawChart() { var data = new google.visualization.DataTable(); d

我在谷歌图表上遇到了一些问题。我有一个谷歌面积图:

<script type="text/javascript">
  google.load("visualization", "1", {packages:["corechart"]});
  google.setOnLoadCallback(drawChart);
  function drawChart() {
    var data = new google.visualization.DataTable();
     data.addColumn('timeofday','time');
     data.addColumn('number','temp');
     data.addRows([
       [[8,0,0],7.875],
       [[8,15,0],7.9399996],
       [[8,30,0],8.1],
       [[8,45,0],8.160001],
       [[9,0,0],8.139999],
       // data every quarter of an hour
       [[7,15,0],9.26],
       [[7,30,0],9.26],
       [[7,45,0],9.18]
     ]);

    var options = {
      title: 'Title',
      vAxis: {
        title: 'AvgTemp',
        titleTextStyle: {color: 'red'},
      }
      hAxis: {
        title: 'Time',
        titleTextStyle: {color: 'red'},
      }
    };

    var chart = new google.visualization.AreaChart(document.getElementById('chart_div2'));
    chart.draw(data, options);
  }
</script>

load(“可视化”、“1”、{packages:[“corechart”]});
setOnLoadCallback(drawChart);
函数绘图图(){
var data=new google.visualization.DataTable();
data.addColumn('timeofday','time');
data.addColumn('number','temp');
data.addRows([
[[8,0,0],7.875],
[[8,15,0],7.9399996],
[[8,30,0],8.1],
[[8,45,0],8.160001],
[[9,0,0],8.139999],
//每四分之一小时收集一次数据
[[7,15,0],9.26],
[[7,30,0],9.26],
[[7,45,0],9.18]
]);
变量选项={
标题:“标题”,
言辞:{
标题:“AvgTemp”,
titleTextStyle:{color:'red'},
}
哈克斯:{
标题:"时代",,
titleTextStyle:{color:'red'},
}
};
var chart=new google.visualization.AreaChart(document.getElementById('chart_div2'));
图表绘制(数据、选项);
}
现在,当我加载页面时,图表的hAxis从0:00开始,到24:00结束,它会破坏图表。我怎样才能使图表从8:00开始到7:45结束

我尝试了一些使用view window的方法,但似乎无法正常工作


谢谢。

答案是使用日期时间而不是一天中的某个时间,这样您就需要添加一个日期,这就是api如何知道哪个时间先到的

像这样:

<script type="text/javascript">
  google.load("visualization", "1", {packages:["corechart"]});
  google.setOnLoadCallback(drawChart);
  function drawChart() {
    var data = new google.visualization.DataTable();
     data.addColumn('datetime','time');
     data.addColumn('number','temp');
     data.addRows([

    [new Date(2012,11,3,8,0,0),7.875],
    [new Date(2012,11,3,8,15,0),7.9399996],
    [new Date(2012,11,3,8,30,0),8.1],
    [new Date(2012,11,3,8,45,0),8.160001],
    [new Date(2012,11,3,9,0,0),8.139999],
    //new data every quarter of an hour
    [new Date(2012,11,4,7,0,0),9.42],
    [new Date(2012,11,4,7,15,0),9.26],
    [new Date(2012,11,4,7,30,0),9.26],
    [new Date(2012,11,4,7,45,0),9.18]

     ]);

    var options = {
      title: 'Title',
      vAxis: {  title: 'AvgTemp',
                titleTextStyle: {color: 'red'},

            },
      hAxis: {  title: 'Time',
                titleTextStyle: {color: 'red'},                 
            }

    };

    var chart = new google.visualization.AreaChart(document.getElementById('chart_div2'));
    chart.draw(data, options);
  }
</script>

load(“可视化”、“1”、{packages:[“corechart”]});
setOnLoadCallback(drawChart);
函数绘图图(){
var data=new google.visualization.DataTable();
data.addColumn('datetime','time');
data.addColumn('number','temp');
data.addRows([
[新日期(2012,11,3,8,0,0),7.875],
[新日期(2012,11,3,8,15,0),7.9399996],
[新日期(2012,11,3,8,30,0),8.1],
[新日期(2012,11,3,8,45,0),8.160001],
[新日期(2012,11,3,9,0,0),8.139999],
//每四分之一小时更新一次数据
[新日期(2012,11,4,7,0,0),9.42],
[新日期(2012,11,4,7,15,0),9.26],
[新日期(2012,11,4,7,30,0),9.26],
[新日期(2012,11,4,7,45,0),9.18]
]);
变量选项={
标题:“标题”,
vAxis:{title:'AvgTemp',
titleTextStyle:{color:'red'},
},
哈克斯:{标题:'时间',
titleTextStyle:{color:'red'},
}
};
var chart=new google.visualization.AreaChart(document.getElementById('chart_div2'));
图表绘制(数据、选项);
}

答案是使用日期时间而不是一天中的某个时间,这样您就需要添加一个日期,这就是api如何知道哪个时间先到的原因

像这样:

<script type="text/javascript">
  google.load("visualization", "1", {packages:["corechart"]});
  google.setOnLoadCallback(drawChart);
  function drawChart() {
    var data = new google.visualization.DataTable();
     data.addColumn('datetime','time');
     data.addColumn('number','temp');
     data.addRows([

    [new Date(2012,11,3,8,0,0),7.875],
    [new Date(2012,11,3,8,15,0),7.9399996],
    [new Date(2012,11,3,8,30,0),8.1],
    [new Date(2012,11,3,8,45,0),8.160001],
    [new Date(2012,11,3,9,0,0),8.139999],
    //new data every quarter of an hour
    [new Date(2012,11,4,7,0,0),9.42],
    [new Date(2012,11,4,7,15,0),9.26],
    [new Date(2012,11,4,7,30,0),9.26],
    [new Date(2012,11,4,7,45,0),9.18]

     ]);

    var options = {
      title: 'Title',
      vAxis: {  title: 'AvgTemp',
                titleTextStyle: {color: 'red'},

            },
      hAxis: {  title: 'Time',
                titleTextStyle: {color: 'red'},                 
            }

    };

    var chart = new google.visualization.AreaChart(document.getElementById('chart_div2'));
    chart.draw(data, options);
  }
</script>

load(“可视化”、“1”、{packages:[“corechart”]});
setOnLoadCallback(drawChart);
函数绘图图(){
var data=new google.visualization.DataTable();
data.addColumn('datetime','time');
data.addColumn('number','temp');
data.addRows([
[新日期(2012,11,3,8,0,0),7.875],
[新日期(2012,11,3,8,15,0),7.9399996],
[新日期(2012,11,3,8,30,0),8.1],
[新日期(2012,11,3,8,45,0),8.160001],
[新日期(2012,11,3,9,0,0),8.139999],
//每四分之一小时更新一次数据
[新日期(2012,11,4,7,0,0),9.42],
[新日期(2012,11,4,7,15,0),9.26],
[新日期(2012,11,4,7,30,0),9.26],
[新日期(2012,11,4,7,45,0),9.18]
]);
变量选项={
标题:“标题”,
vAxis:{title:'AvgTemp',
titleTextStyle:{color:'red'},
},
哈克斯:{标题:'时间',
titleTextStyle:{color:'red'},
}
};
var chart=new google.visualization.AreaChart(document.getElementById('chart_div2'));
图表绘制(数据、选项);
}
@oaklodge
producerCountDatatable=新的google.visualization.DataTable();
//addColumn('timeofday','Timestamp');
addColumn('datetime','Time of day(小时:分钟));
addColumn('number','ProducerCount');
对于(变量i=0;i
@oaklodge
producerCountDatatable=新的google.visualization.DataTable();
//addColumn('timeofday','Timestamp');
addColumn('datetime','Time of day(小时:分钟));
addColumn('number','ProducerCount');
对于(变量i=0;i
假设我确实希望使用数组中指定数据的方法,而不是“new Date()”,而是使用“datetime”而不是“timeofday”。类似于。。。data.addColumn('datetime','time');data.addColumn('number','temp');data.addRows([[[2015,11,20],7.875],…有人能做到这一点吗?假设我真的想使用在数组中指定数据的方法,而不是“new Date()”,而是用“datetime”而不是“timeofday”。类似于…data.addColumn('datetime','time');data.addColumn('number','temp');data.addRows([[[2015,11,20],7.875],…有人能做到这一点吗?这个答案将受益于一些关于它为什么解决问题的评论,而不是只发布代码。这个答案将受益于一些关于它为什么解决问题的评论,而不是只发布代码。