JavaFX Chart API একটি শক্তিশালী গ্রাফিকাল লাইব্রেরি যা JavaFX অ্যাপ্লিকেশনগুলিতে গ্রাফ, চার্ট, এবং ডাটা ভিজ্যুয়ালাইজেশন তৈরি করতে ব্যবহৃত হয়। এই API ব্যবহার করে আপনি সহজেই ডাটা পয়েন্টগুলিকে গ্রাফিক্যাল ফর্মে প্রদর্শন করতে পারেন, যা আপনাকে ডাটা বিশ্লেষণ ও উপস্থাপনা করতে সহায়তা করে।
JavaFX Chart API বিভিন্ন ধরনের চার্ট তৈরি করতে সক্ষম, যেমন LineChart, BarChart, PieChart, AreaChart, BubbleChart, XYChart, এবং আরও অনেক। এটি ডাটা পয়েন্টগুলিকে দৃশ্যমানভাবে দেখানোর মাধ্যমে বিশ্লেষণ এবং সিদ্ধান্ত গ্রহণে সহায়ক।
JavaFX Chart API এর প্রধান ক্লাসসমূহ:
- Chart: চার্টের মূল ক্লাস। এটি একটি সাধারণ চার্ট উপাদান, যার মাধ্যমে সমস্ত চার্টের বৈশিষ্ট্যগুলি কাস্টমাইজ করা হয়।
- XYChart: একটি চার্ট টাইপ যা X এবং Y অক্ষের সাথে ডাটা প্রদর্শন করতে ব্যবহৃত হয়। এটি LineChart এবং BarChart এর জন্য মূল ভিত্তি।
- CategoryAxis: কেটেগরি (শ্রেণীভুক্ত) অক্ষের জন্য ব্যবহৃত হয় (যেমন, নাম্বার, দিন, মাস ইত্যাদি)।
- NumberAxis: সংখ্যার অক্ষের জন্য ব্যবহৃত হয়, যেখানে ভ্যালু সংখ্যা হিসেবে প্রদর্শিত হয়।
- Series: ডাটা সিরিজ ধারণ করে যা চার্টে প্রদর্শিত হয়। একাধিক সিরিজ থাকতে পারে এবং প্রত্যেকটি সিরিজ একটি ডাটা পয়েন্টের তালিকা ধারণ করে।
- Data: প্রতিটি ডাটা পয়েন্ট যা চার্টে প্রদর্শিত হয়।
JavaFX Chart API এর চার্টের প্রকারভেদ:
- LineChart: একাধিক ডাটা পয়েন্টকে একটি লাইন হিসেবে যুক্ত করে। এটি সাধারণত টাইম সিরিজ ডাটা বা ধারাবাহিক ডাটা প্রদর্শনের জন্য ব্যবহৃত হয়।
- BarChart: বার (বা কলাম) ব্যবহার করে ডাটা প্রদর্শন করা হয়। এটি সোজা বার ব্যবহার করে বিভিন্ন ক্যাটেগরির তুলনা করতে সহায়তা করে।
- PieChart: ডাটা বা অংশের তুলনা করতে পিআই চার্ট ব্যবহৃত হয়, যেখানে প্রতিটি অংশ একটি সেক্টরের মাধ্যমে দেখানো হয়।
- AreaChart: একটি লাইন চার্টের মতো, তবে অঞ্চল (area) এর নিচের অংশটি রঙে পূর্ণ থাকে।
- BubbleChart: বুদবুদ ব্যবহার করে ডাটা প্রদর্শন করে, যেখানে প্রতিটি বুদবুদ একটি ডাটা পয়েন্টের আকার অনুযায়ী প্রমাণিত হয়।
- ScatterChart: X এবং Y অক্ষের উপর ডাটা পয়েন্টের ছড়িয়ে থাকা প্রদর্শন করে।
JavaFX Chart API ব্যবহার করার একটি উদাহরণ:
উদাহরণ 1: LineChart তৈরি করা
import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.chart.LineChart;
import javafx.scene.chart.NumberAxis;
import javafx.scene.chart.XYChart;
import javafx.stage.Stage;
public class LineChartExample extends Application {
@Override
public void start(Stage stage) {
// X এবং Y অক্ষ তৈরি
NumberAxis xAxis = new NumberAxis();
NumberAxis yAxis = new NumberAxis();
// X অক্ষের টাইটেল এবং Y অক্ষের টাইটেল সেট করা
xAxis.setLabel("X Axis");
yAxis.setLabel("Y Axis");
// LineChart তৈরি করা
LineChart<Number, Number> lineChart = new LineChart<>(xAxis, yAxis);
// LineChart এর টাইটেল সেট করা
lineChart.setTitle("Line Chart Example");
// Series তৈরি করা এবং ডাটা পয়েন্ট যোগ করা
XYChart.Series<Number, Number> series = new XYChart.Series<>();
series.setName("Data Series 1");
series.getData().add(new XYChart.Data<>(1, 5));
series.getData().add(new XYChart.Data<>(2, 8));
series.getData().add(new XYChart.Data<>(3, 12));
series.getData().add(new XYChart.Data<>(4, 20));
// Series-কে Chart-এ যোগ করা
lineChart.getData().add(series);
// Scene তৈরি করা এবং সেট করা
Scene scene = new Scene(lineChart, 800, 600);
stage.setTitle("JavaFX Line Chart Example");
stage.setScene(scene);
stage.show();
}
public static void main(String[] args) {
launch(args);
}
}
ব্যাখ্যা:
- NumberAxis: এখানে
xAxisএবংyAxisএর জন্যNumberAxisব্যবহার করা হয়েছে, যা সংখ্যাগুলির উপর ভিত্তি করে অক্ষ তৈরি করে। - LineChart:
LineChartতৈরির জন্যNumberAxisব্যবহার করে X এবং Y অক্ষের মধ্যে লাইন গ্রাফ তৈরি করা হয়েছে। - XYChart.Series: ডাটা পয়েন্টগুলির একটি সিরিজ তৈরি করা হয়েছে।
XYChart.Dataক্লাসের মাধ্যমে একে একে ডাটা পয়েন্টগুলো (X, Y) হিসেবে যোগ করা হয়েছে। - Scene:
LineChartএর জন্য একটিSceneতৈরি করা হয়েছে এবং সেটিStage-এ প্রদর্শিত হয়েছে।
উদাহরণ 2: BarChart তৈরি করা
import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.chart.BarChart;
import javafx.scene.chart.CategoryAxis;
import javafx.scene.chart.NumberAxis;
import javafx.scene.chart.XYChart;
import javafx.stage.Stage;
public class BarChartExample extends Application {
@Override
public void start(Stage stage) {
// X এবং Y অক্ষ তৈরি
CategoryAxis xAxis = new CategoryAxis();
NumberAxis yAxis = new NumberAxis();
// X অক্ষের টাইটেল এবং Y অক্ষের টাইটেল সেট করা
xAxis.setLabel("Category");
yAxis.setLabel("Values");
// BarChart তৈরি করা
BarChart<String, Number> barChart = new BarChart<>(xAxis, yAxis);
barChart.setTitle("Bar Chart Example");
// Series তৈরি করা এবং ডাটা পয়েন্ট যোগ করা
XYChart.Series<String, Number> series = new XYChart.Series<>();
series.setName("Category Data");
series.getData().add(new XYChart.Data<>("Category A", 30));
series.getData().add(new XYChart.Data<>("Category B", 70));
series.getData().add(new XYChart.Data<>("Category C", 50));
// Series-কে Chart-এ যোগ করা
barChart.getData().add(series);
// Scene তৈরি করা এবং সেট করা
Scene scene = new Scene(barChart, 800, 600);
stage.setTitle("JavaFX Bar Chart Example");
stage.setScene(scene);
stage.show();
}
public static void main(String[] args) {
launch(args);
}
}
ব্যাখ্যা:
- CategoryAxis: বারচার্টে
CategoryAxisব্যবহার করা হয়েছে, যেটি ক্যাটেগরি (যেমন ক্যাটেগরি A, B, C) ভিত্তিক ডাটা প্রদর্শন করতে সক্ষম। - BarChart:
BarChartএর মাধ্যমে প্রতিটি ক্যাটেগরির জন্য বার তৈরি করা হয়েছে।
JavaFX Chart API-এর কিছু গুরুত্বপূর্ণ বৈশিষ্ট্য:
- Multiple Series: একাধিক ডাটা সিরিজ ব্যবহার করে চার্টে একাধিক ডাটা পয়েন্ট প্রদর্শন করা যায়।
- Interactive Charting: আপনি গ্রাফের ওপর মাউস হোভার করে ডাটা দেখতে বা বেছে নিতে পারেন।
- Dynamic Data: আপনি রানটাইমে ডাটা আপডেট বা পরিবর্তন করতে পারেন এবং এটি চার্টে সরাসরি প্রদর্শিত হবে।
- Customization: JavaFX Chart API স্টাইলিং এবং কাস্টমাইজেশন জন্য CSS সমর্থন করে, যার মাধ্যমে আপনি চার্টের রং, স্টাইল, বর্ডার, লেবেল ইত্যাদি কাস্টমাইজ করতে পারেন।
JavaFX Chart API ব্যবহার করার সুবিধা:
- সহজ ডাটা ভিজ্যুয়ালাইজেশন: চার্ট ব্যবহার করে ডাটা সহজে বিশ্লেষণ এবং উপস্থাপন করা যায়।
- ইন্টারেক্টিভ গ্রাফ: আপনি গ্রাফে মাউস হোভার বা ক্লিক করে ডাটা দেখতে পারেন।
- স্টাইলিং: JavaFX CSS দিয়ে আপনি আপনার চার্টের ডিজাইন কাস্টমাইজ করতে পারেন।
JavaFX Chart API ব্যবহার করে আপনি সহজেই ডাটা ভিজ্যুয়ালাইজেশন, বিশ্লেষণ এবং গ্রাফিকাল রিপ্রেজেন্টেশন তৈরি করতে পারেন, যা অ্যাপ্লিকেশনগুলির জন্য অত্যন্ত কার্যকরী হতে পারে।
Read more