java 折线动图_在java中使用jfree图表制作动态折线图
是的,你可以做到.几天前我遇到了类似的问题.
DynamicLineAndTimeSeriesChart.java
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.Timer;
import javax.swing.JPanel;
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 org.jfree.data.xy.XYDataset;
import org.jfree.ui.ApplicationFrame;
import org.jfree.ui.RefineryUtilities;
/**
* An example to show how we can create a dynamic chart.
*/
public class DynamicLineAndTimeSeriesChart extends ApplicationFrame implements ActionListener {
/** The time series data. */
private TimeSeries series;
/** The most recent value added. */
private double lastValue = 100.0;
/** Timer to refresh graph after every 1/4th of a second */
private Timer timer = new Timer(250, this);
/**
* Constructs a new dynamic chart application.
*
* @param title the frame title.
*/
public DynamicLineAndTimeSeriesChart(final String title) {
super(title);
this.series = new TimeSeries("Random Data", Millisecond.class);
final TimeSeriesCollection dataset = new TimeSeriesCollection(this.series);
final JFreeChart chart = createChart(dataset);
timer.setInitialDelay(1000);
//Sets background color of chart
chart.setBackgroundPaint(Color.LIGHT_GRAY);
//Created JPanel to show graph on screen
final JPanel content = new JPanel(new BorderLayout());
//Created Chartpanel for chart area
final ChartPanel chartPanel = new ChartPanel(chart);
//Added chartpanel to main panel
content.add(chartPanel);
//Sets the size of whole window (JPanel)
chartPanel.setPreferredSize(new java.awt.Dimension(800, 500));
//Puts the whole content on a Frame
setContentPane(content);
timer.start();
}
/**
* Creates a sample chart.
*
* @param dataset the dataset.
*
* @return A sample chart.
*/
private JFreeChart createChart(final XYDataset dataset) {
final JFreeChart result = ChartFactory.createTimeSeriesChart(
"Dynamic Line And TimeSeries Chart",
"Time",
"Value",
dataset,
true,
true,
false
);
final XYPlot plot = result.getXYPlot();
plot.setBackgroundPaint(new Color(0xffffe0));
plot.setDomainGridlinesVisible(true);
plot.setDomainGridlinePaint(Color.lightGray);
plot.setRangeGridlinesVisible(true);
plot.setRangeGridlinePaint(Color.lightGray);
ValueAxis xaxis = plot.getDomainAxis();
xaxis.setAutoRange(true);
//Domain axis would show data of 60 seconds for a time
xaxis.setFixedAutoRange(60000.0); // 60 seconds
xaxis.setVerticalTickLabels(true);
ValueAxis yaxis = plot.getRangeAxis();
yaxis.setRange(0.0, 300.0);
return result;
}
/**
* Generates an random entry for a particular call made by time for every 1/4th of a second.
*
* @param e the action event.
*/
public void actionPerformed(final ActionEvent e) {
final double factor = 0.9 + 0.2*Math.random();
this.lastValue = this.lastValue * factor;
final Millisecond now = new Millisecond();
this.series.add(new Millisecond(), this.lastValue);
System.out.println("Current Time in Milliseconds = " + now.toString()+", Current Value : "+this.lastValue);
}
/**
* Starting point for the dynamic graph application.
*
* @param args ignored.
*/
public static void main(final String[] args) {
final DynamicLineAndTimeSeriesChart demo = new DynamicLineAndTimeSeriesChart("Dynamic Line And TimeSeries Chart");
demo.pack();
RefineryUtilities.centerFrameOnScreen(demo);
demo.setVisible(true);
}
}
还请点击这里:
java 折线动图_在java中使用jfree图表制作动态折线图相关推荐
- 如何用java做动漫_用 Java 实现“人像动漫化”特效
用 Java 实现"人像动漫化"特效 效果展示 不戴口罩的 戴口罩的 原理分析 这里首先给大家提供下面的一个网址,这就是百度AI开放平台关于人像动漫化特效的网页:http://su ...
- java.lang.IllegalArgumentException: 字符[_]在域名中永远无效。 at
[http-nio-8080-exec-1] org.apache.coyote.AbstractProcessor.parseHost [xxx_tomcat] 是无效主机注意:更多的请求解析错误将 ...
- java项目----教务管理系统_基于Java的教务管理系统
java项目----教务管理系统_基于Java的教务管理系统 2022-04-22 18:18·java基础 最近为客户开发了一套学校用教务管理系统,主要实现学生.课程.老师.选课等相关的信息化管理功 ...
- 3分钟学会制作动态折线图!
在进行数据报表综合分析对走势进行展示时,折线图的展示效果会更加清晰,而动态折线图则进一步增强了展示的效果,实现智能数据可视化. 上期为大家介绍了动态折线图在数据可视化平台的使用方法,这次向大家介绍一些 ...
- CAD中如何制作动态移动图块呢?
CAD中如何制作动态移动图块呢?我们一般利用块参照的夹点来改变块参照的形状.角度和大小等来操作动态块参照中的几何图形.这样就不用搜索另一个块以插入或重定义现有的块了,那么动态移动块该如何制作呢? 1. ...
- python怎样画动态文字_Python制作动态字符图的实例
这次我们拿小龙猫来做演示 这里就不必多说了,也就导入几个用到的包: SOURCE_PATH:这个是GIF的路径OUTPUT_PATH:这个是每一帧的存放路径FRAMES_PATH:这个也是每一帧的存放 ...
- python画龙猫_Python:制作动态字符图
这次我们也拿小龙猫来做演示 ps:小龙猫:为什么老用我照片...作者:因为你可爱啊(.^▽^) 这里就不必多说了,也就导入几个用到的包 SOURCE_PATH:这个是GIF的路径OUTPUT_PATH ...
- Excel中可视化数据图表制作要点有哪些?
Excel中可视化数据图表制作要点有哪些? [导语]如果你想要成为一名合格的或者是优秀的数据分析师,不仅要能够准备完整分析数据,还要将数据分析结果可视化,图表制作是数据可视化必不可少的形式,那么Exc ...
- java中的内存图_各个JAVA场景下的内存图
首先,内存模型图,如下: 其次,一句话概括各个区域的作用: 1:程序计数器(Program Counter Register),让虚拟机中的字节码解释器通过改变计数器的值来获取下一条代码指令,比如分支 ...
最新文章
- php表单ajax,PHP表单到Ajax类型
- presto能连接mysql和hive吗_Presto连接Hive
- Android 双击返回键退出程序 实现
- Combinations leetcode java
- listrecord根据某个属性去重_天刀手游琅纹搭配攻略,全门派全装备最细节提属性教学...
- PDA开发系列:GPS模块的调用
- 如何将风险应用加入白名单_理财要如何将资金分散呢?可以参考风险分散和分享经济红利的思路...
- HTTP面试题 ——TCP
- 软件的极简主义的三个大敌:配置文件,冗余的参数,和大量复杂的接口。
- Netty工作笔记0051---Netty核心模块2
- 求每个月最后一天mysql函数_计算指定年月的最后一天的自定义MYSQL函数_MySQL
- 什么是独享锁/共享锁_java培训
- gan 的要点 (弱点与改进、推土距离)
- MyJzvdStd+JZMediaExo
- C++ Primer Plus 编程练习3
- java 多线程垃圾回收_Java 垃圾回收
- NYOJ-779-兰州烧饼
- 改造ueditor 在线图片功能 添加 删除 功能
- python图像处理(十)——图像仿射变换、图像透视变换和图像校正
- spring定时器@Scheduled的原理和实现分析