import org.jfree.chart.ChartFactory;
import org.jfree.chart.ChartPanel;
import org.jfree.chart.JFreeChart;
import org.jfree.chart.axis.ValueAxis;
import org.jfree.chart.plot.XYPlot;
import org.jfree.data.time.Millisecond;
import org.jfree.data.time.TimeSeries;
import org.jfree.data.time.TimeSeriesCollection;
public class RealTimeChart extends ChartPanel implements Runnable {
private static final long serialVersionUID = 1L;
private static TimeSeries timeSeries;
public RealTimeChart(String chartContent, String title, String yaxisName) {
super(createChart(chartContent, title, yaxisName));
}
@SuppressWarnings("deprecation")
private static JFreeChart createChart(String chartContent, String title,
String yaxisName) {
//创建时序图对象
timeSeries = new TimeSeries(chartContent, Millisecond.class);
TimeSeriesCollection timeseriescollection = new TimeSeriesCollection(
timeSeries);
JFreeChart jfreechart = ChartFactory.createTimeSeriesChart(title,
"时间(秒)", yaxisName, timeseriescollection, true, true, false);
XYPlot xyplot = jfreechart.getXYPlot();
//纵坐标设定
ValueAxis valueaxis = xyplot.getDomainAxis();
//自动设置数据轴数据范围
valueaxis.setAutoRange(true);
//数据轴固定数据范围 30s
valueaxis.setFixedAutoRange(30000D);
valueaxis = xyplot.getRangeAxis();
//valueaxis.setRange(0.0D,200D);
return jfreechart;
}
public void run() {
while (true) {
try {
timeSeries.add(new Millisecond(), randomNum());
Thread.sleep(300);
} catch (InterruptedException e) {
}
}
}
private long randomNum() {
System.out.println((Math.random() * 20 + 80));
return (long) (Math.random() * 20 + 80);
}
}
import java.awt.BorderLayout;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import javax.swing.JFrame;
public class Test {
public static void main(String[] args) {
JFrame frame = new JFrame("Test Chart");
RealTimeChart rtcp = new RealTimeChart("Random Data", "随机数", "数值");
frame.getContentPane().add(rtcp, new BorderLayout().CENTER);
frame.pack();
frame.setVisible(true);
(new Thread(rtcp)).start();
frame.addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent windowevent) {
System.exit(0);
}
});
}
}
分享到:
相关推荐
java中关于JFreeChart实现实时曲线图
JSP+JFreeChart 实现曲线图、柱形图
详细的描述了JfreeChart_sql实现时间曲线图的操作方法!
applet_+_JfreeChart_实现曲线走势图
java 调用jfreechart 实现柱状图、曲线图、饼图,非常简单灵活!超好看!
主要为大家详细介绍了JFreeChart简单实现光滑曲线的绘制,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
jfreechart的简单使用,jfreechart根据24小时数据画折线图。自定义x轴y轴刻度,时间间隔为1小时且以整点为折点画折线图。
Java 曲线图 jfreechart。 含jar包,直接运行,注释全。
该程序为main 函数,定义了三个方法,分别是jfreechart三种实现折线图的类型,返回的是一个chart 本程序是把图片保存到本地,当然实际应用中,只要在程序和页面中做相关配置即可以使用。 因为图片带点透明,所以...
用jfreechart实现的曲线图、 柱状图、 堆形柱状图 、柱状曲线图等,完整的工程,导入myeclipse就可以运行
通过文本生成曲线图的示例程序,初学,代码可能不像样,但确实能实现曲线图。算文本读取和图表入门吧。
Struts2+JFreeChart+Myeclipse实现饼状图,柱状图,折线图。
基于spring + JFREECHART DEMO 实现 柱状图 、饼图、折线图、仪表图 支持3D效果 访问路径:如下 http://127.0.0.1/springMvcDemo/bhCdmaShowBar3D
Java JFreeChart类,可以实现饼图、曲线图等图象,效果理想
POI和JFreeChart JAR包 可以让大家方便的实现 利用java导出Excel文件,还可以画出饼图,曲线图 柱状图等哦
通过JFreeChart插件,既可以生成普通效果的折线图,也可以生成3D效果的折线图。如果想生成普通效果的折线图,需要通过工厂类ChartFactory的createLineChart()方法获得JFreeChart类的实例;如果想生成3D效果的折线图...
jfreechart曲线工具,可以实现曲线,饼图,比例图等图形
JFREECHART:开源项目,主要用来生成静态图表,如饼图、柱状图、曲线图、区域图等。纯JAVA应用与实现,可继承到WEB/SWING/SWT等,方便集成到报表中
实现饼状图,柱状图,曲线图等图形统计功能的第三方JAR包:jfreechart-1.0.13,gnujaxp,jcommon-1.0.16