import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import org.jfree.chart.ChartFactory;
import org.jfree.chart.ChartUtilities;
import org.jfree.chart.JFreeChart;
import org.jfree.chart.plot.CategoryPlot;
import org.jfree.chart.plot.PlotOrientation;
import org.jfree.data.category.CategoryDataset;
import org.jfree.data.general.DatasetUtilities;
//JFreeChart Area Chart(区域图)
public class CreateJFreeChartArea {
/**
* 创建JFreeChart Area Chart(区域图)
*/
public static void main(String[] args) {
//步骤1:创建CategoryDataset对象(准备数据)
CategoryDataset dataset = createDataset();
//步骤2:根据Dataset 生成JFreeChart对象,以及做相应的设置
JFreeChart freeChart = createChart(dataset);
//步骤3:将JFreeChart对象输出到文件,Servlet输出流等
saveAsFile(freeChart, "c:\\jfreechart\\area.png", 500, 400);
}
//保存为文件
public static void saveAsFile(JFreeChart chart, String outputPath, int weight, int height) {
FileOutputStream out = null;
try {
File outFile = new File(outputPath);
if (!outFile.getParentFile().exists()) {
outFile.getParentFile().mkdirs();
}
out = new FileOutputStream(outputPath);
//保存为PNG
ChartUtilities.writeChartAsPNG(out, chart, 300, 200);
//保存为JPEG
//ChartUtilities.writeChartAsJPEG(out, chart, 500, 400);
out.flush();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} finally {
if (out != null) {
try {
out.close();
} catch (IOException e) {
//do nothing
}
}
}
}
//根据CategoryDataset创建JFreeChart对象
public static JFreeChart createChart(CategoryDataset categoryDataset) {
//创建JFreeChart对象:ChartFactory.createAreaChart
JFreeChart jfreechart = ChartFactory.createAreaChart("Area Chart Demo", //标题
"产品", //categoryAxisLabel (category轴,横轴,X轴标签)
"数量", //valueAxisLabel(value轴,纵轴,Y轴的标签)
categoryDataset, // dataset
PlotOrientation.VERTICAL,
true, // legend
false, // tooltips
false); // URLs
//使用CategoryPlot设置各种参数。以下设置可以省略。
CategoryPlot plot = (CategoryPlot) jfreechart.getPlot();
//背景色 透明度
plot.setBackgroundAlpha(0.5f);
//前景色 透明度
plot.setForegroundAlpha(0.5f);
//其他设置 参考 CategoryPlot类
return jfreechart;
}
/**
* 创建CategoryDataset对象
*
*/
public static CategoryDataset createDataset() {
String []rowKeys = {"One", "Two", "Three"};
String []colKeys = {"1987", "1997", "2007"};
double [][] data = {
{50, 20, 30},
{20, 10D, 40D},
{40, 30.0008D, 38.24D},
};
//也可以使用类似以下代码
//DefaultCategoryDataset categoryDataset = new DefaultCategoryDataset();
//categoryDataset.addValue(10, "rowKey", "colKey");
return DatasetUtilities.createCategoryDataset(rowKeys, colKeys, data);
}
}
- 大小: 7.6 KB
分享到:
相关推荐
4. **区域图(Area Chart)** 区域图是曲线图的一种扩展,填充了曲线下的面积,通常用来强调数据的范围或区间。JFreeChart允许创建透明度可调的区域,可以用于表示数据的密度或不确定性。 5. **其他图表类型** 除了...
1. **多样的图表类型**:JFreeChart支持多种图表类型,如折线图(Line Chart)、柱状图(Bar Chart)、饼图(Pie Chart)、散点图(Scatter Plot)以及面积图(Area Chart)等,满足不同场景的数据可视化需求。...
4. **区域图(Area Chart)** 区域图是在线图的基础上填充颜色,形成面积,强调数据的变化范围。同样使用`XYDataset`和`XYPlot`,通过调整透明度来显示区域。 5. **分布图(Distribution Chart)** 分布图通常用于...
1. **图表类型**:JFreeChart支持多种图表类型,如折线图(LineChart)、柱状图(BarChart)、饼图(PieChart)、散点图(ScatterPlot)、面积图(AreaChart)等。每个图表类型都有其特定的用途,适用于不同的数据...
- **面积图(Area Chart)**: 在线形图基础上填充面积,突出显示数据的变化范围。 - **甘特图(Gantt Chart)**: 用于项目管理,展示任务的进度和依赖关系。 **3. 使用JFreeChart的步骤** 1. 引入JFreeChart库:在...
4. **区域图(Area Chart)**:区域图是在线图的基础上填充面积,突出显示数值之间的差异,常用于表示量的变化。 5. **分布图(Scatter Plot)**:分布图用于显示两个变量之间的关系,通过散点来表现数据的分布情况...
1. **图表类型**:JFreeChart 支持多种图表类型,如线形图(LineChart)、柱状图(BarChart)、饼图(PieChart)、面积图(AreaChart)等,这些图表可以用来展示不同类型的统计数据。 2. **自定义性**:JFreeChart ...
4. **区域图(Area Chart)**:区域图在折线图的基础上填充了线条下的区域,强调数值范围,常用于表示数据的波动或变化范围。 5. **分布图(Scatter Plot)**:分布图用于展示两个变量之间的关系,通过散点分布可以...
此外,JFreeChart还支持其他图表类型,如散点图(Scatter Plot)、面积图(Area Chart)、甘特图(Gantt Chart)等,以及组合图表,允许在一个图表中同时展示多种类型的图。 在实现这些图表时,JFreeChart提供了...
6. **面积图(Area Chart)**:面积图强调数值随时间的变化,填充了线形图下的面积。它可以用于显示累积数据或强调数据范围。 7. **雷达图(Radar Chart)**:雷达图在多个维度上比较数据,适合于多因素评估。...
除了上述基础图表,JFreeChart 还提供其他类型的图表,如散点图(Scatter Plot)、面积图(Area Chart)、甘特图(Gantt Chart)等,满足各种复杂的可视化需求。 **使用 JFreeChart 的步骤** 1. **引入 JFreeChart...
这只是一个例子,由于里面的数据联系到了数据库,因而单独运行是不成功的。...该方法不仅适用于线性图,areachart,piechart,stackchart等的实时图该方法同样适用。主要运用了createCategoryDataset方法
- **面积图(Area Chart)**:与折线图相似,但填充了区域,强调数值的变化范围。 - **甘特图(Gantt Chart)**:用于项目管理,显示任务的时间进度和依赖关系。 3. **创建图表** 创建JFreeChart对象需要数据源...
4. **区域图(Area Chart)** 区域图是在折线图的基础上填充了下方的面积,强调数值范围。它通常用于突出显示一段时间内数据的变化范围,比如在经济学中展示GDP的增长区间。 5. **时序图(Time Series Chart)** ...
5. 面积图 (Area Chart):与折线图类似,但强调数值的区域。 6. 条形图 (Histogram):用于统计分析,尤其适合展示频率分布。 7. 股票图 (Candlestick Chart):在金融应用中,显示股票价格的变动情况。 8. 直方图 ...
1. **多类型图表**:支持柱状图(Bar Chart)、饼状图(Pie Chart)、线形图(Line Chart)、面积图(Area Chart)、散点图(Scatter Plot)、甘特图(Gantt Chart)等多种图表类型,满足不同数据可视化需求。...
- 区域图 (AreaChart) - 分布图 (ScatterPlot) - 混合图 (CombinedDomainXYPlot 或 CombinedRangeXYPlot) - 甘特图 (GanttChart) - 仪表盘 (MeterChart) 每种图表都有其特定的创建方法和参数,可以根据需求进行定制...
JFreeChart 还支持更多的图表类型,如散点图(Scatter Plot)、面积图(Area Chart)、甘特图(Gantt Chart)和热力图(Heat Map)。这些图表为不同的数据呈现提供了更多可能性。 5. **自定义图表元素** 在...
JFreeChart 支持多种图表类型,包括但不限于:饼图(Pie Chart)、柱状图(Bar Chart)、线形图(Line Chart)、散点图(Scatter Plot)、面积图(Area Chart)等。这些图表可以用于数据可视化,帮助用户更好地理解...