<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
		<id>http://www.jexp.ru/index.php?action=history&amp;feed=atom&amp;title=Java%2FChart%2FXY_Step_Area_Chart</id>
		<title>Java/Chart/XY Step Area Chart - История изменений</title>
		<link rel="self" type="application/atom+xml" href="http://www.jexp.ru/index.php?action=history&amp;feed=atom&amp;title=Java%2FChart%2FXY_Step_Area_Chart"/>
		<link rel="alternate" type="text/html" href="http://www.jexp.ru/index.php?title=Java/Chart/XY_Step_Area_Chart&amp;action=history"/>
		<updated>2026-04-21T16:23:26Z</updated>
		<subtitle>История изменений этой страницы в вики</subtitle>
		<generator>MediaWiki 1.30.0</generator>

	<entry>
		<id>http://www.jexp.ru/index.php?title=Java/Chart/XY_Step_Area_Chart&amp;diff=8007&amp;oldid=prev</id>
		<title>Admin: 1 версия</title>
		<link rel="alternate" type="text/html" href="http://www.jexp.ru/index.php?title=Java/Chart/XY_Step_Area_Chart&amp;diff=8007&amp;oldid=prev"/>
				<updated>2010-06-01T06:52:14Z</updated>
		
		<summary type="html">&lt;p&gt;1 версия&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr style=&quot;vertical-align: top;&quot; lang=&quot;ru&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Предыдущая&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Версия 06:52, 1 июня 2010&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; style=&quot;text-align: center;&quot; lang=&quot;ru&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(нет различий)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	<entry>
		<id>http://www.jexp.ru/index.php?title=Java/Chart/XY_Step_Area_Chart&amp;diff=8006&amp;oldid=prev</id>
		<title> в 18:01, 31 мая 2010</title>
		<link rel="alternate" type="text/html" href="http://www.jexp.ru/index.php?title=Java/Chart/XY_Step_Area_Chart&amp;diff=8006&amp;oldid=prev"/>
				<updated>2010-05-31T18:01:45Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;== JFreeChart: XY Step Area Chart Demo ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
/* ===========================================================&lt;br /&gt;
 * JFreeChart : a free chart library for the Java(tm) platform&lt;br /&gt;
 * ===========================================================&lt;br /&gt;
 *&lt;br /&gt;
 * (C) Copyright 2000-2004, by Object Refinery Limited and Contributors.&lt;br /&gt;
 *&lt;br /&gt;
 * Project Info:  http://www.jfree.org/jfreechart/index.html&lt;br /&gt;
 *&lt;br /&gt;
 * This library is free software; you can redistribute it and/or modify it under the terms&lt;br /&gt;
 * of the GNU Lesser General Public License as published by the Free Software Foundation;&lt;br /&gt;
 * either version 2.1 of the License, or (at your option) any later version.&lt;br /&gt;
 *&lt;br /&gt;
 * This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;&lt;br /&gt;
 * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.&lt;br /&gt;
 * See the GNU Lesser General Public License for more details.&lt;br /&gt;
 *&lt;br /&gt;
 * You should have received a copy of the GNU Lesser General Public License along with this&lt;br /&gt;
 * library; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330,&lt;br /&gt;
 * Boston, MA 02111-1307, USA.&lt;br /&gt;
 *&lt;br /&gt;
 * [Java is a trademark or registered trademark of Sun Microsystems, Inc. &lt;br /&gt;
 * in the United States and other countries.]&lt;br /&gt;
 *&lt;br /&gt;
 * ------------------------&lt;br /&gt;
 * XYStepAreaChartDemo.java&lt;br /&gt;
 * ------------------------&lt;br /&gt;
 * (C) Copyright 2003, 2004, by Object Refinery Limited and Contributors.&lt;br /&gt;
 *&lt;br /&gt;
 * Original Author:  Matthias Rose (for Ablay &amp;amp; Fodi GmbH);&lt;br /&gt;
 * Contributor(s):   David Gilbert (for Object Refinery Limited);&lt;br /&gt;
 *&lt;br /&gt;
 * $Id: XYStepAreaChartDemo.java,v 1.12 2004/04/26 19:12:04 taqua Exp $&lt;br /&gt;
 *&lt;br /&gt;
 * Changes&lt;br /&gt;
 * -------&lt;br /&gt;
 * 26-Sep-2003 : Copied XYAreaChartDemo --&amp;gt; XYStepAreaChartDemo&lt;br /&gt;
 *               and adapted to test XYStepAreaRenderer (MR);&lt;br /&gt;
 *&lt;br /&gt;
 */&lt;br /&gt;
