⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 xyboxannotationdemo1.java

📁 jfreechart帮助文档
💻 JAVA
📖 第 1 页 / 共 3 页
字号:
        series1.add(new Day(8, 07, 2004).getMiddleMillisecond(), 89481);
        series1.add(new Day(19, 05, 2004).getMiddleMillisecond(), 85650);
        series1.add(new Day(28, 9, 2004).getMiddleMillisecond(), 50713);
        series1.add(new Day(13, 8, 2004).getMiddleMillisecond(), 94151);
        series1.add(new Day(20, 01, 2005).getMiddleMillisecond(), 38905);
        series1.add(new Day(07, 04, 2005).getMiddleMillisecond(), 437);
        series1.add(new Day(31, 01, 2004).getMiddleMillisecond(), 155322);
        series1.add(new Day(26, 10, 2004).getMiddleMillisecond(), 80867);
        series1.add(new Day(10, 01, 2005).getMiddleMillisecond(), 22530);
        series1.add(new Day(18, 03, 2005).getMiddleMillisecond(), 7280);
        series1.add(new Day(03, 03, 2005).getMiddleMillisecond(), 199);
        series1.add(new Day(13, 9, 2004).getMiddleMillisecond(), 93475);
        series1.add(new Day(11, 8, 2004).getMiddleMillisecond(), 74984);
        series1.add(new Day(21, 12, 2004).getMiddleMillisecond(), 28153);
        series1.add(new Day(18, 03, 2005).getMiddleMillisecond(), 6725);
        series1.add(new Day(05, 04, 2005).getMiddleMillisecond(), 2095);
        series1.add(new Day(15, 07, 2004).getMiddleMillisecond(), 140022);
        series1.add(new Day(12, 11, 2004).getMiddleMillisecond(), 63582);
        series1.add(new Day(02, 04, 2004).getMiddleMillisecond(), 5117);
        series1.add(new Day(17, 05, 2004).getMiddleMillisecond(), 93320);
        series1.add(new Day(15, 12, 2004).getMiddleMillisecond(), 20393);
        series1.add(new Day(01, 03, 2004).getMiddleMillisecond(), 29900);
        series1.add(new Day(27, 04, 2005).getMiddleMillisecond(), 832);
        series1.add(new Day(15, 06, 2004).getMiddleMillisecond(), 69073);
        series1.add(new Day(20, 05, 2005).getMiddleMillisecond(), 2625);
        series1.add(new Day(21, 04, 2005).getMiddleMillisecond(), 2956);
        series1.add(new Day(12, 02, 2005).getMiddleMillisecond(), 881);
        series1.add(new Day(8, 10, 2004).getMiddleMillisecond(), 95544);
        series1.add(new Day(9, 8, 2004).getMiddleMillisecond(), 103419);
        series1.add(new Day(23, 06, 2004).getMiddleMillisecond(), 99280);
        series1.add(new Day(27, 8, 2004).getMiddleMillisecond(), 47822);
        series1.add(new Day(9, 03, 2005).getMiddleMillisecond(), 1336);
        series1.add(new Day(23, 07, 2004).getMiddleMillisecond(), 78313);
        series1.add(new Day(26, 10, 2004).getMiddleMillisecond(), 111320);
        series1.add(new Day(03, 11, 2004).getMiddleMillisecond(), 6187);
        series1.add(new Day(18, 8, 2004).getMiddleMillisecond(), 88757);
        series1.add(new Day(8, 11, 2004).getMiddleMillisecond(), 64621);
        series1.add(new Day(13, 04, 2005).getMiddleMillisecond(), 5005);
        series1.add(new Day(14, 01, 2004).getMiddleMillisecond(), 18246);
        series1.add(new Day(15, 10, 2004).getMiddleMillisecond(), 50016);
        series1.add(new Day(24, 03, 2005).getMiddleMillisecond(), 24179);
        series1.add(new Day(04, 03, 2005).getMiddleMillisecond(), 24203);
        series1.add(new Day(01, 03, 2005).getMiddleMillisecond(), 6079);
        series1.add(new Day(19, 11, 2004).getMiddleMillisecond(), 77738);
        series1.add(new Day(28, 9, 2004).getMiddleMillisecond(), 49283);
        series1.add(new Day(24, 11, 2004).getMiddleMillisecond(), 4880);
        series1.add(new Day(25, 02, 2005).getMiddleMillisecond(), 30705);
        series1.add(new Day(22, 10, 2004).getMiddleMillisecond(), 89693);
        series1.add(new Day(01, 04, 2005).getMiddleMillisecond(), 2865);
        series1.add(new Day(20, 01, 2005).getMiddleMillisecond(), 46560);
        series1.add(new Day(04, 01, 2005).getMiddleMillisecond(), 16570);
        series1.add(new Day(13, 04, 2005).getMiddleMillisecond(), 2602);
        series1.add(new Day(17, 06, 2005).getMiddleMillisecond(), 551);
        series1.add(new Day(22, 10, 2004).getMiddleMillisecond(), 103984);
        series1.add(new Day(04, 01, 2005).getMiddleMillisecond(), 18078);
        series1.add(new Day(07, 04, 2005).getMiddleMillisecond(), 11146);
        series1.add(new Day(22, 04, 2005).getMiddleMillisecond(), 2266);
        series1.add(new Day(18, 05, 2004).getMiddleMillisecond(), 78472);
        series1.add(new Day(22, 10, 2004).getMiddleMillisecond(), 83375);
        series1.add(new Day(25, 8, 2004).getMiddleMillisecond(), 1265);
        series1.add(new Day(07, 04, 2005).getMiddleMillisecond(), 380);
        series1.add(new Day(20, 04, 2005).getMiddleMillisecond(), 30071);
        series1.add(new Day(02, 02, 2005).getMiddleMillisecond(), 2020);
        series1.add(new Day(24, 03, 2005).getMiddleMillisecond(), 30547);
        series2.add(new Day(22, 02, 2005).getMiddleMillisecond(), 57743);
        series2.add(new Day(05, 11, 2003).getMiddleMillisecond(), 21135);
        series2.add(new Day(28, 05, 2005).getMiddleMillisecond(), 4988);
        series2.add(new Day(05, 04, 2004).getMiddleMillisecond(), 51760);
        series2.add(new Day(16, 03, 2005).getMiddleMillisecond(), 2283);
        series2.add(new Day(16, 03, 2005).getMiddleMillisecond(), 12927);
        series2.add(new Day(26, 04, 2005).getMiddleMillisecond(), 9223);
        series2.add(new Day(15, 12, 2004).getMiddleMillisecond(), 88625);
        series2.add(new Day(19, 10, 2004).getMiddleMillisecond(), 106741);
        series2.add(new Day(11, 07, 2005).getMiddleMillisecond(), 1802);
        series2.add(new Day(20, 01, 2005).getMiddleMillisecond(), 43372);
        series2.add(new Day(30, 03, 2005).getMiddleMillisecond(), 67224);
        series2.add(new Day(06, 06, 2005).getMiddleMillisecond(), 8204);
        series2.add(new Day(02, 03, 2005).getMiddleMillisecond(), 38504);
        series2.add(new Day(01, 01, 2005).getMiddleMillisecond(), 47599);
        series2.add(new Day(30, 9, 2004).getMiddleMillisecond(), 64959);
        series2.add(new Day(07, 05, 2005).getMiddleMillisecond(), 30701);
        series2.add(new Day(03, 05, 2004).getMiddleMillisecond(), 150586);
        series2.add(new Day(05, 8, 2005).getMiddleMillisecond(), 713);
        series2.add(new Day(21, 06, 2005).getMiddleMillisecond(), 8091);
        series2.add(new Day(21, 06, 2005).getMiddleMillisecond(), 891);
        series2.add(new Day(8, 07, 2005).getMiddleMillisecond(), 5940);
        series2.add(new Day(18, 06, 2005).getMiddleMillisecond(), 453);
        series2.add(new Day(11, 8, 2005).getMiddleMillisecond(), 715);
        series2.add(new Day(23, 07, 2004).getMiddleMillisecond(), 45792);
        series2.add(new Day(11, 11, 2004).getMiddleMillisecond(), 83422);
        series2.add(new Day(03, 05, 2004).getMiddleMillisecond(), 216825);
        series2.add(new Day(26, 07, 2004).getMiddleMillisecond(), 3443);
        series2.add(new Day(25, 06, 2005).getMiddleMillisecond(), 21288);
        series2.add(new Day(28, 06, 2004).getMiddleMillisecond(), 64987);
        series2.add(new Day(15, 07, 2005).getMiddleMillisecond(), 113);
        series2.add(new Day(01, 12, 2004).getMiddleMillisecond(), 18000);
        series2.add(new Day(22, 06, 2005).getMiddleMillisecond(), 23581);
        series2.add(new Day(13, 01, 2005).getMiddleMillisecond(), 90667);
        series2.add(new Day(24, 06, 2004).getMiddleMillisecond(), 11599);
        series2.add(new Day(8, 12, 2004).getMiddleMillisecond(), 47985);
        series2.add(new Day(27, 06, 2005).getMiddleMillisecond(), 6545);
        series2.add(new Day(10, 06, 2005).getMiddleMillisecond(), 29100);
        series2.add(new Day(31, 8, 2004).getMiddleMillisecond(), 388);
        series2.add(new Day(10, 12, 2004).getMiddleMillisecond(), 73404);
        series2.add(new Day(16, 8, 2005).getMiddleMillisecond(), 516);
        series2.add(new Day(17, 12, 2004).getMiddleMillisecond(), 34289);
        series2.add(new Day(19, 10, 2004).getMiddleMillisecond(), 53409);
        series2.add(new Day(06, 01, 2005).getMiddleMillisecond(), 102640);
        series2.add(new Day(22, 04, 2005).getMiddleMillisecond(), 1741);
        series2.add(new Day(01, 10, 2004).getMiddleMillisecond(), 104899);
        series2.add(new Day(29, 07, 2005).getMiddleMillisecond(), 785);
        series2.add(new Day(20, 06, 2005).getMiddleMillisecond(), 24834);
        series2.add(new Day(10, 06, 2005).getMiddleMillisecond(), 34197);

        XYSeriesCollection dataset = new XYSeriesCollection();
        dataset.addSeries(series1);
        dataset.addSeries(series2);

        return dataset;
    }

    /**
     * Creates a chart.
     * 
     * @param dataset  the dataset.
     * 
     * @return The chart.
     */
    private static JFreeChart createChart(XYDataset dataset) {
        JFreeChart chart = ChartFactory.createTimeSeriesChart("Breakdowns", 
                "Production Date", "Hours of Operation", dataset, true, true, 
                false);

        chart.setBackgroundPaint(Color.white);

        XYLineAndShapeRenderer renderer 
                = (XYLineAndShapeRenderer) chart.getXYPlot().getRenderer();

        //Configure the presentation of the items.
        renderer.setShape(new Rectangle(2, 2));
        renderer.setBaseLinesVisible(false);
        renderer.setBaseShapesFilled(true);
        renderer.setBaseShapesVisible(true);

        // don't generate tooltips for data items
        renderer.setBaseToolTipGenerator(null);
        
        //Set the colors for the two different series of shapes
        renderer.setSeriesPaint(0, Color.blue);
        renderer.setSeriesPaint(1, Color.red);

        XYPlot plot = chart.getXYPlot();

        //Configure the grid lines
        plot.setDomainGridlineStroke(new BasicStroke(1.0f));
        plot.setRangeGridlineStroke(new BasicStroke(1.0f));

        //Configure the Y axis
        NumberAxis rangeAxis = (NumberAxis) chart.getXYPlot().getRangeAxis();
        rangeAxis.setTickUnit(new NumberTickUnit(50000));

        //Configure the X axis
        DateAxis domainAxis = (DateAxis) chart.getXYPlot().getDomainAxis();
        domainAxis.setTickUnit(new DateTickUnit(DateTickUnit.MONTH, 1));
        domainAxis.setDateFormatOverride(new SimpleDateFormat("MMM.yy"));
        domainAxis.setVerticalTickLabels(true);
        
        Paint transpRed = new Color(255, 0, 0, 60);
        Paint transpGreen = new Color(0, 255, 0, 60);

        XYBoxAnnotation annotation = new XYBoxAnnotation(
                new Day(01, 1, 2004).getMiddleMillisecond(), 0, 
                new Day(31, 1, 2004).getMiddleMillisecond(), 50000, 
                new BasicStroke(0.0f), transpRed, transpRed);
        annotation.setToolTipText("Value: 2.9");
        renderer.addAnnotation(annotation);

        annotation = new XYBoxAnnotation(
                new Day(01, 2, 2004).getMiddleMillisecond(), 0, 
                new Day(29, 2, 2004).getMiddleMillisecond(), 50000,
                new BasicStroke(0.0f), transpRed, transpRed);
        annotation.setToolTipText("Value: 2.5");
        renderer.addAnnotation(annotation);

        annotation = new XYBoxAnnotation(
                new Day(01, 5, 2004).getMiddleMillisecond(), 50000, 
                new Day(31, 5, 2004).getMiddleMillisecond(),
                100000, new BasicStroke(0.0f), transpRed, transpRed);
        annotation.setToolTipText("Value: 1.8");
        renderer.addAnnotation(annotation);

        annotation = new XYBoxAnnotation(
                new Day(01, 6, 2005).getMiddleMillisecond(), 0, 
                new Day(30, 6, 2005).getMiddleMillisecond(), 50000,
                new BasicStroke(0.0f), transpGreen, transpGreen);
        annotation.setToolTipText("Value: 3.7");
        renderer.addAnnotation(annotation);

        return chart;
    }

    /**
     * Creates a panel for the demo (used by SuperDemo.java).
     * 
     * @return A panel.
     */
    public static JPanel createDemoPanel() {
        JFreeChart chart = createChart(createDataset());
        return new ChartPanel(chart);
    }

    /**
     * Starting point for the demonstration application.
     *
     * @param args  ignored.
     */
    public static void main(String[] args) {

        XYBoxAnnotationDemo1 demo = new XYBoxAnnotationDemo1(
                "XYBoxAnnotationDemo1");
        demo.pack();
        RefineryUtilities.centerFrameOnScreen(demo);
        demo.setVisible(true);

    }

}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -