转载自   JFreeChart线型图

线图或折线图来显示信息为一系列由直线段连接的数据点(标记)。线图显示数据在相同的时间频率如何变化。本章从一个给定的业务数据演示如何使用JFreeChart创建线型图。

业务数据

下面的示例绘制折线图显示从1970年开始学校在不同年份开通数量。

给定的数据如下:

年份 学校数量
1970 15
1980 30
1990 60
2000 120
2013 240
2014 300

基于AWT的应用

以下是对从上述给定的信息创建线型图的代码。此代码可以帮助在AWT的应用程序嵌入一个折线图。

import org.jfree.chart.ChartPanel;
import org.jfree.chart.ChartFactory;
import org.jfree.chart.JFreeChart;
import org.jfree.ui.ApplicationFrame;
import org.jfree.ui.RefineryUtilities;
import org.jfree.chart.plot.PlotOrientation;
import org.jfree.data.category.DefaultCategoryDataset;public class LineChart_AWT extends ApplicationFrame
{public LineChart_AWT( String applicationTitle , String chartTitle ){super(applicationTitle);JFreeChart lineChart = ChartFactory.createLineChart(chartTitle,"Years","Number of Schools",createDataset(),PlotOrientation.VERTICAL,true,true,false);ChartPanel chartPanel = new ChartPanel( lineChart );chartPanel.setPreferredSize( new java.awt.Dimension( 560 , 367 ) );setContentPane( chartPanel );}private DefaultCategoryDataset createDataset( ){DefaultCategoryDataset dataset = new DefaultCategoryDataset( );dataset.addValue( 15 , "schools" , "1970" );dataset.addValue( 30 , "schools" , "1980" );dataset.addValue( 60 , "schools" ,  "1990" );dataset.addValue( 120 , "schools" , "2000" );dataset.addValue( 240 , "schools" , "2010" );dataset.addValue( 300 , "schools" , "2014" );return dataset;}public static void main( String[ ] args ) {LineChart_AWT chart = new LineChart_AWT("School Vs Years" ,"Numer of Schools vs years");chart.pack( );RefineryUtilities.centerFrameOnScreen( chart );chart.setVisible( true );}
}

保存LineChart_AWT.java文件如上面的Java代码,然后从命令提示符下编译并运行它,如下所示:

$javac LineChart_AWT.java
$java LineChart_AWT

如果一切顺利,它会编译并运行生成以下线图:

创建JPEG图像

让我们重新编写上面的例子,在命令行执行生成JPEG图像。

import java.io.*;
import org.jfree.chart.JFreeChart;
import org.jfree.chart.ChartFactory;
import org.jfree.chart.ChartUtilities;
import org.jfree.chart.plot.PlotOrientation;
import org.jfree.data.category.DefaultCategoryDataset;public class LineChart
{public static void main( String[ ] args ) throws Exception{DefaultCategoryDataset line_chart_dataset = new DefaultCategoryDataset();line_chart_dataset.addValue( 15 , "schools" , "1970" );line_chart_dataset.addValue( 30 , "schools" , "1980" );line_chart_dataset.addValue( 60 , "schools" , "1990" );line_chart_dataset.addValue( 120 , "schools" , "2000" );line_chart_dataset.addValue( 240 , "schools" , "2010" ); line_chart_dataset.addValue( 300 , "schools" , "2014" );JFreeChart lineChartObject = ChartFactory.createLineChart("Schools Vs Years","Year","Schools Count",line_chart_dataset,PlotOrientation.VERTICAL,true,true,false);int width = 640; /* Width of the image */int height = 480; /* Height of the image */ File lineChart = new File( "LineChart.jpeg" ); ChartUtilities.saveChartAsJPEG(lineChart ,lineChartObject, width ,height);}
}

让我们保存LineChart.java文件如上面的Java代码,然后从命令提示符下编译并运行它,如下所示:

$javac LineChart.java
$java LineChart

如果一切顺利,它将编译和执行在当前的目录中创建JPEG图像文件namedLineChart.jpeg。

