JFreeChart-원형 차트

원형 차트에서 각 섹터의 호 길이는 나타내는 양에 비례합니다. 이 장에서는 — JFreeChart를 사용하여Pie Chart 주어진 비즈니스 데이터 세트에서

비즈니스 데이터

다음 예는 원형 차트를 사용하여 모바일 판매를 보여줍니다. 다음은 다양한 모바일 브랜드 및 판매 목록 (하루 단위)입니다.

S. 아니 모바일 브랜드 판매 (일일 UNITS)
1 아이폰 5S 20
2 삼성 그랜드 20
MOTO G 40
4 Nokia Lumia 10

AWT 기반 애플리케이션

다음은 위의 정보를 이용하여 파이 차트를 생성하는 코드입니다. 이 코드는 AWT 기반 애플리케이션에 원형 차트를 포함하는 데 도움이됩니다.

import javax.swing.JPanel;

import org.jfree.chart.ChartFactory;
import org.jfree.chart.ChartPanel;
import org.jfree.chart.JFreeChart;
import org.jfree.data.general.DefaultPieDataset;
import org.jfree.data.general.PieDataset;
import org.jfree.ui.ApplicationFrame;
import org.jfree.ui.RefineryUtilities;
 
public class PieChart_AWT extends ApplicationFrame {
   
   public PieChart_AWT( String title ) {
      super( title ); 
      setContentPane(createDemoPanel( ));
   }
   
   private static PieDataset createDataset( ) {
      DefaultPieDataset dataset = new DefaultPieDataset( );
      dataset.setValue( "IPhone 5s" , new Double( 20 ) );  
      dataset.setValue( "SamSung Grand" , new Double( 20 ) );   
      dataset.setValue( "MotoG" , new Double( 40 ) );    
      dataset.setValue( "Nokia Lumia" , new Double( 10 ) );  
      return dataset;         
   }
   
   private static JFreeChart createChart( PieDataset dataset ) {
      JFreeChart chart = ChartFactory.createPieChart(      
         "Mobile Sales",   // chart title 
         dataset,          // data    
         true,             // include legend   
         true, 
         false);

      return chart;
   }
   
   public static JPanel createDemoPanel( ) {
      JFreeChart chart = createChart(createDataset( ) );  
      return new ChartPanel( chart ); 
   }

   public static void main( String[ ] args ) {
      PieChart_AWT demo = new PieChart_AWT( "Mobile Sales" );  
      demo.setSize( 560 , 367 );    
      RefineryUtilities.centerFrameOnScreen( demo );    
      demo.setVisible( true ); 
   }
}

위의 Java 코드를 PieChart_AWT.java 다음과 같이 프롬프트 된 명령에서 컴파일하고 실행하십시오.

$javac PieChart_AWT.java  
$java PieChart_AWT

모든 것이 정상이면 다음 파이 그래프를 생성하기 위해 컴파일 및 실행됩니다.

응용 프로그램에 차트를 포함 할 필요가없는 경우 명령 프롬프트에서 차트 이미지를 만들 수 있습니다. JFreeChart를 사용하면 JPG 또는 PNG 형식으로 차트 이미지를 저장할 수 있습니다.

JPEG 이미지 생성

위의 예를 다시 작성하여 명령 줄에서 JPEG 이미지를 생성 해 보겠습니다. 다음은 JFreeChart 라이브러리에서 제공하는 두 가지 API로, 요구 사항에 따라 PNG 또는 JPEG 이미지를 생성하는 데 사용할 수 있습니다.

  • saveChartAsPNG() − PNG 형식으로 이미지를 저장하는 API.

  • saveChartAsJPEG() − JPEG 형식으로 이미지를 저장하는 API.

import java.io.*;

import org.jfree.chart.ChartUtilities;
import org.jfree.chart.ChartFactory;
import org.jfree.chart.JFreeChart;
import org.jfree.data.general.DefaultPieDataset;

public class PieChart {
   
   public static void main( String[ ] args ) throws Exception {
      DefaultPieDataset dataset = new DefaultPieDataset( );
      dataset.setValue("IPhone 5s", new Double( 20 ) );
      dataset.setValue("SamSung Grand", new Double( 20 ) );
      dataset.setValue("MotoG", new Double( 40 ) );
      dataset.setValue("Nokia Lumia", new Double( 10 ) );

      JFreeChart chart = ChartFactory.createPieChart(
         "Mobile Sales",   // chart title
         dataset,          // data
         true,             // include legend
         true,
         false);
         
      int width = 640;   /* Width of the image */
      int height = 480;  /* Height of the image */ 
      File pieChart = new File( "PieChart.jpeg" ); 
      ChartUtilities.saveChartAsJPEG( pieChart , chart , width , height );
   }
}

위의 Java 코드를 PieChart.java 다음과 같이 프롬프트 된 명령에서 컴파일하고 실행하십시오.

$javac PieChart.java  
$java PieChart

모든 것이 정상이면 컴파일되고 실행되어 이름이 JPEG 이미지 파일이 생성됩니다. PieChart.jpeg 현재 디렉토리에서.