1 40 41 package org.jfree.experimental.chart.swt.demo; 42 43 import java.awt.Color ; 44 45 import org.eclipse.swt.SWT; 46 import org.eclipse.swt.layout.FillLayout; 47 import org.eclipse.swt.widgets.Display; 48 import org.eclipse.swt.widgets.Shell; 49 import org.jfree.chart.ChartFactory; 50 import org.jfree.chart.JFreeChart; 51 import org.jfree.chart.axis.CategoryAxis; 52 import org.jfree.chart.axis.CategoryLabelPositions; 53 import org.jfree.chart.axis.NumberAxis; 54 import org.jfree.chart.plot.CategoryPlot; 55 import org.jfree.chart.plot.PlotOrientation; 56 import org.jfree.chart.renderer.category.BarRenderer; 57 import org.jfree.data.category.CategoryDataset; 58 import org.jfree.data.category.DefaultCategoryDataset; 59 import org.jfree.experimental.chart.swt.ChartComposite; 60 61 64 public class SWTBarChartDemo1 { 65 66 71 private static CategoryDataset createDataset() { 72 73 String series1 = "First"; 75 String series2 = "Second"; 76 String series3 = "Third"; 77 78 String category1 = "Category 1"; 80 String category2 = "Category 2"; 81 String category3 = "Category 3"; 82 String category4 = "Category 4"; 83 String category5 = "Category 5"; 84 85 DefaultCategoryDataset dataset = new DefaultCategoryDataset(); 87 88 dataset.addValue(1.0, series1, category1); 89 dataset.addValue(4.0, series1, category2); 90 dataset.addValue(3.0, series1, category3); 91 dataset.addValue(5.0, series1, category4); 92 dataset.addValue(5.0, series1, category5); 93 94 dataset.addValue(5.0, series2, category1); 95 dataset.addValue(7.0, series2, category2); 96 dataset.addValue(6.0, series2, category3); 97 dataset.addValue(8.0, series2, category4); 98 dataset.addValue(4.0, series2, category5); 99 100 dataset.addValue(4.0, series3, category1); 101 dataset.addValue(3.0, series3, category2); 102 dataset.addValue(2.0, series3, category3); 103 dataset.addValue(3.0, series3, category4); 104 dataset.addValue(6.0, series3, category5); 105 106 return dataset; 107 108 } 109 110 117 private static JFreeChart createChart(CategoryDataset dataset) { 118 119 JFreeChart chart = ChartFactory.createBarChart( 121 "Bar Chart Demo", "Category", "Value", dataset, PlotOrientation.VERTICAL, true, true, false ); 130 131 133 chart.setBackgroundPaint(Color.white); 135 136 CategoryPlot plot = chart.getCategoryPlot(); 138 plot.setBackgroundPaint(Color.lightGray); 139 plot.setDomainGridlinePaint(Color.white); 140 plot.setDomainGridlinesVisible(true); 141 plot.setRangeGridlinePaint(Color.white); 142 143 final NumberAxis rangeAxis = (NumberAxis) plot.getRangeAxis(); 145 rangeAxis.setStandardTickUnits(NumberAxis.createIntegerTickUnits()); 146 147 BarRenderer renderer = (BarRenderer) plot.getRenderer(); 149 renderer.setDrawBarOutline(false); 150 151 CategoryAxis domainAxis = plot.getDomainAxis(); 152 domainAxis.setCategoryLabelPositions( 153 CategoryLabelPositions.createUpRotationLabelPositions(Math.PI / 6.0) 154 ); 155 157 return chart; 158 159 } 160 161 166 public static void main( String [] args ) 167 { 168 JFreeChart chart = createChart(createDataset()); 169 Display display = new Display(); 170 Shell shell = new Shell(display); 171 shell.setSize(600, 300); 172 shell.setLayout(new FillLayout()); 173 shell.setText("Test for jfreechart running with SWT"); 174 final ChartComposite frame = new ChartComposite(shell, SWT.NONE, chart, 175 false); 176 frame.pack(); 177 shell.open(); 178 while (!shell.isDisposed()) { 179 if (!display.readAndDispatch()) 180 display.sleep(); 181 } 182 } 183 184 } 185 186 | Popular Tags |