1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96
   |  
public class Saulendiagramm {
 
	private ChartPanel chartPanel;
	private CategoryDataset dataset;
	private JFreeChart chart;
	private CategoryPlot plot;
 
    /**
     * Creates a new demo.
     *
     * @param title  the frame title.
     */
    public Diagramm() {
        dataset = createDataset();
        chart = createChart(dataset);
        chartPanel = new ChartPanel(chart);
        chartPanel.setPreferredSize(new java.awt.Dimension(500, 270));
    }
 
    public Diagramm(Dataset dataset) {
    	this.dataset = ((CategoryDataset)dataset); 	
    }
 
    /**
     * Creates a sample dataset.
     *
     * @return a sample dataset.
     */
   private CategoryDataset createDataset() {
 
        final DefaultCategoryDataset dataset = new DefaultCategoryDataset();
        dataset.addValue(25.0, "Series 1", "Category 1");   
        dataset.addValue(12.0, "Series 2", "Category 2");
        dataset.addValue(14.0, "Series 3", "Category 3");
        dataset.addValue(18.0, "Series 4", "Category 4");
        dataset.addValue(27.0, "Series 5", "Category 5");
        dataset.addValue(25.0, "Series 6", "Category 6");
        dataset.addValue(24.0, "Series 7", "Category 7");   
        return dataset;
 
    }
 
    /**
     * Creates a chart.
     * 
     * @param dataset  the dataset.
     * 
     * @return The chart.
     */
    private JFreeChart createChart(final CategoryDataset dataset) {
 
        final JFreeChart chart = ChartFactory.createBarChart3D(
            "3D Bar Chart Demo",      // chart title
            "Category",               // domain axis label
            "Value",                  // range axis label
            dataset,                  // data
            PlotOrientation.VERTICAL, // orientation
            true,                     // include legend
            true,                     // tooltips
            false                     // urls
        );
 
         plot = chart.getCategoryPlot();
        final CategoryAxis axis = plot.getDomainAxis();
        axis.setCategoryLabelPositions(
            CategoryLabelPositions.createUpRotationLabelPositions(Math.PI / 8.0)
        );
 
        final CategoryItemRenderer renderer = plot.getRenderer();
        final BarRenderer r = (BarRenderer) renderer;
        r.setMaximumBarWidth(0.05);
 
        return chart;
 
    }    
    public void changeDataSet(DefaultCategoryDataset dataset) {
    	plot.setDataset(dataset);    	
    }
 
 
 
    public ChartPanel getChartPanel() {
    	return chartPanel;
    }
 
    public JFreeChart getJFreeChart() {
    	return chart ;
    }
 
    public void setTitle(String title) {
    	chart.setTitle(title);
    }
 
 
} | 
Partager