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

📄 createline3dmodel.java

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

import java.awt.BasicStroke;
import java.awt.Color;
import java.awt.Font;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.PrintWriter;
import java.text.NumberFormat;
import java.text.SimpleDateFormat;

import javax.servlet.http.HttpSession;
import javax.swing.ImageIcon;

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.axis.DateAxis;
import org.jfree.chart.axis.NumberAxis;
import org.jfree.chart.entity.StandardEntityCollection;
import org.jfree.chart.labels.StandardXYToolTipGenerator;
import org.jfree.chart.plot.CategoryPlot;
import org.jfree.chart.plot.PlotOrientation;
import org.jfree.chart.plot.XYPlot;
import org.jfree.chart.renderer.category.LineAndShapeRenderer;
import org.jfree.chart.renderer.xy.XYItemRenderer;
import org.jfree.chart.renderer.xy.XYLineAndShapeRenderer;
import org.jfree.chart.servlet.ServletUtilities;
import org.jfree.chart.title.TextTitle;
import org.jfree.data.category.CategoryDataset;
import org.jfree.data.category.DefaultCategoryDataset;
import org.jfree.data.time.Day;
import org.jfree.data.time.TimeSeries;
import org.jfree.data.time.TimeSeriesCollection;
import org.jfree.data.xy.XYDataset;
import org.jfree.ui.HorizontalAlignment;
import org.jfree.ui.RectangleEdge;
import org.jfree.ui.RectangleInsets;


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

public class CreateLine3DModel 
{
	public String getLineXYChart(HttpSession session, PrintWriter pw) 
	{
		String fileName = null;
		CategoryDataset dataset = createDataset();
      /*
       3D图
       */
      JFreeChart chart = ChartFactory.createLineChart3D("Java Standard Class Library", null, "Class Count", dataset, PlotOrientation.VERTICAL, false, true, false);
      chart.addSubtitle(new TextTitle("Number of Classes By Release"));
      TextTitle texttitle = new TextTitle("200?年?月---200?年?月的对比折线3D图");
      texttitle.setFont(new Font("SansSerif", 0, 10));
      texttitle.setPosition(RectangleEdge.BOTTOM);
//      texttitle.setHorizontalAlignment(HorizontalAlignment.RIGHT);
      chart.addSubtitle(texttitle);
      chart.setBackgroundPaint(Color.white);
      CategoryPlot categoryplot = (CategoryPlot)chart.getPlot();
      CategoryAxis3D a = (CategoryAxis3D) categoryplot.getDomainAxis();
      
      a.setTickLabelsVisible(false);
      
      categoryplot.setBackgroundPaint(Color.lightGray);
      categoryplot.setRangeGridlinePaint(Color.gray);
      categoryplot.setDomainGridlinePaint(Color.lightGray);
      categoryplot.setRangeGridlinesVisible(true);
      categoryplot.setDomainGridlinesVisible(true);
      categoryplot.setBackgroundImageAlpha(1.0F);
      NumberAxis numberaxis = (NumberAxis)categoryplot.getRangeAxis();
      numberaxis.setStandardTickUnits(NumberAxis.createIntegerTickUnits());
      LineAndShapeRenderer lineandshaperenderer = (LineAndShapeRenderer)categoryplot.getRenderer();
      lineandshaperenderer.setShapesVisible(true);
      lineandshaperenderer.setDrawOutlines(true);
      lineandshaperenderer.setUseFillPaint(true);
      lineandshaperenderer.setFillPaint(Color.white);
      lineandshaperenderer.setSeriesStroke(0, new BasicStroke(3F));
      lineandshaperenderer.setSeriesOutlineStroke(0, new BasicStroke(2.0F));
      lineandshaperenderer.setSeriesShape(0, new java.awt.geom.Ellipse2D.Double(-5D, -5D, 10D, 10D));
	   
	   ChartRenderingInfo info = new ChartRenderingInfo(new StandardEntityCollection());
	   try 
	   {
		   fileName = ServletUtilities.saveChartAsPNG(chart, 500, 300, info,session);// 生成图片
		   ChartUtilities.writeImageMap(pw, fileName, info, false);
	   } catch (IOException e) {
		   e.printStackTrace();
	   }
	   pw.flush();
	   return fileName;// 返回生成图片的文件名
	}

	/**
	 * 建立生成图形所需的数据集
	 * @return 返回数据集
	 */
	private static CategoryDataset createDataset() 
	{
        DefaultCategoryDataset defaultcategorydataset = new DefaultCategoryDataset();
        /*
         *	里面插入的是数据,在实际应用中可以将其替换成你所需要的数据
         */
        defaultcategorydataset.addValue(10D, "北京", "Category 1");
        defaultcategorydataset.addValue(4D, "北京", "Category 2");
        defaultcategorydataset.addValue(15D, "北京", "Category 3");
        defaultcategorydataset.addValue(14D, "北京", "Category 4");
        defaultcategorydataset.addValue( -5D, "北京", "Category 1");
        defaultcategorydataset.addValue( -7D, "北京", "Category 2");
        defaultcategorydataset.addValue(14D, "北京", "Category 3");
        defaultcategorydataset.addValue( -3D, "北京", "Category 4");
        defaultcategorydataset.addValue(6D, "北京", "Category 1");
        defaultcategorydataset.addValue(17D, "北京", "Category 2");
        defaultcategorydataset.addValue( -12D, "北京", "Category 3");
        defaultcategorydataset.addValue(7D, "北京", "Category 4");
        defaultcategorydataset.addValue(7D, "北京", "Category 1");
        defaultcategorydataset.addValue(15D, "北京", "Category 2");
        defaultcategorydataset.addValue(11D, "上海", "Category 3");
        defaultcategorydataset.addValue(0.0D, "上海", "Category 4");
        defaultcategorydataset.addValue( -8D, "上海", "Category 1");
        defaultcategorydataset.addValue( -6D, "上海", "Category 2");
        defaultcategorydataset.addValue(10D, "上海", "Category 3");
        defaultcategorydataset.addValue( -9D, "上海", "Category 4");
        defaultcategorydataset.addValue(9D, "上海", "Category 1");
        defaultcategorydataset.addValue(8D, "上海", "Category 2");
        defaultcategorydataset.addValue(0.0D, "上海", "Category 3");
        defaultcategorydataset.addValue(6D, "上海", "Category 4");
        defaultcategorydataset.addValue( -10D, "上海", "Category 1");
        defaultcategorydataset.addValue(9D, "上海", "Category 2");
        defaultcategorydataset.addValue(7D, "上海", "Category 3");
        defaultcategorydataset.addValue(7D, "上海", "Category 4");
        defaultcategorydataset.addValue(11D, "上海", "Category 1");
        defaultcategorydataset.addValue(13D, "上海", "Category 2");
        defaultcategorydataset.addValue(9D, "上海", "Category 3");
        defaultcategorydataset.addValue(9D, "上海", "Category 4");
        defaultcategorydataset.addValue( -3D, "上海", "Category 1");
        defaultcategorydataset.addValue(7D, "上海", "Category 2");
        defaultcategorydataset.addValue(11D, "上海", "Category 3");
        defaultcategorydataset.addValue( -10D, "上海", "Category 4");
        return defaultcategorydataset;
    }
}

⌨️ 快捷键说明

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