Nevron Forum

How do I centre data labels in horizontal bars

https://www.nevron.com/Forum/Topic12340.aspx

By Kevin Harrison 1 - Wednesday, January 3, 2018

I can get the attached using:
nevronSeries.DataLabelStyle.VertAlign = Nevron.VertAlign.Center;
 nevronSeries.DataLabelStyle.ArrowLength = new NLength(0);
nevronSeries.DataLabelStyle.ArrowStrokeStyle = new NStrokeStyle(0); 
nevronSeries.DataLabelStyle.ArrowPointerLength = new NLength(0);

but I want the label to be centred vertically within the bar. Can I do this?
data:image/png;base64,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

Thanks
Kevin

By Nevron Support - Wednesday, January 3, 2018

Hi Kevin,
We tested with the following code and were not able to replicate the problem:

   NChart chart = nChartControl1.Charts[0];
   chart.SetPredefinedChartStyle(PredefinedChartStyle.HorizontalRight);
   chart.DisplayOnLegend = null;

   {
    NBarSeries nevronSeries = new NBarSeries();

    nevronSeries.Values.Add(10);
    nevronSeries.Values.Add(20);

    chart.Series.Add(nevronSeries);

    nevronSeries.DataLabelStyle.VertAlign = Nevron.VertAlign.Center;
    nevronSeries.DataLabelStyle.ArrowLength = new NLength(0);
    nevronSeries.DataLabelStyle.ArrowStrokeStyle = new NStrokeStyle(0);
    nevronSeries.DataLabelStyle.ArrowPointerLength = new NLength(0);
   }

   {
    NBarSeries nevronSeries = new NBarSeries();

    nevronSeries.MultiBarMode = MultiBarMode.Clustered;
    nevronSeries.Values.Add(10);
    nevronSeries.Values.Add(20);

    chart.Series.Add(nevronSeries);

    nevronSeries.DataLabelStyle.VertAlign = Nevron.VertAlign.Center;
    nevronSeries.DataLabelStyle.ArrowLength = new NLength(0);
    nevronSeries.DataLabelStyle.ArrowStrokeStyle = new NStrokeStyle(0);
    nevronSeries.DataLabelStyle.ArrowPointerLength = new NLength(0);
   }


Most likely you touch the TextStyle associated with the data labels somewhere. You can try the following:

nevronSeries.DataLabelStyle.TextStyle.StringFormatStyle.HorzAlign = Nevron.HorzAlign.Center;
nevronSeries.DataLabelStyle.TextStyle.StringFormatStyle.VertAlign = Nevron.VertAlign.Center;

Hope this helps - let us know if you meet any problems.


By Kevin Harrison 1 - Thursday, January 4, 2018

Thanks.

I noticed after posting that one of the examples had correctly centred labels.
We are still using 16.8.8.12, so I suspect this issue has been fixed since then.
It would be good to have release notes indicating what is fixed in each release.

Kevin