From: <mu...@us...> - 2007-09-26 13:34:40
|
Revision: 188 http://jfreechart.svn.sourceforge.net/jfreechart/?rev=188&view=rev Author: mungady Date: 2007-09-26 06:34:39 -0700 (Wed, 26 Sep 2007) Log Message: ----------- 2007-09-26 David Gilbert <dav...@ob...> * source/org/jfree/chart/renderer/xy/XYBarRenderer.java (drawItem): Apply margin in a way that works for inverted axes. Modified Paths: -------------- trunk/ChangeLog trunk/source/org/jfree/chart/renderer/xy/XYBarRenderer.java Modified: trunk/ChangeLog =================================================================== --- trunk/ChangeLog 2007-09-26 13:29:57 UTC (rev 187) +++ trunk/ChangeLog 2007-09-26 13:34:39 UTC (rev 188) @@ -1,5 +1,10 @@ 2007-09-26 David Gilbert <dav...@ob...> + * source/org/jfree/chart/renderer/xy/XYBarRenderer.java + (drawItem): Apply margin in a way that works for inverted axes. + +2007-09-26 David Gilbert <dav...@ob...> + * source/org/jfree/chart/plot/PlotUtilities.java: New class, * source/org/jfree/data/general/DatasetUtilities.java (isEmptyOrNull(XYDataset)): Return early if not empty, Modified: trunk/source/org/jfree/chart/renderer/xy/XYBarRenderer.java =================================================================== --- trunk/source/org/jfree/chart/renderer/xy/XYBarRenderer.java 2007-09-26 13:29:57 UTC (rev 187) +++ trunk/source/org/jfree/chart/renderer/xy/XYBarRenderer.java 2007-09-26 13:34:39 UTC (rev 188) @@ -33,6 +33,7 @@ * Contributor(s): Richard Atkinson; * Christian W. Zuckschwerdt; * Bill Kelemen; + * Marc van Glabbeek (bug 1775452); * * $Id: XYBarRenderer.java,v 1.14.2.17 2007/06/15 12:43:24 mungady Exp $ * @@ -88,6 +89,8 @@ * 15-Jun-2007 : Changed default for drawBarOutline to false (DG); * 20-Jun-2007 : Removed JCommon dependencies (DG); * 27-Jun-2007 : Updated drawItem() to use addEntity() (DG); + * 26-Sep-2007 : Fixed bug 1775452, problem with bar margins for inverted + * axes, thanks to Marc van Glabbeek (DG); * */ @@ -627,11 +630,12 @@ double translatedWidth = Math.max(1, Math.abs(translatedEndX - translatedStartX)); - + + double left = Math.min(translatedStartX, translatedEndX); if (getMargin() > 0.0) { double cut = translatedWidth * getMargin(); translatedWidth = translatedWidth - cut; - translatedStartX = translatedStartX + cut / 2; + left = left + cut / 2; } Rectangle2D bar = null; @@ -641,18 +645,14 @@ bottom = Math.max(bottom, dataArea.getMinX()); top = Math.min(top, dataArea.getMaxX()); bar = new Rectangle2D.Double( - bottom, - Math.min(translatedStartX, translatedEndX), - top - bottom, translatedWidth); + bottom, left, top - bottom, translatedWidth); } else if (orientation == PlotOrientation.VERTICAL) { // clip top and bottom bounds to data area bottom = Math.max(bottom, dataArea.getMinY()); top = Math.min(top, dataArea.getMaxY()); - bar = new Rectangle2D.Double( - Math.min(translatedStartX, translatedEndX), - bottom, - translatedWidth, top - bottom); + bar = new Rectangle2D.Double(left, bottom, translatedWidth, + top - bottom); } Paint itemPaint = getItemPaint(series, item); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |