如何让Winform中的ZedGraph在绘制多条曲线时自动随机分配不同颜色?

2026-04-20 00:031阅读0评论SEO基础
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计353个文字,预计阅读时间需要2分钟。

如何让Winform中的ZedGraph在绘制多条曲线时自动随机分配不同颜色?

在场景+参考基础上实现多条Y轴的曲线,生成不同颜色的曲线。效果如下+注:+关注公众号+程序员的程序+获取编程相关电子书、教程推送与免费下载。

场景

参考上面实现多条Y轴的基础上,想要在生成曲线的时候根据曲线的条数生成不同颜色的曲线,效果如下

如何让Winform中的ZedGraph在绘制多条曲线时自动随机分配不同颜色?

注:

关注公众号 霸道的程序猿 获取编程相关电子书、教程推送与免费下载。

实现

首先新建一个想要作为曲线颜色的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);

本文共计353个文字,预计阅读时间需要2分钟。

如何让Winform中的ZedGraph在绘制多条曲线时自动随机分配不同颜色?

在场景+参考基础上实现多条Y轴的曲线,生成不同颜色的曲线。效果如下+注:+关注公众号+程序员的程序+获取编程相关电子书、教程推送与免费下载。

场景

参考上面实现多条Y轴的基础上,想要在生成曲线的时候根据曲线的条数生成不同颜色的曲线,效果如下

如何让Winform中的ZedGraph在绘制多条曲线时自动随机分配不同颜色?

注:

关注公众号 霸道的程序猿 获取编程相关电子书、教程推送与免费下载。

实现

首先新建一个想要作为曲线颜色的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);