Facet_wrap এবং Facet_grid এর মাধ্যমে Complex Plots তৈরি করা

Faceting এবং Small Multiples - জিজি প্লট (ggplot2) - Big Data and Analytics

266

Facet_wrap এবং Facet_grid হলো ggplot2 এর দুটি গুরুত্বপূর্ণ ফাংশন, যা ডেটার বিভিন্ন সাব-সেটকে একাধিক প্যানেলে ভাগ করে প্রদর্শন করতে সাহায্য করে। এটি জটিল ডেটাসেটের মধ্যে বিভিন্ন ধরণের সম্পর্ক এবং প্যাটার্ন দেখাতে ব্যবহৃত হয়। যদিও গুগল চার্টে সরাসরি facet_wrap বা facet_grid এর মতো বৈশিষ্ট্য নেই, তবে আপনি কিছু কৌশল ব্যবহার করে বিভিন্ন উপাদান ও গ্রাফকে প্যানেল আকারে বিভক্ত করতে পারেন।

এখানে আমরা ggplot2 এর Facet_wrap এবং Facet_grid এর ধারণা তুলে ধরব, এবং গুগল চার্টে কীভাবে সেগুলোর মতো Complex Plots তৈরি করা যায় সে সম্পর্কে আলোচনা করব।


ggplot2 এর Facet_wrap এবং Facet_grid

Facet_wrap এবং Facet_grid ggplot2 এর ফাংশন যা ডেটার সাব-সেটের জন্য আলাদা আলাদা প্লট তৈরি করতে সাহায্য করে। এই ফাংশন দুটি ডেটা ভিজুয়ালাইজেশনে জটিলতা কমানোর এবং ভিন্ন ভিন্ন ভেরিয়েবলের সম্পর্ক দেখানোর জন্য খুবই কার্যকর।

  • Facet_wrap: এটি এক বা একাধিক ভেরিয়েবল ব্যবহার করে ডেটাকে বিভিন্ন প্যানেলে ভাগ করে। এটি সাধারণত facet_wrap(~ variable) ব্যবহার করে।
  • Facet_grid: এটি প্যানেলগুলোকে দুইটি ভেরিয়েবলের উপর ভিত্তি করে গ্রিড আকারে ভাগ করে। এটি সাধারণত facet_grid(rows ~ columns) ব্যবহার করে।

উদাহরণ:

# ggplot2 এর Facet_wrap উদাহরণ
ggplot(mtcars, aes(x = wt, y = mpg)) +
  geom_point() +
  facet_wrap(~ cyl)

# ggplot2 এর Facet_grid উদাহরণ
ggplot(mtcars, aes(x = wt, y = mpg)) +
  geom_point() +
  facet_grid(cyl ~ gear)

এখানে:

  • facet_wrap(~ cyl) ডেটাকে সিলিন্ডারের সংখ্যা অনুযায়ী প্যানেলে ভাগ করবে।
  • facet_grid(cyl ~ gear) ডেটাকে সিলিন্ডার এবং গিয়ারের সংখ্যা অনুযায়ী গ্রিডে ভাগ করবে।

গুগল চার্টে Complex Plots তৈরি করা

গুগল চার্টে সরাসরি Facet_wrap বা Facet_grid এর মতো ফিচার নেই, তবে কিছু কৌশল ব্যবহার করে আপনি একাধিক গ্রাফ বা প্যানেল তৈরি করতে পারেন। এই কাজটি আপনি Multiple Charts বা Subdivided Layouts ব্যবহার করে করতে পারবেন।

১. Multiple Charts ব্যবহার করা

গুগল চার্টে একাধিক চার্ট বা প্যানেল তৈরি করতে, আপনি একটি ওয়েব পেজে একাধিক div (HTML container) ব্যবহার করতে পারেন। এতে আপনি একাধিক গ্রাফ তৈরি করে তাদের পাশাপাশি দেখাতে পারেন।

উদাহরণ:

<!DOCTYPE html>
<html>
  <head>
    <script type="text/javascript" src="https://www.gstatic.com/charts/loader.js"></script>
    <script type="text/javascript">
      google.charts.load('current', {'packages':['corechart', 'bar']});
      google.charts.setOnLoadCallback(drawCharts);

      function drawCharts() {
        // প্রথম গ্রাফ
        var data1 = new google.visualization.arrayToDataTable([
          ['Month', 'Sales'],
          ['January', 1000],
          ['February', 1170],
          ['March', 660]
        ]);
        var options1 = {title: 'Sales in 2020'};
        var chart1 = new google.visualization.BarChart(document.getElementById('chart_div1'));
        chart1.draw(data1, options1);

        // দ্বিতীয় গ্রাফ
        var data2 = new google.visualization.arrayToDataTable([
          ['Month', 'Expenses'],
          ['January', 400],
          ['February', 460],
          ['March', 1120]
        ]);
        var options2 = {title: 'Expenses in 2020'};
        var chart2 = new google.visualization.BarChart(document.getElementById('chart_div2'));
        chart2.draw(data2, options2);
      }
    </script>
  </head>
  <body>
    <div id="chart_div1" style="width: 500px; height: 300px;"></div>
    <div id="chart_div2" style="width: 500px; height: 300px;"></div>
  </body>
</html>

এখানে:

  • দুটি আলাদা div (chart_div1 এবং chart_div2) ব্যবহার করা হয়েছে, যাতে দুটি আলাদা গ্রাফ তৈরি করা যায়।
  • দুটি আলাদা ডেটাসেট এবং চার্টের জন্য আলাদা টাইটেল ব্যবহার করা হয়েছে।

২. Subdivided Layouts ব্যবহার করা

গুগল চার্টে আপনি একাধিক গ্রাফকে একটি পৃষ্ঠা বা কন্টেইনারের মধ্যে বিভক্ত করতে পারেন, যা ফ্যাসেটিং-এর মতো কাজ করবে।

উদাহরণ:

<!DOCTYPE html>
<html>
  <head>
    <script type="text/javascript" src="https://www.gstatic.com/charts/loader.js"></script>
    <script type="text/javascript">
      google.charts.load('current', {'packages':['corechart', 'bar']});
      google.charts.setOnLoadCallback(drawCharts);

      function drawCharts() {
        var data = new google.visualization.arrayToDataTable([
          ['Month', 'Sales', 'Expenses'],
          ['January', 1000, 400],
          ['February', 1170, 460],
          ['March', 660, 1120]
        ]);
        
        var options = {
          title: 'Sales vs Expenses',
          chartArea: {width: '50%'},
          hAxis: {
            title: 'Total Sales',
            minValue: 0
          },
          vAxis: {
            title: 'Month'
          }
        };

        var chart1 = new google.visualization.BarChart(document.getElementById('chart_div1'));
        var chart2 = new google.visualization.BarChart(document.getElementById('chart_div2'));

        // প্রথম গ্রাফ
        chart1.draw(data, options);

        // দ্বিতীয় গ্রাফ
        chart2.draw(data, options);
      }
    </script>
  </head>
  <body>
    <div style="display: flex;">
      <div id="chart_div1" style="width: 500px; height: 300px;"></div>
      <div id="chart_div2" style="width: 500px; height: 300px;"></div>
    </div>
  </body>
</html>

এখানে:

  • Flexbox ব্যবহার করা হয়েছে যাতে একাধিক চার্ট একসাথে সন্নিবেশিত (embed) করা যায়।
  • এটি দুইটি আলাদা চার্ট তৈরি করবে এবং তাদের পাশাপাশি প্রদর্শন করবে।

সারমর্ম

ggplot2-এর Facet_wrap এবং Facet_grid ফাংশনগুলো ডেটার বিভিন্ন সাব-সেটের জন্য একাধিক গ্রাফ বা প্যানেল তৈরি করতে ব্যবহৃত হয়, যা ডেটার সম্পর্ক বিশ্লেষণে সহায়ক। গুগল চার্টে সরাসরি ফ্যাসেটিং সমর্থন না থাকলেও, আপনি Multiple Charts বা Subdivided Layouts ব্যবহার করে একই ধরনের ফলাফল অর্জন করতে পারেন। এর মাধ্যমে আপনি একাধিক গ্রাফকে একটি পৃষ্ঠায় উপস্থাপন করে ডেটার বিভিন্ন দিক তুলে ধরতে পারেন।

Content added By
Promotion

Are you sure to start over?

Loading...