TimeSeriesDataset ব্যবহার করে Time Series Chart তৈরি

ime Series Chart তৈরি করা - জেফ্রিচার্ট (JFreeChart) - Java Technologies

286

FreeChart একটি শক্তিশালী Java লাইব্রেরি, যা বিভিন্ন ধরনের চার্ট তৈরি করতে ব্যবহৃত হয়। এর মধ্যে Time Series Chart এমন একটি চার্ট, যা সময়ের সাথে ডেটার পরিবর্তন দেখতে সহায়তা করে। এটি সাধারণত TimeSeriesDataset ব্যবহার করে তৈরি করা হয়। TimeSeriesDataset হল একটি বিশেষ ধরনের Dataset যা টাইম সিরিজ ডেটা (যেমন তারিখ, সময়) সংগ্রহ করে এবং সেই ডেটাকে এক্সপোনেনশিয়াল বা লিনিয়ারভাবে গ্রাফে উপস্থাপন করে।

এটি বিশেষভাবে ব্যবহার করা হয় স্টক মার্কেট, অর্থনীতি, ওয়েব ট্রাফিক বা যে কোন ক্ষেত্র যেখানে ডেটার সময় ভিত্তিক পরিবর্তন গুরুত্বপূর্ণ। Time Series Chart দেখিয়ে আপনি একটি নির্দিষ্ট সময়ের মধ্যে ডেটার পরিবর্তন এবং ট্রেন্ড বিশ্লেষণ করতে পারেন।


Time Series Chart তৈরি করার উদাহরণ

নিচে একটি সাধারণ উদাহরণ দেওয়া হলো যেখানে TimeSeriesDataset ব্যবহার করে একটি Time Series Chart তৈরি করা হবে। এই উদাহরণে, আমরা প্রতি মাসের জন্য বিক্রয় ডেটা ব্যবহার করব এবং সেই ডেটা Time Series Chart আকারে দেখাব।

1. জেফ্রিচার্ট লাইব্রেরি সেটআপ

প্রথমে, JFreeChart লাইব্রেরি আপনার প্রজেক্টে যোগ করতে হবে। আপনি যদি Maven ব্যবহার করেন, তাহলে pom.xml ফাইলে নিচের ডিপেনডেন্সি যোগ করুন:

<dependency>
    <groupId>org.jfree</groupId>
    <artifactId>jfreechart</artifactId>
    <version>1.5.3</version>
</dependency>

এছাড়া, আপনি JFreeChart এবং JCommon JAR ফাইল ডাউনলোড করে আপনার প্রজেক্টে যোগ করতে পারেন।


2. Time Series Chart তৈরি করার কোড উদাহরণ

এখন, আমরা একটি Time Series Chart তৈরি করব যেখানে মাস অনুযায়ী বিক্রয়ের ডেটা থাকবে। নিচে পুরো কোড দেওয়া হলো:

import org.jfree.chart.ChartFactory;
import org.jfree.chart.ChartPanel;
import org.jfree.chart.JFreeChart;
import org.jfree.chart.plot.PlotOrientation;
import org.jfree.data.time.Second;
import org.jfree.data.time.TimeSeries;
import org.jfree.data.time.TimeSeriesCollection;

import javax.swing.*;

public class TimeSeriesChartExample {

    public static void main(String[] args) {
        // TimeSeriesDataset তৈরি
        TimeSeriesCollection dataset = createDataset();

        // Time Series Chart তৈরি
        JFreeChart chart = ChartFactory.createTimeSeriesChart(
                "Monthly Sales Over Time",   // Chart Title
                "Time",                      // X-Axis Label
                "Sales",                     // Y-Axis Label
                dataset,                     // Dataset
                true,                        // Legend
                true,                        // Tooltips
                false                        // URLs
        );

        // ChartPanel তৈরি এবং JFrame এ প্রদর্শন
        ChartPanel chartPanel = new ChartPanel(chart);
        chartPanel.setPreferredSize(new java.awt.Dimension(800, 600));
        JFrame frame = new JFrame();
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.getContentPane().add(chartPanel);
        frame.pack();
        frame.setVisible(true);
    }

