Potential typo bug in AxisBase.FormatAxisValue

Found a possible bug in LightningChart? Report it here.

Moderator: Queue Moderators

Post Reply
jhyap
Posts: 28
Joined: Tue Apr 16, 2013 12:07 am

Potential typo bug in AxisBase.FormatAxisValue

Post by jhyap » Tue Jul 02, 2013 9:33 am

Original code captured from Arction Demo source, ExampleMapRoute

Code: Select all

        private void UpdateRouteStatistics()
        {
            listBoxRouteStat.Items.Clear();
            int iRouteNumber = 1;
            AxisX axisX = m_chart.ViewXY.XAxes[0]; 
            foreach (FreeformPointLineSeries lineSeries in m_chart.ViewXY.FreeformPointLineSeries)
            {
                listBoxRouteStat.Items.Add("---------------");
                listBoxRouteStat.Items.Add("Route " + iRouteNumber.ToString());
                int iPointCount = lineSeries.PointCount;
                for (int i = 0; i < iPointCount - 1; i++)
                {
                    double dWaypointDistanceKm = ChartTools.CalculateMapDistance(lineSeries.Points[i].X, lineSeries.Points[i].Y,
                        lineSeries.Points[i + 1].X, lineSeries.Points[i + 1].Y);
                    string strWaypoint = string.Format("[{0};{1}]->\n[{2};{3}] Len: {4} km",
                        axisX.FormatAxisValue(lineSeries.Points[i].X, "", ""),
                        axisX.FormatAxisValue(lineSeries.Points[i].Y, "", ""),
                        axisX.FormatAxisValue(lineSeries.Points[i + 1].X, "", ""),
                        axisX.FormatAxisValue(lineSeries.Points[i + 1].Y, "", ""),
                        dWaypointDistanceKm.ToString("0"));

                    listBoxRouteStat.Items.Add(strWaypoint);
                }
                iRouteNumber++;
            }
        }
The typo is suspected to be happened at here

Code: Select all

axisX.FormatAxisValue(lineSeries.Points[i].Y, "", ""),
The print captured of typo:
program is run at Demo Source, ExampleMapRoute
program is run at Demo Source, ExampleMapRoute
potential typo bug.JPG (209.24 KiB) Viewed 17727 times
Description of typo (Same goes to all routes but taking Route 3 as example):
At Route 3
The correction string should be like this:
[57 37 14 E ; 49 46 55 N] -> [70 35 41 E; 53 52 50 N]
instead of
[57 37 14 E ; 49 46 55 E] -> [70 35 41 E; 53 52 50 E]
the string for lineSeries.Points.Y should end with "N" instead of "E"

Am I correct?

Regards,
JH :freak:

ArctionJari

Re: Potential typo bug in AxisBase.FormatAxisValue

Post by ArctionJari » Thu Jul 04, 2013 12:25 pm

Ok, thanks for reporting this. We'll look into this. :shock:

User avatar
ArctionPasi
Posts: 1367
Joined: Tue Mar 26, 2013 10:57 pm
Location: Finland
Contact:

Re: Potential typo bug in AxisBase.FormatAxisValue

Post by ArctionPasi » Mon Jul 08, 2013 6:38 am

Thanks for reporting the problem.

It's a flaw in the demo application code. The UpdateRouteStatistics method code should be as follows:

Code: Select all

 private void UpdateRouteStatistics()
        {
            listBoxRouteStat.Items.Clear();
            int iRouteNumber = 1;
            AxisX axisX = m_chart.ViewXY.XAxes[0];
            AxisY axisY = m_chart.ViewXY.YAxes[0];
            foreach (FreeformPointLineSeries lineSeries in m_chart.ViewXY.FreeformPointLineSeries)
            {
                listBoxRouteStat.Items.Add("---------------");
                listBoxRouteStat.Items.Add("Route " + iRouteNumber.ToString());
                int iPointCount = lineSeries.PointCount;
                for (int i = 0; i < iPointCount - 1; i++)
                {
                    double dWaypointDistanceKm = ChartTools.CalculateMapDistance(lineSeries.Points[i].X, lineSeries.Points[i].Y,
                        lineSeries.Points[i + 1].X, lineSeries.Points[i + 1].Y);
                    string strWaypoint = string.Format("[{0};{1}]->\n[{2};{3}] Len: {4} km",
                        axisY.FormatAxisValue(lineSeries.Points[i].Y, "", ""),
                        axisX.FormatAxisValue(lineSeries.Points[i].X, "", ""),
                        axisY.FormatAxisValue(lineSeries.Points[i + 1].Y, "", ""),
                        axisX.FormatAxisValue(lineSeries.Points[i + 1].X, "", ""),
                        dWaypointDistanceKm.ToString("0"));

                    listBoxRouteStat.Items.Add(strWaypoint);
                }
                iRouteNumber++;
            }
        }
:?
LightningChart Support Team, PT

jhyap
Posts: 28
Joined: Tue Apr 16, 2013 12:07 am

Re: Potential typo bug in AxisBase.FormatAxisValue

Post by jhyap » Tue Jul 09, 2013 1:07 am

I try like this

Code: Select all

AxisX axisX = m_chart.ViewXY.XAxes[0];
AxisY axisY = m_chart.ViewXY.YAxes[0];
string xStr = Convert.ToString(axisX.FormatAxisValue(lineSeries.Points[0].X, "", ""));
string yStr = Convert.ToString(axisY.FormatAxisValue(lineSeries.Points[0].Y, "", ""));
The end string is correct but the result gives different string formatting:
different string formatting for both x and y
different string formatting for both x and y
different formatting.JPG (25.1 KiB) Viewed 17673 times
:freak:

User avatar
ArctionPasi
Posts: 1367
Joined: Tue Mar 26, 2013 10:57 pm
Location: Finland
Contact:

Re: Potential typo bug in AxisBase.FormatAxisValue

Post by ArctionPasi » Thu Aug 22, 2013 9:21 am

Check that you have set ValueType = MapCoordsDegNESW for both X axis and Y axis. If Type is different, FormatAxisValue returns different string.

There's no need to use Convert.ToString here, FormatAxisValue already returns a string.
LightningChart Support Team, PT

Post Reply