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

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

291

Bubble Chart একটি XY প্লটের উপর ভিত্তি করে তৈরি হয়, যেখানে প্রতিটি বুদবুদ একটি নির্দিষ্ট স্থান (X এবং Y মান) এবং আকার (বুদবুদটির আকার) দ্বারা উপস্থাপিত হয়। এটি সাধারণত সম্পর্ক বিশ্লেষণ করার জন্য ব্যবহৃত হয়, যেখানে একটি বা একাধিক ভেরিয়েবলের মধ্যে সম্পর্ক বা কোরিলেশন দেখা যায়।

এই গাইডে আমরা দেখব কিভাবে JFreeChart ব্যবহার করে Multiple Series সহ Bubble Chart তৈরি করা যায়। এই উদাহরণে আমরা দুইটি বা তার বেশি সিরিজ (series) নিয়ে একটি Bubble Chart তৈরি করব এবং তাদের মধ্যে সম্পর্ক প্রদর্শন করব।


1. JFreeChart লাইব্রেরি সেটআপ

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

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

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


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

এখানে আমরা দুটি বা তার বেশি সিরিজ সহ একটি Bubble Chart তৈরি করব। প্রতিটি সিরিজে কিছু ডেটা পয়েন্ট থাকবে এবং তাদের আকার আলাদা হবে।

উদাহরণ: Multiple Series সহ Bubble Chart তৈরি করা

import org.jfree.chart.ChartFactory;
import org.jfree.chart.ChartPanel;
import org.jfree.chart.JFreeChart;
import org.jfree.chart.plot.XYPlot;
import org.jfree.data.xy.XYSeries;
import org.jfree.data.xy.XYSeriesCollection;
import javax.swing.*;
import java.awt.*;

public class BubbleChartExample {

    public static void main(String[] args) {
        // ১. ডেটাসেট তৈরি করা (Multiple Series)
        XYSeriesCollection dataset = createDataset();

        // ২. Bubble Chart তৈরি করা
        JFreeChart bubbleChart = ChartFactory.createBubbleChart(
                "Multiple Series Bubble Chart",   // Chart title
                "X-Axis",                        // X-Axis Label
                "Y-Axis",                        // Y-Axis Label
                dataset,                         // Dataset
                org.jfree.chart.plot.PlotOrientation.VERTICAL,
                true,                            // Include legend
                true,                            // Tooltips enabled
                false                            // URLs enabled
        );

        // ৩. ChartPanel তৈরি করা এবং JFrame এ প্রদর্শন করা
        ChartPanel chartPanel = new ChartPanel(bubbleChart);
        chartPanel.setPreferredSize(new java.awt.Dimension(800, 600));

        JFrame frame = new JFrame("Bubble Chart Example");
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.getContentPane().add(chartPanel, BorderLayout.CENTER);
        frame.pack();
        frame.setVisible(true);
    }

