JFreeChart - लाइन चार्ट

एक लाइन चार्ट या लाइन ग्राफ सीधे लाइन खंडों से जुड़े डेटा बिंदुओं (मार्कर) की एक श्रृंखला के रूप में जानकारी प्रदर्शित करता है। लाइन चार्ट दिखाता है कि समान समय आवृत्ति पर डेटा कैसे बदलता है।

यह अध्याय दर्शाता है कि हम JFreeChart का उपयोग कैसे कर सकते हैं Line Chart व्यवसाय डेटा के दिए गए सेट से।

व्यापार डेटा

निम्नलिखित उदाहरण 1970 से शुरू होने वाले विभिन्न वर्षों में खोले गए स्कूलों की संख्या का रुझान दिखाने के लिए एक लाइन चार्ट बनाते हैं।

दिए गए डेटा निम्नानुसार हैं -

साल स्कूलों की संख्या
1970 15
1980 30
1990 60
2000 120
2013 240
2014 300

AWT आधारित अनुप्रयोग

नीचे दी गई जानकारी से लाइन चार्ट बनाने के लिए कोड है। यह कोड आपको किसी भी AWT आधारित एप्लिकेशन में लाइन चार्ट एम्बेड करने में मदद करता है।

import org.jfree.chart.ChartPanel;
import org.jfree.chart.ChartFactory;
import org.jfree.chart.JFreeChart;
import org.jfree.ui.ApplicationFrame;
import org.jfree.ui.RefineryUtilities;
import org.jfree.chart.plot.PlotOrientation;
import org.jfree.data.category.DefaultCategoryDataset;

public class LineChart_AWT extends ApplicationFrame {

   public LineChart_AWT( String applicationTitle , String chartTitle ) {
      super(applicationTitle);
      JFreeChart lineChart = ChartFactory.createLineChart(
         chartTitle,
         "Years","Number of Schools",
         createDataset(),
         PlotOrientation.VERTICAL,
         true,true,false);
         
      ChartPanel chartPanel = new ChartPanel( lineChart );
      chartPanel.setPreferredSize( new java.awt.Dimension( 560 , 367 ) );
      setContentPane( chartPanel );
   }

   private DefaultCategoryDataset createDataset( ) {
      DefaultCategoryDataset dataset = new DefaultCategoryDataset( );
      dataset.addValue( 15 , "schools" , "1970" );
      dataset.addValue( 30 , "schools" , "1980" );
      dataset.addValue( 60 , "schools" ,  "1990" );
      dataset.addValue( 120 , "schools" , "2000" );
      dataset.addValue( 240 , "schools" , "2010" );
      dataset.addValue( 300 , "schools" , "2014" );
      return dataset;
   }
   
   public static void main( String[ ] args ) {
      LineChart_AWT chart = new LineChart_AWT(
         "School Vs Years" ,
         "Numer of Schools vs years");

      chart.pack( );
      RefineryUtilities.centerFrameOnScreen( chart );
      chart.setVisible( true );
   }
}

आइए हम उपरोक्त जावा कोड को अंदर रखते हैं LineChart_AWT.java फ़ाइल, और फिर संकलित करें और इसे कमांड से चलाएं जैसे कि -

$javac LineChart_AWT.java  
$java LineChart_AWT

यदि सब कुछ ठीक है, तो यह निम्नलिखित रेखा ग्राफ को उत्पन्न करने के लिए संकलित और चलेगा -

JPEG छवि निर्माण

कमांड लाइन से JPEG इमेज जेनरेट करने के लिए उपरोक्त उदाहरण को फिर से लिखते हैं।

import java.io.*;

import org.jfree.chart.JFreeChart; 
import org.jfree.chart.ChartFactory; 
import org.jfree.chart.ChartUtilities; 
import org.jfree.chart.plot.PlotOrientation;
import org.jfree.data.category.DefaultCategoryDataset;

public class LineChart {

   public static void main( String[ ] args ) throws Exception {
      DefaultCategoryDataset line_chart_dataset = new DefaultCategoryDataset();
      line_chart_dataset.addValue( 15 , "schools" , "1970" );
      line_chart_dataset.addValue( 30 , "schools" , "1980" );
      line_chart_dataset.addValue( 60 , "schools" , "1990" );
      line_chart_dataset.addValue( 120 , "schools" , "2000" );
      line_chart_dataset.addValue( 240 , "schools" , "2010" ); 
      line_chart_dataset.addValue( 300 , "schools" , "2014" );

      JFreeChart lineChartObject = ChartFactory.createLineChart(
         "Schools Vs Years","Year",
         "Schools Count",
         line_chart_dataset,PlotOrientation.VERTICAL,
         true,true,false);

      int width = 640;    /* Width of the image */
      int height = 480;   /* Height of the image */ 
      File lineChart = new File( "LineChart.jpeg" ); 
      ChartUtilities.saveChartAsJPEG(lineChart ,lineChartObject, width ,height);
   }
}

आइए हम उपरोक्त जावा कोड को अंदर रखते हैं LineChart.java फ़ाइल, और फिर संकलित करें और इसे कमांड से चलाएं जैसे कि -

$javac LineChart.java  
$java LineChart

यदि सब कुछ ठीक है, तो यह JPEG छवि फ़ाइल नाम बनाने के लिए संकलित और निष्पादित करेगा LineChart.jpeg अपनी वर्तमान निर्देशिका में।