写JFreeChart图之各图形类1

//Barchart2D

 

import java.awt.BasicStroke;
import java.awt.Color;
import java.awt.Font;
import java.io.File;
import java.text.DecimalFormat;

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.AxisLocation;
import org.jfree.chart.axis.CategoryAxis;
import org.jfree.chart.axis.NumberAxis;
import org.jfree.chart.labels.StandardCategoryItemLabelGenerator;
import org.jfree.chart.labels.StandardCategoryToolTipGenerator;
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.chart.title.TextTitle;
import org.jfree.data.category.DefaultCategoryDataset;

public class Barchart2D
{
 public String getMap(HttpServletRequest request,HttpServletResponse response)
 {
  DefaultCategoryDataset dedataset=new DefaultCategoryDataset();
  String s = "肿瘤趋向值";
  dedataset.addValue(7D , s , "底");
  dedataset.addValue(14D , s , "中");
  dedataset.addValue(20D , s , "高");

  JFreeChart jfreechart = ChartFactory.createBarChart("肿瘤评估指示图例", "危险程度", "肿瘤值", dedataset, PlotOrientation.VERTICAL, true, true, true);
  jfreechart.addSubtitle(new TextTitle("Source:http://www.guokang.com/", new Font("Dialog", 2, 12)));
  
  CategoryPlot categoryplot = (CategoryPlot)jfreechart.getPlot();
  categoryplot.setRangeGridlinePaint(Color.white);
  categoryplot.setRangeAxisLocation(AxisLocation.BOTTOM_OR_LEFT);
  
  
  BarRenderer barrenderer = (BarRenderer)categoryplot.getRenderer();
  barrenderer.setBaseItemLabelsVisible(true);
  barrenderer.setBaseItemLabelGenerator(new StandardCategoryItemLabelGenerator());
  barrenderer.setBaseToolTipGenerator(new StandardCategoryToolTipGenerator("{0}, {1}) = {2}", new DecimalFormat("0")));
  barrenderer.setDrawBarOutline(true);
  barrenderer.setBaseOutlinePaint(Color.white);
  barrenderer.setBaseOutlineStroke(new BasicStroke(0.5F));
  
  barrenderer.setSeriesPaint(0 , Color.PINK);
  barrenderer.setSeriesPaint(1 , Color.YELLOW);
  barrenderer.setSeriesPaint(2 , Color.RED);
  categoryplot.setRenderer(barrenderer);
  
  CategoryAxis categoryaxis = categoryplot.getDomainAxis();
  categoryaxis.setCategoryMargin(0.0D);
  categoryaxis.setUpperMargin(0.02D);
  categoryaxis.setLowerMargin(0.00D);
  categoryaxis.setLabelPaint(Color.GREEN);
  categoryaxis.setLabelFont(new Font("dialog",2,12));
  categoryplot.setDomainAxis(categoryaxis);
  
  NumberAxis numberaxis = (NumberAxis)categoryplot.getRangeAxis();
  numberaxis.setStandardTickUnits(NumberAxis.createIntegerTickUnits());
  numberaxis.setLabelFont(new Font("dialog",2,12));
  numberaxis.setLabelPaint(Color.BLUE);
  numberaxis.setUpperMargin(1.20D);
  
  categoryplot.setNoDataMessage("无该数据!");
  String filename=null;

  
  String strroot=Generatetime.DIR;
  String truefilename=Getinstance.getCurrentTime().getTime();
  try
  {
   File f = new File(strroot+truefilename+".jpeg");
   ChartUtilities.saveChartAsJPEG(f , 1.0f , jfreechart , 400 , 220);
   filename=ServletUtilities.saveChartAsJPEG(jfreechart , 400 , 220 , request.getSession());
  }
  catch(Exception e)
  {
   System.out.println(e.toString());
  }
  String grapUrl=request.getContextPath()+"/show?filename="+filename;
  return grapUrl;
 }
}

 

//Barchart3D

 

