我有一个图表控件(System.Windows.Form.DataVisualisation.Charting,因此WinForms)有多个系列,一些分配给主要,一些分配到辅助Y轴。
我需要图表以特定的Z顺序绘制系列(意味着先绘制哪个系列,然后是第二个,依此类推),因为其中一些是重叠的。我无法找到任何相关的财产。
我认为z顺序取决于系列添加到SeriesCollection的顺序,但这似乎不会改变我测试中的任何内容。
我错过了什么吗?
PS:它不是3D图形。所以我只询问不同系列的绘制顺序。
答案 0 :(得分:4)
系列按照它们放入Chart.Series集合的顺序绘制。因此,您可以使用Insert
代替Add
自动将新系列发送到后面:
myChart1.Series.Add(myNewSeries1); // Draws this series on top of the others.
myChart1.Series.Insert(0, myNewSeries2); // Draw this series behind the others.
以下内容可以转换为图表控件的扩展方法,然后(以及其他方法,例如BringToFront)可用于设置系列的顺序。
public void SendToBack(Series s)
{
if (myChart1.Series.Contains(s))
{
myChart1.Series.Remove(s);
myChart1.Series.Insert(0, s);
}
}
答案 1 :(得分:3)
系列按照添加到Chart.Series
集合的顺序绘制。添加您想要在顶部绘制的那个作为集合中的最后一个元素。