web-dev-qa-db-ja.com

円グラフのラベルを非表示にする(.NetのMSチャート)

ugly pie chart

円グラフのラベルの表示を制御するプロパティが見つからないようです。凡例に情報があるので、ラベルをオフにする必要があります。

コードビハインドで使用できるプロパティを知っている人はいますか?

シリーズラベルを何も設定しないでみましたChart1.Series[i].Label = string.Empty;しかし、とにかくラベルが表示されているようです。

19
grenade
Chart1.Series[i]["PieLabelStyle"] = "Disabled";

も機能し、データポイントごとに設定する必要はありません。

39
Ben

ここで答えが見つかりました: http://social.msdn.Microsoft.com/Forums/en-US/MSWinWebChart/thread/32ccd993-5f43-47a3-bcbc-e772a13a87fe

円グラフのラベルの可視性を管理するPieLabelStyleと呼ばれるあいまいなDataPointCustomPropertyがあることがわかりました。さらに悪いことに、プロパティは各データポイントに設定する必要があります。

for (var i = 0; i < chart.Series.Count; i++) 
    for (var j = 0; j < chart.Series[i].Points.Count; j++)
        chart.Series[i].Points[j]["PieLabelStyle"] = "Disabled";
7
grenade

チャートのカスタムプロパティを変更することでもうまくいき、コーディングは必要ありません

<asp:Series Name="Series1" ChartType="Pie" CustomProperties="PieLabelStyle=Disabled">
6
Juan C

このウェブサイトがあなたの問題を解決するかもしれません

protected void Page_Load(object sender、EventArgs e){
//基本的な円グラフを作成するためのコードを挿入する//完全なソースコードについては、「ASP.NETの円グラフ」というタイトルのブログ投稿を参照してください。

     // Set pie labels to be outside the pie chart
     this.Chart2.Series[0]["PieLabelStyle"] = "Outside";

     // Set border width so that labels are shown on the outside
     this.Chart2.Series[0].BorderWidth = 1;
     this.Chart2.Series[0].BorderColor = System.Drawing.Color.FromArgb(26, 59, 105);

     // Add a legend to the chart and dock it to the bottom-center
     this.Chart2.Legends.Add("Legend1");
     this.Chart2.Legends[0].Enabled = true;
     this.Chart2.Legends[0].Docking = Docking.Bottom;
     this.Chart2.Legends[0].Alignment = System.Drawing.StringAlignment.Center;

     // Set the legend to display pie chart values as percentages
     // Again, the P2 indicates a precision of 2 decimals
     this.Chart2.Series[0].LegendText = "#PERCENT{P2}";

     // By sorting the data points, they show up in proper ascending order in the legend
     this.Chart2.DataManipulator.Sort(PointSortOrder.Descending, Chart2.Series[0]);
 }

また、このウェブサイトにアクセスしてください。私もそのウェブサイトからこのコードを取得します。mschartsに関する非常に素晴らしいチュートリアル http://betterdashboards.wordpress.com/2009/02/04/display-percentages-on-a-pie-char ==

1
Raheel

...そしてVB.NET形式でのベンの答え:

Chart1.Series(0)("PieLabelStyle") = "Disabled"

シリーズ全体の設定に問題なく動作します

1
Kristian

これは、UIで次の方法で実行することもできます。

  1. シリーズエディタウィンドウを開く(メインプロパティパネルの省略記号ボタン)
  2. 欲しいシリーズを選ぶ
  3. CustomPropertiesプロパティの展開
  4. Disabledの選択

Example

0
bkqc
objChart.ChartAreas[0].AxisY.LabelStyle.Enabled = false;
0
sumanmodi