/dev/adei/kitcube-status

To get this branch, use:
bzr branch http://darksoft.org/webbzr/dev/adei/kitcube-status

« back to all changes in this revision

Viewing changes to js/plotdata.js

  • Committer: Chuan Miao
  • Date: 2014-03-24 08:44:49 UTC
  • Revision ID: chuan.miao@kit.edu-20140324084449-jwqklxh2x2zx4i3n
hatpro.py

Show diffs side-by-side

added added

removed removed

Lines of Context:
8
8
    return dd+'.'+mm+'.'+yy;
9
9
}
10
10
 
11
 
function sensor(id, name, unit) {
 
11
function sensor(id, name, unit, unit2) {
12
12
    var e = document.createElement('li');
13
13
    var link = document.createElement('a');
14
14
    e.setAttribute('id', id);
15
15
    e.setAttribute('unit', unit);
 
16
    e.setAttribute('title', name);
 
17
    if (unit2 !== undefined) 
 
18
        e.setAttribute('unit2', unit2);
16
19
    link.setAttribute('href', '#');
17
20
    link.innerHTML = name;
18
21
    e.appendChild(link);
30
33
    var panelname = $(this).parents('div .ui-widget-content').attr('id');
31
34
    var timekey = $('#' + panelname + ' input[type=radio]:checked').val();
32
35
    var id = $(this).attr('id');
 
36
    var title = $(this).attr('title');
 
37
    console.log(title);
33
38
    var targetdiv = event.data.target;
34
39
    var targetdivwidth = parseFloat($(targetdiv).css('width'));
35
40
    var unit = $(this).attr('unit');
93
98
        }
94
99
 
95
100
        var newplot = $.plot(targetdiv, dataset, options);
 
101
 
 
102
        /*
 
103
        var divholder = document.createElement('div');
 
104
        var divelement = document.createElement('div');
 
105
        divelement.style.width=600+'px';
 
106
        divelement.style.height=300+'px';
 
107
        var title = document.createElement('p');
 
108
        title.innerHTML = 'abc';
 
109
        divholder.appendChild(title);
 
110
        divholder.appendChild(divelement);
 
111
        var printversion = $.plot(divelement, dataset, options);
 
112
        console.log(printversion);
 
113
        */
 
114
 
96
115
        var canvas = newplot.getCanvas();
97
116
        var img = canvas.toDataURL("img/png");
98
117
 
99
118
        $('div #'+panelname).data('img1', img);
 
119
        $('div #'+panelname).data('title1', title);
100
120
    }
101
121
}
102
122
 
104
124
    var panelname = $(this).parents("div .ui-widget-content").attr('id');
105
125
    var time_choice = $('#' + panelname + ' input[type=radio]:checked').val();
106
126
    var unit = $(this).attr('unit');
 
127
    var unit2 = $(this).attr('unit2');
 
128
    var title = $(this).attr('title');
107
129
 
108
130
    $.ajax({
109
131
        url: "cache/" + panelname + "." +  $(this).attr('id') + "." + time_choice + ".json",
114
136
    });
115
137
 
116
138
    function plotdata2(data) {
117
 
        var d0 = new Date(data[0]["xmin"]*1000);
 
139
        var d0 = new Date(data["xmin"]*1000);
118
140
        var dmin = Date.UTC(d0.getUTCFullYear(), d0.getUTCMonth(), d0.getUTCDate(), 0, 0, 0);
119
141
        var dmax = dmin + 86400000;
120
142
        var hour = 3600000; 
143
165
              axisLabel: 'UTC Time   on   ' + formatDate(new Date(dmin)),
144
166
          },
145
167
          yaxis: { 
146
 
              min: data[0]["ymin"], 
147
 
              max: data[0]["ymax"],
 
168
              min: data["ymin"], 
 
169
              max: data["ymax"],
148
170
              labelWidth: 40,
149
171
              axisLabelUseCanvas: true,
150
172
              axisLabelFontFamily: 'Arial',
159
181
        }
160
182
 
161
183
    var dataset=[];
162
 
    for (var i = 1; i < data.length; i++) {
163
 
        for (var j = 0; j < data[i]["path"].length; j++) {
164
 
            if (data[i]["path"][j] != null)
165
 
                data[i]["path"][j][0] *= 1000;
 
184
    
 
185
    for (var i = 0; i < data['data'].length; i++) {
 
186
        for (var j = 0; j < data['data'][i]["path"].length; j++) {
 
187
            if (data['data'][i]["path"][j] != null)
 
188
                data['data'][i]["path"][j][0] *= 1000;
166
189
        }
167
 
        dataset.push({data: data[i]["path"], color: data[i]["color"]});
 
190
        dataset.push({
 
191
            data: data['data'][i]["path"], 
 
192
            color: data['data'][i]["color"]});
168
193
    }
169
194
 
170
195
    function fillShape(plot, ctx, series) {
 
196
 
171
197
                var plotOffset = plot.getPlotOffset();
172
198
                var offset_x = plotOffset.left;
173
199
                var offset_y = plotOffset.top;
203
229
    var colorbar = [];
204
230
    var myColors = [];
205
231
 
206
 
    var b = hex2rgb(data[1]['color']);
207
 
    var a = hex2rgb(data[data.length - 1]['color']);
 
232
    var b = hex2rgb(data['data'][0]['color']);
 
233
    var a = hex2rgb(data['data'][data['data'].length - 1]['color']);
208
234
 
209
235
    myColors = genColors(a, b);
210
236
 
214
240
        data: [],
215
241
        color: "",
216
242
    };
217
 
    var ymin = data[1]["layer"];
218
 
    var ymax = data[data.length - 1]["layer"];
 
243
    var ymin = data['data'][0]["layer"];
 
244
    var ymax = data['data'][data['data'].length - 1]["layer"];
219
245
    var ystep = (ymax-ymin)/50;
 
246
    console.log(ymin, ymax);
220
247
    
221
248
 
222
249
    for (var i = 0; i < 50; i++) { //on each line
241
268
              shadowSize: 1.5, 
242
269
          },
243
270
          xaxis: {
244
 
              axisLabel:  "K",
 
271
              axisLabel:  unit2,
 
272
              axisLabelPadding: 16,
245
273
              tickLength: 0,
246
274
              ticks: [0, 1],
247
275
              tickColor: 'transparent',
248
276
              tickFormatter: function(val, axis) {
249
277
                  return ""
250
278
              },
 
279
              axisLabelUseCanvas: true,
251
280
              axisLabelFontSizePixels: 16,
252
281
              axisLabelFontFamily: 'Arial',
253
282
          },
255
284
              min: ymin, 
256
285
              max: ymax,
257
286
              position: "right",
 
287
              axisLabelUseCanvas: true,
258
288
              ticks: 10
259
289
          },
260
290
          grid: { 
261
 
              margin: {left:0, right:0, bottom: 15} 
 
291
              margin: {left:0, right:0, bottom: 17} 
262
292
          },
263
293
          hooks: { 
264
294
          }
280
310
 
281
311
        var img = canvas3.toDataURL("img/png");
282
312
        $('div #'+panelname).data('img2', img);
283
 
        console.log($('div #'+panelname).data('img2'));
284
 
 
 
313
        $('div #'+panelname).data('title2', title);
285
314
  }
286
315
}
287
316