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.plot.CategoryPlot;
import org.jfree.chart.plot.PlotOrientation;
import org.jfree.chart.title.TextTitle;
import org.jfree.data.category.CategoryDataset;
import org.jfree.data.category.DefaultCategoryDataset;
public class BarChartDemo {
/**
* @param args
* @throws IOException
*/
public static void main(String[] args) throws IOException {
//生成柱状图
JFreeChart chart = ChartFactory.createBarChart (
"图书销售统计表", //图表标题
"图书", //目录轴的显示标签
"销量", //数值轴的显示标签
getDateSet(), //数据
//PlotOrientation.HORIZONTAL, //图表方向水平
PlotOrientation.VERTICAL, //图表方向垂直
false, //是否显示图例
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对象
CategoryPlot plot = (CategoryPlot) chart.getPlot();
//设置柱型的颜色
plot.getRenderer().setSeriesPaint(0, Color.blue);
//取得横轴
CategoryAxis 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 CategoryDataset getDateSet() {
//提供生成柱状图的数据
DefaultCategoryDataset dataset = new DefaultCategoryDataset();
dataset.addValue(47,"","JAVA教程");
dataset.addValue(23,"","c++教程");
dataset.addValue(20,"","C#教程");
dataset.addValue(10,"","VC++教程");
return dataset;
}
}
分享到:
相关推荐
学习这个示例,读者不仅可以掌握如何使用jFreeChart创建柱状图,还能了解到如何结合其他开源工具(如Hibernate)来处理数据并进行可视化展示。对于Java开发者,特别是那些需要进行数据分析和报表展示的人来说,这是...
JFreeChart创建柱状图,之前网上很多都是创建柱状图的,静态的。数据更新之后柱状图随之改变,代码实现详见附件代码。所需要的jar包是jfreechart-1.0.13.jar,gnujaxp.jar,jcommon-1.0.16.jar
在JFreeChart的CHM手册中,你可以找到关于如何使用JFreeChart创建柱状图的详细步骤、API参考、示例代码以及问题解决方案。 6. **应用场景** JFreeChart的柱状图常用于商业报告、统计分析、科学实验结果展示等场景...
根据提供的信息,我们可以总结出以下关于使用 JFreeChart 实现柱状图排序的相关知识点: ### 一、背景介绍 在日常的数据分析与展示工作中,柱状图是非常常见的一种图表类型,它能直观地显示不同类别之间的数值差异...
在Java编程环境中,JFreeChart库是一个强大的工具,用于创建各种复杂的图表,包括柱状图、折线图和雷达图。这些图表对于数据可视化和数据分析非常有用,可以帮助开发者直观地展示大量信息。以下是对给定文件中每个...
在JFreeChart中,你可以通过`CategoryPlot`和`CategoryAxis`来创建柱状图。首先,你需要创建一个`CategoryDataset`,它包含了分类和对应的值。然后,使用`JFreeChart.createBarChart()`方法生成柱状图。 2. **饼图...
这篇博文中,我们将深入探讨如何使用JFreeChart来创建柱状图和饼图,并理解其背后的源码机制。 ### 一、JFreeChart库介绍 JFreeChart库是开源的Java图形库,提供了一套完整的API,支持生成各种复杂图表,如折线图...
JFreeChart是一个流行的Java库,用于生成各种类型的图表,包括折线图、饼图和柱状图,甚至堆栈柱状图。这个压缩包中的"CreateChartServiceImpl.java"文件很可能包含了一个实现这些功能的服务类。 首先,我们要理解...
在 JFreeChart 中创建柱状图主要涉及以下步骤: 1. **创建 CategoryDataset**:这是柱状图的基础,用于存储数据。你可以使用 `DefaultCategoryDataset` 或自定义的 `CategoryDataset` 实现,将类别(X轴)和值(Y轴...
使用JFreeChart创建柱状图,首先需要创建`CategoryDataset`,然后用它来构建`JFreeChart`对象,最后在`ChartPanel`上显示: ```java CategoryDataset createDataset() { // 创建数据集 } JFreeChart create...
// 创建柱状图数据集 DefaultCategoryDataset barDataset = new DefaultCategoryDataset(); barDataset.addValue(15, "系列1", "分类1"); barDataset.addValue(30, "系列1", "分类2"); barDataset.addValue(20, ...
在本教程中,我们将深入探讨如何使用JFreeChart创建这些图表,以及如何用随机生成的数据作为数据源。 首先,JFreeChart是Java的一个开源库,它提供了丰富的API来创建高质量的2D图表。它支持多种图表类型,如柱状图...
Java 使用 JFreeChart 创建柱形图是一种常见的数据可视化方法,尤其在数据分析和Web应用程序中。JFreeChart 是一个强大的开源库,它提供了多种图表类型,包括柱形图、饼图、线图等,使得开发者能够方便地将数据转化...
创建柱状图的第一步是准备数据,通常我们使用`DefaultCategoryDataset`来存储数据,然后通过`CategoryAxis`和`ValueAxis`来定义X轴和Y轴的标签和范围。 接着,我们可以自定义柱状图的外观。例如,改变柱状图的颜色...
在JFreeChart中,我们可以使用`CategoryPlot`和`CategoryDataset`来创建柱状图。首先,我们需要创建一个`DefaultCategoryDataset`实例,并填充数据。接着,使用`JFreeChart`的`createBarChart()`方法,传入图表标题...
4. 使用 ChartFactory 创建柱状图,passing in the dataset and renderer objects. 5. 使用 ChartUtilities 将图表保存到文件中。 四、堆栈柱状图 堆栈柱状图是一种特殊的柱状图,用于显示多组数据的比较。使用 ...
* 创建chart * * @return */ public JFreeChart createChart(String Ytitle, String title, CategoryDataset lineData, CategoryDataset barData) { //参考附件 return chart; } //struts 部分 <!--...
接着,我们来详细讲解如何创建柱状图和饼状图。 1. **柱状图(BarChart)**: - 创建一个`CategoryDataset`对象,存储分类数据。例如,可以使用`DefaultCategoryDataset`。 - 创建`JFreeChart`对象,使用`...
// 创建柱状图 JFreeChart chart = ChartFactory.createBarChart( "彩色柱状图示例", // 图表标题 "类别", // 类别轴标签 "值", // 值轴标签 dataset, // 数据集 PlotOrientation.VERTICAL, // 布局方向 ...