Package org.skzr.chart4me.demo.time

Source Code of org.skzr.chart4me.demo.time.TimePeriodValuesDemo1

package org.skzr.chart4me.demo.time;

import java.awt.Dimension;
import java.text.SimpleDateFormat;
import org.jfree.chart.*;
import org.jfree.chart.axis.*;
import org.jfree.chart.plot.XYPlot;
import org.jfree.chart.renderer.xy.StandardXYItemRenderer;
import org.jfree.chart.renderer.xy.XYBarRenderer;
import org.jfree.data.time.*;
import org.jfree.data.xy.XYDataset;
import org.jfree.ui.ApplicationFrame;
import org.jfree.ui.RefineryUtilities;

/**
* 时间段 value:描述了一个时间段内的值
* @jdk 1.6
* @author skzr.org(E-mail:skzr.org@gmail.com)
* @version 1.0.0
*/
public class TimePeriodValuesDemo1 extends ApplicationFrame {
  private static final long serialVersionUID = 1L;

  public TimePeriodValuesDemo1(String s) {
    super(s);
    XYDataset xydataset = createDataset1();
    XYBarRenderer xybarrenderer = new XYBarRenderer();
    DateAxis dateaxis = new DateAxis("Date");
    dateaxis.setVerticalTickLabels(true);
    dateaxis.setTickUnit(new DateTickUnit(DateTickUnitType.HOUR, 1));
    dateaxis.setDateFormatOverride(new SimpleDateFormat("hh:mm"));
    dateaxis.setLowerMargin(0.01D);
    dateaxis.setUpperMargin(0.01D);
    NumberAxis numberaxis = new NumberAxis("Value");
    XYPlot xyplot = new XYPlot(xydataset, dateaxis, numberaxis,
        xybarrenderer);
    XYDataset xydataset1 = createDataset2();
    StandardXYItemRenderer standardxyitemrenderer = new StandardXYItemRenderer(
        3);
    standardxyitemrenderer.setBaseShapesFilled(true);
    xyplot.setDataset(1, xydataset1);
    xyplot.setRenderer(1, standardxyitemrenderer);
    JFreeChart jfreechart = new JFreeChart("Supply and Demand", xyplot);
    ChartUtilities.applyCurrentTheme(jfreechart);
    ChartPanel chartpanel = new ChartPanel(jfreechart);
    chartpanel.setPreferredSize(new Dimension(500, 270));
    chartpanel.setMouseZoomable(true);
    setContentPane(chartpanel);
  }

  public XYDataset createDataset1() {
    TimePeriodValues timeperiodvalues = new TimePeriodValues("Supply");
    TimePeriodValues timeperiodvalues1 = new TimePeriodValues("Demand");
    Day day = new Day();
    for (int i = 0; i < 24; i++) {
      Minute minute = new Minute(0, new Hour(i, day));
      Minute minute1 = new Minute(15, new Hour(i, day));
      Minute minute2 = new Minute(30, new Hour(i, day));
      Minute minute3 = new Minute(45, new Hour(i, day));
      Minute minute4 = new Minute(0, new Hour(i + 1, day));
      timeperiodvalues.add(new SimpleTimePeriod(minute.getStart(),
          minute1.getStart()), Math.random());
      timeperiodvalues1.add(new SimpleTimePeriod(minute1.getStart(),
          minute2.getStart()), Math.random());
      timeperiodvalues.add(new SimpleTimePeriod(minute2.getStart(),
          minute3.getStart()), Math.random());
      timeperiodvalues1.add(new SimpleTimePeriod(minute3.getStart(),
          minute4.getStart()), Math.random());
    }

    TimePeriodValuesCollection timeperiodvaluescollection = new TimePeriodValuesCollection();
    timeperiodvaluescollection.addSeries(timeperiodvalues);
    timeperiodvaluescollection.addSeries(timeperiodvalues1);
    return timeperiodvaluescollection;
  }

  public XYDataset createDataset2() {
    TimePeriodValues timeperiodvalues = new TimePeriodValues("WebCOINS");
    Day day = new Day();
    for (int i = 0; i < 24; i++) {
      Minute minute = new Minute(0, new Hour(i, day));
      Minute minute1 = new Minute(30, new Hour(i, day));
      Minute minute2 = new Minute(0, new Hour(i + 1, day));
      timeperiodvalues.add(new SimpleTimePeriod(minute.getStart(),
          minute1.getStart()), Math.random() * 2D);
      timeperiodvalues.add(new SimpleTimePeriod(minute1.getStart(),
          minute2.getStart()), Math.random() * 2D);
    }

    TimePeriodValuesCollection timeperiodvaluescollection = new TimePeriodValuesCollection();
    timeperiodvaluescollection.addSeries(timeperiodvalues);
    return timeperiodvaluescollection;
  }

  public static void main(String args[]) {
    TimePeriodValuesDemo1 timeperiodvaluesdemo1 = new TimePeriodValuesDemo1(
        "Time Period Values Demo 1");
    timeperiodvaluesdemo1.pack();
    RefineryUtilities.centerFrameOnScreen(timeperiodvaluesdemo1);
    timeperiodvaluesdemo1.setVisible(true);
  }
}
TOP

Related Classes of org.skzr.chart4me.demo.time.TimePeriodValuesDemo1

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.