Chart এর Legend এবং Axis কনফিগারেশন

Chart Customization এবং Styling - জেফ্রিচার্ট (JFreeChart) - Java Technologies

276

JFreeChart একটি শক্তিশালী লাইব্রেরি যা গ্রাফিক্যাল ডাটা ভিজ্যুয়ালাইজেশন সহজ করে। একটি চার্টের গুরুত্বপূর্ণ অংশ হল তার Legend এবং AxisLegend চার্টের বিভিন্ন সিরিজ বা ডেটা পয়েন্টের পরিচয় দেয়, এবং Axis চার্টের গ্রিড এবং স্কেলিং নির্ধারণ করে। JFreeChart-এ Legend এবং Axis কনফিগারেশন করার মাধ্যমে আপনি চার্টের ভিজ্যুয়াল উপস্থাপনাকে আরও কাস্টমাইজ করতে পারেন।

এই অধ্যায়ে আমরা দেখব কিভাবে JFreeChart-এ Legend এবং Axis কনফিগার করা যায়, এবং কিছু কাস্টমাইজেশন অপশন ব্যবহার করা যায়।


1. Chart এর Legend কনফিগারেশন

Legend চার্টের একটি গুরুত্বপূর্ণ অংশ যা প্রতিটি সিরিজ বা ডেটা পয়েন্টের নাম বা পরিচয় প্রদর্শন করে। JFreeChart এ Legend কনফিগার করা খুবই সহজ এবং এটি ব্যবহারকারীদের চার্টের তথ্য বুঝতে সাহায্য করে।

Legend কনফিগারেশন:

JFreeChart এর Legend কনফিগারেশন করার জন্য আপনি setLegend() মেথড ব্যবহার করতে পারেন। এই মেথডটি আপনাকে লেজেন্ডের অবস্থান, স্টাইল এবং ভিজিবিলিটি কাস্টমাইজ করতে সাহায্য করে।

উদাহরণ: Legend কনফিগারেশন

import org.jfree.chart.ChartFactory;
import org.jfree.chart.ChartPanel;
import org.jfree.chart.JFreeChart;
import org.jfree.chart.plot.PlotOrientation;
import org.jfree.chart.plot.CategoryPlot;
import org.jfree.chart.ui.RectangleInsets;
import org.jfree.data.category.DefaultCategoryDataset;

import javax.swing.*;

public class ChartWithLegendExample {

    public static void main(String[] args) {
        // ডেটাসেট তৈরি করা
        DefaultCategoryDataset dataset = new DefaultCategoryDataset();
        dataset.addValue(5, "Series1", "Category1");
        dataset.addValue(3, "Series1", "Category2");
        dataset.addValue(4, "Series1", "Category3");

        // চার্ট তৈরি করা
        JFreeChart chart = ChartFactory.createBarChart(
                "Sample Bar Chart",        // Title
                "Category",                // X-axis Label
                "Value",                   // Y-axis Label
                dataset,                   // Dataset
                PlotOrientation.VERTICAL,  // Orientation
                true,                      // Show legend
                true,                      // Tooltips
                false                      // URLs
        );

        // Legend কনফিগার করা
        chart.getLegend().setPosition(RectangleInsets.TOP_RIGHT);  // Legend-এর অবস্থান সেট করা

        // ChartPanel তৈরি করে JFrame তে যোগ করা
        ChartPanel chartPanel = new ChartPanel(chart);
        chartPanel.setPreferredSize(new java.awt.Dimension(800, 600));

        // JFrame তৈরি করে চার্টটি প্রদর্শন করা
        JFrame frame = new JFrame();
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.add(chartPanel);
        frame.pack();
        frame.setVisible(true);
    }
}

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

  1. Legend Position:
    • chart.getLegend().setPosition(RectangleInsets.TOP_RIGHT) দিয়ে লেজেন্ডের অবস্থান TOP_RIGHT এ সেট করা হয়েছে।
    • লেজেন্ডের অবস্থান আপনি TOP_LEFT, BOTTOM_RIGHT, BOTTOM_LEFT ইত্যাদিতে পরিবর্তন করতে পারেন।
  2. Legend Visibility:
    • chart.getLegend().setVisible(false) ব্যবহার করে আপনি লেজেন্ডের দৃশ্যমানতা বন্ধ করতে পারেন।
  3. Legend Title:

    • লেজেন্ডের শিরোনাম কাস্টমাইজ করা যায়:
    chart.getLegend().setItemLabelFont(new Font("Arial", Font.BOLD, 14));
    

2. Axis কনফিগারেশন

