Multiple Series সহ Line Chart তৈরি করা

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

295

JFreeChart লাইব্রেরি ব্যবহার করে আপনি Multiple Series সহ লাইন চার্ট তৈরি করতে পারেন, যেখানে একাধিক সিরিজ একই গ্রাফে প্রদর্শিত হবে। এটি সাধারণত একাধিক ডেটা পয়েন্টের মধ্যে সম্পর্ক বুঝতে সাহায্য করে এবং বিভিন্ন সিরিজের তুলনা করা সহজ হয়। যেমন, আপনি যদি একাধিক দেশের শেয়ার মার্কেটের তথ্য বা বিভিন্ন সময়ের জন্য বিক্রয় ডেটা প্রদর্শন করতে চান, তাহলে Multiple Series সহ লাইন চার্ট উপকারী হতে পারে।

এই গাইডে, আমরা দেখব কিভাবে Multiple Series সহ একটি লাইন চার্ট তৈরি করা যায়।


1. JFreeChart কনফিগারেশন

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

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

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


2. Multiple Series সহ Line Chart তৈরি করা

এখন, আমরা Multiple Series সহ একটি লাইন চার্ট তৈরি করব, যেখানে দুইটি সিরিজ থাকবে, যেমন: Sales এবং Expenses

কোড উদাহরণ:

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.xy.XYSeries;
import org.jfree.data.xy.XYSeriesCollection;

import javax.swing.*;

public class MultipleLineChartExample {

    public static void main(String[] args) {
        // Sales data
        XYSeries salesSeries = new XYSeries("Sales");
        salesSeries.add(1, 250);
        salesSeries.add(2, 300);
        salesSeries.add(3, 400);
        salesSeries.add(4, 500);
        salesSeries.add(5, 600);
        salesSeries.add(6, 700);

        // Expenses data
        XYSeries expensesSeries = new XYSeries("Expenses");
        expensesSeries.add(1, 200);
        expensesSeries.add(2, 250);
        expensesSeries.add(3, 300);
        expensesSeries.add(4, 350);
        expensesSeries.add(5, 400);
        expensesSeries.add(6, 450);

        // Create dataset with multiple series
        XYSeriesCollection dataset = new XYSeriesCollection();
        dataset.addSeries(salesSeries);
        dataset.addSeries(expensesSeries);

        // Create line chart
        JFreeChart chart = ChartFactory.createXYLineChart(
                "Sales vs Expenses",        // Chart title
                "Month",                    // X-Axis Label
                "Amount",                   // Y-Axis Label
                dataset,                    // Dataset
                PlotOrientation.VERTICAL,   // Plot orientation
                true,                        // Include legend
                true,                        // Tooltips
                false                        // URLs
        );

        // Customize chart panel
        ChartPanel chartPanel = new ChartPanel(chart);
        chartPanel.setPreferredSize(new java.awt.Dimension(800, 600));

        // Create JFrame to display the chart
        JFrame frame = new JFrame();
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.getContentPane().add(chartPanel);
        frame.pack();
        frame.setVisible(true);
    }
}

3. কোডের ব্যাখ্যা

  1. XYSeries:
    • প্রথমে, আমরা দুটি XYSeries তৈরি করেছি: একটি Sales ডেটার জন্য এবং আরেকটি Expenses ডেটার জন্য। প্রতিটি সিরিজের জন্য আমরা ডেটা পয়েন্ট যোগ করেছি। উদাহরণস্বরূপ, salesSeries-এ 1 থেকে 6 পর্যন্ত বিভিন্ন মাসের বিক্রয়ের ডেটা পয়েন্ট রয়েছে, এবং expensesSeries-এ সেই মাসগুলোর খরচের ডেটা রয়েছে।
  2. XYSeriesCollection:
    • এরপর আমরা XYSeriesCollection ব্যবহার করেছি, যা একটি ডেটাসেট তৈরি করে এবং তাতে salesSeries এবং expensesSeries যোগ করেছি।
  3. Line Chart Creation:
    • ChartFactory.createXYLineChart() মেথড ব্যবহার করে আমরা একটি লাইন চার্ট তৈরি করেছি, যেখানে X-Axis এ মাস (1, 2, 3, ...) এবং Y-Axis এ মূল্য (বিক্রয় এবং খরচ) দেখানো হয়েছে।
  4. ChartPanel:
    • ChartPanel ব্যবহার করে আমরা চার্টটি JFrame-এ প্রদর্শন করেছি। এটি একটি প্যানেল যা চার্টের ভিজ্যুয়াল প্রেজেন্টেশন হ্যান্ডেল করে।
  5. JFrame:
    • JFrame তৈরি করে ChartPanel যোগ করা হয়েছে এবং এটি GUI তে প্রদর্শিত হবে।

4. আউটপুট

এই কোডটি চালালে একটি Line Chart প্রদর্শিত হবে যেখানে দুটি সিরিজ থাকবে: একটি Sales এবং আরেকটি Expenses। এই চার্টে X-Axis এ মাস এবং Y-Axis এ মূল্য থাকবে। আপনি দুটি সিরিজের মধ্যে পার্থক্য এবং সম্পর্ক সহজেই দেখতে পারবেন।


5. কাস্টমাইজেশন

JFreeChart ব্যবহার করে আপনি চার্টের বিভিন্ন বৈশিষ্ট্য কাস্টমাইজ করতে পারেন, যেমন:

  1. রঙ পরিবর্তন: আপনি সিরিজের রঙ পরিবর্তন করতে পারেন।

    plot.getRenderer().setSeriesPaint(0, Color.BLUE);  // Sales Series Color
    plot.getRenderer().setSeriesPaint(1, Color.RED);   // Expenses Series Color
    
  2. লেবেল কাস্টমাইজেশন: X-Axis এবং Y-Axis লেবেল কাস্টমাইজ করা যায়।

    plot.getDomainAxis().setLabelFont(new Font("Serif", Font.BOLD, 12));  // X-Axis Label Font
    plot.getRangeAxis().setLabelFont(new Font("Serif", Font.BOLD, 12));   // Y-Axis Label Font
    
  3. চার্টের শিরোনাম পরিবর্তন: আপনি চার্টের শিরোনাম কাস্টমাইজ করতে পারেন।

    chart.setTitle(new TextTitle("Sales vs Expenses Over Time", new Font("Serif", Font.BOLD, 18)));
    
  4. একাধিক Y-Axis: আপনি বিভিন্ন সিরিজের জন্য আলাদা Y-Axis ব্যবহার করতে পারেন।

    plot.setRangeAxis(1, new NumberAxis("Expenses"));
    plot.setDataset(1, expensesDataset);
    plot.mapDatasetToRangeAxis(1, 1);
    

সারাংশ

JFreeChart ব্যবহার করে আপনি Multiple Series সহ Line Chart তৈরি করতে পারেন, যা একাধিক ডেটা সিরিজকে একটি একক গ্রাফে তুলনা করার জন্য সহায়ক। এটি ডেটার সম্পর্ক এবং পরিবর্তন বুঝতে সাহায্য করে। এই গাইডে, আমরা দুটি সিরিজের ডেটা (Sales এবং Expenses) সহ একটি লাইন চার্ট তৈরি করার পদ্ধতি দেখেছি এবং JFreeChart এর কাস্টমাইজেশন অপশনগুলোও আলোচনা করেছি। JFreeChart একটি শক্তিশালী এবং নমনীয় টুল যা Java প্রোগ্রামে ডেটা ভিজ্যুয়ালাইজেশনের জন্য ব্যবহার করা যেতে পারে।

Content added By
Promotion

Are you sure to start over?

Loading...