combinedxyplotdemo3.java
来自「Jfreechart 源码例子 是和jfreechart developmen」· Java 代码 · 共 326 行 · 第 1/2 页
JAVA
326 行
package demo;
import java.awt.Color;
import java.awt.Dimension;
import java.awt.Font;
import java.awt.GradientPaint;
import java.io.PrintStream;
import javax.swing.JPanel;
import org.jfree.chart.ChartPanel;
import org.jfree.chart.ChartUtilities;
import org.jfree.chart.JFreeChart;
import org.jfree.chart.axis.DateAxis;
import org.jfree.chart.axis.NumberAxis;
import org.jfree.chart.plot.CombinedRangeXYPlot;
import org.jfree.chart.plot.XYPlot;
import org.jfree.chart.renderer.xy.StandardXYItemRenderer;
import org.jfree.chart.renderer.xy.XYBarRenderer;
import org.jfree.chart.title.TextTitle;
import org.jfree.data.time.Day;
import org.jfree.data.time.MovingAverage;
import org.jfree.data.time.TimeSeries;
import org.jfree.data.time.TimeSeriesCollection;
import org.jfree.ui.ApplicationFrame;
import org.jfree.ui.RefineryUtilities;
public class CombinedXYPlotDemo3 extends ApplicationFrame
{
public CombinedXYPlotDemo3(String paramString)
{
super(paramString);
JFreeChart localJFreeChart = createCombinedChart();
ChartPanel localChartPanel = new ChartPanel(localJFreeChart, true, true, true, false, true);
localChartPanel.setPreferredSize(new Dimension(500, 270));
setContentPane(localChartPanel);
}
private static JFreeChart createCombinedChart()
{
TimeSeriesCollection localTimeSeriesCollection1 = new TimeSeriesCollection();
TimeSeries localTimeSeries1 = createEURTimeSeries();
localTimeSeriesCollection1.addSeries(localTimeSeries1);
TimeSeriesCollection localTimeSeriesCollection2 = new TimeSeriesCollection();
TimeSeries localTimeSeries2 = MovingAverage.createMovingAverage(localTimeSeries1, "EUR/GBP (30 Day MA)", 30, 30);
localTimeSeriesCollection2.addSeries(localTimeSeries1);
localTimeSeriesCollection2.addSeries(localTimeSeries2);
TimeSeriesCollection localTimeSeriesCollection3 = new TimeSeriesCollection();
localTimeSeriesCollection3.addSeries(localTimeSeries1);
JFreeChart localJFreeChart = null;
NumberAxis localNumberAxis = new NumberAxis("Value");
localNumberAxis.setAutoRangeIncludesZero(false);
CombinedRangeXYPlot localCombinedRangeXYPlot = new CombinedRangeXYPlot(localNumberAxis);
XYPlot localXYPlot1 = new XYPlot(localTimeSeriesCollection1, new DateAxis("Date 1"), null, new StandardXYItemRenderer());
localCombinedRangeXYPlot.add(localXYPlot1, 1);
XYPlot localXYPlot2 = new XYPlot(localTimeSeriesCollection2, new DateAxis("Date 2"), null, new StandardXYItemRenderer());
localCombinedRangeXYPlot.add(localXYPlot2, 1);
XYPlot localXYPlot3 = new XYPlot(localTimeSeriesCollection3, new DateAxis("Date 3"), null, new XYBarRenderer(0.20000000000000001D));
localCombinedRangeXYPlot.add(localXYPlot3, 1);
localJFreeChart = new JFreeChart("Demo Chart", JFreeChart.DEFAULT_TITLE_FONT, localCombinedRangeXYPlot, true);
TextTitle localTextTitle = new TextTitle("This is a subtitle", new Font("SansSerif", 1, 12));
localJFreeChart.addSubtitle(localTextTitle);
localJFreeChart.setBackgroundPaint(new GradientPaint(0F, 0F, Color.white, 0F, 1000.0F, Color.blue));
ChartUtilities.applyCurrentTheme(localJFreeChart);
return localJFreeChart;
}
public static TimeSeries createEURTimeSeries()
{
TimeSeries localTimeSeries = new TimeSeries("EUR/GBP");
try
{
localTimeSeries.add(new Day(2, 1, 2001), new Double(1.5788D));
localTimeSeries.add(new Day(3, 1, 2001), new Double(1.5912999999999999D));
localTimeSeries.add(new Day(4, 1, 2001), new Double(1.5807D));
localTimeSeries.add(new Day(5, 1, 2001), new Double(1.5710999999999999D));
localTimeSeries.add(new Day(8, 1, 2001), new Double(1.5778000000000001D));
localTimeSeries.add(new Day(9, 1, 2001), new Double(1.5851D));
localTimeSeries.add(new Day(10, 1, 2001), new Double(1.5846D));
localTimeSeries.add(new Day(11, 1, 2001), new Double(1.5727D));
localTimeSeries.add(new Day(12, 1, 2001), new Double(1.5585D));
localTimeSeries.add(new Day(15, 1, 2001), new Double(1.5693999999999999D));
localTimeSeries.add(new Day(16, 1, 2001), new Double(1.5629D));
localTimeSeries.add(new Day(17, 1, 2001), new Double(1.5831D));
localTimeSeries.add(new Day(18, 1, 2001), new Double(1.5624D));
localTimeSeries.add(new Day(19, 1, 2001), new Double(1.5693999999999999D));
localTimeSeries.add(new Day(22, 1, 2001), new Double(1.5615000000000001D));
localTimeSeries.add(new Day(23, 1, 2001), new Double(1.5656000000000001D));
localTimeSeries.add(new Day(24, 1, 2001), new Double(1.5794999999999999D));
localTimeSeries.add(new Day(25, 1, 2001), new Double(1.5851999999999999D));
localTimeSeries.add(new Day(26, 1, 2001), new Double(1.5797000000000001D));
localTimeSeries.add(new Day(29, 1, 2001), new Double(1.5862000000000001D));
localTimeSeries.add(new Day(30, 1, 2001), new Double(1.5803D));
localTimeSeries.add(new Day(31, 1, 2001), new Double(1.5713999999999999D));
localTimeSeries.add(new Day(1, 2, 2001), new Double(1.5717000000000001D));
localTimeSeries.add(new Day(2, 2, 2001), new Double(1.5734999999999999D));
localTimeSeries.add(new Day(5, 2, 2001), new Double(1.5690999999999999D));
localTimeSeries.add(new Day(6, 2, 2001), new Double(1.5676000000000001D));
localTimeSeries.add(new Day(7, 2, 2001), new Double(1.5677000000000001D));
localTimeSeries.add(new Day(8, 2, 2001), new Double(1.5737000000000001D));
localTimeSeries.add(new Day(9, 2, 2001), new Double(1.5653999999999999D));
localTimeSeries.add(new Day(12, 2, 2001), new Double(1.5621D));
localTimeSeries.add(new Day(13, 2, 2001), new Double(1.5761000000000001D));
localTimeSeries.add(new Day(14, 2, 2001), new Double(1.5898000000000001D));
localTimeSeries.add(new Day(15, 2, 2001), new Double(1.6045D));
localTimeSeries.add(new Day(16, 2, 2001), new Double(1.5851999999999999D));
localTimeSeries.add(new Day(19, 2, 2001), new Double(1.5704D));
localTimeSeries.add(new Day(20, 2, 2001), new Double(1.5891999999999999D));
localTimeSeries.add(new Day(21, 2, 2001), new Double(1.5844D));
localTimeSeries.add(new Day(22, 2, 2001), new Double(1.5933999999999999D));
localTimeSeries.add(new Day(23, 2, 2001), new Double(1.5951D));
localTimeSeries.add(new Day(26, 2, 2001), new Double(1.5848D));
localTimeSeries.add(new Day(27, 2, 2001), new Double(1.5706D));
localTimeSeries.add(new Day(28, 2, 2001), new Double(1.5680000000000001D));
localTimeSeries.add(new Day(1, 3, 2001), new Double(1.5645D));
localTimeSeries.add(new Day(2, 3, 2001), new Double(1.5753999999999999D));
localTimeSeries.add(new Day(5, 3, 2001), new Double(1.5808D));
localTimeSeries.add(new Day(6, 3, 2001), new Double(1.5766D));
localTimeSeries.add(new Day(7, 3, 2001), new Double(1.5755999999999999D));
localTimeSeries.add(new Day(8, 3, 2001), new Double(1.5760000000000001D));
localTimeSeries.add(new Day(9, 3, 2001), new Double(1.5748D));
localTimeSeries.add(new Day(12, 3, 2001), new Double(1.5779000000000001D));
localTimeSeries.add(new Day(13, 3, 2001), new Double(1.5837000000000001D));
localTimeSeries.add(new Day(14, 3, 2001), new Double(1.5886D));
localTimeSeries.add(new Day(15, 3, 2001), new Double(1.5931D));
localTimeSeries.add(new Day(16, 3, 2001), new Double(1.5945D));
localTimeSeries.add(new Day(19, 3, 2001), new Double(1.5880000000000001D));
localTimeSeries.add(new Day(20, 3, 2001), new Double(1.5817000000000001D));
localTimeSeries.add(new Day(21, 3, 2001), new Double(1.5927D));
localTimeSeries.add(new Day(22, 3, 2001), new Double(1.6065D));
localTimeSeries.add(new Day(23, 3, 2001), new Double(1.6006D));
localTimeSeries.add(new Day(26, 3, 2001), new Double(1.6007D));
localTimeSeries.add(new Day(27, 3, 2001), new Double(1.5989D));
localTimeSeries.add(new Day(28, 3, 2001), new Double(1.6134999999999999D));
localTimeSeries.add(new Day(29, 3, 2001), new Double(1.6282000000000001D));
localTimeSeries.add(new Day(30, 3, 2001), new Double(1.609D));
localTimeSeries.add(new Day(2, 4, 2001), new Double(1.6107D));
localTimeSeries.add(new Day(3, 4, 2001), new Double(1.6093D));
localTimeSeries.add(new Day(4, 4, 2001), new Double(1.5880000000000001D));
localTimeSeries.add(new Day(5, 4, 2001), new Double(1.5931D));
localTimeSeries.add(new Day(6, 4, 2001), new Double(1.5968D));
localTimeSeries.add(new Day(9, 4, 2001), new Double(1.6072D));
localTimeSeries.add(new Day(10, 4, 2001), new Double(1.6167D));
localTimeSeries.add(new Day(11, 4, 2001), new Double(1.6214D));
localTimeSeries.add(new Day(12, 4, 2001), new Double(1.6120000000000001D));
localTimeSeries.add(new Day(17, 4, 2001), new Double(1.6229D));
localTimeSeries.add(new Day(18, 4, 2001), new Double(1.6297999999999999D));
localTimeSeries.add(new Day(19, 4, 2001), new Double(1.6158999999999999D));
localTimeSeries.add(new Day(20, 4, 2001), new Double(1.5995999999999999D));
localTimeSeries.add(new Day(23, 4, 2001), new Double(1.6042000000000001D));
localTimeSeries.add(new Day(24, 4, 2001), new Double(1.6061000000000001D));
localTimeSeries.add(new Day(25, 4, 2001), new Double(1.6045D));
localTimeSeries.add(new Day(26, 4, 2001), new Double(1.597D));
localTimeSeries.add(new Day(27, 4, 2001), new Double(1.6094999999999999D));
localTimeSeries.add(new Day(30, 4, 2001), new Double(1.6141000000000001D));
localTimeSeries.add(new Day(1, 5, 2001), new Double(1.6075999999999999D));
localTimeSeries.add(new Day(2, 5, 2001), new Double(1.6076999999999999D));
localTimeSeries.add(new Day(3, 5, 2001), new Double(1.6034999999999999D));
localTimeSeries.add(new Day(4, 5, 2001), new Double(1.6060000000000001D));
localTimeSeries.add(new Day(8, 5, 2001), new Double(1.6177999999999999D));
localTimeSeries.add(new Day(9, 5, 2001), new Double(1.6083000000000001D));
localTimeSeries.add(new Day(10, 5, 2001), new Double(1.6107D));
localTimeSeries.add(new Day(11, 5, 2001), new Double(1.6209D));
localTimeSeries.add(new Day(14, 5, 2001), new Double(1.6228D));
localTimeSeries.add(new Day(15, 5, 2001), new Double(1.6184000000000001D));
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?