📄 jfreechartdemobase.java
字号:
*
* @return a sample stacked vertical 3D bar chart.
*/
public JFreeChart createVerticalStacked3DBarChart() {
// create a default chart based on some sample data...
String title = resources.getString("bar.vertical-stacked3D.title");
String domain = resources.getString("bar.vertical-stacked3D.domain");
String range = resources.getString("bar.vertical-stacked3D.range");
CategoryDataset data = DemoDatasetFactory.createCategoryDataset();
JFreeChart chart = ChartFactory.createStackedBarChart3D(title, domain, range, data,
PlotOrientation.VERTICAL,
true, true, false);
// then customise it a little...
chart.setBackgroundPaint(new GradientPaint(0, 0, Color.white, 1000, 0, Color.red));
return chart;
}
/**
* Creates and returns a sample pie chart.
*
* @return a sample pie chart.
*/
public JFreeChart createPieChartOne() {
// create a default chart based on some sample data...
String title = resources.getString("pie.pie1.title");
CategoryDataset data = DemoDatasetFactory.createCategoryDataset();
PieDataset extracted = DatasetUtilities.createPieDatasetForRow(data, 0);
JFreeChart chart = ChartFactory.createPieChart(title, extracted, true, true, false);
// then customise it a little...
chart.setBackgroundPaint(new GradientPaint(0, 0, Color.white, 0, 1000, Color.orange));
PiePlot plot = (PiePlot) chart.getPlot();
plot.setCircular(false);
// make section 1 explode by 100%...
plot.setRadius(0.60);
plot.setExplodePercent(1, 1.00);
return chart;
}
/**
* Creates and returns a sample pie chart.
*
* @return a sample pie chart.
*/
public JFreeChart createPieChartTwo() {
// create a default chart based on some sample data...
String title = resources.getString("pie.pie2.title");
CategoryDataset data = DemoDatasetFactory.createCategoryDataset();
Comparable category = (Comparable) data.getColumnKeys().get(1);
PieDataset extracted = DatasetUtilities.createPieDatasetForColumn(data, category);
JFreeChart chart = ChartFactory.createPieChart(title, extracted, true, true, false);
// then customise it a little...
chart.setBackgroundPaint(Color.lightGray);
PiePlot pie = (PiePlot) chart.getPlot();
pie.setSectionLabelType(PiePlot.NAME_AND_PERCENT_LABELS);
pie.setBackgroundImage(JFreeChart.INFO.getLogo());
pie.setBackgroundPaint(Color.white);
pie.setBackgroundAlpha(0.6f);
pie.setForegroundAlpha(0.75f);
return chart;
}
/**
* Creates and returns a sample XY plot.
*
* @return a sample XY plot.
*/
public JFreeChart createXYPlot() {
// create a default chart based on some sample data...
String title = resources.getString("xyplot.sample1.title");
String domain = resources.getString("xyplot.sample1.domain");
String range = resources.getString("xyplot.sample1.range");
XYDataset data = DemoDatasetFactory.createSampleXYDataset();
JFreeChart chart = ChartFactory.createXYLineChart(
title,
domain, range, data,
PlotOrientation.VERTICAL,
true,
true,
false
);
// then customise it a little...
chart.setBackgroundPaint(new GradientPaint(0, 0, Color.white, 0, 1000, Color.green));
return chart;
}
/**
* Creates and returns a sample time series chart.
*
* @return a sample time series chart.
*/
public JFreeChart createTimeSeries1Chart() {
// create a default chart based on some sample data...
String title = resources.getString("timeseries.sample1.title");
String subtitle = resources.getString("timeseries.sample1.subtitle");
String domain = resources.getString("timeseries.sample1.domain");
String range = resources.getString("timeseries.sample1.range");
String copyrightStr = resources.getString("timeseries.sample1.copyright");
XYDataset data = DemoDatasetFactory.createTimeSeriesCollection3();
JFreeChart chart = ChartFactory.createTimeSeriesChart(title, domain, range, data,
true,
true,
false);
// then customise it a little...
TextTitle title2 = new TextTitle(subtitle, new Font("SansSerif", Font.PLAIN, 12));
title2.setSpacer(new Spacer(Spacer.RELATIVE, 0.05, 0.05, 0.05, 0.0));
chart.addSubtitle(title2);
TextTitle copyright = new TextTitle(copyrightStr, new Font("SansSerif", Font.PLAIN, 9));
copyright.setPosition(TextTitle.BOTTOM);
copyright.setHorizontalAlignment(TextTitle.RIGHT);
chart.addSubtitle(copyright);
chart.setBackgroundPaint(new GradientPaint(0, 0, Color.white, 0, 1000, Color.blue));
XYPlot plot = chart.getXYPlot();
DateAxis axis = (DateAxis) plot.getDomainAxis();
axis.setVerticalTickLabels(true);
return chart;
}
/**
* Creates and returns a sample time series chart.
*
* @return a sample time series chart.
*/
public JFreeChart createTimeSeries2Chart() {
// create a default chart based on some sample data...
String title = resources.getString("timeseries.sample2.title");
String subtitleStr = resources.getString("timeseries.sample2.subtitle");
String domain = resources.getString("timeseries.sample2.domain");
String range = resources.getString("timeseries.sample2.range");
XYDataset data = DemoDatasetFactory.createTimeSeriesCollection4();
JFreeChart chart = ChartFactory.createTimeSeriesChart(title, domain, range, data,
true, true, false);
// then customise it a little...
TextTitle subtitle = new TextTitle(subtitleStr, new Font("SansSerif", Font.BOLD, 12));
chart.addSubtitle(subtitle);
chart.setBackgroundPaint(new GradientPaint(0, 0, Color.white, 0, 1000, Color.blue));
XYPlot plot = chart.getXYPlot();
LogarithmicAxis rangeAxis = new LogarithmicAxis(range);
plot.setRangeAxis(rangeAxis);
return chart;
}
/**
* Creates and returns a sample time series chart.
*
* @return a sample time series chart.
*/
public JFreeChart createTimeSeriesWithMAChart() {
// create a default chart based on some sample data...
String title = resources.getString("timeseries.sample3.title");
String domain = resources.getString("timeseries.sample3.domain");
String range = resources.getString("timeseries.sample3.range");
String subtitleStr = resources.getString("timeseries.sample3.subtitle");
TimeSeries jpy = DemoDatasetFactory.createJPYTimeSeries();
TimeSeries mav = MovingAverage.createMovingAverage(jpy, "30 Day Moving Average", 30, 30);
TimeSeriesCollection dataset = new TimeSeriesCollection();
dataset.addSeries(jpy);
dataset.addSeries(mav);
JFreeChart chart = ChartFactory.createTimeSeriesChart(title, domain, range, dataset,
true,
true,
false);
// then customise it a little...
TextTitle subtitle = new TextTitle(subtitleStr, new Font("SansSerif", Font.BOLD, 12));
chart.addSubtitle(subtitle);
chart.setBackgroundPaint(new GradientPaint(0, 0, Color.white, 0, 1000, Color.blue));
return chart;
}
/**
* Displays a vertical bar chart in its own frame.
*
* @return a high low chart.
*/
public JFreeChart createHighLowChart() {
// create a default chart based on some sample data...
String title = resources.getString("timeseries.highlow.title");
String domain = resources.getString("timeseries.highlow.domain");
String range = resources.getString("timeseries.highlow.range");
String subtitleStr = resources.getString("timeseries.highlow.subtitle");
HighLowDataset data = DemoDatasetFactory.createHighLowDataset();
JFreeChart chart = ChartFactory.createHighLowChart(title, domain, range, data, true);
// then customise it a little...
TextTitle subtitle = new TextTitle(subtitleStr, new Font("SansSerif", Font.BOLD, 12));
chart.addSubtitle(subtitle);
chart.setBackgroundPaint(new GradientPaint(0, 0, Color.white, 0, 1000, Color.magenta));
return chart;
}
/**
* Creates a candlestick chart.
*
* @return a candlestick chart.
*/
public JFreeChart createCandlestickChart() {
// create a default chart based on some sample data...
String title = resources.getString("timeseries.candlestick.title");
String domain = resources.getString("timeseries.candlestick.domain");
String range = resources.getString("timeseries.candlestick.range");
String subtitleStr = resources.getString("timeseries.candlestick.subtitle");
HighLowDataset data = DemoDatasetFactory.createHighLowDataset();
JFreeChart chart = ChartFactory.createCandlestickChart(title, domain, range, data, false);
// then customise it a little...
TextTitle subtitle = new TextTitle(subtitleStr, new Font("SansSerif", Font.BOLD, 12));
chart.addSubtitle(subtitle);
chart.setBackgroundPaint(new GradientPaint(0, 0, Color.white, 0, 1000, Color.green));
return chart;
}
/**
* Creates and returns a sample signal chart.
*
* @return a sample chart.
*/
public JFreeChart createSignalChart() {
// create a default chart based on some sample data...
String title = resources.getString("timeseries.signal.title");
String domain = resources.getString("timeseries.signal.domain");
String range = resources.getString("timeseries.signal.range");
String subtitleStr = resources.getString("timeseries.signal.subtitle");
SignalsDataset data = DemoDatasetFactory.createSampleSignalDataset();
JFreeChart chart = ChartFactory.createSignalChart(title, domain, range, data, true);
// then customise it a little...
TextTitle subtitle = new TextTitle(subtitleStr, new Font("SansSerif", Font.BOLD, 12));
chart.addSubtitle(subtitle);
chart.setBackgroundPaint(new GradientPaint(0, 0, Color.white, 0, 1000, Color.blue));
return chart;
}
/**
* Creates and returns a sample thermometer chart.
*
* @return a sample thermometer chart.
*/
public JFreeChart createThermometerChart() {
// create a default chart based on some sample data...
String title = resources.getString("meter.thermo.title");
String subtitleStr = resources.getString("meter.thermo.subtitle");
String units = resources.getString("meter.thermo.units");
DefaultValueDataset data = new DefaultValueDataset(new Double(34.0));
ThermometerPlot plot = new ThermometerPlot(data);
plot.setUnits(units);
JFreeChart chart = new JFreeChart(title, JFreeChart.DEFAULT_TITLE_FONT, plot, false);
// then customise it a little...
TextTitle subtitle = new TextTitle(subtitleStr, new Font("SansSerif", Font.BOLD, 12));
chart.addSubtitle(subtitle);
chart.setBackgroundPaint(new GradientPaint(0, 0, Color.white, 0, 1000, Color.blue));
return chart;
}
/**
* Creates and returns a sample meter chart.
*
* @return a meter chart.
*/
public JFreeChart createMeterChartCircle() {
// create a default chart based on some sample data...
String title = resources.getString("meter.meter.title");
String subtitleStr = resources.getString("meter.meter.subtitle");
String units = resources.getString("meter.meter.units");
DefaultMeterDataset data = DemoDatasetFactory.createMeterDataset();
data.setUnits(units);
MeterPlot plot = new MeterPlot(data);
plot.setMeterAngle(270);
plot.setDialType(1);
JFreeChart chart = new JFreeChart(title, JFreeChart.DEFAULT_TITLE_FONT,
plot, false);
// then customise it a little...
TextTitle subtitle = new TextTitle(subtitleStr, new Font("SansSerif", Font.BOLD, 12));
chart.addSubtitle(subtitle);
chart.setBackgroundPaint(new GradientPaint(0, 0, Color.white, 0, 1000, Color.blue));
return chart;
}
/**
* Creates and returns a sample meter chart.
*
* @return a meter chart.
*/
public JFreeChart createMeterChartPie() {
// create a default chart based on some sample data...
String title = resources.getString("meter.meter.title");
String subtitleStr = resources.getString("meter.meter.subtitle");
String units = resources.getString("meter.meter.units");
DefaultMeterDataset data = DemoDatasetFactory.createMeterDataset();
data.setUnits(units);
MeterPlot plot = new MeterPlot(data);
plot.setMeterAngle(270);
plot.setDialType(0);
JFreeChart chart = new JFreeChart(title, JFreeChart.DEFAULT_TITLE_FONT,
plot, false);
// then customise it a little...
TextTitle subtitle = new TextTitle(subtitleStr, new Font("SansSerif", Font.BOLD, 12));
chart.addSubtitle(subtitle);
chart.setBackgroundPaint(new GradientPaint(0, 0, Color.white, 0, 1000, Color.blue));
return chart;
}
/**
* Creates and returns a sample meter chart.
*
* @return the meter chart.
*/
public JFreeChart createMeterChartChord() {
// create a default chart based on some sample data...
String title = resources.getString("meter.meter.title");
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -