Faceting এবং Small Multiples

জিজি প্লট (ggplot2) - Big Data and Analytics

290

Faceting এবং Small Multiples হল ডেটা ভিজুয়ালাইজেশনে ব্যবহৃত দুটি কৌশল, যা একাধিক ডেটা সেট বা সাবসেটের গ্রাফগুলো একসাথে উপস্থাপন করে। গুগল চার্টে এই কৌশলগুলো ব্যবহার করে আপনি একই ধরনের গ্রাফকে আলাদা আলাদা সাবগ্রুপে ভাগ করে বিশ্লেষণ করতে পারেন। এতে ডেটার বিভিন্ন দিক সহজে এবং কার্যকরভাবে প্রদর্শিত হয়।

Faceting এবং Small Multiples কী?

  • Faceting হল একই ডেটাসেটের বিভিন্ন সাবসেটের জন্য আলাদা আলাদা প্লট তৈরি করা।
  • Small Multiples হল একই ধরনের একাধিক গ্রাফের সিরিজ, যা একই পরিসরের ডেটাকে বিভিন্ন দৃষ্টিকোণ থেকে বিশ্লেষণ করতে সহায়ক।

গুগল চার্টে Faceting এবং Small Multiples ব্যবহার করে আপনি একাধিক গ্রাফ তৈরি করতে পারেন যেগুলোর মধ্যে প্রতিটি গ্রাফের জন্য আলাদা সাবসেট প্রদর্শিত হয়।


গুগল চার্টে Faceting এবং Small Multiples তৈরি করা

গুগল চার্টে, faceting এবং small multiples সাধারণত DataTable এর সাবসেট তৈরি করে এবং তারপর একাধিক গ্রাফ প্রদর্শন করে। google.visualization প্যাকেজে একাধিক চার্ট তৈরি করার জন্য আমরা বিভিন্ন ফাংশন ব্যবহার করতে পারি।

১. Faceting in Google Charts

Faceting ব্যবহার করে আপনি একই ধরনের ডেটা থেকে আলাদা আলাদা গ্রাফ তৈরি করতে পারেন, যাতে ডেটার বিভিন্ন দিক আরও স্পষ্টভাবে দেখা যায়।

উদাহরণ: Faceting with Multiple Charts in Google Charts

<!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', 'line']});
      google.charts.setOnLoadCallback(drawCharts);

      function drawCharts() {
        var data = google.visualization.arrayToDataTable([
          ['Year', 'Product A', 'Product B'],
          ['2015', 1000, 400],
          ['2016', 1170, 460],
          ['2017', 660, 1120],
          ['2018', 1030, 540]
        ]);

        var options1 = {
          title: 'Product A Sales',
          hAxis: {title: 'Year'},
          vAxis: {title: 'Sales'},
        };

        var options2 = {
          title: 'Product B Sales',
          hAxis: {title: 'Year'},
          vAxis: {title: 'Sales'},
        };

        // Create the first chart
        var chart1 = new google.visualization.LineChart(document.getElementById('chart_div1'));
        chart1.draw(data, options1);

        // Create the second chart
        var chart2 = new google.visualization.LineChart(document.getElementById('chart_div2'));
        chart2.draw(data, options2);
      }
    </script>
  </head>
  <body>
    <div id="chart_div1" style="width: 900px; height: 500px;"></div>
    <div id="chart_div2" style="width: 900px; height: 500px;"></div>
  </body>
</html>

এখানে:

  • Faceting করা হয়েছে একই ডেটাসেটের দুটি আলাদা চার্ট তৈরি করে, যেখানে Product A এবং Product B এর বিক্রয় দেখানো হয়েছে।

২. Small Multiples in Google Charts

Small Multiples বা "টাইল প্লট" হল একাধিক গ্রাফের সিরিজ যা একই ধরনের ডেটা ভিন্ন ভিন্ন সাবগ্রুপে উপস্থাপন করে। এটি faceting এর মতো কাজ করে, তবে এটি একাধিক একক গ্রাফের একটি সিরিজ হিসেবে প্রদর্শিত হয়।

উদাহরণ: Small Multiples with Google Charts

