📄 chartfactory.java
字号:
boolean legend,
boolean tooltips,
boolean urls) {
CategoryAxis categoryAxis = new CategoryAxis(categoryAxisLabel);
ValueAxis valueAxis = new NumberAxis(valueAxisLabel);
StackedAreaRenderer renderer = new StackedAreaRenderer();
if (tooltips) {
renderer.setItemLabelGenerator(new StandardCategoryItemLabelGenerator());
}
if (urls) {
renderer.setItemURLGenerator(new StandardCategoryURLGenerator());
}
CategoryPlot plot = new CategoryPlot(data, categoryAxis, valueAxis, renderer);
plot.setOrientation(orientation);
JFreeChart chart = new JFreeChart(title, JFreeChart.DEFAULT_TITLE_FONT, plot, legend);
return chart;
}
/**
* Creates a bar chart.
*
* @param title the chart title.
* @param categoryAxisLabel the label for the category axis.
* @param valueAxisLabel the label for the value axis.
* @param data the dataset for the chart.
* @param orientation the plot orientation (horizontal or vertical).
* @param legend a flag specifying whether or not a legend is required.
* @param tooltips configure chart to generate tool tips?
* @param urls configure chart to generate URLs?
*
* @return A bar chart.
*/
public static JFreeChart createBarChart(String title,
String categoryAxisLabel,
String valueAxisLabel,
CategoryDataset data,
PlotOrientation orientation,
boolean legend,
boolean tooltips,
boolean urls) {
CategoryAxis categoryAxis = new CategoryAxis(categoryAxisLabel);
ValueAxis valueAxis = new NumberAxis(valueAxisLabel);
BarRenderer renderer = new BarRenderer();
if (tooltips) {
renderer.setItemLabelGenerator(new StandardCategoryItemLabelGenerator());
}
if (urls) {
renderer.setItemURLGenerator(new StandardCategoryURLGenerator());
}
CategoryPlot plot = new CategoryPlot(data, categoryAxis, valueAxis, renderer);
plot.setOrientation(orientation);
JFreeChart chart = new JFreeChart(title, JFreeChart.DEFAULT_TITLE_FONT, plot, legend);
return chart;
}
/**
* Creates a stacked bar chart with default settings.
*
* @param title the chart title.
* @param domainAxisLabel the label for the category axis.
* @param rangeAxisLabel the label for the value axis.
* @param data the dataset for the chart.
* @param orientation the orientation of the chart (horizontal or vertical).
* @param legend a flag specifying whether or not a legend is required.
* @param tooltips configure chart to generate tool tips?
* @param urls configure chart to generate URLs?
*
* @return a stacked bar chart.
*/
public static JFreeChart createStackedBarChart(String title,
String domainAxisLabel,
String rangeAxisLabel,
CategoryDataset data,
PlotOrientation orientation,
boolean legend,
boolean tooltips,
boolean urls) {
// create axes...
CategoryAxis categoryAxis = new CategoryAxis(domainAxisLabel);
ValueAxis valueAxis = new NumberAxis(rangeAxisLabel);
// create the renderer...
StackedBarRenderer renderer = new StackedBarRenderer();
if (tooltips) {
renderer.setItemLabelGenerator(new StandardCategoryItemLabelGenerator());
}
if (urls) {
renderer.setItemURLGenerator(new StandardCategoryURLGenerator());
}
CategoryPlot plot = new CategoryPlot(data, categoryAxis, valueAxis, renderer);
plot.setOrientation(orientation);
JFreeChart chart = new JFreeChart(title, JFreeChart.DEFAULT_TITLE_FONT, plot, legend);
return chart;
}
/**
* Creates a bar chart with a 3D effect.
*
* @param title the chart title.
* @param categoryAxisLabel the label for the category axis.
* @param valueAxisLabel the label for the value axis.
* @param data the dataset for the chart.
* @param orientation the plot orientation (horizontal or vertical).
* @param legend a flag specifying whether or not a legend is required.
* @param tooltips configure chart to generate tool tips?
* @param urls configure chart to generate URLs?
*
* @return a 3D-effect bar chart.
*/
public static JFreeChart createBarChart3D(String title,
String categoryAxisLabel,
String valueAxisLabel,
CategoryDataset data,
PlotOrientation orientation,
boolean legend,
boolean tooltips,
boolean urls) {
CategoryAxis categoryAxis = new CategoryAxis3D(categoryAxisLabel);
ValueAxis valueAxis = new NumberAxis3D(valueAxisLabel);
BarRenderer3D renderer = new BarRenderer3D();
if (tooltips) {
renderer.setItemLabelGenerator(new StandardCategoryItemLabelGenerator());
}
if (urls) {
renderer.setItemURLGenerator(new StandardCategoryURLGenerator());
}
CategoryPlot plot = new CategoryPlot(data, categoryAxis, valueAxis, renderer);
plot.setOrientation(orientation);
plot.setForegroundAlpha(0.75f);
JFreeChart chart = new JFreeChart(title, JFreeChart.DEFAULT_TITLE_FONT, plot, legend);
return chart;
}
/**
* Creates a stacked bar chart with a 3D effect and default settings.
*
* @param title the chart title.
* @param categoryAxisLabel the label for the category axis.
* @param valueAxisLabel the label for the value axis.
* @param data the dataset for the chart.
* @param orientation the orientation (horizontal or vertical).
* @param legend a flag specifying whether or not a legend is required.
* @param tooltips configure chart to generate tool tips?
* @param urls configure chart to generate URLs?
*
* @return a stacked vertical bar chart.
*/
public static JFreeChart createStackedBarChart3D(String title,
String categoryAxisLabel,
String valueAxisLabel,
CategoryDataset data,
PlotOrientation orientation,
boolean legend,
boolean tooltips,
boolean urls) {
// create the axes...
CategoryAxis categoryAxis = new CategoryAxis3D(categoryAxisLabel);
ValueAxis valueAxis = new NumberAxis3D(valueAxisLabel);
// create the renderer...
CategoryItemLabelGenerator toolTipGenerator = null;
if (tooltips) {
toolTipGenerator = new StandardCategoryItemLabelGenerator();
}
CategoryURLGenerator urlGenerator = null;
if (urls) {
urlGenerator = new StandardCategoryURLGenerator();
}
CategoryItemRenderer renderer = new StackedBarRenderer3D();
renderer.setItemLabelGenerator(toolTipGenerator);
renderer.setItemURLGenerator(urlGenerator);
// create the plot...
CategoryPlot plot = new CategoryPlot(data, categoryAxis, valueAxis, renderer);
plot.setOrientation(orientation);
// create the chart...
JFreeChart chart = new JFreeChart(title, JFreeChart.DEFAULT_TITLE_FONT, plot, legend);
return chart;
}
/**
* Creates a line chart with default settings.
*
* @param title the chart title.
* @param categoryAxisLabel the label for the category axis.
* @param valueAxisLabel the label for the value axis.
* @param data the dataset for the chart.
* @param orientation the chart orientation (horizontal or vertical).
* @param legend a flag specifying whether or not a legend is required.
* @param tooltips configure chart to generate tool tips?
* @param urls configure chart to generate URLs?
*
* @return a line chart.
*/
public static JFreeChart createLineChart(String title,
String categoryAxisLabel,
String valueAxisLabel,
CategoryDataset data,
PlotOrientation orientation,
boolean legend,
boolean tooltips,
boolean urls) {
CategoryAxis categoryAxis = new CategoryAxis(categoryAxisLabel);
ValueAxis valueAxis = new NumberAxis(valueAxisLabel);
LineAndShapeRenderer renderer = new LineAndShapeRenderer();
renderer.setDrawLines(true);
renderer.setDrawShapes(false);
if (tooltips) {
renderer.setItemLabelGenerator(new StandardCategoryItemLabelGenerator());
}
if (urls) {
renderer.setItemURLGenerator(new StandardCategoryURLGenerator());
}
CategoryPlot plot = new CategoryPlot(data, categoryAxis, valueAxis, renderer);
plot.setOrientation(orientation);
JFreeChart chart = new JFreeChart(title, JFreeChart.DEFAULT_TITLE_FONT, plot, legend);
return chart;
}
/**
* Creates a Gantt chart using the supplied attributes plus default values where required.
*
* @param title the chart title.
* @param categoryAxisLabel the label for the category axis.
* @param dateAxisLabel the label for the date axis.
* @param data the dataset for the chart.
* @param legend a flag specifying whether or not a legend is required.
* @param tooltips configure chart to generate tool tips?
* @param urls configure chart to generate URLs?
*
* @return A Gantt chart.
*/
public static JFreeChart createGanttChart(String title,
String categoryAxisLabel,
String dateAxisLabel,
IntervalCategoryDataset data,
boolean legend,
boolean tooltips,
boolean urls) {
CategoryAxis categoryAxis = new CategoryAxis(categoryAxisLabel);
DateAxis dateAxis = new DateAxis(dateAxisLabel);
CategoryItemLabelGenerator toolTipGenerator = null;
if (tooltips) {
toolTipGenerator = new IntervalCategoryItemLabelGenerator(DateFormat.getDateInstance());
}
CategoryURLGenerator urlGenerator = null;
if (urls) {
urlGenerator = new StandardCategoryURLGenerator();
}
CategoryItemRenderer renderer = new IntervalBarRenderer();
renderer.setItemLabelGenerator(toolTipGenerator);
renderer.setItemURLGenerator(urlGenerator);
CategoryPlot plot = new CategoryPlot(data, categoryAxis, dateAxis, renderer);
plot.setOrientation(PlotOrientation.HORIZONTAL);
JFreeChart chart = new JFreeChart(title, JFreeChart.DEFAULT_TITLE_FONT, plot, legend);
return chart;
}
/**
* Creates a line chart (based on an {@link XYDataset}) with default settings.
*
* @param title the chart title.
* @param xAxisLabel a label for the X-axis.
* @param yAxisLabel a label for the Y-axis.
* @param dataset the dataset for the chart.
* @param orientation the plot orientation (horizontal or vertical).
* @param legend a flag specifying whether or not a legend is required.
* @param tooltips configure chart to generate tool tips?
* @param urls configure chart to generate URLs?
*
* @return The chart.
*
* @deprecated Use createXYLineChart(...).
*/
public static JFreeChart createLineXYChart(String title,
String xAxisLabel,
String yAxisLabel,
XYDataset dataset,
PlotOrientation orientation,
boolean legend,
boolean tooltips,
boolean urls) {
return createXYLineChart(
title, xAxisLabel, yAxisLabel, dataset, orientation, legend, tooltips, urls
);
}
/**
* Creates a line chart (based on an {@link XYDataset}) with default settings.
*
* @param title the chart title.
* @param xAxisLabel a label for the X-axis.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -