package com.cs.jfreechart;
import java.awt.Color;
import java.awt.Font;
import java.io.FileOutputStream;
import java.io.IOException;
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.NumberAxis;
import org.jfree.chart.axis.ValueAxis;
import org.jfree.chart.plot.XYPlot;
import org.jfree.chart.title.LegendTitle;
import org.jfree.chart.title.TextTitle;
import org.jfree.data.time.Month;
import org.jfree.data.time.TimeSeries;
import org.jfree.data.time.TimeSeriesCollection;
import org.jfree.data.xy.XYDataset;
public class TimeChartDemo {
/**
* @param args
* @throws IOException
*/
public static void main(String[] args) throws IOException {
//生成时间顺序图
JFreeChart chart = ChartFactory.createTimeSeriesChart (
"图书销售统计表", //图表标题
"图书", //目录轴的显示标签
"销量", //数值轴的显示标签
getDateSet(), //数据
//PlotOrientation.HORIZONTAL, //图表方向水平
//PlotOrientation.VERTICAL, //图表方向垂直
true, //是否显示图例
false, //是否显示工具提示
false //是否生成URL
);
//设置标题及标题字体
chart.setTitle(new TextTitle("图书销售统计图",new Font("黑体",Font.ITALIC,22)));
//建一个图例
LegendTitle legendTitle = chart.getLegend(0);
//设置图例字体
legendTitle.setItemFont(new Font("宋体",Font.BOLD,14));
//获取时间顺序图plot对象
XYPlot plot = (XYPlot) chart.getPlot();
//设置柱型的颜色
plot.getRenderer().setSeriesPaint(0, Color.blue);
//取得横轴
ValueAxis categoryAxis = plot.getDomainAxis();
//设置横轴的字体
categoryAxis.setLabelFont(new Font("宋体",Font.BOLD,22));
//设置分类标签以45度倾斜
//categoryAxis.setCategoryLabelPositions(CategoryLabelPositions.UP_45);
//设置分类标签字体
categoryAxis.setTickLabelFont(new Font("宋体",Font.BOLD,22));
//取得纵轴
NumberAxis numberAxis = (NumberAxis) plot.getRangeAxis();
//设置纵轴的字体
numberAxis.setLabelFont(new Font("宋体",Font.BOLD,22));
//设置背景透明度(0~1)
plot.setBackgroundAlpha(0.9f);
//输出文件
FileOutputStream fos = new FileOutputStream("book.jpg");
//用ChartUtilities工具输出
ChartUtilities.writeChartAsJPEG(fos, chart, 800, 600);
fos.close();
}
private static XYDataset getDateSet() {
//创建一个TimeSeries对象
TimeSeries spring = new TimeSeries("JAVA教程",Month.class);
spring.add(new Month(10,2006),34);
spring.add(new Month(11,2006),27);
spring.add(new Month(12,2006),31);
spring.add(new Month(1,2007),17);
spring.add(new Month(2,2007),39);
TimeSeries lightweight = new TimeSeries("C#教程",Month.class);
lightweight.add(new Month(10,2006),28);
lightweight.add(new Month(11,2006),32);
lightweight.add(new Month(12,2006),11);
lightweight.add(new Month(1,2007),19);
lightweight.add(new Month(2,2007),12);
TimeSeriesCollection dataset = new TimeSeriesCollection();
dataset.addSeries(spring);
dataset.addSeries(lightweight);
return dataset;
}
}
分享到:
相关推荐
使用JFreeChart创建图表.ppt
JFreeChart 股票K线图创建过程
JFreeChart是一组功能强大、灵活易用的Java绘图API,使用它可以生成多种通用性的报表,包括柱状图、饼图、曲线图、甘特图等。它能够用在Swing和Web等中制作自定义的图表或报表,并且得到广泛的应用。本文将通过引领...
使用 JFreeChart来创建基于web的图表
使用JFreeChart来创建基于web的图表
jfreechart雷达图,jfreechart蜘蛛网图,jfreechart带刻度的雷达图
JFreeChart生成3D饼状图及柱状图,可把图片生成在指定文件目录下
JFreeChart 饼状图 柱状图 柱状图 堆积柱状图 折线图 这个是我特地开发的一个用JFreeChart开发的用来画图的项目,已经开发成形了各种项目的各种需求的项目,并且自己可以拓展,根据需求修改代码,完成项目的需要。 ...
flex案例\flex图形\玫瑰图\jfreechart小记(雷达图+折线图).doc
jfreechart 堆栈柱状图跟折线图结合拼接 jar包请戳http://download.csdn.net/detail/a156435646/7424707
java里用JFreeChart画柱状图、折线图、雷达图,三个封装好的方法,可以直接调用。
本文档主要讲述的是使用 JFreeChart来创建基于web的图表;JFreeChart是开放源代码站点SourceForge.net上的一个JAVA项目,它主要用来各种各样的图表,这些图表包括:饼图、柱状图(普通柱状图以及堆栈柱状图)、线图、...
将数据库中的数据以柱形图的形式显示出来,该例子中显示的是3D形式的柱形图,可以根据需要自行更改柱形图的样式。同时柱形图不是生成图片,而是直接显示在页面上。
JFreeChart创建柱状图,之前网上很多都是创建柱状图的,静态的。数据更新之后柱状图随之改变,代码实现详见附件代码。所需要的jar包是jfreechart-1.0.13.jar,gnujaxp.jar,jcommon-1.0.16.jar
jfreeChart生成的线状图,饼状图,柱状图
利用jfreechart绘制的漂亮的折线图,实现双纵坐标,折线点标签还带箭头指示,非常直观,需要提前下载jfreechart.jar文件,否则我的类会报错,也即是要配置运行环境
JFreeChart入门_-_使用JFreeChart开发Pie(饼状图)
java制作jfreechart柱状图 饼状图 折线图 随机数字做的数据源 下载导入即可运行 内含jar包
* 创建chart * * @return */ public JFreeChart createChart(String Ytitle, String title, CategoryDataset lineData, CategoryDataset barData) { //参考附件 return chart; } //struts 部分 <!--...