import java.awt.Color;
import java.awt.Font;
import java.io.File;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

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.CategoryAxis;
import org.jfree.chart.axis.CategoryLabelPositions;
import org.jfree.chart.axis.ValueAxis;
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.labels.StandardCategoryToolTipGenerator;
import org.jfree.chart.plot.CategoryPlot;
import org.jfree.chart.plot.PlotOrientation;
import org.jfree.chart.renderer.category.BarRenderer3D;
import org.jfree.chart.servlet.ServletUtilities;
import org.jfree.chart.urls.StandardCategoryURLGenerator;
import org.jfree.data.category.CategoryDataset;
import org.jfree.ui.TextAnchor;

public class Barchart3D

 public String getMap(HttpServletRequest request,HttpServletResponse response,CategoryDataset dataset)
 {
   JFreeChart freechart = ChartFactory.createBarChart3D("水果销售量统计图" ,"水果" , "销量" , dataset , PlotOrientation.VERTICAL , true ,true , true);
   freechart.setBackgroundPaint(Color.LIGHT_GRAY);
   freechart.getTitle().setPaint(Color.BLUE);
   // 1
   CategoryPlot plot = freechart.getCategoryPlot();
   CategoryAxis domainAxis = plot.getDomainAxis();
   domainAxis.setCategoryLabelPositions(CategoryLabelPositions.createDownRotationLabelPositions(Math.PI / 3));
   // 设置距离图片左端距离
   domainAxis.setLowerMargin(0.02);
   // 设置距离图片右端距离
   domainAxis.setUpperMargin(0.02);
   plot.setDomainAxis(domainAxis);
   
   
   // 2
   ValueAxis rangeAxis = plot.getRangeAxis();
   // 设置最高的一个柱与图片顶端的距离
   rangeAxis.setUpperMargin(0.08);
   // 设置最低的一个柱与图片底端的距离
   rangeAxis.setLowerMargin(0.24);
   plot.setRangeAxis(rangeAxis);
   
   
   // 3
   BarRenderer3D bar = new BarRenderer3D();
   bar.setBaseOutlinePaint(Color.BLACK);
   // 设置 Wall 的颜色
   bar.setWallPaint(Color.darkGray);
   
   
   // 设置每种水果代表的柱的颜色
//   bar.setSeriesPaint(0 , new Color(255 , 0 , 0));
//   bar.setSeriesPaint(1 , new Color(0 , 255 , 0));
   bar.setSeriesPaint(0 , Color.darkGray);
   bar.setPositiveItemLabelPosition(new ItemLabelPosition(ItemLabelAnchor.OUTSIDE12,TextAnchor.BOTTOM_LEFT));
   
   
   // 设置每种水果代表的柱的 Outline 颜色
   bar.setSeriesOutlinePaint(0 , Color.BLACK);
   bar.setSeriesOutlinePaint(1 , Color.BLACK);
   bar.setSeriesOutlinePaint(2 , Color.BLACK);
   // 设置每个地区所包含的平行柱的之间距离
   bar.setItemMargin(0.02);
   // 显示每个柱的数值,并修改该数值的字体属性
   bar.setItemLabelGenerator(new StandardCategoryItemLabelGenerator());
   bar.setDrawBarOutline(true);
   bar.setIncludeBaseInRange(true);
   bar.setItemLabelFont(new Font("华文新魏" , Font.PLAIN , 8));
   bar.setItemLabelsVisible(true);
   
   //为图形加入超链接
   bar.setItemURLGenerator(new StandardCategoryURLGenerator());
   bar.setToolTipGenerator(new StandardCategoryToolTipGenerator());
   plot.setRenderer(bar);
   plot.setNoDataMessage("没有数据!");
   plot.setNoDataMessagePaint(Color.YELLOW);
   
   plot.setForegroundAlpha(1.00f);
   String filename=null;
   String strroot=Generatetime.DIR;
   String truefilename=Getinstance.getCurrentTime().getTime();
   try
   {
    File f = new File(strroot+truefilename+".jpeg");
    ChartUtilities.saveChartAsJPEG(f , 1.0f , freechart , 400 , 220);
    filename=ServletUtilities.saveChartAsJPEG(freechart , 500 , 320 , request.getSession());
    // 设置地区、销量的显示位置
  }
  catch (Exception e)
  {
   System.out.println(e.toString());
  }
  String grapUrl=request.getContextPath()+"/show?filename="+filename;
  return grapUrl;
 }
}

 

//Piechart2D

 

import java.awt.Color;
import java.io.File;
import java.io.IOException;
import java.text.DecimalFormat;
import java.text.NumberFormat;
import java.util.ArrayList;
import java.util.List;

import javax.servlet.http.HttpServletRequest;

import org.jfree.chart.ChartFactory;
import org.jfree.chart.ChartUtilities;
import org.jfree.chart.JFreeChart;
import org.jfree.chart.labels.StandardPieSectionLabelGenerator;
import org.jfree.chart.labels.StandardPieToolTipGenerator;
import org.jfree.chart.plot.PiePlot;
import org.jfree.chart.servlet.ServletUtilities;
import org.jfree.chart.title.TextTitle;
import org.jfree.data.general.DefaultPieDataset;
import org.jfree.ui.RectangleInsets;

public class Piechart2D
{
 public String getMap(HttpServletRequest request ,DefaultPieDataset dpd) throws IOException
 {
  JFreeChart jfreechart=ChartFactory.createPieChart("" , dpd , true , true , true);// 生成一个2D饼图
  PiePlot plot = (PiePlot)jfreechart.getPlot();
  JFreeChart freechart = new JFreeChart("" ,JFreeChart.DEFAULT_TITLE_FONT , plot , false);
  freechart.setBackgroundPaint(Color.WHITE);// 可选,设置图片背景色
  freechart.setTitle("程序员学历情况调查表!");// 可选,设置图片标题
  freechart.addSubtitle(new TextTitle("2008年度调查表"));
  freechart.setPadding(new RectangleInsets(0,0,10,10));
  freechart.setBackgroundImageAlpha(0.08f);
  freechart.setAntiAlias(true);
  
  // {0}表示"关键字",{1}表示"数值",{2}表示"百分率"
  plot.setToolTipGenerator(new StandardPieToolTipGenerator());
  plot.setLabelGenerator(new StandardPieSectionLabelGenerator("{0}={2}" ,NumberFormat.getNumberInstance() , new DecimalFormat("0.00%")));
  plot.setLegendLabelGenerator(new StandardPieSectionLabelGenerator("{0}={1}种"));
  plot.setLegendLabelToolTipGenerator(new StandardPieSectionLabelGenerator("Tool tip for each item {0}"));
  plot.setOutlineVisible(true);
  plot.setSectionOutlinesVisible(true);
  plot.setBackgroundAlpha(0.34f);
  plot.setLabelLinksVisible(true);
  plot.setSimpleLabels(true);
  plot.setInteriorGap(0.02D);
  plot.setNoDataMessage("无数据!");
  List<Comparable<?>> li = new ArrayList<Comparable<?>>(24);
  for(int i=0;i<dpd.getItemCount();i++)
  {
   li.add(dpd.getKey(i));
  }
  for(int j=0;j<li.size();j++)
  {
   plot.setExplodePercent(String.valueOf(li.get(j)) , 0.08D);
  }
  plot.setForegroundAlpha(0.66f);
  
  String filename = null;
  String strroot=Generatetime.DIR;
  String truefilename=Getinstance.getCurrentTime().getTime();
  try
  {
   File f = new File(strroot+truefilename+".jpeg");
   ChartUtilities.saveChartAsJPEG(f , 1.0f , freechart , 500 , 320);
   filename = ServletUtilities.saveChartAsJPEG(freechart , 500 , 320 ,request.getSession());
  }
  catch (Exception e)
  {
   System.out.println(e.toString());
  }
  String grapUrl = request.getContextPath()+"/show?filename="+filename;
  return grapUrl;
 }
}

 

//Piechart3D

 

import java.awt.Color;
import java.awt.Font;
import java.awt.Graphics;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import java.text.DecimalFormat;
import java.text.NumberFormat;

import javax.servlet.http.HttpServletRequest;

import org.jfree.chart.ChartFactory;
import org.jfree.chart.ChartUtilities;
import org.jfree.chart.JFreeChart;
import org.jfree.chart.axis.ValueAxis;
import org.jfree.chart.labels.StandardPieSectionLabelGenerator;
import org.jfree.chart.plot.PiePlot3D;
import org.jfree.chart.plot.PiePlotState;
import org.jfree.chart.plot.PlotRenderingInfo;
import org.jfree.chart.plot.PolarPlot;
import org.jfree.chart.renderer.PolarItemRenderer;
import org.jfree.chart.servlet.ServletUtilities;
import org.jfree.chart.urls.StandardPieURLGenerator;
import org.jfree.data.general.DefaultPieDataset;
import org.jfree.util.Rotation;

public class Piechart3D
{
 public String getMap(HttpServletRequest request ,DefaultPieDataset dpd) throws IOException
 {
  PiePlot3D plot = new PiePlot3D(dpd);// 生成一个3D饼图
  plot.setURLGenerator(new StandardPieURLGenerator("index.jsp"));// 设定图片链接
  plot.setLabelLinksVisible(true);
  
  JFreeChart freechart =new JFreeChart("",new Font("dialog",1,12),plot,false);
  freechart.setBackgroundPaint(new Color(120,80,55));// 可选,设置图片背景色
  freechart.setTitle("饮食摄入量统计图!");// 可选,设置图片标题
  
//  freechart.setBackgroundImage(buffimage);
  
  // {0}表示"关键字",{1}表示"数值",{2}表示"百分率"
  plot.setLabelGenerator(new StandardPieSectionLabelGenerator("{0}" ,NumberFormat.getNumberInstance() , new DecimalFormat("0.00%")));
  plot.setLegendLabelGenerator(new StandardPieSectionLabelGenerator("{0}"));
  plot.setOutlineVisible(true);
  plot.setSectionOutlinesVisible(true);
  
  plot.setForegroundAlpha(0.98f);
  plot.setBackgroundAlpha(0.02f);
  
  plot.setLabelLinksVisible(true);
  plot.setCircular(true);
  plot.setDirection(Rotation.CLOCKWISE);
  plot.zoom(0.34d);
  plot.setStartAngle(45.0D);
  plot.setShadowPaint(Color.BLUE);
  plot.setShadowXOffset(0.24D);
  plot.setShadowYOffset(0.36D);
  
  
  BufferedImage buffimage=new BufferedImage(400,320,BufferedImage.TYPE_4BYTE_ABGR_PRE);
  Graphics g=buffimage.getGraphics();
  g.draw3DRect(0 , 0 , 400 , 320 , true);
  g.setColor(new Color(120,80,55));
  g.dispose();
  plot.setBackgroundImage(buffimage);
  
  String filename = null;
  
  String strroot=Generatetime.DIR;
  String truefilename=Getinstance.getCurrentTime().getTime();
  try
  {
   File f = new File(strroot+truefilename+".jpeg");
   ChartUtilities.saveChartAsJPEG(f , 1.0f , freechart , 400 , 320);
   filename = ServletUtilities.saveChartAsJPEG(freechart , 400 , 320 ,request.getSession());
  }
  catch (Exception e)
  {
   System.out.println(e.toString());
  }
  String grapUrl = request.getContextPath()+"/show?filename="+filename;
  return grapUrl;
 }
}

 

//Simplepie3D

 

import java.awt.Color;
import java.awt.Font;
import java.io.File;
import java.io.IOException;

import javax.servlet.http.HttpServletRequest;

import org.jfree.chart.ChartFactory;
import org.jfree.chart.ChartUtilities;
import org.jfree.chart.JFreeChart;
import org.jfree.chart.block.BlockBorder;
import org.jfree.chart.block.BlockContainer;
import org.jfree.chart.block.BorderArrangement;
import org.jfree.chart.block.LabelBlock;
import org.jfree.chart.plot.PiePlot3D;
import org.jfree.chart.servlet.ServletUtilities;
import org.jfree.chart.title.LegendTitle;
import org.jfree.chart.title.TextTitle;
import org.jfree.data.general.DefaultPieDataset;
import org.jfree.ui.HorizontalAlignment;
import org.jfree.ui.RectangleEdge;

public class Simplepie3D
{
 public String getMap(HttpServletRequest request , DefaultPieDataset dpd)
   throws IOException
 {
  PiePlot3D plot = new PiePlot3D(dpd);// 生成一个3D饼图
  JFreeChart freechart =ChartFactory.createPieChart3D("" , dpd , false , true , true);// new JFreeChart("" ,JFreeChart.DEFAULT_TITLE_FONT , plot , false);
  freechart.setBackgroundPaint(Color.WHITE);// 可选,设置图片背景色
  freechart.setTitle("健康危险因素情况统计图!");// 可选,设置图片标题
  freechart.addSubtitle(new TextTitle("2008年度统计图"));
  
  LegendTitle lgetitle = new LegendTitle(freechart.getPlot());
  
  BlockContainer bcone = new BlockContainer(new BorderArrangement());
  bcone.setFrame(new BlockBorder(1.0D , 1.0D , 1.0D , 1.0D));
  
  LabelBlock lbone = new LabelBlock("Lgend Items " , new Font("SansSerif" , 1 , 12) , Color.BLUE);
  lbone.setPadding(5D , 5D , 5D , 5D);
  bcone.add(lbone , RectangleEdge.TOP);
  LabelBlock lbtwo = new LabelBlock("Souce:http://www.guokang.com/");
  lbtwo.setPadding(8D , 20D , 2D , 5D);
  bcone.add(lbtwo , RectangleEdge.BOTTOM);
  
  BlockContainer bctwo = lgetitle.getItemContainer();
  bctwo.setPadding(2D , 10D , 5D , 2D);
  bcone.add(bctwo);
  lgetitle.setWrapper(bcone);
  lgetitle.setPosition(RectangleEdge.RIGHT);
  lgetitle.setHorizontalAlignment(HorizontalAlignment.LEFT);
  freechart.addSubtitle(lgetitle);
  plot.setForegroundAlpha(0.66f);
  String filename = null;
  
  String root=Generatetime.DIR;
  String name=Getinstance.getCurrentTime().getTime();
  try
  {
   File f=new File(root+name+".jpeg");
   ChartUtilities.saveChartAsJPEG(f , 1.0f , freechart , 500 , 320);
   filename = ServletUtilities.saveChartAsJPEG(freechart , 500 , 320 ,request.getSession());
  }
  catch (Exception e)
  {
   System.out.println(e.toString());
  }
  String grapUrl = request.getContextPath()+"/show?filename="+filename;
  return grapUrl;
 }
}

 

//Areachart2D

 

import java.awt.Color;
import java.io.File;

import javax.servlet.http.HttpServletRequest;

import org.jfree.chart.ChartFactory;
import org.jfree.chart.ChartUtilities;
import org.jfree.chart.JFreeChart;
import org.jfree.chart.axis.NumberAxis;
import org.jfree.chart.axis.ValueAxis;
import org.jfree.chart.labels.StandardXYToolTipGenerator;
import org.jfree.chart.plot.PlotOrientation;
import org.jfree.chart.plot.XYPlot;
import org.jfree.chart.renderer.xy.XYLineAndShapeRenderer;
import org.jfree.chart.servlet.ServletUtilities;
import org.jfree.data.xy.XYDataset;
import org.jfree.data.xy.XYSeries;
import org.jfree.data.xy.XYSeriesCollection;
import org.jfree.ui.RectangleInsets;

public class Areachart2D
{
// public XYDataset getdataset(double xvalue , double yvalue)
// {
//  XYSeries xy = new XYSeries("");
//  xy.add(xvalue , 0.0D);
//  xy.add(xvalue , yvalue);
//  XYSeriesCollection dataset = new XYSeriesCollection();
//  dataset.addSeries(xy);
//  return dataset;
// }

 public String getMap(HttpServletRequest request , double bmi)
 {
  double[] x = {18.5D , 23.9D , 27.9D , 34.1D};
  String s = "BMI值曲线";
  String curs = "您当前的BMI直线值位置";
  XYSeries xyseries = new XYSeries(s);
  xyseries.add(15D , 0D);
  xyseries.add(18.5D , 1.0D);
  xyseries.add(23.9D , 1.2D);
  xyseries.add(27.9D , 1.6D);
  xyseries.add(34.1D , 2.6D);
  XYSeriesCollection dataset = new XYSeriesCollection();
  dataset.addSeries(xyseries);

  JFreeChart freechart = ChartFactory.createXYLineChart("BMI值图" , "BMI值" , "慢性病发病比值" , dataset ,
          PlotOrientation.VERTICAL , false , false , false);
  freechart.setBackgroundPaint(Color.WHITE);
  freechart.setBorderVisible(false);
  XYPlot xyplot = (XYPlot) freechart.getPlot();
  xyplot.setBackgroundPaint(Color.lightGray);
  xyplot.setDomainGridlinePaint(Color.white);
  xyplot.setRangeGridlinePaint(Color.BLUE);
  xyplot.setAxisOffset(new RectangleInsets(4D , 4D , 4D , 4D));

  NumberAxis numberaxis = (NumberAxis) xyplot.getRangeAxis();
  numberaxis.setStandardTickUnits(NumberAxis.createIntegerTickUnits());

  // 1
  XYLineAndShapeRenderer xyrenderone = (XYLineAndShapeRenderer) xyplot.getRenderer();
  xyplot.setDataset(x.length+1 , dataset);
  xyplot.setRenderer(x.length+1 , xyrenderone);
  xyrenderone.setSeriesLinesVisible(0 , true);
  xyrenderone.setSeriesShapesVisible(0 , true);
  xyrenderone.setBaseToolTipGenerator(new StandardXYToolTipGenerator());
  xyrenderone.setSeriesPaint(0 , Color.BLUE);
  xyrenderone.setSeriesFillPaint(0 , Color.WHITE);
  xyrenderone.setSeriesOutlinePaint(0 , Color.GREEN);
  xyrenderone.setUseFillPaint(true);

  // 2画BMI值线
  XYSeries xyseries1 = new XYSeries(curs);
  xyseries1.add(bmi , 0.0D);// 2.25D为BMI直线的默认高度
  xyseries1.add(bmi , 2.25D);// 18.82为BMI值
  XYSeriesCollection bmidataset = new XYSeriesCollection();
  bmidataset.addSeries(xyseries1);

  java.awt.geom.Ellipse2D.Double doublea = new java.awt.geom.Ellipse2D.Double(0D , 0D , 0D , 0D);
  XYLineAndShapeRenderer xyrendertwo = new XYLineAndShapeRenderer();
  xyplot.setDataset(x.length , bmidataset);
  xyplot.setRenderer(x.length , xyrendertwo);
  xyrendertwo.setSeriesShape(0 , doublea);
  xyrendertwo.setSeriesShapesVisible(0 , false);
  xyrendertwo.setBaseToolTipGenerator(new StandardXYToolTipGenerator());
  xyrendertwo.setSeriesPaint(0 , Color.BLACK);
  xyrendertwo.setSeriesFillPaint(0 , Color.lightGray);
  xyrendertwo.setSeriesOutlinePaint(0 , Color.DARK_GRAY);
  xyrendertwo.setUseFillPaint(true);

  // 3画其他线
  ValueAxis domainaxis = xyplot.getDomainAxis();
  domainaxis.setLabelInsets(new RectangleInsets(1D , 0D , 0D , 18.5D));
  if (15<=bmi&&bmi<=18.5)
  {
   domainaxis.setLabel("偏瘦"+"  "+"您的BMI值为:("+bmi+")");
   domainaxis.setLabelPaint(Color.RED);
  }
  else if (18.5<bmi&&bmi<=23.9)
  {
   domainaxis.setLabel("正常"+"   "+"您的BMI值为:("+bmi+")");
   domainaxis.setLabelPaint(Color.RED);
  }
  else if (23.9<bmi&&bmi<27.9)
  {
   domainaxis.setLabel("肥胖"+"   "+"您的BMI值为:("+bmi+")");
   domainaxis.setLabelPaint(Color.RED);
  }
  else if (27.9<bmi&&bmi<34.1)
  {
   domainaxis.setLabel("超重"+"   "+"您的BMI值为:("+bmi+")");
   domainaxis.setLabelPaint(Color.RED);
  }
  else
  {
   domainaxis.setLabel("不符合标准");
  }
  xyplot.setDomainAxis(domainaxis);

  java.awt.geom.Ellipse2D.Double dou = new java.awt.geom.Ellipse2D.Double(0D , 0D , 0D , 0D);

  XYSeries xyda = new XYSeries("");
  xyda.add(18.5D , 0.0D);
  xyda.add(18.5D , 1.0D);
  XYSeriesCollection datasetxy = new XYSeriesCollection();
  datasetxy.addSeries(xyda);

  XYLineAndShapeRenderer xy = new XYLineAndShapeRenderer();
  xyplot.setDataset(0 , datasetxy);
  xyplot.setRenderer(0 , xy);
  xy.setSeriesShape(0 , dou);
  xy.setBaseToolTipGenerator(new StandardXYToolTipGenerator());
  xy.setPaint(Color.PINK);
  xy.setSeriesPaint(0 , Color.BLUE);
  xy.setSeriesFillPaint(0 , Color.PINK);
  xy.setSeriesOutlinePaint(0 , Color.GREEN);
  xy.setUseFillPaint(true);

  XYSeries xy1da = new XYSeries("");
  xy1da.add(23.9D , 0.0D);
  xy1da.add(23.9D , 1.2D);
  XYSeriesCollection datasetxy1 = new XYSeriesCollection();
  datasetxy1.addSeries(xy1da);
  XYLineAndShapeRenderer xy1 = new XYLineAndShapeRenderer();
  xyplot.setDataset(1 , datasetxy1);
  xyplot.setRenderer(1 , xy1);
  xy1.setSeriesShape(0 , dou);
  xy1.setBaseToolTipGenerator(new StandardXYToolTipGenerator());
  xy1.setPaint(Color.BLUE);
  xy1.setSeriesPaint(0 , Color.BLUE);
  xy1.setSeriesFillPaint(0 , Color.BLUE);
  xy1.setSeriesOutlinePaint(0 , Color.GREEN);
  xy1.setUseFillPaint(true);

  XYSeries xy2da = new XYSeries("");
  xy2da.add(27.9D , 0.0D);
  xy2da.add(27.9D , 1.6D);
  XYSeriesCollection datasetxy2 = new XYSeriesCollection();
  datasetxy2.addSeries(xy2da);
  XYLineAndShapeRenderer xy2 = new XYLineAndShapeRenderer();
  xyplot.setDataset(2 , datasetxy2);
  xyplot.setRenderer(2 , xy2);
  xy2.setSeriesShape(0 , dou);
  xy2.setBaseToolTipGenerator(new StandardXYToolTipGenerator());
  xy2.setPaint(Color.YELLOW);
  xy2.setSeriesPaint(0 , Color.BLUE);
  xy2.setSeriesFillPaint(0 , Color.YELLOW);
  xy2.setSeriesOutlinePaint(0 , Color.GREEN);
  xy2.setUseFillPaint(true);

  XYSeries xy3da = new XYSeries("");
  xy3da.add(34.1D , 0.0D);
  xy3da.add(34.1D , 2.6D);
  XYSeriesCollection datasetxy3 = new XYSeriesCollection();
  datasetxy3.addSeries(xy3da);
  XYLineAndShapeRenderer xy3 = new XYLineAndShapeRenderer();
  xyplot.setDataset(3 , datasetxy3);
  xyplot.setRenderer(3 , xy3);
  xy3.setSeriesShape(0 , dou);
  xy3.setBaseToolTipGenerator(new StandardXYToolTipGenerator());
  xy3.setPaint(Color.RED);
  xy3.setSeriesPaint(0 , Color.BLUE);
  xy3.setSeriesFillPaint(0 , Color.RED);
  xy3.setSeriesOutlinePaint(0 , Color.GREEN);
  xy3.setUseFillPaint(true);

  xyplot.setNoDataMessage("没有数据!");
  xyplot.setBackgroundPaint(Color.WHITE);
  String filename = null;

  String root = Generatetime.DIR;
  String path = Getinstance.getCurrentTime().getTime();
  try
  {
   File f = new File(root+path+".jpeg");
   ChartUtilities.saveChartAsJPEG(f , 1.0f , freechart , 400 , 220);
   filename = ServletUtilities.saveChartAsJPEG(freechart , 400 , 220 , request.getSession());
  }
  catch (Exception e)
  {
   System.out.println(e.toString());
  }
  String grapUrl = request.getContextPath()+"/show?filename="+filename;
  return grapUrl;
 }
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值