Chart এর Axis (অক্ষ) হলো একটি গুরুত্বপূর্ণ উপাদান, যা চার্টের স্কেলিং এবং ডেটা পয়েন্টের অবস্থান নির্ধারণ করে। JFreeChartAxis কনফিগার করার মাধ্যমে আপনি X-axis এবং Y-axis এর লেবেল, স্কেলিং এবং রেঞ্জ কাস্টমাইজ করতে পারেন।

X-Axis এবং Y-Axis কনফিগারেশন:

উদাহরণ: Axis কনফিগারেশন

import org.jfree.chart.ChartFactory;
import org.jfree.chart.ChartPanel;
import org.jfree.chart.JFreeChart;
import org.jfree.chart.plot.CategoryPlot;
import org.jfree.chart.axis.CategoryAxis;
import org.jfree.chart.axis.ValueAxis;
import org.jfree.chart.plot.PlotOrientation;
import org.jfree.data.category.DefaultCategoryDataset;

import javax.swing.*;

public class ChartWithAxisExample {

    public static void main(String[] args) {
        // ডেটাসেট তৈরি করা
        DefaultCategoryDataset dataset = new DefaultCategoryDataset();
        dataset.addValue(5, "Series1", "Category1");
        dataset.addValue(3, "Series1", "Category2");
        dataset.addValue(4, "Series1", "Category3");

        // চার্ট তৈরি করা
        JFreeChart chart = ChartFactory.createBarChart(
                "Sample Bar Chart",        // Title
                "Category",                // X-axis Label
                "Value",                   // Y-axis Label
                dataset,                   // Dataset
                PlotOrientation.VERTICAL,  // Orientation
                true,                      // Show legend
                true,                      // Tooltips
                false                      // URLs
        );

        // X-Axis কনফিগার করা
        CategoryPlot plot = chart.getCategoryPlot();
        CategoryAxis xAxis = plot.getDomainAxis();
        xAxis.setLabel("Custom X-Axis Label");  // X-Axis এর লেবেল কাস্টমাইজ করা
        xAxis.setCategoryLabelPositions(CategoryAxis.UP_45);  // X-Axis এর ক্যাটেগরি লেবেল পজিশন পরিবর্তন

        // Y-Axis কনফিগার করা
        ValueAxis yAxis = plot.getRangeAxis();
        yAxis.setLabel("Custom Y-Axis Label");  // Y-Axis এর লেবেল কাস্টমাইজ করা
        yAxis.setRange(0, 10);  // Y-Axis এর রেঞ্জ সেট করা

        // ChartPanel তৈরি করে JFrame তে চার্ট যোগ করা
        ChartPanel chartPanel = new ChartPanel(chart);
        chartPanel.setPreferredSize(new java.awt.Dimension(800, 600));

        // JFrame তৈরি করে চার্ট প্রদর্শন করা
        JFrame frame = new JFrame();
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.add(chartPanel);
        frame.pack();
        frame.setVisible(true);
    }
}

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

  1. X-Axis কনফিগারেশন:
    • CategoryAxis ব্যবহার করে X-Axis কনফিগার করা হয়।
    • xAxis.setLabel("Custom X-Axis Label") দিয়ে X-Axis এর লেবেল কাস্টমাইজ করা হয়।
    • xAxis.setCategoryLabelPositions(CategoryAxis.UP_45) দিয়ে X-Axis এর ক্যাটেগরি লেবেল ৪৫ ডিগ্রি ঘুরিয়ে দেওয়া হয়।
  2. Y-Axis কনফিগারেশন:
    • ValueAxis ব্যবহার করে Y-Axis কনফিগার করা হয়।
    • yAxis.setLabel("Custom Y-Axis Label") দিয়ে Y-Axis এর লেবেল কাস্টমাইজ করা হয়।
    • yAxis.setRange(0, 10) দিয়ে Y-Axis এর রেঞ্জ 0 থেকে 10 পর্যন্ত সেট করা হয়।

সারাংশ

JFreeChart-এ Legend এবং Axis কনফিগারেশন অত্যন্ত গুরুত্বপূর্ণ যাতে চার্টটি আরো বিস্তারিত এবং কাস্টমাইজড হতে পারে। Legend কনফিগার করে আপনি সিরিজের পরিচয় এবং প্রদর্শন কাস্টমাইজ করতে পারেন, এবং Axis কনফিগার করে চার্টের স্কেলিং, লেবেল এবং রেঞ্জ পরিবর্তন করতে পারেন। JFreeChart এর শক্তিশালী কাস্টমাইজেশন অপশনগুলি আপনাকে চার্টের প্রতিটি উপাদানকে কাস্টমাইজ করার সুবিধা প্রদান করে।

Content added By
Promotion

Are you sure to start over?

Loading...