本篇文章只会涉及到接下来项目所需的知识
- 关于jfreechart
- 关于动态时序图
- 动态时序图一些常用属性
关于jfreechart
- 有这样一个情况,当开发一个应用程序,需要以图形的形式来静态或者动态来显示数据,其中数据本身是动态填充。那么在这种情况下,jfreechart刚好满足这种应用场景。JfreeChart是用Java开发的开源库,它可以在基于Java的应用程序可用于创建各种各样的图表。通过使用JFreeChart,可以创建2D和3D图表,如饼图,条形图,折线图,XY图和3D图表所有常用的主要类型。 它是100%开源和免费的,允许使用在商业应用中无需任何费用。它配备了有据可查的API,这使得它很容易理解。它支持多种图表类型,如饼图,折线图,条形图,面积图和三维图表。JFreeChart易于扩展,并且可以在客户端以及服务器端应用程序中被使用。它支持多种输出格式,如PNG,JPEG,PDF,SVG等。它允许图表丰富的自定义。
关于动态时序图
- 即数据可以实时添加,动态显示。
动态时序图一些常用属性
- 生成时序图:
JFreeChart jfreechart = ChartFactory.createTimeSeriesChart(
String title, // 图标题
String timeAxisLabel, //x 轴标题
String valueAxisLabel, //y 轴标题
XYDataset dataset, // 数据源
boolean legend, // 是否显示图例
boolean tooltips, // 是否显示提示
boolean urls); // 是否指定连接
//Plot 对象的获取操作:
XYPlot plot = (XYPlot) chart.getPlot();
//X 轴对象的获取操作:
DateAxis xAxis = (DateAxis) plot.getDomainAxis();
//Y 轴对象的获取操作:
NumberAxis yAxis =(NumberAxis) plot.getRangeAxis();
//Renderer 对象的获取操作:
XYItemRenderer renderer= plot.getRenderer();
时序图可以接受一切 XYDataset 类型的数据源,下面讲解一下常用的 XYDataset 类型 TimeSeriesCollection 的使用方式。
//实例化:
TimeSeriesCollection dataset=new TimeSeriesCollection();
//添加数据操作:
dataset. addSeries(TimeSeries);
//删除数据操作:
dataset. removeSeries(int index);
//查询数据操作 :
dataset. getSeries(int series);
- TimeSeries 对象操作
//实例化:
TimeSeries ts=TimeSeries(String name, Class timePeriodClass);
//增加数据操作:
ts. add(RegularTimePeriod period, double value);
//删除数据操作:
ts. delete(RegularTimePeriod period);
//修改数据操作:
ts. update(RegularTimePeriod period, Number value);
//查询数据操作:
ts. getValue(RegularTimePeriod period);
类 RegularTimePeriod 是 JFreeChart 提供的时间模板类,它有很多具体的时间类,比如: Minute 、 Second 、 Hour 、 Day
package jfreechart;
import java.awt.Color;
import org.jfree.chart.ChartFactory;
import org.jfree.chart.ChartFrame;
import org.jfree.chart.JFreeChart;
import org.jfree.chart.plot.XYPlot;
import org.jfree.chart.renderer.