【发布时间】:2022-06-12 21:36:14
【问题描述】:
请让我知道我使用 DynamicTimeSeriesCollection 制作 JFreeChart,一切正常,但我想在 Y 轴值的峰值上添加圆圈,例如它正在创建 0-50 的随机值图表,当它检测到高时我需要时间段内的值,它将圈出或突出显示。
private JFreeChart createChart(final XYDataset dataset) {
final JFreeChart result = ChartFactory.createTimeSeriesChart(TITLE1, "Time (seconds)", "Intensity (cm)",
dataset, true, true, false);
final XYPlot plot = result.getXYPlot();
ValueAxis domain = plot.getDomainAxis();
domain.setAutoRange(true);
ValueAxis range = plot.getRangeAxis();
// range.setRange(-MINMAX, MINMAX);
range.setAutoRange(true);
XYItemRenderer render = plot.getRenderer();
render.setSeriesPaint(0, Color.blue);
return result;
}
private XYDataset createDataset1() {
final DynamicTimeSeriesCollection dataset = new DynamicTimeSeriesCollection(1, COUNT, new Second());
dataset.setTimeBase(new Second(0, 0, 0, 24, 5, 2022));
dataset.addSeries(gaussianData(), 0, "X");
timer = new Timer(FAST, new ActionListener() {
float[] newData = new float[1];
@Override
public void actionPerformed(ActionEvent e) {
newData[0] = randomValue();
dataset.advanceTime();
dataset.appendData(newData);
}
});
return dataset;
}
【问题讨论】:
-
这很有用,但请告诉我,我们可以在波形峰值上打印值(Y 轴值)。
-
请让我知道我们是否可以从所需时间开始记录时间序列图表数据。如果图表运行 0-120 秒,如果我们想显示 30-80 秒的数据,那么我们应该看到它。
标签: java swing max jfreechart