我以前编写的JFreeChart的一个示例

简单说明

10年前写的示例,一直存在电脑上,我觉得可以发出来,大家参考参考吧

ChartDataDao.java

package com.dowhere.manager;

import java.util.Date;

import org.jfree.data.category.CategoryDataset;
import org.jfree.data.category.DefaultCategoryDataset;
import org.jfree.data.general.DefaultPieDataset;
import org.jfree.data.general.PieDataset;
import org.jfree.data.xy.DefaultOHLCDataset;
import org.jfree.data.xy.OHLCDataItem;
import org.jfree.data.xy.OHLCDataset;

public class ChartDataDao {
	
	
	//饼状图
	public  PieDataset  createPieDateset(){
		DefaultPieDataset  p=new DefaultPieDataset();
		p.setValue("java语言 ", 100);
		p.setValue("C#语言 ", 50);
		p.setValue("C语言 ", 80);
		p.setValue("sql语言 ", 60);
		p.setValue("php语言 ", 70);
		return  p;
	}
	
	

	//线性
	public  OHLCDataset  createOHLCDataset(){
		OHLCDataItem item1=new OHLCDataItem(new Date(), 50, 20, 20, 20, 80);
		OHLCDataItem item2=new OHLCDataItem(new Date(), 20, 20, 60, 20, 10);
		OHLCDataItem item3=new OHLCDataItem(new Date(), 30, 30, 10, 30, 70);
		OHLCDataItem item4=new OHLCDataItem(new Date(), 40, 40, 80, 30, 10);
		DefaultOHLCDataset  hmd=new DefaultOHLCDataset("accp", new OHLCDataItem[]{item1,item2,item3,item4});
		return hmd;
	}


	//柱状图的数据
	public  CategoryDataset  createCategoryDataset(){
		 // row keys...
        String series1 = "第一个";
        String series2 = "第二个 ";
        String series3 = "第三个";

        // column keys...
        String category1 = "Category 1";
        String category2 = "Category 2";
        String category3 = "Category 3";
        String category4 = "Category 4";
        String category5 = "Category 5";

        // create the dataset...
        DefaultCategoryDataset dataset = new DefaultCategoryDataset();

        dataset.addValue(1.0, series1, category1);
        dataset.addValue(4.0, series1, category2);
        dataset.addValue(3.0, series1, category3);
        dataset.addValue(5.0, series1, category4);
        dataset.addValue(5.0, series1, category5);

        dataset.addValue(5.0, series2, category1);
        dataset.addValue(7.0, series2, category2);
        dataset.addValue(6.0, series2, category3);
        dataset.addValue(8.0, series2, category4);
        dataset.addValue(4.0, series2, category5);

        dataset.addValue(4.0, series3, category1);
        dataset.addValue(3.0, series3, category2);
        dataset.addValue(2.0, series3, category3);
        dataset.addValue(3.0, series3, category4);
        dataset.addValue(6.0, series3, category5);
       
        return dataset;
	}


}

BarChartServlet.java

package com.dowhere.servlet;

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.CategoryPlot;
import org.jfree.chart.plot.PlotOrientation;
import com.dowhere.manager.ChartDataDao;

public class BarChartServlet extends HttpServlet {

	public void doGet(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {

		response.setContentType("image/png;charset=GB2312");
		response.setCharacterEncoding("GB2312");
		ChartDataDao d=new ChartDataDao();
		//JFreeChart  jfc=ChartFactory.createPieChart3D("test第三 report",d.createPieDateset(),true,true,true);
		 // create the chart...
        JFreeChart chart = ChartFactory.createBarChart(
            "柱状图列表",       // chart title
            "Category",               // domain axis label
            "Value",                  // range axis label
            d.createCategoryDataset(),                  // data
            PlotOrientation.VERTICAL, // orientation
            true,                     // include legend
            true,                     // tooltips?
            false                     // URLs?
        );
      
        
        
        CategoryPlot  p=(CategoryPlot)chart.getPlot();
       
        p.setNoDataMessageFont(new Font("黑体",12,12));
        
		//p.setLabelFont(new Font("黑体",12,12));
		//p.setCircular(false);
		//p.setLabelGap(0.002D);
		ChartUtilities.writeChartAsPNG(response.getOutputStream(), chart, 600, 400);
	}

}

OHLCDatasetServlet.java

package com.dowhere.servlet;

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 com.dowhere.manager.ChartDataDao;

public class OHLCDatasetServlet extends HttpServlet {

	public void doGet(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {

		response.setContentType("image/png");
		response.setCharacterEncoding("UTF-8");
		ChartDataDao d=new ChartDataDao();
		//JFreeChart  jfc=ChartFactory.createPieChart3D("test第三 report",d.createPieDateset(),true,true,true);
		JFreeChart  jfc=ChartFactory.createHighLowChart("title", "ssss", "aaaa", d.createOHLCDataset(), true);
		
		jfc.setTitle("你好");          
		PiePlot  p=(PiePlot)jfc.getPlot();
		p.setLabelFont(new Font("黑体",12,12));
		p.setCircular(false);
		p.setLabelGap(0.002D);
		ChartUtilities.writeChartAsPNG(response.getOutputStream(), jfc, 600, 400);
	}

}

PieDatasetServlet.java

package com.dowhere.servlet;

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 com.dowhere.manager.ChartDataDao;

public class PieDatasetServlet extends HttpServlet {

	public void doGet(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {

		response.setContentType("image/png");
		response.setCharacterEncoding("UTF-8");
		ChartDataDao d=new ChartDataDao();
		JFreeChart  jfc=ChartFactory.createPieChart3D("test第三 report",d.createPieDateset(),true,true,true);
	
		jfc.setTitle("你好");          
		PiePlot  p=(PiePlot)jfc.getPlot();
		p.setLabelFont(new Font("黑体",12,12));
		p.setCircular(false);
		p.setLabelGap(0.002D);
		ChartUtilities.writeChartAsPNG(response.getOutputStream(), jfc, 600, 400);
	}

}

web.xml

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5" 
	xmlns="http://java.sun.com/xml/ns/javaee" 
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
	xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 
	http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
  <servlet>
    <servlet-name>PieDatasetServlet</servlet-name>
    <servlet-class>com.dowhere.servlet.PieDatasetServlet</servlet-class>
  </servlet>

  <servlet-mapping>
    <servlet-name>PieDatasetServlet</servlet-name>
    <url-pattern>/pie</url-pattern>
  </servlet-mapping>
  
  
  <servlet>
    <servlet-name>OHLCDatasetServlet</servlet-name>
    <servlet-class>com.dowhere.servlet.OHLCDatasetServlet</servlet-class>
  </servlet>

  <servlet-mapping>
    <servlet-name>OHLCDatasetServlet</servlet-name>
    <url-pattern>/ohlc</url-pattern>
  </servlet-mapping>
  
  
  
   <servlet>
    <servlet-name>BarChartServlet</servlet-name>
    <servlet-class>com.dowhere.servlet.BarChartServlet</servlet-class>
  </servlet>

  <servlet-mapping>
    <servlet-name>BarChartServlet</servlet-name>
    <url-pattern>/bar</url-pattern>
  </servlet-mapping>
  
  
  <welcome-file-list>
    <welcome-file>index.jsp</welcome-file>
  </welcome-file-list>
</web-app>

Java入门视频学习地址:
https://edu.csdn.net/course/play/25125/292197
Linux视频学习地址:
https://edu.csdn.net/course/play/25603/307048
Oracle视频学习地址
https://edu.csdn.net/course/play/25785/313742

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值