`
生死格斗
  • 浏览: 127620 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Swing中用JFreeChart生成时序图的例子

阅读更多

Jfreechart时序图(折线图)

package com.testchart;

import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Dimension;
import java.awt.Font;
import java.awt.Paint;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;

import javax.swing.JFrame;

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;

import com.dataForm.ParameterForm;

public class RealTimeChart extends ChartPanel implements Runnable {

private static TimeSeries timeSeries; 
private static TimeSeries timeSeries1;
private static TimeSeries timeSeries2;
private static ParameterForm pf;

private static final long serialVersionUID = 1L;

public RealTimeChart(String chartContent,String title,String yaxisName,ParameterForm pf) 
    { 
        super(createChart(chartContent,title,yaxisName));
        //设置显示区域的尺寸
        this.setPreferredSize(new Dimension(500,200));

        this.pf = pf;
   }

private static JFreeChart createChart(String chartContent,String title,String yaxisName){

//创建时序图对象
//第一条折线
timeSeries = new TimeSeries("调整后的直径",Millisecond.class);

//第二条折线
timeSeries1 = new TimeSeries("目标直径",Millisecond.class);

//第三条折线
timeSeries2 = new TimeSeries("调整之前的直径",Millisecond.class);

TimeSeriesCollection timeseriescollection = new TimeSeriesCollection(timeSeries); 
timeseriescollection.addSeries(timeSeries1);
timeseriescollection.addSeries(timeSeries2);

JFreeChart jfreechart = ChartFactory.createTimeSeriesChart(
"直径变化时序图",
"时间(秒)",
yaxisName,
timeseriescollection,
true,
true,
false);

jfreechart.getTitle().setFont(new Font("宋体",12,12));
jfreechart.getLegend().setItemFont(new Font("宋体",12,12));
jfreechart.setBackgroundPaint(Color.GREEN);

XYPlot xyplot = jfreechart.getXYPlot(); 

//XY轴上的字体
xyplot.getRangeAxis().setLabelFont(new Font("宋体", 12, 12));      
xyplot.getDomainAxis().setLabelFont(new Font("宋体", 12, 12));
//坐标轴
xyplot.setBackgroundPaint(Color.lightGray);
xyplot.setDomainGridlinePaint(Color.white);
xyplot.setRangeGridlinePaint(Color.white);
//xyplot.setAxisOffset(new Spacer(1, 4D, 4D, 4D, 4D));
ValueAxis valueaxis = xyplot.getDomainAxis(); 

valueaxis.setAutoRange(true); 

valueaxis.setFixedAutoRange(10000D); 

valueaxis = xyplot.getRangeAxis(); 

return jfreechart;

}

public void run() {
// TODO Auto-generated method stub
while(true){
try{
System.out.println(pf.getZhijing());
timeSeries.add(new Millisecond(), pf.getZhijing());//调整之后的直径
timeSeries1.add(new Millisecond(), pf.getMubiao_zhijing());//目标直径
timeSeries2.add(new Millisecond(), pf.getMubiao_zhijing()+(Math.random()*2-1));//调整之后的直径
Thread.sleep(300);
}catch (InterruptedException e)  {   }
}
}

private long randomNum(float mubiao_zhijing){

System.out.println("调整之前的直径="+(mubiao_zhijing+(Math.random()*2-1)));       
return (long) (mubiao_zhijing+(Math.random()*2-1)); 
}
public static void main(String[] args){

JFrame frame=new JFrame("Test Chart"); 
RealTimeChart rtcp=new RealTimeChart("Random Data","随机数","数值",pf);
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); 
}
});
}

}
1
0
分享到:
评论

相关推荐

    JFreeChart生成柱形图完整测试代码

    JFreeChart生成柱形图完整测试代码 放在普通项目里运行main方法就能生成柱形图 不需要添加任何代码 可根据自己需要修改参数

    jfreechart 生成折线图,饼图,柱状图,堆栈柱状图

    JFreeChart是一个流行的Java库,用于生成各种类型的图表,包括折线图、饼图和柱状图,甚至堆栈柱状图。这个压缩包中的"CreateChartServiceImpl.java"文件很可能包含了一个实现这些功能的服务类。 首先,我们要理解...

    JfreeChart-雷达图与导出

    本篇将深入探讨如何利用JFreeChart生成雷达图以及相关的数据导出功能。 **雷达图的使用** 雷达图是一种多维数据可视化工具,特别适合于比较多个变量在同一标准下的表现。在JFreeChart中,创建雷达图主要分为以下几...

    jfreechart生成各种图表

    jfreechart生成各种图表 柱状 饼状 折线 锥状

    jfreechart时序图 连接数据库实例

    本实例将探讨如何利用JFreeChart生成时序图,并结合数据库数据来展示动态变化的过程。 **JFreeChart简介** JFreeChart是一个开放源码的Java类库,它提供了一组丰富的API,使得开发者能够轻松地在Java应用中生成高...

    jfreechart生成统计图的例子(柱线饼)

    本例子将详细介绍如何利用JFreeChart生成统计图,特别是柱状图和饼图。 首先,我们需要导入JFreeChart库。通常,这涉及到在项目中添加JFreeChart的jar包。在提供的压缩包中,`chartDemo`可能是包含示例代码的Java...

    JFreeChart生成图表的例子.rar

    这个例子的压缩包“JFreeChart生成图表的例子.rar”包含了一些示例代码,帮助开发者理解如何利用JFreeChart在Java应用程序中生成图表。 JFreeChart库的核心功能在于它提供了丰富的API,允许开发者自定义图表的各个...

    jfreeChart几个简单例子

    JFreeChart 是一个开源的 Java 图表库,它提供了丰富的图表类型,如柱状图、饼图、线图、散点图、面积图等,用于生成高质量的静态和动态图表。这个库广泛应用于数据分析、报告生成、Web 应用和桌面应用中。在初学者...

    jfreechart生成图片及导出pdf 、excel

    JFreeChart是一款强大的Java图表库,它允许开发者在应用程序、Swing组件或Web应用中创建各种图表,如柱状图、饼图、折线图等。这个库支持丰富的定制选项,使得图表可以按照用户需求进行个性化设计。在这个...

    利用JFreeChart 实现柱状图,饼图,时序图,折线图等

    在Java编程环境中,JFreeChart库是一个非常强大的工具,它允许开发者轻松地创建各种图表,如柱状图、饼图、时序图和折线图等。这些图表在数据分析、报表展示以及各种可视化应用中非常常见。下面我们将详细介绍如何...

    jfreechart 生成折线图,饼图,柱状图,堆栈柱状图

    标题中提到的“jfreechart生成折线图、饼图、柱状图、堆栈柱状图”是指使用Java的一个开源图形库JFreeChart来创建不同类型的统计图表。JFreeChart是一个功能全面、成熟的Java图表库,广泛应用于各种应用程序中进行...

    java jfreechart股票时序图,实现从文件中读取数据并显示

    通过这种方式,Java开发者可以使用JFreeChart库轻松地实现从文本文件读取股票数据并生成时序图,为股票分析提供直观的视觉展示。同时,这种技术也可以应用于其他需要时间序列数据可视化的场景,如天气数据、销售报告...

    java JXL导入导出Excel源码及jfreechart 生成折线图,饼图

    java JXL导出Excel源码及jfreechart 生成折线图,饼图 java JXL导出Excel源码及jfreechart 生成折线图,饼图 java JXL导出Excel源码及jfreechart 生成折线图,饼图

    Spring+JFreeChart 自动生成统计图

    标题“Spring+JFreeChart 自动生成统计图”涉及的是在Java开发环境中,利用Spring框架和JFreeChart库来动态生成图表的技巧。这篇文章可能是介绍如何在Spring应用中集成JFreeChart,以便为数据可视化提供服务。 ...

    在Struts中用JFreeChart生成图表

    在Java Web开发领域,Struts框架因其强大的MVC架构而广受欢迎,而JFreeChart则是一款开源的Java图表库,它能够生成各种类型的图表,如柱状图、折线图、饼图等。本文将详细介绍如何在Struts项目中集成JFreeChart来...

    JFREECHART生成的柱图

    JFREECHART柱图

    JFreeChart画雷达图

    总的来说,JFreeChart库提供了丰富的功能来生成具有专业外观的雷达图,使其成为Java开发人员在数据可视化领域的一个强大工具。无论你是为了分析还是报告,都能利用JFreeChart轻松创建出符合需求的雷达图,清晰地展示...

    jFreeChart生成报表图片

    7. **扩展性**:jFreeChart不仅限于静态图片输出,还可以生成SVG矢量图、PDF文档,甚至直接在Swing或JavaFX界面中绘制图表。同时,与其他Java库(如JDBC、CSV解析库)结合,能方便地从数据库或文件中获取数据并生成...

    jfreechart_生成折线图,饼图,柱状图,堆栈柱状图

    jfreechart 生成折线图、饼图、柱状图、堆栈柱状图 jfreechart 是一个功能强大且流行的 Java 图表库,用于生成各种类型的图表,包括折线图、饼图、柱状图、堆栈柱状图等。在本文中,我们将使用 jfreechart 1.0.8a ...

Global site tag (gtag.js) - Google Analytics