Changes from version 4.0.4 to 4.1
- GaugeChart new feature: multi-line title
- GaugeChart new feature: possibility to select pointers and legend labels
- GaugeChart new feature: floating labels when mouse over pointers (floatingLabelsOn=true)
- GaugeChart new feature: possibility to assign labels to pointers (pointerLabelsOn, pointerLabels)
- GaugeChart new feature: possibility to set range start and end angles (rangeStartAngle, rangeEndAngle)
- GaugeChart new feature: possibility to set color of the edge outline if the gauge angle is less than 360 degrees (edgeColor)
- GaugeChart new feature: possibility to create 3D style gauge by using gradient borders (border_N=size,color1,color2)
- GaugeChart new feature: possibility to display range labels inside the border (rangeLabelStyle=border)
- GaugeChart new feature: possibility to set size of the range ticks (rangeTickSize)
- GaugeChart new feature: possibility to set style of the range ticks (rangeTickStyle=thin|thick|round|diamond)
- GaugeChart new feature: possibility to set alignment of the gauge (gaugeAlignment=top|bottom|center|left|right)
- GaugeChart new feature: possibility to set color of the floating labels (floatingLabelColor)
- GaugeChart bug fixed: overlapping range labels, range highlight and sector highlight
- LineChart new feature: added parameter which defines if missing data in the stacked chart should be interpolated or handled as empty values (missingValuesInterpolated)
- LineChart bug fixed: wrong order of the 3D lines
- LineChart bug fixed: better behavior of empty values in stacked mode
- Bar Chart bug fixed: sample labels in the horizontal mode had center alignment instead of right
- Pie Chart bug fixed: slice was not displayed if it occupied 50% of the pie
- Pie Chart bug fixed: when displaying a slice with negative value the absolute value is used, but the original value is displayed
- Bug fixed: legend labels did not fit legend box when setLegendBoxSizeAsFont() was not used
- Bug fixed: chart type could be set only with applet parameter and never from the data file
- Bug fixed: label_N, labelColor_N, labelFont_N, labelAngle_N parameters did not work from the data file
Changes from version 4.0.3 to 4.0.4
- Added the possibility to use gradient chart background colors for the GaugeChart.
- Added possibility to use multi-line title in the GaugeChart.
- Added legendBoxAsFontSize parameter which sets the legend box size to the same as the legendFont size.
- Added set/isMissingValuesInterpolated() method that should be used to define whether the empty values for the stacked lines should be treated as 0 or if they should be automatically calculated.
- Better compatibility with Servoy (inheriting from a lightweight JComponent instead of heavyweight Component).
- Better handling of the bars when using many of them with no space between (0,1,2 px bars).
- Changed behavior of rangeDecimalCount=auto. Now it is set to 1 when the difference between current upper range and current lower range is < 10, set to 2 if the difference is < 1, set to 3 if the difference is less than 0.1, and so on.
- Fixed a problem where the data file was never reloaded on JDK 1.6.
- Fixed a bug in the GaugeChart where the outside range labels was cut.
- Fixed a bug where the overlay 3D lines over 3D bars did not adjust properly on the initial data load.
- Fixed a bug where multiline labels were not displayed properly when using sequential \n\n.
- Fixed a bug where some bars were not displayed when many bars were used.
- Fixed an exception that was thrown by FontMetrics.getWidth(string) when string length was 0.
- Fixed a bug where the legend scroller was displayed when using servlets.
Changes from version 4.0.2 to 4.0.3
- Added a getLabelPosition(String) method, that returns insertion point of the custom label.
- Added png24alpha option to the "format" parameter. It should be used in order to get transparent PNG images from the ChartServlet.
- Added floatingLabelsOn parameter which makes it possible to use floating labels for range and legend (over the pointers) in the GaugeChart.
- Added the pointerSize parameter so it is possible to set length of the pointers in the GaugeChart.
- Fixed a bug where the 3D sample highlights were sometimes not displayed for the line charts with empty values.
- Fixed a bug where the SplineChart with sample highlights were not properly rendered.
- Fixed a bug where the chart grid were not recalculated after the ranges were removed.
- Fixed a bug where an ArrayOutOfBoundsException has been thrown when a user tried to programmatically select several samples with same sample index in different series.
- Fixed a bug where stacked 3D line chart were not displayed properly when the stacked line were smaller than the 3D effect.
- Fixed a bug in PlotterChart where the seriesColors were not set properly when more than 20 colors were used.
- Fixed a NullPointerException which happened when the series number formatter were used.
- Changed the way legend is rendered: if the sample is painted with gradient, legend is also gradient.
- More efficient use of space between the range labels.
Changes from version 4.0.1 to 4.0.2
- Added legend support for the GaugeChart.
- Added rangeInterval parameter to the GaugeChart. It allows to set interval between the range ticks explicitly.
- Added setTimeFormatOutLocale() method and timeFormatOutLocale parameter in the TimeLineChart that allows to display non-default Locale for the time labels.
- Fixed a bug where the sampleColors were not set properly when more than 20 colors were used.
- Fixed a bug where the right and left legend overlapped the chart title.
- Fixed a bug where the legend scroller were displayed when not needed.
- Fixed a bug where the legend were not displayed when set below the chart grid.
- Fixed an exception that has been thrown when the lineStroke parameter were set to 0.
- Fixed a bug where the border of a pie was deformed when a slice took 50% of the chart.
- Fixed a bug where the negative value cylinder bars were not displayed properly.
- Fixed a bug where the value labels were displayed outside the grid of the LineChart.
Changes from version 4.0 to 4.0.1
- Added gradientSamplesOn parameter for the PieChart which makes it possible to turn on/off gradient colors for the pie samples.
- Fixed a bug where it was not possible to set color of the slice separator in the PieChart.
- Fixed a bug where the seriesLabelColor parameter did not work in PlotterChart.
- Fixed a bug where overlayed samples could not be selected without selecting the basic chart.
- Fixed a bug where the automatic range were not applied to the overlay charts.
- Fixed a bug where the graph insets were not calculated properly.
- Fixed a bug where the grid bounds were not adjusted for the angled sample labels of the bar and line charts.
- Fixed a bug where some range labels were not displayed when using JDK 1.3.
- Fixed a bug where tube-style lines failed when using empty values.
EasyCharts 4.0 — New Features Summary
New look and feel
- Gradient sample colors for bars, stacked and 3D lines.
- Gradient background inside and outside the grid.
- Alternate background inside the grid.
New LineChart features
- Tube line style.
- Areas in 3D mode.
- Possibility to turn outline on and off for the stacked and 3D lines.
- Possibility to set depth of a specific 3D line.
- Possibility to display 3D lines on the same 3D level.
New BarChart features
- Cylinder bars.
Other features
- Possibility to turn on/off the right-front 3D edge of the grid.
- Custom range formatters for the plotter chart.
Changes from version 4.0beta2 to 4.0
- Fixed a bug where the overlay stacked line chart did not display.
- Fixed a bug where the overlay charts were not aligned properly inside the 3D grid.
- Fixed a bug where the lineStroke and lineWidth were not applied to the line chart.
- Fixed a bug where the sample highlights were displayed outside the grid.
Changes from version 4.0beta1 to 4.0beta2
- Enhanced performance of the LineChart.
- Enhanced 3D PieChart rendering.
- Fixed a bug where the floating percent label were not displayed.
- Fixed a bug with grid adjustment where the horizontal range is on.
- Fixed a bug with wrong grid insets calculation for the horizontal bars.
- Fixed a bug where number of range ticks/grid lines did not match.
- Fixed several other minor bugs.
- Enhanced robustness.
Changes from version 3.5 to 4.0beta1
- Added possibility to set gradient background inside and outside the grid.
- Added alternateChartBackground parameter.
- Added lineStyle parameter (tube lines in the LineChart).
- Added barShape parameter (cylinder bars).
- Added outlineOff parameter for stacked and 3D line outlines.
- Added possibility to set gradient colors for bars, 3D and stacked lines.
- Added line3DDepth parameter.
- Added gridOutline3DOn parameter to turn on/off the right-front 3D edge of the grid.
- Added possibility to use custom range formatters for the plotter chart.
- Added possibility to display 3D lines on the same level in 3D mode.
- Added possibility to display areas in 3D mode in the LineChart.
EasyCharts 3.5 — New Features Summary
New chart types
- Added GaugeChart for speedometer-like gauge charts.
- Added possibility to display bar series behind each other.
- Added possibility to fill area between two lines.
New look and feel
- Added possibility to use transparent colors (#rrggbbaa where aa is the alpha component).
- The anti-aliasing feature is made default for all chart types.
New servlet features
- Added support for the floating labels in servlet.
- Added possibility to use relative URLs to load data and images in the ChartServlet.
- Added possibility to assign URL for custom labels in servlets.
New plotter chart features
- PlotterChart can be used as overlay now.
- Added supports of the anywhere labels to the PlotterChart.
- Added drilldown support for the PlotterChart.
- Added XRangeLabelFont parameter.
- Added plotLabelFont parameter.
New overlay chart features
- Overlay charts can be displayed in 3D mode.
- Added possibility to set insets for overlays.
Other new features
- Added possibility to set custom formats to any series or range.
- Added possibility to set interval between the range ticks explicitly.
- Added possibility to set angles, colors and fonts for anywhere labels.
- Sample highlights are now available in the 3D LineChart.
Changes from version 3.5pre2 to 3.5
- Anti-aliasing is now default for all chart types.
- Fixed proper behavior of inside and outside value labels for the stacked lines.
- Added XRangeLabelFont parameter to the plotter chart.
- Added plotLabelFont parameter to the plotter chart.
- Fixed a bug where it was not possible to use multi-line XRangeLabels.
- Fixed a bug with legend sliders coming up when not needed.
- Fixed an exception when the number of legend entries were more than number of samples.
- Fixed a bug where relative custom labels failed on the pie charts.
- Fixed a bug where grid lines were painted over the grid outline on 3D charts.
- Fixed a bug where label URLs did not work in the plotter chart applet.
- Fixed a bug where rotated labels were chopped in the JDK 1.3.1.
- Fixed a bug where overlay parameters were not reset on data reload.
- Fixed a bug where 3D pies were sometimes not displayed on applet start.
- Fixed a bug where both sample URL and default URL were opened when clicked on a chart sample.
- Fixed a bug where the transparent background were not cleared on repaint.
- Fixed a bug where the sample highlight for the legend in the line chart were not displayed.
- Fixed a bug where the legend marks sometimes were not displayed.
- Fixed a bug where the bottom and top range labels were rendered twice (noticeable when antialiased).
- Fixed a bug where the gauge chart size sometimes were too small.
Changes from version 3.5pre1 to 3.5pre2
- Added possibility to use relative URLs to load data and images in the ChartServlet.
- Added possibility to associate URLs with a group of samples having the same index across the different series (url_x_N).
- Changed behaviour of the range label when using rangeInterval parameter.
- Fixed a bug where the exception java.lang.NoSuchMethodError: java/awt/Color: method getAlpha()I not found were thrown by the Microsoft VM.
Changes from version 3.0.2 to 3.5pre1
- The BarChartApplet, LineChartApplet, PieChartApplet and TimeLineChartApplet has been removed. Use <param name=chart value=bar|line|pie|time_line|plotter|spline|gauge> to define the chart type.
- Added com.objectplanet.chart.ext.GaugeChart for speedometer-like gauge charts.
- Added possibility to display bar series behind each other.
- Added possibility to fill area between two lines.
- Added possibility to set custom formats to any series or range.
- Added possibility to set interval between the range ticks explicitly.
- Added possibility to assign URL for custom labels in servlets.
- Added possibility to set angles, colors and fonts for anywhere labels.
- Added possibility to set insets for the overlays.
- Added possibility to use transparent colors (#rrggbbaa where aa is the alpha component).
- PlotterChart can be used as overlay now.
- Added supports of the anywhere labels to the PlotterChart.
- Overlay charts can be displayed in 3D mode now.
- Sample highlights are now available in the 3D LineChart.
- The overlay TimeLineChart is displayed with the sample labels below the grid if they are turned on.
- Added support for the floating labels in servlet.
- Added drilldown support for the PlotterChart.
- Added possibility to turn on anti-aliasing (applets, servlets, applications).
- Added possibility to assign target value lines/labels to the given range.
- Fixed a bug with decimals when the range is set to big values.
- Fixed a bug where it was not possible to zoom directly to the highest value of the chart.
- Fixed a bug where zooming did not work for ranges less than 1 and higher than 0.
Changes from version 3.0.1 to 3.0.2
- Added plotSortingOn parameter to the PlotterChart.
- Fixed a bug in the PlotterChart where the plot sizes were not sorted along with the plots.
- Fixed a bug in the BarChart where the sum of stacked bars were sometimes calculated wrongly.
- Fixed a bug which caused an exception when updating the sampleCount or seriesCount with legend turned on.
Changes from version 3.0 to 3.0.1
- Added possibility to use TimeLineChart as overlay.
- Added <param name=plotSize_N value=size> for the PlotterChart.
- Fixed a bug in the BarChart where the first bar could not be selected.
- Fixed a bug which caused problems with angled labels when running on Microsoft VM.
- Fixed a bug where labels with absolute positions were not placed correctly on applet start.
- Added possibility to use drilldown with overlay charts on servlets.
- Fixed a bug where the servlet drilldown did not work with JDK 1.3 and lower.
- Fixed a servlet bug where the imagemap for the LineChart were not generated properly.
- Fixed a bug where the last below sample label displayed was not the one corresponding to the last visible sample.
- Fixed problems with outside and pointing labels of the PieChart appearing when empty values were used.
- Fixed a bug where the antialiased charts could not be resized.
EasyCharts 3.0 — New Features Summary
- Added a plotter and bubble chart (com.objectplanet.chart.ext.PlotterChart).
- Added a spline chart (com.objectplanet.chart.ext.SplineChart).
- Added mouse zooming.
- Added multirow/multicolumn legend and scrollable legend.
- Added multiple ranges.
- Added possibility for labels anywhere in the chart with attached URLs and samples (pointers).
- Added possibility for images in chart grid.
- Added possibility to rotate pies.
- Added headless support for JDK 1.4.
- Added possibility to use dotted and dashed lines in the LineChart.
- Added possibility to use antialiased labels when running on JDK 1.2 or higher.
- Added possibility to use data file in any encoding.
- Added possibility to use Unicode character sequences in servlets and applets '\uxxxx'.
Changes from version 3.0pre2 to 3.0pre3
- Added seriesLabelFont parameter for the BarChart and LineChart.
- Added possibility to attach a URL to the whole chart.
- Added possibility to control the quality/size of the JPEG image returned by the servlet.
- Added possibility to set the ChartServlet output type to image or html.
- Added possibility to set colors and grid lines for the custom labels on the X-Axis in the PlotterChart.
- Added possibility to automatically adjust plot labels and X-Axis labels so they don't overlap.
- Added possibility to display vertical grid lines on the PlotterChart.
- Added renderOffScreen() to create subclasses with new graphics without flickering.
- Added possibility to display sample highlight images in legend.
- Better performance of the PlotterChart.
- Added drilldown functionality per time plot for the TimeLineChart (URL_N_TIME).
Changes from version 3.0pre1 to 3.0pre2
- Added drilldown support for the plotter chart.
- Added possibility to use target value lines in the PlotterChart.
- Added possibility to set labels for any plots in the PlotterChart.
- Added possibility to set custom labels on the X-Axis in the PlotterChart.
- Added possibility to display legend in reversed order.
- Added possibility to use data file in any encoding.
- Fixed autoLabelSpacingOn for horizontal bar labels.
- Added possibility to use dotted and dashed lines in the LineChart.
- New algorithm for the angled labels with support for antialiasing.
Changes from version 2.7 to 3.0pre1
- Added com.objectplanet.chart.ext.PlotterChart for plot, x/y, bubble charts.
- Added com.objectplanet.chart.ext.SplineChart for smooth point line charts.
- com.objectplanet.chart.ext.TimeLineChartApplet is removed in favor of com.objectplanet.chart.ext.TimeLineChart.
- Added <param value=chart name=bar|line|pie|time_line|spline|plotter>.
- Added support for switching between base chart types at runtime.
- Added possibility to use multiple ranges (more than 2) for a chart.
- Added <param name=zoomOn value=true> to enable mouse box zooming.
- Added <param name=legendColumns value=N> to align legend in columns.
- Added scrollable legend (turned on automatically when there is not enough space).
- Added <param name="label_N" value="text,absolute_x,absolute_y"> for labels at any position.
- Added <param name="labelURL_N" value="adress.html"> to assign URLs to labels.
- Added possibility to drag relative labels with the mouse pointer.
- Added URL drilldowns for servlets.
- Added possibility to show OUTSIDE angled labels for the horizontal bars.
- Added <param name="gridImage" value="background.gif">.
- Added <param name=pieRotationOn value=true>.
- Added OUTSIDE and POINTING labels for the PieChart.
- Fixed a bug where it was possible to make the sample scroller too small to drag.
- Fixed a bug which caused the inverted ranges to not work properly.
- Fixed a bug in the LineChart where the 3D lines were displayed outside the grid.
- Fixed proper legend placement in the PieChart when using insets.
- Fixed a bug in BarChart which caused that the bars did not display properly on IBM JDK.
- Fixed a bug in the JpegEncoder which caused the ChartServlet to hang on IBM WebSphere Developer Studio.
- Fixed a bug where the angled labels were displayed repeatedly.
- Fixed a problem with printout on Win98 with IE6.0 installed.
- Made it possible to run ChartServlet on headless systems with JDK 1.4.
- Made it possible to set the overlay chart color from JavaScript.
- All code from the BarChartApplet, LineChartApplet, PieChartApplet is moved to the ChartApplet.
EasyCharts 2.7 — New Features Summary
- Added overlay charts for servlets.
- Added possibility to load data from a URL at startup and at intervals.
- Added possibility to call javascript methods for URL parameters (drilldown).
- Added floating labels for overlay charts.
- Added possibility for the user to adjust the chart grid at runtime in the bar and line chart.
- Added possibility to set postfix and prefix labels for the second range.
- Added possibility to turn off range labels for the second range.
- Added possibility to configure the color of labels inside pie slices.
- Added possibility to use the chart applets within other applets.
- Added below and floating sample labels in line chart.
- Added angled value labels with horizontal bar charts.
- Added configurable colors for the bar labels of selected bars.
- Added floating and static data series labels for the line chart.
- Added single click URL drilldown.
- Added com.objectplanet.chart.ext.TimeLineChartApplet in chart.ext.jar.
- Added possibility to use class name for chart types in ChartServlet.
- Added a parameter to control the thousands delimiter in numerical labels.
- Added right to left scrolling in the LineChart.
- Added antialiased rendering of chart images for servlets.
- Added PNG support for the servlet, about 10x faster than JPG.
- Added setLocale() method and locale parameter to control the localized number format.
Changes from version 2.7.4 to 2.7.5
- Added a Chart.displayFloatingLabel(...) method.
- Fixed a bug which caused the chart applet to display as a gray box at startup sometimes.
- Fixed a bug where the chart servlet could not encode non-western character encodings.
- Fixed an alignment bug with the rangeLabelPrefix_2 and rangeLabelPostfix_2 parameters.
- Fixed a bug which could cause inconsistent rendering of the charts at times.
Changes from version 2.7.3 to 2.7.4
- The default image format generated by the servlet is now PNG (10–20x faster than JPEG).
- Added format=png24 for truecolor PNG images.
- Added format=jpg for JPEG generated images.
- Added gridAdjustmentOn=true (in addition to top, left, bottom, right).
- Added a displayVersion=true option to the applet and servlet.
- Added a locale parameter to control the localized display of numbers.
- Fixed a bug with the formatting of the time labels in the TimeLineChartApplet.
- Fixed a bug with the cursor setting when URLs were used.
- Fixed a bug where space could not be set as the thousands delimiter.
- Fixed a bug where the bar labels were not reset correctly using the servlet.
- Fixed a bug where overlay charts were not repainted if its ChartData was changed.
- Fixed a nullpointer exception when using detached slices in the pie chart applet.
- Fixed a bug with pie chart legend selection occurring in some situations.
- Fixed a bug with negative floating value labels in stacked bar charts.
Changes from version 2.7.2 to 2.7.3
- Fixed a bug with the servlet which caused empty chart images to be returned.
Changes from version 2.7.1 to 2.7.2
- Fixed a bug where angled value/sample/series labels did not work for horizontal bars.
- Fixed a bug where the labelDelimiter parameter was not read correctly every time.
Changes from version 2.7 to 2.7.1
- Fixed a bug where floating labels did not paint correctly for bar charts.
- Changed the misspelled thousandsDelimeter parameter with thousandsDelimiter.
- Changed the misspelled set/getThousandsDelimeter() with set/getThousandsDelimiter().
- Added thousandsDelimiter=off to turn off thousands grouping.
- Fixed a bug where the dataInterval parameter would fail in the TimeLineChartApplet.
Changes from version 2.7rc1 to 2.7
- Added a dataInterval parameter to load data from a URL at intervals.
- Added a timeLabels parameter in the TimeLineChartApplet.
- Added a autoTimeLabelsOn parameter in the TimeLineChartApplet.
- Fixed a bug where space+\n did not work at the beginning of multiline labels in applets.
- Fixed a memory leak when an applet page was reloaded or revisited.
- Fixed a bug where anchor type URLs (#anchor) did not work.
Changes from version 2.7pre2 to 2.7rc1
- Added setRightToLeftScrollingOn(true/false) for the line chart.
- Added antialias=true for the ChartServlet.
- Added a Chart/ChartData.appendSampleLabel() method.
- Removed IllegalArgumentExceptions from some getter methods.
- Deprecated the
String[] getStringValues(String string)method in ChartApplet. - Added
String[] getStringValues(String string, String delimiter)in ChartApplet. - Added a callJavaScript(String name) method in ChartApplet.
- Added possibility to use class name for chart time in ChartServlet.
- Fixed a bug with ChartSample.hasValue() which did not work for Double.NaN values.
- Fixed a bug with ChartData.set/getSampleValues() which did not work for Double.NaN values.
- Fixed a bug with ChartData.getSampleValue() which returned 0 instead of Double.NaN.
- Fixed a bug with Chart/ChartData.appendSampleValue() which moved all the sample labels.
- Fixed a bug with getLowerRange() which returned a long value instead of double.
- Fixed a bug where lineWidth=0 did not work.
- Fixed a bug which caused memory and resource leakage with servlets.
- Fixed a bug which caused a too-many-images exception in Internet Explorer when using many angled labels.
- Fixed a bug where floating labels for overlay charts did not work.
- Fixed a bug where sample selections for overlay charts did not work.
- Fixed a bug with the placement of multiline legend labels.
- Fixed a bug where numbers were not formatted correctly with the currently set locale.
- Fixed a bug where line breaks at the beginning or end of a label did not work.
- Fixed a bug where the bars and lines were not recalculated when using servlets.
- Fixed a bug where stacked bars did not work with the second y-range.
- Fixed a bug where the first or second point of a line did not paint sometimes.
- Fixed a bug with misaligned labels in 3D line charts.
- Fixed a bug which caused the pie chart to paint undefined values (Double.NaN) incorrectly.
- Fixed a bug where absolute URLs (starting with /) did not work correctly.
- Fixed a bug where font parameters did not work for overlay charts.
- Fixed a bug where the cursor was not set correctly in JDK 1.4.
- Fixed a bug with the data parameter in servlets if the script also had parameters.
Changes from version 2.7pre1 to 2.7pre2
- Added <param name=rangeLabelPrefix_2 value=label> for the bar and line chart.
- Added <param name=rangeLabelPostfix_2 value=label> for the bar and line chart.
- Added <param name=rangeLabelsOff_2 value=true/false> for the bar and line chart.
- Added Chart.setGridAdjustmentOn(Chart.TOP/RIGHT/BOTTOM/LEFT, true/false).
- Added <param name=singleClickURLOn value=true> for single click drilldown.
- Added data=url parameter in the ChartServlet.
- Added <param name=thousandsDelimiter value=",">.
- Added com.objectplanet.chart.ext.TimeLineChartApplet for time charts.
- Fixed a bug which made one label repeat itself when using many similar angled labels.
- Fixed a bug with value lines where not all the lines were painted at some occasions.
- Fixed a bug where floating labels did not work for overlay charts.
Changes from version 2.6 to 2.7pre1
- Added overlay charts for servlets.
- Added <param name=data value=url> in the ChartApplet.
- All label styles are now Chart.OUTSIDE, Chart.INSIDE, Chart.FLOATING, Chart.BELOW, or Chart.BELOW_AND_FLOATING.
- Implemented angled value labels for horizontal bar charts.
- Added Chart.forceRepaint() to avoid some repainting problems when using JavaScript.
- Added Chart.loadImage(String name) to load an image from the disk.
- Added Chart.setSampleLabelSelectionColor(Color color).
- Added <param name=sampleLabelSelectionColor value=color> to the bar chart applet.
- Added LineChart.setSampleLabelStyle(Chart.BELOW_AND_FLOATING).
- Added LineChart.setSeriesLabelStyle(Chart.FLOATING/OUTSIDE).
- Added PieChart.setInsideLabelColor(int pieIndex, Color color).
- Added the possibility to use the Bar/Pie/LineChartApplet within other applets.
- Fixed a bug that caused EasyCharts fail when using the PJA library.
- Fixed a bug where overlay charts did not repaint correctly when changed at runtime.
- The pie chart is now rendered solid instead of hollow.
- Fixed a bug in the pie chart where a space between slices sometimes occurred.
- Fixed a bug in PieChart where percent and value labels were displayed for empty samples.
- Fixed a bug where the ChartServlet output type was not set correctly.
NOTE: TheencodeChartImage(Image image, OutputStream out)method in ChartServlet changed signature toencodeChartImage(Image image, OutputStream out, ServletResponse res). Please recompile your custom servlet programs.
EasyCharts 2.6 — New Features Summary
- Added a 3D depth parameter in the bar and line chart.
- Added vertical grid lines in the bar and line chart.
- Added configurable colors for the legend boxes.
- Added configurable images for the legend entries.
- Added configurable images for the sample points in the line chart.
- Added floating labels in line chart.
- Added URLs (drilldown) per sample point in the line chart.
- Added the possibility to use Graphics2D objects.
- Added bar outline color parameter.
Changes from version 2.6pre2 to 2.6
- Added setDefaultGridLinesOn() and setDefaultGridLinesColor() to control default grid lines.
- Removed setGridLinesOn() added in 2.6pre1 — use setGridLines() which turns on grid lines automatically.
- Fixed a bug in BarChart where very short bars could not be selected.
- Fixed a bug where range labels were not properly formatted in Sun Java/Netscape when using decimal count more than 0.
- Fixed a bug where the chartClass parameter did not work.
- Fixed a bug where the doubleBufferingOff parameter did not work.
- Fixed a bug in LineChart where the last selected line was not painted on the top of the others.
- Fixed a bug where setRelativeRange() for overlayed charts with multiple series was not working properly.
Changes from version 2.6pre1 to 2.6pre2
- Added a set3DDepth() method to BarChart and LineChart to control the 3D depth effect.
- Added <param name=3DDepth value=int> parameter to BarChartApplet and LineChartApplet.
- Chart.addOverlayChart(Chart) now returns the index of the chart added.
- Added Chart.setOverlayChart(index, chart), Chart.setOverlayChartOn(index, onoff), Chart.removeOverlayChart(index).
- Added Chart.setExternalGraphics() to be able to use Graphics2D graphics objects and antialiasing.
- Added BarChart.setBarOutlineColor() and <param name=barOutlineColor value=color>.
- The image format produced by the ChartServlet was changed from GIF to JPEG due to Unisys patent. GIF images can still be generated with a third-party GifEncoder.
- Added ChartServlet.encodeImage() that can be overridden by subclasses to generate other image formats.
- Fixed a bug where an overlayed chart did not adjust its range to the base chart's range.
- Fixed a bug where target lines were not painted when too close to the chart grid.
- Fixed the memory leak when using angled labels in Internet Explorer.
- Fixed a bug where angled labels had an incorrect background on Windows NT/Internet Explorer in true color.
- Fixed a bug where an overlay chart on a 3D base chart did not paint correctly.
- Fixed a bug where lines with endpoints far outside the chart grid were painted as horizontal and vertical lines.
- Fixed a bug where Double.NaN values were painted as a square in the line chart.
- Fixed a bug in PieChart where the inside labels did not move with detached slices.
- Fixed a bug in PieChart where a detached slice was not selected correctly.
- Fixed a bug where floating labels did not appear when mouse was over very small 3D bars.
- Fixed a bug where only the front of a 3D bar was highlighted when selecting it.
- Fixed a bug where the floating value labels did not appear correctly in 3D line charts.
- Fixed a bug where the servlet would not run on some servers (such as Apache JServ).
- Fixed a bug where overlay charts were painted in the back side of a parent chart on a 3D base.
Changes from version 2.5.3 to 2.6pre1
- Added vertical grid lines for the bar and line chart.
- Chart.setGridLinesOn(boolean on), Chart.setGridLines(double[] grid), Chart.setGridLine(int index, double value).
- Chart.setSampleAxisRange(double start, double stop), Chart.setGridColor(Color color), Chart.setGridLineColors(Color[] colors).
- Added <param name=gridLinesOn value="true"> and <param name=gridLines value="10,20,30,40,50">.
- Added configurable colors for the legend boxes.
- Chart.setLegendColors(Color[] colors), Chart.setLegendColor(int index, Color color).
- Added configurable images for the legend entries.
- Chart.addImage(String name, Image image), Chart.setLegendImage(int index, String image).
- Added floating labels per sample point in the LineChart.
- LineChart.setSampleLabelStyle(BELOW|FLOATING), LineChart.setValueLabelStyle(FLOATING), LineChart.setSeriesLabelsOn(boolean).
- Added url connections per sample point in the LineChartApplet.
- <param name=url_N_M value="url.html">, <param name=urltarget_N_M value="_self">.
- Added configurable images for the sample highlights via Chart.setLegendImage().
Changes from version 2.5.2 to 2.5.3
- Fixed a bug where a square background appeared behind angle labels.
- Fixed a bug where the pie chart went into an infinite loop when painting pies with 0 or negative size.
- Fixed a bug where bar labels shifted downwards when a negative bar with an inside label came close to the chart grid bottom.
- Fixed a bug where value labels inside stacked bars were displayed even when there was not enough space.
Changes from version 2.5.1 to 2.5.2
- Fixed a bug where a line chart overlaying a bar chart did not line up correctly with the bars.
- Fixed a bug where the legend occasionally threw a null pointer exception when run on UNIX without X.
- Fixed a bug with the autolabelspacing where the labels came too close to each other.
- Fixed a bug where a tick mark was painted with empty sample labels in the line chart.
- Fixed a bug where 3D lines sometimes were cut off.
Changes from version 2.5 to 2.5.1
- Fixed a bug where a chart was printed as a bitmap resulting in low resolution printouts.
- Added a printAsBitmap parameter and setPrintAsBitmap() method to work around printing problems on some browsers/VMs.
- Fixed a bug where the chart was not correctly repainted after changing the data directly in the ChartData class.
- Added a hasChangedSince() method in the ChartData class.
- Fixed a bug where the chart did not repaint correctly when resized.
Changes from version 2.5pre4 to 2.5
- Documentation and examples added.
Changes from version 2.5pre3 to 2.5pre4
- Added overlay charts.
- Chart.addOverlayChart(Chart) was added.
- Parameter overlay was added to Bar/Line/Pie applets.
- Added a ChartApplet.setParameterPrefix() method.
Changes from version 2.1pre2 to 2.5pre3
- Added angled labels.
- BarChart: setLabelAngle("barLabelAngle", angle), setLabelAngle("valueLabelAngle", angle), setLabelAngle("rangeAxisLabelAngle", angle), setLabelAngle("sampleAxisLabelAngle", angle).
- LineChart: setLabelAngle("sampleLabelAngle", angle), setLabelAngle("valueLabelAngle", angle), setLabelAngle("rangeAxisLabelAngle", angle).
- Applets: valueLabelAngle, rangeAxisLabelAngle, rangeAxisLabelAngle_2, barLabelAngle (Bar), sampleAxisLabelAngle (Bar), sampleLabelAngle (Line).
- Added double y-axis.
- Chart.setRangeOn(int index, boolean on), Chart.setRangePosition(int index, int position), Chart.setRangeColor(int index, Color color).
- Chart.setRange(int index, range), Chart.setLowerRange(int index, range), Chart.setRelativeRange(int index, double range, double step).
- Chart.setSeriesRange(int series, int range), Chart.setRangeDecimalCount(int index, int count).
- Applets: rangeDecimalCount_2, rangeAxisLabel_2, rangeOn_2, range_2, lowerRange_2, rangeStep_2, rangePosition, rangeColor, rangeAdjusterOn_2, rangeAdjusterPosition, rangeAdjusted, seriesRange_N, sampleDecimalCount_N, valueLabelsOn_N.
- Due to double y-axis, several method pairs were deprecated — use indexed versions (e.g.
setRange(0, range)instead ofsetRange(range)).
Changes from version 2.1pre1 to 2.1pre2
- Added line width per data series in the linechart.
- Added a ChartServlet with GIF generation.
- Added line wrapping for chart labels.
- Added seriesLabelsOn/seriesLabelStyle parameter in the pie chart.
- Added a setVisibleSamples() method to display a subset of the samples.
- Moved the range axis label to the side of the axis.
Changes from version 2.0 to 2.1pre1
- Sample scroller added to the line chart.
- Sample scroller added to the bar chart.
- Range adjuster added to the bar chart.
- Static value, percent, and sample labels added to the pie chart.
Changes from version 2.04 to 2.05
- Added getLastSelectedSample() and getLastSelectedSeries() methods.
- Added setCurrentRange() and setCurrentLowerRange() to set the range of the range adjuster in the bar and line chart.
Changes from version 2.03 to 2.04
- Added a parameter to connect two sample points with undefined values between them in the line chart — <param name=connectedLinesOn value=true> / setConnectedLinesOn(int serie, boolean on).
Changes from version 2.02 to 2.03
- Fixed a bug where stacked bars were not displayed correctly when you had larger-than-zero lower ranges.
Changes from version 2.01 to 2.02
- You can now control the space between the chart grid and the chart component edges.
- Chart: Added a setGraphInsets(top, left, bottom, right) method.
- ChartApplet: Added a graphInsets parameter.
Changes from version 2.0 to 2.01
- Now using a hand cursor when the mouse is over a sample with a URL associated with it (drilldown).
- BarChart: Added a setMultiSeriesOn(boolean) method.
- BarChartApplet: Added a multiSeriesOn parameter.
- Chart: The getSelectedObjects() method was implemented.
- Various bug fixes.
EasyCharts 2.0 — New Features Summary
- Chart: Added a setLegend(String[]) method, prefix and postfix to the value labels, setAutomaticRepaintOn(boolean); the frame around the chart was removed.
- BarChart: Added value/range label prefix/postfix, sample axis and range axis labels, setBarLabels(String[]) method, more fonts.
- BarChartApplet: sampleN_values renamed to sampleValues_N. Added value/range label prefix/postfix, sample/range axis labels, more font parameters, legendLabels parameter, doubleBufferingOff parameter. Removed targetValueLineCount.
- LineChart: Added 3D and stacked lines, setLineWidth(int), per-series line control, updated range adjuster, value/range label prefix/postfix, sample axis and range axis labels.
- LineChartApplet: Added stackedOn, targetValueLines, rangeStep, maxValueLineCount, legendLabels, lineWidth, valueLabelStyle, sampleHighlightStyles.
- PieChart: Added value label prefix/postfix, multiple pies per chart, setSelectionStyle(int), setPieSeperatorOn(boolean), setDetachedSlice().
- PieChartApplet: Added pieLabelsOn, sliceSeperatorOn, sliceSeperatorColor, selectionStyle, pieLabelFont, legendLabelFont, floatingLabelFont, detachedDistance, detachedSlices.
- ChartData: All chart data are now stored in the ChartData class; Chart.setChartData(ChartData) was added.
- BarChart: Added stacked and side-by-side bars with multiple series, setBarType(), setBarWidth(), setValueLabelStyle().
- BarChartApplet: Added barType parameter (side or stacked), valueLabelStyle parameter (outside or inside).
- Applet: sampleN_url renamed to url_N; sampleN_urltarget renamed to urltarget_N; title renamed to chartTitle.
- A number of deprecated methods were marked for removal in 2.1.
Changes from version 1.7 to 1.7.1
- Added JavaScript support.
- BarChartApplet: Added a setParameter("name", "value") method; the chart variable was made public.
- PieChartApplet: Added a setParameter("name", "value") method; the chart variable was made public.
- LineChartApplet: Added a setParameter("name", "value") method; the chart variable was made public.
- LineChart: Added getSampleHighlightSize() and isSampleHighlightFilled() methods.
- Fixed some bugs.
Changes from version 1.6 to 1.7
- Added a drilldown feature and sample URL connections to the chart applets.
- LineChart now supports value labels and line point highlighting.
- The chart applets can now be extended and the internal chart can be replaced by another chart class.
- All sample/bar labels in linechart and barchart are now painted even if they overlap — use autoLabelSpacingOn to paint only labels there is space for.
- All chart applets can now be refreshed automatically to avoid repaint problems (use the automaticRefreshTime parameter).
- Chart: formatNumber() method, automaticRefreshTime parameter, sampleN_url/sampleN_urltarget parameters.
- LineChart: setSampleHighlightOn(), setSampleHighlightStyle(), setRangeLabelsOn(), appendSampleValue() return index, setSeriesLineOn(), setAutoLabelSpacingOn().
- LineChartApplet: sampleHighlightOn, sampleHighlightStyle, sampleHighlightSize, rangeLabelsOff, autoLabelSpacingOn, seriesLineOff, chartClass.
- BarChart: setAutoLabelSpacingOn(), setBarOutlineOn(), setRangeLabelsOn().
- BarChartApplet: barOutlineOff, rangeLabelsOff, autoLabelSpacingOn, chartClass.
- ChartSample: hasValue() and clearValue() methods.
- Chart applets can now read null values from applet tags (e.g. sampleValues="1, , ,3").
- Chart applets do not throw exceptions anymore, but print an error message in the console instead.
- Bugs were fixed and the library was made more robust.
Changes from version 1.5.1 to 1.6
- ChartApplet: Added font, titleFont, sampleLabelColors param tags.
- BarChartApplet: Added barOutlineOn, valueLinesColor, rangeLabelsOn param tags.
- LineChartApplet: Added rangeLabelsOn param tag.
- Chart: Fixed a problem with the font size of the chart title overwriting the chart if too big.
- Chart: Implemented setSample(index, ChartSample) and setSamples(ChartSample[]) methods.
- Chart: set/getSample methods now throw IllegalArgumentException.
- BarChart, LineChart: Removed deprecated methods.
Changes from version 1.5 to 1.5.1
- BarChart: Added setBarOutlineOn(boolean) to turn on/off the bar frame outline.
- BarChart: Fixed a bug where the bars were not painted all the way to the end when there were many bars.
- BarChart: Fixed a bug where bar labels were painted on top of each other — now only paints as many labels as there is room for.
- LineChart: Fixed a problem where a line was not correctly painted if some samples were missing for that series.
- LineChart: Fixed a problem where values equal to the upper or lower range were not displayed.
Changes from version 1.4 to 1.5
- Support for JDK 1.0.2 was added in addition to 1.1 and 1.2.
- The package com.objectplanet.chart102 includes charts for JDK 1.0.2.
- ChartSample: Added formatNumber(double value, int decimals) method for formatting floating point numbers.
- Numbers are now formatted European style (space as thousands separator) instead of commas.
- Chart: Fixed a bug in getFloatMaxValue() and getFloatMinValue() — now return 0 if no samples are found.
- LineChart: Fixed a bug in setSampleColors(Color[] colors) that always caused the third color to be overwritten.
Changes from version 1.3.3 to 1.4
- You can now add value lines at any value in BarChart and LineChart.
- BarChart/LineChart: Added setTargetValueLine(String id, double value, Color color, int style), getTargetValueLine(String id), getValuePosition(double value), setRangeLabelsOn(boolean on), isRangeLabelsOn().
- BarChart/LineChart: Added TARGET_LINE_NO_LABEL, TARGET_LINE_ID_LABEL, TARGET_LINE_VALUE_LABEL, TARGET_LINE_ID_AND_VALUE_LABEL styles.
- BarChart: Added appendSample(double value, boolean makeSpace).
- LineChart: Added appendSample(int serie, double value, boolean makeSpace).
- LineChart now stops drawing a line if the current number of values in a series is less than the total number of samples.
- LineChart.getFloatMaxValue() and getFloatMinValue(): Fixed bugs that prevented getting max/min values near zero.
- LineChart: A selected line is now drawn much more clearly.
- Chart.setSampleValues(double[] values) now keeps the original number of samples.
- Chart: Fixed a bug in setSampleCount() that removed the last value in the original samples.
- PieChart: Added setSampleLabelsOn(boolean) and isSampleLabelsOn().
- PieChartApplet: Added a sampleLabelsOn parameter tag.
Changes from version 1.3.2 to 1.3.3
- BarChart: Rectangle getGraphBounds() was made public.
- LineChart: Rectangle getGraphBounds() was made public.
- PieChart: A Rectangle getGraphBounds() was added.
- LineChart: Fixed a bug in setSampleCount() and setSampleSeries() that caused a runtime error after calling these methods.
Changes from version 1.3.1 to 1.3.2
- LineChart: Added setSeriesLabels(String[] labels), getSeriesLabels(), getSeriesLabel(int serie).
Changes from version 1.3 to 1.3.1
- Methods were added to LineChart to set/get series samples.
- LineChart: getSamples(int serie), getSample(int serie, int index), getSampleValues(int serie), getFloatSampleValues(int serie), getSampleValue(int serie, int index), getFloatSampleValue(int serie, int index).
- Version information was added to the charts.
- Chart: Added static String getVersion().
- Chart: Running
java com.objectplanet.chart.Chartwill display the version number.
Changes from version 1.2 to 1.3
- Negative number support was added for the BarChart and LineChart.
- BarChart: BarChart(int count, double range, double lowerRange) constructor; setLowerRange(double), getLowerRange(), getFloatLowerRange(), setLowerRelativeRange(double).
- BarChartApplet: Added a lowerRange parameter tag.
- LineChart: LineChart(int seriesCount, int sampleCount, double range, double lowerRange) constructor; setLowerRange(double), getLowerRange(), getFloatLowerRange(), setLowerRelativeRange(double).
- LineChartApplet: Added a lowerRange param tag.
- Chart: Added getMinValue() and getFloatMinValue().
- BarChart: setBarAlignment() now throws IllegalArgumentException for illegal alignment parameters.
- Chart: setLegendPosition() now throws IllegalArgumentException for illegal position parameters.
Changes from version 1.1 to 1.2
- Floating point number support was added — setSample() methods take double instead of long; added setSampleValues(double[]), getFloatSampleValues(), getFloatSampleValue(int), setSampleDecimalCount(int), getFloatMaxValue().
- BarChart: setRange(long) changed to setRange(double); old setRange(double) renamed to setRelativeRange(double). Added getFloatRange(), setRangeDecimalCount(int), getRangeDecimalCount().
- LineChart: setSampleValues(int index, double[]), setRange changed to setRange(double), setRelativeRange(double), getFloatRange(), setRangeDecimalCount(int), getRangeDecimalCount().
- PieChart: Added setPercentDecimalCount(int) and getPercentDecimalCount().
- Applets: rangeDecimalCount (Bar/Line), percentDecimalCount (Pie) param tags added.
- Configurable sample colors: setSampleColors(Color[]), getSampleColors(), setSampleColor(int, Color), getSampleColor(int). BarChart setBarColor()/getBarColor() and LineChart setLineColor()/getLineColor() were deprecated in favor of setSampleColor().
- ChartApplet: Added sampleColors param tag; LineChartApplet lineColor param tag was removed.
- Chart: Made lightweight (usable with Swing), removed double buffering.
- Added NonFlickerPanel class to avoid flickering when updating charts frequently.
- Chart: Fixed printing in applications; fixed legend placement bug when placed on top; replaced assertion windows with IllegalArgumentException.
- BarChart: Fixed several bugs in sizing and placement when different features are turned on and off.
- LineChart: Lines are now 1 pixel wide when unselected and 2 pixels wide when selected.
- PieChart: Added getPercentValue(int index).
Changes from version 1.0 to 1.1
- The BarChartApplet and LineChartApplet now adjust their range to the maximum value by default, if no explicit range is set.
- Added setTitleFont() and getTitleFont() methods.
If you have any questions, comments, bug reports, or feature requests please contact us or visit the online help desk.
© 1998– ObjectPlanet, Inc.