diff --git a/prism/src/userinterface/graph/PrismLogarithmicAxis.java b/prism/src/userinterface/graph/PrismLogarithmicAxis.java index be3d9159..77b729a9 100644 --- a/prism/src/userinterface/graph/PrismLogarithmicAxis.java +++ b/prism/src/userinterface/graph/PrismLogarithmicAxis.java @@ -1,6 +1,17 @@ //============================================================================== // -// Copyright (c) 2002- +// This file is a modification of the following JFreeChart files: +// * org.jfree.chart.axis.LogarithmicAxis (version 1.0.6) +// * org.jfree.experimental.chart.axis.LogAxis (revision 1.1.2.2) +// +// The notices of these files follow below. +// +// The modification combines features of both implementations. Most notably, it +// is possible to select a custom base value (like LogAxis), render points +// smaller than the base value more sensibly (e.g. negative powers like +// 10*2^(-3)), and chooses more sensible grid lines. +// +// These modifications are copyright (c) 2002- // Authors: // * Mark Kattenbelt (University of Oxford) // @@ -24,11 +35,114 @@ // //============================================================================== -/** - * Axis implementation based on: - * - * - org.jfree.experimental.chart.axis.LogAxis - * - org.jfree.chart.axis.LogarithmicAxis +/* =========================================================== + * JFreeChart : a free chart library for the Java(tm) platform + * =========================================================== + * + * (C) Copyright 2000-2007, by Object Refinery Limited and Contributors. + * + * Project Info: http://www.jfree.org/jfreechart/index.html + * + * This library is free software; you can redistribute it and/or modify it + * under the terms of the GNU Lesser General Public License as published by + * the Free Software Foundation; either version 2.1 of the License, or + * (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY + * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public + * License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, + * USA. + * + * [Java is a trademark or registered trademark of Sun Microsystems, Inc. + * in the United States and other countries.] + * + * -------------------- + * LogarithmicAxis.java + * -------------------- + * (C) Copyright 2000-2007, by Object Refinery Limited and Contributors. + * + * Original Author: Michael Duffy / Eric Thomas; + * Contributor(s): David Gilbert (for Object Refinery Limited); + * David M. O'Donnell; + * Scott Sams; + * Sergei Ivanov; + * + * $Id: LogarithmicAxis.java,v 1.11.2.5 2007/03/22 12:13:27 mungady Exp $ + * + * Changes + * ------- + * 14-Mar-2002 : Version 1 contributed by Michael Duffy (DG); + * 19-Apr-2002 : drawVerticalString() is now drawRotatedString() in + * RefineryUtilities (DG); + * 23-Apr-2002 : Added a range property (DG); + * 15-May-2002 : Modified to be able to deal with negative and zero values (via + * new 'adjustedLog10()' method); occurrences of "Math.log(10)" + * changed to "LOG10_VALUE"; changed 'intValue()' to + * 'longValue()' in 'refreshTicks()' to fix label-text value + * out-of-range problem; removed 'draw()' method; added + * 'autoRangeMinimumSize' check; added 'log10TickLabelsFlag' + * parameter flag and implementation (ET); + * 25-Jun-2002 : Removed redundant import (DG); + * 25-Jul-2002 : Changed order of parameters in ValueAxis constructor (DG); + * 16-Jul-2002 : Implemented support for plotting positive values arbitrarily + * close to zero (added 'allowNegativesFlag' flag) (ET). + * 05-Sep-2002 : Updated constructor reflecting changes in the Axis class (DG); + * 02-Oct-2002 : Fixed errors reported by Checkstyle (DG); + * 08-Nov-2002 : Moved to new package com.jrefinery.chart.axis (DG); + * 22-Nov-2002 : Bug fixes from David M. O'Donnell (DG); + * 14-Jan-2003 : Changed autoRangeMinimumSize from Number --> double (DG); + * 20-Jan-2003 : Removed unnecessary constructors (DG); + * 26-Mar-2003 : Implemented Serializable (DG); + * 08-May-2003 : Fixed plotting of datasets with lower==upper bounds when + * 'minAutoRange' is very small; added 'strictValuesFlag' + * and default functionality of throwing a runtime exception + * if 'allowNegativesFlag' is false and any values are less + * than or equal to zero; added 'expTickLabelsFlag' and + * changed to use "1e#"-style tick labels by default + * ("10^n"-style tick labels still supported via 'set' + * method); improved generation of tick labels when range of + * values is small; changed to use 'NumberFormat.getInstance()' + * to create 'numberFormatterObj' (ET); + * 14-May-2003 : Merged HorizontalLogarithmicAxis and + * VerticalLogarithmicAxis (DG); + * 29-Oct-2003 : Added workaround for font alignment in PDF output (DG); + * 07-Nov-2003 : Modified to use new NumberTick class (DG); + * 08-Apr-2004 : Use numberFormatOverride if set - see patch 930139 (DG); + * 11-Jan-2005 : Removed deprecated code in preparation for 1.0.0 release (DG); + * 21-Apr-2005 : Added support for upper and lower margins; added + * get/setAutoRangeNextLogFlag() methods and changed + * default to 'autoRangeNextLogFlag'==false (ET); + * 22-Apr-2005 : Removed refreshTicks() and fixed names and parameters for + * refreshHorizontalTicks() & refreshVerticalTicks(); + * changed javadoc on setExpTickLabelsFlag() to specify + * proper default (ET); + * 22-Apr-2005 : Renamed refreshHorizontalTicks --> refreshTicksHorizontal + * (and likewise the vertical version) for consistency with + * other axis classes (DG); + * ------------- JFREECHART 1.0.x --------------------------------------------- + * 02-Feb-2007 : Removed author tags all over JFreeChart sources (DG); + * 02-Mar-2007 : Applied patch 1671069 to fix zooming (DG); + * 22-Mar-2007 : Use new defaultAutoRange attribute (DG); + * + * ------------ + * LogAxis.java + * ------------ + * (C) Copyright 2006, 2007, by Object Refinery Limited and Contributors. + * + * Original Author: David Gilbert (for Object Refinery Limited); + * Contributor(s): -; + * + * $Id: LogAxis.java,v 1.1.2.2 2007/03/22 16:39:18 mungady Exp $ + * + * Changes + * ------- + * 24-Aug-2006 : Version 1 (DG); + * 22-Mar-2007 : Use defaultAutoArrange attribute (DG); */ package userinterface.graph;