如何在图表中定位标签,使它们不与图表元素重叠

时间:2014-03-12 12:50:02

标签: c# charts mschart

我有图表Control value向我展示我的网络统计信息:

Series seriesPps;

这是我的计时器刻度,显示我的统计数据

private void chartTimer_Tick(object sender, EventArgs e)
{
                if (seriesPps.Points.Count() > 300)
                    seriesPps.Points.RemoveAt(0);
                seriesPps.Points.Add(wf.PacketsPerSecond);

                DataPoint _point = default(DataPoint);
                foreach (DataPoint item in chart1.Series[1].Points)
                {
                    item.Label = "";
                    item.MarkerStyle = MarkerStyle.None;
                }

                chart1.Series[1].LegendText = chart1.Series[1].Name = MyValue + " Packets/s";
                DataPoint Point = chart1.Series[1].Points[chart1.Series[1].Points.Count - 1];
                Point.Label = chart1.Series[1].Name;

                chart1.ResetAutoValues();
}

这就是我想要的方式:

enter image description here

这就是它的样子:

enter image description here

正如您所看到的,我的标签值位于Chart行之下,所以我无法看到它。 Align Right是否有可能像第一张照片一样?

1 个答案:

答案 0 :(得分:3)

VB.NET尝试这些,他们可能有所帮助,但从来没有这个问题,所以在黑暗中拍摄

 chart1.Series[1].SmartLabelStyle.AllowOutsidePlotArea = LabelOutsidePlotAreaStyle.Yes
 chart1.Series[1].SmartLabelStyle.IsMarkerOverlappingAllowed = False
 chart1.Series[1].SmartLabelStyle.MovingDirection = LabelAlignmentStyles.Right