JFreeChart একটি জনপ্রিয় Java লাইব্রেরি যা ডাটা ভিজ্যুয়ালাইজেশন এবং চার্ট তৈরি করার জন্য ব্যবহৃত হয়। Bar Chart একটি সাধারণ কিন্তু শক্তিশালী চার্ট যা ডাটা কategori বা শ্রেণীভুক্তভাবে প্রদর্শন করে। JFreeChart দিয়ে আপনি Stacked Bar Chart এবং Grouped Bar Chart সহজেই তৈরি করতে পারেন। এই দুটি চার্ট আপনাকে তুলনামূলকভাবে ডাটা ভিজ্যুয়ালাইজেশন এবং বিশ্লেষণ করতে সহায়তা করে।
1. Stacked Bar Chart
Stacked Bar Chart একটি চার্ট যেখানে প্রতিটি বার (bar) বিভিন্ন সেগমেন্টে ভাগ করা হয়, এবং প্রতিটি সেগমেন্ট অন্য একটি মান (value) প্রতিনিধিত্ব করে। এটি বিশেষত তখন ব্যবহৃত হয় যখন আপনি একাধিক ক্যাটেগরি বা ভ্যালুর মধ্যে মোট অংশের অবদান প্রদর্শন করতে চান।
Stacked Bar Chart তৈরির জন্য প্রয়োজনীয় কোড:
import org.jfree.chart.ChartFactory;
import org.jfree.chart.ChartPanel;
import org.jfree.chart.JFreeChart;
import org.jfree.data.category.DefaultCategoryDataset;
import org.jfree.data.category.CategoryDataset;
import javax.swing.*;
public class StackedBarChartExample {
public static void main(String[] args) {
SwingUtilities.invokeLater(() -> {
JFrame frame = new JFrame("Stacked Bar Chart Example");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.add(createChartPanel(createDataset()));
frame.pack();
frame.setVisible(true);
});
}
private static CategoryDataset createDataset() {
DefaultCategoryDataset dataset = new DefaultCategoryDataset();
// Adding data to the dataset
dataset.addValue(1, "Category 1", "Jan");
dataset.addValue(2, "Category 2", "Jan");
dataset.addValue(3, "Category 3", "Jan");
dataset.addValue(4, "Category 1", "Feb");
dataset.addValue(5, "Category 2", "Feb");
dataset.addValue(6, "Category 3", "Feb");
dataset.addValue(7, "Category 1", "Mar");
dataset.addValue(8, "Category 2", "Mar");
dataset.addValue(9, "Category 3", "Mar");
return dataset;
}
private static ChartPanel createChartPanel(CategoryDataset dataset) {
JFreeChart chart = ChartFactory.createStackedBarChart(
"Stacked Bar Chart", // Title
"Month", // X-Axis Label
"Value", // Y-Axis Label
dataset // Dataset
);
return new ChartPanel(chart);
}
}
কোড ব্যাখ্যা:
- DefaultCategoryDataset: এই ক্লাস ব্যবহার করে আপনি ডাটা যোগ করতে পারেন। এখানে আমরা ৩টি ক্যাটেগরি (Category 1, 2, 3) এর জন্য বিভিন্ন মান (value) যোগ করছি।
- createStackedBarChart(): এটি
Stacked Bar Chartতৈরি করতে ব্যবহৃত JFreeChart এর একটি মেথড। এটি চিহ্নিত করে যে গ্রাফটি স্ট্যাকড বার চার্ট হবে। - ChartPanel: এটি একটি প্যানেল যা চার্ট প্রদর্শন করে।
এটি Stacked Bar Chart তৈরি করবে যেখানে প্রতিটি মাসের জন্য তিনটি ক্যাটেগরির মান স্ট্যাক করা হয়েছে।
2. Grouped Bar Chart
Grouped Bar Chart হল একটি চার্ট যেখানে প্রতিটি ক্যাটেগরি ভ্যালু আলাদা বার (bar) দিয়ে প্রদর্শিত হয়, এবং প্রতিটি গ্রুপের মধ্যে একাধিক বার থাকে। এটি তখন ব্যবহার করা হয় যখন একাধিক ভ্যারিয়েবলকে একই ক্যাটেগরিতে তুলনা করতে চান।
Grouped Bar Chart তৈরির জন্য প্রয়োজনীয় কোড:
import org.jfree.chart.ChartFactory;
import org.jfree.chart.ChartPanel;
import org.jfree.chart.JFreeChart;
import org.jfree.data.category.DefaultCategoryDataset;
import org.jfree.data.category.CategoryDataset;
import javax.swing.*;
public class GroupedBarChartExample {
public static void main(String[] args) {
SwingUtilities.invokeLater(() -> {
JFrame frame = new JFrame("Grouped Bar Chart Example");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.add(createChartPanel(createDataset()));
frame.pack();
frame.setVisible(true);
});
}
private static CategoryDataset createDataset() {
DefaultCategoryDataset dataset = new DefaultCategoryDataset();
// Adding data to the dataset
dataset.addValue(1, "Category 1", "Jan");
dataset.addValue(2, "Category 2", "Jan");
dataset.addValue(3, "Category 3", "Jan");
dataset.addValue(4, "Category 1", "Feb");
dataset.addValue(5, "Category 2", "Feb");
dataset.addValue(6, "Category 3", "Feb");
dataset.addValue(7, "Category 1", "Mar");
dataset.addValue(8, "Category 2", "Mar");
dataset.addValue(9, "Category 3", "Mar");
return dataset;
}
private static ChartPanel createChartPanel(CategoryDataset dataset) {
JFreeChart chart = ChartFactory.createBarChart(
"Grouped Bar Chart", // Title
"Month", // X-Axis Label
"Value", // Y-Axis Label
dataset, // Dataset
org.jfree.chart.plot.PlotOrientation.VERTICAL,
true, // Include legend
true, // Tooltips
false // URLs
);
return new ChartPanel(chart);
}
}
কোড ব্যাখ্যা:
- createBarChart(): এই মেথডটি Grouped Bar Chart তৈরি করতে ব্যবহৃত হয়। এখানে
Category 1,Category 2, এবংCategory 3একই মাসের মধ্যে গ্রুপ হিসেবে দেখা যাবে, তবে প্রতিটি গ্রুপের জন্য আলাদা আলাদা বার থাকবে। - Dataset: এখানে
DefaultCategoryDatasetব্যবহার করে প্রতিটি মাসের জন্য আলাদা ক্যাটেগরি এবং মান (value) প্রদান করা হয়েছে। - ChartPanel: এটি JFreeChart তৈরি করার পর তা প্রদর্শন করতে ব্যবহৃত হয়।
এটি Grouped Bar Chart তৈরি করবে, যেখানে মাস ভিত্তিক একাধিক বার ক্যাটেগরি অনুযায়ী প্রদর্শিত হবে।
সারাংশ
Stacked Bar Chart এবং Grouped Bar Chart দুটি গুরুত্বপূর্ণ চার্ট টাইপ যা বিভিন্ন ধরনের ডাটা ভিজ্যুয়ালাইজেশনের জন্য ব্যবহৃত হয়। JFreeChart দিয়ে আপনি সহজে এই দুটি চার্ট তৈরি করতে পারেন এবং বিভিন্ন ক্যাটেগরি এবং মাস অনুযায়ী ডাটা তুলনা করতে সক্ষম হবেন।
- Stacked Bar Chart আপনাকে একটি গ্রুপের মধ্যে প্রতিটি সেগমেন্টের অবদান প্রদর্শন করতে সাহায্য করে।
- Grouped Bar Chart একই ক্যাটেগরির মধ্যে একাধিক ভ্যালু তুলনা করতে সহায়তা করে।
এই দুটি চার্ট তৈরি করে আপনি আপনার ডাটার গভীর বিশ্লেষণ এবং উপস্থাপনা করতে পারবেন, যা বিশেষত ব্যবসায়িক রিপোর্টিং, গবেষণা, এবং ডেটা বিশ্লেষণের জন্য অত্যন্ত কার্যকরী।
Read more