JFreeChart এর মাধ্যমে CategoryDataset ব্যবহার করে বার চার্ট তৈরি করা একটি সাধারণ প্রক্রিয়া। CategoryDataset হল এমন একটি ডেটা স্ট্রাকচার যা ক্যাটেগরি বা শ্রেণীভুক্ত ডেটা ধরে রাখে। এটি বার চার্ট (bar chart) এবং অন্যান্য ধরনের ক্যাটেগরি ভিত্তিক চার্ট তৈরি করতে ব্যবহৃত হয়।
JFreeChart-এ CategoryDataset সাধারণত DefaultCategoryDataset হিসেবে ব্যবহৃত হয়, যা category (যেমন: মাস, বিভাগ, বা অন্যান্য শ্রেণী) এবং value (যেমন: সংখ্যার মান বা রেটিং) ধারণ করে। এই ডেটাসেটটি একটি Bar Chart বা অন্য যেকোনো ক্যাটেগরি ভিত্তিক চার্টের জন্য ইনপুট হিসেবে ব্যবহার করা হয়।
নিচে একটি উদাহরণ দেওয়া হল যেখানে CategoryDataset ব্যবহার করে Vertical Bar Chart তৈরি করা হয়েছে।
উদাহরণ: CategoryDataset ব্যবহার করে Vertical Bar Chart তৈরি
import org.jfree.chart.ChartFactory;
import org.jfree.chart.ChartPanel;
import org.jfree.chart.JFreeChart;
import org.jfree.data.category.DefaultCategoryDataset;
import javax.swing.JFrame;
public class VerticalBarChartExample {
public static void main(String[] args) {
// ১. ডেটাসেট তৈরি
DefaultCategoryDataset dataset = new DefaultCategoryDataset();
// ২. ডেটা যোগ করা
dataset.addValue(4.0, "Sales", "January");
dataset.addValue(3.0, "Sales", "February");
dataset.addValue(5.0, "Sales", "March");
dataset.addValue(2.0, "Sales", "April");
dataset.addValue(6.0, "Sales", "May");
// ৩. বার চার্ট তৈরি
JFreeChart chart = ChartFactory.createBarChart(
"Monthly Sales Data", // Title
"Month", // X-axis label
"Sales ($)", // Y-axis label
dataset, // Dataset
org.jfree.chart.plot.PlotOrientation.VERTICAL, // Orientation: Vertical
true, // Include legend
true, // Tooltips
false // URLs
);
// ৪. চার্ট প্যানেল তৈরি
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.add(chartPanel);
frame.pack();
frame.setVisible(true);
}
}
কোডের ব্যাখ্যা:
- ডেটাসেট তৈরি:
DefaultCategoryDatasetএকটি সাধারণ ক্লাস যা ক্যাটেগরি ভিত্তিক ডেটা ধারণ করে।addValue()মেথড ব্যবহার করে আপনি ডেটা যোগ করতে পারেন। এখানে, আমরা "Sales" নামক সিরিজ তৈরি করেছি এবং জানুয়ারি থেকে মে মাস পর্যন্ত বিক্রির তথ্য যুক্ত করেছি।
- বার চার্ট তৈরি:
ChartFactory.createBarChart()মেথড ব্যবহার করে আমরা বার চার্ট তৈরি করেছি। এই মেথডে কয়েকটি প্যারামিটার ব্যবহার করেছি:- Title: চার্টের শিরোনাম (Monthly Sales Data)
- X-axis label: X অক্ষের লেবেল (Month)
- Y-axis label: Y অক্ষের লেবেল (Sales ($))
- Dataset: ডেটাসেট যা থেকে ডেটা আসবে।
- Orientation: Orientation সেট করা হয়েছে Vertical, অর্থাৎ আমাদের বার চার্টটি উল্লম্ব হবে।
- ChartPanel এবং JFrame:
ChartPanelক্লাস ব্যবহার করে আমরা তৈরি করা চার্টটিকে একটি প্যানেলে সংযুক্ত করেছি।- তারপর, এই প্যানেলটিকে একটি
JFrame-এ যোগ করে টেস্ট চালিয়েছি এবং চার্টটি প্রদর্শন করেছি।
Horizontal Bar Chart (অনুভূমিক বার চার্ট)
আপনি যদি অনুভূমিক বার চার্ট তৈরি করতে চান, তাহলে PlotOrientation.HORIZONTAL ব্যবহার করতে হবে। নিচে একটি Horizontal Bar Chart তৈরির উদাহরণ দেওয়া হল:
উদাহরণ: Horizontal Bar Chart
import org.jfree.chart.ChartFactory;
import org.jfree.chart.ChartPanel;
import org.jfree.chart.JFreeChart;
import org.jfree.data.category.DefaultCategoryDataset;
import javax.swing.JFrame;
public class HorizontalBarChartExample {
public static void main(String[] args) {
// ১. ডেটাসেট তৈরি
DefaultCategoryDataset dataset = new DefaultCategoryDataset();
// ২. ডেটা যোগ করা
dataset.addValue(4.0, "Sales", "January");
dataset.addValue(3.0, "Sales", "February");
dataset.addValue(5.0, "Sales", "March");
dataset.addValue(2.0, "Sales", "April");
dataset.addValue(6.0, "Sales", "May");
// ৩. বার চার্ট তৈরি (Horizontal Orientation)
JFreeChart chart = ChartFactory.createBarChart(
"Monthly Sales Data", // Title
"Sales ($)", // X-axis label
"Month", // Y-axis label
dataset, // Dataset
org.jfree.chart.plot.PlotOrientation.HORIZONTAL, // Orientation: Horizontal
true, // Include legend
true, // Tooltips
false // URLs
);
// ৪. চার্ট প্যানেল তৈরি
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.add(chartPanel);
frame.pack();
frame.setVisible(true);
}
}
এখানে আমরা PlotOrientation.HORIZONTAL ব্যবহার করে চার্টের অক্ষগুলির অরিয়েন্টেশন পরিবর্তন করেছি এবং Horizontal Bar Chart তৈরি করেছি।
সারাংশ
JFreeChart ব্যবহার করে আপনি সহজেই CategoryDataset ব্যবহার করে বার চার্ট তৈরি করতে পারেন। এর মধ্যে Vertical Bar Chart এবং Horizontal Bar Chart দুটি প্রধান ধরনের চার্ট রয়েছে, যেগুলোর অরিয়েন্টেশন এবং অন্যান্য কনফিগারেশন পরিবর্তন করে বিভিন্ন ভিজুয়াল রিপ্রেজেন্টেশন তৈরি করা যায়। DefaultCategoryDataset ব্যবহার করে আপনি ডেটা যুক্ত করতে পারেন এবং তারপর সেই ডেটা দিয়ে একটি সুন্দর, কাস্টমাইজযোগ্য চার্ট তৈরি করতে পারেন। JFreeChart অত্যন্ত কার্যকরী এবং এটি Java প্রোগ্রামিংয়ে ডেটা ভিজুয়ালাইজেশন করতে খুবই জনপ্রিয়।
Read more