<!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', 'line']});
      google.charts.setOnLoadCallback(drawCharts);

      function drawCharts() {
        var data1 = google.visualization.arrayToDataTable([
          ['Year', 'Product A'],
          ['2015', 1000],
          ['2016', 1170],
          ['2017', 660],
          ['2018', 1030]
        ]);

        var data2 = google.visualization.arrayToDataTable([
          ['Year', 'Product B'],
          ['2015', 400],
          ['2016', 460],
          ['2017', 1120],
          ['2018', 540]
        ]);

        var options = {
          hAxis: {title: 'Year'},
          vAxis: {title: 'Sales'},
        };

        // First chart (Product A)
        var chart1 = new google.visualization.LineChart(document.getElementById('chart_div1'));
        chart1.draw(data1, options);

        // Second chart (Product B)
        var chart2 = new google.visualization.LineChart(document.getElementById('chart_div2'));
        chart2.draw(data2, options);
      }
    </script>
  </head>
  <body>
    <div id="chart_div1" style="width: 900px; height: 500px; display: inline-block;"></div>
    <div id="chart_div2" style="width: 900px; height: 500px; display: inline-block;"></div>
  </body>
</html>

এখানে:

  • Small Multiples ব্যবহার করা হয়েছে Product A এবং Product B এর বিক্রয় অনুযায়ী দুটি আলাদা চার্ট তৈরি করতে, যা একসঙ্গে প্রদর্শিত হয়।
  • display: inline-block; CSS স্টাইলের মাধ্যমে দুটি চার্ট পাশাপাশি প্রদর্শন করা হয়েছে।

৩. Faceting with Google Charts for More Complex Data

যখন আপনার ডেটা আরও জটিল হয় এবং আপনি একই ধরনের চার্টে অনেকগুলো সাবসেট দেখতে চান, তখন আপনি একাধিক faceting ব্যবহার করতে পারেন।

উদাহরণ: Faceting with Multiple Categories in Google Charts

<!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', 'line']});
      google.charts.setOnLoadCallback(drawCharts);

      function drawCharts() {
        var data = google.visualization.arrayToDataTable([
          ['Year', 'Category A', 'Category B', 'Category C'],
          ['2015', 1000, 400, 700],
          ['2016', 1170, 460, 800],
          ['2017', 660, 1120, 400],
          ['2018', 1030, 540, 600]
        ]);

        var options1 = {
          title: 'Category A Sales',
          hAxis: {title: 'Year'},
          vAxis: {title: 'Sales'},
        };

        var options2 = {
          title: 'Category B Sales',
          hAxis: {title: 'Year'},
          vAxis: {title: 'Sales'},
        };

        var options3 = {
          title: 'Category C Sales',
          hAxis: {title: 'Year'},
          vAxis: {title: 'Sales'},
        };

        // Category A chart
        var chart1 = new google.visualization.LineChart(document.getElementById('chart_div1'));
        chart1.draw(data, options1);

        // Category B chart
        var chart2 = new google.visualization.LineChart(document.getElementById('chart_div2'));
        chart2.draw(data, options2);

        // Category C chart
        var chart3 = new google.visualization.LineChart(document.getElementById('chart_div3'));
        chart3.draw(data, options3);
      }
    </script>
  </head>
  <body>
    <div id="chart_div1" style="width: 900px; height: 500px;"></div>
    <div id="chart_div2" style="width: 900px; height: 500px;"></div>
    <div id="chart_div3" style="width: 900px; height: 500px;"></div>
  </body>
</html>

এখানে:

  • Faceting এর মাধ্যমে Category A, Category B, এবং Category C এর বিক্রয় দেখানো হয়েছে আলাদা আলাদা চার্টে।

সারমর্ম

  • Faceting এবং Small Multiples হলো ডেটা ভিজুয়ালাইজেশনের দুটি শক্তিশালী কৌশল, যেগুলোর মাধ্যমে আপনি একই ধরনের ডেটা বিভিন্ন সাবসেট বা ক্যাটেগরির জন্য আলাদা আলাদা গ্রাফে উপস্থাপন করতে পারেন।
  • গুগল চার্টে Faceting এবং Small Multiples এর মাধ্যমে একাধিক গ্রাফ তৈরি করা যায় এবং এগুলোর মধ্যে সম্পর্ক এবং বৈশিষ্ট্যগুলি সহজে দেখা যায়।
  • CSS ব্যবহার করে আপনি Small Multiples এর গ্রাফগুলো একসাথে পাশাপাশী দেখাতে পারেন।
Content added By

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

260

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

Multiple Variables এর জন্য Faceting Techniques

350

Faceting হল ডেটা ভিজুয়ালাইজেশনের একটি কৌশল, যা ডেটার বিভিন্ন সাবসেটের জন্য একাধিক চার্ট তৈরি করে। এটি ডেটার একাধিক ভেরিয়েবল বা ক্যাটাগরি বিশ্লেষণ করার জন্য খুবই উপকারী। গুগল চার্টে Multiple Variables এর জন্য Faceting করার মাধ্যমে আপনি একাধিক ভেরিয়েবলের ভিত্তিতে একাধিক চার্ট তৈরি করতে পারেন, যাতে একই ডেটাসেটের মধ্যে বিভিন্ন সম্পর্ক বা প্যাটার্ন বিশ্লেষণ করা সহজ হয়।

গুগল চার্টে Faceting Techniques ব্যবহার করে, আপনি Multiple Variables এর জন্য আলাদা আলাদা গ্রাফ তৈরি করতে পারেন এবং একাধিক ভেরিয়েবলের উপর ভিত্তি করে ডেটা বিশ্লেষণ করতে পারেন। এতে ডেটার ভিন্ন ভিন্ন দিকগুলির মধ্যে সম্পর্ক দেখতে সুবিধা হয়।


১. Faceting with Multiple Variables in Google Charts

গুগল চার্টে Faceting কৌশলটি সাধারণত একাধিক প্লট তৈরি করে, যেখানে একাধিক ভেরিয়েবলের মানের উপর ভিত্তি করে গ্রাফের উপস্থাপন করা হয়। একাধিক ভেরিয়েবল এবং সাবসেটের জন্য গুগল চার্টে একাধিক চার্ট তৈরি করতে google.visualization প্যাকেজ ব্যবহার করা যেতে পারে। এখানে, আমরা দেখব কিভাবে Multiple Variables এর জন্য faceting করতে হয়।

উদাহরণ: Faceting for Multiple Variables

<!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', 'line']});
      google.charts.setOnLoadCallback(drawCharts);

      function drawCharts() {
        var data = google.visualization.arrayToDataTable([
          ['Year', 'Product A', 'Product B', 'Product C'],
          ['2015', 1000, 400, 700],
          ['2016', 1170, 460, 800],
          ['2017', 660, 1120, 400],
          ['2018', 1030, 540, 600]
        ]);

        var options1 = {
          title: 'Product A Sales',
          hAxis: {title: 'Year'},
          vAxis: {title: 'Sales'},
        };

        var options2 = {
          title: 'Product B Sales',
          hAxis: {title: 'Year'},
          vAxis: {title: 'Sales'},
        };

        var options3 = {
          title: 'Product C Sales',
          hAxis: {title: 'Year'},
          vAxis: {title: 'Sales'},
        };

        // Product A chart
        var chart1 = new google.visualization.LineChart(document.getElementById('chart_div1'));
        chart1.draw(data, options1);

        // Product B chart
        var chart2 = new google.visualization.LineChart(document.getElementById('chart_div2'));
        chart2.draw(data, options2);

        // Product C chart
        var chart3 = new google.visualization.LineChart(document.getElementById('chart_div3'));
        chart3.draw(data, options3);
      }
    </script>
  </head>
  <body>
    <div id="chart_div1" style="width: 900px; height: 500px;"></div>
    <div id="chart_div2" style="width: 900px; height: 500px;"></div>
    <div id="chart_div3" style="width: 900px; height: 500px;"></div>
  </body>
</html>

এখানে:

  • Multiple Variables এর জন্য তিনটি আলাদা চার্ট তৈরি করা হয়েছে: Product A, Product B, এবং Product C এর বিক্রয়।
  • প্রতি চার্টের জন্য আলাদা title, hAxis এবং vAxis কাস্টমাইজ করা হয়েছে।
  • Faceting এর মাধ্যমে ডেটা ভাগ করা হয়েছে এবং প্রতিটি ভেরিয়েবলের জন্য একটি গ্রাফ তৈরি করা হয়েছে।

২. Using CSS for Layout in Faceting

গুগল চার্টে Faceting করার সময়, আপনি গ্রাফগুলিকে একসাথে প্রদর্শন করতে CSS ব্যবহার করে layout কাস্টমাইজ করতে পারেন। এই কৌশলটি আপনাকে একাধিক চার্টকে একই পেজে সুন্দরভাবে সাজানোর সুযোগ দেয়।

উদাহরণ: CSS ব্যবহার করে Faceting Layout

