JFreeChart লাইব্রেরি ব্যবহার করে আপনি সহজেই বিভিন্ন ধরনের গ্রাফ এবং চার্ট তৈরি করতে পারেন। এর মধ্যে Exploded Pie Chart একটি জনপ্রিয় ভিজ্যুয়ালাইজেশন, যা বিভিন্ন অংশের গুরুত্ব বা অংশবিশেষকে আলাদাভাবে প্রদর্শন করতে ব্যবহৃত হয়। Exploded Pie Chart-এ, পাই চার্টের কিছু সেগমেন্ট আলাদা করে দেখানো হয়, যা ব্যবহারকারীদের সহজে কোনো বিশেষ অংশের দিকে মনোযোগ আকর্ষণ করতে সাহায্য করে।
এই গাইডে, আমরা Exploded Pie Chart তৈরি করার প্রক্রিয়া দেখব।
1. JFreeChart সেটআপ
প্রথমে আপনাকে JFreeChart লাইব্রেরি সেটআপ করতে হবে।
Eclipse বা IntelliJ IDEA তে JFreeChart কনফিগারেশন
Eclipse বা IntelliJ IDEA তে JFreeChart সেটআপ করার জন্য আপনাকে প্রথমে লাইব্রেরি ডাউনলোড করতে হবে এবং সেগুলো প্রজেক্টে যোগ করতে হবে। আপনি JFreeChart এর অফিসিয়াল ওয়েবসাইট থেকে JAR ফাইল ডাউনলোড করতে পারেন অথবা Maven ব্যবহার করতে পারেন।
Maven Dependency (যদি Maven প্রজেক্ট হয়):
<dependency>
<groupId>org.jfree</groupId>
<artifactId>jfreechart</artifactId>
<version>1.5.3</version>
</dependency>
2. Exploded Pie Chart তৈরি করা
এখন আসুন দেখি কিভাবে একটি Exploded Pie Chart তৈরি করা যায়। এখানে আমরা একটি উদাহরণ দেখাব যেখানে একটি পাই চার্টের কিছু অংশ আলাদা ভাবে প্রদর্শিত হবে (exploded effect)।
উদাহরণ কোড:
import org.jfree.chart.ChartFactory;
import org.jfree.chart.ChartPanel;
import org.jfree.chart.JFreeChart;
import org.jfree.chart.plot.PiePlot;
import org.jfree.data.general.DefaultPieDataset;
import org.jfree.chart.plot.PlotOrientation;
import javax.swing.*;
import java.awt.*;
public class ExplodedPieChartExample {
public static void main(String[] args) {
// ডেটাসেট তৈরি করা
DefaultPieDataset dataset = createDataset();
// Exploded Pie Chart তৈরি করা
JFreeChart chart = ChartFactory.createPieChart(
"Exploded Pie Chart", // Chart title
dataset, // Dataset
true, // Include legend
true // Tooltips
);
// Pie chart এর Plot কে এক্সেস করা
PiePlot plot = (PiePlot) chart.getPlot();
// কিছু অংশ আলাদা করে (explode) দেখানো
plot.setExplodePercent("Category 1", 0.2); // Category 1 এর সেগমেন্টকে 20% আলাদা করুন
plot.setExplodePercent("Category 2", 0.3); // Category 2 এর সেগমেন্টকে 30% আলাদা করুন
// গ্রাফ এর প্যানেল তৈরি করা
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, BorderLayout.CENTER);
frame.pack();
frame.setVisible(true);
}
// ডেটাসেট তৈরি করা
private static DefaultPieDataset createDataset() {
DefaultPieDataset dataset = new DefaultPieDataset();
dataset.setValue("Category 1", 50);
dataset.setValue("Category 2", 30);
dataset.setValue("Category 3", 20);
return dataset;
}
}
কোডের ব্যাখ্যা
- Dataset তৈরি:
DefaultPieDatasetক্লাস ব্যবহার করে একটি পাই চার্টের জন্য ডেটাসেট তৈরি করা হয়েছে।dataset.setValue()মেথড দিয়ে পাই চার্টের জন্য বিভিন্ন ক্যাটাগরি এবং তাদের মান দেওয়া হয়েছে।
- Exploded Effect:
PiePlot-এর মাধ্যমে চার্টের প্রতিটি অংশ আলাদা করার জন্য explodePercent() ব্যবহার করা হয়েছে।plot.setExplodePercent("Category 1", 0.2)এই লাইনটিCategory 1এর সেগমেন্টকে 20% আলাদা (explode) করে দেখাবে।- একইভাবে,
Category 2এর সেগমেন্ট 30% আলাদা করে দেখানোর জন্য সেট করা হয়েছে।
- Chart Panel তৈরি এবং JFrame এ প্রদর্শন:
ChartPanelতৈরি করে এবং সেটি একটি JFrame এ যুক্ত করা হয়েছে, যাতে চার্টটি GUI তে প্রদর্শিত হয়।
3. কাস্টমাইজেশন
JFreeChart ব্যবহার করে আপনি Exploded Pie Chart এর ভিজ্যুয়াল এবং পারফরম্যান্স আরও কাস্টমাইজ করতে পারেন:
- Explode Percentage: আপনি যেকোনো সেগমেন্টের জন্য explode effect এর পরিমাণ নির্ধারণ করতে পারেন। (যেমন,
plot.setExplodePercent("Category 1", 0.4)- এখানে 40% এক্সপ্লোড হবে)। Chart Color: আপনি চার্টের রঙ পরিবর্তন করতে পারেন, যেমন সেগমেন্টগুলোর জন্য বিভিন্ন রঙ ব্যবহার করা।
plot.setSectionPaint("Category 1", Color.RED); // Category 1 কে লাল রঙ দিন plot.setSectionPaint("Category 2", Color.BLUE); // Category 2 কে নীল রঙ দিনLegend এবং Tooltips: আপনি চার্টে Legend এবং Tooltips কাস্টমাইজ করতে পারেন। আপনি দেখতে পাবেন যে, প্রতিটি সেগমেন্টের উপর মাউস নিয়ে গেলে সেই সেগমেন্টের সম্পর্কে তথ্য দেখানো হবে।
plot.setSectionToolTipGenerator("Category 1", "Category 1: 50%");
সারাংশ
Exploded Pie Chart জেমিটার (JFreeChart) দিয়ে তৈরি করার মাধ্যমে আপনি সহজে ডেটার বিভিন্ন অংশের গুরুত্ব বা আংশিক অংশকে আলাদাভাবে প্রদর্শন করতে পারেন। PiePlot এর setExplodePercent() মেথড ব্যবহার করে আপনি আপনার পাই চার্টের সেগমেন্টগুলিকে আলাদা (explode) করতে পারেন। JFreeChart ব্যবহার করে আপনি আপনার চার্ট কাস্টমাইজ করতে পারবেন, যেমন রঙ, টুলটিপস, এবং লেজেন্ড সেটিংস, যা আপনাকে আরও পরিষ্কারভাবে ডেটা প্রদর্শন করতে সহায়তা করবে।
Read more