Difference between revisions of "TAChart"

From Lazarus wiki
Jump to navigationJump to search
(First version)
 
m (→‎Authors: there is no user LFRodrigues registered in this Wiki but Lfrodrigues exists)
 
(86 intermediate revisions by 18 users not shown)
Line 1: Line 1:
===About===
+
{{TAChart}}
TAChart is a charting GPL component for Lazarus (TeeChart LineSerie like).
 
  
Its main caracteristics are :
+
=== About ===
 +
TAChart is the principal component of a TeeChart-like charting framework for Lazarus offered under an LGPL licence. TeeChart is the charting component installed with recent Delphi versions.
  
* Unlimited number of curves
+
It contains functions developed by Philippe Martinole for his TeleAuto project which were revised extensively by Luis Rodrigues when porting the Epanet application from Delphi to Lazarus.
* Unlimited number of points
+
Alexander Klenin rewrote and expanded much of the code, and is its current maintainer.
* Graph legend
 
* Graph title
 
* Axis labels
 
* Interactive zoom
 
* Reticule or vertical reticule with point measure
 
* Line drawing between points
 
* Point drawing on each point
 
* Color each point
 
* Mirror on X axis
 
* Auto or manual graph limits
 
* Linear least square fitting
 
* Smart marks drawing
 
* Easily extensible to new graph types
 
  
 +
If you have questions, bug reports or feature requests, please post them to the
 +
