Axes এবং Labels যোগ করা

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

283

JFreeChart লাইব্রেরি Java প্রোগ্রামিং ভাষায় চার্ট এবং গ্রাফ তৈরি করার জন্য ব্যবহৃত হয়। একে ব্যবহার করে আপনি বিভিন্ন ধরনের চার্ট তৈরি করতে পারেন, যেমন লাইন চার্ট, বার চার্ট, পাই চার্ট ইত্যাদি। চার্টের মধ্যে axes (অক্ষ) এবং labels (লেবেল) যোগ করা খুবই গুরুত্বপূর্ণ, কারণ এগুলি ডেটাকে সঠিকভাবে ব্যাখ্যা এবং ভিজ্যুয়ালাইজ করতে সাহায্য করে। এই গাইডে আমরা দেখব কিভাবে JFreeChart ব্যবহার করে Axes এবং Labels যোগ করা যায়।


1. Axes (অক্ষ) সম্পর্কে ধারণা

Axes বা অক্ষগুলি চার্টের মধ্যে X এবং Y অ্যাক্সিস হিসেবে কাজ করে, যা ডেটার মানের প্রতিনিধিত্ব করে। X অ্যাক্সিস সাধারণত ক্যাটেগরি বা সময়কে উপস্থাপন করে এবং Y অ্যাক্সিস সাধারণত পরিমাণ বা মান উপস্থাপন করে।

JFreeChart আপনাকে X এবং Y অ্যাক্সিস কাস্টমাইজ করার সুবিধা দেয়, যেমন:

  • Tick Marks (অক্ষের চিহ্ন)
  • Tick Labels (অক্ষের লেবেল)
  • Axis Labels (অক্ষের শিরোনাম)

2. Labels (লেবেল) সম্পর্কে ধারণা

Labels হল চার্টের অংশ যা ডেটা পয়েন্টগুলিকে চিহ্নিত করে। এগুলি X এবং Y অ্যাক্সিসে প্রদর্শিত হয় এবং ডেটার মান বা ক্যাটেগরি বোঝায়। JFreeChart-এ আপনি X এবং Y অক্ষের জন্য লেবেল এবং বিভিন্ন সিরিজের জন্য লেবেল যোগ করতে পারেন।


3. Axes এবং Labels কাস্টমাইজেশন

JFreeChart ব্যবহার করে আপনি সহজেই Axes এবং Labels কাস্টমাইজ করতে পারেন। এই কাস্টমাইজেশন চার্টের ভিজ্যুয়াল অ্যাপিয়ারেন্স উন্নত করতে সাহায্য করে।

3.1 X এবং Y অ্যাক্সিস এর Labels যোগ করা

উদাহরণ: Line Chart এর জন্য Axes এবং Labels যোগ করা

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.ValueMarker;
import org.jfree.data.category.DefaultCategoryDataset;
import org.jfree.chart.axis.CategoryAxis;
import org.jfree.chart.axis.NumberAxis;
import org.jfree.chart.plot.CategoryPlot;
import org.jfree.chart.plot.Plot;

import javax.swing.*;

public class LineChartWithAxesLabels {

    public static void main(String[] args) {
        // ডেটাসেট তৈরি
        DefaultCategoryDataset dataset = new DefaultCategoryDataset();
        dataset.addValue(1.0, "Series1", "Jan");
        dataset.addValue(4.0, "Series1", "Feb");
        dataset.addValue(3.0, "Series1", "Mar");
        dataset.addValue(5.0, "Series1", "Apr");
        
        // Line Chart তৈরি
        JFreeChart chart = ChartFactory.createLineChart(
            "Sales Data",   // Chart Title
            "Month",         // X-Axis Label
            "Sales",         // Y-Axis Label
            dataset,         // Dataset
            PlotOrientation.VERTICAL,
            true,            // Include legend
            true,            // Tooltips
            false            // URLs
        );

        // X ও Y অক্ষের কাস্টমাইজেশন
        CategoryPlot plot = (CategoryPlot) chart.getPlot();
        CategoryAxis xAxis = plot.getDomainAxis();
        xAxis.setLabel("Months");  // X-Axis Label
        xAxis.setTickLabelFont(new java.awt.Font("Serif", java.awt.Font.PLAIN, 12));

        NumberAxis yAxis = (NumberAxis) plot.getRangeAxis();
        yAxis.setLabel("Revenue");  // Y-Axis Label
        yAxis.setAutoRangeIncludesZero(true);

        // ChartPanel তৈরি
        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.getContentPane().add(chartPanel);
        frame.pack();
        frame.setVisible(true);
    }
}

