2012-05-08 6 views
1

私は現在jqPlotで初めて作業していますが、barchartのコントロールをセットアップする方法に関する情報を見つけるのは難しいと感じています。これまでのところ私は線グラフと円グラフの例を設定することができましたが、バーカルトは私を困らせました。MVCのjqPlotとJSONデータのコントロールはどのように設定する必要がありますか?

 public ActionResult PieChart() 
    { 
     return View(); 
    } 

    public ActionResult PieChartJSON() 
    { 
     List<PieChartData> sampleData = new List<PieChartData>(); 
     PieChartData test = new PieChartData(); 
     PieChartData test2 = new PieChartData(); 
     PieChartData test3 = new PieChartData(); 
     PieChartData test4 = new PieChartData(); 
     PieChartData test5 = new PieChartData(); 

     test.Label = "tara"; 
     test.Value = 3; 
     sampleData.Add(test); 

     test2.Label = "becky"; 
     test2.Value = 5; 
     sampleData.Add(test2); 

     test3.Label = "gareth"; 
     test3.Value = 3; 
     sampleData.Add(test3); 

     test4.Label = "mark"; 
     test4.Value = 8; 
     sampleData.Add(test4); 

     test5.Label = "james"; 
     test5.Value = 8; 
     sampleData.Add(test5); 

     return Json(sampleData, JsonRequestBehavior.AllowGet); 
    } 

これは私が作成したパイチャートの例です。可能であれば、誰かが私にbarchart JSONデータをどのようにフォーマットするべきかの例を教えてくれますか?

jQuery(document).ready(function() { 
    urlDataJSON = '/Home/PieChartJSON'; 

    $.getJSON(urlDataJSON, "", function (data) { 
     var dataSlices = []; 
     var dataLabels = ""; 

     $.each(data, function (entryindex, entry) { 
      dataSlices.push(entry['Value']); 
      dataLabels = dataLabels + entry['Label']; 
     }); 
     options = { 
      legend: { show: true }, 
      title: 'Poll Results', 
      seriesDefaults: { 
       // Make this a pie chart. 
       renderer: jQuery.jqplot.PieRenderer, 
       rendererOptions: { 
        // Put data labels on the pie slices. 
        // By default, labels show the percentage of the slice. 
        showDataLabels: true 
       } 
      } 
     } 
     var plot = $.jqplot('pieChart', [dataSlices], options); 
    }); 
}); 

そして、これは私がWebページに乗るチャートである:

EDIT:動作していない画面キャプチャを埋め込む

これはJSONデータをに入力されている図です。それで、私はそれへのリンクを含めるでしょう。 http://imgur.com/xwo3E

+0

「JSON」がどのようになっているかを質問に編集できますか?あなたの 'js'でこの' JSON'をどのように使っているかを見るのも便利です。 – Boro

答えて

2

dataLabelsとは何もしていません。また、私はあなたのパイチャートについて好きでないことは、あなたの伝説がラベルを表示していないということだけです。

データを別の方法で設定する必要があります。円グラフの使用に関する私の他の例の1つ、available hereを見てください。 は効果的に、あなたの問題は、リンクされたコードのように、あなたのデータの各行に、ペアの設定、最初に、ラベルの値にダウンしています:

var row = [percentage, count]; 
data.push(row); 

したがって、あなたのケースでは、あなたが持っているでしょう:

var dataSlices = []; 
$.each(data, function (entryindex, entry) { 
    var row = [entry['Label'], entry['Value']]; 
    dataSlices.push(row); 
}); 
+0

ボロありがとうございます。ラベルの部分は私を悩ませていました。あなたがリンクしたリソースは大きな助けとなりました。 私は主な質問を間違って言いましたが、現時点では棒グラフの構造をどうやって構いませんか、私はまだMVCには新しく、C#で一般的に開発しています。 –

関連する問題