jfreechart显示具体数值

package com;

import java.awt.BasicStroke;
import java.awt.Color;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.text.DecimalFormat;

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.labels.StandardCategoryItemLabelGenerator;
import org.jfree.chart.plot.CategoryPlot;
import org.jfree.chart.plot.PlotOrientation;
import org.jfree.chart.renderer.category.LineAndShapeRenderer;
import org.jfree.data.category.CategoryDataset;
import org.jfree.data.category.DefaultCategoryDataset;

public class aaaa {
 
 public static void main(String[] args) throws FileNotFoundException {
  CategoryDataset categorydataset =createDataset();
  JFreeChart jfreechart = ChartFactory.createLineChart("Line Chart Demo 1",
    "Type",
    "Value",
    categorydataset,
    PlotOrientation.VERTICAL,
    true,
    true,
    false);
    jfreechart.setBackgroundPaint(Color.white);
    CategoryPlot categoryplot = (CategoryPlot)jfreechart.getPlot();
//    categoryplot.setBackgroundPaint(Color.WHITE);
//    categoryplot.setRangeGridlinePaint(Color.BLUE);//纵坐标格线颜色
//    categoryplot.setDomainGridlinePaint(Color.BLACK);//横坐标格线颜色
//    categoryplot.setDomainGridlinesVisible(true);//显示横坐标格线
//    categoryplot.setRangeGridlinesVisible(true);//显示纵坐标格线
//               
                           
                LineAndShapeRenderer renderer = (LineAndShapeRenderer)categoryplot.getRenderer();
                DecimalFormat decimalformat1 = new DecimalFormat("##.##");//数据点显示数据值的格式
                renderer.setItemLabelGenerator(new StandardCategoryItemLabelGenerator("{2}", decimalformat1));
                                                  //上面这句是设置数据项标签的生成器
                renderer.setItemLabelsVisible(true);//设置项标签显示
                renderer.setBaseItemLabelsVisible(true);//基本项标签显示
                         //上面这几句就决定了数据点按照设定的格式显示数据值 
//                renderer.setShapesFilled(Boolean.TRUE);//在数据点显示实心的小图标
//                renderer.setShapesVisible(true);//设置显示小图标

    categoryplot.setBackgroundPaint(Color.lightGray);
    categoryplot.setRangeGridlinePaint(Color.white);
    NumberAxis numberaxis = (NumberAxis)categoryplot.getRangeAxis();
    numberaxis.setStandardTickUnits(NumberAxis.createIntegerTickUnits());
    numberaxis.setAutoRangeIncludesZero(true);
//    获得renderer 注意这里是下嗍造型到lineandshaperenderer!!
    LineAndShapeRenderer lineandshaperenderer = (LineAndShapeRenderer)categoryplot.getRenderer();
    lineandshaperenderer.setShapesVisible(true); //series 点(即数据点)可见
    lineandshaperenderer.setSeriesStroke(0, new BasicStroke(2.0F, 1, 1, 1.0F, new float[] {
    10F, 6F
    }, 0.0F)); //定义series为”First”的(即series1)点之间的连线 ,这里是虚线,默认是直线
    lineandshaperenderer.setSeriesStroke(1, new BasicStroke(2.0F, 1, 1, 1.0F, new float[] {
    6F, 6F
    }, 0.0F)); //定义series为”Second”的(即series2)点之间的连线
    lineandshaperenderer.setSeriesStroke(2, new BasicStroke(2.0F, 1, 1, 1.0F, new float[] {
    2.0F, 6F
    }, 0.0F)); //定义series为”Third”的(即series3)点之间的连线
     FileOutputStream fos_jpg=null;
              try{
                  fos_jpg=new FileOutputStream("E://line.jpg");
                  ChartUtilities.writeChartAsJPEG(fos_jpg,1,jfreechart,400,300,null);
              } catch (IOException e) {
      // TODO Auto-generated catch block
      e.printStackTrace();
     }finally{
                  try{
                      fos_jpg.close();
                  }catch(Exception e){}
              }

 }
 
 private static CategoryDataset createDataset()
 {
 String series1 = "First";
 String series2 = "Second";
 String series3 = "Third";
 String type1 = "Type 1";
 String type2 = "Type 2";
 String type3 = "Type 3";
 String type4 = "Type 4";
 String type5 = "Type 5";
 String type6 = "Type 6";
 String type7 = "Type 7";
 String type8 = "Type 8";
 DefaultCategoryDataset defaultcategorydataset = new DefaultCategoryDataset();
 defaultcategorydataset.addValue(1.0D, series1, type1);
 defaultcategorydataset.addValue(4D, series1, type2);
 defaultcategorydataset.addValue(3D, series1, type3);
 defaultcategorydataset.addValue(5D, series1, type4);
 defaultcategorydataset.addValue(5D, series1, type5);
 defaultcategorydataset.addValue(7D, series1, type6);
 defaultcategorydataset.addValue(7D, series1, type7);
 defaultcategorydataset.addValue(8D, series1, type8);

 defaultcategorydataset.addValue(5D, series2, type1);
 defaultcategorydataset.addValue(7D, series2, type2);
 defaultcategorydataset.addValue(6D, series2, type3);
 defaultcategorydataset.addValue(8D, series2, type4);
 defaultcategorydataset.addValue(4D, series2, type5);
 defaultcategorydataset.addValue(4D, series2, type6);
 defaultcategorydataset.addValue(2D, series2, type7);
 defaultcategorydataset.addValue(1.0D, series2, type8);

 defaultcategorydataset.addValue(4D, series3, type1);
 defaultcategorydataset.addValue(3D, series3, type2);
 defaultcategorydataset.addValue(2D, series3, type3);
 defaultcategorydataset.addValue(3D, series3, type4);
 defaultcategorydataset.addValue(6D, series3, type5);
 defaultcategorydataset.addValue(3D, series3, type6);
 defaultcategorydataset.addValue(4D, series3, type7);
 defaultcategorydataset.addValue(3D, series3, type8);
 return defaultcategorydataset;
 }

 

}

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值