防止图表数据标签被遮挡

时间:2016-12-08 03:25:15

标签: c# .net charts label mschart

我正在使用.net构建一个应用程序来自动生成图表并将其保存到数据的内存流中。我遇到了数据标签被其他系列遮挡的问题。我启用了以下内容。

series.SmartLabelStyle.Enabled = true
series.SmartLabelStyle.AllowOutsidePlotArea = LabelOutsidePlotAreaStyle.Yes
series.SmartLabelStyle.IsMarkerOverlappingAllowed = false
series.SmartLabelStyle.MovingDirection = LabelAlignmentStyles.Right

数据标签仍然可以被其他数据系列模糊,如下例所示。

Example

所以问题是,如何让所有数据标签清晰可见?

提前致谢。

编辑:如果这很重要,我会在添加DataPoint时有选择地在系列上启用数据标签。

编辑2:我使用Points.AddXY(SomeDate.ToOADate(), SomeValue)逐个添加数据点。我浏览数据,并为每个系列添加一个点,并在某些条件下启用数据标签。关键部分如下。

var index = series1.Points.AddXY(date.ToOADate(), value)
series2.Points.AddXY(date.ToOADate(), value)
series3.Points.AddXY(date.ToOADate(), value)

if (some condition)
{
    series1.Points.[index].IsValueShownAsLabel = true
    series2.Points.[index].IsValueShownAsLabel = true
    series3.Points.[index].IsValueShownAsLabel = true
}

我为每个系列设置了SmartLabelStyle,然后将系列添加到图表中,然后将数据点添加到系列中。

0 个答案:

没有答案