2012-01-06 14 views
23

La mia domanda è esattamente lo stesso del PO in questa domanda:Aggiungere dati aggiuntivi ad una serie Highcharts per l'uso in formattatori

Set Additional Data to highcharts series

Ma la risposta accettata spiega come aggiungere dati aggiuntivi al punto , non la serie, senza dire se è possibile fare con la serie o no.

Vorrei poter definire una serie come:

series: [ 
    {"hasCustomFlag": true, "name": "s1", "data": [...]}, 
    {"hasCustomFlag": false, "name": "s2", "data": [...]}, 
] 

e poter utilizzare point.series.hasCustomFlag all'interno di una funzione di formattazione. È possibile?

Non voglio mettere i dati al livello del punto, perché ciò significa che dovrei duplicare i dati troppe volte.

risposta

39

Sì, questo è possibile, le proprietà di configurazione aggiuntive si trovano sotto la proprietà options (this.series si riferisce all'istanza di serie, non agli oggetti di configurazione). Vedere il riferimento here e scorrere fino alla sezione delle proprietà.

Così, invece usano questa linea nel formattatore:

if (this.series.options.hasCustomFlag) { ... } 

esempio completo su jsfiddle

+0

Ah, non avevo ancora stabilito la connessione su cosa fosse l'oggetto delle opzioni. Ha funzionato come un fascino - Grazie! :) –

2

Questo sembra essere stato modificato con successive iterazioni di Highcharts/HighStocks. L'esempio di jsfiddle non funziona più. Usando la sintassi "this.series.options.hasCustomFlag" si ottiene "undefined". Il debugger mostra che i dati che sto cercando sono in "this.series.userOptions.data" - un array molto grande non ordinato, ma l'intera serie è lì - non i dati specifici dei record che normalmente si ottengono con questo.x o questo. y.

+0

Funziona ancora se si ottiene l'ultimo script highcharts.js corretto, in questo modo: http://jsfiddle.net/jNXV8/51/ – Oliboy50

Problemi correlati