Steema Issues Database

Note: This database is for bugs and wishes only. For technical support help, if you are a customer please visit our online forums;
otherwise you can use StackOverflow.
Before using this bug-tracker we recommend a look at this document, Steema Bug Fixing Policy.



Bug 1890

Summary: TSmoothingFunction forces Order and gives a wrong result when XValues go
Product: VCL TeeChart Reporter: yeray alonso <yeray>
Component: FunctionsAssignee: Steema Issue Manager <issuemanager>
Status: RESOLVED FIXED    
Severity: enhancement CC: marc
Priority: ---    
Version: 21.170329   
Target Milestone: ---   
Hardware: PC   
OS: Windows   
URL: http://www.teechart.net/support/viewtopic.php?f=3&t=16627
Chart Series: --- Delphi / C++ Builder RAD IDE Version:

Description yeray alonso 2017-07-11 09:45:15 EDT
Having a TLineSeries with XValues going forward and backwards, if you set a TSmoothingFunction to it, the result doesn't use the correct XValues.Order.

See the following example:

uses Series;

var  Series1: TLineSeries;
     Series2: TLineSeries;

procedure TForm1.FormCreate(Sender: TObject);
begin
  Series1:=Chart1.AddSeries(TLineSeries) as TLineSeries;
  Series2:=Chart1.AddSeries(TLineSeries) as TLineSeries;

  Chart1.View3D:=False;

  Chart1.BottomAxis.Logarithmic := true;
  Chart1.BottomAxis.Automatic := false;
  Chart1.BottomAxis.SetMinMax(10, 10000);
  Chart1.LeftAxis.SetMinMax(-6, 6);
  Series1.Pointer.Visible := true;
  Series2.DataSource := Series1;
  Series2.Color := clRed;
  Series1.Clear;
  Series1.AddXY(10,2);
  Series1.AddXY(32,2);
  Series1.AddXY(600,2.5);
  Series1.AddXY(1000,0);
  Series1.AddXY(2000,-2);
  Series1.AddXY(8000,-1.5);
  Series1.AddXY(10000,-1.5);
  Series2.CheckDataSource;
  Series2.Smoothed := true;
end;

The workarounds are:
- To use THorizLineSeries instead of TLineSeries.
- To use this code:

  Series2.XValues.Order:=loNone;
  Series2.HasZValues:=True;