package com.tvu.project.util;
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.CategoryLabelPositions;
import org.jfree.chart.axis.NumberAxis;
import org.jfree.chart.plot.CategoryPlot;
import org.jfree.chart.plot.PlotOrientation;
import org.jfree.chart.title.LegendTitle;
import org.jfree.chart.title.TextTitle;
import org.jfree.data.category.CategoryDataset;
import org.jfree.data.category.DefaultCategoryDataset;
/**
* @author rock
*/
public class LineChartDemo
{
public static void main(String[] args) throws IOException
{
JFreeChart chart = ChartFactory.createLineChart(
"图书销量统计图", // 图表标题
"图书", // 目录轴的显示标签
"销量", // 数值轴的显示标签
getDataSet(), // 数据集
//PlotOrientation.HORIZONTAL , // 图表方向:水平
PlotOrientation.VERTICAL , // 图表方向:垂直
true, // 是否显示图例(对于简单的柱状图必须是false)
false, // 是否生成工具
false // 是否生成URL链接
);
//重新设置图标标题,改变字体
chart.setTitle(new TextTitle("图书销量统计图", new Font("黑体", Font.ITALIC , 22)));
//取得统计图标的第一个图例
LegendTitle legend = chart.getLegend(0);
//修改图例的字体
legend.setItemFont(new Font("宋体", Font.BOLD, 14));
CategoryPlot plot = (CategoryPlot)chart.getPlot();
//取得横轴
CategoryAxis categoryAxis = plot.getDomainAxis();
//设置横轴显示标签的字体
categoryAxis.setLabelFont(new Font("宋体" , Font.BOLD , 22));
//分类标签以45度角倾斜
categoryAxis.setCategoryLabelPositions(CategoryLabelPositions.UP_45);
categoryAxis.setTickLabelFont(new Font("宋体" , Font.BOLD , 18));
//取得纵轴
NumberAxis numberAxis = (NumberAxis)plot.getRangeAxis();
//设置纵轴显示标签的字体
numberAxis.setLabelFont(new Font("宋体" , Font.BOLD , 22));
FileOutputStream fos = null;
fos = new FileOutputStream("book.jpg");
//将统计图标输出成JPG文件
ChartUtilities.writeChartAsJPEG(
fos, //输出到哪个输出流
1, //JPEG图片的质量,0~1之间
chart, //统计图标对象
800, //宽
600,//宽
null //ChartRenderingInfo 信息
);
fos.close();
}
//返回一个CategoryDataset实例
private static CategoryDataset getDataSet()
{
DefaultCategoryDataset dataset = new DefaultCategoryDataset();
dataset.addValue(45000 , "北京" , "Spring2.0宝典");
dataset.addValue(38000 , "北京" , "轻量级J2EE企业实战");
dataset.addValue(24000 , "北京" , "基于J2EE的Ajax宝典");
dataset.addValue(32000 , "北京" , "JavaScript权威指南");
dataset.addValue(21000 , "北京" , "Ajax In Action");
dataset.addValue(37000 , "上海" , "Spring2.0宝典");
dataset.addValue(36000 , "上海" , "轻量级J2EE企业实战");
dataset.addValue(34000 , "上海" , "基于J2EE的Ajax宝典");
dataset.addValue(42000 , "上海" , "JavaScript权威指南");
dataset.addValue(12000 , "上海" , "Ajax In Action");
dataset.addValue(42000 , "广州" , "Spring2.0宝典");
dataset.addValue(40000 , "广州" , "轻量级J2EE企业实战");
dataset.addValue(34000 , "广州" , "基于J2EE的Ajax宝典");
dataset.addValue(18000 , "广州" , "JavaScript权威指南");
dataset.addValue(26000 , "广州" , "Ajax In Action");
return dataset;
}
}
分享到:
相关推荐
JFreeChart是Java中最优秀的绘图工具之一,它支持多种图表类型,包括折线图、柱状图、饼图、散点图、甘特图以及复杂的组合图等。这些图表不仅适用于数据展示,还可以用于数据分析和报告生成,广泛应用于金融、科学、...
利用Java2D api,它目前支持条形图、饼图、折线图、xy图和时间序列图 包含 jfreechart-1.0.19-demo.jar(java 环境下点击就可以查看) 包含jar包 jfreechart-1.0.19.jar,jfreechart-1.0.19-swt.jar,jcommon-1.0.23...
这个库提供了广泛的数据可视化功能,包括折线图、柱状图、饼图、散点图、甘特图以及更多其他类型,使得开发者无需深入了解图形编程细节就能轻松地生成高质量的图表。 **主要特性** 1. **多类型图表**:JFreeChart ...
JFreeChart是一款流行的开源Java图表库,它提供了一系列丰富的图表类型,包括折线图、柱状图、饼图、散点图等,广泛应用于数据分析、报表生成以及GUI应用的可视化展示。在本文中,我们将深入探讨"jfreechart-1.0.6-...
JFreeChart 是一个流行的开源Java库,用于创建各种图表,如饼图、柱状图、折线图、散点图以及时间序列图等。这个"jfreechart-1.0.1-demo.rar"文件是JFreeChart 1.0.1版本的演示程序,它包含了丰富的示例,帮助开发者...
JFreeChart是一个流行的开源Java库,用于创建各种图表,如折线图、柱状图、饼图、散点图等。它提供了丰富的功能,使得开发者能够在Java应用程序中轻松地生成高质量的图形。这个“jfreechart-1.0.19-demo.src”压缩包...
jfreechart-1.0.9-experimental 用于java后台绘制图形的jar包,如折线图 饼图 柱形图
JFreeChart 是一个广泛使用的 Java 图形库,它允许开发者创建各种图表,包括折线图、柱状图、饼图、散点图等,用于数据可视化。这个压缩包“jfreechart-1.0.13 示例”提供了一些示例代码,帮助开发者更好地理解和...
1. **多样的图表类型**:JFreeChart 支持多种图表类型,如折线图、柱状图、饼图、甘特图、雷达图、热力图等,使开发者能够以可视化的方式展示复杂的数据集。 2. **丰富的定制选项**:用户可以通过调整颜色、字体、...
JFreeChart是一个流行的开源Java库,用于创建各种高质量的图表,包括折线图、柱状图、饼图、散点图、甘特图等。它在描述复杂数据集时提供了一种直观的方式,广泛应用于数据分析、报告生成和可视化应用中。JFreeChart...
JFreeChart是一个广泛使用的开源Java库,主要用于创建各种类型的图表,包括折线图、柱状图、饼图、散点图、甘特图等。在"jfreechart-1.0.14.rar"这个压缩包中,包含了JFreeChart的1.0.14版本,这是一个jar包,可以...
1. 多样性:JFreeChart 支持多种类型的图表,包括折线图、柱状图、饼图、散点图、甘特图、雷达图、热力图等,满足不同场景的需求。 2. 高度定制:通过丰富的 API,开发者可以定制图表的颜色、样式、字体、数据标签、...
1. **图表类型多样**:JFreeChart支持多种图表类型,如折线图、柱状图、饼图、散点图、甘特图、雷达图、热力图以及3D图表等,可以满足数据分析和展示的广泛需求。 2. **定制性强**:每个图表的外观和感觉都可以高度...
JFreeChart不仅支持常见的图表类型,如饼图、柱状图、折线图等,还支持一些高级图表类型,如时间序列图、散点图、甘特图等。此外,该库还包括了图表自定义样式的功能,允许开发者根据需求调整图表的外观。 #### ...
JFreeChart是一个开源的Java库,专门用于创建各种类型的图表,如直方图、饼图、折线图等,广泛应用于数据分析和可视化领域。在Java编程中,如果你需要为应用程序添加图形化的数据展示功能,JFreeChart是一个不可或缺...
JFreeChart则是一个强大的Java库,用于生成各种类型的图表,如折线图、柱状图、饼图等,非常适合在Java应用程序中用于数据可视化。在Struts2中集成JFreeChart,可以方便地在Web应用中创建动态图表,例如展示统计信息...
JFreeChart 是一个流行的开源Java库,用于创建各种类型的图表,包括折线图、柱状图、饼图、散点图、甘特图等。它在Java开发中被广泛应用,特别是在数据可视化和报告生成的场景中。JFreeChart 1.0.9 版本提供了丰富的...
首先,JFreeChart 是Java图表绘制的首选工具,它支持多种图表类型,如柱状图、饼图、线图、散点图、甘特图等,满足数据分析和可视化的需求。1.0.13版是该库的一个稳定版本,经过了长时间的开发和测试,提供了丰富的...
通过JFreeChart插件,既可以生成普通效果的折线图,也可以生成3D效果的折线图。如果想生成普通效果的折线图,需要通过工厂类ChartFactory的createLineChart()方法获得JFreeChart类的实例;如果想生成3D效果的折线图...
JFreeChart是一个强大的Java图表库,可以生成各种类型的图表,包括但不限于折线图、柱状图、饼图、散点图、甘特图、雷达图以及3D图表等。JFreeChart-1[1].0.9.jar是该库的一个版本,相较于早期版本,它可能包含新的...