JFreeChart插件实现的折线图效果实例

 更新时间:2016年08月22日 09:55:50   作者:sir  
这篇文章主要介绍了JFreeChart插件实现的折线图效果,结合实例形式分析了基于JFreeChart绘制折线图的相关实现技巧,需要的朋友可以参考下

本文实例讲述了JFreeChart插件实现的折线图效果。分享给大家供大家参考,具体如下:

package com.lei.jfreechart;
import javax.swing.JPanel;
import org.jfree.chart.ChartFactory;
import org.jfree.chart.ChartPanel;
import org.jfree.chart.JFreeChart;
import org.jfree.chart.axis.NumberAxis;
import org.jfree.chart.plot.CategoryPlot;
import org.jfree.chart.plot.PlotOrientation;
import org.jfree.data.category.DefaultCategoryDataset;
import org.jfree.ui.ApplicationFrame;
import org.jfree.ui.RefineryUtilities;
public class LineCharts extends ApplicationFrame {
/**
*
*/
private static final long serialVersionUID = 1L;
public LineCharts(String s) {
  super(s);
  setContentPane(createDemoLine());
}
public static void main(String[] args) {
  LineCharts fjc = new LineCharts("折线图");
  fjc.pack();
  RefineryUtilities.centerFrameOnScreen(fjc);
  fjc.setVisible(true);
}
// 生成显示图表的面板
public static JPanel createDemoLine() {
  JFreeChart jfreechart = createChart(createDataset());
  return new ChartPanel(jfreechart);
}
// 生成图表主对象JFreeChart
public static JFreeChart createChart(DefaultCategoryDataset linedataset) {
  // 定义图表对象
  JFreeChart chart = ChartFactory.createLineChart("一季度销售曲线", //折线图名称
   "时间", // 横坐标名称
   "销售额(百万)", // 纵坐标名称
   linedataset, // 数据
   PlotOrientation.VERTICAL, // 水平显示图像
   true, // include legend
   true, // tooltips
   false // urls
   );
  CategoryPlot plot = chart.getCategoryPlot();
  plot.setRangeGridlinesVisible(true); //是否显示格子线
  plot.setBackgroundAlpha(0.3f); //设置背景透明度
  NumberAxis rangeAxis = (NumberAxis)plot.getRangeAxis();
  rangeAxis.setStandardTickUnits(NumberAxis.createIntegerTickUnits());
  rangeAxis.setAutoRangeIncludesZero(true);
  rangeAxis.setUpperMargin(0.20);
  rangeAxis.setLabelAngle(Math.PI / 2.0);
  return chart;
}
// 生成数据
public static DefaultCategoryDataset createDataset() {
  DefaultCategoryDataset linedataset = new DefaultCategoryDataset();
  // 各曲线名称
  String series1 = "冰箱";
  String series2 = "彩电";
  String series3 = "洗衣机";
  // 横轴名称(列名称)
  String type1 = "1月";
  String type2 = "2月";
  String type3 = "3月";
  linedataset.addValue(0.0, series1, type1);
  linedataset.addValue(4.2, series1, type2);
  linedataset.addValue(3.9, series1, type3);
  linedataset.addValue(1.0, series2, type1);
  linedataset.addValue(5.2, series2, type2);
  linedataset.addValue(7.9, series2, type3);
  linedataset.addValue(2.0, series3, type1);
  linedataset.addValue(9.2, series3, type2);
  linedataset.addValue(8.9, series3, type3);
  return linedataset;
}
}

运行效果如下:

更多java相关内容感兴趣的读者可查看本站专题:《Java数据结构与算法教程》、《Java操作DOM节点技巧总结》、《Java文件与目录操作技巧汇总》和《Java缓存操作技巧汇总

希望本文所述对大家java程序设计有所帮助。

相关文章

  • 深入解析Java编程中接口的运用

    深入解析Java编程中接口的运用

    这篇文章主要介绍了Java编程中接口的运用,接口是Java面向对象的继承特性的体现,需要的朋友可以参考下
    2015-10-10
  • Java单例模式和多例模式实例分析

    Java单例模式和多例模式实例分析

    这篇文章主要介绍了Java单例模式和多例模式,结合实例形式分析了java单例模式与多例模式的定义及使用技巧,需要的朋友可以参考下
    2019-07-07
  • springboot如何获取请求者的ip地址

    springboot如何获取请求者的ip地址

    在Spring框架中,可以使用拦截器(Interceptor)来监听每个控制器(Controller)的请求,并记录请求者的IP地址,这篇文章主要介绍了springboot如何获取请求者的ip地址,需要的朋友可以参考下
    2024-07-07
  • Java 跨域问题的处理方式

    Java 跨域问题的处理方式

    这篇文章主要介绍了Java 跨域问题的处理方式,帮助大家更好的理解和使用Java,感兴趣的朋友可以了解下
    2020-11-11
  • java自定义拦截器用法实例

    java自定义拦截器用法实例

    这篇文章主要介绍了java自定义拦截器用法,实例分析了java自定义拦截器的实现与使用技巧,需要的朋友可以参考下
    2015-06-06
  • Tomcat ClassLoader打破双亲委派源码解析

    Tomcat ClassLoader打破双亲委派源码解析

    这篇文章主要为大家介绍了Tomcat ClassLoader打破双亲委派源码解析,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-09-09
  • Kotlin 语言中调用 JavaScript 方法实例详解

    Kotlin 语言中调用 JavaScript 方法实例详解

    这篇文章主要介绍了Kotlin 语言中调用 JavaScript 方法实例详解的相关资料,需要的朋友可以参考下
    2017-06-06
  • Java实现五子棋游戏单机版(1.0)

    Java实现五子棋游戏单机版(1.0)

    这篇文章主要为大家详细介绍了Java实现五子棋游戏单机版,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-04-04
  • 详解Java中的迭代迭代器Iterator与枚举器Enumeration

    详解Java中的迭代迭代器Iterator与枚举器Enumeration

    Iterator与Enumeration分别是实现迭代器和枚举器类的接口,下面就带大家来详解Java中的迭代迭代器Iterator与枚举器Enumeration,以及它们之间的区别.
    2016-05-05
  • Spring Boot 验证码的生成和验证详解

    Spring Boot 验证码的生成和验证详解

    我们在做用户登录的时候,为了安全性考虑,会增加验证码的功能,下面这篇文章主要给大家介绍了关于Spring Boot中验证码的生成和验证的相关资料,文中给出了详细的示例代码供大家参考学习,需要的朋友们下面来一起看看吧。
    2017-06-06

最新评论