vino-plot.js 4.97 KiB
function loadAndPlot(url, callback) {
    $('#loading').show();
    $.ajax({ url: url,
        type: "GET",
        processData: false,
        contentType: false,
        dataType:"json",
        success: callback,
        complete: function(){
          $('#loading').hide();
    return false;
function bargridRectangle(x, y, xstep, ystep, colorline, fillcolor){
    var rectangle = {'type': 'rect', 'x0': x[0] - xstep, 'y0': y[0] - ystep, 'x1': x[1] + xstep, 'y1': y[1] + ystep, 'line': {'color': colorline, 'width': 1}, 'fillcolor': fillcolor};
    return rectangle;
function bargridPlot(data, container, colormarker, colorline, fillcolor) {
    var items = {x:[], y:[], mode:'markers', type: 'scatter', marker: { size : 2, color: colormarker }, hoverinfo:'none' };
    var trace = [];
    var tracebis = [];
    var x = [];
    var y = [];
    var map = [];
    var mapinit = [x, y];
    var mapitems = [];
    var mapinititems = [items.x, items.y];
    var xstep, ystep;
    var xbounds = [];
    var ybounds = [];
    $.each(data, function(index, bar) {
        if (index == 0){ // first row gives metadata: bounds, …
            xstep = bar[4] / 2;
            ystep = bar[5] / 2;
            xbounds.push(bar[0]);
            xbounds.push(bar[2]);
            ybounds.push(bar[1]);
            ybounds.push(bar[3]);
            map.push(mapinit[bar[6]]);
            map.push(mapinit[bar[7]]);
            mapitems.push(mapinititems[bar[6]]);
            mapitems.push(mapinititems[bar[7]]);
            x.push(0);
            x.push(1);
            y.push(0);
            y.push(1);
        } else {
            map[0][0] = bar[0];
            map[0][1] = bar[0];
            map[1][0] = bar[1];
            map[1][1] = bar[2];
            mapitems[0].push(bar[0]);
            mapitems[0].push(bar[0]);
            mapitems[1].push(bar[1]);
            mapitems[1].push(bar[2]);
            tracebis.push(bargridRectangle(x, y, xstep, ystep, colorline, fillcolor));
    });
    var layout = {showlegend: false, margin:{t:10}, width: 600, height: 500,
      shapes : tracebis, xaxis:{title : 'X',range : xbounds},
      yaxis:{title : 'Y',range : ybounds}};
    trace = [items];
    Plotly.newPlot(container, trace, layout);
function bargridPlot3D(data, x, container, colormarker, colorline, fillcolor){
    var items = {x:[], y:[], z:[], mode:'markers', type: 'scatter3d', marker: { size : 1, color: [] }, hoverinfo:'none' };
    var trace = [];
    var tracebis = [];
7172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140
var x = []; var y = []; var z = []; var map = []; var mapinit = [x, y, z]; var mapitems = [items.x, items.y, items.z]; var mapinititems = [items.x, items.y, items.z]; var xstep, ystep, zstep; var xbounds = []; var ybounds = []; var zbounds = []; $.each(data, function(index, bar) { if (bar.length > 4){ xstep = bar[6] / 2; ystep = bar[7] / 2; zstep = bar[8] / 2; xbounds.push(bar[0]); xbounds.push(bar[3]); ybounds.push(bar[1]); ybounds.push(bar[4]); zbounds.push(bar[2]); zbounds.push(bar[5]); map.push(mapinit[bar[9]]); map.push(mapinit[bar[10]]); map.push(mapinit[bar[11]]); mapitems[0] = mapinititems[bar[9]]; mapitems[1] = mapinititems[bar[10]]; mapitems[2] = mapinititems[bar[11]]; x.push(0); x.push(1); y.push(0); y.push(1); z.push(0); z.push(1); } else { map[0][0] = bar[0]; map[0][1] = bar[0]; map[1][0] = bar[1]; map[1][1] = bar[1]; map[2][0] = bar[2]; map[2][1] = bar[3]; mapitems[0].push(bar[0]); mapitems[0].push(bar[0]); mapitems[1].push(bar[1]); mapitems[1].push(bar[1]); mapitems[2].push(bar[2]); mapitems[2].push(bar[3]); items.marker.color.push(items.z[items.z.length - 2]); items.marker.color.push(items.z[items.z.length - 1]); } }); var titles=[]; //{% for ab in staab %} // titles.push("{{ab}}"); //{% endfor %} var layout = {showlegend: false, margin:{t:10}, width: 600, height: 500, scene : {xaxis:{title:titles[0],range : xbounds}, yaxis:{title:titles[1],range : ybounds}, zaxis:{title:titles[2],range : [0, 1]}}}; trace = [items]; Plotly.newPlot(container, trace, layout); var aes = [[1, 2, 3, 4], [1, 2, 3, 4], [1, 2, 3, 4], [1, 2, 3, 5]]; var bes = [1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4]; var ces = [1, 2, 3, 4, 2, 3, 4, 3, 3, 4, 3, 2, 4, 3, 2, 1]; a = []; b = []; c = []; for (i = 0; i < 20; i++) { var a_ = Math.random(); a.push(a_); var b_ = Math.random(); b.push(b_); var c_ = Math.random(); c.push(c_); }
141142143144145146147148
var dataessai = [{ opacity:0.8, color:'rgb(200,100,300)', type: 'surface', z: aes, }]; }