Multiple Charts ব্যবহার করে Dashboard তৈরি করা

JFreeChart এর জন্য Reporting এবং Dashboard তৈরি - জেফ্রিচার্ট (JFreeChart) - Big Data and Analytics

379

JFreeChart দিয়ে Multiple Charts একত্রিত করে একটি Dashboard তৈরি করা সম্ভব, যা একাধিক চার্টের মাধ্যমে ব্যবহারকারীকে ডেটার বিভিন্ন দৃষ্টিকোণ উপস্থাপন করতে সাহায্য করে। একটি ড্যাশবোর্ডে বিভিন্ন ধরনের চার্ট, যেমন Bar Charts, Line Charts, Pie Charts, ইত্যাদি একসাথে রাখা হয়, যা ডেটার সম্পূর্ণ পরিসর তুলে ধরে।

এখানে আমরা দেখব কীভাবে JFreeChart ব্যবহার করে একটি Dashboard তৈরি করা যায় যেখানে একাধিক চার্ট প্রদর্শিত হবে।


1. Multiple JFreeChart তৈরি করা

একটি ড্যাশবোর্ডে সাধারণত একাধিক চার্ট থাকে। JFreeChart এ একাধিক চার্ট তৈরি করতে আপনি আলাদা আলাদা JFreeChart অবজেক্ট তৈরি করবেন এবং সেগুলোকে একটি JPanel বা JTabbedPane-এ যোগ করবেন।

এখানে আমরা তিনটি চার্ট তৈরি করব:

  1. Bar Chart: বিক্রয় ডেটা
  2. Line Chart: মাসিক প্রবণতা
  3. Pie Chart: বাজার শেয়ার

2. ড্যাশবোর্ডে Multiple Charts একত্রিত করা

উদাহরণ: Multiple Charts Dashboard তৈরি করা

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

import javax.swing.*;
import java.awt.*;

public class DashboardExample {

    public static void main(String[] args) {
        // ১. Bar Chart Dataset তৈরি করা
        DefaultCategoryDataset barDataset = new DefaultCategoryDataset();
        barDataset.addValue(10, "Sales", "January");
        barDataset.addValue(20, "Sales", "February");
        barDataset.addValue(30, "Sales", "March");
        JFreeChart barChart = ChartFactory.createBarChart(
                "Sales Chart",       // Chart title
                "Month",             // X-Axis label
                "Sales",             // Y-Axis label
                barDataset,          // Dataset
                PlotOrientation.VERTICAL, // Chart orientation
                true,                // Legend
                true,                // Tooltips
                false                // URLs
        );

        // ২. Line Chart Dataset তৈরি করা
        XYSeries series = new XYSeries("Monthly Growth");
        series.add(1, 10);
        series.add(2, 15);
        series.add(3, 25);
        XYSeriesCollection lineDataset = new XYSeriesCollection(series);
        JFreeChart lineChart = ChartFactory.createXYLineChart(
                "Monthly Growth",    // Chart title
                "Month",             // X-Axis label
                "Growth",            // Y-Axis label
                lineDataset,         // Dataset
                PlotOrientation.VERTICAL, // Chart orientation
                true,                // Legend
                true,                // Tooltips
                false                // URLs
        );

        // ৩. Pie Chart Dataset তৈরি করা
        DefaultPieDataset pieDataset = new DefaultPieDataset();
        pieDataset.setValue("Product A", 50);
        pieDataset.setValue("Product B", 30);
        pieDataset.setValue("Product C", 20);
        JFreeChart pieChart = ChartFactory.createPieChart(
                "Market Share",      // Chart title
                pieDataset,          // Dataset
                true,                // Legend
                true                 // Tooltips
        );

        // চার্ট প্যানেল তৈরি করা
        ChartPanel barPanel = new ChartPanel(barChart);
        ChartPanel linePanel = new ChartPanel(lineChart);
        ChartPanel piePanel = new ChartPanel(pieChart);

        // JPanel তৈরি করা এবং চার্ট প্যানেলগুলো যোগ করা
        JPanel dashboardPanel = new JPanel();
        dashboardPanel.setLayout(new GridLayout(1, 3));  // তিনটি কলামে বিভক্ত

        dashboardPanel.add(barPanel);  // Bar Chart যোগ করা
        dashboardPanel.add(linePanel); // Line Chart যোগ করা
        dashboardPanel.add(piePanel);  // Pie Chart যোগ করা

        // JFrame তৈরি করা এবং Dashboard দেখানো
        JFrame frame = new JFrame("Multiple Charts Dashboard");
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.setContentPane(dashboardPanel);
        frame.pack();
        frame.setVisible(true);
    }
}

