Create multiple pie chart in single frame using JFreeChart

This Example shows you how to create a multiple pie charts in a single frame in jsp page using JFreeChart.

Create multiple pie chart in single frame using JFreeChart

Create multiple pie chart in single frame using JFreeChart

     

This Example shows you how to create a multiple pie charts in a single frame in jsp page using JFreeChart. Code given below creates a simple pie charts for given values. In the code given below we have extended class ApplicationFrame to create a frame and also pass a string value to the constructor of ApplicationFrame class by using super keyword that will be name of the created frame.

Methods used in this example are described below:

pack(): This method invokes the layout manager.

centerFrameOnScreen(): This method is used for the position of the frame in the middle of the screen.

setVisible(): This method is used for display frame on the screen.

createCategoryDataset(): This method is used to create the instance of CategoryDataset Interface and that contains a copy of the data in an array.

createMultiplePieChart(): This method is used to create bar chart for given values. It takes title, category axis label, dataset, legend, tool tips and urls as parameters.

saveChartAsPNG(): This method is used to save chart in to png format.

jspmultilepiechart.jsp

<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">


<%page  import="java.awt.*" %>
<%page  import="java.io.*" %>
<%page  import="org.jfree.chart.*" %>
<%page  import="org.jfree.chart.entity.*" %>
<%page  import="org.jfree.chart.plot.*"%>
<%page  import ="org.jfree.data.category.*"%>
<%page  import ="org.jfree.data.general.*"%>
<%page  import ="org.jfree.util.*"%>

<%
  final double[][] data = new double[][]{
  {3.04.03.05.0},
  {5.07.06.08.0},
  {5.07.03.08.0},
  {1.02.03.04.0},
  {2.03.02.03.0}
  };

  final CategoryDataset dataset = 
  DatasetUtilities.createCategoryDataset
(
  "Region ""Sales/Q", data);


 final JFreeChart chart = 
   ChartFactory.createMultiplePieChart
(
 "Multiple Pie Chart", dataset, TableOrder.BY_ROW, 
 true, true, 
false);

 chart.setBackgroundPaint(new Color(249231236));
  try {
 final ChartRenderingInfo info = new ChartRenderingInfo
   (
new StandardEntityCollection());

  final File file1 = new File("../webapps/jspchart/
  web/multipiechart.png"
);

  ChartUtilities.saveChartAsPNG(
  file1, chart, 
800600, info);
  catch (Exception e) {
  out.println(e);
  }
%>

<html>
  <head>
  <meta http-equiv="Content-Type" 
  
content="text/html; charset=UTF-8">
  <title>JSP Page</title>
  </head>
  <body>
  <IMG SRC="multipiechart.png" 
   WIDTH=
"600" HEIGHT="400" BORDER="0" 
   USEMAP=
"#chart">
  </body>
</html>


Output:



Download code