7

我正在尝试使用 Google 的图表 API 来显示折线图。
我创建了一个包含两列、一个日期和一个数值的数据表。该线显示正确,但 X 轴上的标签丢失。所有数据都在同一天,但在不同的时间。如果我编辑日期以便将它们分布在不同的日子里,一切都会奏效。
我只需要在一天内集中我的图表,并在 X 轴上显示小时和分钟。
我怎样才能做到这一点?

谢谢。

4

2 回答 2

6

通常归结为您如何传递数据。arrayToDataTable你的日期只是字符串。如果您实例化一个 JS 日期对象并构建它,dataTable您应该会得到更好的结果。这段代码对我有用(现场查看):

function drawVisualization() {

var data = new google.visualization.DataTable();

data.addColumn('datetime', 'Time of Day');
data.addColumn('number', 'Some Measurement');

data.addRows([
  [new Date(2012,10,3,11,30,0), 12],
  [new Date(2012,10,3,11,45,0), 2],
  [new Date(2012,10,3,12,1,0), 16],
  [new Date(2012,10,3,12,15,0), 3],
  [new Date(2012,10,3,12,30,0), 12],
  [new Date(2012,10,3,12,45,0), 7]
]);


new google.visualization.LineChart(document.getElementById('visualization')).
  draw(data, {curveType: "function",
              width: 500, height: 400,
              vAxis: {maxValue: 10}}
      );
}

我曾经是 Google Visualization 的粉丝,但被他们的未公布更新烧伤了太多次。它也有很多限制。查看Dygraph,它可以很好地处理时间序列。

于 2012-10-03T15:48:38.340 回答
0

focus my chart in one day only and show hours and minutes on the X axis.需要在查询中执行此操作。这与谷歌图表没有任何关系。您可以查看 haxis 参数,看看是否可以更改其中一些值以实现您想要的https://google-developers.appspot.com/chart/interactive/docs/gallery/linechart

于 2012-10-03T15:32:23.437 回答