场景
Winform中实现ZedGraph的多条Y轴(附源码下载):
https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/100132245
史上最全Winform中使用ZedGraph教程与资源汇总整理(附资源下载):
https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/102775001
参考上面实现多条Y轴的基础上,想要在生成曲线的时候根据曲线的条数生成不同颜色的曲线,效果如下
注:
博客主页:
https://blog.csdn.net/badao_liumang_qizhi
关注公众号
霸道的程序猿
获取编程相关电子书、教程推送与免费下载。
实现
首先新建一个想要作为曲线颜色的Color的list
List<Color> colorList = new List<Color>(){ Color.Blue, Color.Red, Color.Green, Color.Magenta, Color.MediumBlue, Color.BlueViolet, Color.Maroon, Color.Chartreuse, Color.Aqua, Color.Indigo, Color.Aquamarine, Color.OrangeRed, Color.Sienna, Color.SeaGreen, Color.Black, Color.OliveDrab, Color.Purple, Color.Brown, Color.Navy, Color.BurlyWood, Color.MediumSpringGreen, Color.Chocolate, Color.Salmon, Color.SaddleBrown, Color.RoyalBlue, Color.Coral, Color.Crimson, Color.Tomato, Color.Cyan, Color.Lime, Color.MediumVioletRed, Color.MidnightBlue, Color.Olive, Color.Orange, Color.SaddleBrown, Color.HotPink, };
然后将这个list转换为数组
Color[] colors = colorList.OrderBy(p => Guid.NewGuid().ToString()).ToArray();
然后在生成每一条曲线前通过如下获取Color对象
Color curveColor = new Color(); curveColor = colors[index % colors.Length];
其中index是当前曲线的索引,即在循环生成曲线时的索引。
然后在生成曲线时就可以使用curveColor作为曲线的颜色。
LineItem myCurve = myPane.AddCurve("标题", list, curveColor, symbolType);