javascript - 更改具有 2 个 y 轴的嵌入式折线图中的选项

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

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

我不得不承认我是一个非常糟糕的开发者。我总是尝试找到可以更改以适应我的需求的代码。

在这种情况下,我找不到任何合适的东西,谷歌的文档也可能更好。

因此,如果这个论坛上有才华的程序员能够帮助我,我会非常高兴。

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

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/

相关文章:

javascript - 使用 Linqjs 和 Knockout 进行延迟加载

graph - 饼图中的负值

jquery - float 并排堆栈栏

javascript - 将 JSON 对象分配给来自 Google Sheets URL 的变量?

javascript - 如何使用 Google Scripts 将 html 表单数据保存到 google 电子表格中?

google-apps-script - 如何在侧边栏中导航 "Shared with Me"文件夹?

javascript - 使用 jquery 进行顺序 ajax 查询

javascript - 使用 Tampermonkey 将使用用户脚本的自定义键盘快捷方式添加到 Chrome

javascript - {"error": "Please use POST request"} - alternative solution to submitting a form

android - 使用 achartengine 的动态图表