java生成统计图_java生成各种统计图

目录:

一、图形及代码:

1、饼形图

2.1、普通柱形图

2.2、XYDataset柱形图

3、折线图

4、区域图

5、时序图

6、组合图

二web应用jfreeChar(区域图)

三:DataUtils类代码(所有代码中均应用的类,得到随即数据)

一、图形及代码

1、饼形图

import java.awt.Font;

import java.io.FileOutputStream;

import java.io.IOException;

import java.io.OutputStream;

import org.jfree.chart.ChartFactory;

import org.jfree.chart.ChartUtilities;

import org.jfree.chart.JFreeChart;

import org.jfree.chart.plot.PiePlot;

import org.jfree.data.general.DefaultPieDataset;

import org.jfree.data.general.PieDataset;

public class PieChart {

public static void

main(String[] agrs) throws IOException{

// 打开一个输出流

OutputStream outputStream=new

FileOutputStream("PieChart.png");

// 获取数据集对象

PieDataset dataset = createPieDataset();

// 创建图形对象

JFreeChart jfreechart =

ChartFactory.createPieChart3D("08年图书销量排行榜",

dataset, true, true, false);

// 获得图表区域对象

PiePlot pieplot = (PiePlot) jfreechart.getPlot();

// 设置图表区域的标签字体

pieplot.setLabelFont(new Font("宋体", 0, 12));

//

设置图表区域无数据时的默认显示文字

pieplot.setNoDataMessage("没有销售数据");

//

设置图表区域不是圆形,由于是3D的饼形图,建议设置为false

pieplot.setCircular(false);

//

设置图表区域文字与图表区域的间隔距离,0.02表示2%

pieplot.setLabelGap(0.02D);

//

将图表已数据流的方式返回给客户端

ChartUtilities.writeChartAsPNG(outputStream,

jfreechart,

500, 270);

}

private static PieDataset

createPieDataset() {

// 创建饼形图数据集对象

DefaultPieDataset defaultpiedataset = new

DefaultPieDataset();

// 分别图形区域的说明和数据

defaultpiedataset.setValue("JAVA",

DataUtils.getRandomData());

defaultpiedataset.setValue("C/C++",

DataUtils.getRandomData());

defaultpiedataset.setValue("PHP",

DataUtils.getRandomData());

defaultpiedataset.setValue("JavaScript",

DataUtils.getRandomData());

defaultpiedataset.setValue("Ajax",

DataUtils.getRandomData());

return defaultpiedataset;

}

}

package com.helloweenvsfei.jfreechart;

import java.awt.Font;

import java.io.FileOutputStream;

import java.io.IOException;

import java.io.OutputStream;

import org.jfree.chart.ChartFactory;

import org.jfree.chart.ChartUtilities;

import org.jfree.chart.JFreeChart;

import org.jfree.chart.plot.PiePlot;

import org.jfree.data.general.DefaultPieDataset;

import org.jfree.data.general.PieDataset;

public class PieChart {

public static void main(String[] agrs) throws IOException{

// 打开一个输出流

OutputStream outputStream=new FileOutputStream("PieChart.png");

// 获取数据集对象

PieDataset dataset = createPieDataset();

// 创建图形对象

JFreeChart jfreechart = ChartFactory.createPieChart3D("08年图书销量排行榜",

dataset, true, true, false);

// 获得图表区域对象

PiePlot pieplot = (PiePlot) jfreechart.getPlot();

// 设置图表区域的 签字体

pieplot.setLabelFont(new Font("宋体", 0, 12));

// 设置图表区域 数据时的默认显示文字

pieplot.setNoDataMessage("没有销售数据");

// 设置图表区域不是圆形,由于是3D的饼形图,建议设置为false

pieplot.setCircular(false);

// 设置图表区域文字与图表区域的间隔距离,0.02表示2%

pieplot.setLabelGap(0.02D);

// 将图表已数据流的方式返回给客户端

ChartUtilities.writeChartAsPNG(outputStream, jfreechart,

500, 270);

}

private static PieDataset createPieDataset() {

// 创建饼形图数据集对象

DefaultPieDataset defaultpiedataset = new DefaultPieDataset();

// 分别图形区域的说明和数据

defaultpiedataset.setValue("JAVA", DataUtils.getRandomData());

defaultpiedataset.setValue("C/C++", DataUtils.getRandomData());

defaultpiedataset.setValue("PHP", DataUtils.getRandomData());

defaultpiedataset.setValue("JavaScript", DataUtils.getRandomData());

defaultpiedataset.setValue("Ajax", DataUtils.getRandomData());

return defaultpiedataset;

}

}

效果:

2.1、普通柱形图

import java.io.FileOutputStream;

import java.io.IOException;

import java.io.OutputStream;

import org.jfree.chart.ChartFactory;

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

public class BarChart {

public static void

main(String[] agrs) throws IOException{

// 打开一个输出流

OutputStream outputStream=new

FileOutputStream("BarChart.png");

// 获取数据集对象

CategoryDataset dataset = createDataset();

// 创建图形对象

JFreeChart jfreechart =

ChartFactory.createBarChart3D("08年图书销售量排名",

"按季度", "销量",

dataset, PlotOrientation.VERTICAL, true, true,

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值