2016-02-09 16 views
8

ho un grafico plotly.js con più sottotrame che condividono un asse x come in https://plot.ly/javascript/subplots/#stacked-subplots-with-a-shared-x-axisPlotly.js librano in più sottotrame

Sto cercando di librarsi in tutte le sottotrame in modo che i valori di tutti dei punti con lo stesso valore x vengono visualizzati contemporaneamente.

Ho tentato di risolvere questo problema chiamando Plotly.Fx.hover su ogni sottotrama, ma sembra che abbia effetto solo sull'ultimo sottotramma su cui è chiamato. http://codepen.io/john-soklaski/pen/adQwBa

Il codice ho provato è:

Plotly.Fx.hover('myDiv', {xval: 2, curveNumber: 0}, "xy") 
Plotly.Fx.hover('myDiv', {xval: 2, curveNumber: 1}, "xy2") 

Idealmente l'API sarebbe tale che avrei potuto fare questo in una sola chiamata:

Plotly.Fx.hover('myDiv', [{xval: 2, curveNumber: 0, subplot: "xy"}, {xval: 2, curveNumber: 1, subplot: "xy2"}]) 

Ogni pensiero su come ottenere questo a lavoro?

risposta

0

vedo questa domanda è vecchio, ma è stato aggiunto questa funzionalità: https://github.com/plotly/plotly.js/pull/301

+1

Benvenuto in Stack Overflow! Mentre questo può teoricamente rispondere alla domanda, [sarebbe preferibile] (// meta.stackoverflow.com/q/8259) per includere qui le parti essenziali della risposta e fornire il link per riferimento. –

0
Plotly.plot('myDiv', data, layout); 
graph = document.getElementById('myDiv'); 
graph.on('plotly_hover', function(eventdata) { 
    if (eventdata.xvals) { 
     Plotly.Fx.hover(graph, { 
      xval: eventdata.xvals[0] 
     }, ['xy', 'x2y2', 'x3y3', 'x4y4']); 
    } 
}); 

Per più sottotrame aggiungere la matrice etichette degli assi anche. In questo caso

[ 'xy', 'X2Y2', 'x3y3', 'x4y4']

In questo modo è possibile ottenere accoppiato eventi hover per sottotrame in un div

Problemi correlati