当前位置: 首页 > 知识库问答 >
问题:

使用JavaFx的lineChart

祁霖
2023-03-14

私有静态无效printChartAnalysis(analysisResults r){

    clearAnalsisChartData();
    int [][]analysisResult=r.getAnalysisResult();
    ArrayList<String> versionss=r.getVersions();
    int k=0;
    for(String x:versionss){
        String z=new String();
        for(int i=0;i<x.length();i++){
            if(Character.isDigit(x.charAt(i))){
                z+=x.charAt(i);
            }
        }
        dataLOC.add(new XYChart.Data(z,(int)analysisResult[k][0]));
        dataComm.add(new XYChart.Data(z,(int)analysisResult[k][1]));
        dataCond.add(new XYChart.Data(z,(int)analysisResult[k][2]));
        dataLoops.add(new XYChart.Data(z,(int)analysisResult[k][3]));
        dataMem.add(new XYChart.Data(z,(int)analysisResult[k][4]));
        k++;
    }

    seriesLOC.setData(dataLOC);
    seriesCond.setData(dataCond);
    seriesComm.setData(dataComm);
    seriesLoop.setData(dataLoops);
    seriesMem.setData(dataMem);        
    lineChart.getData().setAll(seriesLOC,seriesComm,seriesCond,seriesLoop,seriesMem);
    lineChart.setTitle("Line Chart for "+r.getSoftwareName());

    for (int i = 0; i < names.length; i++) {
        final CheckBox cb = cbs[i];
        cb.setSelected(true);
    }

}

private static void printChartCost(cocomoResults est){
    clearAnalsisChartData();
    clearCostChartData();
    for(COCOMO cost:est.getVersionsResult()){
         String version=cost.getVersion();
         String z=new String();

         for(int i=0;i<version.length();i++){
            if(Character.isDigit(version.charAt(i))){
                z+=version.charAt(i);
            }
        }

        dataEffort.add(new XYChart.Data(z,(int)cost.getEffort()));
        dataDura.add(new XYChart.Data(z,(int)cost.getDuration()));
        dataStaff.add(new XYChart.Data(z,(int)cost.getStaff()));
        dataProd.add(new XYChart.Data(z,(int)cost.getProductivity()));

    }

    seriesEffort.setData(dataEffort);
    seriesDura.setData(dataDura);
    seriesStaff.setData(dataStaff);
    seriesProd.setData(dataProd);

    lineChart.getData().setAll(seriesEffort,seriesDura,seriesStaff,seriesProd);

}

private static void clearAnalsisChartData(){
    lineChart.getData().removeAll(seriesLOC);
    lineChart.getData().removeAll(seriesComm);
    lineChart.getData().removeAll(seriesCond);
    lineChart.getData().removeAll(seriesLoop);
    lineChart.getData().removeAll(seriesMem);

    dataLOC.clear();
    dataLoops.clear();
    dataComm.clear();
    dataCond.clear();
    dataMem.clear();

}

共有1个答案

孔华池
2023-03-14

据我所知

cb.setOnAction(event -> {
   if (lineChart.contains(*NAME_OF_YOUR_ELEMENT*))
      lineChart.remove(*NAME_OF_YOUR_ELEMENT*)
   else
      lineChart.remove(*NAME_OF_YOUR_ELEMENT*)
});
 类似资料:
  • 我试图用一些随机信息创建一个简单的LineChart,但当我试图通过SceneBuilder使用fxml文件创建时,图表显示了但从未填充。每当我手动创建vbox、linechart和scene时,一切工作都很好。我真的很困惑,在使用fxml文件时,图表代码应该去哪里。

  • 当我从SourceForge网站下载JasperReports项目时,我创建JavaFx项目,我需要使用JasperReports库创建发票设计。提取的文件夹不包含dist文件夹,该文件夹包含构建发票设计所需的jar文件。文件夹包含这个文件夹,这里有什么问题“我是JasperReports的新手”

  • 我想在我的列表视图上有圆角。我目前使用的CSS使角变圆,直到我向ListView添加一个新字符串,然后角不再是圆的。我使用ObservableList来存储我的字符串,并将ListView设置为ObservableList。 我也检查了JavaFX CSS参考,但找不到任何对我的问题有用的东西。 无文本 添加文本后 我目前的 css

  • 问题内容: 可以说我有一堂课: 我有一个此类的ArrayList 是否可以使用对象名称属性作为选择选项来创建JavaFX ComboBox,而无需使用对象名称创建新的JavaFX ComboBox ? 伪代码: (可选)理想情况下,虽然应该显示名称,但在选择了一个选项后,该名称应该返回给我所选的Dummy的引用,而不仅仅是名称。那可能吗? 问题答案: 您可以使用自定义方式来显示适合您需求的项目:

  • 我试图找出如何使用一个与一个在,但没有运气,我已经查了,我能找到的都是不完整的教程和问题。下面是我的FXML 还有我的模特 和我不完整的 还有我的控制器 请不要告诉我找不到。我现在迷路了,我不知道在我的FXML中更新图像视图和标签的正确方法。任何人来帮助或与一个教程的链接,我可以遵循,我将不胜感激。

  • 我想学习,但在线资源只显示IDE中的安装和设置,如、、等。 但我想在没有IDE ie的情况下做到这一点:只使用终端和一个文本编辑器(vim)。 为项目设置并在不使用任何IDE的情况下运行它的步骤是什么。