Version 3.2 (26/09/2019) ----------- - Added axis_label_position options. - Added legend_order option. - Added axis_fallback_max option for better handling of all-zero value graphs. - Added dataset option for choosing dataset for pie graphs to draw. - Fixed legend display for stacked bar and line graphs and population pyramid. - Fixed legend display for multi-dataset graphs starting with 0 values. - Fixed magnification of tooltips in subgraphs. - Fixed incorrect position of crosshairs when magnification enabled. - Fixed axis text when using force_assoc and value with a key of 0. - Fixed overlapped tooltips from internal edges of 3D polar area graphs. Version 3.1 (02/08/2019) ----------- - Added subgraph support. - Added magnifier options. - Added support for using figures as patterns. Version 3.0.1 (14/06/2019) ------------- - Added text formatting classes to prevent localised numbers in SVG attributes. - Fixed data label click show and fade on pages with multiple graphs. Version 3.0 (14/03/2019) ----------- - All classes are now in Goat1000\SVGGraph\ namespace. - PSR-4 autoloader required for loading class files. - Added autoloader.php for anyone not using a framework with PSR-4 autoloader. - Values, colours and links must now be set using functions, not directly. - Added EmptyGraph type for using shapes and labels without data. - Added use_iconv and use_mbstring options. - Added line_breaks option for line graphs. - Split redundant code out into traits. - Removed compat_events code and option. - Fixed tooltips going off edge of small graphs on same page as larger graphs. - Fixed auto tail length for custom labels. - Fixed edge shading on 3D polar area graphs. Version 2.30 (04/01/2019) ------------ - Added "image" shape support. - Added "marker" shape support. - Added "figure" option for creating predefined shapes. - Added "figure" shape support. - Added "figure" marker support. - Improved axis label positioning. Version 2.29 (09/10/2018) ------------ - Added context menu options. - Added "box" division and subdivision style. - Added axis_text_location option for text position on graphs with negative values. - Moved axis measurement and drawing out of GridGraph and subclasses into new DisplayAxis classes. - Replaced GetFirst() and ArrayOption() functions with GetOption(). Version 2.28 (23/07/2018) ------------ - Added text measurement class using font metrics and/or character widths. Version 2.27 (28/03/2018) ------------ - Added support for multiple Y-axes using dataset_axis option. - Added support for best-fit lines on bubble graphs. - Added line_figure and line_figure_closed options for drawing shapes on line graphs. - Fixed crosshairs being left behind when cursor moved out of document. - Fixed broken bars when all values in stacked grouped 3D bar and cylinder graphs negative. Version 2.26 (10/01/2018) ------------ - Added "auto" option for data label tail length. - Added data_label_same_size option for more consistent labels. - Setting data_label_round for line or plain labels now uses a circular bounding box. - Added circle, square, linecircle, linebox, linesquare and line2 label styles. - Added tail end options for new label styles. - Added no_tspan option for compatibility with renderers that don't support tspan elements fully. Version 2.25 (12/10/2017) ------------ - Added 3D polar area graph. - Added 3D exploded pie graph. - Added support for datetime keys in shapes and labels. - 3D pie graph sides are now drawn correctly when end_angle used. - Improved PHP7 compatibility. - Moved guideline code into separate file. - Fixed display of semi-donut graph when there is a single value. - Fixed display of multi-line axis text on horizontal graphs. - Fixed multi-line text alignment when minifying is disabled. - Fixed legend_show_empty behaviour inconsistencies. - Fixed incorrect legend size when containing numeric strings. - Fixed missing bar tops on stacked grouped 3D bar graphs. Version 2.24.1 (21/08/2017) -------------- - Added stacked bar and line graph. - 0 values are now labelled on bar graphs. - Added "nonzero" data label filter to disable showing 0 value labels. - Added support for associative and datetime keys in X-axis guidelines. - Fixed axis text callback passing floating point values instead of integers for array keys. Version 2.24 (31/01/2017) ------------ - Added semi-donut graph. - Added associative and datetime key support to shapes, labels and crosshairs. - Added end_angle and slice_fit options for drawing partial pie graphs. - Added keep_colour_order option for simpler pie graph slice colouring. - Added marker_opacity and marker_angle options. - Added custom marker support. - Made FetchJavascript work when called statically. - Fixed minify_js option to support anonymous callback functions. - Fixed error when array of guidelines contains a single guideline array. - Fixed bar_total_outline_colour option on horizontal stacked graphs. - Fixed javascript error in legend_autohide. - Fixed legend order for graphs with multiple datasets starting at different key values. - Improved positioning of exploded pie slices. Version 2.23.1 (03/08/2016) -------------- - Added datetime_key_format option. - Fixed per-dataset stroke_width with a 0 value. - Fixed default structure missing values with string keys when main key is 0. - Fixed error when using datetime keys with multiple unstructured datasets. - Fixed legend autohide not working when no other Javascript options enabled. - Fixed error in radar graphs when given some dual-Y axis settings. Version 2.23 (22/06/2016) ------------ - Added date/time axis. - Added callback function support to logarithmic axis. - Added exception_throw option to disable catching exceptions. - Fixed axis callback functions not working with associative data. - Fixed legend display for line graphs when marker size is 0. Version 2.22 (05/05/2016) ------------ - Added support for legend entries from structured data. - Added show_legend option (default true) for disabling legend. - Added support for multiple lines of text in legend entries and title. - Added support for using coordinates from second Y-axis in shapes and labels. - Fixed hex and decimal entities being escaped in text. Version 2.21 (17/03/2016) ------------ - Added best-fit line support to line graphs. - Added best_fit_range option for limiting best-fit line. - Added best_fit_project options for projecting beyond best-fit range. - Merged code to allow repeated keys in pie graphs. - Fixed displaying image markers with absolute links. - Fixed minimum fallback bar width to 1 pixel. Version 2.20.1 (19/01/2016) -------------- - Added bar_width_min option. - Added clip_to_grid option for shapes. - Fixed shape units calculations when axes not starting in bottom left. - Fixed error when gradient array contains a single colour. Version 2.20 (05/12/2015) ------------ - Added stacked grouped 3D bar graph and stacked grouped cylinder graph. - Added shape options. - Added custom label options. - Added svg_class option. - Added grid_back_opacity and grid_back_stripe_opacity options. - Added multiple colour stripe support to grid_back_stripe_colour option. - Added gradient stop support to gradients. - Added radial gradient support for radar graph backgrounds. - Fixed pattern definitions not being reused. - Fixed javascript crosshair coordinates jumping around. - Fixed problems with autoloading graph classes. Version 2.19.1 (21/08/2015) -------------- - Added bar_total_callback option. - Fixed stacked grouped bar graph height calculations. - Fixed structured_data to disabled structure when set to FALSE. Version 2.19 (17/07/2015) ------------ - Added histogram. - Added shading overlay for 3D bar sides and top. - Added best_fit_opacity and best_fit_above options. - Added semantic class for best fit lines. - Added tooltip and data label callback options. - Added data_label_min_space option. Version 2.18 (03/04/2015) ------------ - Added bar and line graph. - Added data label options for all graph types. - Added semantic_classes option. - Added axis text callback options. - Added detection of mbstring extension. If not available, fall back to basic string functions. - Added check for too many divisions being created. - Fixed broken axis_right option on some multi-dataset graphs. - Fixed legend dragging. - Fixed divide by zero error in colour range function. Version 2.17 (27/11/2014) ------------ - Added fixed axis positioning options. - Added colour range and set functions. - Added auto_fit option and resizing support. - Fixed crosshairs bugs when embedded in HTML. Version 2.16 (24/09/2014) ------------ - Added stacked grouped bar graph. - Added image markers support. - Added skewing of 3D bar side and top. - Added support for fixed bar width. - Added option to set the number of decimal digits shown on axis text. - Added opacity value support for graph background colour. - Added exception details option for debugging. - Replaced all @ error handlers with tests for problem values. - Fixed escaping of text. - Fixed blank lines in multi-line text being ignored. - Fixed rendering of graphs with a single value. Version 2.15.1 (12/05/2014) -------------- - Added crosshair options. - Fixed X axis being incorrectly labelled when using large associative dataset. Version 2.15 (11/03/2014) ------------ - Added donut graph. - Added polar area graph. - Added exploded pie graph. - Added support for dual Y axes. - Fixed legend dragging when embedded in HTML. Version 2.14 (05/10/2013) ------------ - Added pattern fill support. - Added total labels for stacked bar graphs. - Better validation of structured data. - Better handling of non-ASCII strings. - Replaced rgba() values with opacity attributes. - Fixed compatibility with PHP 5.1.x. - Fixed drawing of pie graphs containing relatively small values. - Fixed X axis calculations for negative or non-integral values. - Fixed structured axis_text when units_label or units_before_label used. - Fixed position of labels on stacked bar graphs with negative values. - Fixed legend entries skipping NULL or 0 values. Version 2.13 (31/07/2013) ------------ - Added PopulationPyramid graph. - Added units_before_x and units_before_y options for axis text. - Added units_label and units_before_label options for pie/bar labels. - Added units_tooltip, units_before_tooltip, units_tooltip_key and units_before_tooltip_key options for tooltip values. - Added stroke_dash, minify and minify_js options. - Added structured data options: marker_type, marker_size, marker_stroke_width, marker_stroke_colour, stroke_colour, stroke_width and stroke_dash. - Fixed display of character entities in tooltips. - Fixed measurement of text containing character entities. - Fixed dragging of legend over pie graphs. Version 2.12 (18/05/2013) ------------ - Added log_axis_y and log_axis_y_base options. - Added decimal and thousands options for number formatting. - Added grid_back_stripe and grid_back_stripe_colour options. - Added per-axis font options. - Added units_x and units_y options for axis text. - Added show_label_key option for pie graphs. - 3D pie graphs now calculate a depth when the setting is too great. - Fixed structure option to take precedence over scatter_2d option. - Fixed display of small numbers on axes. - Added workaround for Safari 6 bug. Version 2.11 (12/03/2013) ------------ - Added stacked and grouped cylinder graphs. - Added structured data support. - Added normal and horizontal floating bar graphs. - Added bubble graph. - Added box and whisker graph. - Added back_round_clip option. - Added reverse option for radar graphs. - Added support for negative values on radar graphs. - Added support for multi-line tooltips. - Fixed drawing of axes when all values negative. - Fixed svg node in namespaced XHTML. - Improved performance. Version 2.10 (23/10/2012) ------------ - Added cylinder graph. - Added stacked and grouped 3D bar graphs. - Added support for gradients in graph element backgrounds. - Added gradient shaded side to 3D pie graphs. - Added best fit lines for scatter graphs. - Added support for drawing associative data on scatter graphs. - Added show_axis_h and show_axis_v options. - Added minimum_units_y option. - Improved axis text label spacing again. - Better text positioning for radar graphs. - New default colours. - Fixed tooltips positioning when embedded in HTML5/XHTML. - Fixed text being selected when dragging legend. - Fixed graphs with all values negative not being drawn. Version 2.9 (29/08/2012) ----------- - Added bar label options. - Added axis division and subdivision styles and other options. - Added diamond, hexagon, octagon, asterisk, star, threestar, fourstar and eightstar markers. - Added legend columns option. - Added guide line opacity, text opacity, font adjust, text align, length and length in units options. - Added grid background colour option. - Added grid line style options. - Added marker border options. - Added character encoding option. - Added gradient stop opacity support. - Improved subdivision calculations. - Improved axis text label spacing. - Removed main clipping path when not using a rounded rectangle background. - Fixed grid clipping path using non-unique ID. - Fixed line graphs not reaching right hand side of graph. - Fixed line graphs drawing vertical line to axis when filling enabled. - Fixed guide line title line spacing. - Fixed error caused by empty data sets. Version 2.8 (27/07/2012) ----------- - Added stacked line graph. - Added radar graph and multi-radar graph. - Added axis_text_space option. - Added axis_stroke_width option. - Added force_assoc option. - Fixed legend dragging without tooltips enabled. - Fixed display of labels when axes disabled. - Fixed use of associative array data. - Added fill to legend display for line graphs. Version 2.7.1 (02/07/2012) ------------- - Fixed order of entries in multi-line graphs. - Fixed script type attribute to match SVG standard. - Fixed order of legend entries for stacked bar, horizontal bar and horizontal grouped bar graphs. - Fixed format of negative decimal numbers. Version 2.7 (25/05/2012) ---------- - Added guideline options. - Added axis text rotation. - Improved HTML embedding. - Reduced output size of grouped and stacked bar graphs. Version 2.6 (30/03/2012) ----------- - Moved all configuration defaults to svggraph.ini. - Added legend_* options. - Added label_* options. - Added graph_title_* options. Version 2.5.1 (20/02/2012) ------------- - Fixed bug with 0 values in stacked graphs. Version 2.5 (09/08/2011) ----------- - Improved Javascript event handlers. - Added grid and axis subdivision options. - Added stroke width option. - Added more line/scatter marker symbols. - Added line dash option. - Added support for per-dataset fill opacity and line width. - Added pie graph start angle option. Version 2.4 (07/07/2011) ----------- - Added multiple scatter graph. - Added option to use full x,y data for scatter graphs. - Added support for per-dataset marker options. - Added support for per-dataset fill_under options. - Fixed axis options are now available on both axes. Version 2.3 (26/04/2011) ----------- - Added horizontal bar graph. - Added horizontal stacked bar graph. - Added horizontal grouped bar graph. - Updated 3D bar graph to support negative values. - Added fixed axis and division options. Version 2.2.1 (17/03/2011) ------------- - Fixed display of graphs with a single data point. Version 2.2 (21/02/2011) ----------- - Added background image support. - Added support for negative numbers on bar/line graphs. - Updated axis calculations. - Tooltips are now supported for all graph types. Version 2.1 (12/01/2011) ----------- - Added stacked bar graph. - Added grouped bar graph. - Added multiple line graph. - Improved gradient support. - Made markers mandatory on scatter graph. Version 2.0 (19/08/2010) ----------- - Update to PHP 5 OOP syntax. - Added 3D pie graph. - Added scatter graph. - Added tooltips for graph markers. - Minor improvements. Version 1.2.1 (11/04/2010) ------------- - Fixed error shown with E_STRICT. Version 1.2 (01/05/2009) ----------- - Added Bar3DGraph graph type. - Added axis divisions. Version 1.1 (27/03/2009) ----------- - Added PieGraph graph type. - Added title and description options. - Added namespaced output option. - Reduced output file size using grouping, symbols. - Unused gradients are no longer output. Version 1.0 (16/03/2009) ----------- - First released version.