2013-02-27 10 views
15

si prega di dare un'occhiata a questo:valore mancante in linea Highcharts risultati grafico in nessuna linea, indica solo

http://jsfiddle.net/2rNzr/

var chart = new Highcharts.Chart({ 

    chart: { 
     renderTo: 'container' 
    }, 

    xAxis: { 
     categories: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'] 
    }, 

    series: [{ 
     data: [29.9, '', 106.4, 129.2, 144.0, 176.0, 135.6, 148.5, 216.4, 194.1, 95.6, 54.4] 
    }] 

}); 

si noterà che il dato ha un valore vuoto in esso (il secondo valore), che causa la visualizzazione scorretta del grafico a linee.

È un bug?

Qual è il modo corretto di specificare un valore mancante in modo che ci sia uno spazio nel grafico a linee? cioè NON vorrei che il grafico a linee disegnasse semplicemente una linea tra i punti 1 e 3.

Mille grazie per aver prodotto un prodotto eccellente!

Tony.

risposta

21

Sarà necessario modificare i valori mancanti su null e specificare che si desidera una linea/spline attraverso i valori esistenti.

var chart = new Highcharts.Chart({ 

    chart: { 
     defaultSeriesType: 'line', 
     renderTo: 'container' 
    }, 

    xAxis: { 
     categories: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'] 
    }, 

    series: [{ 
     data: [29.9, null, 106.4, 129.2, 144.0, 176.0, null, 148.5, 216.4, 194.1, 95.6, 54.4], 
    }] 

}); 

vedi http://jsfiddle.net/xynZT/ con defaultSeriesType: 'spline' come esempio.

+1

Questo in realtà ha aiutato molto, dividendo per 0 (possibilità che uno su 10000 si verifichi, cosa di cui non ero a conoscenza) mi ha davvero conquistato questa volta. Qualsiasi cosa che non sia un numero o null sembra causare il problema (incluso NaN che è il risultato di una deviazione con 0). – Manuel

1

Non viene visualizzato in modo errato, ma è solo un grafico a dispersione. Penso che questo sia perché non hai una serie completa che sarà trattata in quel modo. Io possibile, e questo dipende dal fatto che i tuoi dati non usano il numero negativo, prova a mettere la raccolta di nessun dato a 0 tale che tu abbia data: [29.9, 0, 106.4, 129.2, 144.0, 176.0, 135.6, 148.5, 216.4, 194.1, 95.6, 54.4] e questo mostrerà una linea.

+0

OK, questo è interessante per default per il grafico a dispersione. Ho anche appena scoperto che se uso null invece di una stringa vuota, farà esattamente quello di cui ho bisogno. – Tony

+0

Sì, non ero consapevole che null avrebbe fatto il trucco. – LouieV