13. oktober 2008 - 14:51
Der er
7 kommentarer og 1 løsning
Statistik data fra MySQL
jeg har en masse data fra MySQL, som skal fremvises på en overskuelig måde. Uden at have kendskab til det før, vil jeg mene at en applet som kan hente data fra mysql og vise det, kunne være en mulighed. I så fald er der nogen som kan anbefale en ? Der skal også være mulighed for at jeg kan tilføje flere funkt i appletten, så data hentes udfra mere specifikke ønsker. Eller Er det nemmere at jeg laver en GUI,hvorfra jeg kan hente data efter eget ønske, og så måske få en excel ark til at fremvise data ? Hvis der er en tredje mulighed, siger I til. Hovedpointen er bare at jeg skal have et vindue som kun viser de data jeg har valgt fra db
Annonceindlæg fra DE-CIX
13. oktober 2008 - 17:30
#5
import java.awt.Color; import java.awt.Dimension; import java.util.Random; import org.jfree.chart.ChartFactory; import org.jfree.chart.ChartPanel; import org.jfree.chart.JFreeChart; import org.jfree.chart.plot.PlotOrientation; import org.jfree.chart.plot.XYPlot; import org.jfree.chart.renderer.xy.XYItemRenderer; import org.jfree.data.statistics.HistogramDataset; import org.jfree.ui.ApplicationFrame; public class HistogramDemo extends ApplicationFrame { private static Random rng = new Random(); public HistogramDemo() { super("Histogram demo"); HistogramDataset ds = new HistogramDataset(); double[] x = new double[25]; for(int i = 0; i < 25; i++) { x[i] = rng.nextDouble(); } ds.addSeries("X", x, 10, 0.0, 1.0); JFreeChart chart = ChartFactory.createHistogram("Random data", null, null, ds, PlotOrientation.VERTICAL, true, false, false); XYPlot plot = chart.getXYPlot(); XYItemRenderer renderer = plot.getRenderer(); renderer.setSeriesPaint(0, Color.BLUE); ChartPanel chartpan = new ChartPanel(chart); chartpan.setPreferredSize(new Dimension(600, 600)); setContentPane(chartpan); pack(); setVisible(true); } public static void main(String[] args) { new HistogramDemo(); } }
13. oktober 2008 - 17:31
#6
import java.awt.Color; import java.awt.Dimension; import java.text.SimpleDateFormat; import java.util.Random; import org.jfree.chart.ChartFactory; import org.jfree.chart.ChartPanel; import org.jfree.chart.JFreeChart; import org.jfree.chart.axis.DateAxis; import org.jfree.chart.plot.CategoryPlot; import org.jfree.chart.plot.PiePlot; import org.jfree.chart.plot.PlotOrientation; import org.jfree.chart.plot.XYPlot; import org.jfree.chart.renderer.category.CategoryItemRenderer; import org.jfree.chart.renderer.xy.XYItemRenderer; import org.jfree.chart.renderer.xy.XYLineAndShapeRenderer; import org.jfree.data.category.DefaultCategoryDataset; import org.jfree.data.general.DefaultPieDataset; import org.jfree.data.time.Month; import org.jfree.data.time.MovingAverage; import org.jfree.data.time.TimeSeries; import org.jfree.data.time.TimeSeriesCollection; import org.jfree.ui.ApplicationFrame; public class JFCDemo { public static void main(String[] args) { new TimeSeriesDemo(); new PieDemo(); new BarsDemo(); } } class TimeSeriesDemo extends ApplicationFrame { private static Random rng = new Random(); public TimeSeriesDemo() { super("Time series demo"); double[] v = new double[96]; v[0] = 100; for(int i = 1; i < v.length; i++) { v[i] = v[i-1] + 1 + 10 * (rng.nextDouble() - 0.5); } TimeSeries ts1 = new TimeSeries("Random data", Month.class); for(int y = 2000; y < 2008; y++) { for(int m = 1; m < 12; m++) { ts1.add(new Month(m, y), v[12 * (y - 2000) + m -1]); } } TimeSeries ts2 = MovingAverage.createMovingAverage(ts1, "3 month mov.avg.", 3, 0); TimeSeries ts3 = MovingAverage.createMovingAverage(ts1, "6 month mov.avg.", 6, 0); TimeSeries ts4 = MovingAverage.createMovingAverage(ts1, "12 month mov.avg.", 12, 0); TimeSeriesCollection ds = new TimeSeriesCollection(); ds.addSeries(ts1); ds.addSeries(ts2); ds.addSeries(ts3); ds.addSeries(ts4); JFreeChart chart = ChartFactory.createTimeSeriesChart("Time series", "Time", "Value", ds, true, true, false); chart.setBackgroundPaint(Color.LIGHT_GRAY); XYPlot plot = chart.getXYPlot(); XYItemRenderer renderer = plot.getRenderer(); if (renderer instanceof XYLineAndShapeRenderer) { XYLineAndShapeRenderer rr = (XYLineAndShapeRenderer) renderer; rr.setShapesFilled(true); rr.setSeriesPaint(0, Color.BLACK); rr.setSeriesPaint(1, Color.CYAN); rr.setSeriesPaint(2, Color.MAGENTA); rr.setSeriesPaint(3, Color.ORANGE); } DateAxis axis = (DateAxis)plot.getDomainAxis(); axis.setDateFormatOverride(new SimpleDateFormat("MMM-yyyy")); ChartPanel chartpan = new ChartPanel(chart); chartpan.setPreferredSize(new Dimension(600, 600)); setContentPane(chartpan); pack(); setVisible(true); } } class PieDemo extends ApplicationFrame { private static Random rng = new Random(); public PieDemo() { super("Pie demo"); double[] v = new double[5]; for(int i = 0; i < v.length; i++) { v[i] = rng.nextInt(1000); } DefaultPieDataset ds = new DefaultPieDataset(); for(int i = 0; i < v.length; i++) { ds.setValue("Cat. " + (char)(65+i), v[i]); } JFreeChart chart = ChartFactory.createPieChart("Pie", ds, true, true, false); chart.setBackgroundPaint(Color.LIGHT_GRAY); PiePlot plot = (PiePlot) chart.getPlot(); plot.setSectionPaint(ds.getKey(0), Color.RED); plot.setSectionPaint(ds.getKey(1), Color.GREEN); plot.setSectionPaint(ds.getKey(2), Color.YELLOW); plot.setSectionPaint(ds.getKey(3), Color.BLUE); plot.setSectionPaint(ds.getKey(4), Color.PINK); ChartPanel chartpan = new ChartPanel(chart); chartpan.setPreferredSize(new Dimension(400, 400)); setContentPane(chartpan); pack(); setVisible(true); } } class BarsDemo extends ApplicationFrame { private static Random rng = new Random(); public BarsDemo() { super("Bars demo"); double[] v1 = new double[5]; for(int i = 0; i < v1.length; i++) { v1[i] = rng.nextInt(1000); } double[] v2 = new double[5]; for(int i = 0; i < v2.length; i++) { v2[i] = rng.nextInt(1000); } DefaultCategoryDataset ds = new DefaultCategoryDataset(); for(int i = 0; i < v1.length; i++) { ds.addValue(v1[i], "V1", "Cat. " + (char)(65+i)); ds.addValue(v2[i], "V2", "Cat. " + (char)(65+i)); } JFreeChart chart = ChartFactory.createBarChart("Bars", "Category", "Value", ds, PlotOrientation.VERTICAL, true, true, false); chart.setBackgroundPaint(Color.LIGHT_GRAY); CategoryPlot plot = chart.getCategoryPlot(); CategoryItemRenderer renderer = plot.getRenderer(); renderer.setSeriesPaint(0, Color.YELLOW); renderer.setSeriesPaint(1, Color.RED); ChartPanel chartpan = new ChartPanel(chart); chartpan.setPreferredSize(new Dimension(400, 400)); setContentPane(chartpan); pack(); setVisible(true); } }