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.LegendTitle;
import org.jfree.chart.title.TextTitle;
import org.jfree.data.category.CategoryDataset;
import org.jfree.data.category.DefaultCategoryDataset;
public class Line3DChartDemo {
/**
* @param args
* @throws IOException
*/
public static void main(String[] args) throws IOException {
//生成3D折线图(柱状图只改方法名createLineChart3D就可以了)
JFreeChart chart = ChartFactory.createLineChart3D (
"图书销售统计表", //图表标题
"图书", //目录轴的显示标签
"销量", //数值轴的显示标签
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对象
CategoryPlot plot = (CategoryPlot) chart.getPlot();
//设置折线的颜色
plot.getRenderer().setSeriesPaint(0, Color.BLUE);
plot.getRenderer().setSeriesPaint(1, Color.GREEN);
plot.getRenderer().setSeriesPaint(2, Color.ORANGE);
//取得横轴
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);
//设置前景色透明度(0~1)
plot.setForegroundAlpha(0.5f);
//输出文件
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++教程");
//生成复杂带图例的柱状图
dataset.addValue(47,"北京","JAVA教程");
dataset.addValue(23,"北京","c++教程");
dataset.addValue(20,"北京","C#教程");
dataset.addValue(10,"北京","VC++教程");
dataset.addValue(40,"天津","JAVA教程");
dataset.addValue(20,"天津","c++教程");
dataset.addValue(35,"天津","C#教程");
dataset.addValue(5,"天津","VC++教程");
dataset.addValue(30,"上海","JAVA教程");
dataset.addValue(28,"上海","c++教程");
dataset.addValue(22,"上海","C#教程");
dataset.addValue(20,"上海","VC++教程");
return dataset;
}
}
分享到:
相关推荐
无论是平面还是3D折线图,其核心都是创建合适的Dataset、Plot和JFreeChart实例,然后根据需求进行细节调整。通过深入学习和实践,开发者可以利用JFreeChart轻松地在Java应用程序中生成美观且信息丰富的图表。
使用 jfreechart 生成折线图需要以下步骤: 1. 创建 CategoryDataset 对象,用于存储数据。 2. 创建 LineAndShapeRenderer 对象,用于设置折线图的样式。 3. 创建 CategoryAxis 对象,用于设置 x 轴和 y 轴的样式。...
JFreeChart是一款强大的Java图表库,它允许开发者创建多种类型的2D和3D图表,包括折线图、柱状图、饼状图、散点图等,并且支持自定义样式和颜色,使得数据可视化变得更加直观和生动。在这个特定的场景中,我们将关注...
在JFreeChart中,你可以使用`TimeSeriesCollection`来存储时间序列数据,然后通过`createXYLineChart()`方法生成折线图。此外,JFreeChart还支持日期和时间轴,让时间相关的数据可视化更加精确。 除了这些基本图表...
描述:使用 JFreeChart 库生成 Excel 图表,包括柱状图、饼状图、折线图等多种类型的图表。 标签:JFreeChart、Java、Excel、图表 部分内容: ### 需要的 Jar 包 在使用 JFreeChart 库之前,需要将 jfreechart-...
JFreeChart是开源的Java类库,它提供了丰富的图表类型,如折线图、柱状图、饼图、散点图、甘特图等。它不仅支持静态图表,还能够动态更新数据,使得图表具有交互性。JFreeChart库的灵活性和易用性使其成为Java开发者...
JFreeChart是一款强大的Java图表库,它允许开发者创建多种类型的图表,包括折线图、饼状图和柱状图等,这些图表广泛应用于数据分析、报表展示以及Web应用程序中。本项目提供了一个实例,展示了如何在Web页面上使用...
Java 中可以使用 JFreeChart 库来实现各种数据统计图,如柱形图、饼图、折线图等。下面将详细介绍如何使用 JFreeChart 库实现数据统计图。 首先,需要添加三个第三方包到 Java 项目中,分别是 jfreechart-1.0.13....
饼状图和折线图的创建方法与柱状图类似,只需要使用不同的工厂方法和设置不同的属性。例如,饼状图可以使用ChartFactory.createPieChart方法,折线图可以使用ChartFactory.createLineChart方法。 jFreeChart的使用 ...
JFreeChart是一个强大的Java库,它可以用来创建多种类型的图表,包括柱形图、饼图和折线图。本篇文章将详细介绍如何使用JFreeChart来实现这些统计图形。 首先,为了使用JFreeChart库,我们需要导入以下三个依赖库:...
JFreeChart是一款强大的Java图表库,它允许开发者创建多种类型的二维图表,如柱状图、饼状图、折线图等,并且支持2D和3D效果。在Struts 2框架中集成JFreeChart,可以方便地在Web应用中展示数据可视化结果,提升用户...
根据提供的文件信息,本文...通过以上示例代码可以看出,无论是饼状图、柱状图还是折线图,都可以通过使用JFreeChart库来轻松实现。此外,还可以对图表进行更细致的自定义设置,如颜色、字体等,以满足不同的需求场景。
* 折线图:折线图可以使用直方条形图。 * 区域图:JFreeChart 可以创建区域图,使用符合 CategoryDataset 接口标准的数据创建区域图。 * 分布图:JFreeChart 可以创建分布图,使用符合 XYDataset 接口标准的数据创建...
使用JFreeChart创建饼图的基本步骤如下: 1. 创建`PieDataset`:存储每一块的数据,可以使用`DefaultPieDataset`或自定义实现。 2. 创建`JFreeChart`对象:调用`JFreeChart.createPieChart()`方法,传入图表标题和`...
JFreeChart库是开源的Java图形库,提供了一套完整的API,支持生成各种复杂图表,如折线图、柱状图、饼图、散点图、甘特图等。它的设计目标是易于使用、可扩展且功能强大,使得开发者无需深入了解图形渲染机制,就能...
JFreeChart是一款强大的Java图表库,它允许开发者创建多种类型的2D和3D图表,包括饼图、柱状图和折线图等。在Java应用中,这些图表常用于数据可视化,帮助用户直观理解复杂的数据信息。下面我们将详细介绍如何使用...
JFreeChart 是一个用于Java平台的开源图表库,它提供了丰富的图表类型,包括柱状图、折线图、饼图、散点图等,广泛应用于数据可视化和报告生成。在本篇文章中,我们将深入探讨如何使用JFreeChart来创建饼状图,帮助...
例如,创建一个简单的折线图: ```java import org.jfree.chart.ChartFactory; import org.jfree.chart.JFreeChart; import org.jfree.data.category.DefaultCategoryDataset; // 创建数据集 ...
折线图常用于展示数据随时间变化的趋势,JFreeChart提供了创建折线图的功能,包括简单的时间序列图和复杂的多系列折线图。用户可以自定义线的颜色、宽度,甚至可以添加点标记来突出特定数据点。此外,折线图还可以...
本示例是关于如何使用JFreeChart在Java环境中创建3D效果的报表的实践教程。 首先,JFreeChart库提供了丰富的图表类型,包括但不限于: 1. **饼图(Pie Chart)**:饼图通过扇形区域的大小来表示数据的比例关系,3D...