Google Script Charts访问属性

时间:2016-11-28 00:03:56

标签: javascript google-apps-script

首先 - 我只使用Java Script和Google Apps Script大约一周。 我正在尝试自动标记由学生完成的大量googlesheets。 我的计划是要有一个主要的谷歌表,其中包括要标记的标准和要授予的标记如下。 这是主表中的表2

Question    Criteria    Cell reference    Correct answer            Marks 
Question 1  FontWeight      A1              bold                      1
Question 2  FontFamily      A1          Times New Roman               2
Question 3  FontSize        A1              16                        2
Question 4  Value           A1  Tables and Graphs by Fred Nerk        1
Question 5  Heading Sheet   Heading Tables and Graphs by Fred Nerk    1
Question 6  ChartTitle      Chart Title Commonwealth Medal Tally 2014 2
Question 7  ChartType       Chart Type        AREA                    1
Question 8  Value           A3                Rank                    1
Question 9  Value           B3               Country                  1
Question 10 Number          A4                  1                     1
etc             

我的查找代码如下: 我将这些变量发送到模块: Mysht是主表2 Studsheet是学生电子表格 Studsht1是学生答题纸 根据上表的标准 参考上表 来自上表的correctAns 我已经能够做一些图表工作了 然后我处理学生的答案,反对正确的答案,并在报告等中给出标记

    function LookupCriteria(mysht2,Studsht1,reference,Criteria,correctAns,Studsheet){
    switch(Criteria) {
case "FontSize":
    testvalue = Studsht1.getRange(reference).getFontSize()
    break;
case "FontFamily":
   testvalue = Studsht1.getRange(reference).getFontFamily();
    break;
 case "FontWeight":
    testvalue = Studsht1.getRange(reference).getFontWeight();
  break;
case "Value":
    testvalue = Studsht1.getRange(reference).getValue();
  var lenanswer=correctAns.length;
  testvalue=testvalue.substring(0,lenanswer);
    break;
case "Heading":
    testvalue = StudSheet.getName();
  var lenanswer=correctAns.length;
  testvalue=testvalue.substring(0,lenanswer);
    break;
case "ChartTitle":
  var StudChart=Studsht1.getCharts()[0];
  var option = "title"
  testvalue=StudChart.getOptions().get(option);
     break;
case "ChartType":
  var StudChart=Studsht1.getCharts()[0];
  testvalue=Charts.ChartType;
     break;
case "Number":
  testvalue=Studsht1.getRange(reference).getValue();
  return testvalue;
// testvalue is the student answer
}

我的问题是: 我找不到文档或代码来访问图表中的信息 示例如何“获取”列的颜色。“或水平轴中使用的字体? 所有文档都与构建图表有关。 干杯科勒泰勒 PS我知道这段代码不是最佳实践。最好使用数组并加载所有数据等 我真的只需要知道这个请求是否可行? 谢谢 干杯Col Taylor

1 个答案:

答案 0 :(得分:0)

getCharts返回的图表对象数组的类型为EmbeddedChart,其中documentation is here

查看可以使用getOptions()从每个图表中检索的ChartOptions,以及可用于进行更改的modify() - 这些包含一些代码片段,用于说明如何更改图表的选项。

您会看到有各种不同的chartBuilder类型,您在更改图表时需要使用其中一种类型,并且每种类型都有不同的选项可供设置 - 它是相当广泛的一组对象和方法,但是从EmbeddedChart开始链接的文档应该包含在内。