JFreeChart লাইব্রেরি Time Series Chart তৈরির জন্য খুবই কার্যকরী একটি টুল। Time Series Chart সাধারণত সময়ের সাথে ডেটার পরিবর্তন বা ধারা প্রদর্শনের জন্য ব্যবহৃত হয়। TimeSeriesDataset ক্লাসটি JFreeChart-এ Time Series Chart তৈরি করতে ব্যবহৃত হয়, যেখানে ডেটার প্রতিটি পয়েন্ট সময়ের সঙ্গে সম্পর্কিত থাকে।
TimeSeriesDataset এর ধারণা
TimeSeriesDataset মূলত TimeSeries ক্লাসের একটি সংগ্রহ। TimeSeries হলো একটি নির্দিষ্ট সময়ের মধ্যে পরিমাপ করা ডেটার সিরিজ (যেমন, দিন, মাস, বছর বা অন্য কোনো সময়কাল)। TimeSeriesDataset বিভিন্ন TimeSeries ধারণ করে, যা একাধিক ভিন্ন টাইমলাইন বা সিরিজ তৈরি করতে সহায়ক।
Time Series Chart তৈরি করার জন্য কোড উদাহরণ
নীচে TimeSeriesDataset ব্যবহার করে একটি Time Series Chart তৈরি করার উদাহরণ দেওয়া হলো:
import org.jfree.chart.ChartFactory;
import org.jfree.chart.ChartPanel;
import org.jfree.chart.JFreeChart;
import org.jfree.chart.plot.PlotOrientation;
import org.jfree.data.time.Second;
import org.jfree.data.time.TimeSeries;
import org.jfree.data.time.TimeSeriesCollection;
import javax.swing.*;
import java.awt.*;
public class TimeSeriesChartExample {
public static void main(String[] args) {
// TimeSeries তৈরি করা
TimeSeries series = new TimeSeries("Temperature");
// TimeSeries এ ডেটা যোগ করা
series.add(new Second(0, 0, 1, 1, 2022), 30); // 1st Jan 2022, 00:00:30 temperature 30°C
series.add(new Second(0, 5, 1, 1, 2022), 32); // 1st Jan 2022, 00:05:30 temperature 32°C
series.add(new Second(0, 10, 1, 1, 2022), 34); // 1st Jan 2022, 00:10:30 temperature 34°C
series.add(new Second(0, 15, 1, 1, 2022), 33); // 1st Jan 2022, 00:15:30 temperature 33°C
// TimeSeriesDataset তৈরি করা
TimeSeriesCollection dataset = new TimeSeriesCollection(series);
// Time Series Chart তৈরি করা
JFreeChart chart = ChartFactory.createTimeSeriesChart(
"Temperature Over Time", // Chart Title
"Time", // X-Axis Label
"Temperature (°C)", // Y-Axis Label
dataset, // Dataset
false, // Show Legend
true, // Show Tooltips
false // Show URLs
);
// ChartPanel তৈরি এবং JFrame এ চার্ট দেখানো
ChartPanel chartPanel = new ChartPanel(chart);
chartPanel.setPreferredSize(new java.awt.Dimension(800, 600));
JFrame frame = new JFrame();
frame.setContentPane(chartPanel);
frame.pack();
frame.setVisible(true);
}
}
কোড ব্যাখ্যা:
- TimeSeries তৈরি করা হয়েছে যেখানে Temperature সিরিজের ডেটা রাখা হয়েছে।
series.add(new Second(0, 0, 1, 1, 2022), 30)দ্বারা TimeSeries এ নির্দিষ্ট সময়ের জন্য তাপমাত্রার মান যুক্ত করা হয়েছে।- TimeSeriesCollection ব্যবহার করে TimeSeries যোগ করা হয়েছে এবং সেটি dataset তৈরি করেছে।
- ChartFactory.createTimeSeriesChart() ব্যবহার করে Time Series Chart তৈরি করা হয়েছে, যেখানে Time এবং Temperature হিসেবে অক্ষের লেবেল দেওয়া হয়েছে।
Time Series Chart কাস্টমাইজেশন
JFreeChart দিয়ে Time Series Chart কাস্টমাইজ করা খুবই সহজ। নিচে কিছু সাধারণ কাস্টমাইজেশন দেখানো হয়েছে:
1. Line Style পরিবর্তন করা
chart.getXYPlot().getRenderer().setSeriesStroke(0, new BasicStroke(2.0f)); // লাইন স্ট্রোক বাড়ানো
chart.getXYPlot().getRenderer().setSeriesPaint(0, Color.RED); // লাইন রঙ পরিবর্তন
2. Gridlines কাস্টমাইজ করা
chart.getXYPlot().setDomainGridlinePaint(Color.GRAY); // X-Axis গ্রিডলাইন রঙ পরিবর্তন
chart.getXYPlot().setRangeGridlinePaint(Color.BLACK); // Y-Axis গ্রিডলাইন রঙ পরিবর্তন
3. Time Format কাস্টমাইজ করা
DateAxis axis = (DateAxis) chart.getXYPlot().getDomainAxis();
axis.setDateFormatOverride(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss")); // সময়ের ফর্ম্যাট কাস্টমাইজ
4. Tick Marks কাস্টমাইজ করা
chart.getXYPlot().getDomainAxis().setTickLabelFont(new Font("Arial", Font.BOLD, 12)); // Tick Marks এর ফন্ট পরিবর্তন
5. Chart Title কাস্টমাইজ করা
chart.setTitle("Customized Time Series Chart");
Time Series Chart এর উপকারিতা
Time Series Chart সাধারণত সময় ভিত্তিক ডেটা প্রদর্শনের জন্য ব্যবহৃত হয়। কিছু গুরুত্বপূর্ণ সুবিধা:
- ডেটা ট্রেন্ড: সময়ের সাথে ডেটার পরিবর্তন বা ধারা স্পষ্টভাবে দেখায়।
- পূর্বাভাস এবং বিশ্লেষণ: ভবিষ্যতের পূর্বাভাস এবং ডেটার গতিপথ বিশ্লেষণে সহায়ক।
- সহজবোধ্যতা: সময়ের সাথে সম্পর্কিত ডেটা দ্রুত এবং সহজে বিশ্লেষণ করা যায়।
Time Series Chart সাধারণত আবহাওয়া, অর্থনৈতিক ডেটা, বিক্রয় তথ্য, বা ফিনান্সিয়াল ডেটা বিশ্লেষণের জন্য ব্যবহৃত হয়।
সারসংক্ষেপ
JFreeChart ব্যবহার করে TimeSeriesDataset এর সাহায্যে খুব সহজেই Time Series Chart তৈরি করা যায়, যা সময়ের সাথে ডেটার পরিবর্তন বা ধারা দেখাতে সহায়ক। আপনি TimeSeries ক্লাসের মাধ্যমে সময়ভিত্তিক ডেটা যুক্ত করে TimeSeriesCollection এর মাধ্যমে সেটি Chart-এ প্রদর্শন করতে পারেন। JFreeChart-এ বিভিন্ন কাস্টমাইজেশন অপশন রয়েছে, যেমন লাইন স্টাইল পরিবর্তন, গ্রিডলাইন রঙ কাস্টমাইজেশন, এবং সময়ের ফরম্যাট কাস্টমাইজেশন।
Read more