Line Thickness এবং Color কাস্টমাইজ করা

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

265

JFreeChart একটি শক্তিশালী Java লাইব্রেরি যা ডেটা ভিজ্যুয়ালাইজেশনের জন্য ব্যবহৃত হয়। আপনি JFreeChart ব্যবহার করে বিভিন্ন ধরনের চার্ট যেমন Line Chart, Bar Chart, এবং Pie Chart তৈরি করতে পারেন। মাঝে মাঝে, চার্টের উপস্থাপনাকে আরও আকর্ষণীয় এবং স্পষ্ট করতে Line Thickness (লাইন পুরুত্ব) এবং Line Color (লাইন রঙ) কাস্টমাইজ করতে হয়। এই গাইডে আমরা দেখবো কিভাবে JFreeChart-এ Line Thickness এবং Line Color কাস্টমাইজ করা যায়।


1. Line Thickness কাস্টমাইজ করা

Line Thickness বা লাইন পুরুত্ব কাস্টমাইজ করা সহজ, এবং এটি Plot এর মধ্যে লাইন গুলোর দৃশ্যমানতা পরিবর্তন করে।

Line Thickness কাস্টমাইজ করার জন্য setStroke() মেথড ব্যবহার করা হয়। এটি Plot বা Renderer এর মাধ্যমে লাইন স্ট্রোক নির্ধারণ করতে সাহায্য করে।

উদাহরণ:

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.XYPlot;
import org.jfree.chart.plot.Plot;
import org.jfree.data.xy.XYSeries;
import org.jfree.data.xy.XYSeriesCollection;
import org.jfree.chart.plot.XYPlot;
import org.jfree.chart.stroke.BasicStroke;
import javax.swing.*;

public class LineChartExample {

    public static JPanel createChartPanel() {
        // ডেটাসেট তৈরি করা
        XYSeries series = new XYSeries("Line Chart");
        series.add(1, 1);
        series.add(2, 4);
        series.add(3, 3);
        series.add(4, 5);

        XYSeriesCollection dataset = new XYSeriesCollection(series);

        // Line Chart তৈরি করা
        JFreeChart chart = ChartFactory.createXYLineChart(
                "Line Chart with Custom Line Thickness", // Chart Title
                "X-Axis", // X-Axis Label
                "Y-Axis", // Y-Axis Label
                dataset, // Dataset
                PlotOrientation.VERTICAL, // Plot Orientation
                true, // Show Legend
                true, // Tooltips
                false // URLs
        );

        // XYPlot ব্যবহার করে Line Thickness কাস্টমাইজ করা
        XYPlot plot = (XYPlot) chart.getPlot();
        plot.getRenderer().setSeriesStroke(0, new BasicStroke(3.0f)); // Line thickness set to 3.0f

        // Chart Panel তৈরি করে এবং রিটার্ন করা
        return new ChartPanel(chart);
    }

    public static void main(String[] args) {
        // JFrame তৈরি করা
        JFrame frame = new JFrame("Line Chart Example");
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.getContentPane().add(createChartPanel());
        frame.pack();
        frame.setVisible(true);
    }
}

ব্যাখ্যা:

  • BasicStroke ক্লাস ব্যবহার করা হয়েছে লাইন স্ট্রোক কাস্টমাইজ করতে। এখানে, new BasicStroke(3.0f) ব্যবহার করে লাইনটির পুরুত্ব ৩ পিক্সেল করা হয়েছে। আপনি এটিকে পরিবর্তন করে আরো পাতলা বা পুরু লাইন তৈরি করতে পারেন।

2. Line Color কাস্টমাইজ করা

Line Color কাস্টমাইজ করতে হলে, আপনি XYPlot এর setSeriesPaint() মেথড ব্যবহার করতে পারেন। এটি প্রতিটি সিরিজের লাইন রঙ নির্ধারণ করতে সাহায্য করে।

উদাহরণ:

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.XYPlot;
import org.jfree.chart.plot.Plot;
import org.jfree.chart.ui.RefineryUtilities;
import org.jfree.data.xy.XYSeries;
import org.jfree.data.xy.XYSeriesCollection;
import org.jfree.chart.plot.XYPlot;
import java.awt.Color;
import javax.swing.*;

public class LineChartWithColorExample {

