0

我有我的第一堂课

public class GetResults{

public double[] tableOfresults() {
double[] outputArray = new double[100];
double time;
double results

for(time = 0; time<outputArray.length; i++) {
  //Some values are calculated and then stored in an array as below
  outputArray[(int)Time] = Results
}
return outputarray;

这个类只是计算一些我想在图表上绘制的值并将它们存储在数组中。

下一节课实际上是在我的图表上绘制点。我不确定一种简单的方法可以在我的 X 轴上绘制点,这些点是时间值(时间是数组索引 0、1、2、3 等),我的 Y 轴是我的结果。我目前不得不把所有的职位都放在自己身上。

public class graph{
GetResults gr = new GetResuts();
public XYSeries inputOutputGraph() {
    XYSeries graph = new XYSeries("My graph");      
    XYDataset xyDataset = new XYSeriesCollection(graph);

    graph.add(1, gr.tableOfResults()[1]); 
    graph.add(2, gr.tableOfResults()[2]);
    graph.add(3, gr.tableOfResults()[3]);
    graph.add(4, gr.tableOfResults()[4]);

在这里,我必须自己添加值(我有 1000 个要做)。我需要看起来像这样的东西 graph.add(gr.tableOfResults()[gr.Time], gr.tableOfResults()[gr.Results]); 因此,随着我的时间增加 0,1,2,3,它将绘制我的结果,该结果存储在该位置的索引 0,1,2,3 处。我怎么能这样做?我已经尝试过该代码^^并且我的数组索引超出了我的数组大小设置为的值

    JFreeChart chart = ChartFactory.createXYLineChart(
        "Graph", "Time", "results",
        xyDataset, PlotOrientation.VERTICAL, true, true, false);
    ChartFrame graphFrame = new ChartFrame("XYLine Chart", chart);
    graphFrame.setVisible(true);
    graphFrame.setSize(300, 300);
    return graph;
}

}

4

1 回答 1

0

您可以将计算值直接放在 an 中XYSeries,然后让GetResults一个方法返回该系列。

class GetResults {

    public XYSeries getSeries() {
        XYSeries series = new XYSeries("Series");
        for (int i = 0; i < 10; i++) {
            series.add(i, Math.pow(2, i));
        }
        return series;
    }
}

以下是您getSeries()在此示例中的使用方法。

dataset.addSeries(new GetResults().getSeries());

图片

于 2013-02-11T16:54:19.083 回答