package org.jfree.chart.demo;&lt;br /&gt;
import java.awt.BasicStroke;&lt;br /&gt;
import java.awt.BorderLayout;&lt;br /&gt;
import java.awt.Color;&lt;br /&gt;
import java.awt.event.ActionEvent;&lt;br /&gt;
import java.awt.event.ActionListener;&lt;br /&gt;
import javax.swing.JCheckBox;&lt;br /&gt;
import javax.swing.JComboBox;&lt;br /&gt;
import javax.swing.JLabel;&lt;br /&gt;
import javax.swing.JPanel;&lt;br /&gt;
import javax.swing.JTextField;&lt;br /&gt;
import org.jfree.chart.ChartFactory;&lt;br /&gt;
import org.jfree.chart.ChartPanel;&lt;br /&gt;
import org.jfree.chart.JFreeChart;&lt;br /&gt;
import org.jfree.chart.plot.Plot;&lt;br /&gt;
import org.jfree.chart.plot.PlotOrientation;&lt;br /&gt;
import org.jfree.chart.plot.XYPlot;&lt;br /&gt;
import org.jfree.chart.renderer.xy.XYStepAreaRenderer;&lt;br /&gt;
import org.jfree.data.xy.XYDataset;&lt;br /&gt;
import org.jfree.data.xy.XYSeries;&lt;br /&gt;
import org.jfree.data.xy.XYSeriesCollection;&lt;br /&gt;
import org.jfree.ui.ApplicationFrame;&lt;br /&gt;
import org.jfree.ui.RefineryUtilities;&lt;br /&gt;
/**&lt;br /&gt;
 * A simple demonstration application showing how to create a step area chart.&lt;br /&gt;
 *&lt;br /&gt;
 * @author Matthias Rose&lt;br /&gt;
 */&lt;br /&gt;
public class XYStepAreaChartDemo extends ApplicationFrame implements ActionListener {&lt;br /&gt;
    /** Vertical orientation. */&lt;br /&gt;
    private static final String ORIENT_VERT = &amp;quot;Plot vertical&amp;quot;;&lt;br /&gt;
    &lt;br /&gt;
    /** Horizontal orientation. */&lt;br /&gt;
    private static final String ORIENT_HORIZ = &amp;quot;Plot horizontal&amp;quot;;&lt;br /&gt;
    /** Problem data. */&lt;br /&gt;
    private static final Object[][] TEST_DATA = {&lt;br /&gt;
        // domain values,   range values,    may be null?&lt;br /&gt;
        {new Integer(1), new Integer(500), Boolean.TRUE},&lt;br /&gt;
        {new Integer(2), new Integer(694)},&lt;br /&gt;
        {new Integer(3), new Integer(-734)},&lt;br /&gt;
        {new Integer(4), new Integer(453)},&lt;br /&gt;
        {new Integer(5), new Integer(500), Boolean.TRUE},&lt;br /&gt;
        {new Integer(6), new Integer(200)},&lt;br /&gt;
        {new Integer(7), new Integer(550), Boolean.TRUE},&lt;br /&gt;
        {new Integer(8), new Integer(-150), Boolean.TRUE},&lt;br /&gt;
        {new Integer(9), new Integer(232)},&lt;br /&gt;
        {new Integer(10), new Integer(734)},&lt;br /&gt;
        {new Integer(11), new Integer(400), Boolean.TRUE},&lt;br /&gt;
    };&lt;br /&gt;
    /** The chart panel. */&lt;br /&gt;
    private ChartPanel chartPanel;&lt;br /&gt;
    &lt;br /&gt;
    /** The data series. */&lt;br /&gt;
    private XYSeries xySeries;&lt;br /&gt;
    &lt;br /&gt;
    /** The null values checkbox. */&lt;br /&gt;
    private JCheckBox nullValuesCheckBox;&lt;br /&gt;
    /** The outline checkbox. */&lt;br /&gt;
    private JCheckBox outlineCheckBox;&lt;br /&gt;
    &lt;br /&gt;
    /** The range base text field. */&lt;br /&gt;
    private JTextField rangeBaseTextField;&lt;br /&gt;
    &lt;br /&gt;
    /** The orientation combobox. */&lt;br /&gt;
    private JComboBox orientationComboBox;  &lt;br /&gt;
    &lt;br /&gt;
    /**&lt;br /&gt;
     * Creates a new demo.&lt;br /&gt;
     *&lt;br /&gt;
     * @param title  the frame title.&lt;br /&gt;
     */&lt;br /&gt;
    public XYStepAreaChartDemo(final String title) {&lt;br /&gt;
        super(title);&lt;br /&gt;
        this.xySeries = new XYSeries(&amp;quot;Some data&amp;quot;);&lt;br /&gt;
        for (int i = 0; i &amp;lt; TEST_DATA.length; i++) {&lt;br /&gt;
            this.xySeries.add((Integer) TEST_DATA[i][0], (Integer) TEST_DATA[i][1]);&lt;br /&gt;
        }&lt;br /&gt;
        final XYSeriesCollection dataset = new XYSeriesCollection(this.xySeries);&lt;br /&gt;
        &lt;br /&gt;
        final JFreeChart chart = createChart(dataset);&lt;br /&gt;
        &lt;br /&gt;
        this.chartPanel = new ChartPanel(chart);&lt;br /&gt;
        // allow zooming&lt;br /&gt;
//        this.chartPanel.setHorizontalZoom(true);&lt;br /&gt;
//        this.chartPanel.setVerticalZoom(true);&lt;br /&gt;
        &lt;br /&gt;
        // size&lt;br /&gt;
        this.chartPanel.setPreferredSize(new java.awt.Dimension(500, 270));&lt;br /&gt;
        // make stroke more striking&lt;br /&gt;
        final Plot plot = this.chartPanel.getChart().getPlot();&lt;br /&gt;
        plot.setOutlineStroke(new BasicStroke(2));&lt;br /&gt;
        plot.setOutlinePaint(Color.magenta);&lt;br /&gt;
        // add some components to make options changable&lt;br /&gt;
        final JPanel main = new JPanel(new BorderLayout());&lt;br /&gt;
        final JPanel optionsPanel = new JPanel();&lt;br /&gt;
        &lt;br /&gt;
        final String[] options = {ORIENT_VERT, ORIENT_HORIZ};&lt;br /&gt;
        this.orientationComboBox = new JComboBox(options);&lt;br /&gt;
        this.orientationComboBox.addActionListener(this);&lt;br /&gt;
        optionsPanel.add(this.orientationComboBox);&lt;br /&gt;
        this.outlineCheckBox = new JCheckBox(&amp;quot;Outline&amp;quot;);&lt;br /&gt;
        this.outlineCheckBox.addActionListener(this);&lt;br /&gt;
        optionsPanel.add(this.outlineCheckBox);&lt;br /&gt;
        optionsPanel.add(new JLabel(&amp;quot;Base&amp;quot;));&lt;br /&gt;
        this.rangeBaseTextField = new JTextField(&amp;quot;0&amp;quot;, 5);&lt;br /&gt;
        this.rangeBaseTextField.addActionListener(this);&lt;br /&gt;
        optionsPanel.add(this.rangeBaseTextField);&lt;br /&gt;
        this.nullValuesCheckBox = new JCheckBox(&amp;quot;NULL values&amp;quot;);&lt;br /&gt;
        this.nullValuesCheckBox.addActionListener(this);&lt;br /&gt;
        optionsPanel.add(this.nullValuesCheckBox);&lt;br /&gt;
        main.add(optionsPanel, BorderLayout.SOUTH);&lt;br /&gt;
        main.add(this.chartPanel);&lt;br /&gt;
        setContentPane(main);&lt;br /&gt;
    }&lt;br /&gt;
    // ****************************************************************************&lt;br /&gt;
    // * JFREECHART DEVELOPER GUIDE                                               *&lt;br /&gt;
    // * The JFreeChart Developer Guide, written by David Gilbert, is available   *&lt;br /&gt;
    // * to purchase from Object Refinery Limited:                                *&lt;br /&gt;
    // *                                                                          *&lt;br /&gt;
    // * http://www.object-refinery.ru/jfreechart/guide.html                     *&lt;br /&gt;
    // *                                                                          *&lt;br /&gt;
    // * Sales are used to provide funding for the JFreeChart project - please    * &lt;br /&gt;
    // * support us so that we can continue developing free software.             *&lt;br /&gt;
    // ****************************************************************************&lt;br /&gt;
    &lt;br /&gt;
    /**&lt;br /&gt;
     * Creates a chart.&lt;br /&gt;
     * &lt;br /&gt;
     * @param dataset  the dataset.&lt;br /&gt;
     * &lt;br /&gt;
     * @return A chart.&lt;br /&gt;
     */&lt;br /&gt;
    private JFreeChart createChart(final XYDataset dataset) {&lt;br /&gt;
            &lt;br /&gt;
        final JFreeChart chart = ChartFactory.createXYStepAreaChart(&lt;br /&gt;
            &amp;quot;XY Step Area Chart Demo&amp;quot;,&lt;br /&gt;
            &amp;quot;Domain (X)&amp;quot;, &amp;quot;Range (Y)&amp;quot;,&lt;br /&gt;
            dataset,&lt;br /&gt;
            PlotOrientation.VERTICAL,&lt;br /&gt;
            true,  // legend&lt;br /&gt;
            true,  // tool tips&lt;br /&gt;
            false  // URLs&lt;br /&gt;
        );&lt;br /&gt;
        &lt;br /&gt;
        // color&lt;br /&gt;
        final XYPlot plot = chart.getXYPlot();&lt;br /&gt;
        plot.getRenderer().setSeriesPaint(0, Color.green);&lt;br /&gt;
        // fill shapes      &lt;br /&gt;
        final XYStepAreaRenderer rend = (XYStepAreaRenderer) plot.getRenderer();&lt;br /&gt;
        rend.setShapesFilled(true);&lt;br /&gt;
        return chart;        &lt;br /&gt;
    }&lt;br /&gt;
    /**&lt;br /&gt;
     * Change options according to settings.&lt;br /&gt;
     * &lt;br /&gt;
     * @param evt  the event.&lt;br /&gt;
     */&lt;br /&gt;
    public void actionPerformed(final ActionEvent evt) {&lt;br /&gt;
        final Object source = evt.getSource();&lt;br /&gt;
        if (source == this.nullValuesCheckBox) {&lt;br /&gt;
            &lt;br /&gt;
            final boolean withNulls = this.nullValuesCheckBox.isSelected();&lt;br /&gt;
            for (int i = 0; i &amp;lt; TEST_DATA.length; i++) {&lt;br /&gt;
                Integer yVal = (Integer) TEST_DATA[i][1];&lt;br /&gt;
                if (withNulls &amp;amp;&amp;amp; TEST_DATA[i].length &amp;gt; 2) {&lt;br /&gt;
                    yVal = null;&lt;br /&gt;
                }&lt;br /&gt;
                this.xySeries.getDataItem(i).setY(yVal);&lt;br /&gt;
            }&lt;br /&gt;
            &lt;br /&gt;
        } &lt;br /&gt;
        else if (source == this.outlineCheckBox) {&lt;br /&gt;
            final XYPlot plot = (XYPlot) this.chartPanel.getChart().getPlot();&lt;br /&gt;
            ((XYStepAreaRenderer) plot.getRenderer()).setOutline(this.outlineCheckBox.isSelected());&lt;br /&gt;
            &lt;br /&gt;
        } &lt;br /&gt;
        else if (source == this.rangeBaseTextField) {&lt;br /&gt;
            &lt;br /&gt;
            final double val = Double.parseDouble(this.rangeBaseTextField.getText());&lt;br /&gt;
            final XYPlot plot = (XYPlot) this.chartPanel.getChart().getPlot();&lt;br /&gt;
            final XYStepAreaRenderer rend = (XYStepAreaRenderer) plot.getRenderer();&lt;br /&gt;
            rend.setRangeBase(val);     &lt;br /&gt;
        } &lt;br /&gt;
        else if (source == this.orientationComboBox) {&lt;br /&gt;
            final XYPlot plot = (XYPlot) this.chartPanel.getChart().getPlot();&lt;br /&gt;
            if (this.orientationComboBox.getSelectedItem() == ORIENT_HORIZ) {&lt;br /&gt;
                plot.setOrientation(PlotOrientation.HORIZONTAL);        &lt;br /&gt;
            }    &lt;br /&gt;
            else if (this.orientationComboBox.getSelectedItem() == ORIENT_VERT) {&lt;br /&gt;
                plot.setOrientation(PlotOrientation.VERTICAL);          &lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
        this.chartPanel.repaint();&lt;br /&gt;
    }&lt;br /&gt;
    /**&lt;br /&gt;
     * Starting point for the demonstration application.&lt;br /&gt;
     *&lt;br /&gt;
     * @param args  ignored.&lt;br /&gt;
     */&lt;br /&gt;
    public static void main(final String[] args) {&lt;br /&gt;
        final XYStepAreaChartDemo demo = new XYStepAreaChartDemo(&amp;quot;Step Area XY Chart Demo&amp;quot;);&lt;br /&gt;
        demo.pack();&lt;br /&gt;
        RefineryUtilities.centerFrameOnScreen(demo);&lt;br /&gt;
        demo.setVisible(true);&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
           &lt;br /&gt;
       &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== JFreeChart: XY Step Chart Demo ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
/* ===========================================================&lt;br /&gt;
 * JFreeChart : a free chart library for the Java(tm) platform&lt;br /&gt;
 * ===========================================================&lt;br /&gt;
 *&lt;br /&gt;
 * (C) Copyright 2000-2004, by Object Refinery Limited and Contributors.&lt;br /&gt;
 *&lt;br /&gt;
 * Project Info:  http://www.jfree.org/jfreechart/index.html&lt;br /&gt;
 *&lt;br /&gt;
 * This library is free software; you can redistribute it and/or modify it under the terms&lt;br /&gt;
 * of the GNU Lesser General Public License as published by the Free Software Foundation;&lt;br /&gt;
 * either version 2.1 of the License, or (at your option) any later version.&lt;br /&gt;
 *&lt;br /&gt;
 * This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;&lt;br /&gt;
 * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.&lt;br /&gt;
 * See the GNU Lesser General Public License for more details.&lt;br /&gt;
 *&lt;br /&gt;
 * You should have received a copy of the GNU Lesser General Public License along with this&lt;br /&gt;
 * library; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330,&lt;br /&gt;
 * Boston, MA 02111-1307, USA.&lt;br /&gt;
 *&lt;br /&gt;
 * [Java is a trademark or registered trademark of Sun Microsystems, Inc. &lt;br /&gt;
 * in the United States and other countries.]&lt;br /&gt;
 *&lt;br /&gt;
 * --------------------&lt;br /&gt;
 * XYStepChartDemo.java&lt;br /&gt;
 * --------------------&lt;br /&gt;
 * (C) Copyright 2002-2004, by Roger Studner and Contributors.&lt;br /&gt;
 *&lt;br /&gt;
 * Original Author:  Roger Studner;&lt;br /&gt;
 * Contributor(s):   David Gilbert (for Object Refinery Limited);&lt;br /&gt;
 *&lt;br /&gt;
 * $Id: XYStepChartDemo.java,v 1.13 2004/04/26 19:40:15 taqua Exp $&lt;br /&gt;
 *&lt;br /&gt;
 * Changes&lt;br /&gt;
 * -------&lt;br /&gt;
 * 13-May-2002 : Version 1, contributed by Roger Studner (DG);&lt;br /&gt;
 * 11-Oct-2002 : Moved create method to ChartFactory class, and fixed issues reported by&lt;br /&gt;
 *               Checkstyle (DG);&lt;br /&gt;
 *&lt;br /&gt;
 */&lt;br /&gt;
package org.jfree.chart.demo;&lt;br /&gt;
import java.awt.BasicStroke;&lt;br /&gt;
import java.awt.Color;&lt;br /&gt;
import org.jfree.chart.ChartFactory;&lt;br /&gt;
import org.jfree.chart.ChartFrame;&lt;br /&gt;
import org.jfree.chart.JFreeChart;&lt;br /&gt;
import org.jfree.chart.plot.PlotOrientation;&lt;br /&gt;
import org.jfree.chart.plot.XYPlot;&lt;br /&gt;
import org.jfree.data.xy.XYDataset;&lt;br /&gt;
import org.jfree.data.xy.XYSeries;&lt;br /&gt;
import org.jfree.data.xy.XYSeriesCollection;&lt;br /&gt;
import org.jfree.date.DateUtilities;&lt;br /&gt;
import org.jfree.ui.RefineryUtilities;&lt;br /&gt;
/**&lt;br /&gt;
 * A demonstration of the {@link org.jfree.chart.renderer.XYStepRenderer} class.&lt;br /&gt;
 *&lt;br /&gt;
 * @author Roger Studner&lt;br /&gt;
 */&lt;br /&gt;
public class XYStepChartDemo {&lt;br /&gt;
    /** A frame for displaying the chart. */&lt;br /&gt;
    private ChartFrame frame = null;&lt;br /&gt;
    /**&lt;br /&gt;
     * Displays a sample chart in its own frame.&lt;br /&gt;
     */&lt;br /&gt;
    private void displayChart() {&lt;br /&gt;
        if (this.frame == null) {&lt;br /&gt;
            // create a default chart based on some sample data...&lt;br /&gt;
            final String title = &amp;quot;LCACs in use at given time&amp;quot;;&lt;br /&gt;
            final String xAxisLabel = &amp;quot;Time&amp;quot;;&lt;br /&gt;
            final String yAxisLabel = &amp;quot;Number of Transports&amp;quot;;&lt;br /&gt;
            final XYDataset data = createStepXYDataset();&lt;br /&gt;
            final JFreeChart chart = ChartFactory.createXYStepChart(&lt;br /&gt;
                title,&lt;br /&gt;
                xAxisLabel, yAxisLabel,&lt;br /&gt;
                data,&lt;br /&gt;
                PlotOrientation.VERTICAL,&lt;br /&gt;
                true,   // legend&lt;br /&gt;
                true,   // tooltips&lt;br /&gt;
                false   // urls&lt;br /&gt;
            );&lt;br /&gt;
            // then customise it a little...&lt;br /&gt;
            chart.setBackgroundPaint(new Color(216, 216, 216));&lt;br /&gt;
            final XYPlot plot = chart.getXYPlot();&lt;br /&gt;
            plot.getRenderer().setSeriesStroke(0, new BasicStroke(2.0f));&lt;br /&gt;
            plot.getRenderer().setSeriesStroke(1, new BasicStroke(2.0f));&lt;br /&gt;
            &lt;br /&gt;
            // and present it in a frame...&lt;br /&gt;
            this.frame = new ChartFrame(&amp;quot;Plan Comparison&amp;quot;, chart);&lt;br /&gt;
            this.frame.pack();&lt;br /&gt;
            RefineryUtilities.positionFrameRandomly(this.frame);&lt;br /&gt;
            this.frame.setVisible(true);&lt;br /&gt;
        }&lt;br /&gt;
        else {&lt;br /&gt;
            this.frame.setVisible(true);&lt;br /&gt;
            this.frame.requestFocus();&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
    /**&lt;br /&gt;
     * Creates and returns a sample dataset for the XY &amp;quot;Step&amp;quot; chart.&lt;br /&gt;
     *&lt;br /&gt;
     * @return the sample dataset.&lt;br /&gt;
     */&lt;br /&gt;
    public static XYDataset createStepXYDataset() {&lt;br /&gt;
        final int feb = 2;&lt;br /&gt;
        final XYSeries s1 = new XYSeries(&amp;quot;Plan 1&amp;quot;, false, true);&lt;br /&gt;
        s1.add(DateUtilities.createDate(2002, feb, 19, 8, 0).getTime(), 0);&lt;br /&gt;
        s1.add(DateUtilities.createDate(2002, feb, 19, 8, 1).getTime(), 2);&lt;br /&gt;
        s1.add(DateUtilities.createDate(2002, feb, 19, 9, 5).getTime(), 4);&lt;br /&gt;
        s1.add(DateUtilities.createDate(2002, feb, 19, 10, 6).getTime(), 4);&lt;br /&gt;
        s1.add(DateUtilities.createDate(2002, feb, 19, 11, 6).getTime(), 5);&lt;br /&gt;
        s1.add(DateUtilities.createDate(2002, feb, 19, 12, 6).getTime(), 3);&lt;br /&gt;
        s1.add(DateUtilities.createDate(2002, feb, 19, 13, 6).getTime(), 6);&lt;br /&gt;
        s1.add(DateUtilities.createDate(2002, feb, 19, 14, 6).getTime(), 6);&lt;br /&gt;
        s1.add(DateUtilities.createDate(2002, feb, 19, 15, 30).getTime(), 2);&lt;br /&gt;
        s1.add(DateUtilities.createDate(2002, feb, 19, 16, 7).getTime(), 0);&lt;br /&gt;
        final XYSeries s2 = new XYSeries(&amp;quot;Plan 2&amp;quot;);&lt;br /&gt;
        s2.add(DateUtilities.createDate(2002, feb, 19, 8, 40).getTime(), 0);&lt;br /&gt;
        s2.add(DateUtilities.createDate(2002, feb, 19, 8, 45).getTime(), 1);&lt;br /&gt;
        s2.add(DateUtilities.createDate(2002, feb, 19, 9, 0).getTime(), 6);&lt;br /&gt;
        s2.add(DateUtilities.createDate(2002, feb, 19, 10, 6).getTime(), 2);&lt;br /&gt;
        s2.add(DateUtilities.createDate(2002, feb, 19, 10, 45).getTime(), 4);&lt;br /&gt;
        s2.add(DateUtilities.createDate(2002, feb, 19, 12, 0).getTime(), 7);&lt;br /&gt;
        s2.add(DateUtilities.createDate(2002, feb, 19, 13, 0).getTime(), 5);&lt;br /&gt;
        s2.add(DateUtilities.createDate(2002, feb, 19, 14, 6).getTime(), 4);&lt;br /&gt;
        s2.add(DateUtilities.createDate(2002, feb, 19, 15, 15).getTime(), 4);&lt;br /&gt;
        s2.add(DateUtilities.createDate(2002, feb, 19, 16, 0).getTime(), 0);&lt;br /&gt;
        final XYSeriesCollection dataset = new XYSeriesCollection();&lt;br /&gt;
        dataset.addSeries(s1);&lt;br /&gt;
        dataset.addSeries(s2);&lt;br /&gt;
        return dataset;&lt;br /&gt;
    }&lt;br /&gt;
    // ****************************************************************************&lt;br /&gt;
    // * JFREECHART DEVELOPER GUIDE                                               *&lt;br /&gt;
    // * The JFreeChart Developer Guide, written by David Gilbert, is available   *&lt;br /&gt;
    // * to purchase from Object Refinery Limited:                                *&lt;br /&gt;
    // *                                                                          *&lt;br /&gt;
    // * http://www.object-refinery.ru/jfreechart/guide.html                     *&lt;br /&gt;
    // *                                                                          *&lt;br /&gt;
    // * Sales are used to provide funding for the JFreeChart project - please    * &lt;br /&gt;
    // * support us so that we can continue developing free software.             *&lt;br /&gt;
    // ****************************************************************************&lt;br /&gt;
    &lt;br /&gt;
    /**&lt;br /&gt;
     * The starting point for the demonstration application.&lt;br /&gt;
     *&lt;br /&gt;
     * @param args  ignored.&lt;br /&gt;
     */&lt;br /&gt;
    public static void main(final String[] args) {&lt;br /&gt;
        final XYStepChartDemo demo = new XYStepChartDemo();&lt;br /&gt;
        demo.displayChart();&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
           &lt;br /&gt;
       &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;/div&gt;</summary>
			</entry>

	</feed>