I'm looking for a way to enable custom background color gauge in the Winform chart control library. Here is an example:
See the green, yellow, and red color in the background?
Now, I need is a way to customize the background color gauge by controlling the starting/ending Y values, the color itself, as well as the number of different colors.
Thanks in advance!
You can do that by adding StripLines
to the y-Axis of the ChartArea
.
Their positions and sizes are controlled by their StripWidth
, Interval
and IntervalOffset
properties.
All values are set in data values, so in the example above the three lines, bottom to top have StripWidth
of 30, 40 and 30; their IntervalOffsets
are 0, 30 and 70 and all have an Interval
of 0, which means they don't repeat.
Let's try it:
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);