1 4 package com.tc.admin; 5 6 import java.awt.Color ; 7 import java.text.SimpleDateFormat ; 8 import org.jfree.chart.ChartFactory; 9 import org.jfree.chart.JFreeChart; 10 import org.jfree.chart.axis.DateAxis; 11 import org.jfree.chart.plot.XYPlot; 12 import org.jfree.chart.renderer.xy.XYItemRenderer; 13 import org.jfree.chart.renderer.xy.XYLineAndShapeRenderer; 14 import org.jfree.data.time.TimeSeries; 15 import org.jfree.data.time.TimeSeriesCollection; 16 import org.jfree.data.xy.XYDataset; 17 import org.jfree.ui.RectangleInsets; 18 19 public class DemoChartFactory { 20 public static JFreeChart getChart(TimeSeries ts) { 21 XYDataset dataset = createDataset(ts); 22 return createChart(dataset); 23 } 24 25 private static JFreeChart createChart(XYDataset dataset) { 26 JFreeChart chart = 27 ChartFactory.createTimeSeriesChart( 28 "Transaction Rate", 29 "Time", 30 "Txn Per Second", 31 dataset, 32 true, 33 true, 34 false); 35 36 chart.setBackgroundPaint(Color.white); 37 38 XYPlot plot = (XYPlot)chart.getPlot(); 39 40 plot.setBackgroundPaint(Color.lightGray); 41 plot.setDomainGridlinePaint(Color.white); 42 plot.setRangeGridlinePaint(Color.white); 43 plot.setAxisOffset(new RectangleInsets(5.0, 5.0, 5.0, 5.0)); 44 plot.setDomainCrosshairVisible(true); 45 plot.setRangeCrosshairVisible(true); 46 47 XYItemRenderer r = plot.getRenderer(); 48 49 if(r instanceof XYLineAndShapeRenderer) { 50 XYLineAndShapeRenderer renderer = (XYLineAndShapeRenderer)r; 51 52 renderer.setBaseShapesVisible(true); 53 renderer.setBaseShapesFilled(true); 54 } 55 56 DateAxis axis = (DateAxis) plot.getDomainAxis(); 57 axis.setDateFormatOverride(new SimpleDateFormat ("kk:mm:ss")); 58 59 return chart; 60 } 61 62 private static XYDataset createDataset(TimeSeries s1) { 63 TimeSeriesCollection dataset = new TimeSeriesCollection(); 64 65 dataset.addSeries(s1); 66 67 dataset.setDomainIsPointsInTime(true); 68 69 return dataset; 70 } 71 } 72 | Popular Tags |