线路未在Netbeans IDE中的LineChart上显示

时间:2015-10-18 21:55:58

标签: netbeans graph

我创建的JFreeChart是一个LineChart。我遇到的问题是图表上的线没有显示。

任何人都可以告诉我为什么会这样。

以下是按钮的编码:

DefaultCategoryDataset dataset2 = new DefaultCategoryDataset();
        dataset2.setValue(100, "John B","EMP0001");
        dataset2.setValue(200, "John A","EMP0003");

        JFreeChart chart2 = ChartFactory.createLineChart("Comission", "Employee", "Number of Sales", dataset2, PlotOrientation.VERTICAL, false, true, true);
        chart2.setBackgroundPaint(Color.YELLOW);
        chart2.getTitle().setPaint(Color.RED);
        CategoryPlot p2 = chart2.getCategoryPlot();
        p2.setRangeGridlinePaint(Color.BLUE);
        ChartFrame frame2 = new ChartFrame("Employee Comission", chart2);
        frame2.setVisible(true);
        frame2.setSize(450,350);

创建折线图时会发生这种情况:

Line chart without line displaying on chart

请有人帮忙告诉我可能存在的问题在哪里。

1 个答案:

答案 0 :(得分:0)

为了显示一行,您需要有两个对rowKey具有相同值的数据项和列键的不同值。

如果您将数据更改为:

<?php 
$file = "./subjects.txt";
$h = fopen($file, "r");
if($h !== false) {
    $subjects = [];
    $data = [];
    while(!feof($h)) {
        if($line = trim(fgets($h))) {
            $line = explode(",", $line);
            if(!in_array("DateCreated",$line)) {
                array_push($subjects, $line);
            }
        }   
    }
    fclose($h);

    foreach ($subjects as $subject) {
        if(!isset($data[$subject[1]])) {
            $data[$subject[1]] = [];
        }
        $data[$subject[1]][] = $subject[2];
    }

    foreach ($data as $subject => $links) {
        if(count($links) == 1) {
            echo "<p><a href=" . $links[0]. ">$subject</a></p>\n";
        } else {
            $i = 1;
            echo "<p>$subject</p>\n";
            echo "<ul>\n";
            foreach ($links as $link) {
                echo "<li><a href=\"$link\">link$i</a></li>\n";
                $i++;
            }
            echo "</ul>\n";
        }   
    }
}
?>

然后是情节:

plot with two values

请注意&#34; John A&#34;值是红色的&#34; John B&#34;值是蓝色的 红色和蓝色不连接。列值沿底部打印。