JFreeChart 之折线图
JFreeChart 之折线图
一、JFreeChart 简介
JFreeChart是JAVA平台上的一个开放的图表绘制类库。它完全使用JAVA语言编写,是为applications, applets, servlets 以及JSP等使用所设计。JFreeChart可生成饼图(pie charts)、柱状图(bar charts)、散点图(scatter plots)、时序图(time series)、甘特图(Gantt charts)等等多种图表,并且可以产生PNG和JPEG格式的输出,还可以与PDF和EXCEL关联。
二、JFreeChart 的使用
官方网站:http://www.jfree.org/
下载地址:https://sourceforge.net/projects/jfreechart/files/1.%20JFreeChart/
1、拷贝相关的 Jar (jcommon-1.0.23.jar和jfreechart-1.0.19.jar)到 Java 项目中
2、折线图示例(LineChart.java)
- package cn.com.zfc.jfreechart;
- import java.awt.Font;
- import java.awt.Rectangle;
- import java.io.File;
- import java.io.IOException;
- import org.jfree.chart.ChartFactory;
- import org.jfree.chart.ChartFrame;
- 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.NumberTickUnit;
- import org.jfree.chart.labels.StandardCategoryItemLabelGenerator;
- import org.jfree.chart.plot.CategoryPlot;
- import org.jfree.chart.plot.PlotOrientation;
- import org.jfree.chart.renderer.category.LineAndShapeRenderer;
- import org.jfree.data.category.DefaultCategoryDataset;
- /**
- * 使用 JFreeChart 技术画折线图
- *
- * @describe
- * @author zfc
- * @date 2017年12月28日 下午7:21:51
- */
- public class LineChart {
- public static void main(String[] args) {
- DefaultCategoryDataset dataset = new DefaultCategoryDataset();
- // 添加数据
- dataset.addValue(98, "数学", "张三");
- dataset.addValue(68, "数学", "李四");
- dataset.addValue(56, "数学", "王五");
- JFreeChart chart = ChartFactory.createLineChart("用户统计报表(所属单位)", // 主标题的名称
- "所属单位名称", // X轴的标签
- "数量", // Y轴的标签
- dataset, // 图标显示的数据集合
- PlotOrientation.VERTICAL, // 图像的显示形式(水平或者垂直)
- true, // 是否显示子标题
- true, // 是否生成提示的标签
- true); // 是否生成URL链接 // 处理图形上的乱码 // 处理主标题的乱码
- chart.getTitle().setFont(new Font("宋体", Font.BOLD, 18));
- // 处理子标题乱码
- chart.getLegend().setItemFont(new Font("宋体", Font.BOLD, 15));
- // 获取图表区域对象
- CategoryPlot categoryPlot = (CategoryPlot) chart.getPlot();
- // 获取X轴的对象
- CategoryAxis categoryAxis = (CategoryAxis) categoryPlot.getDomainAxis();
- // 获取Y轴的对象
- NumberAxis numberAxis = (NumberAxis) categoryPlot.getRangeAxis();
- // 处理X轴上的乱码
- categoryAxis.setTickLabelFont(new Font("宋体", Font.BOLD, 15));
- // 处理X轴外的乱码
- categoryAxis.setLabelFont(new Font("宋体", Font.BOLD, 15));
- // 处理Y轴上的乱码
- numberAxis.setTickLabelFont(new Font("宋体", Font.BOLD, 15));
- // 处理Y轴外的乱码
- numberAxis.setLabelFont(new Font("宋体", Font.BOLD, 15));
- // 处理Y轴上显示的刻度,以10作为1格
- numberAxis.setAutoTickUnitSelection(false);
- NumberTickUnit unit = new NumberTickUnit(10);
- numberAxis.setTickUnit(unit);
- // 获取绘图区域对象
- LineAndShapeRenderer lineAndShapeRenderer = (LineAndShapeRenderer) categoryPlot.getRenderer();
- // 在图形上显示数字
- lineAndShapeRenderer.setBaseItemLabelGenerator(new StandardCategoryItemLabelGenerator());
- lineAndShapeRenderer.setBaseItemLabelsVisible(true);
- lineAndShapeRenderer.setBaseItemLabelFont(new Font("宋体", Font.BOLD, 15));
- // 在图形上添加转折点(使用小矩形显示)
- Rectangle shape = new Rectangle(10, 10);
- lineAndShapeRenderer.setSeriesShape(0, shape);
- lineAndShapeRenderer.setSeriesShapesVisible(0, true);
- /* 8、生成相应的图片 */
- File file = new File("LineChart.JPEG");
- try {
- ChartUtilities.saveChartAsJPEG(file, chart, 800, 600);
- } catch (IOException e) {
- e.printStackTrace();
- }
- // 使用ChartFrame对象显示图像
- ChartFrame frame = new ChartFrame("zfc", chart);
- frame.setVisible(true);
- frame.pack();
- }
- }
3、运行结果
JFreeChart 之折线图的更多相关文章
- 利用JFreeChart生成折线图 (4) (转自 JSP开发技术大全)
利用JFreeChart生成折线图 (4) (转自 JSP开发技术大全) 14.4 利用JFreeChart生成折线图 通过JFreeChart插件,既可以生成普通效果的折线图,也可以生成3D效果的折 ...
- JFreeChart绘制折线图实例
JFreeChart是JAVA平台上的一个开放的第三方图表绘制类库.只要下载JFreeChart的类库,导入项目即可使用.下面是一个绘制折线图的实例.各处注释都已经写的比较清晰了. package c ...
- SpringMVC框架下使用jfreechart绘制折线图,柱状图,饼状图
java代码 @Controller public class CityAction { @Autowired private CityBiz cityBiz; //柱状图 @RequestMappi ...
- JAVA Swing使用JFreeChart实现折线图绘制
效果如下: 实现步骤: 1.导入JAR包 jfreechart官网下载的zip文件中包含这两个jar包 2.代码编写 import org.jfree.chart.ChartFactory; impo ...
- JFreeChart画折线图
请见Github博客: http://wuxichen.github.io/Myblog/htmlcss/2014/09/01/JFreechartLinechart.html
- java利用JFreeChart实现各种数据统计图(柱形图,饼图,折线图)
最近在做数据挖掘的课程设计,需要将数据分析的结果很直观的展现给用户,这就要用到数据统计图,要实现这个功能就需要几个第三方包了: 1. jfreechart-1.0.13.jar 2. ...
- JFreeChart在制作折线图
JFreeChart在制作折线图的时候可以使用两种不同的方式 package Line; import java.awt.Color; import java.awt.Font; import org ...
- JFreeChart 图表生成实例(饼图、柱状图、折线图、时序图)
import java.awt.BasicStroke; import java.awt.Color; import java.io.FileOutputStream; import java.io. ...
- struts2整合JFreechart 饼图、折线图、柱形图
struts2整合JFreechart 饼图.折线图.柱形图 上效果图: 当然可以将数据导出图片格式存储.具体下的链接里的文件有保存成图片的操作. 因为是strust2整合JFreechart,所以s ...
随机推荐
- ansible报错Aborting, target uses selinux but python bindings (libselinux-python) aren't installed【转】
报错内容: TASK [activemq : jvm configuration] ********************************************************** ...
- cookie添加删除修改
//cookie添加 document.cookie="username=John Doe"; //添加过期时间 document.cookie="username1=J ...
- centos下安装python3.6.2
一.下载 官网地址:https://www.python.org/downloads/source/ 我下载的是最新的3.6.2rc版本 # cd /opt/ wget https://www.pyt ...
- 如何克服presentation恐惧呢?
- Git 操作指南
http://blog.csdn.net/troy__/article/details/40082657
- [整理]Error: [ngRepeat:dupes]的解决方法
sdfsadf <div class="pageNum middle PT10"> <a href="javascript:void(0);" ...
- javascript使用事件委托
事件委托是javascript中一个很重要的概念,其基本思路就是利用了事件冒泡的机制,给上级(父级)元素触发事件的dom对象上绑定一个处理函数.在当有需要很多dom对象要绑定事件的情况下,可以使用事件 ...
- Flex 自定义 Zlert 组件!
说明: 原生的 Alert.show 参数,要显示的按钮你只能 Alert.OK | Alert.Cancel 这样; 自定义 Zlert 参数跟原生的 差不多,按钮写法是这样写的: {"b ...
- 第13月第16天 ios keywindow
1. 在弹出层弹出后keywindow已改变 http://www.jianshu.com/p/4695d7efa20b
- 底板芯片组与内存映射(Motherboard Chipsets and the Memory Map) 【转】
转自:http://blog.chinaunix.net/uid-25909619-id-4194650.html 底板芯片组与内存映射 我打算写一些关于计算机内部构造(computer intern ...