经过几个小时的互联网搜索和无休止的尝试后,我决定在这个论坛上发布我的问题。
我不得不承认我是一个非常糟糕的开发者。我总是尝试找到可以更改以适应我的需求的代码。
在这种情况下,我找不到任何合适的东西,谷歌的文档也可能更好。
因此,如果这个论坛上有才华的程序员能够帮助我,我会非常高兴。
我的代码实际上是这样的:
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 轴的属性。此外,未显示图例。没有错误消息。
有谁可以帮忙吗?
提前致谢 克鲁塞克
最佳答案
好吧,又浪费了 4 个小时的时间,在一位专业人士的帮助下,我们向前迈出了一小步。
vAxes 内部的代码片段现在如下所示:
.setOption('vAxes', {
vAxes:{
0: y1parameters,
1: y2parameters
},
series:{
0: {
targetAxisIndex: 0
},
1: {
targetAxisIndex: 1
},
},
})
vAxes 的标题现已删除,这比什么都没有有点多,但已经不是目标了。
有人知道解决办法吗?
关于javascript - 更改具有 2 个 y 轴的嵌入式折线图中的选项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44562625/