package com.test.jfree;
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.ChartFrame;
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 Line Chart(折线图)
public class CreateJFreeChartLine {
public static void main(String[] args) {
// 步骤1:创建CategoryDataset对象(准备数据)
CategoryDataset dataset = createDataset();
// 步骤2:根据Dataset 生成JFreeChart对象,以及做相应的设置
JFreeChart freeChart = createChart(dataset);
// 步骤3:将JFreeChart对象输出到文件,Servlet输出流等
// saveAsFile(freeChart, "c:\\line.jpg", 600, 400);
ChartFrame preview = new ChartFrame("zs information",freeChart);
preview.setSize(1000,400);
preview.setVisible(true);
}
// 保存为文件
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, 600, 400);
// 保存为JPEG
ChartUtilities.writeChartAsJPEG(out, chart, 600, 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.createLineChart
JFreeChart jfreechart = ChartFactory.createLineChart("titles", // 标题
"years", // categoryAxisLabel (category轴,横轴,X轴标签)
"total", // 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;
}
public static CategoryDataset createDataset() {
String[] rowKeys = { "A_tip" };
String[] colKeys = { "0:00", "1:00", "2:00", "7:00", "8:00", "9:00",
"10:00", "11:00", "12:00", "13:00", "16:00", "20:00", "21:00",
"23:00" };
double[][] data = { { 1.5, 3, 50, 1, 1, 1, 2, 20, 2, 1, 3, 2, 1, 1 }
};
// 或者使用类似以下代码
// DefaultCategoryDataset categoryDataset = new
// DefaultCategoryDataset();
// categoryDataset.addValue(10, "rowKey", "colKey");
return DatasetUtilities.createCategoryDataset(rowKeys, colKeys, data);
}
}
分享到:
相关推荐
jfreechat 饼图,柱状,折线图示例代码 三分钟掌握三种图的jfreechat实现。很棒的。
NULL 博文链接:https://xblia.iteye.com/blog/1198536
JFreeChart双Y轴折线图实例,可以直接运行,实例类为LineChartDemo1.JAVA,有注释。 若想在web工程使用只需如下。 String filename = ServletUtilities.saveChartAsPNG(jfreechart, 600, 400, null, session); ...
jfreechat软件demo
jfreechat,此文件包含图形的事例,和源代码的实现,开发人员可以根据图形直接把源码拷贝过来应用
JFreeChat中文教程(入门篇).pdf
Eclipse建立的WEB项目 做的3种 柱状图 带突出的饼图 线性图 的实例效果 柱状图数据采用随机数充当数据(为了看到实时变化的图形效果) 直接导入项目运行即可 http://localhost:8080/JFreechat/index.jsp
NULL 博文链接:https://navylee.iteye.com/blog/778888
线性图 欢迎下载线性图 欢迎下载线性图 欢迎下载
linux(ubuntu) 系统下,jfreechat图形为乱码,在此打包解决文件,包含zysong.ttf 文件和 具体的解决办法,不好用 可以不要分 ,不好用大家可以骂我
jspGraphic(浅析web图形报表的实现(struts+jfreechat) )
JFreeChart它主要是用来制作各种各样的图表,这些图表包括:饼图、柱状图(普通柱状图以及堆栈柱状图)、线图、区域图、分布图、混合图、甘特图以及一些仪表盘等等。
一个jFreeChat饼图的案例,用来在Java Web项目中生成图表元素的图片,项目中使用的是饼图,也可以参考帮助文档绘制出柱状图,折线图
jfreechat 实例,有直接生成本地图片的,也有通过servlet输出到页面上的。
JFreeChat中文教程(入门篇).rar
JFreeChat中文API,大致方法和说明都有,希望对需要的人有用。
JFreeChat 图表 报表 柱状图 饼图
第一手快速体验怎样用jfreechat开发类似水晶报表效果,以及用iText插件开发各种样式的pdf类型报表绝好资料,很有价值哦!
状图 普通柱状图以及堆栈柱状图 线图 区域图 分布图 混合图 甘特图以及一些仪表盘等等 这些不同式样的图表基本 上可以满足目前的要求 为了减少篇幅本文主要介绍前面三种类型的图表 读者可以触类旁通去开发其他样式的...