    public static JPanel createChartPanel() {
        // ডেটাসেট তৈরি করা
        XYSeries series = new XYSeries("Line Chart");
        series.add(1, 1);
        series.add(2, 4);
        series.add(3, 3);
        series.add(4, 5);

        XYSeriesCollection dataset = new XYSeriesCollection(series);

        // Line Chart তৈরি করা
        JFreeChart chart = ChartFactory.createXYLineChart(
                "Line Chart with Custom Line Color", // Chart Title
                "X-Axis", // X-Axis Label
                "Y-Axis", // Y-Axis Label
                dataset, // Dataset
                PlotOrientation.VERTICAL, // Plot Orientation
                true, // Show Legend
                true, // Tooltips
                false // URLs
        );

        // XYPlot ব্যবহার করে Line Color কাস্টমাইজ করা
        XYPlot plot = (XYPlot) chart.getPlot();
        plot.getRenderer().setSeriesPaint(0, Color.RED); // Line color set to RED

        // Chart Panel তৈরি করে এবং রিটার্ন করা
        return new ChartPanel(chart);
    }

    public static void main(String[] args) {
        // JFrame তৈরি করা
        JFrame frame = new JFrame("Line Chart with Color Example");
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.getContentPane().add(createChartPanel());
        frame.pack();
        frame.setVisible(true);
    }
}

ব্যাখ্যা:

  • plot.getRenderer().setSeriesPaint(0, Color.RED); এর মাধ্যমে প্রথম সিরিজের লাইন রঙ Red সেট করা হয়েছে।
  • আপনি অন্য রঙও ব্যবহার করতে পারেন, যেমন Color.BLUE, Color.GREEN, Color.BLACK, ইত্যাদি।

3. Line Thickness এবং Color কাস্টমাইজ করা একসাথে

আপনি Line Thickness এবং Line Color একসাথে কাস্টমাইজ করতে পারেন। নিচের উদাহরণে দুইটি কাস্টমাইজেশন একত্রে দেখানো হয়েছে।

উদাহরণ:

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.XYPlot;
import org.jfree.data.xy.XYSeries;
import org.jfree.data.xy.XYSeriesCollection;
import org.jfree.chart.plot.XYPlot;
import java.awt.Color;
import java.awt.BasicStroke;
import javax.swing.*;

public class LineChartWithThicknessAndColor {

    public static JPanel createChartPanel() {
        // ডেটাসেট তৈরি করা
        XYSeries series = new XYSeries("Line Chart");
        series.add(1, 1);
        series.add(2, 4);
        series.add(3, 3);
        series.add(4, 5);

        XYSeriesCollection dataset = new XYSeriesCollection(series);

        // Line Chart তৈরি করা
        JFreeChart chart = ChartFactory.createXYLineChart(
                "Line Chart with Custom Thickness and Color", // Chart Title
                "X-Axis", // X-Axis Label
                "Y-Axis", // Y-Axis Label
                dataset, // Dataset
                PlotOrientation.VERTICAL, // Plot Orientation
                true, // Show Legend
                true, // Tooltips
                false // URLs
        );

        // XYPlot ব্যবহার করে Line Thickness এবং Color কাস্টমাইজ করা
        XYPlot plot = (XYPlot) chart.getPlot();
        plot.getRenderer().setSeriesStroke(0, new BasicStroke(3.0f)); // Line thickness set to 3.0f
        plot.getRenderer().setSeriesPaint(0, Color.BLUE); // Line color set to BLUE

        // Chart Panel তৈরি করে এবং রিটার্ন করা
        return new ChartPanel(chart);
    }

    public static void main(String[] args) {
        // JFrame তৈরি করা
        JFrame frame = new JFrame("Line Chart with Thickness and Color");
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.getContentPane().add(createChartPanel());
        frame.pack();
        frame.setVisible(true);
    }
}

ব্যাখ্যা:

  • BasicStroke(3.0f) ব্যবহার করে লাইনটির পুরুত্ব ৩ পিক্সেল করা হয়েছে।
  • plot.getRenderer().setSeriesPaint(0, Color.BLUE); ব্যবহার করে লাইনটির রঙ ব্লু (Blue) করা হয়েছে।

সারাংশ

JFreeChart ব্যবহার করে Line Thickness এবং Line Color কাস্টমাইজ করা খুবই সহজ। আপনি BasicStroke ক্লাস ব্যবহার করে লাইনটির পুরুত্ব কাস্টমাইজ করতে পারেন এবং setSeriesPaint() মেথডের মাধ্যমে লাইনটির রঙ পরিবর্তন করতে পারেন। এই কাস্টমাইজেশন আপনার চার্টকে আরও আকর্ষণীয় এবং তথ্যপূর্ণ করে তোলে, যা ডেটা ভিজ্যুয়ালাইজেশনে খুবই গুরুত্বপূর্ণ।

Content added By
Promotion

Are you sure to start over?

Loading...