JFreeChart একটি শক্তিশালী Java লাইব্রেরি যা বিভিন্ন ধরনের গ্রাফ এবং চার্ট তৈরি করতে ব্যবহৃত হয়। এর মধ্যে একটি জনপ্রিয় চার্ট ধরনের উদাহরণ হল Pie Chart, যা ডেটা ভিজুয়ালাইজেশনের জন্য একটি খুব কার্যকরী টুল। Pie Chart সাধারণত শতাংশ হিসেবে ডেটা প্রদর্শন করতে ব্যবহৃত হয়, যেখানে প্রতিটি অংশ পয়সের একটি সেক্টরের প্রতিনিধিত্ব করে।
এখানে আমরা দেখব কিভাবে JFreeChart ব্যবহার করে একটি Pie Chart তৈরি করা যায়।
1. Pie Chart তৈরি করার জন্য প্রয়োজনীয় উপাদান
JFreeChart ব্যবহার করে Pie Chart তৈরি করতে আপনাকে কয়েকটি সাধারণ স্টেপ অনুসরণ করতে হবে:
- Dataset তৈরি করা: Pie Chart এর জন্য প্রথমে একটি PieDataset তৈরি করতে হবে, যেখানে আপনি চার্টের জন্য ডেটা প্রদান করবেন।
- Chart তৈরি করা: তারপর, আপনি ChartFactory এর মাধ্যমে একটি Pie Chart তৈরি করবেন।
- Chart প্রদর্শন করা: একবার Chart তৈরি হলে, আপনি সেটি একটি ChartPanel এ প্রদর্শন করতে পারবেন, যা GUI তে দেখাবে।
2. উদাহরণ: JFreeChart দিয়ে Pie Chart তৈরি করা
Step 1: প্রয়োজনীয় JFreeChart লাইব্রেরি যুক্ত করা
যদি আপনি Maven ব্যবহার করেন, তবে আপনার pom.xml ফাইলে এই ডিপেনডেন্সি যুক্ত করতে হবে:
<dependency>
<groupId>org.jfree</groupId>
<artifactId>jfreechart</artifactId>
<version>1.5.3</version> <!-- সর্বশেষ ভার্সন -->
</dependency>
Gradle ব্যবহারকারীদের জন্য:
dependencies {
implementation 'org.jfree:jfreechart:1.5.3' // সর্বশেষ ভার্সন
}
Step 2: Pie Chart তৈরি করার Java কোড
এখন, আমরা JFreeChart ব্যবহার করে একটি সাধারণ 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) {
// ডেটাসেট তৈরি করা
DefaultPieDataset dataset = createDataset();
// Pie Chart তৈরি করা
JFreeChart pieChart = ChartFactory.createPieChart(
"Sales Distribution", // Chart Title
dataset, // Dataset
true, // Include Legend
true, // Tooltips
false // URLs
);
// ChartPanel তৈরি করা এবং সেটিকে JFrame এ প্রদর্শন করা
ChartPanel chartPanel = new ChartPanel(pieChart);
chartPanel.setPreferredSize(new java.awt.Dimension(800, 600));
JFrame frame = new JFrame();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.getContentPane().add(chartPanel);
frame.pack();
frame.setVisible(true);
}
// ডেটাসেট তৈরি করা
private static DefaultPieDataset createDataset() {
DefaultPieDataset dataset = new DefaultPieDataset();
// Pie chart এ যোগ করার জন্য ডেটা
dataset.setValue("Product A", 40);
dataset.setValue("Product B", 30);
dataset.setValue("Product C", 20);
dataset.setValue("Product D", 10);
return dataset;
}
}
Step 3: কোড ব্যাখ্যা
- DefaultPieDataset: এটি Pie Chart এর জন্য ডেটা ধারণ করে। প্রতিটি সেক্টরের জন্য একটি মান (যেমন, 40%, 30%, 20%, 10%) যোগ করা হয়।
- ChartFactory.createPieChart(): এই মেথডটি Pie Chart তৈরি করে। এটি চারটি আর্গুমেন্ট নেয়: চার্টের শিরোনাম, ডেটাসেট, লেজেন্ড ইনক্লুড করা হবে কিনা, টুলটিপস এবং URLs।
- ChartPanel: JFreeChart থেকে তৈরি করা চার্টটি ChartPanel এ প্রদর্শিত হয়, যা GUI তে চার্টটি দেখায়।
- JFrame: এটি GUI উইন্ডো তৈরি করে এবং সেখানে চার্টটিকে প্রদর্শন করে।
Step 4: ফলাফল
কোডটি রান করলে একটি উইন্ডো খুলবে যেখানে Pie Chart প্রদর্শিত হবে। আপনি দেখতে পাবেন একটি চারটি অংশে বিভক্ত চার্ট যা বিভিন্ন পণ্য (Product A, Product B, Product C, Product D) এর জন্য সেলস ডিস্ট্রিবিউশন দেখাবে।
3. Pie Chart কাস্টমাইজেশন
JFreeChart-এ আপনি Pie Chart কাস্টমাইজ করতে পারেন, যেমন সেক্টরের রং পরিবর্তন করা, টুলটিপস কাস্টমাইজ করা, অথবা চার্টের শিরোনাম পরিবর্তন করা।
উদাহরণ: Pie Chart এর সেক্টর রং পরিবর্তন করা
pieChart.getPlot().setSectionPaint("Product A", java.awt.Color.RED);
pieChart.getPlot().setSectionPaint("Product B", java.awt.Color.GREEN);
pieChart.getPlot().setSectionPaint("Product C", java.awt.Color.BLUE);
pieChart.getPlot().setSectionPaint("Product D", java.awt.Color.YELLOW);
এটি Pie Chart এর বিভিন্ন সেক্টরের রঙ পরিবর্তন করবে।
4. সারাংশ
JFreeChart ব্যবহার করে Pie Chart তৈরি করা খুবই সহজ এবং দ্রুত। DefaultPieDataset ব্যবহার করে আপনি Pie Chart এর জন্য ডেটা সেট করতে পারেন এবং ChartFactory.createPieChart() মেথড দিয়ে সেই ডেটা থেকে একটি Pie Chart তৈরি করতে পারেন। JFrame এবং ChartPanel এর মাধ্যমে আপনি সেই চার্টটি GUI তে প্রদর্শন করতে পারেন। এছাড়াও, JFreeChart কাস্টমাইজেশন অপশন দেয়, যেমন সেক্টরের রং পরিবর্তন, লেজেন্ড অ্যাড করা ইত্যাদি। JFreeChart ব্যবহার করে আপনি অত্যন্ত কার্যকরী এবং সুন্দর Pie Charts তৈরি করতে পারেন যা ডেটা ভিজুয়ালাইজেশন টুলস হিসাবে ব্যবহৃত হয়।
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 ইত্যাদি, যা পি চার্টের ভিজুয়াল আকর্ষণীয়তা বৃদ্ধি করে।
JFreeChart Java-এর একটি শক্তিশালী লাইব্রেরি যা ডেটা ভিজ্যুয়ালাইজেশনে ব্যবহার হয়। আপনি বিভিন্ন ধরনের চার্ট তৈরি করতে পারেন, যার মধ্যে একটি জনপ্রিয় টাইপ হল Pie Chart (পাই চার্ট)। Pie Chart বিভিন্ন ভাগ বা সেকশনে বিভক্ত হয় এবং প্রতিটি সেকশনের জন্য একটি ভ্যালু বা শতাংশ দেখায়।
এখন, আমরা দেখব কিভাবে JFreeChart এ Pie Chart তৈরি করা যায় এবং এর অংশগুলোর Label এবং Color কাস্টমাইজ করা যায়।
1. JFreeChart এ Pie Chart তৈরি করা
প্রথমে, JFreeChart দিয়ে একটি সাধারণ Pie Chart তৈরি করা হবে। তারপরে, আমরা প্রতিটি সেকশনের Label এবং Color কাস্টমাইজ করব।
Step 1: 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.*;
public class PieChartExample {
public static void main(String[] args) {
// Pie chart dataset তৈরি করা
DefaultPieDataset dataset = new DefaultPieDataset();
dataset.setValue("Category 1", 40);
dataset.setValue("Category 2", 30);
dataset.setValue("Category 3", 20);
dataset.setValue("Category 4", 10);
// Pie chart তৈরি করা
JFreeChart pieChart = ChartFactory.createPieChart(
"Pie Chart Example", // Chart title
dataset, // Dataset
true, // Include legend
true // Tooltips enabled
);
// ChartPanel তৈরি করা এবং সেট করা
ChartPanel chartPanel = new ChartPanel(pieChart);
chartPanel.setPreferredSize(new java.awt.Dimension(800, 600));
// JFrame তৈরি করে chart panel যোগ করা
JFrame frame = new JFrame("JFreeChart Pie Chart Example");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.getContentPane().add(chartPanel);
frame.pack();
frame.setVisible(true);
}
}
এই কোডে আমরা একটি সাধারণ Pie Chart তৈরি করেছি যেখানে DefaultPieDataset ব্যবহার করা হয়েছে। প্রতিটি সেকশনের জন্য ভ্যালু নির্ধারণ করা হয়েছে এবং একটি Pie Chart তৈরি করা হয়েছে।
2. Pie Chart এর অংশসমূহের Label কাস্টমাইজ করা
Pie Chart এর প্রতিটি অংশের জন্য লেবেল (Label) কাস্টমাইজ করার জন্য, আমরা PiePlot ব্যবহার করি, যা Pie Chart এর প্লট তৈরি করে এবং সেই প্লটের লেবেল কাস্টমাইজ করতে সাহায্য করে।
Step 2: Pie Chart এর লেবেল কাস্টমাইজ করা
import org.jfree.chart.ChartFactory;
import org.jfree.chart.ChartPanel;
import org.jfree.chart.JFreeChart;
import org.jfree.chart.plot.PiePlot;
import org.jfree.chart.labels.PieSectionLabelGenerator;
import org.jfree.data.general.DefaultPieDataset;
import org.jfree.chart.labels.StandardPieSectionLabelGenerator;
import javax.swing.*;
public class PieChartExample {
public static void main(String[] args) {
// Pie chart dataset তৈরি করা
DefaultPieDataset dataset = new DefaultPieDataset();
dataset.setValue("Category 1", 40);
dataset.setValue("Category 2", 30);
dataset.setValue("Category 3", 20);
dataset.setValue("Category 4", 10);
// Pie chart তৈরি করা
JFreeChart pieChart = ChartFactory.createPieChart(
"Pie Chart Example", // Chart title
dataset, // Dataset
true, // Include legend
true // Tooltips enabled
);
// PiePlot ব্যবহার করে লেবেল কাস্টমাইজ করা
PiePlot plot = (PiePlot) pieChart.getPlot();
PieSectionLabelGenerator labelGenerator = new StandardPieSectionLabelGenerator(
"{0} = {1} ({2})"
);
plot.setLabelGenerator(labelGenerator); // লেবেল ফরম্যাট কাস্টমাইজ করা
// ChartPanel তৈরি করা এবং সেট করা
ChartPanel chartPanel = new ChartPanel(pieChart);
chartPanel.setPreferredSize(new java.awt.Dimension(800, 600));
// JFrame তৈরি করে chart panel যোগ করা
JFrame frame = new JFrame("JFreeChart Pie Chart Example");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.getContentPane().add(chartPanel);
frame.pack();
frame.setVisible(true);
}
}
এখানে, আমরা StandardPieSectionLabelGenerator ব্যবহার করেছি, যা লেবেলের ফরম্যাট কাস্টমাইজ করতে সহায়তা করে। {0}, {1}, {2} এর মাধ্যমে আপনি সেকশনের নাম, মান এবং শতাংশ প্রদর্শন করতে পারেন।
3. Pie Chart এর অংশসমূহের Color কাস্টমাইজ করা
JFreeChart এ Pie Chart এর প্রতিটি অংশের রঙ কাস্টমাইজ করার জন্য, PiePlot এর setSectionPaint() মেথড ব্যবহার করা হয়। এটি দিয়ে আপনি নির্দিষ্ট সেকশনের রঙ পরিবর্তন করতে পারেন।
Step 3: Pie Chart এর রঙ কাস্টমাইজ করা
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 java.awt.Color;
import javax.swing.*;
public class PieChartExample {
public static void main(String[] args) {
// Pie chart dataset তৈরি করা
DefaultPieDataset dataset = new DefaultPieDataset();
dataset.setValue("Category 1", 40);
dataset.setValue("Category 2", 30);
dataset.setValue("Category 3", 20);
dataset.setValue("Category 4", 10);
// Pie chart তৈরি করা
JFreeChart pieChart = ChartFactory.createPieChart(
"Pie Chart Example", // Chart title
dataset, // Dataset
true, // Include legend
true // Tooltips enabled
);
// PiePlot ব্যবহার করে লেবেল এবং রঙ কাস্টমাইজ করা
PiePlot plot = (PiePlot) pieChart.getPlot();
plot.setSectionPaint("Category 1", Color.RED); // Category 1 এর রঙ কাস্টমাইজ করা
plot.setSectionPaint("Category 2", Color.BLUE); // Category 2 এর রঙ কাস্টমাইজ করা
plot.setSectionPaint("Category 3", Color.GREEN); // Category 3 এর রঙ কাস্টমাইজ করা
plot.setSectionPaint("Category 4", Color.ORANGE); // Category 4 এর রঙ কাস্টমাইজ করা
// ChartPanel তৈরি করা এবং সেট করা
ChartPanel chartPanel = new ChartPanel(pieChart);
chartPanel.setPreferredSize(new java.awt.Dimension(800, 600));
// JFrame তৈরি করে chart panel যোগ করা
JFrame frame = new JFrame("JFreeChart Pie Chart Example");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.getContentPane().add(chartPanel);
frame.pack();
frame.setVisible(true);
}
}
এখানে, setSectionPaint() মেথড ব্যবহার করে প্রতিটি সেকশনের জন্য আলাদা রঙ সেট করা হয়েছে। আপনি আপনার প্রয়োজন অনুযায়ী রঙ পরিবর্তন করতে পারেন (যেমন: Color.RED, Color.BLUE, ইত্যাদি)।
4. সারাংশ
JFreeChart ব্যবহার করে Pie Chart এর অংশগুলোর Label এবং Color কাস্টমাইজ করা সহজ। আপনি PiePlot ক্লাসের মাধ্যমে লেবেল ফরম্যাট এবং রঙ কাস্টমাইজ করতে পারেন। এর মাধ্যমে আপনি বিভিন্ন সেকশনের জন্য পৃথক লেবেল এবং রঙ তৈরি করতে পারেন যা ব্যবহারকারীর জন্য আরও আকর্ষণীয় এবং পাঠযোগ্য হবে।
- Label কাস্টমাইজেশন: লেবেলগুলিকে কাস্টম ফরম্যাটে উপস্থাপন করার জন্য StandardPieSectionLabelGenerator ব্যবহার করা হয়।
- Color কাস্টমাইজেশন: প্রতিটি সেকশনের জন্য রঙ পরিবর্তন করতে setSectionPaint() মেথড ব্যবহার করা হয়।
এই কাস্টমাইজেশনগুলির মাধ্যমে, আপনি আপনার Pie Chart গুলিকে আরও ব্যবহারকারী বান্ধব এবং আকর্ষণীয় করে তুলতে পারবেন।
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 ব্যবহার করে আপনি আপনার চার্ট কাস্টমাইজ করতে পারবেন, যেমন রঙ, টুলটিপস, এবং লেজেন্ড সেটিংস, যা আপনাকে আরও পরিষ্কারভাবে ডেটা প্রদর্শন করতে সহায়তা করবে।
JFreeChart একটি জনপ্রিয় Java লাইব্রেরি যা ডেটা ভিজ্যুয়ালাইজেশনের জন্য বিভিন্ন ধরনের গ্রাফ এবং চার্ট তৈরি করতে ব্যবহৃত হয়। সাধারণ পি চার্টের মতো, আপনি 3D Effects সহ পি চার্টও তৈরি করতে পারেন, যা ডেটাকে আরও আকর্ষণীয় এবং সহজে বিশ্লেষণযোগ্য করে তোলে। জেমিটার লাইব্রেরি 3D পি চার্ট তৈরি করতে সহজভাবে কাস্টমাইজেশন করতে সাহায্য করে।
এই গাইডে আমরা একটি 3D Pie Chart তৈরি করার প্রক্রিয়া শিখব।
JFreeChart দিয়ে 3D Pie Chart তৈরি করা
JFreeChart সরাসরি 3D Pie Chart সাপোর্ট করে না, তবে আপনি RingPlot বা PiePlot3D ব্যবহার করে 3D visual effect তৈরি করতে পারেন।
নিচে একটি উদাহরণ দেওয়া হলো, যেখানে PieChart-এর জন্য 3D effects যুক্ত করা হয়েছে।
1. জেফ্রিচার্ট সেটআপ
প্রথমে, আপনার প্রজেক্টে JFreeChart এবং JCommon লাইব্রেরি যোগ করুন (যদি আপনি ইতিমধ্যে না করে থাকেন)।
যদি আপনি Maven ব্যবহার করেন, তাহলে pom.xml-এ নিচের ডিপেন্ডেন্সি যোগ করুন:
<dependency>
<groupId>org.jfree</groupId>
<artifactId>jfreechart</artifactId>
<version>1.5.3</version>
</dependency>
<dependency>
<groupId>org.jfree</groupId>
<artifactId>jcommon</artifactId>
<version>1.0.24</version>
</dependency>
2. 3D Pie Chart তৈরি করা
এখানে আমরা PiePlot3D ক্লাস ব্যবহার করে একটি 3D Pie Chart তৈরি করব। এই চার্টে 3D প্রভাব সহ বিভিন্ন সেগমেন্ট থাকবে।
উদাহরণ: 3D Pie Chart তৈরি করা
import org.jfree.chart.ChartFactory;
import org.jfree.chart.ChartPanel;
import org.jfree.chart.JFreeChart;
import org.jfree.chart.plot.PiePlot3D;
import org.jfree.data.general.DefaultPieDataset;
import javax.swing.*;
import org.jfree.chart.plot.PlotOrientation;
public class PieChart3DExample {
public static void main(String[] args) {
// Dataset তৈরি করুন
DefaultPieDataset dataset = createDataset();
// Chart তৈরি করুন
JFreeChart chart = ChartFactory.createPieChart3D(
"3D Pie Chart Example", // Chart title
dataset, // Dataset
true, // Include legend
true // Tooltips
);
// 3D effects যোগ করতে PiePlot3D ব্যবহার করুন
PiePlot3D plot = (PiePlot3D) chart.getPlot();
plot.setSectionDepth(0.30); // 3D depth effect
plot.setCircular(true); // Set pie chart to be circular
// Chart panel তৈরি করুন এবং JFrame এ প্রদর্শন করুন
ChartPanel chartPanel = new ChartPanel(chart);
chartPanel.setPreferredSize(new java.awt.Dimension(800, 600));
JFrame frame = new JFrame();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.getContentPane().add(chartPanel);
frame.pack();
frame.setVisible(true);
}
// Dataset তৈরি করা
private static DefaultPieDataset createDataset() {
DefaultPieDataset dataset = new DefaultPieDataset();
dataset.setValue("Category A", 25.0);
dataset.setValue("Category B", 30.0);
dataset.setValue("Category C", 15.0);
dataset.setValue("Category D", 20.0);
dataset.setValue("Category E", 10.0);
return dataset;
}
}
3. কোডের ব্যাখ্যা
- Dataset তৈরি করা:
DefaultPieDatasetব্যবহার করে ডেটা সেট তৈরি করা হয়, যা Pie Chart এর সেগমেন্ট তৈরি করতে ব্যবহৃত হয়। এখানে আমরা বিভিন্ন Category এবং তাদের ভ্যালু নির্ধারণ করেছি।
- Chart তৈরি করা:
ChartFactory.createPieChart3D()মেথড ব্যবহার করে 3D Pie Chart তৈরি করা হয়েছে। এটি chart title, dataset, এবং legend সহ chart তৈরি করে।
- 3D Effect কাস্টমাইজ করা:
PiePlot3Dক্লাস ব্যবহার করে 3D Pie Chart কাস্টমাইজ করা হয়েছে। এখানেsetSectionDepth()মেথড দিয়ে চার্টের গভীরতা (depth) সেট করা হয়েছে, যা 3D প্রভাব তৈরি করে।setCircular(true)ব্যবহার করে পি চার্টটিকে সার্কুলার বা গোলাকার আকারে তৈরি করা হয়েছে।
- Chart Panel এবং JFrame:
ChartPanelব্যবহার করে চার্টটিকে GUI তে প্রদর্শন করা হয়েছে এবং এটি JFrame এর মধ্যে যোগ করা হয়েছে।
4. 3D Pie Chart-এ অন্যান্য কাস্টমাইজেশন
- Section Depth:
setSectionDepth()মেথডের মাধ্যমে 3D ইফেক্টের গভীরতা কাস্টমাইজ করা যায়। - Explode Sections: Pie chart এর নির্দিষ্ট সেগমেন্টকে এক্সপ্লোড (আউটপুট) করতে
setExplodePercent()মেথড ব্যবহার করা যেতে পারে।
উদাহরণ: এক বা একাধিক সেগমেন্ট এক্সপ্লোড করা
plot.setExplodePercent("Category A", 0.15); // Explode "Category A" by 15%
এটি "Category A" সেগমেন্টটিকে Pie Chart থেকে 15% বড় করে দেখাবে।
সারাংশ
JFreeChart ব্যবহার করে আপনি খুব সহজেই 3D Pie Chart তৈরি করতে পারেন। PiePlot3D ক্লাসের মাধ্যমে পি চার্টে 3D প্রভাব যোগ করা হয়, যা সেগমেন্টের গভীরতা এবং আকৃতি কাস্টমাইজ করতে সহায়তা করে। setSectionDepth(), setExplodePercent(), এবং অন্যান্য কাস্টমাইজেশন ফিচার ব্যবহার করে আপনি আপনার চার্টের ভিজ্যুয়াল প্রভাব আরও আকর্ষণীয় করতে পারেন। JFreeChart এর এই শক্তিশালী ফিচারটি আপনার ডেটা ভিজ্যুয়ালাইজেশনকে আরও প্রাণবন্ত এবং সহজবোধ্য করে তোলে।
Read more