06. september 2006 - 10:25Der er
8 kommentarer og 1 løsning
Graf i Java med NetBeans.
Er det forholdvis nemt, at lave sine egne grafer i Java (NetBeans) eller skal man have et plugin? Og i så fald er der så nogen som kan hjælpe mig (give mig hints) til hvor jeg skal starte. Det skal være muligt, at opdatere grafen "real-time".
public class MovingAverageDemo extends ApplicationFrame { public MovingAverageDemo(String title, String data, int y1, int m1, int y2, int m2, double[] val) { super(title); TimeSeries ts1 = new TimeSeries(data, Month.class); int y = y1; int m = m1; int ix = 0; while((y < y2) || (m <= m2)) { ts1.add(new Month(m, y), val[ix]); m++; if(m > 12) { y++; m = 1; } ix++; } TimeSeries ts2 = MovingAverage.createMovingAverage(ts1, "3 month mov.avg. of " + data, 3, 0); TimeSeries ts3 = MovingAverage.createMovingAverage(ts1, "6 month mov.avg. of " + data, 6, 0); TimeSeries ts4 = MovingAverage.createMovingAverage(ts1, "12 month mov.avg. of " + data, 12, 0); TimeSeriesCollection dataset = new TimeSeriesCollection(); dataset.addSeries(ts1); dataset.addSeries(ts2); dataset.addSeries(ts3); dataset.addSeries(ts4); JFreeChart chart = ChartFactory.createTimeSeriesChart(title, "Time", "Value", dataset, true, true, false); chart.setBackgroundPaint(Color.PINK); XYPlot plot = chart.getXYPlot(); XYItemRenderer renderer = plot.getRenderer(); System.out.println(renderer.getClass().getName()); 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 chartPanel = new ChartPanel(chart); chartPanel.setPreferredSize(new Dimension(800, 600)); setContentPane(chartPanel); pack(); setVisible(true); } public static void main(String[] args) { double[] x = { 1, 4, 9, 16, 25, 36, 30, 24, 18, 12, 6, 0, 32, 48, 56, 60, 62, 63 }; MovingAverageDemo mad = new MovingAverageDemo("Moving Average Demo", "test data", 2003, 1, 2004, 6, x); } }
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.