Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Recommendations for plotting (chart) component?

I am searching for a widget or control to plot a time-series of data. Basically plot(x,y) where x and y are Nx1 vectors. I am looking but haven't found much and any suggestions would be great! Thanks.

like image 838
reso Avatar asked Jul 10 '11 16:07

reso


People also ask

What are 4 important criteria for creating a successful graph?

Graphs should always have at minimum a caption, axes and scales, symbols, and a data field. Plotting symbols need to be distinct, legible, and provide good contrast between the figure in the foreground and the background.


2 Answers

Use TeeChart, supplied with Delphi. Good for time series and also real time graphs.

like image 53
LU RD Avatar answered Oct 12 '22 09:10

LU RD


I prefer TJvChart from the Jedi VCL library, but then I wrote the TJvChart, or most of it anyways. The reason I recommend it is that it's free, but it has some limitations, including a lack of proper zoom-in and zoom-out capability.

I don't like to use any component in my apps that does not include source code, and generally caution against closed source component use in any serious project, so plan to buy the TeeChart source code if you'll need to use the component. I'm not anti Tee-Chart though; If you choose to use it in a commercial project, go ahead it's great too. Just be aware that it's really 100% worth buying the source for anything you really want to use in a serious way.

Quick start: 1. Download and install JVCL. 2. Open included JvChart demos.

Stackoverflow style tutorial: 1. drop TJvChart on a form. 2. write this code:

  JvChart1.Options.PenCount := 1;
  JvChart1.Data.ValueCount := 3;
  // set values for [penIndex=0, valueIndex=0..2 ]
  JvChart1.Data.Value[0,  1] := 1;
  JvChart1.Data.Value[0,  2] := 3;
  JvChart1.Data.Value[0,  3] := 5;
  JvChart1.PlotGraph;

enter image description here

like image 42
Warren P Avatar answered Oct 12 '22 08:10

Warren P