CSV এবং JSON ফাইল থেকে Data Import করা

JFreeChart এবং External Data Integration - জেফ্রিচার্ট (JFreeChart) - Big Data and Analytics

376

JFreeChart ব্যবহার করে CSV এবং JSON ফাইল থেকে ডেটা আমদানি (import) করা যেতে পারে, যা আপনাকে ডেটা ভিজুয়ালাইজেশন তৈরির জন্য উপযুক্ত ফরম্যাটে ডেটা প্রক্রিয়া করতে সাহায্য করে। এই প্রক্রিয়া ডেটা ফাইলের ধরন অনুসারে আলাদা হতে পারে, তবে JFreeChart সহজেই CSV এবং JSON ফাইল থেকে ডেটা গ্রহণ করতে সক্ষম।


CSV ফাইল থেকে Data Import করা

CSV (Comma-Separated Values) ফাইলগুলি ডেটা সংরক্ষণের জন্য একটি জনপ্রিয় ফরম্যাট, যা সাধারণত টেবুলার ডেটা বা স্প্রেডশীট এর মতো ডেটা সংগ্রহ করতে ব্যবহৃত হয়। JFreeChart ব্যবহার করে CSV ফাইল থেকে ডেটা ইম্পোর্ট করা সহজ, তবে আপনাকে প্রথমে ফাইলটি পড়তে হবে এবং তারপর ডেটাসেট তৈরি করতে হবে।

CSV থেকে Data Import উদাহরণ

import org.jfree.chart.ChartFactory;
import org.jfree.chart.ChartPanel;
import org.jfree.chart.JFreeChart;
import org.jfree.data.category.DefaultCategoryDataset;

import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
import javax.swing.*;

public class CSVDataImportExample {
    public static void main(String[] args) {
        DefaultCategoryDataset dataset = new DefaultCategoryDataset();

        try {
            BufferedReader reader = new BufferedReader(new FileReader("data.csv"));
            String line;
            while ((line = reader.readLine()) != null) {
                String[] data = line.split(",");
                String category = data[0];
                double value = Double.parseDouble(data[1]);

                dataset.addValue(value, "Series1", category);  // ডেটাসেটের মধ্যে ডেটা যোগ করা
            }
            reader.close();
        } catch (IOException e) {
            e.printStackTrace();
        }

        // চার্ট তৈরি করা
        JFreeChart chart = ChartFactory.createBarChart(
                "Sales Data",    // চার্টের শিরোনাম
                "Category",      // এক্স-অক্ষের নাম
                "Value",         // ওয়াই-অক্ষের নাম
                dataset,         // ডেটাসেট
                org.jfree.chart.plot.PlotOrientation.VERTICAL,
                true,            // লেজেন্ড প্রদর্শন
                true,            // টুলটিপস
                false            // URL সমর্থন
        );

        // চার্ট প্যানেল তৈরি করা
        ChartPanel chartPanel = new ChartPanel(chart);
        chartPanel.setPreferredSize(new java.awt.Dimension(800, 600));

        // JFrame এ চার্ট দেখানো
        JFrame frame = new JFrame();
        frame.setContentPane(chartPanel);
        frame.pack();
        frame.setVisible(true);
    }
}

ব্যাখ্যা:

  • BufferedReader এবং FileReader ব্যবহার করে CSV ফাইলটি পড়া হয়েছে।
  • String.split(",") পদ্ধতি ব্যবহার করে প্রতিটি লাইনের ডেটা আলাদা করা হয়েছে, যেখানে কমা দিয়ে ডেটা পৃথক করা হয়েছে।
  • CSV ফাইলের প্রতিটি লাইন থেকে ডেটা নিয়ে DefaultCategoryDataset এ যোগ করা হয়েছে, যা পরে চার্টে ব্যবহৃত হবে।

JSON ফাইল থেকে Data Import করা

JSON (JavaScript Object Notation) হলো একটি হালকা ডেটা বিনিময় ফরম্যাট, যা সুনির্দিষ্ট এবং স্ট্রাকচারড ডেটা সংরক্ষণ করতে ব্যবহৃত হয়। JFreeChart-এ JSON ফাইল থেকে ডেটা ইম্পোর্ট করতে, আপনি JSON পার্সিং লাইব্রেরি যেমন Jackson বা Gson ব্যবহার করতে পারেন।

JSON থেকে Data Import উদাহরণ (Jackson লাইব্রেরি ব্যবহার করে)

প্রথমে Jackson লাইব্রেরি আপনার প্রোজেক্টে যোগ করুন। যদি আপনি Maven ব্যবহার করেন, তবে pom.xml ফাইলে এই ডিপেনডেন্সি যুক্ত করুন:

<dependency>
    <groupId>com.fasterxml.jackson.core</groupId>
    <artifactId>jackson-databind</artifactId>
    <version>2.13.0</version>
</dependency>

এখন, JSON ফাইল থেকে ডেটা ইম্পোর্ট করা যাক:

import com.fasterxml.jackson.databind.JsonNode;
import com.fasterxml.jackson.databind.ObjectMapper;
import org.jfree.chart.ChartFactory;
import org.jfree.chart.ChartPanel;
import org.jfree.chart.JFreeChart;
import org.jfree.data.category.DefaultCategoryDataset;

import java.io.File;
import java.io.IOException;
import javax.swing.*;

public class JSONDataImportExample {
    public static void main(String[] args) {
        DefaultCategoryDataset dataset = new DefaultCategoryDataset();

        try {
            // JSON ফাইল পঠন
            ObjectMapper mapper = new ObjectMapper();
            JsonNode rootNode = mapper.readTree(new File("data.json"));

            // JSON থেকে ডেটা পড়া এবং ডেটাসেটে যোগ করা
            for (JsonNode node : rootNode) {
                String category = node.get("category").asText();
                double value = node.get("value").asDouble();
                dataset.addValue(value, "Series1", category);  // ডেটাসেটে ডেটা যোগ করা
            }
        } catch (IOException e) {
            e.printStackTrace();
        }

        // চার্ট তৈরি করা
        JFreeChart chart = ChartFactory.createBarChart(
                "Sales Data",    // চার্টের শিরোনাম
                "Category",      // এক্স-অক্ষের নাম
                "Value",         // ওয়াই-অক্ষের নাম
                dataset,         // ডেটাসেট
                org.jfree.chart.plot.PlotOrientation.VERTICAL,
                true,            // লেজেন্ড প্রদর্শন
                true,            // টুলটিপস
                false            // URL সমর্থন
        );

        // চার্ট প্যানেল তৈরি করা
        ChartPanel chartPanel = new ChartPanel(chart);
        chartPanel.setPreferredSize(new java.awt.Dimension(800, 600));

        // JFrame এ চার্ট দেখানো
        JFrame frame = new JFrame();
        frame.setContentPane(chartPanel);
        frame.pack();
        frame.setVisible(true);
    }
}

ব্যাখ্যা:

  • ObjectMapper এবং JsonNode ব্যবহার করে JSON ফাইলটি পঠন করা হয়েছে।
  • rootNode থেকে প্রতিটি অবজেক্টে অ্যাক্সেস করে প্রয়োজনীয় ডেটা যেমন category এবং value নেয়া হয়েছে এবং তারপর DefaultCategoryDataset এ যোগ করা হয়েছে।

CSV এবং JSON ফাইল থেকে Data Import এর সুবিধা

  1. CSV File:
    • CSV ফাইলগুলি সাধারণত টেবুলার ডেটা ধারণ করে এবং সহজেই পাঠযোগ্য এবং সম্পাদনাযোগ্য।
    • JFreeChart এ CSV ফাইল আমদানির জন্য BufferedReader বা Scanner ব্যবহার করা যায়।
  2. JSON File:
    • JSON ফাইলগুলি বেশি স্ট্রাকচারড ডেটা এবং নেস্টেড (nested) অবজেক্ট ধারণ করতে সক্ষম, যা আরও জটিল ডেটাসেট নিয়ে কাজ করতে সুবিধাজনক।
    • JFreeChart এ JSON ফাইল থেকে ডেটা আমদানির জন্য Jackson বা Gson লাইব্রেরি ব্যবহার করা যেতে পারে।

সারসংক্ষেপ

JFreeChartCSV এবং JSON ফাইল থেকে ডেটা ইম্পোর্ট করার মাধ্যমে আপনি সহজেই বাইরের ডেটা সোর্স থেকে ডেটা নিয়ে চার্ট তৈরি করতে পারেন। CSV ফাইল সাধারণত সরল এবং দ্রুত প্রক্রিয়া করা যায়, যেখানে JSON ফাইল বেশি স্ট্রাকচারড এবং কমপ্লেক্স ডেটা সংগ্রহের জন্য উপযুক্ত। Jackson বা Gson লাইব্রেরি ব্যবহার করে JSON থেকে ডেটা আমদানি করা যায় এবং CSV ফাইলের জন্য BufferedReader ব্যবহার করা হয়।

Content added By
Promotion

Are you sure to start over?

Loading...