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

📄 differencechartdemo2.java

📁 在软件开发中用来绘制各种图表的源码
💻 JAVA
📖 第 1 页 / 共 4 页
字号:
        series.add(new Day(21, 8, 2004), time(20, 11));
        series.add(new Day(22, 8, 2004), time(20, 9));
        series.add(new Day(23, 8, 2004), time(20, 7));
        series.add(new Day(24, 8, 2004), time(20, 4));
        series.add(new Day(25, 8, 2004), time(20, 2));
        series.add(new Day(26, 8, 2004), time(20, 0));
        series.add(new Day(27, 8, 2004), time(19, 58));
        series.add(new Day(28, 8, 2004), time(19, 56));
        series.add(new Day(29, 8, 2004), time(19, 54));
        series.add(new Day(30, 8, 2004), time(19, 51));
        series.add(new Day(31, 8, 2004), time(19, 49));

        series.add(new Day(1, 9, 2004), time(19, 47));
        series.add(new Day(2, 9, 2004), time(19, 45));
        series.add(new Day(3, 9, 2004), time(19, 42));
        series.add(new Day(4, 9, 2004), time(19, 40));
        series.add(new Day(5, 9, 2004), time(19, 38));
        series.add(new Day(6, 9, 2004), time(19, 36));
        series.add(new Day(7, 9, 2004), time(19, 33));
        series.add(new Day(8, 9, 2004), time(19, 31));
        series.add(new Day(9, 9, 2004), time(19, 29));
        series.add(new Day(10, 9, 2004), time(19, 27));
        series.add(new Day(11, 9, 2004), time(19, 24));
        series.add(new Day(12, 9, 2004), time(19, 22));
        series.add(new Day(13, 9, 2004), time(19, 20));
        series.add(new Day(14, 9, 2004), time(19, 17));
        series.add(new Day(15, 9, 2004), time(19, 15));
        series.add(new Day(16, 9, 2004), time(19, 13));
        series.add(new Day(17, 9, 2004), time(19, 11));
        series.add(new Day(18, 9, 2004), time(19, 8));
        series.add(new Day(19, 9, 2004), time(19, 6));
        series.add(new Day(20, 9, 2004), time(19, 4));
        series.add(new Day(21, 9, 2004), time(19, 1));
        series.add(new Day(22, 9, 2004), time(18, 59));
        series.add(new Day(23, 9, 2004), time(18, 57));
        series.add(new Day(24, 9, 2004), time(18, 54));
        series.add(new Day(25, 9, 2004), time(18, 52));
        series.add(new Day(26, 9, 2004), time(18, 50));
        series.add(new Day(27, 9, 2004), time(18, 47));
        series.add(new Day(28, 9, 2004), time(18, 45));
        series.add(new Day(29, 9, 2004), time(18, 43));
        series.add(new Day(30, 9, 2004), time(18, 41));

        series.add(new Day(1, 10, 2004), time(18, 38));
        series.add(new Day(2, 10, 2004), time(18, 36));
        series.add(new Day(3, 10, 2004), time(18, 34));
        series.add(new Day(4, 10, 2004), time(18, 31));
        series.add(new Day(5, 10, 2004), time(18, 29));
        series.add(new Day(6, 10, 2004), time(18, 27));
        series.add(new Day(7, 10, 2004), time(18, 25));
        series.add(new Day(8, 10, 2004), time(18, 22));
        series.add(new Day(9, 10, 2004), time(18, 20));
        series.add(new Day(10, 10, 2004), time(18, 18));
        series.add(new Day(11, 10, 2004), time(18, 16));
        series.add(new Day(12, 10, 2004), time(18, 14));
        series.add(new Day(13, 10, 2004), time(18, 11));
        series.add(new Day(14, 10, 2004), time(18, 9));
        series.add(new Day(15, 10, 2004), time(18, 7));
        series.add(new Day(16, 10, 2004), time(18, 5));
        series.add(new Day(17, 10, 2004), time(18, 3));
        series.add(new Day(18, 10, 2004), time(18, 1));
        series.add(new Day(19, 10, 2004), time(17, 59));
        series.add(new Day(20, 10, 2004), time(17, 57));
        series.add(new Day(21, 10, 2004), time(17, 55));
        series.add(new Day(22, 10, 2004), time(17, 53));
        series.add(new Day(23, 10, 2004), time(17, 50));
        series.add(new Day(24, 10, 2004), time(17, 48));
        series.add(new Day(25, 10, 2004), time(17, 46));
        series.add(new Day(26, 10, 2004), time(17, 45));
        series.add(new Day(27, 10, 2004), time(17, 43));
        series.add(new Day(28, 10, 2004), time(17, 41));
        series.add(new Day(29, 10, 2004), time(17, 39));
        series.add(new Day(30, 10, 2004), time(17, 37));
        series.add(new Day(31, 10, 2004), time(16, 35));

        series.add(new Day(1, 11, 2004), time(16, 33));
        series.add(new Day(2, 11, 2004), time(16, 31));
        series.add(new Day(3, 11, 2004), time(16, 30));
        series.add(new Day(4, 11, 2004), time(16, 28));
        series.add(new Day(5, 11, 2004), time(16, 26));
        series.add(new Day(6, 11, 2004), time(16, 24));
        series.add(new Day(7, 11, 2004), time(16, 23));
        series.add(new Day(8, 11, 2004), time(16, 21));
        series.add(new Day(9, 11, 2004), time(16, 20));
        series.add(new Day(10, 11, 2004), time(16, 18));
        series.add(new Day(11, 11, 2004), time(16, 16));
        series.add(new Day(12, 11, 2004), time(16, 15));
        series.add(new Day(13, 11, 2004), time(16, 13));
        series.add(new Day(14, 11, 2004), time(16, 12));
        series.add(new Day(15, 11, 2004), time(16, 11));
        series.add(new Day(16, 11, 2004), time(16, 9));
        series.add(new Day(17, 11, 2004), time(16, 8));
        series.add(new Day(18, 11, 2004), time(16, 7));
        series.add(new Day(19, 11, 2004), time(16, 5));
        series.add(new Day(20, 11, 2004), time(16, 4));
        series.add(new Day(21, 11, 2004), time(16, 3));
        series.add(new Day(22, 11, 2004), time(16, 2));
        series.add(new Day(23, 11, 2004), time(16, 1));
        series.add(new Day(24, 11, 2004), time(16, 0));
        series.add(new Day(25, 11, 2004), time(15, 59));
        series.add(new Day(26, 11, 2004), time(15, 58));
        series.add(new Day(27, 11, 2004), time(15, 57));
        series.add(new Day(28, 11, 2004), time(15, 56));
        series.add(new Day(29, 11, 2004), time(15, 56));
        series.add(new Day(30, 11, 2004), time(15, 55));

        series.add(new Day(1, 12, 2004), time(15, 54));
        series.add(new Day(2, 12, 2004), time(15, 54));
        series.add(new Day(3, 12, 2004), time(15, 53));
        series.add(new Day(4, 12, 2004), time(15, 53));
        series.add(new Day(5, 12, 2004), time(15, 52));
        series.add(new Day(6, 12, 2004), time(15, 52));
        series.add(new Day(7, 12, 2004), time(15, 51));
        series.add(new Day(8, 12, 2004), time(15, 51));
        series.add(new Day(9, 12, 2004), time(15, 51));
        series.add(new Day(10, 12, 2004), time(15, 51));
        series.add(new Day(11, 12, 2004), time(15, 50));
        series.add(new Day(12, 12, 2004), time(15, 50));
        series.add(new Day(13, 12, 2004), time(15, 50));
        series.add(new Day(14, 12, 2004), time(15, 50));
        series.add(new Day(15, 12, 2004), time(15, 51));
        series.add(new Day(16, 12, 2004), time(15, 51));
        series.add(new Day(17, 12, 2004), time(15, 51));
        series.add(new Day(18, 12, 2004), time(15, 51));
        series.add(new Day(19, 12, 2004), time(15, 51));
        series.add(new Day(20, 12, 2004), time(15, 52));
        series.add(new Day(21, 12, 2004), time(15, 52));
        series.add(new Day(22, 12, 2004), time(15, 53));
        series.add(new Day(23, 12, 2004), time(15, 53));
        series.add(new Day(24, 12, 2004), time(15, 54));
        series.add(new Day(25, 12, 2004), time(15, 55));
        series.add(new Day(26, 12, 2004), time(15, 55));
        series.add(new Day(27, 12, 2004), time(15, 56));
        series.add(new Day(28, 12, 2004), time(15, 57));
        series.add(new Day(29, 12, 2004), time(15, 58));
        series.add(new Day(30, 12, 2004), time(15, 59));
        series.add(new Day(31, 12, 2004), time(16, 0));

        return series;

    }

    /**
     * Creates a chart.
     * 
     * @param dataset  the dataset.
     * 
     * @return The chart.
     */
    private static JFreeChart createChart(XYDataset dataset) {
        JFreeChart chart = ChartFactory.createTimeSeriesChart(
            "Daylight Hours - London, UK",
            "Date", 
            "Time",
            dataset,
            true,  // legend
            true,  // tool tips
            false  // URLs
        );
        chart.setBackgroundPaint(Color.white);
        chart.addSubtitle(
            new TextTitle(
                "Data source: http://www.sunrisesunset.com/",
                new Font("SansSerif", Font.PLAIN, 12)
            )
        );
        XYDifferenceRenderer renderer = new XYDifferenceRenderer(
            Color.blue, Color.blue, false
        );
        renderer.setStroke(new BasicStroke(2.0f));
        renderer.setSeriesPaint(0, Color.yellow);
        renderer.setSeriesPaint(1, Color.red);
        XYPlot plot = chart.getXYPlot();
        plot.setRenderer(renderer);
        plot.setBackgroundPaint(Color.lightGray);
        plot.setDomainGridlinePaint(Color.white);
        plot.setRangeGridlinePaint(Color.white);
        plot.setAxisOffset(new RectangleInsets(5.0, 5.0, 5.0, 5.0));
        plot.setDomainCrosshairVisible(true);
        plot.setRangeCrosshairVisible(true);
        
        DateAxis domainAxis = new DateAxis("Time");
        domainAxis.setTickMarkPosition(DateTickMarkPosition.MIDDLE);
        domainAxis.setLowerMargin(0.0);
        domainAxis.setUpperMargin(0.0);
        plot.setDomainAxis(domainAxis);
        plot.setForegroundAlpha(0.5f);  

        GradientPaint c = new GradientPaint(
            0.0f, 0.0f, Color.red, 1.0f, 1.0f, Color.orange
        );
        IntervalMarker bst = new IntervalMarker(
            new Day(28, 3, 2004).getFirstMillisecond(), 
            new Day(30, 10, 2004).getFirstMillisecond(),
            c, new BasicStroke(2.0f), null, null, 1.0f
        );
        bst.setLabel("British Summer Time");
        bst.setLabelAnchor(RectangleAnchor.BOTTOM_RIGHT);
        bst.setLabelFont(new Font("SansSerif", Font.ITALIC + Font.BOLD, 10));
        bst.setLabelTextAnchor(TextAnchor.BASELINE_RIGHT);
        bst.setGradientPaintTransformer(
            new StandardGradientPaintTransformer(
                GradientPaintTransformType.HORIZONTAL
            )
        );
        plot.addDomainMarker(bst, Layer.BACKGROUND);

        DateAxis rangeAxis = new DateAxis("Time");
        rangeAxis.setLowerMargin(0.15);
        rangeAxis.setUpperMargin(0.15);
        plot.setRangeAxis(rangeAxis);
        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) {

        DifferenceChartDemo2 demo = new DifferenceChartDemo2(
            "Difference Chart Demo 2"
        );
        demo.pack();
        RefineryUtilities.centerFrameOnScreen(demo);
        demo.setVisible(true);

    }

}

⌨️ 快捷键说明

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