Tag: 时间序列

如何构造和使用TimeSeriesCollections

我想在图表的X轴上显示一些日期, 这里据说我必须使用TimeSeriesCollections对象 看来我必须在TimeSeriesCollections中添加一个TimeSeries,并且必须使用RegularTimePeriod构建TimeSeries ……我有点困惑…… 你能解释一下我要做什么吗? 如果可能,您可以提供一些示例代码吗? 谢谢

使用JTransforms库计算FFT的自相关

我正在尝试使用下面的代码计算时间序列中的样本窗口的自相关。 我正在对该窗口应用FFT,然后计算实部和虚部的大小并将虚部设置为零,最后对其进行逆变换以获得自相关: DoubleFFT_1D fft = new DoubleFFT_1D(magCnt); fft.realForward(magFFT); magFFT[0] = (magFFT[0] * magFFT[0]); for (int i = 1; i < (magCnt – (magCnt%2)) / 2; i++) { magFFT[2*i] = magFFT[2*i] * magFFT[2*i] + magFFT[2*i + 1] * magFFT[2*i + 1]; magFFT[2*i + 1] = 0.0; } if (magCnt % 2 == 0) { magFFT[1] = […]

时间序列中的峰值检测

我目前正在开展一个小项目,我想比较两个时间序列。 相似性度量实际上是模糊的,如果两个时间序列大致具有相同的形状,则它们被认为是相似的。 所以我对自己说“好吧,如果它们只需要具有相同的形状,我只需比较两个时间序列的峰值,如果峰值处于相同的位置,那么时间序列肯定会相似” 我现在的问题是为峰值检测找到一个好的算法。 我使用谷歌,但我只想出了时间序列中的峰值检测简易算法 。 问题是,本文中描述的算法适用于非常极端和薄的峰值,但在大多数情况下,我的时间序列具有相当平坦的峰值,因此不会被检测到。 有没有人知道我在哪里可以找到或搜索能够检测下图所示峰值的算法?

如何仅显示“过去72小时”JFreeChart TimeSeries中的“过去24小时”

我写了这两行代码来使用XYDataset创建图表: final XYDataset dataset = new TimeSeriesCollection(myInfo.getSeries()); JFreeChart timechart = ChartFactory.createTimeSeriesChart(myInfo.getName() + ” CPU (last 72h)”, “”, “CPU %”, dataset, false, false, false); 这些线创建了这个漂亮的“最后72小时”图表: 这是我添加信息以构建此图表的方式(这段代码可以多次运行): SimpleDateFormat simpleDateFormat = new SimpleDateFormat(“yyyy-MM-dd H:mm:ss”); Date date = simpleDateFormat.parse(dateAsStringToParse); Second second = new Second(date); myInfo.getSeries().addOrUpdate(second, maxValue); // maxValue is an Integer 我想要一个(看似简单的)简单的改动 – 仅在过去24小时内“切断”这个。 我的意思是在图中只看到最近的24小时,就像这样(图中是我使用相同技术制作的不同图表,但信息仅存在于过去24小时): 我查看了API并找不到合适的答案,因为我认为这应该有一些聪明但简单的解决方案。

JFreeChart – 创建移动图表时出现问题

我在我的java应用程序中使用JFreeChart。 问题 我想绘制一个XYAreaChart ,当我们开始绘制数据时,其域轴(x轴)应自动水平滚动。 我在TimeSeriesCharts中看到了同样的东西,但我不想要任何timeSeriesChart。 我只想要滚动的x轴。