source: schedule/js/chart.js@ 16665

Last change on this file since 16665 was 16665, checked in by tanio, 11 years ago
File size: 3.1 KB
Line 
1function GetData()
2{
3 //calls the xml request in a loop based on the current sources
4 var source = ['Mrk 421','Mrk 501'];
5 for (i = 0; i<source.length; i++)
6 {
7 // alert (source[i]);
8 GetXMLData(i, source);
9 //$('#data').append('1st'+source);
10 }
11}
12
13function GetXMLData(index, source)
14{
15 // alert("test XML Data");
16 var XML;
17 //$('#data').append(' xmlData pass'+source+" "+index);
18 XML = new XMLHttpRequest();
19 //NOTE: previous errors on the request was caused by appending "http://www.fact-project.org"
20 XML.open("GET","/smartfact/index.php?source="+escape(source[index])+"&time="+year+"-"+month+"-"+day,true);
21 dataSource = new Array();
22 XML.onload=function()
23 {
24 if (XML.status==200)
25 {
26 //alert("request ok");
27 line=XML.responseText.split('\n');
28 dataSource.push(line);
29 if (dataSource.length == source.length)
30 {
31 // alert("new datasource");
32 displayXMLData(dataSource, source); //this will be called when the last data from the list is read
33 //$('#data').append('successfully load'+source +""+dataSource);
34 }
35 }
36 else
37 alert("status is " + XML.status);
38
39 };
40 XML.send();
41}
42
43function displayXMLData(dataSource, source)
44{
45 var options =
46 {
47 chart: {
48 renderTo: 'Graph' /* display to div Graph*/
49
50 },
51
52 xAxis: {
53 categories:["12PM","1PM","2PM","3PM","4PM","5PM","6PM","7PM","8PM","9PM","10PM","11PM","12AM","1AM","2AM","3AM","4AM","5AM","6AM","7AM","8AM","9AM","10AM","12PM"]
54 },
55 series:[], /* array of Data */
56
57 remove:function()
58 {
59 return false;
60 },
61
62 exporting: { /*--------------------*/
63 buttons: { /* */
64 exportButton: { /* Export */
65 menuItems: null, /* to */
66 onclick: function() { /* PNG.file */
67 this.exportChart(); /*--------------------*/
68 }
69 }
70 }
71 },
72 plotOptions : {
73
74 series : {
75 lineWidth: 3,
76
77 marker : {
78 enabled:false
79 }
80 }
81 }
82 };
83 //This function splits the lines of data per data source
84 var dataGraph = new Array(source.length);
85 var Time = new Array(source.length);
86 var Temp = new Array();
87 var Hour = new Array();
88 var chart = new Highcharts.Chart(options);
89 for (i=0; i<source.length; i++)
90 {
91 dataGraph[i] = new Array(); //dataGraph contains the individual points for each source i
92 Time[i] = new Array(); // Time contains the individual time for each sources.
93 chart.addSeries({name:source[i], data:[]}); // created a series of data and add name of displayed source
94 for(row=0;row<dataSource[i].length;row++)
95 {
96 rows=line[row].split(',');
97 Temp[row]=rows[0];
98 dataGraph[i].push(parseFloat(rows[4])||parseFloat('0'));
99 for(T=0;T<Temp.length;T++)
100 {
101 rowHour=Temp[T].split('T');
102 Time[i].push(parseFloat(rowHour[1]));
103 }
104
105 }
106 for(Graph=0;Graph<dataGraph[i].length;Graph++)
107 {
108 chart.series[i].addPoint({ // series[0] means index of zero in data;
109 x:Time[i][Graph], // Time
110 y:dataGraph[i][Graph] // Value
111 })
112 }
113 $('#data').append(i + ": " + source[i] + ' GRAPH DATA ' + dataGraph[i] + ' Time ' + Time[i]);
114 }
115
116}
Note: See TracBrowser for help on using the repository browser.