|
|
Posted on
2013-06-25 17:29
TimeFight
阅读( 746)
评论()
收藏
举报
-
- import java.awt.Font;
- 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.ValueAxis;
- import org.jfree.chart.plot.CategoryPlot;
- import org.jfree.chart.plot.PlotOrientation;
- import org.jfree.data.category.DefaultCategoryDataset;
-
- public class CategoryServlet extends HttpServlet {
-
-
-
-
- private static final long serialVersionUID = 6228999300370044372L;
-
-
-
-
-
-
-
-
-
-
-
- public void doGet(HttpServletRequest request, HttpServletResponse response)
- throws ServletException, IOException {
-
- response.setContentType("image/jpeg");
-
- DefaultCategoryDataset dataset = new DefaultCategoryDataset();
- dataset.addValue(610, "广州", "猪肉");
- dataset.addValue(220, "广州", "牛肉");
- dataset.addValue(530, "广州", "鸡肉");
- dataset.addValue(340, "广州", "鱼肉");
-
- JFreeChart chart = ChartFactory.createBarChart3D("肉类销量统计图", "肉类",
- "销量", dataset, PlotOrientation.VERTICAL, true, false,
- false);
-
- Font font = new Font("宋体", 0, 12);
- chart.getLegend().setItemFont(font);
- chart.getTitle().setFont(font);
- CategoryPlot plot = chart.getCategoryPlot();
-
- CategoryAxis domainAxis = plot.getDomainAxis();
- domainAxis.setTickLabelFont(font);
- domainAxis.setLabelFont(font);
-
- ValueAxis rangeAxis = plot.getRangeAxis();
- rangeAxis.setTickLabelFont(font);
- rangeAxis.setLabelFont(font);
-
-
- ChartUtilities.writeChartAsJPEG(response.getOutputStream(),0.5f,chart,800,600,null);
- }
-
- }
2.
- import java.awt.Font;
- 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.plot.PiePlot;
- import org.jfree.data.general.DefaultPieDataset;
-
- public class PieServlet extends HttpServlet {
-
-
-
-
- private static final long serialVersionUID = 8827627228843788090L;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- public void doGet(HttpServletRequest request, HttpServletResponse response)
- throws ServletException, IOException {
-
- response.setContentType("image/jpeg");
-
-
- DefaultPieDataset dataset = new DefaultPieDataset();
- dataset.setValue("初中高级程序员", 0.55);
- dataset.setValue("项目经理", 0.1);
- dataset.setValue("系统分析师", 0.1);
- dataset.setValue("软件架构师", 0.1);
- dataset.setValue("其他", 0.2);
-
-
- JFreeChart chart = ChartFactory.createPieChart3D("饼图",
- dataset,
- true,
- true,
- false);
-
-
- PiePlot piePlot = (PiePlot) chart.getPlot();
- piePlot.setCircular(true);
- Font font = new Font("宋体", 0, 12);
- piePlot.setLabelFont(font);
- chart.getTitle().setFont(font);
-
-
- piePlot.setNoDataMessage("无数据显示");
- piePlot.setCircular(false);
- piePlot.setLabelGap(0.02D);
-
-
- ChartUtilities.writeChartAsJPEG(response.getOutputStream(),0.5f,chart,800,600,null);
- }
-
- }
- 3.
- import java.awt.Font;
- 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.PlotOrientation;
- import org.jfree.data.category.DefaultCategoryDataset;
-
-
-
-
-
-
- public class PolyLine {
-
- public static void createPolyLine() {
-
-
-
-
-
-
- final Font CHART_FONT = new Font("宋体", 12, 12);
-
- DefaultCategoryDataset dataset = new DefaultCategoryDataset();
- dataset.addValue(100, "ten", "jfree");
- dataset.addValue(150, "ten", "chart");
- dataset.addValue(300, "ten", "struts");
- dataset.addValue(100, "ten", "hibernate");
-
-
-
-
-
- JFreeChart chart = ChartFactory.createLineChart3D(
- "chart",
- "num",
- "type",
- dataset,
- PlotOrientation.VERTICAL,
- true,
- false,
- false
- );
-
-
- chart.getTitle().setFont(CHART_FONT);
- chart.getLegend().setItemFont(CHART_FONT);
-
-
- FileOutputStream fos = null;
- try {
- fos = new FileOutputStream("src/poly3d.png");
- ChartUtilities.writeChartAsPNG(fos, chart, 400, 300);
- } catch (FileNotFoundException e) {
- e.printStackTrace();
- } catch (IOException e) {
- e.printStackTrace();
- } finally {
- try {
- fos.close();
- } catch (IOException e) {
- e.printStackTrace();
- }
- }
- }
-
- public static void main(String[] args) {
-
- PolyLine.createPolyLine();
-
- }
- }
- 饼图
- import java.awt.Color;
- import java.awt.Dimension;
- import java.awt.Font;
- import java.text.NumberFormat;
-
- import javax.swing.JPanel;
-
- import org.jfree.chart.ChartFactory;
- import org.jfree.chart.ChartPanel;
- import org.jfree.chart.JFreeChart;
- import org.jfree.chart.StandardChartTheme;
- import org.jfree.chart.labels.StandardPieSectionLabelGenerator;
- import org.jfree.chart.plot.PiePlot;
- import org.jfree.data.general.DefaultPieDataset;
- import org.jfree.ui.ApplicationFrame;
- import org.jfree.ui.RefineryUtilities;
-
- public class Test1 extends ApplicationFrame {
-
-
-
- private static final long serialVersionUID = -8028194135638567202L;
-
- public static final Font DEFAULT_FONT = new Font("宋体", Font.PLAIN, 12);
-
- public Test1(String title) {
- super(title);
- JPanel localJPanel = createDemoPanel();
- localJPanel.setPreferredSize(new Dimension(500, 270));
- setContentPane(localJPanel);
- }
-
- public static JPanel createDemoPanel() {
- DefaultPieDataset defaultpiedataset = createDataset();
-
- ChartFactory.setChartTheme(createStandardChartTheme());
-
- JFreeChart jfreechart = ChartFactory.createPieChart("饼图",
- defaultpiedataset, true, true, false);
-
- jfreechart.setBackgroundPaint(new Color(222, 222, 255));
-
- PiePlot pieplot = (PiePlot) jfreechart.getPlot();
- pieplot.setSectionPaint("壹", new Color(222, 222, 255));
- pieplot.setBackgroundPaint(Color.white);
- pieplot.setCircular(true);
-
-
- pieplot.setLabelGenerator(new StandardPieSectionLabelGenerator(
- "{0} = {2}", NumberFormat.getNumberInstance(), NumberFormat.getPercentInstance()));
-
-
- pieplot.setNoDataMessage("No data available");
- ChartPanel chartpanel = new ChartPanel(jfreechart);
- chartpanel.setPreferredSize(new Dimension(500, 270));
-
-
-
- return chartpanel;
- }
-
- private static DefaultPieDataset createDataset() {
- DefaultPieDataset defaultpiedataset = new DefaultPieDataset();
- defaultpiedataset.setValue("壹", 23.3);
- defaultpiedataset.setValue("贰", 56.5);
- defaultpiedataset.setValue("参", 43.3);
- defaultpiedataset.setValue("肆", 11.1);
- return defaultpiedataset;
- }
-
-
-
-
- public static void main(String[] args) {
- Test1 test1 = new Test1("");
- test1.pack();
- RefineryUtilities.centerFrameOnScreen(test1);
- test1.setVisible(true);
- }
-
-
- public static StandardChartTheme createStandardChartTheme() {
-
- StandardChartTheme standardChartTheme = new StandardChartTheme("CN");
-
- standardChartTheme.setExtraLargeFont(DEFAULT_FONT);
-
- standardChartTheme.setRegularFont(DEFAULT_FONT);
-
- standardChartTheme.setLargeFont(DEFAULT_FONT);
- return standardChartTheme;
- }
-
- }
- 条形图
- import java.awt.Color;
- import java.awt.Dimension;
- import java.awt.Font;
- import java.awt.GradientPaint;
-
- import org.jfree.chart.ChartFactory;
- import org.jfree.chart.ChartPanel;
- import org.jfree.chart.JFreeChart;
- import org.jfree.chart.axis.CategoryAxis;
- import org.jfree.chart.axis.CategoryLabelPositions;
- import org.jfree.chart.axis.NumberAxis;
- import org.jfree.chart.plot.CategoryPlot;
- import org.jfree.chart.plot.PlotOrientation;
- import org.jfree.chart.renderer.category.BarRenderer;
- import org.jfree.data.category.CategoryDataset;
- import org.jfree.data.category.DefaultCategoryDataset;
- import org.jfree.ui.ApplicationFrame;
- import org.jfree.ui.RefineryUtilities;
-
- public class Test2 extends ApplicationFrame {
-
-
-
-
- private static final long serialVersionUID = 1107365396303352467L;
-
- public static final Font DEFAULT_FONT = new Font("宋体", Font.PLAIN, 12);
-
- public Test2(String title) {
- super(title);
- JFreeChart chart = createChart(createDataset());
- ChartPanel chartPanel = new ChartPanel(chart, false);
- chartPanel.setPreferredSize(new Dimension(500, 270));
- setContentPane(chartPanel);
- }
- private CategoryDataset createDataset() {
- DefaultCategoryDataset dataset = new DefaultCategoryDataset();
- dataset.addValue(1.0, "Row 1", "Column 1");
- dataset.addValue(5.0, "Row 1", "Column 2");
- dataset.addValue(3.0, "Row 1", "Column 3");
- dataset.addValue(2.0, "Row 2", "Column 1");
- dataset.addValue(3.0, "Row 2", "Column 2");
- dataset.addValue(2.0, "Row 2", "Column 3");
- return dataset;
- }
-
- private JFreeChart createChart(CategoryDataset dataset) {
- JFreeChart chart = ChartFactory.createBarChart("BarChartDemo",
- "Category",
- "Value",
- dataset,
- PlotOrientation.VERTICAL,
- true,
- true,
- false
- );
- chart.setBackgroundPaint(Color.white);
- CategoryPlot plot = (CategoryPlot) chart.getPlot();
- plot.setBackgroundPaint(Color.lightGray);
- plot.setRangeGridlinePaint(Color.white);
-
-
- NumberAxis numberaxis = (NumberAxis) plot.getRangeAxis();
- numberaxis.setStandardTickUnits(NumberAxis.createIntegerTickUnits());
-
- BarRenderer renderer = (BarRenderer) plot.getRenderer();
- renderer.setSeriesPaint(0, Color.gray);
- renderer.setSeriesPaint(1, Color.orange);
- renderer.setDrawBarOutline(false);
-
- renderer.setDrawBarOutline(false);
- GradientPaint gradientpaint = new GradientPaint(0.0F, 0.0F, Color.blue,
- 0.0F, 0.0F, new Color(0, 0, 64));
- GradientPaint gradientpaint_7_ = new GradientPaint(0.0F, 0.0F,
- Color.green, 0.0F, 0.0F, new Color(0, 64, 0));
- GradientPaint gradientpaint_8_ = new GradientPaint(0.0F, 0.0F,
- Color.red, 0.0F, 0.0F, new Color(64, 0, 0));
- renderer.setSeriesPaint(0, gradientpaint);
- renderer.setSeriesPaint(1, gradientpaint_7_);
- renderer.setSeriesPaint(2, gradientpaint_8_);
-
- renderer.setItemMargin(0.0);
-
- CategoryAxis categoryaxis = plot.getDomainAxis();
- categoryaxis.setCategoryLabelPositions(CategoryLabelPositions
- .createUpRotationLabelPositions(Math.PI / 6));
- return chart;
- }
-
-
-
- public static void main(String[] args) {
- Test2 demo = new Test2("Bar Demo");
- demo.pack();
- RefineryUtilities.centerFrameOnScreen(demo);
- demo.setVisible(true);
- }
-
- }
转载自:http://yanqihubian.iteye.com/blog/1499385
|