G
Gast2
Gast
Hallo zusammen,
ich hab hier mal ein kleine Beispiel für ein 3 Balken diagramm, weiß jemand wie ich den balken für jede serie eine andere Farbe geben kann. ich habs unten schon mal versucht mit grün aber der Balken will nicht gründ werden.
ich hab hier mal ein kleine Beispiel für ein 3 Balken diagramm, weiß jemand wie ich den balken für jede serie eine andere Farbe geben kann. ich habs unten schon mal versucht mit grün aber der Balken will nicht gründ werden.
Java:
package view;
import java.awt.BorderLayout;
import java.awt.Color;
import java.text.NumberFormat;
import javax.swing.JFrame;
import org.jfree.chart.ChartFactory;
import org.jfree.chart.ChartPanel;
import org.jfree.chart.ChartUtilities;
import org.jfree.chart.JFreeChart;
import org.jfree.chart.axis.NumberAxis;
import org.jfree.chart.labels.ItemLabelAnchor;
import org.jfree.chart.labels.ItemLabelPosition;
import org.jfree.chart.labels.StandardCategoryItemLabelGenerator;
import org.jfree.chart.plot.CategoryPlot;
import org.jfree.chart.plot.PlotOrientation;
import org.jfree.chart.renderer.category.BarRenderer3D;
import org.jfree.data.category.CategoryDataset;
import org.jfree.data.category.DefaultCategoryDataset;
import org.jfree.ui.TextAnchor;
public class BarChartFrame extends JFrame {
private ChartPanel chartpanel;
public BarChartFrame() {
super(" Chart");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
CategoryDataset categorydataset = createDataset();
JFreeChart jfreechart = createChart(categorydataset);
chartpanel = new ChartPanel(jfreechart);
add(chartpanel, BorderLayout.CENTER);
setSize(400, 400);
setLocationRelativeTo(null);
setVisible(true);
}
private CategoryDataset createDataset() {
DefaultCategoryDataset defaultcategorydataset = new DefaultCategoryDataset();
defaultcategorydataset.setValue(5, "serie1", "cat1");
defaultcategorydataset.setValue(1, "serie2", "cat1");
defaultcategorydataset.setValue(15, "serie1", "cat2");
defaultcategorydataset.setValue(25, "serie2", "cat2");
defaultcategorydataset.setValue(35, "serie1", "cat3");
defaultcategorydataset.setValue(45, "serie2", "cat3");
return defaultcategorydataset;
}
private JFreeChart createChart(CategoryDataset categorydataset) {
JFreeChart jfreechart = ChartFactory.createBarChart3D("Test", "Serie",
"Value", categorydataset, PlotOrientation.VERTICAL, true, true,
false);
CategoryPlot categoryplot = (CategoryPlot) jfreechart.getPlot();
BarRenderer3D renderer = (BarRenderer3D) categoryplot.getRenderer();
renderer
.setBaseItemLabelGenerator(new StandardCategoryItemLabelGenerator());
renderer.setBaseItemLabelsVisible(true);
renderer.setItemLabelAnchorOffset(10D);
renderer.setBasePositiveItemLabelPosition(new ItemLabelPosition(
ItemLabelAnchor.OUTSIDE12, TextAnchor.BASELINE_LEFT));
// wird einfach nicht grün!!!
renderer.setSeriesPaint(0, Color.GREEN);
// custombarrenderer3d.setSeriesPaint(1, gp0);
// custombarrenderer3d.setSeriesPaint(2, gp0);
categoryplot.setRenderer(renderer);
NumberAxis numberaxis = (NumberAxis) categoryplot.getRangeAxis();
numberaxis.setNumberFormatOverride(NumberFormat.getCurrencyInstance());
ChartUtilities.applyCurrentTheme(jfreechart);
return jfreechart;
}
public static void main(String[] args) {
new BarChartFrame();
}
}