<!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', 'line']});
      google.charts.setOnLoadCallback(drawCharts);

      function drawCharts() {
        var data = google.visualization.arrayToDataTable([
          ['Year', 'Product A', 'Product B', 'Product C'],
          ['2015', 1000, 400, 700],
          ['2016', 1170, 460, 800],
          ['2017', 660, 1120, 400],
          ['2018', 1030, 540, 600]
        ]);

        var options = {
          hAxis: {title: 'Year'},
          vAxis: {title: 'Sales'}
        };

        var options1 = {title: 'Product A Sales'};
        var options2 = {title: 'Product B Sales'};
        var options3 = {title: 'Product C Sales'};

        // Create charts
        var chart1 = new google.visualization.LineChart(document.getElementById('chart_div1'));
        chart1.draw(data, options1);

        var chart2 = new google.visualization.LineChart(document.getElementById('chart_div2'));
        chart2.draw(data, options2);

        var chart3 = new google.visualization.LineChart(document.getElementById('chart_div3'));
        chart3.draw(data, options3);
      }
    </script>
    <style>
      .chart-container {
        display: flex;
        justify-content: space-between;
        gap: 20px;
      }
      .chart-container div {
        width: 30%;
      }
    </style>
  </head>
  <body>
    <div class="chart-container">
      <div id="chart_div1" style="height: 500px;"></div>
      <div id="chart_div2" style="height: 500px;"></div>
      <div id="chart_div3" style="height: 500px;"></div>
    </div>
  </body>
</html>

এখানে:

  • CSS ব্যবহারের মাধ্যমে গ্রাফগুলো একসাথে পরপর display: flex; ব্যবহার করে সুন্দরভাবে সাজানো হয়েছে।
  • gap: 20px; এর মাধ্যমে গ্রাফগুলোর মধ্যে কিছু ফাঁকা জায়গা রাখা হয়েছে।

৩. Faceting for Multiple Categories

Faceting ব্যবহার করে আপনি বিভিন্ন categories বা sub-categories এর জন্য একাধিক গ্রাফ তৈরি করতে পারেন। গুগল চার্টে, আপনি একটি ডেটাসেট থেকে একাধিক সাবসেট তৈরি করে, প্রতিটি সাবসেটের জন্য আলাদা গ্রাফ তৈরি করতে পারেন।

উদাহরণ: Faceting for Multiple Categories

<!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', 'line']});
      google.charts.setOnLoadCallback(drawCharts);

      function drawCharts() {
        var data = google.visualization.arrayToDataTable([
          ['Year', 'Category A', 'Category B', 'Category C'],
          ['2015', 1000, 400, 700],
          ['2016', 1170, 460, 800],
          ['2017', 660, 1120, 400],
          ['2018', 1030, 540, 600]
        ]);

        var options = {
          hAxis: {title: 'Year'},
          vAxis: {title: 'Sales'}
        };

        var options1 = {title: 'Category A Sales'};
        var options2 = {title: 'Category B Sales'};
        var options3 = {title: 'Category C Sales'};

        // Category A chart
        var chart1 = new google.visualization.LineChart(document.getElementById('chart_div1'));
        chart1.draw(data, options1);

        // Category B chart
        var chart2 = new google.visualization.LineChart(document.getElementById('chart_div2'));
        chart2.draw(data, options2);

        // Category C chart
        var chart3 = new google.visualization.LineChart(document.getElementById('chart_div3'));
        chart3.draw(data, options3);
      }
    </script>
  </head>
  <body>
    <div id="chart_div1" style="width: 900px; height: 500px;"></div>
    <div id="chart_div2" style="width: 900px; height: 500px;"></div>
    <div id="chart_div3" style="width: 900px; height: 500px;"></div>
  </body>
</html>

এখানে:

  • Faceting কৌশল ব্যবহার করে Category A, Category B, এবং Category C এর জন্য আলাদা চার্ট তৈরি করা হয়েছে।

সারমর্ম

Faceting এবং Small Multiples গুগল চার্টে Multiple Variables বিশ্লেষণের একটি শক্তিশালী কৌশল। এতে একাধিক সাবসেটের জন্য আলাদা গ্রাফ তৈরি করা হয়, যা ডেটার বিভিন্ন দিক দেখতে সাহায্য করে। CSS ব্যবহার করে গ্রাফগুলোর মধ্যে উপযুক্ত layout তৈরি করা যায়, এবং আপনি categories বা sub-categories অনুযায়ী গ্রাফগুলোকে গ্রুপ করতে পারেন। এটি ডেটার বিশ্লেষণকে আরও সহজ এবং কার্যকরী করে তোলে।

