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 LineChartDemo {
/**
* @param args
* @throws IOException
*/
public static void main(String[] args) throws IOException {
//生成折线图
JFreeChart chart = ChartFactory.createLineChart (
"图书销售统计表", //图表标题
"图书", //目录轴的显示标签
"销量", //数值轴的显示标签
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 提供了 `XYPlot` 类来创建折线图,你可以通过 `LineAndShapeRenderer` 设置线条样式和数据点形状。源码中可能包含设置X轴和Y轴数据,以及自定义线条颜色和宽度的示例。 2. **饼图**(Pie Chart):饼图...
JFreeChart是一款强大的Java图形库,它允许开发者创建多种类型的图表,包括折线图、柱状图、饼图、散点图等。在本主题中,我们将深入探讨如何使用JFreeChart来绘制平面和3D的折线图。 首先,让我们了解折线图的基本...
JFreeChart的`CategoryDataset`接口是存储分类数据的容器,可以用来创建折线图。你可以通过实现该接口的子类,如`DefaultCategoryDataset`,来填充数据。以下是一个创建数据集的例子: ```java ...
要创建折线图,首先需要准备数据,这些数据通常以 `XYSeries` 或 `CategorySeries` 的形式存储。然后,通过 `XYPlot` 类或者 `CategoryPlot` 类将数据系列与坐标轴关联起来。最后,使用 `ChartFactory` 类的静态...
2. **CreateTimeXYChar.java**:这个文件封装了创建折线图的方法。折线图通常用于展示数据随时间的变化趋势,特别适合于时间序列分析。在JFreeChart中,开发者可以使用`XYSeriesCollection`作为数据集,`...
接下来,我们可以使用ChartFactory的createPolarChart方法创建一个极坐标图。我们将XYSeriesCollection对象传递给这个方法,并指定图表的标题、背景颜色等属性。最后,我们可以使用ChartPanel将图表显示在JPanel中。...
在本篇博客中,"JfreeChart画双Y轴折线图"的主题,将探讨如何使用JFreeChart库来创建具有两个独立Y轴的折线图,这对于显示不同尺度或单位的数据对比非常有用。 首先,我们需要了解JFreeChart的基本结构。JFreeChart...
有了数据之后,我们可以使用JFreeChart创建折线图。首先,创建一个`XYSeries`来存储数据点,然后将其添加到`XYSeriesCollection`: ```java import org.jfree.data.xy.XYSeries; import org.jfree.data.xy....
在这个"JFreeChart画折线实例"中,我们将深入探讨如何利用JFreeChart库来创建折线图,并将其保存为本地文件。下面将详细讲解相关知识点。 首先,JFreeChart库的引入是通过在项目中添加其对应的依赖或jar包。如果你...
JFreeChart是一款强大的Java图表库,它允许开发者创建多种类型的图表,包括折线图、柱状图、饼图、散点图等。在本场景中,我们关注的是如何使用JFreeChart来实现实时更新的折线图。下面将详细介绍这个过程。 首先,...
4. 使用 ChartFactory 创建折线图, passing in the dataset and renderer objects. 5. 使用 ChartUtilities 将图表保存到文件中。 二、饼图 饼图是一种 circular 图表,用于显示数据的百分比。使用 jfreechart ...
创建折线图的第一步是构建数据模型。在 JFreeChart 中,我们通常使用 `XYSeries` 类来存储一组 (x, y) 坐标数据点。例如,创建一个名为 "销售数据" 的系列并添加数据点: ```java XYSeries series = new XYSeries(...
* 创建chart * * @return */ public JFreeChart createChart(String Ytitle, String title, CategoryDataset lineData, CategoryDataset barData) { //参考附件 return chart; } //struts 部分 <!--...
Java JFreeChart库是用于创建高质量图表的开源项目,它为Java开发者提供了丰富的图形类型,如折线图、饼图和柱状图等。在Java后台生成这些图表,可以用于数据可视化,帮助用户更好地理解存储在数据库或其他数据源中...
在JFreeChart中,你可以使用`XYDataset`接口存储x-y坐标对数据,然后通过`XYPlot`类来绘制折线图。可以调整线的颜色、样式,甚至添加填充区域以强调数据区间。此外,JFreeChart还支持曲线图、区域图等多种变形的折线...
在这个特定的案例中,我们关注的是如何利用JFreeChart来创建折线图和柱形图的混合图表,这种图表在数据可视化中非常常见,能够同时展示两个不同数据系列的趋势和比较。 首先,让我们深入了解一下JFreeChart的基本...
要使用JFreeChart创建雷达图,首先你需要导入相应的库,并创建一个`CategoryDataset`对象,这个对象将包含你要展示的数据。数据集可以是`DefaultCategoryDataset`,`TableDataset`或其他类型的子类,根据实际需求...
你可以通过`ChartFactory.createLineChart()`方法来创建折线图,这个方法需要四个参数:图表标题、类别轴标题、值轴标题以及数据集。 然后,创建一个`ChartPanel`对象,它是一个Swing组件,可以将`JFreeChart`显示...