JpGraph library is an OO graph library which makes it easy to both draw a "quick and dirty" graph with a minimum of code and quite complex graphs which requires a very fine grain of control. The library tries to assign sensible default values for most parameters hence making the learning curve quite flat since for most of the time very few commands are required to draw graphs with a pleasing esthetic look.
The following list makes no claim to be complete but it will give a birds view of some of the main (and in some cases unique) features of the library. The list will also illustrate the difference between the free and the pro-version.
Table 1.1. Feature matrix for JpGraph library
Feature | Free version | Pro-version |
---|---|---|
Supports PNG, GIF, JPG image formats |
|
|
Flexible scales, supports text-lin, text-log, lin-lin, lin-log, log-lin and log-log and integer scales |
|
|
Supports both PNG, GIF and JPG graphic formats. Note that the available formats are dependent on the specific PHP installation where the library is used. |
|
|
Supports caching of generated graphs to lessen burden of a HTTP server. |
|
|
Supports batch mode to only generate images to a file |
|
|
Supports client side image maps which makes it easy to produce drill down images. |
|
|
Intelligent auto-scaling which gravitates towards esthetic values, i.e. multiples of 2:s and 5:s |
|
|
Fully supports manual scaling, with fine grain control of position of ticks. |
|
|
Multiple Y-axes (and scales) and multiple data series in the same graph |
|
|
Supports background images with different formatting options |
|
|
User specified grace for auto-scaling |
|
|
Supports unlimited number of y-axes, |
|
|
Supports, line-plots, filled line-plots, accumulated line-plots, bar plots, accumulated bar plots, grouped bar plots, error plots, line error plots, scatter plots, gantt-charts, radar plots, 2D and 3D pie charts. |
|
|
Supports unlimited number of plots in each graph, makes it easy to compose complex graph which consists of several plot types |
|
|
User specified position of axis |
|
|
Designed as a flexible OO framework which makes it easy to add new types of plots |
|
|
Supports automatic legend generation with custom formatting |
|
|
Supports both vertical and horizontal grids |
|
|
Supports anti-aliasing of lines |
|
|
Supports background images as well as unlimited number of icons in the graph |
|
|
Supports rotation of linear graphs |
|
|
More then 400 named colors |
|
|
Designed modularly - you don't have to include code which isn't used |
|
|
Supports user specified callback for fine tuning scale labels |
|
|
Support for text augmentation of graphs |
|
|
Support for PHP Accelerator |
|
|
Support for a large set of 1D barcodes (EAN-128, ...) |
|
|
Support for Windrose plots |
|
|
Support for discontinuities in graphs |
|
|
Enhanced anti-aliasing for PieCharts |
|
|
More advanced formatting of graph titles including 3D Bevel effects. |
|
|
Additional 3D Bevel formatting feature for the entire Graph |
|
|
Footer text on all graph types |
|
|
Full support for color alpha blending |
|
|
Advanced interpolation with cubic splines to get smooth curves from just a few data points. |
|
|
Several different fill styles for line plots |
|
|
Some image 3D effects built-in without external image manipulation programs |
|
|
Additional built-in images for plot marks including 3D rendered markers like diamonds, squares, bevels, balls, pins etc |
|
|
Support for calculation of linear regression |
|
|
Text strings can be added to the plot using scale coordinates |
|
|
Support for all primitive URL parameter types with CSIM graphs. |
|
|
Hare/Niemeyer Integer compensation for Pie Plots |
|
|
Possibility to use Vertical Gradient fill for line plots. |
|
|
Improved error handling. The visual appearance of the error handling now tries to mimic any windows system window (in graphic) |
|
|
Builtin support to display over 200 country flag and the possibility to use them as icons or markers in the graphs. All the flag images are builtin with JpGraph in an efficient pre-compiled data format. |
|
|
Support for both Chinese and Japanese character sets |
|
|
Support for custom TTF fonts |
|
|
Support for 2D contour plots of 3D functions |
|
|
Unlimited number of data points (up to memory and CPU limit of server) |
|
|
Windrose plots |
| |
Odometer plots |
| |
Graphic excel like tables |
| |
1D Linear barcodes (e.g. EAN8,13,128, Code39, 128, 2of5, Code-11, Codabar etc) |
| |
2D-Barcode PDF417 |
| |
2D-Barcode Datamatrix |
| |
2D-Barcode QR-code |
| |
Matrix visualization |
|
In addition to these high level features the library has been designed to be orthogonal
and consistent in its' naming convention. For example, to specify color each object (i.e.
axis, grids, texts, titles etc) within the graph implements the method
SetColor()
with the same signature.