Profile Picture

NLogarithmic scale - data display issue

Posted By Sirajuddin Shaik Mohammed 11 Years Ago
Author
Message
Sirajuddin Shaik Mohammed
sad Posted 11 Years Ago
View Quick Profile
Forum Newbie

Forum Newbie (3 reputation)Forum Newbie (3 reputation)Forum Newbie (3 reputation)Forum Newbie (3 reputation)Forum Newbie (3 reputation)Forum Newbie (3 reputation)Forum Newbie (3 reputation)Forum Newbie (3 reputation)Forum Newbie (3 reputation)

Group: Forum Members
Last Active: 11 Years Ago
Posts: 3, Visits: 1

Hello,

We use 2D and 3D charts.  The user can switch between Liner Scale and Logarithmic scale only on certain axis of the chart (say Y-axis on 2D chart and 3D Chart). In the linear scale, the axis range is calculated based on the data and is set manually
NevronAxis.View = new NRangeAxisView(new NRange1DD(range.Min, range.Max), true, true);

When the user switches to logarithmic scale, we just change the scale of the chart to logarithmic scale.

m_logarithmicScaleConfigurator = new NLogarithmicScaleConfigurator
{
 RoundToTickMax = false,
 RoundToTickMin = false,
 InflateViewRangeBegin = false,
 InflateViewRangeEnd = false,
 MajorGridStyle = { LineStyle = { Pattern = LinePattern.Dot } },
 LogarithmBase = 10,
 TransformScale = true,
 Title = new NScaleTitleStyle{Angle = new NScaleLabelAngle { LabelAngleMode = ScaleLabelAngleMode.Scale }}
};
m_logarithmicScaleConfigurator.MajorGridStyle.SetShowAtWall(ChartWallType.Back, true);

NevronAxis.ScaleConfigurator = logarithmicScaleConfigurator ;
NevronAxis.UpdateScale();

The min and max of the axis scale can be either in auto scale mode or manual scale mode.

If the axis scale (min,max) are in autoscale mode
NevronAxis.View = new NRangeAxisView(new NRange1DD(range.Min, range.Max), false, false);

If the axis scale(min,max)are in manual mode
NevronAxis.View = new NRangeAxisView(new NRange1DD(range.Min, range.Max), true, true);

If the axis min scale is in manual mode and max scale in auto
NevronAxis.View = new NRangeAxisView(new NRange1DD(range.Min, range.Max), true, false);

If the axis min scale is in automode and max scale in manual
NevronAxis.View = new NRangeAxisView(new NRange1DD(range.Min, range.Max), false, true);

After this the referesh of the chart control is called.

When the range is set for the logarithmic , the curve on the chart does not always appear in the chart area correctly.
The attached immages (2D chart.jpg and 3D chart.jpg) illustrate this.

When the scale is swithed to linear scale, there is no issue. It happens only in logarithmic scale.

I have tried to  use the CalculateAxis() and/or RecalcLayout() after setting the range but it did not resolve the issue.

How can I correct this issue? I am blocked on this issue

Thank you very much for your help.

Best Regards,
Siraj



Attachments
2D Chart.jpg (129 views, 85.00 KB)
3D chart.jpg (124 views, 166.00 KB)
Nevron Support
Posted 11 Years Ago
View Quick Profile
Supreme Being

Supreme Being (4,435 reputation)Supreme Being (4,435 reputation)Supreme Being (4,435 reputation)Supreme Being (4,435 reputation)Supreme Being (4,435 reputation)Supreme Being (4,435 reputation)Supreme Being (4,435 reputation)Supreme Being (4,435 reputation)Supreme Being (4,435 reputation)

Group: Forum Members
Last Active: Yesterday @ 1:54 AM
Posts: 3,054, Visits: 4,009
Hi Siraj,

Can you send us a sample app that replicates this. (in general you cannot apply 0 or negative values as the logarithmic function is defined only in the range (0, infinity]).

Best Regards,
Nevron Support Team



Sirajuddin Shaik Mohammed
Posted 11 Years Ago
View Quick Profile
Forum Newbie

Forum Newbie (3 reputation)Forum Newbie (3 reputation)Forum Newbie (3 reputation)Forum Newbie (3 reputation)Forum Newbie (3 reputation)Forum Newbie (3 reputation)Forum Newbie (3 reputation)Forum Newbie (3 reputation)Forum Newbie (3 reputation)

Group: Forum Members
Last Active: 11 Years Ago
Posts: 3, Visits: 1
Hello,

The sample application has been sent to 'support@nevron.com' with the subject
'Sample application: NLogarithmic scale - data display issue'.

Looking forward for the reply.

Thank you.

Regards,
Siraj



Similar Topics


Reading This Topic