jfreechart zmiana wyglądu wykresu

0

Cześć,
Mam problem ze zmianą wyglądu mojego wykresu, miałem problem ze znalezieniem przykładu który pomógłby mi w moim przypadku. Nie wiem jak zmieniać kolor linii oraz typ i kolor pointerów.

XYDataset ds = dataset;
        JFreeChart chart = ChartFactory.createXYLineChart("char anodowe", "Va", "Ia", ds);
        
        
        chart.setBackgroundPaint(Color.GRAY);
        BarRenderer renderer= null;
        CategoryPlot plot = null;
        renderer = new BarRenderer();
        jPanelUkochany.setLayout(new java.awt.BorderLayout())
XYDataset ds = dataset;
        JFreeChart chart = ChartFactory.createScatterPlot("char anodowe", "Va", "Ia", ds, PlotOrientation.VERTICAL, true, true, false);
        
        
        chart.setBackgroundPaint(Color.GRAY);
        BarRenderer renderer= null;
        CategoryPlot plot = null;
        renderer = new BarRenderer();
        jPanelUkochany.setLayout(new java.awt.BorderLayout())

Z góry dzięki za odpowiedź.

0

Google "JFreeChart change line color"
Pierwszy wynik z góry:
http://www.jfree.org/phpBB2/viewtopic.php?f=3&t=27967

Trwało 45 sekund.

0

Sprawdzałem ten sposób przed napisaniem posta... ten i wiele innych sposobów łącznie z proponowanym gdzieś renderowaniem tabeli. Nie rozumiem czemu tyle osób tutaj zakłada z góry, że post jest wynikiem pójścia na łatwiznę...

0

Ok, zwracam honor, jak wrócę z roboty do domu, to sprawdzę swój projekt w którym używałem JCharta i dam znać :)

1

już mi się udało, okazało się (przynajmniej tak mi się wydaje) że problem wynikał z tego, ze mój wykres zawiera wiele krzywych i używam obiektu XYSeriesCollection, do którego zapisuje wszystkie te serie. Dla tego obiektu kolor każdej serii zmieniamy osobno

        XYSeriesCollection dataset = new XYSeriesCollection();
        XYDataset ds = dataset;
        JFreeChart chart = ChartFactory.createXYLineChart("char anodowe", "Va", "Ia", ds);
        
        
        chart.setBackgroundPaint(Color.GRAY);
        XYPlot plot = chart.getXYPlot();
        XYLineAndShapeRenderer renderer = new XYLineAndShapeRenderer();
        
        
        renderer.setSeriesPaint(0, Color.BLACK);
        renderer.setSeriesPaint(1, Color.BLACK);
        renderer.setSeriesPaint(2, Color.BLACK);
        renderer.setSeriesPaint(3, Color.BLACK);
        renderer.setSeriesPaint(4, Color.BLACK);
        renderer.setSeriesPaint(5, Color.BLACK);
        renderer.setSeriesPaint(6, Color.BLACK);
        renderer.setSeriesPaint(7, Color.BLACK);
        renderer.setSeriesPaint(8, Color.BLACK);
        renderer.setSeriesPaint(9, Color.BLACK);
        renderer.setSeriesPaint(10, Color.BLACK);
        renderer.setSeriesPaint(11, Color.BLACK); 

Dziękuje Black007 za zwrócenie sprawiedliwości :)

1 użytkowników online, w tym zalogowanych: 0, gości: 1