MSChart:饼图标签重叠问题

时间:2012-05-08 11:06:22

标签: .net vb.net visual-studio mschart

我在我的MSChart Control项目中使用了VB.NET。我决定将下面的数据显示在饼图中。

enter image description here

但是标签相互重叠以便摆脱它我尝试了“智能标签”属性,如下所示。

Chart1.Series("Default").SmartLabelStyle.Enabled = True
Chart1.Series("Default").SmartLabelStyle.AllowOutsidePlotArea = LabelOutsidePlotAreaStyle.No

Chart1.Series("Default").SmartLabelStyle.CalloutLineAnchorCapStyle = LineAnchorCapStyle.None

Chart1.Series("Default").SmartLabelStyle.CalloutLineColor = Color.Red

Chart1.Series("Default").SmartLabelStyle.CalloutLineWidth = 1
Chart1.Series("Default").SmartLabelStyle.CalloutStyle = LabelCalloutStyle.None

但它对我没有帮助 ......虽然它按照屏幕截图显示我的输出。 enter image description here

我必须使用哪些属性才能摆脱它? ......

修改

如果我确实设置了自定义属性PieLabelStyle=Outside,它就没有任何区别,正如您在下面的屏幕截图中看到的那样。

enter image description here

请帮帮我..

2 个答案:

答案 0 :(得分:14)

将PieLabelStyle CustomSettings更改为Outside。这应该将所有标签放在图表周围,线条指向相关部分。

for VB

Chart1.Series(0)("PieLabelStyle") = "Outside"
Chart1.ChartAreas(0).Area3DStyle.Enable3D = true
Chart1.ChartAreas(0).Area3DStyle.Inclination = 10

代表C#

Chart1.Series[0]["PieLabelStyle"] = "Outside";
Chart1.ChartAreas[0].Area3DStyle.Enable3D = true;
Chart1.ChartAreas[0].Area3DStyle.Inclination = 10;

答案 1 :(得分:0)

我尝试使用Visual Studio设计器以及在代码中设置上述说明。它不起作用。

在visual Studio设计器中,转到Series1> CustomProperties。你可以扩展 CustomProperties并根据图表类型设置各个属性。 但是在CustomProperties的第一行中,在各个字段中设置了CustomProperties的文本表示。 由于我的图表是从其他ChartType转换而来的,因此它在第一行中包含自定义属性,但这些属性不适用于Pie。这就是不遵守CustomProperties设置的原因。 我手动删除了第一行CustomProperties和...

  

PieLabelStyle =外

开始工作了!所有标签都变得可读。我将此视为图表设计师的错误。更改ChartType后,它应自动清理旧的CustomProperties。