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.
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 it's 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 send an email to
mail@objectplanet.com or call (+47) 2233 3360.
Copyright (C) 1998-2003
ObjectPlanet, Inc.
(+47) 2233 3360
mail@objectplanet.com