JFreeChart ব্যবহার করে Pie Chart তৈরি করতে হলে, PieDataset প্রয়োজন। এটি এমন একটি ডেটা স্ট্রাকচার যা একাধিক ক্যাটেগরির জন্য পরিমাণিক মান ধারণ করে। Pie Chart সাধারণত ডেটার অংশবিশেষকে মোটের সাথে তুলনা করতে ব্যবহার করা হয়, যেখানে প্রতিটি অংশ একটি 'slice' বা টুকরো হিসেবে প্রদর্শিত হয়।
JFreeChart-এ PieDataset তৈরি করার জন্য DefaultPieDataset ব্যবহার করা হয়, যা একটি সাধারণ ক্লাস যা পাই চার্টের জন্য ডেটা ধারণ করে। এই ডেটাতে ক্যাটেগরি এবং তাদের মান (value) থাকে।
নিচে একটি উদাহরণ দেওয়া হল যেখানে PieDataset ব্যবহার করে একটি Pie Chart তৈরি করা হয়েছে।
উদাহরণ: PieDataset ব্যবহার করে Pie Chart তৈরি
import org.jfree.chart.ChartFactory;
import org.jfree.chart.ChartPanel;
import org.jfree.chart.JFreeChart;
import org.jfree.data.general.DefaultPieDataset;
import javax.swing.JFrame;
public class PieChartExample {
public static void main(String[] args) {
// ১. PieDataset তৈরি
DefaultPieDataset dataset = new DefaultPieDataset();
// ২. ডেটা যোগ করা
dataset.setValue("Category A", 40);
dataset.setValue("Category B", 30);
dataset.setValue("Category C", 20);
dataset.setValue("Category D", 10);
// ৩. Pie Chart তৈরি
JFreeChart chart = ChartFactory.createPieChart(
"Pie Chart Example", // Title
dataset, // Dataset
true, // Include legend
true, // Tooltips
false // URLs
);
// ৪. ChartPanel তৈরি এবং সেট করা
ChartPanel chartPanel = new ChartPanel(chart);
chartPanel.setPreferredSize(new java.awt.Dimension(800, 600));
// ৫. JFrame এ Pie Chart প্রদর্শন
JFrame frame = new JFrame();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.add(chartPanel);
frame.pack();
frame.setVisible(true);
}
}
কোডের ব্যাখ্যা:
- DefaultPieDataset:
- DefaultPieDataset একটি PieDataset এর বাস্তবায়ন যা পাই চার্টের জন্য ডেটা ধারণ করে। এখানে আমরা
setValue()মেথড ব্যবহার করে চারটি ক্যাটেগরি ("Category A", "Category B", "Category C", "Category D") এবং তাদের মান (40, 30, 20, 10) যোগ করেছি।
- DefaultPieDataset একটি PieDataset এর বাস্তবায়ন যা পাই চার্টের জন্য ডেটা ধারণ করে। এখানে আমরা
- Pie Chart তৈরি করা:
ChartFactory.createPieChart()মেথড ব্যবহার করে আমরা একটি পাই চার্ট তৈরি করেছি। এর মধ্যে কিছু প্যারামিটার রয়েছে:- Title: চার্টের শিরোনাম (Pie Chart Example)
- Dataset: তৈরি করা PieDataset
- Include legend: সত্য (যা লেজেন্ড দেখাবে)
- Tooltips: সত্য (যা চার্টের উপর টুলটিপ প্রদর্শন করবে)
- URLs: মিথ্যা (যা URL লিঙ্কিং নিষ্ক্রিয় করবে)
- ChartPanel:
ChartPanelএকটি কন্টেইনার যা JFreeChart-কে GUI অ্যাপ্লিকেশন হিসেবে প্রদর্শন করতে ব্যবহৃত হয়।
- JFrame:
JFrameব্যবহার করা হয়েছে পি চার্টটিকে একটি উইন্ডোতে প্রদর্শন করার জন্য।
Pie Chart এর কাস্টমাইজেশন
JFreeChart ব্যবহার করে আপনি পাই চার্টকে আরও কাস্টমাইজ করতে পারেন, যেমন:
- Colors: প্রতিটি স্লাইসের জন্য আলাদা রং নির্বাচন করা।
- Exploded Slices: কিছু স্লাইসকে পৃথকভাবে প্রদর্শন করা।
- Labels: স্লাইসে লেবেল যোগ করা বা স্লাইসের মান প্রদর্শন করা।
- Tooltips: মাউস হভার করলে টুলটিপ প্রদর্শন করা।
উদাহরণ: Exploded Pie Chart এবং লেবেল যোগ করা
import org.jfree.chart.ChartFactory;
import org.jfree.chart.ChartPanel;
import org.jfree.chart.JFreeChart;
import org.jfree.data.general.DefaultPieDataset;
import org.jfree.chart.plot.PiePlot;
import org.jfree.chart.plot.PiePlot3D;
import javax.swing.JFrame;
import java.awt.Color;
public class ExplodedPieChartExample {
public static void main(String[] args) {
// PieDataset তৈরি
DefaultPieDataset dataset = new DefaultPieDataset();
// ডেটা যোগ করা
dataset.setValue("Category A", 40);
dataset.setValue("Category B", 30);
dataset.setValue("Category C", 20);
dataset.setValue("Category D", 10);
// Pie Chart তৈরি
JFreeChart chart = ChartFactory.createPieChart(
"Exploded Pie Chart Example", // Title
dataset, // Dataset
true, // Include legend
true, // Tooltips
false // URLs
);
// PiePlot কাস্টমাইজেশন
PiePlot plot = (PiePlot) chart.getPlot();
plot.setSectionDepth(0.25); // স্লাইস গভীরতা বৃদ্ধি
plot.setSectionPaint("Category A", Color.RED); // কাস্টম রং
plot.setExplodePercent("Category A", 0.20); // Exploded slice
// ChartPanel তৈরি
ChartPanel chartPanel = new ChartPanel(chart);
chartPanel.setPreferredSize(new java.awt.Dimension(800, 600));
// JFrame এ Pie Chart প্রদর্শন
JFrame frame = new JFrame();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.add(chartPanel);
frame.pack();
frame.setVisible(true);
}
}
এখানে, Exploded Pie Chart তৈরি করা হয়েছে, যেখানে "Category A" এর স্লাইসটি অন্য স্লাইস থেকে পৃথকভাবে প্রদর্শিত হবে এবং custom colors ও labels দেওয়া হয়েছে।
সারাংশ
PieDataset ব্যবহার করে JFreeChart-এ পি চার্ট তৈরি করা একটি শক্তিশালী উপায়, যা আপনাকে ডেটার অংশবিশেষের দৃশ্যমান প্রতীক বা অংশ দেখাতে সাহায্য করে। DefaultPieDataset ক্লাসটি ডেটা ধারণ করে এবং ChartFactory.createPieChart() মেথডের মাধ্যমে পি চার্ট তৈরি করা হয়। JFreeChart পি চার্ট কাস্টমাইজেশনের জন্য একাধিক অপশন প্রদান করে, যেমন স্লাইস রং, Exploded Slices, Tooltips ইত্যাদি, যা পি চার্টের ভিজুয়াল আকর্ষণীয়তা বৃদ্ধি করে।
Read more