XYDataset ব্যবহার করে Scatter Plot তৈরি

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

298

JFreeChart একটি শক্তিশালী Java লাইব্রেরি যা ডেটার ভিজ্যুয়ালাইজেশন সহজ এবং কার্যকরী করে তোলে। এর মধ্যে XYDataset ব্যবহার করে আপনি বিভিন্ন ধরনের scatter plot তৈরি করতে পারেন। Scatter plot একটি গ্রাফিক্যাল রেপ্রেজেন্টেশন যা দুটি ভেরিয়েবলের মধ্যে সম্পর্ক দেখাতে ব্যবহৃত হয়। প্রতিটি ডেটা পয়েন্ট এক্স (X) এবং ওয়াই (Y) ভ্যালু দিয়ে চিহ্নিত হয়।

এখানে আমরা XYDataset ব্যবহার করে একটি scatter plot তৈরি করার উদাহরণ দেখব।


XYDataset কি?

XYDataset একটি ডেটা স্ট্রাকচার যা X এবং Y অক্ষের জন্য ডেটা পয়েন্ট ধারণ করে। এই Dataset সাধারণত scatter plots বা line charts তৈরির জন্য ব্যবহৃত হয়। এটি XYSeries বা XYSeriesCollection এর মাধ্যমে তৈরি করা হয়, যেখানে এক্স এবং ওয়াই ভ্যালু স্টোর করা হয়।


উদাহরণ: JFreeChart দিয়ে Scatter Plot তৈরি

Step 1: প্রয়োজনীয় লাইব্রেরি যুক্ত করা

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

<dependency>
    <groupId>org.jfree</groupId>
    <artifactId>jfreechart</artifactId>
    <version>1.5.3</version> <!-- সর্বশেষ ভার্সন -->
</dependency>

Step 2: Scatter Plot তৈরি করার কোড

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 ScatterPlotExample {

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

        // Scatter Plot তৈরি করা
        JFreeChart chart = ChartFactory.createScatterPlot(
                "Scatter Plot Example", // Title
                "X-Axis",              // X-Axis Label
                "Y-Axis",              // Y-Axis Label
                dataset,               // Dataset
                PlotOrientation.VERTICAL, // Orientation
                true,                  // Include 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);
    }

    // Dataset তৈরি করা
    private static XYSeriesCollection createDataset() {
        XYSeriesCollection dataset = new XYSeriesCollection();

        // XYSeries তৈরি করা
        XYSeries series1 = new XYSeries("Series 1");
        series1.add(1.0, 1.0);
        series1.add(2.0, 4.0);
        series1.add(3.0, 9.0);
        series1.add(4.0, 16.0);

        XYSeries series2 = new XYSeries("Series 2");
        series2.add(1.0, 2.0);
        series2.add(2.0, 3.0);
        series2.add(3.0, 5.0);
        series2.add(4.0, 7.0);

        // Series dataset এ যোগ করা
        dataset.addSeries(series1);
        dataset.addSeries(series2);

        return dataset;
    }
}

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

  1. XYSeries:
    • XYSeries একটি ডেটা সিরিজ যা X এবং Y মান ধারণ করে। এটি বিশেষ করে scatter plot বা line chart তৈরির জন্য ব্যবহৃত হয়। এখানে আমরা দুটি সিরিজ তৈরি করেছি: series1 এবং series2
    • series1.add(x, y) ব্যবহার করে প্রতিটি X এবং Y পয়েন্ট যোগ করা হয়েছে।
  2. XYSeriesCollection:
    • XYSeriesCollection হল একটি ডেটা সংগ্রহকারী যা একাধিক XYSeries ধারণ করতে পারে। আমরা এখানে দুটি সিরিজ (series1 এবং series2) যোগ করেছি।
  3. ChartFactory.createScatterPlot():
    • এই মেথডটি Scatter Plot তৈরি করতে ব্যবহৃত হয়। এটি চারটি প্যারামিটার নেয়:
      • Title: চার্টের শিরোনাম
      • X-Axis Label: X-Axis এর নাম
      • Y-Axis Label: Y-Axis এর নাম
      • Dataset: এটি হল ডেটা যা চার্টে প্রদর্শিত হবে (XYSeriesCollection)
  4. ChartPanel:
    • ChartPanel একটি প্যানেল যা চার্টটি GUI তে প্রদর্শন করার জন্য ব্যবহৃত হয়। এটি JFreeChart এর মাধ্যমে তৈরি করা চার্টের একটি ভিজ্যুয়াল উপস্থাপন।
  5. JFrame:
    • JFrame ব্যবহার করা হয়েছে পাই চার্টটিকে একটি উইন্ডোতে প্রদর্শন করার জন্য।

3. Scatter Plot কাস্টমাইজেশন

JFreeChart-এ আপনি Scatter Plot কাস্টমাইজ করতে পারেন। নিচে কিছু কাস্টমাইজেশন উদাহরণ দেওয়া হলো:

উদাহরণ: পয়েন্টের আকার এবং রঙ পরিবর্তন করা

// Scatter Plot এর পয়েন্টের আকার এবং রঙ পরিবর্তন করা
XYPlot plot = chart.getXYPlot();
plot.getRenderer().setSeriesPaint(0, Color.RED);  // Series 1 এর পয়েন্ট লাল হবে
plot.getRenderer().setSeriesPaint(1, Color.BLUE); // Series 2 এর পয়েন্ট নীল হবে
plot.getRenderer().setSeriesShape(0, Shape.CIRCLE); // Series 1 এর পয়েন্ট গোলাকার হবে
plot.getRenderer().setSeriesShape(1, Shape.TRIANGLE); // Series 2 এর পয়েন্ট ত্রিভুজ হবে

উদাহরণ: Grid Lines কাস্টমাইজ করা

// Grid Lines কাস্টমাইজ করা
plot.setDomainGridlinesVisible(true); // X-Axis এর gridlines প্রদর্শন করা
plot.setRangeGridlinesVisible(true);  // Y-Axis এর gridlines প্রদর্শন করা
plot.setDomainGridlinePaint(Color.GRAY); // X-Axis এর gridlines এর রঙ পরিবর্তন
plot.setRangeGridlinePaint(Color.GRAY);  // Y-Axis এর gridlines এর রঙ পরিবর্তন

সারাংশ

XYDataset ব্যবহার করে JFreeChart-এ Scatter Plot তৈরি করা অনেক সহজ। XYSeries ব্যবহার করে আপনি ডেটা পয়েন্ট তৈরি করতে পারেন এবং তারপর সেই ডেটা XYSeriesCollection এর মাধ্যমে Scatter Plot এ প্রদর্শন করতে পারেন। JFreeChart আপনাকে Scatter Plot কাস্টমাইজ করার জন্য অনেক অপশন দেয়, যেমন পয়েন্টের আকার, রঙ, গ্রিডলাইন এবং আরো অনেক কিছু। এটি ডেটা ভিজ্যুয়ালাইজেশনে অত্যন্ত কার্যকরী টুল হিসেবে কাজ করে।

Content added By
Promotion

Are you sure to start over?

Loading...