2017-07-03 7 views
2

J'essaie de combiner des barres empilées et un graphique à courbes dans un tracé.Flot: combiner des barres empilées et une ligne dans un graphique

Le problème auquel je suis confronté est que les données de ligne sont également empilées. Ce qui signifie que les données pour le premier point (line.data[0]) seront tracées comme 15 mais j'aimerais que ce soit 5.

S'il vous plaît voir cette jsFiddle: http://jsfiddle.net/derkinzi/eor5ngjd/

Il fonctionne lors de la mise stack: null mais je besoin des piles. Donner aussi la ligne à son propre yaxis ne résout pas le problème. (changez la ligne 90 pour: yaxis: 2)

Comment puis-je modifier le code afin que line.data obtienne-t-il un tracé indépendant avec un yaxis indépendant?

Fondamentalement, je besoin de cela, mais avec des barres empilées: http://jsfiddle.net/derkinzi/eor5ngjd/11/

Ceci est mon jeu de données:

var stack1 = { 
    label: 'stack1', 
    data: [ 
     [1, 6], 
     [2, 3], 
     [4, 5], 
     [4, 3], 
     [5, 4] 
    ], 
    bars: bar_options 
    }; 
    var stack2 = { 
    label: 'stack2', 
    data: [ 
     [1, 4], 
     [2, 4], 
     [3, 4], 
     [4, 4], 
     [5, 4] 
    ], 
    bars: bar_options 
    }; 
    var line = { 
    label: 'line', 
    data: [ 
     [1, 5], 
     [2, 15], 
     [3, 15], 
     [4, 15], 
     [5, 20] 
    ], 
    lines: line_options, 
    yaxis: 1, 
    points: { 
     radius: 5, 
     show: true 
    }, 
    }; 
    var dataset = [stack1, stack2, line]; 

Répondre

1

Comme décrit dans le stack plugin, vous pouvez spécifier l'option stack par série de données, donc dans votre cas faire:

var stack1 = { 
    //... 
    stack: true, 
}; 
var stack2 = { 
    //... 
    stack: true, 
}; 
var line = { 
    //... 
    stack: false, 
    //... 
}; 

aussi, lorsque vous définissez plusieurs axes, utilisez la propriété yaxes, n ot yaxis.

Updated fiddle

+0

Merci. Cela fonctionne comme un charme. Il a essayé d'ajouter une pile avant mais toujours dans l'objet original: 'series: {pile: true}' qui n'a pas fonctionné de toute évidence ... :) – Seb