CategoryDataset এবং XYDataset এর ব্যবহার

JFreeChart এর জন্য Data Model - জেফ্রিচার্ট (JFreeChart) - Big Data and Analytics

350

JFreeChart লাইব্রেরি ডেটা ভিজুয়ালাইজেশনের জন্য বিভিন্ন ধরনের ডেটাসেট সাপোর্ট করে। দুটি প্রধান ডেটাসেট প্রকার হলো CategoryDataset এবং XYDataset, যা চার্টের ডেটা সংরক্ষণ এবং প্রদর্শন করতে ব্যবহৃত হয়। এখানে আমরা এই দুটি ডেটাসেটের ব্যবহার এবং তাদের মধ্যে পার্থক্য নিয়ে আলোচনা করব।


১. CategoryDataset এর ব্যবহার

CategoryDataset মূলত CategoryChart (যেমন Bar Chart এবং Line Chart) তৈরি করার জন্য ব্যবহৃত হয়। এটি একটি ক্যাটেগরি ভিত্তিক ডেটাসেট, যেখানে একটি নির্দিষ্ট ক্যাটেগরি (যেমন মাস, বিভাগ, বা ক্যাটেগরি নাম) এর জন্য একটি বা একাধিক মান থাকে।

CategoryDataset সাধারণত DefaultCategoryDataset দ্বারা বাস্তবায়িত হয়, যা একটি সাধারণ ডেটাসেট ক্লাস। এটি কলাম (value) এবং রো (category) থেকে ডেটা সংগ্রহ করে।

উদাহরণ: Bar Chart তৈরির জন্য CategoryDataset ব্যবহার

import org.jfree.chart.ChartFactory;
import org.jfree.chart.ChartPanel;
import org.jfree.chart.JFreeChart;
import org.jfree.data.category.DefaultCategoryDataset;

import javax.swing.*;

public class CategoryDatasetExample {
    public static void main(String[] args) {
        // DefaultCategoryDataset ব্যবহার করে ডেটাসেট তৈরি
        DefaultCategoryDataset dataset = new DefaultCategoryDataset();
        dataset.addValue(10, "Category 1", "January");
        dataset.addValue(15, "Category 1", "February");
        dataset.addValue(20, "Category 1", "March");

        // Bar Chart তৈরি
        JFreeChart chart = ChartFactory.createBarChart(
                "Monthly Sales",      // চার্টের টাইটেল
                "Month",              // X-Axis লেবেল
                "Sales (Units)",      // Y-Axis লেবেল
                dataset               // ডেটাসেট
        );

        // 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.setContentPane(chartPanel);
        frame.pack();
        frame.setVisible(true);
    }
}

এই কোডটি একটি Bar Chart তৈরি করে, যেখানে প্রতি মাসের জন্য বিক্রয়ের মান প্রদর্শিত হচ্ছে। এখানে DefaultCategoryDataset ব্যবহার করা হয়েছে।


২. XYDataset এর ব্যবহার

XYDataset একটি XY Chart (যেমন Line Chart, Scatter Plot) তৈরির জন্য ব্যবহৃত হয়। এটি দুটি মানের মধ্যে সম্পর্ক বা ধারা প্রদর্শন করে। XYDataset সাধারণত XYSeries এবং XYSeriesCollection দ্বারা বাস্তবায়িত হয়। XYSeries ব্যবহারকারীর দ্বারা সংজ্ঞায়িত ডেটার পয়েন্টের একটি সিরিজ প্রতিনিধিত্ব করে, এবং XYSeriesCollection একাধিক XYSeries ধারণ করতে সক্ষম।

উদাহরণ: Line Chart তৈরির জন্য XYDataset ব্যবহার

import org.jfree.chart.ChartFactory;
import org.jfree.chart.ChartPanel;
import org.jfree.chart.JFreeChart;
import org.jfree.data.xy.XYSeries;
import org.jfree.data.xy.XYSeriesCollection;

import javax.swing.*;

public class XYDatasetExample {
    public static void main(String[] args) {
        // XYSeries ব্যবহার করে ডেটাসেট তৈরি
        XYSeries series = new XYSeries("Temperature");
        series.add(1, 15);   // X=1, Y=15
        series.add(2, 18);   // X=2, Y=18
        series.add(3, 22);   // X=3, Y=22
        series.add(4, 25);   // X=4, Y=25

        // XYSeriesCollection ব্যবহার করে সিরিজ যোগ করা
        XYSeriesCollection dataset = new XYSeriesCollection();
        dataset.addSeries(series);

        // Line Chart তৈরি
        JFreeChart chart = ChartFactory.createXYLineChart(
                "Temperature Over Time", // চার্টের টাইটেল
                "Time (Days)",           // X-Axis লেবেল
                "Temperature (°C)",      // Y-Axis লেবেল
                dataset                  // ডেটাসেট
        );

        // 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.setContentPane(chartPanel);
        frame.pack();
        frame.setVisible(true);
    }
}

এই কোডে, XYSeries ব্যবহার করা হয়েছে, যেখানে প্রতিটি X মানের জন্য সংশ্লিষ্ট Y মান যুক্ত করা হয়েছে। এটি একটি Line Chart তৈরি করবে যা সময়ের সাথে তাপমাত্রার পরিবর্তন দেখাবে।


CategoryDataset এবং XYDataset এর মধ্যে পার্থক্য

প্যারামিটারCategoryDatasetXYDataset
ডেটার ধরনক্যাটেগরি ভিত্তিক (যেমন মাস, বিভাগ)সিঙ্গেল পয়েন্ট বা সম্পর্কিত (যেমন X এবং Y মানের মধ্যে)
চার্টের ধরনBar Chart, Line Chart, Pie ChartLine Chart, Scatter Plot
সিরিজের সংখ্যাসাধারণত একাধিক সিরিজ হতে পারে (যেমন বিভিন্ন বিভাগ)একাধিক XY সিরিজ হতে পারে
ডেটা পয়েন্টকলাম (value) এবং রো (category) ভিত্তিকX এবং Y অ্যাক্সিসের জন্য পয়েন্ট (যেমন (X,Y))
প্রধান ব্যবহারক্যাটেগরি ডেটার তুলনাসময় বা সংখ্যার সাথে সম্পর্কিত ডেটা প্রদর্শন

সারসংক্ষেপ

  • CategoryDataset এবং XYDataset হল JFreeChart লাইব্রেরির দুইটি গুরুত্বপূর্ণ ডেটাসেট প্রকার, যা যথাক্রমে Category Chart (যেমন Bar Chart, Line Chart) এবং XY Chart (যেমন Line Chart, Scatter Plot) তৈরির জন্য ব্যবহৃত হয়।
  • CategoryDataset ক্যাটেগরি ভিত্তিক ডেটা ব্যবহৃত হয়, যেমন মাস, বিভাগ বা বছরের তথ্য, যেখানে XYDataset সোজা সম্পর্কিত ডেটা পয়েন্ট (যেমন সময়ের সাথে পরিবর্তন) পরিচালনা করে।
  • এই দুটি ডেটাসেট প্রকারের মাধ্যমে আপনি বিভিন্ন ধরনের চার্ট তৈরি করে ডেটা ভিজুয়ালাইজেশন করতে পারবেন এবং প্রতিটি ডেটাসেট টাইপের নিজস্ব সুবিধা রয়েছে নির্দিষ্ট ধরনের ডেটা প্রদর্শনের জন্য।
Content added By
Promotion

Are you sure to start over?

Loading...