0

我正在创建一个 GUI,用于读取和绘制从串行端口接收到的信息。我正在尝试简化用户的工作。阅读和绘图工作正常,但是,我遇到问题的地方很容易让用户更改 y 轴的范围。我知道这可以做到,但右键单击并浏览属性,但我正在尝试在 JMenu 中实现一个文件-> 设置范围选项。

我的问题是,我将如何保存用户输入并让它更新图表属性中的“最大范围值”。谢谢你的帮助。

我还尝试了一种获取/设置方法,但它只会在首次创建图表时设置最大 y 值,并且如果用户更改范围,它不会更改该值。下面的代码是我尝试实现 get/set 方法的方式。

public JFreeChart createChart(XYDataset dataset) {
    JFreeChart result = ChartFactory
            .createTimeSeriesChart("Keyence LS-5001", "Time", "Value",
                    dataset, false, true, false);
    final XYPlot plot = result.getXYPlot();
    ValueAxis axis2 = plot.getDomainAxis();
    axis2 = plot.getDomainAxis();

    axis2.setAutoRange(true);
    axis2.setFixedAutoRange((XYRange.getXmax())); 
    axis2 = plot.getRangeAxis();
    axis2.setRange(0.0, XYRange.getYmax());
    return result;
4

1 回答 1

0

首先,确保您正在修改所需的轴。JFreeChart 通常使用域轴来表示 X 和范围轴来表示 Y(在这篇文章中对此进行了更多的评论)。一旦确定,只需调用它的 setRange 方法。不要为轴设置任何自动量程。

于 2013-09-06T19:24:23.320 回答