How to make series labels to show without overlapp

2019-08-05 03:50发布

I am developing a chart (using ASP.NET CHART CONTROL) with about 2 or 3 series on it. Please look how it looks like now. As you can see, the labels are overlapping each other and it does not look very good. Is there any way I can solve this problem and improve the overall look of the chart?

Thanks.

enter image description here

My code:

series.ChartType = SeriesChartType.Line
series.YValueType = ChartValueType.Double
series.XValueType = ChartValueType.String
series.BorderWidth = 1
series.ShadowOffset = 1
series.IsValueShownAsLabel = True
series.ToolTip = dtrow.ToString
series.LabelForeColor = Color.Gray

series.LabelToolTip = dtrow.ToString

ChartRatings.Series.Add(series)

3条回答
冷血范
2楼-- · 2019-08-05 04:36

Enable Smart Labels.

Chart1.Series["Series1"].SmartLabels.Enabled = true;

Take a look here SmartLabels

查看更多
SAY GOODBYE
3楼-- · 2019-08-05 04:38

You can also set labels outside the chart for more clear presentation.

Chart1.Series[0]["PieLabelStyle"] = "Outside";

For more, refer good article here: http://betterdashboards.wordpress.com/2009/01/20/overlapping-labels-on-a-pie-chart

查看更多
我欲成王,谁敢阻挡
4楼-- · 2019-08-05 04:39

Adding to the marked answer, you can also add these

 chart1.Series[1].SmartLabelStyle.AllowOutsidePlotArea = LabelOutsidePlotAreaStyle.Yes
 chart1.Series[1].SmartLabelStyle.IsMarkerOverlappingAllowed = False
 chart1.Series[1].SmartLabelStyle.MovingDirection = LabelAlignmentStyles.Right
查看更多
登录 后发表回答