/**
* 使用JFreeChar生成柱状图,不做任何注释,只求应用,生成的柱状图输出到网页中
*
* 1.加入jcommon-1.0.5.jar和jfreechart-1.0.2.jar
*
* 2.设置值
* dataset.addValue(100, "", "苹果");
* dataset.addValue(200, "", "梨子");
* dataset.addValue(300, "", "葡萄");
* dataset.addValue(400, "", "香蕉");
* dataset.addValue(500, "", "荔枝");
*
*
* JFreeChart chart = ChartFactory.createBarChart3D(
"水果产量图", // 图表标题
"水果", // 目录轴的显示标签
"产量", // 数值轴的显示标签
dataset, // 数据集
PlotOrientation.VERTICAL,
true,
false,
false);
*
* 在浏览器地址栏中直接访问servlet
*/
package com.bjpowernode.drp.statreport.web;
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.labels.StandardCategoryItemLabelGenerator;
import org.jfree.chart.plot.CategoryPlot;
import org.jfree.chart.plot.PlotOrientation;
import org.jfree.chart.renderer.category.StackedBarRenderer3D;
import org.jfree.data.category.CategoryDataset;
import org.jfree.data.category.DefaultCategoryDataset;
@SuppressWarnings("serial")
public class BarChartServlet extends HttpServlet {
@Override
protected void service(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
resp.setContentType("image/jpeg");
CategoryDataset dataset = getDataSet();
JFreeChart chart = ChartFactory.createBarChart3D(
"水果产量图", // 图表标题
"水果", // 目录轴的显示标签
"产量", // 数值轴的显示标签
dataset, // 数据集
PlotOrientation.VERTICAL,
true,
false,
false);
CategoryPlot plot = (CategoryPlot)chart.getPlot();
StackedBarRenderer3D renderer=new StackedBarRenderer3D();
renderer.setItemLabelGenerator(new StandardCategoryItemLabelGenerator());
renderer.setItemLabelsVisible(true);
plot.setRenderer(renderer);
ChartUtilities.writeChartAsJPEG(
resp.getOutputStream(),
1.0f,
chart,
400,
300,
null
);
}
private CategoryDataset getDataSet() {
DefaultCategoryDataset dataset = new DefaultCategoryDataset();
dataset.addValue(100, "", "苹果");
dataset.addValue(200, "", "梨子");
dataset.addValue(300, "", "葡萄");
dataset.addValue(400, "", "香蕉");
dataset.addValue(500, "", "荔枝");
return dataset;
}
}
使用JFreeChar生成柱状图,不做任何注释,只求应用,生成的柱状图输出到网页中
最新推荐文章于 2021-08-28 17:15:35 发布