chettyharish
chettyharish

Reputation: 1734

Pretty pie charts in JFreechart

Is it possible to get complex, beautiful colors for pie charts in JFreechart? I mean how can I achieve the colors like the image shown in the link?

Is it possible using the RGB format, or do you need to use a different format? How can we do it. thank you for your help

Upvotes: 0

Views: 1433

Answers (2)

obourgain
obourgain

Reputation: 9336

You can specify the color using RGB values for each slice of the pie with PiePlot.setSectionPaint.

Here is an example :

  DefaultPieDataset result = new DefaultPieDataset();
  result.setValue("1", 40.);
  result.setValue("2", 30.);
  result.setValue("3", 20.);
  result.setValue("4", 10.);
  JFreeChart chart = ChartFactory.createPieChart3D("", result, true, true, false);
  PiePlot3D plot = (PiePlot3D) chart.getPlot();
  plot.setBackgroundPaint(new Color(255, 255, 255, 0));
  plot.setSectionPaint("1", new Color(31, 73, 125));
  plot.setSectionPaint("2", new Color(192, 80, 77));
  plot.setSectionPaint("3", new Color(155, 187, 89));
  plot.setSectionPaint("4", new Color(128, 100, 162));

Upvotes: 2

trashgod
trashgod

Reputation: 205765

You can use setDrawingSupplier() to supply a custom palette, as shown here, or override lookupSectionPaint() to return any desired Paint, as shown here for getItemPaint().

You'd have to experiment with the outline stroke to approximate the highlight.

Upvotes: 1

Related Questions