【发布时间】:2018-02-28 04:22:19
【问题描述】:
我正在寻找一种在 Winform 图表控件库中启用自定义背景颜色计的方法。这是一个例子:
看到背景中的绿色、黄色和红色了吗?
现在,我需要一种通过控制开始/结束 Y 值、颜色本身以及不同颜色的数量来自定义背景颜色计的方法。
提前致谢!
【问题讨论】:
标签: c# winforms charts microsoft-chart-controls
我正在寻找一种在 Winform 图表控件库中启用自定义背景颜色计的方法。这是一个例子:
看到背景中的绿色、黄色和红色了吗?
现在,我需要一种通过控制开始/结束 Y 值、颜色本身以及不同颜色的数量来自定义背景颜色计的方法。
提前致谢!
【问题讨论】:
标签: c# winforms charts microsoft-chart-controls
您可以通过将 StripLines 添加到 ChartArea 的 y 轴来做到这一点。
它们的位置和大小由它们的StripWidth、Interval 和IntervalOffset 属性控制。
所有值都设置在数据值中,所以在上面三行的例子中,自下而上的StripWidth分别为30、40和30;它们的IntervalOffsets 是 0、30 和 70,并且它们的 Interval 都为 0,这意味着它们不会重复。
让我们试试吧:
Axis ay = chart1.ChartAreas[0].AxisY;
ay.Minimum = 0;
ay.Maximum = 100;
StripLine sl0 = new StripLine();
sl0.BackColor = Color.FromArgb(64, Color.LightSeaGreen);
sl0.StripWidth = 30;
sl0.IntervalOffset = 0;
StripLine sl1 = new StripLine();
sl1.BackColor = Color.FromArgb(64, Color.LightGoldenrodYellow);
sl1.StripWidth = 40;
sl1.IntervalOffset = 30;
StripLine sl2 = new StripLine();
sl2.BackColor = Color.FromArgb(64, Color.LightSalmon);
sl2.StripWidth = 30;
sl2.IntervalOffset = 70;
chart1.ChartAreas[0].AxisY.StripLines.Add(sl0);
chart1.ChartAreas[0].AxisY.StripLines.Add(sl1);
chart1.ChartAreas[0].AxisY.StripLines.Add(sl2);
【讨论】: