使用2 y轴更改嵌入式折线图中的选项

时间:2017-06-15 08:34:35

标签: javascript charts google-apps-script google-sheets

经过几个小时的互联网搜索和无休止的尝试,我决定在这个论坛上发布我的问题。

我必须承认我是一个非常糟糕的devoloper。我总是试着找到我改变以适应我的需求的代码。

在这种情况下,我无法找到任何合适的内容,谷歌的文档也可能更好。

因此,如果本论坛中有天赋的程序员可以帮助我,我会非常高兴。

我的代码实际上是这样的:

var sheet_vokabeln = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Vokabeln");
var sheet_Magnetkupplung = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Magnetkupplung");
var sheet_kennlinie = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Kennlinie");
var sheet_kennliniendaten = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Kennliniendaten");
var text_y_achse_Foerderhoehe = sheet_kennliniendaten.getRange("I62").getValue();
var text_y_achse_npsh = sheet_kennliniendaten.getRange("I63").getValue();
var text_menge = sheet_kennliniendaten.getRange("B49").getValue();
var text_P2 = sheet_kennliniendaten.getRange("I65").getValue();
var text_wirkungsgrad = sheet_kennliniendaten.getRange("I66").getValue();
var minmenge = sheet_Magnetkupplung.getRange("I35").getValue();
var maxmenge = sheet_Magnetkupplung.getRange("J35").getValue();
var anzahl_messpunkte_kalt = sheet_kennliniendaten.getRange("I67").getValue()+62;
var anzahl_messpunkte_warm = sheet_kennliniendaten.getRange("I68").getValue()+62;
var anzahl_messpunkte_npsh = sheet_kennliniendaten.getRange("I69").getValue()+63;
var range_warm = sheet_kennliniendaten.getRange("B62:C"+anzahl_messpunkte_warm);
var range_kalt = sheet_kennliniendaten.getRange("D62:D"+anzahl_messpunkte_kalt);
var range_npsh = sheet_kennliniendaten.getRange("E62:E"+anzahl_messpunkte_npsh);
var range_P2warm = sheet_kennliniendaten.getRange("K62:L"+anzahl_messpunkte_warm);
var range_P2kalt = sheet_kennliniendaten.getRange("M62:M"+anzahl_messpunkte_kalt);
var range_eff = sheet_kennliniendaten.getRange("N62:N"+anzahl_messpunkte_warm);
var hmax = sheet_kennliniendaten.getRange("I70").getValue();

var xparameters = {
"title": text_menge,
"fontName":"Arial",
"minValue":minmenge,
"maxValue":maxmenge,
"titleTextStyle": {
 "color": "#c0c0c0",
 "fontSize": 10,
 "fontName":"Roboto",
 "italic": true,
 "bolt": false
}
};

var y1parameters = {
"title": text_y_achse_Foerderhoehe,
"fontName":"Arial",
"minValue":0,
"maxValue":hmax,
"titleTextStyle": {
 "color": "#c0c0c0",
 "fontSize": 10,
 "fontName":"Roboto",
 "italic": true,
 "bolt": false
}
};

var y2parameters = {
"title": text_y_achse_npsh,
"fontName":"Arial",
 "minValue":0,
 "maxValue":10,
 "titleTextStyle": {
 "color": "#c0c0c0",
 "fontSize": 10,
 "fontName":"Roboto",
 "italic": true,
 "bolt": false
 }
 };

 var chart = sheet_kennlinie.getCharts()[0]; 
 var old_ranges_oben = chart.getRanges();

for (var i in old_ranges_oben) {
var bereich = old_ranges_oben[i];
chart = chart.modify()
.removeRange(bereich)
.build();  
 }

chart = chart.modify()
.addRange(range_warm)
.addRange(range_kalt)
.addRange(range_npsh)
.setOption('vAxis'[0], y1parameters)
.setOption('vAxis'[1], y2parameters)
.setOption('hAxis',xparameters)
.setOption('width', 636)
.setOption('height', 391)
.setOption('legend', {position: 'up', textStyle: {fontSize: 12}})
.setPosition(10,1,2,1)
.build();

sheet_kennlinie.updateChart(chart); 

问题是代码不会改变y轴的属性。此外,未显示图例。没有错误消息。

有人可以帮忙吗!

提前谢谢 klusek

1 个答案:

答案 0 :(得分:1)

好了又浪费了4个小时的时间,在一位专业人士的帮助下,我们前进了一步。

vAxes里面的代码片段现在看起来像这样:

 {   
"dependencies": {
        "Microsoft.NETCore.UniversalWindowsPlatform": "5.1.0",
        "xunit": "2.1.0",
        "xunit.runner.devices": "2.1.0"   },   "frameworks": {
        "uap10.0": { }   },   "runtimes": {
        "win10-arm": { },
        "win10-arm-aot": { },
        "win10-x86": { },
        "win10-x86-aot": { },
        "win10-x64": { },
        "win10-x64-aot": { }   } 
}

现在删除了vAx的标题,这只是一点点但不是目标。

有谁知道解决方案?