2013-02-27 15 views
15

bitte einen Blick auf diese:fehlenden Wert in highcharts Liniendiagramm ergibt keine Linie, Punkte nur

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] 
    }] 

}); 

Sie werden feststellen, dass die Daten in ihm einen leeren Wert hat (die zweiter Wert), wodurch das Liniendiagramm falsch angezeigt wird.

Ist das ein Fehler?

Wie kann ein fehlender Wert korrekt angegeben werden, sodass im Liniendiagramm eine Lücke entsteht? Ich möchte NICHT, dass das Liniendiagramm einfach eine Linie zwischen den Punkten 1 und 3 zeichnet.

Vielen Dank für die Herstellung eines ausgezeichneten Produkts!

Tony.

Antwort

21

Sie müssen Ihre fehlenden Werte in null ändern und angeben, dass Sie eine Linie/Spline durch die vorhandenen Werte möchten.

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], 
    }] 

}); 

siehe http://jsfiddle.net/xynZT/ mit defaultSeriesType: 'Spline' als Beispiel.

+1

Das hat mir sehr geholfen, durch 0 zu teilen (Chance von einem in 10000 zu passieren, was mir nicht bewusst war) hat mich wirklich diesmal erwischt. Alles, was keine Zahl oder Null ist, scheint das Problem zu verursachen (einschließlich NaN, das das Ergebnis einer Umleitung mit 0 ist). – Manuel

1

Es wird nicht falsch angezeigt, nur ein Streudiagramm plotten. Ich denke, das liegt daran, dass Sie keine komplette Serie haben, so wird es behandelt. Ich bin möglich, und dies hängt davon ab, dass Ihre Daten keine negative Zahl verwenden, versuchen Sie, die Sammlung von keine Daten eine 0 setzen, so dass Sie data: [29.9, 0, 106.4, 129.2, 144.0, 176.0, 135.6, 148.5, 216.4, 194.1, 95.6, 54.4] haben, und dies wird eine Zeile angezeigt.

+0

OK, das ist interessant daran, dass es sich um ein Streudiagramm handelt. Ich habe auch gerade herausgefunden, dass, wenn ich Null anstelle einer leeren Zeichenfolge verwenden, es genau das tun wird, was ich brauche. – Tony

+0

Ja, ich wusste nicht, dass null den Trick machen würde. – LouieV

Verwandte Themen