⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 createbar3dmodel.java

📁 本程序主要是实现了JFreeChart的图形显示!
💻 JAVA
字号:
package com.kai.jfc;

import java.io.IOException;
import java.io.PrintWriter;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.List;

import javax.servlet.http.HttpSession;

import org.jfree.chart.ChartFactory;
import org.jfree.chart.ChartRenderingInfo;
import org.jfree.chart.ChartUtilities;
import org.jfree.chart.JFreeChart;
import org.jfree.chart.axis.CategoryAxis3D;
import org.jfree.chart.entity.StandardEntityCollection;
import org.jfree.chart.labels.ItemLabelAnchor;
import org.jfree.chart.labels.ItemLabelPosition;
import org.jfree.chart.labels.StandardCategoryItemLabelGenerator;
import org.jfree.chart.plot.CategoryPlot;
import org.jfree.chart.plot.PlotOrientation;
import org.jfree.chart.renderer.category.BarRenderer;
import org.jfree.chart.servlet.ServletUtilities;
import org.jfree.data.category.CategoryDataset;
import org.jfree.data.category.DefaultCategoryDataset;
import org.jfree.ui.TextAnchor;

import com.kai.bean.DateBean;

/**
 * 类文件:CreateBarModel.java
 * @author 作者: 王凯 E-mail: wk1025@126.com
 * @version 创建时间:Sep 9, 2008 2:11:52 PM
 * 类 CreateBarModel 的作用:
 */

public class CreateBar3DModel 
{
	public String createChart(HttpSession session, PrintWriter pw)
    {
		String fileName = null;
		CategoryDataset categorydataset = this.createDataset();
        JFreeChart jfreechart = ChartFactory.createStackedBarChart3D("Stacked Bar Chart 3D Demo 1", "200?年?月---200?年?月的对比", "Value", categorydataset, PlotOrientation.VERTICAL, true, true, false);
        CategoryPlot categoryplot = (CategoryPlot)jfreechart.getPlot();
        BarRenderer barrenderer = (BarRenderer)categoryplot.getRenderer();
        
        CategoryAxis3D a = (CategoryAxis3D) categoryplot.getDomainAxis();
        a.setTickLabelsVisible(false);//不显示X轴的坐标值
        
        barrenderer.setDrawBarOutline(false);
        barrenderer.setItemLabelGenerator(new StandardCategoryItemLabelGenerator());
        barrenderer.setItemLabelsVisible(true);
        barrenderer.setPositiveItemLabelPosition(new ItemLabelPosition(ItemLabelAnchor.CENTER, TextAnchor.CENTER));
        barrenderer.setNegativeItemLabelPosition(new ItemLabelPosition(ItemLabelAnchor.CENTER, TextAnchor.CENTER));

        ChartRenderingInfo info = new ChartRenderingInfo(new StandardEntityCollection());
		try 
		{
			fileName = ServletUtilities.saveChartAsPNG(jfreechart, 450, 400, info,session);// 生成图片
			ChartUtilities.writeImageMap(pw, fileName, info, false);
		 } catch (IOException e) {
		   e.printStackTrace();
		 }
		 pw.flush();
		 return fileName;// 返回生成图片的文件名
    }
	
	public Connection getConn()
	{
		//172.16.36.245
		String url = "jdbc:mysql://localhost:3306/newdatabase";
		String u = "root";
		String p = "123456";
		try {
			Class.forName("com.mysql.jdbc.Driver");
		} catch (ClassNotFoundException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		Connection conn = null;
		try {
			conn = java.sql.DriverManager.getConnection(url, u, p);
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		return conn;
	}
	public List getDate()
	{
		Connection conn = this.getConn();
		ArrayList list = new ArrayList();
		try {
			Statement st = conn.createStatement();
			ResultSet rs = st.executeQuery("select * from q91");
			while(rs.next())
			{
				DateModel date = new DateModel();
				date.setName("山东");
				date.setData(rs.getDouble("shandong"));
				date.setDate(rs.getString("t"));
				DateModel date1 = new DateModel();
				date1.setName("北京");
				date1.setData(rs.getDouble("beijing"));
				date1.setDate(rs.getString("t"));
				list.add(date);
				list.add(date1);
			}
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		
		
		
		return list;
	}
	
	
	public static void main(String[] args)
	{
		List list = new CreateBar3DModel().getDate();
		for(int i = 0;i<list.size();i++){
			DateModel date = (DateModel)list.get(i);
			System.out.println(date.getName());
		}
		
	}
	public CategoryDataset createDataset()
    {
        DefaultCategoryDataset defaultcategorydataset = new DefaultCategoryDataset();
        List list = this.getDate();
        for(int i = 0;i<list.size();i++)
        {
        	DateModel date = (DateModel)list.get(i);
        	defaultcategorydataset.addValue(date.getData(), date.getName(), date.getDate());
        }
//        defaultcategorydataset.addValue(11D, "上海", "C29");
        
        return defaultcategorydataset;
    }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -