Custom Charts এবং Data Visualization

JavaFX Charting API - জাভাএফএক্স (JavaFx) - Java Technologies

372

JavaFX এর মাধ্যমে আপনি শক্তিশালী Charts এবং Data Visualization তৈরি করতে পারেন। JavaFX তে বিভিন্ন ধরনের বিল্ট-ইন চ্যাট (যেমন LineChart, BarChart, PieChart, ScatterChart ইত্যাদি) রয়েছে, যা আপনাকে ডেটা ভিজ্যুয়ালাইজেশনের জন্য উপযুক্ত কন্ট্রোল প্রদান করে। তবে যদি আপনার প্রয়োজন হয় Custom Charts তৈরি করার, তাহলে আপনি JavaFX-এর XYChart ক্লাস বা Chart ক্লাস এক্সটেন্ড করে কাস্টম চ্যাট তৈরি করতে পারেন।

JavaFX Charts এবং Data Series যোগ করার উদাহরণ:

JavaFX Charts এবং Data Series যোগ করার জন্য আপনাকে সাধারণত Series (যেমন XYChart.Series) এবং Data (যেমন XYChart.Data) ক্লাসগুলি ব্যবহার করতে হবে।

1. LineChart উদাহরণ:

এখানে একটি LineChart তৈরি করা হয়েছে যেখানে Data Series যোগ করা হচ্ছে। আমরা একটি XYChart.Series ব্যবহার করে ডেটা যোগ করবো এবং সেই ডেটা দিয়ে একটি লাইন চ্যাট তৈরি করব।

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 primaryStage) {
        // 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.setTitle("Sample Line Chart");

        // Data Series তৈরি করা
        XYChart.Series<Number, Number> series = new XYChart.Series<>();
        series.setName("Data Series 1");

        // Data Points যোগ করা
        series.getData().add(new XYChart.Data<>(1, 5));
        series.getData().add(new XYChart.Data<>(2, 10));
        series.getData().add(new XYChart.Data<>(3, 20));
        series.getData().add(new XYChart.Data<>(4, 25));
        series.getData().add(new XYChart.Data<>(5, 30));

        // Series চ্যাটে যোগ করা
        lineChart.getData().add(series);

        // Scene তৈরি এবং সেট করা
        Scene scene = new Scene(lineChart, 800, 600);
        primaryStage.setTitle("JavaFX LineChart Example");
        primaryStage.setScene(scene);
        primaryStage.show();
    }

    public static void main(String[] args) {
        launch(args);
    }
}

ব্যাখ্যা:

  • NumberAxis: এই ক্লাসটি সংখ্যা-based অক্ষ (x এবং y) তৈরি করতে ব্যবহৃত হয়।
  • XYChart.Series: এখানে Series হল একধরনের ডেটা যা চ্যাটে প্রদর্শিত হবে।
  • XYChart.Data: এটি একটি পয়েন্ট তৈরি করে যা Series তে যুক্ত করা হয়।

এই কোডের মাধ্যমে একটি LineChart তৈরি হবে, যেখানে X অক্ষে 1, 2, 3, 4, 5 এবং Y অক্ষে সেগুলির উপযুক্ত মান (5, 10, 20, 25, 30) প্রদর্শিত হবে।


2. BarChart উদাহরণ:

এখানে একটি BarChart তৈরি করা হয়েছে যেখানে Data Series যোগ করা হচ্ছে। এটি বার গ্রাফ হিসাবে তথ্য প্রদর্শন করে।

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 primaryStage) {
        // X এবং Y অক্ষ তৈরি
        CategoryAxis xAxis = new CategoryAxis();
        NumberAxis yAxis = new NumberAxis();
        
        // X এবং Y অক্ষের টাইটেল সেট করা
        xAxis.setLabel("Categories");
        yAxis.setLabel("Values");
        
        // BarChart তৈরি করা
        BarChart<String, Number> barChart = new BarChart<>(xAxis, yAxis);
        barChart.setTitle("Sample Bar Chart");

        // Data Series তৈরি করা
        XYChart.Series<String, Number> series = new XYChart.Series<>();
        series.setName("Category Data");

        // Data Points যোগ করা
        series.getData().add(new XYChart.Data<>("A", 40));
        series.getData().add(new XYChart.Data<>("B", 60));
        series.getData().add(new XYChart.Data<>("C", 80));
        series.getData().add(new XYChart.Data<>("D", 100));

        // Series চ্যাটে যোগ করা
        barChart.getData().add(series);

        // Scene তৈরি এবং সেট করা
        Scene scene = new Scene(barChart, 800, 600);
        primaryStage.setTitle("JavaFX BarChart Example");
        primaryStage.setScene(scene);
        primaryStage.show();
    }

    public static void main(String[] args) {
        launch(args);
    }
}

ব্যাখ্যা:

  • CategoryAxis: এই অক্ষটি ক্যাটেগরি ডেটার জন্য ব্যবহৃত হয় (যেমন, "A", "B", "C", "D")।
  • BarChart: এটি বার চ্যাট তৈরি করতে ব্যবহৃত হয় যা ডেটার ভিজ্যুয়াল প্রদর্শন করে।

এই কোডের মাধ্যমে একটি BarChart তৈরি হবে, যেখানে ক্যাটেগরি "A", "B", "C", "D" এর জন্য মান (40, 60, 80, 100) দেখানো হবে।


3. Custom Chart তৈরি করা:

JavaFX-এ আপনি যদি Custom Chart তৈরি করতে চান, তবে Chart ক্লাস এক্সটেন্ড করে কাস্টম চ্যাট তৈরি করতে পারেন। নিচে একটি কাস্টম চ্যাট তৈরির উদাহরণ দেওয়া হয়েছে:

import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.chart.Chart;
import javafx.scene.chart.XYChart;
import javafx.scene.layout.StackPane;
import javafx.stage.Stage;

public class CustomChartExample extends Application {

    public class CustomChart extends Chart {

        private final XYChart.Series<Number, Number> series;

        public CustomChart() {
            super(new XYChart.XYChartStyle());
            series = new XYChart.Series<>();
            series.setName("Custom Series");

            // Custom Data Points
            series.getData().add(new XYChart.Data<>(1, 10));
            series.getData().add(new XYChart.Data<>(2, 15));
            series.getData().add(new XYChart.Data<>(3, 20));
        }

        @Override
        protected void layoutChartChildren(double x, double y) {
            // Custom chart rendering logic (e.g., drawing lines, bars, etc.)
        }
    }

    @Override
    public void start(Stage primaryStage) {
        CustomChart customChart = new CustomChart();

        // Layout for displaying custom chart
        StackPane root = new StackPane();
        root.getChildren().add(customChart);

        // Scene and Stage setup
        Scene scene = new Scene(root, 800, 600);
        primaryStage.setTitle("Custom Chart Example");
        primaryStage.setScene(scene);
        primaryStage.show();
    }

    public static void main(String[] args) {
        launch(args);
    }
}

ব্যাখ্যা:

  • এখানে CustomChart ক্লাসটি Chart ক্লাস এক্সটেন্ড করে তৈরি করা হয়েছে। এটি একটি কাস্টম চ্যাট তৈরি করতে ব্যবহৃত হয়।
  • আপনি layoutChartChildren() মেথডে আপনার কাস্টম ড্রইং লজিক যোগ করতে পারেন, যেখানে আপনি নিজস্ব ডেটা পয়েন্ট প্রদর্শন করতে পারেন।

Data Visualization:

JavaFX চ্যাট কন্ট্রোলস এবং কাস্টম চ্যাট তৈরি করার মাধ্যমে আপনি বিভিন্ন ধরনের ডেটা ভিজ্যুয়ালাইজেশন তৈরি করতে পারেন:

  • BarCharts: বিভিন্ন ক্যাটেগরি এবং তাদের মান প্রদর্শন।
  • LineCharts: টাইম সিরিজ বা ধারাবাহিক ডেটার ট্রেন্ড দেখতে।
  • PieCharts: শতাংশভিত্তিক ডেটা বা অংশের বিশ্লেষণ।
  • ScatterCharts: সম্পর্ক বিশ্লেষণ বা ডেটা পয়েন্টের বিতরণ দেখাতে।

সারাংশ:

JavaFX এর Charts API-র মাধ্যমে আপনি সহজেই বিভিন্ন ধরনের গ্রাফ তৈরি করতে পারেন, যেমন LineChart, BarChart, PieChart, এবং ScatterChart। আপনি Data Series এবং Data Points যোগ করে ডেটা ভিজ্যুয়ালাইজেশন সহজভাবে তৈরি করতে পারেন। কাস্টম চার্ট তৈরি করার জন্য, আপনাকে Chart ক্লাস এক্সটেন্ড করতে হবে এবং প্রয়োজনীয় লজিক লিখতে হবে।

Content added By
Promotion

Are you sure to start over?

Loading...