Content added By

Nested Faceting এর ব্যবহার

298

Nested Faceting হল ডেটাকে বিভিন্ন সাবসেটের মধ্যে বিভক্ত করার প্রক্রিয়া, যেখানে একাধিক স্তরের ফ্যাসেটিং (Faceting) ব্যবহার করে আপনি ডেটার ভিন্ন ভিন্ন দৃষ্টিকোণ থেকে বিশ্লেষণ করতে পারেন। গুগল চার্টে Nested Faceting সরাসরি সমর্থিত না হলেও, আপনি google.visualization.ChartWrapper এবং view ব্যবহার করে ডেটার নেস্টেড ফ্যাসেটিং তৈরি করতে পারেন। এখানে, Nested Faceting বলতে বোঝানো হচ্ছে একাধিক স্তরের ভিত্তিতে ডেটাকে ভিজ্যুয়ালাইজ করা—যেমন, প্রথমে একটি গ্রাফের জন্য একটি ফ্যাসেট এবং তারপর সেই ফ্যাসেটের মধ্যে আরও সাব-ফ্যাসেট তৈরি করা।

গুগল চার্টের মধ্যে সাধারণত faceting grid layout বা multiple subplots হিসেবে তৈরি করা হয়, যেখানে বিভিন্ন ডেটা গ্রুপিং বা ক্যাটাগরি ভিত্তিক প্লটগুলি তৈরি করা হয়। আপনি Multiple Charts বা Grid Layouts ব্যবহার করে Nested Faceting বাস্তবায়ন করতে পারেন।


১. Nested Faceting এর ধারণা

Nested Faceting মূলত গ্রাফের মধ্যে একাধিক স্তরের ফ্যাসেট তৈরি করা। উদাহরণস্বরূপ:

  • প্রথমে, একটি গ্রাফে ডেটাকে বিভাগ (category) অনুযায়ী ভাগ করা।
  • তারপর, প্রতিটি বিভাগের মধ্যে আরো ছোট গ্রুপ তৈরি করা (যেমন, মাস অনুযায়ী বা শহর অনুযায়ী)।

গুগল চার্টে, ফ্যাসেটিং এর জন্য সাধারণত grid-based বা faceted প্লট ব্যবহার করা হয়, তবে আপনি গ্রাফের মধ্যে একাধিক ডেটা বিভাগের ভিত্তিতে ফ্যাসেটিং তৈরি করতে পারেন।


২. Multiple Faceting (একাধিক ফ্যাসেটিং) উদাহরণ

গুগল চার্টে Multiple Faceting তৈরি করার জন্য ColumnChart বা LineChart এর মাধ্যমে কয়েকটি চার্ট পাশাপাশি প্রদর্শন করা হয়। নিচে Multiple Faceting এর একটি সাধারণ উদাহরণ দেওয়া হয়েছে, যেখানে ডেটাকে Category এবং Subcategory ভিত্তিতে ফ্যাসেট করা হয়েছে।

উদাহরণ: Multiple Faceting Using Google Charts

<!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(drawChart);

      function drawChart() {
        var data1 = google.visualization.arrayToDataTable([
          ['Product', 'Sales'],
          ['Product A', 1000],
          ['Product B', 1200],
          ['Product C', 1500]
        ]);
        var data2 = google.visualization.arrayToDataTable([
          ['Product', 'Sales'],
          ['Product A', 500],
          ['Product B', 700],
          ['Product C', 800]
        ]);

        var options1 = {
          title: 'Category 1 Sales',
          hAxis: {title: 'Products'},
          vAxis: {title: 'Sales'},
          colors: ['#4CAF50'],
        };

        var options2 = {
          title: 'Category 2 Sales',
          hAxis: {title: 'Products'},
          vAxis: {title: 'Sales'},
          colors: ['#FF9800'],
        };

        var chart1 = new google.visualization.ColumnChart(document.getElementById('chart1'));
        var chart2 = new google.visualization.ColumnChart(document.getElementById('chart2'));

        chart1.draw(data1, options1);
        chart2.draw(data2, options2);
      }
    </script>
  </head>
  <body>
    <div id="chart1" style="width: 450px; height: 300px; float: left;"></div>
    <div id="chart2" style="width: 450px; height: 300px; float: left;"></div>
  </body>
</html>

