var c = new Array();
var y = new Array();
var sol = new Array();
function sample() {
var query = "SELECT * FROM " +
'1eVUG6VLIWuqiffwvrszmc2zOWT1iHgsWy9qVlzWw';
var encodedQuery = encodeURIComponent(query);
var url = ['https://www.googleapis.com/fusiontables/v1/query'];
url.push('?sql=' + encodedQuery);
url.push('&key=AIzaSyAH0WCAXRIdHdbI-6bnMSN4kVDDZZmGyqY');
url.push('&callback=?');
$.ajax({
url: url.join(''),
dataType: 'jsonp',
success: function (data) {
var rows = data['rows'];
sx = 0;
for (var i in rows) {
sx = sx + 1;
c[sx] = rows[i][2]/1;
y[sx] = rows[i][1]/1;
}
number = sx;
ols();
paint();
}
});
}
function ols(){
var a=new Array();
var b=new Array();
for(s=1;s<3;s++){
a[s]=new Array();
}
b1=0;
for(s=1;s<number+1;s++){
b1=b1+c[s];
}
b[1]=b1;
b1=0;
for(s=1;s<number+1;s++){
b1=b1+c[s]*y[s];
}
b[2]=b1;
a1=0;
for(s=1;s<number+1;s++){
a1=a1+1*1;
}
a[1][1]=a1;
a1=0;
for(s=1;s<number+1;s++){
a1=a1+y[s];
}
a[1][2]=a1;
a[2][1]=a1;
a1=0;
for(s=1;s<number+1;s++){
a1=a1+y[s]*y[s];
}
a[2][2]=a1;
for(s1=1;s1<3;s1++){
for(s2=1;s2<3;s2++){
z=a[s2][s1]/a[s1][s1];
if(s1==s2)z=0;
for(s=1;s<3;s++){
a[s2][s]=a[s2][s]-z*a[s1][s];
}
b[s2]=b[s2]-z*b[s1]
}
}
for(s=1;s<3;s++){
sol[s]=b[s]/a[s][s];
}
}
function paint(){
var sub=new svgpaint();
str="<svg width=\"500\" height=\"500\">";
maxc = 0;
for (s = 1; s < number + 1;s++ ){
if (c[s] > maxc) maxc = c[s];
}
minc = maxc;
for (s = 1; s < number + 1;s++ ){
if (c[s] < minc) minc = c[s];
}
maxy = 0;
for (s = 1; s < number + 1;s++ ){
if (y[s] > maxy) maxy = y[s];
}
miny = maxy;
for (s = 1; s < number + 1;s++ ){
if (y[s] < miny) miny = y[s];
}
for(s=1;s<number+1;s++){
c1 = 500 * (c[s]-minc) / (maxc-minc);
y1 = 500 * (y[s]-miny) / (maxy-miny);
str=str+sub.rect(y1,500-c1,4,4,"red");
}
for(s=1;s<number+1;s++){
cp = sol[1] + sol[2] * y[s];
c1 = 500 * (cp-minc) / (maxc-minc);
y1 = 500 * (y[s]-miny) / (maxy-miny);
str=str+sub.rect(y1,500-c1,4,4,"green");
}
str=str+"</svg>";
$("#memo").html(str);
}
最終更新:2016年03月03日 13:00