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

📄 stackedbarchartdemo4.java

📁 jfreechart1.0.6源程序,没有注释,不过都能运行起来
💻 JAVA
字号:




package demo;

import java.awt.*;
import javax.swing.JPanel;
import org.jfree.chart.*;
import org.jfree.chart.axis.SubCategoryAxis;
import org.jfree.chart.plot.*;
import org.jfree.chart.renderer.category.GroupedStackedBarRenderer;
import org.jfree.data.KeyToGroupMap;
import org.jfree.data.category.CategoryDataset;
import org.jfree.data.category.DefaultCategoryDataset;
import org.jfree.ui.*;

public class StackedBarChartDemo4 extends ApplicationFrame
{

    public StackedBarChartDemo4(String s)
    {
        super(s);
        JPanel jpanel = createDemoPanel();
        jpanel.setPreferredSize(new Dimension(590, 350));
        setContentPane(jpanel);
    }

    private static CategoryDataset createDataset()
    {
        DefaultCategoryDataset defaultcategorydataset = new DefaultCategoryDataset();
        defaultcategorydataset.addValue(20.300000000000001D, "Product 1 (US)", "Jan 04");
        defaultcategorydataset.addValue(27.199999999999999D, "Product 1 (US)", "Feb 04");
        defaultcategorydataset.addValue(19.699999999999999D, "Product 1 (US)", "Mar 04");
        defaultcategorydataset.addValue(19.399999999999999D, "Product 1 (Europe)", "Jan 04");
        defaultcategorydataset.addValue(10.9D, "Product 1 (Europe)", "Feb 04");
        defaultcategorydataset.addValue(18.399999999999999D, "Product 1 (Europe)", "Mar 04");
        defaultcategorydataset.addValue(16.5D, "Product 1 (Asia)", "Jan 04");
        defaultcategorydataset.addValue(15.9D, "Product 1 (Asia)", "Feb 04");
        defaultcategorydataset.addValue(16.100000000000001D, "Product 1 (Asia)", "Mar 04");
        defaultcategorydataset.addValue(13.199999999999999D, "Product 1 (Middle East)", "Jan 04");
        defaultcategorydataset.addValue(14.4D, "Product 1 (Middle East)", "Feb 04");
        defaultcategorydataset.addValue(13.699999999999999D, "Product 1 (Middle East)", "Mar 04");
        defaultcategorydataset.addValue(23.300000000000001D, "Product 2 (US)", "Jan 04");
        defaultcategorydataset.addValue(16.199999999999999D, "Product 2 (US)", "Feb 04");
        defaultcategorydataset.addValue(28.699999999999999D, "Product 2 (US)", "Mar 04");
        defaultcategorydataset.addValue(12.699999999999999D, "Product 2 (Europe)", "Jan 04");
        defaultcategorydataset.addValue(17.899999999999999D, "Product 2 (Europe)", "Feb 04");
        defaultcategorydataset.addValue(12.6D, "Product 2 (Europe)", "Mar 04");
        defaultcategorydataset.addValue(15.4D, "Product 2 (Asia)", "Jan 04");
        defaultcategorydataset.addValue(21D, "Product 2 (Asia)", "Feb 04");
        defaultcategorydataset.addValue(11.1D, "Product 2 (Asia)", "Mar 04");
        defaultcategorydataset.addValue(23.800000000000001D, "Product 2 (Middle East)", "Jan 04");
        defaultcategorydataset.addValue(23.399999999999999D, "Product 2 (Middle East)", "Feb 04");
        defaultcategorydataset.addValue(19.300000000000001D, "Product 2 (Middle East)", "Mar 04");
        defaultcategorydataset.addValue(11.9D, "Product 3 (US)", "Jan 04");
        defaultcategorydataset.addValue(31D, "Product 3 (US)", "Feb 04");
        defaultcategorydataset.addValue(22.699999999999999D, "Product 3 (US)", "Mar 04");
        defaultcategorydataset.addValue(15.300000000000001D, "Product 3 (Europe)", "Jan 04");
        defaultcategorydataset.addValue(14.4D, "Product 3 (Europe)", "Feb 04");
        defaultcategorydataset.addValue(25.300000000000001D, "Product 3 (Europe)", "Mar 04");
        defaultcategorydataset.addValue(23.899999999999999D, "Product 3 (Asia)", "Jan 04");
        defaultcategorydataset.addValue(19D, "Product 3 (Asia)", "Feb 04");
        defaultcategorydataset.addValue(10.1D, "Product 3 (Asia)", "Mar 04");
        defaultcategorydataset.addValue(13.199999999999999D, "Product 3 (Middle East)", "Jan 04");
        defaultcategorydataset.addValue(15.5D, "Product 3 (Middle East)", "Feb 04");
        defaultcategorydataset.addValue(10.1D, "Product 3 (Middle East)", "Mar 04");
        return defaultcategorydataset;
    }

