JFreeChart Bar chart custom color?

user3794422 picture user3794422 · Jul 3, 2014 · Viewed 17.1k times · Source

I am using JFreeCharts in java to create a bar chart. My question is fairly simple... how can I choose a custom color for all of the bars in a bar chart? I'm not sure if this customization would be done in a GradientPaint. An example of my code that determines bar color is:

   final GradientPaint gp0 = new GradientPaint(
                    0.0f, 0.0f, Color.blue, 
                    0.0f, 0.0f, Color.blue
                );

I'm not sure if this is the right way to go for custom colors or not. Basically, I don't know if GradientPaint is the right way to go or not. If it is, could someone let me know how I could edit this code to make it a custom color rather than blue?

I'm not sure if this helps, but say the information for the custom color was

  • hue: 142
  • Sat: 109
  • Lum:126
  • Red: 79
  • Green: 129
  • Blue: 189

With this is there a way to customize the color of the chart?

Answer

Tomas Bisciak picture Tomas Bisciak · Jul 3, 2014

It was a while since i coded with jfreechart.Bud if i remember corectly this was code that i wrote to change bar paint ;).

    CategoryPlot cplot = (CategoryPlot)chart.getPlot();
    cplot.setBackgroundPaint(SystemColor.inactiveCaption);//change background color

    //set  bar chart color

    ((BarRenderer)cplot.getRenderer()).setBarPainter(new StandardBarPainter());

    BarRenderer r = (BarRenderer)chart.getCategoryPlot().getRenderer();
    r.setSeriesPaint(0, Color.blue);

Im looking at the code for my first application ever written.Im not sure if it will work now.

For future i recommend to google out or purchase PDF guide to jfreechart.You find all the references and samples there.Bud if you can ,skip to JavaFX i strongly recommend it ,working with jfreechart is pain.To be honest.Implementing charts in javafx is easy and looks way better ;)