2013-08-30 2 views
1

레이블이있는 간단한 막 대형 차트를 구현하려고합니다. 나는 기저귀 barchart의 예를 graphael으로 만들고 있습니다.GRaphael 막대 차트에 레이블을 추가하면 paper.labelise 오류가 발생합니다

아래 코드에 레이블 기능을 추가하려고 할 때 다음과 같은 오류가 발생합니다. 이것에 Github에 관한 open issue가있는 것처럼 보인다.

TypeError: paper.labelise is not a function 

오류로 지적되는 행 번호는 g.bar.js의 344 행입니다.

누구나이 오류에 대한 해결책을 얻었습니까? 저는 Raphaël 2.0.2와 g.Raphael 0.51을 사용하고 있습니다.

해당 줄 번호와 코드 g.bar.js의 일부이기 때문에 -

var label = paper.labelise(multi ? labels[j] && labels[j][i] : labels[i], multi ? values[j][i] : values[i], total); 

이 오류가 발생합니다 샘플 코드는 다음과 같습니다 -

<!--<!doctype html>--> 
<html lang="en"> 
<head> 
    <meta charset="utf-8"> 
    <title>Static Bar Charts</title> 
    <link rel="stylesheet" href="css/demo.css" type="text/css" media="screen" charset="utf-8"> 
    <link rel="stylesheet" href="css/demo-print.css" type="text/css" media="print" charset="utf-8"> 
    <script src="https://raw.github.com/DmitryBaranovskiy/g.raphael/master/raphael-min.js" type="text/javascript" charset="utf-8"></script> 
    <script src="https://raw.github.com/DmitryBaranovskiy/g.raphael/master/g.raphael.js" type="text/javascript" charset="utf-8"></script> 
    <script src="https://raw.github.com/DmitryBaranovskiy/g.raphael/master/g.bar.js" type="text/javascript" charset="utf-8"></script> 
    <script type="text/javascript" charset="utf-8"> 
     window.onload = function() { 
      var r = Raphael("holder"), 
        data1 = [[55, 20, 13, 32, 5, 1, 2, 10], [10, 2, 1, 5, 32, 13, 20, 55], [12, 20, 30]], 
        data2 = [[55, 20, 13, 32, 5, 1, 2, 10], [10, 2, 1, 5, 32, 13, 20, 55], [12, 20, 30]], 
        data3 = [[55, 20, 13, 32, 5, 1, 2, 10], [10, 2, 1, 5, 32, 13, 20, 55], [12, 20, 30]], 
        txtattr = { font: "12px 'Fontin Sans', Fontin-Sans, sans-serif" }; 

      r.text(160, 10, "Single Series Chart").attr(txtattr); 
//   r.text(480, 10, "Multiline Series Chart").attr(txtattr); 
//   r.text(160, 250, "Multiple Series Stacked Chart").attr(txtattr); 
//   r.text(480, 250, 'Multiline Series Stacked Vertical Chart. Type "round"').attr(txtattr); 
      var labels = ["Company X", "Company Y", "Company Z"] 
      var barChart = r.barchart(10, 10, 300, 220, [[9,5,2]], 0, {stacked: true, type: "soft"}) .label([labels]); 
      //r.barchart(10, 10, 300, 220, [[55, 20, 13, 32, 5, 1, 2, 10]], 0, {type: "sharp"}).label([['C', 'D', 'E', 'G', 'L', 'M', 'P', 'S1']]); 
      //barChart.label(['a','b','c']); 
//   r.barchart(330, 10, 300, 220, data1); 
//   r.barchart(10, 250, 300, 220, data2, {stacked: true}); 
//   r.barchart(330, 250, 300, 220, data3, {stacked: true, type: "round"}); 
     }; 
    </script> 
</head> 
<body class="raphael" id="g.raphael.dmitry.baranovskiy.com"> 
<div id="holder"></div> 
<p> 
    Demo of <a href="http://g.raphaeljs.com/">G Raphael</a> JavaScript library. 
</p> 
</body> 
</html> 

답변

0

나는 늦게 알고 있지만 이것은 동일한 문제를 검색 할 때 Google에서 세 번째 결과입니다. 내가 주변에있어 어떻게 는 g.bar.js

https://raw.githubusercontent.com/jhurt/g.raphael/master/g.bar.js 

을 위해이 파일을 사용하는 것이었다 그리고 그때 내가 :

barChart.label([['label1','label2']], true);