2012-10-04 63 views
0

我不明白爲什麼我的圖表在我上傳到jfiddle時顯示得很好,但是,在我的實際頁面中,只有2個圖表顯示向上。爲什麼我的3張Highcharts餅圖中只有2張顯示

我錯過了什麼嗎?我所有的javascript代碼和標籤都關閉了。根本無法弄清楚這一點。 http://jsfiddle.net/kZcRX/

這裏是我完整的HTML網頁...我不明白爲什麼我的圖表將不會出現,但顯示出來就好在的jsfiddle:

<html> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
<title>Graphs & Charts</title> 
<script src="http://code.highcharts.com/highcharts.js"></script> 
<script src="http://code.highcharts.com/modules/exporting.js"></script> 
<script src="http://code.jquery.com/jquery-1.8.2.min.js"></script> 
<script type="text/javascript"> 
// JavaScript Document 
$(function() { 

    Highcharts.setOptions({ 
colors: ['#6eb5ec', '#d64646', '#8bba00', '#f6bd0f', '#cd5ace', '#f19153', '#cccccc', '#cd8b49'] 
}); 

    var chart; 

     // Build the chart 
     chart = new Highcharts.Chart({ 
      chart: { 
       renderTo: 'container', 
       plotBackgroundColor: null, 
       plotBorderWidth: null, 
       plotShadow: false, 
       events: { 
        load: function(event) { 
         console.log(this); 
      } 
     }  
      }, 
       legend: { 
       layout: 'vertical', 
       backgroundColor: '#FFFFFF', 
       align: 'left', 
       verticalAlign: 'top', 
       floating: true, 
       x: 365, 
       y: 260, 
       itemStyle: { 
        color: '#000000', 
        fontWeight: 'normal', 
        fontSize: '11px' 
        } 
      }, 
      title: { 
       text: '2012 Revenue Report' 
      }, 
       tooltip: { 
       pointFormat: '{series.name}: <b>{point.percentage}%</b>', 
       percentageDecimals: 1 
      }, 
      plotOptions: { 
       pie: { 
        allowPointSelect: true, 
        cursor: 'pointer', 
        dataLabels: { 
         enabled: true 
        }, 
        showInLegend: true, 
        point: { 
         events: { 
          legendItemClick: function() { 
           return false; // <== returning false will cancel the default action 
           } 
          } 
         } 
       } 
      }, 
      series: [{ 
       type: 'pie', 
       name: 'Browser share', 
       data: [ 
        ['Govt<br/>Contracts<br/>& Grants', 45.0], 
        ['Private<br/>Grants/Gifts',  26.8], 
        { 
         name: 'Net Tuition<br/>& Fees', 
         y: 12.8, 
         sliced: true, 
         selected: true 
        }, 
        ['Auxiliary<br/>Enterprises', 8.5], 
        ['Investments',  6.2], 
        ['Dental Clinic', 0.7], 
        ['Other', 0.7] 
       ] 
      }] 

     }); 
    }); 



     // ENDOWMENT BAR GRAPH 
     chart = new Highcharts.Chart({ 
      chart: { 
       renderTo: 'endowment', 
       type: 'column', 
       events: { 
         load: function(event) { 
          console.log(this); 
      } 
     }  
      }, 
      title: { 
       text: '2012 Financial Endowment Report' 
      }, 
      subtitle: { 
       text: 'Periods ending June 30th' 
      }, 
      xAxis: { 
       categories: [ 
        'Reporting Year' 
       ] 
      }, 
      yAxis: { 
       min: 0, 
       title: { 
        text: 'Millions (mm)' 
       } 
      }, 
      legend: { 
       layout: 'vertical', 
       backgroundColor: '#FFFFFF', 
       align: 'left', 
       verticalAlign: 'top', 
       x: 85, 
       y: 50, 
       floating: true, 
       shadow: true 
      }, 
      showInLegend: true, 
        point: { 
         events: { 
          legendItemClick: function() { 
           return false; // <== returning false will cancel the default action 
           } 
          } 
         }, 
      tooltip: { 
       formatter: function() { 
        return ''+ 
         this.x +': '+ this.y +' mm'; 
       } 
      }, 
      plotOptions: { 
       column: { 
        pointPadding: 0.2, 
        borderWidth: 0, 
        allowPointSelect: true, 
        cursor: 'pointer', 
        dataLabels: { 
         enabled: true 
        }, 
        showInLegend: true, 
        point: { 
         events: { 
          legendItemClick: function() { 
           return false; // <== returning false will cancel the default action 
           } 
          } 
         } 

       } 
      }, 
       series: [{ 
       name: 'Yr 2011', 
       data: [49.9] 

      }, { 
       name: 'Yr 2012', 
       data: [83.6] 

      }] 

     }); 


     // EXPENSES CHART 
       chart = new Highcharts.Chart({ 
      chart: { 
      renderTo: 'expenses', 
      plotBackgroundColor: null, 
      plotBorderWidth: null, 
      plotShadow: false 
      }, 
      title: { 
      text: 'This will be a pie chart', 
      style: { 
       Color: '#666' 
      } 
      }, 
      tooltip: { 
      formatter: function() { 
       return '<strong>'+ this.point.name +'</strong>: '+ this.y +' %'; 
      } 
      }, 
      plotOptions: { 
      pie: { 
       allowPointSelect: true, 
       cursor: 'pointer', 
       dataLabels: { 
        enabled: true 
       }, 
       showInLegend: true 
      } 
      }, 
      showInLegend: true, 
        point: { 
         events: { 
          legendItemClick: function() { 
           return false; // <== returning false will cancel the default action 
           } 
          } 
     }, 
      series: [{ 
      type: 'pie', 
      name: 'Our Current Expenses', 
      data: [ 
       ['Expense1', 26.9], 
       ['Expense2', 27.7], 
       ['Expense3', 45.3], 
       { 
        name: 'Other', 
        y: 32.2, 
        sliced: true, 
        selected: true 
       } 
      ] 
      }], 
      legend: { 
      borderColor: '#666' 
      } 
     }); 