এখানে:

  • দুটি আলাদা ColumnChart তৈরি করা হয়েছে: একটিতে Category 1 এর জন্য এবং আরেকটিতে Category 2 এর জন্য।
  • প্রতিটি চার্টের জন্য আলাদা ডেটা এবং কাস্টমাইজেশন অপশন ব্যবহার করা হয়েছে।

৩. Sub-Faceting (সাব-ফ্যাসেটিং)

এখন, Nested Faceting এর জন্য আপনি সাব-ফ্যাসেট তৈরি করতে পারেন, যেখানে প্রতিটি বড় ফ্যাসেটের মধ্যে আরও ছোট ফ্যাসেট বা গ্রুপ তৈরি করা হয়। এটি সাধারণত google.visualization.ChartWrapper এর মাধ্যমে করা হয়।

উদাহরণ: Nested Faceting with Google Charts

<!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(drawChart);

      function drawChart() {
        var data1 = google.visualization.arrayToDataTable([
          ['City', 'Sales'],
          ['City A', 800],
          ['City B', 900],
          ['City C', 1000]
        ]);

        var data2 = google.visualization.arrayToDataTable([
          ['City', 'Sales'],
          ['City A', 300],
          ['City B', 400],
          ['City C', 500]
        ]);

        var options1 = {
          title: 'Region 1 Sales',
          hAxis: {title: 'City'},
          vAxis: {title: 'Sales'},
          colors: ['#8E44AD'],
        };

        var options2 = {
          title: 'Region 2 Sales',
          hAxis: {title: 'City'},
          vAxis: {title: 'Sales'},
          colors: ['#3498DB'],
        };

        var chart1 = new google.visualization.ColumnChart(document.getElementById('chart1'));
        var chart2 = new google.visualization.ColumnChart(document.getElementById('chart2'));

        chart1.draw(data1, options1);
        chart2.draw(data2, options2);
      }
    </script>
  </head>
  <body>
    <div id="chart1" style="width: 450px; height: 300px; float: left;"></div>
    <div id="chart2" style="width: 450px; height: 300px; float: left;"></div>
  </body>
</html>

এখানে:

  • Region 1 এবং Region 2 এর জন্য দুটি ভিন্ন চার্ট তৈরি করা হয়েছে। প্রতিটি অঞ্চলের জন্য আলাদা ডেটা এবং গ্রুপিং (সাব-ফ্যাসেটিং) করা হয়েছে।

৪. Google Charts এর Nested Faceting এর সুবিধা

  1. ডেটার ডিপ ডাইভ: Nested faceting ডেটার বিভিন্ন স্তরের সম্পর্ক পরিষ্কারভাবে প্রদর্শন করতে সাহায্য করে।
  2. স্বতন্ত্র ভিউ: আপনি একটি ফ্যাসেটের ভিতরে আলাদা আলাদা সাব-গ্রুপ বা সাব-ফ্যাসেট প্রদর্শন করতে পারেন, যা ডেটাকে আরও সংগঠিত এবং মানানসই করে তোলে।
  3. সহজ ইন্টারফেস: Google Charts-এর মাধ্যমে সহজেই আপনি এই ধরণের ডেটা ভিজ্যুয়ালাইজেশন তৈরি করতে পারেন এবং এটি ডেটা বিশ্লেষণকে দ্রুত এবং কার্যকরী করে তোলে।

সারমর্ম

গুগল চার্টে Nested Faceting তৈরি করা যেতে পারে, যদিও গুগল চার্টে সরাসরি Nested Faceting ফাংশন নেই। তবে আপনি multiple charts বা grid layouts ব্যবহার করে সহজেই একাধিক স্তরের ফ্যাসেটিং তৈরি করতে পারেন। Google Charts এ google.visualization.ChartWrapper এবং view ব্যবহার করে আপনি একাধিক ফ্যাসেটিং বা সাব-ফ্যাসেটিং তৈরি করতে পারেন, যা ডেটাকে বিভিন্ন দৃষ্টিকোণ থেকে বিশ্লেষণ করতে সহায়ক।

Content added By

Faceting এর জন্য Layout এবং Customization Techniques

381