    private static JFreeChart createChart(CategoryDataset categorydataset)
    {
        JFreeChart jfreechart = ChartFactory.createStackedBarChart("Stacked Bar Chart Demo 4", "Category", "Value", categorydataset, PlotOrientation.VERTICAL, true, true, false);
        GroupedStackedBarRenderer groupedstackedbarrenderer = new GroupedStackedBarRenderer();
        KeyToGroupMap keytogroupmap = new KeyToGroupMap("G1");
        keytogroupmap.mapKeyToGroup("Product 1 (US)", "G1");
        keytogroupmap.mapKeyToGroup("Product 1 (Europe)", "G1");
        keytogroupmap.mapKeyToGroup("Product 1 (Asia)", "G1");
        keytogroupmap.mapKeyToGroup("Product 1 (Middle East)", "G1");
        keytogroupmap.mapKeyToGroup("Product 2 (US)", "G2");
        keytogroupmap.mapKeyToGroup("Product 2 (Europe)", "G2");
        keytogroupmap.mapKeyToGroup("Product 2 (Asia)", "G2");
        keytogroupmap.mapKeyToGroup("Product 2 (Middle East)", "G2");
        keytogroupmap.mapKeyToGroup("Product 3 (US)", "G3");
        keytogroupmap.mapKeyToGroup("Product 3 (Europe)", "G3");
        keytogroupmap.mapKeyToGroup("Product 3 (Asia)", "G3");
        keytogroupmap.mapKeyToGroup("Product 3 (Middle East)", "G3");
        groupedstackedbarrenderer.setSeriesToGroupMap(keytogroupmap);
        groupedstackedbarrenderer.setItemMargin(0.10000000000000001D);
        groupedstackedbarrenderer.setDrawBarOutline(false);
        GradientPaint gradientpaint = new GradientPaint(0.0F, 0.0F, new Color(34, 34, 255), 0.0F, 0.0F, new Color(136, 136, 255));
        groupedstackedbarrenderer.setSeriesPaint(0, gradientpaint);
        groupedstackedbarrenderer.setSeriesPaint(4, gradientpaint);
        groupedstackedbarrenderer.setSeriesPaint(8, gradientpaint);
        GradientPaint gradientpaint1 = new GradientPaint(0.0F, 0.0F, new Color(34, 255, 34), 0.0F, 0.0F, new Color(136, 255, 136));
        groupedstackedbarrenderer.setSeriesPaint(1, gradientpaint1);
        groupedstackedbarrenderer.setSeriesPaint(5, gradientpaint1);
        groupedstackedbarrenderer.setSeriesPaint(9, gradientpaint1);
        GradientPaint gradientpaint2 = new GradientPaint(0.0F, 0.0F, new Color(255, 34, 34), 0.0F, 0.0F, new Color(255, 136, 136));
        groupedstackedbarrenderer.setSeriesPaint(2, gradientpaint2);
        groupedstackedbarrenderer.setSeriesPaint(6, gradientpaint2);
        groupedstackedbarrenderer.setSeriesPaint(10, gradientpaint2);
        GradientPaint gradientpaint3 = new GradientPaint(0.0F, 0.0F, new Color(255, 255, 34), 0.0F, 0.0F, new Color(255, 255, 136));
        groupedstackedbarrenderer.setSeriesPaint(3, gradientpaint3);
        groupedstackedbarrenderer.setSeriesPaint(7, gradientpaint3);
        groupedstackedbarrenderer.setSeriesPaint(11, gradientpaint3);
        groupedstackedbarrenderer.setGradientPaintTransformer(new StandardGradientPaintTransformer(GradientPaintTransformType.HORIZONTAL));
        SubCategoryAxis subcategoryaxis = new SubCategoryAxis("Product / Month");
        subcategoryaxis.setCategoryMargin(0.050000000000000003D);
        subcategoryaxis.addSubCategory("Product 1");
        subcategoryaxis.addSubCategory("Product 2");
        subcategoryaxis.addSubCategory("Product 3");
        CategoryPlot categoryplot = (CategoryPlot)jfreechart.getPlot();
        categoryplot.setDomainAxis(subcategoryaxis);
        categoryplot.setRenderer(groupedstackedbarrenderer);
        categoryplot.setFixedLegendItems(createLegendItems());
        return jfreechart;
    }

    private static LegendItemCollection createLegendItems()
    {
        LegendItemCollection legenditemcollection = new LegendItemCollection();
        LegendItem legenditem = new LegendItem("US", "-", null, null, Plot.DEFAULT_LEGEND_ITEM_BOX, new Color(34, 34, 255));
        LegendItem legenditem1 = new LegendItem("Europe", "-", null, null, Plot.DEFAULT_LEGEND_ITEM_BOX, new Color(34, 255, 34));
        LegendItem legenditem2 = new LegendItem("Asia", "-", null, null, Plot.DEFAULT_LEGEND_ITEM_BOX, new Color(255, 34, 34));
        LegendItem legenditem3 = new LegendItem("Middle East", "-", null, null, Plot.DEFAULT_LEGEND_ITEM_BOX, new Color(255, 255, 34));
        legenditemcollection.add(legenditem);
        legenditemcollection.add(legenditem1);
        legenditemcollection.add(legenditem2);
        legenditemcollection.add(legenditem3);
        return legenditemcollection;
    }

    public static JPanel createDemoPanel()
    {
        JFreeChart jfreechart = createChart(createDataset());
        return new ChartPanel(jfreechart);
    }

    public static void main(String args[])
    {
        StackedBarChartDemo4 stackedbarchartdemo4 = new StackedBarChartDemo4("Stacked Bar Chart Demo 4");
        stackedbarchartdemo4.pack();
        RefineryUtilities.centerFrameOnScreen(stackedbarchartdemo4);
        stackedbarchartdemo4.setVisible(true);
    }
}

⌨️ 快捷键说明

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