    // ৪. Multiple Series সহ ডেটাসেট তৈরি করার মেথড
    private static XYSeriesCollection createDataset() {
        XYSeries series1 = new XYSeries("Series 1");
        series1.add(1.0, 5.0, 10.0);  // (X, Y, Size)
        series1.add(2.0, 10.0, 20.0);
        series1.add(3.0, 15.0, 30.0);
        series1.add(4.0, 20.0, 40.0);

        XYSeries series2 = new XYSeries("Series 2");
        series2.add(1.5, 7.0, 15.0);
        series2.add(2.5, 12.0, 25.0);
        series2.add(3.5, 17.0, 35.0);
        series2.add(4.5, 22.0, 45.0);

        XYSeriesCollection dataset = new XYSeriesCollection();
        dataset.addSeries(series1);
        dataset.addSeries(series2);

        return dataset;
    }
}

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

  1. XYSeries:
    • XYSeries হল এক ধরনের সিরিজ যা X, Y এবং Z ভ্যালু ধারণ করে।
    • X এবং Y মান চার্টের অবস্থান নির্ধারণ করে এবং Z মান (যা এখানে "Size") বুদবুদের আকার নির্দেশ করে।
  2. XYSeriesCollection:
    • এটি একাধিক XYSeries ধারণ করতে সক্ষম এবং এগুলোকে একসাথে একটি dataset হিসাবে ব্যবহার করা হয়।
    • এখানে দুটি সিরিজ যোগ করা হয়েছে: series1 এবং series2
  3. ChartFactory.createBubbleChart():
    • Bubble Chart তৈরি করার জন্য এই মেথডটি ব্যবহার করা হয়েছে। এটি চারটি আর্গুমেন্ট নেয়:
      • Chart Title,
      • X-Axis Label,
      • Y-Axis Label,
      • Dataset (যা এখানে XYSeriesCollection ব্যবহৃত হচ্ছে)।
    • এই ফাংশনটি একটি বুদবুদ চার্ট তৈরি করবে।
  4. ChartPanel:
    • এটি JFreeChart চার্টটিকে GUI উইন্ডোতে প্রদর্শন করার জন্য ব্যবহৃত হয়।

3. Bubble Chart এর কাস্টমাইজেশন

আপনি Bubble Chart এর বিভিন্ন উপাদান কাস্টমাইজ করতে পারেন, যেমন:

  • Data Points এর রঙ: প্রতিটি সিরিজের জন্য আলাদা রঙ সেট করা।
  • Size of Data Points: বুদবুদগুলির আকার কাস্টমাইজ করা।
  • Grid Lines এবং Axes: গ্রিড লাইন এবং অক্ষের লেবেল কাস্টমাইজ করা।

3.1 Bubble Chart এর Data Points এর রঙ পরিবর্তন করা

XYPlot plot = (XYPlot) bubbleChart.getPlot();
plot.getRenderer().setSeriesPaint(0, Color.RED);  // Series 1 এর বুদবুদ লাল রঙে পরিবর্তন করা
plot.getRenderer().setSeriesPaint(1, Color.BLUE); // Series 2 এর বুদবুদ নীল রঙে পরিবর্তন করা

3.2 Bubble Chart এর Data Points এর আকার পরিবর্তন করা

plot.getRenderer().setSeriesShape(0, new java.awt.geom.Ellipse2D.Double(-4, -4, 8, 8)); // বুদবুদ আকার পরিবর্তন
plot.getRenderer().setSeriesShape(1, new java.awt.geom.Ellipse2D.Double(-6, -6, 12, 12)); // দ্বিতীয় সিরিজের বুদবুদ আকার

4. Bubble Chart এর রঙ কাস্টমাইজেশন

JFreeChart-এ আপনি সহজেই Bubble Chart এর বুদবুদগুলির রঙ এবং আকার কাস্টমাইজ করতে পারেন। setSeriesPaint() এবং setSeriesShape() মেথড ব্যবহার করে আপনি সিরিজের রঙ এবং আকার পরিবর্তন করতে পারবেন। এছাড়া, আপনি Tooltips এবং Legend এর কাস্টমাইজেশনও করতে পারেন।


5. সারাংশ

Bubble Chart তৈরি করতে XYSeriesCollection এবং XYSeries ব্যবহার করতে হয়, যেখানে প্রতিটি সিরিজের জন্য X, Y এবং Size ভ্যালু নির্ধারণ করা হয়। JFreeChart এর মাধ্যমে আপনি Multiple Series সহ Bubble Chart তৈরি করতে পারেন এবং সেই সিরিজগুলির রঙ এবং আকার কাস্টমাইজ করতে পারেন। এছাড়া, আপনি Axes, Labels, Tooltips, এবং Legend এর কাস্টমাইজেশনও করতে পারবেন, যা আপনার চার্টকে আরও আকর্ষণীয় এবং কার্যকরী করে তোলে।

Content added By
Promotion

Are you sure to start over?

Loading...