ZedGraphを使用して円グラフを作成し、そのすべてのオーバーロードにラベルパラメータが必要なAddPieSlice()メソッドを使用してアイテムを追加しています。私はセグメントのラベルを必要としないので、このためにnullを渡します。しかし、グラフにはまだ各セグメントから出てくる線が描かれていますが、それはそれが存在しないラベルであると考えています。ZedGraph円グラフからラベル行を削除する
これらの行を削除する方法はありますか?
ありがとうございます!
ZedGraphを使用して円グラフを作成し、そのすべてのオーバーロードにラベルパラメータが必要なAddPieSlice()メソッドを使用してアイテムを追加しています。私はセグメントのラベルを必要としないので、このためにnullを渡します。しかし、グラフにはまだ各セグメントから出てくる線が描かれていますが、それはそれが存在しないラベルであると考えています。ZedGraph円グラフからラベル行を削除する
これらの行を削除する方法はありますか?
ありがとうございます!
ラベルを割り当てる値(nullを含む)に加えて、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();
が得られた円グラフである:
は、いくつかのZedGraph参照はhttp://www.codeproject.com/KB/graphics/zedgraph.aspx
最近、同様の問題が発生しました。そして、ここで私はそれをどのように解決したのですか:
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();
ループ内で便利に値を変更できます。
私の英語のために申し訳ありません。
ありがとうございました –