2011-07-31 153 views
3

我正在使用ZedGraph創建餅圖,並使用AddPieSlice()方法向它添加項目,其中的所有重載都需要標籤參數。我爲此傳遞null,因爲我不想爲這些細分市場添加任何標籤。然而,該圖仍然繪製出我認爲應該加入到它不存在的標籤中的每個細分市場。從ZedGraph餅圖中刪除標籤行

有什麼辦法可以刪除這些行嗎?

在此先感謝!

回答

6

您應該使用PieItem.LabelType = PieLabelType.None以及您分配標籤的任何值(包括空值)。

例如:

GraphPane myPane = zedGraphControl1.GraphPane; 

PieItem pieSlice1 = myPane.AddPieSlice(10, Color.Blue, 0F, "Label1"); 
PieItem pieSlice2 = myPane.AddPieSlice(15, Color.Orange, 0F, "Label2"); 
PieItem pieSlice3 = myPane.AddPieSlice(35, Color.Green, 0F, "Label3"); 
PieItem pieSlice4 = myPane.AddPieSlice(40, Color.DarkGray, 0F, "Label4"); 

// optional depending on whether you want labels within the graph legend 
myPane.Legend.IsVisible = false; 

pieSlice1.LabelType = PieLabelType.None; 
pieSlice2.LabelType = PieLabelType.None; 
pieSlice3.LabelType = PieLabelType.None; 
pieSlice4.LabelType = PieLabelType.None; 

zedGraphControl1.AxisChange(); 
zedGraphControl1.Invalidate(); 


highLine.Symbol.Type = SymbolType.Circle; 
highLine.Symbol.Fill.IsVisible = false; 
highLine.Symbol.Border.Width = 2F; 
highLine.Symbol.Size = 16F; 

zedGraphControl1.AxisChange(); 
zedGraphControl1.Invalidate(); 

下面是所得餅圖:

Pie chart with no labels

下面是一些ZedGraph出處:

+0

謝謝,就是這樣 –

1

最近遇到類似的問題。下面是我如何解決它:

GraphPane myPane = zedGraphControl1.GraphPane; 

myPane.AddPieSlices(new double[] { 10, 25, 25, 40 }, new[] { "1", "2", "3", "4" }); 
myPane.Legend.IsVisible = false; 
foreach (var x in myPane.CurveList.OfType<PieItem>()) 
    x.LabelType = PieLabelType.None; 

zedGraphControl1.AxisChange(); 
zedGraphControl1.Invalidate(); 

您可以方便地在一個循環中更改值。

對不起,我的英語