[http://lists.lazarus.freepascal.org/mailman/listinfo Lazarus mailing list]
 +
or [http://www.lazarus.freepascal.org/index.php/board,55.0.html TAChart board of the Lazarus forum].
  
The download contains the component, an installation package and a demo application, that illustrates the features of the component along with some instrumentation for evaluating the chart on a given system.
+
=== Documentation ===
  
This component was designed for cross-platform applications.
+
Many features of TAChart are demonstrated in examples installed at (Lazarus Install Dir)/components/tachart/demo/. See [[TAChart Demos|TAChart Demos]] for a short description and screenshots.
  
===Author===
+
Some TAChart classes and properties have been provided with FPDoc documentation (accessed via [F1] in the IDE).
[[User:Marty|Philippe Martinole]]  
 
  
===License===
+
An overview of most of TAChart's concepts and features can be found in the [[TAChart documentation]].
[http://www.opensource.org/licenses/lgpl-license.php LGPL] (please contact the author if the LGPL doesn't work with your project licensing)
 
 
===Download===
 
The latest stable release can be found on the [http://sourceforge.net/project/showfiles.php?group_id=92177 Lazarus CCR Files page].
 
  
===Change Log===
+
For beginners, the following tutorials may be helpful:
* Version 1.0 06-04-2005
+
* [[TAChart Tutorial: Getting started]];
 +
* [[TAChart Tutorial: ListChartSource, Logarithmic Axis, Fitting]].
 +
* [[TAChart Tutorial: Userdefined ChartSource]]
 +
* [[TAChart Tutorial: BarSeries]]
 +
* [[TAChart Tutorial: Stacked BarSeries]]
 +
* [[TAChart Tutorial: Dual y axis, Legend]]
 +
* [[TAChart Tutorial: Multiple Panes in one Chart]]
 +
* [[TAChart Tutorial: Function Series]]
 +
* [[TAChart Tutorial: ColorMapSeries, Zooming]]
 +
* [[TAChart Tutorial: Chart Tools]]
 +
* [[TAChart Tutorial: Background design]]
 +
* [[TAChart Runtime FAQ]]
  
===Getting the latest source from CVS===
+
The rendering may be improved with another library :
cvs -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/lazarus login
+
* [[BGRABitmap tutorial TAChart|Rendering with BGRABitmap]].
cvs -z3 -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/lazarus co tachart
 
  
===Dependencies / System Requirements===
+
=== Features ===
* None
+
* More than 15 different series, including pie, bar, area, line and point series
 +
* Function series with domain support
 +
* No limit to the number of series, points or axes on a graph
 +
* Flexible chart sources, including design-time editing, and random, dynamic and database-aware sources.
 +
* Graph legend, title and footer
 +
* Axis labels and marks can be set manually or auto-generated
 +
* Axis inversion, independent scale and offset, logarithmic scale
 +
* Interactive tools, including zoom, panning and crosshairs
 +
* Automatic or manual graph limits
 +
* Smart marks drawing
 +
* Easily extensible with new custom series
 +
* Output to SVG, OpenGL, printer, WMF, [http://www.crossgl.com/aggpas/ AggPas], [[BGRABitmap]], [[fpvectorial]]
 +
* Can be used in non-GUI applications, such as web services
 +
* Being actively developed, see [[TAChart Roadmap|roadmap]]
  
Status: Beta
+
=== Screenshot ===
  
Issues:
+
Here is an example of TAChart displaying a Line Series, Bar Series and Pie Series
Tested on Windows.
 
Needs testing on Linux.
 
  
===Installation===
+
<center>[[Image:tachart.png]]</center>
* Create the directory lazarus\components\tagraph
 
* On this directory, unzip the files from tagraph\lazarus\component of the zip file
 
* Open lazarus
 
* Open the package ta.lpk with Component/Open package file (.lpk)
 
* Click on Compile
 
* Click on Install
 
  
===Usage===
+
=== Authors ===
Drop the component on a form. Change some properties as you like and use this code to add a curve :
+
[[User:Lfrodrigues|Luís Rodrigues]],
 +
[[User:Marty|Philippe Martinole]],
 +
[[User:Ask|Alexander Klenin]]
  
procedure TForm1.Button1Click(Sender: TObject);
+
=== Download ===
var
+
The latest stable release can be found in the Lazarus SVN repository (the components are on the Chart Tab in Lazarus).
  Serie:TTASerie;
 
  i:Integer;
 
begin
 
Serie:=TTASerie.Create(TAChart1);
 
TAChart1.AddSerie(Serie);
 
Serie.ShowLines:=True;
 
Serie.ShowPoints:=False;
 
Serie.Title:='Sinus';
 
for i:=-500 to 499 do
 
    Serie.AddXY(i/10,Sin(i/10)*10,clBlack);
 
end;
 
  
See the exemple project TestOfTAGraph for additional examples of component usage.
+
=== See also ===
 +
* [[RingChart and AnalogWatch]]
 +
* [[PlotPanel]]
 +
* [[Comparing TAChart with Delphi's TeeChart Standard|Comparing TAChart with Delphi's TeeChart Standard]]
  
===The TestOfTAGraph Exemple Application===
+
{{LCL Components}}
The TestOfTAGraph application require TAGraph to be installed in order
 
to compile and operate. It show how to use many of the TAGraph features
 
  
'''Installation'''
+
[[Category:Lazarus]]
* Open TestOfTaGraph.lpi
+
[[Category:Components]]
* compile
+
[[Category:Graphics]]
* run
+
[[Category:TAChart]]

Latest revision as of 14:17, 24 February 2023

Deutsch (de) English (en) español (es) français (fr) português (pt) русский (ru) українська (uk) 中文(中国大陆)‎ (zh_CN)

About

TAChart is the principal component of a TeeChart-like charting framework for Lazarus offered under an LGPL licence. TeeChart is the charting component installed with recent Delphi versions.

It contains functions developed by Philippe Martinole for his TeleAuto project which were revised extensively by Luis Rodrigues when porting the Epanet application from Delphi to Lazarus. Alexander Klenin rewrote and expanded much of the code, and is its current maintainer.

If you have questions, bug reports or feature requests, please post them to the Lazarus mailing list or TAChart board of the Lazarus forum.

Documentation

Many features of TAChart are demonstrated in examples installed at (Lazarus Install Dir)/components/tachart/demo/. See TAChart Demos for a short description and screenshots.

Some TAChart classes and properties have been provided with FPDoc documentation (accessed via [F1] in the IDE).

An overview of most of TAChart's concepts and features can be found in the TAChart documentation.

For beginners, the following tutorials may be helpful:

The rendering may be improved with another library :

Features

  • More than 15 different series, including pie, bar, area, line and point series
  • Function series with domain support
  • No limit to the number of series, points or axes on a graph
  • Flexible chart sources, including design-time editing, and random, dynamic and database-aware sources.
  • Graph legend, title and footer
  • Axis labels and marks can be set manually or auto-generated
  • Axis inversion, independent scale and offset, logarithmic scale
  • Interactive tools, including zoom, panning and crosshairs
  • Automatic or manual graph limits
  • Smart marks drawing
  • Easily extensible with new custom series
  • Output to SVG, OpenGL, printer, WMF, AggPas, BGRABitmap, fpvectorial
  • Can be used in non-GUI applications, such as web services
  • Being actively developed, see roadmap

Screenshot

Here is an example of TAChart displaying a Line Series, Bar Series and Pie Series

tachart.png

Authors

Luís Rodrigues, Philippe Martinole, Alexander Klenin

Download

The latest stable release can be found in the Lazarus SVN repository (the components are on the Chart Tab in Lazarus).

See also


LCL Components
Component Tab Components
Standard TMainMenu • TPopupMenu • TButton • TLabel • TEdit • TMemo • TToggleBox • TCheckBox • TRadioButton • TListBox • TComboBox • TScrollBar • TGroupBox • TRadioGroup • TCheckGroup • TPanel • TFrame • TActionList
Additional TBitBtn • TSpeedButton • TStaticText • TImage • TShape • TBevel • TPaintBox • TNotebook • TLabeledEdit • TSplitter • TTrayIcon • TControlBar • TFlowPanel • TMaskEdit • TCheckListBox • TScrollBox • TApplicationProperties • TStringGrid • TDrawGrid • TPairSplitter • TColorBox • TColorListBox • TValueListEditor
Common Controls TTrackBar • TProgressBar • TTreeView • TListView • TStatusBar • TToolBar • TCoolBar • TUpDown • TPageControl • TTabControl • THeaderControl • TImageList • TPopupNotifier • TDateTimePicker
Dialogs TOpenDialog • TSaveDialog • TSelectDirectoryDialog • TColorDialog • TFontDialog • TFindDialog • TReplaceDialog • TTaskDialog • TOpenPictureDialog • TSavePictureDialog • TCalendarDialog • TCalculatorDialog • TPrinterSetupDialog • TPrintDialog • TPageSetupDialog
Data Controls TDBNavigator • TDBText • TDBEdit • TDBMemo • TDBImage • TDBListBox • TDBLookupListBox • TDBComboBox • TDBLookupComboBox • TDBCheckBox • TDBRadioGroup • TDBCalendar • TDBGroupBox • TDBGrid • TDBDateTimePicker
Data Access TDataSource • TCSVDataSet • TSdfDataSet • TBufDataset • TFixedFormatDataSet • TDbf • TMemDataset
System TTimer • TIdleTimer • TLazComponentQueue • THTMLHelpDatabase • THTMLBrowserHelpViewer • TAsyncProcess • TProcessUTF8 • TProcess • TSimpleIPCClient • TSimpleIPCServer • TXMLConfig • TEventLog • TServiceManager • TCHMHelpDatabase • TLHelpConnector
Misc TColorButton • TSpinEdit • TFloatSpinEdit • TArrow • TCalendar • TEditButton • TFileNameEdit • TDirectoryEdit • TDateEdit • TTimeEdit • TCalcEdit • TFileListBox • TFilterComboBox • TComboBoxEx • TCheckComboBox • TButtonPanel • TShellTreeView • TShellListView • TXMLPropStorage • TINIPropStorage • TJSONPropStorage • TIDEDialogLayoutStorage • TMRUManager • TStrHolder
LazControls TCheckBoxThemed • TDividerBevel • TExtendedNotebook • TListFilterEdit • TListViewFilterEdit • TLvlGraphControl • TShortPathEdit • TSpinEditEx • TFloatSpinEditEx • TTreeFilterEdit • TExtendedTabControl •
RTTI TTIEdit • TTIComboBox • TTIButton • TTICheckBox • TTILabel • TTIGroupBox • TTIRadioGroup • TTICheckGroup • TTICheckListBox • TTIListBox • TTIMemo • TTICalendar • TTIImage • TTIFloatSpinEdit • TTISpinEdit • TTITrackBar • TTIProgressBar • TTIMaskEdit • TTIColorButton • TMultiPropertyLink • TTIPropertyGrid • TTIGrid
SQLdb TSQLQuery • TSQLTransaction • TSQLScript • TSQLConnector • TMSSQLConnection • TSybaseConnection • TPQConnection • TPQTEventMonitor • TOracleConnection • TODBCConnection • TMySQL40Connection • TMySQL41Connection • TMySQL50Connection • TMySQL51Connection • TMySQL55Connection • TMySQL56Connection • TMySQL57Connection • TSQLite3Connection • TIBConnection • TFBAdmin • TFBEventMonitor • TSQLDBLibraryLoader
Pascal Script TPSScript • TPSScriptDebugger • TPSDllPlugin • TPSImport_Classes • TPSImport_DateUtils • TPSImport_ComObj • TPSImport_DB • TPSImport_Forms • TPSImport_Controls • TPSImport_StdCtrls • TPSCustomPlugin
SynEdit TSynEdit • TSynCompletion • TSynAutoComplete • TSynMacroRecorder • TSynExporterHTML • TSynPluginSyncroEdit • TSynPasSyn • TSynFreePascalSyn • TSynCppSyn • TSynJavaSyn • TSynPerlSyn • TSynHTMLSyn • TSynXMLSyn • TSynLFMSyn • TSynDiffSyn • TSynUNIXShellScriptSyn • TSynCssSyn • TSynPHPSyn • TSynTeXSyn • TSynSQLSyn • TSynPythonSyn • TSynVBSyn • TSynAnySyn • TSynMultiSyn • TSynBatSyn • TSynIniSyn • TSynPoSyn
Chart TChart • TListChartSource • TRandomChartSource • TUserDefinedChartSource • TCalculatedChartSource • TDbChartSource • TChartToolset • TChartAxisTransformations • TChartStyles • TChartLegendPanel • TChartNavScrollBar • TChartNavPanel • TIntervalChartSource • TDateTimeIntervalChartSource • TChartListBox • TChartExtentLink • TChartImageList
IPro TIpFileDataProvider • TIpHtmlDataProvider • TIpHttpDataProvider • TIpHtmlPanel
Virtual Controls TVirtualDrawTree • TVirtualStringTree • TVTHeaderPopupMenu