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 then 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 wether 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 heaviweight 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 then 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 then 20 colors were used.
- Fixed a NullPointerExceptinon which happened when the series number formatter were used.
- Change the way legend is rendered: if the sample is painted with gradient, legend is also gradient.
- More effecient use of space between the range labels.
Changes from version 4.0.1 to 4.0.2
- Added legend support for the GaugeChart.
- Added rangeInerval parameter to the GaugeCahrt. It allows to set interval between the range ticks explicitly.
- Added setTimeFormatOutLocale() method and timeFormatOutLocale parmaeter 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 then 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
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
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 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 rubustness.
Changes from version 3.5 to 4.0beta1
- Added possibility to set gradient background inside and outside the grid.
- Added alternateChartBackground parameter that makes it possible to set alternate background inside the grid.
- Added lineStyle parameter that makes it possible to display lines as tubes in the LineChart.
- Added barShape parameter that makes it possible to display bars as cylinders.
- Added outlineOff parameter that makes it possible to turn on/off outlines for the lines in stacked and in 3D mode.
- Added possibility to set gradient colors for bars, 3D and stacked lines.
- Added line3DDepth parameter that makes it possible to set depth of the specific 3D line.
- Added gridOutline3DOn parameter that makes it possible 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
New look and feel
- Added possibility to use transparent colors (#rrggbbaa where aa is the alpha component of the color).
- The anti-aliasing feature is made default for all chart types.
New servlet features
New plotter chart features
New overlay charts features
Other new features
Changes from version 3.5pre2 to 3.5
- The anti-aliasing feature is made default for all chart types.
- Fixed proper behavior of the inside and outside value labels for the stacked lines:
when valueLabelStyle=outside the cumulative value is displayed over the topmost line;
when valueLabelStyle=inside the value labels are displayed for each line centered on the sample point.
- 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 the legend entryes were more then number of samples.
- Fixed a bug where the relative custom labels failed on the pie charts.
- Fixed a bug where the grid lines were painted over the grid outline on the 3D charts.
- Fixed a bug where the label URLs did not work in the plotter chart applet.
- Fixed a bug where the rotated labels where chopped in the JDK 1.3.1.
- Fixed a bug where the overlay parameters were not reset on data reload.
- Fixed a bug where the 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 (regression to 3.0.2).
- 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: if the range labels overlap the rangeInterval is
doubled until there is enough space for the range labels.
- 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
Changes from version 3.0.1 to 3.0.2
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 which should be used to set size of a single serie.
The <param name=plotSize value=size> should be used to set size for all series.
- 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 EasyCharts on the Microsoft VM with CrearType fonts turned on.
- 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 the JDK version 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 the empty values were used.
- Fixed a bug where the antialised charts could not be resized.
EasyCharts 3.0 new features summary
Changes from version 3.0pre2 to 3.0pre3
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 fix for the object handles problem caused by the serverFrame.addNotify().
- 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,
so the time charts may be used in applets, servlets and applications.
- Added <param value=chart name=bar|line|pie|time_line|spline|plotter>.
The com.objectplanet.chart.BarChartApplet, com.objectplet.chart.LineChartApplet
and com.objectplanet.PieChartApplet should be substituted with com.objectplanet.chart.ChartApplet
and <param name=chart value=bar|line|pie> should be added.
The old style still works for the EasyCharts 3.0 but will be removed for the EasyCharts 3.1.
- Added support for switching between base chart types (bar/line/pie) at runtime (the charts may use same data).
- Added possibility to use multiple ranges (more than 2) for a chart.
- Added <param name=zoomOn value=true> which make it possible to zoom the charts using mouse box.
- Added <param name=legendColumns value=N> which makes it possible to align legend in columns.
- Added scrollable legend (turned on automatically when there is not enogh space for the legend).
- Added <param name="label_N" value="text,absolute_x,absolute_y">
This allows to use labels that may be displayed at any place of the chart applet.
- Added <param name="label_N" value="text,relative_x,relative_y">
This allows to use labels that may be displayed at any place of the chart grid.
- Added <param name="labelURL_N" value="adress.html">
This allows to assign an URL the absolute and relative labels.
- Added possibility to assign a chart sample to a relative label so it will point to the sample.
- 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.
- Added <param name=displayVersion value=true> which displays the EasyCharts version in the console.
- Fixed a bug where it was possible to make the sample scroller so small that it could not be dragged.
- 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 wich caused that the bars did not display properly running on IBM JDK.
- Fixed a bug in the JpegEncoder which caused the ChartServlet to hang on the IBM WebShpere Developer Studio.
- Fixed a bug where the angled labels were displayed repeatedly.
- Fixed a problem with printout on Win98 with IE6.0 installed.
- Fixed a problem where the applet were displayed as a gray box when the IE called start() method.
- Made it possible to run ChartServlet on headless systems with JDK 1.4
- Made it possible to set the overlay chart color from the JavaScript.
- All code from the BarChartApplet, LineChartApplet, PieChartApplet is moved to the ChartApplet (may concern the source license owners).
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 in the bar and line chart.
- Added possibility to turn off range labels for the second range in the bar and line chart.
- 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 antialised 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 previous jpeg support).
- Added format=png24 for truecolor PNG images.
- Added format=jpg for jpeg generated images (as before).
- 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 occuring is 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 (chart=com.objectplanet.chart.ext.TimeLineChartApplet).
- 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 did not 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 or multiple line breaks 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
(use * for = and ¤ for &:
data=http://localhost/myscript.xyz?param1*value1¤param2*value2,
or dataParamSeparator and dataEqualsSign.
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 Bar/LineChart.setLabel("rangeLabelPrefix_2", "label");
- Added Bar/LineChart.setLabel("rangeLabelPostfix_2", "label");
- Added Bar/LinChart.setLabel("rangeLabelsOff_2", true/false);
- Added Chart.setGridAdjustmentOn(Chart.TOP/RIGHT/BOTTOM/LEFT, true/false);
- Added <param name=gridAdjustmentOn value="top,left,bottom,right">
- Added <param name=singleClickURLOn value=true> for single click drilldown
- Added data=url parameter in the ChartServlet.
- Added <param name=thousandsDelimiter value=",">
- Added Chart.setThousandsDelimiter(",");
- 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 aviod some repainting problems when using javascipt.
- 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 ChartApplet.loadParameters(Hashtable parameters) called by init().
- Added ChartApplet.loadURLParameters(String url, Hashtable parameters) called by init().
- Added LineChart.setSampleLabelStyle(Chart.BELOW_AND_FLOATING);
- Added <param name=sampleLabelStyle value=below_and_floating> in the LineChartApplet.
- Added LineChart.setSeriesLabelStyle(Chart.FLOATING/OUTSIDE);
- Added <param name=seriesLabelStyle value=floating/outside> in the LineChartApplet.
- Added PieChart.setInsideLabelColor(int pieIndex, Color color);
- Added <param name=insideLabelColor_N value=color> in PieChartApplet.
- ChartApplet.createColor() and ChartApplet.createFont() was made public instead of protected.
- 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 occured.
- 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 and
displayed text instead of an image on some netscape browsers.
NOTE: The
encodeChartImage(Image image, OutputStream out)
method in ChartServlet changed signature to encodeChartImage(Image image, OutputStream out, ServletResponse res)
to fix this bug. 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
- New features:
- Added setDefaultGridLinesOn() and setDefaultGridLinesColor() to control default grid lines.
- Removed setGridLinesOn() which was added in 2.6pre1. Instead setGridLines() will turn on the grid lines automatically.
- Bug fixes:
- 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(9,999.999 instead of 10,000.000).
- 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
- New features:
- Added a set3DDepth() method to BarChart and LineChart to control the 3D depth effect.
- Added <param name=3DDepth value=int> parameter to the BarChartApplet and LineChartApplet.
- Chart.addOverlayChart(Chart) now returns the index of the chart added.
- Added Chart.setOverlayChart(index, chart).
- Added Chart.setOverlayChartOn(index, onoff).
- Added Chart.removeOverlayChart(index).
- Added Chart.setExternalGraphics() to be able to use Graphics2D graphics objects and antialiasing.
- Added BarChart.setBarOutlineColor().
- Added <param name=barOutlineColor value=color> to BarChartApplet.
- The image format produced by the ChartServlet was changed from gif to jpeg
due to the patent owned by Unisys. You can still generate gif images, but
you need to download a GifEncoder from a third party.
- Adding ChartServlet.encodeImage() that can be overriden by subclasses to
generate other image formats.
- Bug fixes:
- Increased performance when painting sample and bar labels.
- Increased performance painting the lines in a line chart.
- 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 in bar and line charts.
- Finally fixed the memory leak when using angled labels in Internet Explorer.
However, there can still be problems when having too many angled labels (in the visinity of 2,000 per applet).
- Fixed a bug where angled labels had an incorrect background when displayed 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 or the top and side of 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 the overlay charts were painted in the back side of a parent
chart on a 3D base. The overlay charts are now painted on the front side.
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)
- Chart.setGridLineColor(int index, Color color)
- <param name=gridLinesOn value="true">
- <param name=gridLines value="10,20,30,40,50">
- <param name=gridLineColors value="color1,color2,color3">
- <param name=sampleAxisRange value="0,100">
- Added configurable colors for the legend boxes
- Chart.setLegendColors(Color[] colors)
- Chart.setLegendColor(int index, Color color)
- <param name=legendColors value="color1,color2,color3">
- Added configurable images for the legend entries
- Chart.addImage(String name, Image image)
- Chart.setLegendImage(int index, String image)
- <param name=legendImage_N value="image.gif">
- Added floating labels per sample point in the LineChart
- LineChart.setSampleLabelStyle(BELOW|FLOATING)
- LineChart.setValueLabelStyle(FLOATING)
- LineChart.setSeriesLabelsOn(boolean)
- <param name=sampleLabelStyle value=floating>
- <param name=valueLabelStyle value=floating>
- <param name=seriesLabelsOn value=true>
- 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
- Chart.setLegendImage(int index, String image) sets the sample highlight image
- <param name=legendImage_N value="image.gif">
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 a 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 though they did not have the space so the other labels were overlapped.
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 occationally threw a null pointer exception when run on a UNIX system without X installed.
- 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.
- However, some browsers/VMs/operating systems have problems printing
java applets correctly. Therefore a printAsBitmap parameter was added
to the applet and setPrintAsBitmap() method added to the java chart.
Set this parameter to true to work around some of the printing problems.
- 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() methods.
Changes from version 2.1pre2 to 2.5pre3
- Added angled labels
- Java:
- BarChart.setLabelAngle("barLabelAngle", angle) was added
- BarChart.setLabelAngle("valueLabelAngle", angle) was added
- BarChart.setLabelAngle("rangeAxisLabelAngle", angle) was added
- BarChart.setLabelAngle("sampleAxisLabelAngle", angle) was added
- LineChart.setLabelAngle("sampleLabelAngle", angle) was added
- LineChart.setLabelAngle("valueLabelAngle", angle) was added
- LineChart.setLabelAngle("rangeAxisLabelAngle", angle) was added
- Applets:
- Bar/LineChartApplet.valueLabelAngle was added
- Bar/LineChartApplet.rangeAxisLabelAngle was added
- Bar/LineChartApplet.rangeAxisLabelAngle_2 was added
- BarChartApplet.barLabelAngle was added
- BarChartApplet.sampleAxisLabelAngle was added
- LineChartApplet.sampleLabelAngle was added
- Added double y-axis
- Java:
- Chart.setRangeOn(int index, boolean on) was added
- Chart.setRangePosition(int index, int position) was added
- Chart.setRangeColor(int index, Color color) was added
- Chart.setRange(int index, range) was added
- Chart.setRelativeRange(int index, double range, double step) was added
- Chart.setLowerRange(int index, range) was added
- Chart.setLowerRelativeRange(int index, double range, double step) was added
- Chart.setCurrentRange(int adjuster, double range) was added
- Chart.setCurrentLowerRange(int adjuster, double range) was added
- Chart.setRangeDecimalCount(int index, int count) was added
- Chart.setSeriesRange(int series, int range) was added
- Chart.setRangeAdjusterOn(int adjuster, booloean on) was added
- Chart.setRangeAdjusterPosition(int adjuster, int position) was added
- Chart.setRangeAdjusted(int adjuster, int range) was added
- Chart.setSampleDecimalCount(int serie, int count) was added
- Chart.setValueLabelsOn(int serie, boolean on) was added
- BarChart.setRelativeRange() moved to Chart
- BarChart.setLowerRelativeRange() moved to Chart
- LineChart.setRelativeRange() moved to Chart
- LineChart.setLowerRelativeRange() moved to Chart
- Applets:
- Bar/LineChartApplet.rangeDecimalCount_2 was added
- Bar/LineChartApplet.rangeAxisLabel_2 was added
- Bar/LineChartApplet.rangeOn_2 was added
- Bar/LineChartApplet.range_2 was added
- Bar/LineChartApplet.lowerRange_2 was added
- Bar/LineChartApplet.rangeStep_2 was added
- Bar/LineChartApplet.rangePosition, rangePosition_2 was added
- Bar/LineChartApplet.rangeColor, rangeColor_2 was added
- Bar/LineChartApplet.rangeAdjusterOn_2 was added
- Bar/LineChartApplet.rangeAdjusterPosition, rangeAdjusterPosition_2 was added
- Bar/LineChartApplet.rangeAdjusted, rangeAdjusted_2 was added
- Bar/LineChartApplet.seriesRange_N was added
- Bar/LineChartApplet.sampleDecimalCount_N was added
- Bar/LineChartApplet.valueLabelsOn_N was added
- Due to double y-axis several method pairs were deprecated
(You should recompile your code to use the new methods)
- Chart.setRange(double range), use setRange(0, range)
- Chart.getFloatRange(), use getRange(0)
- Chart.setLowerRange(double range), use setLowerRange(0, range)
- Chart.getFloatLowerRange(), use getLowerRange(0)
- Chart.setCurrentRange(double range), use setCurrentRange(0, range)
- Chart.setCurrentLowerRange(double range), use setCurrentLowerRange(0, range)
- Chart.setRangeDecimalCount(int count), use setRangeDecimalCount(0, count)
- Chart.setRangeAdjusterOn(boolean on), use setRangeAdjusterOn(0, on)
- Chart.setSampleDecimalCount(int count), use setSampleDecimalCount(0, count)
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 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 a method to get the index of the last selected sample and index.
public int getLastSelectedSample();
public int getLastSelectedSeries();
- 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. This parameter
makes the chart always behave like it has multiple series even if it
has only one. The labels in the legend will always be the series labels.
- Chart: The getSelectedObjects() method was implemented.
- Various bug fixes
Changes from version 1.7.1 to 2.0
- Chart: Added a setLegend(String[]) method.
- Chart: Added prefix and postfix to the value labels.
- Chart: Added setAutomaticRepaintOn(boolean) method.
- Chart: The frame around the chart was removed.
- BarChart: Added value/range label prefix/postfix.
- BarChart: Added sample axis and range axis labels.
- BarChart: Added a setBarLabels(String[]) method.
- BarChart: Added more fonts.
- BarChartApplet: seriesN_values changed name to sampleValues_N.
- BarChartApplet: Added value label/range label prefix/postfix.
- BarChartApplet: Added the sample/range axis labels.
- BarChartApplet: Added more font parameters.
- BarChartApplet: Removed the targetValueLineCount (not needed anymore).
- BarChartApplet: Added a legendLabels parameter.
- BarChartApplet: Added a doubleBufferingOff parameter.
- LineChart: Added 3D and stacked lines.
- LineChart: Added a setLineWidth(int) method
- LineChart: You can now turn off individual data series lines.
- LineChart: Range adjuster now adjusts upper and lower range.
- LineChart: Added value/range label prefix/postfix.
- LineChart: Added sample axis and range axis labels.
- LineChartApplet: Added a stackedOn parameter.
- LineChartApplet: Added targetValueLines.
- LineChartApplet: Added a rangeStep parameter.
- LineChartApplet: Added a maxValueLineCount parameter.
- LineChartApplet: Removing sampleHighlightFilled.
- LineChartApplet: Added a legendLabels parameter.
- LineChartApplet: Added sampleHighlightStyles: circle_opaque, circle_filled, square_opaque, square_filled, diamond_opaque, and diamond_filled.
- LineChartApplet: Added a lineWidth parameter.
- LineChartApplet: Added value label/range label prefix/postfix.
- LineChartApplet: Added the sample/range axis labels.
- LineChartApplet: Added a valueLabelStyle parameter.
- PieChart: Added value label prefix/postfix.
- PieChartApplet: Added a valueLabelPrefix and valueLabelPostfix parameter.
- Chart: Added a Chart(int seriesCount, int sampleCount) constructor
- Chart: Added a generic setFont(String name, Font font) method
- Chart: Added "legendFont" for the setFont(name, font) method
- ChartApplet: Added a labelDelimiter parameter
- BarChart: Added a VALUE_LABELS_FLOATING style for value labels
- BarChart: Made more intelligent value line steps
- BarChart: Added setRelativeRange(double range, double step)
- BarChart: Added setLowerRelativeRange(double range, double step)
- BarChart: Added a setBarLabelStyle(int style) and floating bar labels
- BarChartApplet: Added target value lines
- BarChartApplet, new parameters and values:
- valueLabelStyle; floating
- barLabelStyle; below, floating, below_and_floating
- rangeStep
- maxValueLineCount
- legendFont, barLabelFont, valueLabelFont, rangeLabelFont, floatingLabelFont
- targetValueLineCount and targetValueLine_N
- PieChart: Multiple pies in one chart is now supported
- PieChart: Added a setSelectionStyle(int style) method
- PieChart: Added a setPieSeperatorOn(boolean) method
- PieChart: Added a setPieSeperatorColor(Color) method
- PieChart: Added a setDetachedSlice() method
- PieChart: Now control over legendFont, pieLabelFont, and floatingLabelFont
- PieChartApplet new parameters and values:
- pieLabelsOn
- sliceSeperatorOn
- sliceSeperatorColor
- selectionStyle; circle, triangle, detached
- pieLabelFont, legendLabelFont, floatingLabelFont
- detachedDistance
- detachedSlices
- LineChart: Added a getSampleHighlightSize() method
- LineChart: Added a isSampleHighlightFilled() method
- Multiple series was added for BarChart
- LineChart: long[] getSampleValues(int serie) changed to double[] getSampleValues(int serie)
- LineChart: long getSampleValue(int serie, int index) changed to double getSampleValue(int serie, int index)
- BarChart: added stacked and side-by-side bars with multiple series
- BarChart: added a setBarType() method
- BarChart: added a setBarWidth() method
- BarChart: added a setValueLabelStyle() method
- BarChartApplet: added a barType parameter (side or stacked)
- BarChartApplet: added a valueLabelStyle parameter (outside or inside)
- Applet: sampleN_url changed to url_N
- Applet: sampleN_urltarget changed to urltarget_N
- Applet: the title changed name to chartTitle because, Internet Explorer had problems with a parameter named title when printing an applet.
- ChartData: All the data for the charts are now stored in the ChartData class. A ChartData object can be shared amongst several charts of
same or different types.
- Chart: A setChartData(ChartData) method was added.
- Deprecated methods (WILL BE REMOVED IN 2.1):
A number of methods was
deprecated to keep the method count and footprint down in the future. Most of
these methods has their series specific counter part. Your code will still
work if you use these methods, but you are recommended to change to the new
methods since these will be removed in the future.
- Chart.setTitleFont(Font)
- Chart.getTitleFont()
- Chart.clearSelection()
- Chart.setSample(int index, ChartSample sample)
- Chart.getSample(int index)
- Chart.setSample(int index, double value, String label, Object key)
- Chart.setSamples(ChartSample[] samples)
- Chart.getSamples()
- Chart.setSampleValues(long[] values)
- Chart.setSampleValues(double[] values)
- Chart.getSampleValues()
- Chart.getFloatSampleValues()
- Chart.setSampleValue(int index, double value)
- Chart.getSampleValue(int index)
- Chart.getFloatSampleValue(int index)
- Chart.appendSampleValue(double value, boolean makeSpace)
- Chart.getMaxValue()
- Chart.getFloatMaxValue()
- Chart.getMinValue()
- Chart.getFloatMinvalue()
- PieChart.getPercentValue(int index)
- LineChart.setSampleValues(int serie, long[] values)
- LineChart.getFloatSampleValues(int serie)
- LineChart.getFloatSampleValue(int serie, int index)
- LineChart.getFloatMaxValue()
- LineChart.getFloatMinValue()
Changes from version 1.7 to 1.7.1
- Added JavaScript support
- BarChartApplet: Added a setParameter("name", "value") method
- BarChartApplet: The chart variable was made public
- PieChartApplet: Added a setParameter("name", "value") method
- PieChartApplet: The chart variable was made public
- LineChartApplet: Added a setParameter("name", "value") method
- LineChartApplet: The chart variable was made public
- LineChart: Added a getSampleHighlightSize() method
- LineChart: Added a isSampleHighlightFilled() method
- Fixed some bugs
Changes from version 1.6 to 1.7
- SUMMARY:
- A drilldown feature and sample URL connections were added to the chart applets
- LineChart now supports value labels
- LineChart now supports line point highlighting
- The chart applets can now be extended and the internal chart can be replaced by another extended and specialized chart class.
- All the sample labels and bar labels in linechart and barchart are now painted even if they overlap. Use the autoLabelSpacingOn
parameter to paint only labels there is space for.
- All the chart applets can now be refreshed automatically to avoid the repaint problem of some browsers (use the
automaticRefreshTime parameter)
- Chart:
- Chart: a formatNumber() method was added to format floating point numbers
- ChartApplet: the titleOn parameter is no longer used
- ChartApplet: an automaticRefreshTime parameter was added
- ChartApplet:
double[] readSampleValues()
changed its signature to ChartSample[] readSampleValues()
- ChartApplet: replaced readSampleValues() with readValueParam()
- ChartApplet: replaced readSampleLabels() with readStringParam()
- ChartApplet: added a readColorParam() method
- ChartApplet: a sampleN_url, sample_urltarget, and sampleN_urltarget parameter was added.
- LineChart:
- LineChart: added a setSampleHighlightOn() method
- LineChart: added a setSampleHighlightStyle() method
- LineChart: added a setRangeLabelsOn() method
- LineChart: the appendSampleValue() now returns the index where the sample was inserted.
- LineChart: added a setSeriesLineOn() method
- LineChart: added a setAutoLabelSpacingOn() method
- LineChartApplet: the sampleCount is no longer needed
- LineChartApplet: you can now also set the value of the first series with the sampleValues parameter
- LineChartApplet: added a sampleHighlightOn, sampleHighlightStyle, sampleHighlightSize, and a sampleHighlightFilled parameter.
- LineChartApplet: a rangeLabelsOff parameter was added
- LineChartApplet: an autoLabelSpacingOn parameter was added
- LineChartApplet: a seriesLineOff parameter was added
- LineChartApplet: the chart was made protected
- LineChartApplet: a createChart() method was added
- LineChartApplet: a chartClass parameter was added
- BarChart:
- BarChart: added a setAutoLabelSpacingOn() method
- BarChart: added a setBarOutlineOn() method
- BarChart: added a setRangeLabelsOn() method
- BarChart: appendSampleValue() now returns the index where the sample was inserted
- BarChartApplet: does not need the sampleCount parameter anymore
- BarChartApplet: a barOutlineOff parameter was added
- BarChartApplet: a rangeLabelsOff parameter was added
- BarChartApplet: an autoLabelSpacingOn parameter was added
- BarChartApplet: the chart was made protected
- BarChartApplet: a createChart() method was added
- BarChartApplet: a chartClass parameter was added
- PieChart:
- PieChartApplet: the chart was made protected
- PieChartApplet: a createChart() method was added
- PieChartApplet: a chartClass parameter was added
- Misc. changes:
- ChartSample: added a hasValue() and a clearValue() method
- ChartSample: the formatNumber() method was removed and replaced with a similar method in the Chart class.
- Chart applets can now read null values from the applet tags like the following <param name="sampleValues" value="1, , ,3">
- Chart applets does not throw exceptions anymore, but prints 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 a font param tag
- ChartApplet: added a titleFont param tag
- ChartApplet: added a sampleLabelColors param tag
- BarChartApplet: added a barOutlineOn param tag
- BarChartApplet: added a valueLinesColor param tag
- BarChartApplet: added a rangeLabelsOn param tag
- LineChartApplet: added a rangeLabelsOn param tag
- Chart: Fixed a problem with the font size of the chart title, where the title would overwrite the chart if it got too big.
- Chart: implemented the setSample(index, ChartSample) method.
- Chart: implemented the setSamples(ChartSample[]) method.
- Chart: the set/getSample methods now throws IllegalArgumentException
- BarChart: removed deprecated methods.
- LineChart: removed deprecated methods
Changes from version 1.5 to 1.5.1
- BarChart: A setBarOutlineOn(boolean) method was added to turn on or off the bar frame outline.
- BarChart: fixed a bug where the bars were not painted all the way to the end (right or bottom) when there were many bars.
- BarChart: fixed a bug where the bar labels were painted on top of each other if there was not enough space for each label.
The chart 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 range or the 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: the method formatNumber(double value, int decimals) was added for formatting floating point numbers (used instead
of the NumberFormat class only found in JDK 1.1)
- Numbers are now formatted with three and three digits with space between them (European style) instead of commas (American style).
- Chart: Fixed a bug in the getFloatMaxValue() and
getFloatMinValue() that caused them to return Long.MIN_VALUE and
Long.MAX_VALUE if no samples were present, they now return 0 if no samples
are found.
- LineChart: Same fix as above.
- LineChart: fixed a bug in the setSampleColors(Color[] colors) that always caused the third color 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: setTargetValueLine(String id, double value, Color color, int style) was added, which enables you to define
a value line with the specified ID, value color and style.
- BarChart/LineChart: public double getTargetValueLine(String id) eas added.
- BarChart/LineChart: adding TARGET_LINE_NO_LABEL, TARGET_LINE_ID_LABEL, TARGET_LINE_VALUE_LABEL,
TARGET_LINE_ID_AND_VALUE_LABEL as styles for the target value lines.
- BarChart/LineChart: public int getValuePosition(double value) was added, which gets the position in the chart for a given value.
- BarChart/LineChart: public void setRangeLabelsOn(boolean on) was added, which enables you to turn on or off the range labels of the chart.
- BarChart/LineChart: public boolean isRangeLabelsOn() was added.
- You can now append a value to the BarChart or LineChart.
- BarChart: an appendSample(double value, boolean makeSpace) method was added.
- LineChart: an appendSample(int serie, double value, boolean makeSpace) method was added.
- LineChart now stops drawing a line if the current number of values in a series is less than the total number of samples for the chart.
- LineChart.getFloatMaxValue(): Fixed a bug that prevented getting maximum values of less than 0.
- LineChart.getFloatMinValue(): Fixed a bug that prevented getting minimum values larger than 0.
- LineChart: A selected line is now drawn much more clearly.
- Chart.setSampleValues(double[] values) now keeps the original number of samples in the chart, instead of setting the number
of samples to the number of values passed in.
- Chart.getFloatMaxValue(): Fixed a bug that prevented getting maximum values of less than 0.
- Chart.getMaxValue(): Fixed a bug that prevented getting maximum values of less than 0.
- Chart: fixed a bug in the setSampleCount(..) method, that removed the last value in the original samples.
- PieChart: void setSampleLabelsOn(boolean) was added, which displays the sample labels when the mouse pointer is above a pie segment.
- PieChart: boolean isSampleLabelsOn() was added.
- PieChartApplet: a sampleLabelsOn parameter tag was added.
Changes from version 1.3.2 to 1.3.3
- BarChart: Rectangle getGraphBounds() was made public so one can get the bounds of the chart itself.
- LineChart: Rectangle getGraphBounds() was made public so one can get the bounds of the chart itself.
- PieChart: a Rectangle getGraphBounds() was added.
- LineChart: A bug was fixed in the setSampleCount() and setSampleSeries() methods that caused a runtime error while setting the
samples after a call to these methods.
Changes from version 1.3.1 to 1.3.2
- LineChart: void setSeriesLabels(String[] labels) was added.
- LineChart: String[] getSeriesLabels() was added.
- LineChart: String getSeriesLabel(int serie) was added.
Changes from version 1.3 to 1.3.1
- Methods were added to LineChart to set/get series samples.
- LineChart: ChartSample[] getSamples(int serie) was added.
- LineChart: ChartSample getSample(int serie, int index) was added.
- LineChart: long[] getSampleValues(int serie) was added.
- LineChart: double[] getFloatSampleValues(int serie) was added.
- LineChart: long getSampleValue(int serie, int index) was added.
- LineChart: double getFloatSampleValue(int serie, int index) was added.
- Version information was added to the charts.
- Chart: public static String getVersion() was added.
- Chart: java com.objectplanet.chart.Chart will display the version number of the charts you have installed.
Changes from version 1.2 to 1.3
- Negative number support was added for the BarChart and LineChart:
- A BarChart(int count, double range, double lowerRange) constructor was added.
- BarChart: a setLowerRange(double range) method was added.
- BarChart: a long getLowerRange() method was added.
- BarChart: a double getFloatLowerRange() method was added.
- BarChart: a setLowerRelativeRange(double range) method was added.
- BarChartApplet: a lowerRange parameter tag was added.
- A LineChart(int seriesCount, int sampleCount, double range, double lowerRange) constructor was added.
- LineChart: a setLowerRange(double range) method was added.
- LineChart: a long getLowerRange() method was added.
- LineChart: a double getFloatLowerRange() method was added.
- LineChart: a setLowerRelativeRange(double range) method was added.
- LineChartApplet: a lowerRange param tag was added.
- Chart: a long getMinValue() method was added.
- Chart: a double getFloatMinValue() method was added.
- Misc. changes
- BarChart: setBarAlignment() now throws an IllegalArgumentException if an illegal alignment parameter is passed in.
- Chart: setLegendPosition() now throws an IllegalArgumentException if an illegal position parameter is passed in.
Changes from version 1.1 to 1.2
- Floating point number support was added:
- Chart: The setSample(..) methods now take a double instead of a long for the sample value.
- Chart: A setSampleValues(double[] values) method was added.
- Chart: A double[] getFloatSampleValues() method was added.
- Chart: A double getFloatSampleValue(int index) method was added.
- Chart: A setSampleDecimalCount(int count) and getSampleDecimalCount() method were added.
- Chart: A double getFloatMaxValue() method was added.
- BarChart:The setRange(long) method changed to setRange(double)
- BarChart:The old setRange(double) was renamed to setRelativeRange(double)
- BarChart:A double getFloatRange() method was added.
- BarChart:A setRangeDecimalCount(int count) method was added.
- BarChart:A int getRangeDecimalCount() method was added.
- LineChart:A setSampleValues(int index, double[] values) method was added.
- LineChart:The setRange(long) method changed to setRange(double).
- LineChart:The old setRange(double) was renamed to setRelativeRange(double)
- LineChart:A double getFloatRange() method was added.
- LineChart:A setRangeDecimalCount(int count) method was added.
- LineChart:A int getRangeDecimalCount() method was added.
- PieChart:A setPercentDecimalCount(int count) method was added.
- PieChart:A int getPercentDecimalCount() method was added.
- BarChartApplet: a rangeDecimalCount param tag was added.
- LineChartApplet: a rangeDecimalCount param tag was added.
- PieChartApplet: a percentDecimalCount param tag was added.
- Configurable sample colors were added:
- Chart: A setSampleColors(Color[] colors) method was added.
- Chart: A Color[] getSampleColors() method was added.
- Chart: A setSampleColor(int index, Color color) was added.
- Chart: The Color getSampleColor(int index) was made public.
- BarChart:The setBarColor() and getBarColor() methods were made deprecated,
setSampleColor(0, color)
and
getSampleColor(0)
should be used instead.
- LineChart:The setLineColor() and getLineColor() methods were made deprecated,
setSampleColor(0,
color)
and getSampleColor(0)
should be used instead.
- ChartApplet: a sampleColors param tag was added to the chart applets.
- LineChartApplet: the lineColor param tag was removed, use the sampleColors param tag instead.
- Misc. changes:
- Chart: The charts were made lightweight, which made it usable with Swing.
- Chart: The charts does no longer use double buffering.
- A NonFlickerPanel class was added which should be used to avoid flickering when updating the charts frequently.
- Chart: Printing was fixed in applications.
- Chart: Fixing a bug with the legend placement when placed on top.
- Chart: The assertion windows were removed and IllegalArgumentException is used instead when an illegal argument is passed to a method.
- BarChart: Fixing some bugs in the sizing and placement of the barchart when different features are turned on and off.
- LineChart: The lines were made 1 pixel wide instead of 2 when unselected, and 2 pixels wide instead of 1 when selected.
- LineChart: Fixed a bug that caused the lines to be drawn over other lightweight components such as in Swing.
- PieChart: A double getPercentValue(int index) method was added.
Changes from version 1.0 to 1.1
- The BarChartApplet and LineChartApplet now adjust their range to the maximum value by default, if no explisit range is set.
- A setTitleFont() and getTitleFont() method were added.
Contact
If you have any questions, comments, bug reports, or feature enhancement requests
please contact us at http://objectplanet.com/support.html
Copyright (C) 1998-2010
ObjectPlanet, Inc.