如何在jfreecharts中禁用x轴行

时间:2013-11-19 15:34:16

标签: jfreechart

我在我的应用程序中使用jfreecharts。我需要删除生成的折线图中的x轴线。我怎样才能删除轴线,任何帮助将不胜感激。 enter image description here

1 个答案:

答案 0 :(得分:1)

要删除轴线和刻度线,请参阅此代码。

final DefaultCategoryDataset dataset = new DefaultCategoryDataset();

        dataset.addValue(1.0, "Line", "2009");
        dataset.addValue(2.0, "Line", "2010");
        dataset.addValue(null, "Line", "2011");
        dataset.addValue(3.0, "Line", "2012");
        final JFreeChart chart = ChartFactory.createLineChart(
            "",                        // chart title
            "",                        // domain axis label
            "",                        // range axis label
            dataset,                   // data
            PlotOrientation.VERTICAL,  // orientation
            false,                      // include legend
            false,                      // tooltips
            false                      // urls
        );

        chart.setBackgroundPaint(Color.WHITE);

        final CategoryPlot plot = (CategoryPlot) chart.getPlot();
        plot.setBackgroundPaint(Color.WHITE);
        plot.setRangeZeroBaselinePaint(Color.RED);
        plot.setOutlineVisible(false);
        plot.setRangeGridlinePaint(Color.white);
        plot.setDomainGridlinePaint(Color.BLUE);        

        final CategoryAxis categoryAxis = (CategoryAxis) plot.getDomainAxis();
        categoryAxis.setAxisLineVisible(false);
        categoryAxis.setTickMarksVisible(false);
        //categoryAxis.setVisible(false);

        final NumberAxis rangeAxis = (NumberAxis) plot.getRangeAxis();
        //rangeAxis.setAxisLineVisible(false);
        rangeAxis.setVisible(false);
        rangeAxis.setLabelPaint(Color.BLUE);
        rangeAxis.setRange(0, 3);

        final LineAndShapeRenderer renderer = (LineAndShapeRenderer) plot.getRenderer();
        //renderer.setItemLabelsVisible(false); //Deprecated. 
        renderer.setBaseShapesVisible(true);
        renderer.setBaseShapesFilled(true);
        renderer.setSeriesStroke(0, new BasicStroke(2.0f));
        Shape circle = new Ellipse2D.Double(-3, -3, 6, 6);
        renderer.setSeriesShape(0, circle);
        plot.getRenderer().setSeriesPaint(0, Color.BLUE);

        try {
            ChartUtilities.saveChartAsPNG(new File("E:\\jfreeLinechart.png"), chart, 211, 90);
            System.out.println("=====chart=====");
        } catch (Exception e) {
            e.printStackTrace();
        }

另请参阅此link