Gridlines, Tick Marks, এবং Plot Orientation পরিবর্তন করা

Plot Customization - জেফ্রিচার্ট (JFreeChart) - Big Data and Analytics

335

JFreeChart লাইব্রেরি ব্যবহার করে চার্টের বিভিন্ন ভিজ্যুয়াল উপাদান কাস্টমাইজ করা যায়, যার মধ্যে Gridlines, Tick Marks, এবং Plot Orientation অন্তর্ভুক্ত। এই উপাদানগুলি চার্টের প্রদর্শন উন্নত করতে এবং ডেটার পাঠযোগ্যতা বৃদ্ধি করতে সাহায্য করে।


১. Gridlines পরিবর্তন করা

Gridlines হলো চার্টের অক্ষের উপর রেখা, যা ডেটার সাথে সম্পর্ক তৈরি করতে সাহায্য করে এবং ডেটা পয়েন্টগুলিকে সঠিকভাবে পড়তে সহজ করে তোলে। JFreeChart এ আপনি Major Gridlines এবং Minor Gridlines কাস্টমাইজ করতে পারেন।

Major Gridlines এবং Minor Gridlines পরিবর্তন করা:

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.plot.Plot;
import org.jfree.data.category.DefaultCategoryDataset;

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

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

        // বার চার্ট তৈরি করা
        JFreeChart chart = ChartFactory.createBarChart(
                "Bar Chart Example",      // Chart Title
                "Category",               // X-Axis Label
                "Value",                  // Y-Axis Label
                dataset,                  // Dataset
                PlotOrientation.VERTICAL, // Plot orientation
                true,                     // Show legend
                true,                     // Show tooltips
                false                     // Show URLs
        );

        // Plot অবজেক্টে অ্যাক্সেস পেতে
        CategoryPlot plot = (CategoryPlot) chart.getPlot();

        // Major Gridlines কাস্টমাইজ করা
        plot.setDomainGridlinePaint(Color.RED);  // Vertical gridlines এর রঙ লাল করা
        plot.setRangeGridlinePaint(Color.BLUE);   // Horizontal gridlines এর রঙ নীল করা

        // Minor Gridlines কাস্টমাইজ করা
        plot.setDomainMinorGridlinePaint(Color.GREEN);  // Vertical minor gridlines এর রঙ সবুজ করা
        plot.setRangeMinorGridlinePaint(Color.YELLOW);  // Horizontal minor gridlines এর রঙ হলুদ করা

        // ChartPanel তৈরি করা এবং JFrame এ প্রদর্শন করা
        ChartPanel chartPanel = new ChartPanel(chart);
        chartPanel.setPreferredSize(new java.awt.Dimension(800, 600));
        JFrame frame = new JFrame();
        frame.setContentPane(chartPanel);
        frame.pack();
        frame.setVisible(true);
    }
}

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

  • Major Gridlines: এগুলি সাধারণত চার্টের প্রধান রেখা, যা ব্যবহারকারীদের ডেটা বুঝতে সাহায্য করে।
  • Minor Gridlines: এগুলি সাধারণত খুব সূক্ষ্ম রেখা, যা ডেটার অতিরিক্ত বিশ্লেষণ করতে সাহায্য করে।
  • plot.setDomainGridlinePaint(Color.RED); এবং plot.setRangeGridlinePaint(Color.BLUE); ব্যবহার করে major gridlines এর রঙ পরিবর্তন করা হয়েছে।

২. Tick Marks পরিবর্তন করা

Tick Marks হলো অক্ষের উপর চিহ্ন যা প্রতিটি বিভাগ বা পয়েন্ট চিহ্নিত করে। আপনি Tick Mark Labels এবং Tick Marks এর স্টাইল পরিবর্তন করতে পারেন।

Tick Marks কাস্টমাইজ করা:

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.data.category.DefaultCategoryDataset;

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

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

        // বার চার্ট তৈরি করা
        JFreeChart chart = ChartFactory.createBarChart(
                "Bar Chart Example",      // Chart Title
                "Category",               // X-Axis Label
                "Value",                  // Y-Axis Label
                dataset,                  // Dataset
                PlotOrientation.VERTICAL, // Plot orientation
                true,                     // Show legend
                true,                     // Show tooltips
                false                     // Show URLs
        );

        // Plot অবজেক্টে অ্যাক্সেস পেতে
        CategoryPlot plot = (CategoryPlot) chart.getPlot();
        
        // CategoryAxis টিক মার্ক কাস্টমাইজ করা
        CategoryAxis axis = plot.getDomainAxis();
        axis.setTickLabelFont(new Font("Arial", Font.BOLD, 14));  // Tick label font পরিবর্তন
        axis.setTickMarkPaint(java.awt.Color.GREEN);  // Tick marks এর রঙ সবুজ করা

        // ChartPanel তৈরি করা এবং JFrame এ প্রদর্শন করা
        ChartPanel chartPanel = new ChartPanel(chart);
        chartPanel.setPreferredSize(new java.awt.Dimension(800, 600));
        JFrame frame = new JFrame();
        frame.setContentPane(chartPanel);
        frame.pack();
        frame.setVisible(true);
    }
}

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

  • axis.setTickLabelFont(new Font("Arial", Font.BOLD, 14)); ব্যবহার করে tick labels এর ফন্ট পরিবর্তন করা হয়েছে।
  • axis.setTickMarkPaint(Color.GREEN); ব্যবহার করে tick marks এর রঙ পরিবর্তন করা হয়েছে।

৩. Plot Orientation পরিবর্তন করা

Plot Orientation দ্বারা চার্টের প্লটের অক্ষের অবস্থান নির্ধারণ করা হয়। এটি Vertical (উল্লম্ব) এবং Horizontal (অনুভূমিক) দুটি অপশনে থাকতে পারে।

Plot Orientation পরিবর্তন করা:

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 javax.swing.*;

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

        // চার্ট তৈরি করা (Orientation পরিবর্তন করা)
        JFreeChart chart = ChartFactory.createBarChart(
                "Bar Chart Example",      // Chart Title
                "Category",               // X-Axis Label
                "Value",                  // Y-Axis Label
                dataset,                  // Dataset
                PlotOrientation.HORIZONTAL, // Horizontal Plot Orientation
                true,                     // Show legend
                true,                     // Show tooltips
                false                     // Show URLs
        );

        // ChartPanel তৈরি করা এবং JFrame এ প্রদর্শন করা
        ChartPanel chartPanel = new ChartPanel(chart);
        chartPanel.setPreferredSize(new java.awt.Dimension(800, 600));
        JFrame frame = new JFrame();
        frame.setContentPane(chartPanel);
        frame.pack();
        frame.setVisible(true);
    }
}

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

  • PlotOrientation.HORIZONTAL ব্যবহার করে chart orientation horizontal (অনুভূমিক) করা হয়েছে। আপনি চাইলে PlotOrientation.VERTICAL দিয়ে এটি উল্লম্ব (Vertical) করতে পারেন।

সারসংক্ষেপ

Gridlines, Tick Marks, এবং Plot Orientation JFreeChart এর প্রধান কাস্টমাইজেশন বৈশিষ্ট্য। এই উপাদানগুলো পরিবর্তন করে আপনি আপনার চার্টের ভিজ্যুয়াল উপস্থাপনাকে আরও উন্নত এবং বোধগম্য করতে পারেন। Gridlines ডেটার সঠিকতা এবং সম্পর্ক প্রদর্শনে সাহায্য করে, Tick Marks ক্যাটেগরি বা মানের সহজে পড়া নিশ্চিত করে, এবং Plot Orientation চার্টের এক্স-অক্ষ এবং ওয়াই-অক্ষের অবস্থান পরিবর্তন করে। JFreeChart এ এই উপাদানগুলি কাস্টমাইজ করার মাধ্যমে আপনি একটি প্রফেশনাল এবং সহজবোধ্য গ্রাফিক্যাল রিপ্রেজেন্টেশন তৈরি করতে পারেন।

Content added By
Promotion

Are you sure to start over?

Loading...