ggplot2 এর faceting একটি গুরুত্বপূর্ণ বৈশিষ্ট্য যা ডেটা বিশ্লেষণে ব্যাপকভাবে ব্যবহৃত হয়। faceting এর মাধ্যমে একসাথে একাধিক সাবসেটের জন্য আলাদা আলাদা গ্রাফ তৈরি করা যায়, যা ডেটার বিভিন্ন দিক তুলে ধরতে সাহায্য করে। ggplot2 এ এটি সাধারণত facet_wrap() এবং facet_grid() এর মাধ্যমে করা হয়।
গুগল চার্টেও ফ্যাসেটিংয়ের সমতুল্য ফিচার রয়েছে, যেখানে একাধিক সাবসেটের জন্য আলাদা আলাদা গ্রাফ তৈরি করা যায়। গুগল চার্টে faceting বা facet এর জন্য panel charts ব্যবহার করা হয়, তবে এটি ggplot2 এর মতো সরাসরি ফাংশন হিসেবে উপলব্ধ নয়। তবে, আমরা গুগল চার্টে faceting এর ধারণা বাস্তবায়ন করতে কিছু কৌশল ব্যবহার করতে পারি।
এখানে আমরা ggplot2 এ facet_wrap() এবং facet_grid() এর ব্যবহার এবং গুগল চার্টে এর সমতুল্য ভিজুয়ালাইজেশন কিভাবে তৈরি করা যায় তা দেখাবো।
ggplot2 এর Faceting: facet_wrap() এবং facet_grid()
ggplot2-এ facet_wrap() এবং facet_grid() দুটি ফাংশন ডেটাকে একাধিক সাবসেটের মধ্যে ভাগ করে গ্রাফ তৈরি করতে ব্যবহৃত হয়। এটি ডেটার বিভিন্ন দিক বিশ্লেষণ করার জন্য অত্যন্ত কার্যকর।
facet_wrap()
facet_wrap() ডেটাকে একক কলাম বা রো-এর মধ্যে ভাগ করে গ্রাফ তৈরি করে।
উদাহরণ:
# mtcars ডেটাসেট ব্যবহার
ggplot(mtcars, aes(x = wt, y = mpg)) +
geom_point() +
facet_wrap(~ cyl) # cyl এর ভিত্তিতে ভিন্ন ভিন্ন গ্রাফ
এখানে:
- facet_wrap(~ cyl) সিলিন্ডারের সংখ্যা অনুযায়ী ভিন্ন ভিন্ন গ্রাফ তৈরি করবে।
facet_grid()
facet_grid() দুটি ভেরিয়েবলের উপর ভিত্তি করে ডেটাকে দুটি অক্ষর (rows এবং columns) এর মাধ্যমে ভাগ করে গ্রাফ তৈরি করে।
উদাহরণ:
# mtcars ডেটাসেট ব্যবহার
ggplot(mtcars, aes(x = wt, y = mpg)) +
geom_point() +
facet_grid(rows = vars(cyl), cols = vars(gear)) # cyl এবং gear এর ভিত্তিতে
এখানে:
- facet_grid(rows = vars(cyl), cols = vars(gear)) সিলিন্ডার এবং গিয়ারের ভিত্তিতে গ্রাফের বিভিন্ন রো এবং কলাম তৈরি করবে।
গুগল চার্টে Faceting এর সমতুল্য
গুগল চার্টে সরাসরি facet_wrap() বা facet_grid() এর মতো ফাংশন নেই, তবে আপনি panel charts ব্যবহার করে একাধিক গ্রাফ তৈরি করতে পারেন। এখানে আমরা ggplot2 এর facet_wrap() এবং facet_grid() এর সমতুল্য গুগল চার্টে কিভাবে তৈরি করা যায় তা দেখাবো।
গুগল চার্টে Facet ব্যবহার
গুগল চার্টে faceting এর ধারণা বাস্তবায়ন করতে, একাধিক Chart তৈরি করতে হবে, যেখানে ডেটা একাধিক প্যানেলে বিভক্ত হবে।
উদাহরণ ১: Panel Chart for Faceting by Category
var data = google.visualization.arrayToDataTable([
['Weight', 'Mileage', 'Cylinders'],
[2.620, 21.0, 4],
[2.875, 22.8, 6],
[3.215, 18.7, 8],
[3.440, 17.3, 8],
[3.570, 15.0, 6]
]);
var options = {
title: 'Weight vs Mileage by Cylinders',
hAxis: {title: 'Weight'},
vAxis: {title: 'Mileage'},
seriesType: 'scatter',
series: {
0: {color: 'blue'}
},
'facet': {
'column': 0
}
};
var chart = new google.visualization.ChartWrapper({
chartType: 'ScatterChart',
dataTable: data,
options: options,
containerId: 'chart_div'
});
chart.draw();
এই কোডে:
- facet ব্যবহার করে ডেটাকে একটি নির্দিষ্ট সাবসেটের মধ্যে ভাগ করা হচ্ছে, যেখানে Cylinders অনুসারে গ্রাফের প্যানেল তৈরি হবে।
উদাহরণ ২: Multiple Panel Charts by Category
গুগল চার্টে একাধিক গ্রাফ তৈরি করে ফ্যাসেটিং করা যায়, যেখানে আপনি for loop ব্যবহার করে প্রতিটি সাবসেটের জন্য আলাদা চার্ট তৈরি করতে পারেন।
var data = google.visualization.arrayToDataTable([
['Weight', 'Mileage', 'Cylinders'],
[2.620, 21.0, 4],
[2.875, 22.8, 6],
[3.215, 18.7, 8],
[3.440, 17.3, 8],
[3.570, 15.0, 6]
]);
var options = {
title: 'Weight vs Mileage',
hAxis: {title: 'Weight'},
vAxis: {title: 'Mileage'}
};
var chart1 = new google.visualization.ScatterChart(document.getElementById('chart_div1'));
var chart2 = new google.visualization.ScatterChart(document.getElementById('chart_div2'));
// Chart for Cylinders = 4
var filteredData1 = data.getFilteredRows([{column: 2, value: 4}]);
chart1.draw(filteredData1, options);
// Chart for Cylinders = 6
var filteredData2 = data.getFilteredRows([{column: 2, value: 6}]);
chart2.draw(filteredData2, options);
এখানে:
- ডেটাকে Cylinders অনুসারে দুটি আলাদা গ্রাফে ভাগ করা হয়েছে, একটি Cylinders = 4 এর জন্য এবং অন্যটি Cylinders = 6 এর জন্য।
সারমর্ম
ggplot2-এ facet_wrap() এবং facet_grid() ফাংশন ব্যবহার করে ডেটাকে বিভিন্ন সাবসেটের মধ্যে ভাগ করা হয় এবং প্রতিটি সাবসেটের জন্য আলাদা গ্রাফ তৈরি করা হয়। গুগল চার্টে সরাসরি facet_wrap() বা facet_grid() এর মতো ফাংশন না থাকলেও, আপনি panel charts বা একাধিক গ্রাফ তৈরি করে ফ্যাসেটিংয়ের ধারণা বাস্তবায়ন করতে পারেন। ডেটাকে বিভিন্ন দৃষ্টিকোণ থেকে বিশ্লেষণ করতে এবং তুলনা করতে গুগল চার্টে panel charts একটি শক্তিশালী উপায়।
Read more