2016-03-24 3 views
0

Derzeit verwende ich Highcharts mit ColdFusion. Ich möchte Diagramme erstellen, die Bruchstellen haben, aber es gibt Fehler, die sagen, dass " Variable NULL nicht definiert ist.". Also möchte ich fragen, ob ich einen der Datenwerte in highcharts null lassen kann?Kann ich einen Datenwert in Highcharts null lassen?

Unten ist mein Code.

TQ

<cfscript> 
 
categories= ['Apples', 'Pears', 'Oranges', 'Bananas', 'Grapes', 'Plums', 'Strawberries', 'Raspberries'] ; 
 

 
series= [{ 
 
      'name': 'John', 
 
      'data': [0, 1, 4, 4, 5, 2, 3, 7] 
 
     }, { 
 
      'name': 'Jane', 
 
      'data': [1, 0, 3, null, 3, 1, 2, 1] 
 
     }]; 
 
</cfscript> 
 

 
<html> 
 

 
<head> 
 
<script src="jquery.min.js"></script> 
 
<script src="highcharts.js"></script> 
 
<script src="exporting.js"></script> 
 
<script src="highcharts-more.js"></script> 
 
    
 
<script> 
 
$(function() { 
 
    $('#container').highcharts({ 
 
     chart: { 
 
      type: 'area', 
 
      spacingBottom: 30 
 
     }, 
 
     title: { 
 
      text: 'Fruit consumption *' 
 
     }, 
 
     subtitle: { 
 
      text: '* Jane\'s banana consumption is unknown', 
 
      floating: true, 
 
      align: 'right', 
 
      verticalAlign: 'bottom', 
 
      y: 15 
 
     }, 
 
     legend: { 
 
      layout: 'vertical', 
 
      align: 'left', 
 
      verticalAlign: 'top', 
 
      x: 150, 
 
      y: 100, 
 
      floating: true, 
 
      borderWidth: 1, 
 
      backgroundColor: (Highcharts.theme && Highcharts.theme.legendBackgroundColor) || '#FFFFFF' 
 
     }, 
 
     xAxis: { 
 
      categories: <cfoutput>#serializeJson(categories)#</cfoutput> 
 
     }, 
 
     yAxis: { 
 
      title: { 
 
       text: 'Y-Axis' 
 
      }, 
 
      labels: { 
 
       formatter: function() { 
 
        return this.value; 
 
       } 
 
      } 
 
     }, 
 
     tooltip: { 
 
      formatter: function() { 
 
       return '<b>' + this.series.name + '</b><br/>' + 
 
        this.x + ': ' + this.y; 
 
      } 
 
     }, 
 
     plotOptions: { 
 
      area: { 
 
       fillOpacity: 0.5 
 
      } 
 
     }, 
 
     credits: { 
 
      enabled: false 
 
     }, 
 
     series: <cfoutput>#serializeJson(series)#</cfoutput> 
 
    }); 
 
}); 
 
</script> 
 

 
</head> 
 

 
<body> 
 

 
    <div id="container" style="min-width: 400px; max-width: 600px; height: 400px; margin: 0 auto"></div> 
 

 
</body> 
 
</html>

Antwort

1

Datenwerte können in highcharts null sein. Ein Nullwert wird als fehlender Wert behandelt. Der folgende Codeausschnitt ist Ihr Code mit dem ColdFusion-Skript entfernt.

$(function() { 
 
    $('#container').highcharts({ 
 
     chart: { 
 
      type: 'area', 
 
      spacingBottom: 30 
 
     }, 
 
     title: { 
 
      text: 'Fruit consumption *' 
 
     }, 
 
     subtitle: { 
 
      text: '* Jane\'s banana consumption is unknown', 
 
      floating: true, 
 
      align: 'right', 
 
      verticalAlign: 'bottom', 
 
      y: 15 
 
     }, 
 
     legend: { 
 
      layout: 'vertical', 
 
      align: 'left', 
 
      verticalAlign: 'top', 
 
      x: 150, 
 
      y: 100, 
 
      floating: true, 
 
      borderWidth: 1, 
 
      backgroundColor: (Highcharts.theme && Highcharts.theme.legendBackgroundColor) || '#FFFFFF' 
 
     }, 
 
     xAxis: { 
 
      categories: ['Apples', 'Pears', 'Oranges', 'Bananas', 'Grapes', 'Plums', 'Strawberries', 'Raspberries'] 
 
     }, 
 
     yAxis: { 
 
      title: { 
 
       text: 'Y-Axis' 
 
      }, 
 
      labels: { 
 
       formatter: function() { 
 
        return this.value; 
 
       } 
 
      } 
 
     }, 
 
     tooltip: { 
 
      formatter: function() { 
 
       return '<b>' + this.series.name + '</b><br/>' + 
 
        this.x + ': ' + this.y; 
 
      } 
 
     }, 
 
     plotOptions: { 
 
      area: { 
 
       fillOpacity: 0.5 
 
      } 
 
     }, 
 
     credits: { 
 
      enabled: false 
 
     }, 
 
     series: [{ 
 
      'name': 'John', 
 
      'data': [0, 1, 4, 4, 5, 2, 3, 7] 
 
     }, { 
 
      'name': 'Jane', 
 
      'data': [1, 0, 3, null, 3, 1, 2, 1] 
 
     }] 
 
    }); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<script src="http://code.highcharts.com/highcharts.js"></script> 
 

 
<div id="container" style="min-width: 400px; max-width: 600px; height: 400px; margin: 0 auto"></div>

Der Fehler, der Sie schlägt stoßen, dass der Coldfusion-Skript NULL (anstelle von null) wird das Einfügen in den JavaScript-Code. JavaScript unterscheidet zwischen Groß- und Kleinschreibung. JavaScript würde davon ausgehen, dass NULL der Name einer Variablen ist. Da eine Variable namens NULL nie deklariert wurde, würde dies zu einer Fehlermeldung führen, dass NULL nicht definiert ist.

Ich kenne ColdFusion nicht, daher kann ich Ihnen nicht helfen, das ColdFusion-Skript zu reparieren.

+0

Ok vielen Dank –

Verwandte Themen