ব্যাখ্যা:

  1. Dataset তৈরি:
    • DefaultCategoryDataset ব্যবহার করে একটি লাইন চার্টের জন্য ডেটাসেট তৈরি করা হয়েছে। এখানে "Series1" নামে একটি সিরিজ এবং "Jan", "Feb", "Mar", "Apr" মাসগুলি ক্যাটেগরি হিসেবে যোগ করা হয়েছে।
  2. Chart তৈরি:
    • ChartFactory.createLineChart() মেথড ব্যবহার করে একটি লাইন চার্ট তৈরি করা হয়েছে। এখানে X-Axis এর লেবেল হিসেবে "Month" এবং Y-Axis এর লেবেল হিসেবে "Sales" দেওয়া হয়েছে।
  3. Axes কাস্টমাইজেশন:
    • X অ্যাক্সিস এবং Y অ্যাক্সিসের লেবেল এবং টিক লেবেল কাস্টমাইজ করা হয়েছে।
      • xAxis.setLabel("Months"): X অ্যাক্সিসের লেবেল সেট করা হয়েছে।
      • yAxis.setLabel("Revenue"): Y অ্যাক্সিসের লেবেল সেট করা হয়েছে।
  4. ChartPanel:
    • ChartPanel তৈরি করা হয়েছে এবং সেটি JFrame এ প্রদর্শন করা হয়েছে, যাতে চার্টটি GUI তে প্রদর্শিত হয়।

3.2 Tick Marks এবং Tick Labels কাস্টমাইজেশন

Tick Marks এবং Tick Labels অ্যাক্সিসে ব্যবহারকারীদের জন্য মান বা ক্যাটেগরি দেখানোর কাজ করে। আপনি এগুলির ফন্ট, আকার বা রং পরিবর্তন করতে পারেন।

উদাহরণ:

xAxis.setTickLabelFont(new java.awt.Font("Serif", java.awt.Font.BOLD, 14)); // X-axis tick labels customization
yAxis.setTickLabelFont(new java.awt.Font("Arial", java.awt.Font.PLAIN, 12)); // Y-axis tick labels customization

এটি X এবং Y অ্যাক্সিসে টিক লেবেলগুলির ফন্ট এবং আকার কাস্টমাইজ করবে।


3.3 Value Marker যোগ করা

আপনি আপনার চার্টে value markers যোগ করতে পারেন, যা বিশেষ ডেটা পয়েন্ট বা মান দেখানোর জন্য ব্যবহার করা হয়।

উদাহরণ: Value Marker যোগ করা

ValueMarker marker = new ValueMarker(4.0); // 4.0 মানের একটি marker তৈরি
marker.setLabel("Threshold");
marker.setLabelFont(new java.awt.Font("Serif", java.awt.Font.BOLD, 12));
plot.addDomainMarker(marker); // X অ্যাক্সিসে marker যোগ করা

এটি X অ্যাক্সিসে 4.0 মানে একটি marker যোগ করবে এবং সেটি "Threshold" লেবেল সহ প্রদর্শিত হবে।


4. Conclusion

Axes এবং Labels হল JFreeChart এর গুরুত্বপূর্ণ অংশ, যা ডেটা ভিজুয়ালাইজেশনে সহায়ক। আপনি JFreeChart-এ X এবং Y অ্যাক্সিসের লেবেল এবং টিক লেবেল কাস্টমাইজ করতে পারেন এবং Value Markers যোগ করতে পারেন যাতে বিশেষ ডেটা পয়েন্টের গুরুত্ব নির্দেশ করা যায়। CategoryAxis, NumberAxis, এবং ValueMarker এর মাধ্যমে আপনি অ্যাক্সিস এবং চার্ট কাস্টমাইজেশন করতে পারেন। JFreeChart এর এই কাস্টমাইজেশন ফিচারগুলো আপনার চার্টকে আরও স্পষ্ট এবং তথ্যপূর্ণ করে তোলে।

Content added By
Promotion

Are you sure to start over?

Loading...