2016-09-10 7 views
0

外部のjsonファイルを入力として取り込みながらjsonがフェッチされていますが、flot.jsライブラリを使用してファンネルチャートをプロットしようとしています。データソースがあり、グラフがプロットされていません。 みんな私は、JSONファイルSAMPLE.JSONflot.jsとデータソースを外部jsonファイルとして使用してファンネルチャートを表示

[ 
    { 
    "data": 10, 
    "label": "a" 
    }, 
    { 
    "data": 81, 
    "label": "b" 
    }, 
    { 
    "data": 20, 
    "label": "c" 
    }, 
    { 
    "data": 90, 
    "label": "d" 
    } 
] 

を持っているが、それはあなたのデータが間違った形式であるfolt.jsライブラリのプロット機能

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> 
<html> 
<head> 
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> 
    <title>Flot Examples: Funnel Charts</title> 
    <link href="css/examples.css" rel="stylesheet" type="text/css"> 

    <script language="javascript" type="text/javascript" src="js/jquery.js"></script> 
    <script language="javascript" type="text/javascript" src="js/jquery.flot.js"></script> 
    <script language="javascript" type="text/javascript" src="js/jquery.flot.funnel.js"></script> 
    <script type="text/javascript"> 

    $(function() { 
     var data; 
     $.getJSON("sample.json", function(json) { 
     data=json; 
     console.log(data); 
     }); 

     var placeholder = $("#placeholder"); 
      $.plot('#placeholder', data, { 
       series:{ 
       funnel: { 
         show: true, 
        stem: { 
         height: 0.2, 
         width: 0.4 
        }, 
        margin: { 
         //right: 0.15 
        }, 
        label:{ 
         show: true, 
         align: "center", 
         threshold: 0.05, 
         formatter: labelFormatter 
        }, 
        highlight: { 
         opacity: 0.2 
        } 
       }, 
      }, 
      grid: { 
       hoverable: true, 
       clickable: true 
      } 
     }); 

     placeholder.bind("plotclick", function(event, pos, obj) { 
      if (!obj) { 
       return; 
      } 
      alert(obj.series.label + ": " + obj.series.value); 
     }); 

     function labelFormatter(label, series) { 
      return "<div style='font-size:11pt; text-align:center; padding:2px; color:#fff;'>"+series.value+"</div>"; 
     } 

    }); 


    </script> 
</head> 
<body> 

    <div id="header"> 
     <h2 style='text-align:center'>Funnel Charts</h2> 
    </div> 

    <div id="content"> 

     <h3 id="title"></h3> 
     <div class="demo-container"> 
      <div id="placeholder" class="demo-placeholder" style="length:250px,width:250px"></div> 
     </div> 

    </div> 

</body> 
</html> 

答えて

0

のデータソースとして機能していません。 plugin documentationから、予想されるデータフォーマットは、(データが配列の配列ではない)である:

var data = [ 
    { 
     label: "a", 
     data: [ [ 1, 10 ] ] 
    }, 
    { 
     label: "b", 
     data: [ [ 1, 81 ] ] 
    }, 
    { 
     label: "c", 
     data: [ [ 1, 20 ] ] 
    }, 
    { 
     label: "d", 
     data: [ [ 1, 90 ] ] 
    } 
]; 

このJS Fiddleは、データとファンネルチャートの実施例を有しています。

関連する問題