?? differencechartdemo2.java
字號:
/* -------------------------
* DifferenceChartDemo2.java
* -------------------------
* (C) Copyright 2004, 2005, by Object Refinery Limited.
*
*/
package demo;
import java.awt.BasicStroke;
import java.awt.Color;
import java.awt.Font;
import java.awt.GradientPaint;
import javax.swing.JPanel;
import org.jfree.chart.ChartFactory;
import org.jfree.chart.ChartPanel;
import org.jfree.chart.JFreeChart;
import org.jfree.chart.axis.DateAxis;
import org.jfree.chart.axis.DateTickMarkPosition;
import org.jfree.chart.plot.IntervalMarker;
import org.jfree.chart.plot.XYPlot;
import org.jfree.chart.renderer.xy.XYDifferenceRenderer;
import org.jfree.chart.title.TextTitle;
import org.jfree.data.time.Day;
import org.jfree.data.time.Minute;
import org.jfree.data.time.TimeSeries;
import org.jfree.data.time.TimeSeriesCollection;
import org.jfree.data.xy.XYDataset;
import org.jfree.ui.ApplicationFrame;
import org.jfree.ui.GradientPaintTransformType;
import org.jfree.ui.Layer;
import org.jfree.ui.RectangleAnchor;
import org.jfree.ui.RectangleInsets;
import org.jfree.ui.RefineryUtilities;
import org.jfree.ui.StandardGradientPaintTransformer;
import org.jfree.ui.TextAnchor;
/**
* A simple demonstration of the {@link XYDifferenceRenderer}. The sunrise
* and sunset times for this demo were obtained from:
*
* http://www.sunrisesunset.com/
*
*/
public class DifferenceChartDemo2 extends ApplicationFrame {
/**
* Creates a new demo.
*
* @param title the frame title.
*/
public DifferenceChartDemo2(String title) {
super(title);
XYDataset dataset = createDataset();
JFreeChart chart = createChart(dataset);
ChartPanel chartPanel = new ChartPanel(chart);
chartPanel.setPreferredSize(new java.awt.Dimension(500, 270));
setContentPane(chartPanel);
}
/**
* Creates a sample dataset.
*
* @return A sample dataset.
*/
private static XYDataset createDataset() {
TimeSeries series1 = createSunriseSeries();
TimeSeries series2 = createSunsetSeries();
TimeSeriesCollection dataset = new TimeSeriesCollection();
dataset.addSeries(series1);
dataset.addSeries(series2);
return dataset;
}
/**
* A utility method for creating a value based on a time.
*
* @param hour the hour.
* @param min the minute.
*
* @return a value.
*/
private static Long time(int hour, int min) {
Minute m = new Minute(min, hour, 1, 1, 1970);
return new Long(m.getFirstMillisecond());
}
/**
* Creates a time series containing sunrise times for London in 2004.
*
* @return A time series containing sunrise times.
*/
public static TimeSeries createSunriseSeries() {
TimeSeries series = new TimeSeries("Sunrise");
series.add(new Day(1, 1, 2004), time(8, 5));
series.add(new Day(2, 1, 2004), time(8, 5));
series.add(new Day(3, 1, 2004), time(8, 5));
series.add(new Day(4, 1, 2004), time(8, 5));
series.add(new Day(5, 1, 2004), time(8, 5));
series.add(new Day(6, 1, 2004), time(8, 4));
series.add(new Day(7, 1, 2004), time(8, 4));
series.add(new Day(8, 1, 2004), time(8, 4));
series.add(new Day(9, 1, 2004), time(8, 3));
series.add(new Day(10, 1, 2004), time(8, 3));
series.add(new Day(11, 1, 2004), time(8, 2));
series.add(new Day(12, 1, 2004), time(8, 1));
series.add(new Day(13, 1, 2004), time(8, 1));
series.add(new Day(14, 1, 2004), time(8, 0));
series.add(new Day(15, 1, 2004), time(7, 59));
series.add(new Day(16, 1, 2004), time(7, 58));
series.add(new Day(17, 1, 2004), time(7, 58));
series.add(new Day(18, 1, 2004), time(7, 57));
series.add(new Day(19, 1, 2004), time(7, 56));
series.add(new Day(20, 1, 2004), time(7, 55));
series.add(new Day(21, 1, 2004), time(7, 54));
series.add(new Day(22, 1, 2004), time(7, 53));
series.add(new Day(23, 1, 2004), time(7, 51));
series.add(new Day(24, 1, 2004), time(7, 50));
series.add(new Day(25, 1, 2004), time(7, 49));
series.add(new Day(26, 1, 2004), time(7, 48));
series.add(new Day(27, 1, 2004), time(7, 46));
series.add(new Day(28, 1, 2004), time(7, 45));
series.add(new Day(29, 1, 2004), time(7, 44));
series.add(new Day(30, 1, 2004), time(7, 42));
series.add(new Day(31, 1, 2004), time(7, 41));
series.add(new Day(1, 2, 2004), time(7, 39));
series.add(new Day(2, 2, 2004), time(7, 38));
series.add(new Day(3, 2, 2004), time(7, 36));
series.add(new Day(4, 2, 2004), time(7, 35));
series.add(new Day(5, 2, 2004), time(7, 33));
series.add(new Day(6, 2, 2004), time(7, 31));
series.add(new Day(7, 2, 2004), time(7, 30));
series.add(new Day(8, 2, 2004), time(7, 28));
series.add(new Day(9, 2, 2004), time(7, 26));
series.add(new Day(10, 2, 2004), time(7, 25));
series.add(new Day(11, 2, 2004), time(7, 23));
series.add(new Day(12, 2, 2004), time(7, 21));
series.add(new Day(13, 2, 2004), time(7, 19));
series.add(new Day(14, 2, 2004), time(7, 17));
series.add(new Day(15, 2, 2004), time(7, 15));
series.add(new Day(16, 2, 2004), time(7, 13));
series.add(new Day(17, 2, 2004), time(7, 11));
series.add(new Day(18, 2, 2004), time(7, 10));
series.add(new Day(19, 2, 2004), time(7, 8));
series.add(new Day(20, 2, 2004), time(7, 6));
series.add(new Day(21, 2, 2004), time(7, 4));
series.add(new Day(22, 2, 2004), time(7, 2));
series.add(new Day(23, 2, 2004), time(6, 59));
series.add(new Day(24, 2, 2004), time(6, 57));
series.add(new Day(25, 2, 2004), time(6, 55));
series.add(new Day(26, 2, 2004), time(6, 53));
series.add(new Day(27, 2, 2004), time(6, 51));
series.add(new Day(28, 2, 2004), time(6, 49));
series.add(new Day(29, 2, 2004), time(6, 47));
series.add(new Day(1, 3, 2004), time(6, 45));
series.add(new Day(2, 3, 2004), time(6, 43));
series.add(new Day(3, 3, 2004), time(6, 40));
series.add(new Day(4, 3, 2004), time(6, 38));
series.add(new Day(5, 3, 2004), time(6, 36));
series.add(new Day(6, 3, 2004), time(6, 34));
series.add(new Day(7, 3, 2004), time(6, 32));
series.add(new Day(8, 3, 2004), time(6, 29));
series.add(new Day(9, 3, 2004), time(6, 27));
series.add(new Day(10, 3, 2004), time(6, 25));
series.add(new Day(11, 3, 2004), time(6, 23));
series.add(new Day(12, 3, 2004), time(6, 20));
series.add(new Day(13, 3, 2004), time(6, 18));
series.add(new Day(14, 3, 2004), time(6, 16));
series.add(new Day(15, 3, 2004), time(6, 14));
series.add(new Day(16, 3, 2004), time(6, 11));
series.add(new Day(17, 3, 2004), time(6, 9));
series.add(new Day(18, 3, 2004), time(6, 7));
series.add(new Day(19, 3, 2004), time(6, 5));
series.add(new Day(20, 3, 2004), time(6, 2));
series.add(new Day(21, 3, 2004), time(6, 0));
series.add(new Day(22, 3, 2004), time(5, 58));
series.add(new Day(23, 3, 2004), time(5, 55));
series.add(new Day(24, 3, 2004), time(5, 53));
series.add(new Day(25, 3, 2004), time(5, 51));
series.add(new Day(26, 3, 2004), time(5, 49));
series.add(new Day(27, 3, 2004), time(5, 46));
series.add(new Day(28, 3, 2004), time(6, 44));
series.add(new Day(29, 3, 2004), time(6, 42));
series.add(new Day(30, 3, 2004), time(6, 39));
series.add(new Day(31, 3, 2004), time(6, 37));
series.add(new Day(1, 4, 2004), time(6, 35));
series.add(new Day(2, 4, 2004), time(6, 33));
series.add(new Day(3, 4, 2004), time(6, 30));
series.add(new Day(4, 4, 2004), time(6, 28));
series.add(new Day(5, 4, 2004), time(6, 26));
series.add(new Day(6, 4, 2004), time(6, 24));
series.add(new Day(7, 4, 2004), time(6, 21));
series.add(new Day(8, 4, 2004), time(6, 19));
series.add(new Day(9, 4, 2004), time(6, 17));
series.add(new Day(10, 4, 2004), time(6, 15));
series.add(new Day(11, 4, 2004), time(6, 12));
series.add(new Day(12, 4, 2004), time(6, 10));
series.add(new Day(13, 4, 2004), time(6, 8));
series.add(new Day(14, 4, 2004), time(6, 6));
series.add(new Day(15, 4, 2004), time(6, 4));
series.add(new Day(16, 4, 2004), time(6, 2));
series.add(new Day(17, 4, 2004), time(5, 59));
series.add(new Day(18, 4, 2004), time(5, 57));
series.add(new Day(19, 4, 2004), time(5, 55));
series.add(new Day(20, 4, 2004), time(5, 53));
series.add(new Day(21, 4, 2004), time(5, 51));
series.add(new Day(22, 4, 2004), time(5, 49));
series.add(new Day(23, 4, 2004), time(5, 47));
series.add(new Day(24, 4, 2004), time(5, 45));
series.add(new Day(25, 4, 2004), time(5, 43));
series.add(new Day(26, 4, 2004), time(5, 41));
series.add(new Day(27, 4, 2004), time(5, 39));
series.add(new Day(28, 4, 2004), time(5, 37));
series.add(new Day(29, 4, 2004), time(5, 35));
series.add(new Day(30, 4, 2004), time(5, 33));
series.add(new Day(1, 5, 2004), time(5, 31));
series.add(new Day(2, 5, 2004), time(5, 29));
series.add(new Day(3, 5, 2004), time(5, 28));
series.add(new Day(4, 5, 2004), time(5, 26));
series.add(new Day(5, 5, 2004), time(5, 24));
series.add(new Day(6, 5, 2004), time(5, 22));
series.add(new Day(7, 5, 2004), time(5, 20));
series.add(new Day(8, 5, 2004), time(5, 19));
series.add(new Day(9, 5, 2004), time(5, 17));
series.add(new Day(10, 5, 2004), time(5, 15));
series.add(new Day(11, 5, 2004), time(5, 14));
series.add(new Day(12, 5, 2004), time(5, 12));
series.add(new Day(13, 5, 2004), time(5, 11));
series.add(new Day(14, 5, 2004), time(5, 9));
series.add(new Day(15, 5, 2004), time(5, 8));
series.add(new Day(16, 5, 2004), time(5, 6));
series.add(new Day(17, 5, 2004), time(5, 5));
series.add(new Day(18, 5, 2004), time(5, 3));
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -