5

MSChart Control在我的一个VB.NET项目中使用过。我决定在饼图中显示下表所示的数据。

在此处输入图像描述

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

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

但这对我没有帮助……尽管它根据以下屏幕截图向我显示了输出。 在此处输入图像描述

我必须使用哪些属性来摆脱它?……

编辑:

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

在此处输入图像描述

请帮我..

4

2 回答 2

16

将 PieLabelStyle 自定义设置更改为外部。这应该将所有标签放在图表周围,线条指向相关部分。

用于 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;
于 2012-05-08T13:23:25.767 回答
0

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

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

PieLabelStyle=外部

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

于 2016-01-16T21:32:18.987 回答