JFreeChart - TimeSeries चार्ट

एक समय श्रृंखला चार्ट डेटा बिंदुओं के अनुक्रम को प्रदर्शित करता है, जो समय के बराबर अंतराल पर भिन्न होता है। यह अध्याय प्रदर्शित करता है - हम JFreeChart का उपयोग कैसे कर सकते हैंTime Series Chart व्यावसायिक डेटा के दिए गए सेट से।

व्यापार डेटा

आइए हम मानक जावा एपीआई का उपयोग करके उत्पन्न विभिन्न यादृच्छिक संख्याओं पर विचार करें Math.random()। हम इन संख्याओं का उपयोग एक टाइम सीरीज चार्ट बनाने के लिए करते हैं। आप अपनी वेबसाइट पर समय के अंतराल पर होने वाली त्रुटियों की कुल संख्या के लिए समान चार्ट उत्पन्न कर सकते हैं।

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

निम्नलिखित उत्पन्न संख्याओं से टाइम सीरीज़ चार्ट बनाने के लिए कोड है Math.random() एक निश्चित समय पर आंतरिक।

import org.jfree.chart.ChartFactory; 
import org.jfree.chart.ChartPanel; 
import org.jfree.chart.JFreeChart; 
import org.jfree.data.general.SeriesException; 
import org.jfree.data.time.Second; 
import org.jfree.data.time.TimeSeries; 
import org.jfree.data.time.TimeSeriesCollection; 
import org.jfree.data.xy.XYDataset; 
import org.jfree.ui.ApplicationFrame; 
import org.jfree.ui.RefineryUtilities;

public class TimeSeries_AWT extends ApplicationFrame {

   public TimeSeries_AWT( final String title ) {
      super( title );         
      final XYDataset dataset = createDataset( );         
      final JFreeChart chart = createChart( dataset );         
      final ChartPanel chartPanel = new ChartPanel( chart );         
      chartPanel.setPreferredSize( new java.awt.Dimension( 560 , 370 ) );         
      chartPanel.setMouseZoomable( true , false );         
      setContentPane( chartPanel );
   }

   private XYDataset createDataset( ) {
      final TimeSeries series = new TimeSeries( "Random Data" );         
      Second current = new Second( );         
      double value = 100.0;         
      
      for (int i = 0; i < 4000; i++) {
         
         try {
            value = value + Math.random( ) - 0.5;                 
            series.add(current, new Double( value ) );                 
            current = ( Second ) current.next( ); 
         } catch ( SeriesException e ) {
            System.err.println("Error adding to series");
         }
      }

      return new TimeSeriesCollection(series);
   }     

   private JFreeChart createChart( final XYDataset dataset ) {
      return ChartFactory.createTimeSeriesChart(             
         "Computing Test", 
         "Seconds",              
         "Value",              
         dataset,             
         false,              
         false,              
         false);
   }

   public static void main( final String[ ] args ) {
      final String title = "Time Series Management";         
      final TimeSeries_AWT demo = new TimeSeries_AWT( title );         
      demo.pack( );         
      RefineryUtilities.positionFrameRandomly( demo );         
      demo.setVisible( true );
   }
}

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

$javac TimeSeries_AWT.java  
$java TImeSeries_AWT

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

JPEG छवि निर्माण

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

import java.io.*;

import org.jfree.chart.ChartFactory;
import org.jfree.chart.JFreeChart;
import org.jfree.data.general.SeriesException;
import org.jfree.data.time.Second;
import org.jfree.data.time.TimeSeries;
import org.jfree.data.time.TimeSeriesCollection;
import org.jfree.data.xy.XYDataset;
import org.jfree.chart.ChartUtilities;

public class TimeSeriesChart {
   
   public static void main( final String[ ] args )throws Exception {
      final TimeSeries series = new TimeSeries( "Random Data" );
      Second current = new Second();
      double value = 100.0;
      
      for ( int i = 0 ; i < 4000 ; i++ ) {
         
         try {
            value = value + Math.random( ) - 0.5;
            series.add( current , new Double( value ) );
            current = ( Second ) current.next( );
         } catch ( SeriesException e ) {
            System.err.println( "Error adding to series" );
         }
      }
      
      final XYDataset dataset=( XYDataset )new TimeSeriesCollection(series);
      JFreeChart timechart = ChartFactory.createTimeSeriesChart(
         "Computing Test", 
         "Seconds", 
         "Value", 
         dataset,
         false, 
         false, 
         false);
         
      int width = 560;   /* Width of the image */
      int height = 370;  /* Height of the image */ 
      File timeChart = new File( "TimeChart.jpeg" ); 
      ChartUtilities.saveChartAsJPEG( timeChart, timechart, width, height );
   }
}

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

$javac TimeSeriesChart.java  
$java TimeSeriesChart

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