/************************************************************************** /* This class is part of the Java Plotlib Toolkit. /* /* Copyright (c) 1999-2004 by Bernhard Bablok (bablokb@gmx.de) /* /* This program is free software; you can redistribute it and/or modify /* it under the terms of the GNU General Public License as published /* by the Free Software Foundation; either version 2 of the License or /* (at your option) any later version. /* /* This program 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 Library General Public License for more details. /* /* You should have received a copy of the GNU General Public License /* along with this program; see the file COPYING. If not, write to /* the Free Software Foundation Inc., 59 Temple Place - Suite 330, /* Boston, MA 02111-1307 USA /**************************************************************************/ package de.bablokb.plotlib.plot; import java.util.*; import java.awt.*; import java.awt.geom.*; import de.bablokb.plotlib.core.*; import de.bablokb.plotlib.data.*; /** Connect the points of a given dataset to produce a line plot. @version $Revision: 1.3 $ @author $Author: bablokb $ */ public class LinePlot extends DataPlot { ////////////////////////////////////////////////////////////////////////////// /** Construct a LinePlot-object without data. */ public LinePlot() { super(); } ////////////////////////////////////////////////////////////////////////////// /** Construct a LinePlot-object from a given dataset. */ public LinePlot(Dataset data) { super(data); } ////////////////////////////////////////////////////////////////////////////// /** Plot the data, connected by lines. Implements AbstractPlottable.plotObjects. */ public void plotObjects(PlottingContext pc) { if (iData == null) throw new MissingDatasetException(); if (iData.n() < 2) return; GeneralPath gp = new GeneralPath(); Iterator it = iData.iterator(); Point2D p = pc.transform((Point2D) it.next()); gp.moveTo((float) p.getX(), (float) p.getY()); while (it.hasNext()) { p = pc.transform((Point2D) it.next()); gp.lineTo((float) p.getX(), (float) p.getY()); } Graphics2D g2 = pc.getG2(); g2.draw(gp); } }