|
|
|
@ -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 <mark.kattenbelt@comlab.ox.ac.uk> (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; |
|
|
|
|