From: <mu...@us...> - 2011-10-10 21:47:15
|
Revision: 2303 http://jfreechart.svn.sourceforge.net/jfreechart/?rev=2303&view=rev Author: mungady Date: 2011-10-10 21:47:08 +0000 (Mon, 10 Oct 2011) Log Message: ----------- Fixed line endings (from Windows to Unix) Modified Paths: -------------- branches/jfreechart-1.0.x-branch/experimental/org/jfree/experimental/chart/demo/CombinedCategoryPlotDemo1.java branches/jfreechart-1.0.x-branch/experimental/org/jfree/experimental/chart/demo/CombinedXYPlotDemo1.java branches/jfreechart-1.0.x-branch/experimental/org/jfree/experimental/chart/plot/CombinedCategoryPlot.java branches/jfreechart-1.0.x-branch/experimental/org/jfree/experimental/chart/plot/CombinedXYPlot.java Modified: branches/jfreechart-1.0.x-branch/experimental/org/jfree/experimental/chart/demo/CombinedCategoryPlotDemo1.java =================================================================== --- branches/jfreechart-1.0.x-branch/experimental/org/jfree/experimental/chart/demo/CombinedCategoryPlotDemo1.java 2011-10-10 20:57:19 UTC (rev 2302) +++ branches/jfreechart-1.0.x-branch/experimental/org/jfree/experimental/chart/demo/CombinedCategoryPlotDemo1.java 2011-10-10 21:47:08 UTC (rev 2303) @@ -1,223 +1,223 @@ -/* =========================================================== - * JFreeChart : a free chart library for the Java(tm) platform - * =========================================================== - * - * (C) Copyright 2000-2008, 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.] - * - * ------------------------------ - * CombinedCategoryPlotDemo1.java - * ------------------------------ - * (C) Copyright 2008, by Object Refinery Limited and Contributors. - * - * Original Author: David Gilbert (for Object Refinery Limited); - * Contributor(s): ; - * - * Changes - * ------- - * 05-May-2008 : Version 1 (DG); - * - */ - -package org.jfree.experimental.chart.demo; - -import java.awt.Font; - -import javax.swing.JPanel; - -import org.jfree.chart.ChartPanel; -import org.jfree.chart.JFreeChart; -import org.jfree.chart.axis.CategoryAxis; -import org.jfree.chart.axis.NumberAxis; -import org.jfree.chart.labels.StandardCategoryToolTipGenerator; -import org.jfree.chart.plot.CategoryPlot; -import org.jfree.chart.renderer.category.BarRenderer; -import org.jfree.chart.renderer.category.LineAndShapeRenderer; -import org.jfree.data.category.CategoryDataset; -import org.jfree.data.category.DefaultCategoryDataset; -import org.jfree.experimental.chart.plot.CombinedCategoryPlot; -import org.jfree.ui.ApplicationFrame; -import org.jfree.ui.RefineryUtilities; - -/** - * A demo for the {@link CombinedCategoryPlot} class. - */ -public class CombinedCategoryPlotDemo1 extends ApplicationFrame { - - /** - * Creates a new demo instance. - * - * @param title the frame title. - */ - public CombinedCategoryPlotDemo1(String title) { - super(title); - JPanel chartPanel = createDemoPanel(); - chartPanel.setPreferredSize(new java.awt.Dimension(500, 270)); - setContentPane(chartPanel); - } - - /** - * Creates a dataset. - * - * @return A dataset. - */ - public static CategoryDataset createDataset1() { - DefaultCategoryDataset result = new DefaultCategoryDataset(); - String series1 = "First"; - String series2 = "Second"; - String type1 = "Type 1"; - String type2 = "Type 2"; - String type3 = "Type 3"; - String type4 = "Type 4"; - String type5 = "Type 5"; - String type6 = "Type 6"; - String type7 = "Type 7"; - String type8 = "Type 8"; - - result.addValue(1.0, series1, type1); - result.addValue(4.0, series1, type2); - result.addValue(3.0, series1, type3); - result.addValue(5.0, series1, type4); - result.addValue(5.0, series1, type5); - result.addValue(7.0, series1, type6); - result.addValue(7.0, series1, type7); - result.addValue(8.0, series1, type8); - - result.addValue(5.0, series2, type1); - result.addValue(7.0, series2, type2); - result.addValue(6.0, series2, type3); - result.addValue(8.0, series2, type4); - result.addValue(4.0, series2, type5); - result.addValue(4.0, series2, type6); - result.addValue(2.0, series2, type7); - result.addValue(1.0, series2, type8); - - return result; - } - - /** - * Creates a dataset. - * - * @return A dataset. - */ - public static CategoryDataset createDataset2() { - - DefaultCategoryDataset result = new DefaultCategoryDataset(); - - String series1 = "Third"; - String series2 = "Fourth"; - - String type1 = "Type 1"; - String type2 = "Type 2"; - String type3 = "Type 3"; - String type4 = "Type 4"; - String type5 = "Type 5"; - String type6 = "Type 6"; - String type7 = "Type 7"; - String type8 = "Type 8"; - - result.addValue(11.0, series1, type1); - result.addValue(14.0, series1, type2); - result.addValue(13.0, series1, type3); - result.addValue(15.0, series1, type4); - result.addValue(15.0, series1, type5); - result.addValue(17.0, series1, type6); - result.addValue(17.0, series1, type7); - result.addValue(18.0, series1, type8); - - result.addValue(15.0, series2, type1); - result.addValue(17.0, series2, type2); - result.addValue(16.0, series2, type3); - result.addValue(18.0, series2, type4); - result.addValue(14.0, series2, type5); - result.addValue(14.0, series2, type6); - result.addValue(12.0, series2, type7); - result.addValue(11.0, series2, type8); - - return result; - - } - - /** - * Creates a chart. - * - * @return A chart. - */ - private static JFreeChart createChart() { - - CategoryDataset dataset1 = createDataset1(); - NumberAxis rangeAxis1 = new NumberAxis("Value"); - rangeAxis1.setStandardTickUnits(NumberAxis.createIntegerTickUnits()); - LineAndShapeRenderer renderer1 = new LineAndShapeRenderer(); - renderer1.setBaseToolTipGenerator( - new StandardCategoryToolTipGenerator()); - CategoryPlot subplot1 = new CategoryPlot(dataset1, null, rangeAxis1, - renderer1); - subplot1.setDomainGridlinesVisible(true); - - CategoryDataset dataset2 = createDataset2(); - NumberAxis rangeAxis2 = new NumberAxis("Value"); - rangeAxis2.setStandardTickUnits(NumberAxis.createIntegerTickUnits()); - BarRenderer renderer2 = new BarRenderer(); - renderer2.setBaseToolTipGenerator( - new StandardCategoryToolTipGenerator()); - CategoryPlot subplot2 = new CategoryPlot(dataset2, null, rangeAxis2, - renderer2); - subplot2.setDomainGridlinesVisible(true); - - CategoryAxis domainAxis = new CategoryAxis("Category"); - CombinedCategoryPlot plot = new CombinedCategoryPlot( - domainAxis, new NumberAxis("Range")); - plot.add(subplot1, 2); - plot.add(subplot2, 1); - - JFreeChart result = new JFreeChart( - "Combined Domain Category Plot Demo", - new Font("SansSerif", Font.BOLD, 12), plot, true); - return result; - - } - - /** - * Creates a panel for the demo (used by SuperDemo.java). - * - * @return A panel. - */ - public static JPanel createDemoPanel() { - JFreeChart chart = createChart(); - return new ChartPanel(chart); - } - - /** - * Starting point for the demonstration application. - * - * @param args ignored. - */ - public static void main(String[] args) { - String title = "Combined Category Plot Demo 1"; - CombinedCategoryPlotDemo1 demo = new CombinedCategoryPlotDemo1(title); - demo.pack(); - RefineryUtilities.centerFrameOnScreen(demo); - demo.setVisible(true); - } - -} +/* =========================================================== + * JFreeChart : a free chart library for the Java(tm) platform + * =========================================================== + * + * (C) Copyright 2000-2008, 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.] + * + * ------------------------------ + * CombinedCategoryPlotDemo1.java + * ------------------------------ + * (C) Copyright 2008, by Object Refinery Limited and Contributors. + * + * Original Author: David Gilbert (for Object Refinery Limited); + * Contributor(s): ; + * + * Changes + * ------- + * 05-May-2008 : Version 1 (DG); + * + */ + +package org.jfree.experimental.chart.demo; + +import java.awt.Font; + +import javax.swing.JPanel; + +import org.jfree.chart.ChartPanel; +import org.jfree.chart.JFreeChart; +import org.jfree.chart.axis.CategoryAxis; +import org.jfree.chart.axis.NumberAxis; +import org.jfree.chart.labels.StandardCategoryToolTipGenerator; +import org.jfree.chart.plot.CategoryPlot; +import org.jfree.chart.renderer.category.BarRenderer; +import org.jfree.chart.renderer.category.LineAndShapeRenderer; +import org.jfree.data.category.CategoryDataset; +import org.jfree.data.category.DefaultCategoryDataset; +import org.jfree.experimental.chart.plot.CombinedCategoryPlot; +import org.jfree.ui.ApplicationFrame; +import org.jfree.ui.RefineryUtilities; + +/** + * A demo for the {@link CombinedCategoryPlot} class. + */ +public class CombinedCategoryPlotDemo1 extends ApplicationFrame { + + /** + * Creates a new demo instance. + * + * @param title the frame title. + */ + public CombinedCategoryPlotDemo1(String title) { + super(title); + JPanel chartPanel = createDemoPanel(); + chartPanel.setPreferredSize(new java.awt.Dimension(500, 270)); + setContentPane(chartPanel); + } + + /** + * Creates a dataset. + * + * @return A dataset. + */ + public static CategoryDataset createDataset1() { + DefaultCategoryDataset result = new DefaultCategoryDataset(); + String series1 = "First"; + String series2 = "Second"; + String type1 = "Type 1"; + String type2 = "Type 2"; + String type3 = "Type 3"; + String type4 = "Type 4"; + String type5 = "Type 5"; + String type6 = "Type 6"; + String type7 = "Type 7"; + String type8 = "Type 8"; + + result.addValue(1.0, series1, type1); + result.addValue(4.0, series1, type2); + result.addValue(3.0, series1, type3); + result.addValue(5.0, series1, type4); + result.addValue(5.0, series1, type5); + result.addValue(7.0, series1, type6); + result.addValue(7.0, series1, type7); + result.addValue(8.0, series1, type8); + + result.addValue(5.0, series2, type1); + result.addValue(7.0, series2, type2); + result.addValue(6.0, series2, type3); + result.addValue(8.0, series2, type4); + result.addValue(4.0, series2, type5); + result.addValue(4.0, series2, type6); + result.addValue(2.0, series2, type7); + result.addValue(1.0, series2, type8); + + return result; + } + + /** + * Creates a dataset. + * + * @return A dataset. + */ + public static CategoryDataset createDataset2() { + + DefaultCategoryDataset result = new DefaultCategoryDataset(); + + String series1 = "Third"; + String series2 = "Fourth"; + + String type1 = "Type 1"; + String type2 = "Type 2"; + String type3 = "Type 3"; + String type4 = "Type 4"; + String type5 = "Type 5"; + String type6 = "Type 6"; + String type7 = "Type 7"; + String type8 = "Type 8"; + + result.addValue(11.0, series1, type1); + result.addValue(14.0, series1, type2); + result.addValue(13.0, series1, type3); + result.addValue(15.0, series1, type4); + result.addValue(15.0, series1, type5); + result.addValue(17.0, series1, type6); + result.addValue(17.0, series1, type7); + result.addValue(18.0, series1, type8); + + result.addValue(15.0, series2, type1); + result.addValue(17.0, series2, type2); + result.addValue(16.0, series2, type3); + result.addValue(18.0, series2, type4); + result.addValue(14.0, series2, type5); + result.addValue(14.0, series2, type6); + result.addValue(12.0, series2, type7); + result.addValue(11.0, series2, type8); + + return result; + + } + + /** + * Creates a chart. + * + * @return A chart. + */ + private static JFreeChart createChart() { + + CategoryDataset dataset1 = createDataset1(); + NumberAxis rangeAxis1 = new NumberAxis("Value"); + rangeAxis1.setStandardTickUnits(NumberAxis.createIntegerTickUnits()); + LineAndShapeRenderer renderer1 = new LineAndShapeRenderer(); + renderer1.setBaseToolTipGenerator( + new StandardCategoryToolTipGenerator()); + CategoryPlot subplot1 = new CategoryPlot(dataset1, null, rangeAxis1, + renderer1); + subplot1.setDomainGridlinesVisible(true); + + CategoryDataset dataset2 = createDataset2(); + NumberAxis rangeAxis2 = new NumberAxis("Value"); + rangeAxis2.setStandardTickUnits(NumberAxis.createIntegerTickUnits()); + BarRenderer renderer2 = new BarRenderer(); + renderer2.setBaseToolTipGenerator( + new StandardCategoryToolTipGenerator()); + CategoryPlot subplot2 = new CategoryPlot(dataset2, null, rangeAxis2, + renderer2); + subplot2.setDomainGridlinesVisible(true); + + CategoryAxis domainAxis = new CategoryAxis("Category"); + CombinedCategoryPlot plot = new CombinedCategoryPlot( + domainAxis, new NumberAxis("Range")); + plot.add(subplot1, 2); + plot.add(subplot2, 1); + + JFreeChart result = new JFreeChart( + "Combined Domain Category Plot Demo", + new Font("SansSerif", Font.BOLD, 12), plot, true); + return result; + + } + + /** + * Creates a panel for the demo (used by SuperDemo.java). + * + * @return A panel. + */ + public static JPanel createDemoPanel() { + JFreeChart chart = createChart(); + return new ChartPanel(chart); + } + + /** + * Starting point for the demonstration application. + * + * @param args ignored. + */ + public static void main(String[] args) { + String title = "Combined Category Plot Demo 1"; + CombinedCategoryPlotDemo1 demo = new CombinedCategoryPlotDemo1(title); + demo.pack(); + RefineryUtilities.centerFrameOnScreen(demo); + demo.setVisible(true); + } + +} Modified: branches/jfreechart-1.0.x-branch/experimental/org/jfree/experimental/chart/demo/CombinedXYPlotDemo1.java =================================================================== --- branches/jfreechart-1.0.x-branch/experimental/org/jfree/experimental/chart/demo/CombinedXYPlotDemo1.java 2011-10-10 20:57:19 UTC (rev 2302) +++ branches/jfreechart-1.0.x-branch/experimental/org/jfree/experimental/chart/demo/CombinedXYPlotDemo1.java 2011-10-10 21:47:08 UTC (rev 2303) @@ -1,262 +1,262 @@ -/* =========================================================== - * JFreeChart : a free chart library for the Java(tm) platform - * =========================================================== - * - * (C) Copyright 2000-2009, 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.] - * - * ------------------------ - * CombinedXYPlotDemo1.java - * ------------------------ - * (C) Copyright 2008, 2009, by Object Refinery Limited and Contributors. - * - * Original Author: David Gilbert (for Object Refinery Limited); - * Contributor(s): ; - * - * Changes - * ------- - * 05-May-2008 : Version 1 (DG); - * - */ - -package org.jfree.experimental.chart.demo; - -import java.awt.BasicStroke; -import java.awt.Color; -import java.awt.Paint; -import java.text.DecimalFormat; -import java.text.SimpleDateFormat; - -import javax.swing.JPanel; - -import org.jfree.chart.ChartPanel; -import org.jfree.chart.JFreeChart; -import org.jfree.chart.axis.DateAxis; -import org.jfree.chart.axis.NumberAxis; -import org.jfree.chart.axis.ValueAxis; -import org.jfree.chart.labels.StandardXYToolTipGenerator; -import org.jfree.chart.plot.XYPlot; -import org.jfree.chart.renderer.xy.XYBarRenderer; -import org.jfree.chart.renderer.xy.XYItemRenderer; -import org.jfree.chart.renderer.xy.XYLineAndShapeRenderer; -import org.jfree.chart.title.LegendTitle; -import org.jfree.data.time.Month; -import org.jfree.data.time.TimeSeries; -import org.jfree.data.time.TimeSeriesCollection; -import org.jfree.data.xy.IntervalXYDataset; -import org.jfree.data.xy.XYDataset; -import org.jfree.experimental.chart.plot.CombinedXYPlot; -import org.jfree.ui.ApplicationFrame; -import org.jfree.ui.RefineryUtilities; - -/** - * A demonstration application showing a {@link CombinedXYPlot} with - * two subplots. - */ -public class CombinedXYPlotDemo1 extends ApplicationFrame { - - /** - * Constructs a new demonstration application. - * - * @param title the frame title. - */ - public CombinedXYPlotDemo1(String title) { - super(title); - JPanel panel = createDemoPanel(); - panel.setPreferredSize(new java.awt.Dimension(500, 270)); - setContentPane(panel); - } - - /** - * Creates an overlaid chart. - * - * @return The chart. - */ - private static JFreeChart createCombinedChart() { - - // create plot ... - IntervalXYDataset data1 = createDataset1(); - XYItemRenderer renderer1 = new XYLineAndShapeRenderer(true, false); - renderer1.setBaseToolTipGenerator(new StandardXYToolTipGenerator( - StandardXYToolTipGenerator.DEFAULT_TOOL_TIP_FORMAT, - new SimpleDateFormat("d-MMM-yyyy"), new DecimalFormat("0.00"))); - renderer1.setSeriesStroke(0, new BasicStroke(4.0f, - BasicStroke.CAP_ROUND, BasicStroke.JOIN_BEVEL)); - renderer1.setSeriesPaint(0, Color.blue); - - DateAxis domainAxis = new DateAxis("Year"); - domainAxis.setLowerMargin(0.0); - domainAxis.setUpperMargin(0.02); - ValueAxis rangeAxis = new NumberAxis("$billion"); - XYPlot plot1 = new XYPlot(data1, null, rangeAxis, renderer1); - plot1.setBackgroundPaint(Color.lightGray); - plot1.setDomainGridlinePaint(Color.white); - plot1.setRangeGridlinePaint(Color.white); - - // add a second dataset and renderer... - IntervalXYDataset data2 = createDataset2(); - XYBarRenderer renderer2 = new XYBarRenderer() { - public Paint getItemPaint(int series, int item) { - XYDataset dataset = getPlot().getDataset(); - if (dataset.getYValue(series, item) >= 0.0) { - return Color.red; - } - else { - return Color.green; - } - } - }; - renderer2.setSeriesPaint(0, Color.red); - renderer2.setDrawBarOutline(false); - renderer2.setBaseToolTipGenerator(new StandardXYToolTipGenerator( - StandardXYToolTipGenerator.DEFAULT_TOOL_TIP_FORMAT, - new SimpleDateFormat("d-MMM-yyyy"), new DecimalFormat("0.00"))); - - XYPlot plot2 = new XYPlot(data2, null, new NumberAxis("$billion"), - renderer2); - plot2.setBackgroundPaint(Color.lightGray); - plot2.setDomainGridlinePaint(Color.white); - plot2.setRangeGridlinePaint(Color.white); - - CombinedXYPlot cplot = new CombinedXYPlot(domainAxis, rangeAxis); - cplot.add(plot1, 3); - cplot.add(plot2, 2); - cplot.setGap(8.0); - cplot.setDomainGridlinePaint(Color.white); - cplot.setDomainGridlinesVisible(true); - - // return a new chart containing the overlaid plot... - JFreeChart chart = new JFreeChart("CombinedXYPlotDemo1", - JFreeChart.DEFAULT_TITLE_FONT, cplot, false); - chart.setBackgroundPaint(Color.white); - LegendTitle legend = new LegendTitle(cplot); - chart.addSubtitle(legend); - return chart; - } - - /** - * Creates a sample dataset. You wouldn't normally hard-code the - * population of a dataset in this way (it would be better to read the - * values from a file or a database query), but for a self-contained demo - * this is the least complicated solution. - * - * @return The dataset. - */ - private static IntervalXYDataset createDataset1() { - - // create dataset 1... - TimeSeries series1 = new TimeSeries("Series 1"); - series1.add(new Month(1, 2005), 7627.743); - series1.add(new Month(2, 2005), 7713.138); - series1.add(new Month(3, 2005), 6776.939); - series1.add(new Month(4, 2005), 5764.537); - series1.add(new Month(5, 2005), 4777.880); - series1.add(new Month(6, 2005), 4836.496); - series1.add(new Month(7, 2005), 3887.618); - series1.add(new Month(8, 2005), 3926.933); - series1.add(new Month(9, 2005), 4932.710); - series1.add(new Month(10, 2005), 4027.123); - series1.add(new Month(11, 2005), 8092.322); - series1.add(new Month(12, 2005), 8170.414); - series1.add(new Month(1, 2006), 8196.070); - series1.add(new Month(2, 2006), 8269.886); - series1.add(new Month(3, 2006), 5371.156); - series1.add(new Month(4, 2006), 5355.718); - series1.add(new Month(5, 2006), 5356.777); - series1.add(new Month(6, 2006), 8420.042); - series1.add(new Month(7, 2006), 8444.347); - series1.add(new Month(8, 2006), 8515.034); - series1.add(new Month(9, 2006), 8506.974); - series1.add(new Month(10, 2006), 8584.329); - series1.add(new Month(11, 2006), 8633.246); - series1.add(new Month(12, 2006), 8680.224); - series1.add(new Month(1, 2007), 8707.561); - return new TimeSeriesCollection(series1); - - } - - /** - * Creates a sample dataset. You wouldn't normally hard-code the - * population of a dataset in this way (it would be better to read the - * values from a file or a database query), but for a self-contained demo - * this is the least complicated solution. - * - * @return A sample dataset. - */ - private static IntervalXYDataset createDataset2() { - TimeSeriesCollection dataset = new TimeSeriesCollection(); - - TimeSeries series1 = new TimeSeries("Series 2"); - series1.add(new Month(1, 2005), 1200); - series1.add(new Month(2, 2005), 1400); - series1.add(new Month(3, 2005), 1500); - series1.add(new Month(4, 2005), 1700); - series1.add(new Month(5, 2005), 1600); - series1.add(new Month(6, 2005), 2400); - series1.add(new Month(7, 2005), 2100); - series1.add(new Month(8, 2005), 2200); - series1.add(new Month(9, 2005), 800); - series1.add(new Month(10, 2005), 2350); - series1.add(new Month(11, 2005), 500); - series1.add(new Month(12, 2005), 700); - series1.add(new Month(1, 2006), 900); - series1.add(new Month(2, 2006), 1500); - series1.add(new Month(3, 2006), 2100); - series1.add(new Month(4, 2006), 2200); - series1.add(new Month(5, 2006), 1900); - series1.add(new Month(6, 2006), 3000); - series1.add(new Month(7, 2006), 3780); - series1.add(new Month(8, 2006), 4000); - series1.add(new Month(9, 2006), 4500); - series1.add(new Month(10, 2006), 7000); - series1.add(new Month(11, 2006), 5500); - series1.add(new Month(12, 2006), 6000); - series1.add(new Month(1, 2007), 6500); - dataset.addSeries(series1); - return dataset; - - } - - /** - * Creates a panel for the demo (used by SuperDemo.java). - * - * @return A panel. - */ - public static JPanel createDemoPanel() { - JFreeChart chart = createCombinedChart(); - return new ChartPanel(chart); - } - - /** - * Starting point for the demonstration application. - * - * @param args ignored. - */ - public static void main(String[] args) { - CombinedXYPlotDemo1 demo = new CombinedXYPlotDemo1( - "JFreeChart : CombinedXYPlotDemo1"); - demo.pack(); - RefineryUtilities.centerFrameOnScreen(demo); - demo.setVisible(true); - } - -} +/* =========================================================== + * JFreeChart : a free chart library for the Java(tm) platform + * =========================================================== + * + * (C) Copyright 2000-2009, 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.] + * + * ------------------------ + * CombinedXYPlotDemo1.java + * ------------------------ + * (C) Copyright 2008, 2009, by Object Refinery Limited and Contributors. + * + * Original Author: David Gilbert (for Object Refinery Limited); + * Contributor(s): ; + * + * Changes + * ------- + * 05-May-2008 : Version 1 (DG); + * + */ + +package org.jfree.experimental.chart.demo; + +import java.awt.BasicStroke; +import java.awt.Color; +import java.awt.Paint; +import java.text.DecimalFormat; +import java.text.SimpleDateFormat; + +import javax.swing.JPanel; + +import org.jfree.chart.ChartPanel; +import org.jfree.chart.JFreeChart; +import org.jfree.chart.axis.DateAxis; +import org.jfree.chart.axis.NumberAxis; +import org.jfree.chart.axis.ValueAxis; +import org.jfree.chart.labels.StandardXYToolTipGenerator; +import org.jfree.chart.plot.XYPlot; +import org.jfree.chart.renderer.xy.XYBarRenderer; +import org.jfree.chart.renderer.xy.XYItemRenderer; +import org.jfree.chart.renderer.xy.XYLineAndShapeRenderer; +import org.jfree.chart.title.LegendTitle; +import org.jfree.data.time.Month; +import org.jfree.data.time.TimeSeries; +import org.jfree.data.time.TimeSeriesCollection; +import org.jfree.data.xy.IntervalXYDataset; +import org.jfree.data.xy.XYDataset; +import org.jfree.experimental.chart.plot.CombinedXYPlot; +import org.jfree.ui.ApplicationFrame; +import org.jfree.ui.RefineryUtilities; + +/** + * A demonstration application showing a {@link CombinedXYPlot} with + * two subplots. + */ +public class CombinedXYPlotDemo1 extends ApplicationFrame { + + /** + * Constructs a new demonstration application. + * + * @param title the frame title. + */ + public CombinedXYPlotDemo1(String title) { + super(title); + JPanel panel = createDemoPanel(); + panel.setPreferredSize(new java.awt.Dimension(500, 270)); + setContentPane(panel); + } + + /** + * Creates an overlaid chart. + * + * @return The chart. + */ + private static JFreeChart createCombinedChart() { + + // create plot ... + IntervalXYDataset data1 = createDataset1(); + XYItemRenderer renderer1 = new XYLineAndShapeRenderer(true, false); + renderer1.setBaseToolTipGenerator(new StandardXYToolTipGenerator( + StandardXYToolTipGenerator.DEFAULT_TOOL_TIP_FORMAT, + new SimpleDateFormat("d-MMM-yyyy"), new DecimalFormat("0.00"))); + renderer1.setSeriesStroke(0, new BasicStroke(4.0f, + BasicStroke.CAP_ROUND, BasicStroke.JOIN_BEVEL)); + renderer1.setSeriesPaint(0, Color.blue); + + DateAxis domainAxis = new DateAxis("Year"); + domainAxis.setLowerMargin(0.0); + domainAxis.setUpperMargin(0.02); + ValueAxis rangeAxis = new NumberAxis("$billion"); + XYPlot plot1 = new XYPlot(data1, null, rangeAxis, renderer1); + plot1.setBackgroundPaint(Color.lightGray); + plot1.setDomainGridlinePaint(Color.white); + plot1.setRangeGridlinePaint(Color.white); + + // add a second dataset and renderer... + IntervalXYDataset data2 = createDataset2(); + XYBarRenderer renderer2 = new XYBarRenderer() { + public Paint getItemPaint(int series, int item) { + XYDataset dataset = getPlot().getDataset(); + if (dataset.getYValue(series, item) >= 0.0) { + return Color.red; + } + else { + return Color.green; + } + } + }; + renderer2.setSeriesPaint(0, Color.red); + renderer2.setDrawBarOutline(false); + renderer2.setBaseToolTipGenerator(new StandardXYToolTipGenerator( + StandardXYToolTipGenerator.DEFAULT_TOOL_TIP_FORMAT, + new SimpleDateFormat("d-MMM-yyyy"), new DecimalFormat("0.00"))); + + XYPlot plot2 = new XYPlot(data2, null, new NumberAxis("$billion"), + renderer2); + plot2.setBackgroundPaint(Color.lightGray); + plot2.setDomainGridlinePaint(Color.white); + plot2.setRangeGridlinePaint(Color.white); + + CombinedXYPlot cplot = new CombinedXYPlot(domainAxis, rangeAxis); + cplot.add(plot1, 3); + cplot.add(plot2, 2); + cplot.setGap(8.0); + cplot.setDomainGridlinePaint(Color.white); + cplot.setDomainGridlinesVisible(true); + + // return a new chart containing the overlaid plot... + JFreeChart chart = new JFreeChart("CombinedXYPlotDemo1", + JFreeChart.DEFAULT_TITLE_FONT, cplot, false); + chart.setBackgroundPaint(Color.white); + LegendTitle legend = new LegendTitle(cplot); + chart.addSubtitle(legend); + return chart; + } + + /** + * Creates a sample dataset. You wouldn't normally hard-code the + * population of a dataset in this way (it would be better to read the + * values from a file or a database query), but for a self-contained demo + * this is the least complicated solution. + * + * @return The dataset. + */ + private static IntervalXYDataset createDataset1() { + + // create dataset 1... + TimeSeries series1 = new TimeSeries("Series 1"); + series1.add(new Month(1, 2005), 7627.743); + series1.add(new Month(2, 2005), 7713.138); + series1.add(new Month(3, 2005), 6776.939); + series1.add(new Month(4, 2005), 5764.537); + series1.add(new Month(5, 2005), 4777.880); + series1.add(new Month(6, 2005), 4836.496); + series1.add(new Month(7, 2005), 3887.618); + series1.add(new Month(8, 2005), 3926.933); + series1.add(new Month(9, 2005), 4932.710); + series1.add(new Month(10, 2005), 4027.123); + series1.add(new Month(11, 2005), 8092.322); + series1.add(new Month(12, 2005), 8170.414); + series1.add(new Month(1, 2006), 8196.070); + series1.add(new Month(2, 2006), 8269.886); + series1.add(new Month(3, 2006), 5371.156); + series1.add(new Month(4, 2006), 5355.718); + series1.add(new Month(5, 2006), 5356.777); + series1.add(new Month(6, 2006), 8420.042); + series1.add(new Month(7, 2006), 8444.347); + series1.add(new Month(8, 2006), 8515.034); + series1.add(new Month(9, 2006), 8506.974); + series1.add(new Month(10, 2006), 8584.329); + series1.add(new Month(11, 2006), 8633.246); + series1.add(new Month(12, 2006), 8680.224); + series1.add(new Month(1, 2007), 8707.561); + return new TimeSeriesCollection(series1); + + } + + /** + * Creates a sample dataset. You wouldn't normally hard-code the + * population of a dataset in this way (it would be better to read the + * values from a file or a database query), but for a self-contained demo + * this is the least complicated solution. + * + * @return A sample dataset. + */ + private static IntervalXYDataset createDataset2() { + TimeSeriesCollection dataset = new TimeSeriesCollection(); + + TimeSeries series1 = new TimeSeries("Series 2"); + series1.add(new Month(1, 2005), 1200); + series1.add(new Month(2, 2005), 1400); + series1.add(new Month(3, 2005), 1500); + series1.add(new Month(4, 2005), 1700); + series1.add(new Month(5, 2005), 1600); + series1.add(new Month(6, 2005), 2400); + series1.add(new Month(7, 2005), 2100); + series1.add(new Month(8, 2005), 2200); + series1.add(new Month(9, 2005), 800); + series1.add(new Month(10, 2005), 2350); + series1.add(new Month(11, 2005), 500); + series1.add(new Month(12, 2005), 700); + series1.add(new Month(1, 2006), 900); + series1.add(new Month(2, 2006), 1500); + series1.add(new Month(3, 2006), 2100); + series1.add(new Month(4, 2006), 2200); + series1.add(new Month(5, 2006), 1900); + series1.add(new Month(6, 2006), 3000); + series1.add(new Month(7, 2006), 3780); + series1.add(new Month(8, 2006), 4000); + series1.add(new Month(9, 2006), 4500); + series1.add(new Month(10, 2006), 7000); + series1.add(new Month(11, 2006), 5500); + series1.add(new Month(12, 2006), 6000); + series1.add(new Month(1, 2007), 6500); + dataset.addSeries(series1); + return dataset; + + } + + /** + * Creates a panel for the demo (used by SuperDemo.java). + * + * @return A panel. + */ + public static JPanel createDemoPanel() { + JFreeChart chart = createCombinedChart(); + return new ChartPanel(chart); + } + + /** + * Starting point for the demonstration application. + * + * @param args ignored. + */ + public static void main(String[] args) { + CombinedXYPlotDemo1 demo = new CombinedXYPlotDemo1( + "JFreeChart : CombinedXYPlotDemo1"); + demo.pack(); + RefineryUtilities.centerFrameOnScreen(demo); + demo.setVisible(true); + } + +} Modified: branches/jfreechart-1.0.x-branch/experimental/org/jfree/experimental/chart/plot/CombinedCategoryPlot.java =================================================================== --- branches/jfreechart-1.0.x-branch/experimental/org/jfree/experimental/chart/plot/CombinedCategoryPlot.java 2011-10-10 20:57:19 UTC (rev 2302) +++ branches/jfreechart-1.0.x-branch/experimental/org/jfree/experimental/chart/plot/CombinedCategoryPlot.java 2011-10-10 21:47:08 UTC (rev 2303) @@ -1,139 +1,139 @@ -/* =========================================================== - * JFreeChart : a free chart library for the Java(tm) platform - * =========================================================== - * - * (C) Copyright 2000-2008, 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.] - * - * ------------------------- - * CombinedCategoryPlot.java - * ------------------------- - * (C) Copyright 2008, by Richard West and Contributors. - * - * Original Author: Richard West, Advanced Micro Devices, Inc.; - * Contributor(s): David Gilbert (for Object Refinery Limited); - * - * Changes - * ------- - * 02-Feb-2007 : Version 1, contributed by Richard West - see - * patch 1924543 (DG); - * - */ - -package org.jfree.experimental.chart.plot; - -import java.util.Iterator; - -import org.jfree.chart.axis.CategoryAxis; -import org.jfree.chart.axis.ValueAxis; -import org.jfree.chart.plot.CategoryPlot; -import org.jfree.chart.plot.CombinedDomainCategoryPlot; -import org.jfree.data.Range; - -/** - * A specialised form of {@link CombinedDomainCategoryPlot} where the - * subplots share not only the same x-axis, but also the same y-axis. - */ -public class CombinedCategoryPlot extends CombinedDomainCategoryPlot { - - /** - * Creates a new instance with the specified axes. - * - * @param domainAxis the x-axis. - * @param rangeAxis the y-axis. - */ - public CombinedCategoryPlot (CategoryAxis domainAxis, ValueAxis rangeAxis) { - super(domainAxis); - super.setGap(10.0); - super.setRangeAxis(rangeAxis); - } - - /** - * Adds a new subplot with weight <code>1</code>. - * - * @param subplot the subplot. - */ - public void add(CategoryPlot subplot) { - this.add(subplot, 1); - } - - /** - * Adds a new subplot with the specified weight. - * - * @param subplot the subplot. - * @param weight the weight for the subplot. - */ - public void add(CategoryPlot subplot, int weight) { - super.add(subplot, weight); - - ValueAxis l_range = super.getRangeAxis(); - subplot.setRangeAxis(0, l_range, false); - - super.setRangeAxis(l_range); - if (null == l_range) { - return; - } - - l_range.configure(); - } - - /** - * Returns the bounds of the data values that will be plotted against - * the specified axis. - * - * @param axis the axis. - * - * @return The bounds. - */ - public Range getDataRange(ValueAxis axis) { - Range l_result = null; - Iterator l_itr = getSubplots().iterator(); - while (l_itr.hasNext()) { - CategoryPlot l_subplot = (CategoryPlot) l_itr.next(); - - l_result = Range.combine(l_result, l_subplot.getDataRange(axis)); - } - return l_result; - } - - /** - * Sets the range axis that is shared by all the subplots. - * - * @param axis the axis. - */ - public void setRangeAxis(ValueAxis axis) { - Iterator l_itr = getSubplots().iterator(); - while (l_itr.hasNext()) { - CategoryPlot l_subplot = (CategoryPlot) l_itr.next(); - l_subplot.setRangeAxis(0, axis, false); - } - - super.setRangeAxis(axis); - if (null == axis) { - return; - } - - axis.configure(); - } -} - - +/* =========================================================== + * JFreeChart : a free chart library for the Java(tm) platform + * =========================================================== + * + * (C) Copyright 2000-2008, 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.] + * + * ------------------------- + * CombinedCategoryPlot.java + * ------------------------- + * (C) Copyright 2008, by Richard West and Contributors. + * + * Original Author: Richard West, Advanced Micro Devices, Inc.; + * Contributor(s): David Gilbert (for Object Refinery Limited); + * + * Changes + * ------- + * 02-Feb-2007 : Version 1, contributed by Richard West - see + * patch 1924543 (DG); + * + */ + +package org.jfree.experimental.chart.plot; + +import java.util.Iterator; + +import org.jfree.chart.axis.CategoryAxis; +import org.jfree.chart.axis.ValueAxis; +import org.jfree.chart.plot.CategoryPlot; +import org.jfree.chart.plot.CombinedDomainCategoryPlot; +import org.jfree.data.Range; + +/** + * A specialised form of {@link CombinedDomainCategoryPlot} where the + * subplots share not only the same x-axis, but also the same y-axis. + */ +public class CombinedCategoryPlot extends CombinedDomainCategoryPlot { + + /** + * Creates a new instance with the specified axes. + * + * @param domainAxis the x-axis. + * @param rangeAxis the y-axis. + */ + public CombinedCategoryPlot (CategoryAxis domainAxis, ValueAxis rangeAxis) { + super(domainAxis); + super.setGap(10.0); + super.setRangeAxis(rangeAxis); + } + + /** + * Adds a new subplot with weight <code>1</code>. + * + * @param subplot the subplot. + */ + public void add(CategoryPlot subplot) { + this.add(subplot, 1); + } + + /** + * Adds a new subplot with the specified weight. + * + * @param subplot the subplot. + * @param weight the weight for the subplot. + */ + public void add(CategoryPlot subplot, int weight) { + super.add(subplot, weight); + + ValueAxis l_range = super.getRangeAxis(); + subplot.setRangeAxis(0, l_range, false); + + super.setRangeAxis(l_range); + if (null == l_range) { + return; + } + + l_range.configure(); + } + + /** + * Returns the bounds of the data values that will be plotted against + * the specified axis. + * + * @param axis the axis. + * + * @return The bounds. + */ + public Range getDataRange(ValueAxis axis) { + Range l_result = null; + Iterator l_itr = getSubplots().iterator(); + while (l_itr.hasNext()) { + CategoryPlot l_subplot = (CategoryPlot) l_itr.next(); + + l_result = Range.combine(l_result, l_subplot.getDataRange(axis)); + } + return l_result; + } + + /** + * Sets the range axis that is shared by all the subplots. + * + * @param axis the axis. + */ + public void setRangeAxis(ValueAxis axis) { + Iterator l_itr = getSubplots().iterator(); + while (l_itr.hasNext()) { + CategoryPlot l_subplot = (CategoryPlot) l_itr.next(); + l_subplot.setRangeAxis(0, axis, false); + } + + super.setRangeAxis(axis); + if (null == axis) { + return; + } + + axis.configure(); + } +} + + Modified: branches/jfreechart-1.0.x-branch/experimental/org/jfree/experimental/chart/plot/CombinedXYPlot.java =================================================================== --- branches/jfreechart-1.0.x-branch/experimental/org/jfree/experimental/chart/plot/CombinedXYPlot.java 2011-10-10 20:57:19 UTC (rev 2302) +++ branches/jfreechart-1.0.x-branch/experimental/org/jfree/experimental/chart/plot/CombinedXYPlot.java 2011-10-10 21:47:08 UTC (rev 2303) @@ -1,139 +1,139 @@ -/* =========================================================== - * JFreeChart : a free chart library for the Java(tm) platform - * =========================================================== - * - * (C) Copyright 2000-2008, 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.] - * - * ------------------- - * CombinedXYPlot.java - * ------------------- - * (C) Copyright 2008, by Richard West and Contributors. - * - * Original Author: Richard West, Advanced Micro Devices, Inc.; - * Contributor(s): David Gilbert (for Object Refinery Limited); - * - * Changes - * ------- - * 05-May-2008 : Version 1, contributed by Richard West - see - * patch 1924543 (DG); - * - */ - -package org.jfree.experimental.chart.plot; - -import java.util.Iterator; - -import org.jfree.chart.axis.ValueAxis; -import org.jfree.chart.plot.CombinedDomainCategoryPlot; -import org.jfree.chart.plot.CombinedDomainXYPlot; -import org.jfree.chart.plot.XYPlot; -import org.jfree.data.Range; - -/** - * A specialised form of {@link CombinedDomainCategoryPlot} where the - * subplots share not only the same x-axis, but also the same y-axis. - */ -public class CombinedXYPlot extends CombinedDomainXYPlot { - - /** - * Creates a new instance with the specified axes. - * - * @param domainAxis the x-axis. - * @param rangeAxis the y-axis. - */ - public CombinedXYPlot(ValueAxis domainAxis, ValueAxis rangeAxis) { - super(domainAxis); - super.setGap(10.0); - super.setRangeAxis(rangeAxis); - } - - /** - * Adds a new subplot with weight <code>1</code>. - * - * @param subplot the subplot. - */ - public void add(XYPlot subplot) { - this.add(subplot, 1); - } - - /** - * Adds a new subplot with the specified weight. - * - * @param subplot the subplot. - * @param weight the weight for the subplot. - */ - public void add(XYPlot subplot, int weight) { - super.add(subplot, weight); - - ValueAxis l_range = super.getRangeAxis(); - subplot.setRangeAxis(0, l_range, false); - - super.setRangeAxis(l_range); - if (null == l_range) { - return; - } - - l_range.configure(); - } - - /** - * Returns the bounds of the data values that will be plotted against - * the specified axis. - * - * @param axis the axis. - * - * @return The bounds. - */ - public Range getDataRange(ValueAxis axis) { - Range l_result = null; - Iterator l_itr = getSubplots().iterator(); - while (l_itr.hasNext()) { - XYPlot l_subplot = (XYPlot) l_itr.next(); - - l_result = Range.combine(l_result, l_subplot.getDataRange(axis)); - } - return l_result; - } - - /** - * Sets the range axis that is shared by all the subplots. - * - * @param axis the axis. - */ - public void setRangeAxis(ValueAxis axis) { - Iterator l_itr = getSubplots().iterator(); - while (l_itr.hasNext()) { - XYPlot l_subplot = (XYPlot) l_itr.next(); - l_subplot.setRangeAxis(0, axis, false); - } - - super.setRangeAxis(axis); - if (null == axis) { - return; - } - - axis.configure(); - } - -} - +/* =========================================================== + * JFreeChart : a free chart library for the Java(tm) platform + * =========================================================== + * + * (C) Copyright 2000-2008, 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.] + * + * ------------------- + * CombinedXYPlot.java + * ------------------- + * (C) Copyright 2008, by Richard West and Contributors. + * + * Original Author: Richard West, Advanced Micro Devices, Inc.; + * Contributor(s): David Gilbert (for Object Refinery Limited); + * + * Changes + * ------- + * 05-May-2008 : Version 1, contributed by Richard West - see + * patch 1924543 (DG); + * + */ + +package org.jfree.experimental.chart.plot; + +import java.util.Iterator; + +import org.jfree.chart.axis.ValueAxis; +import org.jfree.chart.plot.CombinedDomainCategoryPlot; +import org.jfree.chart.plot.CombinedDomainXYPlot; +import org.jfree.chart.plot.XYPlot; +import org.jfree.data.Range; + +/** + * A specialised form of {@link CombinedDomainCategoryPlot} where the + * subplots share not only the same x-axis, but also the same y-axis. + */ +public class CombinedXYPlot extends CombinedDomainXYPlot { + + /** + * Creates a new instance with the specified axes. + * + * @param domainAxis the x-axis. + * @param rangeAxis the y-axis. + */ + public CombinedXYPlot(ValueAxis domainAxis, ValueAxis rangeAxis) { + super(domainAxis); + super.setGap(10.0); + super.setRangeAxis(rangeAxis); + } + + /** + * Adds a new subplot with weight <code>1</code>. + * + * @param subplot the subplot. + */ + public void add(XYPlot subplot) { + this.add(subplot, 1); + } + + /** + * Adds a new subplot with the specified weight. + * + * @param subplot the subplot. + * @param weight the weight for the subplot. + */ + public void add(XYPlot subplot, int weight) { + super.add(subplot, weight); + + ValueAxis l_range = super.getRangeAxis(); + subplot.setRangeAxis(0, l_range, false); + + super.setRangeAxis(l_range); + if (null == l_range) { + return; + } + + l_range.configure(); + } + + /** + * Returns the bounds of the data values that will be plotted against + * the specified axis. + * + * @param axis the axis. + * + * @return The bounds. + */ + public Range getDataRange(ValueAxis axis) { + Range l_result = null; + Iterator l_itr = getSubplots().iterator(); + while (l_itr.hasNext()) { + XYPlot l_subplot = (XYPlot) l_itr.next(); + + l_result = Range.combine(l_result, l_subplot.getDataRange(axis)); + } + return l_result; + } + + /** + * Sets the range axis that is shared by all the subplots. + * + * @param axis the axis. + */ + public void setRangeAxis(ValueAxis axis) { + Iterator l_itr = getSubplots().iterator(); + while (l_itr.hasNext()) { + XYPlot l_subplot = (XYPlot) l_itr.next(); + l_subplot.setRangeAxis(0, axis, false); + } + + super.setRangeAxis(axis); + if (null == axis) { + return; + } + + axis.configure(); + } + +} + This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <mu...@us...> - 2011-10-30 18:59:22
|
Revision: 2391 http://jfreechart.svn.sourceforge.net/jfreechart/?rev=2391&view=rev Author: mungady Date: 2011-10-30 18:59:16 +0000 (Sun, 30 Oct 2011) Log Message: ----------- Update headers for Oracle trademarks. Modified Paths: -------------- branches/jfreechart-1.0.x-branch/experimental/org/jfree/experimental/chart/demo/CombinedCategoryPlotDemo1.java branches/jfreechart-1.0.x-branch/experimental/org/jfree/experimental/chart/demo/CombinedXYPlotDemo1.java branches/jfreechart-1.0.x-branch/experimental/org/jfree/experimental/chart/plot/CombinedCategoryPlot.java branches/jfreechart-1.0.x-branch/experimental/org/jfree/experimental/chart/plot/CombinedXYPlot.java branches/jfreechart-1.0.x-branch/experimental/org/jfree/experimental/chart/renderer/xy/XYSmoothLineAndShapeRenderer.java Modified: branches/jfreechart-1.0.x-branch/experimental/org/jfree/experimental/chart/demo/CombinedCategoryPlotDemo1.java =================================================================== --- branches/jfreechart-1.0.x-branch/experimental/org/jfree/experimental/chart/demo/CombinedCategoryPlotDemo1.java 2011-10-30 18:58:33 UTC (rev 2390) +++ branches/jfreechart-1.0.x-branch/experimental/org/jfree/experimental/chart/demo/CombinedCategoryPlotDemo1.java 2011-10-30 18:59:16 UTC (rev 2391) @@ -2,7 +2,7 @@ * JFreeChart : a free chart library for the Java(tm) platform * =========================================================== * - * (C) Copyright 2000-2008, by Object Refinery Limited and Contributors. + * (C) Copyright 2000-2011, by Object Refinery Limited and Contributors. * * Project Info: http://www.jfree.org/jfreechart/index.html * @@ -21,8 +21,8 @@ * 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.] + * [Oracle and Java are registered trademarks of Oracle and/or its affiliates. + * Other names may be trademarks of their respective owners.] * * ------------------------------ * CombinedCategoryPlotDemo1.java Modified: branches/jfreechart-1.0.x-branch/experimental/org/jfree/experimental/chart/demo/CombinedXYPlotDemo1.java =================================================================== --- branches/jfreechart-1.0.x-branch/experimental/org/jfree/experimental/chart/demo/CombinedXYPlotDemo1.java 2011-10-30 18:58:33 UTC (rev 2390) +++ branches/jfreechart-1.0.x-branch/experimental/org/jfree/experimental/chart/demo/CombinedXYPlotDemo1.java 2011-10-30 18:59:16 UTC (rev 2391) @@ -2,7 +2,7 @@ * JFreeChart : a free chart library for the Java(tm) platform * =========================================================== * - * (C) Copyright 2000-2009, by Object Refinery Limited and Contributors. + * (C) Copyright 2000-2011, by Object Refinery Limited and Contributors. * * Project Info: http://www.jfree.org/jfreechart/index.html * @@ -21,8 +21,8 @@ * 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.] + * [Oracle and Java are registered trademarks of Oracle and/or its affiliates. + * Other names may be trademarks of their respective owners.] * * ------------------------ * CombinedXYPlotDemo1.java Modified: branches/jfreechart-1.0.x-branch/experimental/org/jfree/experimental/chart/plot/CombinedCategoryPlot.java =================================================================== --- branches/jfreechart-1.0.x-branch/experimental/org/jfree/experimental/chart/plot/CombinedCategoryPlot.java 2011-10-30 18:58:33 UTC (rev 2390) +++ branches/jfreechart-1.0.x-branch/experimental/org/jfree/experimental/chart/plot/CombinedCategoryPlot.java 2011-10-30 18:59:16 UTC (rev 2391) @@ -2,7 +2,7 @@ * JFreeChart : a free chart library for the Java(tm) platform * =========================================================== * - * (C) Copyright 2000-2008, by Object Refinery Limited and Contributors. + * (C) Copyright 2000-2011, by Object Refinery Limited and Contributors. * * Project Info: http://www.jfree.org/jfreechart/index.html * @@ -21,8 +21,8 @@ * 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.] + * [Oracle and Java are registered trademarks of Oracle and/or its affiliates. + * Other names may be trademarks of their respective owners.] * * ------------------------- * CombinedCategoryPlot.java Modified: branches/jfreechart-1.0.x-branch/experimental/org/jfree/experimental/chart/plot/CombinedXYPlot.java =================================================================== --- branches/jfreechart-1.0.x-branch/experimental/org/jfree/experimental/chart/plot/CombinedXYPlot.java 2011-10-30 18:58:33 UTC (rev 2390) +++ branches/jfreechart-1.0.x-branch/experimental/org/jfree/experimental/chart/plot/CombinedXYPlot.java 2011-10-30 18:59:16 UTC (rev 2391) @@ -2,7 +2,7 @@ * JFreeChart : a free chart library for the Java(tm) platform * =========================================================== * - * (C) Copyright 2000-2008, by Object Refinery Limited and Contributors. + * (C) Copyright 2000-2011, by Object Refinery Limited and Contributors. * * Project Info: http://www.jfree.org/jfreechart/index.html * @@ -21,8 +21,8 @@ * 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.] + * [Oracle and Java are registered trademarks of Oracle and/or its affiliates. + * Other names may be trademarks of their respective owners.] * * ------------------- * CombinedXYPlot.java Modified: branches/jfreechart-1.0.x-branch/experimental/org/jfree/experimental/chart/renderer/xy/XYSmoothLineAndShapeRenderer.java =================================================================== --- branches/jfreechart-1.0.x-branch/experimental/org/jfree/experimental/chart/renderer/xy/XYSmoothLineAndShapeRenderer.java 2011-10-30 18:58:33 UTC (rev 2390) +++ branches/jfreechart-1.0.x-branch/experimental/org/jfree/experimental/chart/renderer/xy/XYSmoothLineAndShapeRenderer.java 2011-10-30 18:59:16 UTC (rev 2391) @@ -2,7 +2,7 @@ * JFreeChart : a free chart library for the Java(tm) platform * =========================================================== * - * (C) Copyright 2000-2007, by Object Refinery Limited and Contributors. + * (C) Copyright 2000-2011, by Object Refinery Limited and Contributors. * * Project Info: http://www.jfree.org/jfreechart/index.html * @@ -21,8 +21,8 @@ * 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.] + * [Oracle and Java are registered trademarks of Oracle and/or its affiliates. + * Other names may be trademarks of their respective owners.] * * --------------------------------- * XYSmoothLineAndShapeRenderer.java This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <mu...@us...> - 2013-07-04 12:35:36
|
Revision: 2761 http://sourceforge.net/p/jfreechart/code/2761 Author: mungady Date: 2013-07-04 12:35:34 +0000 (Thu, 04 Jul 2013) Log Message: ----------- Update copyright notice. Modified Paths: -------------- branches/jfreechart-1.0.x-branch/experimental/org/jfree/experimental/chart/demo/CombinedCategoryPlotDemo1.java branches/jfreechart-1.0.x-branch/experimental/org/jfree/experimental/chart/demo/CombinedXYPlotDemo1.java branches/jfreechart-1.0.x-branch/experimental/org/jfree/experimental/chart/plot/CombinedCategoryPlot.java branches/jfreechart-1.0.x-branch/experimental/org/jfree/experimental/chart/plot/CombinedXYPlot.java branches/jfreechart-1.0.x-branch/experimental/org/jfree/experimental/chart/renderer/xy/XYSmoothLineAndShapeRenderer.java Modified: branches/jfreechart-1.0.x-branch/experimental/org/jfree/experimental/chart/demo/CombinedCategoryPlotDemo1.java =================================================================== --- branches/jfreechart-1.0.x-branch/experimental/org/jfree/experimental/chart/demo/CombinedCategoryPlotDemo1.java 2013-07-04 12:35:26 UTC (rev 2760) +++ branches/jfreechart-1.0.x-branch/experimental/org/jfree/experimental/chart/demo/CombinedCategoryPlotDemo1.java 2013-07-04 12:35:34 UTC (rev 2761) @@ -2,7 +2,7 @@ * JFreeChart : a free chart library for the Java(tm) platform * =========================================================== * - * (C) Copyright 2000-2011, by Object Refinery Limited and Contributors. + * (C) Copyright 2000-2013, by Object Refinery Limited and Contributors. * * Project Info: http://www.jfree.org/jfreechart/index.html * Modified: branches/jfreechart-1.0.x-branch/experimental/org/jfree/experimental/chart/demo/CombinedXYPlotDemo1.java =================================================================== --- branches/jfreechart-1.0.x-branch/experimental/org/jfree/experimental/chart/demo/CombinedXYPlotDemo1.java 2013-07-04 12:35:26 UTC (rev 2760) +++ branches/jfreechart-1.0.x-branch/experimental/org/jfree/experimental/chart/demo/CombinedXYPlotDemo1.java 2013-07-04 12:35:34 UTC (rev 2761) @@ -2,7 +2,7 @@ * JFreeChart : a free chart library for the Java(tm) platform * =========================================================== * - * (C) Copyright 2000-2011, by Object Refinery Limited and Contributors. + * (C) Copyright 2000-2013, by Object Refinery Limited and Contributors. * * Project Info: http://www.jfree.org/jfreechart/index.html * Modified: branches/jfreechart-1.0.x-branch/experimental/org/jfree/experimental/chart/plot/CombinedCategoryPlot.java =================================================================== --- branches/jfreechart-1.0.x-branch/experimental/org/jfree/experimental/chart/plot/CombinedCategoryPlot.java 2013-07-04 12:35:26 UTC (rev 2760) +++ branches/jfreechart-1.0.x-branch/experimental/org/jfree/experimental/chart/plot/CombinedCategoryPlot.java 2013-07-04 12:35:34 UTC (rev 2761) @@ -2,7 +2,7 @@ * JFreeChart : a free chart library for the Java(tm) platform * =========================================================== * - * (C) Copyright 2000-2011, by Object Refinery Limited and Contributors. + * (C) Copyright 2000-2013, by Object Refinery Limited and Contributors. * * Project Info: http://www.jfree.org/jfreechart/index.html * Modified: branches/jfreechart-1.0.x-branch/experimental/org/jfree/experimental/chart/plot/CombinedXYPlot.java =================================================================== --- branches/jfreechart-1.0.x-branch/experimental/org/jfree/experimental/chart/plot/CombinedXYPlot.java 2013-07-04 12:35:26 UTC (rev 2760) +++ branches/jfreechart-1.0.x-branch/experimental/org/jfree/experimental/chart/plot/CombinedXYPlot.java 2013-07-04 12:35:34 UTC (rev 2761) @@ -2,7 +2,7 @@ * JFreeChart : a free chart library for the Java(tm) platform * =========================================================== * - * (C) Copyright 2000-2011, by Object Refinery Limited and Contributors. + * (C) Copyright 2000-2013, by Object Refinery Limited and Contributors. * * Project Info: http://www.jfree.org/jfreechart/index.html * Modified: branches/jfreechart-1.0.x-branch/experimental/org/jfree/experimental/chart/renderer/xy/XYSmoothLineAndShapeRenderer.java =================================================================== --- branches/jfreechart-1.0.x-branch/experimental/org/jfree/experimental/chart/renderer/xy/XYSmoothLineAndShapeRenderer.java 2013-07-04 12:35:26 UTC (rev 2760) +++ branches/jfreechart-1.0.x-branch/experimental/org/jfree/experimental/chart/renderer/xy/XYSmoothLineAndShapeRenderer.java 2013-07-04 12:35:34 UTC (rev 2761) @@ -2,7 +2,7 @@ * JFreeChart : a free chart library for the Java(tm) platform * =========================================================== * - * (C) Copyright 2000-2012, by Object Refinery Limited and Contributors. + * (C) Copyright 2000-2013, by Object Refinery Limited and Contributors. * * Project Info: http://www.jfree.org/jfreechart/index.html * This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |