我的折线图有一个稍微复杂的问题。
我设法制作动态折线图,所以当用户输入一些点时,它们将作为一条线绘制在图表上。
现在,我的问题是在图表上自动添加第二行,根据输入的值和计算第二行第二个值的特定公式。
让我说明一下我的意思......首先,根据先前输入的值绘制一行。假设用户输入这些值1.6,3.9,3.3,4.0,2.5,2.8 ......
===============================
需要根据此公式绘制第二行,它将遍历输入的值...
var interestRate1 = 3.5 + inputed_value1 + 0.5 * (inputed_value1 - 3),
interestRate2 = 3.5 + inputed_value2 + 0.5 * (inputed_value2 - 3),
interestRate2 = 3.5 + inputed_value3 + 0.5 * (inputed_value3 - 3), etc…
最终公式将计算我的第二个值(4.4,7.85,6.95,5,5.75,6.2),这是我想要实现的结果......
http://img191.imageshack.us/img191/9606/0sfy.png
===============================
单击“绘制图形”按钮时,需要绘制2条线,一条最初是从用户输入的,另一条是由我的公式计算的。
请参阅我的代码
(我不知道为什么图表没有显示,我的index.html文件就好了......)
请帮助我,我会很感激有关我的代码的任何想法..我几周来一直在努力:(
答案 0 :(得分:1)
这是您创建系列的地方:
var sample = {};
sample.name = 'Inflation';
sample.data = [1.6, 3.9, 3.3, 4.0, 2.5, 2.8];
series.push(sample);
所以你只需要添加一个系列,例如:
function calc(data) {
var l = data.length,
ret = [];
for(var i = 0; i < l; i++) {
ret[i] = 3.5 + data[i] + 0.5 * (data[i] - 3);
}
return ret;
}
var sample = {};
sample.name = 'Inflation';
sample.data = [1.6, 3.9, 3.3, 4.0, 2.5, 2.8];
series.push(sample);
var calculated = {};
calculated.name = 'Math formula';
calculated.data = calc(sample.data); // [4.4, 7.85, 6.95, 8, 5.75, 6.2]; - calculated data
series.push(calculated);