</script> 
</head> 

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

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

<div id="endowment" style="min-width: 400px; height: 400px; margin: 0 auto"></div>​ 
</body> 
</html> 
+0

任何控制檯錯誤? –

+0

檢查控制檯部分中的錯誤 –

+0

如果您的標記不是太大,我建議您在此處張貼或鏈接到真實網站。很難診斷一段代碼。 –

回答

0

我可以在此看到的jsfiddle我的代碼'm不知道爲什麼你需要有這個

$(document).ready(function() { 

在您的JavaScript。我可以看到你已經準備好了文件初始化事件,所以這是一個縮減,可能會導致你面臨的問題。嘗試沒有它。

這裏http://jsfiddle.net/kZcRX/1/

+0

嗯....它怎麼可能在JS小提琴工作,而不是在我的文檔。我只是從JSFiddle複製和粘貼代碼,它仍然不起作用! HMMMMMM ...難住! – MizAkita

+0

我剛剛用我的整個HTML頁面更新了我的帖子。請看看我的想法,並告訴我爲什麼我的圖表在JSFiddle中顯示正常,而不是當我將它上傳到我的服務器! – MizAkita

3

這樣,我看到各種各樣的問題。首先,嘗試在所有其他腳本之前包含jQuery。 Highcharts documentation指出它依賴於jQuery,MooTools或Prototype。這可能適用於jsfiddle,因爲默認情況下它將jQuery加載到瀏覽器中。其次,您應該將所有圖表創建放在$(document).ready(function(){})塊內。只有您的收入圖表正在該區塊中初始化。

看看一個輕微修訂工作的單機版在http://static.nickfishman.com/misc/12737085.html

+2

這是正確的答案。在highcharts之前加入jquery。 – JonoB

+0

@MizAkita,如果此答案解決了您的問題,請接受它(單擊旁邊的複選標記)。 [見這裏](http://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work/5235#5235)瞭解如何接受答案在計算器上的工作原理。 –

+0

確認這是正確的答案。當我複製一些現有的工作代碼並將jquery更新到一個將它放置在highcharts.js下的新版本時遇到同樣的問題。一旦jquery被放在highcharts.js之前,它再次開始工作就好了。 –

相關問題