ava JFreeChart createAreaChart生成折线图报表代码
2014-08-25 13:41
316 查看
import java.awt.Color;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.jfree.chart.ChartFactory;
import org.jfree.chart.ChartUtilities;
import org.jfree.chart.JFreeChart;
import org.jfree.chart.axis.CategoryAxis;
import org.jfree.chart.axis.CategoryLabelPositions;
import org.jfree.chart.plot.CategoryPlot;
import org.jfree.chart.plot.PlotOrientation;
import org.jfree.data.category.CategoryDataset;
import org.jfree.data.category.DefaultCategoryDataset;
import org.jfree.ui.RectangleInsets;
public class AreaChartServlet extends HttpServlet {
private static final long serialVersionUID = 5852523271721922574L;
public AreaChartServlet() {
super();
}
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
this.doPost(request, response);
}
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
// 设置返回类型为图片
response.setContentType("image/png");
// 获取数据集对象
CategoryDataset dataset = createDataset();
// 创建图形对象
JFreeChart jfreechart = ChartFactory.createAreaChart("08年图书销售量排名",
"按季度", "销量", dataset, PlotOrientation.VERTICAL, true, true,
false);
// 获得图表区域对象
CategoryPlot categoryplot = (CategoryPlot) jfreechart.getPlot();
//设置前景色为50%透明
categoryplot.setForegroundAlpha(0.5F);
//设置X轴偏移量
categoryplot.setAxisOffset(new RectangleInsets(5D, 5D, 5D, 5D));
//设置北景色为浅灰色
categoryplot.setBackgroundPaint(Color.lightGray);
//设置显示网格线
categoryplot.setDomainGridlinesVisible(true);
//设置网格线为白色
categoryplot.setDomainGridlinePaint(Color.white);
//设置显示边界线
categoryplot.setRangeGridlinesVisible(true);
//设置显示边界线为白色
categoryplot.setRangeGridlinePaint(Color.white);
//获得X轴对象
CategoryAxis categoryaxis = categoryplot.getDomainAxis();
//设置X轴标签位置为45度角
categoryaxis.setCategoryLabelPositions(CategoryLabelPositions.UP_45);
//设置与X轴的补白为0
categoryaxis.setLowerMargin(0.0D);
categoryaxis.setUpperMargin(0.0D);
// 将图表已数据流的方式返回给客户端
ChartUtilities.writeChartAsPNG(response.getOutputStream(), jfreechart,
500, 270);
}
/**
* 返回数据集
*
* @return
*/
private static CategoryDataset createDataset() {
// 时间维度
String[] category1 = { "第一季度", "第二季度", "第三季度", "第四季度" };
// 分类维度
String[] category2 = { "JAVA", "C/C++", "PHP" };
DefaultCategoryDataset defaultdataset = new DefaultCategoryDataset();
for (int i = 0; i < category1.length; i++) {
String category = category1[i];
for (int j = 0; j < category2.length; j++) {
String cat = category2[j];
// 模拟添加数据
defaultdataset.addValue(DataUtils.getRandomData(), cat, category);
}
}
return defaultdataset;
}
}
相关文章推荐
- web项目中运用java jfreechart生成各种样式报表的教程demo代码下载
- 使用JFreeChart-创建折线图的小结(之CreateXYLineChart)
- jFreeChart利用CategoryDatase,ChartFactory.createBarChart生成的柱状图
- ALV报表代码自动生成
- JSP 利用 JFreechart直接生成报表图形的例子
- ASP生成柱型体,折线图,饼图源代码
- 使用C#和Excel进行报表开发(三)-生成统计图(Chart)
- ASP生成柱型体,折线图,饼图源代码
- 自己动手定制NUnit(三):整合ncover生成代码覆盖率报表(zhuan)
- (三)ComponentOne之WebChart(折线图)(示例代码下载)
- 使用C#和Excel进行报表开发(三)-生成统计图(Chart)
- 使用C#和Excel进行报表开发(三)-生成统计图(Chart)
- 运用CodeSmith代码生引擎生成XML报表文件。
- jfreechart应用_经典例题_生成饼状图、生成单组柱状图、生成多组柱状图、生成堆积柱状图、生成折线图
- JFreeChart生成柱状图、饼状图、折线图详解
- 使用C#和Excel进行报表开发(三)-生成统计图(Chart)
- ASP.NET大型OA中常用的一些报表生成,压缩,下载等操作代码
- 自己动手定制NUnit(三):整合ncover生成代码覆盖率报表
- CreateKeyWord asp实现的由给定的字符串生成关键字的代码
- Cewolf+JFreeChart之报表代码实例大全(附效果图)