ব্যাখ্যা:

  • Bar Chart: DefaultCategoryDataset ব্যবহার করে বার চার্ট তৈরি করা হয়েছে, যেখানে Month (মাস) এবং Sales (বিক্রয়) সম্পর্কিত ডেটা প্লট করা হয়েছে।
  • Line Chart: XYSeries ব্যবহার করে একটি লাইন চার্ট তৈরি করা হয়েছে, যেখানে মাসিক প্রবণতা দেখানো হয়েছে।
  • Pie Chart: DefaultPieDataset ব্যবহার করে একটি পাই চার্ট তৈরি করা হয়েছে, যা বাজার শেয়ারের ডেটা দেখায়।
  • Dashboard: সব তিনটি চার্টকে একটি JPanelGridLayout ব্যবহার করে সজ্জিত করা হয়েছে। এখানে GridLayout(1, 3) ব্যবহার করা হয়েছে যাতে সব তিনটি চার্ট একসাথে এক লাইনে প্রদর্শিত হয়।

3. Dashboard Layout এবং Customization

আপনি চাইলে ড্যাশবোর্ডের লেআউট এবং চার্টের ডিজাইন কাস্টমাইজ করতে পারেন।

উদাহরণ: Dashboard Layout কাস্টমাইজ করা

// Layout customizations
dashboardPanel.setLayout(new BoxLayout(dashboardPanel, BoxLayout.Y_AXIS)); // Vertically stacked layout
dashboardPanel.add(barPanel);
dashboardPanel.add(linePanel);
dashboardPanel.add(piePanel);

এখানে, BoxLayout ব্যবহার করে চার্টগুলোকে উল্লম্বভাবে সাজানো হয়েছে। এছাড়া আপনি BorderLayout অথবা FlowLayout ব্যবহার করেও বিভিন্ন ড্যাশবোর্ড লেআউট তৈরি করতে পারেন।


4. Advanced Dashboard Functionalities

ড্যাশবোর্ডে অন্যান্য কার্যকলাপ যেমন ডেটা ফিল্টারিং, ইন্টারঅ্যাকটিভ ফিচার যোগ করা যেতে পারে। যেমন:

  1. Data Filtering: আপনি ডেটা ফিল্টার করার জন্য ড্রপডাউন মেনু বা বোতাম ব্যবহার করতে পারেন, যার মাধ্যমে ব্যবহারকারী চার্টে প্রদর্শিত ডেটা পরিবর্তন করতে পারবেন।
  2. Real-time Data: যদি আপনার ডেটা লাইভ হয়, আপনি real-time updates এবং data streaming এর জন্য ইভেন্ট লিসেনার ব্যবহার করতে পারেন।
  3. User Input: ব্যবহারকারী ইনপুটের মাধ্যমে ডেটা আপডেট করা বা চার্টের স্টাইল পরিবর্তন করার জন্য কাস্টম কন্ট্রোল যোগ করা।

সারসংক্ষেপ

JFreeChart দিয়ে Multiple Charts একত্রিত করে একটি Dashboard তৈরি করা খুবই সহজ এবং কার্যকরী। আপনি Bar Chart, Line Chart, Pie Chart এবং অন্যান্য ধরনের চার্ট একসাথে প্রদর্শন করে একাধিক ডেটা ভিউ প্রদর্শন করতে পারেন। একাধিক চার্টের মাধ্যমে ব্যবহারকারীদের ডেটার বিভিন্ন দৃষ্টিকোণ দেখতে সাহায্য করা যায়, এবং ড্যাশবোর্ডের লেআউট কাস্টমাইজ করার মাধ্যমে আপনি আরও ইন্টারঅ্যাকটিভ এবং ইউজার-বান্ধব ড্যাশবোর্ড তৈরি করতে পারেন।

Content added By
Promotion

Are you sure to start over?

Loading...