JFreeChart লাইব্রেরি ব্যবহার করে বিভিন্ন ধরনের চার্ট যেমন বার চার্ট, পাই চার্ট, লাইনে চার্ট ইত্যাদি তৈরি করা যায়। DefaultCategoryDataset ব্যবহার করে সহজেই Line Chart তৈরি করা সম্ভব। এটি ক্যাটাগরি ভিত্তিক ডেটা সংরক্ষণ এবং প্রদর্শন করতে ব্যবহৃত হয়, যেখানে X এবং Y অক্ষের মাধ্যমে ডেটা মাপা হয়। লাইনে চার্ট সাধারণত সময়ের সাথে ডেটার পরিবর্তন বা তুলনা প্রদর্শন করতে ব্যবহৃত হয়।
এই গাইডে, আমরা JFreeChart ব্যবহার করে Line Chart তৈরি করার প্রক্রিয়া দেখব, যেখানে DefaultCategoryDataset ব্যবহার করা হবে।
DefaultCategoryDataset এবং Line Chart
DefaultCategoryDataset হল একটি ক্লাস যা ক্যাটাগরি ভিত্তিক ডেটা সংরক্ষণ করে। এটি CategoryDataset ইন্টারফেসের একটি বাস্তবায়ন, যা X এবং Y অক্ষের মধ্যে ডেটা রাখে এবং সাধারণত বার চার্ট বা লাইনে চার্টে ব্যবহৃত হয়। লাইনে চার্টে X অক্ষ সাধারণত Time বা Category হয়ে থাকে এবং Y অক্ষটি কোনো পরিমাপ বা মান হয়ে থাকে।
Line Chart তৈরি করার উদাহরণ
1. জেফ্রিচার্ট লাইব্রেরি সেটআপ
প্রথমে, JFreeChart লাইব্রেরিটি আপনার প্রজেক্টে যোগ করতে হবে। আপনি যদি Maven ব্যবহার করেন, তাহলে pom.xml ফাইলে নিচের ডিপেনডেন্সি যোগ করুন:
<dependency>
<groupId>org.jfree</groupId>
<artifactId>jfreechart</artifactId>
<version>1.5.3</version>
</dependency>
এছাড়া, আপনি JFreeChart এবং JCommon JAR ফাইল ডাউনলোড করে আপনার প্রজেক্টে যোগ করতে পারেন।
2. Line Chart তৈরি করার কোড উদাহরণ
এখানে একটি Line 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.*;
public class LineChartExample {
public static void main(String[] args) {
// Dataset তৈরি
DefaultCategoryDataset dataset = createDataset();
// Line Chart তৈরি
JFreeChart chart = ChartFactory.createLineChart(
"Monthly Sales Data", // Chart Title
"Month", // X-Axis Label
"Sales", // Y-Axis Label
dataset, // Dataset
org.jfree.chart.plot.PlotOrientation.VERTICAL,
true, // Include legend
true, // Tooltips
false // URLs
);
// ChartPanel তৈরি এবং 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 DefaultCategoryDataset createDataset() {
DefaultCategoryDataset dataset = new DefaultCategoryDataset();
// Dataset এ ডেটা যোগ করা
dataset.addValue(100, "Sales", "January");
dataset.addValue(200, "Sales", "February");
dataset.addValue(150, "Sales", "March");
dataset.addValue(250, "Sales", "April");
dataset.addValue(300, "Sales", "May");
dataset.addValue(350, "Sales", "June");
return dataset;
}
}
কোডের ব্যাখ্যা
Dataset তৈরি:
DefaultCategoryDatasetব্যবহার করে ডেটা তৈরি করা হয়েছে। এখানে, "Sales" নামে একটি সিরিজ এবং বিভিন্ন মাসের জন্য বিক্রয়ের মান যোগ করা হয়েছে।
dataset.addValue(100, "Sales", "January"); dataset.addValue(200, "Sales", "February"); dataset.addValue(150, "Sales", "March");Chart তৈরি:
ChartFactory.createLineChart()মেথড ব্যবহার করে লাইনে চার্ট তৈরি করা হয়েছে।- চার্টের টাইটেল, X এবং Y অক্ষের লেবেল, এবং Dataset প্যারামিটার হিসেবে দেওয়া হয়েছে।
JFreeChart chart = ChartFactory.createLineChart( "Monthly Sales Data", // Chart Title "Month", // X-Axis Label "Sales", // Y-Axis Label dataset, // Dataset org.jfree.chart.plot.PlotOrientation.VERTICAL, true, // Include legend true, // Tooltips false // URLs );ChartPanel এবং JFrame:
ChartPanelব্যবহার করে চার্টের UI প্যানেল তৈরি করা হয়েছে, যাতে এটি একটি 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);
3. Chart Customization
JFreeChart লাইব্রেরি অনেক কাস্টমাইজেশন অপশন অফার করে। আপনি চার্টের রঙ, স্টাইল, লেবেল, অক্ষের সীমা, এবং অন্যান্য ভিজ্যুয়াল বৈশিষ্ট্য পরিবর্তন করতে পারেন। নিচে কিছু কাস্টমাইজেশন দেখানো হয়েছে:
3.1 Chart Background Color পরিবর্তন:
আপনি চার্টের ব্যাকগ্রাউন্ড কালার পরিবর্তন করতে পারেন:
chart.setBackgroundPaint(java.awt.Color.lightGray);
3.2 Line Color পরিবর্তন:
লেখা বা লাইন কালার পরিবর্তন করতে:
chart.getPlot().setDomainGridlinePaint(java.awt.Color.BLUE);
chart.getPlot().setRangeGridlinePaint(java.awt.Color.BLUE);
3.3 Axis Labels পরিবর্তন:
X এবং Y অক্ষের লেবেল পরিবর্তন করতে:
CategoryPlot plot = (CategoryPlot) chart.getPlot();
plot.getDomainAxis().setLabel("Month of the Year");
plot.getRangeAxis().setLabel("Sales Volume");
4. সারাংশ
JFreeChart এর মাধ্যমে Line Chart তৈরি করা খুবই সহজ এবং কাস্টমাইজযোগ্য। আপনি DefaultCategoryDataset ব্যবহার করে বিভিন্ন ধরনের ডেটা তৈরি করতে পারেন এবং সেটিকে গ্রাফে ভিজ্যুয়ালাইজ করতে পারেন। এখানে আমরা একটি সহজ Line Chart তৈরি করেছি যা মাস ভিত্তিক বিক্রয়ের তথ্য প্রদর্শন করে। JFreeChart লাইব্রেরি ব্যবহার করে আপনি বিভিন্ন ধরনের গ্রাফিক্যাল ডেটা ভিজ্যুয়ালাইজেশন করতে পারেন এবং তা কাস্টমাইজ করে আরও উন্নত রিপোর্ট তৈরি করতে পারেন।
Read more