常见的报表

package fr1;

import java.io.File;
import java.io.IOException;

import org.jfree.chart.ChartFactory;
import org.jfree.chart.ChartUtilities;
import org.jfree.chart.JFreeChart;
import org.jfree.data.general.DefaultPieDataset;

public class mypiechart {

/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub

DefaultPieDataset data = getDataSet();
  JFreeChart chart = ChartFactory.createPieChart3D("水果产量图", data, true,
    false, false);
  try {
  ChartUtilities.saveChartAsPNG(new File("d:/444.jpg"), chart, 900, 800);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

}

/**
  * 获取一个演示用的简单数据集对象
  *
  * @return
  */
private static DefaultPieDataset getDataSet() {
  DefaultPieDataset dataset = new DefaultPieDataset();
  dataset.setValue("苹果", 100);
  dataset.setValue("梨子", 200);
  dataset.setValue("葡萄", 300);
  dataset.setValue("香蕉", 400);
  dataset.setValue("荔枝", 500);
  return dataset;
}
}







package fr1;

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

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.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.DefaultCategoryDataset;

public class myline {

/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
JFreeChart chat=ChartFactory.createLineChart("公司季度销售表", "月份", "销量:单位(万)", getdataset(), PlotOrientation.VERTICAL, true, true, true);

CategoryPlot plot=(CategoryPlot)chat.getCategoryPlot();
plot.setNoDataMessage("暂无数据!!");
//plot.setDomainAxisLocation(AxisLocation.BOTTOM_OR_RIGHT);//表格是上还是下
//plot.setDomainAxisLocation(AxisLocation.TOP_OR_RIGHT);


//以下将是对图表的设置
LineAndShapeRenderer renderer = new LineAndShapeRenderer();
renderer.setBaseShapesVisible(true);
        renderer.setBaseShapesFilled(false);
        float dashes[] = { 8.0f };
        renderer.setBaseStroke(new BasicStroke(1.6f,     // 线条粗细
              BasicStroke.CAP_ROUND,     // 端点风格
              BasicStroke.JOIN_ROUND,     // 折点风格
              8.0f,     // 折点处理办法
              dashes,     // 虚线数组
              0.0f));     // 虚线偏移量
        renderer.setSeriesStroke(1, renderer.getBaseStroke());
       
        //下面三行将实现在折点位置上显示数据
        renderer.setItemLabelGenerator(new StandardCategoryItemLabelGenerator());  
        renderer.setItemLabelFont(new Font("黑体",  Font.PLAIN,   12));  
        renderer.setItemLabelsVisible(true);  

       
        plot.setRenderer(renderer);


try {
ChartUtilities.saveChartAsPNG(new File("D:\\公司.jpg"), chat, 800, 600);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
private static DefaultCategoryDataset getdataset()
{
DefaultCategoryDataset data=new DefaultCategoryDataset();
data.setValue(200, "小张", "1月");
data.setValue(500, "小李", "1月");
data.setValue(800, "小云", "1月");

data.setValue(500, "小张", "2月");
data.setValue(600, "小李", "2月");
data.setValue(900, "小云", "2月");

data.setValue(300, "小张", "3月");
data.setValue(200, "小李", "3月");
data.setValue(900, "小云", "3月");

data.setValue(300, "小张", "4月");
data.setValue(200, "小李", "4月");
data.setValue(400, "小云", "4月");

return data;



}

}





package fr1;

//普通的3D柱形表图示
import java.awt.Color;
import java.io.File;
import java.io.IOException;

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.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.BarRenderer3D;
import org.jfree.data.category.CategoryDataset;
import org.jfree.data.category.DefaultCategoryDataset;
import org.jfree.ui.TextAnchor;

public class fmybar3 {

/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
JFreeChart bar1=ChartFactory.createBarChart3D(" 市场调查", "产品种类", "销售量", getDataset(), PlotOrientation.VERTICAL, true, true, true);
CategoryPlot piolt=bar1.getCategoryPlot();
piolt.setBackgroundPaint(Color.white);//设置网格的背景颜色
piolt.setDomainGridlinePaint(Color.red);
piolt.setRangeGridlinePaint(Color.RED);  // 设置水平方向背景线颜色
piolt.setRangeGridlinesVisible(true);     // 设置是否显示水平方向背景线,默认值为True
piolt.setDomainGridlinePaint(Color.RED);     // 设置垂直方向背景线颜色
piolt.setDomainGridlinesVisible(false);     // 设置是否显示垂直方向背景线,默认值为False

BarRenderer3D renderer = new BarRenderer3D();
         renderer.setBaseItemLabelGenerator(new StandardCategoryItemLabelGenerator());
         renderer.setBaseItemLabelsVisible(true);
         //默认的数字显示在柱子中,通过如下两句可调整数字的显示
         //注意:此句很关键,若无此句,那数字的显示会被覆盖,给人数字没有显示出来的问题
         renderer.setBasePositiveItemLabelPosition(new ItemLabelPosition(ItemLabelAnchor.OUTSIDE12, TextAnchor.BASELINE_LEFT));
         renderer.setItemLabelAnchorOffset(10D);
        
         piolt.setRenderer(renderer);//将属性的设置应用到图标中
        

try {
ChartUtilities.saveChartAsPNG(new File("d:\\CPU3.jpg"), bar1, 500, 400);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

}
private static  CategoryDataset getDataset()
{
DefaultCategoryDataset dataset=new DefaultCategoryDataset();

dataset.setValue(200, "中天科技", "CPU");
dataset.setValue(270, "华为", "CPU");
dataset.setValue(500, "普天科技", "CPU");


dataset.setValue(200, "中天科技", "computer");
dataset.setValue(300, "华为", "computer");
dataset.setValue(500, "普天科技", "computer");

dataset.setValue(200, "中天科技", "LED");
dataset.setValue(300, "华为", "LED");
dataset.setValue(500, "普天科技", "LED");

dataset.setValue(200, "中天科技", "ARM");
dataset.setValue(300, "华为", "ARM");
dataset.setValue(300, "华为", "LED");
dataset.setValue(500, "普天科技", "LED");
dataset.setValue(500, "普天科技", "ARM");

return dataset;


}

}






package fr1;

import java.io.File;
import java.io.IOException;

import org.jfree.chart.ChartFactory;
import org.jfree.chart.ChartUtilities;
import org.jfree.chart.JFreeChart;
import org.jfree.chart.plot.PlotOrientation;
import org.jfree.data.category.CategoryDataset;
import org.jfree.data.category.DefaultCategoryDataset;

public class mybar1 {

/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
JFreeChart bar=ChartFactory.createBarChart("市场调查",  "产品种类", // 图表标题
                "销量 单位:万", // 目录轴的显示标签
                getDataset(), // 数据集
                PlotOrientation.VERTICAL, // 图表方向:水平、垂直
                true,      // 是否显示图例(对于简单的柱状图必须是false)
                true,      // 是否生成工具
                true );     // 是否生成URL链接)


try {
ChartUtilities.saveChartAsPNG(new File("d:\\CPU.jpg"), bar, 500, 400);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

}
private static  CategoryDataset getDataset()
{
DefaultCategoryDataset dataset=new DefaultCategoryDataset();

dataset.setValue(200, "中天科技", "CPU");
dataset.setValue(300, "华为", "CPU");
dataset.setValue(500, "普天科技", "CPU");


dataset.setValue(200, "中天科技", "computer");
dataset.setValue(300, "华为", "computer");
dataset.setValue(500, "普天科技", "computer");

dataset.setValue(200, "中天科技", "LED");
dataset.setValue(300, "华为", "LED");
dataset.setValue(500, "普天科技", "LED");

dataset.setValue(200, "中天科技", "ARM");
dataset.setValue(300, "华为", "ARM");
dataset.setValue(500, "普天科技", "ARM");

return dataset;


}

}






package fr1;

//普通的柱形表图示
import java.awt.Color;
import java.io.File;
import java.io.IOException;

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 org.jfree.data.category.CategoryDataset;
import org.jfree.data.category.DefaultCategoryDataset;

public class mybar2 {

/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
JFreeChart bar=ChartFactory.createBarChart("市场调查",  "产品种类", // 图表标题
                "销量 单位:万", // 目录轴的显示标签
                getDataset(), // 数据集
                PlotOrientation.VERTICAL, // 图表方向:水平、垂直
                true,      // 是否显示图例(对于简单的柱状图必须是false)
                true,      // 是否生成工具
                true );     // 是否生成URL链接)
CategoryPlot piolt=bar.getCategoryPlot();
piolt.setBackgroundPaint(Color.white);//设置网格的背景颜色
piolt.setDomainGridlinePaint(Color.red);
piolt.setRangeGridlinePaint(Color.RED);  // 设置水平方向背景线颜色
piolt.setRangeGridlinesVisible(true);     // 设置是否显示水平方向背景线,默认值为True
piolt.setDomainGridlinePaint(Color.RED);     // 设置垂直方向背景线颜色
piolt.setDomainGridlinesVisible(false);     // 设置是否显示垂直方向背景线,默认值为False


try {
ChartUtilities.saveChartAsPNG(new File("d:\\CPU.jpg"), bar, 500, 400);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

}
private static  CategoryDataset getDataset()
{
DefaultCategoryDataset dataset=new DefaultCategoryDataset();

dataset.setValue(200, "中天科技", "CPU");
dataset.setValue(270, "华为", "CPU");
dataset.setValue(500, "普天科技", "CPU");


dataset.setValue(200, "中天科技", "computer");
dataset.setValue(300, "华为", "computer");
dataset.setValue(500, "普天科技", "computer");

dataset.setValue(200, "中天科技", "LED");
dataset.setValue(300, "华为", "LED");
dataset.setValue(500, "普天科技", "LED");

dataset.setValue(200, "中天科技", "ARM");
dataset.setValue(300, "华为", "ARM");
dataset.setValue(500, "普天科技", "ARM");

return dataset;


}

}







package fr1;

import java.io.File;
import java.io.IOException;

import org.jfree.chart.ChartFactory;
import org.jfree.chart.ChartUtilities;
import org.jfree.chart.JFreeChart;
import org.jfree.data.general.DefaultPieDataset;

public class mypiechart {

/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub

DefaultPieDataset data = getDataSet();
  JFreeChart chart = ChartFactory.createPieChart3D("水果产量图", data, true,
    false, false);
  try {
  ChartUtilities.saveChartAsPNG(new File("d:/444.jpg"), chart, 900, 800);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

}

/**
  * 获取一个演示用的简单数据集对象
  *
  * @return
  */
private static DefaultPieDataset getDataSet() {
  DefaultPieDataset dataset = new DefaultPieDataset();
  dataset.setValue("苹果", 100);
  dataset.setValue("梨子", 200);
  dataset.setValue("葡萄", 300);
  dataset.setValue("香蕉", 400);
  dataset.setValue("荔枝", 500);
  return dataset;
}
}









import java.awt.Color;
import java.awt.Font;
import java.awt.GradientPaint;
import java.io.File;
import java.text.DateFormat;
import java.text.SimpleDateFormat;

import org.jfree.chart.ChartFactory;
import org.jfree.chart.ChartUtilities;
import org.jfree.chart.JFreeChart;
import org.jfree.chart.axis.DateAxis;
import org.jfree.chart.labels.StandardXYItemLabelGenerator;
import org.jfree.chart.plot.XYPlot;
import org.jfree.chart.renderer.xy.XYItemRenderer;
import org.jfree.chart.renderer.xy.XYLineAndShapeRenderer;
import org.jfree.chart.title.TextTitle;
import org.jfree.data.time.Day;
import org.jfree.data.time.TimeSeries;
import org.jfree.data.time.TimeSeriesCollection;
import org.jfree.data.time.TimeSeriesDataItem;

/**
* 该类用于演示最简单的柱状图生成
*
* @author wf.shu
*/
public class TimeSeriesChartDemo {

public static void main(String args[]) {
JFreeChart chart =ChartFactory.createTimeSeriesChart("二月销售统计","日期","",getData(),true,true,false);
XYPlot plot = (XYPlot) chart.getPlot();
// XYItemRenderer renderer = new DefaultXYItemRenderer();
// renderer.setBasePositiveItemLabelPosition(new ItemLabelPosition(ItemLabelAnchor.OUTSIDE12, TextAnchor.BASELINE_LEFT));
// plot.setRenderer(renderer);
        XYItemRenderer r = plot.getRenderer();
        if (r instanceof XYLineAndShapeRenderer) {
            XYLineAndShapeRenderer renderer = (XYLineAndShapeRenderer) r;
            renderer.setItemLabelGenerator(new StandardXYItemLabelGenerator());
            renderer.setBaseItemLabelsVisible(true);
            //显示数据
            renderer.setItemLabelsVisible(true);
            //是否显示数据点
            renderer.setBaseShapesVisible(true);
            //是否填充数据点
            renderer.setBaseShapesFilled(false);
           
           
        }
       
        //定义坐标轴上的日期的显示格式
        DateAxis dateaxis=(DateAxis) plot.getDomainAxis();
        dateaxis.setDateFormatOverride(new SimpleDateFormat("yy-MM-dd"));

//添加标题
//chart.setTitle(new TextTitle("标题", new Font("宋体", Font.ITALIC, 20)));
//添加子标题
//chart.addSubtitle(new TextTitle("子标题", new Font("宋体", Font.BOLD, 20)));
//chart.setBackgroundPaint(new GradientPaint(0, 0, Color.white, 0, 1000, Color.white));

try{
ChartUtilities.saveChartAsPNG(new File("D:/tsChart.jpg"), chart, 700, 400);
}
catch(Exception e){
e.printStackTrace();
}
}

public static TimeSeriesCollection getData() {
TimeSeriesCollection tsCollection = new TimeSeriesCollection();
TimeSeries ts1 = new TimeSeries("R1");
ts1.add(new TimeSeriesDataItem(new Day(1, 2, 2009), 0.56D));
ts1.add(new TimeSeriesDataItem(new Day(2, 2, 2009), 0.56D));
ts1.add(new TimeSeriesDataItem(new Day(3, 2, 2009), 0.51D));
ts1.add(new TimeSeriesDataItem(new Day(4, 2, 2009), 0.52D));
ts1.add(new TimeSeriesDataItem(new Day(5, 2, 2009), 0.35D));
ts1.add(new TimeSeriesDataItem(new Day(6, 2, 2009), 0.67D));
ts1.add(new TimeSeriesDataItem(new Day(7, 2, 2009), 0.81D));
ts1.add(new TimeSeriesDataItem(new Day(8, 2, 2009), 0.44D));
ts1.add(new TimeSeriesDataItem(new Day(9, 2, 2009), 0.57D));
ts1.add(new TimeSeriesDataItem(new Day(10, 2, 2009), 0.69D));
ts1.add(new TimeSeriesDataItem(new Day(11, 2, 2009), 0.54D));
ts1.add(new TimeSeriesDataItem(new Day(12, 2, 2009), 0.77D));
ts1.add(new TimeSeriesDataItem(new Day(13, 2, 2009), 0.56D));
ts1.add(new TimeSeriesDataItem(new Day(14, 2, 2009), 0.56D));
ts1.add(new TimeSeriesDataItem(new Day(15, 2, 2009), 0.51D));
ts1.add(new TimeSeriesDataItem(new Day(16, 2, 2009), 0.52D));
ts1.add(new TimeSeriesDataItem(new Day(17, 2, 2009), 0.35D));
ts1.add(new TimeSeriesDataItem(new Day(18, 2, 2009), 0.67D));
ts1.add(new TimeSeriesDataItem(new Day(19, 2, 2009), 0.81D));
ts1.add(new TimeSeriesDataItem(new Day(20, 2, 2009), 0.44D));
ts1.add(new TimeSeriesDataItem(new Day(21, 2, 2009), 0.57D));
ts1.add(new TimeSeriesDataItem(new Day(22, 2, 2009), 0.69D));
ts1.add(new TimeSeriesDataItem(new Day(23, 2, 2009), 0.54D));
ts1.add(new TimeSeriesDataItem(new Day(24, 2, 2009), 0.77D));
ts1.add(new TimeSeriesDataItem(new Day(25, 2, 2009), 0.67D));
ts1.add(new TimeSeriesDataItem(new Day(26, 2, 2009), 0.81D));
ts1.add(new TimeSeriesDataItem(new Day(27, 2, 2009), 0.44D));
ts1.add(new TimeSeriesDataItem(new Day(28, 2, 2009), 0.57D));
tsCollection.addSeries(ts1);
TimeSeries ts2 = new TimeSeries("R2");
ts2.add(new TimeSeriesDataItem(new Day(1, 2, 2009), 0.23D));
ts2.add(new TimeSeriesDataItem(new Day(2, 2, 2009), 0.42D));
ts2.add(new TimeSeriesDataItem(new Day(3, 2, 2009), 0.34D));
ts2.add(new TimeSeriesDataItem(new Day(4, 2, 2009), 0.52D));
ts2.add(new TimeSeriesDataItem(new Day(5, 2, 2009), 0.67D));
ts2.add(new TimeSeriesDataItem(new Day(6, 2, 2009), 0.84D));
ts2.add(new TimeSeriesDataItem(new Day(7, 2, 2009), 0.74D));
ts2.add(new TimeSeriesDataItem(new Day(8, 2, 2009), 0.54D));
ts2.add(new TimeSeriesDataItem(new Day(9, 2, 2009), 0.67D));
ts2.add(new TimeSeriesDataItem(new Day(10, 2, 2009), 0.76D));
ts2.add(new TimeSeriesDataItem(new Day(11, 2, 2009), 0.66D));
ts2.add(new TimeSeriesDataItem(new Day(12, 2, 2009), 0.91D));
tsCollection.addSeries(ts2);
return tsCollection;
}
}

你可能感兴趣的:(UI,jfreechart,华为)