JFreeChart(四)之线型图相关推荐

  1. Python科研绘图第一期——线型图(Line)、条型图(Bar)、散点图(Scatter)、子图(subplot)

    速览: 目录 一.线性图 二.条形图 三.散点图 四.子图 一.线型图  图1.2代码 import matplotlib.pyplot as plt import numpy as np plt.r ...

  2. R语言gganimate包创建可视化gif动图、可视化动图:、gganimate包创建动态线型图动画基于transition_time函数、使用geom_point函数显示动画移动的数据点

    R语言gganimate包创建可视化gif动图.可视化动图:.gganimate包创建动态线型图动画基于transition_time函数.使用geom_point函数显示动画移动的数据点 目录

  3. R语言gganimate包创建可视化gif动图:gganimate包创建动态线型图动画基于transition_time函数、使用geom_point函数显示动画移动的数据点、并保留线图中的全部数据点

    R语言gganimate包创建可视化gif动图:gganimate包创建动态线型图动画基于transition_time函数.使用geom_point函数显示动画移动的数据点.并保留线图中的全部数据点 ...

  4. JFreeChart应用实例-折线图

    http://www.tuicool.com/articles/Nr2Yna JFreeChart在制作折线图的时候可以使用两种不同的方式 package Line;import java.awt.C ...

  5. 【视觉项目】【day5】8.25号实验记录(修完BUG,28张测试图,13个样本,四张测试图误判,这比之前效果好很多了)

    目录 修改完BUG后的程序以及效果 优化思路,增强正确识别率(待验证) 修改完BUG后的程序以及效果 修改代码后的测试结果:(利用连通域面积将明显比本张测试图的瓶子要小的模板提前去除,减少误判) 这样 ...

  6. 四色原型图进行业务建模的思考

    一般的需求,我们利用用例图就可以表达清楚了,如果再复杂些,我们可能还得再配合序列图.状态图等加于说明.但是,在非常复杂的业务逻辑中,怎么样才能找出它们的联系?而且还能更好地拥抱OO(面向对象),OO的 ...

  7. pandas绘图_Pandas内置绘图方法(线型图、柱状图、密度图)

    Series和DataFrame都有一个用于生成各类图表的plot方法. 线型图 默认情况下,它们所生成的是线型图 >>> import pandas as pd >>& ...

  8. 二十四式长生图——清手抄本(扫描版)

    道家却病延年密本分享.这本<廿四式长生图>是道教修气炼功夫的图谱,作者不详,封面印章为"润之",是清末的一个手钞本,目前藏于海外. 此书内容,文字概要,图示清楚,动作简 ...

  9. 地图四色着图的C语言实现

    四色问题又称四色猜想.四色定理,是世界三大数学猜想之一.四色定理是一个著名的数学定理,通俗的说法是:每个平面地图都可以只用四种颜色来染色,而且没有两个邻接的区域颜色相同.1976年借助电子计算机证明了 ...

最新文章

  1. 麦肯锡报告:传统车企正面临出行的数字化颠覆
  2. 3、Python字典集合
  3. 实现el-dialog的拖拽,全屏,缩小功能
  4. 【Linux】 iptables vs firewalld
  5. qt初学者 第一个小程序 小界面
  6. boost::mp11::mp_fill相关用法的测试程序
  7. ip复原Java,力扣:复原IP地址
  8. 解决html2canvas截取页面部分div黑屏问题
  9. 我爱计算机视觉精华文章分类汇总(2018年12月13日)
  10. 4. PSR-4 --- 自动加载
  11. Macx OS下没有GCC问题
  12. ff14个服务器位置,新人求推荐个服务器
  13. 3D控件Aspose.3D 18年新版V18.1发布 | 附下载
  14. Linux上安装rz、sz命令
  15. vb.net SpeechLib 播报语音封装类
  16. 08-22 CDR数据时钟恢复电路
  17. python showinfo函数_Python 函数
  18. html5 微网页 点餐_使用HTML5和微数据向网页添加电话号码
  19. matlab心线代码,matlab心形线
  20. 利达主机联网接线端子_利达主机怎么编辑中文 利达主机接线端子说明

热门文章

  1. 7-3 最小生成树-kruskal (10 分)(思路+详解+并查集详解+段错误超时解决)宝 Come
  2. 10-5 5-5 查询只卖三种不同型号PC的厂商 (20 分)
  3. 7-34 任务调度的合理性 (25 分)(思路加详解+兄弟们冲呀)
  4. Java 多线程:线程优先级
  5. [蓝桥杯2016初赛]煤球数目-找规律
  6. 蓝桥杯2017初赛-分巧克力-二分
  7. 数据结构----单源最短路径Dijkstra
  8. java解压中文乱码_java使用解压zip文件,文件名乱码解决方案
  9. 2019-02-28-算法-进化(盛最多水的容器)
  10. 类欧几里得(模板题推导)