    // TimeSeriesDataset তৈরি করার জন্য মেথড
    private static TimeSeriesCollection createDataset() {
        TimeSeries series = new TimeSeries("Sales");

        // ডেটা যোগ করা (সময় এবং বিক্রয়)
        series.add(new Second(0, 0, 1, 1, 2020), 100);
        series.add(new Second(0, 30, 1, 1, 2020), 150);
        series.add(new Second(0, 0, 2, 1, 2020), 200);
        series.add(new Second(0, 30, 2, 1, 2020), 180);
        series.add(new Second(0, 0, 3, 1, 2020), 220);
        series.add(new Second(0, 30, 3, 1, 2020), 250);
        series.add(new Second(0, 0, 4, 1, 2020), 230);
        
        // TimeSeriesCollection তৈরি
        TimeSeriesCollection dataset = new TimeSeriesCollection();
        dataset.addSeries(series);
        return dataset;
    }
}

কোডের ব্যাখ্যা:

  1. TimeSeriesDataset তৈরি:
    • TimeSeries ক্লাস ব্যবহার করে একটি টাইম সিরিজ তৈরি করা হয়েছে, যেখানে বিক্রয়ের তথ্য সময়ের সাথে যুক্ত হয়েছে।
    • series.add(new Second(0, 0, 1, 1, 2020), 100); এই লাইনটি 1 জানুয়ারী 2020 এর বিক্রয় 100 নির্দেশ করছে।
  2. Chart তৈরির জন্য ChartFactory.createTimeSeriesChart() মেথড:
    • ChartFactory.createTimeSeriesChart() মেথডের মাধ্যমে একটি Time Series Chart তৈরি করা হয়েছে। এখানে, X-Axis এ সময় এবং Y-Axis এ বিক্রয়ের মান প্রদর্শিত হবে।
  3. ChartPanel:
    • ChartPanel ক্লাস ব্যবহার করে চার্টের গ্রাফিক্যাল রেপ্রেজেন্টেশন তৈরি করা হয়েছে।
    • JFrame ব্যবহার করে এটি একটি GUI উইন্ডোতে প্রদর্শন করা হয়েছে।

3. Time Series Chart কাস্টমাইজেশন

JFreeChart দিয়ে Time Series Chart কাস্টমাইজ করা অনেক সহজ। আপনি বিভিন্ন উপায়ে চার্টের ডিজাইন পরিবর্তন করতে পারেন। উদাহরণস্বরূপ:

  • লাইনের রঙ পরিবর্তন:

    chart.getPlot().setDomainGridlinePaint(Color.RED);  // Set grid line color
    chart.getPlot().setRangeGridlinePaint(Color.RED);   // Set range grid line color
    
  • X-Axis এবং Y-Axis লেবেল কাস্টমাইজ:

    CategoryPlot plot = (CategoryPlot) chart.getPlot();
    plot.getDomainAxis().setLabel("Months");
    plot.getRangeAxis().setLabel("Sales Volume");
    
  • Chart Background Color পরিবর্তন:

    chart.setBackgroundPaint(Color.white);
    

4. সারাংশ

Time Series Chart তৈরি করতে JFreeChart একটি শক্তিশালী লাইব্রেরি। TimeSeriesDataset ব্যবহার করে আপনি সহজেই সময় ভিত্তিক ডেটা সংগ্রহ এবং প্রদর্শন করতে পারেন। উপরের উদাহরণে আমরা দেখেছি কিভাবে একটি Time Series Chart তৈরি করা যায়, যেখানে মাস ভিত্তিক বিক্রয়ের ডেটা উপস্থাপন করা হয়েছে। JFreeChart দিয়ে আপনি সময়ের সাথে ডেটার পরিবর্তন এবং ট্রেন্ড বিশ্লেষণ করতে পারবেন এবং তা কাস্টমাইজও করতে পারবেন।

Content added By
Promotion

Are you sure to start over?

Loading...