Faceting হলো ডেটা ভিজুয়ালাইজেশনে একটি শক্তিশালী কৌশল, যা ডেটার বিভিন্ন উপাদান বা সেগমেন্টকে আলাদা আলাদা সাবগ্রাফে ভাগ করে প্রদর্শন করে। এটি বিশ্লেষক বা দর্শকদের কাছে ডেটার সম্পর্ক এবং প্যাটার্ন সহজভাবে উপস্থাপন করতে সাহায্য করে। Google Charts-এ faceting সাধারণত গ্রাফের বিভিন্ন অংশের জন্য grid বা panel তৈরি করে ডেটাকে ভিন্ন ভিন্ন দৃষ্টিকোণ থেকে দেখানোর জন্য ব্যবহৃত হয়।

গুগল চার্টে faceting সাধারণত series, layout, এবং options ব্যবহার করে কাস্টমাইজ করা হয়, যা গ্রাফের বিভিন্ন প্যানেলে বা সাবগ্রাফে ডেটা ভাগ করতে সাহায্য করে।

এখানে, আমরা Google Charts-এ faceting এর জন্য layout এবং customization techniques ব্যবহার করার উপায় আলোচনা করব।


১. Faceting with Google Charts: Basic Layout

গুগল চার্টে faceting এর জন্য layout সেটিংস এবং series ব্যবহার করা হয়, যা বিভিন্ন ডেটা পয়েন্টকে আলাদা করে একাধিক প্যানেলে প্রদর্শন করতে সাহায্য করে।

উদাহরণ: Scatter Plot with Faceting

<!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', 'scatter']});
      google.charts.setOnLoadCallback(drawChart);

      function drawChart() {
        var data = google.visualization.arrayToDataTable([
          ['Age', 'Income', 'Gender'],
          [22, 35000, 'Male'],
          [23, 45000, 'Female'],
          [24, 54000, 'Male'],
          [25, 65000, 'Female'],
          [26, 75000, 'Male'],
          [27, 85000, 'Female'],
          [28, 90000, 'Male'],
          [29, 95000, 'Female']
        ]);

        var options = {
          title: 'Income vs Age',
          hAxis: {title: 'Age'},
          vAxis: {title: 'Income'},
          series: {
            0: { color: 'blue' },  // Male data
            1: { color: 'red' }    // Female data
          },
          layout: {
            width: 900, 
            height: 500, 
            title: 'Faceting Scatter Plot'  // Set overall chart title
          }
        };

        var chart = new google.visualization.ScatterChart(document.getElementById('chart_div'));
        chart.draw(data, options);
      }
    </script>
  </head>
  <body>
    <div id="chart_div" style="width: 900px; height: 500px;"></div>
  </body>
</html>

এখানে:

  • series ব্যবহার করা হয়েছে আলাদা ভেরিয়েবলের জন্য রঙ নির্ধারণ করার জন্য।
  • hAxis এবং vAxis ব্যবহার করা হয়েছে অক্ষের শিরোনাম কাস্টমাইজ করার জন্য।
  • layout ব্যবহার করা হয়েছে চার্টের আকার এবং শিরোনাম কাস্টমাইজ করতে।

২. Multiple Faceting with Grid Layout

গুগল চার্টে আপনি faceting করতে চাইলে, একটি একক চার্টে grid ব্যবহার করে একাধিক সাবগ্রাফ তৈরি করতে পারেন। এটি সাধারণত grid এর মাধ্যমে ভিন্ন ভিন্ন গ্রুপের ডেটা বা সিরিজ দেখানোর জন্য ব্যবহার করা হয়।

উদাহরণ: Multiple Facets with Grid Layout

<!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', 'line']});
      google.charts.setOnLoadCallback(drawChart);

      function drawChart() {
        var data = google.visualization.arrayToDataTable([
          ['Month', '2019', '2020'],
          ['Jan', 1000, 400],
          ['Feb', 1170, 460],
          ['Mar', 660, 1120],
          ['Apr', 1030, 540]
        ]);

        var options = {
          title: 'Monthly Revenue Comparison',
          hAxis: {title: 'Month'},
          vAxis: {title: 'Revenue'},
          series: {
            0: {color: '#e44c65'},  // 2019 data
            1: {color: '#ffb843'}   // 2020 data
          },
          layout: {
            grid: {width: 800, height: 400},  // Grid layout with fixed width and height
            title: 'Faceted Revenue Comparison'
          }
        };

        var chart = new google.visualization.LineChart(document.getElementById('chart_div'));
        chart.draw(data, options);
      }
    </script>
  </head>
  <body>
    <div id="chart_div" style="width: 900px; height: 500px;"></div>
  </body>
</html>

