0

有一个包含两列的电子表格:日期、整数。并且缺少一些行。
当我手动插入图表时,我看到长的水平线而不是丢失的行。
但是当我这样做时:

  var sheet = SpreadsheetApp.openById(id).getSheets()[0];
  var table = Charts.newDataTable().
    addColumn(Charts.ColumnType.STRING, "Date").
    addColumn(Charts.ColumnType.NUMBER, "asd");
  sheet.getSheetValues(sheet.getLastRow() - 9, 1, 10, 2).forEach( function(line) {
    var date = new Date(line[0]);
    table.addRow( [
      date.getDate() + " " + ["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"][date.getMonth()],
      line[1]
    ] );
  } );
  var chart = Charts.newLineChart().
    setDataTable(table).
    setXAxisTitle("Date").
    setYAxisTitle("asd").
    setTitle("asd").
    build();
  var temp = "<img src=\'cid:asd\'/>";
  MailApp.sendEmail("asd@gmail.com", "asd", temp, {
    htmlBody: temp,
    inlineImages: { asd: chart }
  } );

X 轴被折叠,因为它的值实际上不是日期,因为我重新格式化了它们。

在此处输入图像描述 (红线是在 mspaint 中制作的,以集中您的注意力)

使用水平线(如电子表格)和自定义格式的日期(如电子邮件图像)的正确方法是什么?

4

1 回答 1

0

无论何时执行此操作,在这种情况下都会采用常规行为在可用值之间建立连接。

如果您更改图表的类型,它将更恰当地说明缺失值;条形图或其他类型的图表可以更好地说明缺失值。

于 2013-02-01T15:45:58.473 回答