Was the 2nd-Y axis patch (No. 13832; http://bugs.freepascal.org/view.php?id=13832) ever incorporated into the Lazarus/TAChart release? I'm new to Lazarus and don't quite know how to interpret the bugtracker page. I do know that I cannot find some of the changes mentioned in the patches -- such as for TAGraph -- in the latest version of TAGraph.

I do scientific programming and am trying to update some of my older Delphi/Pascal programs. I need the ability to independently set YMax and YMin values for both Y axes on climate diagrams (which plot both monthly precipitation and temperature data) on the same chart. Precipitation data are plotted as bar graphs, temperature data are plotted by line series. I can get all the data series plotted, but I cannot get the precip and temp data scaled properly.

In the older version of my program (which used Delphi/Teechart), I had the precipitation axes set from 0 to 30 cm and the temperature axes set from -90 to 60 degrees centigrade.

If this list accepts attachments, I can forward a wmf with an actual chart. Here's the current version of the plotting procedure:

procedure TCLIMatePLOTForm.CLIMPLOTButtonClick(Sender: TObject);
var
  Mnth: integer;
begin
  ClimateDataChart.Title.Text.Clear;
  Series_mpr.Clear;
  LineSeries_mt.Clear;
  LineSeries_mxt.Clear;
  LineSeries_mnt.Clear;
  with ClimateDataChart.Title.Text do
    Add(SiteName);
  if lat < 0 then begin
    with LineSeries_mt do begin
      for Mnth := 7 to 12 do
        Add(mt[Mnth], AbMonth[Mnth], clPurple);
      for Mnth := 1 to 6 do
        Add(mt[Mnth], AbMonth[Mnth], clPurple);
    end;
    with LineSeries_mxt do begin
      for Mnth := 7 to 12 do
        Add(mxt[Mnth], AbMonth[Mnth], clRed);
      for Mnth := 1 to 6 do
        Add(mxt[Mnth], AbMonth[Mnth], clRed);
    end;
    with LineSeries_mnt do begin
      for Mnth := 7 to 12 do
        Add(mnt[Mnth], AbMonth[Mnth], clBlue);
      for Mnth := 1 to 6 do
        Add(mnt[Mnth], AbMonth[Mnth], clBlue);
    end;
    with Series_mpr do begin
      for Mnth := 7 to 12 do
        if PrecipData <> 1 then
          Add((mpr[Mnth]/10), AbMonth[Mnth], clAqua)
        else
          Add(0, AbMonth[Mnth], clAqua);
      for Mnth := 1 to 6 do
        if PrecipData <> 1 then
          Add((mpr[Mnth]/10), AbMonth[Mnth], clAqua)
        else
          Add(0, AbMonth[Mnth], clAqua);
    end;
  end else begin
      with LineSeries_mt do
        for Mnth := 1 to 12 do
          Add(mt[Mnth], AbMonth[Mnth], clPurple);
      with LineSeries_mxt do
        for Mnth := 1 to 12 do
          Add(mxt[Mnth], AbMonth[Mnth], clRed);
      with LineSeries_mnt do
        for Mnth := 1 to 12 do
          Add(mnt[Mnth], AbMonth[Mnth], clBlue);
    with Series_mpr do
      for Mnth := 1 to 12 do
        if PrecipData <> 1 then
          Add((mpr[Mnth]/10), AbMonth[Mnth], clAqua)
        else
          Add(0, AbMonth[Mnth], clAqua);
  end;
end;

--

Here's the form file:

object CLIMatePLOTForm: TCLIMatePLOTForm
  Left = 881
  Height = 535
  Top = 152
  Width = 345
  Caption = 'CLIMatePLOT'
  ClientHeight = 515
  ClientWidth = 345
  Color = clSilver
  Font.Color = clWindowText
  Font.Height = -11
  Font.Name = 'MS Sans Serif'
  Menu = PlotMenu
  OnClose = FormClose
  OnCreate = FormCreate
  LCLVersion = '0.9.30'
  Visible = True
  object ClimateDataChart: TChart
    Left = 16
    Height = 401
    Top = 16
    Width = 312
    AllowZoom = False
    AxisList = <
      item
        Title.Clipped = False
        Title.LabelFont.Orientation = 900
        Title.Visible = True
        Title.Caption = 'Average precipitation (cm)'
      end
      item
        Alignment = calBottom
        Title.Caption = 'Month'
      end
      item
        Alignment = calRight
        Title.LabelFont.Orientation = 900
        Title.Visible = True
        Title.Caption = 'Average temperature (°C)'
      end>
    Extent.YMax = 30
    Extent.UseYMin = True
    Extent.UseYMax = True
    Foot.Brush.Color = clBtnFace
    Foot.Font.Color = clBlue
    Legend.UseSidebar = False
    Title.Brush.Color = clBtnFace
    Title.Font.Color = clBlack
    Title.Font.Height = -11
    Title.Font.Name = 'Arial'
    Title.Text.Strings = (
      ''
    )
    Title.Visible = True
    Color = clNone
    ParentColor = False
    object Series_mpr: TBarSeries
      Title = 'Precipitation'
      AxisIndexX = 1
      AxisIndexY = 0
      BarBrush.Color = clAqua
      UseReticule = True
    end
    object LineSeries_mt: TLineSeries
      Marks.Visible = False
      Title = 'Mean temperature'
      AxisIndexY = 2
      LinePen.Color = clGreen
      LinePen.Width = 2
      Pointer.Visible = False
    end
    object LineSeries_mxt: TLineSeries
      Marks.Visible = False
      Title = 'Maximum temperature'
      LinePen.Color = clRed
      LinePen.Width = 2
      Pointer.Visible = False
    end
    object LineSeries_mnt: TLineSeries
      Marks.Visible = False
      Title = 'Minimum temperature'
      LinePen.Color = clBlue
      LinePen.Width = 2
      Pointer.Visible = False
    end
  end
  object ExitChartButton: TButton
    Left = 184
    Height = 33
    Top = 432
    Width = 137
    Caption = 'Exit chart'
    OnClick = ExitChartButtonClick
    TabOrder = 1
  end
  object CLIMPLOTButton: TButton
    Left = 24
    Height = 33
    Top = 432
    Width = 137
    Caption = 'Plot climate data'
    OnClick = CLIMPLOTButtonClick
    TabOrder = 2
  end
  object PlotMenu: TMainMenu
    left = 8
    top = 448
    object File1: TMenuItem
      Caption = '&File'
      object Save1: TMenuItem
        Caption = '&Save...'
        OnClick = Save1Click
      end
      object N2: TMenuItem
        Caption = '-'
      end
      object Print1: TMenuItem
        Caption = '&Print...'
        OnClick = Print1Click
      end
      object PrintSetup1: TMenuItem
        Caption = 'P&rint Setup...'
        OnClick = PrintSetup1Click
      end
      object N1: TMenuItem
        Caption = '-'
      end
      object Exit1: TMenuItem
        Caption = 'E&xit'
        OnClick = ExitChartButtonClick
      end
    end
  end
  object ChartSaveDialog: TSaveDialog
    DefaultExt = '.wmf'
    left = 104
    top = 448
  end
  object PrintDialog: TPrintDialog
    left = 40
    top = 448
  end
  object PlotPrintSetupDialog: TPrinterSetupDialog
    left = 72
    top = 448
  end
  object mprChartSource: TUserDefinedChartSource
    OnGetChartDataItem = mprChartSourceGetChartDataItem
    left = 80
    top = 40
  end
  object mtChartSource: TUserDefinedChartSource
    OnGetChartDataItem = mtChartSourceGetChartDataItem
    left = 184
    top = 104
  end
  object mxtChartSource: TUserDefinedChartSource
    OnGetChartDataItem = mxtChartSourceGetChartDataItem
    left = 128
    top = 168
  end
  object mntChartSource: TUserDefinedChartSource
    OnGetChartDataItem = mntChartSourceGetChartDataItem
    left = 240
    top = 224
  end
  object MnthChartSource: TUserDefinedChartSource
    left = 160
    top = 344
  end
end

--

Thank you very much for your time.

Sincerely,

Dave Lawrence

--
------------------------------------------------------
 David M. Lawrence        | Home:  (804) 559-9786
 7471 Brook Way Court     | Fax:   (804) 559-9787
 Mechanicsville, VA 23111 | Email: d...@fuzzo.com
 USA                      | http:  http://fuzzo.com
------------------------------------------------------

"All drains lead to the ocean."  -- Gill, Finding Nemo

"We have met the enemy and he is us."  -- Pogo

"No trespassing
 4/17 of a haiku"  --  Richard Brautigan


--
_______________________________________________
Lazarus mailing list
Lazarus@lists.lazarus.freepascal.org
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus

Reply via email to