By Manal Goyal - 6 Years Ago
|
Hi Team,
I want to add min, max labels on y axis to highlight minimum and maximum values achieved by the series. What I managed to come up with is this:
You can see that labels are inside the graph, but I want labels to be present on the scale itself(But the important thing is that I don't want labels to interfere with the tick values, they can appear next to tick values).
This is the code I am currently using:
private void AddMinMaxLabel(NAxis axis, double min, double max) { NAxisConstLine constLine1 = new NAxisConstLine { StrokeStyle = { Color = Color.Gray }, Value = min, TextAlignment = ContentAlignment.MiddleLeft, Text = " Min " + min.ToString("0.000") }; constLine1.TextStyle.FontStyle.Style = FontStyle.Bold; NAxisConstLine constLine2 = new NAxisConstLine { StrokeStyle = { Color = Color.Gray }, Value = max, TextAlignment = ContentAlignment.TopLeft, Text = " Max " + max.ToString("0.000") }; constLine2.TextStyle.FontStyle.Style = FontStyle.Bold; axis.ConstLines.Add(constLine1); axis.ConstLines.Add(constLine2); }
Can you guide me for the right way to do it? Thanks and regards Manal
|
By Nevron Support - 6 Years Ago
|
Hi Manal, You can use custom value labels for this purpose:
NChart chart = nChartControl1.Charts[0];
NBarSeries bar = new NBarSeries(); bar.Values.Add(10); chart.Series.Add(bar);
NLinearScaleConfigurator scale = chart.Axis(StandardAxis.PrimaryY).ScaleConfigurator as NLinearScaleConfigurator; NCustomValueLabel maxValue = new NCustomValueLabel(); maxValue.Text = "Max"; maxValue.Value = 10; scale.CustomLabels.Add(maxValue); scale.CreateNewLevelForCustomLabels = false;
the above code also shows how to merge the custom value labels with the automatically generated ones so that when they overlap the custom labels will show only.
|
|