এখানে:

  • series ব্যবহার করা হয়েছে আলাদা গ্রুপ বা ভেরিয়েবল কাস্টমাইজ করতে।
  • grid layout ব্যবহার করে গ্রাফের আকার এবং ক্ষেত্র কাস্টমাইজ করা হয়েছে।

৩. Faceting with Paneling using Chart Options

গুগল চার্টে faceting আরও কাস্টমাইজ করতে আপনি paneling এর মাধ্যমে একটি গ্রাফের মধ্যে ভিন্ন ভিন্ন প্যানেল তৈরি করতে পারেন, যেখানে প্রতিটি প্যানেল একটি আলাদা ডেটা বা সেগমেন্ট প্রদর্শন করে।

উদাহরণ: Faceting with Paneling in Bar Chart

<!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(drawChart);

      function drawChart() {
        var data = google.visualization.arrayToDataTable([
          ['Category', '2020', '2021'],
          ['A', 1000, 1150],
          ['B', 800, 920],
          ['C', 600, 750]
        ]);

        var options = {
          title: 'Sales Comparison Between 2020 and 2021',
          hAxis: {title: 'Category'},
          vAxis: {title: 'Sales'},
          seriesType: 'bars',
          series: {
            0: {color: '#b5e48c'}, // Color for 2020
            1: {color: '#f4a261'}  // Color for 2021
          },
          layout: {
            width: 900, height: 500, title: 'Faceting Paneled Bar Chart'
          }
        };

        var chart = new google.visualization.ComboChart(document.getElementById('chart_div'));
        chart.draw(data, options);
      }
    </script>
  </head>
  <body>
    <div id="chart_div" style="width: 900px; height: 500px;"></div>
  </body>
</html>

এখানে:

  • seriesType ব্যবহার করে বার গ্রাফ তৈরি করা হয়েছে।
  • paneling নিশ্চিত করার জন্য ComboChart ব্যবহার করা হয়েছে, যাতে বিভিন্ন সেগমেন্ট বা প্যানেল পরিষ্কারভাবে আলাদা প্রদর্শিত হয়।

৪. Advanced Faceting with Gridlines and Annotations

ফেসেটিংয়ে গ্রিডলাইন এবং অ্যানোটেশন ব্যবহার করা একটি উন্নত কৌশল যা গ্রাফের প্রতিটি অংশের মধ্যে সঠিকভাবে পার্থক্য তুলে ধরে।

উদাহরণ: Faceting with Gridlines and Annotations

<!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', 'line']});
      google.charts.setOnLoadCallback(drawChart);

      function drawChart() {
        var data = google.visualization.arrayToDataTable([
          ['Month', '2021', '2022'],
          ['January', 200, 250],
          ['February', 300, 350],
          ['March', 400, 450],
          ['April', 500, 550]
        ]);

        var options = {
          title: 'Yearly Sales Comparison',
          hAxis: {title: 'Month'},
          vAxis: {title: 'Sales'},
          series: {
            0: {color: '#76c7c0'},
            1: {color: '#ff6f61'}
          },
          gridlines: {color: '#e0e0e0'}, // Adding gridlines
          annotations: {
            1: {style: 'line'} // Adding annotations for clearer comparison
          }
        };

        var chart = new google.visualization.LineChart(document.getElementById('chart_div'));
        chart.draw(data, options);
      }
    </script>
  </head>
  <body>
    <div id="chart_div" style="width: 900px; height: 500px;"></div>
  </body>
</html>

এখানে:

  • gridlines কাস্টমাইজ করা হয়েছে গ্রিডলাইন রঙ পরিবর্তন করার জন্য।
  • annotations ব্যবহৃত হয়েছে গ্রাফে অ্যানোটেশন যোগ করতে।

সারমর্ম

গুগল চার্টে faceting এবং layout কাস্টমাইজেশন ব্যবহার করে আপনি ডেটার বিভিন্ন অংশ বা সেগমেন্ট আলাদা গ্রাফের মাধ্যমে উপস্থাপন করতে পারেন। এটি ডেটার বিশ্লেষণে সাহায্য করে এবং পরিষ্কারভাবে প্রতিটি অংশের পার্থক্য দেখাতে সক্ষম করে। গুগল চার্টে series, layout, gridlines, এবং annotations ব্যবহার করে আপনি আপনার গ্রাফের উপস্থাপনা আরও পরিস্কার এবং আকর্ষণীয় করতে পারেন।

Content added By
Promotion

Are you sure to start over?

Loading...